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

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
返回資訊列表
青青久草| 成·人免费午夜在线观看| 久久久久亚洲三级电影| 亚洲欧洲美腿丝袜| 热久久国产| 青青草色插素人| 人人贴人人摸| 神马麻豆福利院| 天天日天天干天天整| 欧美日韩亚洲国产中文永久天天看| 亚洲第一精品在线视频| 久久久久久久久久久久97| 91久久久久久| av影院十区| 国产精品制服丝袜清纯唯美 | 大香蕉十区| 久久精品无码专区| 天天色综合图片| 日韩亚洲欧美中文字幕| 伊人色综合网| 久久中出| 美女网站黄页| 国产精品久久久久久无码红治院| 久久久熟女一区| 欧州色图区| 天久久久噜噜噜久久国产精品爽爽| 免费精品中文字幕| 97亚洲精品超碰| 熟妇一区,二区,三区。| 久久久久亚洲Aⅴ无码| 男人把坤坤插入女人的下体| 高清无码 国产精品| 性爱视频免费网址| 青青操网| 丁香五月婷婷色| 亚洲性爱成人| 亚洲色图欧美色图另类图片| 性91| 久久男人的天堂| 久久内射| 丝袜美腿丝袜| 91成人18| 色香综合| 岛国1区2区3区在线观看| 亚洲天天自拍| 人人妻人人爽一区二区三区| 大香蕉淫人| 久久久少妇诱惑精品视频| 在线A日本| 五月亭亭六月丁香| 久久精品一区二区一8| 天天综合网1| 久久9久9久99久9久9| 一级毛片电影免费看| 久久机热| 91视频女生| 伊人午夜福利视频| 97久久久久久久久久| 超碰97资源网亚洲| 舔人妻中文免费视频| 呦女网站| 久久久三区二区一区| 国产熟女精品区| 丰满精品人妻少妇久久字幕| 呦女网站| 欲香欲色| 影视综合无码少妇| 久久久精品一区二区| 久久天天躁日日躁狠狠躁| 国产精品无码久久久久2025| 99这里有精品视频| 亚洲最大黄网| 日本肏逼视频在线观看| 欧美性爱97超碰| 91麻豆天美国产欧美日| 吉川爱美亚洲二区在线| 亚洲第一男人天堂| 日韩成年人性爱视频| 欧美精品久久久久久久丰满| 黑人黄片在线免费观看| 国语人妻精彩刺激| 久久日本熟女精品一区| 久久久性| 操逼网免费无码视频| 国产热RE99久久6国产精品首| juliaann欧美丝袜办公室| 欧美高清色| 国产无马在线| 六月丁香啪啪| 久久国99999| 久操B网| 国产不卡中文字幕免费avi| 97久久久久久久久久| 91肉丝| 草草影院日本第一页| 国产成人亚洲精品无码古代早漏男| 手机看片1024你懂的国产| 久青草影院| 综合激情97 | 一区二区播放| 影音先锋每日最新资源在线观看 | 青青草色情网站视频| 久操视频免费观看| 国语av狠狠色丁香婷婷综合激情| 人人扣人人操| 亚洲AV在线资源| 大香蕉中文在线| 国产白嫩漂亮KTV在线| 国产精品网址| 精品一区二区三区蜜桃臀赵总 | 蜜臀Av一区二区三区| 亚洲无码视频免费在线观看网址! J?P?NESEHD熟女熟妇伦 | 超97在线精品视频| a男人的天堂| 亚洲女优有码无码高清| 日本国产欧美高清在线| 啊啊啊97视频| 黑人精品XXX一区一二区| 韩国一级婬片A片AAAAA| 国产成人网站在线观看| 在线观看A啊啊啊| 亚洲同性aV综合| 99久久e免费热视| 婷婷激情一区二区三区俺也去| 南澳成人一级片在线播放| 秋霞成人做爱| 九九热超碰97亚洲最新香蕉| 少妇久久久久久| 亚洲Av无码成人精品国产| 免费成人在线熟妇网| 欧美性爱日韩高清| 日韩图区| 日韩不卡在线一区二区| 热久日综合| 91av熟女人妻| 任你干在线视频| 人人操我人人干| 极品色社| 欧美色999| 日本不卡高清视频| 亚洲日韩欧美一区二区| 3028国产精品| 麻豆a'v电影| 欧美国产伊人久久久久| 九九九九九九视频免费| 欧美亚州手机在线| 精品日韩人妻视频| 久久一二三四五六七八九区区| 狠狠操狠狠操操| 亚洲男人天堂Av| 男人的天堂va在线| 亚洲色吧网| 美女91AV| 日韩在线AB| 视频国产成人精品日本亚洲18| 青青青国产| 国产在线综合网| 婷婷伊人一区| 国产69精品久久久久99尤物| 国产少妇与亚洲av| 丰满人妻区一区二区三| 欧美变态激情网| 黄页网站免费高清在线观看| 0755午夜福利视频| 色妹子A V| 日韩av在线精品观看| av情色影音| 狠狠操官网| 欧美 日韩 婷婷 五月| 2021久久国产综合精品青草| 大香蕉综合网| 1204人成网站色www| 午夜一区| 欧美片第一页| 中文熟女五十乱码在线| 日本999精品| 99久re热视频精品98| site:sinbotex.com| 四季AV综合网址| 乱伦av麻豆| 毛片一区二区| 99超碰网| AV色五月天| 伊人天堂在线| 欧美成人黄网色网站| 久 久无码人妻AV| 亚洲色性情三级| 尤物国产一区在线观看| 蜜乳视频网站| 亚洲情色综合| 97chaopenrihan| 色一射色一射| 日韩午夜啪啪视频| 人妻干天天| 久久精品—区二区三区内射| 欧美日韩亚洲五月天婷婷| 久久露脸国产老熟女| 日本人妻最新在线中| 激情情色五月天| 伊蕉97蜜桃97狠狠综合干 | 中文久久久| 亚洲性猛交| 小草精彩毛片| 人妻22p| 亚洲乱色熟女一区| 午夜毛片亚洲精品片国产久久久| 乱操9999| 精品国产乱码久久久兰草影视| 欧美后进式| 中国探花熟女| 国模少妇一区二区三区| 亞洲久久直播| 日本日逼高清| AV不卡在线| 国产黄色影片在线观看| 午夜福利1区2区3区| 97超碰碰| 欧美精品精品一区二区| 日婷婷| 韩国一级做a久久久久| 亚洲另类色综合网站| 天堂网 主播 亚洲| 久久精品女同亚洲女同13| 欧美视频激情久久久久久| 少妇一区二区三区在线观看| 亚洲综合图文| 操b网站亚洲无码| 青青草国产盗摄一二三区| 日本啊啊啊啊啊视频| 精品亚洲俞拍视频一区| 任你干在线视频| 99re热| 蜜桃久久久久久久久久久久| 青草视频人妻在线观看| 日日干夜夜骑| 久久在肏| 精品三级在线专区| 久久男人精品| 国产精品自在线发布| 日韩欧美亚洲一区二区三区影院| 婷婷天堂站| 婷婷丁香六月| 超碰97资源中文字幕| 图色综合网| 麻豆精品A片免费观看| 伊人991| 美日韩在线不卡人妻| 欧色性第一页| 精品少妇一区二区三区| 色69大色97香蕉| 黑人精品欧美一区二区蜜桃| 亚洲欧洲综合| 午夜亚洲WWW湿好大| 亚洲色色探花| 五月天啪啪| 精品91摸| 97国产伦理| 上床啊啊啊| 男人午夜天堂| 国产高清精品福利| 欧美中文字幕一区| 天天搞欧美| 亚洲色图欧美| AV网站高清无码在线观看| 黄色高清无码无码破解免费暗网| 九九热精品在线| 久久色一区二区| 91天天爽| 国产精品网址| 日韩高潮一区| 老熟妇一区二区三区啪啪| 极品少妇久久久久| 一级性爱视频免费在线| 久热九九| 成人一区二区三区四区| A级国产欧美激情在线| 亚洲欧洲日韩国产自在线| 1024香蕉视频| 大屁股熟女一区二区三区| 国产内射爽爽大片| 综合久| 国产偷仑| 天天综合网日韩| 在线看免费无码AV天堂的| 青娱乐亚洲热| 激情在线青青操| 美国一区二区三区视频| 久久久久久大| 亚洲影院365| 日本天天操| 少妇特黄一区二区三区| 99老司机精品视频在线观看| 亚洲丝袜色图| 在线免费观看高清无码视频| 丁香六月综合激情| yy少妇精品久久| 丁香五六月啪啪| 人人操AV| 中文字幕一区二区三区人妻不卡| 亚洲一区二区精品福利| 加勒比人妻综合| av爱爱爱| 天堂资源欧美| 自拍内地三级在线观看| 不卡九肏| 无码人妻精品一区二区三区99不卡 | 国产亚洲禁久一区二区| 大香蕉琪琪日本女优不卡| 男女性无套 免费九一| www久| 久久久久极品| 国产精品香蕉热久久新品| 骚女高跟AV在线| 国产日韩手机视频在线| 九九久久国产精品| 国产欧美日本亚洲精品| 欲射影视| 欧美不卡二区| 激情婷婷丁香| 亚洲乱码国产乱码精网站| 99热日| aaaa少妇高潮大片| 97超碰伊人| 中文字幕日本久久| 91天天综合日韩欧美| 婷婷六月色| 亚洲一二三四区| 日韩人体偷拍| 人人操我人人干| 884t在线| 超碰成人免费| 天天综合网网欲色| 91九九九逼| 又大又长又粗又爽又黄| 国产精品3| 国产精品久久伊人| 俞拍久久国应视频| 色老汉色| 亚洲乱伦图片视频| 欧美性夜| 久久夜嗨| 五月天精品| 久操91视频| 超碰碰激情97+久| 日本午夜福利影院| 亚洲无线观看久久| 久久久久久中文| 蜜桃色色网站视频三区| 精品日韩中文在线| 综合网亚洲在线| 蜜桃视频精品一区二区三区| 白嫩国模丰满一二三区| 国产成年女黄特黄| 97超碰欧美手机在线| 屌色在线97视频| 五月丁香六月综合缴清无码| 校园春色美腿丝袜| 夜夜嗷嗷一区二区| 国产亚洲一黄| 丁香五月天激情网站| 国产无码精品久久久久久| 97热视频在线观看| 天天碰操中国年青熟妇| 黄片免费视频2019| 男人把坤坤插入女人的下体| 中文乱码字幕观看| 亚洲一卡2卡3卡4卡乱码网站| 久操精品网| 青草精品视频-日本久久久久网站| 夜夜爽妓女| 国产小u女在线观看| 亚洲阿v天堂在线| 精品制服美女中文一区二区三区| 亚洲、日韩、综合、另类| 天天视频黄网站| 水多多映视AV| 麻豆一区二区三区在线看| 亚洲AV不卡在线观看尤物| 中出91| 国产97视频免费观看| 人妻一区视频| 久久久999网站| 日本一级性爱| 人人人人插| 青娱乐老司机视频| 91狠狠| 熟妇人妻精品一区二区| 男女香蕉一区二区| 日韩欧美中文字| 宗合情欲网| 久久精品国产精品亚洲艾通辽熟妇 | 国产一区二区三区高清视频| 欧姜老司机| 色眯眯av| 亚拍在线| 91嫩草在线| 美女啪欧美一区| 亚洲不卡不卡中文字幕不卡| 日本特黄f c2| 亚洲丝袜色图| 超碰97最新人妻| 亚洲丝袜色图| 青青草五月天| 亚欧美综合网。| 成人五月天色网| 九九九久久久久| 九热大香蕉| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 婷婷亚洲色| 操人91| 亚洲激情在线| 中文啪啪视频| 婷婷激情一区二区三区俺也去| 97人人中文网| 超碰中文字幕人妻草一区| 天美一二三在线观看Av| 1区2区3区中文字幕日韩| 亚洲少妇色图自慰直播| 亚洲青色欧美| 蜜臀一二三区| 丰满熟女一区二区三区在线播放| 青青操网| 在线性黄高清免费视频| 精品国产乱码久久久久久影片| 岛国小电影| 亚洲91亚洲| 国产小炒后入式| 男人天堂久久精品不卡| 97免费视频在线| 操国产逼| 亚洲天堂人妻熟妇视频| 98色网| 蜜臀在线免费观看在线免费观看| 亚洲欧美日韩电影网站一区| 天天射夜夜骑| 国产又黄又粗的视频| 精品中文字幕一区二区l - 百度| 日韩人妻资源在线看| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 99re这里只有精品3| 久久国产精品熟女人妻| 欧美宗合网| 亚洲成成熟女人综合一区二区| 伊人热综合| 强奸乱伦中文字幕AV| 丝袜 亚洲 偷拍| 日韩电影天堂视频二区三区| sewuyueav| 久久性爱视频99| 伊人久操| 国模不卡一本二本三电影| 亚洲有薄码区久久在线一区| 日婷婷| 六月婷婷色综合| AV天堂男人的天堂| 天天干18禁| 18禁的网站在线| 国产四虎在线| 青青久久久| 久久久久久久久久久免费精品| 亚洲AV成人无码一区二区三区在线观看| 国产日韩精品一区二区三区| 国产精品久久久午夜夜伦鲁鲁| 人人操人人摸avav| 中文字暮97| 超碰吊日色| 欧美日韩香蕉| 最新精品久久蜜桃| 色色毛片| 日韩中文字幕视频在线观看| 国产情色第一第二页在线观看| 亚洲无码 国产无码| 五月天综合| www.acm成人黄色毛片| 成人一级性爱| 操人妻逼91| 精品人妻中文字幕高清| 中亚av| 久操免费电影| 激情五月天社区| 东京热不卡视频| 日本欧美中文字幕| 中文字幕 码 自拍 视频 区| 精品999一区二区| 国产CHASE男男GAYGA 毛多色婷婷| 人人搡人人肉久久精品| 欧美精品23| 久久欧洲| 久草视频观看视频在线| 青青欧美| 翔田千里av一区二区三区| 久久9精品网站| 国产第25页在线观看| 天天看高清麻豆| 日韩中文字幕人妻视频| 四虎在线免费视频| 中文字幕日本久久| 欧美性夜| 蜜臀亚洲中文| 日本性爰一道本| 欧美视频激情久久久久久| 天天艹天天日| 亚洲女优有码无码高清| 国产欧美伊人| 高潮毛片无遮挡高清免费| 乱子伦一区二区三区国产精品| 思思热久久成人| 尤物视频偷拍免费| 国产精品一区人妻精品阁在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 日韩啪啪啪啪啪| 91在线欧美| 91jk色拍| 人人干人人搞人人摸| 亚洲色图日韩丝袜制服一区二区五月在线 | 成人性爱电影一区二区| 日韩91网站| 亚洲人在线| 日韩色欲久久一二三四区| 国产精品一区二区麻豆| 中文字幕高清20页视频| 国产精品99精品视频网站| 四虎在线免费视频| 69超碰综合| 人妻干天天| 久久久九九| 久久国色天香香蕉| 图片区小说区| 亚洲无码com| 免费97视频| 婷婷香蕉欧美在线一区二区三区| 日韩激情啪啪啪| 最新AV在线| www.91欧美| 日韩久久三区| 亚洲中文一区二区三区| 亚洲天堂男人| 1204人成网站色www| 夜夜狼人妻| 无码伊人久久大杳蕉中文无码| 亚洲美女AV无码| 97在线日韩中文字幕| 富二代亚洲精品99| 亚洲高清在线| 强奸乱伦中文字幕AV| 中国人高清www色视频免费| 加勒比av网| 日日夜夜草草草| h在线看免费版在线看| 欧美成人A天堂片在线观看| 啊v在线观看视频| 国产风韵犹存熟妇三区| 日本精品国产视频| 九色 人妻 大香蕉| 蜜桃视频成a人v在线| 国产在线播放成人免费| 日逼97| 一二三四区操操Av| 欧美黑人91| 天天天天天天天天综合| 亚洲欧美中日韩| 欧美三级一级| 亚州色图第三区| 久久久久9| 亚洲高清无码AAA久久久精品| 中文字幕日韩电影人妻| 高清无码久操视频| 水多多映视AV| 亚洲色图欧美色图另类图片| 91美女小视频| 中文字幕三四五区| 精品国产乱码久久久久久蜜臀| 欧美97av| 久久久亚洲精品中文字幕人妻| AV天黑人| 97操97干| 亚洲天堂另类| 极品少妇久久久| 亚洲欧美激情小说| 久久精品国产亚洲粉嫩| 色区97| 大奶的诱惑| 亚洲综合网91| 成·人免费午夜在线观看| 91精品老女人| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 久久爱超碰网| 日韩精品大香蕉伊人在线| 日韩丝袜高跟制服在线观看| 中文字幕人乱码中文字的预防方法| 北条麻妃性愛视频| 后入式五六区| 日本大香蕉综合网红本杳社区| 大香久久| 无码操逼视频一下| 1禁看欧美黄片免费看| 国产精品久久久久久久久AV大片| 999岛国大片| 日本日逼视频网| 五月天婷婷色色| 深夜激情无码| AV综合中文字幕干| 嗯……啊…嗯嗯…啊…好舒服| 欧美日韩大陆黑人少妇99| 亚州高清av| 久久久精精精| 乱伦一二三区| 欧美顶级黄片AAAAA在线免费看| 久久婷婷视频| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚 | 91chinese在线| 97在线免费看| 亚州九九九精品视频| 欧美精品庄| 欧美一二三级精品在线| 5278欧美一区二区三区| 久草精品热视| 51一区二区三区| www国产无码| 国产专区第一页| 男人的天堂啪啪啪啪啪蜜桃不卡| 97 九色| 丰满人妻一区二区三区四区| 日韩卡一卡二卡三在线| 性站| 亚洲AV在线资源| 午夜精品久久一区二区| 3p国产欧美99热| 亚洲欧洲无码97久久精品| 新91视频.cmp| 3d成人精品一区二区| 久久国产三区| 国产97/欧美| 老熟女搡BBBB搡BBBB视频| 五月天丁香网| 丰满丝袜少妇AV| 欧州一区二区三区四区| 屌逼传媒| 欧美日韩人妻精品一区二区三区| 午夜超爽| 欧美九九99久久精品| 91狠狠综合久久| 美女操逼福利视频| 亚洲天堂人人妻| 2017av无码免费无线播| 开心婷婷五月| 狠久久| 日本熟妇人妻中出视频| 欲射影视| se吧提供91精品国产91久久久久久| 99热只有| 东京太热男人的天堂久久久| 91精品久久综合熟女| 五月开心久久AV官网| 青娱乐老司机视频| 无码欧美有限公司| 青草成人免费视频一com| 亚洲综合激情五月久久| 热热色青青草| 性爱av网站| 97超碰中文| 亚洲精品三区在线观看| 男人 天堂 日 亚洲| 综合影院永久入口国产| 久久综合18p| 精品人妻中文字幕高清| 欧美少妇大量自拍视频在线观看| 久久久人妻| 国产精品岛国片在线观看| 无码99| 国产激情视频一区区三区| 99亚亚热| 91福利网在线观看| 中文字幕片| 无码高清少妇久久| 欧美日本天堂| 中日韩久久久| 大香蕉色欲AV| 俺去俺来也在线www| 日韩丨制服丨中文|在线| 深夜激情无码| 久久久久白虎| 激激五月| 色欲三区| 俞拍自拍| 色婷视频| 日本操逼视频免费| 青青草吊丝| www.久久最新地址| 天堂亚洲精品| 91网站18在线观看| 亚洲av无码国产精品字幕| 超碰碰激情97+久| 日逼国产| 日韩熟女精一区二区三区不卡| 在线 制服丝袜中出 人妻| 日本成人在线不卡一区二区三区| 欧美精品另类人妖xxxx| 伊人黄色片| 久久青娱乐| 啊啊啊com| 天天色黄色影院天天操| 黑丝制服中文字幕| 91人妻视频在线| 一,爱啪啪,在线免费视频| 天天躁日日躁狠狠狠躁| 欧美综合色站| 人人做人人妻人人夜视频| 亚洲色阁| 老司机午夜福利视频一区二区| 狠狠综合网| 欧美日韩国产成人高清| 日韩国产九九精品一区二区三区毛片| 成人精品在线观看| 亚洲精品一二区| 日韩精品一区二区人人人| 色噜噜人妻丝袜AV资源| 99久久网站| 久热影视| 亚洲在线a| 91男同| av在线人气| 国产女人成人精品视频| 偷拍三区| 91亚洲欧洲| 伦在线97| 黑丝91视频| japan日本高清乱xxxx| 精品一区二区三区国产| 久久久久久免费电影| 91网18| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 超碰 另类 欧美| **一级毛片国产| 樱花蜜乳av| 毛片久久| 亚洲 欧美 色图| 超碰在线综合97| 亚洲欧美一区二区不卡视频播放 | 亚洲诱惑天堂| 亚洲视频一二区| 天天亚洲综合| 精品人人| 丰满人妻大屁一区二区| 18禁免费视频| 啊啊啊想要| 久久久一区二区三区麻豆| 精品美女少妇一区二区三区| 人妻美腿丝袜制服诱惑综合天堂-| 99视频内射三四| 国产欧美一区激情交| 手机在线视频国内精品| 涩涩涩综合| 国产超碰AV在线精品| 国产精品高潮久久久无码| 99热婷婷一区二区三| 婷婷探花久久精品一区| 国产91丝袜在线播放蜜月| 97网址97| 加勒比综合a∨| 欧美日韩人妻少妇 一区二区三区| 亚洲欧洲久久天堂| 老司机久久| 久久久久78| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 亚洲欧美中文日韩视频中国语| 性开放中文AV高清无码免费看| 亚洲成人日韩小说| 99久久婷婷丁香| 午夜无码精品免费看性色| 国产操偷| 成视频在线观看免费看| 这里有精品| 超91综合网| 日韩人妻资源在线看| 爱射综合| 日日夜夜国产综合| 丁香婷婷激情五月天无毒不卡| 色婷婷婷五月天激情四射| 色眯眯射| 97在线欧洲| 欧美少妇高潮久久91| 大香蕉日亚洲日本亚大 | 国产欧美亚洲精品a第2页| 熟女人妻一区二区三区| www.色五月| 嗯嗯啊啊用力视频免费| 国产一区二区三区,在线观看观看| 91熟女.com| 人妻第一页| 日韩欧美性吧婷婷乱伦大香蕉 | 嗯嗯嗯,草死我| 国产精品久久久久久久久久久久久久久 | 国产剧情一区在线观看| 超碰97网址| 国产精品九九| 久久无码精品| 被男人添B超爽视频| 中文字幕日本久久| 欧美九九爱| 亚洲欲| 超碰色97| 国产高清无码一区三区二区| 久久伊人五月天| 日本A级视频| 国产精品夜夜夜| 精品无码一区二区三区色欲| 操逼逼福利视频| 日本久操视频| 亚洲偷91色| 97久久超碰| 2017人人操,人人摸| 五月丁香社区婷婷日韩欧美精品影院 | 欧美性爱精品一区二区| 日韩中文字幕熟妇人妻| 欧亚韩国999| 国产h小视频在线观看免费| 激情综合网五月婷婷五月天| 久久人人妻| 91美女高潮| 三级精品三级在线观看| 久久久久久人妻| 99综合自拍| 精品国产乱码久久久久久免费| 国产精品人妻免费精品| 操美女高潮抽搐白浆| 欧美色图成人网一区二区 | 精品人妻一区二区三区视频| 亚州欧美色图| 国产激情在线观看| 日韩美女,国产传媒,视频一区| 试看60秒 爽| 精品国产片亚洲一区| 日韩丝袜高跟制服在线观看| 欧美综合网| 99热这里是精品| 国产免费一区| 三级特黄60分钟播放| 夜夜爽77777| 丝袜高跟澳门91视频| 26UUU欧美激情一区二区| 四虎影视在线| 日躁天天爽爽| 欧美久热| 好湿好紧视频| 久久久国产成人一区二区三区在线 | 五月丁香六月婷| 96精品一区| 久久激情亚洲精品无码?V| 天操老女人| 91精品久久久| 91亚州欧美| 欧州一区二区三区四区| 97激情97激情| 翔田千里A片一区二区| 97久精品| 成人小说另类在线| 亚洲色图欧美色图制服丝袜| 久久伊人最新网址视频| 欧美人妻二区三区| 日韩熟女三十乱伦| 91殴美大片| 人人人摸人人| 国产精品久久久久久久久久久久久久久久久久 | 国产吹潮女在线观看| 18禁精品网站在线看| 91丝袜美腿片| 无码在线亚洲| 蜜臀久久99精品久久久久电影| 国产又操| 欧美亚洲首页| 久久女人视频| 无码高清操逼网址| 久久婷婷欧美| 久操不卡视频| 欧美春色| 精品久久无码午夜福利| 九九玖玖精品| 91亚洲综合| 五月婷婷六月色| 操国产高清| 九九九九九九成人| 精品性爱一二三区| 久久线上视频免费看| 亚洲综合色男人网| 欧美操人视频| 欧美在线中M| 97最新在线播放视频| 国产久久久久久| 亚洲综合影片| 看日韩操逼| 男人天堂新| 欧美性爱一内片一区二区三区| 岛国毛片在线观看免费| 91综合天天看| 色综合98| 国产女人操逼视频| 91久久久久| 五月天综合网| 激情黄色片在线观看| 麻豆人妻偷人精品无码视频| 婷婷五月激情综合| 91精品人妻偷情| 男人成人黄色视频在线观看免费下载| 另类小说五月天| 一级做a爰片性色毛片久久| 天天影视之亚洲综合网| 乱精品一区字幕二区| 强奸国产在线| 国内伊人久久久久久网站视频| 亚洲综合113页| 国产亲戚伦亲在线| 69XX一中文字幕人妻91| 黄久久| 久久超碰免费的| 欧美在线干| 久思思热视频在线观看| 九九九九九九九九九国产精品| 国产肏屁眼视频| 亚洲五月丁香花狠狠干一区二区三区 | 欧美伦乱爱| 性欧美第一页| 日韩人妻精品久久久久| 国产极品99热在线播放69| 久久免费少妇| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 黄在线| av爱爱爱| 亚洲国产成人综合碰碰三级经典| 青青草国产一区二区三区| 亚州乱码中文字幕综合久久久| AV大香蕉| 亚洲免费人妻在| 国产美女裸体秘 永久无遮挡| 清纯唯美亚洲综合| 国产农村妇女毛片精品久久| 欧美一级专区免费大片| 精品久久久久黄少妇| 成人欧美一区二区三区黑人一| 浪人综合网| 粉嫩av久久一区二区三区| 国产成人亚洲精品无| 亚洲人妻精品一区二区| 久久成人东京热人妻| 亚洲欧洲激情| 91AV天美在线视频| 欧美国产有色电影| 99啪啪| 18岁禁 茉莉成人久久| 东京热亚洲一区二区| 超碰成人最新最好看| 91人妻素女| 家庭乱伦性爱av| 人人操人人操人人操人人操人人操人人人11.CM | 日韩欧美中文字幕搭讪巨乳美人妻视频| 成人久久精品| 传媒免费一区二区三区| 丝袜无码a片| 亚洲综合99999| 欧美精品久久96人妻无码| 香一区二区三区| 蜜臀精品1区2区| 天天摸,夜夜摸| 大香交伊人网| 久操高青| 夜夜高潮夜夜爽| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 亚洲人成网站7777| a男人的天堂久久一级A毛片| 100啪啪视频大全| 国产精品视频自拍在线| 99久久久无码精品国产人| 综合久久久久久久综合网| 搡老人老9丨女老熟人| 人、人、摸,人、人、草| 90后性网国产欧美| 亚洲综合五月天| 久久久久骚| 久久最新视频免费观看| 久久久久久久久久久久久久久久9| 97这里只精品| 久久风骚城市| 中文字幕免费在线观看| 精品少妇99| 欧美精品三级黄片| 天天做日日做| 激情五月天社区| 大香蕉97久久| 久久久久9999妇女| 精品无码产区一区二| 97欧美综合网| AV麻豆免费一区| 大香蕉乱级| 全免费a敌肛交毛片免费| 午夜免费视频1000| 欧美香蕉视xxx| 麻豆区久久久久亚| 久久久久久久97| 黄色电影在线播放综合网站| 久久亚洲婷婷| 精爱久久| 清纯唯美综合亚洲| 成人线上超碰| 中日韩欧美精品无码AⅤ一区二区| 97精品综合久久| 丰满人妻一区二区三区四| 老熟妇一区二区三区啪啪| 欧美 亚洲 在线| 国产日产精品久久快鸭的功能介绍| 久久9视频| 欧美激情超碰777| 青青草影视蜜久久| www.99色| 五月丁香六月激情| 97超碰免费人人性爱| 97超碰欧美精品| 国产精品无码av| 男人天堂.AB| 干B| 男人的天堂VA| 99re公开精品免费视频 | 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 亚洲欧洲激情| 国产精品视频内谢女人| 抽插无码高清一区| 日han少妇无码| 久久精品无码专区| 性爱边摸边日免费AV| 久久久99久9| 97在线公开视频| 美女极品一区二区三区| 五月婷婷五月天| 精品无码一区二区| 97射欧美| 国产三级多多影院2022国产AA一级毛片无码 | 永久免费观看的毛片的网站| 免费的很黄很污的全部视频| 欧美老熟另类| 97免费视频在线| 久久艹逼视频| 人妻素股| 中文字幕精品一区二| 色月天AV导航| 女性91网站| 91无码中出人妻视频| 久久久96精品| 国产 无码 一区二区| 久久一二三四五六七八九区区| 黄色大片视频在线免费看| 五月激情在线| 亚洲欧美综合图片| blacked精品一区国产| 欧美亚洲激情小说| 综合网亚洲| 久久免费中文字幕在线观看| 欧美人妻少妇| 亚码激情| 揉揉揉夜夜| 色噜噜狠狠色综无码久久合欧美| 午夜啊啊| 久久极品一区二区| 欧美福利视频啊啊啊啊| 91欧美偷拍| 先锋影音av先锋一区| 台湾肥佬网一区二区三区| 青娱乐福利99| 国产成人主播| www.大香| 国产人妻精品一区二区三区秋霞| 日本一区二区不卡精品| 97爱亚洲综合色| 国产麻豆福利av在线播放| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 啪一啪免费视频| 日韩精品99久久久久久中文字幕| 激情网色| avav青青草久久夜| 丁香五月AV| 国产精品九九九| 国产久久一区二区三区野外在线| 欧美成熟性爱精品| 中文字幕久久亚州无码| 去干网最新版| 免费视频一二三区| 男女激情中文字幕| 日本一区二区成人在线| 啊啊啊操死我了| 亚洲激情网一二三四区| 蜜臀无码视频在线观看| 欧日韩在线观看| 婷婷久久网| 国产白丝精品在线观看| 精品久久久久瑟瑟| 国产AV色黄看到爽| 啊啊啊男女| 中文字幕视频在线观看一区二区| 99久久久久久亚洲精品不卡| 成人欧美日超碰| 开心五月激情网| 日韩女优中文字幕| 99re99在线视频| 久久婷婷一区二| se吧提供91精品国产91久久久久久| 婷婷另类小说| 自慰白浆在线观看| 91色香| 丝袜av一区二区三区| 蜜桃av综合网发布| 偷拍精品一区二区三区| 亚洲综合校园春色| 五月丁香久久| 操逼天美3区| 九久久精| 97精品久久久久久久| 黄色片大香蕉| 又粗又长又大国产不卡| 天天天堂影视日韩亚洲91| 青青草九九九九九| 激情视屏国产乱伦强奸| 网友自拍第一页| 无码欧美有限公司| 色色福利| 国产高清午夜成人在线观看| 果冻传媒一区二区三区| 久极品在线观看| 亚洲操人| 草莓精品视频在线免费观看| 精人妻一区二区三区| 97er欧美性| 日韩三级网址| 在线视频日韩欧美国产| 翔田千里无码中出中文字幕| 999久久久国产精品| 久久久精品久久| 91麻豆天美国产| 亚洲午夜免费狠狠干| 日本在线播放不卡一区| 午夜视频久久久久一区| 久久久久久久97| 青青国产在线拍揄自揄拍| 久久人妻视频网| 亚洲密乳AV| 精品人妻av区天天看片| 欧美色吧综合| 日韩色图 一区二区| 动漫av中文| 日少妇亚洲版| 九九九综合精品| 亚洲 日韩 欧美 国产综合体| 亚洲精品a人片在线观看视| 家庭乱伦国产| 爱妃国产亚洲视频中文字幕| 中文字幕三四区| 97免费视频在线| 夜夜爽夜夜高潮夜夜爽| 久一区久久蜜桃| 国产精品夜夜| 青青青在线高清视频在线一二三四区| 九九九九免费视频| 精品无码人妻一区二区免费蜜桃|