99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜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| 99久久久国产大片| 香蕉久久国产AV一区二区| 国产亚洲99久久| 青青草成人网| 婷丁五月| 91久久免费| 99玖玖在线视频| 67194成I人在线观看线路1| 狠狠爱五月婷婷| 色婷婷激情四射视频| 激情国产五月| 亚洲免费婷婷| 五月丁香怕啪啪| 少妇出轨做爰高潮A片| 午夜激情五月| 综合激情五月四射婷婷| 99色色网| 91色欲综合| 亚洲男女激情| 丁香五月婷婷成人综合| 婷婷爱五月| 亚洲五月天激情| 色色色色av777| 99re在线免费视频| 久久久噜噜噜操操操| 日本爆乳片手机在线播放| 超级碰碰91| 六月激情网| 婷婷综合在线| 婷婷五月天亚洲五码| 丁香五月天激情网| 伊人婷婷激情| 亚洲综合激情五月天婷婷| 大伊香蕉玖玖爱| 久久精品人妻| 色综合色欲综合天天免费| 色色综合热| 色综色网| 青青草免费公开视频| 五月开行婷婷色五月| 婷婷激情九月| 九九热99免费视频| www.久久爱| 99热黄| 丰满少妇猛烈A片免费看观看| 99精品综合| 狠狠人妻久久久久久综合丁香| 五月丁香综合中文| 婷婷五月天Av| 大香蕉五月天婷婷丁香91| 丁香婷婷五月综合| 99婷婷| 久久日曰| www.五月婷婷| AV五月丁香| 庭庭久久内射| 国产婷婷五月中文字幕高清| 丁香五月婷婷久久久| 婷婷激情五月综合| 一级操逼大片| 九九无码AV| 思思热精品在线| 色99色| 在线观看婷婷5月| 六月撸婷婷| 亚洲中文av| 夜夜骑夜夜撸| 婷婷五月天伊人| 日本天堂免费99| 97干婷婷| 少妇2做爰HD韩国电影| 色色操| 超碰免费成人网站| 久久婷婷五月丁香网| 亚洲色五月| 免費亭亭成人| 五月香六月婷| 久久这里只有精品热在99| 成人av在线网站| 97人人干人人操| 五月天久草| 十区AV| 久久久中文| 97caop| 亚洲精品V天堂中文字幕| 爱射综合| 婷久久久| 91凹凸在线| 婷丁香五月天| 噜噜噜噜噜在线| 丁香九月婷| 婷婷激情鹿城五月天| 思思 热 99| 五月丁香中文| 色五月 婷婷, 大香蕉| 五月婷婷综合社区| 国色天香伊人狠狠色| 婷婷丁香五月婷婷| 超碰免费人人肏| 亚洲av另类在线观看| 色yeye欧美| 激情五月天第四色| 色综合色综合婷婷热| 思思久久99热只有频精品66| 91性高潮久久久久久久久| 香蕉人妻AV久久久久天天| 情欲禁地| 亚洲丁香婷婷五月天综合色| 成人av在线电影| 来吧亚洲综合网| 91男人资源站| 婷婷激情五月天在线| 97人人操人人干| 国产午夜精品AV一区二区麻豆| 色婷婷瘦婷婷日韩| 丁香婷婷深情五月亚洲| 亚洲色99综合天堂| 丁香婷婷六月激情综合| 国产毛片精品一区二区色欲黄A片| 丁香五月婷婷操逼| 99这里只有精品99| 免费看欧美成人A片无码 | 狠狠搞狠狠操| AVV黄| 9有码中文| 五月婷婷丁香狠狠撸久久| 天堂久久性| 人人爽亚洲| 色五月琪琪| 亚洲视频在线观看| 色综合久久伊伊婷婷五月| 五月色婷婷综合| 日韩ww| 亚洲色图45p| 97色婷婷五月天| 中文成人在线| 天天爽夜夜爽夜爽精品| av婷婷丁香| 五月天色婷婷视频| AV操一操| 五月婷婷五月天| 六月丁香五月婷婷| 人妻videos人妻高清| 色婷网| 激情综合色婷婷啪啪六月天| 99色| 人人爽网| 九月婷婷久久| 99超级碰免费视频| 99久久99热这里只有精品| 婷婷五月天成人网| 婷婷丁香色五月久久88| 激情伊人网| cao久久| 做爱夜夜干天天操| www免费在线视频| 五月色无码| 日日夜夜天天综合| 色婷久久| 国产真人做爰视频免费| 色色影院aaaav| 91青娱乐青青草| 久久大香蕉同僚| 99久久婷婷国产综合| 久久五月天免费网站| 丁香成人综合| 99伊人婷婷在线| 五月婷激情| sewuyuetingtingiii| 天天操综合网| 色婷婷婷婷成人网| 久久精品噜噜噜成人A∨色欲| 思思热99热| 久久亚洲无码| 青青草免费公开视频| 五六月丁香激情视频| 亭亭玉月丁香| 2025年最新亚洲在线欧美| 综合色在线| 婷婷五月天激情综合深爱激情| 亚洲成人av在线播放| 丁香五月天网站| 成人婷婷五月天| 久久99激情五月天| 9l视频自拍9l视频自拍九色学生| 国产综合色婷婷精品久久| 26UUU精品一区二区| 丁香婷五月| 丁香五月成人丝袜| 欧美大片| 五月婷婷综合久久| 人妻系列久久久久久久久久久| 激情久久伊人| 丁香五月激情综合| www.久热| 1010日日无码| 色色成人網| 五月天伊人| 五月花综合视频| 日韩五月婷婷| 成人丁香婷婷| 午夜不卡久久精品无码免费| 4399亚洲视频| 深爱激情九九五月天 | 人人噜天天上| 激情五月综合免费| 97碰在线视频| 98永久精品| 亚洲精品无码一区二区| 四色五月婷婷在线观看| 日韩啪| 激情九月婷婷| 色色五月天婷婷丁香| 六月色伊人婷婷| 日日做A爰片久久毛片A片英语| 五月天激情亚洲| 99精品视频免费在线播放| 综合久久8| 另类小说色婷婷| 五月婷丁香在线视频在线| 激情婷婷综合网| 婷婷五月天伦理| 激情色情五月天| 色婷久久| 久久久婷婷| 婷婷六月天天| 丁香五月日韩| 97人凄人人操人人爽| 这里只有精品在线免费视频| aaaaa不卡| 丁香综合| 熟妇天天综合| 亚洲成人综合网在线免费观看| www.久久99| 超碰9| 26uuu另类亚洲欧美日本一| 丁香九月综合| 久久综合网免费视频| 成人国产综合| 婷婷久久午夜网| 99熟女| 亚洲婷婷五月| www.婷婷六月天| 五月丁香激情婷婷| 人人九色| 婷婷五月天精品| 国产avapp 网| 色色射| 91chinese在线| 无码动漫av| www.久热| 亚洲情欲| 丰满少妇猛烈A片免费看观看| 婷婷伊人五月天| 激情av| 在线看片av| 亚洲成人中心| 色色婷婷丁香| 日本www免费九九| 婷婷综合久久| 精品一二三区久久AAA片| 亚洲中文乱字字幕在线永久| 久久99国产综合精品免费| 久久婷综合| 五月激情天| 啪啪综合网| 久久99国产综合精品免费| 国产在线aaa片一区二区99| 五月婷婷丁香六月| 96丁香六月婷婷蜜桃综合久久| 激情六月综合| 五月婷婷免费在线视频| 丁香五月综合婷婷| 国外亚洲成AV人片在线观看 | www.色婷婷| 操操自拍| 国产精品日本一区二区在线播放| 手机在线视频观看9| 丁香五月婷婷www..com| 丝袜大香蕉| 五月丁香日本在线视频观看| 丁香五月开心五月激情| 大香蕉婷婷丁香天堂AV| www婷婷色| 久久日本wwww色| 色综合中文| 伊人五月婷婷| 婷婷成人视频| 伊人综合网站| 4438激情网| 26uuu青青| 狠狠操狠狠狠| 狠狠色综合网| www.色欲丁香婷婷| 五月婷婷亚洲天堂激情在线| 夜夜躁爽日日| 精品影院| 新久久五月天激情| 99资源在线视频| 久久这里精彩免费在线观看| 99热这里只有精品最新| 久久538| 精品国产a| 综合久久影院| 开心激情网在线| 91丨九色丨43老版熟女| 青青草网武则天| 九九视频网| 可以看的AV网站| 狠狠干婷婷| 久操人| 天天艹天天综合网| 久久色婷婷| 五月桃花网综合| 蜜臀AV在线观看| 98永久精品| 亚洲婷婷丁香五月亚洲| 五月停亭六月,六月停亭的英语 | 激情五月婷| 欧美婷婷色| 这里只有精品免费在线视频| 久久五月网| 久久色五月| 九九九九九九九热| 蜜桃成语时李时珍 免费| 久人操| 五月婷婷六月激情网| 久久停停超碰| www99在线观看视频| 五月天激情婷婷五月天久久| 天天日天天插| 亚洲精品成人片在线播| 人妻无码精品一区| 婷婷丁香六月天激情四射网| 婷婷成人小说综合| 五月丁香婷婷基地| 丁香九月激情| 日韩婷婷| 操操啪| 五月丁香91| 欧美婷婷丁香五月| 亚洲色网络| A片天天| 激情五月丁香在线观看直播| 中文字幕网伦射乱中文| 久热这里只有精品视频6| 国外亚洲成AV人片在线观看| 人妻内射麻豆视频| 日日夜夜天天综合| 超碰一区二区| 九色啦蜜臀| 99精品丰满| 天天日夜夜操五月| 99色嘟嘟精品网站| 深爱激情五月婷婷| 精典久久| 九月丁香| 天天插天天| a在线观看| 色播婷婷大香蕉| 九九综合伊人| 狠狠干五月天婷婷网| 五月婷婷大香蕉| 婷婷她六月天| 久久小说| 婷婷色欧美激情| 国产97在线日韩亚洲女人被黑人巨大| 婷婷五月激情在线视频| 婷婷五月天丁香激情| 久久这里只有精品热在99| 在线99精品| 涩涩五月天| 日本3级片一区2区| 色五月六月| 色之综合网| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 婷婷五月丁香伊人| 天天射美女| 超碰在线人妻| 亚洲狠狠干| 色狠狠综合| 日本人妻A片成人免费看片| 99久久久免费| 婷婷亚洲在线| 92国产福利| 99色视频| 99爱无码| 黄色aaaaa| 成人中文网| 日韩在线婷婷五月天综合| 91精产一区三区免费观看| 99色婷婷视频| 久久黄色片| 97干欧美| 五月婷婷综合激情小说| 丁香婷婷六月天| 婷婷五月丁香高清无码| 成人Av在线大片| 五月开心网| 天堂草在线看www| 激情六月丁香| 97久久精品视频| 大香蕉综合在线| 色五月天综合| www.婷婷五月天.com| 久久精品99国产精品日本| 亚洲成人噜噜| 色五月av伊人| 91人操| 超碰在线50| 92久久| 激情五月婷婷综合色播小说| 超碰在线91| 五他月天啪啪啪| 丁香六月婷| 99这里只有精品视频| 婷婷六月丁香在线| www.久久99热地址发布| 99热97美女| 九九热最新地址| 色狠狠色综合| 色婷婷丁香特级性爱视频| 久久久久久99日本| 亚洲精品又粗又大又爽A片 | 九九碰九九爱97| 五月天婷婷激情在线色图| 天天做天天爱天天爽| 五月天婷婷丁香基地在线观看| www.婷婷五月天啪啪| 丁香五月在线自慰| 99人妻碰碰碰久久久久视| 91男人操女人视频| 99视频| www.国产色| 久久婷婷亚洲| 五月天婷婷丁香基地在线观看| 欧美毛片www| 九九综合久久| 9久久精品| 91人人澡人人爽人人看| 亚洲色综久久五月| 天堂综合久久| 9热精品| 一区二区三区XXXXXX| 亚洲综合色成丁香五月色| 九九黄色网| 五月婷婷激情久久| 99热这里只有精品青草| 日本色婷婷| 亚州色婷婷| 久久婷狠狠色| 色激情五月| 婷婷久久五月| 六月色色| 99视频| 国产毛片精品一区二区色欲黄A片| 综合激情五月丁香| 夜夜操天天干| 激情综合五月天| 五月婷婷六月丁香| www色五月天| 五月丁香婷中文字幕| 激情5月婷婷狠狠干| 亚洲午夜精品久久久久久人妖| 色爱综合网| 99热婷婷| 婷婷5月天av| www.狠狠操.con| 综合狠狠干| 亚洲日韩26uuu| 婷婷五月开心中文字幕在线| 亚洲狠狠干| 狠狠干夜夜干| 黄色片区子| 色五月丁香五月| 国产精品色| 久久一级AV| 婷婷五月欧美| 亚洲天堂热| 久久亚洲婷婷综合色五月| 天天做天天双| 99爱在线免费视频| 伊人91| 99这里有精品| 97人人操人人拍| 久操97| 婷婷九月| 亚洲国产色色| 噜噜五月天综合| 狠狠CAO日日穞夜夜穞AV | 九九九AAA热视频| 亚洲人妻电影| 狠狠操之狠狠操| 69精品无码一区二区三区| 9热在线视频精品| 五月色色网| 777丁香六月青青草婷婷综合久月| 六月天丁婷婷| 日韩中文欧美| 区欧美日韩成人| 99九九综合久久九九| 99高级会所久久| 99国产视频网| 婷婷综合五月| 狠狠色丁香婷婷五月| 97色色色色色色色| 欧美婷婷五月天| 思思热在线| 人人操人人妻| 五月综合激情久久| 五月婷婷影院| 久久艹 五月天| 天天插天天射天天干| 婷婷五月丁香基| 97色97干| 日韩99精品| 99免费在线| 婷婷情色五月| 婷婷综合五月天激情| 色五月综合在线| 欧美激情五月天| 婷五月天六| 99综合97| caobi四区| www.9797国产| 九九激情视频| 久久婷婷五月天激情唯美| 色婷婷在线播放| 果冻传媒A片一二三区| 人人草成人视频| 婷婷五月色激情欧美激情| 久久精品一区二区三区四区| 国产伦理精品高清在线观看网站一区二区 | 国产偷人爽久久久久久老妇APP| 欧美色九| 丁香五月天视频| 无码视频国内精品久久久| 日夜操B| 色色色在线观看| 丁香婷婷浪潮AV久久综合| 五月天无码视屏播放| 久久久久久激情| 婷婷五月天丁香综合网| 这里只有精品视频99| 岛国av网| 超碰人人干| 亚洲av无码精品色午夜| 九九免费精品| 日本波多野结衣视频| 婷久看人爽| 色色a| 啪啪激情综合| 五月丁香啪| 激情五月小说婷婷| 91在线日| WWW,五月| 香蕉婷婷色五月| 久热大香蕉| 日韩av在线电影| 任你日视频| 婷婷丁香成人五月天| 婷婷成人五月天成人文学小说| www99精品在线观看| 97色伦另类图片小说视频 | 六月丁香激情综合网| 五月天婷婷色播在线网| 色偷偷AV亚洲男人的天堂| 日操| 不卡在线超碰| 狠狠激情五月天| 97se在线视频| 天天弄天天操| 五月丁香激情综合网| 99热网站| 九九久久99| 婷婷狠狠干| 激情婷婷五月天日本系列| 亚洲99一级无嗎特制在线| WWW.婷婷| 免费黄色视频网址| 激情五月激情综合网| 人人人人人人人人人草| 人碰人人人玩91| 五月丁香777| 婷婷六月综合| 丁香色色网| 秋霞簧片| 91久久综合亚洲噜噜成人在线| 噜噜干日本| 丁香综合伊人| 精品九九久久| 人妻22p| 婷婷五月激情基地| 狠狠综合久久综合| 丁香五月欧美| www.成人婷婷综合| 五月丁香色色网| 丰满人妻妇伦又伦精品国产| 日本五月婷婷| 五月丁香网av| 丁香六月综合激情| 梁铮版《蜘蛛女侠》在线| 婷婷色情 | 色综合激情| 大香蕉九九| 密着浓厚中出乚交尾GvG935| 久久免费精彩视频| 色五月婷婷成人视频| txt五月激情四射网综合俺也来了| 99re热在线视频观看| 熟女婷婷网站一婷婷五月一丁香婷婷一婷婷激情网 | 黄色av网站在线免费播放| 开心激情站| 成人婷婷深爱综合网| 精品九九网| 日日操天天操| 五月婷婷婷丁香播| 五月丁激情| 狠狠第四色| 婷婷操无码| 亚洲天堂久久| 亚洲色频| 激情久久综合网| 无码色色色色色| 人操91在线| www.99热| 婷婷色色网| 丁香五月综合AV在线| 日韩色色小视频| 丁香九月婷| 人妻VideOssS人妻| 26uuu.| 日韩高清成人| 94干大香蕉| 艹B高清无码| 色色色热热热| 色婷婷久久综合| 在热视频精品| xfplayav在线| 人妻videos人妻高清| 97在线综合| 婷婷国产欧美97| 中文AV网站| 成人做爰A片免费看视频| 亚洲AV网址| 五月婷婷之综合激情| 欧美黑人巨大猛烈cuckold| 五月婷婷啪啪啪| 六月激情丁香一道本7777| 不卡在线超碰| 91打屁股免费看| 色综合久久888| 日本三级韩三级99久久| 91久久精品无码一区二区三区| 五月丁香五月婷婷在线观看| 五月香六月婷| 狠狠色噜噜色狠狠狠综合久久成人波 | 亚洲99热| 五月婷激情| 伊人99热| 激情五月天婷婷丁香| 99自拍视频网站| 婷婷九月在线| 色99自拍| 久久婷婷影院| 99精品在这里| 亚洲综合五月天综合| 人人亚洲| 秋霞三级影视资源| 丁香五色月婷婷网| WWW.夜夜| 婷婷丁香五月亚洲免费| 色 色 色综合com| 天天操屄网| 日日噜狠狠色综合久| 五月婷婷在线视频观看| 九九干视频| 婷婷五月电影院| 五月天色色色| 国产看真人毛片爱做A片| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 九色成人AV在线| 奇米影视在线视频| 99在线精品视频| 操人无码| 夜夜夜叫天天天做| 丁香五月天激情免费在线观看AV777| 99爱视频在线观看| 亚洲欧洲另类| 国产在线激情视频| av最新在线| 婷婷的99视频网站| 天天摸天天舔天天爽| 六月丁香五月激情婷婷| 草综合14| 538在线精品| 久久精品凹凸分类| 亚洲视频国产一区| 99re这里只有精品国产99| 五月婷婷免费在线观看| 中文av网站| 东京热免费视频| 香蕉AV777XXX色综合一区| 日日操夜夜操中国无码| 色碰干| 久久婷婷六月综合资源| 这里只有精品无码| 激情AV| 婷婷五月综合免费在线| 91狠狠综合久久久| 精品,99| 婷婷久久综合久| 五月婷婷久久大片| 大香蕉久艹| 99视频精品全部免费观看| 天天色视频| 伊人色综合网| 91丨九色熟女丨首页| www.婷婷网| 亚洲va在线∨a天堂va欧美va| 99久久婷| 亚洲av成人一区二区电影在线| 色综合激情| 战争与艾拉电影免费观看| 99热大香蕉| 人人操人人妻| 亚洲激情网站无码| 91精品国产99久久久久久天美| 日本人妻伦在线中文字幕| 丁香五月综合激情啪啪| 人人操超踫| 亚洲情欲| 婷婷爱爱蜜臀天天操| 狠狠狠狠操| 色爱亚洲| 超碰在线免费9| 99久久综合精品五月天| 天天操天天操天天操天天操天天操 | 久久久www| 99精品小视频| 色无婷婷| 久久五月网| 丁香五月五月婷婷| 久久色五月| 在线观看中文字幕| 超碰av在| 深爱激情九九五月天 | 欧美网站视频4399| 丁香九月婷婷色| 男女啪啪做爰高潮无遮挡| 色色五月天丁香| 这里只有精彩视频| 九月婷婷在线观看| 99热777| 丁香久久| 天天综合久久| 狠狠操狠狠插| 色五月丁香六月资源站| 精品久久9| 91se在线观看| 99视频在线| 碰超在线九色| 天天爽,夜夜爽| 九色视频入口91| 激情性五月天免费小说视频 | 丁香五月激情综合婷综| 五月天婷婷无码| 久久九⑨| 日熟女| 婷婷五月中文字幕| 99爱视频| 99九九99九九九视频精彩| 激情AV在线| 91久久精品无码一区二区三区| 天天噜| 99久久99久久| 在线中文av| 国产婷婷色五月| 欧美精品999| 婷婷五月深深的爱| 久久性爱网| 色婷婷视频综合| 九九九九九九九九九九九九九国产精品| 色天天综合| 九一牛视频探花| 九九热最新视频| 久久久五月五丁香| 成人丁香五月| 天天粽合合合合| 五月天丁香久久综合| 久久久久久久合一狠狠做深爱| 性爱技巧五月| 五月天成人在线视频网站| 激情图片久久| 色婷婷五月综合| 久久国产性爱A V| 九九综合九| 婷婷五月天激情电影小说| 九九色院| 久久久久久久人妻| 99色看| 日韩无码系列| 亚洲久热| 天天干天天色天天干| 国洲夜色亚热在线久久| 色五月成人| 婷婷五月AA五月在线| 成人AV播放| www.婷婷五月天| 中文网AV| 色色色色色色色五月| 久久狠狠干| 干婷婷五月天| 亚洲免费av观看| 思思热视频| 久久这里有精品99| 综合色网站| 婷婷在线五月天观看| 九九久久9 9在线观看| 久久天天| Se.婷婷五月天| 大香人妻| 99热精品在线在线| 五月天激情小说欧美激情| 五月婷婷丁香| 久久免费干| 激情影院丁香五月| 五月婷av| 久婷婷五月激情| 色99无码| 无码少妇高潮喷水A片免费| 丁香五月偷拍| 五月花婷婷最新| 色婷婷丁香九月| 日本一级黄色片。| 国产免费AV在线| 久久婷婷婷婷伊人| 久久资源网五月婷| 婷婷字幕在线| 六月丁香久久| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 亚洲激情淫网| 欧美激情中文字幕| 久久中文网| 日本色五月| 五月丁香六月色| 色情五月天se| 国产免费一区二区在线A片视频| 微拍92| 福利视频在线播放| 五月丁香综合| 激情五月天网站| 日日夜夜综合| 色狠狠六月| 深爱激情中文五月天av| 国产.亚洲.欧洲视频在线| 色婷狠狠| 久久机只有这里精品| 激情五月天黄色小说| 午夜日韩久久久网站| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 99啪啪骑| 99久久国产综合精品五月天喷水\| 天天干夜夜想| 成人五月天丁香婷| 婷婷色操| 国产成人亚洲综合A∨婷婷| 天天综合天天玩夜夜玩天天玩夜夜玩 | 色婷婷狠| 欧美超级视频97| 大香蕉啪啪啪啪啪啪| 一本婷婷丁香久久| 色色欧美色色色| 无码免费人妻A片AAA毛片西瓜| av中文在线| 日韩成人av在线| 日本美女上人| 色欲天天综合| 亚洲av综合网| 婷婷五月电影院| 国产成人av在线播放| 婷婷丁香五月婷婷| 五月丁香在线| 五月丁香六月婷婷久久肏| 五月婷视频| 五月丁香影视| 蜜桃人妻无码AV天堂三区| 亚洲免费婷婷| 色综合五月| 婷婷成人视频| 色99自拍| 色色色色色色色色网站| 99色精品| 亚洲无码99| 国产伦亲子伦亲子视频观看| 中文字幕有多少字| 操97在线观看| www.婷婷五月天| 亚洲AV综合网| www.99色| 婷婷五月天基地| 大战熟女丰满人妻AV| 超碰日韩人妻在线| 波多野结衣成人作品在线| 久久九九九九| 婷婷人人操| 亚洲中文字幕AV| 性色播| 操逼123网| 99热这里只有在线| 日日干夜夜干| 26uuu日韩| 色www久视频| 日韩AV中文字幕在线| 在线你懂的亚洲欧| 亚洲丁香五月综合| 五月婷婷乱| 天天色亚洲| 久久草大香蕉| 五月日韩中文字幕| 伊人综合婷婷| 99久热在线精品| 色青青视频| 91成人性爱视频| 91久久久久久| 久久大大香| 台湾无码A片一区二区| www.激情五月天。com| 久久久月丁香| 天天插综合网| 超碰人人在线| 操碰99在线视频观看| 丁香五月欧美激情| 天天撸夜夜爽| 丁香五月最新地址| 噼里啪啦完整版中文在线观看| 日韩不卡123| 六月丁香大香蕉| 五月天无码视屏播放| 五月婷婷综合在线视频小说| 婷婷色五月丁香六月欧美啪| 丁香激情综合| 五月天婷婷xxx| 99热免费精品| 五月丁香激情综合网| AV大片在线观看| 丁香五月自拍| 综合成人小说婷婷| 精品人妻伦九区久久AAA片| 婷婷激情啪啪| 亚洲狠狠狠色婷婷综合激情久久久| 人人摸人人摸| ..真实国产乱子伦对白在线_欧| 九九精品亚洲| 日夜夜天天| 婷婷五月天久久久| 超碰永久在线| 久久这里只有精品07| 五月丁香婷草| 久久密臀婷婷| 色五月无码| 久艹大香蕉| 色五月婷婷在线观看第一页舔| 丁香五月天网站| 婷婷狠狠色| 亚洲综合网在线| 97亚洲色 torrent magnet| 婷婷五月天伊人| 色婷婷中文| 日韩 欧美 国产 一区 二区| 色五月亚洲| 五月婷婷黄色网址| 久久99激情| 九月色婷婷| 综合色网站| 五月天激情婷婷久久| 国产FREESEXVIDEOS性中国| 色v综合网| 99re6久热只有精品6在线直播| 777米奇影视第四色| 99热大全在线观看| 五月丁香婷婷综合久久| 人妻中文字幕网| 丁香五月五婷| 一级片操逼视频| 丁香五月婷婷呀| 激情伊人五月天| 五月色婷婷影院| 天天舔天天爽| 婷婷综合九月| 丰满熟女人妻一区二区三| av一级棒av| tingting五月天亚洲| 久久9视频| 成人五月天在线观看| 激情六月综合| 丁香啪啪| 开心深爱激情网| 国产成人网| 538任你爽| 五月天久久婷婷| 亚洲婷婷丁香| AV网站免费在线| 91操片| 九九色人| 免费AV播放| 91婷婷| 99热综合网| 天天弄天天操| 深爱婷婷色| 夜夜爽77777妓女免费下载| 五月天激情站| EEUSS鲁片一区二区三区| 五月人妻婷婷| 精品热青草| 人草人人| 六月丁香婷婷色狠狠久久| 伊人玖玖网| 色射影院| 五月婷婷激情综合| 69婷婷丁香午夜| 影音先锋男士资源网一区| 五月婷婷激情综合视频| 日本在线观看91| 天天干天天干天天干| 色狠狠色综合久久久绯色AⅤ影视| 粉嫩av懂色av蜜臀av熟妇| 丁香五月婷婷啪啪| 97人妻碰碰中文无码久热丝袜| yazhouzonghesese| 色综合色色色色色色综合| 激情第四色| 亚洲区,视频区,视频区免费| 色一情一乱一乱一区91Av| 天天爽天天弄| 中文超碰视在线| 色色无码| 欧美五月丁香在线| 九九九激情网| 色婷婷88| 欧洲亚洲免费视频9| 无码字幕中文| 婷婷五月丁香91| 国产精品久久久99视频| 大香焦啪啪啪| 国产精品电影网| 成人必爱视| 人妻有码乱操| 亚洲操逼网| 深爱五月亚洲| 色五月偷偷| 天天操天天插| 99热在线免费| 欧美va视频| 激情性爱五月天网页| 另类激情五月在线视频欧美| 狠狠色婷婷在线| 成人 AV播放| 九月色婷婷| 99热99re6国产在线播放| 色婷婷19| 婷婷在线网| 人妻自慰在线| 97伦色婷婷| 亚洲男女激情| 五月婷婷六月丁香在线视频| 激情小说五月天| 丁香花综合永久入口| 五月天综合婷婷| 另类综合婷婷五月天欧美视频| 色播六月| 亚洲国产成人AV在线| 丁香五月婷婷在线| 色婷婷五月在线| 都市激情蜜桃婷婷五月天| 99热精品网| 午夜天堂一区人妻| 网色99| 人人草人人视| 欧洲亚洲免费视频9| 激情人妻综合| 1024欧美看片| 99综合网| 久操热线| 中文AV网| 噜噜噜精品欧美成人在线观看| 久月婷婷| 狠干综合| 久久色六月| 婷婷五月激情综合| 99噜噜| 日本色色色| 精品综合五月| 五月丁香五月丁香| 五月综合丁香婷婷| www.婷婷五月天,com| 婷婷激情五月| 开心激情网在线| 9九色首页| 五月丁香亚洲婷婷| 人人综合五月人人婷婷| 天天做综合| 九九五月天| 五月天狠狠色| 99久免费视频| 91猫咪国产在线播放| 中文字幕一色哟哟哟哟| 五月婷婷五月天| 婷婷五月色天| AV大香蕉| 九色婷婷| 热五月婷婷| 国产精品色色| 26uuu日韩| 婷婷草| 婷婷激情六月天视频| 亚洲天堂AAA| 激情网狠狠干| 丁香五月综合福利视频导航| 电影蜘蛛女| 99热久久这里只有精品| 玖玖视频福利| 婷婷五月丁香基地在线视频官网| 激情丁香社区| 五月色婷| 99久久9| 六月婷婷综合| 激情九月婷婷| 久久99久久99精品免视看婷婷| 五月久久婷婷丁香| 九色自拍| 婷婷五月花| 五月激情小说| 国产69久久久欧美黑人A片| 强壮公让我夜夜高潮A片视频| 最近中文字幕在线中文视频| www.狠狠| 亚洲国产精品VA在线看黑人| 牛色色碰| 色域五月丁香| 性爱七区| 九色91国产| 国产精品久久99| 青青草a在线| 99视频在线观看欧| 大陆肏屄视频| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 色噜综| 婷婷丁香五月在线播放| 色婷婷丁香五月| 玖玖色综合网| 91超级碰碰| 婷婷婷婷婷婷婷婷婷婷丁香| 亚洲电影中文字幕| www.五月婷婷.com| www.久久99| www.伊人天堂偷偷婷婷| 这里只有精品免费观看网占| 色99色| 四色99久久| 中文字幕有多少字| 99热一本久道| 婷色五月| 人人干AV| 十一月婷婷激情四射| 五月婷婷啪啪| 久久久国产精品黄毛片| 亚洲激情六月丁香| 人人摸人人操人人爽| 思思热久在线观看视频| 五月香六月婷| 97操视频| 久久精品国产精品| 91久久九久久九久久九久久九久久 | 国产玖玖资源| 91精品无码| 777米奇影视第四色| 91丨人妻丨国产丨丝袜| 精品婷婷| 天天综合天综合| 99综合久久| 婷婷五月激情黄色| 亚洲综合无码| 综合久久五月| 色五月综合在线| 91 影音先锋| 99碰网站| 五月天婷婷导航| 久久婷婷国产| 国产伦亲子伦亲子视频观看| 婷婷五月天网址| 日本9区视频| 五月婷婷,六月丁香| 在线看的免费网站| 欧美大香蕉视频| 天天cha成人综合网| 99热精品在线观看| 99热国品| 婷婷五月天黄色| 在线可以看的av网址| 99热在线看| 97在线日本| 五月天激情婷婷五月天久久| 色婷婷大香蕉| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 五月丁香777| 中文字幕人成乱码在线观看| www.五月天色色色| 99精品在线下载| 国产激情综合五月久久| 五月丁香婷婷啪啪综合| 五月天婷婷影院影院| 色五月婷婷丁香五月| 日韩操女| 五月丁香龟婷婷| 亚洲精品久久久无码| 天天操无码| 亚洲五月天另类小说图片| 操操操B| 丁香五月天天| 五月丁香999| 九九青草热| www.99热这里只有精品| 久久色六月| 99色啊| 网站免费一站二站| www.色9| 99亚洲精品| 午夜激情久久| 人人人va亚洲视频在线| 亚洲视频一区| 99热这里只有精品21| 久久婷婷色色| 99视频九九热| 丁香五月人妻| 99操| 99热这里全都是精品| 丁香六月在线综合| 婷婷久久国产视频| 五月丁香婷婷成人网| 综合色五月| 色婷婷五月天在线观看| 丁香社92视频| 婷婷五月天欧美图片在线播放电驴| 国产偷人爽久久久久久老妇APP| 99在线免费视| www.zbzhongsen.com| 婷婷色五月噜噜| 色五月婷婷五月天| 亚洲 综合中文| 色激情五月天| 99久久精彩视频。| 九九这里有精品| 538午夜激情| 狠狠插狠狠插| 亚洲激情图文小说| 一本大道嫩草AV无码专区| 婷婷九月激情网| 电影91久久久| 色六月天| 色五月美女| 99色精品| 女同激情久久av久久| 激情五月天婷婷丁香|