题外话
STM32在进行IO翻转操作的时候可以使用以下方法:以PE.5为例
GPIO_WriteBit(GPIOE,GPIO_Pin_5,(BitAction)(1-(GPIO_ReadOutputDataBit(GPIOE,GPIO_Pin_5))));
GPIO_WriteBit(GPIOE, GPIO_Pin_5, (BitAction)!GPIO_ReadOutputDataBit(GPIOE, GPIO_Pin_5))
GPIOE->ODR ^= GPIO_Pin_5
基本概念
TIM2~7定时器时钟的计算方法
如果APB1的时钟分频系数是1的话,定时器时钟等于1APB1 CLK
否则定时器时钟等于2APB1 CLK。
一般来说,APB1分频系数是2,36MHz=72MHz/2;
所以定时器的时钟是36*2=72Mhz。
参数确定
Tout= ((arr+1)*(psc+1))/Tclk;
如果要定时500ms
72M/7200分频得到10KHz,也就是0.1ms。
所以计数器设置为5000。
也就是说psc(分频系数)是7199
arr(计数器)4999.
(其实这些都是重0开始计数导致的)