亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

STM32的待機與按鍵(鬧鐘)喚醒試驗

發布時間:2020-07-09 00:16:16 來源:網絡 閱讀:668 作者:dawn0919 欄目:編程語言

因為要節能,這個星期折騰待機與喚醒,首先是待機與按鍵的喚醒,下載和看了N多網上的資料,千轉百回,還是官方資料靠譜,參考著做成功了,即待機后按鍵喚醒(鬧鐘也可以)。
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_DMA_Init();
MX_ADC_Init();
MX_LPUART1_UART_Init();
MX_USART1_UART_Init();
MX_RTC_Init();
HAL_RTC_MspInit(&hrtc);
GetCurrentDateTime();//得到當前的時間和日期
ITMP=(uint8_t)CurrentTime.Minutes+1;//設置為當前的下一分鐘喚醒
RTC_Set_AlarmA(CurrentTime.Hours,ITMP,0);//重新設置鬧鐘
printf("CurrentTime :%02d:%02d:%02d\r\n",CurrentTime.Hours, CurrentTime.Minutes,CurrentTime.Seconds); //顯示時分秒
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0, GPIO_PIN_RESET);HAL_Delay(100);//亮
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0, GPIO_PIN_SET);HAL_Delay(100);//滅
WakeUp_Init();
while (1)
{
LED0_0;HAL_Delay (100); //GPIOB-0 15亮
LED1_0;HAL_Delay (100); //GPIOB-1 15亮
LED0_1;HAL_Delay (100); //GPIOB-0 15滅
LED1_1;HAL_Delay (100); //GPIOB-1 15滅
}
}

void WakeUp_Init(void)
{
SystemPower_Config();
if(__HAL_PWR_GET_FLAG(PWR_FLAG_SB) != RESET)
{
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB);
}
HAL_Delay(3000);
HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1);
HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1);
HAL_PWR_EnterSTANDBYMode();
}
程序刷機后,啟動后3秒進入待機狀態,按下PA0對應的鍵系統再次啟動,3秒后再次進入待機。
因為上面已經初始化了鬧鐘,那么加上響應鬧鐘的回調函數,系統也會在到達鬧鐘指定時間自動啟動,然后再待機。
//回調函數
void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
{
EXTI0_1_IRQHandler();
}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扎兰屯市| 兴宁市| 榆树市| 滨海县| 桃源县| 潮安县| 福建省| 东乌珠穆沁旗| 常山县| 磐安县| 顺义区| 贵定县| 菏泽市| 晋城| 南乐县| 修文县| 正镶白旗| 乌兰县| 邵武市| 都匀市| 高陵县| 东宁县| 宜昌市| 千阳县| 略阳县| 沙雅县| 阿坝| 宁都县| 仙游县| 商城县| 江西省| 东辽县| 新宾| 保山市| 广东省| 赣州市| 临漳县| 攀枝花市| 电白县| 繁昌县| 潞西市|