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

ARTICLE DETAIL

資訊詳情

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

STM32F103 CAN總線雙機(jī)通訊實(shí)戰(zhàn):從CubeMX配置到HAL庫應(yīng)用

STM32F103 CAN總線雙機(jī)通訊實(shí)戰(zhàn):從CubeMX配置到HAL庫應(yīng)用 簡(jiǎn)介本資源是一套基于STM32F103系列單片機(jī)的CAN總線雙機(jī)通信實(shí)戰(zhàn)例程面向嵌入式初學(xué)者與物聯(lián)網(wǎng)項(xiàng)目開發(fā)者聚焦工業(yè)現(xiàn)場(chǎng)常見的多節(jié)點(diǎn)數(shù)據(jù)交互場(chǎng)景幫助用戶快速掌握HAL庫下CAN外設(shè)配置、消息發(fā)送/接收、錯(cuò)誤處理及雙機(jī)協(xié)同調(diào)試等核心能力。壓縮包共195個(gè)文件含107個(gè)頭文件定義寄存器映射與接口、69個(gè)C源文件涵蓋HAL驅(qū)動(dòng)、主邏輯與CAN協(xié)議棧實(shí)現(xiàn)、14個(gè)匯編啟動(dòng)文件及KEIL工程配置文件uvprojx/uvoptx整體大小為1.76MB結(jié)構(gòu)完整、模塊清晰便于逐層理解與移植。已有200人學(xué)習(xí)下載配套代碼注釋詳盡關(guān)鍵引腳定義、時(shí)鐘配置與CAN濾波器設(shè)置均在源碼中標(biāo)明附帶重置編譯環(huán)境的bat腳本顯著降低IDE適配門檻內(nèi)容預(yù)覽顯示工程已集成UART、SPI、I2C、ADC等多外設(shè)HAL驅(qū)動(dòng)具備向復(fù)雜傳感器融合系統(tǒng)擴(kuò)展的基礎(chǔ)支撐能力。1. 項(xiàng)目背景與CAN總線通訊的價(jià)值最近在整理一個(gè)老項(xiàng)目的代碼翻出來一個(gè)基于STM32F103的CAN雙機(jī)通訊例程用的是HAL庫。這個(gè)項(xiàng)目當(dāng)時(shí)是為了實(shí)現(xiàn)兩個(gè)設(shè)備間的實(shí)時(shí)數(shù)據(jù)交換比如傳感器數(shù)據(jù)采集和運(yùn)動(dòng)控制指令下發(fā)。CAN總線在工業(yè)控制、汽車電子這些領(lǐng)域用得非常多它的核心優(yōu)勢(shì)在于多主、高可靠、抗干擾。簡(jiǎn)單來說它不像I2C或者UART那樣有明確的主從之分總線上任何一個(gè)節(jié)點(diǎn)都可以主動(dòng)發(fā)消息而且通過一套復(fù)雜的錯(cuò)誤檢測(cè)和仲裁機(jī)制保證了即使在惡劣的電氣環(huán)境下通訊也能穩(wěn)定進(jìn)行。對(duì)于STM32F103這類經(jīng)典的Cortex-M3內(nèi)核單片機(jī)其內(nèi)置的bxCAN控制器功能相當(dāng)完整配合ST提供的HAL庫能讓我們把更多精力放在應(yīng)用邏輯上而不是底層的寄存器操作。這個(gè)例程雖然基礎(chǔ)但涵蓋了從CubeMX配置、過濾器設(shè)置、中斷處理到數(shù)據(jù)收發(fā)的完整鏈路是理解CAN通訊一個(gè)很好的切入點(diǎn)。2. 硬件連接與CubeMX工程配置詳解搞CAN通訊第一步永遠(yuǎn)是硬件。STM32F103的CAN接口通常映射到特定的GPIO上最常見的是PA11(CAN_RX)和PA12(CAN_TX)。你需要確保這兩個(gè)引腳通過一個(gè)CAN收發(fā)器比如經(jīng)典的TJA1050連接到CAN總線上。總線兩端必須各接一個(gè)120歐姆的終端電阻這個(gè)電阻對(duì)于消除信號(hào)反射、保證信號(hào)完整性至關(guān)重要很多通訊不穩(wěn)定的問題都出在這里。軟件配置從STM32CubeMX開始。新建一個(gè)STM32F103C8Tx或其他對(duì)應(yīng)型號(hào)工程后關(guān)鍵步驟如下2.1 時(shí)鐘與引腳配置首先在Pinout Configuration標(biāo)簽頁下找到Connectivity-CAN1。將模式Mode設(shè)置為Normal。這時(shí)PA11和PA12會(huì)自動(dòng)被配置為CAN1_RX和CAN1_TX。接著去RCC復(fù)位和時(shí)鐘控制設(shè)置里將High Speed Clock (HSE)選為Crystal/Ceramic Resonator因?yàn)镃AN對(duì)時(shí)鐘精度有一定要求通常使用外部晶振更可靠。2.2 CAN參數(shù)配置點(diǎn)擊進(jìn)入CAN1的配置頁面這里有幾個(gè)核心參數(shù)需要關(guān)注Bit Timing Parameters位時(shí)序參數(shù)這是CAN配置的靈魂直接關(guān)系到通訊速率和穩(wěn)定性。它由Prescaler、Time Quanta in Bit Segment 1、Time Quanta in Bit Segment 2和ReSynchronization Jump Width共同決定。Prescaler預(yù)分頻器決定了時(shí)間單元Time Quantum, tq的長(zhǎng)度。tq (Prescaler) / (APB1總線時(shí)鐘頻率)。APB1時(shí)鐘在STM32F103上最高為36MHz。Bit Segment 1 (BS1)包含傳播段和相位緩沖段1用于補(bǔ)償網(wǎng)絡(luò)上的物理延遲。Bit Segment 2 (BS2)相位緩沖段2。ReSynchronization Jump Width (SJW)重新同步跳轉(zhuǎn)寬度決定了在一次重新同步中位時(shí)間可以被縮短或延長(zhǎng)多少個(gè)tq通常設(shè)置為1或2。一個(gè)常見的1Mbps125kbps更常用抗干擾性更好配置示例如下假設(shè)APB1時(shí)鐘為36MHz目標(biāo)波特率1Mbps。總的時(shí)間單元數(shù)Time Quanta (tq) 1 / (波特率 * tq時(shí)間)。但更直觀的方法是使用CubeMX的自動(dòng)計(jì)算功能或者手動(dòng)計(jì)算總tq數(shù) BS1 BS2 1同步段。為了穩(wěn)定性通??倀q數(shù)在8-25之間。例如設(shè)置Prescaler3BS113 tqBS22 tqSJW1 tq。則tq 3 / 36MHz ≈ 83.33ns。位時(shí)間 (1132)*83.33ns ≈ 1.33us對(duì)應(yīng)波特率約751kbps。需要反復(fù)調(diào)整Prescaler和段長(zhǎng)度直到接近目標(biāo)值。對(duì)于初學(xué)者可以先從125kbpsPrescaler12,BS113 tq,BS22 tq開始這是工業(yè)上非常常見的速率。Operating Mode操作模式選擇Normal即可。Loopback和Silent模式用于自測(cè)試和監(jiān)聽非常有用。功能使能務(wù)必勾選CAN Interrupts下的FIFO0 message pending interrupt或FIFO1 message pending interrupt或兩者都勾選這樣收到消息時(shí)才能觸發(fā)中斷。通常使用FIFO0就夠了。配置完成后生成代碼。CubeMX會(huì)幫我們初始化好GPIO、時(shí)鐘和CAN外設(shè)的基本參數(shù)并生成中斷服務(wù)函數(shù)CAN1_RX0_IRQHandler的框架。3. CAN過濾器配置精準(zhǔn)接收的關(guān)鍵CAN總線是廣播式的總線上所有消息所有節(jié)點(diǎn)都能“聽到”。過濾器Filter的作用就是設(shè)置一個(gè)“關(guān)卡”只讓符合特定規(guī)則的消息進(jìn)入單片機(jī)的接收FIFO從而減輕CPU負(fù)擔(dān)。這是CAN應(yīng)用開發(fā)中必須理解的一環(huán)。STM32的bxCAN提供了兩種基本的過濾模式標(biāo)識(shí)符列表模式和標(biāo)識(shí)符掩碼模式。列表模式過濾器像一個(gè)嚴(yán)格的名單只接收ID完全等于預(yù)設(shè)值的報(bào)文。掩碼模式過濾器像一個(gè)模糊匹配的規(guī)則。你設(shè)置一個(gè)ID值和一個(gè)掩碼Mask。掩碼位為1表示必須嚴(yán)格匹配ID對(duì)應(yīng)位為0表示不關(guān)心。例如ID0x123 Mask0x7F0。那么所有ID的高8位0x12必須匹配低4位任意。這常用于接收一組ID連續(xù)的報(bào)文。在HAL庫中我們通過HAL_CAN_ConfigFilter函數(shù)來配置。配置通常在CAN啟動(dòng)前進(jìn)行。一個(gè)典型的配置掩碼模式過濾器的代碼如下CAN_FilterTypeDef sFilterConfig; sFilterConfig.FilterBank 0; // 使用第0組過濾器F103有14組 sFilterConfig.FilterMode CAN_FILTERMODE_IDMASK; // 掩碼模式 sFilterConfig.FilterScale CAN_FILTERSCALE_32BIT; // 32位寬模式 sFilterConfig.FilterIdHigh 0x0000; // 期望的ID高16位 sFilterConfig.FilterIdLow 0x0000; // 期望的ID低16位 sFilterConfig.FilterMaskIdHigh 0x0000; // 掩碼高16位 sFilterConfig.FilterMaskIdLow 0x0000; // 掩碼低16位 sFilterConfig.FilterFIFOAssignment CAN_RX_FIFO0; // 匹配到的報(bào)文存到FIFO0 sFilterConfig.FilterActivation ENABLE; // 使能該過濾器 sFilterConfig.SlaveStartFilterBank 14; // 對(duì)于單CAN設(shè)備此參數(shù)無效 if (HAL_CAN_ConfigFilter(hcan1, sFilterConfig) ! HAL_OK) { Error_Handler(); }這段代碼將過濾器0配置為32位掩碼模式并且ID和掩碼都設(shè)為0。這意味著不進(jìn)行任何過濾接收所有報(bào)文。這在開發(fā)調(diào)試初期非常有用可以確保能收到數(shù)據(jù)。在實(shí)際應(yīng)用中你需要根據(jù)通訊協(xié)議規(guī)劃設(shè)置具體的ID和掩碼。例如如果你只想接收標(biāo)準(zhǔn)ID為0x100到0x10F的報(bào)文可以設(shè)置期望ID為0x100掩碼為0x7F0二進(jìn)制11111110000這樣低4位不關(guān)心高7位標(biāo)準(zhǔn)ID共11位必須匹配0x100的高7位。注意過濾器的配置必須在CAN處于初始化模式HAL_CAN_Init之后HAL_CAN_Start之前下進(jìn)行。一旦CAN啟動(dòng)過濾器配置就被鎖定了除非重新進(jìn)入初始化模式否則無法修改。4. 中斷服務(wù)函數(shù)與報(bào)文接收處理流程配置好過濾器并啟動(dòng)CANHAL_CAN_Start后當(dāng)有匹配的報(bào)文到達(dá)就會(huì)觸發(fā)我們之前使能的中斷。中斷服務(wù)函數(shù)CAN1_RX0_IRQHandler中會(huì)自動(dòng)調(diào)用HAL庫的回調(diào)函數(shù)HAL_CAN_RxFifo0MsgPendingCallback。我們的核心接收邏輯就寫在這個(gè)回調(diào)函數(shù)里。這個(gè)回調(diào)函數(shù)的工作流程是標(biāo)準(zhǔn)化的檢查中斷來源回調(diào)函數(shù)被調(diào)用意味著FIFO0有消息掛起。讀取報(bào)文使用HAL_CAN_GetRxMessage函數(shù)從指定的FIFO這里是FIFO0中把報(bào)文數(shù)據(jù)拷貝到一個(gè)CAN_RxHeaderTypeDef存放報(bào)文頭信息如ID、類型、長(zhǎng)度DLC和一個(gè)數(shù)據(jù)數(shù)組中。處理數(shù)據(jù)根據(jù)報(bào)文頭中的ID解析數(shù)據(jù)數(shù)組中的內(nèi)容執(zhí)行相應(yīng)的應(yīng)用邏輯如更新變量、設(shè)置標(biāo)志位、轉(zhuǎn)發(fā)數(shù)據(jù)等。釋放FIFO處理完成后HAL庫在HAL_CAN_GetRxMessage內(nèi)部通常會(huì)管理FIFO的出隊(duì)我們無需手動(dòng)操作。一個(gè)典型的接收回調(diào)函數(shù)實(shí)現(xiàn)如下// 定義全局或靜態(tài)變量用于接收 CAN_RxHeaderTypeDef RxHeader; uint8_t RxData[8]; // CAN一幀最多8字節(jié) void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan) { if(hcan-Instance CAN1) // 判斷是哪個(gè)CAN實(shí)例觸發(fā) { // 1. 讀取報(bào)文 if (HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, RxHeader, RxData) HAL_OK) { // 2. 處理數(shù)據(jù) uint32_t receivedId RxHeader.StdId; // 獲取標(biāo)準(zhǔn)ID uint8_t dataLength RxHeader.DLC; // 獲取數(shù)據(jù)長(zhǎng)度 // 示例如果ID是0x101則將數(shù)據(jù)作為32位整數(shù)處理 if (receivedId 0x101 dataLength 4) { uint32_t sensorValue (RxData[3] 24) | (RxData[2] 16) | (RxData[1] 8) | RxData[0]; // ... 使用sensorValue ... } // 可以根據(jù)不同的ID添加更多的處理分支 } } }這里的關(guān)鍵是HAL_CAN_GetRxMessage函數(shù)它一次性完成了報(bào)文的提取。RxHeader結(jié)構(gòu)體包含了幀的所有元信息RxData數(shù)組存放了有效數(shù)據(jù)載荷。5. 報(bào)文發(fā)送流程與HAL_CAN_AddTxMessage的使用發(fā)送報(bào)文比接收要主動(dòng)一些。核心函數(shù)是HAL_CAN_AddTxMessage。發(fā)送前你需要填充一個(gè)CAN_TxHeaderTypeDef結(jié)構(gòu)體來描述要發(fā)送的報(bào)文并準(zhǔn)備好數(shù)據(jù)緩沖區(qū)。發(fā)送流程通常如下準(zhǔn)備報(bào)文頭設(shè)置ID標(biāo)準(zhǔn)或擴(kuò)展、幀類型數(shù)據(jù)幀或遠(yuǎn)程幀通常用數(shù)據(jù)幀CAN_RTR_DATA、數(shù)據(jù)長(zhǎng)度DLC0-8。準(zhǔn)備數(shù)據(jù)將待發(fā)送的數(shù)據(jù)填入一個(gè)uint8_t數(shù)組。選擇郵箱并發(fā)送CAN控制器有3個(gè)發(fā)送郵箱。調(diào)用HAL_CAN_AddTxMessage函數(shù)會(huì)找一個(gè)空閑的郵箱將報(bào)文裝載進(jìn)去并自動(dòng)啟動(dòng)發(fā)送。你可以指定一個(gè)uint32_t變量來獲取實(shí)際使用的郵箱號(hào)。檢查發(fā)送完成可以通過輪詢方式檢查HAL_CAN_GetTxMailboxesFreeLevel或者使用發(fā)送完成中斷HAL_CAN_TxMailbox0CompleteCallback來確認(rèn)發(fā)送成功。一個(gè)阻塞式輪詢等待的發(fā)送函數(shù)示例uint8_t sendCANMessage(uint32_t id, uint8_t* data, uint8_t len) { CAN_TxHeaderTypeDef TxHeader; uint32_t TxMailbox; // 1. 填充報(bào)文頭 TxHeader.StdId id; // 標(biāo)準(zhǔn)ID TxHeader.ExtId 0; // 擴(kuò)展ID標(biāo)準(zhǔn)幀時(shí)設(shè)為0 TxHeader.IDE CAN_ID_STD; // 標(biāo)識(shí)符類型標(biāo)準(zhǔn)幀 TxHeader.RTR CAN_RTR_DATA; // 幀類型數(shù)據(jù)幀 TxHeader.DLC len; // 數(shù)據(jù)長(zhǎng)度 TxHeader.TransmitGlobalTime DISABLE; // 2. 發(fā)送報(bào)文 if (HAL_CAN_AddTxMessage(hcan1, TxHeader, data, TxMailbox) ! HAL_OK) { return 0; // 發(fā)送失敗 } // 3. 可選簡(jiǎn)單輪詢等待發(fā)送完成超時(shí)處理 uint32_t tickstart HAL_GetTick(); while(HAL_CAN_GetTxMailboxesFreeLevel(hcan1) ! 3) // 等待3個(gè)郵箱都空閑 { if((HAL_GetTick() - tickstart) 100) // 超時(shí)100ms { return 0; } } return 1; // 發(fā)送成功 }在實(shí)際應(yīng)用中更推薦使用非阻塞的中斷方式進(jìn)行發(fā)送。在CubeMX中使能CAN1_TX中斷然后在發(fā)送函數(shù)中不進(jìn)行輪詢等待。發(fā)送請(qǐng)求提交后函數(shù)立即返回。當(dāng)硬件真正發(fā)送完成時(shí)會(huì)觸發(fā)CAN1_TX_IRQHandler進(jìn)而調(diào)用對(duì)應(yīng)的回調(diào)函數(shù)如HAL_CAN_TxMailbox0CompleteCallback你在回調(diào)函數(shù)里處理發(fā)送成功后的邏輯如釋放資源、觸發(fā)下一個(gè)發(fā)送等這樣不會(huì)阻塞主程序。6. 雙機(jī)通訊例程的完整框架與主循環(huán)設(shè)計(jì)一個(gè)完整的雙機(jī)通訊例程需要兩個(gè)STM32節(jié)點(diǎn)。它們的硬件連接相同軟件配置也基本相同波特率、位時(shí)序必須完全一致。區(qū)別可能在于節(jié)點(diǎn)地址/ID規(guī)劃每個(gè)節(jié)點(diǎn)應(yīng)有自己唯一的發(fā)送ID以及需要監(jiān)聽的其他節(jié)點(diǎn)的ID。例如節(jié)點(diǎn)A發(fā)送ID為0x101接收ID為0x102節(jié)點(diǎn)B則相反。過濾器配置根據(jù)上述ID規(guī)劃配置各自的接收過濾器。主程序的設(shè)計(jì)通常是一個(gè)超級(jí)循環(huán)while(1)里面包含狀態(tài)機(jī)或定時(shí)任務(wù)。一個(gè)典型的結(jié)構(gòu)是初始化HAL_Init,SystemClock_Config,MX_GPIO_Init,MX_CAN_Init,MX_USART1_Init用于調(diào)試打印等。配置過濾器并啟動(dòng)CAN同時(shí)使能接收中斷HAL_CAN_ActivateNotification(hcan1, CAN_IT_RX_FIFO0_MSG_PENDING)。進(jìn)入主循環(huán)定時(shí)發(fā)送使用HAL_Delay或硬件定時(shí)器周期性地如每100ms組織數(shù)據(jù)并調(diào)用發(fā)送函數(shù)。處理接收數(shù)據(jù)接收數(shù)據(jù)的處理在中斷回調(diào)函數(shù)中完成主循環(huán)可以通過檢查回調(diào)函數(shù)中設(shè)置的全局標(biāo)志位來執(zhí)行一些非實(shí)時(shí)或復(fù)雜的后續(xù)邏輯。狀態(tài)指示與調(diào)試根據(jù)通訊狀態(tài)控制LED閃爍或者通過串口打印關(guān)鍵信息如發(fā)送/接收計(jì)數(shù)、錯(cuò)誤狀態(tài)這對(duì)于調(diào)試至關(guān)重要。這里有一個(gè)關(guān)鍵點(diǎn)中斷回調(diào)函數(shù)里做的事情要快。只做最必要的拷貝和設(shè)置標(biāo)志位把耗時(shí)的處理如復(fù)雜的計(jì)算、格式化字符串打印放到主循環(huán)中基于標(biāo)志位去執(zhí)行。否則可能因?yàn)橹袛嗵幚頃r(shí)間過長(zhǎng)導(dǎo)致丟失后續(xù)報(bào)文或系統(tǒng)響應(yīng)變慢。7. 調(diào)試技巧與常見問題排查CAN通訊調(diào)試光看代碼不行必須借助工具。最常用的就是USB-CAN適配器如周立功、創(chuàng)芯科技等品牌的產(chǎn)品配合上位機(jī)軟件如CANTest、CANPro、PCAN-View等。它能讓你直觀地看到總線上流動(dòng)的所有報(bào)文包括ID、數(shù)據(jù)、幀類型這是定位問題最快的方法。以下是幾個(gè)最常見的坑和排查思路問題一根本收不到任何報(bào)文。檢查硬件這是第一步也是最容易出錯(cuò)的一步。用萬用表測(cè)量CAN_H和CAN_L之間的電阻在總線兩端都連接的情況下應(yīng)該是60歐姆左右兩個(gè)120歐并聯(lián)。如果電阻是120歐或無窮大說明終端電阻沒接或只接了一端。再檢查TJA1050的電源、STM32與TJA1050之間的連接是否正確。檢查波特率兩個(gè)節(jié)點(diǎn)的波特率配置必須一字不差。用示波器測(cè)量CAN_H和CAN_L的差分信號(hào)計(jì)算位寬是最直接的方法?;蛘邔蓚€(gè)節(jié)點(diǎn)都配置為環(huán)回模式CAN_MODE_LOOPBACK自己發(fā)自己收如果能通則說明軟件配置和驅(qū)動(dòng)電路基本沒問題問題很可能出在總線連接或另一個(gè)節(jié)點(diǎn)上。檢查過濾器確認(rèn)是否因?yàn)檫^濾器設(shè)置過于嚴(yán)格把想要的報(bào)文過濾掉了。調(diào)試初期可以先將過濾器配置為接收所有報(bào)文掩碼全0確保物理層和數(shù)據(jù)鏈路層是通的。檢查中斷是否使能確認(rèn)HAL_CAN_ActivateNotification被調(diào)用且對(duì)應(yīng)的中斷向量表配置正確CubeMX通常已處理好。問題二能收到部分報(bào)文但時(shí)通時(shí)斷或者出現(xiàn)錯(cuò)誤幀。檢查總線負(fù)載如果報(bào)文發(fā)送太頻繁可能導(dǎo)致總線擁堵。CAN控制器有錯(cuò)誤計(jì)數(shù)和自動(dòng)離線管理功能錯(cuò)誤過多會(huì)進(jìn)入離線狀態(tài)。可以通過HAL_CAN_GetError函數(shù)獲取錯(cuò)誤狀態(tài)。檢查電源與地線強(qiáng)烈的共模干擾會(huì)導(dǎo)致通訊錯(cuò)誤。確保各個(gè)節(jié)點(diǎn)的電源干凈并且共地良好。在干擾大的環(huán)境可以考慮使用帶隔離的CAN收發(fā)器模塊。查看錯(cuò)誤計(jì)數(shù)器HAL庫提供了HAL_CAN_GetError函數(shù)可以讀取接收錯(cuò)誤計(jì)數(shù)器REC和發(fā)送錯(cuò)誤計(jì)數(shù)器TEC。如果它們持續(xù)增長(zhǎng)說明總線存在物理問題或嚴(yán)重的仲裁失敗。問題三數(shù)據(jù)內(nèi)容不對(duì)。檢查字節(jié)序這是最經(jīng)典的坑。CAN報(bào)文數(shù)據(jù)場(chǎng)是8字節(jié)的數(shù)組對(duì)于多字節(jié)數(shù)據(jù)如int32_t, float發(fā)送方和接收方必須約定好字節(jié)序大端還是小端。通常的做法是約定小端模式即低字節(jié)在前。在上一節(jié)的接收示例中sensorValue的拼接方式就是小端。檢查DLC確保發(fā)送方設(shè)置的DLC和實(shí)際拷貝的數(shù)據(jù)長(zhǎng)度一致并且接收方按照DLC來解析數(shù)據(jù)。使用調(diào)試工具用USB-CAN適配器抓取總線上的原始報(bào)文對(duì)比發(fā)送的數(shù)據(jù)和接收的數(shù)據(jù)一眼就能看出是發(fā)送端數(shù)據(jù)組織錯(cuò)了還是接收端解析錯(cuò)了。8. 從基礎(chǔ)例程到實(shí)際項(xiàng)目的進(jìn)階思考這個(gè)雙機(jī)通訊例程跑通只是萬里長(zhǎng)征第一步。在實(shí)際項(xiàng)目中我們還需要考慮更多1. 協(xié)議設(shè)計(jì)裸的CAN幀只有ID和數(shù)據(jù)場(chǎng)你需要在上層定義一套應(yīng)用層協(xié)議。例如如何區(qū)分命令幀、數(shù)據(jù)幀、應(yīng)答幀如何實(shí)現(xiàn)多幀傳輸數(shù)據(jù)大于8字節(jié)如何加入校驗(yàn)如CRC常見的簡(jiǎn)易做法是利用ID的高位作為“幀類型”數(shù)據(jù)場(chǎng)的第一個(gè)字節(jié)作為“命令字”或“數(shù)據(jù)索引”。2. 錯(cuò)誤處理與恢復(fù)增加對(duì)HAL_CAN_ErrorCallback回調(diào)函數(shù)的處理監(jiān)控總線錯(cuò)誤、被動(dòng)錯(cuò)誤、離線等狀態(tài)。當(dāng)檢測(cè)到總線關(guān)閉時(shí)可以嘗試執(zhí)行HAL_CAN_ResetError然后重新初始化CAN外設(shè)實(shí)現(xiàn)自動(dòng)恢復(fù)。3. 使用FreeRTOS等RTOS在復(fù)雜的系統(tǒng)中CAN通訊最好放在一個(gè)獨(dú)立的RTOS任務(wù)中。接收中斷通過隊(duì)列Queue或信號(hào)量Semaphore將報(bào)文傳遞給處理任務(wù)發(fā)送也通過隊(duì)列進(jìn)行緩沖。這樣可以避免在中斷服務(wù)函數(shù)中處理復(fù)雜邏輯也使得發(fā)送非阻塞化系統(tǒng)架構(gòu)更清晰。4. 性能優(yōu)化對(duì)于高頻發(fā)送使用三個(gè)發(fā)送郵箱并配合DMA如果支持可以顯著提高效率。合理規(guī)劃過濾器組減少軟件過濾的開銷。如果接收數(shù)據(jù)量很大確保接收FIFO的溢出中斷被使能并妥善處理防止數(shù)據(jù)丟失。5. 代碼封裝將CAN的初始化、發(fā)送、接收回調(diào)處理封裝成獨(dú)立的模塊.c/.h文件。對(duì)外提供清晰的接口如CAN_Init(),CAN_SendMsg(msg_t* msg),CAN_RegisterRxCallback(callback_func)。這樣主程序代碼會(huì)更簡(jiǎn)潔模塊也更容易移植到其他項(xiàng)目。最后這個(gè)基于HAL庫的例程最大的好處是跨STM32系列芯片的兼容性比較好。當(dāng)你從F103切換到F4、F7甚至H7系列時(shí)CAN外設(shè)的基本操作和HAL API是一致的主要差異可能在于時(shí)鐘配置和部分高級(jí)特性。掌握這個(gè)基礎(chǔ)框架再去看ST官方更復(fù)雜的例程如CAN FD、CANopen等就會(huì)容易得多。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
精品久久久av| 亚春色色| 亚洲色图欧美视频| 日韩欧洲操屄视频| 国产丝袜高跟美女av免费观看| 国产女人和拘做爰视频| 男人的天堂一区| 天天日日本| 国产精品久久久三级无码| 精品视频在线观看| 欧美激情一区| 欧美综合狠| 久插综合| 色九九九九久| 男人兔费天堂| 强奸乱伦av电影| 蜜臀久久99精品久久久久| 欧美超碰人妻97| 91人妻爽爽人人做人人澡| 天天色,天天干,天天干| yw尤物av无码点击进入麻豆| 欧美91网| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 久久女人视频| 成人贴图日韩欧美| 乱伦1色页| 性饥渴少妇av无码毛片| 沈阳熟女高潮对白视频| 校园激情狠狠四射| 亚洲无码一区成人免费午夜| 欧美姓爱综合网| 秋霞一区二区三区四区五区六区七区| 麻豆九九九| www色色com| 乳欲人妻办公室奶水| 思思热在线视频在线| 综合少妇网| 色综合久久夜色精品国产天堂| 日本午夜精品理论片A级APP发布| 成人av免费观看| 亚洲Av无码成人精品国产| 一级人妻性爱视频| 91社操逼| 97最新在线播放视频| 最新国产精品久久精品| 日本一区二区成人在线| 色婷婷久久| 最近的最新的中文字幕视频| 亚洲色图日韩精品| 黄片直播三级黄片两女一男| 五月天婷婷欧美三区| 成人无码影片视频在线| 自偷自拍的亚洲视频| 熟女色综合久久| 久久久久久亚洲Av无码| 精品高清一区二区三区三州| 秋霞一级视频在线观看免费| 日韩性色b| 亚州精人品大香蕉| 久久大陆| 日韩99神马视频片| 青青在线视频日韩欧美| 国产高清成人mv在线观看| 东北丰满熟女国产一区| 超碰人人妻| 欧美图片校园春色| 日本不卡高清免v欧美日韩在线观看| 人妻无一区二区三区| 肉动漫无遮挡h在线观看| 摸奶性爱视频网站在线免费播放| 久久91精品国产9丨久久分亭| 嫩草一区二区在线观看| 中文字幕五区| 新精精品久久精品| 亚洲欧美碰碰| 免费看片黄| 啪啪免费| 91丝袜在线视频| 精品综合久久久久久97| 天美传媒AV在线播放| 免费岛国一级片| 人妻久久一区二区三区 | 久久精品国产97欧美精品亚洲 | 理论久久婷婷网8| 岛国免费视频在线| 爱射综合| 色踪合AV| 亚洲乱码精品一区二区| 操逼日韩无码| 亚洲在钱| 亚洲在线网站| 夜夜草网站| 2000亚洲男人天堂| 中文字幕后石码四区五区| 中文字幕五月婷婷免费| 亚洲国产日韩欧美熟妇在线| 手机久操欧美综合色码| 日韩三级av片| 小草精彩毛片| 96麻豆精品一区二区三区| 人妻性爱一区二区| 熟女精品一区二区三区| 91美女国产在线| 久久综合久色欧美综合狠狠 | 97超碰欧美中文字幕| 翔田千里无码一区| 日韩草久视频| 精品国产乱码久久久久久久久久毛片| 51国产午夜精品视频| 天天爽天天爽| 深夜激情| av一区二区三区 中文| 婷婷激情五月综合| 婷婷国产精品一区二区| 在线欧美69V免费观看视频| 91亚洲青青草原精品1区| 97K超碰在线| 亚洲精品国产熟女久久久久久| 日本在线一二| 日韩成人小视频| 精品国产丝袜一区二区三区乱码| 蜜桃色院一区久久 | 日韩性爱小视频| 五月天丁香网| 91色综合| 一品道视频一区二区三区| 成人草草视频| 美国一区二区免费视频| 国产情色第一第二页在线观看| 日产操逼| 亚洲人在线| 超碰色图| 亚洲国产欧美日韩人妻日中文| 操逼片中文| 狠狠搞 亚洲91| 丝袜 中出 制服 人妻 美腿 中文字幕| 国产一级内射无挡观看| 台湾肥佬网一区二区三区| 一二三区操逼国产91| 青娱乐 成人娱乐在线| 国产噜噜噜噜噜久久久久久久久| 黄色片一区二区三区四区五区| 久久精精区一区二区一蜜桃一区二区| 狼人狠干| 欧美精品第四五页中文字幕在线观看| 三级精品三级在线观看| 丝袜无码a片| 懂色中文一区二区三区 | 东京热99999| 干干干天天| 麻豆黄站| 丁香五月av| 精品人妻一区二区三区视频在线| 九九AV| 怡春院久久| 91N欧美| 日韩成人性日韩成人性爱视频在线免费观看 | 在线播放一级无码视频| 大白逼三四级| 99久久无色码| 精品在线观看视频在线| 淫荡网址| 东北操逼| 亚洲国产一区二区三区在线| www.yeyecao| 国产成人亚洲精品无码古代早漏男| 欧美少妇高潮久久91| 欧美日韩国产高清在线一二三区| 成人AV在线网站| 天天日日夜夜| 日韩中文字幕在线视频观看| 亚洲欧美在线丝袜| 性色高清在线| 长长久久免费视频| 国产午夜在线观看视频| 超碰偷拍| 青青草啪啪网| 丁香五月影院| 亚洲国产精品成人综合| 91色狼| 色在线69堂| 性爱动态120秒| 1人人看人人摸人人操| 成人一级二级| 97人人爱人人做人人乐| av大香蕉| 户外裸露刺激视频第一区| 十八禁黄色| aaa淫乱视频| 亚洲精品中文字幕一区在线视频| 欧美亚洲天堂| 91女色| 97er欧美性| 欧美人妻精品| 蜜桃臀av在线观看| 天天做日日做天天欢。| 黄片免费视频2019| 亚洲伊人成综合成人网| **一级毛片国产| 日韩精品在线放| 91美女小视频| 亚洲综人| 97久久国产亚洲精品超碰热| 搞中出视频在线观看| 日本三级韩三级99久久| 在线观看精品国产免费| 18禁精品网站在线看| 美女黄站| 中文字幕后石码四区五区| 欧美乱妇狂野欧美在线视频| 亚州色图狠狠干| 五月丁香六月激情综合| 婷婷色婷婷| 久久人人爽人人爽人人片Ⅴ| 日韩欧美一级特黄大片| 日韩成人精品| 一个色导综合| 中文字幕乱码人妻二区三区| 日韩黄片影院| wwwxxx日本爽| AA级电影三区| 成人av影院在线观看| 色呦呦国产精品免费看| 国产偷拍网站| 国产综合在线视频网站| AV和黑人在线播放| 国产精品黄色三级av| 人人操人人色人人摸| 久久97| 欧差乱伦二三| 久久久99免费| 欧美大干日韩| 国产欧美日产一区二区三区 - 国产欧美日 | 老鸭窝日丰县女人| 精品二区久久| 99re超碰| 亚洲欧美综合区自拍另类| 五月天亚洲色图| 欧美牲| 久久精品国产亚洲AV高清演员表| 欧美一级特黄淫片在线观看| 亚洲一卡2卡3卡4卡乱码网站| 亚洲二区精品在线观看| 久9视频| 免费a在线播放v| 久久久婷婷婷| 国产精品欧美激在线| 人妻天天爽夜夜爽爽| 午夜呻吟欧美| 国产97在线播放| 欧美天天弄| 91看黄片| 五月婷婷爱六月丁香色| 最新加勒比丝袜在线| 99re9这里只有精品| 91男同| 日本色日夜干| 激情无码日韩| 超碰激情808| 日韩一级二级三级免费看完整版国语版 | 欧美一区二区三熟女剧情| 日韩欧美久久婷婷网站| 无码九九九九| 亚洲超碰在线| 国产亚洲福利第一页丝袜| 97综合日韩| 99色天堂| 91操人视频| 99热精品国产| 国产欧美一区二区| 久久人妻办公室视频| 免费啪啪一级视频| 强奸乱伦Av网| 久久夜黄色无码A级大片| 欧美96精品在线| 久久春色| 国产精品久久久| 大鸡巴久久| 国产成人精品午夜福利| 超碰97在线中文| 亚洲欧美精品久| 亭亭在线资源| 秘书高跟黑色丝袜国产91在线| 欧美中文字幕男人天堂久久精品| 亚洲欧洲视频小说在线观看| 韩国女主播青草在线| www.99热在线只有精品| 和协影院中文字幕三区| 精品国产乱码久久久久久久| 91综合网站| 97免费视频在线观看| 黑人免费福利视频| 久久久久ab| 男人天堂网手机版婷婷| 78超碰| 蜜臀99久久国产| 2017天天插| 黄片免费视频2019| 99热在线观看| 亚洲有码第一页| 97色色色| 蜜臀AV网站| 亚洲国产精品乱码在线观看| 九九免费影片| 东北少妇高潮zzzz| 无码国产精品午夜不卡(| 亚洲AV资源| 天天天做天天天爱天天天爽| 亚洲国产美女久久久久| 高清无码国产亚洲| 久操视频在线观看| 婷婷色综合| 加勒比av官网在线| 中文字幕国产| 99综合网| 国产人妻一区二区三区欧美毛片| 久久久91| 少妇熟女视频一区二区三区 | 97K超碰在线| 最好看的中文字幕在线2018| 男人下部插入女人下部 | 96精品久久久| 无码操逼网| 97干在线看| 国产农村妇女毛片精品久久| 伊人影院综合是一个与深夜成人在线| 欧美 青青草| 中文字幕一区二区无码成人| 久草网站免费在线观看| 日韩中文字幕熟妇人妻| 国产亚洲日韩欧| 久久超碰亚洲人| 狠狠色噜噜狠狠狠狠2018| 91在线视频免费中出| 夜夜爽夜夜| 夜夜操av亚洲一区二区| av一区二区三区四区| 国产乱弄免费在线视频。| 校园春色五月天| 亚洲清纯综合| 澳门特级毛片免费观看| 亚洲色图欧美色18直播在线| 精品少妇一区二区三区免费观看| 久久美国毛片| 久操网视频| 国产九九九九九九| 色婷婷丁香五月| 超碰精品国产无码| 精品免费成人久久| 另类图片五月| 激情接吻视频久久久久久| 日韩99999| 六月婷婷一区二区三区| 另类小色呦| 亚洲校园激情| 91草草草| 亚洲高潮少妇| 亚洲无码?第一页| 久久综合97| 人人操我人人干| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 日韩av无码网站| 草草草视频| 91熟女视频| 亚洲国产综合久久久性感熟妇| 人人看人人插| 97欧美日韩| 天综合网欧美| 99精品伊人| 中文字幕制服欧美久久一区| 国产AV高清AV无码| 日本欧美韩国国产在线| 97综合| 超碰吊日色| 国产外初女出血视频| 日韩15p| 欧美另类自拍| 久久久久ab| 操我啊啊啊啊啊| 久久HD| 男人的天堂午夜av| 高清在线不卡一区二区 视频| 国产熟妇 码视频户外直播| 国产丁香精品露脸视频 | 亚洲骚逼少妇| 日韩猛交| 中文乱码字字幕在线第5页| 在线免费试看60秒| 亚洲性感丝袜诱惑在线观看| 天操天操夜操夜月月年年操操 | 日韩综合97p| 天天干夜夜鈤| 国产超碰欧美| 啊啊啊男女| 国产精品久久泡妞网站| 91美女国产在线| 91精品导航| 九九九精品| 黄片国产精品一区二区| 在线精品福利免费播放| 国产剧情一区在线观看| 精品久久久久黄少妇| 亚洲女人毛茸茸91| 日韩啪啪视频| 国产av高清版| 国产suv精品一区二区四区999| 欧美白嫩在线放| 亚洲三级。日韩三级| 在线视频亚洲无码| 黄网在线播放| 中文字幕亚洲欧美在线不卡| 欧美亚洲影视| 99re超碰| 开心婷婷五月| 2017超碰| 成人av在线播放| 玖玖玖玖精品国产剧情| 久久9 9 9精品| 亚洲脚交| 操逼视频亚洲| 欧美综合网1| 国产在线视频午夜精华在| 黄片在线免费在线观看| 性爱动态120秒| 日韩亚洲97| 青青草福利视频| 免费看欧美美女黄色大片| 密臀视频三区免费网站| 成人性爱高清视频免费看| 一区二区三区四区五区高清无码永久视频 | 91性高朝久久久久久久久| 91东京热男人的天堂| 五月丁香狠狠爱| 快播久久人人aV| 久久久久亚洲?V片无码V| 91亚洲青青草原精品1区| 啊啊啊操死我了| 激情视屏国产乱伦强奸| 中文字幕av片| 黑人精品成人一区二区三区| 综合欧美日韩在线| 欧美精品一区二区少妇免费A片| 超碰99在线观看| 色色97爱| 黄页大片在线观看| 超碰97久久| 黄色成年| 日韩一级二级在线| 久久久99999久网站| 亚洲AV色图一区| 欧美激情内射| 天天躁日日躁成人字幕aⅴ| 麻豆一区二区三区精品| 国产亚洲美日韩Aⅴ中文字幕无码成人| 亚洲丝袜色| 国产午夜在线观看视频| 久久久久久久久久久999| 操老熟女AV| 亚洲国产一区二区入口| 色综合1991| 亚洲成人免费在线| 国内外毛片在线观看| WWW4虎| 91人妻尻屄视频| 国内成人圈中文字幕无码视频| 无码人妻精品一区二区三区九九| 中文字幕视频在线观看一区二区| 日本岛国黄色网址| 国产视频不卡在线观看| jk白丝没脱就开始啪啪| 人人操人人色人人摸| 久操免费在线| 啊啊啊想要| 色综合加勒比| 亚洲国产精品久久AV| 97在线观| 亚州综合网| 色一射色一射| 久久国产视频专区一二三| 亚洲人在线| 亚洲欧美setu| 久久熟女精品不卡一区| 97亚洲在线| J?P?NESEHD熟女熟妇伦| 天天操夜夜嗨| 婷婷五月激情综合| 久久这里精品国产99丫e6| 冬京热男人的天堂| 夜夜嗨免费视频| 亚洲黄色AV电影| 欧美亚洲自拍另类人妻| 人妻精品一区二区在线| 青草av在线| 日韩高潮一区| 成人在线午夜视频一区| 久久香蕉国产线看观看亚洲女人 | 激情综合五月婷婷| 欧美综合制服在线| 老熟乱一区二区三区四区| 呦呦一区| 精品-91人妻子系列| 日本熟妇精品九九| 91欧美偷拍| 91热色| 久96热在线观看视频| 亚洲精品国产专区在线观看| 乱精品一区字幕二区| 无码人妻精品一区二区三区九九| 蜜臀久久久99久久久久 | 性在久久久久久| 日日狠狠久久偷偷色综合免费| 久久综合精品一区二区三区| 日韩情色一区二区| 欧美日韩操逼嗦吊| 欧美熟女少妇| 大香蕉综合网| 亚洲日韩资源| 揉揉日日日日| 精品国产Av无码久久久亚洲| 午夜男人av| 欧美久热| 大香蕉中文aV在线| 91超碰丝袜制服| 老熟女网站| 密乳AV免费观看| 五月丁香六月婷综合成人综合| 夜夜肏2021| 少妇内射www在线观看视频| 97在线欧| 欧美中文字幕日韩在线| 久久久久久AV无码免费网站| 中文字幕制服欧美久久一区| 好湿好紧视频| 岛国大片国产| 亚欧精品久久久久久久久久久| 啊啊啊97视频| 欧美 色 亚洲| 午夜久久无码1000合集| 久久9亚洲| 亚洲欧美变态| 亚洲国产成人福利在线观看| 久久久久久夜夜夜夜夜| 91精品国| 久久毛卡| 99re只有精品| 国产99热| 欧美日韩99| 久久久久久久久久久久久久久久9| 欧美大的香蕉有线电视视频| 色色香蕉| 日逼五月天| 搡老女人老91妇女老熟女| 国产精品久久成人免费| 媚薬在线视频麻豆| 免费看黄片现成| 国产亚洲一黄| 99色热| 久久美女国产| 亚洲自拍欧美国产首页网曝| 精品九九九九| 婷婷五月丁香五月| 久久线上视频免费看| 十八禁成人网站在线观看| 黄色十八禁网站| 亚洲中文字幕在线视频一区二区| 丁香五月综合| 欧美综合综合| 亚洲av乱伦色图网站| AV色图| 欧美性爱日韩性爱| laoshunv91| 欧洲综合无码| 亚洲免费97免费| AV一起草在线| 97色涩| 中文字幕国产| 99国产精品久久久在线播放| 人人艹亚洲| 天天天天天天天天综合| 99久久久无码精品国产人| 久久只有精品一区二区三区| 欧美亚州手机在线| 久久久日本电影| 三级三级三级日本99| 东京太热男人的天堂久久久| 免费观看的av| 国产白丝精品在线观看| 午夜福利久久久噜久噜久久综合| 中文字幕丰满人妻日本| 伊人色综合超碰| 国产精品视频91久久| 国产AV人人 夜夜人人澡| 欧美精品23| 六月婷婷一区二区三区| 美国aaaaa一级黄片| 中文字幕午夜精品久久久| 91操人| 国产精品久久泡妞网站| 久久色激情一区二区三区| 日本伦乱九九九综合| 超碰97男人| 八人操人人摸人人看| 素人伊尹大香蕉免费下载视频| 91九色首页| 青娱乐国产剧情av一区| 国产美女激情| 免费观看啪视频| 欧美性第一页| 五月婷婷影院| 国产精品人妻无码久久久老鸭窝| 亚洲综合五月天| 免费在线看黄片av| 九九九九精品一区| 色999偷自拍拍| 日韩性爱网址| 亚洲色图综合网| 中国小夫妻勾搭露脸淫荡对白| 久久系列| 国产白领连续中出在线观看| 思思热久久成人| 欧美真人抽搐一进一出gif| 超碰欧美在线欧美| 韩日精品四区| 天天弄天天操| 亚洲 在线| 北条麻妃性愛视频| 中文啪啪视频| 最新啪啪视频| 亚洲日韩精品久久久久一区壹牛 | 9久9久| 在现视频女上位好爽| 国产精品制服丝袜清纯唯美| 久操免费在线| 丰满少妇精品一区二区| 欧美黄色图片| 激情五月婷婷| 欧美系列在线一区二区| а√天堂资源官网在线资源| 美女91网| 欧美激情亚洲情色| 综合久欧洲| 热久久这里只有精品| 亚洲1区2区三区高清中文字幕| 综合久久9| 欧美人妻久久精品二区三区| 国产精品爆乳懂色蜜乳| 久久久久女教师免费一区| 亚州欧美一区| 97内射偷拍| 夜夜操二区| 亚洲综合婷婷| 黄aaaaaaaaaaaaaaaaaa色网站| 国产精品视频自拍在线| 91精品人| 欧美97爱| 久久免费少妇| 78精品| 97精品一区二区视频在线观看| 欧美一级专区免费大片| 欧美精品 - 91爱爱| 精品视频123区小说区| 亚洲欧美精品91| 亚洲综合激情五月久久| 成人网址在线观看| 色噜噜人妻丝袜a∨先锋影| 芊芊操逼视频无码| 欧美aa一级片| 欧美91视频| 日日日日做夜夜夜夜无码| 精品高清av中文字幕| 日韩三级伦理中文字幕| 日韩肏逼视频| 日韩av性爱在线播放| 婷婷涩嫩草鲁丝久久午夜精品| 欧美一级二级三级| 高清孕妇孕交 交| BBBBB97COM| 人妻少妇精品视频一区二区三区| 久久久555| 男人天堂2019| 亚洲激情视频| 呦呦一区| 18禁在线视频| 韩三级a视频在线观看 | 91色夜| 日韩性色| 96精品久久久久久久久久| 精品少妇999| www久久国产精品| 操逼视频色| 精品一区二区成人| 伊人色综合网电影| 99色在线| 精品国产污一区二区三区| 嗯~啊~快点 死我视频| 第45页一区二区| 亚洲视频二区| 天天欧美97| 91人妻熟女| 精品人妻视频入口| 91快色色色色色| 欧美性生活综合| 日韩草久视频| 亚洲色香| 日本大香蕉综合网红本杳社区| 亚州精人品大香蕉| 国产自产91区13区| 狠狠爱AV| 国产精品福利视频| 亚欧免费| 91性高潮久久久久久久久| 亚洲五月丁香花狠狠干一区二区三区| 国产伦精品免编号公布| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 欧美人与动性人交a| 国产白嫩漂亮KTV在线| 大香蕉久久| 欧美色图私拍91| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 极品综合| 日本三级日本三级99| 人妻精品4K4K4K4K4| 超碰到97情色| 天天影视色香欲综合网小说| 日韩激情啪啪| 久久精品一区| 久久人妻熟女一区二区| 欧美一区二区三区另类精品| 黄污污污污| 亚州欧美总和| 国产一级内射高清视频| 免费啪啪一级视频| 99自拍B亚洲 | 欧美性爱日韩高清| 伊人久久婷婷| 青青草成人视频在线观看二区 | 午夜精品人妻二区三区| 亚洲激情片| 亚欧高清在线| 久久日本熟妇熟色高清| 97aiaiai| 丁香五月色| 亚洲色图综合网| 欧美操人视频| 日韩三级久久久| 亚洲脚交| 青娱乐国产盛宴视频| 毛片17S| 久久精品超碰| 亚洲精品国产精品乱码不99| 亚洲一区二区 麻豆传媒| 中国人高清www色视频免费| 激情久久久| 免费亚洲国产精品久久一区| 亚洲码在线中文在线观看| 91黑丝露脚| 999热日韩精品| 99久久久久久久久| jk白丝没脱就开始啪啪| 大鸡吧尹人在线| 九九九九AV| 六月激情婷婷| 揉揉揉夜夜| 人妻熟女av国产网站| 大香蕉青青9| 翔田千里一区二区三区奶水| 久久av网| 国产亚洲精品A在线观看下载| 日本 成 人 小说 电影 一区二区| 深夜激情| 91啪啪| 97亚洲在线| 日本超碰在线国产一区| 夜夜爽夜夜高潮夜夜爽| 99色在线| 熟妇熟女一区二区三区| 玖色AV| 欧美色图综合| 中文久久一区| 在线看的av| 亚洲老司机123专区| 777AV电影| 激情综合网一盗摄| 九九黄色视频在线观看| 中文字幕免费在线观看| 色综合久| 久久专区| 99热免费精品| 亚洲中文国际强奸字幕| 欧美性五月| 五月婷丁香| 欧洲精品一级二级精品综合视频综合 | 岛国黄| 国产中午字一暮区| 99色在线视频| 少妇久久久| 西西美女视频网| 综合久久六月久久婷婷| 精品一区二区2| 人妻久久久| 翔田千里爆乳巨臀无码| 操逼999| 亚洲视频1区| 黄色十八禁| 国产成人+综合亚洲+天堂| 亚州男人天堂| 久久精品视频28| 日本视频在线观看污污污| 亚洲少妇综合| 偷拍欧美激情| 成人亚欧免费视频| 99999久久精| 欧美天天谢综合网| 99久久久er直播网址| 亚洲欧美洲综合| 91电影色诱| 俺去俺来也在线www| 国产99热| 精品久久九| 九九热在线视频| 伦激情人妻另类人妻| 熟女熟妇一区二区三区视频| 99这里有精品| 久久精品国产亚洲AV高级北京| 性欧美91| 1024手机看片欧美日韩| 丁香六月婷| 日韩激情啪啪啪| 老鸭窝成人免费毛片视频| 久久久久久久久久黄色网| 丁香五月天堂| 国产毛片久久久久久久| 蜜桃久久一区二区| 午夜无码熟妇丰满人妻| 国产农村妇女一区二区| 亚洲av影院在线观看| 一区在线精品中文字幕| 青草伊人久久| 干b在线性社区| 99热思思| 黄色免费网页无码| 久久一留热品黄| 午夜国产成人福利视频| 日本精品一级二级三级| 免费视频观看60秒| 97超碰免费人人性爱| 男人天堂一区二区| 欧美日韩国内不卡| 国产日韩欧美操逼视频| 啊啊啊好多水| 東南亚性呦成人伦理资源在线视频| 好好的日:com久久九九| 欧美久久草熟女| 大香蕉av在线| 国产高清成人传媒影视| 国产一区二区a毛片| 日本人妻最新在线中| 日本三级精品| 国产精品一区二区麻豆| 天天舔天天日天天射| 97色欧州| 色婷婷在线视频精品导航| 婷婷五月色| 久久久久9| 在线无码操| av日韩国产一区二区| 在线有码中文字幕| 午夜国产综合视频在线观看| 天天亚洲| 酒色综合网| 亚洲男人在线观看天堂| 玖玖资源视频一区二区三区| 亚洲欧美日韩中文久久自慰| 在线情色电影 91大 | 国产精品秘 福利姬在线观看| 爽极品影院| 亚洲 欧美 制服 另类 自拍| 国产无码精品成人| 精品蜜乳AV免费观看| 91久久青青草原精品| 91色狼| 97爱综合| 日韩综合无码一区久久92| 亚洲加勒比久久日本道| 亚洲色婷婷久久久综合日本| 亚洲图片另类| 91久久久亚洲| 亚洲精品一区二区精华| 国产家庭乱伦表演| 亚洲精品白浆高清久久久久久 | 99夜夜操| 亚州91| 搡老女人911熟妇老熟女| A级片一区| 八戒无码国产午夜福利| 搡老女人老妇女AAA一VU麻豆| 久操网无码在线| 亚洲二区精品在线观看| 国产精品亚洲一区二区三区四区| 日韩免费性爱视频在线观看| 一级黄色影片| 少妇免费视频| 蜜臀久久在线视频| 国产精品国产| 久久男人| 日韩综合无码一区久久92| 久久性生大片免费观看性| 国产精品爱欲| hd成人一区二区在线| 婷婷视频网| 97亚洲国产影视| 欧美伦乱爱| 91超碰在线观看| 久操97| 国产女人和拘做爰视频| 亚洲精品人妻吞精av| 农村妇女一级二级三级视频| 97超碰色屌| 欧美亚洲韩国视频十五区| 特色a在线上| 被男人添B超爽视频| 国产一级αv免费看片| 超碰97爽| 91欧美综合在线| 60秒不遮不挡| 成全在线观看免费观看| 97人妻碰碰中文无码久热丝袜| 亚洲国产97| 亚欧成人综合影院| 五月丁香激情综合网| 五月天色电影| 久久久久成人网| 99视频这有这里有精品| 国产精品亚洲免费| 麻豆久久久久久久久丝袜 | 欧美国产视频| 国产精品久久久亚洲第一牛牛_在线观看| 日本精品五区| 国语对白在线播放视频| 日韩美女久久一区二区三区| 九九九九精品一区| 亚洲天天更新| 日本性爱不卡视频| 顶级少妇BT天堂| 色网亚洲人| 国产一区二区三区久久久精品| 丁香婷婷大香蕉| 牛牛久久国产精品视频一二三| 国产精品农村妇女| 国产精品宅男免费| 亚洲熟妇丝袜在线观看| 四虎精品永久在线观看| 成人麻豆av电影网站| 久久国产精品一级二级三级| 91男同| 中文人妻av高清一区| 99性爱| 91亚洲狠狠色| 制度丝袜99| 中文字幕一区二区三区蜜臀| 欧洲亚洲人妻无码久久三区四区| 亚洲三区视频| 69AV女优男人的天堂| 欧美姓爱综合网| 国产呦精品一区二区三区下载| 欧美熟妇操操视频| av激情亚洲五月天| 性一交一乱一交A片久久四色| 欧美国产有色电影| 国产精品国产亚洲区艳妇糸列| 99热综合| 欧亚 另类 久| 懂色AV蜜臀无码精品APP| 嗯嗯啊啊视频一区二区三区| 91欧洲国产成人久久精品网站| 91欧美| 欧美九九九| 日韩啪啪视频| 久久婷婷一区| 乱伦熟女区| 久久中久文96| JIZZJIZZ国产精品喷水| 操曰本熟女| 中国大陆国产高清AⅤ毛片| 熟女自慰久久久| 国产日韩无码一区二区三区久久区| 九九热男人天堂| 国产传媒日韩欧美| 欧美性特| 欧美超碰在线| 嗯啊啊啊轻点视频 | 91M一社| 亚洲色综合| 久草精品在线| 玖玖色综合| 日韩啪啪视频| 9/A片 | 婷婷性网| 95人妻爽爽人人做人人澡| 91女色| 欧美久久九九| 欧美高清18A片| 黄色十八禁网站| av天堂精品久久| 欧美玖玖爱免费玖玖| 一级啊性爱在线视频| 色偷偷综合91久久噜噜| 精品国产精品一区二区| 春色综合网| 神马视频久久久久久| 国内毛片欧美香蕉精品| 超碰人妻久久人妻中文97| 精品成人亚洲午夜电影| 精品中文一区二区| www.超碰在线| 97在线视频观看| 精品国产72| 亚洲最大的综合性av| 欧亚 另类 久| 91肏屄网| 成年女人黄网站| 国产怡红院在线| 超碰亚洲欧美日韩无| 欧美偷拍区| 国产女主播视频在线观看| 大香蕉520| 秋霞免费无码视频日韩A片| 国产精品丝袜久久亚洲不卡| 草莓精品视频| 国产深夜福利| 亚洲日韩欧美一区二区| 开心五月婷婷激情| 亚洲春色一区二区三区| 国产免费一区| 欧美 亚洲 综合 制服| 亚洲春色欧美激情自拍| 蜜桃臀一区二区三区久久| 欧美色图天堂在线| 欧美成人四级在线播放| 97超级久久| 亚欧中文字幕在线视频| 五月丁香激情综合| 日韩熟女操逼| 91中出在线| 狠插 制服 自拍| 国产日韩欧美三级片| 一本色道综合久久欧美| 91激情国产| 天天碰操中国年青熟妇| 久操热线| 超碰人人操97碰| 啊啊啊好舒服视频| 粉嫩小泬久久久一区二区| 狂操嫩妻视频一区二区三区| 久久久久久亚洲中文| 青青久久艹| 中文欧丝袜诱惑| 台湾佬中文娱乐自偷自拍| 免费人成?大片在线播放| 欧美性爱日韩高清| 欧美日韩色| 尤物视频网 刘玥| 欧亚乱色熟一区二区三四区| 日本理论在线| 18禁中文字幕| 亚洲无码com| 91高清欧美| 无毛精品| 久操 高清| 北条麻妃99精品青青久久| 717影院理论午夜伦八戒| 亚洲无码成人精品| 欧美日韩中文视频播放| 欧洲站一级二级三级h| 日韩久久艹| 国产久久视频| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 色网在线| 大吊色| 中文字幕在线观看第二页| 婷婷五月天激情小说| 国产一区二区欧美日本| 日本欧美韩国国产在线| av网站在线看| 亚洲欧美不卡线| 99少妇| 9精品久久久久| 极品一区二区三区免费| 久久骚| 六月婷婷一区二区三区| 欧美日韩婷婷中文| 综合亚洲情色| 午夜久久一区二区无码中出| 日本91白丝| 亚洲国产精品久久久久久久久久| 亚洲成av人片色午夜乱码| 图片区小说区| 操逼www.| 91午夜无码| 强奸乱伦亚洲第一页| 精品国产一区二区三区在线播出| 国产成人91一区二区三区| 一二三区操逼国产91| 在线免费观看高清无码视频| 亚洲图片激情小说| 国产一区二区二区按摩精品啪视频| 青青草好吊色| 国产精品丝袜在线| 色九久| 好爽视频在线观看视频 | 中文字幕国产| 日本幼女18+| 久久精品28| 亚洲成人贴图| 在线视频亚洲无码| 国产精品国产亚洲区艳妇糸列| 亚洲国产另类在线中文| 亚洲伊人久久综合97| 国产欧美日本亚洲精品| 一级二级三级黑人无码| 天天操人人操狠狠插| 26uuu性物| 日本精品第一视频在'| 婷婷在线精品| 日本超碰在线国产一区| 好淫网一二三视区| 国产成自自拍在线观看| 国产精品天干天干综合网麻豆| 91精品黄在线观看| 蜜桃臀一区二区aV| 蜜臀99久久精品| 欧美碰碰综合色| a级免费在线观看| 国产亚洲精品精AV.| 亚洲精品天堂久久A∨51成人漫| 九月丁香综合网| 色色丁香| 超碰午夜在线| 骚逼自拍99| 久久色精品视频在线| 女人与公拘交酡2020视频| 亚洲精品官网在线观看| 婷婷久久网| 中文字幕亚洲欧美在线不卡| 中文字幕人乱码中文字的预防方法| 国产日产欧产美韩系列麻豆免费| 精品一级| 91亚洲色人| 丁香五月久久| 国产专区路线| 青青草中出视频| 成人精品无码| 少妇高潮对白在线观看| 欧美综合自拍成人自拍第二十页| 欧美老妇综合网| 亚洲欧美天| 欧美精品精品一区二区| 久久精品国产亚洲AV成人直播| 黑操B| 在线观看午夜婷婷久久久久清性观看|