发 帖  
原厂入驻New

[经验] 学习STM32你应该了解的77条小知识(下)

2019-11-26 09:08:37  920 STM32 单片机
分享
10
30、ARM处理器有两种状态:ARM状态和Thumb状态。


31、这张图说明了一切:Thumb2指令集做了一件很伟大的事情:将16位和32位的指令集融为一体,兼容性非常强!(这么说CM3不支持某些32位ARM指令集)


32、
33、MSP是系统复位后使用的堆栈指针,PSP由用户的代码使用。两个堆栈指针为4字节对齐!!
34、在ARM编程领域中,凡是打断程序运行的事件,统称为异常(exception)。
35、因为存在LR(链接寄存器),所以可支持1级的子程序调用而不用压栈到内存,大大提高了运行速度。这就是说,我们在编程的时候,一级调用是不会耗费太多时间的,除非是二级调用!
36、处理器有两种操作模式:handler模式和线程模式。


处理器也有两种特权分级:特权级和用户级。这张图说明了一切:复位进入特权级线程模式,如果有异常,进入特权级的handler模式处理异常或中断例程,然后返回至特权级线程模式。通过修改CONTROL寄存器可以进入用户级线程模式。
37、两个高级定时器TIM1和TIM8是挂接在APB1总线上
38、STM32外部中断是以组来区分的,也就是说PA0,PB0,PC0单片机是无法区分其中哪个触发的中断à均为EXIT0线中断服务例程。
所以,外部中断支持16路的中断分辨率。从另一个方面来讲,我们可以设置GPIO_EXTILineConfig(GPIO_PortSourceGPIOx, GPIO_PinSourcex);来开通中断线实现组内的不同中断。
39、DAC有两个寄存器,一个是DHR(Data HoldingRegister)数据保持寄存器,一个DOR(Data Output Register)数据输出寄存器。
真正起作用的是DOR寄存器,该寄存器把值给数模转换发生单元输出以VREF+为参考电压的电压值。
如果是硬件触发转换,系统将在1个ABP时钟周期后把值给DOR,如果是软件触发转换,时间为3个APB时钟周期。然后,均等待Tsetting时间(Typical为3us,Max为4us)后真正输出电压值。
40、DAC分8位模式和12位模式,其中后者可以选择左右对齐
41、DMA仲裁器分为软件和硬件两种。软件部分分为4个等级,分别是很高优先级、高优先级、中等、低。硬件部分由通道的大小来决定优先级,越低优先级越高。
42、DMA有一个实时的传输数据量寄存器叫做DMA_CNDTR,最大值为65535,存放的是当前传输所要传输的数据量。当数据量变为0时,表明传输完成。
43、CAN总线(ControllerArea Network)。can控制器根据两根线上的电位差来判断总线电平,总线电平又分为显性电平和隐性电平,二者必居其一。
44、CAN总线具有6个特点:
1、多主控制
2、系统若软性
3、通讯速度较快,通讯距离较远
4、具有错误检测、错误通知和错误恢复功能
5、故障封闭,当总线上的设备发生连续故障错误时,CAN控制器会把改控制器踢出总线
6、连接节点多。理论上可以无限制加载,但是受到时间延迟和电气负载的限制,实际数目是有限制的。降低传输速度可以适当增加可挂接负载个数。
45、CAN协议有两个标准,ISO11898(针对125kbps~1Mbps的高速速率)和ISO11519-2(125kbps以下的低速速率)


46、


47、CAN协议的有5种类型的帧:数据帧、遥控帧、错误帧、过载帧、帧间隔。其中前两种帧有标准格式(11位ID)和扩展格式(29位ID)。


48、数据帧构成:
(1) 帧起始。表示数据开的段帧起始。
(2) 仲裁段。表示该帧优先级的仲裁段。
(3) 控制段。表示数据的字节及保留位段。
(4) 数据段。数据的内容,一帧可发送0~8个字节的数据。
(5) CRC段。 检查帧的传输错误段。
(6) ACK段。 表示确认正常接收的段。
(7) 帧结束。 表示数据的段帧结束。


49、Stm32f103系列只有一个CAN控制器,有3个发送邮箱和3级深度的2个FIFO,14个过滤组器。
50、STM32的每个过滤组可以配置为1个32位过滤器和2个16位过滤器。除此之外,还可以配置为屏蔽位模式(ID+屏蔽)和标识符列表(ID和屏蔽寄存器均用来做ID寄存器)模式。
51、CAN接收到有效报文被放置在3级邮箱深度的FIFO中,FIFO完全由硬件来管理。
52、CAN总线的波特率


相关经验

jinniuxing 2019-11-26 21:46:05
谢谢分享,收藏起来备查
回复

举报

寰宇无人 2019-11-27 09:11:47
学习,收藏,感谢
回复

举报

善泽触控 2019-11-27 15:20:28
不错的文章  
回复

举报

fair2017 2019-11-28 23:33:46
这些知识点比较重要的,有助于理解,多谢楼主分享。不过有些是错误的,比如37里的,TIM1和TIM8应该是在APB2线上的。
回复

举报

simplea 3 天前

谢谢分享,收藏起来备查
回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发经验
关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表