亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

STM32 HAL庫(kù)驅(qū)動(dòng)CH455數(shù)碼管顯示:I2C通信與避坑指南

STM32 HAL庫(kù)驅(qū)動(dòng)CH455數(shù)碼管顯示:I2C通信與避坑指南 簡(jiǎn)介面向STM32嵌入式開(kāi)發(fā)者的CH455四位數(shù)碼管驅(qū)動(dòng)方案基于STM32Cube HAL庫(kù)編寫(xiě)適用于需要快速實(shí)現(xiàn)數(shù)碼管顯示與按鍵掃描的儀表、控制面板等場(chǎng)景。壓縮包共2個(gè)文件含1個(gè)C源文件和1個(gè)頭文件采用IIC兩線接口驅(qū)動(dòng)CH455SDA、SCL引腳均可自定義在CubeMX中設(shè)置標(biāo)簽為T(mén)UF_SDA、TUF_SCL并同步修改頭文件注釋處引腳定義即可完成底層適配。使用時(shí)先在main.c中調(diào)用TUF_DPY_Write_Cmd(CH455_SYSON)開(kāi)啟鍵盤(pán)顯示功能再調(diào)用TUF_DPY_SHOW_NUM(float num)直接顯示浮點(diǎn)數(shù)適合輸出傳感器讀數(shù)、計(jì)算結(jié)果等。CH455驅(qū)動(dòng)可有效節(jié)省主控GPIO資源配合HAL庫(kù)的IIC功能整套資源僅約2KB代碼精簡(jiǎn)且易于移植到不同STM32型號(hào)。已有1682人學(xué)習(xí)下載適合具備基礎(chǔ)HAL庫(kù)知識(shí)、希望快速上手CH455驅(qū)動(dòng)的開(kāi)發(fā)者借鑒。1. 為什么這個(gè)標(biāo)題值得花時(shí)間HAL 庫(kù) CH455 是低成本數(shù)碼管顯示的省心解STM32Cube HAL 庫(kù)驅(qū)動(dòng) CH455 四位數(shù)碼管這個(gè)組合解決的是嵌入式開(kāi)發(fā)里最常見(jiàn)的一件事想顯示數(shù)字但 GPIO 不夠用。CH455 通過(guò) I2C 把段選、位選都接管了CPU 只需要在內(nèi)容變化時(shí)發(fā)幾個(gè)字節(jié)之后芯片自己完成動(dòng)態(tài)掃描不占主循環(huán)。相比 74HC595 需要自己寫(xiě)移位時(shí)序、相比 TM1637 需要讀廠商私有協(xié)議CH455 用標(biāo)準(zhǔn) I2C 通信工程上更干凈排查起來(lái)也更直接。我最初接手一個(gè)帶四位小數(shù)顯的儀表板需求時(shí)第一反應(yīng)是 GPIO 直接掃結(jié)果一算引腳差點(diǎn)不夠后來(lái)?yè)Q成 CH455 方案一版就點(diǎn)亮了。這篇筆記把 CubeMX 配置、HAL I2C 發(fā)送、段碼拆幀、避坑清單一次講透適合正在做實(shí)驗(yàn)箱、工業(yè)面板、充電樁顯示模塊的開(kāi)發(fā)者。2. CH455 的通信機(jī)制為什么一個(gè)字符要拆成兩個(gè)半字節(jié)發(fā)很多第一次用 CH455 的人會(huì)拿它當(dāng)普通數(shù)碼管驅(qū)動(dòng) IC 來(lái)理解以為像 TM1650 那樣一個(gè)寄存器寫(xiě)一個(gè)完整段碼。實(shí)際上 CH455 的幀結(jié)構(gòu)設(shè)計(jì)很特別——它內(nèi)部寄存器是 4 位寬的I2C 每個(gè)字節(jié)的高 4 位是寄存器地址低 4 位才是數(shù)據(jù)。這段話值得讀兩遍因?yàn)楹竺嫠姓{(diào)試?yán)Щ蠖紡倪@里來(lái)。2.1 段碼 8 位、寄存器 4 位拆幀是硬性規(guī)定數(shù)碼管一個(gè)字符包含 7 段加小數(shù)點(diǎn)正好 8 位可以對(duì)應(yīng)一個(gè) uint8_t。但 CH455 設(shè)計(jì)成每次只能寫(xiě) 4 位數(shù)據(jù)所以一位數(shù)碼管的段碼必須拆成低 4 位和高 4 位兩次發(fā)送分別寫(xiě)到不同的寄存器地址去。用地址位來(lái)區(qū)分高半字節(jié)還是低半字節(jié)而不是像某些芯片那樣用一個(gè)額外的標(biāo)志位。我一般這樣定義幀結(jié)構(gòu)內(nèi)部地址 0x00 到 0x03 對(duì)應(yīng)第 1 到第 4 位數(shù)碼管的低 4 段地址 0x04 到 0x07 對(duì)應(yīng)第 1 到第 4 位數(shù)碼管的高 4 段。所以發(fā)送時(shí)一個(gè)數(shù)據(jù)字節(jié)是(地址 4) | (半字節(jié)段碼)。舉個(gè)例子要讓第 1 位數(shù)碼管顯示數(shù)字 0段碼是 0x3F低 4 位是 0x0F高 4 位是 0x03分別組裝成 0x0F 和 0x43 發(fā)送這才算寫(xiě)完整一個(gè)字符。這個(gè)設(shè)計(jì)與芯片的物理引腳排列有關(guān)。CH455 內(nèi)部做動(dòng)態(tài)掃描每時(shí)每刻只有一個(gè)位在被點(diǎn)亮位與位之間靠 CH455 自己輪流選通不需要 CPU 反復(fù)送位選信號(hào)。因此 CPU 要做的事情只剩兩件組裝幀、走 I2C 發(fā)出去。2.2 用 HAL 庫(kù)的 I2C 外設(shè)還是 GPIO 模擬我為什么選前者CH455 是標(biāo)準(zhǔn) I2C 從機(jī)理論上用兩根 GPIO 模擬時(shí)序也能驅(qū)動(dòng)。但我建議直接用 STM32Cube 生成的硬件 I2C 外設(shè)理由有三個(gè)首先硬件 I2C 的時(shí)序由外設(shè)保證起始條件、停止條件、應(yīng)答位的電平跳變不用軟件去卡延時(shí)代碼更接近「發(fā)送數(shù)據(jù)」這個(gè)語(yǔ)義其次HAL 庫(kù)已經(jīng)封裝好超時(shí)機(jī)制總線上出問(wèn)題不會(huì)讓程序死等最后后續(xù)如果要掛多個(gè) I2C 設(shè)備硬件外設(shè) 地址區(qū)分能省很多接線。GPIO 模擬不是不能做它適合在引腳實(shí)在不夠、或者想徹底繞開(kāi) I2C 外設(shè) bug 的極端場(chǎng)景。但代價(jià)是時(shí)序代碼里全是延時(shí)微調(diào)換一塊板子、換一顆晶振可能就得重新調(diào)。用 HAL 庫(kù)硬件 I2CCubeMX 里勾選一下就有可用的句柄 hi2c1發(fā)送函數(shù)一句話搞定。2.3 最小發(fā)送模型從 CubeMX 工程到第一個(gè)字節(jié)新一點(diǎn)的 CubeMX 生成 HAL 庫(kù)工程后默認(rèn)不會(huì)把 I2C 引腳映射到正確的位置所以第一步是在 Pinout 視圖里把 SCL、SDA 所在的引腳功能選成 I2C1_SCL、I2C1_SDA。我通常把 PB8 配給 I2C1_SCLPB9 配給 I2C1_SDA這是最常見(jiàn)的一組復(fù)用腳具體按自己板子的絲印調(diào)整。時(shí)鐘配置上I2C 外設(shè)掛在 APB1 總線上CubeMX 會(huì)自動(dòng)根據(jù)系統(tǒng)時(shí)鐘算出分頻。為了減少變量我第一版會(huì)把 I2C Speed Mode 設(shè)成 Standard Mode也就是 100kHz。CH455 對(duì)時(shí)序要求不算苛刻但 100kHz 在排錯(cuò)時(shí)寬容度最高等整塊板子穩(wěn)定了再改 400kHz 也不遲。工程生成后驗(yàn)證通信是否通的一條最小代碼是這樣/* CH455 的 7 位從機(jī)地址HAL 內(nèi)部會(huì)自動(dòng)左移 1 位拼讀寫(xiě)標(biāo)志 */ #define CH455_ADDR 0x48 /* 發(fā)送一個(gè)字節(jié)高 4 位是內(nèi)部寄存器地址低 4 位是段碼半字節(jié) */ uint8_t test_frame 0x0F; HAL_StatusTypeDef st HAL_I2C_Master_Transmit(hi2c1, CH455_ADDR, test_frame, 1, 100); if (st ! HAL_OK) { /* 返回非 OK先查 ACK、查接線、查地址別急著看顯不顯示 */ }第一次跑這段代碼返回值是 HAL_OK 才算跨過(guò)了最基礎(chǔ)的一關(guān)。HAL_I2C_Master_Transmit 的第三個(gè)參數(shù)是發(fā)送緩沖區(qū)第四個(gè)參數(shù)是長(zhǎng)度第五個(gè)參數(shù)是超時(shí)毫秒數(shù)。這里地址參數(shù)填 0x48而不是 0x90因?yàn)?HAL 庫(kù)要求的是 7 位地址庫(kù)內(nèi)部會(huì)自己做左移補(bǔ)位。這是新手最容易翻車的地方后面避坑章節(jié)還會(huì)單獨(dú)展開(kāi)。3. 四位共陰數(shù)碼管與 CH455 的接線、CubeMX 參數(shù)配置硬件接線看著簡(jiǎn)單實(shí)際上段序、公共端、限流電阻這幾個(gè)細(xì)節(jié)沒(méi)處理好后面全是玄學(xué)問(wèn)題。這一章把接線表和 CubeMX 參數(shù)一起列出來(lái)照著做基本能省掉三分之二的調(diào)試時(shí)間。3.1 段線、位線、電源一張接線表說(shuō)清楚CH455 驅(qū)動(dòng)的是共陰數(shù)碼管這一點(diǎn)要先確認(rèn)。四位共陰數(shù)碼管有 12 根引腳8 根段腳a 到 g 加 dp和 4 根位腳第 1 位到第 4 位的公共陰極。CH455 的 SEG0 到 SEG7 依次接數(shù)碼管的 a 到 dpDIG0 到 DIG3 接四個(gè)位腳。如果手里是共陽(yáng)數(shù)碼管不要硬接CH455 內(nèi)部設(shè)計(jì)是按共陰來(lái)的共陽(yáng)管需要額外加三極管反相已經(jīng)失去了省引腳的意義。接線順序本身不出問(wèn)題容易出問(wèn)題的是段序?qū)?yīng)。有些數(shù)碼管內(nèi)部把 dp 放在段碼最高位有些則把 g 放在最高位所以同一張段碼表在不同廠家數(shù)碼管上顯示的結(jié)果可能完全不同。我一般第一版先用0x0F這種只有低 4 段亮的測(cè)試值逐位確認(rèn)段腳和段碼位的映射關(guān)系再固化段碼表。下表是常見(jiàn)接法實(shí)際以你自己板子的絲印為準(zhǔn)CH455 引腳接往對(duì)象備注SCLSTM32 PB8I2C1 時(shí)鐘建議外部 4.7k 上拉SDASTM32 PB9I2C1 數(shù)據(jù)建議外部 4.7k 上拉VCC3.3V與 MCU 同電壓域最省事GNDGND與 MCU 共地SEG0-SEG7數(shù)碼管 a-dp段線上串限流電阻DIG0-DIG3數(shù)碼管位 1-4共陰公共端不要串電阻限流電阻的取值要單獨(dú)說(shuō)。段線上的電阻直接決定亮度阻值太小電流大傷數(shù)碼管阻值太大亮度不足。我常用 330 歐起步先看顯示效果再往 470 歐或 220 歐調(diào)。位線上不要串電阻因?yàn)楣捕穗娏魇前硕沃痛藭?huì)造成不同位數(shù)亮度差異明顯。3.2 CubeMX 配置項(xiàng)I2C 速度、上拉、時(shí)鐘樹(shù)的幾個(gè)關(guān)鍵參數(shù)CubeMX 里 I2C 參數(shù)頁(yè)主要有 Speed Mode、Own Address、Address Detection Mode、Clock No Stretch Mode 這幾項(xiàng)。CH455 是從機(jī)MCU 是主機(jī)Own Address 填什么都無(wú)所謂只要不和總線上其他從機(jī)沖突。Address Detection Mode 選 7-bitClock No Stretch Mode 保持 Disable這些保持默認(rèn)就行。真正要核對(duì)的是 Speed Mode 和時(shí)鐘樹(shù)。如果選 Fast ModeCubeMX 會(huì)要求把上升沿時(shí)間等參數(shù)填好不同板子布線質(zhì)量不一樣可能因?yàn)檫呇靥弻?dǎo)致通信失敗。我建議第一版老老實(shí)實(shí)選 Standard Mode100kHz。時(shí)鐘樹(shù)部分確認(rèn) APB1 時(shí)鐘不為 0并且 I2C1 的時(shí)鐘源已經(jīng)掛上否則 HAL_I2C_Init 會(huì)返回失敗。寫(xiě)到這里有個(gè)容易忽略的點(diǎn)CH455 的 SCL、SDA 是開(kāi)漏結(jié)構(gòu)必須靠上拉電阻才能輸出高電平。STM32 的部分引腳可以啟用內(nèi)部上拉但內(nèi)部上拉阻值偏大在長(zhǎng)線上不夠穩(wěn)。我一般會(huì)在板上加兩顆 4.7k 外部上拉電阻一個(gè)接到 SCL一個(gè)接到 SDA哪怕只做面包板原型也值得加上。別小看這一步很多「偶爾通信失敗」在加了上拉之后就消失了。初始化完成后可以用 HAL_I2C_IsDeviceReady 來(lái)探測(cè)從機(jī)是否存在。這個(gè)函數(shù)會(huì)發(fā)送地址并等待應(yīng)答返回 HAL_OK 說(shuō)明 CH455 在總線上應(yīng)答了uint32_t tick HAL_GetTick(); /* 對(duì)焦點(diǎn)發(fā)送帶讀標(biāo)志的地址看 CH455 是否 ACK */ if (HAL_I2C_IsDeviceReady(hi2c1, CH455_ADDR, 10, 100) ! HAL_OK) { /* 超時(shí)還返回失敗大概率是接線、上拉或地址問(wèn)題 */ }如果這一步失敗不要繼續(xù)往下調(diào)顯示邏輯先把電路查明白。I2C 是同步協(xié)議沒(méi)有應(yīng)答意味著物理層不通后面寫(xiě)再多顯示代碼都是白搭。硬件探測(cè)通過(guò)后再進(jìn)入驅(qū)動(dòng)函數(shù)封裝才算真正開(kāi)始寫(xiě)顯示邏輯。4. 手寫(xiě) CH455 驅(qū)動(dòng)段碼表、拆幀函數(shù)、四位刷新一次跑通到這一步I2C 通信已經(jīng)通了接下來(lái)要做的就是把它封裝成三個(gè)層次段碼表、單字符寫(xiě)入、四位數(shù)字刷新。這里給出的代碼是經(jīng)過(guò)實(shí)際項(xiàng)目驗(yàn)證的常見(jiàn)寫(xiě)法直接用 HAL 庫(kù) API 實(shí)現(xiàn)不依賴任何私有協(xié)議庫(kù)。4.1 共陰段碼表先定義清楚后面少改段碼表是顯示邏輯的地基。對(duì)共陰數(shù)碼管要點(diǎn)亮的段對(duì)應(yīng)位寫(xiě)入 1段碼就是這些位的組合。下面這張表覆蓋了 0 到 9 和幾個(gè)常用字母小數(shù)點(diǎn)位置單獨(dú)留出來(lái)需要時(shí)可以和數(shù)字段碼做或運(yùn)算。/* 共陰數(shù)碼管段碼表數(shù)字 0-9位序?yàn)?a b c d e f g dp */ const uint8_t seg_table[10] { 0x3F, /* 0: a b c d e f 亮 */ 0x06, /* 1: b c 亮 */ 0x5B, /* 2: a b d e g 亮 */ 0x4F, /* 3: a b c d g 亮 */ 0x66, /* 4: b c f g 亮 */ 0x6D, /* 5: a c d f g 亮 */ 0x7D, /* 6: a c d e f g 亮 */ 0x07, /* 7: a b c 亮 */ 0x7F, /* 8: 全段 亮 */ 0x6F, /* 9: a b c d f g 亮 */ };這張表建立在段腳按 a、b、c、d、e、f、g、dp 的順序接在 SEG0 到 SEG7 的前提下。如果你的板子段序不是這樣比如把 dp 放在最前面表里的值就要整體按位重排。我建議先用一根杜邦線把每一位單獨(dú)短接測(cè)試確認(rèn)段序后再填表。4.2 單字符寫(xiě)入把段碼拆成低 4 位和高 4 位核心函數(shù)就一個(gè)把位序號(hào)和段碼組織成兩個(gè)幀字節(jié)一次 I2C 傳輸發(fā)出去。這里要再次強(qiáng)調(diào)地址偏移第 0 到 3 位對(duì)應(yīng)低 4 段地址第 4 到 7 位對(duì)應(yīng)高 4 段地址所以高半字節(jié)的寄存器地址要加 4。#define CH455_ADDR 0x48 /* 向指定位寫(xiě)入段碼bit_index 取值 0-3對(duì)應(yīng)第 1 到第 4 位數(shù)碼管 */ void ch455_set_segment(uint8_t bit_index, uint8_t seg) { /* 第一幀低 4 位段碼寄存器地址 bit_index */ uint8_t low_frame (bit_index 4) | (seg 0x0F); /* 第二幀高 4 位段碼寄存器地址 bit_index 4 */ uint8_t high_frame ((bit_index 4) 4) | ((seg 4) 0x0F); uint8_t buf[2] { low_frame, high_frame }; /* 一次傳輸兩個(gè)字節(jié)HAL 內(nèi)部會(huì)先發(fā)地址再發(fā)數(shù)據(jù) */ HAL_I2C_Master_Transmit(hi2c1, CH455_ADDR, buf, 2, 100); }這個(gè)函數(shù)的關(guān)鍵在于bit_index不要超過(guò) 3否則高幀地址會(huì)越界到其他控制寄存器。發(fā)送長(zhǎng)度是 2代表兩個(gè)數(shù)據(jù)幀I2C 總線上會(huì)出現(xiàn)一次起始條件、一次地址字節(jié)、兩個(gè)數(shù)據(jù)字節(jié)、一個(gè)停止條件。CH455 收到第一個(gè)字節(jié)后內(nèi)部解析出地址和半段碼收到第二個(gè)字節(jié)后解析出另一半合在一起更新對(duì)應(yīng)位的顯示緩存。有兩點(diǎn)想提醒第一這個(gè)函數(shù)對(duì)每一位都做一次 I2C 傳輸刷新四位就要調(diào)用四次每次需要幾百微秒對(duì)顯示這種低頻操作完全夠用第二不要試圖把四個(gè)位的幀合并成一個(gè)長(zhǎng) buffer 一次性發(fā)除非你確認(rèn)寄存器地址是遞增的而 CH455 的低 4 位地址和高 4 位地址是跳變的合并反而要先重新排序得不償失。4.3 四位數(shù)字刷新一次性顯示一個(gè)整數(shù)有了單字符函數(shù)顯示整數(shù)就是把數(shù)字拆成個(gè)、十、百、千位逐位調(diào)用。注意顯示的是明碼數(shù)字還是 BCD 碼這里按明碼寫(xiě)最簡(jiǎn)單直接。void ch455_display_number(uint16_t num) { uint8_t digits[4]; /* 依次取出千、百、十、個(gè)位 */ digits[0] (num / 1000) % 10; digits[1] (num / 100) % 10; digits[2] (num / 10) % 10; digits[3] num % 10; for (uint8_t i 0; i 4; i) { ch455_set_segment(i, seg_table[digits[i]]); } }主循環(huán)里調(diào)用這個(gè)函數(shù)就夠了不需要定時(shí)器去刷新因?yàn)閯?dòng)態(tài)掃描的工作全在 CH455 內(nèi)部完成。CPU 只在數(shù)字變化時(shí)傳一次數(shù)據(jù)中途即使主循環(huán)被別的任務(wù)卡住數(shù)碼管也能保持顯示內(nèi)容不閃。這是 CH455 和 GPIO 直接掃最大的區(qū)別也是它適合做后臺(tái)任務(wù)的工業(yè)面板的原因。如果想讓某些位熄滅比如只顯示三位數(shù)就給對(duì)應(yīng)位寫(xiě)入 0x00。0x00 段碼表示所有段都滅這一位看起來(lái)就是空白的。小數(shù)點(diǎn)的處理也簡(jiǎn)單把seg_table[digits[i]] | 0x80傳入即可0x80 對(duì)應(yīng) dp 段。需要注意的是段碼表里如果 dp 不在最高位那 0x80 可能需要換位置這又回到了段序核對(duì)的問(wèn)題上。5. 避坑與排查CH455 驅(qū)動(dòng)的 5 個(gè)高頻翻車點(diǎn)CH455 本身不算復(fù)雜但因?yàn)樗训刂泛蛿?shù)據(jù)揉在一個(gè)字節(jié)里再加上 HAL 庫(kù)對(duì)地址參數(shù)的處理方式實(shí)際調(diào)試時(shí)會(huì)遇到一些看起來(lái)「不科學(xué)」的故障。下面這五條是我自己踩過(guò)、也看別人踩過(guò)的坑按現(xiàn)象、原因、解決的順序說(shuō)清楚。5.1 I2C 應(yīng)答失敗地址填 0x90 是第一個(gè)攔路虎現(xiàn)象HAL_I2C_Master_Transmit 返回 HAL_ERROR用示波器看 SDA 上從機(jī)一直沒(méi)有拉低應(yīng)答位或者 HAL_I2C_IsDeviceReady 永遠(yuǎn)返回超時(shí)。原因多半是地址填錯(cuò)了。很多資料把 CH455 的寫(xiě)地址寫(xiě)成 0x90這是 8 位地址形態(tài)也就是 7 位地址 0x48 左移一位再補(bǔ) 0。但 HAL 庫(kù)的接口要求傳 7 位地址庫(kù)內(nèi)部會(huì)再左移一次。如果你填 0x90實(shí)際發(fā)送的地址變成 0x120超出 7 位范圍從機(jī)根本不認(rèn)。解決把地址定義成 0x48不要自己移位更不要從舊例程里照抄帶 0x90 的寫(xiě)法。5.2 只有一半段亮段碼拆幀時(shí)寄存器地址偏移搞錯(cuò)現(xiàn)象顯示數(shù)字 8結(jié)果只有上面三橫亮下面三橫和中間一橫完全不亮。原因是對(duì)第 0 位的高 4 段寄存器地址寫(xiě)成了bit_index 1而不是bit_index 4。CH455 的地址范圍從 0 到 7前 4 個(gè)給低段后 4 個(gè)給高段加 4 才能跳到正確的高段寄存器。如果加 1實(shí)際寫(xiě)到的是后一位的低段寄存器把別的位的顯示內(nèi)容弄亂了。解決先固定只顯示一個(gè)數(shù)字把兩個(gè)幀字節(jié)打印出來(lái)對(duì)照手冊(cè)確認(rèn)地址高 4 位的值在 0 到 7 之間并且和自己的位對(duì)應(yīng)關(guān)系一致。5.3 SDA 一直為低I2C 總線被從機(jī)鎖死現(xiàn)象程序一走到 I2C 初始化SDA 就被拉低SCL 正常復(fù)位 MCU 也沒(méi)用。原因可能是上電瞬間 CH455 檢測(cè)到了不完整的起始條件進(jìn)入了一個(gè)等待后續(xù)數(shù)據(jù)的狀態(tài)而后續(xù)數(shù)據(jù)永遠(yuǎn)沒(méi)來(lái)。解決在初始化 I2C 外設(shè)之前用 GPIO 手動(dòng)把 SCL 拉高然后對(duì) SDA 連續(xù)輸出 9 個(gè)高低脈沖相當(dāng)于給它一個(gè)假的時(shí)鐘序列讓它退出錯(cuò)誤狀態(tài)。這個(gè)過(guò)程也叫 I2C 總線復(fù)位是處理從機(jī)鎖死的通用手段。/* 手動(dòng)復(fù)位 I2C 總線9 個(gè)時(shí)鐘脈沖釋放被拉低的 SDA */ void i2c_bus_reset(void) { GPIO_InitTypeDef gpio {0}; gpio.Pin GPIO_PIN_9; /* SDA */ gpio.Mode GPIO_MODE_OUTPUT_OD; gpio.Pull GPIO_PULLUP; HAL_GPIO_Init(GPIOB, gpio); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_SET); /* SCL 保持高 */ for (uint8_t i 0; i 9; i) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_RESET); HAL_Delay(1); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_SET); HAL_Delay(1); } /* 復(fù)位完成重新初始化 I2C 外設(shè) */ }這個(gè)函數(shù)的實(shí)質(zhì)是讓 SDA 在 SCL 高電平期間反復(fù)變化從從機(jī)的視角看就是連續(xù)收到不算數(shù)的起始事件最終它會(huì)放棄等待釋放總線。執(zhí)行完再回到正常初始化流程一般就能恢復(fù)通信。我習(xí)慣在 main 函數(shù)最開(kāi)始調(diào)用一次成本很低但能省掉很多不明原因的首次上電死鎖。5.4 四位亮度不均勻限流電阻放錯(cuò)了位置現(xiàn)象數(shù)碼管顯示時(shí)有一個(gè)位明顯比其余三個(gè)暗或者數(shù)字在切換時(shí)亮度跳動(dòng)。原因很可能是在位線上串了限流電阻。四位共陰數(shù)碼管的公共端流過(guò)的電流是八段之和一旦這里串了電阻每一位的公共端電壓都會(huì)被抬高段電流隨之下降。不同位的壓降差異會(huì)造成亮度不一致。解決限流電阻只放在段線上位線直接接 CH455 的 DIG 腳。亮度統(tǒng)一后再微調(diào)段電阻阻值來(lái)匹配總體亮度。5.5 調(diào)試器連著正常重新上電就黑屏現(xiàn)象在線調(diào)試的時(shí)候數(shù)碼管顯示一切正常斷開(kāi)調(diào)試器、斷電再上電數(shù)碼管完全不亮但 MCU 程序明明在跑。原因通常是上電時(shí) MCU 已經(jīng)先跑起來(lái)了I2C 外設(shè)初始化完成但 CH455 的供電還沒(méi)穩(wěn)定芯片處于未上電或半上電狀態(tài)丟失了第一次寫(xiě)入的數(shù)據(jù)。解決在 main 函數(shù)進(jìn)入主循環(huán)前加一個(gè) 50 到 100ms 的延時(shí)讓 CH455 穩(wěn)定。如果還是不行那就在初始化 I2C 后重新調(diào)用一次全滅函數(shù)把所有位寫(xiě) 0x00把從機(jī)的內(nèi)部狀態(tài)拉回已知值。這個(gè)問(wèn)題本質(zhì)是上電時(shí)序問(wèn)題不算驅(qū)動(dòng) bug但會(huì)讓人誤以為代碼有問(wèn)題值得記住。6. 往深走一步邏輯分析儀驗(yàn)證時(shí)序與按鍵掃描的擴(kuò)展空間前面五章已經(jīng)能把四位數(shù)碼管正常點(diǎn)亮但工程上「能亮」和「可靠」還不是一回事。最后一章回到驗(yàn)證手段和一個(gè)常見(jiàn)擴(kuò)展方向這兩點(diǎn)對(duì)新老手都有價(jià)值。6.1 用邏輯分析儀看幀結(jié)構(gòu)不用猜我強(qiáng)烈建議把邏輯分析儀接到 SCL 和 SDA 上抓一次 ch455_set_segment 的完整波形。重點(diǎn)看三件事地址字節(jié)是不是 0x90也就是 7 位地址 0x48 加寫(xiě)位 0數(shù)據(jù)字節(jié)是否按高低半幀排列ACK 位是否正常。眼不見(jiàn)為凈但 I2C 這種時(shí)序問(wèn)題靠猜效率太低抓一次波形所有關(guān)于地址和幀結(jié)構(gòu)的疑問(wèn)都會(huì)消失。邏輯分析儀不必高檔采樣率 20MHz 的入門(mén)款足夠看 100kHz 的 I2C 波形。抓完波形你會(huì)發(fā)現(xiàn)顯示 8 這個(gè)字符時(shí)第 0 位的數(shù)據(jù)字節(jié)是0x0F和0x43這正好對(duì)應(yīng)低 4 段全亮和高 4 段中 g、dp 兩段熄滅的狀態(tài)。以后遇到顯示異常先用波形確認(rèn)數(shù)據(jù)對(duì)不對(duì)再看硬件問(wèn)題就分成兩半了排查范圍小得多。6.2 從顯示到輸入一個(gè) I2C 地址還能讀按鍵CH455 本身帶按鍵掃描功能這也是當(dāng)初選它而不是單純用移位寄存器方案的原因。同一個(gè) I2C 地址寫(xiě)方向是發(fā)顯示幀讀方向就能讀回按鍵狀態(tài)。硬件上按鍵接在 SEG 和 DIG 之間形成交叉矩陣CH455 掃描到閉合后把鍵值放在內(nèi)部寄存器MCU 通過(guò) I2C 讀回來(lái)。驅(qū)動(dòng)寫(xiě)法和顯示類似把 HAL_I2C_Master_Transmit 換成 HAL_I2C_Master_Receive 即可只是讀回的字節(jié)每個(gè)位代表一個(gè)按鍵位置。這部分沒(méi)有在標(biāo)題要求的范圍內(nèi)但如果你的面板既要顯示又要按鍵CH455 一顆芯片就能把兩件事都干了等于省掉一個(gè)獨(dú)立按鍵掃描芯片。我上次做某跨平臺(tái)系統(tǒng)的控制面板時(shí)就是先實(shí)現(xiàn)顯示再順手把按鍵掃描加上整個(gè)輸入輸出模塊只占用兩條 I2C 線外圍干干凈凈?;仡櫿麄€(gè)調(diào)試過(guò)程我最深的教訓(xùn)是遇到通信類芯片先花十分鐘確認(rèn)地址和幀格式再動(dòng)手寫(xiě)顯示邏輯。省下的時(shí)間遠(yuǎn)比想象中多。紙上談兵說(shuō)「應(yīng)該沒(méi)問(wèn)題」的每一處最后都變成了一次示波器探頭、一顆上拉電阻、或是一行地址左移的修正。希望這篇筆記能幫你少走這幾步彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久理论字幕视频| 91n处女在线观看| 国产乱伦亚洲| 丰满人妻-区二区三区| 视频二区熟女人妻| 另类专区加勒比| 91丝袜美女| 在线色导航| 97免费在线观看| www.男人天堂| 第四色色综合91| 日本一区二区三区四区免费观看| 精品午夜福利| 肥臀熟女一区二区三区视频| 亚洲国产青青| 劲爆欧美人妖三区91| 久草精品热视| 97操97色| 欧洲精品欧洲精品| 91美女精品| 97网站在线观看| 亚热日本熟女| 夜夜高潮夜夜爽高清视频一| 有码免费观看| 搡老女人老妇女老妇老熟女怎么读| 极品尤物女神在线观看| 26uuu久久| 啊啊啊 在线| 青操影院| 久久久久久久久久久久色网| 人妻少妇无码 | 久久骚少妇| 97精品国产97久久久久久户外免费| 丰满人妻一区二区三区大胸懂色| 久久人人舔人人爽舔人人av片| 欧美性爱日韩高清| 神马久久久久久伦理片| 国产一级特黄大片处女| 2018色综合天天操| 可以免费观看的AV| 7月婷婷综合| 天天日日本| 黄色小说亚洲| 欧美色图下一页| 中文字幕免费观看| 无码人妻系列少妇| 天天天干977| 亚洲国产精品成人久久蜜臀| 极品色社| blacked精品一区国产| 国产毛片在线| 99精品久久久久久久婷婷蜜桃| 日韩中文字幕在线视频观看| 亚洲人成网www| 亚洲日本成人动漫| 九九自拍伦理| 色香av| 欧美另类丝袜熟女| 亚洲乱妇p22| 超碰97色| 精品人妻一区二区视频| 一二三区在线| 国产精品suv一区| 天堂综合| 国产极品精品美女视频| 激情五月天色播| 国产人伦精品一区二区三区| 超碰到97情色| 高清无码久操视频| 天天色播亚洲综合网站| 一区二区你上我| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 蜜臀AV成人精品蜜臀AV久久| 久久国产精品熟女人妻| chaopen97久久| 热99这里有精品综合久久| 国产辣妈在线视频福利| 国模少妇一区二区三区| 久久色人体| 人妻少妇精品久久久| 国产丁香精品露脸视频| a片偷拍视频| 99精品久久久久久久婷婷| 免费观看啪视频| 97国产色综合| 青青草原成人| 温婉少妇玩3p| 亚洲熟久久| 亚洲激情片| 91艹B视频| 欧美性猛交美女自慰91| 自拍啪啪视频| 国产精品久久久久久久久久梁医生| 天天躁日日躁XXXXYY| 人人乐大香蕉| 91欧美网| 伊人aaa| 91天堂| 日本欧美一区二区三区视频麻豆| 1区2区3区在线视频| 九九综合网| 无码137片内射在线影院| 干婷婷综合网| www.男人天堂| 91爆操视频| 久久久久久性爱视频| 香蕉大久久久| 欧美日本国产日韩激情视频| 9超碰免费| 又粗又长又大国产不卡| 性色avv| 天久久久噜噜噜久久国产精品爽爽| 大香蕉专区| 97色妞| 岛国在线免费视频| 色色99| 亚洲精品国产日韩无码AV永久免 | 大香蕉2017| 中文字幕一区二区韩| 欧美最婬乱婬爆婬性视频 | 婷婷丁香六月天| 欧美综合传媒| www黄片免费看com| 日逼97| 六月婷婷综合| 中文字幕在线免费观看2| 欧美夜夜狠| 久操免费观看| 99国内精品| 秋霞Av理论一级在线| 丝袜美腿诱惑亚洲欧美视频在线观看| 超碰97 线线 在现| 97超碰色屌| 91人妻精华帖| 91模特在线观看| 九九RE视频在线精品| 婷婷10月天青娱乐| 国产青一二三| 五月色网| 起碰97| 你草精品在线视频| 欧美黄色大香蕉一区二区| 精品视频久久区| 热九九精品| 天美传媒婬乱在| 日日97| 九九这里只有精品| 操操操五月天婷婷丁香影院| 国产AV线| 另类综合另类| 天天躁日日躁AAAAXXXX国产 | 亚洲精品三区在线观看| 亚洲诱惑天堂| 青青草密桃在线播放| 日欧操屄| 色综合天天爱去电影网| 亚洲色9| 影音先锋国产精品| 18禁美女裸体无遮挡啪啪| 夜夜夜夜爽| 色五月亚洲| 搡老熟女免费视频| 激情小说激情视频| 久久99手机免费视频| 日本高清_区二区三区| 美女91在线| 青青草大香蕉在线视频| 黄片不用下载在线观看| 青娱乐淫乱1314| 久久久内射良家| 天天干少妇| 天天躁日日躁xxxxx| 東南亚性呦成人伦理资源在线视频| 97AV爱| 欧美强奸乱能| 性饥渴少妇av无码毛片| 麻豆天美在线| 亚洲黄色电影| 天天综合站| 用力操死我| 黄色性爱网网| 国产Aα| 久操免费在线| 国产精品播放| 伊人操| 久久精品高清无码一区| 磁力99AV| 欧美九九99久久精品| 蜜桃av综合网发布| 一块操欧美| 久久精品久久九九精品| 国产在线播放成人免费| 天美传媒AV在线播放| 国产中午字一暮区| 国产亚洲精品美女| 嗯啊不要啊啊在线观看视频| 久草综合京东| 色999偷自拍拍| 激情五月天网| 99热这里都是精品| 青草视频在线看看看看看看看看看| 免费亚洲黄色视频在线观看| 天天操天天干一区二区 | 中文熟女五十乱码在线| 久久中文字幕人妻熟av女蜜柚| 日日橹狠狠爱欧美超碰| 九九久久国产精品| 色爱欲亚洲| 一道本东京热加勒比一区二区三区| 国产激情久久久| 欧美熟女操屄| 99在线精品观看99| 色色色99| 炮色五月| 日韩ab网 | 亚洲情色中文字幕一区| 免费操逼视频下载| 狠狠色婷婷777| 国产免费久久久久| 玖玖视频在线资源一区二区三区| 久久麻豆一区二区| 日韩97视频!在线| 2019AV天堂| 天天爽夜夜欢视| 97露脸精品丝袜| 熟妇高潮一区二| 久草草一二三四区久久| 正宗无毛一线天嫩逼| 色原狠狠天天天| 女人综合网| V A在线| 中文字幕高清精品一区| 亚洲最新av无码成人精品区| 国产97视频免费观看| 国产超碰| 成人女人国产| 超碰 国产熟女精品一区| 色五月激情AV在线| 天美91| 中文字幕日韩电影人妻| 丁香婷婷啪啪| 欧美激情久| 欧美色交| 久艾草在线精品视频在线观看| 很黄很色的视频在线观看| 精品久久人妻成人网| 久久久久久久人妻| 青青草大香蕉在线视频| 99在线观看视频在线高清| 94色色电影网| 国产欧美一级在线观看| 色婷婷五月天| 欧美亚洲成人在线一区二区三区| 欧美懂色综合网| 久久国产性爱| 超碰亚洲97| 狠狠做深爱婷婷久久二区| 男人的天堂久久| 高清无码久操视频| 丁香五月成人| 中文字幕欧美日本乱码一线二线| 国产资源中文字幕在线| 日本污ww视频网站| 精品一区二区三区丰满熟女-亚洲欧美一区| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 天天日日日射| 我要色综合网站| 中文字幕黄片在线| 国产又大又粗又长视频在线| 操逼操逼操| 69精品人人人人| 91l欧美在线| 91色图| 91GD.COM| 超碰综合97在线| 无码外流操逼视频| 久久久久无码| 欧美第二页| 另类 日韩 熟女| 久久精品老司| 尹人免费观看视频在线| 九九热精品免费视频| 97ai亚洲| 天天色播亚洲综合网站| 国内一区二区三区| 丝袜美腿制服人妻二区中文字幕| 欧美日韩青操| 精品中文字幕第一页| 天无日色综合| 亚洲天天操| 亚洲激情在线| 国产精品福利视频| 成人夜夜爽| 欧美成人精品欧美一级乱黄一区二…| 91精品啪在线观看国产城中村| 亚洲www91| 精品国产无码中文| 日本久久999| 再深点灬舒服灬太大了添视频| 69AV女优男人的天堂| 好吊色综合| 麻豆久久久一区二区| 极品色综合| 久久一二三四五六七八九区区区| 欧美性夜| 久久久久性熟视频| 免费一级特黄特色大片在线观看看 | 欧美日韩大陆黑人少妇99| 国产9 9在线 | 亚洲| 歐美一級亂黃99在綫精品| 男人在线天堂| 97色涩| 九九干| 精品无码产区一区二| 免费中文在线| 日韩15p| 欧亚乱色熟一区二区三四区| 免费的黄片有限公司| 亚洲综合69| 国产免费一区在线观看| 婷婷爽人人婷婷爽视频| 精品97久久综合| 91人妻素女| 9Ⅰ超碰| 老女人日韩美91| 无码高清少妇久久| 肉丝中文无码高清| 蜜桃成人1区2区3区| 精品无码欧美三级| 综合色久欲| 欧洲天天在线| 美国aaaaa一级黄片| 日本大香蕉综合网红本杳社区| 色色色综合网| 天天懆天天日| 久久久啊啊啊| 最新av在线| 日本护士高潮| 岛国黄片网站| 中韩中文字幕在线观看| 久久九七| 97av在线视频| 国产高清精品一区二区三区毛片 | 黄骗免费网站| 亚洲激情深爱文学小说网站| 中文字幕在线观看第二页| 久久精视频美日韩在线视频| 在线午夜成人无码视频| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照 | 麻豆性爱视频在线播放| 五月婷婷综合激情| 91c色| 老熟女网站| 十八禁电影伊人网| 91高跟美女在线播放| 丁香六月婷婷综合| 中文字幕在线高清男人的天堂| 日韩欧美性吧婷婷乱伦大香蕉| 欧美一二级| 日韩影片中文字幕一区二区三区| 日韩国产中文字幕| 女人 A一级| 欧美区亚洲区偷拍区| 超碰在线免费一区二区三区| 欧美丝袜美女电影一二三四区| 国产天天骚| 嗯啊不要啊在线 | 你懂得91| 亚洲精品亚洲人成人网| 在线v中文字幕一区二区三区| 尹人免费观看视频在线| 亚洲无线观看久久| A片大香蕉在线| 东北女人操逼| 99re在线| 蜜臀久久99精品久久久久久-DVD原版全| 亚洲欧美变态| 岛国天天午夜影院传媒网| 亚洲性感丝袜诱惑在线观看| 亚洲视频一二区| 国产人伦精品一区二区三区 | 精品无av| 老司机香蕉久久久久| 97ai亚洲| 欧美日韩色| 久久东京热成人| 欧美天天影院| 91高潮| 老司机香蕉| 亚洲图片视频小说| 91欧美在线| 亚洲天堂精品日韩电影| TS人妖另类精品视频系列| 亚洲欧美情色| 欧美呦呦性爱| 精品中文字幕第一页| 在线观看无码三级少妇| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 日韩欧美~中文字| 五月天婷婷社区| 日本一线产区和二线产区伦理片| 亚洲高清91| 亚洲97| 欧美自拍偷拍综合图片| 伊人网综合在线视频| 乱伦av麻豆| 人妻少妇av在线观看| 激情视频网址| 嗯阿好爽好紧| 蜜臀av网址| 神马久久久久久久久| 青青久草| 精品日韩人妻视频| 国产女人91精品嗷嗷嗷嗷| 四色永久成人网站| 九九玖玖精品| www. 男人天堂成人在线| 热G综合热G中文| 久久久久久九九九| 干B| 97大色网| 乱伦av麻豆| 美女自卫慰黄网站免费| 91 亚洲 欧洲| 久久原创中文| 午夜操一操| 日韩无码三级影院| 亚洲中文字幕97久久精品少妇| 天天淫人人妻日日色| 欧美熟妇亚洲版| 天天舔日美女视频| 亚洲精品成人动漫在线| 婷婷五月天色色| 97自拍一区| 美女91在线| www.91理论| 粉嫩国产精品久久粉嫩| 天堂综合| 欧美自拍偷拍综合图片| 伊人久久婷婷| 色拍偷亚洲| 香蕉人欧美综合| 综合久久六月久久婷婷| 99青青草国产视频| 1区2区3区视频| 牛黄色久午久| 久久久久久久久久精| 亚洲情色视频| 日韩性爱高清免费视频| 久久人妻少妇| 波多野结衣一级视频| 大香交伊人网| 欧美激情精品| 婷婷九月色| 久草线上视频免费看| 国产精品久久久久久久AV大片 | 国产欧美日韩臀| 天天干嫩逼网| 色婷五月天| 97伦综合| 亚洲经典啪啪| 在线 欧美 亚洲| 成人精品一区二区91毛片不卡| 中文字幕视频在线观看一区二区| 久久久日本电影| 国产小u女在线观看| 97操在线| 日日摸夜夜夜夜爽| 国产第二页| 国产AV久久野战精品| 精品999日本| 国产成人精品必看| 色九九九综合| 秋霞成人做爱| 中文字幕精品乱码| 91丨熟女丨丰满熟女| 亚洲无限观看| 欧美性爱精品一区二区| 精品国产a∨一区天美传媒| 一区在线国产播放| 中文字幕1区2区| 激情五月综合| 日本道不卡| 人人手机欧洲亚洲国产人妻| 香伊人在线| 久久 亚洲 日韩 人妻| 日韩黄色av中文字幕| 欧洲精品一区二区三区| 强奸乱伦中文字幕AV| 综合网亚洲1| 亚洲va综合va国产va中文| 91丝袜视频在线观看| 91丨国产丨白浆| 免费少妇一区二区| 久久网亚洲| 婷婷爱五月| 亚洲天堂久久久久久粉红视频| 青娱乐av在线| 中文字幕艹艹| 亚洲av无码国产精品字幕| 久久久久密臀一区二区| 日韩不卡a级视频专区| 日天天九九天堂666| 久久啊哟| 人妻乱仑一区二区三区| 不卡日本一区二区| 欧美久久久| www.狠狠操| 欧美亚洲国产91在线| 黄色一区三区| 一区=区三区视频| 欧美亚洲尤物久久| 97超碰中文在线| 国产地址二三| 2010男人的天堂| 噜噜噜在线视频| 97av在线观看| 9ⅰ久久久天天| 亚洲有薄码区日本系列中文字幕| 青娱乐国产精品| 超清中文乱码字幕| 国产精品69久久久久久久| 蜜臀在线免费观看在线免费观看| 伊人女女资源在线观看| 成人免费视瓶| 懂色av一区二区三区天美传媒| 亚洲精品蜜桃久久久久久久| 蜜臀久久99精品久久久久久久久| 九月丁香综合网| 超碰在线人人射| 97视频一区| 噜噜噜久久亚洲精品色情| 男人的天堂亚洲| 自拍大香蕉乱插| 国产91av在线播放| 亲子敌伦对白在线播放| 国产精品9999| 久九九九九九九九热| 中文一区在线日| 麻豆久久久久久久久丝袜| 成人AV在线电影| 日韩精品黄片免费观看| 日本色色视频网站| 一级性爱视频免费观看 | 中文字幕在线播放2中文字幕在线观看2| 亚洲 自拍偷拍 欧美| 日韩字幕一区| а√天堂资源官网在线资源| 91熟女在线| 69久久| 国产熟女自拍| 97伦乱| 97草草| 美女黄码视频午夜| 成人久久久精品| 夜夜 中文视频rt| 色网在线| 东京热不卡视频| 中文字幕视频免费| 日韩欧美中文字| 黑人与人妻| 亚洲日韩东京热一区| 中文字幕超碰CAO| 污污污8888| 九九九九精品一区| 久久久久久久综合,国产| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亲子敌伦对白在线播放| 国产精品美女视频诱惑| 国内精品嫩模A∨私拍小视频| 很很操在线| 午夜a成v人电影| 强奸乱伦免费网站| 岛国AB视频| 国产福利精品最新在线| 日韩精品区二区三区不卡| 乱人伦 国语对白:视频直接看| 超碰三级秋霞| 亚洲网自拍| 91久久久老司机| 老女人91| 青青草毛片| 亚洲 小说 欧美 激情 另类| 看大黄色大片原件| 五月婷婷激情网| 97天天搞在线| 一直超碰| 综合亚洲欧美| 懂色中文一区二区三区| 激情啪啪拍91| 偷拍欧美激情| 91精品免费| 97超碰欧美精品| 秋霞操逼片| 日本在线播放不卡一区| 久久综合18p| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 久久婷婷成人综合色怡春院| 亚洲无码成人精品| 日本女人操逼| 亚洲少妇在线影音| 亚洲 在线| 久久青青草原免费视频| 一道本久久棕合爱| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 狠狠操狠狠操操| 人人操人人操人人操人人操人人操人人人11.CM | av日韩手机在线影视| 深爱激情五月天| 欧美午夜视频| 97超碰碰| 99热最新网址| 国产情色在线| 国产三级资源在线观看| 美女黄色一级A视频| 啊啊啊啊啊啊啊啊啊啊在线观看| 亚洲人妻五月丁香婷婷| 久久久久久国产无码精品| 欧美日韩国产中文精品字幕自在自线, | 色综合20p| 青娱乐国产剧情av一区| 婷婷五月av| 97精品国产精品免费观看| 日韩精品人妻| 91丨九色丨大屁股| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 二对二中文字幕。| 欧美资源| 91超级碰碰| 啊啊啊啊啊舒服| 午夜操逼不卡| 9 7超碰在线免费观看| 老熟女综合| 性爱综合网| 久久9999| 东亚亚洲无码高清| 新精精品久久精品| 熟妇的味道HD中文字幕| 96AV久久久| www.av家庭乱伦| 大香蕉伊人色偷偷在线| 欧美亚洲天天| 久久五月天婷婷| 精品丰满熟妇人妻一区| 亚洲第一无码播放立川理惠| 蜜桃精品一区二区三区久在线| 人人操人人操人人操人人操人人操人人人11.CM | 玖玖婷婷五月天| 久久久少妇诱惑精品视频| 福利伊人玖玖国产| 加勒比综合a∨| 91操人| 99精品在线| 超碰人人超在线观看| 欧美一品道| 天天色综合天天操| 噜噜噜噜久久久精品免费| 99ri视频| 狠狠干91| 亚洲天堂自拍| 国产欧美精选自拍一区| 欧美一区二区三区黄色影视| 久草国产在线视频| 欧美色图99| 亚洲欧美精品一区天堂久久| 久久精品人妻一区| 嗯嗯,好大,好爽,好骚| 国产A v无码专区| 亚洲AV色图一区| 99激情视频| 欧美人与动性人交a| 黄资源| 国产精品亚洲美女久久久久| 国产精品免费视频人成| 天天日天天干天天摸天天操| 又黄又爽在线观看视频| 亚洲AV成人精品网站在AV| 99热 按摩 日韩| 午夜黄色免费在线观看| 啊啊啊啊网站| 天美传媒Av在线| 粉嫩在线一区二区懂色| 亚洲黑人在线| 亚洲资源网| 丁香久久| 激情无码日韩| 97超碰欧美手机| 亚洲免费97免费| 亚洲综合婷婷| 欧美十八禁视频| 日本道人妻久久久在线不卡色视频| 2020视频1区2区3区| 天天操人人操狠狠插| 蜜区区视频79| 91九九九小逼| 91久久婷婷| 免费黄色片。| 欧美91变态| 风骚少妇视频中文字幕| 操死我干死我| 操操碰| 97精品熟女少妇一区| 亚洲色图欧美| 久久国产精品视频| 丝袜视频一区二区在线播放国产中文| 啪啪91| 黑人操一区二区| 色综合加勒比| 国产白丝网站| 超碰 国产熟女精品一区| 97一区二区蜜臀| 久/久精品99看9| 欧亚乱色熟女一区二区| 九九视频黄色片| 狠狠超| 极品出轨视频网站| 色臀aV| 九九热超碰97亚洲最新香蕉| 爽爽淫人网| 日本午夜福利影院| 18禁精品网站在线看| 精品视频一区二区| 成人性交午夜免费片| 亚洲男人天堂2| 很很很很操| 操B久久| 91最新综合| 骚货人妻偷情自拍在线视频| 99亚洲天堂| 日韩AV一起草| 在线v中文字幕一区二区三区| 岛国色情视频在线观看| 人人操我人人干| 伊人网青青| 欧美精品久久96人妻无码| 欧美国产婷婷久久| 久久99国产精品| 欧美丝袜中文字幕07在线| 久热网| 久久久久久久久9| 亚洲另类色综合网站| 怡红院网站在线视频| 九色 蝌蚪 熟女自| 久久是精品| 欧美日日人人天天| 国产后入式在线观看| 中文字幕av一区二区三区人妻少妇 | 欧美日韩婷婷中文| 性性久久| 操老熟女AV| 亚洲激情欧美色图 | 欧美v日韩v亚洲v最新在线| 丁香七月婷婷| 永久免费av无码网站国产app| 一区二区三区免费视频入口| 激情小说日韩无码| 久久五月天婷婷丁香中文字幕| 在线无码网站| 干婷婷综合网| 91美女丝袜诱惑视频| 国产精品天美传媒| 伊人久久大香线综合无码| 精品无码欧美三级| 国产美女在线精品免费看| 一级婬片120分钟试看| 人人妻人人爽 97人人看碰人免费公开视频| 九九视频黄色片| 欧美日韩国产中文精品字幕自在自线| 蜜乳av首页| 天天看综合网| 色老牛| 日韩欧美女求操每天更新| 欧洲久久一二线| 1769国内精品视频| 国产麻豆一级精品视频| 淮穴色AV| 精品国产乱码久久久兰草影视| 亚洲午夜蜜臀| 中文字幕一区二区视频在线观看| 人人摸.人人色| 99久久婷婷国产综合| 人妻日日夜夜精品| 亚洲欧美91√| 免费A片三p视频| 无码乱人伦中文视频| 97九色人妻| 九九av| 日本欧美中文字幕| 黄片无码在线制服| 精品大久久| 色香综合天天影视综合| 日本一级特级毛片视频| 92午夜免费福利视频| 日韩亚洲美女一区久久| 色香欲天天天天综合色| av影片在线观看不卡| 日韩欧美字幕亚洲一区二区| 97色爱| 日韩欧美中文字幕搭讪巨乳美人妻视频| 伊人操你| 五月色综合| 天天影视网色欲色香| 日产操逼| 九九热精品| 久草老司机| 欧美的性爱网站免费| 中文字幕 码 自拍 视频 区| 亚洲人久久久网| 国产精品久久久吖| 丁香五月婷婷五月| 黑人干亚洲| 亚洲伊人a线观看视频| 精品无码一区二区| 91观看 国产白丝| 国产精品无码在线| 精品九九九九九九九| 东京热男人的天堂| 天天干美少妇一区| 国内外激情在线| 伊人五月天激情| 欧美日韩一干二干| 精品无码久久久久久久杏吧| 丁香五月天激情综合| 亚欧美综合| 性做久久久久久久| 精彩久久中文| 色色福利| 欧洲大香蕉| 18禁精品网站在线看| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 岛国激情视频在线观看| 欧美一级欧美三级在线观看| 欧亚日韩一区在线| 屌逼麻豆| 白丝一区| 97精彩视频网站| 久久久999| 精品99999久久久久久| 色香综合| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 性色国产东北露脸精品视频| 精品国模无码| 欧美老妇综合网| 日韩黄片影院| 欧美亚洲高清不卡| 亚欧性爱ab| 久9综合在线| 五月婷婷啪啪| 国产97在线 | 亚洲| 超踫中文字幕| 综合伊人网12色| 性老妇一区二区三区| 国产av波波国产精品| 欧美一品道| 国产在线精品偷| 欧美激情1区| 久久久久久久少妇| 青草草免费网站av| 久久久91福利姬| 97人人干| 人妻色偷色噜| 九九九九精品一区| 爱我干综合| 欧美性第一页| 久久m| 丁香五月婷婷基地| 操逼操逼操| 97一区二区三区视频| 另类小色呦| 好吊色综合| 99热导航| 色婷五月| 99亚洲国产精品色一区二区三区| 亚洲 另类 丝袜 自拍 动漫| av资源在线播放天堂| 亚洲久久久久| #NAME?| 男人的天堂2010| 在线观看无码三级少妇| 青青操日韩| 久久的网站啊啊啊啊啊| 人人摸人人干人人拍97| 91欧美综合| 涩涩久久精品| 美中韩AV综合网| 欧美强奸乱能| 91综合色噜噜| 97久久久久久久久久| 刺激性视频黄页| 国产高清成人传媒影视| 一区二区三区免费视频入口 | 亚洲综合色婷婷| 亚洲国产精品无码AV久久久| 精品国产a∨一区天美传媒| 精品国产一区二区三区久久久蜜臀 | 一级久久久久久久久久久| 亚洲精品97| 欧洲一区二区三区四区在线观看| 国产欧美一区二区| 国产精品秘 福利姬在线观看| 欧美操人视频| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 成人热久久精品| 91狠婷| 99操视频| 婷婷激情五月天小说网| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 亚洲欧美综合网站| 97干天天| 精品国产网站| 亚洲欧美精品一区天堂久久| 日韩激情啪啪| 国产人妖视频一区在线观看| 91国产操逼视频| 超碰97综合| 青青草原av| 欧美日日人人天天| 精品美女久久一二三| 亚洲熟妇图片| 亚洲夜色在线| 五月丁香网站| 亚洲日韩精品在线播放| 亚洲国产成人精品无码专区| 久久性爱精品一区| 无码人妻精品一区二区三区99不卡| 伊人骚琪琪亚洲天堂网站| 欧美色97| 天天夜夜rb| 日韩内| sewuyueav| 丰满人妻-区二区三区免费看| 一级免费精品| 久久久久久无码人妻中文字幕| 青草园大香蕉| 天天爱综合网| 亚洲交换| 中文字幕免费在线观看| 欧美色图自拍| 凹凸 69堂 在线播放| 久久久999国产精品| 午夜福利合集| 亚洲无码日韩电影| 欧美亚洲小说| 偷拍 欧美 日韩| 嫩草美女久久| 久久美女国产| 欧美精品1区2区3区| 亚洲日韩精品在线播放| 色婷婷五月综合| 一区二区三区四区色图| 亚洲精品久| 亚洲综合影片| 加勒比人妻综合| 欧美在线|亚洲| 久久久久国色αv免费观看| 亚洲精品欧洲色| 人妻少妇久久中文字幕一区二区 麻豆| 欧美日本成人一区二区| 老司机深夜18禁污污网站| 三级色综合| 日本中文字幕在线视频| 嗯嗯啊中文字幕| 亚洲情色一区三区| 亚洲综合射| 99re28在线观看| 日韩成年人性爱视频| 91午夜无码| 日本精品一区二区中文字幕| 992这里有精品| 亚洲一二三四区机械| 熟女高潮合集-永久久久-成人AV | 色官网色综合| 五月丁香啪啪网| 福利风月五月天影院| 老熟女中文字幕高清| 九九九久久久W精品| 欧美日韩在线视频网站| 中文字幕精品日韩中文字幕| 大香蕉九九| 久久久熟妇熟女国产| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 蜜臀少妇一区二区| 久久香蕉超碰97国产精品| 啊啊啊男女| 日本乱人伦片中文三区| 午夜欧美女人操逼| 用力操死我| 中出20p| 国产又色又粗又黄又爽| 色五月激情网| 人妻 制服 日韩 中文 在线| 91熟女丨老女人| 精品国产人成在线| 中日无幕一二三四区| 青青草中日韩在线| 综合亚洲欧美精品日韩?v| 91干熟女| 人人澡人人弄| 看全色黄大色大片免费视频| 成人性爱美曰韩| 色眯眯射| 无码人妻1727| 国产免费久久久久| www.AV有限公司一区| 2019精品国产无码成人| 91亚洲黑人| 男人天堂新| 欧美在线l亚洲| 亚洲熟女一区| 亚洲狠| 十八禁av无码免费网站APP| 岛国在线一区二区三区| 91+欧美| 一本一首道人妻少妇免费久久| 日本亚洲vr欧美不卡高清专区| 一二三卡欧美日韩人妻免费精品| 人人操人人爽人人操人人| 亚洲福利中文字幕在线| 2017大香蕉国产精品久久| 中文字幕后石码三区四区| 91性高潮久久久久久久久| 国产亚洲日本| 69少妇一区二区| 国产原创精品| 国产三级片在线观看| 国产精品亚洲美女久久久久| 日本中文字幕一区| 欧美aa一级片| 青春草A| 欧美v亚洲v综合v国产v妖精| 极品丝袜无码| 久久精品一区二区| 啊啊啊好爽快点啊啊啊嗯嗯| 黄色交缠性感爆操91国产精品免费一区二区三区| 日本精品网站在线中文| 99自拍B亚洲 | 五月天AV资源| 三级网色| 欧美日韩天堂| 97人人操人人摸人人爱| 亚洲色情在线影视| 欧美系列在线一区二区| 午夜AV污污污| 成人三级片无码| 久久久久久久综合,国产| 在线视频免费播放一区| 91精品免费| 97任你吞精| 白嫩91在线亚洲| 热九九精品| 欧美性性性| 精品国产嫩穴视频| 久操91视频| 亚洲激情天堂网| 免费在线观看国内色片网站网址| 加勒比色综合| 久久综合激情| 亚洲天堂2020| 四虎影库国产精品免费| 中文字幕美女91| 免费超碰97久久| 午夜国产成人福利视频| 麻豆 美女 丝袜 人妻 中文| 欧美日韩丝袜| 亚洲精品成人动漫在线| 五月开心久久AV官网| 爱媛媛久久国产福利| 91性网| 日韩在线人妻网站| 成年人性爱日韩| 亚洲高清色综合| 丝袜喷水在线| 淫荡熟女乱伦网| 91成人精品| 爱干爱射网啊啊啊| 青青伊人这里只有精品| 亚洲清纯综合| 91AV老熟女视频| 伊人久久综合精品欧美| 久肏视频字幕| 欧美少妇一区二区三区| 午夜无码精品免费看性色| 最新制服中文第一页| 国产AV天美| 久久久国产成人一区二区三区在线| 欧美天天综合网版| 最新精品久久蜜桃 | 哈哈操电影AV| 伊人女女资源在线观看| 激情小说亚洲色图| 综合欧美日韩在线| 加勒比大香蕉视频在线| 中文字幕一区二区日韩网| 大逼色网站| 九九热在线精品视频| 91丝袜美女国产| 亚洲国产成人福利在线观看| 97干在线视频| 国产久久久久影院老熟女| 小草精彩毛片| 亚洲国产无码精品首页久久久| 操国产逼| 激情小说激情视频| 好看的久久不射无码影视影院| 人人人人人人少妇| 亚洲精品亚洲人成在线麻豆| 东京热一区二区中文字幕| 一区超碰一区| 97干天天| 黄页18禁| 五月香婷婷| 午夜偷拍久久熟女| 韩国免费播放一级毛片| 亚洲黄色电影| 97视频在线视频| 九九久久国产精品| 亚洲 综合 第一页| 亚洲 图片 综合91| 插欧洲美女欧美精品| 天天插夜夜操| 84YTCOM性无码| 日夜精品| 在线播放欧洲免费av| 亚洲十八禁止| 精品无码一二三四区| 宅男91视频在线播放| 加勒比大香蕉视频在线| 操婷婷逼| 能直接看AV的网站| 一级做a爰片性色毛片久久| 国内毛片免费h片在线| 亚欧性爱无码| 久久久久亚洲三级电影| 欧美色999| 大香蕉中文在线| 国产丝袜啪啪| 骚货操死你| 91老妇女| 久热这里| 快播久久人人aV| 久久久久久中文| 中文子幕一二三| 蜜桃视频啊啊啊啊| 天欧美在线| 欧美传媒一区| 岛国不卡超碰护士AV在线播放| 成人一区二区三区四区| 性色av一区二区| 91网站视频在线观看| 色九九九综合| 91 综合 色| 性九九九九九九| 啊啊啊在线看| 精品无码一区二区三区| 新怡红院| 91欧美经典| 激情小说亚洲| 性爱视频免费网址| 国产高清精品一区二区三区毛片 |