【学习必备】每天学习STM32小技巧-3 前一篇已分享了10个小技巧,今天继续为大家分享10个小技巧:技巧22:上电初始化后AIRC初始化为0,为16个抢先式优先级,但是由于所有的外部通道中断优先级控制字PRI_n为0,所以抢先式优先级相同,此时就不能嵌套了9 B: N) O( M& x. _ & Y4 x" X( K: A1 q3 K! {" v% ` 7 b0 |1 u K& p4 r) X' S6 H 技巧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来表示打开或者关断是比较合理的 4 L9 w$ a' l; W; o; x8 L; _4 f1 e ' ~% F" @. g2 M: U 技巧24:中断标志位需要手动清除% I7 Z4 k! u1 T# t6 A. n 2 U ~. R- M8 ]. f( T% H, P' \ % Q; U7 Q2 o ~. S 技巧25:配置外围器件的一般步骤:6 q; x- w+ R) o, h2 s# ?) K ·打开端口时钟* o% d; ?3 k5 I3 A" m9 l ·定义初始化结构体并初始化$ W! x r2 o" e ·调用 : }' `% y5 j; ~$ M- F 技巧26:串口的奇偶校验:如果是奇偶校验,那么USART_InitStructure.USART_WordLength= USART_WordLength_9b;这个数据的长度必须设定为9位!5 y6 H5 c3 X5 D/ i" l 技巧27:ADC的规则组可以自定义转换通道顺序和转换的通道个数。在实际应用中,有时候希望有一些特别的通道具有很高的优先权,需要在规则组进行转换的时候强制打断,进行另一个通道的转换,这样一组通道,叫做注入组。& I1 w/ \' Z5 S% E1 F7 }3 s 7 q$ P. h! c6 Y# C' H 4 n8 d0 }, ^7 O 技巧28:定时器的输出比较模式:Timing(冻结,什么都不做,普通定时),Active(OCxREF输出高电平有效),Inactive(OCxREF输出低电平),Toggle(比较成功后翻转电平)。 ! q% {: j9 p# l, V) J- N 技巧29:STM32的定时器从0开始计数,满足一些条件,给出标志位(比如匹配成功、时间更新、溢出等)然后从0开始计数。这一点和51不同。 C0 v& r# \1 {$ `6 |, N : r" M6 j8 q2 H n' l9 ] 技巧30:OCx=OCxREF+极性" F, z5 e C& A 8 E3 B) I0 K R 0 o7 R; G: ^, H* t4 Z# A3 N& I 论坛还未大家准备诸多STM32系列开发经验:& p9 ~# {. `9 j K' H+ Z" _ 4 S7 S5 F/ P1 y* p' ~# \ |
小马哥STM32F103开源小四轴RoboFly全部资料大放送
STM32F103移植LittlevGUI代码
使用STM32F103制作的无线下载器
【MCU实战经验】+自制MP3使用STM32F103ZET6和ch375读取u盘,vs1003解码,音质超棒
串口通信波特率异常的解决办法
【MCU实战经验】+STM32F103的uCOSII详细移植
【资料】STM32F3系列精彩集锦——教程、资料、方案
游名科技:STM32F103+TMC2160:86步进电机和驱动一体原理图/PCB...
STM32F0 IIC slave mode
在高容量 STM32F103xx 微控制器中实现 ADPCM 算法