日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

STM32驅(qū)動(dòng)激光測(cè)距模塊:從硬件連接到數(shù)據(jù)解析的完整實(shí)踐

STM32驅(qū)動(dòng)激光測(cè)距模塊:從硬件連接到數(shù)據(jù)解析的完整實(shí)踐 1. 項(xiàng)目概述從零構(gòu)建一個(gè)精準(zhǔn)的激光測(cè)距系統(tǒng)最近在做一個(gè)需要精確測(cè)量距離的小項(xiàng)目核心需求是測(cè)量一個(gè)固定點(diǎn)到移動(dòng)物體表面的距離精度要求毫米級(jí)響應(yīng)速度要快。市面上現(xiàn)成的超聲波、紅外測(cè)距模塊要么精度不夠要么抗干擾能力差最后把目光鎖定在了單點(diǎn)激光測(cè)距模塊上。這類(lèi)模塊基于飛行時(shí)間法ToF或相位法精度高、響應(yīng)快而且不受環(huán)境光在合理范圍內(nèi)和聲音的干擾非常適合工業(yè)或高精度DIY場(chǎng)景。我手頭正好有一塊STM32F103C8T6也就是常說(shuō)的“藍(lán)莓派”或“最小系統(tǒng)板”以及一個(gè)型號(hào)為STP-23的激光測(cè)距傳感器。整個(gè)項(xiàng)目的目標(biāo)就是利用STM32的HAL庫(kù)通過(guò)CubeMX快速配置驅(qū)動(dòng)這個(gè)傳感器并穩(wěn)定、準(zhǔn)確地讀取距離數(shù)據(jù)。聽(tīng)起來(lái)好像就是簡(jiǎn)單的串口通信實(shí)際做下來(lái)從電源噪聲處理、串口中斷的穩(wěn)定收發(fā)到數(shù)據(jù)包的校驗(yàn)與解析每一步都有不少細(xì)節(jié)需要注意稍有不慎讀回來(lái)的可能就是一堆亂碼或者跳變極大的無(wú)效數(shù)據(jù)。這篇文章我就把自己從硬件連接到軟件調(diào)試的完整過(guò)程包括踩過(guò)的坑和總結(jié)出的穩(wěn)定方案詳細(xì)記錄下來(lái)。無(wú)論你是剛接觸STM32和HAL庫(kù)的新手還是正在尋找一種可靠激光測(cè)距方案的開(kāi)發(fā)者相信都能從中找到可以直接“抄作業(yè)”的實(shí)用內(nèi)容。2. 核心硬件選型與電路設(shè)計(jì)思路2.1 為什么選擇STP-23激光測(cè)距模塊在開(kāi)始寫(xiě)代碼之前搞清楚你手頭的傳感器是關(guān)鍵。我用的STP-23是一個(gè)典型的基于相位式測(cè)距原理的模塊。這里簡(jiǎn)單解釋一下它與常見(jiàn)的ToF飛行時(shí)間模塊的區(qū)別ToF是直接測(cè)量激光往返的時(shí)間計(jì)算距離而相位式是測(cè)量發(fā)射波和接收波之間的相位差反推距離。相位式在短距離幾十米內(nèi)通常能達(dá)到更高的精度和穩(wěn)定性STP-23的標(biāo)稱(chēng)精度就是±1.5mm量程0.05-23米完全滿(mǎn)足我的需求。模塊的接口非常簡(jiǎn)單通常就四根線(xiàn)VCC供電、GND地、TX模塊發(fā)送、RX模塊接收。它通過(guò)串口UART與主控MCU通信主動(dòng)、周期性地向外發(fā)送包含距離數(shù)據(jù)的報(bào)文。這意味著我們的STM32主要工作就是設(shè)置好串口然后“聆聽(tīng)”模塊發(fā)來(lái)的數(shù)據(jù)解析即可不需要主動(dòng)發(fā)送查詢(xún)指令這是與一些需要觸發(fā)指令的模塊最大的不同編程模型上更接近被動(dòng)接收。注意不同批次或廠(chǎng)家的STP-23其供電電壓和通信電平可能不同。我手頭這個(gè)是5V供電TX/RX也是5V TTL電平。而STM32F103的IO口通常是3.3V電平。直接連接可能導(dǎo)致STM32無(wú)法正確識(shí)別5V的高電平有損壞風(fēng)險(xiǎn)或者STM32的3.3V高電平被模塊認(rèn)為是低電平。所以電平轉(zhuǎn)換是必須考慮的第一道坎。2.2 電源與電平轉(zhuǎn)換電路設(shè)計(jì)穩(wěn)定的系統(tǒng)始于穩(wěn)定的電源。激光測(cè)距模塊尤其是發(fā)射部分在工作的瞬間電流可能有一個(gè)小的脈沖。如果電源紋波過(guò)大不僅會(huì)影響模塊自身工作還可能通過(guò)地線(xiàn)干擾到MCU導(dǎo)致串口數(shù)據(jù)出錯(cuò)甚至系統(tǒng)復(fù)位。我的方案如下獨(dú)立LDO供電我沒(méi)有直接從STM32開(kāi)發(fā)板的5V引腳取電給模塊。而是使用了一個(gè)獨(dú)立的AMS1117-5.0穩(wěn)壓芯片從輸入的7-12V電源降壓到5V單獨(dú)給STP-23模塊供電。這樣模塊的電源噪聲不會(huì)直接耦合到MCU的電源網(wǎng)絡(luò)上。π型濾波在A(yíng)MS1117的輸入和輸出端都增加了經(jīng)典的π型濾波電路例如10μF電解電容 100nF陶瓷電容并聯(lián)進(jìn)一步濾除低頻和高頻噪聲。電平轉(zhuǎn)換電路這是硬件連接的核心。我采用了最經(jīng)典、最可靠的雙向電平轉(zhuǎn)換芯片TXS0108E。這是一款8通道的自動(dòng)方向電平轉(zhuǎn)換器支持1.2V至3.6V與1.8V至5.5V之間的雙向轉(zhuǎn)換。連接非常簡(jiǎn)單TXS0108E的VCCA端接STM32側(cè)的3.3V。VCCB端接模塊側(cè)的5V。OE輸出使能引腳接VCCA即3.3V使其一直有效。將STM32的USART RX引腳準(zhǔn)備接收模塊數(shù)據(jù)連接到TXS0108E的A端通道B端通道連接到模塊的TX引腳。將STM32的USART TX引腳雖然本項(xiàng)目暫時(shí)不用STM32發(fā)數(shù)據(jù)但預(yù)留連接到TXS0108E的另一個(gè)A端通道B端連接到模塊的RX引腳。這樣當(dāng)模塊5V側(cè)發(fā)送高電平5V時(shí)經(jīng)過(guò)芯片轉(zhuǎn)換為3.3V高電平給STM32當(dāng)STM32發(fā)送3.3V高電平時(shí)芯片也能轉(zhuǎn)換為5V高電平給模塊。整個(gè)通信鏈路電平匹配安全可靠。實(shí)操心得電平轉(zhuǎn)換方案有很多比如用電阻分壓僅適用于MCU接收模塊數(shù)據(jù)單向且速度不高時(shí)或者用MOS管搭建成本低但需要仔細(xì)調(diào)參數(shù)。對(duì)于這種要求穩(wěn)定、高速STP-23波特率通常是115200的通信我強(qiáng)烈推薦使用專(zhuān)用的電平轉(zhuǎn)換芯片一勞永逸避免很多玄學(xué)問(wèn)題。TXS0108E、74LVC4245等都是不錯(cuò)的選擇。3. 使用STM32CubeMX進(jìn)行工程初始化與配置3.1 時(shí)鐘樹(shù)與系統(tǒng)基礎(chǔ)配置打開(kāi)CubeMX選擇你的MCU型號(hào)我的是STM32F103C8T6。第一步永遠(yuǎn)是配置時(shí)鐘。對(duì)于串口通信特別是使用高波特率如115200時(shí)一個(gè)準(zhǔn)確的主時(shí)鐘是基礎(chǔ)。HSE高速外部時(shí)鐘在RCC配置中將High Speed Clock (HSE)設(shè)置為Crystal/Ceramic Resonator。我的板子外部接了8MHz晶振。時(shí)鐘樹(shù)配置進(jìn)入Clock Configuration標(biāo)簽頁(yè)。CubeMX的圖形化界面非常直觀(guān)。我的配置路徑是HSE (8MHz) → PLL輸入/1→ PLL倍頻x9→ 系統(tǒng)時(shí)鐘源選擇PLL得到72MHz的系統(tǒng)時(shí)鐘SYSCLK。這是F103系列非常經(jīng)典的工作頻率。APB1總線(xiàn)時(shí)鐘PCLK1設(shè)為36MHzAPB2總線(xiàn)時(shí)鐘PCLK2設(shè)為72MHz。USART1掛在A(yíng)PB2上因此其時(shí)鐘為72MHz這對(duì)于生成115200波特率非常精準(zhǔn)。SYS調(diào)試接口在SYS設(shè)置中將Debug改為Serial Wire。這樣可以使用ST-LINK進(jìn)行下載和調(diào)試不會(huì)占用額外的USART引腳。3.2 串口外設(shè)與中斷配置這是本項(xiàng)目軟件部分的核心。啟用USART根據(jù)你的硬件連接找到對(duì)應(yīng)的USART引腳。我使用的是USART1其默認(rèn)引腳是PA9 (TX) 和 PA10 (RX)。在Connectivity-USART1中將模式Mode設(shè)置為Asynchronous異步通信。參數(shù)設(shè)置Baud Rate:115200(這是STP-23模塊最常見(jiàn)的出廠(chǎng)波特率務(wù)必與模塊一致)。Word Length: 8 Bits (數(shù)據(jù)位)。Parity: None (無(wú)校驗(yàn)位)。Stop Bits: 1 (停止位)。Over Sampling: 16 Samples (默認(rèn)即可)。啟用中斷這是實(shí)現(xiàn)穩(wěn)定接收的關(guān)鍵在NVIC Settings標(biāo)簽頁(yè)在USART1配置界面內(nèi)勾選USART1 global interrupt使能全局中斷。這樣每當(dāng)USART1接收到一個(gè)字節(jié)的數(shù)據(jù)就會(huì)觸發(fā)中斷我們的代碼可以在中斷服務(wù)函數(shù)里及時(shí)取走數(shù)據(jù)。生成工程在Project Manager中設(shè)置好工程名稱(chēng)、路徑、IDE我用的Keil MDK并將Code Generator中的Generated files部分勾選“為每個(gè)外設(shè)生成獨(dú)立的.c/.h文件”這樣代碼結(jié)構(gòu)更清晰。最后點(diǎn)擊GENERATE CODE。3.3 GPIO與項(xiàng)目基礎(chǔ)設(shè)置檢查引腳確保USART的TX/RX引腳配置正確沒(méi)有被其他功能占用。通常CubeMX會(huì)自動(dòng)配置好??蛇x狀態(tài)指示LED我額外配置了一個(gè)LED引腳例如PC13作為輸出用于指示系統(tǒng)狀態(tài)或數(shù)據(jù)接收狀態(tài)方便調(diào)試。項(xiàng)目管理在生成代碼前記得檢查Project Manager中的Toolchain/IDE選擇是否正確。4. HAL庫(kù)串口中斷接收與數(shù)據(jù)解析實(shí)戰(zhàn)4.1 數(shù)據(jù)接收策略環(huán)形緩沖區(qū)與中斷服務(wù)STP-23模塊是主動(dòng)、連續(xù)發(fā)送數(shù)據(jù)包的。如果我們?cè)谥餮h(huán)里用HAL_UART_Receive輪詢(xún)很可能因?yàn)樘幚砥渌蝿?wù)而丟失字節(jié)導(dǎo)致整個(gè)數(shù)據(jù)包錯(cuò)位。因此使用串口中斷進(jìn)行字節(jié)級(jí)的接收是唯一可靠的選擇。但HAL庫(kù)的中斷接收函數(shù)HAL_UART_Receive_IT是一次性設(shè)定接收一定數(shù)量的字節(jié)對(duì)于不定長(zhǎng)或連續(xù)的數(shù)據(jù)流不太方便。更通用的做法是在串口中斷服務(wù)程序USART1_IRQHandler中手動(dòng)讀取數(shù)據(jù)寄存器DR并將讀取到的字節(jié)存入一個(gè)我們自己管理的**環(huán)形緩沖區(qū)Ring Buffer**中。環(huán)形緩沖區(qū)的實(shí)現(xiàn)首先在main.c或自定義的uart_buffer.c文件中定義緩沖區(qū)及相關(guān)變量。// 定義環(huán)形緩沖區(qū)大小要足夠容納至少一個(gè)完整的數(shù)據(jù)包并留有余量。 #define UART_RX_BUFFER_SIZE 256 // 環(huán)形緩沖區(qū)結(jié)構(gòu)也可以直接用數(shù)組和頭尾指針管理 volatile uint8_t uart_rx_buffer[UART_RX_BUFFER_SIZE]; volatile uint16_t uart_rx_read_pos 0; // 讀指針 volatile uint16_t uart_rx_write_pos 0; // 寫(xiě)指針 volatile uint8_t uart_rx_flag 0; // 數(shù)據(jù)接收完成標(biāo)志可選用于包解析觸發(fā)然后我們需要重寫(xiě)USART1的中斷服務(wù)函數(shù)。CubeMX生成的代碼在stm32f1xx_it.c中已經(jīng)為我們聲明了USART1_IRQHandler函數(shù)框架我們只需在其中添加自己的處理邏輯。// 在 stm32f1xx_it.c 中找到 USART1_IRQHandler 函數(shù) void USART1_IRQHandler(void) { /* USER CODE BEGIN USART1_IRQn 0 */ // 檢查是否是接收中斷RXNE標(biāo)志位為1 if((__HAL_UART_GET_FLAG(huart1, UART_FLAG_RXNE) ! RESET)) { // 清除RXNE標(biāo)志讀取DR寄存器會(huì)自動(dòng)清除 uint8_t received_byte (uint8_t)(huart1.Instance-DR 0xFF); // 將收到的字節(jié)存入環(huán)形緩沖區(qū) uint16_t next_write_pos (uart_rx_write_pos 1) % UART_RX_BUFFER_SIZE; // 判斷緩沖區(qū)是否已滿(mǎn)寫(xiě)指針1等于讀指針。如果滿(mǎn)了可以選擇覆蓋舊數(shù)據(jù)或丟棄新數(shù)據(jù)。 // 這里采用丟棄新數(shù)據(jù)的策略防止有效數(shù)據(jù)被覆蓋。 if(next_write_pos ! uart_rx_read_pos) { uart_rx_buffer[uart_rx_write_pos] received_byte; uart_rx_write_pos next_write_pos; } // 可以在這里根據(jù)特定字節(jié)如幀頭設(shè)置接收完成標(biāo)志 // if(received_byte 0xAA) { uart_rx_flag 1; } } /* USER CODE END USART1_IRQn 0 */ HAL_UART_IRQHandler(huart1); // 調(diào)用HAL庫(kù)的通用中斷處理函數(shù) /* USER CODE BEGIN USART1_IRQn 1 */ /* USER CODE END USART1_IRQn 1 */ }注意事項(xiàng)中斷服務(wù)函數(shù)里的代碼必須盡可能短小高效只做最必要的操作讀取數(shù)據(jù)、存入緩沖區(qū)。絕對(duì)不要在中斷里進(jìn)行復(fù)雜計(jì)算、解析或調(diào)用HAL_Delay之類(lèi)的阻塞函數(shù)。uart_rx_buffer等被中斷和主循環(huán)共享的變量必須使用volatile關(guān)鍵字修飾防止編譯器優(yōu)化導(dǎo)致數(shù)據(jù)不一致。4.2 STP-23數(shù)據(jù)包格式解析與校驗(yàn)數(shù)據(jù)從模塊源源不斷地進(jìn)入我們的環(huán)形緩沖區(qū)下一步就是在主循環(huán)中解析出有效的距離值。首先我們必須知道STP-23的數(shù)據(jù)包格式。通常這類(lèi)模塊的通信協(xié)議是廠(chǎng)家自定義的需要查閱數(shù)據(jù)手冊(cè)。以我手頭的模塊為例其數(shù)據(jù)包格式如下常見(jiàn)的一種9字節(jié)格式字節(jié)序號(hào)內(nèi)容說(shuō)明00xAA幀頭固定值用于標(biāo)識(shí)數(shù)據(jù)包開(kāi)始。10x55幀頭固定值。2DATA1距離數(shù)據(jù)高8位單位毫米。3DATA2距離數(shù)據(jù)低8位。4DATA3信號(hào)強(qiáng)度高8位可選。5DATA4信號(hào)強(qiáng)度低8位可選。6DATA5保留字節(jié)或其它信息。7SUM校驗(yàn)和通常為前面所有字節(jié)0-6的累加和取低8位。80x0D幀尾固定值回車(chē)符\r。90x0A幀尾固定值換行符\n。距離計(jì)算Distance_mm (DATA1 8) | DATA2校驗(yàn)和驗(yàn)證SUM (Byte0 Byte1 ... Byte6) 0xFF有了這個(gè)格式我們的解析任務(wù)就明確了在環(huán)形緩沖區(qū)中尋找連續(xù)的0xAA, 0x55然后取出后續(xù)固定長(zhǎng)度的字節(jié)進(jìn)行校驗(yàn)和驗(yàn)證通過(guò)后計(jì)算距離值。4.3 主循環(huán)中的數(shù)據(jù)包解析流程實(shí)現(xiàn)我們?cè)谥骱瘮?shù)main.c的while(1)循環(huán)中實(shí)現(xiàn)一個(gè)狀態(tài)機(jī)來(lái)解析數(shù)據(jù)包。// 在main.c的while(1)循環(huán)中 while (1) { // 解析串口接收緩沖區(qū)中的數(shù)據(jù) parse_uart_data(); // 其他任務(wù)... HAL_Delay(1); // 短暫延時(shí)避免CPU空轉(zhuǎn)過(guò)熱 } // 解析函數(shù)實(shí)現(xiàn) void parse_uart_data(void) { static uint8_t rx_state 0; // 狀態(tài)機(jī)狀態(tài)0-尋找?guī)^11-尋找?guī)^22-接收數(shù)據(jù)體 static uint8_t data_index 0; static uint8_t rx_packet[10]; // 臨時(shí)存儲(chǔ)一個(gè)完整的數(shù)據(jù)包 static uint32_t last_valid_time 0; // 如果緩沖區(qū)為空直接返回 if(uart_rx_read_pos uart_rx_write_pos) { return; } // 循環(huán)處理緩沖區(qū)中的所有字節(jié)直到讀完或解析出一個(gè)包 while(uart_rx_read_pos ! uart_rx_write_pos) { uint8_t ch uart_rx_buffer[uart_rx_read_pos]; uart_rx_read_pos (uart_rx_read_pos 1) % UART_RX_BUFFER_SIZE; // 移動(dòng)讀指針 switch(rx_state) { case 0: // 尋找第一個(gè)幀頭 0xAA if(ch 0xAA) { rx_packet[0] ch; data_index 1; rx_state 1; } break; case 1: // 尋找第二個(gè)幀頭 0x55 if(ch 0x55) { rx_packet[1] ch; data_index 2; rx_state 2; } else { // 如果不是0x55狀態(tài)復(fù)位重新尋找0xAA rx_state 0; } break; case 2: // 接收數(shù)據(jù)體和幀尾 rx_packet[data_index] ch; data_index; // 判斷是否接收完一個(gè)完整的數(shù)據(jù)包例如9字節(jié)包索引從0到8 if(data_index 9) // 假設(shè)包總長(zhǎng)為9字節(jié)0-8 { // 首先檢查幀尾是否正確可選但建議 if(rx_packet[7] 0x0D rx_packet[8] 0x0A) // 第8、9字節(jié)是幀尾 { // 計(jì)算校驗(yàn)和前7字節(jié)累加和 uint8_t checksum 0; for(int i0; i7; i) // 前7字節(jié)0xAA, 0x55, DATA1-DATA5 { checksum rx_packet[i]; } checksum 0xFF; // 取低8位 // 驗(yàn)證校驗(yàn)和第7字節(jié)是SUM if(checksum rx_packet[6]) // 注意索引rx_packet[6]是協(xié)議中的第7個(gè)字節(jié)SUM { // 校驗(yàn)通過(guò)解析距離數(shù)據(jù) uint16_t distance_mm (rx_packet[2] 8) | rx_packet[3]; // DATA1和DATA2 uint16_t signal_strength (rx_packet[4] 8) | rx_packet[5]; // DATA3和DATA4 // 這里可以得到最終的距離值 distance_mm (單位毫米) // 可以將其轉(zhuǎn)換為浮點(diǎn)數(shù)米或者直接使用 float distance_m distance_mm / 1000.0f; // 更新最后一次有效數(shù)據(jù)時(shí)間 last_valid_time HAL_GetTick(); // 將距離值通過(guò)其他接口輸出如另一個(gè)串口打印、屏幕顯示等 // printf(Distance: %.3f m, Strength: %d\n, distance_m, signal_strength); // 或者設(shè)置一個(gè)全局變量供其他函數(shù)使用 g_laser_distance_mm distance_mm; } } // 無(wú)論校驗(yàn)是否通過(guò)一個(gè)包處理完畢狀態(tài)機(jī)復(fù)位準(zhǔn)備尋找下一個(gè)包 rx_state 0; data_index 0; } break; default: rx_state 0; break; } } }這個(gè)parse_uart_data函數(shù)是一個(gè)經(jīng)典的狀態(tài)機(jī)實(shí)現(xiàn)它從環(huán)形緩沖區(qū)中逐個(gè)取出字節(jié)按照“找?guī)^1 - 找?guī)^2 - 收數(shù)據(jù) - 校驗(yàn)”的流程完整地解析出一個(gè)數(shù)據(jù)包。這樣做的好處是代碼結(jié)構(gòu)清晰對(duì)數(shù)據(jù)流的容錯(cuò)能力強(qiáng)即使中間有少量數(shù)據(jù)錯(cuò)誤或丟失也能在下一個(gè)幀頭處重新同步。5. 系統(tǒng)調(diào)試、優(yōu)化與常見(jiàn)問(wèn)題排查5.1 硬件連接檢查與上電順序在燒錄程序之前務(wù)必進(jìn)行徹底的硬件檢查電源用萬(wàn)用表測(cè)量給STM32和STP-23模塊的供電電壓是否穩(wěn)定且在額定范圍內(nèi)STM32通常3.3V模塊可能是5V或3.3V。地線(xiàn)確保STM32的地GND和模塊的地以及電平轉(zhuǎn)換芯片的地都是共地的。這是通信的基礎(chǔ)地線(xiàn)不通或環(huán)路過(guò)大都會(huì)導(dǎo)致通信失敗。信號(hào)線(xiàn)檢查T(mén)X/RX是否接反。模塊的TX應(yīng)接MCU的RX模塊的RX接MCU的TX。在本項(xiàng)目中我們只接收所以重點(diǎn)是模塊TX到MCU RX這條線(xiàn)必須經(jīng)過(guò)電平轉(zhuǎn)換芯片。上電順序建議先給MCU上電穩(wěn)定后再給激光模塊上電。避免模塊啟動(dòng)時(shí)的電流沖擊或亂發(fā)數(shù)據(jù)影響MCU初始化。5.2 軟件調(diào)試從亂碼到穩(wěn)定數(shù)據(jù)第一步驗(yàn)證串口基礎(chǔ)通信先不接激光模塊。將STM32的TX引腳PA9通過(guò)電平轉(zhuǎn)換或直接如果模塊是3.3V電平連接到USB轉(zhuǎn)TTL工具的RX在電腦上用串口助手如XCOM、SSCOM查看。在STM32主循環(huán)里寫(xiě)一個(gè)簡(jiǎn)單的printf或HAL_UART_Transmit發(fā)送字符串“Hello World\n”。如果串口助手能正確收到說(shuō)明STM32的串口發(fā)送功能、電平轉(zhuǎn)換電路、電腦連接都是好的。波特率一定要設(shè)置為115200。第二步接收激光模塊數(shù)據(jù)斷開(kāi)STM32的TX連接將激光模塊的TX經(jīng)過(guò)電平轉(zhuǎn)換連接到STM32的RXPA10。將激光模塊的TX也連接到USB轉(zhuǎn)TTL的RX用于監(jiān)控原始數(shù)據(jù)。上電。在串口助手上你應(yīng)該能看到模塊持續(xù)發(fā)送的十六進(jìn)制數(shù)據(jù)流例如AA 55 01 5F 00 00 00 64 0D 0A ...。記錄下一組完整的數(shù)據(jù)。這能幫你確認(rèn)模塊是否工作有數(shù)據(jù)輸出。波特率是否正確數(shù)據(jù)是否可讀。數(shù)據(jù)包格式是否與你的解析代碼一致核對(duì)幀頭、幀尾、長(zhǎng)度。第三步集成與解析燒錄你的解析程序到STM32。將STM32的RXPA10連接模塊TXSTM32的TXPA9連接USB轉(zhuǎn)TTL的RX用于打印調(diào)試信息。在STM32解析出距離后通過(guò)printf打印出來(lái)。觀(guān)察輸出是否穩(wěn)定、正確。常見(jiàn)問(wèn)題及解決全是亂碼或固定值首先懷疑波特率不匹配。確認(rèn)CubeMX配置、模塊實(shí)際波特率、串口助手波特率三者完全一致。STP-23常見(jiàn)波特率是115200但也可能是9600具體看手冊(cè)。數(shù)據(jù)時(shí)有時(shí)無(wú)跳動(dòng)大電源問(wèn)題用示波器看模塊電源引腳在激光發(fā)射瞬間是否有大的電壓跌落加強(qiáng)電源濾波如靠近模塊電源引腳并聯(lián)一個(gè)100μF電解電容和一個(gè)0.1μF陶瓷電容。地線(xiàn)噪聲確保地線(xiàn)連接短而粗單點(diǎn)接地為佳。中斷被搶占檢查是否在其他高優(yōu)先級(jí)中斷中執(zhí)行了長(zhǎng)時(shí)間任務(wù)導(dǎo)致串口中斷丟失數(shù)據(jù)??梢試L試提高串口中斷的優(yōu)先級(jí)在CubeMX的NVIC配置中。解析出來(lái)的距離值不對(duì)數(shù)據(jù)包格式錯(cuò)誤用串口助手抓取原始數(shù)據(jù)與你代碼中的解析邏輯逐字節(jié)對(duì)比。特別注意字節(jié)序大小端、校驗(yàn)和計(jì)算方式、數(shù)據(jù)位組合是否正確。緩沖區(qū)溢出如果parse_uart_data函數(shù)處理太慢而數(shù)據(jù)來(lái)得太快環(huán)形緩沖區(qū)可能會(huì)被寫(xiě)滿(mǎn)導(dǎo)致數(shù)據(jù)丟失??梢栽龃缶彌_區(qū)大小UART_RX_BUFFER_SIZE或者優(yōu)化解析代碼確保主循環(huán)運(yùn)行頻率足夠高。變量類(lèi)型錯(cuò)誤距離值是兩個(gè)字節(jié)組成的16位整數(shù)計(jì)算時(shí)注意使用uint16_t并正確移位合并。5.3 穩(wěn)定性?xún)?yōu)化與進(jìn)階處理超時(shí)機(jī)制在狀態(tài)機(jī)解析中可以加入超時(shí)判斷。如果開(kāi)始接收幀頭后很長(zhǎng)時(shí)間比如20ms都沒(méi)有收到完整包則重置狀態(tài)機(jī)防止因某個(gè)字節(jié)丟失導(dǎo)致?tīng)顟B(tài)機(jī)“卡死”。數(shù)據(jù)濾波激光測(cè)距值可能會(huì)有微小跳動(dòng)??梢栽谲浖屑尤牒?jiǎn)單的濾波算法如滑動(dòng)平均濾波或中值濾波。例如維護(hù)一個(gè)包含最近10次有效距離值的數(shù)組每次輸出這10個(gè)值的平均值可以顯著平滑數(shù)據(jù)。#define FILTER_SIZE 10 uint16_t distance_history[FILTER_SIZE] {0}; uint8_t history_index 0; // 在解析出有效距離distance_mm后 distance_history[history_index] distance_mm; history_index (history_index 1) % FILTER_SIZE; // 計(jì)算平均值 uint32_t sum 0; for(int i0; iFILTER_SIZE; i) { sum distance_history[i]; } uint16_t filtered_distance sum / FILTER_SIZE;錯(cuò)誤統(tǒng)計(jì)與指示增加計(jì)數(shù)器統(tǒng)計(jì)校驗(yàn)和錯(cuò)誤、幀錯(cuò)誤、超時(shí)錯(cuò)誤的次數(shù)。當(dāng)錯(cuò)誤率超過(guò)一定閾值時(shí)通過(guò)LED閃爍或串口輸出警告提示可能存在的硬件連接或環(huán)境干擾問(wèn)題如強(qiáng)光直射接收頭、測(cè)量超遠(yuǎn)距離信號(hào)弱。低功耗考慮如果適用如果項(xiàng)目是電池供電可以在不需要測(cè)量時(shí)通過(guò)一個(gè)GPIO控制一個(gè)MOS管切斷激光模塊的電源以節(jié)省能耗。需要測(cè)量時(shí)再上電。注意模塊上電到穩(wěn)定輸出數(shù)據(jù)需要一定時(shí)間幾十到幾百毫秒。整個(gè)項(xiàng)目從硬件選型、電路設(shè)計(jì)到CubeMX配置、中斷驅(qū)動(dòng)、協(xié)議解析再到最后的調(diào)試優(yōu)化是一個(gè)典型的嵌入式傳感器應(yīng)用閉環(huán)。最關(guān)鍵的是理解傳感器的工作原理和數(shù)據(jù)協(xié)議然后利用MCU的中斷機(jī)制確保數(shù)據(jù)不丟失最后通過(guò)穩(wěn)健的軟件邏輯提取出有效信息。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
物尤视频一区二区| 久久精品毛片免费不卡| 丝袜美腿诱惑亚洲欧美视频在线观看 | 啪啪啪精品| 99久久综合网| 欧美日韩美女精品久草一区二区三区 | 有码专区最新中文字幕有码| 色呦呦呦在线观看视频| 国产美女精品| 午夜福利1区2区3区| 99亚洲精品| 亚洲图片欧美另类综合免费视频大大香| 亚洲一区二区三区婷婷| 国产精品熟女乱伦| 中文一区在线日| 白丝被操91| 五月婷婷无码| 欧美97av| 亚洲精品无码少妇久久| 色麻豆AV| 韩国午夜理伦三级好看| 北京美女一区二区| 无码国产Av| 亚洲图片欧美制度| 久久产精品一区二区三区电影| 天天爽天天操| 欧美人妻制服| 亚洲精品819| 日韩有码中文字幕女同性恋| 大香交伊人网| 亚洲精品九九九| 丁香五月AV| 人妻少妇无码| 婷婷综合久久| 九九九九热| 精品91摸| 家庭乱伦国产| 青草精品视频一日本久久久久网站| 自拍偷拍 日韩无码| 成人久久精品| 黄aaaaaaaaaaaaaaaaaa色网站| 天美一区在线| 天天狠| 国产精品美女| 国产精品久久久久久夜夜夜| 啪啪视频免费在线观看| 久干网| 加勒比久久综合网高清| 人妻娇喘 激情视频| 激情五月天婷婷| 色五月av| 熟女在线视频| 岛国艾薇凹凸视频天堂| 欧美日韩亚洲少妇寂寞影院正在播放 | 亚洲色交| 少妇超碰在线| 69XX一中文字幕人妻91| 第二页中文字幕| 亚洲啪啪视频一区二区| 91bbb| 国内黄色精品| 婷婷五月天久久久| 久久久亚洲| 久久AV无码1区2区3区| 精品高清一区二区三区三州| 91国模| 九九九久久久久| 国产成人一级av88| 婷婷丁香人妻| 亚洲狼狼干综合1| 欧美性爱91| 欧美性五月| 欧美色三级片91| 亚洲精品国产无码高清| 玖玖久久久| 91黑丝少妇| 久久综合资源一区二区| 欧美日韩亚洲天堂| 成人一区二区三区四区| 久久99综合| 性videos欧美熟妇hdx| 国产精品天干天干综合网麻豆| 亚洲欧洲网站免费观看| 日韩性爱小视频| 天操天操夜操夜月月年年操操| 欧美日韩国产在线| 强奸乱伦Av网| 久久性爱视频免费看| 日本精品性生活久久久| 天美传媒一二三区永久网站| 日本无码1| 亚洲综合20p| 曰本道人妻久久久在线不卡色视频| 麻豆久久视频在线地址| 五月婷婷综合在线| 91快色色色色色| 一区二区乱码福利| 久久伊人影院| 91碰碰| 中文字幕日产av人| 中文字幕在线高清男人的天堂| 亚洲一区中文精品| www国产精品| 中文字幕精品亚洲熟女| 女人一区| 中美日韩毛片| 久久久啊啊| 九九性爱网| 中文色综合| 大香蕉99999| 丰满人妻一区| 91激情综合| 久久这里精品国产99丫e6| 国产一级黄色片在线观看 | 亚洲高清自拍| 色网亚洲人| 日韩图区| 亚洲天堂人人妻| 后X久久| 亚洲国产午夜真人一级片中文字幕精品黄网站| 欧美AAAA黄片| 日韩兔费看黄片| 中文字幕人妻丝袜乱一区三区| 97超碰中文| 国产白丝在线| 色拍偷亚洲| 大香蕉99热| 内射中出日韩在线观看视频| 免费观看有码高清视频| 成人在线日韩| 色丁香久久| 日韩精品中文字幕二区| 五月天黄色激情视频| 日本操色导航| 国语国产操逼伊人AV网| 乱伦系列一区二区| 日本福利二区视频| 亚洲精品三| www久久99| 91|九色|国产熟女| 色婷婷电影网| 欧美熟爽综合| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 欧美日日网| 最近的最新的中文字幕视频| 久久综合激情| 久久久一级| 五月天婷婷基地| 六月婷婷综合| 资源在线观一 二| www.狠狠干.coom | 91色图| 97在线免费观看视频| 欧美少妇人妻| 欧美激情性久久久久久| 老熟女乱子伦中文字幕一区二区| 久久丁香久草综合网| 色哟哟AⅤ| 八戒无码国产午夜福利| 中文字幕交换人妻| 色五月网址| 九九久久九九久久| 九九久久国产精品| 欧美天堂超碰97| 91nbbbbbb| 高清不卡 中文 人妻| 国产亚卅97| 97国产精品久久久久 | 91久久国产精品| 风韵犹存大大大大香蕉| 无码久久国产| 国产精品成人久久一区二区三区 | 无码直播久久久| 性饥渴少妇av无码毛片| 国产尤物AV尤物在线观看不卡| 欧美亚洲中文字幕| 九九夜精品九九在线| 少妇内射视频| 火箭成精品视频884必出精品| 欧美亚洲自拍另类人妻| 最新国内自拍av免费| 影音先锋中文字幕日本好一区二区| 国模精品娜娜一二三区 | 永久免费av无码网站国产app | 老司机深夜影院18未满| 黄色欧美性爱视频| 天美国产三级传媒| 99这里都是精品| 久草新在线| 自拍偷拍第26| 超碰91在线| 成人贴图日韩欧美| 中出后入| 超碰在线人人射| 国产精品久久久久无码A√| 欧美人妻精品一区二区| 亚洲免费精品一区| 99精品无码| 亚洲中字幕日本一区二区三区| 九月丁香婷婷色| 九九这里只有精品| 亚洲日韩XXX| 亚洲熟女人妻中文字幕一区二区 | 日韩综合成人免费视频| 欧美夜夜狠| 69丨亚洲丨精品丨入口免费播放| 91美女精品| 精品人妻av在线播放| 嗯嗯啊操我| 大屁股熟女一区二区三区| 日本高清视频在线观看黄已三辽| 97aiaiai| 99热国产精品| 高清无码久操视频| 91欧美高清| 一区超碰一区| 草草影院最新网址| 久久久久久国产精品| 91老熟女老女人国产老太| 亚洲怡春院| 成人免费性爱视视| 国产一区96在线| 人人澡人人澡人人| 中日亚韩免费视频| 偷拍在线观看视频| 日韩精品一区二区日韩| 欧美日韩国产中文精品字幕自在自线, | 久久精品国内Av熟女高清| 天天日天天色| 超碰午夜| 26UUU欧美激情一区二区| 久久国产精品91| 亚洲国产97| 天堂种子在线www网资源| 美日韩一二三区| 日韩av免费一级电影| 久草成人福利导航| 亚洲成成熟女人综合一区二区| 女人喷水视频在线观看| 日日日色色色色色| 亚洲av性爱电影| 午夜精品久久久久久久男人的天堂 | 久久啊啊| 95精品在线| 激情在线青青操| 无码少妇精品一区二区60岁老人| 一本一道久久综合久久| 亚洲天堂7777| 久久九精品| 亚洲成人黄色在线观看| 精品一区96| 国产操逼网站亚洲一级黄色| 亚洲有码 欧美精品| 天堂性色| 国产福利夜| 五月丁香六月综合缴清无码 | 国产精品一级毛片不卡视| 精品国产久久乱码| 日操粉逼逼| 日本在线15p| 日本三级日本三级99| 狠狠色五月亚洲91| 天天肏美女| 国产精品女aA片爽爽视频| 午夜天天碰综合视频| av影片在线观看不卡| 男人天堂站| 浓厚中出中文字幕在线| 北野未奈加勒比av| 国产92麻豆天美精品色欲5| 夜草欧美| 国内毛片无码一级毛片| 伦理第一页| 亚洲不卡AV在线| 亚洲国产综合视频| 亚洲淫乱骚妇AV| 国产三级多多影院2022国产AA一级毛片无码| 98福利在线视频| 欧洲熟妇xxXx欧美老妇裸体| aa片毛片| 青草视频人妻在线观看| 深爱激情五月天| 夜夜草我| 亚洲成人帖图| 日本美女性生活久久久久久久 | 亚洲一区二区三区不卡国产欧美| WWW美腿丝袜香蕉中文| 色婷久久| 都市久久精品激情亚洲| 日韩欧美~中文字| 久久久久人妻| 上海一级黄片| 91亚洲影视| 天天看人人操屄犊摸阴| 很很热性爱视频| 欧美性第一页| 91黑丝操| 久久久18禁| 手机看片1025| 亚洲欧美色图小说| 欧美日韩精品青青| 国产性感在线观看| 久久98| 日韩免费三级黄片电影| 亚洲高清欧美总合| 久久女同性恋一二区| 自拍视频一区在线观看| 成人国产视频在线观看| 999久久芭蕾| 毛片17S| 91站街按摩店老熟女熟女| 91东北熟女| 久艹视频在线| 曰韩少妇无码| 91夜色chaopeng| 在线不卡视频| 欧美αv.com| 88在线一区二区三区| 大香蕉宅男伊人| 五月丁香久久| 全球成人中文在线| 日韩 国产 欧美自拍| 风骚少妇视频中文字幕| 少妇专区一二三四五| 欧美亚洲玖玖玖| 亚洲成A∨人影院在线欢看| 97无码视频在线播放| aV中文麻| 日本道日本道中文字幕日本道最新日本道在线观看 | 国产久久日韩网站导航| 精品丰满人妻一区二区三区免费观| 亚洲91在线播放影院| 操东北女人| 东北女人性交| 久久久久96| 日韩欧美丝袜诱惑| 久久手机视直播| 1024人妻| 最近的最新的中文字幕视频| 中文精品一区二去| 色网色网色网色网色网色| av天堂加勒比| 9.1小视频| 啊啊啊啊啊啊啊啊啊在线观看| 国产精品久久久777| 91美腿丝袜在线观看| 思思热在线视频精品| 日韩欧美午夜一区二区| 久久久久久99AV无码免费网站| 亚洲欧美骚| 色97欧美| 熟妇无码视频三区| 91蜜桃传媒精品久久久一区二区| 欧美与日韩97| 超碰久久草| 久久久久久波多野吉衣高潮| 欧州激情视频在线一区二区| 久草婷婷| 日韩精品操少妇| 人妻一区二区三区| 区一二区日韩亚洲乱码av电影| 久久国色天香香蕉| 天操天操夜操夜月月年年操操 | 日本伦乱九九九综合| 欧美牲| 一区二区高清视频| 九九碰九九爱97超| 色九久| 日韩无限资源| 欧美亚洲特P| 久久嫩草| 99re免费| 日本免费一级AAA大片器| 国产精品黑人一区二区三区| 国产福利在线视频网站| 亚州操逼图| 91天天综合日韩欧美| 中文一区二区三区影院| 青草香蕉网| 日本精品一级二级三级| 婷婷久久综合| 欧美另类色图片| 久久久久久午夜男人的天堂| 偷拍 亚洲| 久久久久国产亚洲一区欧美色图日韩| 精品夜夜澡人妻无码| 粉嫩国产精品久久粉嫩| 美女毛片999| 九九国产| 亚洲 欧美 色图| 成人小说另类在线| 在线无码操| 操人无码| 99热导航| 五月天精品| 青草综合| 亚洲一级特黄大片在线播放91| 色一色综合网| 丝袜制服字幕在线| 97频视在线| 91日产桃蜜| 国产偷拍网站| 欧美成人午夜免费福利785| 五月激情在线| 亚州色图片在线色| 97免费视频在线观看| 欧美一区二区福利在线| 日本女人操逼| 婷婷丁香一区二区三区| 91久热| 欧美天天| 亚洲一本大道中文字幕无码在线| 人妻天天爽夜夜爽爽| 91九九九吃| 外站AV在线| 日韩精品色呦呦| 大香蕉五月天| 91AV天美在线视频| 测评在线观看AV| 国产偷拍自拍在线视频| 日本天天人人狠狠在线日美女| 综合激情一一91| 丰满人妻区一区二区三| 新版天堂中文资源8在线| 99精品无码| 久久久三区二区一区| 一级做a爰片性色毛片久久| 96久久精品一二三区色欲| 厕所偷拍在线| 超碰九7| 日韩av一级黄片| 夜夜高潮夜夜爽| 欧美 日韩第一性色| 亚洲国产精品9999在线观看| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 97日视频| 男人天堂欧美| 大屁股xxxxx| 亚洲精品 欧美精品| 大二网站亚洲| 殴美,日韩国产伦精品| 欧亚韩国999| 黄色人人| 久久鲁夜| 日本孕妇一区二区视频操逼免费看 | 综合日本女人伊人| 后入人妻无码| 亚洲国产高清福利视频| 夜色97| 欧美一区二区日韩三区| 中文字幕视频2区| 男人的天堂一区| 99性视频| 东北女人性交| 一级A片女人高潮叫床| 色五月第四色| 收看日本人日bb| 性欧美天天| 伊人国产成人av网站| 天天流夜夜操| 成人怡红院| 激情婷婷五月天| 久久精品区| 久久婷五月| 欧美激情高清性猛交| 91一起操| 91操熟女| 97 超碰 人人做 人人爱| 男人的天堂2019| 欧美综合骚| 亚洲欧美天堂| 国产精品久久久蜜臀| 精品国产乱码| 妇人噜噜| 女同性恋久久| 人妻熟妇一区二区三区| www.婷婷六月天| 97精品免费视频网站| 欧美久久草熟女| 久久成年片色大黄全免费网站| 亚洲精品久| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 内射夫妻三片| 天天综合网1| 少妇高潮对白在线观看| 欧美日韩不卡传媒| 青青网三级视频| 很很操在线| 都市激情人妻一区二区青青操视频 | 樱花蜜乳av| 欧美亚洲激情一二三| 91精品啪在线观看国产城中村| 性欧美第一页| 少妇诱惑视频| 天天躁日日躁xxxxx| 亚洲成人在线资源| 96精品在线| 美女操逼A A| 大屁股熟女一区二区三区| 丁香色色网| 少妇久久久| 超碰天天操| 亚洲黄网在哪免费看| 春色91| 亚洲。日韩。欧美| 久久一区二区三区入口| 91亚洲人| 大乔未久88一区| 日本岛国黄色网址| 日语五十路和六十路亚洲国产精品| 婷婷五月天无码 | 国产精品久久99日日| 国产三级中文字幕粉嫩| 亚洲黑丝在线| 亚洲人妻在线一区| 狠久久| 日本免费不卡二区| 中文自拍欧美影视| 亚洲一级黄色毛片| 一级免费精品| 国内黄色精品| 五月丁香婷婷色| 乱操乱伦AV| 97se亚洲| 成人熟女区| 午夜天堂精品久久久久91| 亚欧毛片基地国产毛片基地| 99999亚洲| 久久久99999久网站| 日本狠狠干| 日韩国产在线观看av| 九九草| 日韩精品三级片长长久久| 亚洲精品色| 日韩欧美中文| 国内精品嫩模A∨私拍小视频| 人人妻人人色一区二区三区| 精品视频专区| 九九九九88| 亚洲国产一区二区三区四区国产| 国产亚洲精品久久久久小 | 亚州五月| 99久在线精品99re8a| 超碰三级秋霞| 女人爽到高潮潮喷18禁网站| 国产日韩区| 久久婷婷电影网| 综合网亚洲在线| 福利在线视频一区二区| 亚洲乱色视频一区、二区在线| 国产精品久久久久久久黄无码| 久草尤物| 久久男人的天堂| 大色网久久| 制服中出中文人人精品| 97超碰热线| 老师充足的奶水小说| 亚洲色图超碰在线| 97人人操人人干| 欧美精品自慰系列寂寞少妇| 无码av永久免费专区网站| 久久久亚洲Av| 日韩操逼性鲍| 丁香五六月啪啪| 日本一区二区亚洲综合| 亚洲欧美电影| 精品蜜乳AV免费观看| 久久久久久久人妻丝袜| 日韩9区| 中文字幕成人乱码熟女精品国50 | 男人的天堂啪啪| 婷婷久热| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 日本一级婬片试看三分钟| 可免费观看的av毛片中日美韩| 97超碰色情| 9久热这里只有精品| 97超碰精品图片| 99操逼| 国产精品白丝www| 国产精品夜夜| 欧美97在线欧| 亚洲 无码 偷拍| 亚洲第一页第二页激情| 操国产高清| 青青青国产手线观看视频2| 亚洲婷婷综合网| 岛国黄片网站| 国产美女自拍AV| 国产精品国产自产高清AV| 亚洲色色探花| 久久人人爽人人爽人人片Ⅴ| 亚洲激情在线一区二区| 熟妇在线视频一区二区| 久九干| 青青草五月天| 亚洲偷拍欧美激情| 亚洲欧美啪啪| 久久午夜色播影院免费高清| 中文字幕第9页萱萱影音先锋| 懂色中文一区二区三区| 欧美日韩国产中文精品字幕自在自线| 大香蕉久操| 啊啊啊不要好疼视频| 东京太热久久久| 樱花草社区www中国| 欧美大片一区二区三区| 欧色网址| 富女玩鸭子一级毛片| 久久无码成人| 日本三级韩三级99久久| 中文字幕一区二区三区蜜臀| 九九九精品色乱九九九| 国产路线专区| 亚洲国产精品99久久久| 综合久久欧美| 日韩精品三区四区| 啊啊啊啊好疼视频| 九九九九9999| 亚洲国产奇米影视久久| 91精品大奶人妻| 九九九九九九九精品视频| 午夜精品久久久久久久99热影院| 人妻少妇精品无码专区二区密桃| 九九九色| 另类小色呦| 蜜臀在线免费观看在线免费观看| 91精品久久久久久久久久| 91精品人妻一区二区三区蜜臀| 99re免费视频精品全部| 插欧洲美女欧美精品| 亚洲官网在线| 九t超碰| 精品人妻1区| 久久ww| 日本一天色道久久久精品视频| 久久三区四区| 日韩欧美成人性爱在线| 青青草视频这里只有精品| 亚洲限制级| 91精品人妻一区二区三区蜜臀| 精品国产91av一区二区三区| 亚洲综合春色| 欧亚 另类 久| 午夜视频好爽啊| renqi久久久久久久久久久久| 一级黄碟在线观看| 在线综合网| 国产做?爰片久久毛片?片美国| 亚洲AV乱码专区国产噜噜亚洲| 啊啊啊 在线| 99久久精品无码一区二区| 国产免费大片| 欧美日韩色| 91动漫操逼视频| 另类亚洲图色| 成人精品无码| 日本在线一二| 国产尤物在线三区| 精品久久久久久中文| 日韩99神马视频播放| 男人的天堂免费| 全球成人中文在线| 后入式在线免费观看60秒| 3PAV乱伦视频| 91在线欧色| 夜夜高潮夜夜爽夜夜爱爱一区| www.大香| 丝袜美腿校园春色| .精品人妻一区二区三| 天天综合AV| 91宗合网| 亚洲操操| 亚洲AV不卡在线观看| 亚洲少妇综合在线播放| 日欧毛片久久| 免费1级a做爰片观看| 青青草在线成人视频| 91老女人| 人妻啊啊人妻啊啊| 男人综合网| 久久98| 中文字幕一区二区无码成人| 2018色综合天天操| 91黄射| 亚洲免费人妻在| 男人天堂毛片| 99久久网站| 尤物视频新赏网鲜网色诱网| 操比国产| 黄页网站成人免费| 免费观看的av| 日韩色| 长长久久88视频| 九九热精品| 91美女视屏| 91亚洲欧美| 96AV久久久| 欧美爱三级日韩久久| 国产丰满少妇久久久精品影院| 黑人精品XXX一区一二区| 日本精品国产视频| 眼镜人妻101.com| 都市激情人妻一区二区青青操视频| WWW操逼| 亚洲网污污污污| 留下AⅤ黄色片| 久久97视频| 国产精品色| 丰满人妻区一区二区三| 久久久久久久九九九九九九| 自拍偷拍草一草| 中文字幕神马久久| 亚欧高清在线| 婷婷激情四射| 欧美久久毛片基地| 韩日性爱av| 亚洲日本大香蕉1| 99精品网| 国产乱伦视频污| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 亚洲色图 综合| 黄片不用下载在线观看| 日逼97| 日韩天堂av电影在线观看| 亚一综合久久久久久久久久| 91痴汉| 国产少妇与亚洲av| 色网在线视频观看免费| 欧美激情 亚洲色图| 青青色综合| 国产操操日韩三级黄| 久区视频| 欧亚日韩三区| 午夜丁香| 69少妇一区二区| 78m啪啪啪| 成人日韩中文字幕| 91站街按摩店老熟女熟女| 亚洲无992tv| 天天天堂影视日韩亚洲91| 一区二区三区精品黑丝白丝酒店对鸡 | 久久伊人在线五区| 欧美黑人精品一区二区| 放黄片放3级黄片没穿衣服| 久久久精品中文字幕麻豆| 人妻加勒比东京热| 久久综合资源一区二区| 超碰色综合| 天天操天天日天天干| 欧美午夜精品久久久久久超碰| 熟女五十路一区二区三| 国产在线播放成人免费| 久久久久极品| 欧美丝袜激情| 96精品在线| 美中日韩无码| 人人搞人人插人人操| 大香蕉青青9| 嗯嗯嗯啊啊啊操的我好爽 | 国产青青综合伊人| 91麻豆天美国产| 五月丁香综合激情| 热99这里有精品综合久久| 亚洲女人毛茸茸91| 青青草日本中文字幕| 志村玲子视频一区二区| 亚洲精品日日夜夜52| 岛国片在线视频网站| 中文字幕乱码在线观看| 欧美色亚洲色| 欧美精品欧美精品系列| 懂色AV中文| 人妻天堂综合网| 亚洲天堂 视频你懂的| 日本性爱欧美性爱| 亚洲成人激情小说视频| 黄色工厂这里只有精品| 亚洲图片欧美另类综合免费视频大大香| 免费看污网站| 性爱动态120秒| 激情网色| 岛国网址国产| 性久久久| 欧美精品久久96人妻无码| 亚洲欧美碰碰| 风间由美日韩欧美久久| 青青青草伊人精品| 麻豆一区在线| 九九九影院| 中文字幕在在线观看网站| 国产丝袜视频| 亚洲av乱伦色图网站| 亚洲第2页| 99国产精品视频尤物| 国产强奸AV在线| 国产又粗又大硬免费色网视频| 丰满人妻一区二区三区免费| 96超碰网| 色69大色97香蕉| 黄站在线免费观看| 国产欧洲精品亚洲午夜拍精品| 亚洲综合贴图91| 日韩av情韩国爱禁区av一区二区| 性爱AV天堂| 男人的亚洲天堂| 九九成人精品| 久久夜夜夜| 91丝袜在线视频| 亚洲限制级| 婷婷九月国产| 一区二区三区四区在线不卡| 神马九九九| 黄久在线| 男人的天堂kva| 婷婷人妻激情| 午夜一区| 亚洲色综合| 亚洲日韩精品久久久久一区壹牛 | 神马麻豆福利院| 亚洲学生妹高清av| 人人模人人看| 成人性爱AV在线免费观看| 91性高朝久久久久久久久| 黄色片A级一区二区三区| 18禁无码永久免费无限制| 伊人精品久久网站| 日韩丝袜二区| 亚洲成人网站在线观看| 激情文学网伊人| 久久久久性熟视频| 亚洲 图片 欧美 色图| 欲香欲色天天天综合和网| x97av| 91白嫩| 囯产精品久久久久久久久久二区三区| 欧美裸体美女日麻屄| 日韩欧美午夜一区二区| 国产h片在线观看视频| 国产粉嫩出水在线播放| 五月天激情婷婷| 欧美亚洲丝袜美女电影| 伊人aaa| 99热在线只有精品| 乱欲视频| 亚洲一级性爱视频免费看| 熟妇操花| 亚洲国产综合久久久性感熟妇| 一区二区不卡| 美女91网址| 男人天堂新| 欧美大香蕉久| 牛牛aV| 亚洲色图久久成人| av东京热男人的天堂| 东京太热男人的天堂久久久| 搡老女人911熟妇老熟女| 成人三级片无码| 精品人人| 中文字幕诱惑制服人妻丝袜美丝袜美 | 亚洲熟妇AV日韩熟妇在线| 91丝袜| 日本一区视频在线观看| www.狠狠| 欧美久久婷婷| 乱人乱色一区二区三区免费 | 女人爽到高潮潮喷18禁网站| 丰满人妻一区二区三区在线| 青青草日韩免费观看高清在线| 亚洲成人贴图| 把腿张开老子CAO烂你| 精品国产一区二区三区av在线资源| 欧美91网站| 日本色日夜干| 操逼1区| 久久免费老司机精品| 欧美玖玖爱免费玖玖| 免费一二区| 亚洲午夜福利在线影院| 欧美一区二区三区大综合| 91亚洲黄色网| 国产精品爱欲| http://qxhbdz.com| 男女性扦B| 免费A片三p视频| 天天拍天天操| 国产第11页| 视频一区二区免费在线| 另类天堂| 99re在线视频国产| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 萌白酱自拍视频| 欧美男女午夜啪啪| 亚洲男人天堂视频| 亚洲精品国产熟女| 国产suv精品一区二区四区999| 激情文学亚洲| 色哟哟511老熟女| 亚洲最大的黄色电影网站。| 91老司机视频| 伊人婷婷五月天| 天天躁狠狠躁av| 色哟哟AⅤ| 色噜噜人妻av 中文字幕| 性欧美999| 黄色视频特级毛片| 嗯嗯啊啊好大好爽| 一级人妻性爱视频| 久久久久精| 懂色av一区二区三区天美传媒| 亚洲精品日韩国产欧美| 亚洲国内精品成人不卡| 日韩精品一区二区高清| 日本淫色网| 久久老熟女| 五月丁香拍拍激情综合三级| 不卡在线一区,精品一区二区三区中| 亚洲加勒比色图| 亚洲制服欧美另类内射| 日日做夜狠狠爱欧美黑人| 日韩强奸av| 久久综合精品一区二区三区| 又大又大又大又粗爽高潮观看 | 中文字幕久久婷婷丁香五月天| 亚洲男人bt天堂| 搡老女人老91二区| 亚洲成人网站在线观看| 99视频自拍区| 中文字幕成人| 亚洲高潮影院| 欧洲熟妇xxXx欧美老妇裸体| 97视频一区| 九九色婷婷| 伊人四虎综合| 十八禁视频网站| 9久9久9久9久视频网站| 久草免费在线一区二区| AV男人天堂网| 中文自拍欧美影视| 9 1果冻精品视频| 九九黄色网| 久草资源在线| 中文有码第五页| 最新国内自拍av免费| 9精品在线| 亚洲第一黄色av网站| 97超碰总站| www.av在线观看| 一二三区精品视频| 91熟女熟妇视频网站| 青青草在线视频播放器| 大香蕉碰碰| 天天干人人看综合| 久久神马影院| 婷婷午夜成人色中色| 欧美综合狠| 亚洲天堂中文字幕无码男同| 精品一级毛片在线观看| 亚洲精品欧洲精品| 大香蕉免费乱伦视频| 97操B| 99热99re超碰精品| 97人人夜夜精品视频| 加勒比av官网在线| 无色无码| 欧美亚洲综合高清在线| 97干天天| 亚洲精品三| 综合久久久久久久久91| 国产91专区| 夜色五月天| 白天啪啪晚上啪啪视频| 久久97视频| 大香蕉伊人网WWWn0n| 国产99久久99热这里只有精品15 | 新婚人妻扶着粗大强行坐下| 国产91 丝袜在线播放| 青青草视频久久久久| 被体育老师抱着c到高潮| 性色aV一区二区三区噜噜| 麻豆一区在线| 婷婷大香蕉| 超碰国产精品久| 在线看污网站| 亚洲国产精品久久久久婷婷青年| 伊人激情五月天一区二区| 久热这里只有精品9| 91总综合网| 99自拍视频在线观看| 亚洲av性爱电影| 国产91丝袜 在线播放| 久视频在线观看| 人人透人人操| 性无码专区2020| 欧洲一区二区三区四区在线观看| 大香蕉伊利av| 亚洲成熟国产精品美女| 91东北熟女| 亚洲人妻久久久| 粘花网06av视频| 日本天天操| 日本东京热加勒比久久| 精品亚洲天堂| WWW美腿丝袜香蕉中文| 91AV老熟女视频| 操操碰| 综合久久久久久久综合网| suv精产一二三区| 久久人妻无码毛片A片麻豆| 97中文超碰| 秋霞蝌科网日本一区| 男女无套 免费网站| 久久久一二三四区| 蜜臀久久久国产| 玖玖视频在线资源一区二区三区| 91在线精品一区二区三区| 日本欧美不卡| 大香蕉92| 无码久| 极品白嫩福利在线| 国产AV久久久蜜爱影集| 黑人狂躁日本妞一区二区三区| 精品一区二区三区麻豆| 青青草在线视频播放器| 天天天天天天天天综合| 亚洲AO在线| 99成人| 国产又爽又黄| 黄色高清无码无码破解免费暗网 | 狠操91,com| 色天使大香蕉| 亚洲色图20p| 99热超碰| 水野优香在线观看| 久久久久9| 天堂а√在线最新版在线 | 亚洲人妻中文高清| 欧美日韩性爱电影在线| 日本成人免费一区二区三区| 色99999| 91五十路| 青草成人免费视频一com| 久久精品无码专区| 十八禁电影伊人网| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 亚欧毛片基地国产毛片基地| 手机看片91人妻| 中文字幕后石码四区五区| 久久啊啊| 亚洲小说视频| 精品人妻少妇| 小电影欧美91| 亚洲日本大香蕉1| 91精品91久久久久77777| 国产午夜视频| 一区| 中文字幕十五区| 啊啊好多水| 国产精品天干天干综合网麻豆 | 免费精品无码一级毛片牛牛影视 | 上床不卡网站| 亚洲成人妻日韩在线| 日韩av色图综合| 亚洲老司机123专区| 麻豆国产成人精品| 久九9精品| 人人妻人人色一区二区三区| 日夜尻逼网| 大香蕉人妻久久| 大香蕉99999| 亚洲视频中文一区| 欧美 精品国产制服第一页| 久久精品欧美一区二区三区不卡| 高清无码在线播放网站| 欧美性爱91| 插欧洲美女欧美精品| 亚洲欧美精品91| 天综合中文| 97视频7| 国产人妻精品一区二区三区秋霞| 国产91专区| 亚洲性天堂| 久久久久久99AV无码免费网站| 日本熟女不卡视频| 天天视频黄网站| 能看的av| 涩爱AV在线| 综合激情一一91| 97碰碰色| 香蕉99秘 一区精品蜜桃臀| 欧美v亚洲v综合v国产v妖精| 美國A片| 首页亚洲国产高跟丝袜诱惑视频 | 78久久| 天天日天天搞天天干| 乱伦1色页| 九九色综合| 真实高潮91| 一区二区三区在线日韩影院观看| 日本一二三免费久久| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 天天日天天舔| 日韩精品人妻系列无码天堂| 夜夜骑天天燥| 欲香欲色综合天天伊人| 中文字幕蜜乳av| 丰满高潮18xxxx| 大香蕉免费中文| 欧洲精品网| 国产日韩美女小穴视频网站不卡| 色婷婷日韩精品一区二区三区| 操逼网站网站| 日本色色色视频| 在现视频女上位好爽| 国产熟女二区| 夜色91| 久久久久免费看少妇A片特黄| 中文字幕一区二区三区视频播放| 一区黄二区黄| 情色五月天就去干| 亚洲情色欧美| 精品v日韩欧美国产| 欧美嫩性色| 老色鬼成人精品视频下载大在线观看| 欧美高清色| 无码外流操逼视频| 屌色在线97视频| 97爱b| 亚欧色图在线激情| 国产福利小视频高清在线观看| 丰满少妇人妻久久久久久| 欧美熟女逼久久久久久| 日本爽爽爽爽爽爽免费视频| 久久久精品成人国产| 国产亚洲色婷婷99精品91| 友优传媒精品在线一区二区| 一区二区三区免费岛国片| 97干在线看| 亚洲深夜福利| 亚洲一曲日韩精品| 麻豆av一区二区三区| 丰满少妇精品一区二区| 尤物网址| 久久久精品日本一道| 后入合集| 中文字幕一区二区在线日韩精品| 欧美青青视频| 9久精品视频在线观看| 亚洲美女AV无码| 伊人色综合网| 国产蜜臀精品一区二区尤物| 午夜超爽| 亚熟在线| 亲子敌伦对白在线播放| 国产一区二区三区导航| 97人亚洲综合字幕| 乱欲视频| 五月婷在线| 哑洲在线| 强奸乱伦αv片|