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| 五月香蕉网| 啪啪激情网站| 九色91视频| 国产成人精品一区二三区熟女在线| 2020久久婷婷五月| 色五月琪琪| 99免费视频| 99re鈥哸鈥唙| 97激情五月天| 婷婷激情视频| 久re在线| 久婷狼色诱惑在线| 97久久视频| 婷婷网五月| 六月婷婷香蕉| 99re在线免费视频| 超碰成人公开| 激情五月综合亚洲另类| 啊V视频在线观看| 熟女五月天久久综合| 欧美VA视频| 九九色综合| 色婷婷五月天视频网站| 婷婷天天综合| 天天拍夜夜爽日日| 婷婷五月成年人| 日韩美女在线视频19| 五月婷婷丁香| 日本色婷婷| 99免费在线| WWW丁香五月| 日韩AV在线免费观看| 色五月婷婷网| 五月天激情婷婷| 欧美色性色好| WWW,婷婷,COM| 五月婷导航| 婷婷五月天中文字幕.| 99re6在线视频精品免费| 色私五月婷婷| 亚洲av网址| 天天干一干| 91色噜噜狠狠狠狠色综合| 激情网婷婷婷| 久久这里有精品在线观看| 无码色色色色色| 色婷六月| 综合久久9| 丁香六月青青草| 五月天丁香婷婷视频网址| 欧美激情综合| 精品一区二区三区免费毛片爱 | 五月丁香成人网| 超碰97人人操| 97久久草草超级碰碰碰| 久操综合| 丁香五月成人网| 色婷婷9| 欧美成人性爱网| 五月丁香久久呀| 六月婷婷狠狠| 91小黄书网址在线观看| 99爱视频免费看| 亚洲五月天综合| 操B五月天| 91激情五月开心| 草榴视频网| 丁香五月播播| 黄色激情五月天| 操啊操av| 激情综合国产| 五月天婷婷久久视频| 超碰色综合| 99热这里只有精品最新网址| 日韩啊啊啊| 99色精品| 亚洲网视屏| www.99热在线观看| 六月色婷婷| 涩五月婷婷| 天天爽夜夜操| 天天爽天天操| 五月丁香婷婷钟和色图| 亚洲第一影院高清无码网站| 成人在线不卡| 热的国产,热的综合,热的有码| 97亚洲色 torrent magnet| 色播五月婷婷| 中文网av| 5月婷婷6月六月丁香| 亚洲美女网Va| 国产亚洲在线观看| 超碰成人公开| 国产免费av在线| 91久久综合| 久热欧美| 五月天久久www| 五月天成人网婷婷| 五月天综合网| 国产精品18久久久| 欧美成人色婷婷| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 这里只有精品久久| 无码人妻一区二区一牛影视| 中文字幕av久久爽一区| 亚洲国产精品成人va在线观看| 婷婷五月丁香六月天亚洲综合| 99精品热| 蜜桃人妻无码AV天堂三区| 久久色六月| 丁香熟女乱| 9久久婷婷国产综合精品性色| 99色色爰| 99精品综合视频| 97色在线视频| 九色综合五月天婷五月| 久久九九怡红院| 五月婷婷婷婷婷婷艺术| 丁香五月中文字幕| 九九99精品免费播放| 成人在线日韩欧美| 欧美va| 五月婷婷影| 久久九九爽| 无遮挡国产高潮视频免费观看| 骚逼视频一区2区| 97色啪| 成人色站,在线视频,看片-SS1AV| 五月丁香777| 欧美色婷婷| 婷婷五月AV| www.com五月天| 五月天婷婷伊人| 婷婷五月成人| 五月丁香综合影院| 思99热精品久久只有精品| 色色性爱视频| 又大又粗九一在线| 狠狠五月激情在线| 99视频久久| 少妇性按摩无码中文A片| 奇米色大香蕉| 五月丁香999| 五月天婷婷久久| 亚洲综合五月天| 婷婷丁香91| 思思热思在线精品视频| www.超碰在线| 丁香婷婷五月综合| www.狠狠操.com| 九九热精品99| 日本黄色精品| 天天综合网亚洲网站| www.婷婷.com| 婷婷激情四射五月天| 亚洲avjiujiur91| 99精在线| 日本在线观看91| 五月婷久久| 9l视频自拍9l视频自拍九色学生| 五月综合激情图片| 国产日日夜夜操| 粉嫩av蜜桃av蜜臀av| 精品成人在线观看| 婷婷五月天久久| 国产亚洲精品久久久久苍井松 | 激情小说之五月| 综合色色网| 欧美久久九九| 开心五月天激情| 国产做爰视频免费播放| 青青草a在线| 99综合免费视频| 久七香蕉| 综合五月天| 狠狠色噜噜狠狠狠狠狠色综合久久| 丁香五月网络网络| 五月婷婷激情综合| 婷婷开心青青草| 人人爱操| 五月婷婷高清| 九九热这里| AA久久| 来吧亚洲综合网| 日本在线播放97| 2025天天爽天天摸| 一本色道久久综合狠狠躁一二三 | 91好好热日本在线| 任你搞网站| www.com任你艹| 五月婷婷视频ab| 亚洲电影在线观看| 人妻操逼| 免费超碰在线观看| 色欲婷婷夜夜| 丁香八月综合激情| www.五月天| 99热 免费| 久久丁香五月天| 草榴视频网| 丁香狠狠色婷婷久久无码视频| 九九九激情网| 色五月AV| 99ri在线| 年轻的妺妺伦理HD中文| 丁香五月六月婷婷殴美综合| 丁香五月婷婷激情完整版| 久久九九热视频| 日韩有码久久| 99久久99九九99九九九| www,欧美干干干干干干| 五月丁香久久激情综合| 五月婷婷丁香五月| 婷婷五月花免费视频在线| 色吧综合网| 开心亚洲久久开心| WWW色色色COM| 丁香五月天网站| 色婷婷狠狠| 精品一二三区久久AAA片| 深爱激情四射| 夜色.cnm| 99操视频| 久久亚洲婷婷| 色婷五月天| 在线另类| 人人射人人高潮| 香蕉久久六月| 无码AV免费精品一区二区三区| 国产色色色色色| 五月婷婷免费看| 色 噜噜 九月 婷婷| 一级二级色大片| 久热无码| 色综合中文综合网| 五月婷丁香| 婷婷五月综合欧美在线播放| 激情五月天福利| 丁香六月婷| 综合欧美五月婷婷| 91亚洲免费片| 亚洲操操操| 九九视频这里有精品| 日韩另类在线观看| www.色多多婷| 亚洲啪啪网| 六月激情久久婷婷| 99草视频在线观看| 99视频网址| WWW色色色COm| 青柠影视免费高清电视剧| 人人操人人爱丁香五月| 婷婷丁香射射| 五月天AV大香蕉| 丁香五月伊人| 99玖玖在线视频| 色五月婷婷开心| 久久超视频| 国产精产国品一二三在观看| 丁香五月网址| 丁香 婷婷 亚洲 熟女| 97久久超级| 日本丁香五月| 五月天社区婷婷丁香社区| 婷婷五月天伊人| 丁香婷婷在线| 啪啪一区| 最近中文字幕2019视频1| 99热碰碰| 天天插夜夜爽| 在线视频色五月| 99玖玖视频| 久久98| 激情五月天偷拍综合网| 伊人色综在线| 五月丁香婷婷久久| 7月婷婷六月丁香| 任我肏视频精品| 99热这里| 婷婷五月天AV| 欧美啄木乌丝袜人妻系列| 五月天激情四射网站| 亚洲精品久久久无码| 黄网在线观看免费| 99精品免费视频| 就爱干 在线| 国产 亚洲 在线| 久久久久久久11111111111| 亚洲天堂热| 五月天最新网| 五月丁香六月婷婷网| 成人五月天在线视频在线观看 | 婷婷久久精品| 美国天天操无码| 中文字幕在线aⅴ免费观看| 丁香五月激情婷婷| 五月花婷婷| 思思 热 99| tingtingzonghewang| 久久99视频| 婷婷五月天网| 婷婷色综合av| 美欧日韩国产成人在战| 五月婷婷AV| 99精品视频在线| 丁香五月天激情五月天激情五月天激情网 | 日本99热| 综合色色色| 日本久久婷婷| 99热这里只有精品在线观看| 久久这里只有精品8| 五月婷婷欲色| 亚洲色情在线| 久久只有18视频| 国产熟女日日骚五月丁香爱| 亚洲综合婷婷五月天| 日日夜夜青青草| 精品无码av丁香五月激情| 色婷婷丁香五月天| 色综合色欲综合天天免费| 激情五月黄色小说| 婷婷丁香五月激情中文字幕版| 婷婷久久欧美| 婷婷性爱无码视频| va婷婷| 97色色在线视频| 丁香六月无码播放| 五月天丁香婷婷社区| 久久精品人妻| 五月天色色色| 拍真实国产伦偷精品| av大香蕉| 国产精产国品一二三在观看| 美女被操一区二区| 五月婷婷六月丁香首页| 91日本在线观看| 2015好吊操| 五月丁香激情综合网| 激情综合无码| 97色婷婷| 5月丁香美女影院| 亚洲成人AV一区在线观看| 免费成人网在线观看| 国产成人AV在线播放| 久久女人天堂| 狠狠狠狠狠狠草| 思思热99在线视频| 综合色图区| 97自拍视频在线| 久久综合婷婷| 潮汕成人AV片在线| 激情综合五月丁香| 人妻 性久久久久久| 色五月婷婷开心| 五月激情综| 亚洲六月色婷婷| 久久婷婷五月天| 琪琪色综合网站| 免费看成人AA片无码视频吃奶| WWW色五月| 青青草原亚洲久| 99久在线精品99re5热视频| 久久五月丁香| 91精品久久久久久综合五月天| 超碰成人av| 九九99久久| 丁香99| 婷婷五月天六点丁香五月| 亚洲99激情| 激情五月丁香六月综合AVXXXX| 色五月婷婷av| 五月丁香久久激情综合| 色都都狠狠色都都色综合色| 开心久久xxx色| 色婷婷丁香五月综合| 久久狼人天堂| 久9草在线观看视频| 久久九九99| 亚洲第一视频 久久| 粉嫩av蜜桃av蜜臀av| 4399啪啪视频| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | www.一区二区三区| 99视频在线| 天天拍久久| 色婷婷六月天| 久久视频这里都是精品| 久久五月天色婷婷| 99免费视频精品| 草一草avb| 特级西西4444www无码| 天天色五月婷婷91久久久久久久| 天天干夜夜操A片| 99热这里只有精品首页| 亚洲在线免费成人| 98毛片| 九九热免费视频| 99久久国产宗和精品1上映| 九九99九九99偷拍视频免费看| 少妇激情五月婷婷| 99这里有精品| 四虎成人精品永久免费AV九九| 亚洲性爱区无码区| 久久色六月| 婷婷成人综合| 色综合婷婷| 欧美VA视频| 久久思思精品| 97色五月丁香婷婷| 亚洲高清在线| 99操碰| 九九亚洲| 九月丁香八月婷婷久久综合久97| 婷婷五月天亚洲丁香| 色色五月天网站| 婷婷激情啪啪| 天天久| 亚洲欧洲美女在线观| 成人av免费观看| 97色操| 东北黄色一级| 久久五月丁香| 狠狠干综合网| 91色涩| 性爱五月丁香| 久久免费操| 丁香 亚洲 久久| 欧美丁香婷婷五月天| 色色五月天 亚洲| 在线,国产,色,热视频| 五月丁香色| 色五月婷婷综合在线| 99视频在线精品| 亚洲精品V天堂中文字幕| 久久五月天精品视频| 思思re99视频在线观看| 婷婷欧美激情综合| 亚洲第一综合| 99这里只有精品在线观看| 色播五月网| 狠狠干综合| 五月婷婷综合网| 狠狠干婷婷| 激情五月天 婷婷| 丁香六月激情综合| 五月丁香| 五月丁香青草综合啪啪| 亚洲婷婷丁香五月| 色五月婷婷操逼| 亚洲 视频 导航 一区| 色色色在线观看| 久久99激情| 五月婷婷欧美| 久久这有这里精品| 欧美成人AAA片一区国产精品| 天天爽—爽| 色婷婷成人做爰A片免费看网站| 激情丁香淫荡婷婷| 久久ri精品视频| 五月丁香偷拍| 色婷婷婷av| 五月天综合在线网| 久热99热| 五月丁香色五月| 久久性都花花世界成人免费视频| 五月丁香六月激情综合| 久久欧洲久久| 亚洲狠9| 天天搞天天爽| site:hcxsz888.com| 777精品久无码人妻蜜桃| 丁香九月婷婷色| 五月丁香色综合| 五月天色综合| 97色色色色色| 只有精品视频在线观看| 任你干线上免费视频有3吗| 欧美乱码国产一级A片| 99热碰碰热| 亚洲国产精品SUV| 丁香五月天AV| 欧美五月丁香啪啪响视频| se色婷婷视频| 99色热视频| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 五月婷婷av| a在线观看| 五月婷婷综合视频| 久久99热这里只有精品| 成人 在线 日韩| seav天堂| 91操人| www.亭亭五月天| 五月天色色色| 色婷综合| 成人无码髙潮喷水A片| 直接看的av| 99色色网站| 日本三级毛片| 激情色五月天| 色玖玖综合网| 一起草性爱不卡视频| 五月开心婷婷中文字幕| 九九热在线99| 色婷婷成人做爰A片免费看网站| 久热这里只有| 99热精品6| 欧美又粗又大一区二区在线观看| 欧美图片丁香五月天| 国产无套精品一区二区| 色丁香五月婷婷| 六月婷婷五月丁香| 五月丁香无码| 狠狠色激情在线| 大天天伊人| 青青久久五月| 亚洲欧美在线观看| 色色99| 色色AV色色色东莞| 久久激情五月天| 深情六月婷婷综合久久| 久草大| 97热久久| 9热超碰| 午夜婷婷| 久久久人妻| 91玖玖| 免费观看的av| 日韩在线婷婷五月天综合| www.com操| 久久这里只有精品07| 久久曰曰| 精品乱码视频| 伊人久久艹| 操操自拍| 99毛片| 91|九色|动漫| 98永久精品| 亚洲经典三级| 超碰狠狠干99| WWW色五月| 超碰在线caop| 青青草青青草五月天| 中文字幕网伦射乱中文| 欧美 日韩 人妻 高清 中文| 亚洲成av人影院| 久久久婷婷婷| 色色色色色网| 欧洲第一无人区观看| 五月激情综合网| 亚洲超碰在线| 99精品无码| 在线99热| 国产偷人爽久久久久久老妇APP| 久久综合中文| 丁香五月婷婷基地| 精品夜夜澡人妻无码AV| 五月丁久久| 射婷婷中文字幕| 国产成人AV不卡| 五月丁香婷婷伊人| 91超级碰人人操| 婷婷激情五月视频| 高清不卡一区| 婷婷 久综合| 操笔无码| 超碰熟女拍拍| 色五月丁香伊人五月| 天天插AV丝袜中| 激情噜噜噜| 激情久久五月天| 久久久97| 久久婷五月影院| 久久久高清| 狠狠色丁香婷婷五月| 中文字幕日韩成人| 日日操夜夜爽白洁| 狠狠狠人妻| wwwxxx五月婷婷小说| 思思久久99热只有频精品66| se婷97| 精品婷婷丁香五| 97色啪| 国产色色在线| 丁香五月中文字幕久色| 99热综合网| 欧美日韩99| 成人综合网站| 丁香五月黄色| 色五月婷婷天天干| 日日夜夜噜噜爽爽| 中文AV在线观看| 黄色AV日韩| 精品无码久久久久久久久| 99精品综合在线| 婷婷97碰碰| 九九这里有精品视频| www夜夜操comwww| 人人操AV| www久久99| 天天色综网| 五月婷久久草| 婷婷激情六月中文| 六月丁香中文字幕| 精品9197碰| 国产精品视频| 狠狠操.com| 五月丁香六月婷婷综合网站| 精品久久人妻| 亚洲av成人电影在线观看| 91婷婷| 天天干天天射色综合| 少妇高潮一区二区三区99欧美| 任你躁XXXXX麻豆精品| 182TV亚洲| 亚洲婷婷激情888精品久| 久久婷婷综合基地| 日韩av在线播放综合网| 亚洲 视频 导航 一区| 黄涩毛片| 99热6精品| 伊人大香蕉爱聚| 26uuu视频欧美| 九九蜜臀精品| 久艹大香蕉| 操大屄五月天视频| 婷婷六月丁香开心深深爱| 26UUU精品一区二区| 性无码专区无码| 丁香六月色| 性爱电影科技贸易有限公司| 狠狠色色| 97视频.干com| 婷婷丁香五月六月激情| 九九在线精品| 婷婷的久久网站| 五月丁香六月婷婷无码| 色天天久婷婷| 99免费在线视频| 狠狠色五月| 亚洲另类噜噜| 色六月 婷婷| 丁香六月中文| 五月婷婷色播| 99热r| 玖玖资源在线视频| 久久久久视剧HD| 日日夜夜噜噜爽爽| 无码少妇高潮喷水A片免费| 级情九色| 久久色情| 久久婷婷伊人| 99热最新| 丁香六月婷婷综合| 五月色网| 久久综合伊人77777蜜臀| 五月天婷婷影院影院观看| 九九丁香社区欧美激情| 久色五月婷婷综合| 中文字幕有多少字| 狠狠狠人妻| 99热综合| 都市激情五月婷婷综合| 国产做爰视频免费播放| se99在线| 色情综合| 在线综合婷婷| 丁香五月婷婷av影院| 婷婷四色五月| 中文字幕人妻一区二区| 能直接看的AV网站| 色色色1网址| 99免费在线| 青996青| 国内外色色色色色成人视频| A片试看120分钟做受图片| 五月婷婷成人w| 成人做爰高潮A片免费视频| 久草五月天电影网| 亚洲av另类在线观看| www、色色色| 99热全是精品| 97碰| 激情丁香久久| 亚洲人人操| 五月四色婷婷| 亚洲图色五月天| 九九机热| 激情婷婷九月| 五月丁香免费看| yazhou seshipin| 国产黄大片在线观看画质优化| site:ornaments52.com| 欧美成人猛片AAAAAAA| 国产另类综合| 亚洲99在线| 久热九九| 丁香综合伊人AV| 婷婷六月久久| 婷婷五月天偷拍| 性热视频99精品| 婷婷六月啪啪| 婷婷射图五月天| 亚洲一级AV在线免费播放| 综合色图区| 五月婷婷六月爱| 久艹久| 玖玖综合色| 丁香五月日啪| 美国不卡视频| 丁香九月激情| 激情五月天伊人av| 思思99热这里只有精品| 婷婷影视久久| 大香蕉啪啪| 丁香花五月天| 久久丁香婷婷色情综合| 六月婷久久| 色狠狠狠干| 亚洲国产网址| 激情五月天视频| 超碰三级秋霞| 五月婷久草| 思思热视频在线观看| 99re这里有精品手机在线| 丁香久久综合| 激情内射人妻1区2区3区| 天天插综合网| 99在线观看| 亚洲av电影在线| 婷婷五月天成人网站| 一逼色综合| 亚洲美女裸体被操在线观看| 97色婷| WWW五月| 激情五月开心五月在线视频| 六月丁香成人| 99精品免费视频| 五月天亭亭俺也| 啪啪婷婷五月天激情| 激情综合99| 欧美性生交XXXXX无码小说| 五月天伊人久久久久| 丁香花五月天| 另类小说五月天| 免看黄大片AA | 99在线观看| 99精品视频网| 激情五月激情综合网一级丸片| 日韩黄色网络| 狠狠 久久| 亚洲精品久久久久久久久久吃药| 99精品自拍视频| 久色婷婷200| 激情丁香五月激情婷婷| 9久久久久久久久久久| 91人人妻人人操人人爽| 五月婷婷啪啪| 97婷婷狠狠| 丁香婷婷深情五月亚洲| 激情丰满熟妇五月| 狠狠色狠狠干| www.久久99| 在线不卡的视频| 久久九九网| www.色婷婷| 激情久久五月网| 这里都是精品99| 婷婷五月天你懂的| 色五月激情图片| 成人αV视频免费观看| 久久婷婷亚洲| 人妻久久久久久久 | 五月丁香婷婷激情久久| 五月丁香六月婷婷综合在线| 丁香婷婷基地| 超碰超碰在线| 97碰久久| 丁香九月婷婷综合| 婷婷丁香97| 激情六月天婷婷| 色九九九九| 婷婷丁香综合| 激情五月天色婷婷综合| 久久综合五月| 欧美三级韩国三级日本三斤| 欧美天堂婷婷日韩| 国内熟女黄色系列| 伊人喵咪a V| 五月婷婷av在线| 婷婷激情六月中文| 国产日产亚洲系列最新| 免费观看全黄做爰的视频| 国产亚洲精品久久久久久郑州| 丁香在线视频| 噼里啪啦在线观看免费完整版视频| av色婷婷| 五月婷婷色色| 99热这里只有精品免费| 色吧五月| 少妇人妻偷人精品无码视频新浪| JAPANRCEP老熟妇乱子伦视频| 99热成人| 色五月大香蕉| 狠狠干狠狠色| 少妇水多A片太爽了| 九九热123| 大香蕉久久伊人网| 猫咪伊人AV| 伊人大蕉香| 99亚洲精美视频在线观看| 久久免费操| 91狠狠综合久久| 婷婷激情丁香五月天综合| 久久激情综合| 五月开心婷婷| 久久偷拍综合五月天| 夜夜谢天天干| 激情小说五月天| 综合色99| se99视频| 色天堂婷婷| 99九九99九九九视频精品| 久久婷婷综合拍| 9福利性视频欧美| 激情视频婷婷五月花| 精热在线综合网| 婷婷色丁香五月| www夜夜| 一区二区免费看| 日本婷婷| 亚洲成人日韩无码精品| 九九热99视频在线| 91热爆在线| 天天综合插插| 久久99网| 任我肏| 亚洲成av人影院| 九 九九九AV| 另类精品视频在线观看| 天天婷婷天天| 亚州性爱99| 五月丁香婷婷欧美| 97人人射| 婷婷性爱综合| 亚洲激情亚洲激情| 久久婷婷五月综合伊人| 日韩AAAAA| 九月婷婷人人操人人舔人人爱| 久久3p| 午夜爱爱爱成人| 久久久久亚洲AV成人无码电影| 日木狠狠干| 五月天自拍网| 色婷婷88| 9久久精品| 国产亚洲99久久精品熟| 欧美久热| 精品久久久久久久人妻| 亚洲AV网站| 色情激情五月婷婷| 综合激情伊人影视在线| 五月丁香六月婷婷综合网站 | 中文字幕 中文字幕明步| 高清成人综合| 开心日韩丁香婷婷五月| caop在线| 五月停亭久久电影| 五月婷婷六月丁香激情深爱| 五月天综合在线观看| 丁香五月婷婷色偷偷| 99re久久| 99操无码视频观看| 麻豆五月丁香婷婷| 久热这里只有精品6| 久久久九九九 99| 婷婷丁香五月久久| 色婷| 一本色道久久综合狠狠躁一二三 | 久久视频在线视频| 亚洲无码免费看| caobi四区| 亚洲五月花| 丁香在线视频| 色婷婷色情| 色婷婷丁香| 成人国产欧美大片一区| 91丨九色丨大屁股| 五月婷婷导航| 久久丁香网| 色欲日日躁| 青草五月天| 91色色色18| 97在线日本| 性做爰1一7伦| 美女91一起草| 婷婷六月天激情影院| 99激情在线| 一婬一伦一区二区三区| 亚洲精品性色| 嫩草视频在线观看| 日韩精品超碰在线观看| 26uuu另类亚洲欧美日本一| 狠狠色色| 五月综合亚洲色| 婷婷五月天精品| AV在线免费播放| 丁香激情五月| 五月天婷婷色综合| cc精品国产性传播| 六月婷欧美丁香综合| 激情二色月| 欧美色频| 亚洲激情免费久久| 久久精品99| 五月婷婷黄色| 九九热精品| 色色五月婷婷| 国产午夜一区二区三区| www久久99| 天天艹夜夜艹| 婷婷激情五月天网站| www五月| 九九色影视| 色99网站| 五月婷婷在线视频免费观看| 精品久久99码| 色八月婷婷| 久久在线视频免费观看| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 色噜噜伊人| 操一区| 欧美内射AA| 亚卅毛片| 九九99九九99九九99视频网| 99ri在线| 五月丁香影院| 婷婷丁香久久五月综合| 91色色五月天| 六月综合在线| 色色九九五月天 | 无码免费人妻A片AAA毛片西瓜| 这里只有精品视频国产| 性爱网五月婷婷| 久久九九蜜| 青青艹b| www.婷婷| 99色这里| 超碰成人公开| 婷婷丁香五月高清| 丁香五月婷婷欧美激情-中文天堂最新版在线观看 | 九九av| aaaaaa片| 热99玖玖99玖玖99九九| 欧美色色网| 综合一区二区三区| 日本天天操| 五月丁香婷庭在线| 激情婷婷九月| 婷婷丁香18| 婷婷六月色情| 99九精品| 丁香五月激情五月| 五月丁香少妇网| 日本一区二区三区精品视频| 婷婷五月综合色拍| 欧美五月丁香在线| 色婷婷AV久久| 丁香六月久久| 人人色AV| 综合五月丁香97| 久久婷婷亚洲| 伊人AV五月婷| -91九色大屁股| 久久色六月| 天天日天天插| 五月天·www·com| 九月丁香婷婷网| 丁香五月影院| 日日夜夜小色哥| 久久婷婷色综合| 9热网站| 欧美日韩成人高清在线| 亚洲性图一区二区三区| 久碰久| 激情五月综合网| 五月婷婷激情五月| 欧美噜噜免费观看| 九月婷婷综合网| 精品国产AV色一区二区深夜久久| 欧州色色| 女人露出p毛视频www网站| 色站9/| 激情五月综合网| 日本婷色| 大狠狠在线| 国産精品| 99热99精品在线观看| 久久婷婷亚洲| 99A片| 思思热99er在线视频| 殴美日韩成人| 色无婷婷| 久热99| 夜夜夜夜夜骑撸| 久9热视频在线观看| 蜜臀av 粉嫩av 懂色av| 色五月综合在线| 99这里只有| 91超级碰碰| 色五月超碰| 五月综合影院| 五月婷婷欧美| 久9热在线免费观看| 色情综合| 天天综合五月| 天天狠狠干| 丁香五月婷婷六月婷| 婷婷久久丁香五月| xxxx五月天色色| 伊人在线视频| 久久XX| 日韩av干| 五月天伊人av| 久久婷婷色| 久操人妻| 99热综合| 婷婷另类小说| 国产裸舞表演WWWW| 美女100%露全身无挡网站| 97操碰| 色色五月天丁香| 亚洲激情| 国产精品A片在线| 少妇被躁爽到高潮无码文| 少妇综合网| 玖玖色综合| 婷婷激情六月综合| 久99久热| 色色色热| 深爱激情五月网| 五月激情天天干| 六月婷婷久久大全| www国产亚洲色婷婷com| 丁香五月天殴美激情| 日本熟女三区| 久久视屏这里只有久久| 欧美五月丁香啪啪响视频| 美女激情综合| 九九操操| 97碰超级人人看| 丁香婷婷网| 涩五月婷婷| 久/久精品99看9| 啪啪啪大香蕉| 激情久久综合| 亚州精品色情无码A片| 久热9| 色啪影院| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 亚州在线中文字幕| 亚洲精品久久久无码| 精品亚洲国产成AV人片传媒| 97高清国语自产拍| aV直接看| wwww.色婷婷| 另类丁香综合| 99丁香五月| 奇米色大香蕉| 狠狠干狠狠操狠狠爱| 一操久久| 97日在线视频| 97碰碰视频在线观看免费| 粉嫩av蜜桃av蜜臀av| 91超级碰| 激情深爱婷婷网| 午夜爱爱爱成人| 婷婷综合伊人丁香| 五月天 另类图片| 激情五月天网站| 中文在线成人| www,色婷婷| 五月婷婷AV| 99爱爱| 乱精品一区字幕二区| 伊人婷婷99热精品| 色吊丝av中文字幕| 久久性刺激| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 九九99男女视频在线观看| 7777精品伊人久久久大香线蕉最新版| 99在线热视频| 日韩啪啪网| 人妻系列久久久久久久久久久 | 亚州操操| 99精品热视频只有精品10| 五月丁香日本片| 五月丁香激情综合六月涩涩爱| 亚洲一区二区无码蜜乳av| 殴美综合激情五月天免费视频| 亚洲婷婷91丁香| 婷婷激情综合| 五月婷婷综合在线视频| 亚洲九九婷婷| 天天操人人干| 欧洲第一无人区观看| 国产乱轮一区二区三区| 亚洲狠狠终合停停终合| 操九色| 少妇日麻屄| 五月婷六月丁香| 婷婷五月激情六月| 久久婷婷成人综合色怡春院| 丁香五月天天久久综合小说| 色久99| 日本怕怕视频| 激情五月开心五月丁香五月| 激情综合五月天| 成人精品视频99在线观看免费| AV免费在线网站| 久九色| 久久九九免费大视频| 丁香婷婷成人网| 国产激情综合| www.婷婷五月.com| 伊人激情啪啪| 欧美va亚洲va在线播放| 亚洲区视频| 激情九月婷婷九月| 亚欧州精品视频| 欧美色色色| 久9热在线视频| ..真实国产乱子伦毛片| 五月丁香久久综合色| 好好日激情五月天| 99在线资源| 字幕网AV中文字幕| 久久久.COM| 成人性爱无码| 综合五月天| 碰97久久| 99精品无码网站| 丝袜人妻| 色玖玖网| 婷婷丁香五月视频| 天天操B| 开心五月婷婷伊人| 精品久久二6| 99色在线| 江苏少妇性BBB搡BBB爽爽爽| 99精品久久久| 99热这里只有精品22| 97人妻碰碰中文无码久热丝袜| 一起肏在线视频| 六月婷婷私欲| 狠狠草狠狠草| 丁香五月综合久久| 九九视频精品视频精品| 337p大胆噜噜噜噜噜91Av| 99热个人在线| 婷婷丁香社区网| 日日干日日| 九九激情网| 免费婷婷| 五月天狠狠网| 色.五月综合网| av在线超清中文| 五月婷网| 丁香五月大香蕉AV| 99精品免费欧美小视频| 天堂无码人妻精品AV一区| 久色网址| 九九热99免费视频| 玖玖热99| 婷婷丁香五月亚洲| 国内一级片| 久久激情综合| 婷婷五月六月| 丁香九月激情| 色婷婷操逼| 欧美色色色色色色| 婷婷五月综合中文字幕| 极品 少妇 内射| 中文字幕日产A片在线看| www色色色com| 66色在线日韩| 五月天丁香看婷婷| 操你av| 色五月丁香A欧美com| 91超级碰在线视频| 性爱久久| 色五月自偷自拍婷婷婷婷| 色综合五月在线| ..真实国产乱子伦对白在线_欧| 激情五月,色五月| 五月天婷婷激情小说电影| 91无码视频| 日韩婷婷| 久久99婷婷| www.99久| 99综合免费视频| 成人在线精品| 九九色中文| 99热啪啪| 99视频这里只有免费精品| 99精品视频网站| www.天天干.com| 99久久久久| 可以免费看av网站| 激情内射人妻1区2区3区| 六月婷五月丁香| 啪到高潮激情丁香五月| 久一这里有精品国产| 六月丁香激情网| 天天操夜夜爽天天操| 亭亭五月色男人| 超碰成人电影| 国产成人网址| 婷婷五月天成人在线视频| 啪啪91| 狠狠干2007| 91妻人人爽人人看片| 天天干天天 亚洲| 狠狠色综合图片| 色色色免费视频| 嫩草AV久久伊人妇女超级A| 五月丁香六月婷婷手机无线| 五月停停大香蕉| 狠狠操狠狠操AV| 六月久久婷婷| 中文字幕 中文字幕明步| 五月伊人综合| 狠狠色综合五月人人| 夜夜做夜夜愛| 色色色九九九五月婷婷| 99久久这里只有精品| 国产97色在线| 99国产精品久久久久久久久久久 | 夜夜爽天天干| 996er在线观看| 蜜臀AV在线观看| 操操操AV| 99婷婷国产最新视频| 日本九九九九| 日韩久久这里只有精品| 91碰碰| AAA亚洲AV| www.五月天婷婷| 99色视频在线| 99热成人在线| 久久婷婷久久| 香蕉综合网| 三级成人网站| 婷婷丁香无码专区| 婷婷五月深爱五月| 丁香五月婷婷亚洲色图| www.婷婷五月| 久香草视频在线观看| 成人中文字幕在线| 中文字幕在线日亚州9| 五月开心深深爱激情综合 | 开心 五月 综合| 成人性生活免费观看。| 成人在线精品| 九九热99精品|