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

ARTICLE DETAIL

資訊詳情

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

Linux串口觸摸屏接入全解析:從UART配置到輸入子系統(tǒng)

Linux串口觸摸屏接入全解析:從UART配置到輸入子系統(tǒng) 前陣子把一塊 7 寸串口觸摸屏接到 ARM Linux 主板上時我以為這個活半小時就能搞定。畢竟板子內(nèi)核里已經(jīng)帶了 8250 串口驅(qū)動屏幕模塊自己也有觸摸功能接上 UART 之后無非就是在應(yīng)用層發(fā)指令、讀坐標(biāo)。結(jié)果真正調(diào)起來才發(fā)現(xiàn)Linux 下做串口屏和單片機(jī)上完全是兩碼事。設(shè)備樹里串口引腳的 pinctrl 沒配好觸摸坐標(biāo)上報到 Linux 輸入子系統(tǒng)之后的映射關(guān)系也是錯的跑一會兒還會丟字節(jié)。折騰了兩三天最后問題基本都在內(nèi)核配置和輸入子系統(tǒng)接入方式上反而屏幕本身沒出什么幺蛾子。這次就把我做 Linux 串口觸摸屏的完整設(shè)計和排錯過程總結(jié)一下給后面要做類似方案的朋友一個參考。主題圍繞 Linux 內(nèi)核如何正確支持串口屏、串口觸摸數(shù)據(jù)怎么變成標(biāo)準(zhǔn) Linux 輸入事件以及這個過程中容易踩到的各種坑。1. 串口屏項目的技術(shù)邊界Linux下不是“接上就能用”1.1 串口屏與普通LCD的本質(zhì)差異很多人剛接觸串口屏?xí)r會有一個思維慣性覺得屏幕就是顯示設(shè)備要么走 HDMI、要么走 RGB/MIPI最多再加個 I2C 觸摸芯片。但串口屏的原理完全不同。它本身就是一塊帶 MCU 的獨立顯示模組內(nèi)部有自己的顯存、字庫和控件庫主控只需要通過串口發(fā)一條“顯示一張圖”“設(shè)置某個文本控件”之類的指令剩下的渲染工作全部在屏幕內(nèi)部完成。這帶來一個非常大的好處Linux 側(cè)不需要維護(hù) framebuffer也不需要關(guān)心分辨率、刷新率、圖層疊加這些復(fù)雜功能。整個過程看起來就是“打開一個串口設(shè)備往里寫指令再讀取返回”。但也正因為如此Linux 內(nèi)核側(cè)的工作邊界變得很微妙。你不需要去寫一個 LCD 控制器驅(qū)動但你必須保證串口設(shè)備穩(wěn)定可用、數(shù)據(jù)不丟、觸摸事件能進(jìn)入 Linux 標(biāo)準(zhǔn)的輸入子系統(tǒng)。否則就會出現(xiàn)“屏幕顯示正常但觸摸點了沒反應(yīng)”這種最尷尬的局面。1.2 Linux側(cè)要解決的三層問題接串口屏?xí)r我習(xí)慣把問題拆成三層來看。第一層是硬件載體層。串口屏一般走 TTL 電平的 UART少數(shù)工業(yè)場景會轉(zhuǎn) RS232 或者 RS485。這一層要做的事情包括確認(rèn) SoC 的 UART 引腳是否被其他外設(shè)占用、設(shè)備樹里的串口節(jié)點是否使能、波特率和校驗位是否和屏幕一致。內(nèi)核側(cè)主要涉及 pinctrl、串口驅(qū)動、設(shè)備樹 aliases。第二層是數(shù)據(jù)通道層。串口屏的通訊協(xié)議通常是一幀一幀的里面可能有幀頭、命令字、長度、負(fù)載、校驗和、幀尾。Linux 的read()是流式讀取不保證一次拿到完整的一幀所以需要一個狀態(tài)機(jī)或者緩沖機(jī)制來拼包。這一層可以在用戶態(tài)做也可以寫一個內(nèi)核模塊做 line discipline。第三層是輸入事件層。這是 Linux 串口屏和單片機(jī)串口屏最大的區(qū)別。單片機(jī)可以直接把觸摸坐標(biāo)拿去用但 Linux 下各種圖形框架Qt、GTK、Flutter默認(rèn)從/dev/input/eventX讀取輸入事件所以串口屏上報的觸摸數(shù)據(jù)必須轉(zhuǎn)換成標(biāo)準(zhǔn)的input_event結(jié)構(gòu)。要么通過 uinput 從用戶態(tài)注入要么在內(nèi)核里注冊一個 input device 驅(qū)動。這三層只要有一層沒做對整個系統(tǒng)用起來就會很別扭。2. 內(nèi)核側(cè)支持串口屏UART設(shè)備樹、驅(qū)動與DMA配置2.1 先讓tty節(jié)點穩(wěn)定可用的關(guān)鍵配置內(nèi)核對串口屏的支持核心其實就是“把串口這個基礎(chǔ)外設(shè)整利索”。以 ARM Linux 上常用的設(shè)備樹為例一個串口節(jié)點往往要打開兩樣?xùn)|西status okay和對應(yīng)的pinctrl。uart3 { pinctrl-0 uart3_tx_pins uart3_rx_pins; pinctrl-names default; status okay; };看起來簡單但實際板卡上會有很多隱性沖突。最常見的是這個串口被內(nèi)核 console 占用了。很多 BSP 默認(rèn)把consolettyS0,115200寫在內(nèi)核啟動參數(shù)里而ttyS0恰好就是要接串口屏的串口。這時候即使你的應(yīng)用能打開/dev/ttyS0內(nèi)核日志也會時不時地往這個串口上吐數(shù)據(jù)屏幕就會間歇性亂碼。解決方式有三個換一個不沖突的串口節(jié)點比如把串口屏接到ttyS1。修改console啟動參數(shù)讓內(nèi)核日志輸出到別的串口。用earlycon或者獨立調(diào)試串口把普通串口完全釋放給業(yè)務(wù)。另一個我踩過的坑是設(shè)備樹里串口的時鐘和別名。有些平臺需要配置clocks屬性否則串口波特率計算會偏差很大例如 115200 實際跑出來是 110000 左右屏幕端就會一直亂碼。調(diào)試時可以先在內(nèi)核 dmesg 里看串口驅(qū)動的初始化信息確認(rèn)最終的波特率分頻系數(shù)是否符合預(yù)期。2.2 串口驅(qū)動選型與調(diào)度依賴Linux 下最常見的串口驅(qū)動是 8250 系列和 PL011 系列。8250 通常對應(yīng)兼容 16550A 的 UART很多 x86 板卡和部分 ARM SoC 都走這一套PL011 則是 ARM 平臺常見的驅(qū)動比如樹莓派和一些基于 AMBA 總線的 SoC。這兩個驅(qū)動在內(nèi)核 config 里的選項不一樣CONFIG_SERIAL_8250y CONFIG_SERIAL_8250_CONSOLEy CONFIG_SERIAL_AMBA_PL011y CONFIG_SERIAL_AMBA_PL011_CONSOLEy如果裁剪內(nèi)核的時候漏掉了對應(yīng)選項系統(tǒng)可能連/dev/ttyS0或/dev/ttyAMA0都不會出現(xiàn)。檢查的時候不要光看有沒有這個設(shè)備節(jié)點還要確認(rèn)驅(qū)動有沒有真正 probe 成功。串口屏對實時性的要求其實不高但觸摸體驗對“連續(xù)上報”很敏感。如果系統(tǒng)負(fù)載高用戶態(tài)讀串口的線程被調(diào)度器長時間掛起觸摸事件就會一陣一陣地卡。比較好的做法是把讀取線程設(shè)置成高優(yōu)先級實時線程或者用poll/select加超時的阻塞式讀取不要用忙等循環(huán)。Linux 的串口驅(qū)動內(nèi)部有等待隊列機(jī)制poll會在數(shù)據(jù)到達(dá)時喚醒進(jìn)程這對觸摸讀取已經(jīng)足夠。2.3 DMA/FIFO的取舍與實測效果內(nèi)核里的串口驅(qū)動為了降低中斷頻率一般都會打開 FIFO常見 16550A 的 FIFO 是 64 字節(jié)。但串口屏的數(shù)據(jù)量其實很小觸摸坐標(biāo)動靜也就幾十個字節(jié)顯示指令一般也不會超過幾百字節(jié)所以 FIFO 溢出風(fēng)險并不高。另外很多 BSP 會默認(rèn)給串口打開 DMA 支持。DMA 能夠把數(shù)據(jù)從 UART FIFO 搬到內(nèi)存減少 CPU 中斷但在某些平臺上反而會帶來問題DMA 描述符分配失敗、緩存一致性問題、或者 DMA 通道和別的驅(qū)動沖突。實際測試下來如果只是接一塊串口觸摸屏關(guān)閉 DMA 讓數(shù)據(jù)走傳統(tǒng)中斷FIFO系統(tǒng)更穩(wěn)。關(guān)閉方式因平臺而異有一些是在設(shè)備樹里配置dmas屬性為空或去掉dma-names有些是內(nèi)核 config 里關(guān)閉CONFIG_SERIAL_8250_DMA。關(guān)鍵判斷依據(jù)是看實測是否丟字節(jié)。我曾經(jīng)遇到一個平臺開著 DMA 時串口屏的觸摸坐標(biāo)偶爾多出幾個 FF 字節(jié)關(guān)了 DMA 之后連續(xù)點了半個小時都沒出現(xiàn)異常。這種問題排查起來很耗費時間不如一開始就按“數(shù)據(jù)量小就關(guān) DMA”的原則處理。3. 串口協(xié)議解析策略內(nèi)核處理還是用戶態(tài)處理3.1 串口屏通信數(shù)據(jù)幀的基本模樣串口屏品牌很多協(xié)議也各不相同但常見協(xié)議的結(jié)構(gòu)往往差不太多。拿市面上主流的幾類串口屏來說發(fā)送指令一般是“幀頭 命令 參數(shù) 幀尾”觸摸上報則是“幀頭 觸摸狀態(tài) X坐標(biāo) Y坐標(biāo) 幀尾”。假設(shè)某串口屏的觸摸包格式是這樣0xAA 0x01 0x00 0x80 0x01 0x2C 0x00 0xFF 0xFF 0xFF其中0xAA是幀頭0x01表示觸摸按下后面0x0080是 X 坐標(biāo)大端0x012C是 Y 坐標(biāo)0xFF 0xFF 0xFF是結(jié)束標(biāo)志。不同品牌會有不同設(shè)計有的用長度字段有的用 CRC16 校驗有的用累加和校驗。解析時務(wù)必先看明白兩個問題這條協(xié)議是定長的還是變長的有沒有校驗字段定長協(xié)議解析最簡單每次讀到固定字節(jié)數(shù)就能處理變長協(xié)議需要根據(jù)長度字段來循環(huán)讀。校驗字段也不能忽略工業(yè)環(huán)境下的串口線經(jīng)常會受干擾沒有校驗的協(xié)議很容易出現(xiàn)“觸摸亂跳”。3.2 兩種解析路線的對比這里有一個經(jīng)常被問到的選擇串口協(xié)議解析到底放在內(nèi)核里還是用戶態(tài)我的回答是默認(rèn)放用戶態(tài)。理由有三個調(diào)試方便。用戶態(tài)程序可以隨便printf可以用腳本模擬串口屏回包不用反復(fù)重新編譯內(nèi)核。協(xié)議迭代快。串口屏廠商偶爾會出固件升級波協(xié)議微調(diào)用戶態(tài)改起來成本低。內(nèi)核社區(qū)不建議在驅(qū)動里維護(hù)業(yè)務(wù)協(xié)議。內(nèi)核自帶的大量串口驅(qū)動只負(fù)責(zé)數(shù)據(jù)搬運(yùn)不解析業(yè)務(wù)幀。但有一種情況我會考慮寫內(nèi)核模塊屏幕觸摸事件需要參與系統(tǒng)的休眠喚醒策略。比如系統(tǒng)休眠后串口屏來觸摸事件要喚醒系統(tǒng)這時候用戶態(tài)進(jìn)程已經(jīng)被凍結(jié)無法及時處理就必須在中斷/驅(qū)動層做事件檢測。另一個場景是觸摸數(shù)據(jù)量極大用戶態(tài) read 已經(jīng)成了性能瓶頸雖然這種情況在串口屏項目里很少出現(xiàn)。同時也要提醒一點有一些想“玩得高級”的人會試圖動態(tài) hook tty 設(shè)備的file_operations攔截read和write來實現(xiàn)串口數(shù)據(jù)過濾甚至透明加密。這種思路確實能解決問題但風(fēng)險很高。內(nèi)核里隨便替換file_operations很容易造成引用計數(shù)混亂而且不同內(nèi)核版本的tty_operations結(jié)構(gòu)體定義不一致升級一次內(nèi)核就要重新適配。與其這樣還不如正兒八經(jīng)注冊一個 line discipline把串口數(shù)據(jù)流在鏈路層做自定義處理。3.3 粘包、斷包與狀態(tài)機(jī)解析串口本身是字節(jié)流不是“一包一包”的。用戶態(tài)調(diào)用read()時有可能一次拿到半包數(shù)據(jù)也有可能一次拿到兩包數(shù)據(jù)。這就叫斷包和粘包。很多初次做串口屏的人吃了這個虧——以為read()返回多少字節(jié)就是完整的一幀結(jié)果發(fā)現(xiàn)坐標(biāo)偶爾錯亂。正確做法是引入一個簡單的狀態(tài)機(jī)逐字節(jié)處理enum parse_state { ST_IDLE, ST_HEAD, ST_CMD, ST_LEN, ST_DATA, ST_TAIL }; for (size_t i 0; i len; i) { switch (state) { case ST_IDLE: if (buf[i] FRAME_HEAD) state ST_HEAD; break; case ST_HEAD: if (buf[i] FRAME_HEAD) // 連續(xù)兩個幀頭按協(xié)議處理 continue; cmd buf[i]; state ST_CMD; break; // ... 其余狀態(tài)處理 } }另外還需要一個超時機(jī)制。如果收到半個包之后就再也沒有后續(xù)字節(jié)一定要在超時后復(fù)位狀態(tài)機(jī)否則下一個幀頭到來之前會一直卡在中間狀態(tài)。這個超時的經(jīng)驗值一般取“若干個字節(jié)間隔”串口波特率 115200 時5~10ms 超時就已經(jīng)足夠。解析完成之后還可以順便在/proc或/sys下導(dǎo)出一些統(tǒng)計信息比如收了多少幀、校驗錯誤多少次、解析成功多少次。這樣在客戶現(xiàn)場出了問題時能快速判斷是協(xié)議解析問題還是電磁干擾問題。4. 從觸摸數(shù)據(jù)到標(biāo)準(zhǔn)input事件串口觸摸屏接入Linux輸入子系統(tǒng)4.1 evdev/input子系統(tǒng)的基礎(chǔ)Linux 下幾乎所有輸入設(shè)備——鍵盤、鼠標(biāo)、觸摸屏、遙控器——最終都會通過 input 子系統(tǒng)向上層報事件。用戶空間的圖形庫經(jīng)常監(jiān)聽/dev/input/eventXevdev就是這一層的內(nèi)核驅(qū)動。串口屏的觸摸功能要跟 Linux 生態(tài)無縫配合就得把坐標(biāo)上報到 evdev。接入方式有兩種用戶態(tài)通過 uinput 模擬輸入設(shè)備或者內(nèi)核態(tài)寫一個 input driver。uinput 的優(yōu)點是極其靈活int fd open(/dev/uinput, O_WRONLY | O_NONBLOCK); ioctl(fd, UI_SET_EVBIT, EV_KEY); ioctl(fd, UI_SET_KEYBIT, BTN_TOUCH); ioctl(fd, UI_SET_EVBIT, EV_ABS); ioctl(fd, UI_SET_ABSBIT, ABS_X); ioctl(fd, UI_SET_ABSBIT, ABS_Y); ioctl(fd, UI_DEV_CREATE); struct input_event ev {0}; ev.type EV_ABS; ev.code ABS_X; ev.value x; write(fd, ev, sizeof(ev)); ev.type EV_SYN; ev.code SYN_REPORT; ev.value 0; write(fd, ev, sizeof(ev));用 uinput 時核心邏輯就是解析串口幀 → 算出真實坐標(biāo) → 寫一個input_event→ 發(fā)送SYN_REPORT。這個鏈路非常清晰而且不用改內(nèi)核、不用重新編譯設(shè)備樹適合大多數(shù)商業(yè)項目。內(nèi)核態(tài)的 input driver 適合對延遲極其敏感、或者需要深度休眠喚醒的場景。實現(xiàn)上大致是注冊一個input_allocate_device()創(chuàng)建的設(shè)備設(shè)置好ABS_X/ABS_Y的最小值和最大值然后在一個內(nèi)核線程或中斷上下文里調(diào)input_report_abs()和input_sync()。這種方法要求你對內(nèi)核模塊開發(fā)有足夠的把握否則一個空指針就能讓整個系統(tǒng) panic。4.2 坐標(biāo)換算與校準(zhǔn)串口屏返回的坐標(biāo)值取決于屏幕內(nèi)部觸摸面板的 ADC 采樣范圍。有些屏幕的 X 范圍是 0~4095有些是 0~1023Y 范圍也可能和屏幕分辨率不是嚴(yán)格對應(yīng)。但 Linux 輸入子系統(tǒng)上報的坐標(biāo)范圍必須是設(shè)備描述里聲明的absmax否則用戶態(tài)拿到之后還要二次換算。通常做法是把串口屏上報的原始值線性映射到屏幕的實際分辨率linux_x (raw_x - x_min) * (screen_width - 1) / (x_max - x_min) linux_y (raw_y - y_min) * (screen_height - 1) / (y_max - y_min)這里最容易忽略的一點是觸摸面板的零點方向。有些屏幕的 X 坐標(biāo)從左往右增加有些卻是反的Y 軸也是一樣。如果映射之后觸摸點和顯示點仍然是鏡像的就要對坐標(biāo)做反轉(zhuǎn)。校準(zhǔn)也不能只做一次。實際項目里屏幕可能被更換、屏幕玻璃面板存在裝配誤差、或者貼了不同厚度的保護(hù)膜都會導(dǎo)致觸摸坐標(biāo)漂移。Linux 桌面環(huán)境一般用 libinput 的校準(zhǔn)矩陣嵌入式 Qt 環(huán)境可以用 tslib 的ts_calibrate生成校準(zhǔn)參數(shù)按映射公式寫進(jìn)應(yīng)用配置即可。經(jīng)驗上在顯示畫面正確的前提下先用evtest查看上報值再用一個小畫布程序驗證“按下位置和光標(biāo)位置”是否一致是最快的校準(zhǔn)方法。4.3 多點觸摸和按鍵組合上報常見串口屏里帶多點觸摸的型號也不在少數(shù)。Linux 內(nèi)部對多點觸摸使用 MT 協(xié)議Type B 是比較主流的實現(xiàn)方式需要用到input_mt_slot和input_mt_report_slot_state。假設(shè)屏幕支持兩個觸摸點上報邏輯大概是input_mt_slot(dev, 0); input_mt_report_slot_state(dev, MT_TOOL_FINGER, true); input_report_abs(dev, ABS_MT_POSITION_X, x0); input_report_abs(dev, ABS_MT_POSITION_Y, y0); input_mt_slot(dev, 1); input_mt_report_slot_state(dev, MT_TOOL_FINGER, true); input_report_abs(dev, ABS_MT_POSITION_X, x1); input_report_abs(dev, ABS_MT_POSITION_Y, y1); input_mt_report_slot_state(dev, MT_TOOL_FINGER, false); input_sync(dev);注意協(xié)議解析層要怎么區(qū)分“多點”與“單點”。很多串口屏的觸摸協(xié)議在單點觸摸和多點觸摸下走的是不同的命令字不能混用。如果協(xié)議文檔不夠詳細(xì)可以在屏幕上放兩個手指慢慢移動直接打印收到的十六進(jìn)制原始數(shù)據(jù)來反推。還有一類串口屏是做“控件跳轉(zhuǎn)”的屏幕上的按鈕會主動上報“按鍵編號”而不是絕對坐標(biāo)。這種場景下更簡單——直接把按鍵編號映射成EV_KEY事件交給上層應(yīng)用處理。但要注意區(qū)分觸摸類是單擊還是長按否則上層會收到一大批重復(fù)按鍵事件。5. 實測中的問題清單亂碼、丟幀、漂移與開機(jī)時序5.1 亂碼和串口參數(shù)不一致亂碼是最容易定位、也最常見的問題。大部分串口屏出廠默認(rèn)波特率是 9600 或者 115200如果你的應(yīng)用stty設(shè)置成了 57600或者內(nèi)核 console 啟動參數(shù)里用了別的串口參數(shù)就會出現(xiàn)一堆亂碼。排錯時先做三件事stty -F /dev/ttyS3 115200 raw -echo cat /dev/ttyS3第一確認(rèn)內(nèi)核啟動階段沒有往這個串口打印日志第二確認(rèn)上位機(jī)的波特率和屏幕固件一致第三確認(rèn)串口電平匹配。TTL 串口屏接 RS232 電平轉(zhuǎn)換器或者在相反方向接板載 RS232 口都會出現(xiàn)不穩(wěn)定亂碼。這里再順便提一個容易忽略的校驗位問題。很多串口屏默認(rèn)是8N1也就是 8 個數(shù)據(jù)位、無校驗、1 個停止位。但用老款迪文屏或某些工業(yè)屏?xí)r可能會是8E1或8O1。如果應(yīng)用層一直用 8N1 去讀偶校驗的屏幕偶爾能收到正確數(shù)據(jù)但整體上是隔三差五亂碼。5.2 丟幀與緩沖區(qū)配置“丟幀”從表面看是觸摸卡頓、指令沒反應(yīng)但底層原因往往在 Linux 的數(shù)據(jù)鏈路里。一個常見原因是用戶態(tài)讀取線程被高負(fù)載任務(wù)拖住串口接收緩沖區(qū)溢出后新來的數(shù)據(jù)被丟棄。Linux tty 驅(qū)動本身有接收緩沖區(qū)但默認(rèn)大小有限。如果你確定某路串口數(shù)據(jù)量比較大或者讀取線程確實響應(yīng)不及時可以嘗試調(diào)大 tty 的 flip buffer 或者使用TIOCVHANGUP清理緩沖。更常見的做法是提高讀取線程優(yōu)先級struct sched_param param { .sched_priority 50 }; pthread_setschedparam(thread_id, SCHED_FIFO, param);如果平臺支持把當(dāng)前線程綁到和 UART 中斷親和性一致的 CPU 核上也能減少調(diào)度延遲。另外一個容易造成“數(shù)據(jù)看起來丟了”的原因是 DMA 未配置好卻開著 DMA。DMA 描述符不夠時UART 收到的數(shù)據(jù)沒有及時搬到內(nèi)存硬件 FIFO 一旦溢出就會丟字節(jié)。遇到這種情況直接看/proc/interrupts里對應(yīng)串口的中斷計數(shù)增長是否正常和dmesg里有沒有報DMA timeout之類的錯誤。5.3 觸摸漂移與坐標(biāo)零點錯誤觸摸漂移最典型的癥狀是“點擊屏幕右上角光標(biāo)卻出現(xiàn)在左上角附近”。除了第 4 章說的坐標(biāo)映射和零點方向問題之外還有一種漂移是“越往邊緣越偏”這通常說明屏幕觸摸面板本身不是線性的。很多串口屏支持在屏幕內(nèi)部做觸摸校準(zhǔn)你可以在屏的工程配置里手動校準(zhǔn)一次之后再往 Linux 側(cè)輸出坐標(biāo)。這種二次校準(zhǔn)的效果往往比純線性映射更準(zhǔn)因為屏幕內(nèi)部的校準(zhǔn)固件能修正非線性誤差。如果換了不同批次、不同尺寸的串口屏校準(zhǔn)參數(shù)務(wù)必要重新做一遍。不要為了圖省事把上一塊屏的校準(zhǔn)文件直接拷貝到新設(shè)備里尤其是從老型號屏幕換到新型號屏幕時坐標(biāo)范圍可能完全不一樣。5.4 上電時序與串口屏的“假故障”最后說一下上電時序。很多工控板是 Linux 系統(tǒng)和串口屏同時上電串口屏內(nèi)部 MCU 啟動可能需要幾百毫秒甚至一秒而 Linux 用戶態(tài)程序可能更早地嘗試向串口屏發(fā)初始化指令。這時候屏幕還沒就緒程序等不到應(yīng)答就會誤判為“串口屏壞了”。解決方式是加一個初始化握手機(jī)制。程序打開串口節(jié)點后不急著發(fā)業(yè)務(wù)數(shù)據(jù)先發(fā)送一條查詢指令等待屏幕返回確定應(yīng)答連續(xù)重試幾次都失敗才報錯。同樣如果系統(tǒng)里有獨立看門狗喂狗線程應(yīng)該和串口讀取線程分開。因為讀串口偶爾會阻塞如果讓同一個線程既讀串口又喂狗一旦串口屏瞬時無響應(yīng)看門狗可能先超時復(fù)位整個系統(tǒng)造成更嚴(yán)重的問題。6. 選型與工程落地建議從STM32到Linux的遷移經(jīng)驗6.1 串口屏品牌選型時的內(nèi)核視角市面上常見的串口屏品牌比如淘晶馳、迪文、大彩都有各自的開發(fā)生態(tài)。選型時除了看屏幕分辨率、色深、UI 組態(tài)軟件好不好用之外還要特別關(guān)注兩點。第一串口協(xié)議是否公開、文檔是否完整。有的屏幕協(xié)議只在廠商的組態(tài)軟件里封裝不提供公開指令表這種就很難在 Linux 下穩(wěn)定擴(kuò)展。第二觸摸上報是否走同一路串口。有些屏幕支持觸摸數(shù)據(jù)通過單獨引腳輸出有些必須和顯示指令共用同一路 UART這會直接影響你的串口資源配置。另外新舊型號切換也要留個心眼。某些品牌的老型號屏幕固件和新型號使用不同的協(xié)議格式代碼里最好不要把協(xié)議解析寫死在業(yè)務(wù)邏輯里而是單獨抽象一層方便后面換屏?xí)r只改協(xié)議適配。6.2 內(nèi)核裁剪與系統(tǒng)打包時的注意事項如果產(chǎn)品要量產(chǎn)內(nèi)核裁剪是繞不開的一步。裁剪時最容易犯的錯誤就是把“看起來沒用”的輸入子系統(tǒng)給裁掉了。串口屏雖然不走 I2C 觸摸芯片但它一旦通過 uinput 注入輸入事件就需要CONFIG_INPUT_UINPUT上層圖形庫讀取觸摸點則需要CONFIG_INPUT_EVDEV。CONFIG_INPUTy CONFIG_INPUT_EVDEVy CONFIG_INPUT_UINPUTy CONFIG_SERIAL_8250y CONFIG_SERIAL_COREy這幾個選項建議直接編進(jìn)內(nèi)核而不是編譯成模塊否則系統(tǒng)啟動時如果沒有提前insmod/dev/input目錄下就會少設(shè)備節(jié)點。同時還要注意 udev 規(guī)則。串口屏設(shè)備節(jié)點權(quán)限如果不做處理普通用戶態(tài)程序可能打不開/dev/ttySx。在開發(fā)板階段直接跑 root 可能沒感覺到了產(chǎn)品要做降權(quán)運(yùn)行時節(jié)點權(quán)限就會變成一個問題。KERNELttyS[0-9]*, MODE0660, GROUPdialout KERNELuinput, MODE0660, GROUPinput6.3 和裸機(jī)開發(fā)不同的幾個思維轉(zhuǎn)變從 STM32 裸機(jī)方案遷移到 Linux最大的差異是多任務(wù)環(huán)境。裸機(jī)里你可以寫一個while(1)循環(huán)原地等待串口數(shù)據(jù)完全可控但在 Linux 里會有藍(lán)牙、WiFi、看門狗、業(yè)務(wù)線程等一大堆進(jìn)程搶 CPU 和中斷資源串口讀取線程必須用阻塞式 IO 加超時而不是忙等。另一個差異是調(diào)試方式。裸機(jī)可以直接用 JTAG 打斷點看寄存器Linux 下判斷串口問題就應(yīng)該先用evtest、stty、dmesg、/proc/tty/driver/serial這些工具和接口做快速定位而不是一上來就改內(nèi)核代碼。串口屏項目里絕大多數(shù)問題都出在配置不在驅(qū)動本身。最后分享一個小經(jīng)驗如果串口屏在開發(fā)板上工作正常換到量產(chǎn)主板上出現(xiàn)觸摸漂移或亂碼先別急著懷疑代碼優(yōu)先檢查主板串口電平參考電壓和信號完整性。很多小批量主板會把 UART 走線拉得太長又沒加 ESD 防護(hù)和上拉電阻干擾引起的丟幀比軟件問題更難查。在硬件端正、協(xié)議解析正確的基礎(chǔ)上內(nèi)核和用戶態(tài)的配置只要按我前面說的幾個原則去處理這套方案基本能穩(wěn)定跑很久。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
精品二区三四区五电影 | 欧美自拍偷拍免费观看| 狠狠躁AV| 精品九九九| 国产免费久久久久| 精品999一区二区| 亚洲午夜AV| 干妹子| 操国产逼| 一区,二区,三区视频| 精品人妻中文字幕高清| 天天看片天天爽| 射综合网| 97硬碰| 久久中文字幕不卡人妻| 97se综合网| 国产中出内射一区二区| 新97国产超碰| 精品偷拍13p欧美dodk视频| 欧美色66| 岛国视频一二三区| 亚洲另类色综合网站| 国产美女高潮叫床视频| 东京热av影院| 九九天堂| 亚洲色图尤物视频| KK色在线影院| 国模一区二区三区| 国产偷拍网站| 熟女露脸激情自拍视频| 亚 欧 美 综合| 精品九九九| 久久久国产精品人妻丝袜| 日本操逼视频不卡直接放| 天天日天天舔东京热| 99re公开精品免费视频| 亚洲日韩天堂| 97色妞| 国产www色在线观看| 极品色综合| 亚洲色图欧美色图制服丝袜| 凹凸久久人人| 亚州欧美色图| 亚洲宗合网| www.久久| 日本成人电影资源网| 高清不卡 中文 人妻| 日韩AC| 亚洲熟女av中文字幕| 玖玖久久久| 人妻天天爽夜夜爽精品2| 人妻偷拍一区二区三区| 加勒比海人人操超碰在线| 熟女在线视频| 日韩内射视频| 中文字幕国产精品1区| 九九热久久99精品re| 欧美综合狠| 96AV久久久| 乱伦3P视频| 白丝AV| 97av,com| 午夜精品久久999热蜜桃介男人用| 99视频精品| 久久这里只精品免费福利| 丁香7月婷婷| 欧美天天综| 黄色av片三级三级三级免费看| 人妻黑丝袜电影| 一本色道无码DVD中文字幕| 在线电影亚洲色图| 精品人妻一二三| a一区二区三区乱码在线| 人人操人人操草草| 天天综合在线4| 亚州高清av| 偷拍 亚洲 欧美| 草莓精品视频在线免费观看| 好看的91视频| 热99这里有精品综合久久 | 操曰本熟女| 99少妇| 东京热视频网| 爱爱动态120秒| 欧美熟女丝袜| 国产精品美女视频诱惑| 久色网| 超碰久久草| 超碰九7免费| 亚洲福利中文字幕在线| 99在线观看无大码| 丝袜人妻av一区二区| 国产在线精品偷| 亚洲中文电影| 超碰成人公开| 午夜精品久久久99| 亚州熟女乱伦| 91成人在线| 东京热天堂网| 97国产亚洲中文在线| 成人美女av| 蜜臀在线免费观看在线免费观看| 亚洲情色 自拍| 国产Av超碰| 偷拍欧美激情| 女人久久久| 欧美精品999| 97免费视频在线观看视频| 亚洲国产精品成人综合| 麻豆天美国美国产| 国产精品国产精品国产| 亚洲中文字幕97久久精品少妇 | 久久激情亚洲精品无码?V| 色呦呦、国产精品| 日韩三级伦理中文字幕| 九九热免费国产视频婷婷伊人| a啊啊啊啊啊啊啊啊一区二区| 香蕉热人人精品| 午夜性| 人人操 欧美| 国产偷仑| 欧美v亚洲v日韩v最新在线二区| 国产青青美女玩逼视频| 免费人成在线观看网站品爱网| 日本天堂网| 日韩免费在线观看不卡| 做爱福利视频一区二区| 九月丁香综合网| 十八禁电影伊人网| 99综合| 麻豆天天躁天天揉揉AV| 人人人人人人少妇| 国产精品久久久吖| 老鸭窝黄色视频网站| 高清无码一区二区三区| 黑人粗大V S日韩女优视频| 91超级碰| 国产区性爱在线视频秋霞豆| 大茄子熟女AV导航| 在线天堂999| 国产强奸乱伦xd| 91激情综合| 婷婷AV一区二区三区| JuliaAnnXXX888| 日韩中字av一区| 色色网91| 中文字幕丝袜| 亚洲情色一区二区三区| 日韩999| 84YTCOM性无码| 成人五级久久| 97欧美色| 青青草伊人久久| 欧亚乱色熟女一区二区| 色欲久久99国产精品久久久久久| 人人污日韩一区二区| 日逼国产| 狠狠色伊人亚洲综合网站色| 加勒比无码毛片| 久热久一区二区三区| 家庭乱伦性爱av| 9久久久久| 四虎884a| 色婷婷影院| 国产亚洲日韩在线三区黑人| 你懂的在线观看区国产| 91日韩网站| 亚洲欧美天堂在线| 色999;丁香五月| 五十路六十路素人熟女| 97免费视频在线| 亚洲一本色码中文字幕| 情色AV电影| 亚洲无码AV九九九| 国产无码久久高清| 97国产人人| 夜夜夜夜久久久久| 日本最新1区2区3区| 7月婷婷综合| 亚洲砖码砖专无区2023| 免费一级精品啪啪视频| 白丝被操91| 综合网天天| 久草电影网| 淫乱图区| 日夜干射色啊| 爱爱动态试试看6 0秒| 六月丁香网| 国产黄色 A 片免费看| 成人av性爱电影在线观看| 亚洲 欧美 第一页| 婷婷午夜清品久久久久久久性色视频观| 久久同城AV| 99九九久久| 丰满欧美少妇| 成人在线视频二区| 国产11页| 无码91| 爽爽歪在线视频| 99操碰| 日韩性爱高清免费视频| 一区二区三区视频在线观看免费| 精品国产乱码久久久久久口爆网站| 成人无码在线超碰网| 操逼网站视频漫画国产| 精品毛片久久久精品毛片| av强奸乱轮| 久久久久久久久久va| 91被操| 亚洲日本激情| 国产精品黄色三级av| 色乱二区| 欧美亚洲中文字幕| 欧美AB在线观看| 伊人大香蕉在线| 台湾大香蕉99热| 新视频sss国产| 伊人在线大香蕉视频久久| 免费超碰97久久| 公司1区2区3区精产精| 国产中午字一暮区| 色噜噜狠狠色综无码久久合欧美| 综合久久久久久久久91| 多毛小伙内射老太婆| 波多野42部无码喷潮在线观看 | 97精品国产精品免费观看| 91天天c| 欧美亚洲激情一二三| 久草久日| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 黑人精品XXX一区一二区| av亚欧| 无码丰满熟妇一区二区浪潮AV| 亚洲欧综合另类无码一区| 黄片在线免费在线观看| 国产夜夜操| 欧美黑人91| 天天爱天天操| 51久久夜色精品国产麻豆| 久久精品国产亚洲AV无码做| 天天综合色| 97干com| 五月开心久久AV官网| 欧美九九九| 秋霞午夜成人福利片片| 色成人Www精品永久观看| 中文字幕成人| 热热色色综合| 三级精品三级在线观看| 农村妇女一级二级三级视频| 男人的天堂欧美| 久久亚洲日韩国产欧| 极品另类| 日韩精品在线观看网站| 亚洲码和欧洲精品激情系列| 97欧美资源| 人人操人人干网页| 久久久久久久久久久97| 国产日韩怡红院| 人妻中文字幕精品无码| 青青网三级视频| 大干人妻| 巨爆乳一区二区爆乳区| 欧美一区二区日韩传媒搭讪精品| 少妇高潮九九九九九九九| 激情熟女12P| 色色综合网站| 久久久国产护士丝袜美腿一| 熟妇的味道HD中文字幕| 暖暖精品二区三区观看| 91精品人妻一品二品三品| 欧美日韩精品一区二区三区高清| 熟女欧美日韩综合婷婷| 久久婷婷电影网| 五月激情天| 久肏视频字幕| www.zbzhongsen.com| 91男同| 无码外流操逼视频| 国内黄色精品| 日韩综合成人免费视频| 91超碰碰在线| 性色生活片久久毛片婬片免费放女人一级毛片 | 日韩欧美成人大香蕉| 易易A毛视频| 97av在线视频| 人妻天堂三区| 色五月婷婷网| 亚洲色图综合| 色婷婷综合久久久久中文一区二区 | 乱伦图一区| 欧色综合| 日韩性爱人人爱人人操| 97天天插| 亚洲午夜AV| 玖色av| 97人人模人人爽人人| 久久AV色| 色婷婷五月综合激情中文字幕| 亚洲日韩乱码中文无码蜜桃臀网站| 乱伦一二三| 九九久久国产精品| 久久久久亚洲Aⅴ无码| 欧美超碰人妻97| 温婉少妇玩3p| 久久精品无码专区| 麻豆av一区二区三区| 欧美日韩午夜精品一区二区三区| 五月天久久婷婷亚洲 | 国产专区路线| 久久久久久国产精品免费网站| 婷婷15月天青娱乐| 丁香五月色| 久久午夜色播影院免费高清| 天天干天天日天天射黄色片| 日韩激情啪啪| 大香蕉99999| 夜夜嗨av午夜成人| 久久久久九九九| 91青青在线| 色九九九| 国产精选三级在线观看| 色婷婷国产精品一区在线观看| 日本999精品视频| 国产久久av| 另类欧美色| 综合网久久| 日本在线播放不卡一区| 少妇久久久久久| 亚洲色入欧美| 老女人爆菊| 欧美综合娱乐久久| 91色色网站| 99爱爱| 久久婷婷国产一区二区色| 黄色视频60分钟| 偷偷人人精品女女久久| 97欧美色综合| 久久国产视频专区一二三| 男人的天堂一区三区| 91精品老女人| 密臀在线一区尤物| 亚州欧美一区| 中文字幕视频2区| 92人人操人人| 日韩性爱电影一区| 9国产超碰| 亚洲天堂资源在线| 黑人粗大V S日韩女优视频| 澳门人妻久久| 91在线页| 色综合久久久久| 精品中文字幕第一页| 国产白丝av| 91天美免费| 久久综合久色欧美综合狠狠| 夜精品久无码| 青女在线| 欧美视频第二页| 9久超碰| 97碰在线视频| 久久久久9| 成人免费在线网站| 成人亚欧免费视频| 中文字幕一区二区三区字幕| 尤物av网站免费在线播放| 美女9118禁| 久久日韩肥臀| 懂色AV网| 成人草草视频| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场| 国产少妇高潮| 四虎免费视频| 97国产精品在线观看| 国产1727欧美| 91精品少妇搡搡搡| 亚洲在钱| 日本媚薬中文字幕在线| 色臀AV| 日本色日夜干| 欧亚无码视频| 熟女乱伦A| 欧美日韩免费性爱| 国产精品自在线发布| 国产精品麻豆视频网站| 亚洲天堂7777| 夜夜草网站| 丁香五月天激情综合| 五月婷婷丁香六月| 日本有码影片下载| 97AV在线免费观看| 91精品操美女| av三级电影在线播放| 久久丁香久草综合网| 性爱综合一区二区| 亚欧Av| 亚洲超碰在线| 九九无码久久精品视频| 97色欧州| 熟人人妻少妇精品久久| 中文?日韩?免费?精品| 豆花视频操逼网址| 人人摸人人叼| av在线浏览| #NAME?| 伊色久人大在线| 国产综合色精品在线观看| 亚洲av无码国产精品字幕| 淫荡熟女乱伦网| 乱伦熟女区| 91原创在线观看| 97在线青| 欧美亚洲天堂| 手机看av网站在线看| 国产在线76页| 四虎在线免费视频| 国产福利合集| 欧美黄片视频在线观看免费 | 国产精品欧美在线观看| 国产美女自拍AV| 亚洲综合婷婷| 91在线色| 少妇无码999| 亚洲一区二区三区不卡国产欧美| 99色婷婷| 91女优在线观看| 伊人操| 思思性爱| 九九九九精品一区| 日韩免费av片高清无码| 91无码中出人妻视频| WWW.加勒比人妻一区不卡.com| 久久久久久免费电影| 日韩性爱一级片| 久久性爱城| 欧美夜夜骑视频| 97爱爱| 日本午夜福利影院| 蜜臀久久99精品| 亚洲综合电影| 另类小说五月天| 自拍第一页| 人人操人人插人人摸人人干| 国产久久久9999| 97se亚洲综合自| 久久高清欧美国产| 国产精品久久久九九九| 欧美不卡在线一区二区| 成人影 天天操 亚洲| 加勒比aⅴ| 国产精品视频精品一二| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 日韩在线欧美精品一区二区| 97在线免费看| 起碰97| 综合伊人激情| 国产乱码久久| 91天天美女| 五月天久久综合网| 久久亚洲不卡一区二区三区| 欧美 亚洲 在线| 欧美性爱一级操| 极品AV网站在线观看| 亚洲成人性爱网站在线播放| 狠肏骚人妻| 97视频在线| 欧洲无码一区二区| 日本成人在线不卡一区二区三区| 91久久久久免| 97天天摸天天爽| 麻豆天美国美国产| 亚州综合| 亚洲永久永久永久永久一级一级一级精品 | 青娱乐亚洲热| 国语对白露脸XXXXXX| 自拍丝袜美腿人妻| 天天激情综合站| 中文字幕88av在线| 岛国AB视频| 四虎影视永久在线观看精品免费网站| 久久性爱免费送| 成人三级片一区二区三区视频| 色婷婷视频| 天堂性色| 人妻 欧美 中文| 国产精品视频麻豆入口| 久草毛片| 你操综合| 乱伦图av| 亚洲激情综合另类| 欧洲亚洲人妻无码中字久久三区四区| 在线观看成人性爱免费小视频| 欧美青青视频| 操一区| 无码人妻精品酒店| 加勒比人妻综合| 9999免费精彩视频| 你懂的在线观看区国产| 丰满人妻一区| 亚洲图片欧美91N| 欧美性爱18观看| 插B在线观看| 色综合98| 丁香婷婷九月| 亚洲日韩在线a不卡99精品 | 国产激情在线| 久久产精品一区二区三区电影| 最新av在线| 五月丁香六月婷| 偷拍偷窥与盗摄视频专区| 999 久久久| 99这里都是精品| 亚洲第一精品在线视频 | 国产成人亚洲精品自产在线| 午夜超爽| 97啪啪| q2午夜理论片夜色av| 91蜜臀在线久久久久| 综合欧美激情网| 男人午夜天堂| 97人妻人人躁人人玩人人| 欧美日韩人人精品| 另类图片五月天| 亚洲一区二区三区中文字幕| 老熟女网站| 蜜桃臀久久| 亚洲蜜臀懂色| 殴美牲| 日韩av乱伦| 人妻 中文 日韩| 人妻色偷色噜| 日本精品一区二区三区四区的功能| 精品少妇人妻| 性色国产东北露脸精品视频| 粉嫩国产精品久久粉嫩| 丁香五月久久| 大色综合网| 琪琪精品免费一区二区三区| 欧美日韩国产成人高清| 综合 亚洲 欧美| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 操操操操网黑人| 日韩伦理视频| 国产欧美伊人| 久久久久骚| 一区二区三区精品黑丝白丝酒店对鸡| 色官网在线| 亚洲精品a人片在线观看视| 亚洲国产精品9999在线观看| 亚洲av综合伊人久久| 蜜乳AV一区| 欧美性爱日韩高清| 国产在线激情视频| 中文字幕日韩电影人妻| 男女激烈网站最新| 福利操逼| 精品在线观看视频在线| 国产色呦呦| 91成人在线免费视频| 精品久久久久久中文| 成人亚欧免费视频| 国产高清精品福利| 色99视频| 男女打扑克高清网站| 玖玖97综合| 日日夜夜骚| 中文字幕-区二区三区四区视频中国| 午夜性| 国产噜噜噜噜噜久久久久久久久| 夜夜骑操视频| 熟妇女伦乱视频视频| 啊啊啊水好多| 一级毛片电影免费看| 秋霞操逼片| 日本三级网页| 婷婷色导航| 国产av白丝| 天天干天天中出av| 欧美啪啪啪91| 青娱乐国产剧情av一区| 欧美天天干| 人妻99p| 日本人体九九九九九九| 久久只有精品一区二区三区| 丝袜高跟澳门91视频| 国语精品av| 9色国产精品一区粉嫩| 奇米四色影视777久久久| 亚洲天堂无码| 免费看污网站| 久久久久96| 欧美精品三区| 久久精品国产亚洲AV片多多| 亚洲熟妇极品| 亚洲天天影视色综合| 青草地一本线一区二区三区| 国产又猛又粗又爽又黄| 久热大香蕉| 欧美三级免费伊人| 亚洲欧美校园| 飘花国产午夜精品不卡| 久久婷婷五月天| 日日夜夜草草草| 丝袜 中出 制服 人妻 美腿 中文字幕| 久久AV无码AV| 激情AV| 久久99精品国产| 伊人操| 国产福利影视| 日日夜夜草草草| 久操97| 国产免费一区在线观看| 97在线无精品| 日本一区二区亚洲综合| 五月婷婷五月天| 中文熟女五十乱码在线| 18禁在线视频| 天天看天天综合成人网| 亚洲欧美综合网| 性在久久久久久| 婷婷色香| 亚洲欧美日韩中文播放| 这里只有精品视频| 午夜操操操| 黄页网站免费高清在线观看| 色九九九| 立川理惠被中出无码| 97人人操人人干| 日韩激情毛片一级久久久| 97色碰| 午夜福利合集| 日韩AV熟女乱伦| 97久久天天综合色天天综合色电影| 被男人吃奶很爽的毛片| 亚洲男人天堂2012| 无码不卡亚洲成?人片| 日韩乱码av| 中文 人妻 制服| 伊人AAA| 中文字幕黄色一起草| av天堂5| 欧美综合亚洲| 婷婷色在线| 久久精品噜噜噜成人看免欧美大片| 激情干在线| 天天在线91| 第一高清av中文字幕| 久久久精品九| 99re在线观看| 色欧美综合| 久久国色天香香蕉| 看免费一级在线播放毛片| 国产有码一区| 肏逼福利网站| 欧美日韩亚洲高清不卡一区二区三区| 久久这里只精品免费福利| 日日天天久久啊啊aaa| 亚洲国产一级黄色视频| 1二区9| 亚洲精品亚洲人成在线麻豆| 夜夜嗨一区| 男人的天堂2019AV| 日韩成人无码| 夜夜操一区二区| 日韩乱插| 日韩兔费看黄片| 1204av韩国| 日本色色的视频| 麻豆AV一区二区天美传媒| 九九热九九热| 又粗又长又爽在线观看| 2020中文字幕在线| 青青草密桃在线播放| 人妻无一区二区三区| 99国产精品自在自在| 五月香婷婷| av毛片aaaaa免费看| 无码人妻精品一区二区三区九九| 国产AV高清AV无码| yaouchengrenav| 九九人妻| 欧美亚综合色图| 色综合久| 日韩精品色呦呦| 欧美成人贴图| 国产乱弄免费在线视频。| 久久精品国产免费观看99| 97亚洲精品| 性九九九九九九| 老女人爆菊| 偷拍自拍在线视频观看| 久久97超碰| 天天天堂影视日韩亚洲91| 欧美在线官网| 色婷婷五月综合激情中文字幕| 免费a v| 久久久91福利姬| 色老汉色| 色欧美天天| 久久久久久久国产a∨| 3PAV乱伦视频| 97资源站国产精品| 久啪| 中文久久一区| 欧美亚洲丝袜人妻制服99| 中日韩久久久| AA级电影三区| 精品欧美老熟女一二区| 强乱老妇中文字幕| 亚洲国产亚洲天堂| 亚州春色| 99re不伦| 炮色五月| 97爱免费插| 久久五月视频| 亚洲九月丁香| www.99中文字幕| 国产亚洲深夜激情| 国产毛片毛片4p懂色| 60秒不遮不挡| 好爽视频在线观看| 嫩草一区二区在线观看| 一级成人性爱| 成人av在线播放| 人人操,人人液| 香蕉99秘 一区精品蜜桃臀| 91精品国| 麻豆色99999| 日韩欧美中文字亚洲慕| 污电影在线观看| 欧美色色人| 亚洲一区亚洲天堂| 性欧美精| 日本黄色天堂| 91 国产丝袜在线播放-百度| 欧美性综合| 九一性生活免费视频| 东北操逼| 亚洲天堂一区二区| 啊啊啊慢点| 97超碰色情| 99精品人妻| 亚洲欧美另类激情小说| 国产高清午夜成人在线观看| 国产精品午夜福利亚洲综合网| 日本精品中文字幕视频| 7777奇米影视久久| 97精品熟女少妇一区| 国产女乱淫真高清免费视频| 欧美性巨大╳╳╳╳╳高跟鞋| 午夜福利免费精品视频| 日本污ww视频网站| 亚洲综合97中文网| 蜜臀在线免费观看在线免费观看| 色诱中文字幕| 60秒免费视频| 亚洲天天自拍| 91人妻人人澡人人爽人人精品| 乱伦一二三| 先锋色眉乱伦资源| 国产免费永久精品无码| 五月婷婷激情综合| 蜜臀人妻少妇久久在线观看| AV丝袜东京热| 亚洲同性aV综合| 欧美亚洲自拍另类人妻| 免费在线黄片视频| 色综合久| 久久精品视频在线观看| 尤物AV免费网站| 97色97干| 亚欧日韩成人| 亚洲精品 大香蕉| 欧美白嫩女HD| 欧美亚洲天天| 岛国福利在线精品播放| 九色婷婷| 96免费视频在线| 中国91AV| 北约熟女超碰| 3571色综合一区二区二区| 绑缚麻绳人妻寝取完整版| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 我要看免费韩日黄片| 区一在线观看| 99热在线只有精品| 成人av在线播放| 91欧美| 99在线啪| 久久久精品电影| 天天日少妇逼AV| 91久久国外网| 51国产午夜精品视频| 五月婷久久| 亚洲男人的天堂网| 绯色一区二区三区不卡少妇| 一区二区三区精品视频| 久久天天躁日日躁狠狠躁| 97K超碰在线| 国产操偷| 久久久中文版| 色色毛片| 亚洲欧洲偷拍一区| 色噜噜日韩精品| 国产精品制服丝袜清纯唯美| 欧美一二三区四五区| 九久精品| 六月天婷婷| 欧美性五月| 日韩欧美国产一区二区三区四区| 超碰性爱97| 五月丁香激情四射| 亚洲精品99| 18+91网站| 日本日皮视频逼| 日韩一级二级三级免费看完整版国语版 | 亚洲蜜乳av| 久久熟女人| 丰满少妇一区二区三区免费看| 国产一区二区三区精品观看啪| 亚洲吊色| 国产精品点击进入在线影院| 久久婷婷在线观看视频| 亚洲色天| 日韩97视频!在线| 超碰欧美97| 啊啊啊好爽快点啊啊啊嗯嗯| 欧美日韩制服| av中文在线| 日韩精品啪啪啪| 精品少妇一区二区三区在线视频| 亚洲AV色图一区| 国产女生在线| 中文字幕一区二区三区四五区| 久久一区二区三区入口| 久草色在线观看| 六月激情婷婷| 最新制服中文第一页| 99热成人| 国产高清亚洲日韩一区| 天堂资源欧美| 亚洲AV成人无码一二三久久| 最新av在线| 两性色网| 国产精品乱码久久久久久久久| 久久99网站| 久久人| 蜜臀在线免费观看在线免费观看| 人人操 欧美| 天堂射| 国产又粗又长又爽又色| 色九九久九九| 欧美大香蕉卡久久| 亚洲啪AⅤ永久无码| 中文字幕诱惑制服人妻丝袜美丝袜美 | 国产精品老熟女一区二区| 操东北女人| 精品亚洲俞拍视频一区| 激情干在线| 天啪| 色婷婷综合久久中文字幕雪峰| 免费一级黄色录像影片| 视频在线中文字幕| 天天拍天天操| se吧提供国产乱老熟视频胖女人| 亚洲熟女乱综合一区二区三区| 日韩欧美亚洲一区二区三区影院| 欧美人妻制服| 国产精品网站免费| 成人日本视频人妻在线| 啊啊啊草死我| 亚洲国产丝袜在线观看| 99热精品免费| 成人性爱av| 亚洲中文字幕av | 亚州熟女乱伦| 中文字幕无码不卡啪啪| 熟妇熟女亚洲天堂网| 翔田千里一区二区三区奶水| 天天综合~91| 久久中文色图| 激情久久久| 一类无码操逼视频| 亚洲爽图| 亚洲双插| 久久骚少妇| 天天综合色| 91社区拍啪人妻| 免费人成毛片乱码| 9I1性色影院| 亚洲区限制级| 欧美大码在线视频| 欧美日韩操逼嗦吊| 午夜一级免费毛片| 久久久久亚洲| 亚州,欧美在线| 亚洲天堂情色| 91老司机在线视频免费观看 | 99re在线视频这里只有精品| 91欧美偷拍| 男人的天堂啪啪| 在线观看日韩av不卡| 久久精品国产AV一区二区三区| 久久久久久久久一区二区三区| 四虎在线免费视频| 久久夜嗨| 久久理论字幕视频| 婷色五月天| 中国探花熟女| 性在久久久久久| 看免费一级在线播放毛片| 人妻欧美| 欧美亚洲特P| 91热色| 91无摭挡| 人妻少妇色综合| 欧美性爱一区| 久久AV无码1区2区3区| 一二三啪啪专区| 97九色人妻| 蜜臀av一区二区三区免费观看| 亚卅熟女乱色| 日本理论在线| 国产一区在线免费播放| 日本一区二区三区四区免费观看| 日韩中文字幕国产| 大香蕉视频一二三区| 920日本午夜免费| 日韩性爱播放| 国产欧美一区激情交| 一级A啪啪啪啪| 日本 欧美 国产一区| 91人妻Pr| 99色热| 欧美毛片在线网| 偷拍欧美综合| 国内精品不卡无毒99999| 天美传媒国产原创中文字幕亚洲欧美另类 | 欧美专区日本专区| 中文字幕精品区先锋资源| 无码乱人伦中文视频| 精品性爱一区二区| 静品嫩模一区二区| 日韩成人精品中文字幕| 蜜臀久久99精品久久综合| 久久久999日本大片| 久久久9视频| 另类av天堂| 亚精品无码毛片一区二区三区| 99在线啪| 97日韩欧美亚洲| 激情欧美97| 国产无码精品久久久久久| 国产精品一区二区手机看片| 乱伦一区二区三区‘| 黄片com.| 五月丁香| 日本丝袜美腿人妻九九| 999综合色| 四虎免费在线播放| 欧美97爱| 国产女同视频在线播放| 国产亚洲精品美女久久久m| 99综合| 欧美日韩免费专区在线| 欧美日韩另类字幕中文| 亚洲色婷婷综合久久一区二区三区| 2017天天操| 性爱网站一区二区| 亚洲偷拍自拍在线视频| 95精品在线| 久久精品视频一区三区小泽玛利亚| 天天碰久久入| 国产精品久久aV| 91 亚洲 欧美 日韩 国产 综合| 五月天激情小说网| 色偷偷色偷偷欧美日韩| 欧美自拍网| 亚洲无码成人精品| 国产精品电影| 黄资源| 亚洲 在线| 噜噜噜在线视频| 首页亚洲国产高跟丝袜诱惑视频| 五月天久久婷婷亚洲| 国产97色在线 | 亚洲| 男女做爰猛烈动高潮A片免费应用| 人人操人人大香蕉| 免费的av网| 精品人妻高清麻豆av| 男女猛烈无遮掩视频免费软件| 免費黃色視頻觀看一| WWW.加勒比人妻一区不卡.com| 96精品久久久| 波多野42部无码喷潮在线观看| 五月激情在线| 中出人妻中文字幕91在线| 久久国产AⅤ| 久久综合九九| 国产精品久久久久久久免牛肉蒲团| 久久久久久久唑| 欧美日韩操操操| 欧美精品第四五页中文字幕在线观看| 日日夜夜骑| 激情视屏国产乱伦强奸| 性色国产东北露脸精品视频| 超碰色大香蕉| 欧美日本一区二区a人| 欧美一区二区三区大综合| 激情欧美97| 大香蕉一线视频| 国产精品不卡一区二区三区| 久久双插| 亚洲天堂性爱| 人人操人人肉久久精品| 天天干夜夜操网| SS久久| 亚洲春色欧美激情自拍| 无码99| 亚洲国产综合图区中文字幕| 亚洲女毛多水多21P| 亚州熟妇精品| 热久久国产| 久久綜合很很很| 久久性爱视频99| 色女网日韩| 欧美在线91| 99久久com免费视频′| 国产传媒日韩| 91久久久久久久久久久| 四虎影视精品| 女优免费一区二区永久| 成人性交午夜免费片| 综合激情婷婷| 国产精品久久久亚洲第一牛牛_在线观看| 久久久久国产精品片区无码直播| 精品成人女人久久| 青娱乐国产精品| 伊人久日| 91超碰人人操| 91老司机精品| 日韩精品一二三四| 东北毛片| 熟女自慰久久久| 日本1区2区不卡视频| 伊人久久久日韩一区| 亚洲中文一区二区三区| 亚洲诱惑天堂 | 美女网站黄页| 国产成人精品亚洲日本| 久久久久久久久9| 欧美成人都市人妻| 明星性猛交ⅹxxx乱大交| 中文字幕乱碼在线| 岛国网址国产 | www网站黄| 友优传媒精品在线一区二区| 色色色色色色色色色色色色色色综合| 秋霞 色色| 韩国女主播青草在线| 亚洲欧洲精品视频发布| 东京热91| 久久综合日韩亚洲欧美| 欧美日产国产在线成人第一区| 久久久久国产精品人妻aⅴ天堂| 日本岛国黄色网址| 福利视频合集| 亚洲天堂人人妻| 手机看片1024你懂的国产| 亚洲熟女av中文字幕| 亚洲综合999| 97色爱| 熟女人妇一区二区三区| 欧亚日韩中文在线| 男人的天堂VA在线| 九久9精品| 男女做爰猛烈动高潮A片免费应用| 国内97干免费看| 国产67194| 人人看人人插| 亚洲玖玖爱| 亚洲 图片 欧美 色图| 一级久久久久久久久久久| 97天堂| 91网站在线播放| 内射中出日韩在线观看视频| 男女激情黄色网址| 亚洲色婷婷久久久综合日本| 亚洲伊人久久精品影院| 91亚州日韩高清| 粉嫩av在线一区二区| 中文字幕一区二区视频在线观看| 亚洲日韩久久精品一区| 久妇网| 天天干人妇| 五月丁香六月综合缴清无码| 97色欧洲| 亚洲天堂美臀在线| 久久熟女人| 日韩av乱伦| 中国一级操逼视频| 97啪啪| 99色热| 国产欧美后入| 久久婷婷在线观看视频| 97操操| 在线精品福利免费播放| 欧美一二三级精品在线| 色臀AV| 蜜臀一二三区| 成人一区二区三区四区| 97精彩视频网站| 亚洲精品视频在线播放| 青青久久手机线视频| 伊人一级免费黄片| 亚洲情色欧美| 亚洲欧美91| 欧美日韩精品久久久久东北老熟妇| 操操操操网黑人| 亚洲日本男人天堂网| 丁香五月天社区| 国产 v乱码一区二| 美女尤物人人操| 免费日韩黄片| av毛片aaaaa免费看| 日韩无码一区二区三区| 久久9久久| 精品视频一区二区| 91天天综合在线观看| 丝袜色综合| 男人的天堂无码| 欧美性天天影院| 伊人久久蜜月| 97频视在线| www.男人天堂| 天天激色| 操死我了啊啊啊| 欧美成人国产精品| 日韩淫色网| 午夜久久久| www.av不卡中文字幕| 欧洲精品欧洲精品| 97超碰总站| 玖日综合网| 国产AB视频| 青青草五月份天| 女生看匆91网站| 日韩性爱小视频| 麻豆 亚洲 97| 精品人妻一区二区三区-国产| 欧美黑人精品在线播放| 五月天久久综合网| 国产白丝精品在线观看| 天天干18禁| 大香蕉综合网| 97天天| 99热| 国产精品福利资源在线尤物| 97超碰久久| 搡老熟女免费视频|