
【学习必备】每天学习STM32小技巧-3 前一篇已分享了10个小技巧,今天继续为大家分享10个小技巧:* {9 D) v! M5 _' Y* Y/ K![]() 技巧22:上电初始化后AIRC初始化为0,为16个抢先式优先级,但是由于所有的外部通道中断优先级控制字PRI_n为0,所以抢先式优先级相同,此时就不能嵌套了 # N# S3 Z( s$ [. Z1 y 技巧23:NVI中有ISER[2](Interrupt Set-Enable Registers),ICER[2](Interrupt Clear-Enable Registers),ISPR[2](Interrupt Set-Pending Registers),ICPR[2](Interrupt Clear-Pending Registers),IABR[2](Active Bit Registers),IPR[15](InterruptPriority Registers)定义。其中ISER和ICER分别为中断使能和中断失能寄存器,都是写1来使能/失能中断的。为什么写1?为什么不采用一个寄存器而用两个寄存器来表示中断使能/失能状态?由于硬件,写0比较复杂,并且可能造成其他位的状态改变,所以用1来表示打开或者关断是比较合理的" [- z: W7 L0 Y9 k. {; `) S 技巧24:中断标志位需要手动清除 ~ \5 S9 ]# \- B 技巧25:配置外围器件的一般步骤:: ?9 p9 D& ^# U5 I ·打开端口时钟 ·定义初始化结构体并初始化 ·调用* W ^" g& O7 G' j: ? 技巧26:串口的奇偶校验:如果是奇偶校验,那么USART_InitStructure.USART_WordLength= USART_WordLength_9b;这个数据的长度必须设定为9位! W4 U. N% X+ p' Y. { ! s; m3 E6 d6 k/ ^/ H2 j+ y0 Q 技巧27:ADC的规则组可以自定义转换通道顺序和转换的通道个数。在实际应用中,有时候希望有一些特别的通道具有很高的优先权,需要在规则组进行转换的时候强制打断,进行另一个通道的转换,这样一组通道,叫做注入组。 技巧28:定时器的输出比较模式:Timing(冻结,什么都不做,普通定时),Active(OCxREF输出高电平有效),Inactive(OCxREF输出低电平),Toggle(比较成功后翻转电平)。+ c ]" E) w* E9 N ) u# f6 v& U i' e' n, I 7 U2 B' I; l+ r: F* B: D2 J 技巧29:STM32的定时器从0开始计数,满足一些条件,给出标志位(比如匹配成功、时间更新、溢出等)然后从0开始计数。这一点和51不同。 : M6 p n& V: f6 f! \* U 技巧30:OCx=OCxREF+极性* r1 T8 w7 {( H& S" A ![]() 论坛还未大家准备诸多STM32系列开发经验: |
STM32ADC过采样及几种ADC采样的处理方法
STM32的启动模式配置与应用
小马哥STM32F103开源小四轴RoboFly全部资料大放送
Nucleo-F429ZI开发板体验LWIP功能
TouchGFX应用移植自定义屏幕
STM32F030C8T6+DRV8701+磁隔离大功率直流电机驱动器制作
基于STM32F303双电机FOC驱动: 无感原理图/BOM表/代码等开源...
开源基于STM32F303的机器人双电机无感FOC驱动参考设计
STM32固件库分享,超全系列整理
【经验分享】新建基于STM32F40x 固件库的MDK5 工程