rt 现象:用相同的方法配置TIM1、TIM2、TIM4,但TIM1正常,TIM2、TIM4完全不跑,找了很久资料毫无进展,求帮助,看有啥缺漏,谢谢!!! 固件库2.1.0 IAR stm8 1.41.1 使用st-link v2 void main(void) { CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); /* 串口初始化代码 */ /*TIM1初始化*/ CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1,ENABLE); TIM1_DeInit(); TIM1_SetCounter(0); TIM1_TimeBaseInit(15999,TIM1_COUNTERMODE_UP,100,0); /*TIM2初始化*/ CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER2,ENABLE); TIM2_DeInit(); TIM2_SetCounter(0); TIM2_TimeBaseInit(TIM2_PRESCALER_16384, 100); TIM2_PrescalerConfig(TIM2_PRESCALER_16384,TIM2_PSCRELOADMODE_UPDATE); /*TIM4初始化*/ CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4,ENABLE); TIM4_DeInit(); TIM4_SetCounter(0); TIM4_TimeBaseInit(TIM4_PRESCALER_128, 100); TIM4_PrescalerConfig(TIM4_PRESCALER_128,TIM4_PSCRELOADMODE_UPDATE); /*使能定时器*/ TIM1_Cmd(ENABLE); TIM2_Cmd(ENABLE); TIM4_Cmd(ENABLE); while(1) { /*打印当前CNT值*/ printf("%x,%x,%x\r\n",TIM1_GetCounter(),TIM2_GetCounter(),TIM4_GetCounter()); } } 输出结果是把3个TIM的CNT打印出来,但只有TIM1在跑。 打印结果如下: 1,0,1 2,0,1 4,0,1 5,0,1 6,0,1 7,0,1 9,0,1 a,0,1 b,0,1 d,0,1 e,0,1 f,0,1 谢谢! |
STM8S003红外发送
[调查]STM8 STM32新社区首页带给你的感受是:
STM8L15x 低功耗运行模式疑问
STM8S005K6,SPI问题
STM8S103F3P 与STM8S103F3U 区别?
求STM8S105 看门狗程序?
STM32或者STM8有哪些系列带有运算放大器
MSP430可以用STM32( STM8 )替代吗 ?
分享一下STM8L152的段式液晶驱动程序
ST7是什么芯片?跟STM32 STM8有什么区别吗?网上资料也不多
回复:STM8S103F3 无法运行 TIM2、TIM4,时钟已开但CNT不跑,求帮助
STM8S103F3的spec上描述TIM4的地址为0x005340,其后是两个保留字节。
而固件库上,TIM4的结构体中没有这两个保留字节,因此导致错位!
TIM2的问题也是同样处理。
RE:STM8S103F3 无法运行 TIM2、TIM4,时钟已开但CNT不跑,求帮助
RE:STM8S103F3 无法运行 TIM2、TIM4,时钟已开但CNT不跑,求帮助
RE:STM8S103F3 无法运行 TIM2、TIM4,时钟已开但CNT不跑,求帮助
RE:STM8S103F3 无法运行 TIM2、TIM4,时钟已开但CNT不跑,求帮助
RE:STM8S103F3 无法运行 TIM2、TIM4,时钟已开但CNT不跑,求帮助