久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

STM32 BKP與RTC實戰(zhàn):掉電數(shù)據(jù)保存與低功耗定時設計

STM32 BKP與RTC實戰(zhàn):掉電數(shù)據(jù)保存與低功耗定時設計 1. 項目緣起為什么需要BKP和RTC這對“黃金搭檔”做嵌入式開發(fā)尤其是用STM32這類MCU做產(chǎn)品最怕的就是設備一斷電關鍵數(shù)據(jù)就丟了。比如你辛辛苦苦校準了一個傳感器的零點偏移值或者記錄了一個設備的累計運行時間甚至是一個用戶設置的鬧鐘時間如果每次上電都清零那用戶體驗就太糟糕了。這時候STM32內(nèi)部的兩個“小寶貝”就派上用場了BKPBackup Register備份寄存器和RTCReal-Time Clock實時時鐘。很多人剛開始接觸容易把它們搞混或者覺得它們差不多。其實它們倆是分工明確、協(xié)同作戰(zhàn)的好兄弟。簡單來說RTC負責“走時”它是一個獨立的、低功耗的計時器只要后備電池VBAT引腳有電哪怕主電源VDD斷了它也能繼續(xù)嘀嗒嘀嗒地走給你提供年、月、日、時、分、秒這些時間信息。而BKP則負責“記事”它是一片特殊的SRAM區(qū)域同樣在VBAT供電下數(shù)據(jù)不丟失你可以把任何你想保存的數(shù)據(jù)比如校準參數(shù)、設備序列號、運行狀態(tài)標志存進去。所以一個典型的應用場景是你的智能設備比如一個溫濕度記錄儀需要每隔一小時記錄一次數(shù)據(jù)并且數(shù)據(jù)要帶時間戳。你可以用RTC來產(chǎn)生這個“一小時”的中斷同時把當前時間從RTC讀取和傳感器數(shù)據(jù)一起存儲到外部Flash或者SD卡里。但是記錄到第幾條了呢這個索引值如果存在普通RAM里一斷電就沒了下次開機可能就從0開始覆蓋寫導致數(shù)據(jù)混亂。這時候你就可以把這個“當前記錄索引”存在BKP寄存器里。這樣無論設備是正常關機還是意外斷電重啟后都能從BKP里讀出上次的記錄位置接著往下寫保證了數(shù)據(jù)的連續(xù)性和完整性。我遇到過不少項目早期為了省事把這些數(shù)據(jù)存在片內(nèi)Flash的某個固定頁。結果頻繁擦寫沒幾個月Flash就寫壞了或者因為擦寫期間斷電導致數(shù)據(jù)錯誤。后來改用BKPRTC的方案系統(tǒng)穩(wěn)定性和數(shù)據(jù)可靠性直接上了一個臺階。下面我就結合STM32F1和F4系列這兩個系列用的人最多把手把手配置、讀寫、以及實際開發(fā)中那些容易踩的坑給你徹底講明白。2. 核心機制解剖BKP與RTC的硬件依賴與訪問鑰匙在動手寫代碼之前必須得搞清楚它們的“脾氣”知道它們依賴什么怎么才能“叫得動”它們。這是很多教程一筆帶過但實際開發(fā)中問題最多的地方。2.1 電源域數(shù)據(jù)不丟的基石BKP寄存器和RTC模塊之所以能掉電保持數(shù)據(jù)根本原因在于它們位于一個獨立的電源域上這個域由VBAT引腳供電。正常模式VDD供電當主電源VDD正常時整個芯片包括BKP/RTC域都由VDD供電。此時你可以正常讀寫B(tài)KP和配置RTC。掉電模式VDD斷開當主電源VDD斷開比如設備拔掉電池如果VBAT引腳連接了備用電池通常是一顆紐扣電池如CR2032那么BKP寄存器和RTC的時鐘計數(shù)器就會自動切換到由VBAT供電。此時芯片其他部分都斷電了但這一小塊區(qū)域依然活著數(shù)據(jù)得以保全。VBAT也斷開如果連VBAT也斷電了那對不起B(yǎng)KP里的數(shù)據(jù)和RTC的計數(shù)值都會丟失。下次上電BKP是隨機值RTC需要重新配置。注意這里有個關鍵點VBAT引腳不能懸空即使你不用備用電池也必須把VBAT連接到VDD通過一個0歐電阻或者直接連接。否則當VDD掉電時這個域可能處于不確定狀態(tài)導致數(shù)據(jù)異常甚至損壞相鄰電路。2.2 訪問權限PWR和RCC這兩把“鑰匙”BKP和RTC屬于備份域Backup Domain。為了降低這個域在正常工作中的功耗防止被軟件意外篡改STM32給它們加了兩道“鎖”。第一把鎖備份域寫保護BKP Write Protection默認情況下BKP寄存器是寫保護的你不能直接往里面寫數(shù)據(jù)。要解鎖需要操作電源控制寄存器PWR。 對于STM32F1步驟是使能PWR時鐘RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);關閉備份域寫保護PWR_BackupAccessCmd(ENABLE);對于STM32F4/H7等系列步驟類似但函數(shù)名可能稍有不同例如在HAL庫中是HAL_PWR_EnableBkUpAccess()。第二把鎖RTC時鐘與寄存器訪問RTC本身是一個外設你需要先給它提供時鐘源LSE/LSI并使能它的時鐘。使能RCC中控制備份域的時鐘RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP, ENABLE);(F1系列) 對于F4系列則是使能RCC_APB1ENR寄存器中的RTCAPB位。選擇RTC時鐘源LSE-外部低速晶振通常32.768kHz或LSI-內(nèi)部低速RC振蕩器約40kHz。強烈推薦使用LSE因為精度高走時準。LSI誤差大可能一天就差出幾分鐘。使能RTC時鐘RCC_RTCCLKCmd(ENABLE);只有拿到了這兩把“鑰匙”你才能對BKP和RTC進行初始化和讀寫操作。很多新手代碼跑不通第一步就應該檢查這兩步是否都做到了。2.3 BKP寄存器布局你的數(shù)據(jù)保險箱不同型號的STM32BKP寄存器的數(shù)量不同。STM32F103系列有10個16位的寄存器BKP_DR1 ~ BKP_DR10而STM32F407等系列則有20個32位的寄存器BKPR1 ~ BKPR20。它們都是16位或32位寬可以存整數(shù)、可以拼湊成浮點數(shù)需轉換、也可以每個位當標志位用。這些寄存器還有一個“哨兵”——BKP數(shù)據(jù)寄存器xBKP_DRx的bit0在上電復位并從待機模式喚醒后會被硬件自動清零。你可以利用這個特性來判斷本次復位是冷啟動還是從待機模式喚醒的從而決定是初始化RTC還是直接讀取當前時間。3. 實戰(zhàn)第一步環(huán)境搭建與基礎驅動配置理論懂了我們來看代碼。這里我以STM32F103C8T6藍色小藥丸和標準外設庫Standard Peripheral Library為例因為標準庫的寄存器操作更直觀理解了標準庫再用HAL或LL庫就很容易了。當然我也會提一下HAL庫的關鍵函數(shù)。3.1 工程準備與時鐘樹考量首先在你的工程里需要包含正確的頭文件并確保系統(tǒng)時鐘已經(jīng)配置好比如使用72MHz的HSE。重點在于低速時鐘的配置。對于RTC時鐘源的選擇至關重要LSE外部低速晶振需要你在PCB上焊接一個32.768kHz的晶振并配上兩個負載電容通常10-15pF。精度高±20ppm功耗低是產(chǎn)品化的首選。LSI內(nèi)部低速RC芯片內(nèi)部自帶無需外接元件。但精度很差±40kHz的偏差可能達到±5%即一天誤差可達數(shù)十分鐘只適用于對時間精度要求極低的場合。在system_stm32f10x.c或你自己的時鐘配置函數(shù)里你需要開啟LSE并等待其穩(wěn)定// 啟動LSE RCC_LSEConfig(RCC_LSE_ON); // 等待LSE啟動穩(wěn)定超時處理很重要 Timeout 0; while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) RESET) { Timeout; if(Timeout 0x5000) // 超時判斷 { // LSE啟動失敗可以切換為LSI或進入錯誤處理 break; } } if(Timeout 0x5000) { // LSE啟動成功選擇為RTC時鐘源 RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); } else { // 啟動失敗降級使用LSI RCC_LSICmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) RESET); RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI); } // 使能RTC時鐘 RCC_RTCCLKCmd(ENABLE);踩坑點1LSE啟動失敗。這是最常見的問題。原因可能是晶振質(zhì)量問題、負載電容不匹配、PCB布局走線過長引入干擾。務必在代碼中加入超時判斷和降級方案如切到LSI并在硬件上確保晶振離MCU引腳最近晶振外殼接地。3.2 BKP與RTC初始化流程初始化必須遵循嚴格的順序否則可能無法正確配置。void BKP_RTC_Init(void) { // 1. 使能PWR和BKP時鐘拿到第一把鑰匙 RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); // 2. 關閉備份域寫保護打開第一把鎖 PWR_BackupAccessCmd(ENABLE); // 3. 檢查是否是第一次上電或備份域完全復位 if (BKP_ReadBackupRegister(BKP_DR1) ! 0xA5A5) // 用一個魔數(shù)判斷 { // 3.1 首次使用需要復位備份域并重新配置RTC BKP_DeInit(); // 復位備份域寄存器 // 3.2 配置RTC時鐘源如上一節(jié)的代碼 // RCC_LSEConfig(...); RCC_RTCCLKConfig(...); // 3.3 等待RTC寄存器同步 RTC_WaitForSynchro(); // 3.4 設置RTC預分頻器得到1秒的時鐘節(jié)拍 // 如果使用LSE (32768Hz)設置成32768-1即可得到1Hz RTC_SetPrescaler(32767); // 注意寫入的是(分頻系數(shù)-1) // 3.5 等待上一次操作完成 RTC_WaitForLastTask(); // 3.6 初始化RTC時間例如設置為2023-01-01 00:00:00 RTC_SetCounter(0); // 設置時間戳為0 RTC_WaitForLastTask(); // 3.7 寫入魔數(shù)標記已經(jīng)初始化 BKP_WriteBackupRegister(BKP_DR1, 0xA5A5); } else { // 不是第一次只需要等待RTC寄存器同步即可 RTC_WaitForSynchro(); } // 4. 可選重新使能寫保護防止意外寫入 // PWR_BackupAccessCmd(DISABLE); }關鍵點解析BKP_ReadBackupRegister和BKP_WriteBackupRegister是操作BKP的核心函數(shù)。RTC_WaitForSynchro()和RTC_WaitForLastTask()是必須的。因為RTC的寄存器位于APB1時鐘域而RTC核心運行在另一個慢速時鐘域它們之間通過影子寄存器同步讀寫操作需要時間。不等待完成就進行下一步操作是導致RTC配置失敗的主要原因之一。用BKP_DR1存儲一個“魔數(shù)”來判斷是否初始化這是標準做法。這個值在VBAT有電的情況下會一直保持。4. RTC時間的設置、讀取與日歷轉換RTC的核心是一個32位的向上計數(shù)器RTC_CNT。你設置一個初始時間戳例如Unix時間戳然后它每秒加1。所以我們操作RTC本質(zhì)上就是讀寫這個計數(shù)器并進行時間和日期格式的轉換。4.1 設置RTC時間設置時間就是給RTC_CNT寄存器寫入一個代表“從某個參考點到現(xiàn)在經(jīng)過了多少秒”的值。最常用的參考點是“1970年1月1日 00:00:00 UTC”也就是Unix時間戳。// 將日歷日期時間轉換為Unix時間戳簡化版未考慮閏秒 uint32_t DateToTimestamp(uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) { // 這里需要實現(xiàn)一個日期轉秒數(shù)的算法代碼較長。 // 通??梢允褂胢ktime函數(shù)如果編譯器支持或自己實現(xiàn)一個。 // 為了示例假設我們有一個轉換好的時間戳 setTimeStamp uint32_t setTimeStamp ...; // 計算出的時間戳 // 關閉寫保護如果之前使能了 PWR_BackupAccessCmd(ENABLE); // 寫入計數(shù)器 RTC_SetCounter(setTimeStamp); RTC_WaitForLastTask(); // 務必等待 // 重新使能寫保護 // PWR_BackupAccessCmd(DISABLE); return setTimeStamp; }在實際項目中我強烈建議你使用一個現(xiàn)成的、經(jīng)過驗證的時間庫來處理日期和秒數(shù)的轉換比如“TimeLib”庫或者C標準庫的struct tm和mktime/gmtime注意嵌入式環(huán)境下的可移植性。自己寫很容易在閏年、閏月上出錯。4.2 讀取RTC時間并轉換讀取就更簡單了就是獲取RTC_CNT的當前值然后轉換成易讀的年月日時分秒。void GetCurrentTime(RTC_TimeTypeDef* timeStruct) { uint32_t currentCounter RTC_GetCounter(); // 將currentCounter (Unix時間戳) 轉換為 年月日時分秒 // 同樣建議使用庫函數(shù)如 gmtime_r // 以下為偽代碼邏輯 // convertTimestampToDateTime(currentCounter, timeStruct); }踩坑點2RTC中斷與喚醒。RTC除了基本計時還可以配置鬧鐘Alarm和周期性喚醒Wakeup。配置鬧鐘時要注意比較的是RTC_CNT和RTC_ALR寄存器的值單位是秒。配置喚醒定時器時RTC_WUTR寄存器設置的是喚醒周期時鐘周期數(shù)。關鍵使能這些中斷后一定要在對應的中斷服務函數(shù)RTC_IRQHandler中檢查并清除相應的中斷標志位RTC_GetITStatus/RTC_ClearITPendingBit否則會一直進入中斷。4.3 BKP寄存器的靈活應用BKP的讀寫非常簡單關鍵在于你用它來存什么。這里給出幾個典型用例用例1存儲系統(tǒng)運行狀態(tài)標志// 設備正常關機時寫入一個關機碼 void System_Shutdown(void) { PWR_BackupAccessCmd(ENABLE); BKP_WriteBackupRegister(BKP_DR2, 0xAA55); // 寫入正常關機標志 // ... 其他關機操作 // 進入待機或停止模式 } // 系統(tǒng)啟動時檢查 void System_Startup(void) { if(BKP_ReadBackupRegister(BKP_DR2) 0xAA55) { printf(上次是正常關機。\n); // 可能不需要從頭初始化所有外設 BKP_WriteBackupRegister(BKP_DR2, 0x0000); // 清除標志 } else { printf(上電復位或異常斷電。\n); // 執(zhí)行完整的初始化流程 } }用例2存儲傳感器校準參數(shù)假設你有一個溫度傳感器需要在出廠時校準得到一個浮點型的斜率a和截距b。你可以將它們轉換成整數(shù)或拆分成多個16位數(shù)據(jù)存入BKP。typedef struct { float slope; // 斜率a float offset; // 截距b } CalibParams; void WriteCalibToBKP(CalibParams *calib) { uint32_t slope_int (uint32_t)(calib-slope * 1000); // 放大1000倍存為整數(shù) uint32_t offset_int (uint32_t)(calib-offset * 1000); PWR_BackupAccessCmd(ENABLE); BKP_WriteBackupRegister(BKP_DR3, (uint16_t)(slope_int 16)); // 存高16位 BKP_WriteBackupRegister(BKP_DR4, (uint16_t)(slope_int 0xFFFF)); // 存低16位 BKP_WriteBackupRegister(BKP_DR5, (uint16_t)(offset_int 16)); BKP_WriteBackupRegister(BKP_DR6, (uint16_t)(offset_int 0xFFFF)); // PWR_BackupAccessCmd(DISABLE); } void ReadCalibFromBKP(CalibParams *calib) { uint32_t slope_int ((uint32_t)BKP_ReadBackupRegister(BKP_DR3) 16) | BKP_ReadBackupRegister(BKP_DR4); uint32_t offset_int ((uint32_t)BKP_ReadBackupRegister(BKP_DR5) 16) | BKP_ReadBackupRegister(BKP_DR6); calib-slope (float)slope_int / 1000.0f; calib-offset (float)offset_int / 1000.0f; }踩坑點3BKP數(shù)據(jù)校驗。BKP雖然可靠但在極端電壓波動或強干擾下數(shù)據(jù)仍有微小概率出錯。對于關鍵數(shù)據(jù)建議增加校驗機制比如CRC校驗或存儲“鏡像對”。例如把一個數(shù)據(jù)存兩遍到不同的BKP寄存器讀取時比較兩者是否一致或者存儲數(shù)據(jù)的同時計算一個CRC8/CRC16校驗碼一起存進去讀取時再驗證。5. 低功耗模式下的生存之道待機與喚醒BKP和RTC最大的用武之地就是在低功耗項目中。STM32的待機模式Standby Mode功耗可以低至幾微安而在此模式下只有備份域BKPRTC和喚醒電路保持供電。這正是實現(xiàn)“電子日歷”或“間歇性數(shù)據(jù)采集器”的關鍵。5.1 進入待機模式進入待機模式前需要做好一切準備保存現(xiàn)場將需要保持的系統(tǒng)狀態(tài)如當前數(shù)據(jù)記錄指針、IO口狀態(tài)等存入BKP。配置喚醒源最常用的就是RTC鬧鐘喚醒。你需要設置好RTC鬧鐘寄存器RTC_ALR并開啟RTC鬧鐘中斷和喚醒功能。執(zhí)行進入待機指令void Enter_StandbyMode(uint32_t wakeupDelaySeconds) { // 1. 保存狀態(tài)到BKP (略) // 2. 設置RTC在 wakeupDelaySeconds 秒后喚醒 RTC_SetAlarm(RTC_GetCounter() wakeupDelaySeconds); RTC_ITConfig(RTC_IT_ALR, ENABLE); // 使能鬧鐘中斷 RTC_WaitForLastTask(); // 3. 清除喚醒標志防止一進入就被誤喚醒 PWR_ClearFlag(PWR_FLAG_WU); // 4. 使能喚醒引腳如果需要WKUP引腳喚醒 // PWR_WakeUpPinCmd(ENABLE); // 5. 進入待機模式 PWR_EnterSTANDBYMode(); // 執(zhí)行此函數(shù)后程序停止芯片進入待機 }5.2 從待機模式喚醒與恢復當RTC鬧鐘時間到芯片會被喚醒。注意待機模式喚醒會導致芯片復位相當于按了一次復位鍵。所以程序會從main()函數(shù)開始重新執(zhí)行。因此在main()函數(shù)的開頭你需要判斷復位來源int main(void) { // 系統(tǒng)初始化時鐘等 SystemInit(); // 檢查是否是從待機模式喚醒 if(PWR_GetFlagStatus(PWR_FLAG_SB) ! RESET) { // 是從待機模式喚醒 PWR_ClearFlag(PWR_FLAG_SB); // 清除待機標志 // 1. 恢復BKP中保存的狀態(tài) // 2. 重新初始化外設因為復位后大部分外設都關閉了 // 3. 繼續(xù)執(zhí)行主循環(huán)邏輯例如采集一次數(shù)據(jù)然后再次進入待機 RestoreFromStandby(); } else { // 是冷啟動或其它復位 // 執(zhí)行完整的初始化包括RTC和BKP的首次配置 Normal_Init(); } while(1) { // 主循環(huán) if(need_to_sleep) { Enter_StandbyMode(3600); // 休眠1小時 } } }踩坑點4喚醒后的外設初始化。這是最容易出錯的地方。待機喚醒是系統(tǒng)復位所有外設除了備份域都回到了默認狀態(tài)。你的RestoreFromStandby()函數(shù)必須重新初始化GPIO、USART、SPI、I2C等所有你用到的外設但不能再次初始化RTC和BKP否則時間就丟了。要確保你的初始化代碼是“冪等”的或者能被安全地重復調(diào)用。6. 進階話題與疑難雜癥排查6.1 時鐘精度校準即使用了LSE晶振由于晶振本身的物理特性也會存在誤差。STM32的RTC模塊提供了一個非常實用的時鐘校準寄存器RTC_CALR可以通過數(shù)字方式微調(diào)計時速度。原理通過周期性增加或減少RTC時鐘的脈沖數(shù)來補償頻率偏差。操作你需要一個更高精度的時鐘源如GPS的1PPS信號、網(wǎng)絡NTP時間作為參考計算一段時間內(nèi)比如24小時RTC的快慢秒數(shù)然后計算出校準值寫入RTC_CALR。這是一個負反饋過程。公式簡化CALP位決定是增加還是減少脈沖CALM[8:0]是校準值。具體計算需要參考芯片參考手冊的校準章節(jié)。粗略來說如果你的RTC每天慢X秒你需要通過校準讓它每天增加X秒的脈沖。6.2 跨系列兼容性與HAL庫要點如果你使用STM32CubeMX和HAL庫流程會變得更簡單但抽象層次也更高。初始化在CubeMX中勾選RTC選擇時鐘源LSE/LSI并激活日歷和鬧鐘。生成的代碼會自動處理PWR/BKP時鐘使能和寫保護。讀寫時間使用HAL_RTC_GetTime()和HAL_RTC_GetDate()以及對應的Set函數(shù)。HAL庫幫你處理了時間格式轉換和寄存器訪問序列。讀寫B(tài)KP使用HAL_RTCEx_BKUPRead()和HAL_RTCEx_BKUPWrite()。注意事項HAL庫函數(shù)內(nèi)部通常已經(jīng)包含了等待同步EnterInitMode和操作完成WaitForSynchro的步驟但你在連續(xù)調(diào)用多個RTC操作時仍需注意它們之間的時序最好檢查函數(shù)的返回值HAL_StatusTypeDef。6.3 常見問題排查清單當你發(fā)現(xiàn)RTC不走時、BKP數(shù)據(jù)丟失或讀寫出錯時可以按照這個清單逐一排查電源問題VBAT引腳是否連接了電池或正確接到了VDD用萬用表測量VBAT引腳電壓。電池是否沒電了紐扣電池的電壓應高于2.0V通常3V。時鐘問題LSE晶振是否起振可以用示波器探頭高阻檔測量OSC32_IN/OUT引腳看是否有32.768kHz的正弦波。注意探頭負載可能導致停振最好用衰減探頭或間接測量。負載電容C1, C2的值是否正確參考晶振手冊和STM32的數(shù)據(jù)手冊。代碼中是否成功選擇了RTC時鐘源檢查RCC_BDCR寄存器的RTCSEL位。訪問權限問題是否在操作BKP/RTC前使能了PWR和BKP時鐘(__HAL_RCC_PWR_CLK_ENABLE(),__HAL_RCC_BKP_CLK_ENABLE())是否關閉了備份域寫保護(HAL_PWR_EnableBkUpAccess())操作RTC寄存器后是否等待了上一次操作完成(檢查HAL_RTC_系列函數(shù)的返回值)軟件邏輯問題在待機喚醒后是否錯誤地重新初始化了RTC導致時間重置是否在中斷服務程序中進行了耗時過長的RTC/BKP操作這可能導致時序錯誤。對BKP的讀寫操作地址是否正確不同型號STM32的BKP寄存器起始地址和數(shù)量不同。數(shù)據(jù)校驗問題是否沒有對BKP中的關鍵數(shù)據(jù)進行校驗讀到了錯誤的值7. 一個完整的應用實例簡易數(shù)據(jù)記錄儀最后我們整合所有知識點設計一個簡易的溫濕度數(shù)據(jù)記錄儀。功能需求每隔1小時通過I2C讀取SHT30溫濕度傳感器。將“時間戳 溫度 濕度”作為一個記錄保存到外部SPI Flash如W25Q128中。記錄索引當前寫到Flash的哪個地址了需要掉電保存。設備大部分時間處于待機模式以省電。系統(tǒng)設計硬件STM32F103C8T6自帶BKP和RTCSHT30傳感器W25Q128 Flash32.768kHz晶振紐扣電池接VBAT。初始化流程main函數(shù)開頭初始化系統(tǒng)時鐘、GPIO、I2C、SPI。解鎖備份域檢查BKP_DR1中的魔數(shù)。若魔數(shù)不存在則初始化RTC設為當前時間并將記錄索引write_index清零存入BKP_DR2/DR3。將魔數(shù)寫入BKP_DR1。若魔數(shù)存在則從BKP_DR2/DR3讀出write_index并等待RTC同步。主循環(huán)邏輯讀取當前RTC時間并計算距離下一個整點還有多少秒seconds_to_next_hour。設置RTC鬧鐘在seconds_to_next_hour后觸發(fā)。將當前write_index和其他必要狀態(tài)可選存入BKP。調(diào)用Enter_StandbyMode(seconds_to_next_hour)進入待機。喚醒后待機喚醒復位在main中判斷為待機喚醒。從BKP恢復write_index。重新初始化I2C、SPI因為復位后失效了。讀取SHT30數(shù)據(jù)。組合“RTC時間戳 數(shù)據(jù)”寫入SPI Flash的write_index地址。write_index增加并更新到BKP中。跳轉到主循環(huán)邏輯計算下一次喚醒時間再次休眠。這個例子涵蓋了BKP存儲狀態(tài)、RTC定時喚醒、低功耗管理、外設數(shù)據(jù)存儲等核心環(huán)節(jié)是一個典型的物聯(lián)網(wǎng)終端設備原型。通過這個項目你就能深刻理解BKP和RTC如何成為嵌入式系統(tǒng)中數(shù)據(jù)持久化和定時任務的“定海神針”。在實際調(diào)試時可以先用串口打印出關鍵步驟的信息如索引值、時間戳待功能穩(wěn)定后再關閉調(diào)試輸出以降低功耗。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
人人看欧美性爱| 国产探花日韩援交| SS久久| 欧美乱欲| 日日夜夜噜| 99日视频在线免费| 丝袜美腿制服人妻二区中文字幕| 人人澡综合涩| 影音先锋每日最新资源在线观看| 情色av电影| 精品一级毛片在线观看| 成人热久久精品| 秋霞一级鲁丝片A片| 67194无码不卡| 无码78| www.色五月| 91高清欧美| 国产激情在线| 91天天| 亚洲AV无码天美传媒一区| 60秒不遮不挡| 欧美久久婷婷| 夜夜爽77777| 日本视频在线观看污污污| 亚洲色图欧美色图综合| 一级aaaaa欧美中文字幕录像片| 欧美色图 人妻| 国产99精品一区二区三区免费| 鸥美插入视频| 日本123区操B视频| 五十路熟女人妻一区二区三区四区五| 久久中出在线| 欧美男人一区| AV麻豆免费一区| 青青草白白色| 欧美视频在线视频免费va| 花花AV导航| 亚洲另类久操网| 欧美AAAA黄片| 精品一区二区2| 久碰视频| 韩日欧亚a级| 蜜臀99999| 日本不卡一区二区三区| 综合一区二区影视| 色婷婷久久| 亲子敌伦对白在线播放| 国产Av超碰| 日本高清加勒比| 久久久久久人妻| 日本成a人v网站在线观看| 久久熟妇五十路一区| 岛国色情视频在线观看| 美女91| 亚洲精品1区| 天天干美少妇一区| 91小视频| 欧美性爱日韩高清| 欧综合网| 夜夜嗨免费视频| 欧美久久九九| 婷婷久久五月| 丰满人妻一区二区三区性色| 亚洲另类久操网| 色婷婷在线视频精品导航| 91视频伊人| 天天欧美| 亚洲校园激情| jiujiujiujingpin| 色 婷97| 蜜乳AV网址| 人人操,人人插| 97色香蕉| 99热线麻豆| 裸模AV女优| 天天操天天插| av婷婷色婷婷色六月| 女性喷水高潮在线观看| 淫荡网址| 91欧美综合| 91天天综合在线观看| 极品内射| 综合少妇网| 92一区二区| 天天干电影| 乱老熟女一区二区三区| 色性荡荡荡荡视频| 激情四射五月天| av九九| 久久美国毛片| 国产精品4p在线观看| 国产热RE99久久6国产精品首| 日韩美一区| 欧美另类天堂| 精品一区二区人妖| 96久久精品一二三区色欲| 欧美色偷偷| 美女黄频a美女大全免费皮| 9色国产精品一区粉嫩| 91无码精品| 国产少妇内射| 久久97视频| 超碰一区二区| 日日骚av| 亚洲av资源| 九久精品| 亚洲日韩在线a不卡99精品| 天天综合网日韩| 精品一级| 综合影院永久入口国产| 久草免费福利在线播放| 欧美一级A片在线看视频性色| 欧美成人一区二区三区在线播放| 蜜桃在线观看一区二区三区| 国产久久久久久| 国产天天噜一噜久久久| 欧在线一二区| 亚洲乱码精品一区二区| 麻花传媒免费网站在线观看| 色情婷婷| 性感女人网页在线观看视频| 中文字幕人妻色偷偷久久皮| 亭亭在线资源| 清纯唯美综合| 伦理弟一页| 精品人妻中文字幕高清| 在线小视频| 婷婷av在线中文字幕| 中文字幕黄色一起草| 熟女91网站| 男人天堂网站| 激情抓乳插进去啪啪啪日韩 | 日本丝袜美腿人妻九九| 日韩欧美麻豆 | 老鸭窝日丰县女人| 日韩女模中文造逼| 亚洲欧美黄| 国产AV中文| 亚洲啪啪视频免费| 强奸乱伦av电影| 亚洲午夜AV| 4141514逼喷水三级片| 欧美传媒一区| 男人的天堂 在线一区| 亚洲欧美在线观看免费| 四月丁香婷婷| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 色狠狠 - 百度| 欧美视频边做饭边橾| 少妇高潮99p| 97热视频在线观看| 操一操摸一摸| 久久婷婷热| 岛国AV一区二区电影| 中文字幕第23区| 青娱乐妇女性生活| 淫荡熟女乱伦网| 亚洲免费精品一区| 夫妻天天操岛国视频| 91人精品妻入口| 国产极品一区二区三区三州| 91殴美大片| 天天综合网~91| 乱伦熟女专区| 女优视频第10页| 成熟熟女国产精品一区二区| 色欲天天综合久久久无码网中文| 超碰调教97| 欧美最婬乱婬爆婬牲视频| 男女啪啪网站免费视频| 亚洲欧美日韩综合在线尤物| 欧美精品偷拍| 欧洲久久一二线| 黄色性爱网网| 色情婷婷久久五月天| 亚洲春色一区二区三区| 五月丁香成人网| 十八禁一区二区无码观看| av网站免费线看| 五月天色综合| 亚洲男人在线观看天堂| 国产超碰人人操| 成人精品视频| 日逼视频日本| 日韩9999| 黄片qw| 国产日韩精品一区二区三区| 亚洲国产成人精品女人久久久| 久久鲁干| 亚洲中字慕不卡| 久久精视频美日韩在线视频| 国产欧美日产一区二区三区 - 国产欧美日 | 9999亚洲电影| 国产欧美精选激情视频| 91爰爱欧美| 亚洲高清无毛一区二区| 日日夜夜国产综合| 亚洲av无码国产精品字幕| oumeisetu综合| 亚洲se91| 骚女天天综合网| 99精品成人免费看| 国际精品久久久| 国产成人无码高清| 亚洲丝袜二区在线| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 免费看污网站| 浓厚中出中文字幕在线| 在线观看 99热| 综合五月婷婷亚洲一区| 男人天堂无码| 成人欧美一区二区三区黑人一| 大粗鳼巴久久久久| 日韩99神马视频播放片在线播放| 操逼操逼操| 久久e6只有精品| 人妻二区| 亚洲加勒比色图| 在线看免费无码AV天堂的| 精品无码一区二区三区| 校园春色 男人天堂 | 懂色影视久久| 久久国色天香香蕉| 日本熟女中文字幕一区| 国产尤物在线三区| 嗯啊啊啊轻点视频| 六十路日本| 中日韓欧美高清| 东北老女人的激情视频| 伊人五月天| 肉动漫无遮挡h在线观看| 日本三级日本三级三级人妇四虎| 777AV电影| 精久久久| 丝袜视频一区二区在线播放国产中文| HEYZO高无码国产精品227| 97中文热色| 视频在线观看一二三区| 亚洲精品官网在线观看| 一级性爱视频免费观看| 久久中文字幕女同性恋一区| 97精品国产97久久久久久户外免费| 色综合V| 一二三卡欧美日韩人妻免费精品| 日本特黄f c2| 亚洲古典另类欧美在线| 无码久久国产| 欧美啪啪天堂| 欧美狠狠鲁| 青草av在线| 日韩免费a级毛片无码a∨| 任我爽在线视频免费观看| 蜜桃视频精品一区二区| 欧美强奸乱能| 精品国产一区探花在线观看| 日本一线产区和二线产区伦理片| 91伊人大香蕉| 久久一区,青青青青草视频在线播放| 久久久无码av精| 亚洲无线观看久久| 九九这里只有精品| 夜夜综合| 99热导航| sss视频华人在线| 天堂8在线新版官网| 边做饭边操逼逼| 熟妇一区二区| 青青草导航在线视频| 男女激情中文字幕| 清纯唯美激情四射| 800zy一区二区| 久久九色| 亚洲国产一区二区三区四区国产| 思思热国产在线视频| A级在线视频| 97se亚洲综合自| 日本五区不卡| 国内一区二区三区| 天操天操夜操夜月操月年年操操| 国产熟女精品区| 夜夜操老骚逼视频网站| 91婷婷伊人狠人| 久99久视频| 亚洲中文日韩精品| 91三级理论片播放器| 97人人夜夜精品视频| 97干色| 久久中出| 日韩欧无码一区二区三区免费不卡| 91色欧美| 日韩超碰97| 久久无码精品| 国产精品乱码久久久久| 欧美色亚洲| 蜜臀久久99精品久久久久久婷婷 | 亚洲人妻熟妇三十三区| 99色日| 亚州综合AⅤ| 亚洲无限观看| 69久久| 99re99在线视频| 色色97爱| 久久久新亚洲AV| 秋霞怕怕片| 高清有码一区二区| 国产一级特黄大片处女| 久久精视频美日韩在线视频| 免費黃色視頻觀看一| 国产女性无套 免费观看| 妺妺跟我一起洗澡没忍住| 久久久97| 丝袜制服字幕在线| 亚洲性少妇| 九九人妻| 天天干18禁| 91视频精品| 精品无码不卡视频| 国产伦精品一区二区三区视频女| 超碰色中文| 青操影院| 91五十路| 啪啪AV导航| 日本 欧美 国产一区| 97久久久| 无码视频一区二区| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 日韩欧美水蜜桃人妻| 91精品人妻五十路| 九热中文字幕| 超97在线精品视频| 亚洲18禁| 久久禁| 免费成人自拍视频在线| 艹少妇网站| 色五月综合| 欧美五区| 亚洲人久久久久日| 国产精品自在线发布| 欧美综合站| 97视频900| 日韩啪啪视频| 91丨熟女丨丰满熟女| 亚洲18禁| 一本大道久| 欧美 精品国产制服第一页| yellow网站免费观看日韩高清无码| 色五月综合| 日韩丝袜高跟制服在线观看| 久久只有精品| 丁香五月性爱| 九九九九免费视频| 无码区蜜乳| 曰韩精品九九无码| 曰本道人妻久久久在线不卡色视频| 秋霞色色影院| 五月婷婷丁香| 一本大道青青| 日韩一级成人毛片免费观看 | 无码免费一区二区三区啪啪| 亚洲女人毛茸茸91| 岛国片在线播放| 综合色图,成人综合网| 丝袜美女诱惑 91 视频| 国产亚洲中文不卡二区| 色网在线| 99久久久久久亚洲精品不卡| 2010男人的天堂| 国产精品一区二区麻豆| 国产av又色又爽又黄| 欧美一区二区在线资源| 欧美97超碰| 久久久久久AV无码免费网站| 久久视频,这里只有精品| 国产精品视频自拍在线| 久久超碰大香蕉| 日本孕妇一区二区视频操逼免费看 | 2020天天色综合| 国产区91柔拿会所技师| 天天摸天天舔天天操| av网站免费线看| 91色噜噜狠狠| 999精品国产高清一区二区| 蜜桃久久综合视频| 91人妻人人澡人人爽人人精品| 日韩激情啪啪| 婷婷五月天色网| 国产激情av女片自拍| 91久久久久久久| 精品偷拍13p欧美dodk视频| 麻豆一区在线| 无码免费精品高清| 精品制服美女中文一区二区三区| 国产成人网址| 69天堂| 嗯啊啊啊轻点视频 | 91超碰在线观看| 欧美性爱在线无码| 夜夜夜爽www精品视频| 日本熟女中文| 中日韓欧美高清| 97二区四区| 色色色日本| 99操| 在线无码操| 91 天天综合| 九九精品美女高溯喷水| 欧美十八禁视频| 国产第二页| 日韩av不卡在线观看| 欧美色图片色哟哟| 亚洲精品久久久久久久久豆丁网| 99久久久久久亚洲精品不卡| 久久久久久免费电影| 长长久久免费视频| 大香蕉免费3| 情侣操 逼视频99| 五月婷婷激情网| 九九碰九九爱97超碰| 久久视网78| 玖玖爱免费观看视频| 久久久久久久久9| 国产精品一区二区密臀| 中文字幕加勒比海高清无码免费视频| 日韩精品免费高清视频在线| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 日本裸体久久色噜噜| 一起草日韩| 97超碰色情| 亚洲www91| 99久久综合网| 操B视频日韩无码| 日韩精品一区,二区 九九...老司机| 久99热| 国产成久久综合片| 五月天婷婷社区| 亚洲永久永久永久永久一级一级一级精品| 在线观看日韩av不卡| 又大又大又大又粗爽高潮观看| 啊啊啊啊啊啊啊啊啊啊在线观看| 欧美九9 9 9| 精品国产人成在线| 91性色| 97伦乱| 久久精品一区| 欧美性天天影视| 欧美性爱十八禁| 人人操,人人插| 91精品网站| 欧美日韩天堂| 欧美狠狠操| 九色97| 黄色一级视| 91艹B视频| 超碰在线人人射| 97神马久久| 色偷偷人人玩人人舔人人操人人摸人人爽| 色月天AV导航| 又大又黄国产| 欧美午夜精品久久久久久超碰| 日韩av一级黄片| 免费少妇一区二区| 丰满人妻被猛烈进入中| 欧美超碰在线| 亚州91| 夜夜爽夜夜操| 久热这里只有精品9| 久草线上视频免费看| 歐美性天天| 躁躁日曰躁2020| www四虎| 夜夜操天| 久久久久久久久久久97| 蜜桃成人1区2区3区| 婷婷91| 国产精品亚洲一区二区三区四区| 欧洲成人性爱视频| 少妇高潮特黄A片| 精品成人无码| 久久美女国产| 久久一级无码精品毛片6| 欧美亚洲一级在线观看| 四虎视频在线观看| 欧洲亚洲人妻无码中字久久三区四区| 好吊色一区| 老师充足的奶水小说| 久久一区无码| 久久最新视频免费观看| 九九亚洲精品| 男女性扦B| 国产精品97超碰| 色亚洲欧美| v91av| 男人天堂网站| 一个色导综合| blacked精品一区国产| 国产精品嫩草影院免费| 无码 有码 国产18p| 国产三级电影免费观看| 99九九久久| 激情一区二区三区在线观看| 精品人妻一区二区三区-国产| 婷婷三区| 美女干逼2| 久久99干一本高清| 偷拍 亚洲 欧美| 成人a v在线播放免费| 久久亚州精品成人Av无| 日韩免费看黄片| 艹我哪美一区无码| 中出789在线视频| 久操av在线| 啊啊啊啊啊啊在线| 欧美A片中文字幕| 国产强奸超碰AV| 人人摸人人干| 九九热精彩视频| 日韩精品人妻中文字幕不卡乱码| 91bbb| 日日夜夜精品| 婷婷五月综合激情| 天天碰操中国年青熟妇| 丰满欧美放荡少妇在线| 精品无码秘 人妻一区二区| 国产精品永久免费10000| 国产家庭乱伦网址| 香一区二区三区| 日韩噜噜69| 夜夜欧美| 福利在线黄片| 99999精品成人| 久超碰这里只有精品| 超碰午夜| 国产精品亚洲美女久久久久| 大香伊人在线一区| 亚洲激情视频| 国产精品午夜高潮呻吟久久av| 亚洲青青青视频在线| 久草精品一区| 欧美性爱精品七区| 丁香五月影院| 欧洲精品一二三在线| 9丨久久九九九| 国产 亚洲 丝袜 制服| 91女人的网站| 91岛国动作片| 免费a在线播放v| 97精品第3页| 五月天亚洲色图| 静品嫩模一区二区| 粉嫩久久久久| 操人人| 天天操女人| 欧美性高潮| 日韩欧美国产高清视频| 91天天爱| 免费自拍三级综合| 欧美午夜色妇色鬼| 91狠狠| 中出91| 亚洲激情久久久伊人综合| 日韩亚洲中文字幕在线| 欧美情色男人的天堂| 91丝袜在线观看| 五月丁香啪啪啪| 蜜臀网址在线| 欧美日韩国产色图在线| 99re6国产精品99re| 91精品微拍福利| 亚洲中文人妻色| 最新国产精品| 国产精品91一样| 九九九九九九视频免费| 日韩人妻精品久久久久| 女人高潮大叫一级毛片| 青木玲在线不卡| 欧美精品99久久久**| 动漫区日韩区欧美区| 午夜乱轮操逼视频免费看| 中美日韩毛片| 家庭乱伦国产| 大香蕉琪琪日本女优不卡| 在线色导航| 九九九九欧美| 亚洲一区二区精品福利| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 日韩三级伊人| 日韩内射视频| 日本1区2区不卡视频| 抽插爽| 亚洲小电影免费涩涩成人在线高清| 久久亚洲不卡一区二区三区| 中文字幕一区二区三区高清| 国桃视频产巨乳精品一区二区在线| 在线无码网站| 亚欧美色图| 99热国产| 欧美精品宗合| 日欧毛片久久| 无码抄逼网| 九热中文字幕| 欧美韩国你懂得在线 | 一块操欧美性爱| 96麻豆精品一区二区三区| 欧美午夜精品久久久久久超碰| 日韩精品在线视频,日韩精品……| 亚洲免费精品一区| 国产区91柔拿会所技师| 国产精品69久久久久久久| 五月天婷婷成人网| 草莓精品视频在线免费观看| 粉嫩久久久极品| 67194国产| 一级性爱视频免费在线| 亚洲综合贴图91| 女色视频社区| 亚洲精品一区中文字幕乱码| 91亚洲人| 亚洲国产综合久久天堂| 嗯啊抽插大香蕉网页| 亚洲毛片基地专区| julia国产在线| 国产精品久久久久久久久久久久久久久久 | 亚洲日本韩国极品一区二区| 亚洲AV无码翔田千里网站| 久久午夜色播影院免费高清| 国产日韩美女小穴视频网站不卡| 熟女网站最新| 亚洲综合69| 91人精品妻入口| 亚洲啪啪视频一区二区| 久久三| 精品人妻一二三四区视频| 亚洲AV无码翔田千里网站| 亚洲欧美综合网站| 99这里有精品| 精品人妻一区二区三区视频| 96精品久久久久久久久| 熟女乱伦A| 农村妇女一级二级三级视频| 亚洲狼狼干综合1| 9 9无尺码天堂网| 日日骚av| 试看60秒 爽| 日韩成人人妻网站| 91爱| 久久久久久久九九九九| 九九AV| 欧美人妻制服| 婷婷色导航| 色优久久| 东北老女人的激情视频| daxiangjiao你懂的| 传媒在线观看一区二区三区| 七月婷婷综合| 国产亚州高清国产拍精| 精品超碰国产| 欧美亚洲韩国视频十五区| 日韩91网站| 国产一级内射无挡观看| 五月激情在线| 97er欧美性| 91精片| 户外裸露刺激视频第一区| 天天射网| 五月天久久人妻| 国产欧美成人第一页在线观看| 91九色首页| 色拍偷亚洲| 亚洲无无码αⅴ每日更新| 五月婷婷综合网| 色阁阁AV综合网| 成人26uuu| 男人的天堂亚洲| 中文区中文字幕免费看| 精品国产久热在线观看| 成人天天爽| 亚洲国产一区二区入口| 中美日韩毛片| 91欧美亚洲| 天天综合网~69| 亚洲色图一区二区三区| 亚洲高清无码免费观看视频| 97超碰超欧美。| 两性色网| 免费男人的天堂| 午夜福利视频在线一区| 人妖欧美一区二区| 色色色999| 91欧美综合| 超碰97资源大奶| 国产乱色国产精品免费视| 丝袜无码a片| 91人妻精华帖| 玖玖综合视频| 日韩三级久久久| 色y情视频免费看| 亚洲日韩欧美一区二区| 麻豆国产av网| 久久久久久久国产a∨| 亚洲最新a在线观看| 操操啪| 极品白嫩福利在线| 天天综合站| 大香蕉免费3| 777奇米影视777四色| 热99这里有精品综合久久 | 日韩综合无码色欲vv| 无卡一区=区| 亚洲人成色9999精品久久| 国产精品亚洲无码| 精品人妻一区二区免费蜜桃| 国产激情在线观看| 18啪啪手机免费性爱| 天天综合网久久ww| 一块操欧美性爱| 爱爱动态试试看6 0秒| 五月天婷婷欧美三区| 国产69精品久久久久99尤物| 丁香激情网| 国产精品嫩草影院免费| 亚洲欧美高清无码| 国产自偷| 亚洲综合 欧美| 91黑丝美女| 成人网欧美风情| 五月婷婷综合网| 国产超碰人人操| 日韩国产成人自拍视频| 久久久久久久九九九九九九| 七月丁香婷婷| 国产精品操| 久久久亚洲熟妇熟女| 久久这里只有精品9| 91精品导航| 啊啊啊久久| 91性网| 日本综合色图| 亚洲啪啪综合?v一区综合精品区| 亚洲午夜精品久久久中文影院| 曰本道人妻久久久在线不卡色视频| 麻豆伊人网| 在线情色电影 91大 | 97碰碰色| 国产97视频| 久久伊人最新网址视频| 欧美精品二区视频在线| 欧美AAAA黄片| 十八禁av无码免费网站APP| 天天看天天在线精品| 嫩草影院在线观看精品 | 欧美色图私拍91| 蘋果手機免費看成人Av| 亚洲精品乱码久久久久久蜜桃麻豆| 极品一区二区三区免费| 亚洲97精品| 強姦亂倫a| 欧美一级黄片免费播放| 久久久影院| 中文字幕乱偷人妻久久艾草网| 99999亚洲另类| 日韩一区二区精彩视频| 欧美日本一区二区a人| 亚洲有薄码区日本系列中文字幕| 第二页中文字幕| 久久精品成人| 欧美成人A√在线一区二区| www.av在线观看| 天天天天天超碰| 9Ⅰ老熟女| 综合久久婷婷| 后入式视频国产自| 精品久久久av| 校园春色亚洲| 老熟妇一区二区三区| 女人的天堂大香蕉网| 丝袜性亚洲| 欧美亚涩| 欧美黑人猛交春色影视大全| 久久欧美按摩999| 99自拍视频在线| 亚洲清纯综合| 黑操B| 一区二区三| 欧美亚洲玖玖玖| 眼镜人妻101.com| 情色av电影| h无码动漫在线观看| 嗯嗯啊啊的视频| 亚洲日本韩国在线| 欧美96交| 密桃99999| 无码一区免费在线不卡| 精品无码不卡视频| 亚洲色入欧美| 亚洲精品国产熟女| 97超碰碰碰| 日韩精品资源| 综合久久六月久久婷婷| 宗合情欲网| 亚洲色天| 欧美极品少妇交| 老熟乱一区二区三区四区| 日韩欧美aⅴ综合网站发布| 91xingse| 明星性猛交ⅹxxx乱大交| 99操碰| 日韩在线电影| 蜜桃视频精品一区二区| 成年无码动漫av片无尽在线 | 老熟女乱子伦中文字幕一区二区| 五月天成人综合| 搡老女人老91二区| 亚洲色图久久成人| 青青青青操国内视频在线| 久久露脸国产老熟女| 青青草好吊色| 九九热九九热| 天天艹天天日| 人妻五十路在线| 99热官网| 1769国内精品视频| 美腿色图| 亚洲成人性爱网站在线播放| 亚洲色性情三级| 中文字幕国产| 99精品无码| 国产 日韩 欧美 人妻 熟女 中文| 青青草国产欧美非洲黑人| 91天堂视频| 色牛牛AV| 色操逼网| 一区二区高清视频| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 极品色www影院| 99久在线精品99re8蜜桃| 成人综合网 欧美| 干干干天天| 亚洲精品一二牛牛| 色五月AV| 99re6在线视频播放免费精品| 亚洲人妻熟妇三十三区| 激情五月丁香五月| 中国zzijzzijzzwww精品| 3PAV乱伦视频| 欧美最婬乱婬爆婬牲视频| 亚洲老司机123专区| 日本熟妇熟色97一本在线观看| 久久受www免费人成| 91综合色噜噜| 凹凸视频在线一区二区| 久热热| 97超碰日韩| 亚洲色电影在线| 99热国产| 91青青在线视频| 99热18这里只有精品| 九九九影院| 夜夜 中文视频rt| 乱色老一区二区三区的观看方式 | 日韩人妻精品| 亚洲偷91色| 91精品国| 超碰欧美| 亚洲精品三区在线观看| 免费啪啪一级视频| 国产区91柔拿会所技师| 欧美中出1| 无码91| 97亚洲欧美日韩| 偷拍新久久| 外国免费性情大片| 日韩黄片影院| 精品人体无圣光凹凸| 国产高潮AA片免费看| 青青11操操操操操操操操| 久久成年精品| 夜夜做夜夜爽精品视频| 2017大香蕉| 搞中出久久| 五月综合激情网| 国产极品久久久| 91欧美情色| 日本狂喷奶水在线播放212| 亚洲一本大道中文字幕无码在线| 六九九九| 天天干人妻视频| 欧美gv在线观看| 激情五月天综合网| 国产五码丝袜屁眼| 大香蕉草草| 激情五月天视频| 四虎影视 亚洲无码| 日韩国产乱子伦App| 日韩欧美被操黄免费观看| 日本中文熟女视频| 久久国产对白激情浪潮 | 加勒比aⅴ| 91精品久久久久久综合五月天| 国产精品丝袜久久亚洲不卡| 26UUU欧美激情一区二区| 色av中文字| 黄久在线| 高清国产成人无码| 亚洲AV资源| gogogo免费高清看中国国语 | 99久久久无码国产精品性男| jiujiujiujingpin| 午夜激情成人在线观看| 天堂麻豆天美| 乱操乱伦AV| 亚州久久9| 中文字幕人成乱码熟女香港| 中文字幕亚洲欧美在线不卡| 欧美中出| 国产视频小说| 91成人在线免费视频| 麻豆色约约| 婷婷久久综合久| 9久精品| 后入式在线免费观看60秒| 亚洲无码免费看| 亚洲av无线观看| 亚洲欧美在线丝袜| 嗯嗯啊啊操死我| 黄色小视频日本txt| 超碰精品97| 秋霞男人网| AV综合中文字幕干| 欧美18老人禁| 亚洲无码日韩电影| 97日视频| 中文字幕视频在线观看一区二区| 影音先锋日本乱伦| 99久在线精品99re8蜜桃| 中文字幕视频2区| 色丁香五月婷婷| 国产最新小视频在线播放下载| 国产又大又粗又长视频| 99热 按摩 日韩| 91狠婷| 丁香啪啪| 婷婷六月色开| 操逼1区| 精品国产一区二区三区在线播出| 色吊丝 日日骚 清纯唯美| 成熟熟女国产精品一区二区| 3571色综合一区二区二区| 精品亚洲国产成人AV制服丝袜| AV乱伦专区| 91精品国产一区三一| 97伊人超碰| 另类图片五月天| 色综合超碰超| 一区二区三区四区在线不卡| 色爱综合网欧美| 爱干爱射网啊啊啊| 国产日本熟女顶级一区二区三区视频 | 夜色91| 亚州欧美色图| 9色国产精品一区粉嫩| 九九无码| 1级午夜影院费免区| 国产精品麻豆成人av| 搞中出久久| 国产自产自拍| 日韩欧美中文| 婷婷五月成人| 蜜臀va69| 欧美一二三| 中文字幕97| 黄色片一区二区三区四区五区| 夜草网站| 国产午夜激片Av毛片不卡| 国产超碰| 中文字幕老熟妇黄色视频| 国产精品。| 国产在线激情| 欧美色图 色综合图| 亚洲伊人a线观看视频| 在线中文字幕极品av| 婷婷色综合| 久久噜| 淫荡网址| 久久五月视频| 国产高清1234区| 后入式999| 国产粉嫩蜜臀av一区二区三区| 伊人久久艹| 啊啊啊操死我了| 一区二区娱乐网站| 97少妇人妻中文字幕久久| 两女互慰AV高潮喷水在线观看| 九九热九九热| 精品久久久久久中文字幕视频免费| 激情五月天婷婷| 久久人| 久久久精品国产亚洲伊人| 99久久久| 日韩精品区二区三区不卡| 亚洲精品乱码久久久久久蜜桃麻豆 | 第一高清av中文字幕| 91网站18+| 国内精品久久久久影院亚洲| 亚洲有薄码区久久在线一区| 日韩大香蕉| 夜色五月天| 蜜臀网址在线| 日韩999| 蜜桃臀一区二区三区久久| 欧美中文字幕日韩在线| 天天日老熟妇| 亚洲91色| 久久曰曰| 嫩草在线视频| 久久超碰98| 婷婷午夜成人色中色| 日韩人妻无码精品系列| 26uuu性| 国产欧美后入| 日本欧美亚洲高清在线看| 亚洲偷91色| 丁香色色网| 懂色Av| 怡春苑东京热| 国产高清无码一区二区三区四区皇冠| daxiangjiao你懂的| 五月婷久久| 午夜性生活av免费在线看| 96免费视频在线| 亚洲日韩国产欧美综合v| 91热热色| 日日干男人的天堂| 青青操狠狠撩| 亚洲一区在线观看欧洲| 成人黄页| 亚洲s在线观看| 加勒比在线视频一区二区三区| 99re99在线视频| 91 丝袜在线观看| 欧美中字二区| 欧美久久草熟女| 日本三级韩国三级99| 一区二区三区黄色片a| 男人的天堂1024| 密臀成人视频久久久| 好看的久久不射无码影视影院| 伊人久久88国产女| 全球成人中文在线| 操逼啊啊啊91| 二男一女成人A片| 88xx成人精品视频| 天天草天天日| 亚洲情色综合| 91精品国产91综合久久蜜臀| 78精品在线| 久久香蕉国产线看观看亚洲女人 | 亚洲第一视频 欧美风情 日韩| 高潮嗯啊性感美女久久久| 97欧美精品综合| 欧美色图片91| 91网站18在线| 亚州日韩97| 精品欧美日韩在线观看| 国产和美国毛片| 久久99干一本高清| 91久久婷婷| 91狠狠综| 性爱乱伦视频免费| 日韩 欧美 视频 在线 一区| 思思热影视| 91大学精品激情戏| 操人妻丝袜高跟| 热久久国产精品视频大陆精品| 中 文字幕一区二区三四 五 区日 日 骚| 自拍欧美| 俄罗斯及免费在线看| 九九精品无码专区免费| 欧美日本一区二区a人| 夜色五月天| 91五月天| 欧美精品三区| 麻豆天美91| 亚洲成?V人片在线观看福利| 女人爽到高潮潮喷18禁网站| 色香阁在线| 亚洲欲| 国产精品电影大全| 脫衣舞一区二区三区| 婷婷伊人网| 做爱福利视频一区二区| 国产精品禁久久久精品| 69国产对白刺激| 综合免费无码中文| 久久久99久9| AV久日| 国产高清视频无码在线| 亚洲高清无码免费观看视频| 日韩少妇丰满亚洲| 久久久青青草| 激情综合二| 狠狠躁天天躁日日躁| 久久一区二区三区四区五区| 日韩激情啪啪| 黄色不卡视频| 2017av无码免费无线播| 婷婷久久五月天| 好舒服视频| 欧美午夜视频免费观看| 精品国产嫩穴视频| 96精品久久| 五月丁香激情综合网| 九九九国产精品| 天天躁日日躁AAA片李宗瑞| 久热久操| 日韩美女啪啪一区| 91美女视屏| 欧美亚洲手机在线| 日本三级日本三级99| 深爱伊人影院| 免费AV播放| 亚洲色人阁| 69综合网| 日韩欧美aⅴ综合网站发布| 日韩美女高潮喷水视频| 手机看片日韩人妻| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 夜草网站| 91欧美美女日韩国产婷婷| 日本高清免费一本视频在线观看| 五月天伊人| 95自拍视频在线观看| 9.1小视频| 欧美内射少妇| 精品黑人一区二区| 青娱乐91| 长久操视频| 亚洲一二三精品久久网| 人人看人人摸人人色| 蜜臀一区二区三区在线| 女人天堂网| 精品一区二区麻豆| 你操综合| 在线 制服丝袜中出 人妻| 亚洲国产尤物yw在线观看| 国产精品免费久久久久久久久久| 97精品综合久久网| 亚洲男人天堂网久久| 欧美日韩夜夜| 九九综合| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 99色在线| 色狠狠综合| 日韩久久激情精品| 国产美女mm131爽爽爽爽| 日韩簧片免费看| av一区二区三区不卡| 免费成人自拍视频在线| 精品78| 国内一区二区免费| 久久免费9|