自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 06.驱动学习复盘(platform 平台总线模型)

1.平台总线模型也叫 platform 总线模型。是 Linux 内核虚拟出来的一条总线,不是真实的导线。平台总线模型把原来的驱动 C 文件给分成了两个 C 文件,一个是和硬件相关的 device.c,一个是和驱动相关的 driver.c。把稳定不变的放在 driver.c 里面,需要变的就放在了 device.c 里面。2. 平台总线模型的优点:(1)可以提高代码的重用性(2)减少重复性代码3.以平台总线模型设计的驱动,要分别注册 device.c 和 driver.c 。平台总

2021-11-14 23:18:32 519 1

原创 05.驱动学习复盘(字符设备)

P.S:申请字符设备很麻烦,平时学习最常使用的还是杂项设备。同样的。强迫症,不做笔记总觉得缺了点什么。1.字符设备和杂项设备的区别(1)杂项设备主设备号固定是10,而字符设备需要自己或者系统分配主设备号。(2)杂项设备能自动生成设备节点,字符设备需要手动生成设备节点。2.注册字符类设备号的两个方法第一种方法:静态分配一个设备号,需要明确知道我们的系统里哪些设备号没有用。//参数:设备号的起始值,次设备号的个数,设备的名称,//查看设备名称 cat /proc/devices//

2021-11-13 21:40:12 749

原创 04.驱动学习复盘(原始架构)

P.S:这部分是关于原始架构的驱动编写,Linux物理地址到虚拟地址映射,申请字符类设备编号等等。个人感觉用处不大,现在起码是用平台总线了,又简单又方便。但是由于强迫症,还是要写文档的QAQ。1.在单片机和裸机中我们操作硬件,//操作寄存器unsigned int *p = 0x12345678;*p = 0x87654321;2.在Linux上使能了MMU,不能直接操作物理地址,需要把物理地址转换成虚拟地址。3.内核提供了相关的函数:ioremap:把物理地址转换成虚拟地址

2021-11-13 14:56:44 2220

原创 03.驱动学习复盘(应用层和内核层数据传输)

