CH582 RTC更新的問題

無標題.png在項目中需要進行RTC時間更新,允許藍牙斷開的情況下,請問TMOS_TimerInit(0)這個程序需要在什么位置調用,我在關機的任務事件中 斷開藍牙并更新了RTC,再次開機,手機可以搜索到設備,但不能連接。

藍牙部分的函數(shù)重新調用就可以了。具體到更新RTC時間后,按照該函數(shù)重新配置即可:

image.png



void Systemshutdown(FunctionalState s)

{

? ? uint16_t Tyear,Tmon,Tday,Thour,Tmin,Tsec ;

? ? if(s == DISABLE)

? ? {

? ? ? ? tmos_stop_task(Peripheral_TaskID,SBP_PERIODIC_EVT);

? ? ? ? tmos_stop_task(Peripheral_TaskID,SBP_READ_RSSI_EVT);

? ? ? ? tmos_stop_task(Peripheral_TaskID,HAL_KEY_EVENT);

? ? ? ? tmos_stop_task(Peripheral_TaskID,HAL_USART_EVENT);


? ? ? ? tmos_stop_task(halTaskID, HAL_SIMRTC_EVENT);


? ? ? ? Advertising_set_enable(DISABLE);


? ? ? ? GAPRole_TerminateLink(peripheralConnList.connHandle);


? ? ? ? PRINT("peripheral 主動斷開\r\n");


? ? ? ? HAL_KeyInit(ENABLE);


? ? ? ? SimRTC_GetTime(&Tyear, &Tmon, &Tday, &Thour, &Tmin,&Tsec);? ? ? //軟件時鐘,用于顯示

? ? ? ? RTC_InitTime(Tyear, Tmon, Tday, Thour, Tmin,Tsec);? ? ? ? ? ? ? //將時間更新到RTC中


? ? ? ? TMOS_TimerInit(0);

? ? }

? ? else

? ? {

? ? ? ? tmos_set_event(Peripheral_TaskID,SBP_PERIODIC_EVT);

? ? ? ? tmos_set_event(Peripheral_TaskID,SBP_READ_RSSI_EVT);

? ? ? ? tmos_set_event(Peripheral_TaskID,HAL_KEY_EVENT);

? ? ? ? tmos_set_event(Peripheral_TaskID,HAL_USART_EVENT);


? ? ? ? tmos_set_event(halTaskID, HAL_SIMRTC_EVENT);


? ? ? ? RTC_GetTime(&Tyear,&Tmon, &Tday, &Thour, &Tmin, &Tsec);


? ? ? ? SimRTC_Init(Tyear, Tmon, Tday, Thour, Tmin, Tsec);? ? ? ? ? //讀取RTC的時間并更新到軟件時鐘中


? ? ? ? Advertising_set_enable(ENABLE);

? ? }

}

你指的藍牙部分是哪些參數(shù)呢?我將Peripheral_Init內的多個參數(shù)設置程序都執(zhí)行了一次,還是有問題,請幫我再看看

1726037845525801.jpg

1726037845130915.jpg



直接看搜索到的廣播,是否為可連接的廣播,如果是不可連接,說明藍牙的狀態(tài)被修改,則需要查看打印,看看是否advertising,且與正常的流程日志相同。

在修改時間后,可以接收藍牙斷開的情況下,直接將藍牙這部分的初始化都重新調用。

image.png


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

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