CH32V203F6P6設置TIM4后,打印TIM4的CNT值為0,沒有任何變化。

? ? /* 配置TIM4 */

? ? TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure={0};


? ? TIM_TimeBaseInitStructure.TIM_Period = 1000;

? ? TIM_TimeBaseInitStructure.TIM_Prescaler = 1000;

? ? TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;

? ? TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;

? ? TIM_DeInit(TIM4);

? ? RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, ENABLE);


? ? /* 初始化TIM4 */

? ? TIM_TimeBaseInit(TIM4, &TIM_TimeBaseInitStructure);

? ? TIM_ClearFlag( TIM4, TIM_FLAG_Update );

? ? TIM_ARRPreloadConfig( TIM4, ENABLE );

? ? TIM_Cmd( TIM4, ENABLE );


USART_Printf_Init(9600);

while(1){

? ? printf("Timer4 CNT:0x%06\r\n",TIM_GetCounter(TIM4));

? ? Delay_Ms(200);

}


打印結果:

Timer4 CNT:0x00000

Timer4 CNT:0x00000

Timer4 CNT:0x00000

Timer4 CNT:0x00000

Timer4 CNT:0x00000

Timer4 CNT:0x00000

Timer4 CNT:0x00000

Timer4 CNT:0x00000

Timer4 CNT:0x00000

Timer4 CNT:0x00000

Timer4 CNT:0x00000

Timer4 CNT:0x00000

Timer4 CNT:0x00000


您好,對定時器時鐘的使能以及DeInit函數(shù)放在最前面,可以參考一下下圖TIM4的配置

image.png



void TIM_DeInit(TIM_TypeDef *TIMx)

{

? ? if(TIMx == TIM1)

? ? {

? ? ? ? RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, ENABLE);

? ? ? ? RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, DISABLE);

? ? }

? ? else if(TIMx == TIM2)

? ? {

? ? ? ? RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, ENABLE);

? ? ? ? RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, DISABLE);

? ? }

? ? else if(TIMx == TIM3)

? ? {

? ? ? ? RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, ENABLE);

? ? ? ? RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, DISABLE);

? ? }

? ? else if(TIMx == TIM4)

? ? {

? ? ? ? RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, ENABLE);

? ? ? ? RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, DISABLE);

? ? }

?

從TIM_DeInit函數(shù)內(nèi)容看,應該放在RCC_APB1PeriphResetCmd函數(shù)前面;

另外,1樓示例,除了沒啟用中斷,與你給的示例基本一樣,但是就是看不到CNT寄存器值變化:(


對比技術支持給出的代碼,再看看你的,你這都沒使能定時器模塊的時鐘好么?這才是根本問題啊!

不要糾結在 Reset 與 DeInit 上啊。

沒時鐘,你再怎么操作都沒用的嘛。


成了睜眼瞎了,硬是將RCC_APB1PeriphResetCmd 看成?RCC_APB1PeriphClockCmd :(


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频