色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

STM32軟件SPI驅動1.8寸TFT-LCD完整教程

STM32軟件SPI驅動1.8寸TFT-LCD完整教程 如果你第一次玩1.8寸TFT-LCD大概率會經歷這些屏幕接上電背光亮了但是屏幕白茫茫一片不管你往寄存器里寫多少命令都沒反應。我也從這個狀態(tài)過來的。后來發(fā)現卡住大多數人的往往不是屏幕本身而是驅動方式的選擇——很多店家給的例程默認走硬件SPI硬件SPI的引腳在自己板子上又經常和別的外設撞車一旦出問題很難定位。這篇文章我要分享的就是我最終穩(wěn)定跑通的方案STM32通過軟件SPI驅動1.8寸TFT-LCD也就是用GPIO手動模擬SPI時序把底層的每一位時鐘、每一個電平都攤開來看。這套方案適合剛學會GPIO輸出、還沒系統學過SPI外設的初學者也適合硬件SPI引腳被其他模塊占用、需要靈活換引腳的項目。128x160的分辨率不大軟件SPI的帶寬完全夠用。1. 為什么這塊屏的驅動要用軟件SPI先說結論軟件SPI不是來替代硬件SPI的它是很多實際場景里更省事、更好排查問題的選擇。1.8寸TFT-LCD的分辨率只有128x160滿屏刷一種顏色也才40多KB像素數據軟件模擬的方式完全扛得住。如果你只是做菜單界面、顯示傳感器數據、畫個波形曲線那軟件SPI的刷新速度綽綽有余。1.1 硬件SPI和軟件SPI到底差在哪硬件SPI是芯片內部集成的外設你只要配置好SPI_CR1寄存器、指定好波特率、極性/相位然后往數據寄存器里丟一個字節(jié)剩下的移位輸出、時鐘生成都由硬件電路自動完成CPU基本不參與。軟件SPI則完全是另一條路把SCK、SDA對應的GPIO引腳當作普通IO口用代碼循環(huán)去翻轉電平往SDA上放一個bit再讓SCK來一個上升沿如此重復8次湊夠一個字節(jié)。這兩種方式的區(qū)別可以列個表看對比項硬件SPI軟件SPI引腳靈活性固定綁定在復用引腳上任意GPIO都能用傳輸速度輕松跑幾MHz甚至更高實測大約幾百kHz到1MHz左右CPU占用外設自動處理占用極低每個bit都要CPU翻轉占用高調試難度配置項多出問題排查鏈路長代碼直觀波形一眼能看懂適用場景刷視頻、大屏動畫、高速傳感器菜單、儀表盤、數據展示在實際使用中軟件SPI還有一個隱藏優(yōu)勢你可以隨時調整引腳連接。比如畫好的PCB走線發(fā)現問題或者手頭只剩某個空閑引腳只需要改一下宏定義不用重新配置SPI外設。1.2 什么場景下優(yōu)先考慮軟件SPI我歸納了三個最典型的場景。第一種是硬件SPI被占用了。STM32F103C8T6這顆芯片雖然有兩個SPI外設但項目中W25Q128存儲、RF24L01無線模塊往往各占一個剩下的引腳還要給串口、定時器、ADC屏幕就只能去普通GPIO上想辦法。這時候軟件SPI幾乎是唯一解。第二種是引腳布局問題。很多藍板STM32F103C8T6最小系統板的硬件SPI1引腳在PA5/PA6/PA7如果這些引腳已經接了編碼器或者舵機再去接屏幕就得飛線繞板子信號不穩(wěn)定不說看著也別扭。軟件SPI可以直接把屏幕接到閑置的PB口一排排插針上整潔又可靠。第三種是學習SPI協議本質。用軟件模擬時序的時候你能直觀看到SCK電平怎么翻轉、SDA數據什么時候被采樣、為什么CS要拉低才能選中設備。這些硬核知識通過波形和代碼雙重驗證比單純用硬件外設黑盒操作理解深得多。之后再去用硬件SPI配置寄存器時你心里會非常有底。2. 動手之前的準備屏幕引腳、接線與工程環(huán)境硬件準備的核心就一句話把屏幕的6根信號線接到STM32的任意GPIO上供電方式看清模塊絲印。下面我以最常見的STM32F103C8T6藍板為例把整個準備過程拉通。2.1 1.8寸TFT-LCD引腳定義與接線表1.8寸TFT-LCD模塊一般引出8個引腳但實際上我們需要操作的只有6個信號引腳。各廠家絲印命名略有差異最常見的標注是VCC、GND、CS、RES、DC、SDA、SCK、BLK其中SDA也叫SDI或MOSIDC也叫RSSCK也叫SCL或者CLK別被叫法繞暈對應關系如下屏幕引腳類型說明VCC電源供電正極3.3V或5V取決于模塊GND電源供電地CS片選拉低選中屏幕芯片RES復位硬件復位信號低電平有效DC數據/命令選擇低電平表示寫命令高電平表示寫數據SDA/MOSISPI數據輸入主控向屏幕發(fā)送數據SCK/SCLSPI時鐘主控產生的時鐘信號BLK背光控制拉高或接電源點亮背光我的接線方案是全部走PB口避免和SWD調試口PA13/PA14沖突也和串口1的PA9/PA10分開屏幕引腳STM32引腳說明CSPB10軟件片選RESPB12復位控制DCPB14命令/數據切換SDAPB15數據輸出SCKPB13時鐘輸出BLK3.3V串100R電阻背光常亮VCC3.3V模塊供電GNDGND共地這里有個注意點模塊背面的絲印如果寫5V是可以接5V供電的因為模塊上大多有穩(wěn)壓芯片轉成3.3V給屏幕核心供電如果絲印直接寫3.3V老老實實接3.3V。但無論哪種情況ST7735的邏輯IO電平都不支持5VSTM32輸出3.3V直接接過去是安全的。BLK背光引腳直接接3.3V也可以但我建議串一個100R電阻防止背光電流過大實測亮度也足夠。2.2 STM32CubeMX配置與GPIO初始化現在新學STM32基本都是CubeMX HAL庫這套組合了配置起來比標準庫快很多。打開STM32CubeMX芯片選STM32F103C8Tx按下面步驟配置RCC選項里HSE選擇Crystal/Ceramic Resonator讓外部8MHz晶振作為時鐘源。SYS選項里Debug選擇Serial Wire保留SWD下載調試功能。在引腳規(guī)劃界面把PB10、PB12、PB13、PB14、PB15分別點擊配置為GPIO_Output。逐個引腳檢查GPIO Output levelCSPB10初始化為High因為片選默認高電平不選中設備其余引腳初始化為Low。GPIO Speed統一選擇High這個選項影響IO翻轉速度選High能確保軟件SPI高電平持續(xù)時間夠短、時序更穩(wěn)定。Clock Configuration里確認SYSCLK為72MHzAPB2外設時鐘為72MHz。Project Manager里Toolchain選擇MDK-ARM生成工程。生成之后HAL_GPIO_WritePin這個函數夠用了。我習慣用宏把引腳操作封裝一層這樣萬一后面要換引腳只需要改宏定義不用在代碼里到處找#define LCD_CS_PORT GPIOB #define LCD_CS_PIN GPIO_PIN_10 #define LCD_RES_PORT GPIOB #define LCD_RES_PIN GPIO_PIN_12 #define LCD_DC_PORT GPIOB #define LCD_DC_PIN GPIO_PIN_14 #define LCD_SDA_PORT GPIOB #define LCD_SDA_PIN GPIO_PIN_15 #define LCD_SCK_PORT GPIOB #define LCD_SCK_PIN GPIO_PIN_13 #define LCD_CS_LOW() HAL_GPIO_WritePin(LCD_CS_PORT, LCD_CS_PIN, GPIO_PIN_RESET) #define LCD_CS_HIGH() HAL_GPIO_WritePin(LCD_CS_PORT, LCD_CS_PIN, GPIO_PIN_SET) #define LCD_RES_LOW() HAL_GPIO_WritePin(LCD_RES_PORT, LCD_RES_PIN, GPIO_PIN_RESET) #define LCD_RES_HIGH() HAL_GPIO_WritePin(LCD_RES_PORT, LCD_RES_PIN, GPIO_PIN_SET) #define LCD_DC_LOW() HAL_GPIO_WritePin(LCD_DC_PORT, LCD_DC_PIN, GPIO_PIN_RESET) #define LCD_DC_HIGH() HAL_GPIO_WritePin(LCD_DC_PORT, LCD_DC_PIN, GPIO_PIN_SET) #define LCD_SDA_LOW() HAL_GPIO_WritePin(LCD_SDA_PORT, LCD_SDA_PIN, GPIO_PIN_RESET) #define LCD_SDA_HIGH() HAL_GPIO_WritePin(LCD_SDA_PORT, LCD_SDA_PIN, GPIO_PIN_SET) #define LCD_SCK_LOW() HAL_GPIO_WritePin(LCD_SCK_PORT, LCD_SCK_PIN, GPIO_PIN_RESET) #define LCD_SCK_HIGH() HAL_GPIO_WritePin(LCD_SCK_PORT, LCD_SCK_PIN, GPIO_PIN_SET)環(huán)境方面再提醒一句第一次在Keil里下載程序記得先把ST-Link驅動裝好Options for Target - Debug里選擇ST-Link Debugger并確認能識別到芯片IDCODE。如果板子上是CH340或CP2102串口芯片那對應的串口驅動也要裝好否則printf調試信息永遠看不到。很多人卡在這一步以為代碼有問題其實是電腦根本沒枚舉出設備。3. ST7735初始化序列從復位到亮屏每個命令都在干什么1.8寸TFT-LCD模塊的核心是一顆叫ST7735的驅動芯片。這塊芯片內部集成了顯存GRAM和掃描控制邏輯MCU不需要一直去刷新屏幕只要把像素數據通過SPI寫到它的GRAM里ST7735自己會不停地掃描GRAM并驅動液晶面板顯示。理解這一點特別關鍵。3.1 ST7735的核心工作原理整個通信模型可以類比成向一塊畫板填格子CS是“點名”拉低表示“選中你這塊畫板我開始跟你說話”DC是“告訴畫板我接下來要說什么”說命令還是說數據SDA和SCK則是真正傳遞信息的那根線和那個時鐘節(jié)拍RES是“把畫板恢復成出廠狀態(tài)”。ST7735有很多寄存器有的控制顯示方向MADCTL有的控制像素格式COLMOD有的控制電源和伽馬曲線。初始化就是按照芯片手冊規(guī)定的順序依次設置這些寄存器讓它進入可以正常顯示的狀態(tài)。ST7735內部GRAM的容量是128x160x16bit因為每個像素用16位RGB565表示剛好是40KB左右。當MCU連續(xù)寫入像素數據時GRAM的寫地址會自動遞增自動從左到右、從上到下填充滿你設置好的窗口區(qū)域這個自動遞增特性是我們后面能高效刷屏的基礎。3.2 初始化代碼逐段拆解ST7735芯片有R版和S版兩個常見版本初始化序列有差異。ST7735R老版常見紅色PCB需要配置一整套電源、幀率、伽馬寄存器才穩(wěn)定ST7735S新版常見藍色/黑色PCB初始化簡單很多有些屏只要最基本幾步就能點亮。判斷方法很簡單看模塊背面絲印或者問賣家。先給一版最簡初始化適合ST7735Svoid LCD_Init(void) { // 硬件復位 LCD_RES_LOW(); HAL_Delay(120); LCD_RES_HIGH(); HAL_Delay(120); // 軟件復位 LCD_Write_Cmd(0x01); // SWRESET HAL_Delay(150); // 退出睡眠模式 LCD_Write_Cmd(0x11); // SLPOUT HAL_Delay(200); // 像素格式設為16位色 LCD_Write_Cmd(0x3A); // COLMOD LCD_Write_Data(0x05); // 16bit/pixel // 關閉反顯 LCD_Write_Cmd(0x20); // INVOFF // 開啟顯示 LCD_Write_Cmd(0x29); // DISPON HAL_Delay(100); }如果這版點不亮換成ST7735R的完整初始化。完整初始化會在SLPOUT之后、DISPON之前加入FRMCTR1幀率控制0xB1、PWCTR1電源控制0xC0、VMCTR1電壓控制0xC4、GAMMA曲線0xE0、0xE1等寄存器配置。這些參數每家面板略有差異最靠譜的來源是你買屏的店鋪給例程源碼照抄對應的初始化函數即可。我把自己手頭這塊紅色PCB屏的參數補全過代碼如下void LCD_Init(void) { LCD_RES_LOW(); HAL_Delay(120); LCD_RES_HIGH(); HAL_Delay(120); LCD_Write_Cmd(0x01); // SWRESET HAL_Delay(150); LCD_Write_Cmd(0x11); // SLPOUT HAL_Delay(200); LCD_Write_Cmd(0xB1); // FRMCTR1 幀率控制 LCD_Write_Data(0x01); LCD_Write_Data(0x2C); LCD_Write_Data(0x2D); LCD_Write_Cmd(0xB2); // FRMCTR2 LCD_Write_Data(0x01); LCD_Write_Data(0x2C); LCD_Write_Data(0x2D); LCD_Write_Cmd(0xC0); // PWCTR1 電源控制 LCD_Write_Data(0xA2); LCD_Write_Data(0x02); LCD_Write_Data(0x84); LCD_Write_Cmd(0xC1); // PWCTR2 LCD_Write_Data(0xC5); LCD_Write_Cmd(0xC4); // VMCTR1 LCD_Write_Data(0x0A); LCD_Write_Data(0x00); LCD_Write_Cmd(0xE0); // GAMMA LCD_Write_Data(0x02); LCD_Write_Data(0x1C); LCD_Write_Data(0x07); LCD_Write_Data(0x12); LCD_Write_Data(0x37); LCD_Write_Data(0x32); LCD_Write_Data(0x29); LCD_Write_Data(0x2D); LCD_Write_Data(0x29); LCD_Write_Data(0x25); LCD_Write_Data(0x2B); LCD_Write_Data(0x39); LCD_Write_Data(0x00); LCD_Write_Data(0x01); LCD_Write_Data(0x03); LCD_Write_Data(0x10); LCD_Write_Cmd(0xE1); // GAMMA - LCD_Write_Data(0x03); LCD_Write_Data(0x1D); LCD_Write_Data(0x07); LCD_Write_Data(0x06); LCD_Write_Data(0x2E); LCD_Write_Data(0x2C); LCD_Write_Data(0x29); LCD_Write_Data(0x2D); LCD_Write_Data(0x2E); LCD_Write_Data(0x2E); LCD_Write_Data(0x37); LCD_Write_Data(0x3F); LCD_Write_Data(0x00); LCD_Write_Data(0x00); LCD_Write_Data(0x02); LCD_Write_Data(0x10); LCD_Write_Cmd(0x3A); // COLMOD LCD_Write_Data(0x05); LCD_Write_Cmd(0x20); // INVOFF LCD_Write_Cmd(0x29); // DISPON HAL_Delay(100); }初始化里這些延時不是隨便拍的ST7735從睡眠模式喚醒后內部DC-DC轉換器和振蕩器需要時間穩(wěn)定延時不夠可能出現“十次有三次亮不了”這種玄學問題。我踩過一次RES拉低只等了10ms結果屏幕偶爾亮偶爾不亮把延時加到120ms之后徹底穩(wěn)定。4. 軟件SPI核心收發(fā)代碼上升沿采樣到底怎么模擬軟件SPI沒有硬件外設幫你計數和采樣所以一切邏輯都靠循環(huán)里的人工操作。代碼并不長核心就一個字節(jié)發(fā)送函數搞清楚這一段的電平變化邏輯整個驅動就拿下了一大半。4.1 字節(jié)發(fā)送函數的時序邏輯我在PB13上用GPIO生成時鐘PB15上放數據模擬的是SPI模式0空閑時SCK為低電平在SCK上升沿時數據被采樣有效。發(fā)送一個字節(jié)的流程是先把SCK拉低把SDA設置成當前要發(fā)送的bit最高位先發(fā)再把SCK拉高產生一個上升沿這時ST7735會在SDA上讀到一個穩(wěn)定的電平。循環(huán)8次后8個bit全部完成一字節(jié)發(fā)送結束。void SPI_WriteByte(uint8_t dat) { for (uint8_t i 0; i 8; i) { LCD_SCK_LOW(); // 時鐘拉低準備一次數據發(fā)送 if (dat 0x80) // 取出最高位 LCD_SDA_HIGH(); else LCD_SDA_LOW(); dat 1; // 左移準備下一位 LCD_SCK_HIGH(); // 時鐘拉高產生上升沿從設備采樣 } }注意循環(huán)體內的順序先拉低SCK再改SDA最后拉高SCK。如果順序反了比如先改SDA再拉低SCK就會出現SDA變化瞬間和上升沿重疊的情況從設備可能采到不穩(wěn)定的電平。順序看似簡單卻是軟件SPI可靠性的關鍵。在STM32F103這種72MHz主頻下GPIO翻轉本身只要幾個時鐘周期整個函數跑起來大概1微秒多一字節(jié)完全滿足ST7735的工作要求。如果你發(fā)現屏幕偶爾顯示亂碼可以在這個函數里加幾個空操作延時比如每次電平切換后加兩個__NOP()給信號穩(wěn)定留點余量。但多數情況下不加延時也穩(wěn)定我自己跑下來滿速刷屏沒有任何問題。4.2 命令和數據的區(qū)分DC引腳的作用光有字節(jié)發(fā)送還不夠ST7735要知道你發(fā)的是命令還是數據這個信號由DC引腳決定。DC為低芯片把你的數據當成要寫入的寄存器地址或命令DC為高芯片把你的數據當成顯示內容或者寄存器參數寫入GRAM。封裝成兩個函數void LCD_Write_Cmd(uint8_t cmd) { LCD_CS_LOW(); LCD_DC_LOW(); // 命令模式 SPI_WriteByte(cmd); LCD_CS_HIGH(); } void LCD_Write_Data(uint8_t dat) { LCD_CS_LOW(); LCD_DC_HIGH(); // 數據模式 SPI_WriteByte(dat); LCD_CS_HIGH(); }有些初始化命令后面要跟多個參數比如設置顯示窗口的CASET命令0x2A后面要跟4個字節(jié)參數所以實際使用中先寫命令再連續(xù)寫多個數據LCD_Write_Cmd(0x2A); // 列地址設置 LCD_Write_Data(0x00); LCD_Write_Data(0x00); LCD_Write_Data(0x00); LCD_Write_Data(0x7F); // 0~127共128列這里有一個優(yōu)化點如果在寫確認是命令時已經拉低了CS那同一個命令后續(xù)的數據其實可以保持CS拉低連續(xù)寫不需要在每寫一個字節(jié)時都切換一次CS。但為了防止邏輯混亂和不必要的時序風險我封裝的兩個函數之間會切換CS。這個速度損失在初始化階段無所謂但在刷屏階段就必須優(yōu)化了下面說。4.3 優(yōu)化連續(xù)刷數據時別頻繁切換CS刷屏的本質是在設置好窗口之后連續(xù)不斷地向GRAM寫入像素顏色。如果每個像素都調用一次上面那個帶CS切換的LCD_Write_Data你會發(fā)現刷一屏慢得離譜。因為每次CS拉高再拉低ST7735的串行接口會重新等待命令/數據標識窗口地址寄存器也可能被重置。正確做法是設置好窗口后把CS拉低不要動把DC拉高告訴芯片“下面全是數據”然后循環(huán)發(fā)送所有像素字節(jié)最后再把CS拉高。我實測這個改動讓全屏填充速度提升了接近一倍。void LCD_SetWindows(uint16_t x_start, uint16_t y_start, uint16_t x_end, uint16_t y_end) { LCD_Write_Cmd(0x2A); // CASET 列地址 LCD_Write_Data(x_start 8); LCD_Write_Data(x_start 0xFF); LCD_Write_Data(x_end 8); LCD_Write_Data(x_end 0xFF); LCD_Write_Cmd(0x2B); // RASET 行地址 LCD_Write_Data(y_start 8); LCD_Write_Data(y_start 0xFF); LCD_Write_Data(y_end 8); LCD_Write_Data(y_end 0xFF); LCD_Write_Cmd(0x2C); // RAMWR 準備寫GRAM }設置窗口時x、y都是16位參數所以分成高8位和低8位兩次發(fā)送。屏幕分辨率128x160CASET的范圍是0~127RASET的范圍是0~159參數寫錯就會出現顯示錯位或者花屏。后面填充顏色時CS只切換一次void LCD_Fill(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color) { uint32_t count (uint32_t)(x2 - x1 1) * (y2 - y1 1); LCD_SetWindows(x1, y1, x2, y2); LCD_CS_LOW(); LCD_DC_HIGH(); // 后面全是數據 while (count--) { SPI_WriteByte(color 8); // 高字節(jié) SPI_WriteByte(color 0xFF); // 低字節(jié) } LCD_CS_HIGH(); }5. 刷屏與顯示內容填充顏色、ASCII字符和BMP圖片屏幕上顯示任何內容本質都是往GRAM里寫顏色數據。把這一層抽象出來之后畫點、畫線、畫矩形、顯示字符甚至顯示圖片都是同一個套路先設置窗口再往窗口里填充顏色值。5.1 RGB565顏色編碼與單色填充ST7735在COLMOD設為0x05時每個像素用16位RGB565格式表示高5位是紅色中間6位是綠色低5位是藍色。這種格式舍棄了每個顏色分量的一部分精度把16位空間利用率拉滿。實際使用中我習慣用一個宏把RGB三通道的0~255值轉換成RGB565#define RGB565(r, g, b) (((r 0xF8) 8) | ((g 0xFC) 3) | ((b 0xF8) 3))注意轉換后的16位數據在字節(jié)發(fā)送時高位在前color 8先發(fā)高字節(jié)再發(fā)color 0xFF低字節(jié)。很多剛上手的朋友把順序搞反結果顏色整體偏色或者紅藍互換屏幕上圖形輪廓是對的但顏色全亂了。全屏填充一種顏色一行代碼就能實現LCD_Fill(0, 0, 127, 159, RGB565(255, 0, 0)); // 全屏紅色 LCD_Fill(0, 0, 127, 159, RGB565(0, 255, 0)); // 全屏綠色 LCD_Fill(0, 0, 127, 159, RGB565(0, 0, 255)); // 全屏藍色5.2 顯示ASCII字符需要自己準備字模液晶屏本身不認字符要顯示字母和數字必須把字符轉換成像素點陣數據插進GRAM。我用的是一種常用的8x16 ASCII字模庫每個字符占16個字節(jié)每個字節(jié)對應一列的8個像素點從左到右共8列加上縱向16列正好組成8x16的字符。每個字節(jié)的最低位對應字符的頂部還是底部不同的取模工具可能不同如果顯示效果是上下顛倒的把取模方向改成從下到上即可。顯示字符函數的核心邏輯是先按字符的位置設置顯示窗口然后逐列讀字模遇到為1的bit就填前景色遇到為0的bit就填背景色。關鍵是把窗口設置成8像素寬、16像素高然后逐像素輸出。void LCD_ShowChar(uint16_t x, uint16_t y, char ch, uint16_t color, uint16_t bg) { const uint8_t *font ASCII_8x16[ch - ]; LCD_SetWindows(x, y, x 7, y 15); LCD_CS_LOW(); LCD_DC_HIGH(); for (uint8_t i 0; i 16; i) { uint8_t byte font[i]; for (uint8_t j 0; j 8; j) { if (byte (0x80 j)) { SPI_WriteByte(color 8); SPI_WriteByte(color 0xFF); } else { SPI_WriteByte(bg 8); SPI_WriteByte(bg 0xFF); } } } LCD_CS_HIGH(); }字模數組ASCII_8x16的代碼網上很多直接下載或者自己用取模軟件生成都行。這段邏輯里0x80 j是在從高到低逐位讀取一個字節(jié)的8個bit剛好對應屏幕上從左到右的8列像素。顯示中文需要額外準備16x16或者32x32的全角字模思路完全一樣只是字節(jié)數和行列數更多。5.3 用取模軟件顯示一張完整圖片顯示BMP圖片的流程本質上就是把你準備好的圖片數據數組逐字節(jié)灌進GRAM。圖片需要預先在電腦上轉換成C語言的const數組我用的是Image2Lcd這款工具設置非常關鍵設置項推薦值輸出顏色16位真彩色像素格式RGB565掃描方式水平掃描行優(yōu)先高位在前勾選最大寬度/高度128 / 160生成的數組是const unsigned char gImage_xxx[]每個像素占2字節(jié)。顯示時直接設置窗口為圖片大小然后連續(xù)發(fā)送整個數組void LCD_ShowPicture(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint8_t *pic) { uint32_t total (uint32_t)width * height * 2; // 總字節(jié)數 LCD_SetWindows(x, y, x width - 1, y height - 1); LCD_CS_LOW(); LCD_DC_HIGH(); while (total--) { SPI_WriteByte(*pic); } LCD_CS_HIGH(); }這個函數不關心圖片內容只管逐字節(jié)搬運所以任何圖片只要轉成數組就能顯示。要注意取模軟件的掃描方式必須和你的窗口設置一致如果取模時是垂直掃描而代碼里窗口是水平填充圖像會變成“拉絲”效果一行一行錯位錯開。6. 白屏、花屏、偏色我把常見的坑都踩了一遍配置完這些代碼之后并不是所有板子都能一次點亮。下面這些坑都是我實際踩過的逐個排查基本能解決90%的問題。6.1 白屏的排查鏈路如果背光亮了但屏幕全白按下述順序查。第一步查硬件復位。很多模塊的RES引腳需要穩(wěn)定拉低再拉高的過程STM32上電瞬間RES引腳的電平如果被其他初始化邏輯干擾屏幕就會停留在復位狀態(tài)。用代碼在初始化最開始顯式做一次RES低120ms - 高120ms能排除絕大多數復位問題。第二步查DC引腳。DC接錯是白屏的另一個高發(fā)原因。DC一旦接反屏幕會把命令當成數據處理、把數據當成命令處理所有寄存器配置全部錯亂屏幕上就是一片白。確認DC接到了PB14代碼里DC宏定義正確。第三步查初始化序列是否匹配你的芯片版本。紅板ST7735R沒有完整伽馬配置就是白屏藍板ST7735S用完整配置反而可能花屏。先判斷版本再決定初始化方案不要混用。第四步如果你有邏輯分析儀直接抓SCK和SDA波形看初始化階段是否有電平翻轉。軟件SPI的速度正好在邏輯分析儀的采樣范圍內方便得很。抓不到波形說明代碼根本沒跑起來那就是工程配置問題去查時鐘樹和GPIO模式。6.2 花屏和錯位的真正原因花屏的排查點比白屏更多但特征很明顯屏幕上能看出有東西在顯示只是色彩和位置不對。最常見的花屏原因是窗口設置和實際像素尺寸不匹配。比如把128x160的屏幕錯配成132x162或者CASET/RASET參數寫反了GRAM的寫入指針就會溢出到非預期區(qū)域出現“斜著錯位”的條紋。把窗口參數改成0~127和0~159通常就能解決。另一種花屏表現為顏色漸變、色斑明顯這不一定是代碼問題可能是模塊電源紋波偏大。我在用杜邦線供電、電源線較長的時候遇到過后來在VCC和GND之間并了一個100uF電解電容現象立刻消失。如果你用的是面包板飛線給屏幕供電多并個電容是好習慣。還有一種是MADCTL方向設置導致的“翻轉錯位”。ST7735的0x36寄存器控制掃描方向和RGB/BGR順序不同廠家的屏初始值不同。如果你發(fā)現顯示內容上下顛倒或者左右反轉通過修改LCD_Write_Data(0x00)這個參數來調整。常用幾組值顯示方向MADCTL值豎屏普通0x00橫屏90度0x60豎屏180度0xC0橫屏270度0xA0這幾個值是經驗值不同批次屏幕存在細微差異以實測為準。6.3 引腳電平與供電的灰色地帶ST7735的IO邏輯電平是1.8V~3.3V不支持5V。如果你的主控是5V供電的Arduino或者51單片機必須加電平轉換直接接大概率燒壞屏幕控制器或者出現各種奇怪亂碼。STM32本身輸出3.3V這一步反而安全但要注意千萬不能圖省事用5V供電然后直接接3.3V邏輯——電源域和IO電平域是兩回事。另外一個容易被低估的是杜邦線長度。軟件SPI雖然速度慢但線上反射噪聲依然可能導致數據錯誤。我試過用30cm的杜邦線連接屏幕滿速刷屏時偶發(fā)花屏縮短到15cm以內就完全正常。如果現場不得不走長線那就把SPI_WriteByte的循環(huán)里加幾個__NOP()降速或者干脆把時鐘半周期拉長犧牲一點速度換穩(wěn)定性。最后再提一個值得一提的細節(jié)如果屏幕模塊是帶有PCB板載穩(wěn)壓的版本供電電壓標稱5V實際芯片邏輯部分還是3.3V。這種情況下供電接5V沒問題但不要同時把屏幕的SDA、SCK信號接到5V電平上信號線上沒有穩(wěn)壓芯片保護5V邏輯電平直接懟上去照樣可能損壞ST7735。寫在最后的一點實際建議這套STM32軟件SPI驅動1.8寸TFT-LCD的方案我已經在好幾個項目里復用了包括一個室內溫濕度監(jiān)測器和一個手持LCR表界面。我的體會是屏幕驅動本身不復雜但一定要把“時序”兩個字刻在腦子里。SCK什么時候翻轉、SDA什么時候變化、DC什么時候切換每一步都要清清楚楚。軟件SPI雖然慢但它把整個通信過程變得完全可控一旦出問題用邏輯分析儀看波形比對著硬件SPI寄存器猜原因高效太多。最后分享一個經驗在調試階段建議把SPI_WriteByte里的時鐘速度刻意調慢一點比如在每次SCK翻轉后加幾個__NOP()這樣邏輯分析儀能更清晰地看清楚每一位數據。等整個鏈路確認無誤后再把這些延時拿掉恢復滿速刷屏。這種方法能有效區(qū)分“時序錯誤”和“邏輯錯誤”排查起問題來快得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九九九九九九九九九九九免费国产| 一区二区三区精品黑丝白丝酒店对鸡 | 亚洲欧洲激情卡通另类文学四射小说网站 | 久久久久久波多野吉衣高潮| 久久69精品久久久久久久| 蜜乳AV色欲AVAV无码| 亚洲丝袜色图| 偷拍 亚洲 欧美| 亚洲少妇综合在线播放| 操老熟女AV| 激情 欧美 亚洲 小说| 日韩综合无码色欲vv| 五月婷久久| 久久同城AV| 精品人妻中文字幕高清| 人人爽天天爽| 国产精品一区二区a| 在线人人人人人人精品超| av片在线观看免费播放| 亚洲色欧| 亚洲精品性爱片| 久久久久久中文字幕中文字幕最新| 中文字幕一区二区三区蜜桃视频| 国产人妖视频一区在线观看| 国产黄色动态精品| 欧美日韩国产成人高清| 东北黄色电影| 久久色精品视频在线| 亚洲日韩精品在线播放| 综合色欧美| 成人午夜视频免费播放| 在线播放中文字幕| 黄色高清无码无码破解免费暗网| 欧美日韩人人精品| 啪啪性爱免费视频| 精品大全99999| 性爱精品一区| 日韩无码第3页| 亚洲精品第一| 夜夜躁狠狠躁日日躁av| 九九成人| 91狠狠综| 97视频www| 久久久久久国产无码精品| 九九九九九九九九九五码| 日本伦乱九九九综合| 精品国产精品一区二区| 男同专区一区二区三区在线| 日韩啪啪网| 亚洲欧美视| 大香蕉综合网| 91东北熟女| 青青国产在线拍揄自揄拍| 亚洲欧美国产va在线播放频| 伊人在线大香蕉视频久久| 人人爱人人操人人性| 亚洲欧美啪啪| 98一区二区精品| 亚欧毛片基地国产毛片基地| 91精品国久久久久久无码| 成人26uuu| 欧美亚洲AN| 少妇xx精品| 丰满人妻-区二区三区免费看| 亚洲综合五月天| 天美传媒婬乱| 欧美高清16| 不卡码视频| 久久久久久亚洲中文| 亚洲涩图欧美| 在线播放一级无码视频| 欧美色另类| 2019天天操天天爽天天拍| 亚洲人妻中文高清| 大香蕉中文在线| 亚洲欧美日韩有码| 狠狠狠狠狠干| 99视频自拍| 欧美人妻少妇| 麻豆91熟妇人妻中文字幕茄子| sss视频华人在线| 视频黄色国产一级| 影音先锋少妇| 国产精品盗摄 偷窥盗摄| 99日视频在线免费| 国内外毛片在线观看| 久久久精品国产亚洲伊人| 亚洲欧洲综合av在线| 欧美日韩一二三| 一区二区三区蜜桃成人撸久久东京热| 亚洲av影院在线观看| 日韩无码极品| 97精品久久| 97操综合| 青青草啪啪网| 超碰97人人乐| 操淫穴亚洲五月丁香| 色哟哟的毛片| 九九夜精品九九在线| 一本色道久久综合亚洲二区三区| 超碰97资源大奶| 日本网色| 日韩不卡毛片Av免费高清| 日本不卡五区| 日韩有码 一区二区三区| rivers-china.com| 亚欧洲一区二区视频| 精品久久在线区一区| 五月丁香综合啪啪| 久久性爱城| 99久久精品无码一区二区| 人妻一区二区三区视频| 91看黄片| 天天色天天干天天射| 国产无码成人无码| 亚洲巨爆乳一区二区三区四季网| 欧美高清第一页| 新91视频.cmp| 欧美97免费| 操b网站亚洲无码| 在线观看国产黄色| 自拍偷拍 日韩无码| 欧美精品三区| 欧美成年人性爱视频免费观看| 97在线观看免费视频| 99精品丰满人妻无码| 偷拍综合亚洲| 操逼短片| 91老妇女| 免费试看60秒| 超碰色男人操熟女| 26uuu国产免费观看| 97任你吞精| 亚洲精品影视老司机| 大香蕉97久久| 欧州色图区| 六月婷婷激情| 午夜男人天堂| 亚洲诱惑天堂 | 呦呦一区| 欧美伊人久久综合网| 亚洲无线码欧洲精品区别| 波多野结衣AV无码一区| 综合欧美激情网| 亚洲蜜乳av| 中文字幕亚韩| 中文字幕在线播放2中文字幕在线观看2| 婷色五月天| 首页亚洲国产高跟丝袜诱惑视频| 亚洲一区二区三区麻豆传媒| 亚洲性猛交| 久久久久斤小| 久久久久久性爱免费视频| 操www| 精品人妻1区| 麻豆国产免费影片| 99热精品青草在线| 欧美精品欧美精品系列 | 日本淫色网| 日韩精品第3页| 亚洲狠狠入| 调教熟妇 久久久久久| 精品亚洲黄色片 国产精品导航一区二区| 亚洲日本激情| 999国产精品999| 加勒比大香蕉视频在线| 久久一二区四| 亚欧美综合网。| 96精品久久久| 爽极品影院| 水多多映视AV| 自偷自拍的亚洲视频| 操逼日韩无码| 欧洲精品在线播放| 蜜桃天美传媒AV一区二区三区| 91综合网在线| 色色色欧美| 又黄又爽在线观看视频| 亚洲日韩熟女人妻高清在线| 蜜臀久久99精品久久久久| av在线观看不卡网站| 五月婷婷大香蕉| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 午夜福利视频在线一区| 国产动漫操逼视频| 天天看特黄的免费网站| 91人精品妻入口| 五月丁香婷婷色| 青青草日本中文字幕| 蜜桃天美传媒AV一区二区三区| 成人26uuu| 999在线电影香蕉| 色网1| 男人的天堂va在线| 99日韩| 性性欧美| 黄片qw| 免费观看有码高清视频| 精品久久久久久久| 开心激情站| 超碰午夜| 女人 A一级| 亚洲综合有玛| 久久亚州精品成人Av无| 亚洲日本男人天堂网| 97免费视频在线| 午夜黄色免费在线观看| 涩涩久久精品| 在线99热| 91制服丝袜| 国产乱码精品一区二区三区四川| 91 国产丝袜在线播放-百度| 精品欧美А∨无码黑人大荫蒂| 欧美综合加勒比在线| 91视频精品| 毛片视频白嫩| 九九AV| 亚洲精品一区二区三区新线路| 欧美青青草视频| 国产一级特黄大片处女| 97天天插| 91丨九色丨东北熟女| 久久大香蕉97| 国产67194| 亚洲欧美97√| 欧美亚涩| 亚洲 欧美 制服 另类 自拍| 一区| 国产午夜无码片在线观看影视| 亚洲综合射| 国产第25页在线观看| 伊人国产视频| 三级日韩一区二区三区| 日韩影片中文字幕一区二区三区| 97国产超碰| 99re9这里只有精品| 视频国产成人精品日本亚洲18| 强上我不卡卡| 亚洲色系另类精品国产| 啊啊啊爽爽| 久久色一区| 秋霞成人一级在线观看| 偷拍亚洲情色| 精品十三区| AV网站高清无码在线观看| 人人摸人人舔一区二区| 成人情色一区二区| 国产精品久久久久久无码红治院| 亚洲国产97| 亚熟在线| 亚洲综合一区二区| 草草电影院| 亚洲色图 图片| 亚洲欧美精品福利在线| 日韩电影在线观看网址| 大色网久久| 午夜天天碰综合视频| 欧美一区二区三区互相| 国产精品丝袜在线| 亚洲综合性感在线| 婷婷五月天成人| 人妻一区二区三区视频| 久久日韩肥臀| 亚洲区限制级| 殴美性色a级欧美| ,成人免费啪啪视频| 亚欧操逼片在线观看 | 国产又粗又长的视频| 野狼激情网| 色欲无码人妻日韩欧美精品| 无码精品久久| 超碰97男女| 亚洲色欲一区二区三区| 亚洲色欲天天人妻无码系列专区| 操操操五月天婷婷丁香影院| 蜜臀久久99精品久久久久| 久日91在线| 久久精品小视频| 国产51色综合久久免费| 人人看人人插| 欧美资源| 野狼福利社区| 久久久久久中文| 色大师网站www永久网站视频| 熟女乱伦二区| 日韩一级片在线看| 秋霞久久亚洲精品成人| 欧美国产日韩清纯唯美| 人妻人人做人人澡人人爽欧美一区| 日韩内| 羞答答AV中文字| 日韩ab网| 97资源欧美| 人妻在线臀日韩| 五月婷婷六月激情| 久久草大香蕉| 女人高潮大叫一级毛片| 黄片不用下载在线观看| 浪人综合网| 久久久久久久九九九九九九| 久久超碰国产一区二区三区| 加勒比综合| 欧美熟妇精品黑人巨大91| 亚洲综合另类色图| 日本天堂在线播放| 蜜桃精品一区二区三区久在线| 亚洲一二三精品久久网| 大香蕉伊在线久草麻豆天堂故事| 五月天伊人| 国产在线不卡导航| 免费视频在线观看啊啊啊啊啊| 长长久久88视频| jk白丝没脱就开始啪啪| 最新中文字幕精品在线| 日本操逼视频导航| 深夜国产一区二区三区在线看| 无码区蜜乳| 日本黄色精品专区网站| 一区二区三区在线美女| 亚洲va有码在线天堂| 国产精品内射婷婷一级二| 一区二区高清视频| av网站免费线看| 日韩欧美性爱电影在线观看| 欧成人在线| …中文字幕亚洲乱,97人妻无码费视…| 国产欧美黑人丰满在线| 超碰97最新人妻| 亚州色图片在线色| 久久日本熟妇熟色高清| 国产自产22区| 人妻激情视频| 大香蕉中文| 一区二区三区免费视频入口| 在线国产福利网址导航| 最新日韩黄片| 五月天综合网| 九九热免费国产视频婷婷伊人 | 欧美激情激情xxxx欧美专区| 韩国手机不卡无码三级视频| 国产精品一级片在线看| 婷色五月| 又摸又舔在线观看网站| 疯操AV| 国产熟妇 码视频户外直播| 欧美日韩色综合网| 人人看人人摸人人色| 男人夜色天堂ss| 最新亚洲风情电影| 黄久久| 国产精品久久久| 国产高清精品一区二区三区毛片| 久久免费精彩视频| 91熟女综合| 麻豆色99999| 青娱乐福利99| 韩国黄色片精品久久久| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 青青草在线视频人人想人人上 | 成人精品在线观看| 黄总AV色图| 日韩欧美成人午夜福利| 操人91| 曰本精品久久久| 好湿好紧视频| 日本欧美韩国国产在线| 六月婷激情福利天堂69| 操老熟女AV| 久久久性| 久久久A∨| 夜夜操一区二区| 五十路三区在线| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 亚洲精品 大香蕉| 国产诱惑| 国产AAAAAABBBBB| 色婷婷在线视频| 日本欧美m v精品网站加| 可免费观看的av毛片中日美韩| 极品尤物自安慰| 不卡人妻少妇精品毛片一区23区视频| 校园激情狠狠四射| 中国一区二区亚洲人妻| 欧亚久久偷拍视频| 在线免费观看高清无码视频| 日日干日日| 国产精品69久久久久孕妇欧美 | 亚洲蜜臀精品视频久久| 久久五月天婷婷丁香中文字幕| 久都青青视频| 精品国产乱码久久久A| 在线观看色视频| 北京美女一区二区| 亚洲无码超碰免费| 色婷婷综合久久中文字幕雪峰| 欧美 色 亚洲| 久久99操天天日| 超碰4A| 欧美性爱伊人| 伊人宅男大香蕉| 午夜欧美女人操逼| 日韩黄色小说| 91精品久久久久久综合五月天| 婷婷九月丁香| 久久久久久欧美精品se一二三四| 91亚洲丝袜熟女| 大香蕉免费乱伦视频| av久日| 国产人伦a片信息免费片| 天堂精品小草| 天天操人人操狠狠插| 亚洲图片欧美制度| 7777奇米影视久久| 亚洲色图综合网| 免费在线黄片视频| 久草电影网| 五月色网| 97天天摸天天爽| 麻豆精品久久久久久久| 亚洲国产一级黄色视频| 东北女人操比视频| 亚欧免费| 天综合网欧美| 色偷综合| 久色网| 天天日夜干| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 欧美日韩系列| 男人的天堂网免费| 午夜.DJ高清在线观看免费7| 俞拍自拍| 五月丁香六月激情| 国产欧美日本亚洲精品| 欧美日韩人妻少妇 一区二区三区| 欧美激情中文字幕另类小说| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 五月综合视频| J?P?NESEHD熟女熟妇伦| 97干综合网| 欧美一区二区亚洲天堂| 欧美爱三级日韩久久| 91欧美性| 欧美日韩丝袜| 国产人妖的免费的视频| 人妻丝袜一区二区三区在线| 久久久999网站| 男女啪啪啪18禁网站| 亚洲天堂第一页| 国产人伦a片信息免费片| 国产成人精品午夜福利| 91chinese在线| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 久久9久久| 日韩AV色图| 国产免费久久久久| 爱妃国产亚洲视频中文字幕| 视频在线观看青青99国产| 亚洲成人av色网| 日韩精品资源专区二区| 黄页网站成人免费| 91熟女综合| 国产一区二区a毛片| 老熟女阿 国产91| 亚洲情色五月天 | 少妇蜜汁| 天天综合,91综合永久| 国产精品无码久久久久2025| 欧美在线91| 欧美精品,四区。五区| 精品人妻一区二区免费蜜桃| 色五月激情网| 大香网站| 久久受www免费人成| 亚洲 日本 不卡| www.男人天堂| 97亚洲资源| 青青青草伊人精品| 少妇同性| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 天天干人妻| 超碰人人在线| 成人精品久久久午夜福利| 九九九九一级| 丰满人妻一区二区三区在线| 最新欧洲欧美日本激情网站| 青娱乐亚洲自拍| 97亚洲精品| 秋霞福利网| 午夜呻吟欧美| 九月婷婷综合| 强奸乱伦大香蕉网| 天天干人人干天天日97| 在线有码中文字幕| 99久久精品无码一区二区毛片免费| 94色色电影网| 久久国产精品m码| 国产AV线| 超碰 欧美| 色香91| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 四月丁香婷婷| 亚洲色五月| 亚洲激情在线| 尹人大香蕉视频在线| 天天草夜夜草高潮片| 欧美精品久久久久久久丰满| 一区二区精品日韩欧美在线观看| 国产JDAV无码视频在线观看| 无码直播久久久| 青娱乐福利99| 免费超碰97在线观看| 日本日逼高清| 日韩精品中文字幕一| 操逼逼中文字幕| 3d成人精品一区二区| 国产操逼逼网| 久久黄色性爱视频| 国产精品久久久久久片| www.99色| 九九热九九热| 久久爽爽精品| 亚洲图片视频小说| 日本506070| 91精品人妻偷情| 69少妇一区二区| 免费一级a毛片久久久久久鸭绿欲| 色翁荡息又大又硬又粗又爽| 夜夜影视四色| 99热亚洲| 久草资源欧美在线视频| 97超碰总站| 9美女超碰在线免费观看| 97超碰欧美精品| 国产内射爽爽大片| 乱伦日本色图AⅤ| 99热婷婷| 看黑丝美女操逼青青网站| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 中文字幕天天天天天| 人人澡综合涩| 四虎av在线| 永久电影三级在线观看| Blackedraw视频一区二区| 婷婷五月天在线观看| 久久色一区| 91无码人妻| 手机在线大香蕉| 欧美一区二区福利在线| 屁屁影院一区二区三区国产| 91国产精品熟女| 亚洲激情色片| 97 色综合| 思思热在线cao| 美日韩成人| 青青草成人视频在线观看二区| 九九九九九九精品| 国产三级资源在线观看| 色婷婷综合视频| 一级黄碟在线观看| 亚洲天堂久| 国内精品嫩模A∨私拍小视频| 成人乱码一区二区三少妇| 国产人伦精品一区二区三区| 欧美视频一区二区三区| 香蕉热人人精品| 天天日少妇逼AV| 欧美亚洲激情一二三| 啊啊啊免费视频| 天堂中文资源在线bt| 欧美狠狠操| 欧美人人天天网| 国产中出内射一区二区| 亚洲宅男天堂| 日天天九九天堂666| 国产精品久久久久中文字幕| 国产超碰在线一区| 白嫩少妇| 4399成人黄A片| 艾草av| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 国产精品日日摸天天碰| 肉嘟嘟www视频在线观看高清| 黄色AV影视| 日本高清一本二本免费不卡| 日本色色色色色视频| 欧美性区| 日本熟妇人妻中出视频| 日韩美女高潮喷水视频| 日韩9999| 人妻大香蕉| 国产免费一区| 91中出视频| 精品人妻美妇91job| 日韩电影天堂视频二区三区| 偷拍偷窥与盗摄视频专区| 婷婷五月在线视频| 酒色综合网| 99精品在线| 欧美在线亚洲| 大香蕉伊人久久| 亚洲欧美天| 图片区小说区| 欧美在线亚洲| 一区操逼| 黄网站黄视频网站进入口| 人人操人人干xxx| 久插综合| 国产欧美精选自拍一区| 久久久久人| 久久性视频| 精人妻无码一区二区三区伊人直播 | 香港澳门日本三级网站| 欧美激情五月天| 欧美加勒比| 久久久夜夜嗨免费视频| 午夜操一视频一区| 色综合天天| 97精| 欧美色997| 亚洲免费在线探花| 亚洲精品蜜桃久久久久久久| 强奸抽插av| 国产91精品久久久久久久网曝门| 隔壁邻居波多野结衣中文字幕| 91影视亚洲| 亚洲色综合| 精品人妻一二三| 91美女色视频亚洲| 狠狠色综合网| 男人天堂网站| 二三四区精品| 五月综合久久| 婷婷av在线中文字幕| 学生妹天天看| 人妻天堂综合网| 人人摸.人人色| 久久久久96| 极品丝袜无码| 男人a天堂手机在线版| 欧色网址| 中国黑人三级片网站上区| 女人双腿搬开让男人桶| 性综合网| 久草线上视频免费看| 天天日天天插| 欧美另类精品xxxx| 天天爽天天操啊啊啊| 91高跟美女在线播放| 国产精品自产拍在线观看社区 | 亚洲天堂,男人| 少妇一级婬片免费放一级a性色.| 亚洲成人在线乱码色午夜| 色盈盈影院| 五月天色图| 屁股久久久久久久久久| 国产精品熟妇一区二区三| 丁香婷婷久久 | 精彩国产视频播放1区2区| 亚洲一区二区三区欧美日韩| 手机午夜电影神马久久| 久久二| 爱丝福利| 韩国嫰模上门援交视频| 一区麻豆 高清中文字幕| 免费久久精品麻豆一区二区av| 韩国一级AAA| 黄色大片视频在线免费看| 久久久久久免费电影| 内射黑人| 男人的天堂在线2| 任你艹| 天美麻花大全视频| 思思热国产在线视频| 操一操摸一摸| 人妻欧美| 伊人久久蜜月| 91亚州欧美| 9/A片| 最新欧美色网| 91啪啪| 欧美日韩999| 日韩欧美俄罗斯A片| 无码人妻精品一区二区中文| 襙一襙| 日本一区二区亚洲综合| 亚洲熟女av中文字幕| AV色五月天| 色拍偷亚洲| 很很干很很操| 18一区二区三区| 亚洲精品一区中文字幕乱码| 柠檬AV导航| 懂色AV蜜臀无码精品APP| 曰韩成人免费视频| 在线v中文字幕一区二区三区| 久久精品国产亚洲AV无码电影| 日韩亚洲精品一区二区| 日本黄色大片一级视频免费麻豆| 日韩av电影成人在线| 国产精品免费1区2区视频| 亚洲国产精品无码AV久久| 翔田千里A片一区二区| 91精品人| 日韩啊V| 综合激情二| 少妇无码av专区线| 国产成人午夜视频网址| 国产女人91精品嗷嗷嗷嗷| 色综合尤物| 一区二区三区高清天码| 久久国产热视频97电影| 中日亚韩免费视频| 人妻 丝袜美腿 中文字幕| 国产AV激情无码久久无码 | AV色五月天| 日韩特一级久久| 91痴汉| 色汉综合| 51久久夜色精品国产麻豆| 日韩 欧美 视频 在线 一区| 丰满人妻av一区二区三区| 日本Xx性爱| 男人的天堂va在线| 秋霞网—男女啪啪亚洲免费体验区| 日韩成人精品| 国产乱色国产精品免费视| 免费精品中文字幕| 婷婷视频网| 在现视频女上位好爽| 操学生天天| 99热日| 2020中文字幕在线观看| 亚洲av无码国产精品字幕| 视频国产精品未满十八禁止在线观看| 一级A啪啪啪啪| 天天影视网综合少妇| 欧美韩国你懂得在线| 舔人妻中文免费视频| 亚洲 欧美 色图| 啊啊啊啊免费视频| 久久精品国产亚洲AV先锋| 一级性爱啪啪视频| 黄色香蕉视频网站一区| 日本日皮视频逼| 蜜臀在线免费观看在线免费观看| 91麻豆一二三区| 久久香蕉国产线看观看猫咪av| 国产这里只有精品| 白丝少妇一区二区| 超碰97久| 操逼天美3区| 丁香五月影院| 色九九九综合| 91麻豆天美| 一区二区三区精品视频| 成人网欧美风情| 蜜臀AV一区二区三区| 日韩综合无码色欲vv| 中文字幕 人妻不满 在线视频| 97er欧美性| 男人天堂电影院| 日韩av在线免费网站| 久久9 9 9精品| 中文字幕黄色一起草| 99少妇| 国产三级资源在线观看| 在线看片国产精品每日更新| 欧美|91色综合| 一本色道久久综合亚洲二区三区| 亚洲无无码αⅴ每日更新| 五月天色综合| 丝袜天堂网| 国产精品蜜臀久久久久无码AV| 九色97| 精品性爱久久视频| 成人一二| 日韩在线视频1234| 欧美啪啪啪91| 日韩欧美大力操| 黑操B| 韩日欧亚a级| 强奸乱伦资源| 亭亭在线资源| 日韩性爱毛片操骚逼| 亚洲中文字幕乱码无码一区二区| 精品对白久久不卡| 天堂8在线新版官网| 激情四射婷婷六月天| 国产女人与拘做受视频免费| 久久久蜜桃一区二区三区| 乱人乱色一区二区三区免费 | 久草线上视频免费看| 精品毛片av一区二区| 亚州综合电影| 日韩一级性爱无码| 2025亚洲男人天堂| 一级黄色性爱裸体视频| 狠狠躁AV| 加勒比海色香蕉婷婷| 伊人久久88国产女| 男人天堂新| 男人天堂久久精品| 亚洲AV色图一区| 免费视频a级毛片免费视频| 国产中午字一暮区| 在线观看av区| 久热精品在线| 九九aV| 国产精品不卡少妇白| 91无码中出人妻视频| 97亚洲中文| 91精品电影18| 国产乱伦亚洲色图高清无码| 成人热久久精品| 蜜乳Av成人片网站| 九草在线大香蕉| 国产在线观看一区二区三区| 一区二区首页| 日韩免费在线视频观看| 亚洲综合校园春色| 97国产成人精品免费视频| 天天摸天天操视频| 99少妇精品视频| 小说区 图片区色 综合区| 97超碰逼| 91三级理论片播放器| 男人天堂毛片| 国产成人资源| av亚欧| 热热色色综合| 色婷婷基地| 精品人妻一区二区三区在| 在线综合 亚洲 欧美中文字幕 | 啊…啊…操我用力操我| 国产综合久久久麻桃个| 五月天春色激情网| 100啪啪视频大全| 99久在线精品99re8热视频在线| 九九RE视频在线精品| 91制服丝袜中文字幕| 亚洲va综合va国产va中文| 欧洲特黄毛片免费看欧洲毛片| 色www精品视频在线观看| 日韩性爱毛片操骚逼| 国产乱码精品久久久久久| 欧美99热| 国产家庭乱伦表演| 国产视频97| 国产怡红院| 亚洲第一成人影院色播| 色97欧美| 欧美大香蕉97| 欧美在线播放aaaa| 人人操人人摸avav| 97超碰伊人| 欧美性,亚州色| 国产a级午夜毛片| 亚洲一区操| 超碰欧美COM| 欧美日韩人人精品| 中文字幕jul-617人妻熟女| 久久精品国产亚洲5555| 91美女视频电影| 精品人妻一区二区免费蜜桃| 国产呦精品一区二区三区下载| 日韩三级伊人| 2020天天色综合| 老女人碰碰在线碰碰视频| 成人性爱全视频观看| 亚洲无码超碰免费| 91精品人妻一区二区三区蜜桃| 久久国模av| 国产精品久久发布| 婷婷丁香六月| 亚洲国产成人福利在线观看| 国产h小视频在线观看免费| 国产精品色| 又摸又舔在线观看网站| 96精品在线| 国产精品黄色三级av| 国产精品美女久久久久久网站| 久久久一区二区三区麻豆| 熟女中出视频| 亚码激情| 99热最新| 3p国产色噜噜一区| 在线a v| 亚洲图片色图欧美另类| 中日韓欧美高清| 91美女精品| 91九色丰满高潮| 老女人91| 99热aaa| 国产日韩精品一区二区三区| 久久久久久久久久久六六| 久久久久久AⅤ无码免费肉站 | 717影院理论午夜伦八戒| 日逼视频日本| 中文字幕精品一区欧美| 搡老熟女免费视频| 欧美碰碰综合色| 欧美写真视频一区| 综合色区偷拍| 欧美亚洲手机在线| 友优传媒精品在线一区二区| 在线情色电影 91大| 欧美一区二区在线资源| 日韩乱码Av| 欧美有码激情视频一区二区三区| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 国产操操日韩三级黄| 亚洲无码电影久久久| 日韩兔费看黄片| 啊啊啊好大好深| 国产夫妻性生活视频| 色噜噜人妻av中文字幕| 97亚洲自在精品在线观看| 天天综合网~91综合网| 中文字幕日韩情色| 天堂亚洲精品| 欧美 色 亚洲| 97干色| 日本淫乱女一区二区三区视频| 欧美一级黄色免费专区| 老外又粗又长一晚做五次| 黄色片一区二区三区四区五区| 岛国片在线播放| 国产区91柔拿会所技师| 岛国1区2区3区在线观看| 国产在线激情视频| Sekablack无码一区| 香蕉久久AⅤ...| 天天躁日日躁XXXXYY| 日本九九九九| 99热亚洲天堂| 日韩传媒在线| 美女让帅哥通她小鸡鸡| 亚洲一区二区av| 加勒比aⅴ| 999久久久免费精品国产牛牛| 亚洲天天做日日做天天谢日日| 国产女人高潮嗷嗷嗷叫小说| 日本色色色视频| 丁香五月天激情综合| 欧美色图片91| 后入福利视频| 777超碰| 亚洲色图尤物视频| 亚州一区二区成人片免费| 玖玖在线视频| 日韩国产十八禁| 天天爽入口| 成人羞羞视频国产| 3d成人精品一区二区| 国产免费一区二区在线A片视频| 欧洲天天在线| 青青草玖玖爱| 啊啊啊啊啊在线| 国产毛片片精品天天看视频| 豆花视频操逼网址| 成人网址在线观看| 午夜天堂精品久久| 日产精品久久久一区二区| 人妻9117c| 国产精品久久伊人| 97精品久久久久久久| 91模特在线观看| 奇米四色网| 丁香婷婷大香蕉| 欧美99| 久偷拍欧美日韩三区| 日韩超碰97| 国产精品分类在线观看| 婷婷在线视频| 无卡一区=区| 97超碰磁| 日本熟妇一区二区三区| 久久蜜色情在线视频xxx免费观看| 欧美九九九| 人人人人插| 夜夜操91744565| 久久午夜神马| 精品欧美乱码久| 丰满人妻一区二区三区大胸懂色| 日少妇亚洲版| 偷拍视频青青草在线视频| 乱论91| baisiav| 熟女精品日韩一区二区三区| 狠狠色噜噜狠狠狠狠狠色综合久久 | 91麻豆天美国产欧美| 激情久久日韩精品中文字幕麻豆| 国产精品久久天天干| 深夜啪啪啪视频免费| 久久久久久99999国产精品| 国产一进一出视频网站| 伊人大香蕉在线| 日本最新1区2区3区| 成·人免费午夜在线观看| 婷婷综合激情| 97国产中文| 另类一区| 欧美超碰人妻97| 密乳AV免费观看| 久都青青视频| 婷婷午夜清品久久久久久久性色视频观| 中文字幕免费看大片| 久久综合超碰| 美国黄片aaa| 男人的天堂.com| 黄色无码高清黄色无码网站| 色婷婷丁香| 欧美日韩色| 五月婷婷综合网| 午夜操一视频一区| 欧美性生活综合| 一本色道久久综合狠狠操| 午夜理论片在线观看免费| 人妻密肉在线观看| 黄色大片免费在线| 九九九九日本 | 啊啊啊啊啊啊啊网址在线观看| 蜜乳av一区二区| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 视频二区美腿制服人妻欧美| 国产亚州日韩欧美看片| 麻豆熟妇乱妇熟色A片在线看| 激情四射五月天| 精品人妻一区二区三区鲁大师| 97操97色| 免费看黄片现成| 亚洲男人天堂2016| 日本一区二区三区四区免费观看| 91成人久久| 人妻少妇av在线观看| 丝袜 中出 制服 人妻 美腿 中文字幕| 无码高清专| 亚洲熟妇白浆无码AV| 激情丁香五月婷婷| 91骚熟女| 中出789在线视频| 成人aⅴ一区二区三区| 婷婷五月天色网| 五月婷在线| 人妻少妇精品视频一区二区三区| 欧美精品丝袜久久久中文字幕| 国产日韩在线播放av| 欧美天天在线| 亚洲天堂综合AV| 香港澳门日本三级网站| 国产精品在线网站| av片在线观看免费播放| 国内精品久9| 激情视屏国产乱伦强奸| 老熟女阿 国产91| 18一区二区三区| 国产女人和拘做爰视频| 日韩精品三级| 精品国产污一区二区三区| 日本性爱网址| 999久久久九九九九| 中文字幕日韩精品一区二区三区| 一区二区三区 日韩欧美| 操一对老熟妇爽上天视频| 97国伦国色| 熟女人妻一区二区三区| 亚洲加勒比| 人人摸人人干| 欧美日韩岛国大片在线观看| 欧美性高潮| 欧州一区二区三区四区| 日韩成人私密一级精品av| 亚洲天天影视色综合| 欧美成人精品A片免费一区99| 狠狠久久手机视频精品| 91热色| 午夜AV人气不卡| 超碰 国产熟女精品一区| 天天综合网91入口| 99操碰| 国产精品区在线12p| 人妻精品一区一区三区蜜桃91| 国产性感骚丝袜在线| 啊啊啊啊啊啊啊啊啊啊在线观看| 韩国一级婬片A片AAAAA| 欧美综合国产精品久久丁香| 久久九九一区二区三区成人| 91性高潮久久久久久久久| 亚洲AV成人无码一二三久久| julia国产在线| 超碰天天操| 好吊色在线观看| 欧美v亚洲v日韩v最新在线二区| 高清有码一区二区| 人妻内射一区二区在线视频| 欧美黄色图片| 丁香激情五月天| 国语av最新自产拍在线观看| 另类图片欧美激情综合| 亚洲女人91| 乱操9999| 91综合国产精品| 后入内射蜜桃臀| 国产丝袜视频| 91久久久久久久久18| 屁屁影院一区二区三区国产| 免费av在线播放二区| 日韩中文字墓| 超碰色老头| 爱逼综合| 黑人性欧美| 欧美丰满少妇交换91欧美精品| 欧美 综合 亚洲| 中文字幕久久精视频久久大全| 亚洲美女精品| 五月婷婷无码| a在线视频免费观看| 國產尤物AV尤物在線觀看| 亚洲熟女性高潮久久久| 成人免费看吃奶视频网站| 插入逼91| 欧美性少妇| 精品九九九九九九九| 色狠人在线99| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 成人精品久久| 啊啊啊啊啊在线视频| 韩国一级做A片免费的| 国产69精品久久久久99尤物| 黄片视频观看| 欧美激情精品久久久久久| 久久久月天| 偷拍导航视频网站| 久久久久久十| 后入国产| 国产丁香精品露脸视频| 男女啊啊啊| 一区二区三区麻豆| 欧美 亚洲 综合 制服 另类| AV色图| 人妻丰满熟妇av无码区蜜桃| 国产91丝袜 在线播放| 97视频900| 97久操| 九九热九九| aaa亚无码专区| 中字幕人妻一区二区三区| 亚洲免费在线探花| 无码国产精品久久久久| 国语国产操逼伊人AV网| www网站黄| h在线看免费版在线看| 久久手机好看网站| 骚逼一区二区| 97久久免费| 欧美啪啪啪91| 狠狠超| 国产传媒午夜理伦精品| 无色无码| 又黄又爽在线观看视频|