CH579M RTC喚醒問題

問題是:第二次調(diào)用 void RTC_SetTignTime( uint32_t time ) 函數(shù)不進(jìn)入RTC中斷

對第二次調(diào)用進(jìn)行Debug,發(fā)現(xiàn)問題在 R16_RTC_TRIG寄存器不更新,如下圖:

image.png


程序以及運行環(huán)境:

程序是參考CH579\EVT\EXAM\BLE\RunningSensor范例工程,移植到我的RT-Thread 4.0.3操作系統(tǒng)里

1. 首先按照例程初始化好RTC,如下圖:

image.png


不同處是改用了內(nèi)部LSI時鐘,并注釋了和TMOS相關(guān)函數(shù):

image.png


2. 初始化后參考HAL庫SLEEP.c的u32 CH57X_LowPower( u32 time ) 函數(shù)配置RTC喚醒

image.png

主程序如下:

image.png

第一次調(diào)用rtc_timer_start()可以正常進(jìn)入RTC中斷,第二次則不行(R16_RTC_TRIG寄存器不更新),如有表述不清請聯(lián)系我

上述問題解決!打擾各位了,原因是

image.png

此函數(shù)的入口參數(shù)是RTC絕對值,而不是相對值,導(dǎo)致37行的判斷直接return,若是相對值應(yīng)改為:

在36和37行間插入 time+=tmp;


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

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