发新帖我要提问
12
返回列表
打印
[应用相关]

STM32经验汇总 (转)

[复制链接]
楼主: shjuturt
手机看帖
扫描二维码
随时随地手机跟帖
21
shjuturt|  楼主 | 2022-6-29 15:18 | 只看该作者 回帖奖励 |倒序浏览
96、 这张图说明了:Thumb2指令集做了⼀件很伟⼤的事情:将16位和32位的指令集融为⼀体,兼容性⾮常强!(这么说CM3不⽀持某
些32位ARM指令集??)
97、寄存器
98、MSP是系统复位后使⽤的堆栈指针,PSP由⽤户的代码使⽤。两个堆栈指针为4字节对齐!!
99、在ARM编程领域中,凡是打断程序运⾏的事件,统称为异常(exception)。
100、 因为存在LR(链接寄存器),所以可⽀持1级的⼦程序调⽤⽽不⽤压栈到内存,⼤⼤提⾼了运⾏速度。—à这就是说,我们在编程的
时候,⼀级调⽤是不会耗费太多时间的,除⾮是⼆级调⽤!

使用特权

评论回复
22
shjuturt|  楼主 | 2022-6-29 15:19 | 只看该作者
101、 处理器有两种操作模式:handler模式和线程模式。
处理器也有两种特权分级:特权级和⽤户级。 这张图说明了⼀切:复位进⼊特权级线程模式,如果有异常,进⼊特权级的handler模式处理
异常或中断例程,然后返回⾄特权级线程模式。通过修改CONTROL寄存器可以进⼊⽤户级线程模式。
102、 两个⾼级定时器TIM1和TIM8是挂接在APB1总线上
103、 STM32的外部中断是以组来区分的,也就是说PA0,PB0,PC0单⽚机是⽆法区分其中哪个触发的中断à均为EXIT0线中断服务例
程。所以,外部中断⽀持16路的中断分辨率。从另⼀个⽅⾯来讲,我们可以设置GPIO_EXTILineConfig(GPIO_PortSourceGPIOx,
GPIO_PinSourcex);来开通中断线实现组内的不同中断。

使用特权

评论回复
23
shjuturt|  楼主 | 2022-6-29 15:19 | 只看该作者
104、 DAC有两个寄存器,⼀个是DHR(Data HoldingRegister)数据保持寄存器,⼀个DOR(Data Output Register)数据输出寄存
器。真正起作⽤的是DOR寄存器,该寄存器把值给数模转换发⽣单元输出以VREF+为参考电压的电压值。如果是硬件触发转换,系统将在
1个ABP时钟周期后把值给DOR,如果是软件触发转换,时间为3个APB时钟周期。然后,均等待Tsetting时间(Typical为3us,Max为
4us)后真正输出电压值。
105、 DAC分8位模式和12位模式,其中后者可以选择左右对齐

使用特权

评论回复
24
shjuturt|  楼主 | 2022-6-29 15:20 | 只看该作者
106、 DMA仲裁器分为软件和硬件两种。软件部分分为4个等级,分别是很⾼优先级、⾼优先级、中等、低。硬件部分由通道的⼤⼩来决
定优先级,越低优先级越⾼。
107、 DMA有⼀个实时的传输数据量寄存器叫做DMA_CNDTR,最⼤值为65535,存放的是当前传输所要传输的数据量。当数据量变为
0时,表明传输完成。
108、 CAN总线(ControllerArea Network)。CAN控制器根据两根线上的电位差来判断总线电平,总线电平⼜分为显性电平和隐性电
平,⼆者必居其⼀。

使用特权

