久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

FSMC驅(qū)動(dòng)LCD刷屏提速:從GPIO模擬到內(nèi)存映射的完整實(shí)踐

FSMC驅(qū)動(dòng)LCD刷屏提速:從GPIO模擬到內(nèi)存映射的完整實(shí)踐 前面三篇實(shí)驗(yàn)我們分別用GPIO模擬和串行方式把LCD點(diǎn)亮了但有個(gè)問題始終讓人心里不踏實(shí)——刷屏太慢。畫一張240×320的純色圖肉眼能看見刷新過程像老式電視機(jī)的滾屏稍微做點(diǎn)動(dòng)畫基本沒法看。所以這一篇我決定上FSMC把LCD當(dāng)成一塊掛在總線上的內(nèi)存一條賦值語句就是一次并口寫入。這篇主要記錄FSMC驅(qū)動(dòng)LCD的思路、關(guān)鍵配置、代碼骨架還有幾個(gè)讓我折騰到半夜的坑。如果你也卡在GPIO刷屏太慢這一步這篇應(yīng)該能幫上忙。1. 為什么第四篇一定要上FSMC先從性能賬講起1.1 GPIO模擬方式的時(shí)間到底浪費(fèi)在哪GPIO模擬并口的思路很直接把LCD的D0~D15接到單片機(jī)的16個(gè)普通IO然后用程序控制電平先拉低片選設(shè)置RS表示當(dāng)前是命令還是數(shù)據(jù)再把16個(gè)引腳的電平逐位設(shè)置最后拉低再拉高寫信號(hào)WR完成一次寫入。這里面每一步都有時(shí)間開銷。設(shè)置一個(gè)引腳電平哪怕用寄存器直接操作也要幾條指令16個(gè)引腳的電平得一輪一輪地敲再加上為了滿足LCD控制器的建立時(shí)間、保持時(shí)間往往還得插入幾個(gè)空循環(huán)延時(shí)。算下來一次16位寫入大概要1~5微秒具體看優(yōu)化水平和有沒有用延時(shí)。刷一屏240×320的RGB565畫面數(shù)據(jù)量是240×320×2153600字節(jié)按每次寫2字節(jié)算大約要76800次寫操作。就算每次寫壓縮到2微秒一屏也要150毫秒以上。這個(gè)速度放在靜態(tài)圖片上還能忍放到動(dòng)畫上就是災(zāi)難——一秒鐘最多六七幀而且CPU全程被占死什么都干不了。1.2 FSMC的總線式寫入和內(nèi)存映射思想FSMC的全稱是靈活的靜態(tài)存儲(chǔ)控制器它天生就是用來和SRAM、NOR Flash這類并行存儲(chǔ)器打交道的。它的核心思想是把外部設(shè)備映射到單片機(jī)的地址空間里。這么說吧普通GPIO方式是你自己一個(gè)人搬磚一塊一塊搬FSMC方式是你修了一條傳送帶把磚放到傳送帶入口機(jī)器自動(dòng)把磚送到指定位置。你不需要關(guān)心傳送帶的每一個(gè)輪子怎么轉(zhuǎn)只需要告訴它這一批磚放哪兒。具體到操作就是往某個(gè)內(nèi)存地址寫一個(gè)值。FSMC外設(shè)會(huì)自動(dòng)把這次寫操作翻譯成一套完整的并口時(shí)序地址建立、片選拉低、寫信號(hào)拉低、數(shù)據(jù)鎖存、寫信號(hào)拉高、片選拉高。你的程序里只看到一條賦值語句而波形層面已經(jīng)完成了一次標(biāo)準(zhǔn)的LCD并口寫周期。這種內(nèi)存映射的思路是FSMC最值錢的地方也是后面所有配置的出發(fā)點(diǎn)。如果你能理解寫外部設(shè)備寫內(nèi)存地址FSMC就學(xué)會(huì)了一半。1.3 性能賬對(duì)比一屏數(shù)據(jù)兩種方式的量級(jí)差距我把兩種方式的耗時(shí)做了個(gè)粗略對(duì)比前提是72MHz主頻方式單次16位寫入時(shí)間刷一屏240×320耗時(shí)光算GPIO模擬延時(shí)約2微秒約150毫秒FSMCDATAST9約0.17微秒約13毫秒FSMCDATAST3約0.08微秒約7毫秒注意這里光算的是數(shù)據(jù)搬運(yùn)時(shí)間沒算循環(huán)指令本身的開銷但趨勢已經(jīng)很明顯FSMC方式比GPIO方式快了至少一個(gè)數(shù)量級(jí)。而且關(guān)鍵的一點(diǎn)是FSMC寫入過程中CPU只要發(fā)起一次寫操作剩下的事情由硬件完成CPU負(fù)載大大降低。對(duì)于想要做GUI、做簡單動(dòng)畫、甚至雙緩沖的應(yīng)用這個(gè)差距就是能用和不能用的區(qū)別。2. FSMC與LCD的硬件連接和地址映射A0這根線是靈魂2.1 引腳分配數(shù)據(jù)線、控制線、地址線怎么接FSMC驅(qū)動(dòng)LCD的硬件連接有一個(gè)標(biāo)準(zhǔn)套路。以STM32F103ZET6這類大容量型號(hào)為例FSMC的引腳分布大致是數(shù)據(jù)線PD0~PD15對(duì)應(yīng)D0~D15PE7~PE15也有一部分?jǐn)?shù)據(jù)線具體看你板子上的引出情況寫使能PD5對(duì)應(yīng)FSMC_NWE接LCD的WR腳讀使能PD4對(duì)應(yīng)FSMC_NOE接LCD的RD腳片選PD7對(duì)應(yīng)FSMC_NE1接LCD的CS腳地址線我常用FSMC_A0即PD11接LCD的RS腳有的模塊叫DC腳RESET隨便用一個(gè)普通GPIO比如PB0背光普通GPIO控制或直接接3.3V串限流電阻這里有一個(gè)高頻疑問為什么RS不直接用一個(gè)普通GPIO非要接FSMC地址線原因很簡單——如果用普通GPIO控制RS那么每次寫命令和寫數(shù)據(jù)之前都要先操作一次GPIO來切換RS狀態(tài)這又回到了用軟件做每一件事的套路FSMC的硬件自動(dòng)時(shí)序優(yōu)勢就沒了。把RS接到地址線A0上就可以通過不同的內(nèi)存地址來區(qū)分命令和數(shù)據(jù)。寫命令時(shí)訪問地址0寫數(shù)據(jù)時(shí)訪問地址2。同一個(gè)片選、同一套數(shù)據(jù)線、同一條寫信號(hào)線只需要換一個(gè)地址FSMC就會(huì)在時(shí)序里自動(dòng)拉高或拉低RS完全不需要軟件干預(yù)。2.2 16位總線下命令和數(shù)據(jù)靠地址怎么區(qū)分這里有個(gè)細(xì)節(jié)必須掰扯清楚FSMC的數(shù)據(jù)寬度設(shè)為16位時(shí)內(nèi)部地址和外部地址的映射關(guān)系不是一一對(duì)應(yīng)的。16位模式下存儲(chǔ)是以半字2字節(jié)為單位的所以內(nèi)部地址線HADDR從第1位開始映射到外部地址線A0內(nèi)部HADDR的第0位不直接輸出到管腳。換句話說你在程序里寫的地址偏移2對(duì)應(yīng)的外部A0才會(huì)變化1。所以當(dāng)RS接A0時(shí)寫命令地址0x60000000外部A0拉低RS0寫數(shù)據(jù)地址0x60000002外部A0拉高RS1理解了這一層你就不會(huì)犯數(shù)據(jù)地址應(yīng)該是0x60000001這種錯(cuò)誤。有人拿著8位并口LCD的接線習(xí)慣來套16位總線結(jié)果RS永遠(yuǎn)沒切換過屏幕白屏或者亂碼查半天都查不到點(diǎn)上。如果把RS接在A6這類更高位的地址線上那么命令和數(shù)據(jù)地址的差值就不是2而是64或者更大。這完全合法只是地址宏的定義要跟著改。我見過一些例程把RS接在A16上本質(zhì)上和接A0沒有區(qū)別只是為了避開某些和調(diào)試端口沖突的引腳。2.3 為什么基址是0x60000000而不是別的地址這個(gè)問題的答案要從FSMC的存儲(chǔ)區(qū)劃分說起。FSMC對(duì)外部設(shè)備的尋址空間分成多個(gè)Bank其中Bank1專門給NOR Flash和PSRAM這類設(shè)備用起始地址就是0x60000000。Bank1內(nèi)部又分了4個(gè)子區(qū)每個(gè)子區(qū)64MB分別對(duì)應(yīng)NE1到NE4四個(gè)片選引腳子區(qū)地址范圍片選信號(hào)Bank1區(qū)10x60000000~0x63FFFFFFNE1Bank1區(qū)20x64000000~0x67FFFFFFNE2Bank1區(qū)30x68000000~0x6BFFFFFFNE3Bank1區(qū)40x6C000000~0x6FFFFFFFNE4LCD的CS接在NE1上所以它的基址就是0x60000000。程序中對(duì)這個(gè)地址的訪問會(huì)映射到一次對(duì)NE1所連外設(shè)的讀寫操作。這個(gè)映射關(guān)系是芯片設(shè)計(jì)好的不用也不能修改你只能選擇用哪個(gè)子區(qū)。有的板子LCD的CS接的是NE4那基址就是0x6C000000對(duì)應(yīng)的代碼也要改。所以拿到一塊新板子第一件事就是對(duì)著原理圖查CS腳接的是NE幾再確定基址不要想當(dāng)然。3. 時(shí)序參數(shù)與HAL庫配置填結(jié)構(gòu)體之前先讀懂時(shí)序圖3.1 LCD控制器的寫周期到底要求什么FSMC初始化時(shí)序參數(shù)之前必須先弄清楚LCD控制器本身的時(shí)序要求。以常見的ILI9341這類RGB565接口控制器為例寫周期的大致要求是寫周期時(shí)間WC最低約100納秒地址建立時(shí)間最低約15納秒數(shù)據(jù)建立時(shí)間最低約15納秒地址保持時(shí)間最低約10納秒這些數(shù)字是控制器芯片手冊(cè)里的典型值。如果你的FSMC時(shí)序比這個(gè)快LCD控制器來不及鎖存數(shù)據(jù)就會(huì)出現(xiàn)花屏、顏色錯(cuò)亂、寫寄存器無效等問題如果太慢雖然穩(wěn)定但性能上不去。所以配置的思路是先算出一份肯定能點(diǎn)亮的寬松時(shí)序跑通之后再去壓緊找到一個(gè)不花屏的最快速度。千萬別上來就把時(shí)序往死里壓否則屏幕不亮的時(shí)候你根本分不清是接線問題、配置問題還是時(shí)序問題。3.2 FSMC_NORSRAM_TimingTypeDef 各字段與HCLK的關(guān)系HAL庫中配置FSMC異步訪問時(shí)序核心是一個(gè)結(jié)構(gòu)體里面的字段最終會(huì)寫入FSMC的時(shí)序寄存器。所有時(shí)間都是以HCLK周期為基本單位來換算的。HCLK周期很好算72MHz主頻下一個(gè)時(shí)鐘周期是1/72MHz≈13.9納秒。如果你是其他頻率先算出這個(gè)周期再照下面的公式套。關(guān)鍵字段如下AddressSetupTime地址建立時(shí)間對(duì)應(yīng)ADDSET字段。實(shí)際的建立時(shí)間為(ADDSET1)個(gè)HCLK周期所以ADDSET1時(shí)就是2×13.9≈27.8納秒。AddressHoldTime地址保持時(shí)間對(duì)應(yīng)ADDHOLD字段。這個(gè)參數(shù)主要影響讀操作寫操作模式A中基本用不上。DataSetupTime數(shù)據(jù)建立時(shí)間對(duì)應(yīng)DATAST字段。這是影響寫速度的主要參數(shù)。實(shí)際時(shí)間為(DATAST1)個(gè)HCLK周期。BusTurnAroundDuration總線周轉(zhuǎn)時(shí)間對(duì)應(yīng)BUSTURN字段。用于讀寫切換時(shí)數(shù)據(jù)總線的方向切換等待。AccessMode訪問模式配置為FSMC_ACCESS_MODE_A。這是異步SRAM最常用的模式時(shí)序結(jié)構(gòu)是地址建立、數(shù)據(jù)建立、地址保持非常適合LCD。要特別注意的是使能擴(kuò)展模式ExtendedMode之后讀寫時(shí)序可以分別配置但同時(shí)要多費(fèi)一個(gè)時(shí)序結(jié)構(gòu)體。如果沒把握建議先關(guān)掉擴(kuò)展模式用同一套時(shí)序跑通再說。3.3 一份最小可跑的初始化配置及計(jì)算過程下面是我在72MHz的STM32F103上驗(yàn)證過的一份FSMC初始化配置思路是先算好再填參數(shù)不是瞎填。先看控制器手冊(cè)寫周期需要100納秒地址建立需要15納秒。我用HCLK72MHz計(jì)算地址建立ADDSET至少滿足15納秒選ADDSET1實(shí)際建立時(shí)間2個(gè)HCLK約27.8納秒滿足數(shù)據(jù)建立DATAST至少滿足15納秒同時(shí)整個(gè)寫周期要滿足100納秒。選DATAST9數(shù)據(jù)建立時(shí)間10個(gè)HCLK約139納秒。整個(gè)寫周期大約是(ADDSET1DATAST1)個(gè)HCLK即12×13.9≈167納秒滿足100納秒要求余量很足地址保持先選ADDHOLD1具體數(shù)值對(duì)寫時(shí)序影響不大讀時(shí)序才有明顯影響總線周轉(zhuǎn)BUSTURN先填0跑通后再調(diào)對(duì)應(yīng)HAL庫代碼如下#include stm32f1xx_hal.h static SRAM_HandleTypeDef h_sram; static FSMC_NORSRAM_TimingTypeDef timing; void FSMC_LCD_Init(void) { __HAL_RCC_FSMC_CLK_ENABLE(); // GPIO初始化這里只是示意實(shí)際上要把用到的FSMC引腳全部配成復(fù)用推挽輸出 // 以PD4/PD5/PD7/PD11/PD0-PD15等為例 GPIO_InitTypeDef gpio {0}; __HAL_RCC_GPIOD_CLK_ENABLE(); gpio.Mode GPIO_MODE_AF_PP; gpio.Pull GPIO_NOPULL; gpio.Speed GPIO_SPEED_FREQ_HIGH; gpio.Pin GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_7 | GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_14 | GPIO_PIN_15; HAL_GPIO_Init(GPIOD, gpio); // 其他引腳根據(jù)板子原理圖自行補(bǔ)充不同板子引出的FSMC引腳可能不同 timing.AddressSetupTime 1; // ADDSET timing.AddressHoldTime 1; // ADDHOLD timing.DataSetupTime 9; // DATAST timing.BusTurnAroundDuration 0; timing.ClockDivision 0; timing.DataLatency 0; timing.AccessMode FSMC_ACCESS_MODE_A; h_sram.Instance FSMC_Bank1; h_sram.Extended FSMC_Bank1_E; h_sram.Init.DataAddressMux FSMC_DATA_ADDRESS_MUX_DISABLE; h_sram.Init.MemoryType FSMC_MEMORY_TYPE_SRAM; h_sram.Init.MemoryDataWidth FSMC_NORSRAM_MEM_BUS_WIDTH_16; h_sram.Init.BurstAccessMode FSMC_BURST_ACCESS_MODE_DISABLE; h_sram.Init.WaitSignalPolarity FSMC_WAIT_SIGNAL_POLARITY_LOW; h_sram.Init.WrapMode FSMC_WRAP_MODE_DISABLE; h_sram.Init.WaitSignalActive FSMC_WAIT_TIMING_BEFORE_WS; h_sram.Init.WriteOperation FSMC_WRITE_OPERATION_ENABLE; h_sram.Init.WaitSignal FSMC_WAIT_SIGNAL_DISABLE; h_sram.Init.ExtendedMode FSMC_EXTENDED_MODE_DISABLE; h_sram.Init.AsynchronousWait FSMC_ASYNCHRONOUS_WAIT_DISABLE; h_sram.Init.WriteBurst FSMC_WRITE_BURST_DISABLE; h_sram.Init.ContinuousClock FSMC_CONTINUOUS_CLOCK_SYNC_ONLY; h_sram.Init.WriteFifo FSMC_WRITE_FIFO_DISABLE; h_sram.Init.PageSize FSMC_PAGE_SIZE_NONE; if (HAL_SRAM_Init(h_sram, timing, NULL) ! HAL_OK) { // 初始化失敗多半是GPIO沒有配對(duì)或者HAL版本不對(duì) while (1); } }跑通之后再嘗試壓縮DATAST。我實(shí)測這塊控制器在DATAST3時(shí)也能正常顯示速度能再上一個(gè)臺(tái)階但再往下壓就會(huì)出現(xiàn)偶發(fā)性花屏。所以穩(wěn)妥起見正式項(xiàng)目我會(huì)在最快速度和穩(wěn)定性之間找個(gè)中間值。4. LCD驅(qū)動(dòng)的命令/數(shù)據(jù)基礎(chǔ)函數(shù)與初始化序列4.1 用宏定義命令/數(shù)據(jù)地址FSMC初始化完成之后LCD就掛在地址空間上了。接下來定義兩個(gè)地址宏一個(gè)指向命令地址一個(gè)指向數(shù)據(jù)地址#define LCD_BASE_ADDR ((uint32_t)0x60000000) #define LCD_REG_ADDR (*(volatile uint16_t *)(LCD_BASE_ADDR 0x00)) #define LCD_RAM_ADDR (*(volatile uint16_t *)(LCD_BASE_ADDR 0x02))為什么數(shù)據(jù)地址是0x02而不是0x01前面已經(jīng)解釋過了16位總線模式下外部地址線A0對(duì)應(yīng)內(nèi)部地址的第1位所以命令/數(shù)據(jù)的地址間隔是2。有了這兩個(gè)宏寫命令和寫數(shù)據(jù)就變成了兩條簡單的函數(shù)static inline void LCD_WriteCmd(uint16_t cmd) { LCD_REG_ADDR cmd; } static inline void LCD_WriteData(uint16_t data) { LCD_RAM_ADDR data; }注意這里我用的是static inline因?yàn)檫@個(gè)函數(shù)會(huì)被調(diào)用幾十萬次如果寫成普通函數(shù)每次調(diào)用都有壓棧出棧的開銷刷屏性能會(huì)有明顯損失。內(nèi)聯(lián)之后編譯器會(huì)把賦值語句直接展開在調(diào)用處刷屏效率高不少。4.2 復(fù)位與初始化序列以常見控制器為例LCD控制器上電之后第一步不是發(fā)初始化命令而是先做硬件復(fù)位。我的標(biāo)準(zhǔn)操作是用一個(gè)普通GPIO控制LCD的RES腳拉低至少10微秒然后拉高再延時(shí)120毫秒等控制器內(nèi)部電源穩(wěn)定。void LCD_HardReset(void) { HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_RESET); HAL_Delay(20); HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET); HAL_Delay(120); }有些模塊的RES腳直接接到了電源上只靠上電RC復(fù)位這種設(shè)計(jì)不太可靠經(jīng)常出現(xiàn)上電白屏、要重新上電才能顯示的毛病。如果你遇到這種板子建議飛線把RES引到GPIO上。復(fù)位完成后發(fā)基礎(chǔ)的初始化命令序列。以ILI9341這類控制器為例最簡流程如下void LCD_InitSequence(void) { LCD_WriteCmd(0x01); // 軟件復(fù)位 HAL_Delay(120); LCD_WriteCmd(0x11); // 退出睡眠模式 HAL_Delay(120); LCD_WriteCmd(0x36); // 顯存訪問控制 LCD_WriteData(0x48); // BGR1, 豎屏方向 LCD_WriteCmd(0x3A); // 像素格式 LCD_WriteData(0x55); // RGB565 LCD_WriteCmd(0x29); // 開顯示 }這個(gè)序列只做最基礎(chǔ)的顯示配置能點(diǎn)亮、能刷色塊但如果你發(fā)現(xiàn)顏色發(fā)白、偏色嚴(yán)重多半是功率控制寄存器、gamma校正等沒配置。再對(duì)照控制器的數(shù)據(jù)手冊(cè)把0xC0、0xC1、0xC5、0x36后面的參數(shù)補(bǔ)上顏色才會(huì)正常。初始化完了就可以設(shè)置顯示窗口然后填充像素?cái)?shù)據(jù)void LCD_SetWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) { LCD_WriteCmd(0x2A); LCD_WriteData(x0 8); LCD_WriteData(x0 0xFF); LCD_WriteData(x1 8); LCD_WriteData(x1 0xFF); LCD_WriteCmd(0x2B); LCD_WriteData(y0 8); LCD_WriteData(y0 0xFF); LCD_WriteData(y1 8); LCD_WriteData(y1 0xFF); LCD_WriteCmd(0x2C); // 寫GRAM } void LCD_FillColor(uint32_t pixel_count, uint16_t color) { volatile uint16_t *lcd_ram (volatile uint16_t *)0x60000002; for (uint32_t i 0; i pixel_count; i) { *lcd_ram color; } }4.3 刷屏速度實(shí)測上面代碼跑起來我用邏輯分析儀看了一眼寫信號(hào)NWE的波形確認(rèn)DATAST9時(shí)一次寫周期大約165納秒和理論計(jì)算吻合。實(shí)測填充一屏240×320加上開窗和循環(huán)開銷大約18毫秒。這個(gè)速度下做簡單的菜單切換、動(dòng)畫已經(jīng)非常順滑了。再激進(jìn)一點(diǎn)把DATAST改成3一次寫周期壓到約80納秒整屏填充約9毫秒。但我發(fā)現(xiàn)連續(xù)長時(shí)間刷屏?xí)r偶發(fā)出現(xiàn)個(gè)別像素顏色錯(cuò)的瑕疵后來又調(diào)回了DATAST4勉強(qiáng)穩(wěn)定最終我選擇DATAST4作為刷屏性能和穩(wěn)定性的折中。這里我的建議是如果要做產(chǎn)品不要追求極限留出30%以上的時(shí)序余量換來的穩(wěn)定性比那幾毫秒值得多。5. 踩坑實(shí)錄花屏、白屏、讀ID失敗的完整排查5.1 花屏不是FSMC太快是地址宏寫錯(cuò)了有一回我把初始化命令都發(fā)完了屏幕能亮但顯示出來的內(nèi)容完全是亂的像雪花一樣。一開始我懷疑時(shí)序太快把DATAST調(diào)到15更慢了還是花屏。后來靜下心來看宏定義才發(fā)現(xiàn)數(shù)據(jù)地址寫成了0x60000001。這個(gè)問題就是典型的16位總線下A0映射理解不到位。0x60000001在16位模式下訪問本質(zhì)還是同一個(gè)半字單元并沒有讓外部A0拉高所以RS一直保持在低電平所有寫數(shù)據(jù)的操作全被LCD控制器當(dāng)成寫命令來處理畫面當(dāng)然全亂。排查花了半小時(shí)改一個(gè)宏就解決了。之后我養(yǎng)成了一個(gè)習(xí)慣拿FSMC驅(qū)動(dòng)任何并口設(shè)備先把電阻表量一下RS和A0之間的通路再對(duì)著芯片手冊(cè)確認(rèn)地址映射最后才上電調(diào)試。5.2 白屏復(fù)位、背光、供電三板斧白屏是FSMC驅(qū)動(dòng)LCD最常碰到的現(xiàn)象而且原因五花八門。我總結(jié)了一套排查順序按概率從高到低排第一看復(fù)位。用示波器量RES腳如果上電后沒有出現(xiàn)一個(gè)明顯的低電平然后拉高的波形或者干脆一直是低那控制器就沒起來。很多模塊復(fù)位腳懸空或者直連電源就會(huì)出現(xiàn)第一次上電白屏、手動(dòng)復(fù)位才正常。解決辦法就是改成GPIO控制復(fù)位。第二看片選和寫信號(hào)有沒有真正產(chǎn)生波形。在初始化代碼里添加一個(gè)臨時(shí)GPIO翻轉(zhuǎn)點(diǎn)初始化前把某個(gè)引腳拉高初始化后拉低再用示波器在LCD的CS腳和WR腳附近測量。如果CS腳有波形而WR腳沒有查FSMC_NWE的GPIO復(fù)用配置是否錯(cuò)配到了別的功能上。第三看供電電壓紋波。LCD控制器工作電流不大但如果和電機(jī)、繼電器共用電源上電瞬間電壓跌落會(huì)導(dǎo)致控制器啟動(dòng)異常。我用了一個(gè)獨(dú)立LDO給LCD供電之后這類問題基本沒再出現(xiàn)過。5.3 讀ID失敗讀時(shí)序的三個(gè)隱藏參數(shù)FSMC驅(qū)動(dòng)LCD寫操作一般都能正常跑通但讀操作經(jīng)常出問題。讀ID讀回來的數(shù)據(jù)要么是0xFFFF要么是0x0000。如果你也遇到這種問題不要急著懷疑芯片壞了先檢查三件事。第一件讀GRAM之前要做一次啞讀。很多LCD控制器在發(fā)完讀命令之后第一次讀出來的數(shù)據(jù)是無效的必須再讀一次才是有效數(shù)據(jù)。代碼里讀數(shù)據(jù)之前先隨便讀一次丟棄掉。uint16_t LCD_ReadData(void) { // 先空讀一次丟棄無效數(shù)據(jù) (void)(*(volatile uint16_t *)0x60000002); return *(volatile uint16_t *)0x60000002; }第二件把ADDHOLD調(diào)大。讀時(shí)序和寫時(shí)序不同讀操作需要地址保持時(shí)間尤其是RS切換之后地址線不能立刻變化。我實(shí)測有些LCD控制器需要ADDHOLD2到3才能穩(wěn)定讀回?cái)?shù)據(jù)默認(rèn)的1不夠。第三件把BUSTURN從0調(diào)到2試試。這個(gè)參數(shù)影響讀寫切換時(shí)數(shù)據(jù)總線的方向轉(zhuǎn)換時(shí)間。如果總線上同時(shí)掛了多個(gè)外設(shè)或者走線較長導(dǎo)致信號(hào)反射明顯BUSTURN不足就會(huì)出現(xiàn)讀錯(cuò)數(shù)據(jù)。我自己的配置最后是ADDSET2、DATAST10、ADDHOLD3、BUSTURN2讀ID一次成功讀回來的值和控制器手冊(cè)對(duì)得上。順帶說一句如果你讀回來的ID不是預(yù)期值先查一下你的屏到底是什么控制器?,F(xiàn)在市面上很多屏雖然是同一種引腳定義但內(nèi)部控制器五花八門讀ID的命令都不一樣。我遇到過讀出來是0x1010的查手冊(cè)才發(fā)現(xiàn)是另一種控制器初始化序列完全不同。6. FSMC還能拿來做什么同一條總線的其他玩法6.1 外部SRAM擴(kuò)展寫完LCD實(shí)驗(yàn)之后FSMC這條總線的潛力其實(shí)才展示了一點(diǎn)。FSMC的標(biāo)準(zhǔn)用途是接SRAM這和接LCD的配置幾乎一模一樣區(qū)別只在于SRAM沒有RS腳也不需要命令/數(shù)據(jù)地址區(qū)分。把一片16位SRAM掛在NE1上之后它映射到0x60000000起始的1MB地址空間。你可以定義一個(gè)指針指向這片區(qū)域直接當(dāng)普通數(shù)組用volatile uint16_t *external_sram_base (volatile uint16_t *)0x60000000; void SRAM_Test(void) { external_sram_base[0] 0x1234; external_sram_base[1] 0xABCD; // 讀取回來校驗(yàn)是否一致 }這個(gè)能力在做大緩沖區(qū)的時(shí)候極其好用比如音頻采樣緩存、圖像雙緩沖、GUI的幀緩沖都可以放到外部SRAM里。我在一個(gè)波形采集項(xiàng)目里就是用FSMC外擴(kuò)了1MB SRAM解決了內(nèi)部RAM不夠用的問題。6.2 NOR Flash并行訪問FSMC同樣可以接并行NOR Flash。好處是可以像讀內(nèi)存一樣直接讀Flash里的數(shù)據(jù)甚至可以從NOR Flash里執(zhí)行代碼這在XIP場景下非常有用。不過要注意NOR Flash的寫操作不是簡單的總線寫周期需要先發(fā)命令序列。所以讀操作直接用FSMC內(nèi)存映射寫操作還是要軟件方式發(fā)送命令、地址、數(shù)據(jù)。我的建議是除非你的應(yīng)用需要大容量、快速隨機(jī)讀取否則并行NOR Flash的性價(jià)比不如SPI NOR Flash畢竟引腳占用差好幾倍。6.3 接FPGA、并口DAC/ADC的思路FSMC還能接一些非存儲(chǔ)類的并行設(shè)備比如并口輸出的高速ADC、并口輸入的DAC、FPGA的寄存器接口。思路和LCD一樣把你需要訪問的設(shè)備看作一組寄存器通過地址線來選寄存器通過FSMC的讀寫時(shí)序來交換數(shù)據(jù)。我當(dāng)時(shí)用一個(gè)14位的并口ADC掛在FSMC上通過改變地址線的值來切換通道讀數(shù)據(jù)就是一個(gè)內(nèi)存讀取操作非常簡單。這種做法比GPIO模擬省去了所有的時(shí)序控制而且采集速率直接由FSMC的讀時(shí)序決定非常穩(wěn)定。如果你也在考慮類似方案唯一要留意的是FSMC的寫信號(hào)寬度、讀信號(hào)寬度這些時(shí)序參數(shù)需要適配目標(biāo)設(shè)備的時(shí)序要求不同設(shè)備對(duì)建立時(shí)間、保持時(shí)間的要求千差萬別拿到設(shè)備手冊(cè)先把時(shí)序圖看明白再填FSMC結(jié)構(gòu)體這是通用流程。最后再分享一個(gè)小技巧每次調(diào)FSMC時(shí)序參數(shù)我都會(huì)把配置函數(shù)獨(dú)立出來在屏幕上刷一個(gè)純色畫面然后用邏輯分析儀抓寫信號(hào)波形記錄不同參數(shù)組合下的實(shí)際寫周期。這樣既能直觀看到參數(shù)變化對(duì)速度的影響也能在后續(xù)排查問題時(shí)快速定位是硬件還是配置的問題。你要是有興趣可以在這個(gè)基礎(chǔ)上試試把LCD的幀緩沖放到外擴(kuò)SRAM里用FSMC同時(shí)驅(qū)動(dòng)內(nèi)存和屏幕感受一下純硬件刷屏和軟件刷屏一起工作時(shí)那種還是挺明顯的變化。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
老司机天天操| 1769国内精品视频| 色综合色色| 人妻素股| A 天堂在线观看视频| 亚洲天堂资源| 久久婷婷色| 亚洲天堂资源在线| 好属操| 欧美第一页| 一级特黄aaa大片在线观看成人一级片在线观看 | 久久久久久性爱片| 香港澳门日本三级网站| 国产偷仑| 青娱乐久久艹| 亚洲综合首页| 久噜噜| 加勒比久久综合网高清| 9久9久9久9久视频网站| 人妻天天操天天爽视频免费| 超碰国产精品久| 成人夜夜| 四虎免费看黄| 337p大胆噜噜噜噜噜91Av| 99999国产精品| 九九成人精品| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 国产福利合集| 97久久国产精品| 色婷婷综合网| 日本狂喷奶水在线播放212| 91女优在线观看| AV天堂丝袜| 国内精品嫩模A∨私拍小视频| 久久伊人青青草| 国产精品无码在线| 少妇蹲下露出大唇5| 精品人妻二区三区| 99色色网| 在线a v| 久久久无码精品人妻二区| 色 婷97| 五月天婷婷基地| A 天堂| 人妻精品一区二区| 夜夜福利| 青青国产精品在线| 伊人国产AV| 欧美爆操91| 天天干天天插| 水澄无码AV| 操逼逼福利视频| 小视频国产| 国产精品人妻无码久久久互動交流| 日韩欧美蜜桃精品久久中文字幕久久| 亚洲黄色网址| 亚洲色图 图片| 日韩情色AV| 国精品一区二区三| 精品久久久久瑟瑟| 久久超碰大香蕉| 蜜桃视频精品一区二区三区| 国产熟妇一区二区| 成人在线午夜视频一区| 欧美日韩精品久久久久东北老熟妇| 精品人妻一区二区三区视频| 久久大精品乱码视频人妻熟女| 4141514逼喷水三级片| 一二三啪啪专区| 五月天综合网| 亚洲精品不卡一二三区| 91欧洲入口| 国产区在线| 欧美加勒比| 91综合色| 国产精品黄色三级av| 免费一级a毛片久久久久久鸭绿欲| 亚洲开心网| 天天综合中文字幕 91| 999热这里只有精品| 亚洲图片 欧美电影| 日本不卡一二区| 久久午夜色播影院免费高清| 色婷婷视频| 色色国产| 久热99999| 国产又粗又大硬免费色网视频| 天天看天天日天天操| 精品人妻一区二区三区日产| 思思久热在线精品66| 国产欧美日本亚洲精品| 久久AV无码网址| 久久久久久久人妻| 日韩在线97| 死我十八禁| 日韩成年人性爱视频| 亚洲天堂人妻熟妇视频| 玖玖97综合| 亚洲成人妻日韩在线| 大香蕉淫人| 日韩综合无码色欲vv| 色色色网站| 蜜臀99999| 久久精品28| 国产乱色国产精品免费视| 97人人草| 欧美日韩操操操| 亚洲骚男同com| www.成人无码| 一级婬片120分钟试看| 92性色国产午夜福利在线661| 女欧美一区二三区| 玖玖爱伊人玖玖爱| 久久99草| 欧美色图欧美| 亚洲欧美一区二区三区一猛片| 狼人综合婷婷激情四射 | 鸥美极品| 亚洲学生妹高清av| 99亚亚热| 97欧美日韩综合| 日本不卡二区| 5月婷婷6月六月丁香| 日韩国产品视频中文字| 女生91网站| 久久久久久国产无码精品| 97在线国产精品| 玖玖大干人妻| 欧美日韩操逼嗦吊| 久肏视频字幕| 欧亚在线视频| 四虎免费视频| 久久久久久久国产视频| 欧美成人色| 999久久久| 色99视频| 日日夜夜精品视频| 91天美传媒精品| 国产日韩欧美操逼视频| 国产精彩女在线观看视频| 蜜桃狠狠色伊人亚洲综合| 成人三一级一片aaa| 一级性爱视频免费在线| 欧美美女视频| 天天日夜夜| 欧美极品少妇| 91小视频| 国产精品粉嫩福利在线| 国产精品久久久无码AV网站| 欧亚第一综合网| 强奸乱伦AV一天堂网| 偷窥自拍亚洲色图| 懂色中文一区二区三区| chaopen97久久| 中文字幕在线免费观看 | 精品一区二区三区18| 中出91| 亚洲一二三精品久久网| 91久久久久| 乱伦3P视频| 男人的天堂日韩| 中国zzijzzijzzwww精品| 99热大香蕉伊在线| 玖玖综合.com| 久久成人国产精品| 嗯~啊~快点 死我视频免费看网站| 日韩性爱网址| 久久男人精品| 18+91网站| http://qxhbdz.com| 91亚洲电影| 成人老鸭窝人人在线视频| 国产成人 综合亚洲 天堂| 后入福利视频| 精品久久久久瑟瑟| 亚洲精品成人激情在线| a亚洲欧美色欲| 激情内射| 91爱做| 天天色香欲综合网| 狠狠色噜噜狠狠狠狠狠色综合久久 | 久久国产精品91| 一区三区啪啪| 97国产高清视频在线观看| 一区在线精品中文字幕| 97在线免费| 少妇高潮一区二区三区在线| 一本色道久久综合狠狠操| 麻豆 亚洲 97| 97人人中文网| 97国伦国色| 天美传媒一二三区永久网站| 色狠狠综合| 国产一级αv免费看片| 久久久亚洲高清不打码| 99视频内射三四| 国产精品亚洲一级av第二区| 亚洲素人综合| 区二区亚洲婷| 性色高清在线| 伊人色综合超碰| 欧美午夜精品久久久久久超碰| 色色五月天婷婷| 九九碰九九爱97超碰| 狠狠狠一区二区三区| 色97| 安徽熟妇视频| 无码色| 五月婷在线| 99精品在线| 欧亚性爱视频免费看| 曰韩精品视频一区二区| 色黄色美女大长腿午夜视频| 国产91精品福利在线| 人人人人插| 人人色人人操在线| 综合日本女人伊人| 欧美 日韩 国产传媒| 91精品丝袜久久久久久无码人妻| 亚洲综合性网址| 夜夜免费视频| 少妇三p| 国产精品一区二区a| 爆乳免费黄网站| 亚州伊人色综台| 99啪| 亚洲熟久久| 九九九九九九九| 9久热| 日韩精品字幕| 亚洲囯产精品女人久久久| 欧美疯狂做爰xxxx| 精品欧美不卡在线播放| 性爱网站一区二区| 欧美很很操视频| 96久久科窝| 亚洲中文电影| 美女黄站| 91人妻Pr| 久久精品人妻一区二区| 一级毛片电影免费看| 天堂8在线新版官网| 色五月第四色| 欧美精品宗合| 天天日天天色| 肉丝中文无码高清| 精品国产人成在线| 人妻一区久久二区三区色播| 欧美综合第一页| chaopen97久久| 欧美亚洲天堂| 夜夜操二区| 中文字幕免费在线观看| 免费在线黄片视频| 欧美夜色| 日韩精品碰碰| oumeizonghese,www| 狠狠操,使劲操| 91大学精品激情戏| 亚洲激情深爱文学小说网站| 亚洲欧美自拍偷拍| 青青三级视频| 国产精品视频麻豆入口| 久久久久久91香蕉国产| 狠狠久久手机视频精品| 日韩素人无码一区二区三区三州| 啊啊啊轻点在线观看| 国产AV久久野战精品| 男插女青青影院| 免费视频在线一区二区不卡| 亭亭丁香激情| 精品无码一区二区三区| 国产极品久久久| av网站免费看| 97操在线| 色婷视频| 内射夫妻三片| 丝袜天堂网| 操美女高潮抽搐白浆| 偷拍欧美亚洲| 欧美专利1区2区3区4区5区免费| 中文字幕精品一区二| jiujiujiujingpin| 欧美日韩超碰在线| 被窝影院午夜看片无码| 欧美不卡五十路| 麻豆60秒| 精品成人无码| 啊啊啊啊操死我了| 久久久久久精品免费看A级| 91久热| 精品区9| 免费看片黄| 亚洲成人妻日韩在线| 色婷网| 人妻精品免费一二三区| 亚洲精品蜜桃久久久久久久| 欧美日韩第一页| 丁香九月婷婷| 青青草国产一区二区三区| AV综合中文字幕干| 亚洲成人在线高清| 欧美综合中文| 日本九九久久99| 男人的天堂2010| 五月天久久综合网| 亚洲高清色综合| 骚女高跟AV在线| 久久精品一区二区一8| 激情黄色五月天| 免费岛国一级片| www.超碰在线| 3d成人精品一区二区| 亚洲91网| 亚洲一二三四区| 免费一级性爱久久| 99热9| 黄色av一区二区在线| 精品国产乱码久久久久久网站入口| 九色精品视频导航1| 日本一区二区不卡精品| 久久精彩视频9| 国产精品久久久久无码A√| 伊香蕉综合久久久久久久噜噜噜| 校园春色综合色| 婷婷色五月激情| 国产AV激情无码久久无码| 大香蕉一区二区在线观看.| 色欧美在线| 夜夜嗨老熟女AV一区二区三区| 大香蕉男人的天堂| 精品久久久不卡一区二区| 熟女在线视频| 蜜桃久久久久久| 欧美制服网站美腿丝袜| 国产欧美日韩女同性恋ww喷水精品| 亚洲AV成人在线| 久久后入制服| 偷拍片久久| 日日干夜夜骑| 成全动漫视频观看免费下载| 91高清无码下载| 热久日综合| 九九综合久久| 99久久网站| 久草福利在线资源站| 乱伦3P视频| 美女国产一区二区久久| 亚洲国产欧美中文永久| 精品国产片亚洲一区| 两性综合网| 亚洲蜜桃V妇女| 欧美亚洲日本激情在线| 久jiu久神马影院| 婷婷综合五月天| 日本久操视频| 日本人妻天堂网站在线播放| 热的中文 热的有码 热的国产| 亚洲超碰综合网| 另类av天堂| 成人日韩中文字幕| 国产中午字一暮区| 亚洲超碰97| 强奸乱伦大香蕉| 99色在线观看| 麻豆伊人网| 好涩综合| 国产Aα| 无码99| 99国内精品| 欧美高潮| 97无码视频在线播放| 欧美熟女操屄| 国产精品 午夜福利| 四虎影视永久在线观看精品免费网站| 日韩精品人妻| 啊啊啊免费视频| 亚洲男人天堂视频| 日韩欧美日韩| 亚洲无码久久久久久久| 操人妻逼91| 91丨人妻丨国产丨丝袜| 精品一区二区人妖| 东京热av男人的天堂| 91老熟女91老女人| 黄片qw| 思思热er精品视频| 麻豆天美传媒在线视频天堂| 人妻三级在线中文字幕| 色婷婷激情| 国产AV人人夜夜澡人人爽麻豆| 国产9区| 婷婷丁香在线| 日韩欧美久久婷婷网站| 国语对白在线播放视频| 中文字幕一区二区三区蜜桃视频| 国产又猛又粗又爽又黄| 国产AV天美| 日本一级特级毛片视频| 中日992视频| 超碰免费97| 日日日日日| 淫淫综合网| 日本熟女中文| 最新av在线| 无码区蜜乳| 高树玛利亚无码流出| 性天堂| 久悠悠av| 亚洲一区二区三区中文字幕| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 国产又粗又长又爽又色| 大香蕉92| 日韩成人电影AV| 97操b| 熟妇人妻精品一区二区视频色欲| 国色综合天| 久久久精品国产亚洲伊人| 99re在线| 欧美日韩亚洲五月天婷婷| 亚欧无码在线| 人妻精品一区二区三区| 黄色二级片网站| 国模不卡| 美女久久久| 人妻 欧美 中文| 性爱av网站| 欧美天天综合网| 少妇内射www在线观看视频| 亚洲AV无码成人精品久久| 青娱乐啪啪视频| 亚洲成人一二三区| 色婷婷九月天天综合| 美女啊啊啊啊啊啊| 国产熟女精品区| 99久久久久| 大二网站亚洲| 亚洲精品电影| 影音先锋一区二区在线资源| 亚欧性爱在线无码| 亚洲AV成人精品网站在AV| 久久夜夜夜| 欧美成人都市人妻| 午夜视频好爽啊| 殴美色网| 97精品中文字幕| 91九久| 曰韩成人免费视频| 欧美gv在线观看| 91痴汉| 黄呦呦在线| 毛片中心9视频99| 日本国产高清色www视频在线| 蜜桃av色偷偷av老熟女| 18+91网站| 超碰人妻久久人妻中文97| 久久人妻视频| 免费毛片在线播放| 日美免费黄片| 无码聚合| 国产人妻天天干精品| 91人妻精华帖| 日婷婷| 国内偷拍精品一区二区| 久久久久9999| 欧美不卡五十路| 超碰九7| 午夜啊啊| 久久东京热久久| 福利视频网站| 九九九一二三| 国产suv精品一区二六| 国桃视频产巨乳精品一区二区在线| 嗯嗯嗯啊啊啊操的我好爽| 欧美亚男人的天堂| 少妇与黑人高潮在线| 草b在线| 色性荡荡荡荡视频| 丝袜综合| 久草精品一区| 亚洲黄色电影| 国语对白露脸XXXXXX | 九九伊人网| 伊人五月天| 五月丁香色综合| 日本 成 人 小说 电影 一区二区| 男人的天堂啪啪| 午夜福利久久久噜久噜久久综合 | 91亚.色| 亚洲97资源| 欧美综合色图片| 国产精品久久久久久久久久久久久久吹 | 久久九九精品一区二区 | 亚洲九九九| 1769一区| 日韩不卡毛片Av免费高清| 色婷婷久久| 亚洲人成色9999精品久久| 亚洲日本男人天堂网| 亚欧毛片基地国产毛片基地| 人人干黄色| 久久精品国产免费观看99| 日韩一区二区精品视频| 无码人妻丰满熟妇奶水区毛片| 亚洲第一色页夜| 2020中文字幕在线| 一区二区三区国产在线播放 | 国产精品天堂| 人人看人人爰人人操 | 亚av顶级裸体一区二区三区四区五区 | 乱人伦 国语对白:视频直接看| 亚州精品丝袜-不卡成人免费| 97天天在线| 久久国产在线一区二区| 天美麻花大全视频| 欧美页片| 国产精品999aaa| 国产在线视视频有精品| 日韩午夜国产| 九九九免费视频| 簧片免费看视频| 国产精品网站www| 啪啪啪综合网| 丁香五月激情综合| 99热这里只有精品1| 狠操91,com| 大学生美女口爆| 超碰免费人人| 97在线播放 | 肥臀熟女一区二区三区视频| 日本五十路熟女一区二区| 亚洲另类色图片| 老熟女网站| 91网亚洲| 亚洲熟久久| 九九热三级片| 新版天堂中文资源8在线| 男人天堂久久日韩| 久久人| 国产成人无码久久精品| 任你干在线视频| 国产成年精品高清在线观看91| 99热99re超碰精品| 夜夜爽夜夜高潮夜夜爽| 一,爱啪啪,在线免费视频| 高树玛利亚无码流出| 91痴汉| 亚洲综合精品国产一区| 亚洲综合贴图91 | 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 国产精品一区二区手机看片| 四虎永久在线精品免费网址| 少妇久久久久久| 超碰 另类 欧美 | 亚洲精品影视老司机| 九九人妻| 伊人亚洲国产一成人久久精品,久久| 18精品一二区| 欧洲综合视频| 福利社区午夜一区二区| 吉川爱美亚洲二区在线 | 中文字幕免费看| 熟女AV一区| 色噜噜国产精品视频一区二区| 五月天激情网站| 日本操逼视频免费| 久草婷婷| 男男H黄动漫啪啪无遮挡网站| 欧美一区二区三区成人性生活| 天天操天天舔| 久久久精品网站| 伊蕉97蜜桃97狠狠综合干| 亚洲第2页| 人妻精品一区二区三区| 黑人天8A∨高清网站| 日韩人妻播放| 天天综合网~91| 91丝袜熟女| 91N欧美| 日本性爱欧美性爱| 丝袜美腿操av| 91色伦综合| 性色一线| 青娱乐日韩无码| 亚洲av国产av综合av卡| 在线视频资源| 国产精品视频在线播放| 久久久蜜桃一区二区三区| 3028国产精品| 亚洲伊人久久综合97| 99久久9| 色黄污美女啪啪啪免费网站| 国产97av| 成人久久久精品| 玖玖爱一区在线| 麻豆黄色五月天| 色色色99| 3p国产欧美99热| 亚洲精品白浆高清久久久久久 | 亚洲97成人在线观看| 国产精品久久久久久高清无码免费看| 欧美日本不卡| 国产亚卅97| 按摩中文字幕| 超碰三级秋霞| 久久人妻办公室视频| 5278欧美一区二区三区| 欧美操逼熟女| 青青伊人这里只有精品| 日韩精品中文字幕一| 精品少妇人妻av久久免费| www.久久制服糖| 欧美偷拍区| 欧美在线大香999| 色色青青久久| 五十路熟女,国产欧美精品区一区二区三区 | 天天拍天| 天天射夜夜| 好舒服视频| 日韩一级成人毛片免费观看 | 欧美日韩国产三级黄色| 免费公开人人操| 无码二级三级| 97在线视频免费观看| 大象AV在线| 天天日天天干少妇日| 久久在肏| 亚洲精品97| 7777奇米影视久久| 日韩一区二区高清在线观看的| 精品超碰中文在线| V A在线| 国产一级内射高清视频| 大香蕉黄色一级片免费看| 天天狠操| 亚洲综合色婷婷| 99re6久热只有精品6在线直播| 久久国色天香香蕉| 婷婷五月天无码| 天天干人妻视频| 欧美性天天| 亚洲91在线播放影院| 91另类| 蜜桃AV天堂| 欧美色日本| 99re免费| 日日干夜夜骑| 91欧美偷拍| 日韩中文字幕二区| 综合影院永久入口国产| 久久精品99久久久久久| 女人天堂av在线播放| 少妇人妻激情四射| 久久一区无码| 色一色综合网| 国产精品无码成人精品| 色噜噜日韩精品| 欧美 传媒 麻豆 日韩 偷拍| 九九综合久久| 国产大学生口爆吞精合集| 国产精品96| 青青草中出视频| 天堂精品小草| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 久草久日| 99九九久久| 992这里有精品| 久久精品国产亚洲AV片多多| 欧美高清无码免费视频高清版| 天天影视91看看| 嗯,啊。舔我逼| 亚洲欧美天堂在线| 91一区二区| 看日韩操逼| 无码外流操逼视频| 久久久999| 欧美草草高清日韩视频| 超碰97欧美日韩| 偷拍亚洲高清图片| 男人亚洲91首页在线| 久久老子无码午夜伦不卡| 八戒无码国产午夜福利| 夜草网站| 神马久久久久久| 91 天天综合| 啊啊啊啊,啊啊好多水| 东京热熟女亚洲视频网站| 男人的天堂激情| 日韩乱码av| 99热在线播放| 亚洲精品久久久久久久蜜桃臀| 污污汅18禁网站在线永久免费观看| 日韩一级久久毛片| 黄色大片视频在线免费看| 人妻精品一区二区| 欧美性高潮在线| 国产91美女视频| 九九久久国产精品怡红院| 操曰本熟女| 欧美 亚洲 另类 综合| 亚洲男人的天堂AV| 国产福利夜| 欧美少妇第一页| 超碰 另类 欧美 | 91成人久久 | 成人老鸭窝人人在线视频| 精品人妻1237| 黄色二级片网站| 91 国产丝袜在线放观看| 97在线国产精品| 高清不卡视频| 九九热超碰97亚洲最新香蕉| 国产午夜福利视频在线| 神马久久久久久久久久久久| 蜜臀久久在线视频| 蜜桃色院一区久久| 欧美猛交黑寡妇中文字幕| 超碰中文字幕人妻草一区| 99色婷婷中文字幕乱色| 丝袜av一区二区三区| 97AV在线免费观看| 青青草久久| 丝袜视频网国产90| 999国产精品999久久久久久| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 欧美精品日韩一区二区| 久久草大香蕉| 亚洲,欧美,春色,另类| www老逼91| 久久最新视频免费观看| 中文字幕人乱码中文字的预防方法 | 熟女字幕| 五月丁香综合| 久久久999日本大片| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 亚洲三区视频| 韩国一级AAA| 欧美极度丰满熟妇hd| 久热9| 亚洲天堂,男人| caorenqi shipin| 一区二区首页| 在线综合 亚洲 欧美中文字幕| 中文一区二区婷婷视频| 九九九久千久久激情蜜桃在线看 | 四虎免费在线观看| 白丝av| 欧美性爱无码一区二区三区| 郑州宾馆老熟女露脸啪啪| 性在久久久久久| 一级片在线观看高清无码| 懂色AV蜜臀无码精品APP| www.色99| 啊好爽受不了无码| 91在线国产后入风骚翘臀美女素人| 欧美天天弄| 26uuu偷拍亚洲欧洲综合| 99精品成人免费看| 青青草视频久久| 91色伦综合| 国语精品av| 内射夫妻三片| 国产一区二区啪啪视频| 亚洲国产精品乱码在线观看| 亚洲日韩乱码中文无码蜜桃臀网站| 97欧美色| 啊啊啊草死我| 欧美一区二区三区另类精品| 红杏大香蕉| 伦在线97| 在线免费观看高清无码视频| 国产三级多多影院2022国产AA一级毛片无码| 五月丁香婷婷色| 曰本熟女视频| 黑人性欧美| 午夜福利一区二区影院| 欧美性生活综合| 欧美天天综| 欧美色亚洲色| 手机在线免费看的av| 337p大胆噜噜噜噜噜91Av| 亚洲第一页欧美| 欧美日韩不卡传媒| 国产精品久久久久久久电影渣男| 久操精品网| 国产成人主播| 女性91网站| 黑人精品成人一区二区三区| 蜜臀av中字字幕网站| 插插综合网天天影视网| 亚洲精品国产日韩无码AV永久免| 日本三级日本三级99| 久久久久ab| 夜夜躁狠狠躁日日躁av| 国产92麻豆天美精品色欲5| 看黑人AV不卡| 老熟乱一区二区三区四区| 尤物黄色在线观看网站| 色妹子A V| 国产嫩草精品A88AV| 福利操逼| 久久亚洲天天做| 天天亚洲| 99ri在线视频| 韩日自拍| 伊人久久综合影院| 97色在线观看| 欧美大香蕉在线观看| 97欧美资源| 在线观看色视频| 99 国产丝袜在线| 97视频网站| 亚洲五月天激情| 婷婷激情五月综合| 色狠狠 - 百度| 日产中文字幕2020| 欧美亚洲中文| 五月天色五月| 国产精品午夜福利| 日本一级二级三级网站| 91黑丝美女| 久久在线观看免费视频| 天天影视色香色欲| 亚洲av资源| 色婷婷五月综合激情中文字幕| 亚洲污污网站| 草莓精品视频在线免费观看| 久久9 9 9精品| 综合97| 伊人久久88国产女| 久久久555| www色色com| 亚洲 中文 欧美 日韩 在线| 欧美成人性爱视频免费观看| 91丝袜在线视频| 久久综合国产精品国产| 一区 欧美 日韩 麻豆| 26UUU欧美日本| 不卡超碰护士AV在线免费播放| 人妻丝袜日本| 激情文学网伊人| 亚洲男人在线观看天堂| 久操精品网| 久久99干一本高清| 国产成人精品亚洲日本| 限制级中的三级片中的黑粗大屌屌日人妻熟女 | 午夜AV人气不卡| 亚州中文字幕超碰97| AV和黑人在线播放| 人妻少妇精品久久久| 制度丝袜99| 国产吹潮女在线观看| 日韩精品永久在线观看| julia ann久久| 国内精品久久久久影院亚洲| av影院十区| 大香蕉九九| 中文乱码字幕观看视频| 国色天香av| 日韩国产精品人妻无码久久久| 91老司机在线视频免费观看| 国产无吗在线播放| 欧美少妇性乱| 亚洲欧洲日韩国产自在线| WWW美腿丝袜香蕉中文| 无码日韩网站| 97国产精品一区二区传媒公司| 色丁香五月婷婷| 天天看天天日| 久久夜嗨| 免费观看的黄色的网站| 久久激情四射婷婷丁香五月天| 超碰在线国产| 欧美性xxxxx狂欢| 诱惑人妻欧美一区在线播放| 亚洲无线码欧洲精品区别| 另类av天堂| 国产午夜激片Av毛片不卡| 蜜区区视频79 | 色五月婷婷在线| 国产精品久久久 | 国产 大胆 对白| 91人妻尻屄视频| 粉嫩AV一区二区夜夜| 蜜色网色哟哟| 狠狠干2020| 九九伊人网| 日韩欧美福利视频看看| 国产成人精品午夜福利| 国产激情视频在线观看| 国产精品视频内谢女人| 国产欧美黑人丰满在线| 五月丁香大香蕉| 天天看天天干| 精久久久| 久操99| 国产人伦a片信息免费片| 啊啊啊骚| 国产精品 午夜福利| 午夜欧美女人操逼| 9久精品| 校园春色综合香蕉| 开心五月天激情网| 中国AV美女| 人妖欧美一区二区| 福利风月五月天影院| 亚洲欧综合另类无码一区| 久久黄人人爽视频| 殴洲老熟女| 激情小说五月天| 成人性爱AV在线免费观看| 一二区在线观看视频| 91 丝袜在线| 国产欧美亚洲精品a第2页| 欧美成人精品欧美一级乱黄一区二…| 人妻出轨一区二区三区| 天天操天天舔| 在线观看不卡一区二区三区| 蜜臀中文无码午夜| 加勒比AV网| 激情综合色| 国产毛片久久久久久久| 色色九区| 日韩一级二级三级免费看完整版国语版 | 无码91| 国产欧美亚洲精品a第2页| 亚洲高清视频在线免费观看| 91劲爆| 裸模AV女优| 五月综合激情网| 天天操夜夜嗨| 天天看天天日| 久久久久久久久9| 91熟女综合| 亚洲天堂电影精品一区| 久久久无码av精| 国产91亚洲精品一区二区三区| 高清无码学生妹高潮| 美女主播色欲91抠b在线播放| 亚洲色图大香| 日韩不卡a级视频专区| 亚洲性爱乱操x| 大香蕉综合网| 高潮9999外国| 噜噜噜亚洲精品| 成人日韩中文字幕| 免费综合亚洲中文| 国产精品人妻免费精品| 欧美激情 亚洲色图| 色在线69堂| 中文97国产| 1024久久高清视频| 99热这里是精品| 久久免费精品视频免一| 国产一级特黄大片处女| 性无码专区2020| 啊啊啊免费| 啊啊啊慢点| 一区超碰一区| 香蕉色网| 伊蕉97蜜桃97狠狠综合干| 国产久久久9999| 天美传媒av 在线| 99精品热| 91色久| 丁香五月激情综合国产| 欧美日韩国产高清在线一二三区| 色翁荡息又大又硬又粗又爽| 91人妻熟女| 亚洲av资源| 人妻久久| 无码99| 麻豆久久久一区二区| 久久香蕉影院| 99爱爱| 色婷网| 岛国片在线观看视频亚洲| 思思热er精品视频| 国产专区第一页| 亚洲国产精品9999在线观看| 亚欧毛片基地国产毛片基地| 久久精品一区二区一8| 九九九九精品| 91综合色| 国产AV中文| 欧美同性恋 的搜索结果 - 91n| 婷婷九月国产| 日本东京热大香蕉a片| 99re95| 欧美性爱一区二区三区四区| 美女91在线观看| 精品人妻一区二区乱码一区二区| 禁十八久久| 一区二区三区 丝袜高跟| 熟女欧美日韩综合婷婷| 91美女在线视频| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 久久国产精品91| 江都AV在线| 婷婷激情一区二区三区俺也去| 亚洲射综合网| 色 亚洲 91| 亚洲日韩XXX| 婷婷探花久久精品一区| 亚洲一区中文字幕| 伊人超碰97| 日日骚网站| 啊啊啊操死我| 欧美日韩大香蕉| 97在线观看播放视频| 日本一区二区成人在线| 亚洲欧美精品福利在线| 欧美99| 日韩啪啪啪啪啪| 日韩丝袜人妻AV| 亚洲人成色9999精品久久| 亚洲宗合电影| 97超碰总站| 超碰97人妻自拍| 久夜操| 青青草好吊色| 男人天堂欧美| av网站免费看| 啪啪视频亚洲第一 | 人人干人人操人人..com| 久久亚洲婷婷| 丝袜夫妻自拍| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 操逼网站视频漫画国产| 95人妻爽爽人人做人人澡| 9热9热综合网| 伊人精品国产| 久热最新在线杭州| 成人26uuu| 国产三级电影免费观看| 91oumei| 免费看污网址| 日本不卡中文| 久久久97| 黄色香蕉视频网站一区| 亚洲另类小说卡通动漫| 国产精品自产拍在线观看社区| 人妻-91porn| 超碰超碰欧美| 偷拍在线观看视频| 超碰97起碰| 成人热久久精品| 99色在线| 操国产逼| 国产精品岛国片在线观看| 九九九九久久久| 综合天天网| 日韩精品一二三| 眼镜人妻101.com| 成人网址在线观看| 伊人久久国产免费观看视频| 伊人久久亚洲色欲综合网站 | 国产午夜福利电影免费在线观看| 人妻99p| 丝袜综合色图| 校园春色美腿丝袜 | 91狠狠综| 日韩欧美一级特黄大片| Av色五月| 熟女高潮精品一区二区| 日本爽爽爽爽爽爽免费视频| 国产97色在线| 磁力99AV| 美女黄站| 黄色欧美性爱视频| 亚洲精品色| 97久久久久久久久久| 欧美成人性爱视频在线播放| 国模精品娜娜一二三区| 情色五月天久久久| 亚洲色综网| 欧美一二三级精品在线| 久久草在线综合视频| 天天享受天天看| 久草午夜| 五月丁香色综合| 日韩干B| 成人三一级一片aaa| 东北老女人的激情视频| 亚洲天堂久久久久久粉红视频| 久久激情网| 9997se| 手机在线播放国产福利| 97超碰色屌| 日韩一级二级三级免费看完整版| 日本片日本片祼观看网站在线看中文版网页在线看| 97bbn| 色综合久久av| 国产农村妇女精品一| 少妇精品| 国产精品久久久久久片| 少妇69中文| 91香蕉国产尤物视频| 欧美日韩999| 熟女露脸激情自拍视频| 国产乱伦亚洲| 日本三级日本三级三级人妇四虎| 男女啊啊啊| 国产女性无套 免费观看| 97一本大道亚洲一区| 欧美一区二区三区不卡高清视频| 婷婷在线播放| 鸥美极品| 999亚洲国产视频| 自拍视频大全亚洲专媒视频/一区二区三区 | 18禁精品网站在线看| 中文字幕乱码人妻一区二区三区,99精品| 97久操| 欧美日韩中文亚洲v在线综合| 天天摸天天舔天天操| 精品国产一区二区三区在线播出| 91丝袜美腿网站| 国产精品久久泡妞网站| 日本一区二区三区四区免费观看| 亚洲中文电影| 亚洲 小说 欧美 激情 另类| 欧插网站| 国产久久久久久| 欧美精品自慰系列寂寞少妇| 久久久久ab| 欧美呦呦性爱| 精精夜夜| 欧美亚洲小说| 亚洲欧美日韩综合在线尤物 | 久久风骚城市| 人人插人人搞人人操| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 97精品| 国产家庭乱伦表演| 精品久久久久瑟瑟| 激情文学88| 日韩内射视频| 精品人妻视频入口| 婷婷激情一区二区三区俺也去| 亚洲av成人精品一区| 精品人妻一区二区三区-国产精品| 97免费在线视频| 日本三级黄页| 加勒比海人人操超碰在线| 强奸乱伦av电影| 久久久久久久9最新免费视频观看| 国产精品呦一区二区三区| 麻豆性爱视频在线播放| 日本1区2区不卡视频| a人欧美综合天堂麻豆| 国产野战露脸在线播放| 久久久久久久久久久久九| blacked精品一区国产| 人人爽夜夜玩视频| 无码伊人久久大杳蕉中文无码| 欧美激情精品久久久久久| 精品久久視頻在线| 国产馆| 中文字幕91综合| 九九视频黄色片|