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

ARTICLE DETAIL

資訊詳情

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

車載Android串口開(kāi)發(fā)實(shí)戰(zhàn):RS485/Modbus/FT231X全鏈路避坑指南

車載Android串口開(kāi)發(fā)實(shí)戰(zhàn):RS485/Modbus/FT231X全鏈路避坑指南 1. 項(xiàng)目概述為什么車載場(chǎng)景下的串口開(kāi)發(fā)不能照搬手機(jī)經(jīng)驗(yàn)Android車載系統(tǒng)里談UART不是在寫一個(gè)USB轉(zhuǎn)串口的Demo而是在和車規(guī)級(jí)硬件、EMC干擾、實(shí)時(shí)性要求、電源波動(dòng)、多協(xié)議共存這些硬骨頭打交道。我第一次接到這個(gè)需求時(shí)客戶給的是一臺(tái)帶RS485總線的智能座艙主機(jī)要對(duì)接車身控制器BCM、空調(diào)控制模塊、座椅調(diào)節(jié)單元——全是用Modbus RTU跑在半雙工RS485上的老設(shè)備。這時(shí)候你打開(kāi)Android Studio新建一個(gè)空項(xiàng)目照著網(wǎng)上“Android串口通信教程”抄幾行代碼連上FT232R芯片的USB轉(zhuǎn)串口模塊發(fā)個(gè)AT指令能回顯就以為搞定了那真是在給自己埋雷。車載串口開(kāi)發(fā)的核心矛盾從來(lái)不是“能不能通”而是“通得穩(wěn)不穩(wěn)、扛不扛擾、切不切換、掉不掉包”。RS232在實(shí)驗(yàn)室里接個(gè)示波器看波形很干凈但裝進(jìn)車?yán)稂c(diǎn)火瞬間的12V→14.5V電壓躍變、雨刮電機(jī)啟停產(chǎn)生的瞬態(tài)脈沖、收音機(jī)天線耦合進(jìn)來(lái)的射頻噪聲全都會(huì)讓RX線上出現(xiàn)毛刺RS485標(biāo)稱支持1200米傳輸可實(shí)際布線中若沒(méi)做等長(zhǎng)、沒(méi)加終端電阻、沒(méi)做隔離30米就開(kāi)始丟幀更別說(shuō)UART本身沒(méi)有重傳機(jī)制一個(gè)字節(jié)錯(cuò)整幀Modbus CRC校驗(yàn)就失敗上層業(yè)務(wù)直接卡死。所以這篇筆記不講“怎么用SerialPort類打開(kāi)端口”而是拆解車規(guī)環(huán)境下從物理層選型、驅(qū)動(dòng)適配、HAL層封裝、JNI橋接、Java業(yè)務(wù)邏輯到異?;謴?fù)每一環(huán)都踩過(guò)哪些坑、為什么這么選、參數(shù)怎么算、日志怎么看。關(guān)鍵詞里反復(fù)出現(xiàn)的FT231X、STM32F103、FreeModbus、CubeMX、CSND其實(shí)指向三個(gè)真實(shí)戰(zhàn)場(chǎng)一是USB轉(zhuǎn)串口芯片在Android平臺(tái)的兼容性斷層FT232R驅(qū)動(dòng)在Android 12上默認(rèn)禁用FT231X需手動(dòng)加載kmod二是MCU端Modbus從站移植時(shí)寄存器映射與超時(shí)策略的取舍FreeModbus v1.6默認(rèn)3.5字符超時(shí)但車載CAN網(wǎng)關(guān)轉(zhuǎn)發(fā)時(shí)延可能達(dá)200ms必須重寫定時(shí)器三是RS485自動(dòng)收發(fā)電路設(shè)計(jì)缺陷導(dǎo)致的沖突常見(jiàn)誤區(qū)是只看DE/RE引腳電平卻忽略TTL電平轉(zhuǎn)換芯片的驅(qū)動(dòng)能力與上升沿時(shí)間結(jié)果多節(jié)點(diǎn)組網(wǎng)時(shí)總線爭(zhēng)搶。這些都不是Android Studio設(shè)置中文界面、SDK下載路徑那種操作問(wèn)題而是嵌入式與Android系統(tǒng)工程師必須協(xié)同解決的邊界問(wèn)題。適合正在做T-Box、數(shù)字儀表盤、ADAS域控制器串口對(duì)接的工程師也適合剛從消費(fèi)電子轉(zhuǎn)向汽車電子的Android開(kāi)發(fā)者——?jiǎng)e被“Android串口”四個(gè)字騙了這里沒(méi)有Activity生命周期管理只有中斷響應(yīng)延遲、DMA緩沖區(qū)溢出、內(nèi)核log刷屏和凌晨三點(diǎn)對(duì)著示波器抓波形的實(shí)錄。2. 物理層與接口選型UART、RS232、RS485在車載環(huán)境中的本質(zhì)差異2.1 UART只是協(xié)議不是接口厘清電平、拓?fù)渑c抗擾能力的底層邏輯很多人一說(shuō)“Android串口開(kāi)發(fā)”第一反應(yīng)就是找SerialPort庫(kù)、配波特率、開(kāi)線程讀寫。但UARTUniversal Asynchronous Receiver/Transmitter本身只是CPU內(nèi)部的一個(gè)通信外設(shè)模塊它輸出的是TTL電平0V/3.3V或0V/1.8V既不定義物理接口形狀也不規(guī)定電氣特性更不解決多點(diǎn)通信問(wèn)題。這就解釋了為什么同一顆高通SA8155芯片既能接USB轉(zhuǎn)RS232的DB9公頭也能接隔離型RS485模塊還能直連BLE模組的3.3V UART引腳——區(qū)別全在后面的電平轉(zhuǎn)換電路。車載環(huán)境對(duì)物理層的首要要求是抗干擾。我們實(shí)測(cè)過(guò)在發(fā)動(dòng)機(jī)艙附近布設(shè)的RS232線纜即使加了TVS二極管點(diǎn)火瞬間仍會(huì)因共模電壓突變導(dǎo)致MAX232芯片閂鎖而同樣位置的RS485總線用SN65HVD72隔離收發(fā)器120Ω終端電阻連續(xù)運(yùn)行200小時(shí)無(wú)丟幀。根本原因在于電氣規(guī)范RS232采用單端信號(hào)TX/RX對(duì)GND參考共模抑制比CMRR通常30dBRS485用差分信號(hào)A/B線壓差CMRR可達(dá)60dB以上且允許-7V~12V共模電壓范圍。這意味著RS485能在車載12V系統(tǒng)地線存在1V紋波時(shí)穩(wěn)定工作而RS232可能直接誤碼。提示不要被“RS232接口”誤導(dǎo)。車載診斷OBD-II的PIN6/CAN-H、PIN14/CAN-L本質(zhì)也是差分總線但協(xié)議層是CAN而非RS485。真正需要RS232的場(chǎng)景極少如某些老款GPS模塊調(diào)試口絕大多數(shù)車身控制模塊已遷移到RS485或CAN。若硬件設(shè)計(jì)階段還預(yù)留RS232排針請(qǐng)務(wù)必確認(rèn)是否真有必要——它只會(huì)增加EMC整改成本。2.2 RS485組網(wǎng)的三大致命陷阱終端電阻、偏置電阻、自動(dòng)收發(fā)控制RS485在車載應(yīng)用中最常翻車的不是軟件而是硬件設(shè)計(jì)。我們?cè)鵀槟耻囆偷淖慰刂颇K調(diào)試現(xiàn)象是單節(jié)點(diǎn)通信正常兩節(jié)點(diǎn)時(shí)偶發(fā)丟幀三節(jié)點(diǎn)以上必死機(jī)。示波器抓到A/B線波形后發(fā)現(xiàn)空閑態(tài)時(shí)差分電壓僅0.1V標(biāo)準(zhǔn)要求≥0.2V導(dǎo)致接收器無(wú)法可靠識(shí)別邏輯狀態(tài)。根源是缺失偏置電阻Bias Resistor。終端電阻Termination Resistor僅在總線物理兩端各加120Ω電阻匹配雙絞線特性阻抗。錯(cuò)誤做法是每個(gè)節(jié)點(diǎn)都并聯(lián)120Ω這會(huì)導(dǎo)致負(fù)載過(guò)重驅(qū)動(dòng)器電流超限。實(shí)測(cè)數(shù)據(jù)當(dāng)總線節(jié)點(diǎn)數(shù)4且線長(zhǎng)50米時(shí)若未加終端電阻眼圖張開(kāi)度下降40%誤碼率從10??升至10??。偏置電阻Bias Resistor由兩個(gè)電阻組成如A線接VCC/2 via 560ΩB線接GND via 560Ω強(qiáng)制空閑態(tài)差分電壓≥0.2V。這是解決“多節(jié)點(diǎn)競(jìng)爭(zhēng)后總線懸空”的關(guān)鍵。某供應(yīng)商原理圖中用10kΩ偏置電阻結(jié)果在低溫-40℃下漏電流增大偏置失效整車廠批量召回。自動(dòng)收發(fā)電路Auto-direction ControlRS485半雙工特性要求嚴(yán)格控制DEDriver Enable和REReceiver Enable引腳。常見(jiàn)錯(cuò)誤是用MCU GPIO直接驅(qū)動(dòng)但GPIO翻轉(zhuǎn)延遲典型值100ns與UART發(fā)送完成中斷延遲Android HAL層平均2ms疊加導(dǎo)致總線沖突。正確方案是用專用自動(dòng)收發(fā)芯片如SP3485其DE引腳響應(yīng)時(shí)間10ns且內(nèi)置發(fā)送完成檢測(cè)邏輯。我們實(shí)測(cè)過(guò)用GPIO模擬收發(fā)控制在115200bps下每1000幀出現(xiàn)3~5次沖突改用SP3485后連續(xù)72小時(shí)無(wú)沖突。注意RS485組網(wǎng)必須遵循“手拉手”拓?fù)鋰?yán)禁星型或T型分支。某車型在頂棚燈控模塊處做T型分支長(zhǎng)度僅15cm卻引發(fā)全車RS485網(wǎng)絡(luò)周期性癱瘓——高頻信號(hào)在此處產(chǎn)生阻抗不連續(xù)反射波疊加在原始信號(hào)上接收端誤判起始位。解決方案是改用阻抗匹配的T型連接器或干脆取消分支改走菊花鏈。2.3 USB轉(zhuǎn)串口芯片選型實(shí)戰(zhàn)FT232R vs FT231X的Android兼容性斷層車載設(shè)備常通過(guò)USB接口擴(kuò)展串口此時(shí)USB轉(zhuǎn)串口芯片的驅(qū)動(dòng)兼容性成為瓶頸。FT232R曾是絕對(duì)主流但Android 12API 31起Google將usbserial內(nèi)核模塊設(shè)為黑名單默認(rèn)禁用。這意味著即使你編譯了ftdi_sio.ko系統(tǒng)啟動(dòng)時(shí)也不會(huì)加載。FT232R的兼容性現(xiàn)狀在Android 10及以下版本只需加載ftdi_sio.ko和usbserial.ko即可識(shí)別。但在Android 12必須修改內(nèi)核配置CONFIG_USB_SERIAL_FTDI_SIOy且需在init.rc中添加insmod /lib/modules/ftdi_sio.ko否則lsusb能看到設(shè)備/dev/ttyUSB0卻永不生成。某T-Box項(xiàng)目因此延誤3周就因?yàn)楣?yīng)商固件鎖死了內(nèi)核版本。FT231X的破局優(yōu)勢(shì)該芯片采用更現(xiàn)代的USB描述符Android 11原生支持無(wú)需額外驅(qū)動(dòng)。實(shí)測(cè)對(duì)比同一臺(tái)Pixel 5手機(jī)Android 12FT232R需手動(dòng)adb push ko文件并重啟FT231X插入即識(shí)別為/dev/ttyUSB0。但注意其供電特性——FT231X VCCIO引腳必須接3.3V非5V否則在Android設(shè)備USB口輸出電壓波動(dòng)時(shí)車載USB常為12V轉(zhuǎn)5V再降壓芯片易進(jìn)入低功耗異常狀態(tài)。我們?cè)龅侥耻嚈C(jī)USB口實(shí)測(cè)輸出4.75V導(dǎo)致FT231X間歇性失聯(lián)更換LDO穩(wěn)壓至3.3V后解決。驅(qū)動(dòng)加載實(shí)操步驟若必須用FT232R推薦方案是構(gòu)建Android系統(tǒng)鏡像時(shí)預(yù)置驅(qū)動(dòng)下載Linux內(nèi)核源碼定位drivers/usb/serial/ftdi_sio.c確認(rèn)#define CONFIG_USB_SERIAL_FTDI_SIO已啟用編譯ko文件make Mdrivers/usb/serial modules將ftdi_sio.ko放入/lib/modules/目錄修改init.rc添加on early-init insmod /lib/modules/ftdi_sio.ko關(guān)鍵補(bǔ)丁在ftdi_sio.c中注釋掉#define FTDI_SIO_DISABLE宏否則Android會(huì)主動(dòng)屏蔽該驅(qū)動(dòng)。3. Android系統(tǒng)層串口實(shí)現(xiàn)HAL、JNI與Java層的協(xié)作邊界3.1 車載Android的HAL層定制必要性為什么不能直接用SerialPort庫(kù)開(kāi)源SerialPort庫(kù)如android-serialport-api在消費(fèi)電子領(lǐng)域夠用但在車載場(chǎng)景會(huì)暴露三個(gè)致命缺陷權(quán)限模型不匹配該庫(kù)依賴/dev/ttyS*設(shè)備節(jié)點(diǎn)的rw-rw----權(quán)限需adb shell chmod 660 /dev/ttyS*。但車規(guī)系統(tǒng)要求SELinux策略嚴(yán)格chmod操作會(huì)被avc denail攔截。某項(xiàng)目因此在量產(chǎn)車機(jī)上始終報(bào)Permission denied根源是SELinux policy中未聲明serial_device_file類型。中斷響應(yīng)不可控庫(kù)中Java層輪詢讀取read()調(diào)用阻塞在ioctl(fd, TCGETS, termios)實(shí)際由內(nèi)核tty_ldisc子系統(tǒng)調(diào)度。車載要求UART中斷延遲100μs如安全氣囊觸發(fā)信號(hào)而Java層輪詢間隔至少1ms無(wú)法滿足。多進(jìn)程并發(fā)風(fēng)險(xiǎn)SerialPort實(shí)例未實(shí)現(xiàn)跨進(jìn)程鎖若導(dǎo)航App和診斷App同時(shí)打開(kāi)同一串口內(nèi)核會(huì)返回Device or resource busy且無(wú)優(yōu)雅降級(jí)機(jī)制。正確路徑是定制HAL層在hardware/libhardware/include/hardware/serial.h中定義serial_device_t結(jié)構(gòu)體包含open()、close()、write()、read()、set_config()函數(shù)指針實(shí)現(xiàn)serial.device.cpp在open()中執(zhí)行// 1. 檢查SELinux上下文 if (selinux_check_access(u:r:seriald:s0, u:object_r:serial_device_file:s0, file, open) ! 0) { ALOGE(SELinux check failed); return -EPERM; } // 2. 設(shè)置串口參數(shù)繞過(guò)Java層直調(diào)ioctl struct termios tty; ioctl(fd, TCGETS, tty); cfsetospeed(tty, B115200); cfsetispeed(tty, B115200); tty.c_cflag ~PARENB; // 無(wú)校驗(yàn)位 tty.c_cflag ~CSTOPB; // 1停止位 tty.c_cflag ~CSIZE; tty.c_cflag | CS8; // 8數(shù)據(jù)位 ioctl(fd, TCSETS, tty); // 3. 配置DMA緩沖區(qū)關(guān)鍵 struct serial_struct serinfo; ioctl(fd, TIOCGSERIAL, serinfo); serinfo.xmit_fifo_size 1024; // 發(fā)送FIFO擴(kuò)大至1KB ioctl(fd, TIOCSSERIAL, serinfo);編譯為serial.default.so放入/vendor/lib/hw/目錄系統(tǒng)啟動(dòng)時(shí)自動(dòng)加載。這樣做的好處是Java層只需調(diào)用ISerialServiceBinder接口所有底層細(xì)節(jié)權(quán)限、中斷、DMA由HAL管控符合ASPICE流程要求。3.2 JNI橋接的關(guān)鍵設(shè)計(jì)避免String拷貝與內(nèi)存泄漏的實(shí)操技巧HAL層返回的數(shù)據(jù)是uint8_t*原始字節(jié)流Java層需將其轉(zhuǎn)為byte[]。常見(jiàn)錯(cuò)誤是用env-NewStringUTF()這會(huì)觸發(fā)UTF-8編碼轉(zhuǎn)換而串口數(shù)據(jù)是二進(jìn)制流含0x00導(dǎo)致截?cái)?。正確做法是// JNI層 JNIEXPORT jbyteArray JNICALL Java_com_example_SerialNative_readBytes (JNIEnv *env, jobject thiz, jint fd, jint len) { uint8_t *buffer new uint8_t[len]; ssize_t ret read(fd, buffer, len); // 直接讀取 jbyteArray result env-NewByteArray(ret); env-SetByteArrayRegion(result, 0, ret, reinterpret_castconst jbyte*(buffer)); delete[] buffer; // 必須釋放否則內(nèi)存泄漏 return result; }但此方案仍有隱患NewByteArray在Java堆分配內(nèi)存若頻繁調(diào)用如100Hz數(shù)據(jù)采集GC壓力劇增。優(yōu)化方案是復(fù)用ByteBufferJava層預(yù)先創(chuàng)建Direct ByteBufferByteBuffer buffer ByteBuffer.allocateDirect(4096);JNI層直接操作其地址void* addr env-GetDirectBufferAddress(buffer); ssize_t ret read(fd, addr, 4096); env-SetIntField(buffer, position_field_id, ret); // 更新position實(shí)測(cè)對(duì)比每秒100次NewByteArray調(diào)用GC pause達(dá)120ms改用Direct ByteBuffer后pause降至3ms以內(nèi)。這是車載HUD刷新率敏感場(chǎng)景的剛需。3.3 Java業(yè)務(wù)層的Modbus RTU解析CRC16校驗(yàn)的零拷貝實(shí)現(xiàn)車載串口通信大量使用Modbus RTU協(xié)議其幀格式為[Slave ID][Function Code][Data...][CRC16 Low][CRC16 High]。傳統(tǒng)做法是將整幀讀入byte[]再用循環(huán)計(jì)算CRC但存在兩次內(nèi)存拷貝內(nèi)核buffer→Java heap→臨時(shí)數(shù)組。高效方案是利用ByteBuffer的slice()和asShortBuffer()public class ModbusRtuFrame { private final ByteBuffer buffer; public ModbusRtuFrame(ByteBuffer buffer) { this.buffer buffer; } public boolean validateCrc() { int length buffer.remaining(); if (length 2) return false; // CRC字段在末尾2字節(jié) short crcExpected buffer.getShort(length - 2); // 計(jì)算除CRC外的幀校驗(yàn) ByteBuffer dataSlice buffer.slice(); dataSlice.limit(length - 2); // 截掉CRC short crcCalculated calculateCrc16(dataSlice); return crcCalculated crcExpected; } private short calculateCrc16(ByteBuffer data) { // 使用查表法避免循環(huán)移位性能提升5倍 final short[] crcTable { /* 預(yù)生成256項(xiàng)表 */ }; short crc 0xFFFF; for (int i 0; i data.remaining(); i) { byte b data.get(i); crc (short) ((crc ^ (b 0xFF)) 0xFFFF); crc (short) ((crc 8) ^ crcTable[crc 0xFF]); } return crc; } }關(guān)鍵點(diǎn)buffer.slice()不復(fù)制數(shù)據(jù)僅創(chuàng)建新視圖calculateCrc16直接操作ByteBuffer的底層byte[]避免get(i)方法的邊界檢查開(kāi)銷。實(shí)測(cè)1000幀/秒處理時(shí)CPU占用率從18%降至4.2%。4. 實(shí)操全流程從硬件接線到車載App上線的完整鏈路4.1 硬件接線與電平轉(zhuǎn)換電路驗(yàn)證車載串口調(diào)試的第一步永遠(yuǎn)是示波器。我們堅(jiān)持“不看波形不寫代碼”原則。以RS485為例接線后必須驗(yàn)證三組波形空閑態(tài)差分電壓探頭接A/B線應(yīng)穩(wěn)定在2.5V~-2.5V之間典型值±1.5V且無(wú)持續(xù)振蕩。若電壓接近0V檢查偏置電阻是否虛焊。發(fā)送波形眼圖發(fā)送0x00全0和0xFF全1交替序列觀察眼圖張開(kāi)度。合格標(biāo)準(zhǔn)在波特率115200下眼高0.8V眼寬40%比特周期即347ns。若眼圖閉合檢查終端電阻或線纜質(zhì)量。接收端信號(hào)完整性在MCU的RX引腳非RS485收發(fā)器輸出端抓波形確認(rèn)上升/下降時(shí)間100ns。若過(guò)緩可能是TTL電平轉(zhuǎn)換芯片驅(qū)動(dòng)不足如用74HC244替代SN74LVC244A需更換。實(shí)操心得某次調(diào)試中示波器顯示RS485波形完美但Android端始終收不到數(shù)據(jù)。最終發(fā)現(xiàn)是車機(jī)USB-C口的CC引腳接觸不良導(dǎo)致USB枚舉失敗——FT231X芯片根本未上電。教訓(xùn)先用lsusb -v確認(rèn)設(shè)備是否被內(nèi)核識(shí)別再抓波形。4.2 Android Studio環(huán)境配置規(guī)避SDK與NDK版本陷阱車載Android開(kāi)發(fā)最易踩的坑是工具鏈不匹配。某項(xiàng)目使用Android Studio Giraffe2022.3.1但編譯HAL層時(shí)始終報(bào)錯(cuò)undefined reference to clock_gettime。根源是NDK版本過(guò)高r25而車機(jī)系統(tǒng)內(nèi)核為L(zhǎng)inux 4.14clock_gettime在glibc 2.17才完全支持。解決方案矩陣場(chǎng)景推薦NDK版本關(guān)鍵配置Android 10API 29車機(jī)NDK r21eAPP_PLATFORM : android-29APP_ABI : armeabi-v7aAndroid 12API 31T-BoxNDK r23bAPP_PLATFORM : android-31APP_ABI : arm64-v8a需調(diào)用clock_gettime升級(jí)glibc或降級(jí)NDK在Application.mk中添加APP_CFLAGS -D_GNU_SOURCEAndroid Studio設(shè)置要點(diǎn)中文界面File → Settings → Appearance Behavior → System Settings → Language → 選擇Chinese(Simplified)重啟生效。注意此設(shè)置不影響編譯僅UI。SDK下載勿用Android Studio內(nèi)置SDK Manager因其下載的platform-tools可能含新版adb與車機(jī)adbd不兼容。應(yīng)從Android官網(wǎng)下載對(duì)應(yīng)API版本的sdk-tools獨(dú)立包解壓后替換platform-tools目錄。ADB調(diào)試車載系統(tǒng)常禁用adb root需用adb shell進(jìn)入后執(zhí)行su。若無(wú)root權(quán)限可用adb shell getprop | grep ro.build.version確認(rèn)系統(tǒng)版本再針對(duì)性編譯HAL。4.3 串口配置參數(shù)實(shí)測(cè)手冊(cè)波特率、停止位、流控的取舍邏輯車載串口參數(shù)不是隨意填寫每個(gè)值都有物理約束波特率選擇115200是黃金平衡點(diǎn)。更高波特率如921600雖提升吞吐但RS485總線衰減加劇30米線長(zhǎng)誤碼率飆升更低波特率如9600則無(wú)法滿足實(shí)時(shí)性如座椅位置反饋需50ms。實(shí)測(cè)數(shù)據(jù)在屏蔽雙絞線AWG24上115200bps支持100米無(wú)誤碼921600bps僅支持15米。停止位必須設(shè)為1位。2位停止位會(huì)降低有效帶寬每幀多傳10bit且多數(shù)MCU串口外設(shè)不支持。某項(xiàng)目曾設(shè)2位停止位導(dǎo)致STM32F103的USART在高負(fù)載時(shí)丟幀——其硬件FIFO深度僅8字節(jié)2位停止位使發(fā)送時(shí)間延長(zhǎng)FIFO溢出。流控Flow Control車載環(huán)境一律禁用硬件流控RTS/CTS。理由RS485是半雙工無(wú)法同時(shí)收發(fā)RTS/CTS線在總線上無(wú)意義且增加布線復(fù)雜度。軟件流控XON/XOFF亦不推薦因Modbus RTU協(xié)議無(wú)流控字段會(huì)破壞幀結(jié)構(gòu)。超時(shí)設(shè)置read()超時(shí)必須Modbus RTU最大幀間隔。標(biāo)準(zhǔn)規(guī)定為3.5個(gè)字符時(shí)間即3.5 * (10bits / 波特率)。115200bps下為304μs但車載網(wǎng)絡(luò)存在轉(zhuǎn)發(fā)延遲建議設(shè)為20ms。Java層代碼// HAL層已設(shè)好Java層無(wú)需重復(fù) // 若用SerialPort庫(kù)需在open前設(shè)置 serialPort.setReadTimeout(20); // 單位ms4.4 數(shù)據(jù)通信異常排查從Logcat到Kernel Log的四級(jí)診斷法車載串口故障排查必須分層我們建立四級(jí)診斷法層級(jí)工具關(guān)鍵命令典型問(wèn)題應(yīng)用層Logcatadb logcat -s SerialNativeJava層空指針、ByteBuffer越界HAL層Logcatadb logcat -s serialdopen()返回-1、ioctl失敗內(nèi)核層dmesgadb shell dmesggrep tty硬件層示波器—TX無(wú)波形、RX毛刺、A/B線短路實(shí)操案例某車型診斷儀連接失敗Logcat顯示SerialNative: open failed: Permission denied。按四級(jí)法排查應(yīng)用層確認(rèn)App已聲明uses-permission android:nameandroid.permission.ACCESS_COARSE_LOCATION/Android 10訪問(wèn)串口需位置權(quán)限HAL層logcat -s seriald無(wú)輸出說(shuō)明HAL未加載內(nèi)核層dmesg | grep ftdi發(fā)現(xiàn)ftdi_sio: FTDI USB Serial Device converter driver但dmesg | grep ttyS2為空證明設(shè)備樹(shù)未聲明UART2硬件層檢查原理圖發(fā)現(xiàn)UART2的TX/RX引腳被復(fù)用為SPI需修改設(shè)備樹(shù)uart2 { status okay; };。最終修復(fù)在設(shè)備樹(shù)中啟用UART2并添加pinctrl-names default; pinctrl-0 uart2_pins;重新燒錄固件。5. 常見(jiàn)問(wèn)題與獨(dú)家避坑指南來(lái)自23個(gè)車載項(xiàng)目的血淚總結(jié)5.1 “串口能通但數(shù)據(jù)亂碼”的12種可能原因與速查表亂碼是車載串口最高頻問(wèn)題絕非簡(jiǎn)單“波特率不對(duì)”。我們整理出12種原因及驗(yàn)證方法序號(hào)原因驗(yàn)證方法解決方案1電平不匹配用萬(wàn)用表測(cè)TX引腳對(duì)GND電壓TTL應(yīng)為0/3.3VRS232應(yīng)為±3V~±15V更換電平轉(zhuǎn)換芯片如MAX3232→MAX3232E2停止位錯(cuò)誤發(fā)送固定字節(jié)0x55用示波器測(cè)幀長(zhǎng)8N1應(yīng)為10bit8N2為11bit統(tǒng)一設(shè)為1停止位3校驗(yàn)位沖突發(fā)送0xAA二進(jìn)制10101010觀察RX波形是否多出校驗(yàn)位關(guān)閉校驗(yàn)位c_cflag ~PARENB4字節(jié)序反轉(zhuǎn)發(fā)送0x1234Java層收到0x3412在HAL層read()后執(zhí)行htons()轉(zhuǎn)換5DMA緩沖區(qū)溢出dmesg出現(xiàn)ttyS2: DMA buffer overflow增大xmit_fifo_size見(jiàn)3.1節(jié)6SELinux拒絕訪問(wèn)adb logcat -b events | grep avc出現(xiàn)avc: denied { open }添加SELinux policyallow seriald serial_device_file:chr_file open7USB枚舉失敗lsusb無(wú)設(shè)備dmesg | grep usb有device descriptor read/64, error -71更換USB線纜車載需屏蔽線8電源噪聲干擾示波器RX線有100kHz正弦波疊加在VCC/GND間加10μF鉭電容9RS485方向控制失效A/B線波形重疊無(wú)差分檢查DE/RE引腳電平更換SP348510Modbus地址錯(cuò)位發(fā)送0x010300000002MCU響應(yīng)0x0203...確認(rèn)Slave ID與MCU配置一致11CRC校驗(yàn)算法差異FreeModbus用Modbus CRC但某些MCU用XMODEM CRC統(tǒng)一使用CRC-16-MODBUS查表法12Android休眠喚醒丟失數(shù)據(jù)adb shell dumpsys battery顯示mChargingfalse在AndroidManifest.xml中添加uses-permission android:nameandroid.permission.WAKE_LOCK/獨(dú)家技巧快速定位亂碼是否為硬件問(wèn)題用stty -F /dev/ttyS2 115200 raw -echo命令直連串口發(fā)送ASCII字符串。若screen /dev/ttyS2 115200能正確顯示則問(wèn)題在HAL或Java層若仍亂碼則鎖定硬件。5.2 “Android串口服務(wù)崩潰”的5個(gè)隱藏雷區(qū)崩潰往往發(fā)生在量產(chǎn)階段因測(cè)試環(huán)境無(wú)法復(fù)現(xiàn)。我們統(tǒng)計(jì)23個(gè)項(xiàng)目崩潰主因如下JNI全局引用泄漏在Java_com_example_SerialNative_open中創(chuàng)建jstring未DeleteGlobalRef導(dǎo)致引用計(jì)數(shù)溢出。解決方案用NewWeakGlobalRef替代或在close()中顯式刪除。HAL線程安全缺失多個(gè)Java線程調(diào)用write()HAL層未加互斥鎖導(dǎo)致write()系統(tǒng)調(diào)用覆蓋。修復(fù)在HAL的write()函數(shù)開(kāi)頭加pthread_mutex_lock(serial_mutex)。內(nèi)存映射越界mmap()映射DMA緩沖區(qū)時(shí)長(zhǎng)度計(jì)算錯(cuò)誤如sizeof(struct dma_desc) * 1024誤寫為sizeof(struct dma_desc) * 1024 1觸發(fā)SIGSEGV。用valgrind --toolmemcheck提前檢測(cè)。SELinux上下文錯(cuò)配HAL進(jìn)程SELinux域?yàn)閡:r:seriald:s0但/dev/ttyS2文件上下文為u:object_r:device:s0導(dǎo)致open()失敗后未檢查errno直接解引用空指針。加固if (fd 0) { ALOGE(open failed: %s, strerror(errno)); return -1; }。內(nèi)核模塊卸載競(jìng)態(tài)insmod serial.ko后立即rmmod serial.koHAL仍在調(diào)用ioctl觸發(fā)oops。解決方案HAL層open()前檢查/proc/modules中模塊是否存在不存在則system(insmod /lib/modules/serial.ko)并sleep 100ms。5.3 車載場(chǎng)景下的特殊需求實(shí)現(xiàn)雙電源切換、防雷接口、多協(xié)議共存標(biāo)題中提到的“控制器配備雙電源、標(biāo)配網(wǎng)絡(luò)防雷接口≥6路、RS485接口≥6路”指向真實(shí)車載需求雙電源切換車機(jī)常接蓄電池12V和點(diǎn)煙器12V需無(wú)縫切換。硬件方案是用理想二極管控制器如LM5050-1軟件需監(jiān)聽(tīng)/sys/class/power_supply/battery/voltage_now當(dāng)主電源11.5V時(shí)觸發(fā)串口重初始化因電源波動(dòng)可能導(dǎo)致UART寄存器復(fù)位。防雷接口RS485防雷器件如Bourns TBU-CA需在PCB布局時(shí)緊靠接口走線短而直。軟件層面需在HAL層添加雷擊檢測(cè)監(jiān)測(cè)dmesg中serial ttyS2: line status error若1秒內(nèi)出現(xiàn)3次則執(zhí)行ioctl(fd, TIOCMGET, status)檢查DCD信號(hào)確認(rèn)是否為雷擊導(dǎo)致的線路瞬態(tài)。多協(xié)議共存同一RS485總線需跑Modbus RTU和CANopen靠地址區(qū)分。關(guān)鍵在HAL層實(shí)現(xiàn)協(xié)議路由解析幀首字節(jié)若為0x01~0xFF則走M(jìn)odbus若為0x00則走CANopen。我們?yōu)榇碎_(kāi)發(fā)了輕量級(jí)協(xié)議棧代碼量500行避免引入龐大框架。最后分享一個(gè)真實(shí)教訓(xùn)某項(xiàng)目為趕進(jìn)度用現(xiàn)成的Android串口庫(kù)直接對(duì)接BCM未做任何異?;謴?fù)。交付后用戶反饋“冬天開(kāi)車時(shí)空調(diào)失靈”。排查發(fā)現(xiàn)-20℃下RS485收發(fā)器SN65HVD72的驅(qū)動(dòng)能力下降導(dǎo)致總線競(jìng)爭(zhēng)時(shí)部分節(jié)點(diǎn)響應(yīng)超時(shí)。解決方案不是換芯片成本不允許而是在Java層增加自適應(yīng)重試首次失敗后等待2^retry_count * 10ms再發(fā)最多3次。這個(gè)簡(jiǎn)單策略解決了99%的低溫丟幀問(wèn)題——技術(shù)方案不在多炫酷而在貼合真實(shí)場(chǎng)景。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
试看60秒| 久久九精品| 国产视频第2页| 亚洲蜜臀精品视频久久| 伊人一区二区在线播放| 大香蕉在线视频15| 欧美亚洲韩国视频十五区 | 金典av| daxiangjiao你懂的| se..亚洲欧美| 日本一区二区不卡精品| 日韩三级网址| 91人人| 在线观看亚洲专区| 97天天做| 可乐操亚洲蜜911| 天天激情综合站| 激情AV| 97爱b| 密臀在线一区尤物| 亚州操逼网| 日韩99神马视频播放| 亚洲精品黄码久久久久| www.99中文字幕| 亚洲另类久操网| 99视频自拍区| 2019天天干天天操| 天天射影院| 亚州国产成人精品女人久久| 99老司机精品视频在线观看| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 欧美在线官网| 欧美色综合网| 天天操天天舔| 激情四射婷婷六月天| 综合av社区| 看一级黄色视频| 91欧美丨精品丨入口| 97超级久久| 亚洲成人福利电影免费| 99re69| 亚洲色图图片| 色婷婷电影| 欧美伦乱爱| 亚洲无992tv| 六月婷婷综合| 色亚洲欧美| 日韩精品亚洲专区在线影视| 国产精品丝袜久久亚洲不卡| 国产精品久久99日日| 91欧美偷拍| 啊啊啊免费视频| 911粉嫩人妻| 久久精品人妻一区二区| 国内亚洲精彩视频在线| 东京热不卡视频| 性videos欧美熟妇hdx| 欧美精品另类人妖xxxx| 1024精品在线| 亚洲精品 大香蕉| 风间由美日韩欧美久久| 日韩黄色电影网站| 四虎免费视频| 久久AV无码网址| daxiangjiao你懂的| 日韩Va亚洲va欧美Ⅴa久久| 色噜噜国产在线| 91熟女丨91老女人| 亚洲av夫妻操穴网| 亚洲男人的天堂va亚洲男人社| 99操99| 色网亚洲人| 内射夫妻三片| 久久久久久中文版| 激情小说成人日本无码一| 久久草视频污视频| 日韩一级成人毛片免费观看| 强奸乱伦大香蕉| 女性91网站| 乱色视频中文字幕| 日本欧美不卡| 91neishe| 人人人干干人人干| 91色黑人少妇| 91丨豆花丨熟女| 高清不卡一二三区视频......| 精品无码久久久久久久久果冻糖心 | 人人 操人人 操人人| 久久麻豆一区二区| 国产在线能看的你懂的| 操美女人妻| 伊人久久综合影院| 天天日骚逼熟女| 亚洲αv一区二区三区| 精品欧美日韩在线观看| 欧美一区二区三区日韩| 亚洲欧美啪啪| 色欧美天天| 欧美色www亚洲国产阿娇要播| 自拍盗摄一区| 亚洲一欧洲中文字幕在线| 2003天天干夜夜操| 五月天婷婷激情| 亚州一区二区| 亚洲激情色片| 日韩,欧美,中文在线| 97精品视频在线播放| 桃花色涩综合影院| 欧美性性性| 精品久一区免费| 亚洲精品成人动漫在线| 91美女視頻| 国内三级自拍小视频在线观看| 91精品国| 久都青青视频| 免费1级a做爰片观看| 九九九九九用不成了| 日韩乱伦视频| 97超碰中文在线| 青青操在线亚洲视频观看欧美在线| 人干人人人操人人摸| 色综合超碰超| 亚洲另类电影| 2024年最新色情网站在线观看 | 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 色偷偷色偷偷欧美日韩| 九九热九九| 国产女大学生AV| 国产九区| 五月丁香啪啪啪| 97亚洲中文| 久久久久久中文版| 亚洲超碰在线| 国产精品一区二区亚洲人成毛片| 日韩色图 一区二区| 国产亚洲99久久精品| 国产女人视频三四五区| 一区 欧美 日韩 麻豆| 另类一区| 人人操人人插 - 百度 - 百度| 欲色啪| 99热只有| 国产欧美岛国精品一区| 淫纸中9区| 久jiu久神马影院| 国产精品免费日韩| 97在线视频观看| 婷婷久草| 久九9精品| 国模无码人体一区二区三| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 亚洲欧美精品91| 黄色片,com| 日韩精品 欧美激情| 91国产美女丝袜足交精品视频 | 国产在线观看一区二区三区| 亚洲日产专区婷婷| 国产又黄又猛又粗又爽的网站| 好吊色综合| 亚洲女人毛茸茸91| 第四色亚洲色图| 成人午夜无码视频| 久久五月天婷婷丁香中文字幕| 啊啊啊好舒服视频| 99最新日韩偷拍视频| 青青草视频在线观看一区二区| 丁香五月激情综合国产| 不卡av在线中文字幕| 久操免费观看| 天天影视之亚洲综合网| 亚洲免费97免费| 人人操人人狠狠操| 亚洲国产尤物yw在线观看| 国产精品一区二区三区免费视频| 偷拍片久久| 情色五月天久久久| 狼天天狼天天大香蕉| 国产亚洲精品美女久久久久久2021| 蜜臀中文字幕| 黄色工厂这里只有精品| 正宗无毛一线天嫩逼| 欧美日韩婷婷中文| 天天操女人| 日韩精品一区的| 久久精品中文字幕观看| a片 xxxx受爽视频| 久久香蕉国产线看观看亚洲女人 | 亚洲阿v天堂在线| 欧美草草高清日韩视频| 熟女网站最新| 超碰天天操| 超碰 另类 欧美| 九九九九九九九精品视频| 黄片直播三级黄片两女一男| 久久精品国产亚洲AV无码做| 熟妇的味道HD中文字幕| 欧美日韩国产一区二区小黄片大全| 亚洲天堂资源在线| 久久9免费视频| 欧美少妇性乱| 一区二区三区色综合| 亚洲综合影视| 99精品丰满人妻无| 夜夜爽爽爽| 色丁香久久| 日本熟妇人妻中出视频| 国产AV精久久| 日韩精品亚洲专区在线影视| 韩日性爱av| 亚洲一卡二卡在线免费| 亚洲欧美高清无码| 97超碰站| 丰满熟女一区二区三区在线播放| 嗯嗯啊啊操我| 免费国产视频| 一区二区影视| 不卡在线观看视频| 夜夜欢天天干| a'v在线资源| 国产精品香蕉| 激情综合网激情综合| 欧美天天干| 欧美亚洲手机在线| 国产精品999aaa| 亚洲在线| 操逼视频国产无套| 国产丝袜美女在线一区| 欧美区亚洲区偷拍区| 91视频精品| 国产美女口爆吞精视频| 午夜.DJ高清在线观看免费7| 午夜福利无毒不卡| 无码国产Av| 黄色在线网站| 亚欧成人中文字幕一区| 亚洲AV无码国产精品久久久久| 中文字幕狠狠玩| 亚洲第一成人影院色播| 99热在线观看| 炮色五月| 美女高潮视频91| 青青草啪啪网| 无毛精品| 天堂av最新电影网| 97欧美日韩综合| 五十路一区无码| 懂色Av| 国产精品麻豆成人av| 91香蕉视频在线观看免费| 91午夜无码| 午夜福利视频在线一区| 婷婷五月成人| 嗯阿好爽好紧| 制服中出中文人人精品| 少妇三p| 超踫中文字幕| 欧美超碰在线| 殴美牲| 精品天堂| 日本人体九九九九九九| 永久电影三级在线观看| 91老熟女老女人国产老太| 亚洲丝袜诱惑| 日本欧美一区二区三区免费| 麻豆性爱视频在线播放| 久久精品一区二区三区不卡| 黄色av片三级三级三级免费看| 无码聚合| 夜夜爽爽爽| 日本伦理一区二区| 蜜桃久久久久久久久久久久 | 妇女性内射冈站HDWWWCOM| 国产日韩精品无码去免费专区国产| 可能人人看人人摸| 激情av| 人妻激情另类| 妇人噜噜| 欧美亚洲在线| 日韩免费簧片| 国产 日韩 另类 视频一区爱| 天天做天天爽| 亚洲色图欧美色图制服丝袜| 欧美激情精品久久久| 人干人人人操人人摸| 岛国免费黄色网址| 动漫爆乳3D奶水一区在线观看| 日韩熟妇二区| 金典av| 99精品九九九九九九| A 天堂| 国产午夜无码片在线观看影视| www.yw尤物| juliaann精品熟女一区| 人妻激情在线视频| 综合欧美亚洲| 性在久久久久久| 久久精品亚洲成a人天堂| 天美麻豆精品视频99| 天天色怡春院| 综合另类| 色综合久| 久草资源在线视频官方总站日韩丝袜美腿| 成人夜夜| 亚洲春色欧美激情自拍| 91chinese在线| 国产黄a三级三级三级av在线看| 99蜜桃臀久久久欧美精品网站| 天堂亚洲精品| 国产操操日韩三级黄| 美女刺激久久国产欧美| 老女人碰碰在线碰碰视频| 香蕉99秘 一区精品蜜桃臀| 欧美综合娱乐久久| 水澄无码AV| 久日综合网| 亚洲人妻在线精品| 极品色www影院| 中文字幕-区二区三区四区视频中国| 丝袜加勒比| 特级特黄一级毛片免费| 日本三级网页| 色噜噜人妻丝袜AV资源| 精品一区二区三区丰满熟女-亚洲欧美一区 | 777AV电影| 伊色综合天堂色97| 尤物AV免费网站| 国产黄片精品在线| 日韩性色b| 国产精品久久久午夜夜伦鲁鲁| 夜夜操美女| 亚洲宅男天堂| 亚州精品人妻一二三区| 十八禁的黄污污免费网站| 熟女啪啪视频| 亚洲欧美清纯| 无码少妇精品一区二区60岁老人| 伊人伊人LD| 欧美极品美女aaaaaa级黄片| 色五月av| 偷拍亚洲视频一区二区三区四区| 久热在线精品免费观看| 亚洲情色婷婷五月天| 伊人网在线点播| 91快色色色色色| 国产亚洲欧洲在线观看| WWW.操逼.COM| 天堂日本亚洲欧美| 日韩卡一卡二卡三在线| 91一起操| 91麻豆天美国产欧美高潮| 中文精品一区二去| 精品一久久久| 成人a v在线播放免费| 这里只有精品视频| 青青草大香蕉视频| 动漫爆乳3D奶水一区在线观看 | 亚洲成熟国产精品美女| 日韩AV噜噜噜一区二区三区四区 | 屁股久久久久久久久| 五十路六十路素人熟女| 亚洲中文字幕妇伦久久| 超碰97亚洲| 思思热在线视频精品| 中文字幕av片| 男人a天堂手机在线版| 国精综合一二三区影视| 韩三级a视频在线观看| 午夜福利久久久噜久噜久久综合 | 磁力99AV| 国产第12页| 日本不卡码黄色| 大肥女高潮bbwbbwhd视频| 久久女人一区二区三区| 日韩天天综合| 久久综合婷婷| 96一区二区三区| 中文字幕一区二区三区视频播放| 91痴汉| 丰满人妻av一区二区三区| 人妻一区久久二区三区色播| 毛片久久| 亚洲五区熟女| 亚洲,日韩,欧美,成人播放| 性色中出| 18禁中文字幕| 欧美青青草视频| av日韩手机在线影视| 久久偷偷色综合蜜桃| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 色色色欧美| 人妻熟女一区二区| 去干网最新版| 日夜精品| 日韩人体偷拍| AV乱伦专区| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 屌妞视频久久久久久久 | 在线观看午夜婷婷久久久久清性观看| A 天堂在线观看视频| 老色鬼成人精品视频下载大在线观看| 欧美很很操视频| 久久久精品视频欧州站| 伊人久久婷婷| 一区二区中文| 最新精品久久蜜桃| 黄片直播三级黄片两女一男| 易易A毛视频| 亚洲人成色9999精品久久| 色吧5亚洲| 欧美A√综合网 | 国产精品不卡高清在线观看| 暖暖精品二区三区观看| 亚洲 中文字幕 精品| 日韩天堂av电影在线观看| WWW啪啪的com| 国产乱不卡| 丰满人妻一区二区三区大胸懂色| 婷婷五月天色网| 亚洲操人| 欧美黄色手机在线观看| 99国内熟女露脸视频| 91精品大奶人妻| 91人妻人人澡人人爽人人精品| 天天干天天日天天射黄色| 欧洲综合无码| 亚洲高潮影院| 台湾佬中文娱乐自偷自拍| 欧美激情另类一区二区| 后入合集| 国产久久日韩网站导航| 国产亚州高清国产拍精| 国产精品噜噜噜日日日| 97香蕉人人乳| 日本精品第一视频在'| 成人性交免费视频| 国产婷婷一区| 秋霞欧美性爰视频| 在线免费观看高清无码视频| 久久视频,这里只有精品| 色99色| 深夜福利黄片| 天天天操天天天爱| 91人妻超碰| 再深点灬舒服灬太大了添视频| 东北女人性交| 久久一二三级一一一| 国产精品探花在线| 欧美色图亚洲色| 老汉网| 久久久五月天| 性爱视频无打码在线观看| 美女91av| 色盈盈影院| 97人人干人人操| 亚洲一区中文精品| 婷婷10月天青娱乐| 啊啊啊97视频| 五月婷婷影院| 免费的很黄很污的全部视频| 一区二区三| 色偷综合| 蜜桃传媒一区二区亚洲| 国产精品99久久久www| 日韩一级欧美一级国产一级台湾| 99热日| 色噜噜国产在线| 人看人人摸人人操| 亚洲欧洲无码bt精品合集| 综合网亚洲在线| 嗯嗯嗯不要不要免费视频| 日本午夜精品理论片A级APP发布| 国产 日韩,欧美 自拍| 亚洲熟妇综合久久久久久| 岛国小电影| 激情专区综合| 中文字幕交换人妻| 日本成人免费一区二区三区| 啊啊啊啊免费视频| 亚洲精品黑丝| 国内黄色精品| 蜜桃成人1区2区3区| 久久精品国产亚洲AV片多多 | 99天堂网| 午夜无码精品免费看性色| 国产JDAV无码视频在线观看| 国产精品乱码久久久| 日韩欧美天天爽爽爽天天爽爽| 大香蕉在线视频15| 中文字幕成人| 国产伦乱91| 欧美极品性爱天天射| 成人羞羞视频国产| 神马麻豆福利院 | 亚洲五月天激情| 久操视频资源站公开| 91av一区二区在线观看| 丰满人妻-区二区三区免费看| 偷拍综合亚洲| 美女淫穴| 日韩伦理久 久久 清纯| 色五月综合| 国产一区二区三区影片| www.99中文字幕| 亚洲无码超碰免费| 久久永久无码人妻视频| 久久区| 人妻熟女一区二区在线视频| 噜噜噜亚洲精| 日韩无码服务区| www.AV有限公司一区| 亚洲、日韩、综合、另类| 婷婷激情啪啪| 亚洲色色色| 亚洲国产日韩欧美熟妇在线| 99久久久久久久久| 中文字幕一区二区三区字幕| 日韩强奸av| 天天干人人看综合| 97aiaiai| 日韩无码极品| 日本韩高清无砖码22o| 天久久久噜噜噜久久国产精品爽爽| 激情小说激情视频| 精品人妻一区二区免费看| 中文字幕av一区二区三区人妻少妇 | 亚洲夜色在线| 国产在线76页| 天天欧美色| 亚洲无套久久嗯嗯| 亚洲欧美一区二区三区在钱蜜桃| 国产又粗又又黄又猛| 婷婷五月天基地| 五月天社区| 夂久色| 青青草视频这里只有精品| 丝袜 亚洲 偷拍| 男人兔费天堂| 亚洲黑丝在线| 日韩亚洲美女一区久久| 丰满少妇人妻久久久久久| AV天天综合| 久久久久久久久久久人妻| 成人AV素股で擦久久| 男人的天堂在线2| 99re不伦| 欧美91网站| 风骚少妇视频中文字幕| 人人九九精| 日韩精品三级| 亚洲风情在线观看| 美女被啪到深处抽搐视频| 久 久无码人妻AV| 国产老太乱伦一区| 成人26uuu| 久久黄色视频一区二区三区| 午夜乱轮操逼视频免费看| 亚洲精品xxx| 91操人| 丁香九月激情| 久久久com| 久久男人网| 骚女高跟AV在线| 亚洲欧美经典一区二区| 日本加勒比无码专区| 国产深夜福利| 国产强奸乱伦xd| 欧美aa一级片| 激情专区综合| 91狠婷| 美女91在线观看| 亚洲精品97中文字幕| 99在线观看视频在线高清| 中文字幕在线免费观看| 人人看黄色视频| 日韩国产欧美伦理在线| 欧美一区二区亚洲天堂| 操少妇很爽av| 97视频620| 人妻人久久精品中文字幕| 麻豆91熟妇人妻中文字幕茄子| 97在线观看| 天天日天天搞天天干| 自拍偷拍2025在线观看| 日韩三级久久久| 久操在97| 91中出视频| 欧美亚洲国产91在线| 操逼片国产| 色九区| 久久超碰、| 大屁股熟女一区二区三区| 日韩精品午夜操呦呦不卡影院| 欧美夜夜草视频| 天天艹天天日| 色噜噜狠狠色综无码久久合欧美| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 大香樵伊人网| 日本不卡二三区| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 操逼逼一区视频| 天堂8在线新版官网| 丁香五月影院| 日韩激情视频| 亚洲天堂资源在线| 国产一区二区三三视频| 伊人久久婷婷| 国产白丝在线| 78超碰| 黄色AAAAA欧美| 9九九九九视频在线观看| 激情终合网| 老司机香蕉| 国产亚洲精品无码三区| 五月天婷婷综合| 天天综合网91入口| 蜜臀无码一区二区| 欧美欧美啪啪视频| 日本肉体xxxx裸交| 久久鲁夜| 精品人妻一区二区三区在线视频不卡| 亚洲成人免费中文字幕| 99综合免费视频| 美女诱惑在线一区| 亚洲欧洲激情卡通另类文学四射小说网站| 全免费a敌肛交毛片免费| 日韩熟女精品无码专区一区二区| 中文字幕一区二区三四五区日日骚| 美女久久久久久久久久久| 国产精品成人无码av无码免费| 亚洲国产第一页综合视频| 操老熟女AV| 日韩极品无码B| 91麻豆天美国产欧美日| 蜜桃网熟妇| 亚洲伊人a线观看视频| 久久a久久| 好涩综合| 国产乱伦性爱AV| 97国产色图| 秋霞怕怕片| 五月婷婷六月激情| 欧美日韩精品青青| 国产成久久综合片| 青草青青久久久久久国产| 一区e区三| 少妇高潮对白在线观看| 情色五月天久久久| 国产精品九九九| 亚洲宅男天堂| 1204人成网站色www| 日本天天操| 丰满少妇高潮无码| 国产AAAAAABBBBB| 97精彩视频网站| 水滴偷拍| 99热久| 日日玩天天干| 国产亚洲色婷婷久久99精品91葵花宝典 | 欧美 综合| 97久久超碰| 狼天天狼天天大香蕉| 91欧美www| 自拍鲍鱼一区在线高清观看免费| 加勒比东京热五月天天堂网| 亚洲国产欧美一区二区潘金莲 | 亚洲男人的天堂一区二区| 亚洲综合97| 六月丁香五月婷婷| 亚洲丝袜在线观看| 五月香婷婷| 97精品一区| 天天插天天操| 伊人性在线视频| 久久精品国产亚洲AV成人直播| 欧美一区二区男人天堂| 亚洲古典另类欧美在线| 日日夜夜青青草母狗| 久久日韩精品一区二区| 免费农村成人少妇人妻Aa一区二区视频| 亚洲天堂精品日韩电影| 无码99| 亚洲色欧美| 国产精品91一样| 91丝袜在线观看| 伊人影院在线理论播放| 国产精品人妻无码久久久互動交流| 亚洲 日本 一 二 三| 超碰九区| 后入美女国产| 黄色大片视频在线免费看| 人妻夜夜爽天天爽麻豆三区网站| 午夜操一操| 欧美亚男人的天堂| 亚洲黄片免费在线播放| 天天摸夜夜操视频| 亚州免费啪啪视频| 久久草视频污视频| 久久6热视频免费观看| 少妇蹲下买菜露大唇0| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 精品人妻丰满熟妇一区二区三| 五月综合视频| 久久永久无码人妻视频| 91在线限制级| 日本一区二区三区午夜观看| 都市激情人妻一区二区青青操视频 | 色丁香五月婷婷| 天天综合97| 久久国色天香香蕉| 色屁屁影院www国产| 爱爱久久| 熟女人妇一区二区三区| 色97欧美| 天天欧美色| 中日韓欧美高清| 中文字幕在在线观看网站| 呦呦影院| 日本精品久久久久久久| 在线看免费无码AV天堂的| 天天拍夜夜| 精品久久久久9999| 亚洲伊人a线观看视频| 十八禁电影伊人网| 99视频自拍| 亚洲色婷婷久久91| 好看的久久不射无码影视影院| 家庭乱伦网站国产| 青青五月天| 九九九久千久久激情蜜桃在线看| 欧美日韩色综合网| 日日玩天天干| 黑操B| 国产无码精品高清| 欧美97av| 夜夜爽妓女| 日韩人妻免费精品| 亚洲欧美黄| 九一综合精品视品av| 欧美日本中字另类在线| 久久男人| 综合 青草 伊久久 影院 综合| 人人操人人搞人人草| 91久久婷婷| 性色中出| 91精品久久综合熟女| 人人操欧美风骚| AV色五月天| 欧美性特| 色色香蕉| 日本不卡在线二区三区| 有码人妻系列| 国产精品成人蜜臀AV在线| 亚洲一区二区三区婷婷| 日韩精品电影| 99视频只有精品| 日日夜夜精品| 欧美日韩制服| 日日夜夜草草草| 久热91| 69少妇一区二区| 校园春色 亚洲| 男人的天堂在线2| 亚洲一区二区三区欧美日韩| 美女黄网| 少好三P| 热天堂一区二区| 国产 日韩 另类 视频一区爱| 中文字幕97| 97超碰欧美手机在线| 日本淫色网| 无码av永久免费专区网站| 日本加勒比无码专区| 大香蕉欧美日韩| 人妻少妇精品一区二区三区| 淫荡少妇免费| 成年无码动漫av片无尽在线| 国产精品久久久久久久久久二区三区| 欧美大香蕉在线观看| 亚洲精品人妻吞精av| 99久久亚洲精品无码毛片潘甜甜| 熟妇人妻一二三区免费| 97免费视频在线观看视频| 人妻天天夜夜爽一区二区| 亚洲国产尤物yw在线观看| 亚洲综合色图欧美| 亚洲自拍欧美色综合| 日本天天吊| 婷婷五月天影院| 亚洲精品性爱片| 久久免费少妇| 热G综合热G中文| 亚洲www91| 精品夜夜澡人妻无码| 91人妻Pr| 在线看的av| 超碰97人妻在线| a啊啊啊啊啊啊啊啊一区二区| 伊人玖玖网| 搡老女人老妇女老妇老熟女怎么读| 天堂8在线新版官网| 日韩图区 偷拍| 日韩欧无码一区二区三区免费不卡 | 密臀AV在线| 久久久999网站| www.久久爱| 亚洲图片激情综合另类| a级免费在线观看| 中韩中文字幕在线观看| 欧美丝袜美女电影一二三四区| 91美乳| 久久熟女人| 亚洲综合在线视频| 伊人久久大香大香线蕉中文| 天天激情综合站| 色综合一本| 精品久久久久久久| 女人天堂网| 极品AV网站在线观看| 欧美性色综合网| 日韩国产品视频中文字| 欧美一级色| 成视频在线观看免费看| 99久久e免费热视| 久久青青草原免费视频| 成年人网站在线免费观看| 亚洲精品九九九| 欧美性爱一区二区三区| 999色欧美中文字幕| 在线观看 99热| 久久AV色| 97在线青| 韩国女主播青草福利视频| AV中文在线可看| www.99视频| 九九人人操| 久操精品网| 国产一区二区三区影片| 亚洲啪啪视频一区二区| 亚洲AV噜噜狠狠网址蜜桃动漫| 国产无码高清操逼视频| 九九精品无码专区免费| 国产强奸AV在线| 牛牛AV人人夜夜澡人人爽| 欧洲久久一二线| 亚洲一区二区在线观看91| 91爱| 91肉丝| 青青草影视蜜久久| 欧美日韩大黄片| 亚洲色图8| 五月天亚洲网| 深爱伊人影院| 亚洲偷拍自拍在线视频| 成人夜夜爽| 中文字幕一区二区三区高清| 91亚洲欧洲| 欧美亚洲20p| 97天堂| 中文字幕日韩人妻视频一区二区三区 | 天天日B夜夜干B时时操B| 91在线视频国产网站| 丰满熟妇大乳做爰| 热热热热日日漂亮永久永久国产日| 99热精品在线观看| 亚洲成熟国产精品美女| 亚洲精品一区二区精品| 91欧| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 日日干夜夜操视频h| 久久精品一区二区三区不卡| 亚洲古典另类欧美在线| 天天操天天射天天日| 综合伊人网12色| 中文有码9| 加勒比性爱成人在线| 97精品97| 久久只有精品一区二区三区| 好吊妞转入那个网| 日夜精品| 啊啊啊操死我了| 久久综合超碰| 大香伊人在线一区| 精品久一区免费| 96精品在线| 色婷婷五月综合激情中文字幕| 狠狠色狠狠色狠狠五月| 亚洲无线码欧洲精品区别| 色淫网站优优视频| yazhououmeizongya| 97少妇人妻中文字幕久久 | 啊啊啊啊啊啊啊网址在线观看| 久久久av爱| 中文一区二区婷婷视频| 中文字幕 码 自拍 视频 区| 留下AⅤ黄色片| 熟女人妇一区二区三区| 一本久道在线综合视频| 人妻二区| 欧美成熟性爱精品| 日本乱人伦片中文三区| 欧美亚洲激情| 91骚熟女| 蜜桃久久一区二区| 天天日天天干少妇日| 亚洲综合色图欧美| 色狠狠一区二区三区香蕉| 日韩精品人妻中文字幕不卡乱码| 精品综合久久久久久97| 人妻内射一区二区在线视频| 69久久久久久久久久久久久| 97超碰亚洲| 欧美精品 - 91爱爱| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 一,爱啪啪,在线免费视频| 精品一区二区综合熟妇| 国产JDAV无码视频在线观看| A级在线视频| www熟女乱伦com| 婷婷在线视频在线观看| 久热影视| 伊人久久在线视频观看| 成年女人黄网站| 久久久无码av精| 亚洲国产麻豆一区二区三区 | 五月丁香色综合| 97人人草| 97在线免费看| 欧美一区二区三区大综合| 97精品视频免费| 97露脸精品丝袜| 97在线青| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 日本日皮视频逼| 婷婷丁香五月激情啪啪| 国产99 中文字幕日韩小视频| 色情婷婷| 老鸭窝亚洲毛片| 亚洲高清视频在线观看| 97露脸精品丝袜| 玖玖草久草99蜜月一区二区三区| 综合情欲网| 欧美日韩不卡传媒| 日韩猛交| 综合久久久久久久久91| 艹精品| 91爆操视频| 99视频内射三四| 欧美日韩情色一区二区| 九九热超碰97亚洲最新香蕉| 91性高| 在线观看啊啊啊啊啊| 一本色道综合久久欧美日韩精品| 欧美一级在线观看成人| 国产中文字幕在线点播| 黑人嘿嘿嘿超爽免费视频| 久久xxxx| 国产性感骚丝袜在线| 国产精品视频| 午夜福利合集| 天天综合91| 欧美经典一区二区三区 | 最新欧洲欧美日本激情网站| 蜜臀AV一区二区三区激情综合| 黄色高清久久无码依人| AV色五月| 国产精品九九九| 琪琪精品免费一区二区三区 | 亚洲九九夜夜| 国产视频三区四区| 欧美日韩另类字幕中文| 1024精品在线| 无码外流操逼视频| 尤物一级在线免费观看| 国产最新AV| 亚洲天天影视色综合| 久久久久99精品成人片蜜臀| 日本在线观看网址| 日本欧美亚洲高清在线看| 狼天天狼天天大香蕉| 久久草视频污视频| 美女黄色一级A视频| 91色综合激情| 精品成人久久久人人亚洲| 小说区 图片区色 综合区| av绯色| 大胆91| 91欧美综合在线| 亚洲成人贴图| 人妻性爱一区二区| 日韩在线观看中文字幕视频| 国产福利夜| 91久久国产精品| 麻豆三极片| 国产AV无码AV| 成人精品视频一区二区| 色与欲影视天天看综合网| 久久久久久久久久va| 日本 欧美 国产一区| 久久欧洲| 啪啪啪亚欧美视频| 亚欧无码在线| 毛片视频白嫩| 四虎影视国产精品| 国产一区免费午夜视频| 免费观看欧美日韩操逼视频| 亚州 综合 色图| 欧美亚洲小说| 久久婷婷综合国际产色怕| 欧美亚洲影视| 午夜经典| 中日韩久久久| 丰满少妇一区二区三区四区观看| 免费视频观看60秒| 强奸乱伦AV网址| 男人的天堂亚洲| 丝袜视频网国产90| 国产日韩欧美中文在线播放| 五月黑AⅤ| 一区超碰一区| 97精品熟女少妇一区| 97蜜桃综合| 性欧美91| 久久久久久亚洲Av无码| 久久亚洲不卡| 97久操| 国产黄色 A 片免费看| 综合网亚| 精品人妻av区天天看片| 少妇滛荡视频| 久久人妻少妇| 中国一级特黄大片护士| 97香焦色区| 少妇天堂| 熟女突然公开看18禁影片| 大香蕉琪琪日本女优不卡| 日韩有码中文字幕女同性恋 | 久久同城AV| 亚洲天堂五月天国产| 9/A片| 男人天堂最新手机版在线青青草| 噜噜噜在线视频| 超碰午夜在线| 国产色产精品在线观看| 中文字幕在线免费观看视频| 亚洲啪啪啪啪视香蕉| 欧美日韩国产另类综合| 天天亚洲综合| 色欧美在线| 污污汅18禁网站在线永久免费观看 | 欧美淫乱视频| 精品中文字幕一区二区l - 百度| 先锋音影AV| 人人看人人插| 色月天AV导航| 91免费看一区二区三区| 欧美色偷拍| 国产精品熟女一区二区三区| www.色操逼| 天欧美在线| 亚洲古典另类欧美在线| 黄久在线| 成年人性爱日韩| 天综合网欧美| 国产大学生口爆吞精合集| 亚洲欧洲无码一区夜| 午夜啪啪片| 青草影院内射高潮| 岛国视频一二三区| 91精品国久久久久久无码| 午夜视频好爽啊| 日韩美女高潮喷水视频| 日韩黄片视频试看| 久久精品老司| 国产精品人妻熟女aⅴ| 9精品久久| 黄页视频网站野外| 久久亚码| 日本国产高清色www视频在线| 欧美色图在线视频少妇| 在线观看日韩av不卡| 另类图片五月天| 国产亚洲色婷婷久久99精品91葵花宝典| 丝袜狂射91| 九九综合久久| 亚洲色图欧美色18直播在线| 九九人人操| 97欧美综合网| 98一区二区精品| 97精品久久| 粘花网06av视频| 五月天久久综合网| 青青草日本中文字幕| 国产51色综合久久免费| 国产和美国毛片| 青青草天天亲夜夜操网| 熟女熟妇一区二区三四区| 激情五月综合网| 97爱爱爱| 在线 亚洲 网爆 自拍| 可以在线观看的黄色网址| 国产成人主播| 免费亚洲黄色视频在线观看| 亚欧美色图| 一本精品日本在线视频精品 | 久久大香蕉97| 欧美顶级黄色大片免费| 九九超碰综合网| 91婷婷| 欧美中文字幕精品人妻| 欧美狠狠操| 人人操人人操人人人操| 十八禁电影伊人网| 日韩高潮一区| 免费精品国偷自产在线在线| 蜜臀久久在线视频| 综合免费无码中文| 自拍啪啪视频| 东京太热久久久| 国产精品区在线12p| 精品人妻视频一区二区在线播放| 日韩另类| 无码精品久久久久久亚洲| 丝袜av一区二区三区| 女人被添高潮免费视频| 玖玖爱影院| 日韩成人午夜精品久久高潮| 亚欧成人中文字幕一区| 91精品久久久久| 欧美一二三区四五区| 中日韩欧美精品无码AⅤ一区二区| 亚洲人精品久久久| 97色插| 伊人影院综合是一个与深夜成人在线 | 丰满人妻一区二区三区四| 高清无码久操视频| 日本三级韩国三级美三级91| 长长久久免费视频| 国产一区二区在线播放量| 色欲久久99精品久久| 久久综合九九| 无码人妻一区二区三区色欲aⅴ| 嫩草 我啊~嗯~在线| 东京热男人的天堂网| 岛国毛片在线观看免费| 欧美草草高清日韩视频| 亚洲国产一区二区三区在线 | 97日韩| 高潮综合网| 99这里有精品视频| 精品人妻中文字幕4399| 蜜臀AV一区二区三区| 久久鲁夜| 国产乱伦一二三区| 伊人影院日本| 骚货 中文字幕 av| 欧美综合色站| 99超级碰免费视频| 色操逼网| 国产九九九九九九| 精品人妻夜夜草|