久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

STM32移植CANopen協(xié)議棧Festival 3.0:從驅(qū)動到對象字典全攻略

STM32移植CANopen協(xié)議棧Festival 3.0:從驅(qū)動到對象字典全攻略 簡介面向STM32開發(fā)者的開源CANopen協(xié)議棧Festival3.0源碼包適合需要在嵌入式項目中快速接入CANopen通信的工程師與學(xué)習(xí)者。協(xié)議棧覆蓋對象字典OD、節(jié)點ID管理、NMT網(wǎng)絡(luò)管理、SDO配置傳輸與PDO實時數(shù)據(jù)交換等核心機制可支撐工業(yè)自動化、汽車電子等多廠商設(shè)備互聯(lián)場景。壓縮包共65個文件以C源文件與頭文件為主體另含工程配置、調(diào)試信息及EDS/OD描述文件整體僅228KB便于快速下載和直接閱讀。目前已有2135人學(xué)習(xí)下載。資源提供完整示例工程與驅(qū)動代碼可對照主程序及inc/src/driver目錄梳理協(xié)議棧運行流程按需配置PDO映射、SDO服務(wù)和NMT事件處理從而完成從STM32 HAL庫驅(qū)動適配到應(yīng)用聯(lián)調(diào)的開發(fā)閉環(huán)也適合希望深入理解CANopen實現(xiàn)細(xì)節(jié)并做二次定制的開發(fā)者。1. 開源的CANopen源代碼配上STM32為什么說Festival 3.0是起步最快的選擇做工業(yè)設(shè)備聯(lián)網(wǎng)的工程師幾乎都會在某個項目里遇到CANopen。它是CAN總線上最普及的應(yīng)用層協(xié)議伺服、IO模塊、傳感器、PLC控制器都默認(rèn)支持它。手里有STM32做主控想讓它當(dāng)一個CANopen從站最直接的想法就是用開源協(xié)議棧而Festival 3.0就是那個被反復(fù)提起、社區(qū)里問得最多的開源版本。它的價值在于NMT、SDO、PDO、心跳這些協(xié)議細(xì)節(jié)不用自己寫了你只需要把CAN收發(fā)和定時器接好再填一張對象字典表設(shè)備就能上線被主站識別。這篇文章要解決的就是這個問題怎么把Festival 3.0快速移植到STM32上從驅(qū)動對接、對象字典配置到踩坑排查一條路走通。2. 協(xié)議棧選型與Festival 3.0工作方式先搞懂它里面裝著什么2.1 CANopen的下三層模型從CAN報文到對象字典很多工程師把CANopen當(dāng)成一個把“波特率、ID、報文”配置好的工具其實它和裸CAN的思維完全不同。裸CAN時代你自己定義ID和數(shù)據(jù)字節(jié)含義每個廠商一套規(guī)則CANopen則把這些全部規(guī)范化了。一個CANopen從站里核心是三樣?xùn)|西對象字典、通信對象、狀態(tài)機。對象字典是一張表格每個條目由索引和子索引定位。比如0x1000是設(shè)備類型0x1017是心跳生產(chǎn)時間0x2000到0x5FFF是廠商自定義區(qū)你的業(yè)務(wù)數(shù)據(jù)放這里。通信對象分四類NMT負(fù)責(zé)節(jié)點狀態(tài)切換啟動、停止、復(fù)位SDO負(fù)責(zé)配置和讀寫對象字典PDO負(fù)責(zé)周期性或事件觸發(fā)的實時數(shù)據(jù)傳輸心跳負(fù)責(zé)讓主站知道你的存活狀態(tài)。我一般會在移植前畫一張自己的數(shù)據(jù)流圖主站通過SDO給你下配置你把配置寫進(jìn)對象字典對應(yīng)的索引運行階段你周期性地把傳感器數(shù)據(jù)塞進(jìn)TPDO主站那邊就能直接收到實時值。這張圖畫清楚之后再看協(xié)議棧源碼你就知道該找哪些函數(shù)了。2.2 Festival 3.0的源碼結(jié)構(gòu)每個文件該改什么、該忽略什么關(guān)于Festival 3.0的源碼布局不同時期放出來的版本目錄會略有差異但核心套路是一致的。下面這個結(jié)構(gòu)是幾個常見fork的母版說明文件職責(zé)canopen-stack/ ├── include/ │ ├── canfestival.h /* 協(xié)議棧對外統(tǒng)一接口必須包含 */ │ ├── objdict.h /* 對象字典頭文件生成器產(chǎn)出 */ │ └── applicfg.h /* 平臺相關(guān)宏定義需要改 */ ├── src/ │ ├── canfestival.c /* 協(xié)議核心分發(fā)入口 */ │ ├── nmt.c /* 網(wǎng)絡(luò)管理狀態(tài)機 */ │ ├── sdo.c /* SDO服務(wù)器實現(xiàn) */ │ ├── pdo.c /* PDO收發(fā)處理 */ │ ├── hb.c /* 心跳生產(chǎn)與消費 */ │ ├── sync.c /* 同步報文處理 */ │ └── objacces.c /* 對象字典讀寫訪問 */ ├── drivers/ │ ├── can_io.c /* CAN收發(fā)必須重寫 */ │ └── timer.c /* 定時器節(jié)拍必須重寫 */ └── examples/ └── stm32/ /* 平臺示例工程 */移植時你只需要動drivers目錄下的兩個文件以及applicfg.h里的平臺宏。src目錄里的協(xié)議邏輯基本不用碰那是被驗證了無數(shù)遍的黑匣子動它反而容易翻車。objdict.h一般由對象字典編輯器生成手工寫容易錯后面章節(jié)會講怎么生成。2.3 移植前必須回答的四個問題第一個問題CAN控制器是什么型號。STM32系列大部分自帶bxCAN或FDCAN驅(qū)動寫法完全不同。bxCAN用CAN_TxHeaderTypeDef結(jié)構(gòu)體FDCAN用FDCAN_TxHeaderTypeDef接口參數(shù)差別很大選錯那一套驅(qū)動編譯能過、總線絕對不通。第二個問題時鐘頻率是多少。CAN波特率誤差超過1%bus-off會頻繁出現(xiàn)。比如某個開發(fā)板APB1是36MHz你套用網(wǎng)上72MHz的預(yù)分頻參數(shù)實際波特率就是正確的兩倍其他節(jié)點全部掉線。第三個問題內(nèi)存夠不夠。Festival 3.0的核心代碼加對象字典在IAR和GCC下編譯出來RAM占用大概4到8KBFlash占用20KB左右。STM32F103C8T6這種64KB Flash的片子夠用但如果你的業(yè)務(wù)代碼已經(jīng)把RAM占滿了就得把PDO緩沖區(qū)和對象字典的動態(tài)數(shù)組好好算一遍必要時裁剪掉不用的字典段。第四個問題主站側(cè)用什么工具。常見做法是準(zhǔn)備一個CAN分析儀和對應(yīng)上位機軟件有的總線分析儀自帶CANopen主站功能能自動掃描從站、讀寫對象字典、監(jiān)控PDO。沒有主站工具你只能盲調(diào)排查問題效率會低一個量級。選型結(jié)論如果你的目標(biāo)是快速做出一個能用的CANopen從站Festival 3.0值得投入。它代碼量不大、結(jié)構(gòu)清晰網(wǎng)上能搜到的移植經(jīng)驗貼也多踩坑成本遠(yuǎn)比從零實現(xiàn)低。接下來進(jìn)入實際移植。3. 把Festival 3.0移植到STM32最小工程搭建與CAN外設(shè)驅(qū)動3.1 新建工程與CAN外設(shè)初始化先把500kbps跑起來移植的第一步不是復(fù)制源碼而是先把STM32的CAN外設(shè)調(diào)通。我一般用STM32CubeMX生成基礎(chǔ)工程勾選CAN外設(shè)、配置一個1ms定時器然后手動改參數(shù)。下面這段代碼是典型的bxCAN初始化以500kbps、APB136MHz為例/* can_init.c - 基于HAL庫的CAN1外設(shè)初始化 */ #include can.h CAN_HandleTypeDef hcan1; void CAN1_Init(void) { hcan1.Instance CAN1; hcan1.Init.Prescaler 9; /* 36MHz / 9 4MHz */ hcan1.Init.SyncJumpWidth CAN_SJW_1TQ; hcan1.Init.TimeSeg1 CAN_BS1_5TQ; /* 5個時間量子 */ hcan1.Init.TimeSeg2 CAN_BS2_2TQ; /* 2個時間量子 */ hcan1.Init.Mode CAN_MODE_NORMAL; hcan1.Init.AutoBusOff ENABLE; hcan1.Init.AutoWakeUp DISABLE; hcan1.Init.AutoRetransmission DISABLE; hcan1.Init.ReceiveFifoLocked DISABLE; hcan1.Init.TransmitFifoPriority ENABLE; if (HAL_CAN_Init(hcan1) ! HAL_OK) { Error_Handler(); } }波特率計算公式是CAN時鐘頻率 / (Prescaler × (1 BS1 BS2))。上面這個配置總時間量子是1528預(yù)分頻后4MHz500kbps剛好落在誤差要求內(nèi)。注意AutoRetransmission一定要設(shè)成DISABLE否則協(xié)議棧超時重發(fā)邏輯會和控制器自動重發(fā)打架導(dǎo)致同一幀報文被主站收到兩次。3.2 驅(qū)動層對接發(fā)送、接收、定時器三個回調(diào)必須實現(xiàn)Festival 3.0核心不會直接調(diào)用HAL庫函數(shù)它留了一組驅(qū)動接口讓你填寫。最核心的是發(fā)送函數(shù)和分發(fā)入口。發(fā)送函數(shù)要做的事很簡單把協(xié)議棧內(nèi)部定義的Message結(jié)構(gòu)體翻譯成HAL庫的CAN_TxHeaderTypeDef/* driver.c - 協(xié)議棧驅(qū)動回調(diào)實現(xiàn) */ #include canfestival.h #include can.h static Message can_msg; /* 協(xié)議棧核心調(diào)用此函數(shù)把報文發(fā)到CAN總線 */ unsigned char canSend(CANPORT port, Message *m) { CAN_TxHeaderTypeDef tx; uint8_t data[8]; uint32_t mailbox; int i; tx.StdId m-cob_id; /* 協(xié)議棧已算好COB-ID */ tx.RTR (m-rtr 1) ? CAN_RTR_REMOTE : CAN_RTR_DATA; tx.DLC m-len; tx.IDE CAN_ID_STD; tx.ExtId 0; for (i 0; i 8; i) { data[i] m-data[i]; } if (HAL_CAN_AddTxMessage(hcan1, tx, data, mailbox) ! HAL_OK) { return 0; /* 發(fā)送失敗返回0給協(xié)議棧 */ } return 1; }協(xié)議棧里Message結(jié)構(gòu)體的data數(shù)組長度是8但PDO最長就是8字節(jié)所以直接拷過去沒問題。如果用的是FDCAN這里還要額外配置FDCAN_TxHeaderTypeDef的MessageSize等字段內(nèi)容多一截。3.3 接收中斷與定時器節(jié)拍把報文喂進(jìn)協(xié)議棧接收側(cè)最關(guān)鍵的一點是CAN接收中斷里只做“搬運”把報文從HAL的RxHeader轉(zhuǎn)成協(xié)議棧Message然后調(diào)用canDispatch。不要在中斷里做重活。/* stm32f1xx_it.c - CAN接收中斷回調(diào) */ void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan) { CAN_RxHeaderTypeDef rx; uint8_t data[8]; int i; if (hcan-Instance ! CAN1) return; HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, rx, data); can_msg.cob_id rx.StdId; can_msg.rtr (rx.RTR CAN_RTR_REMOTE) ? 1 : 0; can_msg.len rx.DLC; for (i 0; i 8; i) { can_msg.data[i] data[i]; } canDispatch(can_msg); /* 交給協(xié)議棧核心分發(fā) */ }定時器方面需要一個1ms周期的節(jié)拍來驅(qū)動協(xié)議棧的時鐘邏輯。用定時器3做1ms中斷在中斷里調(diào)用協(xié)議棧的TimerIntern函數(shù)/* timer.c - 1ms節(jié)拍喂給協(xié)議棧 */ void TIM3_IRQHandler(void) { if (TIM_GetITStatus(TIM3, TIM_IT_Update)) { TIM_ClearITPendingBit(TIM3, TIM_IT_Update); TimerIntern(); /* 協(xié)議棧內(nèi)部超時計時 */ } }TimerIntern會在內(nèi)部計數(shù)驅(qū)動心跳報文的生產(chǎn)、SDO超時、節(jié)點看門狗這些邏輯。如果你的主循環(huán)里有長時間阻塞的任務(wù)比如Flash擦寫請把擦寫放在CAN空閑時段實在避不開就提前把心跳周期的余量算夠否則主站會因為你心跳延遲而報節(jié)點丟失。3.4 最小驗證先讓從站上線能被主站掃描到驅(qū)動接完之后先不要寫任何應(yīng)用邏輯直接編譯燒錄用CAN分析儀主站掃描。此時從站應(yīng)該能發(fā)出心跳報文報文的COB-ID是0x700加節(jié)點號比如節(jié)點號1就是0x701。主站發(fā)NMT啟動節(jié)點命令0x000, 2字節(jié)0x01 0x01從站狀態(tài)應(yīng)該從Pre-operational切到Operational心跳繼續(xù)周期性地發(fā)。這一步如果通了說明驅(qū)動層和協(xié)議棧核心沒問題。如果掃描不到不要急著查對象字典先回到裸CAN層面用分析儀看總線上有沒有任何報文、波特率是不是真的500k、CAN收發(fā)器有沒有接對。很多移植失敗死在“裸CAN就沒通”這個最基礎(chǔ)的環(huán)節(jié)。確認(rèn)裸CAN收發(fā)正常、再用示波器看CAN_H和CAN_L的差分電平幅值是否在2V左右這一步排查完再碰協(xié)議棧。4. 對象字典與PDO映射讓設(shè)備真正能被上位機控制4.1 對象字典生成思路索引、子索引、數(shù)據(jù)類型怎么對應(yīng)協(xié)議棧跑通心跳之后就該把業(yè)務(wù)數(shù)據(jù)掛上去了。對象字典不是靠手寫維護(hù)的常見做法是用對象字典編輯器生成C文件。你只需要填索引、子索引、數(shù)據(jù)類型、讀寫權(quán)限它自動產(chǎn)出objdict.h和objdict.c。如果某個fork沒有配套編輯器你也可以直接改示例工程里的對象字典數(shù)組。先理解它的結(jié)構(gòu)一張indextable表每個條目對應(yīng)一個索引條目里是子索引列表每個子索引指向一個數(shù)據(jù)庫條目。數(shù)據(jù)庫條目描述了這個對象的訪問方式、存儲位置和數(shù)據(jù)類型。舉個最簡單的自定義對象在0x2000索引下面放一個16位只讀變量/* OD_1980.h - 自定義對象字典片段 */ UNS16 myCounter 0; /* 0x2000索引1個子索引 */ const ODCallback_t OD_0x2000_callbacks[1] { NULL }; const indextable OD_IndexTable[] { { 0x2000, 1, OD_0x2000_callbacks }, { 0, 0, NULL } };這里subindex從0開始子索引0通常是條目數(shù)量子索引1才是真正的數(shù)據(jù)。不要把業(yè)務(wù)變量直接暴露到通信層而應(yīng)該通過對象字典的讀寫回調(diào)做一層轉(zhuǎn)換。比如產(chǎn)品序列號存EEPROM里可以注冊一個回調(diào)讀的時候從EEPROM取寫的時候?qū)懟谽EPROM這樣上位機訪問到的始終是持久化數(shù)據(jù)而不是易變的RAM變量。4.2 通過SDO讀寫對象從0x2000開始自定義應(yīng)用對象SDO是配置用的主站通過它讀寫字對象。一旦對象字典里加了0x2000條目主站就能用SDO訪問。你不需要寫任何SDO處理代碼協(xié)議棧的sdo.c自動響應(yīng)主站的SDO請求。你要做的是確保對象字典里注冊的變量地址和類型正確。SDO請求的報文格式分兩種快速SDO讀寫4字節(jié)內(nèi)數(shù)據(jù)和普通SDO分段傳輸。對自定義對象來說I/O數(shù)據(jù)基本都是4字節(jié)內(nèi)的走快速SDO就夠了。注意SDO服務(wù)器默認(rèn)是阻塞式的協(xié)議棧在處理SDO請求期間會停住其他通信處理。如果你的主站喜歡一次連續(xù)讀幾十個對象從站側(cè)會明顯感覺響應(yīng)變慢這是正?,F(xiàn)象不是死機。真遇到那種“讀一個對象就卡2秒”的情況多半是對象字典回調(diào)函數(shù)里做了Flash讀寫又沒有做超時處理。4.3 PDO映射的兩種姿勢靜態(tài)映射和運行時修改PDO負(fù)責(zé)實時數(shù)據(jù)。一個從站通常有多個TPDO比如TPDO1發(fā)狀態(tài)字TPDO2發(fā)位置值。PDO的內(nèi)容由映射參數(shù)決定。0x1B00索引是TPDO1的通信參數(shù)0x1B01是映射參數(shù)。映射參數(shù)是一個列表每個條目寫成“對象索引.子索引.位寬”的編碼格式。映射一個16位的0x2000子索引1條目值就是0x20000110。最常見的坑是映射方向搞反。TPDO是“從站往主站推”映射的源必須是對象字典里的變量RPDO是“主站往從站灌”映射的目標(biāo)也必須先定義在對象字典里。你不能把一個不存在的對象掛進(jìn)映射表。映射參數(shù)可以在本地寫死也可以通過SDO在運行時修改。靜態(tài)映射適合生產(chǎn)固件簡單可靠動態(tài)映射適合調(diào)試期代價是運行時需要執(zhí)行SDO寫映射、映射使能這一整套流程。我建議量產(chǎn)固件用靜態(tài)映射調(diào)試期臨時開動態(tài)。4.4 心跳與同步周期1ms定時器到底該喂誰這一節(jié)把時間片邏輯理清。協(xié)議棧內(nèi)部只有一條1ms節(jié)拍線它同時驅(qū)動TimerIntern的超時計數(shù)和心跳生產(chǎn)。三個常見時間參數(shù)心跳生產(chǎn)時間0x1017單位毫秒常見值是50ms到1000msPDO的傳輸類型0x1800到0x1B00的通信參數(shù)里同步周期用0x1005和0x1006配置0x1006是同步報文周期單位微秒。我的建議是調(diào)試期把心跳設(shè)成100msPDO傳輸類型設(shè)為“每第N個SYNC幀發(fā)送一次”N設(shè)為1。這樣主站能看到從站的實時數(shù)據(jù)和在線狀態(tài)邏輯最簡單。下面是心跳和通信參數(shù)的配置示例/* 通信參數(shù)區(qū)典型配置 */ #define OD_HB_PROD_TIME 0x1017 /* 心跳生產(chǎn)時間 */ #define OD_SYNC_PERIOD 0x1006 /* 同步周期單位us */ #define OD_TPDO1_TRANS_TYPE 0x1800 /* TPDO1傳輸類型 */ /* NMT狀態(tài)正常后心跳由協(xié)議棧自動按0x1017發(fā)送 */如果你用了同步傳輸主站必須周期性發(fā)SYNC幀從站才會在對應(yīng)的同步計數(shù)到達(dá)時觸發(fā)TPDO。主站沒發(fā)SYNCTPDO就永遠(yuǎn)不觸發(fā)這是新手最容易誤解的地方。遇到“PDO不動”的故障先看總線上有沒有SYNC幀再查傳輸類型配置。5. 移植Festival 3.0的常見問題排查從編譯報錯到總線靜默5.1 現(xiàn)象編譯通過但總線上抓不到任何報文原因CAN過濾器沒有正確配置或者根本沒有使能CAN接收中斷。很多初始化代碼只調(diào)了HAL_CAN_Init忘了設(shè)置過濾器導(dǎo)致所有報文都進(jìn)不了FIFO0協(xié)議棧自然收不到NMT命令。解決在初始化里加一段過濾器配置把過濾器掩碼設(shè)為全0接收所有標(biāo)準(zhǔn)幀。以bxCAN為例/* 接收所有標(biāo)準(zhǔn)幀的過濾器配置 */ CAN_FilterTypeDef filter; filter.FilterIdHigh 0x0000; filter.FilterIdLow 0x0000; filter.FilterMaskIdHigh 0x0000; filter.FilterMaskIdLow 0x0000; filter.FilterFIFOAssignment CAN_RX_FIFO0; filter.FilterBank 0; filter.FilterMode CAN_FILTERMODE_IDMASK; filter.FilterScale CAN_FILTERSCALE_32BIT; filter.FilterActivation ENABLE; HAL_CAN_ConfigFilter(hcan1, filter); HAL_CAN_Start(hcan1); HAL_CAN_ActivateNotification(hcan1, CAN_IT_RX_FIFO0_MSG_PENDING, ENABLE);檢查時用CAN分析儀掛在總線旁邊先確認(rèn)從站有沒有發(fā)心跳。如果完全靜默基本就是過濾器或中斷使能的問題。注意使能接收中斷后還要在主循環(huán)或初始化里保證HAL_CAN_Start被調(diào)用否則外設(shè)沒有啟動。5.2 現(xiàn)象心跳發(fā)出去了但主站幾秒后報節(jié)點超時原因波特率偏差超過協(xié)議要求的1%或者心跳周期的0x1017被設(shè)成了0。0x1017是0時從站不發(fā)送心跳主站側(cè)當(dāng)然會報超時。另一種情況是APB1時鐘源配置和初始化參數(shù)對不上實際波特率漂了百分之幾距離短的調(diào)試階段僥幸能通線一長就掉線。解決先用CAN分析儀自帶的波特率測試功能看實際波特率是499.8k還是512k。如果是512k說明Prescaler和BS1/BS2的組合算錯了。重新按公式計算CAN時鐘經(jīng)過預(yù)分頻后必須落在目標(biāo)波特率的1%誤差內(nèi)。用庫函數(shù)打印出初始化后的實際參數(shù)不要靠肉眼估計。另外把0x1017寫成100立刻從站側(cè)能看到心跳周期變化這招能快速驗證心跳通路。5.3 現(xiàn)象SDO讀正常、寫正常但PDO數(shù)據(jù)不刷新原因映射參數(shù)配錯了常見是子索引、位寬計算錯或者把TPDO映射在了RPDO的條目區(qū)。另一個高頻原因是傳輸類型設(shè)成同步但主站沒發(fā)SYNC。如果PDO傳輸類型為255事件觸發(fā)那從站數(shù)據(jù)變化時才發(fā)數(shù)據(jù)一直不變PDO就只發(fā)一次看起來就像“沒有刷新”。解決用分析儀看主站發(fā)不發(fā)SYNC幀。如果主站發(fā)那么檢查0x1B01的映射計數(shù)確認(rèn)映射條目數(shù)和實際映射的對象數(shù)一致。再檢查映射的位寬和變量類型是否匹配比如把32位浮點數(shù)映射成16位條目數(shù)據(jù)會截斷看起來就是亂碼。最粗暴的驗證方法在從站代碼里手動修改TPDO源變量的值看總線上有沒有新幀。沒有新幀問題在協(xié)議棧配置有新幀但值不對問題在映射表本身。5.4 現(xiàn)象運行一段時間后HardFault或者整個系統(tǒng)卡死原因在CAN接收中斷里直接調(diào)協(xié)議棧分發(fā)而協(xié)議棧內(nèi)部又觸發(fā)了SDO回調(diào)回調(diào)里做了耗時操作擠占了中斷時間。更常見的是臨界區(qū)沒有保護(hù)協(xié)議棧在訪問對象字典的同時主循環(huán)也在改同一個變量導(dǎo)致數(shù)據(jù)競爭。解決把canDispatch放到主循環(huán)的輪詢里中斷只做接收和置標(biāo)志位。如果一定要在中斷里分發(fā)就在調(diào)用協(xié)議棧接口的前后加上臨界區(qū)保護(hù)。還有一點容易被忽略的是堆棧大小協(xié)議棧遞歸調(diào)用的深度不算深但SDO回調(diào)里如果有printf或浮點運算每個嵌套層都會吃掉不少??臻g建議調(diào)試期把主棧調(diào)到2KB以上。6. 用CAN分析儀抓完整報文從上線到閉環(huán)控制的驗證方法驗證一個CANopen從站是否合格不能只看上位機顯示“在線”。用CAN分析儀把原始報文抓出來按時間順序核對狀態(tài)機的每一拍。以節(jié)點號1為例上電后你看到的第一個報文應(yīng)該是心跳0x701數(shù)據(jù)字節(jié)是節(jié)點狀態(tài)值。如果心跳沒發(fā)說明協(xié)議棧還沒進(jìn)入正常狀態(tài)。接著手動給從站發(fā)NMT啟動命令CAN ID 0x000數(shù)據(jù)0x01 0x01。從站收到后狀態(tài)從Pre-operational切換到Operational此時SDO和PDO才允許正常工作。你要驗證的時序是NMT命令后從站在下一個心跳周期內(nèi)應(yīng)答狀態(tài)變化同時SYNC幀到來時觸發(fā)PDO。用分析儀的觸發(fā)功能抓一段10ms到100ms的窗口把NMT、心跳、SYNC、PDO四類幀的間隔量出來間隔符合配置值就算通過。我再提供一個排查技巧用分析儀統(tǒng)計總線負(fù)載率和錯誤幀數(shù)量。錯誤幀為0是基本要求負(fù)載率在20%以下時如果還頻繁重傳說明發(fā)送緩沖區(qū)的優(yōu)先級配置有問題。真遇到難纏的時序問題把分析儀的CAN報文導(dǎo)成CSV用腳本按時間戳排序檢查比盯著看快得多。常見的做法是寫一個十行左右的分析腳本把每個COB-ID出現(xiàn)的次數(shù)和間隔統(tǒng)計出來。最后聊一個讓我印象深刻的經(jīng)驗?zāi)炒雾椖坷飶恼拘奶蚉DO都正常但主站的軸控指令一執(zhí)行就超時。排查到最后發(fā)現(xiàn)是接收中斷里順手做了一位數(shù)碼管刷新刷新函數(shù)里關(guān)了中斷導(dǎo)致CAN接收在關(guān)鍵時刻被阻塞了好幾十微秒。從那以后我記住一條習(xí)慣中斷里的代碼越少越好CAN接收中斷只置標(biāo)志位協(xié)議棧分發(fā)全部挪到主循環(huán)。這個習(xí)慣后來幫我避掉了好幾次類似的坑也希望能幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
百度百度日本操逼| 亚洲揄拍网| 国内毛片四区| 色欲色香天天天综合网www-亚洲综合国| 亚洲永久永久永久永久一级一级一级精品| 2017大香蕉国产精品久久| 日日AAvv| 日韩AV色图| 日韩一性一交一A片俄罗斯| 999999精品| 强奸乱伦大香蕉网| 亚洲天堂男| 自拍大香蕉乱插| 花花AV导航| 97操在线| 18禁免费视频| A级片一区| 一区二区三区成人| 色官网在线| 一区二区激情国产熟女 | 熟女中出视频| 96精品一区| 色丁香五月婷婷| 日韩黄片视频试看| 久久AV无码网址| 久久精品国内Av熟女高清| 超碰色美女| 乱老熟女一区二区三区| 91欧美巨乳| 色综合国产在线观看| 91综合无码| 国产AV线| 黑人操一区二区| 亚州国产精品乱| 啊啊啊操一区| 九九av| 亚洲AV无码AV吞精久久久久| 亚洲无限观看| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 91Chinese在线| 三级色影综合网| 天天干天天燥| 操人无码| 插入综合网| 日本久久久久久久久久| 久久久久久电影| juliaann精品熟女一区| 少妇无码太爽| 大鸡吧尹人在线| 东京成人一区| 黄色片G G G| 亚洲有码第一页| 欧美日日人人天天| 国产99热| 国产亚洲日韩在线三区黑人| 日韩人成网站在线播放| 日韩中文字幕视频在线观看| 婷婷五月丁香五月| 亚欧中文字幕在线视频| 最新av网站在线观看| 麻豆国产原创AV色哟哟 | 99re28在线观看| 亚洲av综合伊人久久| 亚州欧美在线| www.夜夜操| 99re28在线观看| 久久久啊啊啊| 亚洲欧美国产中文字幕| 欧美激情总合网| www.色婷婷| 啊啊啊啊网站| 亚洲图片欧美日韩| www.婷婷| 日韩精品国模| αⅴ天堂| 精品精品精品| 欧美黑人熟妇精品91| 欧美精品宗合| 超碰 另类 欧美| 操九九九九九九| 五月丁香网站| 日韩中文字幕熟妇人妻| 91成人精品| 天天欧美色| 国产精品久久久久久久久久久久久久久| 女人 A一级| 人人妻人射| 日逼五月天| 久久五月天婷婷| 日本三级久| 超碰偷拍| 操人妻少妇中文| 亚洲国产精品99久久久| 亚洲精品一区二区免费在线观看| 日韩欧美中文| 女人的久久久| 日本精品无码三级网站| 久久久久久久久999| http://qxhbdz.com| 人人干黄色| 91原创在线观看| 色官网在线| 婷婷15月天青娱乐| 久久色一区二区| 人人操人人爽人人操人人| 大色网久久| 加勒比在线视频一区二区三区| 91l欧美在线| 久久亚洲AV无码专区首页| 日韩欧美性吧婷婷乱伦大香蕉 | 亚洲天天自拍| 福利五区| 婷婷国产精品一区二区| 成人无码欧美一级A片狼牙直播| 艹比视频国产精品| 97资源亚洲| 美日韩在线不卡人妻| 殴美大黄片| 国语对白在线播放视频| 久久有码视频| 不卡日本一区二区| 大香网伊人久久综合网eew| 3P乱轮视频| 尤物一级在线免费观看| 青青草国产欧美非洲黑人| 久久 精品| 国产精品人妻无码久久久互動交流| 熟妇综合一区二区三区| 天天插夜夜操| 久久精品国产97欧美精品亚洲| 超碰久在线天天做| 精品人妻一区二区三区不卡断| 亚洲精品97p| 亚州再线| 亚洲精品中文字幕一区在线视频| 超碰视97中文| 蜜臀久久99精品| 五月激情在线| 偷拍综合网| www.亚洲黄色| 99www.bibizy香蕉资源国产一区二区三区高清| 一区二区视频你懂的| 国内亚洲高清无码| 嗯嗯啊啊视频在线看| 欧美精品欧美精品系列| A 天堂在线观看视频| 9精品久久久久| 国产伦精品一区二区三区在线观| 伊人91| 伊人久久大香线蕉无码| 伊人嫩草| 中文字幕av久久爽Av| 家庭乱伦麻豆| 日韩人妻资源网| 天操天操夜操夜月月年年操操| 少妇久久| 高清无码网址| 最新的亚洲无吗| 亚洲欧美综合网站| 国产精品网址| 91爱剪切久久| 女人高潮抽搐喷水视频网站| 中文字幕日韩电影人妻| 肥佬影院91| 五月综合色| 特污精品女优骚货黄色视频在线免费观看| 欧美不卡二区| 亚洲天天在线| 久久a久久| 成人性交午夜免费片| 韩国三级三级BD在线| 麻豆天美91| 白丝少妇一区二区| 日韩AV电影网站 | 久久直播国产| 偷拍 亚洲 欧美| 中文字幕在线观看丝袜| 亚洲国产奇米影视久久| 密臀AV在线| 91人妻做a观看视频| 葡萄牙性视频一二区| 狼人久草| 欧美人黑A片无码免视费| 日日干夜夜欢| 日本天堂网| 久久久com| 欧美写真视频一区| 久插不卡| 美女操逼福利视频| 欧美精品宗合| 色噜噜狠狠色综无码久久合欧美| 白丝1区2区3区| 99久久99久久免费精品蜜臀| 青青草男人天堂| 白嫩国模丰满一二三区| 亚洲欧美日韩免费电影| 99国产精品自在自在| 一区二区三区免费岛国片| 午夜舔阴达高潮视频免费看| 亚洲欧美综合图片| 欧美偷偷网| 日本中文字幕一区| 2019AV天堂| 亚洲国产一级精品毛一级精品看免费视频| 在线啊啊啊| 亚洲四虎熟女精品| 免费久久一级毛片大黄| 久久亚洲中文字幕视频| 人人操超碰在线| 三级片大波波| 久草成人福利导航| 男人天堂一区二区| 性爱动态120秒| 日韩亚洲欧美中文字幕| 精品日韩人妻精品一二三区| 免费99精品国产自在在线| 黄色片大香蕉| 国产成年女人免费视频播放a| 国产精品乱码久久| 大干人妻| 国产熟妇 码视频户外直播| 99后入| 国产亚州高清国产拍精| 99ri视频| 人妻夜夜爽天天爽麻豆三区网站| 天天综合香 ld视频| 亚洲AV资源| 亚洲男人久久综合天堂| 中字幕人妻一区二区三区| 亚洲小电影免费涩涩成人在线高清| 人妻少妇无码 | 无码视频黄色网战| 亚洲国产精品99久久久| 久久露脸国产老熟女| 东京热视频网| 日本幼女18+| 色老大| 日本美女性生活久久久久久久| 九一屌逼| 青青国产精品在线| 人妻内射一区二区在线视频| 亚洲人精品午夜不卡| 91碰碰| 婷婷激情四射| 999久久久| 久久风骚城市| 91香蕉国产尤物视频| 久久久久久网址| 国产精品无码av| 久久婷婷精品| 亚州成人a∨| 综合色久欲| 亚洲熟女综合一区二区| 91无码精品| 成人精品视频| 日本精品久久久久久久| 男人天堂网手机版婷婷| 亚洲av性爱电影| 国产一级内射高清视频| 久久日本熟妇熟色一区| 怡红院成人视频| 9九九国产| 中欧人妻丝袜中文字幕| 91操人| 久久女人一区二区三区| 91 综合 色| 欧美性视频二区三区| 综合色久欲| 999综合网| JuliaAnnXXX888| 95自拍视频在线观看| www.亚洲成人一区| 久久极品一区二区| 麻豆天天躁天天揉揉AV| 国产精品久久久久无码A√| 午夜免费视频1000| 欧洲站一级二级三级h| 9999九九九久久久| 日本欧美一区二区三区视频麻豆| 920日本午夜免费| 九九玖玖精品| 好属操| 国产精品一区二区黄片| 欧州色图区| 欧美一区二区三熟女剧情| 亚洲小说视频| 国产亚洲欧美每日在线| 99re9在线| 亚洲天堂久久| 在线观看成人性爱免费小视频| 中文字幕乱在线伦视频中文字幕乱码在线 | 96国产污污污丝袜| 一级特黄aaa大片在线观看成人一级片在线观看| www.av家庭乱伦| 日本天天人人狠狠在线日美女 | 日韩欧美国产一区二区三区四区| 激情综合婷婷| 欧美女同在线| 中文精品一区二去| 密臀AV在线| 7777奇米影视久久| 久久精品性| 99福利社| 日韩综合无码色欲vv| 亚洲美女精品| 一区二区三| 久久久久13| 日夜伊人网| 久久五月天婷婷丁香中文字幕| 99久在线精品99re8热| 天天摸夜夜摸| 国产精品呦一区二区三区| 国产熟妇一区二区| 欧美日韩性爱无码| av日韩中文字幕| 日本色色视频网站| 蜜臀精品1区2区| 欧美激情精品久久久久久| 久久久久久AⅤ无码免费肉站| 国产精品。| 啪啪啪东京| 色女综合| 色九久| 婷婷四五区| 青青在线视频免费| 在线观看亚洲专区| 五月天婷婷社区| 狠狠狠狠狠干| 青娱乐欧美激情一区二区| 美日韩在线不卡人妻| 91网九色蝌蚪操熟女| 人妻99p| 97在线播放 | 久久青青草原免费视频| 国产精品肉丝自拍| 国产探花精品在线| 亚洲一区二区三区在线激情| 国产精品网站www| 无码视频黄色网战| 秋霞色色影院| 久久久久密臀视频| 99视频自拍| 狠狠操,使劲操| 日韩高清一二三| 亚洲国产精品成人综合| 亚洲免费97免费| 97香蕉网| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | yw尤物av无码点击进入麻豆| 18一区二区三区| 久久综合国产精品国产| 久久内射| 欧美激情欧美精品| 日韩美女啪啪一区| 96精品久久久久久久久久| 天天爱天天韩国日本牛牛牛牛| 欧美,日韩,中文,另类| 日日夜夜国产综合| 伊人青青一区成人视频在线观看区| 牛黄色久午久| 精品美女久久久久| 男人久久天堂| 97在线免费看视频| 丰满人妻-区二区三区免费| AV中亚| 2017超碰| 亚洲精品无码久久AV| 日韩色图 一区二区| 美腿色图| 日本天堂网| 大香蕉综合| 99热| 国外91| 韩日男人的天堂| 99国产精品视频尤物| 午夜一区| 欧美不在线| 久久天天摸| 日韩成人性爱电影在线播放| 视频不卡中文字幕| 欧美热图99| 国产白丝网站| 91色人| 人妻少妇精品一区二区三区| 色色色综合网| 91chinese在线| 天天懆天天日| 两女互慰AV高潮喷水在线观看| 自拍丝袜美腿人妻| 九九色综合| 8050无码八戒| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 色婷婷九月天天综合| 久久风骚城市人| 欧美成人都市人妻| 国产精品直播在线观看直播| 欧州一区二区三区四区| av一区二区三区不卡| 美女操逼A A| 中文字幕欧洲有码| 97国产精品一区| a人欧美综合天堂麻豆| 动漫片子网站3黄| 人妻 欧美 中文| 夜夜骑天天燥| 久久久久久久久久久久97| 91超碰在线观看| 免费网色网站| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 中文自拍欧美影视| 国产乱青青草久久| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 亚洲第一页欧美| baiduhicn.com。| 91丨九色丨国产丨人妻在线| 一区| 人人人人人人少妇| 日韩操啪| 日本一二三高清| 高潮内射在线| 色原狠狠天天天| 丝袜狂射91| 国产成人自拍视频在线| 智利AV在线网| 国产欧美第五页| 91久久国产综合久久| 熟女人妻av在线资源,黄色的资源| 熟女一区二区三区四区| 成人性爱免费播放| 亚洲视频1区| 人妻夜夜爽天天爽麻豆三区网站 | 亚洲精品蜜桃久久久一区二区三区| 久久久97| 91精品91久久久久77777| 性做久久久久久免费观看软件| 欧美一区二区三区日韩| 亚洲精品国语在线播放| 婷婷色中文字幕| 99操碰| 夂久色| 99久久99久久免费精品蜜臀| 九九色婷婷| 一类无码操逼视频| 中日韩久久久| 尤物网址| 人人 操人人 操人人| 天天综合欧美综合| 人妻一区视频| 日韩欧美加勒比| 97超碰中文| 大香网伊人久久综合网eew| 欧美午夜视频免费观看| 中文字幕美女91| 欧美亚洲91| www.高清无码诱惑一区.com | 国产精品99久久久www| 激情网色| 乱伦熟女区| 97爱爱爱| 最新国内自拍av免费| 色网综合网| 99性爱视频| 成人无码在线视频网站| 精品无码久久久久久国产浪潮| 99久久久久久亚洲精品不卡| 岛国免费黄色网址| 日韩国产精品人妻无码久久久| 韩国一区二区精品亚洲| 中出91视频| 久操凹凸视频| 91操人| www网站黄| 伊人久久88国产女| 亚洲国产ⅴ高清在线观看| 超碰 欧美| 高潮嗯啊性感美女久久久| 中文字幕aⅴ在线视频| 人人操,操人人| 八戒午夜福利理论片| 欧美精品xxxwww| 欧美国产精品久久九九| 精品97久久| 亚洲第一页色网| 啪啪啪东京| 操操啪| 黄色高清无码无码破解免费暗网 | 嗯嗯啊啊视频一区二区三区| 射 色综合| 国产后入清纯| 天天躁夜夜躁狠狠躁AV| 操少妞在线视频| 天天超级碰碰碰| 日韩 女同 综合| 啊啊啊啊在线播放| 九九精品99| 久久成人午夜精品影院 | 亚洲AV乱码专区国产噜噜亚洲 | 免费国产电影一区二区| 强上我不卡卡| av网站国产主播在线| 2020视频1区2区3区| 亚洲巨爆乳一区二区三区四季网| 亚洲精品电影| 天天射夜夜操| ′ !γ}丶。。久久精品欧美一区二区三区| 台湾大香蕉99热| 超碰在97| 思思热国产高清| 欧美嗯啊……在线观看视频免费| 五月丁香久久| 中文字幕综合人妻| 大逼色网站| 激情五月丁香五月| 人人妻人人玩人人澡人人爽| 91av一区二区在线观看| 亚洲精品天天影视综合网 | 夜夜春夜夜操| 欧美亚洲se91| 成人五月天色网| 91女优在线观看| 五月天色色色| 国产精品久久久777| 亚洲美腿丝袜香蕉影视欧美成人| 激情视频网址| 国产精品久久久九九九| 97人人模人人爽人人| 黄色工厂这里只有精品| 粉嫩少妇自慰在线| 九九综合久久| 精品久久久久久久久久久久| 999久久久| 夂久色| 亚洲中文日韩欧美大香蕉视频| 色色色欧美| 欧美中字二区| 欧美亚洲综合色| 欧亚性爱在线视频| 精品久久久中文字幕不| 中出后入| 天堂九九九九九九九九九| 男女啪啪网站免费视频| 97天堂| 天天欧美| 天天综合亚在线| 国产黄色av大片网站| 玖玖爱在线视频免费观看| 加勒比性爱成人在线| 啊啊啊在线观看免费视频| 国产激情综合五月久久| 精品性爱一二三区| 伊人精品久久网站| 欧美日韩中国x| 日欧操屄视频| 亚洲福利影院一区久久| 精…码一二三区| 亚洲涩图欧美| 大香蕉在线SuP| 人妻激情偷乱视频一区二区三区 | 色穴精品| 手机在线中文字幕国产| 乱伦日本中文自拍| 日本韩国国产精品一区| 久操视频免费观看| 五月婷婷影院| 中文字幕一区二区三区人妻少妇在线| 97色冈| av无码av无码专区| 日韩av一级黄片| 色综合av综合久久| 中精品一区二区三区| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 91黑丝在线| 91蜜臀在线久久久久| 久久男人精品| a'v在线资源| www.成人无码| 91超碰碰在线| 精品夜夜澡人妻无码AV| 黑丝91视频| 大香蕉欧美伊| 色精品极品| 99视频内射三四| 江都AV在线| 91精品成人www| 久久99网站| 色嘟嘟人妻天堂网| 日韩传媒在线| 激情一区二区| 91九色丰满高潮| 91少妇香蕉久久精品| 人人操超碰在线| 天天日天天干天天摸天天操| 无码久久国产| 伊人国产成人av网站| 91人妻Pr| 少妇特黄一区二区三区| 99精品在线| 亚州色图欧美色图| 欧美在线啊啊啊| 亚洲在高跟鞋自慰久久在色线| 超碰久超碰久| 亚洲熟女av中文字幕| 少妇干B| 亚洲网污污污污| 一区二区无码视频| 把腿张开老子CAO烂你| 激情婷婷丁香| 97精品在线视频| 欧美色综合网| 黄色操人| 综合久久99亚洲人妻中文在线| 欧美性色综合网| 在线日韩精品一区二区三区| 夜夜操二区| 婷婷精品国产一区二区三区日韩| 性无码专区2020| 日本国产亚洲一区在线观看| 337p大胆噜噜噜噜噜91Av| 日日骚一区二区三区| 久久久人妻| 亚洲欧美日韩免费电影| 制服中出中文人人精品| 少妇高潮对白在线观看| 中文字幕av久久爽Av| 秋霞一级A片黄色视频| 99性爱视频| 久久9精品网站| 日本精品不卡一二三区| 国产丝袜欧美在线视频| 无码男人天堂| 青草精品视频-日本久久久久网站| 色色无码| 综合在线导航一区| 另类图片综合| 九九黄色网| 成人黄页| 精品视频123区小说区| 亚洲日本天堂| av天堂精品久久| 九九玖玖精品| 精品亚洲国产成人AV制服丝袜| 一区二区影视| 死我十八禁| 蜜桃色院一区久久| 国产日韩在线播放av| 久婷婷一区| 最新av网站在线观看| 超碰欧美COM| 婷婷五月天av| 91欧美经典| 久男人久久| 91天天爱| 男人的天堂亚洲| 午夜高清成人在线视频| 在线无码网站| 超碰99在线| 日韩偷拍色图| 亚洲国产婷婷在线播放| 亚洲成人精品在线一区| 日韩成年人性爱视频| 精品视频一区二区| 91青青草| 国产精品一区二区手机看片| 97亚洲在线| 久久精品—区二区三区内射| 4141514逼喷水三级片| 怡红院视频在线| 欧美熟爽综合| 精品一久久久| 污电影在线观看| 精品十八在线观看| 中文字幕乱码在线观看| 激情露脸爱| 色波多| 久久久熟妇熟女国产| 影音先锋少妇| 九九免费影片| 国内97干免费看| 国产女生在线| 在线免费观看日韩一区| 免费精品国偷自产在线在线 | www亚洲免费| 老熟女阿 国产91| 嗯啊不要啊在线 | 开心六月色| 欧美中出1| 91少妇通奸网站| 五月婷婷爱六月丁香色| 欧美亚洲手机在线| 视频二区美腿丝袜制服人妻欧美 | 免费看日本操逼视频| 91熟女视频网| 98色网| 做爱福利视频一区二区| 中国一区二区亚洲人妻| 91久久国产综合久久| 亚洲?V无码专区在线电影| 亚洲一区二区三区不卡国产欧美| 精品久久久久,69国产成人精| 大香网伊人久久综合网eew| 亚洲女优有码无码高清| 国产亚洲色婷婷久久99精品91| 麻豆人妻少妇在线免费观看| 屁股久久久久久久| 啊啊啊好爽快点啊啊啊嗯嗯| 一级AV性爱| 亚洲美欧999| 2019久久久久久久久福利| 日B操| 秋霞成人一级在线观看| 精品亚洲国产成人AV制服丝袜 | 狠狠爱综合网| 色综合99999| 夜夜高潮夜夜爽夜夜爱爱一区| 国精综合一二三区影视| 伊人五月天青青草婷婷| 天堂精品在线| 五月天色综合| 日日夜夜干| 久久熟女久| 欧洲射精91| 96AV久久久| 97伊人超碰| 亚洲成人久久一区二区| av天天在线观看| 99精品无码| 97欧美资源| 欧美超碰人妻97| 久久机热| 很黄很色的视频在线观看| 天天操女人| 91国产美女丝袜足交精品视频 | 日va操| 日本不卡码黄色 | 日产操逼| 久操九九九九| 一区二区精品更新提醒| 欧美天天在线| 91网九色蝌蚪操熟女| 91久久精品中文字幕| 操91| 襙一襙| 亚洲操操| 一二视频神马久久传媒| 青草成人免费视频一com| 一区二区激情国产熟女| 桃色六月天| henhen91| 18精品一区| 久久国产乱子伦精品免费女人| 亚洲成人妻日韩在线| 在线97视频| 国产成人精品亚洲日本| 舔足天天操天天射| 九九九久久久久| 五月丁香激情综合网| 日韩熟女视频二区| 中文字幕日韩综合| 啊啊啊用力在线观看| 欧美日韩国内不卡| 综合影院永久入口国产| 天天视频综合在线观看视频| 久久黄片国产一区二区| 日韩免费中文字幕视频| 日韩精品黄片免费观看| 日韩欧美亚洲国产日韩| av九九| 六九九九| 久久久久免费少妇| 国产又操| 能看的av| 亚洲加勒比久久日本道| 99999re| 乱码熟妇人妻久久久| 97无码视频在线播放| 亚洲熟女乱色| 婷婷伊人网| 区二区亚洲婷| 亚洲精品熟妇1区2区3区。| 抽插无码高清一区| 久久亚洲中文字幕视频| 丝袜美腿诱惑亚洲欧美视频在线观看| 人人噜夜夜操| 久久久一二三四区| 草莓精品视频在线免费观看| 97视频在线免费观看| 成人色女网| 人妻中文字幕日韩电影| 无码免费精品高清| 9久久精品| 大逼色网站| 97伦综合| 日本天天干天天搞一区| 日本黄 R色 成 人网站| 日本岛国黄色网址 | 激情五月婷| 久久草草欧美精品| 日本激情免费大片| 五月丁香社区婷婷日韩欧美精品影院 | 天天摸夜夜添无码小视频| 东北老熟女| 国产精品天堂| 久久久久久十| 国产精品美女视频诱惑| 伊人宅男大香蕉| 人妻欧美| 午夜视频好爽啊| 我要色综合网| 亚洲欧洲无码bt精品合集| 久久毛卡| 五月天激情网站| 国产亚卅97| 天堂网亚洲区手机版| 老熟女中文字幕高清| 亚洲射综合网| 亚洲第一页综合在线| 色九九综合AV| 国产精品96| 91视频综合网| 亚洲蜜桃V妇女| 视频在线观看一二三区| 99热这里只有精品1| 亚州色阁| 熟妇一区,二区,三区。| 精品人妻中文字幕高清| 天天综合-91入口| 中文字幕丰满子伦无码专区在线视频最新| 色网亚洲人| 日本不卡高清视频| 国产超碰人人爽人人做| 玖玖玖玖精品国产剧情| 人人澡人人爽人人精品| 久久久久亚洲一区女同性恋中文字幕| 九九九九日本| 粉嫩av在线| 91国产精品在线看| 国内精品不卡无毒99999| 清纯唯美综合| 黄色性爱网网| 91热色| 精品欧美老熟女一二区| 国产美女销魂在线观看不卡| 波多野结衣一级视频| 老熟女中文字幕高清| 亚洲第一狼人丝袜美女另类| 夜夜嗨绯色| 在线综合色| 国产绿奴视频在线观看| 天天色综合影视网| com 首页 18岁 禁区 女优 免费 精选 同城 | 在线97视频| 久久久久国产精品久久久| 天天上日日上日韩精品| 九九九九精品一区| 九九色色| 中日韩欧美精品无码AⅤ一区二区| 强奸a片网| 亚洲男人天堂手机版| 亚洲日韩肥臀视频在线观看| 亚洲精品一二三四区| 青青草五月份天| 97天天插| www.zbzhongsen.com| 十八禁视频一区二区| 精品国产自在在线99| 亚洲男人bt天堂| 青青草国产亚洲精品久久 | 色婷婷电影网| 风骚少妇视频中文字幕| 亚洲老熟妇xxx| 色牛牛AV| 操91| 99re只有精品| 久草精品国产蜜臀 | 天天综合欧美综合| 欧洲综合色| 成人性爱高清视频免费看| 九九九九免费视频| 插入逼91| 精品少妇高潮久久| 91丝袜美腿网站| 日韩欧美操逼xxx| 97中文字幕色| 欧美在线色| 欧美78| 粉嫩久久久极品| 素人伊尹大香蕉免费下载视频| 亚洲丝袜综合| 又大又白奶子| 热久日综合| 天天天天天天天天天天干美女| 日本A级视频| 中文字幕一区二区三区高清| 啊啊好多水| 国内毛片婷婷六月色| 96精品久久久久久久久久| 日韩在线AB| 高清国产性猛交xxxx乱大交| 偷拍 亚洲 欧美| 国产sv美女内射| 久久伊人网视频一区二区三区| 牛牛操视频逼| 国产精品美女久久久久久网站| 老司机香蕉久久久久| 狼人综合婷婷激情四射| 少妇一级婬片免费放一级a性色.| 97天天操| 97视频网站| 超碰天天操| 成人熟女区| 精品丰满人妻一区二区三区免费观| 色乱二区| 久操不卡视频| 久久久久亚洲三级电影| 日韩性爱啪啪视频| 亚欧操逼片在线观看 | 黑人无码一区二区| 国产区性爱在线视频秋霞豆| 色小视频蜜乳| 98色网| 日本99一区二区| 亚洲丝袜二区在线| 日韩精品-原创伙伴| 色色99| 亚洲人精品久久久| 精品69网| 少妇xx精品| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 精品一区二区三区麻豆| 啊啊啊啊操死我| 五月婷网站| 五月丁香影院| 九九Av| 日本精品一区二区中文字幕| 日本免费一级AAA大片器 | 天堂性色| 亚洲系列第一页| 精品少妇人妻av久久免费| 国产日比| 大香蕉伊人色偷偷在线| 夜夜爽爽夜夜精品视频| 久久久久久九九九九| 亚洲 欧美 手机在线观看| 综合 青草 伊久久 影院 综合 | 3p国产欧美99热| 色九九九九| 日韩99神马视频片| 美女淫穴| 99热日| 日韩无码a片| 桃色六月天| 男人的天堂2019| 黄色大片免费在线| 天美国产三级传媒| 性久久| 高清无码在线播放网站| 亚洲天堂综合AV| 一本色道久久天天射天天干| 91久久久久久久久久久| AV无码久久久精品| 色偷偷2020免费视频播放| 国产女人成人精品视频| 亚洲AV噜噜狠狠网址蜜桃动漫| 一本色道综合久久欧美日韩精品| 久久鲁干| 欧美日韩制服| 蜜臀操逼黄色视频操的好爽| 亚洲综合伊人无码久久| 99在线观看| 中文久久一区| 九久久精品| AV天天综合| 久热网| 大香蕉啪啪啪| 大象AV在线| 去干网最新版| 骚货操死你| 性做久久久久久免费观看软件| 日本欧美不卡| 成在线人在线观看视频| 五月婷婷丁香中文字幕| 伊人五月天| 中文字幕av一区二区三区人妻少妇| 久久久久久久久久久久久9999| 厕所偷拍在线| 久久系列| 久久久久久久久久久久久久久久9| 日本一级特级毛片视频| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 秋霞网—男女啪啪亚洲免费体验区 | wwwcaobibi| 久久精品国产Aⅴ| 久久鲁干| 久久久久久国产精品| 九九九九97| 色婷婷丁香五月| 老熟女搡BBBB搡BBBB视频| 8x福利精品第一福利视频导航| 五月婷婷影院| 亚洲自拍欧美国产首页网曝 | 久久久久96| 亚洲激情综合另类男同| 久久国色天香香蕉| 丁香五月偷拍| 久久伊人影院| 日韩三级在线观看mp4| 国产精品内射婷婷一级二| 亚州色站 日韩电影| 成人免费在线网站| 99久久99久久免费精品蜜臀| 亚洲āv网址在线观看| 九草九九九| 青青草乱入乱欲视频在线观看| 偷拍五区| 久久久∴| 少妇高潮对白在线观看| 青青五月天| 欧美激情精品久久久| 亚洲国产97| 激情网五月天| 亚洲欧美校园| 97青青操视频| 69精品久久久久中文字幕| 欧美日韩亚洲高清不卡一区二区三区| 蜜乳AV免费观看| 极品销魂美女一区二区| 91老熟女老女人国产老太| 日韩美女高潮喷水视频| 日韩精品一区二区三区色欲| 99热伊人| 日韩欧亚中文在线| 97精品国产97久久久| 久久久无码av精| yw尤物av无码点击进入麻豆| 5252色欧美在线男人的天堂| 麻豆九九九| 狠狠操夜夜操蜜桃视频三区| 蜜臀AV一区二区三区激情综合| 中文有码第五页| 操淫穴亚洲五月丁香| 91久久国产精品| 欧美视频一| 欧美精品久久久久久久久88| 51久久夜色精品国产麻豆| 亚洲日韩美国人妻| 色五月激情网| 伊人亚洲综合| 日韩久草| 五月丁香激情四射| 伊人五月天激情| 夜夜操夜夜爽夜夜高潮| 中文字幕熟女人妻丝袜丝| 性爱综合一区二区| 日语五十路和六十路亚洲国产精品| 高清无码在线播放网站| 伊人AAA| 国产亚洲 中文欧美久久| 亚洲午夜免费狠狠干| 青青草华人在线欧美在线| 熟妇一区,二区,三区。| 亚洲AV永久无码精品成人调教| 人妻无码一区二区三区久久99| 亚洲婷婷综合网| 91一区二区| 欧美亚洲第1页| 日本成人在线不卡一区二区三区| 亚洲精品人妻吞精av| 日产123区精品免费观看| 日逼逼免费看| 欧美成人性爱视频大全| jiujiujiujingpin| 亚洲va有码在线天堂| 91美女视频在线免费观看| 99热这里只有精品1| V A在线| 操b网站亚洲无码| 东京热视频网| 青青欧美| 在线观看国产黄色| 天天欧美色| 91在线免费精品视频| 美女露胸露尿口| 日日爽熟女| 久久五月视频| 丝袜狂射91| 夜夜草我| 国产一区二区三区,在线观看观看| 国产超碰97| 中出91| 尤物视频新赏网鲜网色诱网| 韩国一级做a久久久久| 热久久99999| 国产精品女aA片爽爽视频| 全球成人中文在线| 新视频sss国产| 国产成人无码a| 久久久久久久久久久久久久久性生活视频 | 偷拍三区| 日韩在线女优天天干| 亚洲午夜蜜臀| 日本性爱不卡视频| 2017天天透天天通天天擦| 久久婷婷五月天| 中文字幕一区二区三区四五区| 97 亚洲 日韩 欧美 在线| 亚洲色阁| 国产精品毛片| 丰满搜索结果 -第18页- 久久高清无码| 69一区二区| 青青草AV色| 日本岛国黄色网址| 欧美丝袜91| 男人的天堂2010| 国产亚洲国产超碰| 免费av在线播放二区| 欧美色图 色综合图| 伊人久大| 色色色五月婷婷| 伊人麻豆传媒| www鬼畜国产男人的天堂| 六月激情网| 日韩亚洲中文字幕在线| 免费的很黄很污的全部视频| 人人九九精| 天天日骚逼熟女| 久久久久网站-538在线视频-欧美永久乱码 | 国产偷人妻精品一区二区在线| 成人乱码一区二区三少妇| 操逼视频免费日韩无码| 综合激情二| 日本3级一区二区免费| 国产玖玖| 欧美日韩精品久久| 亚洲精品天堂久久A∨51成人漫| 亚洲综合首页| 欧美中字二区| 四虎影院成年人片| 在线精品福利免费播放| 免费在线视频97| 亚洲天堂AV在线播放| 欧美色图小说综合| 不卡免费av在线播放| 久久精品国产免费观看99| 欧美精品99久久久**| 国产亚洲日韩在线三区黑人| 另类图片五月天| 啊v在线观看视频| 日本精品一区二区三| 99天堂网| 日韩美女操b| 大香樵伊人网| 91jk色拍| SS久久| 91大香蕉伊人| 偷窥自拍亚洲色图| 成人无码专区精品视频| 伊人久久大香大香线蕉中文| 日韩AV电影网站| 91被操| 静品嫩模一区二区|