评论回复
25
shjuturt|  楼主 | 2022-6-29 15:22 | 只看该作者
109、 CAN总线具有6个特点:1:多主控制(挂接在总线上的所有设备均可以成为主设备,并且设备ID是⽤来决定设备的优先级,没有设
备地址概念),2:系统若软性(没有设备地址概念),3、通讯速度较快,通讯距离较远(1Mbps下40M,5kbps下10KM),4、具有
错误检测、错误通知(通知其他设备)和错误恢复功能(强制结束发送,重复发送接收错误的信息。),5、故障封闭,当总线上的设备发
⽣连续故障错误时,CAN控制器会把改控制器踢出总线。6、连接节点多。理论上可以⽆限制加载,但是受到时间延迟和电⽓负载的限制,
实际数⽬是有限制的。降低传输速度可以适当增加可挂接负载个数。
110、 CAN协议有两个标准,ISO11898(针对125kbps~1Mbps的⾼速速率)和ISO11519-2(125kbps以下的低速速率)

使用特权

评论回复
26
shjuturt|  楼主 | 2022-6-29 15:22 | 只看该作者
111、CAN总线电平特性;
112、 CAN协议的有5种类型的帧:数据帧、遥控帧、错误帧、过载帧、帧间隔。其中前两种帧有标准格式(11位ID)和扩展格式(29位
ID)。
113、CAN 数据帧构成:
(1) 帧起始。 表⽰数据开的段帧起始。
(2) 仲裁段。 表⽰该帧优先级的仲裁段。
(3) 控制段。 表⽰数据的字节及保留位段。
(4) 数据段。 数据的内容,⼀帧可发送0~8个字节的数据。
(5) CRC段。 检查帧的传输错误段。
(6) ACK段。 表⽰确认正常接收的段。
(7) 帧结束。 表⽰数据的段帧结束。

使用特权

评论回复
27
shjuturt|  楼主 | 2022-6-29 15:23 | 只看该作者
114、 Stm32f103系列只有⼀个CAN控制器,有3个发送邮箱和3级深度的2个FIFO,14个过滤组器。
115、 STM32的每个过滤组可以配置为1个32位过滤器和2个16位过滤器。除此之外,还可以配置为屏蔽位模式(ID+屏蔽)和标识符列
表(ID和屏蔽寄存器均⽤来做ID寄存器)模式。
116、 CAN接收到有效报⽂被放置在3级邮箱深度的FIFO中,FIFO完全由硬件来管理。
117、 CAN总线的波特率

使用特权

评论回复
28
shjuturt|  楼主 | 2022-6-29 15:24 | 只看该作者
118、 触摸屏⼀般分为电阻式触摸屏和电容式触摸屏。前者检测触摸的位置原理是利⽤触摸屏控制器中的A/D转换器经过两次A/D读值后
得出X和Y的坐标值。注意:这个X和Y的值是相对于触摸屏的,⽽⾮LCD屏。所以在这⾥需要注意两个概念:触摸屏和LCD屏。这是两个不
同的概念,也是两个不同的物理结构,其中电阻触摸屏是由上下两个导电层中间夹着⼀层⾮常薄的透明隔层;⽽LCD就是指显⽰屏。

使用特权

评论回复
29
shjuturt|  楼主 | 2022-6-29 15:25 | 只看该作者
119、 电阻触摸屏有X和Y、X和Y的⽐例因⼦、坐标轴⽅向、偏移量。LCD也有⾃⼰的这些参数。两者完全不相⼲,所以在定位的时候需
要进⾏坐标转换。公式:
通过对屏幕的四个点进⾏校准,得到四元⼀次⽅程,求解即可。
120、 NEC协议的数据帧格式:同步码头、地址码、地址反码、控制码、控制反码。同步码由⼀个9ms的低电平和⼀个4.5ms的⾼电平组
成,地址码、地址反码、控制码、控制反码均是8位数据格式。按照低位在前,⾼位在后的顺序发送。

使用特权

评论回复
30
shjuturt|  楼主 | 2022-6-29 15:26 | 只看该作者
121、 NEC协议在发送的时候,会有560us的38KHz的载波信号,⽽在接收的时候这部分载波信号被认定为低电平,⽽剩余的
(2.25ms-650us)的逻辑“1”和(1.12ms-650us)的逻辑“0”时间则被认定为⾼电平。
122、 在单位时间内的位移被定义为速度,速度有线速度和⾓速度之分,分别对应两种传感器测量这两种不同的速度:线速度传感器(加
速度计)、⾓速度传感器(陀螺仪)。前者多应⽤在静态或者低慢速运动中的姿态求解,后者多应⽤在动态运动中姿态求解。

