【学习必备】每天学习STM32小技巧-5 前一篇已分享了10个小技巧,今天继续为大家分享10个小技巧: 技巧41:对FLASH的读写需要先解锁后加锁。FLASH写0容易,写1难。/ \4 N- C% U5 |1 n$ g % u0 `) \6 m1 O, Z4 y7 o4 ] 技巧42:下载程序有两种方式,一种为ICP(在线编程),适用于JTAG或SWD协议下的烧写程序。另一种成为IAP(在应用编程),适用于很多接口(USB,串口,CAN)下载到存储器中,IAP允许在程序运行时重新烧写FLASH。 ; Q; D* S" n5 S6 \' y! m 技巧43:FLASH分为主存储器(这里放置用户的程序代码)和信息块(启动代码),除此之外,还有一部分叫做系统存储器,这一块用户不可操作,为ST公司出产后固化,为系统的上电自举程序。 5 a* R$ ~, W9 a$ r% C3 {% J 技巧44:FLASH在写的时候,一定不能读,如果有读操作,那么将会锁住总线。- v$ O6 ?& j% O. d* G# q3 ^ 6 m8 c/ M% p Q+ o8 m/ B! G 技巧45:对FLASH操作时,必须打开HIS。9 ?( ?: ]6 b9 n( Y) F ' W" |! t2 U5 ^* ~# Q6 f2 D' H% r 技巧46:STM32有两种看门狗(IWDG独立看门狗《独立时钟》,WWDG窗口看门狗《由APB1分频而来》)。% t3 L) g7 R$ v2 T6 _1 Q2 b$ \ 技巧47:SPI的的最高频率为36MHz(fpclk/2)。1 G$ W6 p9 t9 m1 @4 x# P7 i) e! [ 技巧48:TIM1和TIM8高级定时器在输出PWM时,需要配置一下主输出功能(CtrlPWMOutputs)才能输出PWM。其他的通用定时器不需要这样配置。但是TIM6和TIM7没有PWM输出功能。 % _+ O# u$ g% S2 K 技巧49:Code为程序代码部分RO-data 表示程序定义的常量(如:const temp等);RW-data 表示已初始化的全局变量ZI-data 表示未初始化的全局变量,以及初始化为0的变量Code, RO-data,RW-data..............flashRW-data, ZIdata...................RAM初始化时RW-data从flash拷贝到RAM 技巧50:STM32F103ZET6有144个引脚(Z为144),其中,可用IO口为112个(7X16=112,ABCDEFG口) 往期回顾: 论坛还未大家准备诸多STM32系列开发经验: |
实战经验 | STM32G474 FPU 性能优化与测量
【STM32U083测评】GPIO使用点亮LED和按键操作
【我在论坛打嵌赛】01-嵌赛是个什么东东
STM32的CAN FD位定时设置注意事项
【庆元旦】基于NUCLEO_U5A5ZJ-Q的TobudOS移植
STM32CubeMX STM32F4 HAL库 工程建立
STM32 VS Code Extension (在Ubuntu上开发STM32,ST官方vscode插件使用指南)
【我的STM32U5 项目秀】+03-STM32U5-Coremark移植
全站首个NanoEdge_AI试用(dogs)
【学习必备】每天学习STM32小技巧-6