【学习必备】每天学习STM32小技巧-5 前一篇已分享了10个小技巧,今天继续为大家分享10个小技巧:! }( X, o; N' b- S 技巧41:对FLASH的读写需要先解锁后加锁。FLASH写0容易,写1难。# ^. R5 b; N7 ]. q. {. j 5 v& }! {% \0 m- d8 y( b; [6 x* F 技巧42:下载程序有两种方式,一种为ICP(在线编程),适用于JTAG或SWD协议下的烧写程序。另一种成为IAP(在应用编程),适用于很多接口(USB,串口,CAN)下载到存储器中,IAP允许在程序运行时重新烧写FLASH。3 a8 [, Z6 z% k& g/ f " k9 A% @ ` D6 W9 y6 | 技巧43:FLASH分为主存储器(这里放置用户的程序代码)和信息块(启动代码),除此之外,还有一部分叫做系统存储器,这一块用户不可操作,为ST公司出产后固化,为系统的上电自举程序。 O3 c2 V' w9 \: k/ F7 B 技巧44:FLASH在写的时候,一定不能读,如果有读操作,那么将会锁住总线。 技巧45:对FLASH操作时,必须打开HIS。 3 q. P7 Z7 K7 B 技巧46:STM32有两种看门狗(IWDG独立看门狗《独立时钟》,WWDG窗口看门狗《由APB1分频而来》)。, D2 x' ?$ D4 u: r# E$ ]' B 3 v2 u; G; g( t* T" _% M+ S3 d2 P* D 技巧47:SPI的的最高频率为36MHz(fpclk/2)。8 ~. e( g* z' C+ p x 技巧48:TIM1和TIM8高级定时器在输出PWM时,需要配置一下主输出功能(CtrlPWMOutputs)才能输出PWM。其他的通用定时器不需要这样配置。但是TIM6和TIM7没有PWM输出功能。% S2 m6 \3 f- @* K / y0 t8 w0 K" j) }. J 技巧49:Code为程序代码部分RO-data 表示程序定义的常量(如:const temp等);RW-data 表示已初始化的全局变量ZI-data 表示未初始化的全局变量,以及初始化为0的变量Code, RO-data,RW-data..............flashRW-data, ZIdata...................RAM初始化时RW-data从flash拷贝到RAM4 B9 `$ f7 t( R- t' r# R) X 技巧50:STM32F103ZET6有144个引脚(Z为144),其中,可用IO口为112个(7X16=112,ABCDEFG口) 往期回顾: 论坛还未大家准备诸多STM32系列开发经验: / Y0 C- }# Q7 u% F- a! W |