9楼我没说不同,但是总时钟不同啊?一个是用72Mhz作被除数,另一个为36Mhz。
1。9楼说“首先,CLK不能为72MHz”
2。手册上说APB1CLK,max 为 36Mhz
3。5楼又说: “输出定时器时钟之前有一个乘法器,它的操作不是由程序控制的,是由硬件根据前一级的APB预分频器的输出自动选择,当APB预分频器的分频因子为1时,这个乘法器无作用;当APB预分频器的分频因子大于1时,这个乘法器做倍频操作,即将APB预分频器输出的频率乘2,这样可以保证定时器可以得到最高的72MHz时钟脉冲。”
回10楼:
我用PC12,13,14,15,这个也有关系吗?
下面这个为示例程序:
/* Configure PC.12 -- PC.15 as Output push-pull : COM1~4 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure);
void TIM3_IRQHandler(void) { if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) { TIM_ClearITPendingBit(TIM3, TIM_IT_Update); if(GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_15) ) { GPIO_ResetBits(GPIOC,GPIO_Pin_15); } else { GPIO_SetBits(GPIOC,GPIO_Pin_15); } } }
其它的管脚翻转类似。
被这个问题困挠几天了。
|