CH582 TIM0定時(shí)器延時(shí)問(wèn)題

我嘗試用CH582的tim0做查詢(xún)方式的延時(shí),但是設(shè)置后似乎不生效,請(qǐng)教下該如何解決。

void?mdelay100ms()
{
??R8_TMR0_CTRL_MOD?&=?RB_TMR_ALL_CLEAR;
??R32_TMR0_CNT_END?=?(FREQ_SYS?/?10);
??R8_TMR0_CTRL_MOD?|=?RB_TMR_COUNT_EN;
??do
??{
???????printf("count:0x%08x\n",R32_TMR0_COUNT);
????????printf("cnt:0x%08x\n",R32_TMR0_CNT_END);
??}?while?(R32_TMR0_COUNT?==?(FREQ_SYS?/?10));
??R8_TMR0_CTRL_MOD?&=?~RB_TMR_COUNT_EN;
}

int?main()
{
??SetSysClock(CLK_SOURCE_PLL_60MHz);
??DebugInit();
??mdelay100ms();
??while?(1)
??{

??}
}

串口的顯示

QQ截圖20220307112504.png

這個(gè)樣子配置來(lái)試一下

1.png


謝謝,但是我這邊還是有些問(wèn)題,實(shí)現(xiàn)mdelay100ms是為了等待延時(shí),但是我這樣修改后延時(shí)還是不準(zhǔn),會(huì)一直打印。

volatile?uint32_t?ms_cnt?=?0;
volatile?uint32_t?ms_count?=?0;

void?DebugInit(void)
{
??GPIOA_SetBits(GPIO_Pin_9);
??GPIOA_ModeCfg(GPIO_Pin_8,?GPIO_ModeIN_PU);
??GPIOA_ModeCfg(GPIO_Pin_9,?GPIO_ModeOut_PP_5mA);
??UART1_DefInit();
}

void?mdelay100ms()
{
??R8_TMR0_CTRL_MOD?=?RB_TMR_ALL_CLEAR;
??R8_TMR0_CTRL_MOD?=?RB_TMR_COUNT_EN;
??R32_TMR0_CNT_END?=?(FREQ_SYS?/?10);
??ms_cnt?=?R32_TMR0_CNT_END;
??do
??{
????ms_count?=?R32_TMR0_COUNT;
??}?while?(ms_count?==?ms_cnt);?//等待R32_TMR0_COUNT=R32_TMR0_CNT_END
??R8_TMR0_CTRL_MOD?&=?~RB_TMR_COUNT_EN;?//關(guān)閉計(jì)數(shù)
}

int?main()
{

??SetSysClock(CLK_SOURCE_PLL_60MHz);
??DebugInit();
??while?(1)
??{
????printf("1\n");
????mdelay100ms();
????printf("10\n");
????mdelay100ms();
??}
}

QQ截圖20220307194914.png


void?DebugInit(void)
{
??GPIOA_SetBits(GPIO_Pin_9);
??GPIOA_ModeCfg(GPIO_Pin_8,?GPIO_ModeIN_PU);
??GPIOA_ModeCfg(GPIO_Pin_9,?GPIO_ModeOut_PP_5mA);
??UART1_DefInit();
}
?
void?mdelay100ms()
{
????TMR0_TimerInit( FREQ_SYS/10 );????????????????????????????? //定時(shí)100ms
????do
????{
????????
????}?while (TMR0_GetITFlag( TMR0_3_IT_CYC_END )==0); //判斷計(jì)數(shù)是否完成
????TMR0_ClearITFlag( TMR0_3_IT_CYC_END );? ? ? //清標(biāo)志
}
?
int?main()
{
?
??SetSysClock(CLK_SOURCE_PLL_60MHz);
??DebugInit();
??while?(1)
??{
????printf("1\n");
????mdelay100ms();
????printf("8\n");
????mdelay100ms();
??}
}

這樣修改,打印如圖所示

1.png



好的,已解決,謝謝


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

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