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

ARTICLE DETAIL

資訊詳情

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

用Python實(shí)現(xiàn)PCAN報(bào)文自動(dòng)發(fā)送:從初始化到周期循環(huán)的完整方案

用Python實(shí)現(xiàn)PCAN報(bào)文自動(dòng)發(fā)送:從初始化到周期循環(huán)的完整方案 簡介該資源是一套基于Python3.7的PCAN自動(dòng)發(fā)送CAN報(bào)文程序面向汽車電子、嵌入式開發(fā)及CAN總線測(cè)試人員用于解決使用PEAK PCAN-USB適配器時(shí)上位機(jī)周期性發(fā)送多幀CAN報(bào)文的自動(dòng)化需求。壓縮包共5個(gè)文件包括2個(gè)Python腳本、2個(gè)pyc緩存文件和1個(gè)PCANBasic.dll。其中main.py為主控制程序定義了10ms、100ms、1000ms三個(gè)周期任務(wù)各周期分別自動(dòng)發(fā)送若干幀數(shù)據(jù)PCANBasic.py配合PCANBasic.dll封裝了PCAN接口的底層調(diào)用pyc為對(duì)應(yīng)編譯字節(jié)碼整體壓縮包約1.04MB結(jié)構(gòu)簡潔、即下即用。該資源已有3101人學(xué)習(xí)查看。實(shí)際使用中只需修改main.py中的msg.ID、msg.MSGTYPE、msg.DATA三處參數(shù)即可靈活設(shè)定幀ID、幀類型如標(biāo)準(zhǔn)幀/擴(kuò)展幀與數(shù)據(jù)內(nèi)容無需從零編寫底層收發(fā)邏輯適合快速搭建CAN報(bào)文周期發(fā)送工具也可作為后續(xù)功能擴(kuò)展的參考基礎(chǔ)。1. 為什么要把PCAN報(bào)文發(fā)送寫成Python程序搞過整車測(cè)試或者ECU臺(tái)架的人應(yīng)該都有這種經(jīng)歷某個(gè)節(jié)點(diǎn)需要持續(xù)往CAN總線上丟報(bào)文比如模擬車速、模擬檔位或者給某個(gè)控制器喂心跳幀。用CANoe手動(dòng)發(fā)不是不行但建立工程、配數(shù)據(jù)庫、寫CAPL腳本一套下來半天就沒了用PCAN自帶的調(diào)試軟件點(diǎn)鼠標(biāo)一次兩次能忍要連續(xù)跑幾百次循環(huán)、按不同周期發(fā)幾十個(gè)ID手點(diǎn)不現(xiàn)實(shí)。而這個(gè)Python版PCAN自動(dòng)發(fā)送程序正是把這類重復(fù)勞動(dòng)打包好的現(xiàn)成方案——基于PCANBasic驅(qū)動(dòng)接口用Python把設(shè)備初始化、報(bào)文構(gòu)造、周期循環(huán)、故障排查串成一條完整通路。新手照著跑起來就能發(fā)幀熟手直接改參數(shù)就能復(fù)用最適合做ECU閃爍測(cè)試、節(jié)點(diǎn)模擬、耐久性輪巡這類場景。2. 跑起來之前要知道的三件事驅(qū)動(dòng)、接口、總線參數(shù)2.1 PCAN設(shè)備驅(qū)動(dòng)和PCANBasic接口的關(guān)系很多人在這一步就卡住了。拿到代碼包第一反應(yīng)是直接pip install結(jié)果發(fā)現(xiàn)根本裝不上任何名字叫PCAN的東西。實(shí)際上PEAK的CAN卡在Python下沒有PyPI倉庫那套說法它依賴的是廠商提供的PCANBasic動(dòng)態(tài)庫以及對(duì)應(yīng)的Python封裝文件。裝上官方驅(qū)動(dòng)之后驅(qū)動(dòng)目錄里會(huì)帶有PCANBasic.dll、PCANBasic.lib這類底層文件Python程序只是通過平臺(tái)調(diào)用機(jī)制去訪問它們。常見的做法是把驅(qū)動(dòng)自帶的PCANBasic.py放到項(xiàng)目同一目錄或者手動(dòng)引入安裝路徑。記得先確認(rèn)你用的Python是64位還是32位——調(diào)用DLL時(shí)位數(shù)不一致會(huì)直接拋出找不到指定模塊的異常這在換機(jī)器、換環(huán)境時(shí)特別容易翻車。2.2 初始化一條PCAN通道從CAN_Initialize到驗(yàn)證握手代碼包里的主控腳本打開后你會(huì)發(fā)現(xiàn)最開始做的事其實(shí)是初始化通道。PCANBasic提供的核心函數(shù)是Initialize它接收五個(gè)參數(shù)通道編號(hào)、波特率、硬件類型、I/O端口和中斷號(hào)。實(shí)際使用中后兩個(gè)參數(shù)在USB接入的場景下直接傳0就行關(guān)鍵是通道號(hào)必須和驅(qū)動(dòng)面板里顯示的一致。import sys import time # 把驅(qū)動(dòng)自帶封裝加入搜索路徑Windows下典型安裝路徑如下 sys.path.append(rC:\Program Files\PEAK\PCAN-Basic) from PCANBasic import * # 定義一個(gè)全局Channel變量便于多個(gè)函數(shù)共用 PCAN_CHANNEL PCAN_USBBUS1 def init_can(): # 初始化USB通道1波特率500kbps常見動(dòng)力CAN速率 result CAN_Initialize(PCAN_CHANNEL, PCAN_BAUD_500K, 0, 0, 0) if result ! PCAN_ERROR_OK: return False # 讀一次設(shè)備版本驗(yàn)證驅(qū)動(dòng)握手確實(shí)成功 ver CAN_GetValue(PCAN_CHANNEL, PCAN_CHANNEL_VERSION) print(PCAN通道版本信息, ver) return True if __name__ __main__: if init_can(): print(通道初始化成功準(zhǔn)備發(fā)送) else: print(通道初始化失敗請(qǐng)檢查驅(qū)動(dòng)和線纜連接)這段代碼的重點(diǎn)是CAN_Initialize這個(gè)函數(shù)它的返回值是判斷環(huán)境是否正常的金標(biāo)準(zhǔn)??傆腥擞X得打印了一行初始化成功就是萬事大吉實(shí)際上應(yīng)該把返回值完整打印出來看。PCAN_ERROR_OK代表一切正常如果返回PCAN_ERROR_ILCLIENT這類值多半是設(shè)備被其他軟件占用也就是常說的總線被黑匣子吃掉了CANoe或者PCAN-View還掛著沒關(guān)。2.3 波特率不對(duì)時(shí)總線上的現(xiàn)象和判定方法波特率是CAN通訊里最容易出玄學(xué)問題的一環(huán)。同一個(gè)網(wǎng)絡(luò)里所有節(jié)點(diǎn)必須使用相同的波特率否則單個(gè)節(jié)點(diǎn)發(fā)送時(shí)會(huì)一直報(bào)ACK錯(cuò)誤。PCANBasic里波特率對(duì)應(yīng)的常量名從PCAN_BAUD_1M到PCAN_BAUD_10K都有常見動(dòng)力CAN用500K車身舒適CAN用125K或者250K會(huì)比較多。要注意的是波特率寫錯(cuò)時(shí)PCAN_Initialize本身往往返回正常因?yàn)槟阒皇歉嬖V設(shè)備按某個(gè)速率收發(fā)設(shè)備不會(huì)主動(dòng)校驗(yàn)總線上的實(shí)際協(xié)商結(jié)果。等到真正發(fā)報(bào)文時(shí)如果總線上沒有其他設(shè)備回應(yīng)ACK發(fā)送函數(shù)會(huì)持續(xù)返回錯(cuò)誤。所以我在寫這類程序時(shí)有個(gè)習(xí)慣初始化成功后先跑一個(gè)非阻塞讀確認(rèn)能在總線上看到對(duì)端回幀再進(jìn)入正式發(fā)送循環(huán)這能大幅減少后面排錯(cuò)的時(shí)間。3. CAN報(bào)文的構(gòu)造與解析ID、DLC和數(shù)據(jù)域3.1 從物理信號(hào)到報(bào)文數(shù)據(jù)域的拆解拿到一個(gè)真實(shí)需求時(shí)比如“把車速信號(hào)發(fā)到總線上”需要明確的是CAN報(bào)文里只傳字節(jié)流車速是多少千米每小時(shí)、怎么編碼完全由報(bào)文數(shù)據(jù)庫決定。最常見的編碼方式是Intel格式也就是小端序比如某個(gè)車速信號(hào)占用第0字節(jié)和第1字節(jié)共16位分辨率0.01km/h偏移0那實(shí)際車速就是這兩個(gè)字節(jié)拼出的數(shù)值乘以0.01。實(shí)現(xiàn)發(fā)送前先要搞清楚每條報(bào)文的ID、DLC、周期和每一字節(jié)的定義。程序包里的報(bào)文字典結(jié)構(gòu)就是這么設(shè)計(jì)的——用Python字典把報(bào)文ID映射到數(shù)據(jù)列表中日常改參數(shù)只需要改配置區(qū)不需要?jiǎng)友h(huán)邏輯。3.2 用PCANBasic構(gòu)造一條完整的CAN報(bào)文PCANBasic里報(bào)文對(duì)象是TPCANMsg它有五個(gè)關(guān)鍵屬性ID、MSGTYPE、LEN、DATA和DATA64。常用的標(biāo)準(zhǔn)幀只需要前四個(gè)。ID即報(bào)文標(biāo)識(shí)符MSGTYPE傳PCAN_MESSAGE_STANDARD代表標(biāo)準(zhǔn)幀如果要擴(kuò)展幀就換成PCAN_MESSAGE_EXTENDEDLEN是數(shù)據(jù)長度DATA是字節(jié)數(shù)組。from PCANBasic import * def build_message(msg_id, data_list): # data_list長度為1到8超過8字節(jié)的標(biāo)準(zhǔn)CAN幀無法承載 if len(data_list) 8: return None msg TPCANMsg() msg.ID msg_id # 標(biāo)準(zhǔn)幀ID范圍為0x000到0x7FF msg.MSGTYPE PCAN_MESSAGE_STANDARD msg.LEN len(data_list) # PCANBasic的DATA類型要求長度固定這里逐字節(jié)賦值 for i in range(8): msg.DATA[i] data_list[i] if i len(data_list) else 0 return msg # 構(gòu)造一條0x123的報(bào)文數(shù)據(jù)長度為4內(nèi)容依次為01 02 03 04 new_msg build_message(0x123, [0x01, 0x02, 0x03, 0x04])逐字節(jié)賦值那塊是我特別想強(qiáng)調(diào)的。TPCANMsg的DATA底層是一個(gè)定長數(shù)組哪怕你只發(fā)兩個(gè)字節(jié)剩余槽位也要填充。如果你用data_list直接賦值Python列表和底層數(shù)組類型不匹配程序會(huì)直接拋TypeError。代碼包里沒有用列表整體賦值而是走了循環(huán)逐位拷貝正是為了繞開這個(gè)類型坑。3.3 小端大端轉(zhuǎn)換函數(shù)不用每次手算字節(jié)實(shí)際項(xiàng)目里手算字節(jié)太容易算錯(cuò)尤其是16位和32位信號(hào)。我一般會(huì)在發(fā)送模塊里附帶兩個(gè)轉(zhuǎn)換輔助函數(shù)一個(gè)把小端數(shù)值拆成字節(jié)列表一個(gè)把字節(jié)列表拼回?cái)?shù)值調(diào)試時(shí)對(duì)照?qǐng)?bào)文數(shù)據(jù)庫逐字節(jié)核對(duì)效率高很多。def little_endian_to_bytes(value, byte_count): # 將整數(shù)按小端序拆分為指定長度的字節(jié)列表 result [] for i in range(byte_count): result.append((value (8 * i)) 0xFF) return result def big_endian_to_bytes(value, byte_count): # 將整數(shù)按大端序拆分為指定長度的字節(jié)列表 result [] for i in range(byte_count - 1, -1, -1): result.append((value (8 * i)) 0xFF) return result # 示例把0x1234拆成兩個(gè)字節(jié) print(little_endian_to_bytes(0x1234, 2)) # 輸出 [0x34, 0x12] print(big_endian_to_bytes(0x1234, 2)) # 輸出 [0x12, 0x34]這里的移位邏輯不復(fù)雜但值得逐行看清楚。小端序就是把最低有效字節(jié)放在最低地址所以先從低位往高位取大端序相反先取最高字節(jié)。byte_count參數(shù)很關(guān)鍵它必須和報(bào)文數(shù)據(jù)庫里信號(hào)占用的字節(jié)數(shù)一致否則會(huì)拆出多余字節(jié)或者缺字節(jié)接收端解析出來的值就會(huì)跟發(fā)出去的完全對(duì)不上。4. 自動(dòng)發(fā)送的循環(huán)邏輯周期控制與退出機(jī)制4.1 最簡單的周期發(fā)送固定延時(shí)加發(fā)送調(diào)用拿到程序包后最快能跑通的發(fā)送邏輯就是一個(gè)while循環(huán)加time.sleep。先調(diào)用一次發(fā)送函數(shù)把報(bào)文推上總線然后sleep一個(gè)固定毫秒數(shù)再發(fā)下一幀。這個(gè)方案對(duì)總線負(fù)載不高、周期精度要求不苛刻的測(cè)試夠用比如周期性發(fā)送狀態(tài)幀保證節(jié)點(diǎn)不掉線。import time from PCANBasic import * def start_stub_sender(msg_cycle_ms, total_duration_s): # 構(gòu)造一個(gè)示例報(bào)文 sample_msg build_message(0x321, [0x00, 0x11, 0x22, 0x33]) start_time time.time() send_count 0 while time.time() - start_time total_duration_s: # 調(diào)用PCANBasic發(fā)送函數(shù)寫入為1代表啟用自接收 result CAN_Write(PCAN_USBBUS1, sample_msg) if result ! PCAN_ERROR_OK: print(發(fā)送失敗錯(cuò)誤碼, result) break send_count 1 time.sleep(msg_cycle_ms / 1000.0) print(總計(jì)發(fā)送次數(shù), send_count)sleep的實(shí)際精度受操作系統(tǒng)線程調(diào)度影響Windows下普通線程的sleep精度在10到15毫秒左右。如果你的報(bào)文周期要求精確到1毫秒就必須換成下面說的方案。4.2 用時(shí)間戳補(bǔ)償漂移周期精度提升一個(gè)量級(jí)固定延時(shí)的最大問題是累積漂移。每輪循環(huán)里發(fā)送本身耗時(shí)加上調(diào)度延遲實(shí)際周期會(huì)比設(shè)定值偏長跑上幾分鐘累計(jì)誤差就大了。更穩(wěn)妥的做法是記錄每輪發(fā)送的絕對(duì)時(shí)間然后把下一次發(fā)送時(shí)間點(diǎn)預(yù)先計(jì)算出來當(dāng)前線程醒來后如果提前了就sleep到目標(biāo)點(diǎn)再發(fā)。import time def precise_sender(msg_cycle_ms, total_duration_s): sample_msg build_message(0x345, [0x00, 0xAA, 0xBB]) start_ts time.perf_counter() next_send_ts start_ts cycle_s msg_cycle_ms / 1000.0 while True: next_send_ts cycle_s # 先發(fā)送再等待保證首幀立即上線 result CAN_Write(PCAN_USBBUS1, sample_msg) if result ! PCAN_ERROR_OK: print(發(fā)送失敗錯(cuò)誤碼, result) break current_ts time.perf_counter() # 如果還沒到計(jì)劃時(shí)間點(diǎn)主動(dòng)休眠剩余時(shí)間 delay next_send_ts - current_ts if delay 0: time.sleep(delay) # 如果累計(jì)超時(shí)超過總時(shí)長退出循環(huán) if current_ts - start_ts total_duration_s: break邏輯上的差異在于當(dāng)前輪次的時(shí)間基準(zhǔn)是上一輪的預(yù)計(jì)發(fā)送時(shí)間加周期而不是本輪實(shí)際發(fā)送時(shí)間加周期。這樣即使某一輪發(fā)送被系統(tǒng)調(diào)用拖慢了下一輪也不會(huì)順延而是盡量追趕回原節(jié)奏相當(dāng)于把漂移限制在單輪抖動(dòng)范圍內(nèi)而不是無限累積。4.3 退出機(jī)制的選擇從硬性循環(huán)到優(yōu)雅停止長時(shí)間耐久測(cè)試時(shí)程序不能永遠(yuǎn)跑下去必須有可控的退出路徑。程序包里常見的做法是三種并用到達(dá)預(yù)設(shè)時(shí)長自動(dòng)退出檢測(cè)到鍵盤按鍵退出以及通過條件變量由事件觸發(fā)退出。第三種適合在自動(dòng)化測(cè)試平臺(tái)里由上位機(jī)動(dòng)態(tài)控制。import threading def start_with_manual_stop(): stop_event threading.Event() sample_msg build_message(0x365, [0x00, 0x01, 0x02]) def sender_loop(): # 每100ms發(fā)送一幀直到外部調(diào)用stop_event.set() while not stop_event.is_set(): CAN_Write(PCAN_USBBUS1, sample_msg) time.sleep(0.1) sender_thread threading.Thread(targetsender_loop) sender_thread.start() # 主線程等待輸入輸入任意字符后停止發(fā)送 input(按任意鍵停止發(fā)送...) stop_event.set() sender_thread.join()條件變量和線程組合是實(shí)際項(xiàng)目里的主力方案。主線程負(fù)責(zé)等待用戶輸入或者接收網(wǎng)絡(luò)命令發(fā)送子線程只關(guān)心stop_event的狀態(tài)。這個(gè)模式可擴(kuò)展性好比如把input替換成socket接收或者配置文件監(jiān)控都能讓同一個(gè)發(fā)送程序變成可復(fù)用的測(cè)試工具。5. 避坑記錄PCAN Python開發(fā)中常見的五個(gè)坑5.1 打開設(shè)備失敗錯(cuò)誤碼提示PCAN_ERROR_ILCLIENT現(xiàn)象CAN_Initialize返回錯(cuò)誤甚至初始化都過不了總提示設(shè)備被占用。原因最常見的情況是PCAN-View、CANoe、或者別的測(cè)試軟件還開著同一路通道。PCAN設(shè)備默認(rèn)不允許同一通道被多個(gè)進(jìn)程同時(shí)打開這是一種總線占用保護(hù)機(jī)制防止兩個(gè)軟件同時(shí)往同一通道發(fā)數(shù)據(jù)導(dǎo)致總線信號(hào)互相覆蓋。解決先關(guān)掉所有占用總線的工具。如果確認(rèn)沒有其他程序占用檢查驅(qū)動(dòng)管理器中PCAN設(shè)備是否處于正常狀態(tài)綠色圖標(biāo)代表正常黃色感嘆號(hào)代表驅(qū)動(dòng)安裝不完整重新安裝驅(qū)動(dòng)一般能解決。5.2 初始化成功但發(fā)送返回錯(cuò)誤且總線無響應(yīng)現(xiàn)象初始化正常CAN_Write卻持續(xù)返回報(bào)錯(cuò)程序卡在發(fā)送調(diào)用上。原因多半是波特率跟總線上其他節(jié)點(diǎn)不匹配。PCAN設(shè)備不會(huì)自動(dòng)協(xié)商波特率它只會(huì)按你設(shè)置的速率盲發(fā)如果對(duì)端節(jié)點(diǎn)速率不同ACK無法正確返回PCAN就會(huì)報(bào)發(fā)送失敗。另一個(gè)隱蔽原因是總線缺少終端電阻兩端無120歐姆匹配時(shí)信號(hào)反射嚴(yán)重同樣會(huì)導(dǎo)致通信不穩(wěn)定。解決先用PCAN-View手動(dòng)連接同一通道并設(shè)置相同波特率如果PCAN-View能正常收發(fā)說明硬件鏈路沒問題再回過來檢查Python程序里波特率常量是否傳對(duì)。終端電阻問題可以用萬用表量CAN_H和CAN_L之間的阻值正常應(yīng)該在60歐姆附近。5.3 周期發(fā)送的實(shí)際間隔比設(shè)置值大得多現(xiàn)象設(shè)置了100ms發(fā)送周期示波器上看到的實(shí)際間隔卻在110到120ms之間來回跳。原因time.sleep本身精度有限加上Python解釋器執(zhí)行循環(huán)體內(nèi)部代碼也需要消耗時(shí)間常見的做法是在計(jì)算下一次發(fā)送時(shí)間點(diǎn)時(shí)把執(zhí)行耗時(shí)也計(jì)入buffer但補(bǔ)償過頭了又會(huì)讓周期整體偏長。此外Windows下多媒體定時(shí)器沒有啟用時(shí)普通sleep確實(shí)只有10ms級(jí)別的精度。解決切換到前面說的絕對(duì)時(shí)間戳方案并且將周期盡量設(shè)為10ms的整數(shù)倍。如果精度還不夠可以改用PCAN驅(qū)動(dòng)自帶的硬件定時(shí)發(fā)送功能讓報(bào)文由網(wǎng)關(guān)卡內(nèi)部硬件周期性發(fā)送不經(jīng)過Python線程調(diào)度精度能穩(wěn)定到微秒級(jí)代價(jià)是靈活性降低、沒法在同一循環(huán)里做條件判斷。5.4 CAN_Write的返回值一直是OK但總線上其他節(jié)點(diǎn)收不到現(xiàn)象程序打印發(fā)送成功PCAN-View上看不到幀接收方也沒反應(yīng)。原因一個(gè)比較容易忽略的選項(xiàng)是自接收標(biāo)志位。PCANBasic發(fā)送函數(shù)的第一組參數(shù)里有個(gè)write_flag形參默認(rèn)傳0代表普通發(fā)送但如果傳了PCAN_MESSAGE_BUSERR這類特殊標(biāo)志數(shù)據(jù)可能被設(shè)備內(nèi)部消化掉根本不會(huì)出現(xiàn)在總線上。另一個(gè)原因是報(bào)文ID超出了當(dāng)前網(wǎng)絡(luò)的幀過濾規(guī)則接收節(jié)點(diǎn)配置了接收過濾ID你發(fā)的ID不在白名單里。解決先檢查發(fā)送API里Write參數(shù)是否只傳了PCAN_USBBUS1和報(bào)文對(duì)象這兩個(gè)參數(shù)多余標(biāo)志全刪掉。再對(duì)照接收方的報(bào)文數(shù)據(jù)庫配置確認(rèn)過濾條件沒有被錯(cuò)誤設(shè)置為只接收特定ID列表。5.5 字節(jié)順序錯(cuò)亂導(dǎo)致接收端解析出的物理值完全不對(duì)現(xiàn)象發(fā)送端數(shù)據(jù)明明填的是0x1234接收端解析出來卻變成0x3412甚至0x34120000。原因字節(jié)序定義不一致。信號(hào)在報(bào)文數(shù)據(jù)庫里被定義成Intel格式還是Motorola格式直接決定了它在數(shù)據(jù)域里的排列方式。發(fā)送端用大端拆分、接收端按小端解析數(shù)值必然翻轉(zhuǎn)。如果信號(hào)跨多個(gè)字節(jié)且數(shù)據(jù)庫里的起始位不是字節(jié)邊界問題會(huì)更隱蔽。解決拿到任何一條報(bào)文前先打開對(duì)應(yīng)的DBC或者Excel信號(hào)定義表逐個(gè)確認(rèn)每個(gè)信號(hào)的字節(jié)序和起始位再用3.3節(jié)里的拆分函數(shù)按相同規(guī)則生成字節(jié)列表最后用總線記錄工具抓一幀抓下來人工對(duì)照解析一遍確認(rèn)沒有歧義再進(jìn)入自動(dòng)化流程。6. 讓自動(dòng)發(fā)送程序變成真正的測(cè)試小工具把發(fā)送邏輯跑通只是第一步實(shí)際測(cè)試中你多半需要?jiǎng)討B(tài)修改參數(shù)而不是每次改完代碼重新運(yùn)行。我給這個(gè)程序包做的最常用升級(jí)是加一個(gè)命令行參數(shù)解析入口用argparse把報(bào)文ID、周期、持續(xù)時(shí)長、波特率全暴露成命令行選項(xiàng)這樣在不同的測(cè)試場景下切換時(shí)不用碰代碼。import argparse def parse_args(): parser argparse.ArgumentParser(descriptionPCAN報(bào)文自動(dòng)發(fā)送工具) parser.add_argument(--id, typelambda x: int(x, 16), requiredTrue, help報(bào)文ID十六進(jìn)制格式例如0x123) parser.add_argument(--cycle, typeint, default100, help發(fā)送周期單位毫秒默認(rèn)100ms) parser.add_argument(--duration, typefloat, default10, help發(fā)送總時(shí)長單位秒默認(rèn)10秒) parser.add_argument(--data, typelambda x: [int(v, 16) for v in x.split(,)], default00,00,00,00, help報(bào)文數(shù)據(jù)逗號(hào)分隔的十六進(jìn)制字節(jié)默認(rèn)4個(gè)0字節(jié)) return parser.parse_args() args parse_args() print(f即將發(fā)送 ID0x{args.id:X}周期{args.cycle}ms數(shù)據(jù){args.data})命令行參數(shù)化帶來的收益是測(cè)試流程可以寫成批處理腳本比如同時(shí)跑三組不同ID的輪巡測(cè)試直接在命令行里傳參就行不用開三個(gè)IDE窗口改代碼。我還會(huì)讓程序把每次發(fā)送的時(shí)間戳和報(bào)文內(nèi)容寫入CSV日志這樣測(cè)完可以回放發(fā)送記錄、核對(duì)通訊行為排查問題時(shí)有據(jù)可查。這套程序包真正解決的問題不是幫你寫代碼而是把PCAN設(shè)備操作的通路完整趟平了。我從第一次拿到類似項(xiàng)目時(shí)還在為DLL位數(shù)不一致發(fā)愁到后來養(yǎng)成一個(gè)習(xí)慣——每次換機(jī)器第一件事是先跑一遍初始化測(cè)試腳本確認(rèn)硬件握手再談業(yè)務(wù)邏輯。那段經(jīng)歷讓我明白CAN相關(guān)的坑大多集中在環(huán)境層和參數(shù)層把這些前置問題用腳本固化下來后邊的業(yè)務(wù)就從容很多。希望這份筆記能幫你在接手PCAN設(shè)備開發(fā)時(shí)少走幾段彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲欧美日韩激情不卡| 色诱中文字幕| 偷偷人人精品女女久久| 久久精品国产亚洲AV成人直播| 久久天天躁日日躁狠狠躁| 久久精品28| www成人啪啪18秘 免费| 天美一区在线| 乱伦Av网| 夜夜国自区| xxx0国产在线播放| 免费国产| 欧美特大黄一级片片免费| 久久99精品国产| 日本三级A片网站com| 国产自产91区13区| 免费久久一级毛片大黄| 激情小说亚洲视频| 强奸乱伦大香蕉网| 97色欧洲| 丝袜制服字幕在线| 欧美亚洲国产91在线| 久久久久9久久久久| TS人妖另类精品视频系列| 天堂av2019| 久久精品熟妇丰满人妻99| 九月婷婷久久| 91肉丝| 视频在线观看一二三区| 青青青国产手线观看视频2| 欧洲乱码一区二区| 日韩精品免费高清视频在线| 青青草五月份天| 色噜噜综合网| 国产一国产一级毛片古装| 青娱乐 成人娱乐在线| 久久久久9999| 色天堂综合| 日本网色| 久久这里只有精品9| 性爱久久| 黄色视频60分钟| 色香伊人| 色墦五月丁香| 国产精品久久aV| 久久久久ab| 96久久精品一二三区色欲| 亚洲美腿丝袜香蕉影视欧美成人| 国产少妇肉丝在线观看| 2019天天干天天操| 97国产|免费| 天美传媒国产原创中文字幕亚洲欧美另类 | 国产自偷自拍一区| 91综合色噜噜| 欧美激情精品| 男人的天堂无码| 天天色粽合合合合合合合| 91色色网站| 色婷婷淫色网| 精品久久視頻在线| 自慰白浆在线观看| 另类亚洲一区二区三区| 亚洲成人在线资源| 男人网站婷婷| 午夜精品99久久久久传媒| 粉嫩av久久一区二区三区| 呻吟 欧美 日本 中出| 蜜桃视频精品一区二区| 人人摸人人摸人人干| 肥佬影院91| 欧美 青青草| 亚卅熟女乱色| 午夜一区二区三区国产| 粉嫩AV一区二区夜夜| 99天天超碰| 97啪啪| 欧美人人操人人插| 97超碰超碰| 色眯眯av| 日本丝袜美腿人妻九九| 男人的天堂2018东京热啪啪啪| 五月婷婷六月丁香网址| 少妇熟女1区2区3区| 四虎影视永久在线观看精品免费网站 | 欧美影院一区二区三区| 91美女视频直播| 啊啊啊在线观看免费视频| 九九色逼| 在线看免费无码AV天堂的| 亚洲 无码 偷拍| 欧美图片校园春色| 亚洲综合校园春色| 日本999精品视频| 色久综合| a在线视频免费观看| 老熟女乱伦一区| 亚洲欧美97√| 欧美激情精品久久久久久| 天天日熟妇| 欧美色图成人网一区二区 | 婷婷色在线| 能直接看AV的网站| 日操粉逼逼| 亚洲AV无码乱码| 97碰| 狠狠爱大香蕉| 亚洲美女精品九九视频| 秘书高跟黑色丝袜国产91在线| 日本男人插女人的逼黄色| 手机不卡视频不卡在线一二三区| 99精品在线观看| 激情久久av一区av二区av| 久久久久久久九九九九九九| 人人做,人人操,人人摸| 黄片视频观看| 香蕉热人人精品| 99re免费视频精品全部| 视频一区二区免费在线| 国产亚洲精品一区二区三区| 欧美 精品国产制服第一页 | 综合欧美激情网| 人人操人人摸人人看人人干| 免费超碰97在线观看| 国产精品久久aV| 一本色道久久天天射天天干| 一级毛片久久久久久久女人18| 日韩三级伦理中文字幕| 欧美中文字幕日韩在线| 老熟女乱子伦中文字幕一区二区| 五月婷婷六月丁香网址| 欧美在线观看综合国产| 国产亚洲国产超碰| 1024久久高清视频| 超碰国产情侣自拍网| 亚洲一二三精品久久网| 欧美大片一区二区三区| 999熟女精品| 91综合天天| 欧美劲爆第一页| 人人妻人人爽| 69国产对白刺激| 91精品无码久久久久久久| 亚洲成人黄色在线观看| 精品亚洲国产成人精品| 国产激情在线| 猛交交| 九九久久久久久爱| 97就爱干| 久久久久久加勒比| 无码精品久久| 深夜国产一区二区三区在线看| 黄色AAAAAAAAAAA大片| 91色婷婷综合久久中文字幕二区| 夜夜爽33333| 啊好大好舒服| 大香蕉92| 上特色A在线| 一级一性爱免费视频| 亚洲日韩在线a不卡99精品| 亚欧性爱无码| 欧美99热| 真实高潮91| 老熟女中文字幕高清| 另类图片五月天| 亚洲97在线| 一二三四视频中文字幕在线看| 日韩人妻免费精品| 久久久精品国产亚洲伊人| 欧美亚洲丝袜美女电影| 亚洲成人AB| 色欲天天综合久久久无码网中文| 可以免费观看的日韩av毛片| 综合久草| 一区超碰一区| 精品视频在线观看精品| 五月天色图| 4141514逼喷水三级片| 日韩无码AB| 天天操妹子| 精品一区二区国产日韩| 青青操青娱乐| 人妻少妇无码| 欧美亚洲第一页| 熟女视频久久| 超碰这里只有精品| 中文字幕78| 国产又黄又猛又粗又爽的网站| 天天拍夜夜| 免费一级性爱久久| 五月婷婷丁香六月| 蜜区区视频79| 国产精品女生av| 五月色综合| 四虎免费看黄| 沈阳熟女高潮对白视频| 精品国产久热在线观看| 亚洲永久永久永久永久一级一级一级精品| 天天日夜干| 亚洲精品中文字幕一区在线视频| 欧美激情视频一区二区三区不卡| 风间由美日韩欧美久久| 无码精品蜜桃一区二区三区ww| 亚州操操穴网| 久久久久久久97| 一区三区啪啪| 精品无码一二三四区| 亚州综| 三级网色| 97在线青| 翔田千里Av在线| 日韩一级二级| 精品一区二区三区18| 911av网站免费观看| 殴美牲| 欧美成人贴图| 五月丁香综合网| 97天天插| 午夜电影在线观看无码专区| 久久神马影院| 久久这里只精品免费福利| 91黑丝在线播放| 女人18精品一区二区三区| 黄色人人| 小骚逼被操的爽不爽| 国产成人拍国产亚洲精品| 嗯嗯嗯好爽| 97se亚洲综合自| 九九无码视频| 九九九成人| 亚洲中文字幕精品久久久久久直播| 60秒免费视频| 搡老人老9丨女老熟人| 欧美激情片一区二区| 成人五月天丁香激情综合| 99热精品在线| 激情小说在线视频| 1024亚洲中文字幕久在线看片你懂的 | 欧美日韩欧美| 野狼激情网| 性天堂| 亚洲中文人妻色| 欧洲特黄毛片免费看欧洲毛片| 欧美综合站| 国产三级片在线观看| 精品国产乱码久久久久久久久1| v91av| 老熟女91av| 天天干天天操天天操夜夜操天天操 | 奶水 人妻 哺乳 在线| www黄片免费看com| 黑丝制服中文字幕| 午夜男女爽爽爽在线视频| 精品国产乱码久久久影院| 欧美黄片视频在线观看免费| 亚洲欧美骚| 欧美性爱97超碰| 日本视频在线中文字幕| 九一精品牛牛一区二区| 青娱乐日韩无码| 中文字幕免费在线观看| 91人妻爽爽人人做人人澡| 97超碰精品| 欧美白嫩女HD| 日韩不卡a级视频专区| 欧美激情 亚洲色图| 人妻精品综合中文字幕在线| 青椒国产97在线熟女| 毛片99-全集电影手机免费观看完整-B029AV| 日本岛国黄色网址| a片久久久久久久久久久久 | 99热导航| 人妻熟女av国产网站| 欧美色性情| 亚洲精品天天影视综合网 | 欧美人妻久久精品二区三区 | 淫淫综合网| 中文字幕视频一区视频二区| 色爱国产| 十八禁av无码免费网站APP| 蜜桃网熟妇| 91老熟女逼| 欧美亚洲色图另类国产| 青娱乐啪啪视频| 精品无码一二三四区| 亚洲欧美日韩精品久久久一区二区 | 动漫爆乳3D奶水一区在线观看| 男人的天堂网页| 天美传媒Av在线| 五月丁香六月激情| 国产精品亚洲天堂网址| 九九九九九九九九九国产精品 | 日韩AV电影网站| 亚洲成人精品久久久| 一牛影视成人片免费| 欧美78P| 男人的天堂2000| av天天在线观看| 国产三级多多影院2022国产AA一级毛片无码| 男人的天堂视频精品乱在线| 樱花草社区www中国| 91超级碰碰| 国产精品美女久久久久AⅤ国产馆| 久久久久成人网| 大香蕉欧美国产日韩高潮| 啊啊啊不要好疼视频| 操高情无码| 日本性爱视频一级| 伊人女女资源在线观看| 国产自产91区13区| 日日日日日| 久久久久久久国产视频| 欧美岛国精品在线观看| 日韩97P| 无卡一区=区| 97久久免费| 久久国产精品91| 天天综合精品| 香蕉久久国产AV一区二区| 亚洲第一狼人丝袜美女另类| 日韩精品中文字幕人妻| 试看60秒 爽| 大香蕉性欧美| 欧美精品亚洲精品日韩传电影| 你草精品在线视频| 亚洲天堂性爱| 久久精品一区二区三区不卡| 欧美国产日韩高清在线| 去干网最新版| 国产女性无套 免费观看| 日韩福利综合一区| 肏逼福利网站| 久久婷婷电影网| 97狠狠| 色狠狠一区二区三区香蕉| 夜夜青青无码影院| 中文字幕免费看| 蜜臀av中文字幕| 久久亚洲熟妇在线视频| 我中文字幕6区| 国产精品视频在线播放 | 亚洲午夜精品久久久中文影院| 久久视频,这里只有精品 | 亚洲国产精品99久久久| 色综合V| 免费A片三p视频| 一区操逼| 免费黄色片。| 大香蕉黄色一级片免费看| 中文字幕AV乱伦| 操迟操逼在巾线Fre看| 一区二区三区黄色片a| 国产精品ⅴ无码大片在线看.| 欧美岛国精品在线观看| 国产一级内射无挡观看| 黄片免费看的| 5月婷婷6月六月丁香| 91丨熟女丨丰满熟女| 婷婷亚洲五月***久久| 簧片免费看视频| 亚洲AV永久无码一区仙野| 韩国一级婬片A片AAAAA| 素人播放一区| 久久久久9999妇女| 中文字幕诱惑制服人妻丝袜美丝袜美| 97人人爱人人乐| 日韩猛交| 欧美性爱精品七区| 亞洲久久直播| 伊人五月天| 日本美女性生活久久久久久久| 91在线免费观看处女| 久久999久| 久久骚| 深喉吞精| aaa亚无码专区| 岛国视频一二三区| 欧美美女自慰一区二区三区| 久久久久久波多野吉衣高潮| 后入福利| 黄片视频观看| 丰满高潮18xxxx| 精品国产一区二区三区av在线资源| 999日韩中文精品观看视频。| 亚洲男人的天堂V| 天天摸天天舔天天操| 99在线精品观看视频中文| 精品人妻一区二区三区日产| 精品欧美А∨无码黑人大荫蒂| 成人乱码一区二区三少妇| 爽爽淫人网| 久久久18禁| 天天影视综合色| 中日韩免费看男女操逼大全| 牛黄色久午久| yazhousetuoumei| 大屁股熟女一区二区三区| 亚洲se91| 99性爱在线观看| 精品久久久久久亚洲| 国产丰满少妇久久久精品影院| 精品熟妇视频一区二区| 性爱综合一区二区| 97超碰碰碰| 97精品在线| 超碰成人人人爽人人爽| 亚洲天堂 视频你懂的| 老熟女区| 亚洲久久久久| 久久99亚洲精品久久99果| 熟妇人妻一区二区| 久久99国产精品| 久久亚洲AV无码专区国产精品| 屌逼传媒| 黑人粗大V S日韩女优视频| 国产91精品在线免费| 国产精品久久伊人| 美女诱惑在线一区| 国产高清视频无码在线| 亚洲18禁| 国产97av| 午夜福利视频在线一区| 亚州综合AⅤ| 久久男人的天堂| 欧美性爱在线无码| 亚洲国产青青| 一个国产在线综合网站| 日韩丝袜人妻AV| 日韩日韩日韩-国产乱码精品一区二区| 高清无码一区二区三区| AND人妻系列| 久久久久久久| 99欧美| 精品久操| 欧美一级黄色18片免费看| 亚洲欧洲色情高清| 亚欧毛片基地国产毛片基地| 亚洲欧美天堂在线| 襙一襙| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 亚洲系列欧美| 久久国产乱子伦精品免费女人| 麻豆av一区二区三区| 干少妇视频| 五月色综合| 国内精品99999| 色婷亚洲五月在线观看| KK色在线影院| 九九色精品| 丝袜视频网国产90| 成人av动漫在线观看| 97chaopenrihan| 国产精选三级在线观看| 91色伦| 一级A片女人高潮叫床| A一级色女| 一区二区三区黄色片a| 超碰97最新人妻| 日韩av不卡在线看| 99re这里| 黄色视频特级毛片| 一本色道久久综合亚洲二区三区| 婷婷深爱五月| 九九热三级片| 久妇网| 欧美18老人禁| 青青草日本中文字幕| 波多野结衣AV无码一区| 好看的久久不射无码影视影院| 欧洲综合无码| 蜜桃臀一区二区aV| 色色色欧美| 九九九九免费| 啊啊啊啊啊啊好湿好爽视频| 福利操逼| 欧美色图亚洲色,麻豆| 亚欧性爱在线无码| 97色亚洲| 人妻 欧美 中文| 乱伦AVxx| 欧美亚洲综合高清在线| 国产污视频麻豆传媒一区二区| 伊人丁香五月婷婷| 老熟乱一区二区三区四区| www.婷婷六月天| 国产在线综合福利网站| 色偷综合| 亚洲午夜免费狠狠干| 白丝被操91| 国产免费一区| 色蜜AV| 巨爆乳一区二区爆乳区| 东北老熟女| 一区久久久二区| 东京热男人的天堂精品| 人妻丝袜日本| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 久久性爱视频| 中文字幕乱码人妻二区三区| 神马久久久久久久久| 神马久久久久眼| 欧美大香蕉同搞| 91丝袜视频在线观看| 国产精品亚洲四五区在线观看| 亚洲成人美女无吗| 84YTCOM性无码| 白嫩妹子国产骚| 99精品丰满人妻无| 超碰人人超在线观看| 碰碰97| 青青草一区二区三区四| 成年男人的天堂| 无遮挡h肉动漫在线观看| 精品综合久久久久久五月天| 黑人综合色| 亚洲综合有玛| 欧美国产日韩清纯唯美| 福利伊人玖玖国产| 男女日B国产| 久久久久久久久久久久色网| 欧美夜夜骑视频| 最新加勒比丝袜在线| 探花熟女,姿勢到位,體驗感也到位| 97免费视频在线| 手机av亚洲丝袜美腿日韩第一页二页| 色狠狠综合噜一二三区| 亚洲无码99| 日韩成人精品视频自拍| 九九视频黄色片| 欧美色图91| 欧美日韩精品青青| 蜜桃久久久久久久久久久久| 亚洲欧洲视频小说在线观看| 婷婷伊人| 欧美网站免费| 国产精品黄色三级av| 欧美亚洲自拍另类人妻| 夜夜欢天天干| 欧美日韩不卡传媒| 97欧美色综合| av东京热男人的天堂| 一区麻豆 高清中文字幕| 五月天伊人| 亚洲精品久久久久久久蜜桃臀| 日本无码1| 99久久精品欧美国产| 蜜臀久久99精品久久久久| 99色热| 大干人妻| 九九九九九九免费视频| 五月天加勒比啪| 丰满少妇高潮无码| 青青操少妇| 欧美在线伊人色| 麻豆黄色五月天| 国产精品交换一区二区| 97色色视频| 五月婷婷六月丁香| julia高潮后不停追击中出| 亚洲欧美经典一区二区| 日本女人操逼| 婷婷激情四射| 国内外色色色色色成人视频| 超碰av在线| www.久久99| 丁香六月婷婷| 久久久久久久久久久六六| 92福利社视频| 天美av在线观看| 国产视频一区二区在线观看| sss视频华人在线| 国产性刺激| 国内操逼视频二区| 久久亚洲色图中文字幕| 啊啊啊在线看| 亚洲天堂另类| 99re9| 看日韩黄片| 强奸乱伦免费网站| 中文字幕精品日韩中文字幕| 亚洲蜜桃V妇女| 日韩在线观看中文字幕视频| 碰碰在线视频| 青青草精玖玖69精品| 国产成人主播| 97超碰国产亚洲精品| 国产在线激情| 成人五月天丁香激情综合| 综合国产影视三级| 99精品久久久久久久婷婷| 强免费黄色网址| AV天天在线观看| 60秒试看最爽10分钟网站| 亚洲欧洲无码一区夜| 超碰色美女| 黑人综合网| 精品久久久久久AV无码| 在免费jIzzjIzz在线视频| 亚洲国产激情国产av| 1024久久高清视频| 亚洲一区亚洲天堂| 欧美色97| 免费av在线播放二区| 国产综合永久精品日韩鬼片| 亚洲色婷婷| 91国产大片| 欧美少妇高潮视频| 日韩精品字幕| 国产日韩欧美三级片| 亚洲另类久操网| 啊啊啊啊啊啊啊啊要喷了| 精品97久久| 久久精品国产亚洲AV高清演员表| 国模精品娜娜一二三区 | 日韩一级二级在线| 亚洲欧美变态| 无码操逼视频一下| 激情综合久久| 夜精品久无码| 男人的天堂2019| 日韩一级特黄av毛片| 久久久com| 欲色啪| 中文字幕在线免费观看2| 日本五十路熟女一区二区| 色性荡荡荡荡视频| 午夜亚洲| 老熟女乱子伦中文字幕一区二区| 亚洲影视综合网| 国产自产22区| 久久透逼视频| 97天天爽| 国产精品午夜福利| 国产高清26uuu| 国产精品久久发布| 日韩人妻无码不卡网站| 性色av蜜臀av色欲aV| 99热超碰| JuliaAnnXXX888| AV不卡在线| 91麻豆天美传媒HD| 91综合熟女| 久久东京国产精品视频| 欧美亚洲涩涩| 在线观看不卡一区二区三区| 天综合中文| 久久有码视频| 美女黄频a美女大全免费皮| 久久伊人青青草| 日本影视久久免费| AV 少妇 人妻 偷拍| AV男人天堂网| a v网站在线播放| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 丝袜天堂网| 秋霞成人一级在线观看| 日韩影片中文字幕一区二区三区| 九九九九精品精| 九九黄色视频在线观看| 天天操天天7| 免费一级黄色录像影片| 日本97久久久精品| 婷婷婷婷婷婷久久久久| 欧美乱色| 1区2区3区视频| 91无码中出人妻视频| 日韩电影中文字幕| 超碰99热| 精品日日人妻| 久操婷婷| 黄色成年| 一区二区 韩日AV| 国产sv美女内射| 99日韩| 精品一级| 啊…啊…操我用力操我 | 丰满熟女一区二区三区在线播放| 大奶啊啊好爽| 夜夜爽夜夜爽| 色女网日韩| 国产在线综合网| 英伦大奶子熟妇吊带| 九九综合九九综合| 欧洲乱码一区二区| 欧美一区二区日韩三区| 亚洲天天影视综合网| 日韩美女啪啪一区| 久久骚| 抽插无码高清一区| 精品人妻一区二区三区免费视频| 91狠狠综合久久久久久| 人妻久久一区二区三区 | 97神马久久| 深夜啪啪啪视频免费| 翔田千里AV无码秘 三区| 久热久一区二区三区| 八戒午夜福利理论片| silk lablo在线观看一区二区| 可能人人看人人摸| 人妻激情视频| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 视频在线97| 97人人干| 尤物av网站免费在线播放| 国产嫩草精品A88AV在线| 久久人人爽爽人人爽人人片αV| 人妻无码视频一区二区三区久久| 国内毛片无码一级毛片| 97综合| 啊啊啊不要啊啊受不了了视频在线 | 九九久久久久久爱| 在线观看无码三级少妇| www久久精品| 亚洲五月丁香花狠狠干一区二区三区 | 超碰97在线中文| www九九热| 欧美精品三级黄片| 蜜桃一区二区三区| 综合五月婷婷| 97精品一区二区视频| 国产成人精品午夜福利| 91 刺激在线| AA级电影三区| 久久久久久免费电影| 久妇网| 思思热影视| 中出欧美| 久久亚洲色图中文字幕| 亚洲综合网电影91| 熟女乱伦A| 91亚洲欧洲| 欧洲精品一二三在线| 操久久久久久| 3d成人精品一区二区| 亚州综| 超碰碰激情97+久| 日韩人妻少妇 一区二区三区| 飘花国产午夜精品不卡| 黄色工厂这里只有精品| 97干天天| 9九九九九视频在线观看| 中文字幕一区二区免费在线| 97视频免费播放| 人妻人妻天天碰| 懂色AV一区二区三区| 国产网站在线播放| 青青操网| 狠狠色五月亚洲91| 激情文学 亚洲图片| 夜夜夜久久| 综合久久婷婷| 中国国产精品一区视频| 日韩无码极品| 久久是精品| 欧美日韩小说| 另类老少妇| 少妇综合| 天天天天天天天天天天干美女| 亚洲午夜AV| 99www.bibizy香蕉资源国产一区二区三区高清 | 成人AV素股で擦久久| 九9精品| 蜜臀99久久| 黄片不用下载在线观看| 自拍欧美| 亚洲?V高清一区二区三区尤物| 日韩无码精品综合久久| 99精品网| 久久黄黄黄| 国产黄色 A 片免费看| 嗯~啊~快点 死我视频| 茄子社区国产精品| 黄色AAAAA欧美| 欧美一区二区日韩传媒搭讪精品| 在线视频资源| 色色热| 久久午夜色播影院免费高清| 超碰人妻在线| 超碰偷拍| 日韩激情中文字幕有码| 五十路熟女工口 | 国产福利小视频高清在线观看| 精品九九九九九九九| 日韩无码一级黄色av片| 亚殴在线| 国产女大学生AV| 国产一区二区三区不卡手机在线| 精品传媒在线一区| 北京专精特新企业招聘信息| 最近2018中文字幕在线高清第一页| 日韩精品.久久精品.AV女优.天美传媒 | 神马九九| 麻豆性爱视频在线播放| 丁香九月 婷婷| 啊啊啊久久久视频| 91在线无码精品秘 软件| 国语精品av| 91美女中出| 成人一二| 狠狠2050在线观看| J?P?NESEHD熟女熟妇伦| 亚洲一本色码中文字幕| 国产精品原创巨作?v网站| 人妻少妇三级| 激情干在线| 丰满人妻一区二区三区免费| 久草成人福利导航| 婷婷去俺也去六月色| 国产sv美女内射| 九九热五区| 少妇高潮对白在线观看| 久久亚洲一区女同性恋中文字幕 | 少妇三p| 中文字幕 一区二区 亚洲无码| a一区二区三区乱码在线| 加勒比av网| 丰满人妻一区二区三区在线| 伊人专区一区二区三区| 中文字幕免费在线观看| 亚洲 欧美 中文 日韩超碰| 国产成年免费大片黄在线观看| 久区视频| WWW美腿丝袜香蕉中文| 又大又长又爽| www久久久| 国产曰批免费观看久久久| 97天天| 亚洲色棕合| 麻豆黄四叶草网站| 五月天精品| 韩国成人精品久久久免费看| 国产一级内射高清视频| 国产AV天美传媒一区二区三区 | 99无码| 久操视频免费观看| 97久久超碰国产网站| 大香蕉九九| 欧美日韩性爱视屏免费看了| 日韩av不卡在线看| 欧美激情性久久久久久| 亚洲AV无码秘 蜜桃臀国精产品| 91性情| 600国产精品视频| 超碰99re| 国产视频人人网| 91视频综合网| A级片日韩欧美国产欧美视频精选观看 | 精品国产乱码久久久久久久久1| 亚洲999综合| 久久婷婷一区二| 欧美熟妇乱码在线一区| 怡红院视频在线| 久久色一区| 久热久一区二区三区| 九九九九九九亚洲| 蜜桃传媒一区二区亚洲| 天堂资源欧美| 在线视频五十市| 九九自拍伦理| 夜夜免费视频| 91狠狠综合久久| 大香蕉综合网| 八戒午夜福利理论片| 欧亚乱色熟女一区二区| 两性综合网| 丁香五月激情综合| 99热导航| 欧洲亚洲国产综合在线| 久草新在线| 在线无码网站| 人妻出轨一区二区三区| 啊嗯嗯啊好大好爽| 久久精品一区二区| 偷拍自拍在线视频观看| 中文字暮97| 亚州九九九精品视频| 亚洲欧美情色| 免费黄色A片| 蜜桃精品一区二区三区ww| 热热色综合网| 人妻一区二区三区视频 | 老司机深夜18禁污污网站| 91三级理论片播放器| 97资源超碰| 天天性射网| 蜜乳AV.COM| 丁香五月天视频| 一区二区三区成人| 91人人| 2021久久国产综合精品青草| 日韩无码嘿咻黑热久| AV男人天堂网| 亚洲国产av中文字幕久久| 97超碰国产精品| 玖玖资源视频一区二区三区| 久久精品国内Av熟女高清| 91GD.COM| 97精品全部| 亚洲成人性爱在线观看| 91路www| A 天堂| 天堂国产AV| 国产精品久久久久久久久久久久久久吹 | 久久9精品视频| 精品九九九| 国产suv精品一区二区四| 热热色91| 欧美超碰9798| 国产在线综合福利网站| 中文字幕一区av| 亚洲一二三四区| 亚洲精品819| 成·人免费午夜在线观看| 男人的天堂2018东京热啪啪啪| 4虎在线观看| 日韩pv中文| 国产成久久综合片| 人妻酒店出差被中出免费在线播放| 网站A V在线| 久久久久亚洲一区女同性恋中文字幕| 成年人黄色小视频网站| 精品视频久久区| 99久久久久| 亚洲婷婷丁香在线| 成熟熟女国产精品一区二区| 欧美强奸一区二区诱惑| 天美传媒麻豆一区二区三区国产精| 啊…啊…操我用力操我| 欧美性爱精品七区| 久久↗↗| 在线观看AV不卡| 国产精品亚洲无码| 久久精品女同亚洲女同13| 99re视频在线观看这里只有精品| 91精品国产91久久青草| 在线小视频| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 大香蕉懂9| 婷婷15月天青娱乐| 天天91~综合入口| 韩国一级AAA| 欧美天天弄| 91无摭挡| 色九九九综合| 欧美日韩夜夜| 久久婷婷热| 狠狠中文字幕| 精品人妻一区二区三区四区不卡在| 久久妇| 精品97久久综合| 99热官网| 婷婷丁香五月天综合东京热| 无码高清操逼| 久久久久久97| 91N综合网| 青青草中日韩在线| 午夜无码熟妇丰满人妻| 亚码人妻| 91最新综合| 中文字暮97| 久久免费精彩视频| 丝袜大香蕉| 日韩去日本高清在| 免费强奸av| 91成人久久| 国产麻豆福利av在线播放| 亚欧无码在线| 在线观看色视频| 久久久国产亚洲精品系列| 亚洲天堂中文字| 人人 操人人 操人人| 久久精品国产亚洲妲己影视| 黄色片A级一区二区三区| 国产精品又黄又猛又粗| 狠狠色伊人亚洲综合网站色| 人人看人人爰人人操| 国产精品亚洲无码| 精品久久久久久中文| 免费啪啪av| 中文字幕91页| 404操逼福利视频| 亚洲精品国产AV天美传媒| 欧美页片| 亚洲啪啪啪啪视香蕉| 偷拍新久久| 伊人操| 国产精品蜜臀久久久久无码AV| 爽极品影院| 久久五月丁香| 五月天色图| 精品妇操一区二区三区| 欧美日韩小说| 欧美激情一区| 亚洲成a人片在线观看中文!!!| 国产精品青草综合久久| 欧美另类色| 久久精品一区二区三区蜜桃臀| 日日干日日摸| 99久久久无码国产精品性啊聊| 国产精品免费1区2区视频| 嫖老熟女A片一二三区| 亚洲情色五月天| 大香蕉92| 日韩在线性爱免费视频| 婷婷五月色| 伊人久久亚洲中文字幕不卡| 欧美成人精品欧美一级乱黄一区二… | 国产 亚洲 丝袜 制服| 日韩AV片| 天天影视综合色| 中文精品一区二去| 久久一区无码| 蜜臀久久99精品久久久久久成人小说| 日本丝袜美腿人妻九九| 日本男人天堂| 国产精品久久久久久久久AV大片| 久9久9精品| 中文字幕欧美日韩三级| 无码国产精品午夜不卡(| 亚洲一区亚洲天堂| 成人av性爱电影在线观看| 啊a一区在线| 综合五月天| 亚洲av乱伦色图网站| Aa东京男人的天堂| 素人一区二区三区日韩| 国产丰满熟夫69mpp| 立川理惠被中出无码| 厕所偷拍在线| 9久在线视频只有精品| 欧美亚洲综合色| 麻豆成人AV| 伊色综合天堂色97| 搡老女人老91妇女老熟女| 97操97色| 91综合色噜噜| 大吊色| 国产人妖视频一区在线观看| 久久久久网站-538在线视频-欧美永久乱码 | 免费成人在线熟妇网| 性在久久久久久| 天天色怡春院| 一级啊性爱在线视频| 日韩有码回春沙龙第一页| 久久精品三级影视| 亚洲欧洲日韩中文字幕一区| 一起草AV| 欧美欧美啪啪视频| 91久久国产综合精品| 国产家庭乱伦网址| 嗯嗯不要视频| 91视频成人福利网站在线一区| 国模不卡| 免费观看一区| 九九九九免费高| 大香网伊人久久综合| 亚洲精品99999| 欧美夜夜骑视频| www五月| 日韩精品免费高清视频在线| 啊啊啊好大好深| 欧美少妇性乱| 欧美性天天影视| av在线一区二区三区| 亚洲成人贴图| 亚洲综合九| 天天看天天综合成人网| 丰满人妻无码一区二区三区| 亚洲人妻久久| 91综合天天看| 啊啊啊啊啊好大好舒服想要| 婷婷久久五月天| 黄色性爱网网| 草草影院最新网址| 日韩在线国产字幕| 亚洲精品国产拍免费91在线| 情色五月天网| 麻豆福利视频导航| 97天天摸天天碰| 日韩av影片在线观看| 一区二区三区亚洲| 大象AV在线| 91精品国产一区三一| 深爱伊人影院| 九九九九免费视频| 欧美亚洲宗合色性图| 97国产色图 | 日韩精品99久久久久久中文字幕 | 一区三区啪啪| 一级特级aaaa毛片免费观看| 深夜国产一区二区三区在线看| 久久亚洲欧美中文字幕国语| 妇女性内射冈站HDWWWCOM| 69av一区二区三区| 老熟女乱伦一区| 高清无码在线播放网站| 久久性生大片免费观看性| 亚洲人成在线放东京热| A 天堂| 看免费的黄片| 黄片无码在线制服| 狠狠操狠狠| 久久精品欧美一区蜜桃| 九九九九九九亚洲| 欧美亚洲厕所精品偷拍91| 欧美日韩国产人人| 五月天人妻综合| 精品对白久久不卡| 伊人影院日本| 亚洲图片日本AⅤ欧美在线| 自拍视频一区在线观看| 少妇高潮对白在线观看| 婷婷激情四射| 亚洲淫乱骚妇AV| 老女人91| 91精品人| 国产精品一级片在线看| 天天看,天天做| 日产狠狠干| 青娱乐手机日韩在线视频| 99久在线精品99re8蜜桃| 日本操逼无码| 亚欧国产无码精品在线| 操九九九九九九| 蜜臀在线看片| 91被操| 高清无码91| 国产美女自拍AV| 蜜臀AV网站| www.黄色在线| 日韩97超碰中文字幕| 亚洲AV人人澡人人爱| 色欧洲| 无码日韩网站| 无码人妻精品一区二区三区九九| 亚洲高清综合网| 午夜福利精品| 欧美97视频| 东北女人操逼| 国产激情综合五月久久| 97久久精品不卡| 日韩精品人妻一| 色老汉色| 国产视频人人网| 免费视频无码| 日韩欧美麻豆| 日韩AV一起草| 超碰九九| 久久婷婷综合国际产色怕| 国产精品久久久九九九| 国产乱伦亚洲| 人妻在线大香蕉| 欧美成人A√在线一区二区| 精品视频日日夜夜| 天天草天天日| 日韩99神马视频播放片在线播放| 久草资源在线| 久都青青视频| 亚洲A曰本VA欧美VA视频| 无码一区二区三区四区五区六区七区八区九区十区视频 | 日韩一级片在线看|