【学习必备】每天学习STM32小技巧-5 前一篇已分享了10个小技巧,今天继续为大家分享10个小技巧:6 ^" m) ~ Y) ~6 R" i( { 技巧41:对FLASH的读写需要先解锁后加锁。FLASH写0容易,写1难。 L! ^9 W7 [: I$ J9 \ 7 i4 d$ _$ L; H0 W 技巧42:下载程序有两种方式,一种为ICP(在线编程),适用于JTAG或SWD协议下的烧写程序。另一种成为IAP(在应用编程),适用于很多接口(USB,串口,CAN)下载到存储器中,IAP允许在程序运行时重新烧写FLASH。 / I+ ^" U4 f. g* g% B0 F 技巧43:FLASH分为主存储器(这里放置用户的程序代码)和信息块(启动代码),除此之外,还有一部分叫做系统存储器,这一块用户不可操作,为ST公司出产后固化,为系统的上电自举程序。& z; T5 {2 G* g% I 技巧44:FLASH在写的时候,一定不能读,如果有读操作,那么将会锁住总线。 4 }( F* @" x L9 B 技巧45:对FLASH操作时,必须打开HIS。: E4 }4 Q. r L8 O" a5 O+ T: {; V3 l 技巧46:STM32有两种看门狗(IWDG独立看门狗《独立时钟》,WWDG窗口看门狗《由APB1分频而来》)。 5 d3 I+ K; o! a. q* e' O% k/ H 技巧47:SPI的的最高频率为36MHz(fpclk/2)。6 f% Q8 j/ B* r, l4 G 技巧48:TIM1和TIM8高级定时器在输出PWM时,需要配置一下主输出功能(CtrlPWMOutputs)才能输出PWM。其他的通用定时器不需要这样配置。但是TIM6和TIM7没有PWM输出功能。 技巧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口)! ]( x5 T% t' Z- n/ G! _) [$ o( G3 ^ 往期回顾: 论坛还未大家准备诸多STM32系列开发经验: 5 n$ L" t& l y+ t5 Q& v: P" d1 H7 @/ F$ }( S$ q |
【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