1.Linux一切皆文件!文件对应的操作有打开、关闭、读写等。设备节点也是。2.文件操作集中常用的几个函数:struct file_operations { ssize_t (*read) (struct file *, char __user *, size_t, loff_t *); ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *); unsigned int (*poll) (struct f

2021-11-12 23:15:59 617

原创 02.驱动学习复盘(杂项设备)

1.Linux三大设备驱动:字符设备:IO的传输过程是以字符为单位的,没有缓冲。比如I2C,SPI都是字符设备。块设备:IO的传输过程是以块为单位的。跟存储相关的都属于块设备,比如TF卡。网络设备:与前两个不一样,是以socket套接字来进行访问的。2.杂项设备是字符设备的一种。可以自动生成设备节点。我们的系统里有很多杂项设备,可以输入 cat /proc/misc 命令来查看。3.杂项设备的主设备号是相同的,次设备号是不同的。主设备号相同可以节省内核资源。4.设备号

2021-11-12 22:03:49 912

原创 01.驱动学习复盘(基础知识)

P.S.视频都看过一遍啦,第一遍主要是跟着打代码运行了驱动。因为接下来要搞毕业设计了,特意来复盘写笔记记录一下。加油!话不多说,action。1.前置知识:<1>掌握Linux开发环境搭建以及Linux命令行操作。<2>掌握开发板系统的编译以及镜像的烧写<3>掌握Linux系统编程开发2.驱动分为四个部分:头文件驱动模块的入口和出口声明信息功能实现//包含宏定义的头文件#include <linux/init.h>

2021-11-12 21:20:23 993

原创 记录一次坎坷的Android7.1编译经过

1.迅为的4418开发板,Ubuntu14.04编译Android7.1。使用迅为搭建好的开发环境并下载Android7.1源码。2.解压得到的虚拟机设置我进行了调整。硬盘2原来是5G我给到了300。直接上代码://看到添加的硬盘信息 fdisk -l//因为是在原基础上更改,就先给sdb卸载下来了 umount /dev/sdb//把硬盘格式化成ext3格式 mkfs -t ext3 /dev/sdb//原文说的是在/home下建立work文件夹,然后挂载硬.

2021-11-11 20:30:10 1996

原创 Altium Designer 21 添加缝合孔和DRC检查

添加缝合孔:可以选择自己添加约束区域,设置参数选择网络。设计规则检查:运行DRC。

2021-07-30 17:09:55 980

原创 Altium Designer 21 丝印设计规范及调整

右侧筛选器只选择文字,右键单击,查找相似对象,要选中一个位号才能查找。调整字大小规范要求,字母要么是从左往右,要么是从下往上。丝印可以放在过孔上,因为过孔会盖油。可以单独添加丝印。在丝印层放置字符串。LOGO导入:运行脚本,弹出导入向导。选择图片,单色位图。右键编辑图片,另存为单色位图。导入后切换到丝印层,然后复制粘贴。修改大小,单击右键选择联合,再次右键,调整联合大小。(按了一下ctrl?)...

2021-07-30 16:33:52 2392

原创 Altium Designer 21 PCB实战

交互式总线布线:线选SL,交互式总线布线UM。20mil大概可以承载1A电流。铺铜脚本使用:找到文件路径,点击选择main。选择铜皮分配网络属性。考虑到载流,可以加粗。选中后点击右键,合并铜皮。***铺地铜:在机械一层选中板框,从选择的元素创建铺铜。创建完铺铜在机械一层变更到Top然后更改属性。铜皮和板框之间要有间距。铜皮和板框要有间距,设置禁布:基于一点在机械一层复制板框。切换到Keep-Out层进行特殊粘贴到当前层EA再...

2021-07-29 20:21:55 848

原创 Altium Designer 21 PCB绘制时规则设置及布线宏观分析

规则设置:DR。间距规则:线宽规则:供电的电源线宽。单独添加了一个线宽规则,PWR类中的走线宽15mil。使能要打开。可以针对某一个网络类别进行设置。过孔规则:对常规的过孔是需要盖油的。还要更改默认设置。铺铜规则设置:手工焊接一般十字连接,载流能力强的地方全连接。过孔直接全连接。其他规则设置:阻焊规则:有开窗,焊盘和焊盘之间有油墨进行隔开。丝印规则:间距2mil。丝印到丝印,丝印到阻焊。布线宏观分析:1.优先走信号...

2021-07-29 09:28:28 2329

原创 Altium Designer 21 PCB布局实战

预布局:设置器件选中时不同时选中网络和Pin角。解除这个高亮,Ctrl + 鼠标左键。隐藏连接:N分类分组:类别添加完成后可选择高亮,右键选择隐藏连接。*老技巧:通过摆放多个过孔对齐等间距充当原点进行器件定位。画丝印也行。器件位置锁定:!!!!!所有贴片电阻放在背面,可以试试。小了不少。...

2021-07-28 21:36:24 919

原创 Altium Designer 21 关于常用的快捷键

如果修改了快捷键后不好使,可能原因是快捷方式被占用。在标题栏右键选择最后一个,进去之后点击All,找到想要修改的快捷方式,把原有的改为None。电器走线:PT放置过孔:PV敷铜:PG颜色开关:F5,点PCB-->All Nets-->GND右键-->Change Net Color矩形框放置元件:框选之后TOL。垂直分割:在原理图中选中的器件会在PCB中高亮。交互映射:TC交叉探针,点击后选中器件会在原理图中...

2021-07-27 19:55:19 5304

原创 Altium Designer 21 PCB板框评估及叠层设置

在矩形框内摆放:需要先选中。重新定义原点:EOS。然后回到机械一层PL放置线条,把板框基本大小框出来。线长取整一点。重新定义板框大小,DSD。要把器件和字都能框在里面。放置线性尺寸,单位选择毫米。小数位两位,格式带有单位。板框要定义成圆角,放置-->圆弧-->边沿。PAE。选中一个边按Tab会自动选中相连的。关于叠层设计:层叠管理器,改了名字。两层板不需要做什么调整。...

2021-07-27 10:36:44 2624

原创 Altium Designer 21 PCB导入及绿色报错消除

执行导入:直接点执行变更,然后仅显示错误。一定要有封装才能导入。在PCB中查找器件,JC。要导入两次,如果出现下图所示证明原理图和PCB没有差异,否则就是有错。常见错误:Unknow Pin1.封装没有找到,原理图没有填写封装名称。2.管脚号没有,网络没有进行导入。3.管脚号不匹配或缺失。...

2021-07-27 09:39:46 6200 1

原创 Altium Designer 21 其他PCB封装调用,3D模型的导入与设置

生成PCB库:快捷键DP。生成后需要哪个直接CtrlC、CtrlV。自己绘制3D:默认绘制3D位置在机械一层,按Tab修改参数。放置球体、圆柱和任意多边形自由编辑,颜色也可以调整。调用3D模型。找到对应的文件打开即可。...

2021-07-26 21:26:10 1934

原创 Altium Designer 21 封装创建向导、3D和裁剪导线

封装创建向导:TSSOP:填写参数:左下角勾选。 剩下的无脑下一步就可以了。切换到3D:Ctrl+D。3D时旋转Shift+鼠标右键。

2021-07-26 10:12:59 1915 1

原创 Altium Designer 21 实例贴片0603封装的创建

PCB封装的组成一般有以下元素,如图4-1所示。(1)PCB焊盘:用来焊接元件管脚的载体。(2)管脚序号:用来和元件进行电气连接关系匹配的序号。(3)元件丝印:用来描述元件腔体大小的识别框。(4)阻焊:放置绿油覆盖,可以有效地保护焊盘焊接区域。(5)1脚标识/极性标识:主要是用来定位元件方向的标识符号。实例贴片0603封装的创建:打开PCB元件库,Panels-->PCB Library。双击修改信息。放置焊盘默认是通孔焊盘。将所在层改至表层。修改参数,注意.

2021-07-25 22:31:09 6006

原创 Altium Designer 21 原理图编号、PCB封装名称的添加与管理,原理图编译、检查、输出BOM表及PDF打印。

原理图标注:添加封装:添加完毕点击右下角接收并执行。原理图的编译设置及检查:原理图编译:编译后的报错可以点击Panels-->Messages。双击对应的选项可以直接跳转。修改后重新编译。输出BOM表:不需要的信息可以隐去。完成后点击输出Export...。原理图的PDF打印输出:中间乱七八糟的取消勾选就行了。都是中文能读懂。...

2021-07-24 21:51:47 3425

原创 Altium Designer 21 原理图绘制技巧

快速对齐,框选后按A。快捷键设置:鼠标放置在其中某一项,按住Ctrl点击左键。添加电器属性的线和网络标签。网络属性标签按住Shift拖动可以递增。原理图页大小可以自定义。可以自己画线分割区域,放置文本字符串。...

2021-07-24 20:50:37 1971 1

原创 Altium Designer 21 原理图页常规设置及调用放置

更改图页大小,双击纸张边沿,将纸张大小设为A4。ctrl+q可以切换单位。修改了一个参数。调用放置:在原理图库点击放置自动跳转。或者在原理图页面点击右下角Panels-->Components。找到要导入的库直接拖拽就可以了。...

2021-07-23 21:31:32 4034

原创 Altium Designer 21 元件库绘制技巧

利用表格快速创建:创建按键的元件模型:框选按MS移动所选择,按住shift拖动复制。画矩形修改边沿和颜色填充:排针放置管脚时修改递增:首要的是管脚号,次要的是名称。也可以使用上面用到的表格的方法,生成出来MS移动状态下按X或Y可以生成对应X轴Y轴镜像。LED灯元件模型的创建:现有的原理图库可以调用,直接拖动到AD就好了。需要用哪个就复制粘贴。直接在原理图里复制粘贴到原理图库也行。 也可以通过原理图生成原理图库。(选项都不...

2021-07-23 21:05:25 5733

原创 Altium Designer 21 原理图库元件模型的组成介绍以及简单的电阻电容元件模型的创建

原理图库元件模型的组成介绍:元件库设计是电子设计中最开始的模型创建,通过元件库编辑器画线、放置管脚、放置矩形等编辑操作创建出需要的电子原理图器件模型。 原理图符号是元件在原理图上的表现形式,主要由元件边框、管脚(包括管脚序号和管脚名称)、元件名称及元件说明组成,通过放置的管脚来建立电气连接关系。 元件符号中的管脚序号是和电子元件实物的管脚一一对应的。在创建元件的时候,图形不一定和实物完全一样,但是对于管脚序号和名称,一定要严格按照元件规格书中的说明一一...

2021-07-22 22:03:07 3426

原创 Altium Designer 21 创建新工程

1.创建新项目2.新建原理图库、PCB元件库、原理图和PCB3.ctrl + s 保存,保存的时候可以更改名字。建在Free Documents下是错的!错误示范:

2021-07-22 20:52:29 1294

原创 Altium Designer 21 系统参数基本配置

直接上图了1.2.3.4.5.6.7.8.9.过孔10.铺铜

2021-07-22 20:23:16 998

原创 Altium Designer 21安装

需要资源添加郑振宇老师VX:15616880848(备注入群),老师人很好而且绝对是免费的。1.解压好压缩包后点击应用程序安装

2021-07-22 19:59:36 5711

原创 下拉框Spinner:数组适配器ArrayAdapter

我用到的两篇文章:关于ArrayAdapter的参数Spinner的OnItemSelectedListener的onItemSelected方法的四个参数含义MainActivitypackage com.example.middle;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Ada

2021-05-25 19:17:15 267

原创 单选按钮RadioButton

单选按钮要在一组中选择一项,并且不能多选。同一组RadioButton要放在同一个RadioGroup节点下。RadioButton默认未选中,点击后选中但是再次点击不会取消选中。RadioButton经常会更换按钮图标,如果通过button属性变更图标,那么图标与文字就会挨得很近。为了拉开图标与文字之间的距离,得换成drawableLeft属性展示新图标(不要忘记把button改为@null),再设置drawablePadding即可指定间隔距离。复现代码时出现了一个错误,处理单选按钮的响

2021-05-24 21:54:03 610

原创 开关按钮Switch(仿ios)

高级版本的CheckBoxMainActivitypackage com.example.middle;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.

2021-05-24 19:46:25 237

原创 复选框CheckBox

CompoundButton类是抽象的复合按钮,因为是抽象类,所以不能直接使用。CompoundButton类的几个派生,主要有复选框CheckBox、单选按钮RadioButton以及开关按钮Switch。布局文件中:checked:指定按钮的勾选状态,默认未勾选。button:指定左侧勾选图标的图形。可以不指定,使用系统默认。代码中:setOnCheckedChangeListener:设置勾选状态变化的监听器isChecked:判断按钮是否勾选MainActivi.

2021-05-24 19:10:39 307 1

原创 框架布局FrameLayout

其下级视图无法指定所处的位置,只能统统从上级FrameLayout的左上角开始添加,并且后面添加的子视图会把之前的子视图覆盖掉。框架布局一般用于需要重叠显示的场合。foreground:指定框架布局的前景图像。该图像在框架内部永远处于最顶层,不会被框架内的其他视图覆盖。foregroundGravity:指定前景图像的对齐方式。Layout<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:andro.

2021-05-24 14:39:02 301

原创 相对布局RelativeLayout

RelativeLayout下级视图的位置是相对的,得有具体的参照物才能确定最终位置。如果不设定下级视图的参照物,那么下级视图默认显示在RelativeLayout内部的左上角。示例:如果视图是在代码中动态添加的,那么相对位置也只能在代码中临时定义。代码中定义相对位置用到的是RelativeLayout.LayoutParams的addRule方法,该方法的第一个参数表示相对位置的类型,第二个参数表示参照物视图的ID,即当前视图要参照哪个视图确定自身的位置。实例代码:..

2021-05-22 21:23:40 253

原创 简单计算器

LOGLog的使用方法官方文档:https://developer.android.google.cn/studio/debug/am-logcat使用技巧:在Android Studio 中,在方法的外面输入logt,然后按下TAB,IDE会自动为你补全,该快捷键是生成一个String类型的TAG常量,内容为类名。打印五种日志,可以分别输入logi、logd、logv、logw、loge,最后按下TAB,会自动补全。STYLE每个按键的展示风格基本相同,为了减少冗余代码,可以.

2021-05-22 17:15:26 188 6

原创 九宫格图片

Android专门设计了点九图片,扩展名png,文件名后常带有“.9”字样。把一张图片划分成3x3的九宫格区域。1.找到代加工的原始图片button_pressed_orig.png,右击弹出菜单。2.选择“Create 9-Patch files”,点击ok,drawable中出现button_pressed_orig.9.png的图片文件。3.图片加工区域,只有九宫格中间的一格会被拉伸。效果对比:...

2021-05-21 16:31:16 93

原创 shape:形状定义图形

实际开发中常用3个节点:corners(圆角)、solid(填充)和stroke(描边)。MainActivitypackage com.example.junior;import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import android.view.View;public class ShapeActivity extends AppCompatActivity impleme.

2021-05-21 10:18:29 309

原创 定制样式的按钮

Button按钮根据不同触摸情况变更图形显示。在项目中创建状态图形的XML文件,右击drawable目录,然后在右键菜单中依次选择New-->Drawable resourse file,即可自动生成一个空的XML文件。关键点是state_pressed,值为true表示按下时显示某图像。Layout<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schema.

2021-05-20 22:39:40 64

原创 Button文字周围放置图片

设置图形对象的矩形边界大小,注意必须设置图片大小,否则不会显示图片 setbounds的4个参数, 前两个int 是矩形组件左上角那个点在容器中的坐标。 后两个int 是矩形组件的宽度和高度。MainActivitypackage com.example.junior;import android.graphics.drawable.Drawable;import android.os.Bundle;import androidx.appcompat.app.App...

2021-05-20 09:29:22 304

原创 屏幕截图演示

原文链接:https://blog.csdn.net/shenshizhong/article/details/73512879postDelayed中需要传两个参数,一个是Runnable对象,一个是以毫秒为单位的时间。postDelayed经常被用于延时任务,或者定时器。postDelayed的用法:1、创建一个Handler对象2、创建一个Runnable对象3、mHandler.postDelayed(runnable,1000);如果需要清除使用以下方法mHandler

2021-05-19 18:36:29 138 1

原创 图像视图ImageView:图像拉伸演示

在layout调整属性src指定图形来源。Activity中setScaleType设置图形的拉伸类型。MainActivitypackage com.example.junior;import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import android.view.View;import android.widget.ImageView;// 页面类直接实现点击监听器的接口View.

2021-05-19 17:03:05 768

原创 按钮Button:点击演示

Button派生自TextView。点击方法和长点击方法及其监听器并非Button特有的,而是所有布局和控件都能使用的。MainActivitypackage com.example.junior;import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.

2021-05-19 16:44:12 338

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除