欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

STM32驅(qū)動DS1302實時時鐘:從時序模擬到定時開關實戰(zhàn)

STM32驅(qū)動DS1302實時時鐘:從時序模擬到定時開關實戰(zhàn) 1. 為什么還要折騰 DS1302 這顆老芯片前陣子幫朋友做一個帶定時開關的控制器主控用的是 STM32F103C8T6 最小系統(tǒng)板需求很簡單每天固定時間點觸發(fā)繼電器斷電重啟后時間不能丟。第一反應肯定是上 DS3231溫補晶振、I2C 接口、精度高但翻了下手頭的元件盒DS3231 模塊用完了倒是翻出來幾顆當年買錯的 DS1302 直插芯片和配套的 32.768kHz 晶振。想著反正精度要求不高一天誤差幾秒也能接受就干脆用 DS1302 把這事做了。DS1302 這顆芯片玩過 51 單片機的人基本都認識屬于那種入門必點的外設。它用的是三線串行接口嚴格說不是標準 SPI也不是 I2C而是自己的一套時序協(xié)議一根 CE有的資料叫 RST、一根 SCLK、一根雙向 IO。正因為時序是自己定義的所以移植到 STM32 上不能直接套用硬件 SPI 或 I2C 外設得老老實實用 GPIO 模擬時序。這也是很多人第一次在 STM32 上驅(qū)動 DS1302 時踩坑的地方——習慣了 HAL 庫一把梭突然要自己數(shù)微秒節(jié)奏就亂了。這篇筆記就是把我從接線、寫時序、調(diào)讀寫、處理 BCD 碼到最終跑通定時功能的完整過程整理出來。內(nèi)容偏向?qū)嵅俅a基于 STM32 HAL 庫但時序邏輯是通用的換成標準庫或者別的 Cortex-M 芯片改改 GPIO 操作就能用。適合兩類人看一類是剛接觸 STM32、想找個簡單外設練手時序操作的新手另一類是手頭正好有 DS1302 庫存、想快速把它用起來的老玩家。我會把每個關鍵決策背后的原因講清楚比如為什么上拉電阻不能省、為什么寫保護要先關、為什么讀出來的秒要屏蔽最高位這些細節(jié)文檔里往往一筆帶過但實際調(diào)試時全是坑。2. DS1302 到底是個什么東西先把原理捋順2.1 三線接口的本質(zhì)不是 SPI 也不是 I2C很多人看到 DS1302 三根線第一反應是這不就是 SPI 嗎。其實差得遠。標準 SPI 有明確的 CPOL/CPHA 四種模式主機在時鐘邊沿采樣從機在另一個邊沿輸出而且 SPI 是主機驅(qū)動時鐘、數(shù)據(jù)全雙工。DS1302 的協(xié)議更原始它把一次通信拆成命令字節(jié) 數(shù)據(jù)字節(jié)兩個階段命令字節(jié)固定從 bit0 開始發(fā)數(shù)據(jù)字節(jié)則是 bit0 先發(fā)還是 bit7 先發(fā)取決于讀還是寫。具體來說DS1302 的通信規(guī)則是這樣的CE 拉高之后SCLK 上升沿把數(shù)據(jù)寫進芯片下降沿把數(shù)據(jù)從芯片讀出來。注意這里有個容易搞混的點——寫的時候是上升沿采樣讀的時候是下降沿輸出。所以你在寫時序函數(shù)的時候如果是寫操作先準備好 IO 電平再拉高 SCLK如果是讀操作先拉低 SCLK再去讀 IO 電平。這個順序反了讀出來的數(shù)據(jù)就是亂的。命令字節(jié)的格式也值得說一下。bit7 固定是 1表示使能訪問bit6 是 RAM 還是 CLOCK 的選擇0 表示時鐘寄存器1 表示 RAMbit1 到 bit5 是寄存器地址bit0 是讀寫位0 寫 1 讀。舉個例子要寫秒寄存器地址 0x80命令字節(jié)就是 0x80要讀秒寄存器命令字節(jié)就是 0x81。這個規(guī)律記住之后后面所有寄存器的操作都能推出來。2.2 寄存器地圖哪些能用哪些別碰DS1302 的時鐘寄存器一共 8 個地址從 0x80 到 0x8E全是偶地址寫讀的時候地址加 1。我整理了一張表把常用寄存器的位定義列出來方便對照寄存器寫地址讀地址bit7bit6bit5bit4bit3bit2bit1bit0秒0x800x81CH10秒秒個位分0x820x83010分分個位時0x840x85012/2410時/PM時個位日0x860x8700010日日個位月0x880x8900010月月個位周0x8A0x8B00000周年0x8C0x8D10年年個位寫保護0x8E0x8FWP0000000這里有幾個關鍵位必須注意。秒寄存器的 bit7 是 CH 位Clock Halt上電默認是 1意思是時鐘停止。你如果只寫了時間沒清這個位會發(fā)現(xiàn)時間根本不走讀出來永遠是那個值。我第一次調(diào)的時候就栽在這盯著串口打印的固定時間看了半天以為是晶振沒起振換了兩個晶振才發(fā)現(xiàn)是 CH 位沒清。寫保護寄存器 0x8E 的 bit7 是 WP 位上電默認是 1表示寫保護開啟這時候你往任何時鐘寄存器寫數(shù)據(jù)都會被忽略。所以標準流程是先寫 0x8E 寫 0x00 關保護改完時間再寫 0x8E 寫 0x80 開保護。這個順序不能省省了就會出現(xiàn)寫進去讀出來還是舊值的詭異現(xiàn)象。2.3 備用電池和晶振硬件上最容易翻車的兩個點DS1302 有個 VCC1 和 VCC2 雙電源引腳VCC1 接備用電池VCC2 接主電源。芯片內(nèi)部有個電源檢測電路主電源掉電時自動切到電池保證時鐘繼續(xù)走。這里有個細節(jié)電池電壓要低于主電源電壓否則芯片可能判斷不出主電源掉電一直用電池供電反而加速電池消耗。一般用 3V 的 CR2032 紐扣電池主電源 3.3V壓差剛好合適。晶振這塊DS1302 要求外接 32.768kHz 晶振而且對負載電容有要求。市面上常見的圓柱形晶振負載電容一般是 6pF 或 12.5pF你得配對應的電容。我手頭那批晶振是 6pF 的一開始隨手焊了兩個 22pF 的電容上去結果時間走得明顯偏慢一天能差十幾秒。后來查了晶振規(guī)格書換成兩個 6pF 的電容誤差就降到一天兩三秒了。如果你對精度有要求建議直接上 DS3231省得跟電容較勁。另外DS1302 的 IO 引腳是開漏輸出必須接上拉電阻一般 4.7k 到 10k 都行。我習慣用 4.7k上升沿更陡一點時序更穩(wěn)。有些模塊板子上已經(jīng)集成了上拉電阻如果你是自己畫板子千萬別忘了這三個電阻否則讀出來的數(shù)據(jù)全是 0xFF。3. 硬件接線與工程搭建3.1 接線方案三根信號線怎么分配我用的 STM32F103C8T6 最小系統(tǒng)板DS1302 模塊是那種帶電池座的小板子。接線如下DS1302 引腳STM32 引腳說明VCC23.3V主電源VCC1CR2032 正極備用電池GNDGND共地CEPA4片選/復位SCLKPA5串行時鐘IOPA6雙向數(shù)據(jù)X1/X232.768kHz 晶振晶振引腳這里 CE、SCLK、IO 我選了 PA4、PA5、PA6其實隨便選三個普通 GPIO 都行只要不是那種有特殊功能的引腳比如 JTAG 占用的 PA13/PA14/PA15。選 PA4 到 PA6 純粹是因為它們挨著接線方便而且不跟串口沖突調(diào)試的時候能用串口打印時間。IO 引腳要注意配置成開漏輸出加外部上拉或者配置成推挽輸出但在讀的時候切換成輸入模式。我兩種都試過開漏加外部上拉更省事不用來回切模式代碼也簡潔。如果你板子上沒有外部上拉那就得在代碼里動態(tài)切換輸入輸出方向稍微麻煩一點。3.2 工程配置CubeMX 里怎么點用 CubeMX 配置的話PA4、PA5 配成 GPIO_OutputPA6 配成 GPIO_Output 開漏模式Output Open Drain上拉使能。時鐘樹按默認的 72MHz 配就行DS1302 的時序?qū)χ黝l不敏感因為我們是靠軟件延時控制節(jié)奏的。延時函數(shù)這塊我直接用 HAL 庫的HAL_Delay()做毫秒級延時微秒級延時用__NOP()循環(huán)湊。DS1302 的時序要求其實很寬松SCLK 最高頻率 2MHz也就是周期 500ns我們只要保證每個電平保持個一兩微秒就絕對安全。所以微秒延時不用太精確用循環(huán)空轉(zhuǎn)就行。void ds1302_delay_us(uint16_t us) { while (us--) { __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); } }這個延時函數(shù)在 72MHz 下大概每個循環(huán) 1 微秒左右不用精確到納秒因為 DS1302 對時序的容忍度很高。我實測過就算延時翻倍或者減半讀寫照樣正常。3.3 引腳宏定義方便移植的寫法為了讓代碼好移植我把引腳操作都封裝成宏#define DS1302_CE_PORT GPIOA #define DS1302_CE_PIN GPIO_PIN_4 #define DS1302_SCLK_PORT GPIOA #define DS1302_SCLK_PIN GPIO_PIN_5 #define DS1302_IO_PORT GPIOA #define DS1302_IO_PIN GPIO_PIN_6 #define DS1302_CE_HIGH() HAL_GPIO_WritePin(DS1302_CE_PORT, DS1302_CE_PIN, GPIO_PIN_SET) #define DS1302_CE_LOW() HAL_GPIO_WritePin(DS1302_CE_PORT, DS1302_CE_PIN, GPIO_PIN_RESET) #define DS1302_SCLK_HIGH() HAL_GPIO_WritePin(DS1302_SCLK_PORT, DS1302_SCLK_PIN, GPIO_PIN_SET) #define DS1302_SCLK_LOW() HAL_GPIO_WritePin(DS1302_SCLK_PORT, DS1302_SCLK_PIN, GPIO_PIN_RESET) #define DS1302_IO_HIGH() HAL_GPIO_WritePin(DS1302_IO_PORT, DS1302_IO_PIN, GPIO_PIN_SET) #define DS1302_IO_LOW() HAL_GPIO_WritePin(DS1302_IO_PORT, DS1302_IO_PIN, GPIO_PIN_RESET) #define DS1302_IO_READ() HAL_GPIO_ReadPin(DS1302_IO_PORT, DS1302_IO_PIN)這樣寫的好處是換芯片或者換引腳的時候只改這幾個宏就行底層時序函數(shù)一行都不用動。我后來把這個驅(qū)動移植到另一塊 GD32 的板子上就花了五分鐘改宏定義。4. 時序代碼逐行拆解4.1 寫一個字節(jié)從 bit0 開始上升沿有效DS1302 寫字節(jié)的規(guī)則是從 bit0 開始每次把數(shù)據(jù)放到 IO 上然后拉高 SCLK再拉低 SCLK循環(huán) 8 次。注意命令字節(jié)和數(shù)據(jù)字節(jié)都是 bit0 先發(fā)這點跟 SPI 的 MSB first 不一樣別搞混了。void ds1302_write_byte(uint8_t dat) { uint8_t i; for (i 0; i 8; i) { if (dat 0x01) DS1302_IO_HIGH(); else DS1302_IO_LOW(); ds1302_delay_us(1); DS1302_SCLK_HIGH(); ds1302_delay_us(1); DS1302_SCLK_LOW(); ds1302_delay_us(1); dat 1; } }這段代碼里dat 0x01取最低位然后右移保證下一次取的是新的最低位。延時放在拉高 SCLK 之前和之后是為了滿足建立時間和保持時間。DS1302 的建立時間要求是 50ns保持時間也是 50ns我們延時 1 微秒余量足夠大。4.2 讀一個字節(jié)下降沿之后采樣讀字節(jié)的規(guī)則稍微繞一點DS1302 在 SCLK 下降沿把數(shù)據(jù)輸出到 IO 上所以我們要先拉低 SCLK等一會兒再去讀 IO 電平。注意讀的時候也是從 bit0 開始讀到的第一位要放到變量的 bit0 位置。uint8_t ds1302_read_byte(void) { uint8_t i, dat 0; for (i 0; i 8; i) { dat 1; if (DS1302_IO_READ()) dat | 0x80; DS1302_SCLK_HIGH(); ds1302_delay_us(1); DS1302_SCLK_LOW(); ds1302_delay_us(1); } return dat; }這里有個細節(jié)dat 1放在讀之前然后如果讀到 1 就dat | 0x80。這樣第一次讀到的位最終會落在 bit0第二次落在 bit1以此類推。如果你寫成先讀再移位順序就反了讀出來的數(shù)據(jù)是 bit 倒序的。我第一次寫的時候就是先讀后移結果讀出來的秒是 0x80 而不是 0x01查了半天才發(fā)現(xiàn)是移位順序錯了。4.3 寫寄存器命令字節(jié)加數(shù)據(jù)字節(jié)寫寄存器的流程是CE 拉高發(fā)命令字節(jié)發(fā)數(shù)據(jù)字節(jié)CE 拉低。CE 拉低之后一次通信結束。注意 CE 拉高之后要先延時一小會兒再發(fā)第一個字節(jié)給芯片一點準備時間。void ds1302_write_reg(uint8_t cmd, uint8_t dat) { DS1302_CE_LOW(); DS1302_SCLK_LOW(); DS1302_CE_HIGH(); ds1302_delay_us(2); ds1302_write_byte(cmd); ds1302_write_byte(dat); DS1302_CE_LOW(); ds1302_delay_us(2); }CE 拉低的時候順便把 SCLK 也拉低這是個好習慣保證下次通信從已知狀態(tài)開始。有些資料說 CE 拉低之后 SCLK 要保持低電平其實拉低 CE 之后芯片內(nèi)部會復位時序SCLK 什么狀態(tài)無所謂但統(tǒng)一拉低更規(guī)范。4.4 讀寄存器注意命令字節(jié)的 bit0 要置 1讀寄存器的命令字節(jié)是寫命令字節(jié)加 1也就是 bit0 從 0 變 1。比如讀秒寄存器寫命令是 0x80讀命令就是 0x81。讀的時候發(fā)完命令字節(jié)之后IO 要切換成輸入模式如果用的是開漏加外部上拉就不用切直接讀就行。uint8_t ds1302_read_reg(uint8_t cmd) { uint8_t dat; DS1302_CE_LOW(); DS1302_SCLK_LOW(); DS1302_CE_HIGH(); ds1302_delay_us(2); ds1302_write_byte(cmd); dat ds1302_read_byte(); DS1302_CE_LOW(); ds1302_delay_us(2); return dat; }如果你用的是推挽輸出模式讀之前要把 IO 引腳切成輸入模式讀完之后再切回輸出。我一開始用推挽讀出來的數(shù)據(jù)全是 0xFF就是因為 IO 還在輸出模式芯片輸出的數(shù)據(jù)和 MCU 輸出的電平打架了。后來改成開漏加外部上拉這個問題就沒了。5. BCD 碼轉(zhuǎn)換與時間讀寫5.1 BCD 碼為什么 0x23 表示 23DS1302 內(nèi)部所有時間寄存器都是 BCD 碼格式也就是用 4 個二進制位表示一個十進制數(shù)字。比如秒寄存器讀到 0x23不是十進制的 35而是表示 23 秒。高 4 位是十位低 4 位是個位。這種格式在早期 RTC 芯片里很常見因為用 BCD 碼做十進制顯示的時候不用做除法。轉(zhuǎn)換公式很簡單uint8_t bcd_to_dec(uint8_t bcd) { return (bcd 4) * 10 (bcd 0x0F); } uint8_t dec_to_bcd(uint8_t dec) { return ((dec / 10) 4) | (dec % 10); }比如 0x23 轉(zhuǎn)十進制高 4 位是 2乘以 10 得 20低 4 位是 3加起來 23。反過來 23 轉(zhuǎn) BCD23 除以 10 得 2左移 4 位變成 0x2023 模 10 得 3或上去就是 0x23。5.2 設置時間先關寫保護再清 CH 位設置時間的完整流程是這樣的先關寫保護然后依次寫秒、分、時、日、月、周、年最后開寫保護。注意寫秒的時候要把 CH 位清零否則時鐘不走。void ds1302_set_time(uint8_t year, uint8_t month, uint8_t day, uint8_t week, uint8_t hour, uint8_t min, uint8_t sec) { ds1302_write_reg(0x8E, 0x00); // 關寫保護 ds1302_write_reg(0x80, dec_to_bcd(sec) 0x7F); // 秒清CH位 ds1302_write_reg(0x82, dec_to_bcd(min)); // 分 ds1302_write_reg(0x84, dec_to_bcd(hour)); // 時24小時制 ds1302_write_reg(0x86, dec_to_bcd(day)); // 日 ds1302_write_reg(0x88, dec_to_bcd(month)); // 月 ds1302_write_reg(0x8A, dec_to_bcd(week)); // 周 ds1302_write_reg(0x8C, dec_to_bcd(year)); // 年 ds1302_write_reg(0x8E, 0x80); // 開寫保護 }這里dec_to_bcd(sec) 0x7F是為了確保 CH 位是 0。如果你寫的時間秒數(shù)是奇數(shù)比如 23 秒dec_to_bcd(23)得到 0x23最高位本來就是 0與 0x7F 之后還是 0x23。但如果之前 CH 位是 1這個與操作就能把它清掉。5.3 讀取時間秒寄存器要屏蔽 CH 位讀時間的時候秒寄存器的最高位是 CH 位不是時間數(shù)據(jù)所以要屏蔽掉。其他寄存器直接轉(zhuǎn) BCD 就行。void ds1302_get_time(uint8_t *year, uint8_t *month, uint8_t *day, uint8_t *week, uint8_t *hour, uint8_t *min, uint8_t *sec) { *sec bcd_to_dec(ds1302_read_reg(0x81) 0x7F); *min bcd_to_dec(ds1302_read_reg(0x83)); *hour bcd_to_dec(ds1302_read_reg(0x85) 0x3F); *day bcd_to_dec(ds1302_read_reg(0x87) 0x3F); *month bcd_to_dec(ds1302_read_reg(0x89) 0x1F); *week bcd_to_dec(ds1302_read_reg(0x8B) 0x07); *year bcd_to_dec(ds1302_read_reg(0x8D)); }小時寄存器我屏蔽了 bit6 和 bit7因為 bit7 是 12/24 小時制選擇位bit6 在 12 小時制下是 AM/PM 標志。我們統(tǒng)一用 24 小時制所以把高兩位都屏蔽掉。日寄存器屏蔽 bit6 和 bit7月寄存器屏蔽 bit5 到 bit7周寄存器屏蔽 bit3 到 bit7這些都是保留位讀出來可能是隨機值屏蔽掉更安全。6. 調(diào)試過程中踩過的坑和排查方法6.1 讀出來全是 0xFF 或者 0x00這是最常見的問題基本可以鎖定三個原因。第一上拉電阻沒接或者阻值太大IO 線在空閑時處于浮空狀態(tài)讀出來就是隨機的。用萬用表量一下 IO 線對 VCC 的電阻正常應該是 4.7k 左右。第二CE 引腳沒有正確拉高芯片根本沒被選中。用示波器看 CE 波形發(fā)命令的時候應該是高電平。第三晶振沒起振芯片內(nèi)部時鐘停了這時候讀寄存器可能返回默認值。拿示波器探頭碰一下晶振引腳能看到 32.768kHz 的正弦波就說明起振了。我遇到過一次讀出來全是 0xFF查了半天發(fā)現(xiàn)是 IO 引腳配置成了推挽輸出讀的時候沒切成輸入MCU 和 DS1302 在 IO 線上打架。改成開漏加外部上拉之后問題消失。6.2 時間不走讀出來永遠是設定值這個基本就是 CH 位沒清。DS1302 上電默認 CH1時鐘停止。你寫時間的時候如果只寫了秒數(shù)據(jù)沒清 CH 位芯片就一直在暫停狀態(tài)。解決辦法就是在寫秒寄存器的時候確保最高位是 0。我習慣用 0x7F強制清零這樣不管之前 CH 是什么狀態(tài)寫完之后一定是走的。還有一種可能是寫保護沒關。DS1302 上電默認 WP1所有寫操作都被忽略。你寫進去的數(shù)據(jù)實際上沒生效讀出來還是舊值。標準流程是先寫 0x8E 寫 0x00再寫時間最后寫 0x8E 寫 0x80。這個順序不能亂。6.3 時間走得快或者走得慢如果一天誤差在幾秒以內(nèi)那是晶振精度問題正常。DS1302 配普通晶振一天差個三五秒很常見。如果一天差幾十秒甚至幾分鐘那就要檢查負載電容了。晶振規(guī)格書上的負載電容值要跟實際焊接的電容匹配6pF 的晶振配 6pF 的電容12.5pF 的晶振配 12.5pF 的電容。電容大了走得慢電容小了走得快。另外晶振的走線要盡量短遠離高頻信號線。我有一次把晶振線布在了 SPI 時鐘線旁邊時間走得亂七八糟后來重新布線就好了。如果對精度要求高建議直接換 DS3231內(nèi)置溫補晶振一年誤差也就幾分鐘。6.4 常見問題速查表現(xiàn)象可能原因排查方法解決辦法讀出全 0xFFIO 無上拉量 IO 對 VCC 電阻加 4.7k 上拉讀出全 0x00CE 未拉高示波器看 CE 波形檢查 CE 宏定義時間不走CH 位為 1讀秒寄存器看 bit7寫秒時 0x7F寫入無效寫保護未關讀 0x8E 看 bit7先寫 0x00 關保護時間偏差大負載電容不匹配查晶振規(guī)格書換匹配電容數(shù)據(jù)亂跳時序太快加大延時延時加到 2us偶爾讀錯電源不穩(wěn)量 VCC 紋波加 0.1uF 去耦7. 從驅(qū)動到應用定時開關的完整實現(xiàn)7.1 每秒讀一次時間比較觸發(fā)條件驅(qū)動調(diào)通之后應用邏輯就簡單了。我在主循環(huán)里每 500ms 讀一次時間然后跟設定的觸發(fā)時間比較。如果時和分都匹配就觸發(fā)繼電器同時記錄一個標志位防止同一分鐘內(nèi)重復觸發(fā)。uint8_t last_min 0xFF; while (1) { uint8_t year, month, day, week, hour, min, sec; ds1302_get_time(year, month, day, week, hour, min, sec); if (min ! last_min) { last_min min; if (hour target_hour min target_min) { relay_on(); HAL_Delay(1000); relay_off(); } } HAL_Delay(500); }這里用last_min做去重保證一分鐘只觸發(fā)一次。如果你需要觸發(fā)多個時間點可以搞個數(shù)組遍歷比較。7.2 掉電恢復電池供電下的時間保持DS1302 接上 CR2032 之后主電源掉電時芯片自動切到電池時鐘繼續(xù)走。我實測過拔掉主電源放了一晚上第二天上電讀出來的時間還是準的誤差在正常范圍內(nèi)。注意電池正極接 VCC1負極接 GND別接反了。CR2032 的壽命大概兩三年如果發(fā)現(xiàn)掉電后時間丟失先量一下電池電壓低于 2.5V 就該換了。7.3 精度優(yōu)化軟件補償?shù)乃悸啡绻悴幌霌Q DS3231又想讓 DS1302 準一點可以在軟件里做補償。具體做法是先讓 DS1302 跑一天記錄誤差比如一天快 5 秒那就在每天固定時間點把秒數(shù)減 5。這個補償邏輯可以放在主循環(huán)里每天執(zhí)行一次。不過這種方法比較粗糙適合對精度要求不高的場景。真要高精度還是建議上溫補晶振的方案。8. 代碼組織與移植建議8.1 文件劃分驅(qū)動層和應用層分開我習慣把 DS1302 的驅(qū)動單獨放在ds1302.c和ds1302.h里只暴露ds1302_init()、ds1302_set_time()、ds1302_get_time()三個接口。應用層的定時邏輯放在main.c里這樣換項目的時候驅(qū)動直接復制過去就能用。頭文件里只放函數(shù)聲明和必要的宏具體的引腳定義放在源文件里或者用條件編譯區(qū)分不同板子。我一般會在頭文件里留一個DS1302_USE_OPEN_DRAIN的宏用來切換開漏和推挽模式方便適配不同硬件。8.2 移植到其他平臺改三個地方就行這套代碼移植到別的平臺比如 GD32、ESP32 或者 51 單片機只需要改三個地方GPIO 操作宏、微秒延時函數(shù)、初始化函數(shù)里的 GPIO 配置。時序邏輯本身是純軟件模擬的跟硬件平臺無關。我把它移植到 GD32F103 上的時候就改了宏定義和延時函數(shù)編譯下載直接就跑起來了。如果你用的是 RTOS注意 DS1302 的讀寫操作不要被打斷否則時序會亂??梢栽谧x寫前后關中斷或者用互斥鎖保護。我一般是在ds1302_write_reg和ds1302_read_reg里關中斷操作完再開這樣最省事。9. 一些零散但有用的經(jīng)驗DS1302 的 IO 引腳在 CE 拉低之后會變成高阻態(tài)這時候如果外部上拉電阻太大IO 線上的電平可能會慢慢漂移。我試過用 10k 上拉發(fā)現(xiàn)讀數(shù)據(jù)偶爾會出錯換成 4.7k 之后就穩(wěn)了。所以上拉電阻別省4.7k 是個比較穩(wěn)妥的值。寫命令字節(jié)的時候bit7 必須是 1這個位叫使能位。如果你不小心寫成了 0芯片會忽略整個命令。我一開始看資料沒注意這個細節(jié)命令字節(jié)直接寫寄存器地址結果怎么都不對。后來才發(fā)現(xiàn)地址要或上 0x80 才是完整的命令字節(jié)。DS1302 的 RAM 寄存器地址 0xC0 到 0xFD可以當普通存儲器用掉電不丟數(shù)據(jù)有電池的情況下。我有時候會拿它存一些配置參數(shù)比如觸發(fā)時間、設備編號之類的省得外掛 EEPROM。不過 RAM 容量只有 31 字節(jié)存不了太多東西。最后說一個調(diào)試技巧如果你手頭沒有示波器可以用 LED 來粗略判斷時序。在ds1302_write_byte里每發(fā)一位就翻轉(zhuǎn)一次 LED如果 LED 閃爍頻率均勻說明時序在跑如果 LED 常亮或者常滅說明程序卡在某個循環(huán)里了。這個方法雖然土但應急的時候挺好用。這個 DS1302 的驅(qū)動我從第一次調(diào)通到現(xiàn)在已經(jīng)在好幾個小項目里復用了每次都是復制粘貼改引腳十分鐘搞定。雖然芯片老但勝在便宜、好買、資料多對于精度要求不高的場景完全夠用。如果你也在用這顆芯片希望這篇筆記能幫你少走點彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲操人| 亚洲人妻Av| 五月丁香狠狠爱婷婷综合| 九九这里有精品| 六月婷婷俺也去| 日本欧美成人片AAAA| 国产噜一噜天天噜| 欧美日韩婷婷五月天| 色女伊人| 91狠狠综合久久| 在线播放成人网站| 午夜色丁香| 丁香婷婷六月天| 丁香激情五月天| 影音先锋偷偷色男人站| 丁香综合伊人| 欧美一线视频| 色五月亚洲| 免费99情趣网视频| 丁香五月天在线观看| 99热超| 五月丁香婷婷免费视频| 五月丁香激情综合啪| 欧美槡BBBB槡BBB少妇| 五月天激情综合10p| 久9热插入| 九色91视频| 天天五月丁香五月| 九97免费视频| 99在线免费观看| 激情五月天色爱| 日本欧特黄色刺激一区影视久精品无码| 97色在线观看视频| 99re这里只有精品首页| 99re热在线视频| 99热这里只有精| 婷婷五月伦理| 99热最新地址在线| 成人色图情色成人网 www.5b5b5bcom 五月天 | 狠狠色网| 日本欧美成人片AAAA| 久久激情五月网| 天天综合五月| 婷婷色综合中心站| 噜噜在线| 伊人狠狠丁香婷婷综合尤物| 五月婷婷激情四月| www.激情在线| 日本天堂爱爱| 久热精彩视频98| 婷婷综合| WWW,五月| 婷婷五月天天天| 六月丁香婷婷拍拍| 国产成人在线不卡AV| 国产69久久久欧美黑人A片| 四色五月婷婷在线观看| 激情婷婷五月天伊人在线观看| 婷婷五月在线| 国产真实乱了老女人视频| 久久WW| 欧美毛片www| 久久久久久久久久久44| 亚洲无码 图片区| 91人人网| 超碰资源在线| 欧美一级操逼视频| 成人丁香婷婷五月天| 99热99干| 激情五月色婷婷| 丁香婷婷狠狠97| 日韩成人av在线| 五月天激情图| 天天日日天天| 婷婷八月激情| 超碰在线看| www.色色com| 性一交一乱一交A片久| 色色五月婷婷久久| 五月天综合| 色婷婷AV五月天| 久久婷婷五月综合| 97综合在线| 888久久久| www.色五月| 色色性爱视频| 日日夜夜婷婷| 超碰超碰在线| 丁香五月综合婷婷| 丁香花五月天激情| 超碰成人电影| 日韩人妻无码专区| 久久九九视频网站| 日本久久天堂| 久久99综合| 狠狠色丁香久久| 色亭亭九月| 亚洲精品又粗又大又爽A片 | 成熟妇人A片免费看网站| 色播五月丁香婷婷| 亚洲成人五月天| 久久与婷婷| 激情五月综合网最新| 97五月婷婷| 91干视频| 无码啪啪| 色播综合| 欧美狠狠一在草| 五月婷激情影院| 色婷婷玖玖影院| 久草婷| 中字幕视频在线永久在线观看免费 | 午夜婷婷久久| 久久激情五月婷婷| 在线播放中文字幕| 久久人人妻| 欧美色色色| 五月丁香自拍| 狠狠综合网| 99热99久久| 久久综合婷婷五月| 天天爽成人综合网站| 91人人网| 丁香蜜臀黄色婷婷五月天| 精品成人久久久久久久_一二三四视| 影音先锋91| 婷婷中文字幕在线| 人人综合久| 99re热在线观看| 婷婷五月天中文字幕| 久久久久久久久久久久63| 激情五月天情色| 五月丁香婷婷激情爱爱| 九月婷婷综合网| 六月久久婷婷| 色五月激情问网站| 婷婷免费成人视频| 99久热在线精品| 丁香五月天在线视频| 综合激情五月丁香9999久久精| 美女五月天婷婷| 99re思思在线视频| 成 人 色 色| 亚洲综合婷婷六月丁香五月| 狠狠干综合网| 99热在线观看| 毛v一区二区视频| 国产精品美女| 在线观看五月婷婷网| 538在线| 婷婷涩涩网| 亚洲色欲AAAAAA| 五月丁香激情在线| 麻豆雪千夏| 人妻综合网| 五月丁香婷婷综合在线| 亚洲AV网址| 九九久久99| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 久久在线视频免费观看| 日韩精品99久久| 九九干视频| 美女黄频aⅴ视频| 色色免费网站| 天天色色婷婷| 六月婷婷色色色| 97色婷| 97人人射| 99色| 五月色导航| 五月草影视| 久色大| 天天弄天天操| 激情五月婷婷啪啪| 嫩草综合网| 自拍盗摄 另类| 五月丁香婷草| 国产高清av黄色看片| 丁香五月黄色| 开心日韩丁香婷婷五月| 丁香五月网址| 婷婷在线日韩综合| 99久久亚洲精品视频| www天天干| 激情丁香五月婷婷| 69超碰在线| 色五月婷婷激情基地| 色99在线| 在线99色| 九九热短视频在线观看| 99色婷婷视频| 日本久久极品| 五月丁香久久综合精品| 久久综合婷婷| 婷婷自拍| 色噜综| 久久久99久久| 亚洲性爱AV| 九九成人精品免费视频| 真实亲子乱子伦高清在线观看| 五月色亚洲| 夜色.cnm| 丁香五月激情视频在线| 婷婷综合五月| 欧美久久婷婷| 九九激情| 久99久视频精品| 色情综合| 97超碰在线免费观看| 秋霞免费视频| 婷婷丁香人妻天久久| 久久人妻视步| A短视频免费在线观看| 色哟哟精品| 婷婷亚洲在线| 免费看欧美成人A片无码| 六月婷婷视频| 亚洲色在线观看| 91狠狠色丁香婷婷综合久久| 99久久9| 国产无套精品一区二区| 日本色色视频| 超碰操日| 亚洲人人干| 99在线观看| 牛牛色av| 婷婷五月天第三页| www.com在线操视频免费观看| 九九热在线亚洲免费视频| 五月婷婷丁香五月天| 国产精品18久久久| 婷婷五月天激情综合| 91超级碰碰碰| 超碰99热| 天天狠狠夜夜狠狠2023| 色墦五月丁香| 日韩视频99| 99热欧美偷拍| 久久久99免费视频| 精品99在线| 九九在线精点品| 丁香操逼| 色五月婷婷五月天激情综合| 久久综合图片| 天天色天天爱天天爱天天爱y| 被强行糟蹋的女人A片| 开心五月婷婷五月| 九九热在线视频| 91色久| 夜夜资源站| 久七香蕉| 自拍偷窥99热| 91色久| 色婷婷AAA| 人妻久热| 五月丁香色色网| 99色视频在线| 久久杏爱视频| 久久婷婷青青草| 日在线V视频在线播放| 国产精品美女久久久久AV超清 | 天天爽天天摸| 综合久久综合综合| 色日本综合| 亚洲性视频| 婷婷刺激综合| 日韩欧美颜射| 国产成人精品亚洲线观看| 久久这里面只有精品视频| 五月天开心激情综合网| 九九成人高清视频| 五月婷婷 激情按摩| 天天干天天色天天干| 九七色色六月丁香| 久久只有18视频| 五月天AV大香蕉| 另类小说五月天| 激情五月婷| www.婷婷五月天.com| www.99日本| 一区二区成人电影| 九九这里有精品视频| 五月婷视频| 欧美熟女乱又伦| 天天综合区| 五月天婷婷婷| 久久XX| 日本精品久久久久中文字幕| 先锋av性爱成人电影| 精品热九九| 天天操天天曰| www.婷婷六月天| 五月丁香天天| 久热婷婷在线视频| www激情| 99激| 婷婷五月天丁香成人社区| 开心五月深爱五月| 99热福利| 丁香激情综合| 久热人妻| 丁香五月婷婷成人网| 久久丁香婷| 久热免费视频| 99惹| 色综合色婷色基地| www色色com| 五月天激情开心网| 婷婷五月丁香综合| 性爱网五月婷婷| 综合色播| 午夜精品777| 色五月大香蕉婷婷| 91狠狠色丁香婷婷综合久久| 激情五月影院| 综合色天天| 97操男人的天堂| 在线婷婷| 九九爱激情| www.五月婷婷.com| 九九九激情网| 97色色综合| 狠色狠色综合久久| jiujiu热在线视频| 久久一操| 亚洲乱码日产精品BD| 天天精品视频免费观看| 99热久久这里只有精品| 久久婷婷亚洲无码一起| 99精彩视频在线观看| 色五月婷婷伊人| 九九热免费视频| 色色色色色网站| 婷婷五月丁香久久| 2013AV天堂| 99噜噜噜在线播放| 色五月激情| 婷婷性爱无码视频| 看婷婷五月天网| 亚洲成人av在线观看| 激情六月综合| 夜色综合网| 伊人超碰| 五月婷婷婷| 激情五月天在线视频| 操嫩逼电影| 超级碰碰91| 丰满少妇猛烈A片免费看观看| 九色91视频| 人人人操97| 婷婷伊人綜合中文字幕小说| 免费看片操逼| 九九99热精品| 江苏少妇性BBB搡BBB爽爽爽| 亚洲激情五月| 99热99久久| 丁香六月亚洲综合| 丁香激情合作五月| 婷婷综合另类小说| 综合久久综合| 婷婷激情人妻| 激情婷婷网| 影音先锋高清无码资源网| 中文字幕AV在线| 亚洲色模骚货| 日本性视频| 久久精彩免费视频| 激情五月天色色网| 九色91国产| 婷婷开心五月| 国产色五月| 婷婷爱综合| 五月丁香久久网| 久久码久久无清| 色五月婷婷7777| 国产精品第一国产精品| 成年人丁香五月| 狠狠狠狠狠狠色| 26uuu精品国产| 99热精这里只有精品| 色婷婷婷av| 色狠狠综合| 91九色中文字幕女在线观看| 丁香激情五月| 久久98热re| 七月激情六月婷婷综合在线播放| 五月天色色色色色| 亚洲成人九九九| wwww.色婷婷| 五月激情综合婷婷| 色综合99色| 婷婷在线五月综合| 超碰一区二区| 超碰五月婷婷五月天| 狠狠干.com| 激情内射人妻1区2区3区| 五月婷婷六月激情| 这里只有精品视频| 免费无码毛片一区二区A片| 色色激情| 色狠狠色噜噜AV天堂五区| 狠狠五月天| 色婷五月天| 五月天色色网站| 六月婷婷色五月| 亚洲美女婷婷五月天| 欧美天天草人人草| 亚洲色色图片| 韩国婷婷丁香五月| 99免费视频网| 天天爱天天爽| 综合久久影院| 婷婷精品视频| 日韩人妻AV在线| 五月综合激情啪啪啪啪啪| seav天堂| 中文字幕黄色电影网址| 久久久久亚洲AV成人无码电影| 婷婷午夜丁香| 日日夜夜狠狠婷婷色| 丁香六月婷婷缴情欧美| 色婷婷影音| 婷婷五月天成人综合网| 亚洲色视频| 色综合九九| 9久久久久久久久久久| 成人一级片| 五月婷婷之综合激情| 婷婷五月婷婷| WWW色五月| 葵花AV在线| 九九色之九九色之88| 日本一毛片| 99 热国产在| 五月天无码视屏播放| 能看的av片| 51avj视频大全| 久久五月天色婷婷| 亚洲激情综合| 亚洲AVwwwwwww| 香蕉久久国产av一区二区| 天天性视频| 伊人超碰| 99九九在线视频| peg 2区三区四区的| www·五月天| 亚洲综合激情五月| 丁香五月性| 98国产精品综合一区二区三区| 婷婷六久久| 97欧美在线| 亚洲艹网| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 无码人妻激情| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 五月天综合久久| 99人妻碰碰久久久禁片| 色色色综合色| 激情综合色| 97在线/亚洲| www.婷婷五月天| 人操91在线| 久久精品99| A A色色| 天天综合色丁香| 久久人妻精品| 五月天狠狠色| 五月丁香六月婷婷综合伊人| 激情综合区| 性爱网五月婷婷| 五月综合激情| 五月婷婷丁香狠狠撸久久| 啪啪激情综合| 九九色黄色| 婷婷她六月天| 久久五月天婷婷| 精品国产AV色一区二区深夜久久| 99精品视频推荐| 丁香久久AV| 久久综合影院| 深爱五月激情五月| 大战熟女丰满人妻AV| 日本九九视频| 人妻自慰高清合集| 九九Av| 色色色区| 色天天综合| 开心五月天激情网| 久9无码视频| 天天狠狠色综合| 超碰精品在线| 99精品高潮| 亚洲人妻一区二区| 激情AV| 婷婷五月天久久综合88| 婷婷五月丁香久久| 五月婷婷色| 激情婷婷久久| 久久激情五月婷婷| 男女啪啪视频久 9| 就爱操www com| 99精品在线| 中文字幕天天干| 久久久月丁香| 精品婷婷| 成人在线精品| 色狠狠999综合| 亚洲不卡123| 色五月婷婷开心| 婷婷五月天基地| 人人操人人操919999| 婷婷亚洲欧美丁香五月| 碰碰碰97国产| α久久| av中文在线| 99熟女| 国产三级片91| 亚洲成人av在线播放| 欧美成人精品老美女噜噜噜| 日本激情综合| 五月丁香六月欧美| 射满了还射免费在线观看 -午夜版全集-新视觉影院| 久久婷婷五月综合97色一本| 91丨九色丨43老版熟女| 久久久.COM| 99热综合在线| 色女人久久| 婷婷激情五月天小说| 五月丁香婷婷俺| 婷婷婷婷午夜| 激情五月婷婷色播网| 无码激情AAAAA片-区区| 多精窝99在线视频| 无码少妇高潮喷水A片免费| 婷婷综合在线| 99热这里是精品| 欧亚洲在线高清视频| 99色干| 超碰九九热| 婷婷午夜精品久久久| 99人人干人人| 色啪影院| 《诡秘之主》在线观看| 久久99网站| 99热久只有| 激情综合五月| 成年人99热| 色狠狠婷婷| 这里只有精彩亚洲视频推荐| 丁香六月婷婷久久亚洲天堂| 天天色天天日| 99欧州偷拍视频| 丁香五月久久| 久久久久亚洲A∨成人乱码电影| 26uuu欧美| 天天摸,天天爽| 免费看欧美成人A片无码| 天干天天干天天天天天| 六月婷婷综合网2| 日日操天天| 欧美人人超级碰| 五月丁香亭亭| 欧洲综合视频| 日本久久99| 五月丁香啪啪啪啪| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 天天干夜夜想| 97超碰人人操| 噼里啪啦完整版中文在线观看| 丁香五月婷婷六月婷| 日韩丁香涩| 高清无码视频网址| 97操在线视频| 麻豆AV一区二区三区| 亚洲经典小视频| 9超碰在线| 91操人视频| 综合狠狠干| 91久久九| 六月丁香婷| 俺五月| 97sese婷婷| 91九色中文字幕女在线观看| 激情涩涩网| 91聚色综合网| 啪啪激情网| 激情婷婷五月天伊人在线观看| 五月丁香婷婷钟和色图| 91综合色| 啪啪啪五月天| 日本久久性| 思思热在线观看| 成人丁香婷婷五月天| 97超碰在线免费观看| 免费亚洲婷婷| 九热视频| 久久ER视频com| 色偷偷人人| 日日干日日| 色色色色五月| 久鲁鲁色网| 欧美一级毛卡片无码| 9久视频| AV天堂婷婷五月天| 色综合久久天天综合网| 激情五月天婷婷播播久久综合91| 激情丁香社区| 色五狠狠| 五月丁香网av| 91艹人| 亚洲情综合五月天| 婷婷的99视频网站| 色情综合网| 人人草公开操| 久久精品婷婷五月丁香| 丁香五月婷婷欧美性爱| 岛国AV网| 五月天天天天天天天天天天天天天天天婷婷婷 | 99视频超级精品| 性爱五月婷婷| 亚洲最大成人综合网720P| 五月丁香久久| 99热精国产这里只有精品| 91人人操人人| 啪啪五月综合| 亚洲春色奇米影视| 婷婷丁香人妻天天爽| 夜夜夜夜夜操| 99er在线观看| 丁香亭亭久久| 激情婷婷久久| 亚洲综合欧美色丁香婷婷888月图片| 激情五月天网| 欧美在线97| 色色色.COM| 五月丁香少妇A| 婷婷五月丁香六月| 4399欧美另类视频| 九月丁香婷婷网| 丁香五月影院| 五月天亭亭俺也| 狠狠色五月| 亚洲99热| 婷婷十月丁香| 丁香五月激情站| 精品久色| 亚洲永久免费| 久99在线视频| 神马欧美精| 91av色色乱视频| 天久综合91综合首页| 无码99| 久9热| 婷婷五月色色| 婷婷丁香五月网| 丁香五月亚洲| 色五月综合激情| 青青草六月丁香| 99在线观看这里都是精品| 亚洲人妻AV| 欧美精品啪啪| 97资源欧美日韩大香蕉超碰一区| 九九色之九九色之88| 激情五月天福利| 玖玖@三月天天丁香婷婷| 激情操逼婷婷| 色吧婷婷五月亚洲| 日本不卡高字幕在线2019| 色婷婷影视| 久热伊人| 99热亚洲| 乱精品一区字幕二区| 色婷婷影院| 激情av| 涩五月婷婷| 天天插天天射| 五月婷在线| 粉嫩AV久久一区二区三区| 一级黄色影片| .精品久久久麻豆国产精品| 天天干,夜夜爽| 亚洲婷婷五月天| 久久精品99国产精品日本| 欧美大肥婆大肥BBBBB| 99热国产| 国产AV熟妇人震精品一品二区| 亚洲乱码日产精品BD| 先锋影音av色五月天资源站| 9热超碰| 97人人操人人操人人操人人| 男人天堂 久久| 第四色五月婷婷| 中美月韩免费A片| 日韩成人网址| 99视频久久免费视频| 丁香六月激情综合网| 五月婷婷中文网| 色婷婷视频综合| 天天狠狠六月婷丁香影院| www.色五月| 五月天色综合| 国产成人综合网| 国产性爱在线| avv在线| 激情婷婷在线中文字幕| 激情综合婷婷五月| 99re这里只有精品首页| 亚洲五月花| 五月停停色色丁香| 激情开心五月天| www,五月天激情| 九九碰九九爱97超碰| 艹色18p| 欧美WW在线网| 99色天堂| 亚洲女婷婷五月基地综合久久久| 五月色丁香| 97久久五月丁香婷婷| 99久在线精品99re8热| 十二区无码| 色爱终和网| 色五天综合| 天天操天天日天天爽| 粉嫩AV久久一区二区三区| 亚洲俩性性爱图片久久第六页| 伊人在线视频| 天天摸.天天mo| 狠狠色综合网| 色色色综合视频| 玖玖色综合| 五月天综合缴情网网站0| 开心五月天激情网| www.狠狠操.co m| 五月天啪啪| 婷婷,五月天,丁香,第一| 婷婷激情社区| 久久香蕉网| 色久综合| 天天爽,天天操。| 免费视频在线观看的网站| 五月五丁香婷婷| 色五月综合激情网| 狠狠干综合网| 99视频在线观看网址| 97碰人人操| 九九色欲网| 色爱亚洲| 五月停停直播| 婷婷丁香中文字幕| 五月婷婷六月丁香色| 久久婷婷激情四射五月天| 少妇人妻人伦A片| 大香蕉五月婷婷| 色五月在线播放| 久久五月人人摸| 激情内射人妻1区2区3区| 久久婷婷在线| 激情久久综合网| 色丁香五月婷婷| 大香蕉精品视频| www.zbzhongsen.com| www.五月婷婷久久.com| 婷婷国产五月天17c| 婷婷五月,偷窥偷拍网| 玖玖综合色| 丁香六月婷婷久久综合| 婷婷伊人久久综合| 金品在线视频99| 97人妻碰碰中文无码久热丝袜| 日本a片网址| 国产片XXXXA片国语对白| 久久视频这里99| 婷婷六月综合| 大香蕉九九| 色婷婷九月| 亚洲超级碰| 精品人妻一区二区三区四区不卡在| 亚洲精品操一操、噜一噜、摸一摸、爽 | 色综合色| 成人五月天视频播放| 成人综合视频在线| 可以免费观看的AV| 五月婷在线播放| 久久久91| 免费无码毛片一区二区A片| 色五月第四色| 日本久热| 爱99干99| 久超超碰| 影音先锋激情网| 婷婷之玖玖| 亚洲天天操| 日日日影院| 久久婷婷色综合| 成人午夜天| 色五月综合资源推荐| 亚洲婷婷五月天综合| 99ri精品在线观看| 黄色AV日韩| 丁香婷婷五月六月天| 成人中文字幕在线| 少妇AB又爽又紧无码网站| jiZZdr| 色欲操| 色五月婷婷影视| 婷婷五月天影院| 免费观看欧美成人AA片爱我多深| 激情九月婷婷| 高清免费在线视频| 亚洲天天| 99热国产这里只有精品| 九九色综合| 久草视频大香蕉99| 久久久中文| 人人色婷婷| 狠狠擼综合| xxxx久| 色色综合网www| 日韩色色色色色| 亚洲xx在线| www.日日夜夜.com| 婷婷五月天电影区小说区| 色五月婷婷婷婷婷婷婷婷婷婷| 婷婷六月偷拍| 色吧五月| 五月天丁香成人| 欧美婷婷五月天综合| 超碰人人在线| yiqicaoav| 欧美丰满熟妇BBB久久久| 婷婷五月丁香综合激情| 狠狠五月激情婷婷直播片| 狠狠干婷婷| 人妻操日日| 欧美性生交XXXXX无码小说| 日本精品99| 五月天精品视频| 五月婷婷六月丁香综合视频在线| 婷婷少妇激情| 五月丁香六月停停停| 五月丁香网站| 91男同| 婷婷九月丁香| 五月天激情婷婷小说| 欧洲永久精品| AV无码免费| 日韩无码亚欧无码| 亚洲精品国产A久久久久久| 日本欧美在线| 热99在线精品| 婷婷五月天综合中文| 五月天激情综合网站| 亚洲婷婷婷| 色婷婷影视99| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品| 99久久9| 欧美 日韩 成人| 亚洲另类噜噜| 日在线V视频在线播放| 91操碰| www.jiujiujiu| 888久久久| 99福利视频导航| 亚洲字幕AV一区二区三区四区 | 婷婷丁香人妻天天| 日韩六六久久电影| 侠女刀之记忆电影在线看免费| 激情文学久久| AA久久| 91色在线 | 日韩| 丁香五月婷婷久久久| 久久中文网| 国产成人精品一区二三区熟女在线| 天天日夜夜拍| 99热99干| 亚洲区视频| 久热中文字幕| 香蕉人在线香蕉人在线 | 九九在线这里只有精品视频| 色综合久久88色综合中文字幕| 青青草a在线| 女人露出p毛视频www网站| WWW.99热| 色婷婷AAA| 激情五月综合网最新| 色婷婷88| 久久五月激情综合| 91婷婷色五月| 91黄址| 中文字幕av在线| 色综合久久99色| 婷婷丁香色情| www.精品99| 色丁香婷婷| 五月丁香999| 91超碰在线观看| 丁香综合网| 香蕉久久国产AV一区二区| 九九九九毛片| 五月天激情四射| 99热久| 欧美群妇大交乱婬网| 99热网站| 九九蜜臀精品| sisi热国产| 丁香五月激情综合在线观看| 天天肏天天插| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 亲子乱AV一区二区三区下载| 欧洲不卡视频| 五月天综合网| aaaaaa片| 婷婷成人丁香色情基地30| 开心五月深爱五月婷| 久久66精品| www.成人婷婷综合| 色播五月婷婷| 婷婷久久精品| 亚洲综合激情五月久久| 婷婷丁香18| 性做久久久久久久免费看| 野战J办公桌椅H| 日本91在线播放| 国产免费av网站| Www.狠狠| 99色综合网| 五月丁香综合啪啪啪啪啪| 噜综合| 天天干天天 亚洲| 日本五月天一页| 日韩黄色电影| 婷婷五月天开心网| 亚洲精品久久久久久久久久吃药| 婷婷丁香成人色综合| 久久99jiu9| 久热一本| 九热在线这里有精品6| 激情五月婷婷综合视频| 5月丁香啪啪啪| 伊人久久大香线蕉av一区| 99热国产| 久久人妻少妇嫩草AV| 色综合色色色色色色综合| 五月婷婷成人| 99国产小视频2013| 色婷婷五月网| 思思久久精品| 激情小说五月天| 大地资源色婷婷视频在线| 中文字幕中文有码在线| 成人在线视频男人的天堂4399| 婷婷综合色图| 婷婷区日本| 久草热视频在线观看| 中文字幕AV网址| 九九热视频在线观看| 亚洲永远av在线播放| 久9热视频在线观看| 丁香五月天色综合| 激情五月天激情综合网| 五月天婷婷免费| 97人人草| 国产中文字幕在线视频免费观看| 婷香五月| www.热99热| 精品99在线| 国产毛片精品一区二区色欲黄A片| 白度黄视频| 色狠狠色| 婷婷五月天色综合| 久久92| 精品香蕉99久久久久网站| 97精品自拍视频| 99色最新在线视频| 日本色色色| 色99视频| 99啪啪骑| 五月丁香婷婷综合在线| 夜夜干夜夜操| 亚洲九区| 色婷婷AⅤ| 99爱免费在线观看| 99热都是精品| 欧美成人精品三区综合A片| 98色丁香五月婷婷综合网| 五月香蕉综合| 亭亭玉月丁香| 欧亚成人A片一区二区| 九热久| 久久机只有这里精品| 色婷婷狠| ztEJj| 26uuu视频欧美| 天天玩夜夜操| 国产毛片精品一区二区色欲黄A片| 日本三级毛片| 狠狠操天天日| 综合网色| 极品五月天| 袁子仪视频观看| 男人的天堂五月丁香| 亚洲黄网AV| 草草视频91| 五月婷在线观看| 搡BBBB搡BBB搡18| 久久综合干| 亚洲色色香蕉| 八戒青柠影视剧在线观看| 99男人的天堂| 大陆肏屄视频| 激情五月丁香五月| 日韩99视频| 亚洲色A| 亚洲激情综合| www色五月| 色色网站在线| 99精彩视频网站在线| 97干在线视频| 五月丁香综合激情| 六月婷婷色色网| 五月天婷婷久久日| 91干视频| 激情五月天第四色| 99视频这里只有久久精品 | 狠狠插狠狠| 91操人| www色色com| 殴美日韩成人| 日韩有码一区| 极品人妻videosss人妻| 亚洲无码99| 9久久婷婷国产综合精品性色| 色视频五月天| 丁香五月天堂婷婷| 婷婷色五月亚洲| 99精品视频网站| 超碰在线观看9| 激情五月婷婷网| 97luluse| 午夜爱爱爱成人| wwwss在线观看| 天天爽在线视频| 狠狠爱激情网| 性爱人人网| 婷婷婷婷色| 久久久亚洲成人无码A片| 丁香六月婷婷综合网| 99热最新| 99热思思久| 久久九九网| 狠狠爱激情网| 欧洲色| 亚洲成人AV在线| 日日爽日日爽| 人妻有码乱操| 久久丁香五月婷婷| 粉嫩AV久久一区二区三区| 五月婷婷 欧美| 亚洲激情五月| 99久久婷婷国产综合精品草原| 丁香蜜臀黄色婷婷五月天| 大香av| 99免费视频| 97热久久五月婷婷| 五月丁香香蕉| 99久久終合| 日韩在线婷婷五月天综合| H亚洲| 99爱在线视频观看| 啪啪视频99| www.开心激情| 99久久久精品| 99在线精品免费视频| 色婷婷久久9.com| 色婷婷丁香五月综合| 亚洲AV成人在线观看| 国产色五月| 5Www色5夜| 中文乱子伦视频| 99啪视频在线观看| 日韩AAAAAAAAAAA片| 狠狠草网| 五月丁香在线| 超碰电影在线播放| 五月婷婷五月天| 丁香五月天激情| 婷婷五月六月| 五月网激情| 精品人妻伦九区久久AAA片| 天天成人综合| 久久久久久久11111111111| 亚洲狠狠操| 天天久久婷婷| 五月婷婷成人| 小色小蛇伊人婷婷色香五月| 九九热自拍| 久热伊人| 五月丁香| 欧美色色色| 免费观看高清无码| 五月丁香啪啪网| 99九九综合久久九九| 婷婷天天日婷婷| 伦乱美欧| 激情涩播| 激情五月天婷婷五月天| 色五月婷婷自拍| 婷婷丁香在线| 79精品在线视频| 狠狠干.com| 久久久久人妻网址| 999激情视频| 色色a| 五月天婷婷导航| 丁香九色不卡aaa| 26UUU欧美激情一区二区| 婷婷五月丁香五月| 黑人巨粗进入警花疼哭A片| 99亚洲色| 亚洲秘 无码一区二区三区妃光/1| 永久免费视频| 深爱五月综合网| 日本女色人人| 人妻久久久久久久| 五月婷婷久久久| 国产伦亲子伦亲子视频观看| 台湾佬天天日丁香婷婷五月天| 91色欲综合| 欧洲亚洲免费视频9| 日韩好吊操| 色五月天 丁香| 热99在线精品| 色五月激情问网站| 国内精品免费一区二区2009| 操逼巨乳91| 狠狠狠婷婷五月综合| 亚洲AV成人一区二区在线观看| 五月色综合| 国产VA播放| 亚洲成人网址在线观看| 亚欧州精品视频| 亚洲 日韩色色| AV在线不卡网站| 97操操| 五月婷婷中文网| 五月婷免费视频| 五月婷婷六月激情| 五月天色婷婷成人| 99日本黄站| 琪琪布丁香社区激情五月天| 操97免费超级视频| 亚洲丁香五月天在线视频| www,久久久人人| 丁香五月天综合| 拳交大逼| 这里只有精品在线视频精品| 玖玖@三月天天丁香婷婷| 精品人人操| 丁香五月婷婷天| 97人人操在线| 97人碰人操| 五月丁香综合激情| 五月色婷婷激情| 日韩综合久久| 级人人91| 丁香五月婷婷六月| 婷婷开心久久| 女人露出p毛视频www网站| AV网在线观看| 亚洲综合成人网| 婷婷五月六月丁香| 99热99热在线观看| 久久婷婷东京热| 亚洲欧洲中文日韩久久AV乱码| 天天做天天爽| 国产26uuu视频| 熟女网站久久| 超碰婷婷五月| 日本一级一级一级一级| 婷婷五月天偷拍| 日日骑夜夜撸| 日本一级大片| 中文字幕免费高清电视剧| 久久婷婷国产| 激情性五月天免费小说视频 | 五月丁香中文字幕| 91操色| 99九九热在线观看| 国产特黄色精品一区二区三区精品无广告 | 风流少妇A片一区二区蜜桃| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 99热99在线| 狠狠爱五月婷婷| 丁香五月丁香伊人| 九九热黄色| 综合 蜜月 婷婷| 亚洲妇女熟BBW| 婷婷色网站| 色XX综合网| 99热在线中文字幕| 超碰国产在线| 色综合偷拍| 六月婷综合| 婷婷色五月激情| 成人婷99最新| 真实亲子乱子伦高清在线观看| 99久久国产成人精品| 五月丁香六月成人| 五他月天啪啪啪| 精品少妇人妻AV无码专区偷人| 中文字幕在线不卡视频| 五月婷婷六月色| 玖玖综合网| 欧美婷婷综合| 婷婷五月天综合蜜桃| 久久性爱视频| 综合色网站| 92久久久| 琪琪色网在线| 99re在线观看| 噜噜噜狠狠色综合| 九九99热久久精品66中文字幕| 亚洲小视频| 熟女五月天久久综合| 99热只有精品综合| 天堂爱啪啪| 激情五月天色色色| 亚洲人操亚洲人| 日日做A爰片久久毛片A片英语| 久久丁香| 黄网免费看| 天天综合五月天| 婷婷丁香18| 精品A√| 丁香五月天BBw| 免費亭亭成人| 天天弄天天爽| 99热只有精品综合| 爱操人妻| w婷婷五月婷婷w| 婷婷色在线播放| 激情久久网 | 五月天婷婷在线AN| 人人人人人人人草| 久热最新视频| 五月色导航| 99爱免费在线观看| 婷婷激情五月天网站| 激情丁香五月天综合| 九色视频91| AV在线资源| 中文字幕在线资源| 婷婷欧美综合| 色婷婷狠| 色三级色三级| 五月丁香操婷逼| 91婷色| 婷婷五月影院| 欧美99热| 天天做天天爱| www.色综合| 九九综合久久| 538在线精品| 久久久天堂国产精品女人| 亚洲亚洲人成综合网络| 97夫妻超碰|