免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

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

STM32移植CANopen協(xié)議棧Festival 3.0:從驅(qū)動到對象字典全攻略 簡介面向STM32開發(fā)者的開源CANopen協(xié)議棧Festival3.0源碼包適合需要在嵌入式項(xiàng)目中快速接入CANopen通信的工程師與學(xué)習(xí)者。協(xié)議棧覆蓋對象字典OD、節(jié)點(diǎn)ID管理、NMT網(wǎng)絡(luò)管理、SDO配置傳輸與PDO實(shí)時數(shù)據(jù)交換等核心機(jī)制可支撐工業(yè)自動化、汽車電子等多廠商設(shè)備互聯(lián)場景。壓縮包共65個文件以C源文件與頭文件為主體另含工程配置、調(diào)試信息及EDS/OD描述文件整體僅228KB便于快速下載和直接閱讀。目前已有2135人學(xué)習(xí)下載。資源提供完整示例工程與驅(qū)動代碼可對照主程序及inc/src/driver目錄梳理協(xié)議棧運(yùn)行流程按需配置PDO映射、SDO服務(wù)和NMT事件處理從而完成從STM32 HAL庫驅(qū)動適配到應(yīng)用聯(lián)調(diào)的開發(fā)閉環(huán)也適合希望深入理解CANopen實(shí)現(xiàn)細(xì)節(jié)并做二次定制的開發(fā)者。1. 開源的CANopen源代碼配上STM32為什么說Festival 3.0是起步最快的選擇做工業(yè)設(shè)備聯(lián)網(wǎng)的工程師幾乎都會在某個項(xià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、報文”配置好的工具其實(shí)它和裸CAN的思維完全不同。裸CAN時代你自己定義ID和數(shù)據(jù)字節(jié)含義每個廠商一套規(guī)則CANopen則把這些全部規(guī)范化了。一個CANopen從站里核心是三樣?xùn)|西對象字典、通信對象、狀態(tài)機(jī)。對象字典是一張表格每個條目由索引和子索引定位。比如0x1000是設(shè)備類型0x1017是心跳生產(chǎn)時間0x2000到0x5FFF是廠商自定義區(qū)你的業(yè)務(wù)數(shù)據(jù)放這里。通信對象分四類NMT負(fù)責(zé)節(jié)點(diǎn)狀態(tài)切換啟動、停止、復(fù)位SDO負(fù)責(zé)配置和讀寫對象字典PDO負(fù)責(zé)周期性或事件觸發(fā)的實(shí)時數(shù)據(jù)傳輸心跳負(fù)責(zé)讓主站知道你的存活狀態(tài)。我一般會在移植前畫一張自己的數(shù)據(jù)流圖主站通過SDO給你下配置你把配置寫進(jìn)對象字典對應(yīng)的索引運(yùn)行階段你周期性地把傳感器數(shù)據(jù)塞進(jìn)TPDO主站那邊就能直接收到實(shí)時值。這張圖畫清楚之后再看協(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)機(jī) */ │ ├── sdo.c /* SDO服務(wù)器實(shí)現(xiàn) */ │ ├── pdo.c /* PDO收發(fā)處理 */ │ ├── hb.c /* 心跳生產(chǎn)與消費(fèi) */ │ ├── sync.c /* 同步報文處理 */ │ └── objacces.c /* 對象字典讀寫訪問 */ ├── drivers/ │ ├── can_io.c /* CAN收發(fā)必須重寫 */ │ └── timer.c /* 定時器節(jié)拍必須重寫 */ └── examples/ └── stm32/ /* 平臺示例工程 */移植時你只需要動drivers目錄下的兩個文件以及applicfg.h里的平臺宏。src目錄里的協(xié)議邏輯基本不用碰那是被驗(yàn)證了無數(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ù)實(shí)際波特率就是正確的兩倍其他節(jié)點(diǎn)全部掉線。第三個問題內(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)上位機(jī)軟件有的總線分析儀自帶CANopen主站功能能自動掃描從站、讀寫對象字典、監(jiān)控PDO。沒有主站工具你只能盲調(diào)排查問題效率會低一個量級。選型結(jié)論如果你的目標(biāo)是快速做出一個能用的CANopen從站Festival 3.0值得投入。它代碼量不大、結(jié)構(gòu)清晰網(wǎng)上能搜到的移植經(jīng)驗(yàn)貼也多踩坑成本遠(yuǎn)比從零實(shí)現(xiàn)低。接下來進(jìn)入實(shí)際移植。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)必須實(shí)現(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)實(shí)現(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)鍵的一點(diǎn)是CAN接收中斷里只做“搬運(yùn)”把報文從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é)點(diǎn)看門狗這些邏輯。如果你的主循環(huán)里有長時間阻塞的任務(wù)比如Flash擦寫請把擦寫放在CAN空閑時段實(shí)在避不開就提前把心跳周期的余量算夠否則主站會因?yàn)槟阈奶舆t而報節(jié)點(diǎn)丟失。3.4 最小驗(yàn)證先讓從站上線能被主站掃描到驅(qū)動接完之后先不要寫任何應(yīng)用邏輯直接編譯燒錄用CAN分析儀主站掃描。此時從站應(yīng)該能發(fā)出心跳報文報文的COB-ID是0x700加節(jié)點(diǎn)號比如節(jié)點(diǎn)號1就是0x701。主站發(fā)NMT啟動節(jié)點(diǎn)命令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è)備真正能被上位機(jī)控制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這樣上位機(jī)訪問到的始終是持久化數(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)象不是死機(jī)。真遇到那種“讀一個對象就卡2秒”的情況多半是對象字典回調(diào)函數(shù)里做了Flash讀寫又沒有做超時處理。4.3 PDO映射的兩種姿勢靜態(tài)映射和運(yùn)行時修改PDO負(fù)責(zé)實(shí)時數(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在運(yùn)行時修改。靜態(tài)映射適合生產(chǎn)固件簡單可靠動態(tài)映射適合調(diào)試期代價是運(yùn)行時需要執(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í)時數(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é)點(diǎn)超時原因波特率偏差超過協(xié)議要求的1%或者心跳周期的0x1017被設(shè)成了0。0x1017是0時從站不發(fā)送心跳主站側(cè)當(dāng)然會報超時。另一種情況是APB1時鐘源配置和初始化參數(shù)對不上實(shí)際波特率漂了百分之幾距離短的調(diào)試階段僥幸能通線一長就掉線。解決先用CAN分析儀自帶的波特率測試功能看實(shí)際波特率是499.8k還是512k。如果是512k說明Prescaler和BS1/BS2的組合算錯了。重新按公式計算CAN時鐘經(jīng)過預(yù)分頻后必須落在目標(biāo)波特率的1%誤差內(nèi)。用庫函數(shù)打印出初始化后的實(shí)際參數(shù)不要靠肉眼估計。另外把0x1017寫成100立刻從站側(cè)能看到心跳周期變化這招能快速驗(yàn)證心跳通路。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í)際映射的對象數(shù)一致。再檢查映射的位寬和變量類型是否匹配比如把32位浮點(diǎn)數(shù)映射成16位條目數(shù)據(jù)會截斷看起來就是亂碼。最粗暴的驗(yàn)證方法在從站代碼里手動修改TPDO源變量的值看總線上有沒有新幀。沒有新幀問題在協(xié)議棧配置有新幀但值不對問題在映射表本身。5.4 現(xiàn)象運(yù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ù)。還有一點(diǎn)容易被忽略的是堆棧大小協(xié)議棧遞歸調(diào)用的深度不算深但SDO回調(diào)里如果有printf或浮點(diǎn)運(yùn)算每個嵌套層都會吃掉不少棧空間建議調(diào)試期把主棧調(diào)到2KB以上。6. 用CAN分析儀抓完整報文從上線到閉環(huán)控制的驗(yàn)證方法驗(yàn)證一個CANopen從站是否合格不能只看上位機(jī)顯示“在線”。用CAN分析儀把原始報文抓出來按時間順序核對狀態(tài)機(jī)的每一拍。以節(jié)點(diǎn)號1為例上電后你看到的第一個報文應(yīng)該是心跳0x701數(shù)據(jù)字節(jié)是節(jié)點(diǎn)狀態(tài)值。如果心跳沒發(fā)說明協(xié)議棧還沒進(jìn)入正常狀態(tài)。接著手動給從站發(fā)NMT啟動命令CAN ID 0x000數(shù)據(jù)0x01 0x01。從站收到后狀態(tài)從Pre-operational切換到Operational此時SDO和PDO才允許正常工作。你要驗(yàn)證的時序是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)驗(yàn)?zāi)炒雾?xiàng)目里從站心跳和PDO都正常但主站的軸控指令一執(zhí)行就超時。排查到最后發(fā)現(xiàn)是接收中斷里順手做了一位數(shù)碼管刷新刷新函數(shù)里關(guān)了中斷導(dǎo)致CAN接收在關(guān)鍵時刻被阻塞了好幾十微秒。從那以后我記住一條習(xí)慣中斷里的代碼越少越好CAN接收中斷只置標(biāo)志位協(xié)議棧分發(fā)全部挪到主循環(huán)。這個習(xí)慣后來幫我避掉了好幾次類似的坑也希望能幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
79色色色色| 五月丁香啪啪网| 久久日婷婷| 蜜臀99精品| 五月色婷婷亚洲 | 99精品高潮| 99这里只有| 色五月色综合| 翔田千里aV中文字幕| 日本全黄一级999| 国产激情久久久| www婷婷| 色热久资源| 婷婷五月超碰| 色婷丁香91| 色色婷婷丁香| 99啪啪网| 婷婷五月激情图片| WWW99视频| 香蕉婷婷| av在线中文| 九九色99| 日逼免费视频| 91啪级电影| 五月天婷婷綜合院| 超碰人人99| 九色综合网| 99这里有精品| 天天干夜晚夜操| 天天做天天爱天天爽综合网| 激情婷婷五月天日本系列| 色五月综合在线| 亚洲精品另类| 亚洲国产网站| 97男人天堂| 99re在线播放| 成人亚洲精品久久久久| 日韩免费视频| 日本久久高清| 色五月婷婷影院| 五月激情婷婷国产精品久久久久久| 亚洲精品欧洲精品| 人人爱干人人爱草| 五月激情丁香久久综合网| 国产黄色大片| 九九超日本| 99久热视频在线| 色久综合| 亚洲黄色网址| 182tv992tv人之初午夜免费观看| 99re资源在线视频导航| 99艹精品在线观看| 五月天丁香婷婷社区| 三日本无码| 26UUU在线观看| 久热精品视频在线观| 婷婷丁香成人五月天| 奇米色大香蕉| 色情婷| 九九超碰人人| 大香蕉五月婷婷| 久久婷婷五月综合成人d啪| 一本狠婷婷综合| 人妻体体内射精一区二区| 五月激情站| 啪啪综合网| 五月天婷婷久久| 91色婷婷综合久久中文字幕二区| 五月丁香婷婷综合| 人妻熟人中文字幕一区二区| 色婷婷无吗| 久久3级片| 久久婷婷五月综合色区| 丁香密臀AV激情网| 久久久WWW| 日本久热| 天天爱天天做天天舔| 天天激情综合| av操一操| 开心五月婷婷99| 丁香六月色香蕉视频| 八戒青柠影视剧在线观看| 少妇性按摩无码中文A片| 色色色com| 九九热这里只有精品6| wwxx日本| 婷婷丁香人妻天久久| 在线sebiav精品视频| www.99热这里精品| 五月天综合色| 久久 婷婷 五月天| 亚洲激情综合五月婷婷啪啪| 亚洲激情97五月天| 色综合婷婷| 五月丁香操婷逼| 开心五月婷婷| 九九热99精品| 深爱五月婷婷开心中文字幕| 99热这里只有精品国产精品| 国产精品视频免费看| 色综合色五月| 任你搞免费视频观看| 9色在线视频精品观看| 最新AV在线观看| 日韩av在线电影| 五月丁香六月婷婷精品| 五月婷婷综合久久| 九九人人操| 国产成人综合电影| 色综合婷婷| 丁香激情久久| 成人免费va| 色99视频| 日韩av高清| 玖玖99免费视频| 婷婷五月亚洲激情| 婷婷五月丁综合| 日本久热| 青草青草久9视频在线视频| 大香蕉久热| www久久五月com| 五月丁香六月婷婷久久久综合| 网站免费一站二站| 夜夜嗨一区二区三区直播内容 | 九九色图| 欧美成人精品A片免费一区99| 熟妇高潮一区av| 久热黄色| 5月婷婷激情网| 天天色视频| 久久爱综合| 91精品综合久久婷婷九色| 色五月婷婷狠狠撸| 91操网| 精品久久久久成人码免费动漫| 伊人9在线| 秋霞网在线观看理论91| 开心激情网在线| 亚洲AV日韩在线观看| 国产精品久久..4399| 色婷婷影音| 玖玖综合色| 五月美女婷婷风骚| 天天爽日日搞| 成人看片网站| 超碰免费在线| 亚洲激情在线| 亚洲视频五区| 久色激情| 久久婷婷五月综合色天| 五月天自拍网| 成人精品一区日本无码网| 九九干视频| 色色色色色色综合| 综合色色五月| 人人视频色| 风流少妇A片一区二区蜜桃 | 色噜久| 天天日,天天射,天天舔| 色色综合热| 丁香六月婷婷| 狠狠精品干练久久久无码中文字幕| 国产精品涩涩涩视频网站| 夜夜嗨一区二区三区直播内容 | 人妻自慰在线| 色婷亚洲| 婷婷五月丁香啪啪| 国产FREESEXVIDEOS性中国| 韩国真做片在线观看| site:pnnrt.com| 婷婷久久久| 色婷网| 精品香蕉99久久久久网站| 婷婷五月天VI| 激情丁香九九五月综合网| 婷婷爱在线观看| 亚州视频九九99| 亚洲最大五月天成人网| 激情深爱综合| 天天色激情| 色婷婷五月天激情在线观看| 91久久99久久91熟女精品| 日韩在线看AV| 中文字幕在线不卡| 五月丁香龟婷婷| 亚洲无码yw| 免费AV播放| 久久婷婷原创视频| 婷婷五月天受日本法律保护| 可以直接看的av| 9色在线视频| 五月天激情小说网| 五月天激情四射网站| 華人性愛AV在線| 丁香五月停停av| 久久婷狠狠色| 亚洲中文字幕在线电影| 综合狠狠伊人| 99热网址| 大香蕉丁香婷婷| 日本久久婷| 丁香激情六月天婷婷| 色色国产| 丁香五月激情五月| 婷婷五月综合欧美在线播放| 色五月天激情| 婷婷色基地在线看| 午夜青草资源| 九九精品热| 91人人人人人人人| 婷婷五月天激情综合婷婷五月天激情综合| 婷婷五月综合久久中文字幕| 色域五月丁香| 五月天自拍视频| 激情久久综合| 六月丁香停| 人人做人人看人人摸| 九九九九毛片| 五月丁香综合激情网| 国产av天天插天天操天天爽| 综合丁香婷婷五月天| 五月婷婷开心六月激情小说| 日本精品人妻无码77777| 在线观看996精品| 五月丁香激情深爱婷婷| 亚洲综合另类| 久久这里只有国产| 香蕉久久国产AV一区二区| 丁香五月伊人| 99久久成人| 超碰超碰在线| 日本色99| 五月丁香影院| 97人妻碰碰碰久久久久-最近国语高清| 欧美黑人巨大猛烈cuckold| 婷婷丁香久久| 婷婷97碰碰| 97色色在线视频| 激情开心五月天| 亚洲网视屏| 五月婷婷六月丁香在线| av一区免费看| 色婷婷五月中文字幕在线dvd| 黑人巨粗进入警花疼哭A片| 久久丁香五月婷婷| 99久久久| 久久伊人大香蕉| 国精产品一区二区三区| 日本色色色| 久久婷婷青青| 激情五月天无人视频在线| AA片在线观看视频在线播放| 国产人妻777人伦精品HD| 久久99这里只有精品| 久久久久久97| 久草天堂| 中文字幕在线观看视频www| 任你日视频| 久久狠狠干| 欧美丁香五月| 美欧日韩国产成人在战| 色欲丁香| 色婷婷激情| 91碰碰视频| 99色在线| 久久这里只有精品久久| 婷婷五月天丁香花| 婷婷五月丁香基| 男妓跪趴把舌头伸进我的嘴巴| 97色色-99久久| 夜夜撸日日操| 天天模,夜夜模夜夜爽| 欧美电影在线观看| 五月天激情啪啪| 啪啪视频99| 色丁香婷婷| 丁香五月婷婷久久久| 99久久玖玖| 9色在线视频精品观看| 丁香五月综合AV在线| 九九久久色| 精品久久66| 色站9/| 五月丁香六月婷婷无码| av在线免费播放| 九九色热| 五月激情久久综合| 成人在线免费网址| 91碰碰视频| 激情99热| 国产美女无遮挡裸体毛片A片| 六月丁香综合999| 狠狠爱青青草| 丁香激情五月天| 色域五月婷婷丁香| 色小说五月婷婷| 色综合99无码| 九九99热久久精品66中文字幕| 91丨九色丨熟女|新版| 激情综合网五月天| 五月天激情网页| 亚洲第一影院高清无码网站| 色五月首页| 婷婷五月综合色中文字幕| www.五月天| 天天操夜夜爱| 久久激情五月婷婷| 伊人久久丁香五月91| 可以看的AV网站| 激情啪啪五月| 色狠狠色噜噜AV天堂五区| 色色色色色爱| 妇激情基地| 成 人片 黄 色 大 片| 婷婷五月激情在线视频| 欧洲99视频在线| 97热91| www夜夜操| 人妻av在线| 天天色天天操天天射| 色五月丁香五月| 婷婷在线精品| 成人 九九九九| 天天肏视频| 狠狠干2007| 99热大| 天天艹夜夜艹| 久久婷婷六月综合综合色| 大香蕉久艹| 尤物一区二区| 五月色综合| 婷婷五月色花丁香社区| 夜夜骑夜夜撸| 五月激情站| 另类色视频| 色综合色综合色综合| 久久性爱视频| 99热无码首页| 欧美激情Va| 五月婷婷国产| 777米奇影视第四色| 丁香五月最新地址| 99热99热不卡| 成人羞羞啪啪 全 视频| 青青草轻轻操| 色九月丁香婷婷蜜桃在线观看| 婷婷久月| 激情综合五月婷婷丁香| 色五月婷婷内射| 久久这里只有精彩| 97久人人| 亚洲激情六月| 播丁香五月婷婷欧美| 9久久精品| 婷婷五月开心中文字幕在线| se99高清无码| 五月天成人综合| 人操综合| 免费视频WWW在线观看网站| 五月婷婷日| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 99热最新精品| wwww.色婷婷| 超碰在线看| 狠狠色丁香婷婷久久综合| 激情五月天网页| 97碰免费视频在线| 色久女| 在线一起草av| 丁香五月婷婷综合啪啪| 欧美肉大捧一进一出免费视频| 五月停停999| 蜜乳中文字| 综合逼五月激情婷婷| 中文字幕在线日亚州9| 久草五月| av在线免费网站| 欧美啄木乌丝袜人妻系列| 丁香六月 婷婷六月| 91久久综合亚洲噜噜成人在线| 67194中文在线| 第九色区av天堂| 粉嫩av蜜桃av蜜臀av| 欧美激情VA永久在线播放| 色色色色色爱| 99re这里只有精品在线观看| 影音先锋 婷婷| 久久99热这里| 琪琪秋霞| 激情婷婷五六月天| 国产又黄又爽又激情不遮挡视频在线观看| 亚州激情网站无码| 五月婷婷丁香深深爱| 夜夜 操无码| 五月天婷综合| 丁香激情四射| 999热在线视频| 婷婷操久久| 五月丁香成年黄色| 综合99综合久久久久久久| 亚洲婷婷婷| 99在线热视频| 五月婷婷色影院| 九九这里是免费的视频5| 日韩黄色网络| www色婷婷| 五月婷婷av| 色丁香五月天| 五月天激情综合网俺也去| 99热综合网| 五月天丁香婷| 97人人操在线| 亭亭五月丁香综合欧美| 久久草人妻| 九九日本视频| 人妻五月天激情开心网| 五月丁香久久丝袜啪啪| 婷婷伊人网| 能看的AV| 色色综合网站| 最近免费中文字幕大全高清大全1| 丁香五月AV| 337午夜福利| 婷婷五月伦理| 五月天com| 久人操| 久久久91| 亚洲人妻av伦理| 久久久国产精品黄毛片| 沈娜娜av| 人人操女人| 亚洲AV成人在线| 五月天六月丁香| 色婷五月天亚洲| 婷婷五月丁香伊人网| 久久九九蜜| 五月婷婷婷丁香播| 538在线精品| 成AV人片一区二区三区久久| 激情五月婷婷色综合| 综合久久六月| 大香蕉综合| 丁香五月天偷拍| 婷婷综合激情五月中文字幕| 99综合一区| 色爱综合网| 亚洲欧洲另类| 五月婷婷综合激情小说| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 夜精品无码A片一区二区蜜桃| 人操综合| 丁香婷婷五月色成人网站| 亚洲sesesese| 六月丁香成人网| 婷婷五月精品中文字幕| 色婷婷综合网| 婷久久高清| 熟女91九色| 五月综合亚洲色| 就爱射中文字幕资源网| 成人欧美日韩| 婷婷五月丁香第四色超碰在线| 久热精品免费视频4| 国产免费一区二区三区三州老师F1F1.CC | 色婷婷香蕉| 亚洲综合视频一下| 视频综合网| 天天透天天摸天天舔| 婷婷五月天伊人| 色综合色综合网| 涩婷婷视频快播人妻| 国产日比| 亚洲第一精品成人999久久精品| 久久婷狠狠色| 国产免费一区二区三州老师F1……| 高清成人综合| 婷婷五月天第四色| 狠狠色噜噜狠狠| 中文成人在线| 91婷色| 九玖欧洲亚洲| 欧美性丁香色色五月天干干| 欧美色色日韩| 婷婷一本和五月丁香| 五月天色区| 国产毛片欧美毛片久久久| 综合激情sV| 色五月婷婷丁香国产在线| 色婷婷精品视频| 激情亚洲五月| 女人露出p毛视频www网站| 人人爱人人摸人人澡| 激情图片五月天| 玖玖热99| 99热精国产这里只有精品| 99热精品在线| 啪啪视频99| 777色婷婷爱五月| 久久网思思| 日本99视频| 天天网曰日曰夜夜综合永久免费| 色国产五月| 丁香色综合| 一级韩国产精品毛| 爱的综合网| 99综合网| 婷婷六月视频| 六月激情婷婷| 大香蕉婷婷婷| 日在线V视频在线播放| www.99在线| 久久婷婷内射| 久久五月情| 开心五月婷婷在线| 99热色精品| 97色婷| 天天爱天天操| 在线成人国产| 九九精品在线网| 99热国品| 《诡秘之主》在线观看| 久久性爱视频| 色婷婷狠| 激情综合色五月丁香六月亚洲| 丁香五月综合| 新久久五月天激情| 天天干夜夜想| 91超级碰碰碰| 色情综合网| 绿色小导航AV| 很很干天天干| 成人短视频免费| 丁香五月天啪啪激情综和网| 国产精产国品一二三在观看| 激情五月天在线观看色婷婷| 婷婷伊人綜合中文字幕| 99操碰| 婷婷五月丁香综合| 五月丁香婷婷中文| 色五月91| 丁香五月天堂网| 99久在线观看| 久久久久婷婷| 久久久精品人妻| 性一交一乱一交A片久久四色| 亚洲视频五区| 九九色中文| 五月激情视频| 九九热这里只有精品556| 天天干狠狠| 五月丁香六月综合情在线观看| 99热精品在线播放| www.婷婷网| 91超级碰碰| 美女100%露全身无挡网站| 777色色色| 亚洲午夜成人av电影网| 五月天成人在线精品| 国产真人做爰视频免费| 26UUU精品一区二区Com| 91丁香婷婷综合久久欧美| 无码人妻一区| 日韩另类在线观看| 超碰99在线| 综合五月草| 婷婷精品| 99国产这里只有精品| 久久综合婷| WWW.99视频| 成人av免费观看| 亚洲色啪| 亚洲天码视频www蛋播视频| 狠狠色噜噜狠狠亚洲A∨| 婷婷五月天在线视频网站| 激情五月天综合网| 中文久久久人妻| 69婷婷丁香午夜| 99re热视频这里只精品| 蜜乳中文字| 91精品国产99久久久久久天美| 五月丁香激情啪啪| 六月丁香婷婷尤物| 日本久久9| 亚洲AV综合在线观看| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 色综合久久88色综合天天看| 五月丁香婷婷爱激情综合网| 五月丁香成人网| 久久成人天| AVV黄| 丁香九月婷婷| 狠狠色综合网站| 日本少妇AA一级特黄大片| 婷久久| 成人必爱视| 久久99网| 五月丁香大香蕉| 26uuuavcom| 我想看国产大学生口爆吞精的视频| 激情五月婷| 2020久久婷婷五月| 五月婷婷六月丁香玖玖玫瑰91| 六月撸婷婷| 国产婷婷综合| 五月天色欧美| 六月婷婷综合| 九九精品在线网| 亚洲综合视频在线| 人妻在线中文字幕久久| 成人av观看| 国产成人精品一区二三区熟女在线| 色五月在线视频观看| 综合啪啪| 国产婷婷五月| 天天干天天爽| 大香蕉天堂| 欧美成人网婷婷综合在线| 91精产品自偷自偷综合| 香蕉久日夜| 99自拍视频| 国产精品日韩十五区| 久草天堂| 婷婷五月天丁香久久| 色五月亚洲| 人人干人人操人人摸| 欧美五月丁香在线| 亚洲xx网| 婷婷色情 | 综合AV在线| 可以观看的AV| 天天色天天爱天天舔| 69久久99精品久久久久| 极品人妻VIDEOSSS人妻| 激情综合色网| 欧美这里只有精品| 色五月色综合| Xx色综合| 91碰碰碰| 人人干女人| 免费色婷婷| 婷婷五月天社区| AV在线免费播放| 天天插天天爱| 五月激情五月婷婷五月天在线| 婷久久| 久久综合图片| 思思re最新视频| 操操啪| 久久精品婷婷| 久久人妻视频| 日本色色色| 天天拍夜夜爽| 91蜜桃婷婷狠狠久久综合9色| 九九九九九九综合| #NAME?| 操操操97| 亚洲国产精品二二三三区| 69精品人人人人| 色九九九九| 五月天婷婷爱| RenRenSe在线视频网站| 青草性爱视频| 五月婷婷激情综合在线| 超碰免费在线| 91婷婷在线| 成人AV片播放| 在线免费视频caop| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 成人五月天综合网| 五月婷婷综合网| 2020日日干| 欧美色婷婷| 99爱在线精品视频免费观看| 综合网视频| 天天干狠狠艹| 91精品综合久久久久久五月丁香| 亚洲丁香五月| 情婷婷五月天| 婷婷五月天在线综合| 色五月丁香在线| 人妻肉射免费观看| 丁香五月成人在线| 亚洲九九在线| 色婷婷六月综合| 中文无码精品一区二区三区| 五月综亚洲| 天天插天天很| 影音先锋 婷婷| 免费精品66| 亚洲AV激情五月综合网| 久久久思思热| 天天草天天爱| 免费试看小视频 99| 亚洲99视频| 精品一区二区三区四区五区六区介绍 | 思思re99视频在线观看| 色婷婷五月在线| 思思99re这里只有| 激情综合色婷婷啪啪六月天| 中文在线视频久1| 婷婷五月六| 久9无码视频| 国产成人AV在线| 五月丁香偷拍| 丰满少妇猛烈A片免费看观看| 国产AV一区二区三区日韩| 狠狠精品干练久久久无码中文字幕| 日本精品人妻无码77777| 婷婷丁香综合网| 91久久18| 婷婷亚洲久久| 久激情网| 色婷婷成人在线| 丁香五月天BBw| 婷婷丁香五月激情| 五月婷婷综合在线| 色综合久久88色综合天天看| 26uuu精品一区二区| av中文在线| 日日影院 | 丁香婷婷婷婷十二月在线观看视频| 成人丁香五月| 激情五月天色播| 婷婷五月激情基地| 五月天激情网址| 狠狠色综合网| 天天日天天操天天干| 天天爽,夜夜爽| 99热精品在这里| 大香蕉精品视频| 成人做爰高潮A片免费视频| 欧美日韩婷婷五月天| 婷婷九九视频| 婷丁香久综合| 婷婷噜噜| 九九九九这里只有精品| 九九色影视| 日本人妻伦在线中文字幕| 丁香花五月天社区| 青青草原亚洲天堂| 丁香婷停五月激情综合深爱| 天天摸天天舔| 久久久久9999| 久久六月婷婷| 五月婷婷丁香综合| 激情宗合网激情五月天| 涩综合网| 丁香花社区av| 三级三久久线久久99久目本WW| 丁香五月婷婷亚洲综合精品在线| 激情综合激情综合| 噼里啪啦在线观看免费完整版视频| 伊人激情网| 九九热视频精品2| 久久色这里只有精品| 久久五月婷| 蒲京久久无码视频| 五月天激情四射| 婷婷丁香色五月久久88| 色五月综合在线| 久久婷婷网址| Av狠狠色丁香婷| 亭亭五月天黑人2014| 激情综合区| 狠狠色噜噜狠狠狠777奇米| 激情欧美婷婷| 久久伊人五月天| CHINESE熟女老女人HD视频| 玖玖99精品视频| 激情五月综合ì香亚洲| 草一草avb| #NAME?| 欧美WW在线网| 激情五月天免费视频| 色婷婷久久| www99xxxx五月丁| 久婷五月| 天天影院色| 深夜婷婷 丁香| av中文在线| 五月天激情久久| 伦99热| 丁香婷婷九月| 91国产精品视频播放| 激情五月深爱五月| 久久婷.com| 婷婷婷婷午夜| 丁香五月天欧洲在线| 久久精品系列| 四川BBB搡BBB爽爽视频| 激情五月天色| 伊人网碰碰| 五月婷综合| 久香草视频在线观看| 婷婷色综合| 欧美婷婷日本| 99在线热视频| 激情国产五月| 新五月天婷婷激情电影| 色综合色综合网| 丁香色综合| 五月丁香五月综合欧美| 五月色亭丁香| 久久这里99| 日韩成人无码| 电影《战争与艾拉》免费观看| 婷婷精品在线| 五月天狠狠色| 久99热在线观看| 婷婷自拍| 色爱五月天| 东北熟女视频99| 天天综合影院| 九九综合| 狠狠艹狠狠艹| 97人人干| 东京热免费视频| 欧美久久婷婷| 色站9/| 久久婷婷五月免费视频| 91seAV| Www,五月天| 97自拍视频网| 综合色色色色色色| 97伦色婷婷| 五月天婷婷在线播放免费| a性生活久久无| 久草久青福利| 亚洲亚洲人成综合网络| www99热| 日本狠狠干| 五月婷婷丁香深深爱| 五月丁香激情啪啪| 玖玖在线资源视频| 99视频只有精品| 一根材五月婷成人| 日日夜夜干| 天色综合网站| 69凹凸成人综合网| 狠狠撸激情综合丁香五月天俺来啦| 成人国产欧美大片一区| 婷婷综合网伊人| 蜜桃人妻无码AV天堂三区| 色色色视频免费无码| 大香蕉九九| 激情综合网,五月| 五月婷婷色欲| 婷婷综合色五月天| 碰碰碰91| 99九九99九九九视频精彩| 《久久综合九色综合97婷婷| www.色九月| 欧洲综合视频| 日韩成人综合网| 丁香婷婷婷| 天天狠狠干| 色婷久| 色久五月天| 日韩精品一品二区三区的使用体验| 五月婷婷偷拍| 人妻狠狠操| 色一情一乱一伦一区二区三区| 国产日日操夜夜操的肉棒视频| 月丁香久久久| 九月丁香婷婷综合| 丁香婷婷精品视频| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 99热在线观看这里只有精品| 午夜福利8055| 97中文在线| 99er6| 激情五月婷婷她| 亚洲啪啪啪啪| 狠狠 婷婷| 婷婷五月天久| 久久92| 青青操avbb| 久久婷婷超碰| 五月天婷综合| 久久五月丁香伊人青草| 超碰免费观看| 99色中文| 久久奄也去色色网站| 97ai婷婷| 可以看的av网站| 五月天三级| 亚洲成人无码免费| 日本三级中国三级99人妇网站| 久久色在线视频| www久久久久久久久久久久久久久久久| 婷婷五月天激情小说| 99精品一二三四视频| 狠狠狠狠狠干| 人人摸人人摸| 激情婷婷五月女| 综合激情sV| 婷婷五月天色色| 最新丁香六月婷婷| 色五月婷婷av| 婷婷丁香六月天| 五月天婷婷免费| 久久婷五月婷| 人人操超碰| 老司机伊人| 婷婷丁香五月综合激情小说| 色情综合| 丁香婷婷六月| 丁香五月天婷婷激情| 国产无套精品一区二区| 亚洲无码成人网| 精品动漫 无码av| 欧美肉大捧一进一出免费视频| 五月婷婷亚洲色视频| 五月六月丁香婷婷在线观看| 久久宗合影| 疯狂做受XXXX高潮A片| 伊人久久婷| 丁香激情五月少妇| 国产精品色色666| 激情五月综合第一页| 亚洲成人影视在线| 婷婷丁香五月视频| 伊人久久综合| 久草热8精品视频在线观看| 五月天婷婷免费| 人人看人人草人人摸| 99在线免费视频| 疯狂做受XXXX高潮A片| 婷婷五月色色| 色情五月天A片| 婷婷丁香视频在线观看免费| 五月婷婷日| 9九九久久精品无码专区| 婷婷五月天成人| 97热精品| 天天干天天干天天干天天干天天干天天| 五月丁香婷草| 97操碰免费视频| AAA久久| 成人综合视频在线| www色婷婷com| 亚洲综合色丁香五月天| 婷婷五月天丁香| 婷婷五月精品中文字幕| 99热每日| 熟女人妻视频| 久久ww| 97五月天| 色婷婷AV久久久久久久| 亚洲天堂AAA| 婷婷午夜激情| 欧美大道不卡| 狠狠色综合无线观看| 少妇2做爰HD韩国电影| 婷婷五月天堂| 久99久在线| 婷婷日欧美在线观看| 思思热国产| 六月色狠狠色| 久久婷婷丁香五月一二三| 伦乱天堂| 91porn一起草| 色婷婷色| 91窝窝| 无语停婷丁香网| 久久婷婷丁香花综合网| 免费无码毛片一区二区A片 | 亚洲激情网站无码| 激情小说五月天社区丁香| 亚洲av综合网| 五月色婷婷中文字幕| 任你擦免费视频| 亚洲乱码在线观看| 92国产福利| 亚洲色婷婷五月天| 婷婷五月天午夜激情影院| 9色在线视频精品观看| 天天色天天操天天射| 欧美搡BBBBB摔BBBBB| a久久| 丁香五月偷拍| 天天射影院| 嫩草AV久久伊人妇女超级A| 午夜少妇在线观看视频| 欧美成人AAA片一区国产精品| 这里只有精品视频| 公的粗大挺进了我的密道| 中文字幕在线资源| 啪啪啪大香蕉| 丁香五月综合| 激情网综合| 天天日夜夜爽。| 五月丁香六月婷婷网站| 久久 视频这里只有精总| www好屌操| 蜜桃五月天色| 天天干天天操| 日韩视频99| 色色热| 丁香婷五月天开心六月| 91超碰九色| 亚洲天天| 五月丁香六月激情| 激情5月婷婷| 日本丰满久久| 9l久久久视频| 七月激情六月婷婷综合在线播放| 婷婷99狠狠躁天天躁中文| 丁香九月久久| 樱花99视频| 色色丁香五月婷婷| 亚洲 六月 综合| 五月丁香婷婷成人网| 五月天婷婷综合网| 国产激情综合五月久久| 亚洲国产精品SUV| 久9草在线观看视频| 中文字幕五月久久婷婷| 99久热在线精品| www.日日日.com| 99热久草| 色婷另类| 欧美日韩成人高清在线| 天天色综网| 狠狠干.com| www一起操在线观看| 亚洲美女高潮久久久久久69| 亚洲成人色五月天| www.夜夜.com| 丁香五月天综合网| 2025天天日爽| 伊人五月综合网| 欧美成人AAA片一区国产精品| 综合另类激情| 日本啪啪网| 狠狠狠狠狠狠狠狠草| 99在线小视频| 五月天婷婷久久| 8050一级网| 欧美久久网| 狠狠88综合久久久久噜噜噜| 欧美激情综合色综合| 五月婷婷,狠狠操| 色婷婷五月天视频网站| 五月香婷婷| 婷婷9月天| 九九AV在线| 97婷婷丁香五月| 97色色色| 婷婷在线视频| 天天色综| 亚洲久久视频| 激情宗合网激情五月天| 9久热免费视频99| 亚洲精品久久久久久久久久吃药| 思思久久久婷婷| 久久东京热婷婷五月| 五月婷婷这里都是精品| 成人在线99| 另类少妇人与禽zOZZ0性伦| 日本少妇AA一级特黄大片| 天天狠狠婷婷在线| 久久精品亚洲一级牲爱综合| 婷婷五月天AV| 在线一起草av| 婷婷五月激情四月综合| 天天天操天天天日| 色私五月婷婷| 亚洲成人在线在线| 在线成人网址| 97久久香草精品视频| 欧美影院| 亚洲宗合激情| 99久久久免费| www99热| 丁香五月天婷婷激情| 五月婷视频在线观看| 日韩人妻无码一区二区| 九九色图| 秋霞av吧| 天天肏屄夜夜爽| 婷婷中文字幕网| 久久久婷婷| 97人人操在线| www99热| 国产成人片| 欧美五月婷婷| 婷婷成人综合| 婷婷五月天影视首页| 乱精品一区字幕二区| 欧美精品999| 五月天婷婷影院影院观看| 五月婷丁香| 丁香六月成人网| 天天日天天操天天干| 久草A片| 久久机热探花| 色五月婷婷狠狠撸| 成人版视频在线观看| 中文字幕人妻熟女在线| 五月丁香综合啪啪| 精a品a| 丁香婷婷五月份| 久久久久久xxxxx| 狠狠操狠狠操AV| 婷婷五月欧美综合| 婷婷大香蕉| 五月丁香六月婷婷激情视频在线观看免费| 天天日天天爽| 久久久18| 另类小说激情五月天| 人妻日日日| 九九热这里有精品23| 狠狠爱婷婷爱| 亚洲五月天色色| 婷婷丁香色五月久久88| 人妻丰满精品一区二区A片| 日韩欧美一级大黄网站| 91色涩| 婷香狠狠爱五月| 婷婷四色五月| 思思久久99| 99热这里都是精品| 激情久久肏屄视频| 色色色综合| 婷婷色中文字幕| 久碰综合| 五月婷婷婷婷| 激情五月婷婷| 色热久| 欧美成人va| 伊人九九68| 深爱五月激情综合| 99热在线观看| av激情在线| 五月欧美丁香在线观看| 欧美日韩一区二区三区四区| 久久这里只有国产视频| av中文字幕免费观看| 激情婷婷狠狠干| 狠狠穞A片一區二區三區| 99热老网站| 亚洲无码另类| 天天久综合网永久入口17v| 婷婷 丁香 精品| 九九综合网色全集 | 国产日产亚系列精品版优势| 一区二区三区视频| 色婷婷97| 丁香九月综合激情| 草草操操| 99久久玖玖| 婷婷色九月| 日韩久久色| 婷婷六月丁香五月| 亭亭玉立国色天香| 六月丁香久久| 丁香婷婷偷拍| www.婷婷| 激情五月综亚网| 超碰操日| 久久人妻www| 99性爱视频| 99热在线中文字幕| 婷婷综合九色伊人| 91婷婷五月天嫩女| 丁香五月电影院在线观看| 五月丁香综合影院| 丁香五月人妻| 天天插天天爽| 黄色精品五月婷婷| 激情五月丁香婷婷| 亚洲国产精品成人免费一区久久久在线观看AAAA | 人人爱人人添| www.综合久久| 五月激情婷婷综合| 综合97五月| 国产激情久久久| 噜噜噜噜噜久| 国产69精品久久久久999小说| 中文字幕色色| 久久大香蕉视频| 亚洲啪啪视频| 99精品这里只有免费视频| 色色色色欧美| 综合久久五月天| 人人97碰| 五月天精品| 深爱激情九九五月天 | 超碰在线9| 亚洲色9| 丁香五月激动深爱欧美| 综合色综合| www.99精品视频| 大香蕉伊人久久| 综合五月激情网| 91精品国产色猫| 色99在线| 国产片色| 一区二区你懂的| 精品成人在线观看| 婷婷天天舔| 男人先锋久久| 99性爱| 五月婷婷六月丁香免费| 艹B高清无码| 婷婷日日天天| 高清成人综合| 无码激情| 人人综合五月人人婷婷| 九九热这里只有精品9| 97碰碰在线看视频免费| 五月天小说激情| 9久久精品视频| 日本狠狠色| 伊人五月天日日夜夜久久久天天| 人人操91色| 97操碰视频| 91欧美| 狠狠色综合久久久久| 超碰精品在线| 激情综合亚洲色婷婷五月| 久9久9久9久9久9久9| 中文字幕一色哟哟哟哟| 五月婷婷六月丁香| 亚色网站小视频| 天天综合 99久久婷婷| 97人人射| 五月丁香基地| 99热在线观看| 五月色情精品| 亚州操人在线视频| 终合激情网| 激情五月黄色小说| 丁香综合久久| 丰满人妻一区二区三区| 色五月激情网| 精品无码人妻一区| 色吧五月婷婷| 操91综合网| 六月婷婷开心| 国产精品VA在线| 婷婷 激情 五月| 婷婷大香焦| 97色干| 久久六月天| 99成人小视频| 丁香五月自拍| 久久久久久久8| 色五月色开心开心五月| 婷婷五月色播| √天堂资源在线人妻熟女| 五月丁香花免费视频| 天天 青草 制服丝袜 在线| 天堂五月婷婷| 91国产精品视频播放| 少妇人妻人伦A片| 亚洲熟女色| 色五月丁香六月欧美综合| 婷婷五月 丁香六月| 婷婷五月激情综合| 成人资源在线| 久久91久久精品久久| 久久久久婷婷| 日本美女上人| 小视频久久久aaa|