使用特权

评论回复
31
shjuturt|  楼主 | 2022-6-29 15:26 | 只看该作者
123、 根据标准约定,零加速度(或零 G 准位)通常定义为相当于最⼤输出值(12 位输出为 4096,10 位输出为 1024 等)⼀半的输
出。对于提供 12 位输出的加速度计,零 G 准位将等于 2048。输出⼤于 2048 表⽰正加速度。输出⼩于 2048 表⽰负加速度。加速度的
数量通常⽤单位 g (1g = 9.8m/s2 = 重⼒加速度)表⽰。通过确定测量的输出与零 G 准位之间的差值,然后除以加速度计的灵敏度(⽤计
数/g 或 LSB/g表⽰)来计算加速度。对于提供 12 位数字输出的 2g 加速度计,灵敏度为 819 计数/g 或 819 LSB/g。加速度等于:a
= (Aout - 2048)/(819 计数/g),单位为 g。

使用特权

评论回复
32
shjuturt|  楼主 | 2022-6-29 15:27 | 只看该作者
124、 加速度计测得的加速度的⽅向和设备设定的坐标系是相反的,因为原理表明在测量⼒的时候采⽤的是⾮惯性系参考系,⽽我们⾼中
时代研究的坐标系是惯性系参考系,前者在物体进⾏运动产⽣加速度时,假想⼀个与速度⽅向相反的⼒作⽤在物体上,这个⼒就是惯性⼒;
后者我们说不存在惯性⼒,只说存在惯性,因为在惯性坐标系中,我们研究的是物体,⽽⾮坐标系(即假定坐标系相对地球静⽌),当我们
把坐标系也考虑在内时,当坐标系运动,就产⽣了惯性⼒f,这种⼒作⽤会假想作⽤在物体上,只是与运动⽅向相反。

使用特权

评论回复
33
shjuturt|  楼主 | 2022-6-29 15:28 | 只看该作者
125、 由上可知,加速度计的本质是测量⼒⽽⾮加速度。
126、 NRF24L01⼯作在2.4GHz的频段,由于频段频率较⾼,所以传输速率较快,为2Mbps
144、 UCOSII是⼀种实时操作系统,具有执⾏效率⾼、占有空间⼩(最⼩内核2KB)、实施性能优良、扩展性强和移植性强等优点。
UCOS具有多任务并发⼯作的特点(注意,任何时候只有⼀个任务能够占⽤CPU。并发只是任务轮流占⽤CPU⽽不是同时⼯作)。最⼤⽀
持255个任务并发⼯作。

使用特权

评论回复
34
shjuturt|  楼主 | 2022-6-29 15:28 | 只看该作者
145、看门狗使⽤的总结:
(1)调试程序阶段,⼀般不加看门狗,容易排查问题。
(2)正式发布的程序必须加看门狗。
(3)排查问题时候,如果有看门狗,可以把看门狗屏蔽再排查。
146、STM32的FLASH读写操作,⼀般⾄少2个字节,注意有时候你只想保存⼀个字节的标志位,数据长度也不能写1,⾄少写2个字节。
例如 HAL库的STMFLASH_ReadHalfWord,标准库常⽤的readEEPROM

使用特权

评论回复
35
shjuturt|  楼主 | 2022-6-29 15:29 | 只看该作者
本文转自网络,作者:文采初然酱吖00

使用特权

评论回复
36
dongnanxibei| | 2022-6-30 09:55 | 只看该作者
小白看着有点复杂

使用特权

评论回复
37
dongnanxibei| | 2022-6-30 09:58 | 只看该作者
不错不错

使用特权

评论回复
38
dongnanxibei| | 2022-7-4 17:58 | 只看该作者
收藏学习啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则