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

ARTICLE DETAIL

資訊詳情

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

嵌入式C++項目交付前必填的坑:STM32引腳到通信的實戰(zhàn)排查指南

嵌入式C++項目交付前必填的坑:STM32引腳到通信的實戰(zhàn)排查指南 有一種累叫“功能都通了但項目還沒交付”。我在嵌入式C這條路上寫到第六篇前面的內(nèi)容把工程框架、外設(shè)驅(qū)動、狀態(tài)機(jī)這些大骨頭都啃得差不多了但真把板子拿去做綜合測試的時候總會冒出一堆“還差活滴”——引腳定義沒核對、ADC通道切換數(shù)據(jù)亂跳、屏幕ID讀出來不對、中文顯示全是亂碼、CAN總線偶爾掉線找不到原因。這些活兒單個拎出來都不難但湊在一起就是壓垮進(jìn)度的最后一根稻草。這篇就是來填這些坑的結(jié)合STM32、嵌入式C實際開發(fā)中最常遇到的“隱性工程問題”把我踩過的坑、用過的排查思路、能直接抄的代碼和配置一一梳理出來適合正在做STM32項目但卡在“功能能跑但沒法交付”階段的朋友參考。我一直覺得嵌入式開發(fā)最有意思的地方不在于把某個外設(shè)點亮而在于把所有外設(shè)放在同一個工程里還能穩(wěn)定地跑起來。C在這兒的價值不是讓你寫出多花哨的模板而是讓你用類、狀態(tài)機(jī)、封裝把這些零散的硬件邏輯組織得明明白白。這篇要補的“活滴”恰恰是把那些你平時不太在意的細(xì)節(jié)串起來。1. 先盤點嵌入式C項目里最容易“差”的幾類活先說個普遍現(xiàn)象。大部分STM32項目尤其是跟著教程一步步做下來的往往卡在功能驗證通過之后到交付之前這段真空期。LED能閃、串口能打印、傳感器能出數(shù)看起來“都通了”但真要把它當(dāng)作一個完整項目來看還差著一大截。我根據(jù)自己的開發(fā)經(jīng)驗把這類“差活”歸納成五個方向。1.1 從“功能能跑”到“項目能交付”還差什么第一個差距在硬件細(xì)節(jié)。很多人拿到核心板或者自己畫的板子第一件事就是看原理圖、找引腳但引腳分配是不是合理、復(fù)用功能有沒有沖突往往要等調(diào)不出來才回頭查。第二個差距在軟件架構(gòu)。功能演示的時候可以用一個While循環(huán)把邏輯寫在main里但項目功能一多全局變量滿天飛中斷回調(diào)里堆業(yè)務(wù)代碼后面想加功能就得拆東墻補西墻。第三個差距在編譯與燒錄配置。換一臺電腦、換一種工具鏈芯片包版本不對、鏈接腳本內(nèi)存布局不對編譯報一堆莫名錯誤半天排查不出原因。第四個差距在字符與顯示處理中文字庫、編碼轉(zhuǎn)換、屏幕初始化時序這些看著不起眼但在實際產(chǎn)品里是用戶第一眼看到的東西。第五個差距在通信穩(wěn)定性UART、CAN、SPI在實驗室環(huán)境都正常一接上真實設(shè)備或者跑上幾個小時就出問題這往往是邊界時序和異常處理沒做好。1.2 這一篇會補哪幾類“活滴”我把后面要展開的內(nèi)容先列個清單方便你按需跳讀。硬件層面聊芯片第一腳確認(rèn)、芯片包安裝和LD鏈接腳本外設(shè)層面聊超聲波測距、ADC多通道切換、五線四相步進(jìn)電機(jī)顯示與編碼層面聊ILI9341讀ID異常和GBK轉(zhuǎn)UTF8通信層面聊CAN偶發(fā)失聯(lián)和物聯(lián)網(wǎng)上云最后聊聊USB設(shè)備開發(fā)和嵌入式Linux的學(xué)習(xí)路徑。這些內(nèi)容看著零散但其實都是嵌入式C項目里躲不開的基礎(chǔ)工程問題。2. 引腳、芯片包與工具鏈的坑不要瞧不起先說一個最基本的也是我見過翻車率最高的——芯片引腳確認(rèn)。很多新手拿到STM32芯片照著網(wǎng)上找的引腳圖就往上接結(jié)果接反了、接錯了、甚至把電源和地搞反了板子一上電就冒煙。這種問題屬于低級錯誤但造成的后果一點都不低級。2.1 芯片第一腳確認(rèn)新手最容易燒板的第一步絕大多數(shù)STM32芯片采用LQFP封裝芯片頂面左上角會有一個圓形凹陷或者斜切角這個標(biāo)記對應(yīng)的就是第一腳。以LQFP64封裝為例把標(biāo)記朝左上角放第一腳在左下角然后逆時針編號。這里有個容易混淆的點有的芯片頂面絲印字符的方向也會暗示引腳順序但最可靠的還是找數(shù)據(jù)手冊里的封裝圖核對不要憑感覺。我自己的習(xí)慣是拿到芯片之后先用萬用表二極管檔測量VDD和VSS之間的壓降正常應(yīng)該在0.3V到0.7V左右如果測出來是0或者短路那說明芯片可能已經(jīng)損壞或者你的電源引腳識別有誤。先確認(rèn)引腳再上電這一分鐘能幫你省下買新芯片的錢。還有一點容易被忽略STM32的部分引腳默認(rèn)功能是JTAG調(diào)試口比如PB3、PB4、PA15。你要是把這些引腳當(dāng)普通GPIO用會發(fā)現(xiàn)怎么配置都不起作用因為調(diào)試功能把引腳占用了。解決辦法是在初始化的時候關(guān)掉JTAG功能只保留SWD用GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE)。這種問題不是芯片壞了是功能復(fù)用沒處理好。2.2 芯片包安裝與LD鏈接腳本的排查再說工具鏈。用Keil開發(fā)的時候新建工程找不到對應(yīng)型號的芯片十有八九是芯片包沒裝。打開Pack Installer搜索你的芯片型號比如STM32F103C8T6安裝對應(yīng)的Device Family Pack就行。如果你用的是STM32CubeMX生成工程還得注意HAL庫版本和芯片包版本要匹配我遇到過CubeMX生成的代碼在舊版芯片包下編譯直接報錯的情況升級芯片包之后就好了。如果你用的是GCC工具鏈比如在VS Code里搭配arm-none-eabi-gcc開發(fā)鏈接腳本.ld文件就是必須關(guān)注的文件。鏈接腳本的作用是告訴編譯器你的Flash、RAM有多大代碼段、數(shù)據(jù)段、堆棧分別放在哪里。很多人編譯報region FLASH overflowed就是程序體積超過了芯片F(xiàn)lash容量報region RAM overflowed就是全局變量和堆棧擠爆了RAM。我整理了一個排查順序先看工程的芯片型號選對沒有再看鏈接腳本里的FLASH和RAM大小和芯片型號是否一致最后看是不是定義了過大的全局?jǐn)?shù)組。順便說一句堆棧大小在鏈接腳本里也能設(shè)置如果你用到了較大的局部變量或者遞歸調(diào)用把_Min_Stack_Size從0x400調(diào)到0x800甚至0x1000是常有的事。3. 外設(shè)驅(qū)動的C封裝把零零碎碎的外設(shè)管起來嵌入式C和單片機(jī)C語言開發(fā)最大的區(qū)別就是把外設(shè)驅(qū)動當(dāng)作“對象”來管理而不是一堆散落的函數(shù)。這一節(jié)我挑三個典型外設(shè)來演示都是我在項目里反復(fù)用到的超聲波測距、ADC多通道采集、步進(jìn)電機(jī)控制。3.1 超聲波測距把HAL庫的回調(diào)改造成C類用HC-SR04這類超聲波模塊原理是向Trig引腳發(fā)一個10us以上的高電平脈沖然后測量Echo引腳高電平持續(xù)的時間時間乘聲速除以2就是距離。很多人的寫法是在main里用HAL_GetTick()打點計時阻塞等待這樣雖然簡單但阻塞期間CPU干不了別的事而且容易受中斷影響。我測試下來比較穩(wěn)的是用輸入捕獲加外部中斷把測量過程交給硬件CPU只在事件發(fā)生時被通知。用C封裝的話我一般這樣設(shè)計class Ultrasonic { public: Ultrasonic(GPIO_TypeDef* trigPort, uint16_t trigPin, GPIO_TypeDef* echoPort, uint16_t echoPin); void Init(); float MeasureOnce(); // 阻塞式測量適合低速場景 void StartMeasure(); // 非阻塞啟動 float GetDistance(); // 獲取最近一次測量結(jié)果 private: GPIO_TypeDef* trigPort_; uint16_t trigPin_; GPIO_TypeDef* echoPort_; uint16_t echoPin_; volatile uint32_t riseTime_; volatile uint32_t fallTime_; volatile float distance_; void OnRise(); void OnFall(); };這里的關(guān)鍵是回調(diào)用一個靜態(tài)函數(shù)橋接到對象實例因為C成員函數(shù)不能直接作為中斷回調(diào)。我通常寫一個靜態(tài)Handler函數(shù)再通過instance指針調(diào)用對應(yīng)的方法。測量完成后要把超時標(biāo)志加上如果Echo引腳一直沒有拉低超過比如50ms說明沒有回波這次測量結(jié)果應(yīng)當(dāng)丟棄否則距離數(shù)據(jù)會莫名其妙跳變。3.2 ADC多通道切換為什么“測不準(zhǔn)”多半是切換時序ADC多通道采集是個經(jīng)典問題。你用STM32的ADC同時采多路電壓數(shù)據(jù)時而正常時而錯亂最常見的原因不是采樣精度不夠而是通道切換得太快沒有給采樣電容足夠的充電時間。STM32的ADC采樣需要滿足最小采樣時間采樣時間由采樣周期和ADC時鐘頻率共同決定。比如ADC時鐘設(shè)為12MHz采樣周期設(shè)為1.5個周期那實際采樣時間只有1.5/12M 125ns對于高阻抗信號源來說這遠(yuǎn)遠(yuǎn)不夠結(jié)果就是測量值偏低或者跳動。我常用的做法是用ADC的掃描模式配合DMA設(shè)置好通道序列后DMA會把所有通道的結(jié)果依次搬運到內(nèi)存數(shù)組里CPU不參與每個通道的切換數(shù)據(jù)一致性就有了保障。CubeMX里的配置思路是開啟Scan Conversion ModeNumber Of Conversion設(shè)為通道數(shù)Rank里的每個通道設(shè)置對應(yīng)的采樣時間一般我設(shè)到55.5個周期以上然后開啟DMA的Circular模式在內(nèi)存里定義一個數(shù)組接收數(shù)據(jù)。用C封裝的話這個數(shù)組就是ADC類的一個私有成員通過GetChannelValue(uint8_t ch)來讀取。順帶說一個坑DMA接收的數(shù)據(jù)是16位的可你的數(shù)組可能定義成8位或者沒對齊讀出來的數(shù)據(jù)就會錯亂。核驗方法是連續(xù)采集一個已知電壓看轉(zhuǎn)換結(jié)果是否穩(wěn)定在理論值附近。3.3 五線四相步進(jìn)電機(jī)用狀態(tài)機(jī)代替硬延時五線四相步進(jìn)電機(jī)是常見的28BYJ-48這類電機(jī)驅(qū)動方式是按順序給四相線圈通電。標(biāo)準(zhǔn)時序是A-B-C-D或者A-AB-B-BC-C-CD-D-DA這樣的半步序列。很多人驅(qū)動步進(jìn)電機(jī)直接用HAL_Delay控制換相時間這樣做電機(jī)能轉(zhuǎn)但有個問題延時期間CPU完全被占用而且延時時間不精確轉(zhuǎn)速波動大。我用C寫了一個步進(jìn)電機(jī)類核心是一個狀態(tài)機(jī)加一個毫秒定時器回調(diào)class StepperMotor { public: void SetSpeedRpm(float rpm); void Step(int32_t steps); // 正數(shù)為正轉(zhuǎn)負(fù)數(shù)為反轉(zhuǎn) void Enable(bool en); private: uint8_t phaseIndex_; int32_t remainingSteps_; uint32_t stepIntervalMs_; void PhaseAdvance(); // 在定時器回調(diào)中調(diào)用 void OutputPhase(uint8_t index); };換相延時決定了轉(zhuǎn)速半步模式下走一步需要8個拍完成一個整步如果目標(biāo)轉(zhuǎn)速是10轉(zhuǎn)每分鐘步進(jìn)角5.625度那么要做到這樣的轉(zhuǎn)速每一步間隔大約是60000 / (轉(zhuǎn)速 * 4096)毫秒4096是減速比之后的半步數(shù)。這個計算不復(fù)雜但很容易算錯我會在代碼注釋里保留推導(dǎo)過程避免下次改參數(shù)的時候又得從頭算一遍。狀態(tài)機(jī)的優(yōu)勢在于換相動作可以由定時器中斷或者一個周期調(diào)用的Tick()方法驅(qū)動CPU可以做別的事情電機(jī)轉(zhuǎn)速也穩(wěn)。4. 顯示與編碼LCD讀ID異常和中文顯示的坑屏幕是嵌入式產(chǎn)品最常見的交互出口但也是最容易出“看起來莫名其妙”問題的地方。這里聊兩個高頻問題一個是ILI9341讀ID返回異常一個是中文字符編碼轉(zhuǎn)換。4.1 ILI9341讀ID返回0xA1A1是怎么回事很多人用STM32驅(qū)動ILI9341屏幕第一件事就是從寄存器里讀芯片ID來確認(rèn)屏幕型號和接線是否正確。正常情況讀回來應(yīng)該是0x9341但不少人在SPI模式下讀出來是0xA1A1。這不是芯片識別錯了而是讀取時序或者通信模式不對。0xA1A1這個值其實很有指向性。ILI9341支持SPI和RGB接口SPI模式下讀取ID需要發(fā)送讀ID命令字節(jié)然后在時鐘邊沿讀回數(shù)據(jù)。如果你用的例程默認(rèn)是8080并口時序但是你接的是SPI讀出來的自然就是0xA1A1。另外還有一種常見情況讀ID命令的字節(jié)順序不對某些版本要發(fā)0xD3而不是0x04具體要參考你手里屏幕的數(shù)據(jù)手冊。如果命令對了還是讀不對再看看片選信號邏輯。我排查時不會一上來就懷疑芯片壞按這個順序查先用邏輯分析儀確認(rèn)SCL和MOSI上的命令字節(jié)確實發(fā)出去了再查MISO上是否有數(shù)據(jù)回傳接著確認(rèn)讀ID指令和位寬最后才是懷疑芯片本身。這里有個經(jīng)驗值如果你用的是4線SPI讀操作時主控需要把MISO設(shè)為輸入時序上命令字節(jié)發(fā)送結(jié)束后要等一個額外的時鐘周期再開始采樣數(shù)據(jù)因為ILI9341的MISO在命令字節(jié)的最后一位之后才切換方向。把時序圖仔細(xì)翻一遍很多“讀不到正確ID”的問題就解決了。4.2 嵌入式里的GBK與UTF-8中文字庫怎么搞另一個高頻問題是中文顯示。很多STM32教程默認(rèn)用英文字模一旦需要顯示中文要么在PC上把文字取模生成數(shù)組要么直接燒一套全字庫芯片但對小項目來說成本太高。更常見的是嵌入式設(shè)備需要和上位機(jī)通信上位機(jī)發(fā)過來的是UTF-8編碼的中文字符串而屏幕字庫數(shù)據(jù)是按GBK編碼索引的這時候就需要做編碼轉(zhuǎn)換。GBK和UTF-8之間沒有數(shù)學(xué)換算關(guān)系只能查表。嵌入式環(huán)境里我通常用兩種做法一種是在PC上把轉(zhuǎn)換表生成好壓縮后存在Flash里MCU運行時查表轉(zhuǎn)換缺點是浪費Flash另一種是用簡單的特征判斷UTF-8的漢字編碼范圍集中在0xE0-0xEF開頭GBK的首字節(jié)集中在0x81-0xFE通過首字節(jié)范圍做一次快速判斷再配合必要的時候查表。對大部分工控顯示場景顯示“溫度、濕度、狀態(tài)”等固定中文詞語時我更推薦直接做狀態(tài)編號到字模索引的映射而不是做通用編碼轉(zhuǎn)換因為這樣又快又省空間。5. 通信與聯(lián)網(wǎng)CAN失聯(lián)和物聯(lián)網(wǎng)上云通信模塊是嵌入式項目的重災(zāi)區(qū)尤其是涉及到總線或者聯(lián)網(wǎng)的。這一節(jié)挑兩個我最近真實折騰過的方向來聊。5.1 CAN通信突然連不上八成不是波特率的問題CAN總線在工控和車規(guī)場景用得非常多它的優(yōu)秀之處在于差分信號和仲裁機(jī)制抗干擾能力強(qiáng)。但“CAN突然連不上”是我被問得最多的問題之一。很多人第一反應(yīng)是波特率配置錯了但真正穩(wěn)定運行的CAN網(wǎng)絡(luò)突然失聯(lián)通常不是波特率而是下面幾個原因。終端電阻缺失或者斷開是最容易被忽略的。CAN總線兩端要求各接一個120歐姆終端電阻用來匹配總線阻抗抑制信號反射。如果只有一個節(jié)點內(nèi)部接了120歐姆而總線另一端電阻掉了阻抗不匹配會直接導(dǎo)致通信質(zhì)量下降遠(yuǎn)距離傳輸時就會出現(xiàn)間歇性失聯(lián)。測量方法很簡單總線空閑時用萬用表量CANH和CANL之間的電阻正常應(yīng)該在60歐姆左右如果量出來是120歐姆說明有一端終端電阻沒接。第二個原因是總線關(guān)閉狀態(tài)。CAN控制器在錯誤計數(shù)超過256時會進(jìn)入Bus-Off狀態(tài)此時節(jié)點停止參與總線通信。進(jìn)入Bus-Off后軟件需要檢測并恢復(fù)。STM32的bxCAN提供了中斷標(biāo)志可以在中斷里做恢復(fù)操作。第三是ID過濾器的配置如果驗收過濾器設(shè)置得過嚴(yán)數(shù)據(jù)幀會被硬件直接丟棄表現(xiàn)也是“收不到數(shù)據(jù)”。調(diào)CAN一定要先把過濾器設(shè)置成接收所有幀確認(rèn)通信正常之后再收緊過濾條件否則你會在排查的路上走很多彎路。CAN還有個容易被忽視的參數(shù)是波特率誤差。雖然STM32的CAN外設(shè)可以精確分頻但如果你外接的CAN收發(fā)器或者總線上有其他節(jié)點不同節(jié)點的時鐘源誤差疊加可能超出協(xié)議允許的容忍范圍。建議用CAN分析儀抓一下總線上的實際波形確認(rèn)位時間是否在標(biāo)準(zhǔn)范圍內(nèi)。5.2 從巴法云到自建MQTT嵌入式上云的輕量做法物聯(lián)網(wǎng)場景里嵌入式設(shè)備的聯(lián)網(wǎng)需求越來越多。國內(nèi)大家用得比較多的一個方案是巴法云這類物聯(lián)網(wǎng)平臺設(shè)備通過MQTT協(xié)議接入平臺然后在微信小程序或者App里訂閱主題控制設(shè)備。我最早接觸的時候就是用一個ESP8266模塊AT指令連接WiFi然后通過MQTT發(fā)布主題。在STM32端做MQTT需要注意幾個細(xì)節(jié)。一是主題設(shè)計一般建議設(shè)備ID作為主題前綴比如/device/設(shè)備編碼/control和/device/設(shè)備編碼/status分別做下發(fā)和上報。二是心跳?;頜QTT要求客戶端定期發(fā)送PINGREQ否則服務(wù)端會斷開連接我用的是30秒一次心跳這個值要根據(jù)網(wǎng)絡(luò)穩(wěn)定性調(diào)整太頻繁浪費流量太慢容易掉線。三是QoS等級的選擇在嵌入式端我通常選QoS 0或者QoS 1QoS 2的報文確認(rèn)握手邏輯對單片機(jī)來說太重沒必要。四是重連機(jī)制WiFi掉線、服務(wù)器重啟都是常態(tài)設(shè)備需要能自動重連并且重新訂閱主題。用C封裝MQTT邏輯的時候我習(xí)慣把連接管理、主題訂閱、消息回調(diào)拆成三個獨立模塊消息回調(diào)做成一個函數(shù)指針接口這樣業(yè)務(wù)層就不用關(guān)心底層是走WiFi還是4G。6. USB設(shè)備與更遠(yuǎn)的路接下來還差哪些活寫到這里我想聊聊“下一步還能做什么”。很多做STM32的人學(xué)到一定階段會覺得瓶頸期到了外設(shè)都玩過一遍但好像也就那樣。實際上嵌入式的大頭在后面比如USB協(xié)議棧、嵌入式Linux、RTOS調(diào)優(yōu)這些都是從“單片機(jī)工程師”走向“嵌入式架構(gòu)師”繞不開的路。6.1 STM32做USB設(shè)備從哪入手熱詞里有人搜“STM32如何做USB設(shè)備”這個方向確實值得講。STM32做USB設(shè)備最常見的是兩種模式USB虛擬串口CDC類和USB HID設(shè)備。對新手來說從CDC虛擬串口入手最友好因為電腦端不需要裝驅(qū)動插上就能識別成COM口和普通串口調(diào)試沒有區(qū)別。用STM32CubeMX配置CDC設(shè)備非常簡單選擇USB_DEVICE中間的Class For FS IP選Communication Device ClassVirtual Port Com生成代碼后USB的中斷處理、描述符都初始化好了你只需要關(guān)心兩個回調(diào)一個是CDC_Receive_FS上位機(jī)發(fā)數(shù)據(jù)時會觸發(fā)另一個是你自己定義的發(fā)送函數(shù)CDC_Transmit_FS把數(shù)據(jù)從設(shè)備發(fā)給上位機(jī)。C工程里我一般先把接收回調(diào)里的數(shù)據(jù)丟進(jìn)一個環(huán)形緩沖區(qū)再在業(yè)務(wù)層處理避免在USB中斷上下文里做復(fù)雜操作。USB比串口麻煩的地方在于端點緩沖和包長限制。CDC最大傳輸包長通常是64字節(jié)如果你的數(shù)據(jù)超過這個長度需要自己分包發(fā)送并且要注意端點空閑狀態(tài)頻繁發(fā)送會導(dǎo)致Error。還有個容易踩的坑USB枚舉在電腦端看起來很快但設(shè)備端的掛載過程有時需要幾百毫秒甚至更久不要在系統(tǒng)上電后立刻操作USB要等枚舉完成后再交互。我通常加一個“USB配置完成”標(biāo)志在HAL_PCD_SetupStageCallback里置位業(yè)務(wù)邏輯等到這個標(biāo)志有效再跑。6.2 從單片機(jī)到嵌入式Linux架構(gòu)視野先打開再往深走嵌入式Linux就是個繞不開的話題。STM32做裸機(jī)或者RTOS開發(fā)本質(zhì)上還是在單芯片上思考問題而嵌入式Linux面對的是真正的多進(jìn)程、多線程環(huán)境應(yīng)用開發(fā)和驅(qū)動開發(fā)被嚴(yán)格區(qū)隔開。我見過很多從單片機(jī)轉(zhuǎn)Linux的人最大的障礙不是語法而是思維模式單片機(jī)里你直接操作寄存器Linux里你操作文件描述符單片機(jī)里你一個人管所有任務(wù)Linux里系統(tǒng)幫你調(diào)度一切。學(xué)習(xí)嵌入式Linux比較務(wù)實的路線是先搞清楚Linux基礎(chǔ)命令和Shell會交叉編譯一個簡單程序到ARM板子上跑然后去了解根文件系統(tǒng)、設(shè)備樹、內(nèi)核模塊這些概念。網(wǎng)上很多人在問“根文件系統(tǒng)掛載使用NFS v3”這就是調(diào)試階段常用的方式讓開發(fā)板通過網(wǎng)絡(luò)掛載PC上的目錄作為根文件系統(tǒng)這樣編譯出來的程序直接就能看到效果省去反復(fù)燒寫存儲介質(zhì)的麻煩。再到后面就是研究驅(qū)動框架把字符設(shè)備、平臺設(shè)備、設(shè)備樹串起來理解這個階段你能開始用架構(gòu)師視角看待嵌入式系統(tǒng)了。嵌入式架構(gòu)師不是會調(diào)外設(shè)就行還要能拆解產(chǎn)品需求評估方案選型平衡成本、功耗、實時性和開發(fā)效率。7. 問題排查速查表把前面幾篇的坑匯總一遍寫技術(shù)博客最怕的是講完原理就完事我把這一篇涉及到的關(guān)鍵問題整理成一個速查表方便你調(diào)試的時候直接對照排查。問題現(xiàn)象可能原因排查方向處理建議芯片上電發(fā)燙/短路電源接反、引腳識別錯誤用萬用表二極管檔測量VDD-VSS壓降先確認(rèn)芯片第一腳標(biāo)記再對照數(shù)據(jù)手冊核對引腳定義下載程序找不到芯片芯片包版本不對/未安裝Pack Installer里搜索芯片型號安裝匹配的Device Family Pack并核對HAL庫版本編譯報FLASH溢出程序體積超過芯片容量查看編譯輸出信息確認(rèn)芯片型號優(yōu)化代碼體積或換用更大Flash的芯片編譯報RAM溢出全局?jǐn)?shù)組或堆棧過大檢查鏈接腳本RAM大小和全局變量將大數(shù)組改為const放到Flash或增大_Min_Stack_SizePB3/PB4/PA15不受控制JTAG功能占用查看復(fù)用功能配置初始化時禁用JTAG保留SWDADC采集值跳動采樣時間不足檢查ADC時鐘和采樣周期配置增大采樣周期到55.5周期以上開啟DMA超聲波測距偶爾跳變沒有超時處理檢查Echo引腳是否超時未拉低增加50ms超時判斷超時丟棄本次數(shù)據(jù)屏幕讀ID返回0xA1A1通信模式/命令字不對檢查SPI時序和讀ID命令字節(jié)參考屏手冊確認(rèn)命令字節(jié)用邏輯分析儀抓波形中文顯示亂碼編碼不匹配確認(rèn)上位機(jī)發(fā)送編碼與字庫索引編碼固定使用GBK索引或做UTF-8到GBK轉(zhuǎn)換映射CAN偶發(fā)失聯(lián)終端電阻缺失或Bus-Off測量CANH-CANL靜態(tài)電阻確認(rèn)兩端各接120歐姆軟件處理Bus-Off恢復(fù)USB枚舉不穩(wěn)定上電后立即操作檢查設(shè)備端是否完成枚舉添加枚舉完成標(biāo)志延遲業(yè)務(wù)啟動設(shè)備掉線不重連MQTT心跳和重連機(jī)制缺失抓取網(wǎng)絡(luò)報文確認(rèn)掉線原因配置30秒心跳實現(xiàn)自動重連和重新訂閱邏輯這表格是我實打?qū)嵟挪檫^之后沉淀下來的。再補兩個獨門小技巧一是每次畫板或者拿到新板子先花十分鐘做一個引腳自檢程序把所有引腳按預(yù)期配置成輸入輸出用萬用表逐一測量這個習(xí)慣能幫你區(qū)分“硬件問題”和“軟件問題”二是每次燒錄前用版本管理工具比對一下這次改動的文件列表很多“明明沒動怎么就不行了”的靈異現(xiàn)象最后都發(fā)現(xiàn)是編譯時沒刷新或者改了文件自己忘了。寫在最后的經(jīng)驗分享個人在實際項目里最深的體會是嵌入式開發(fā)的“差活”永遠(yuǎn)不會消失。你補完了ADC的坑后面還有USB枚舉的坑你解決了CAN失聯(lián)后面還有網(wǎng)絡(luò)重連的坑。做這行心態(tài)要穩(wěn)每解決一個問題就把排查思路記錄下來慢慢就能形成自己的問題庫下次遇到類似的現(xiàn)象瞄一眼就知道從哪個方向下手。這篇涉及的代碼和配置我也都放在自己的工程模板里了你寫的時候不用照著抄關(guān)鍵是理解每一步為什么要這么做。比如鏈接腳本為什么不能讓堆棧和全局變量搶內(nèi)存采樣時間為什么不能一味求快CAN終端電阻為什么不能省。把這些為什么想明白了你離“嵌入式架構(gòu)師”這個目標(biāo)就又近了一步。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天干人人干天天日97| 久久蜜桃一区二区| 婷婷在线精品| 91扒丝袜综合在线| 强免费黄色网址| 欧美精品三区| 欧美色青| 精品人妻一区二区三区不卡断 | 免费一级黄色录像影片| 欧美色欧美| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 亚洲AV免费在线观看| 国产成人自拍视频在线| 中文字幕一区二区三区高清| 岛国1区2区3区在线观看| 久久久久久久9最新免费视频观看| 亚洲AV无码天美传媒一区| 国产极品一区二区三区三州| 国产多人在线观看视频| 亚洲图片欧美色图| 成人一二| 91天天| 韩日自拍| 免费精品AB| 91女优在线观看| 四虎免费看黄| 999综合色| 97超碰色五月| 操我啊啊啊啊啊| 五月婷丁香| 亚洲色图日韩精品| 国产 亚洲 丝袜 制服| 成 人 A V免费视频在线观看| 性生活性生大爱77AV国产| 免费超碰97久久| 久久伦理视频久久大香蕉视频| 欧美色三级片91| 久久麻豆一区二区| 欧美少妇大量自拍视频在线观看| 五月天婷婷综合网| 欧美色图偷拍另类| 九九热超碰97亚洲最新香蕉| 一本一道波多野毛片中文在线| 亚洲国产精品无码AV久久| 久久熟女嫩草成人片免费| 欧美91久久久久| 国产视频小说| 精品免费囯产一区二区三区| 国产极品馒头逼| 国产熟女无套内射| 看日韩黄片| 插入逼91| 琪琪精品免费一区二区三区| 中国一级特黄大片护士| 99色在线| 性性久久| 国产主播福利| 一区二区三区探花在线观看| 国产欧美亚洲精品a第2页| 最新国产亚洲精品精品国产亚洲综合| 久久老子无码午夜伦不卡| 操逼逼无码| 免费国产视频| 天天视频黄网站| 日韩成人电影AV| 丰满人妻一区二区三区四| 丝袜狠狠草尤物人妻av91| 青青草原综合久久大伊人精品| 你操综合| 亚欧操逼片在线观看| 亚洲中文字幕熟女少妇一区二区| 久久久久久亚洲Av无码| 久久婷色| 日日夜夜草草草| 精品人妻一区二区三区视频在线| 一起草日韩| www99热| 91天天综合网,天天综合网| 亚洲资源网| 国产丁香精品露脸视频| 激情黄色片在线观看| se,,,亚洲欧美| 久久中文色图| 91高清欧美| 秋霞成人一级在线观看| 中文字幕黑人大片| 亚州欧美综合| 亚欧成人综合影院| 夜夜高潮夜夜爽高清视频一| 欧美,日韩,中文,另类| 青草综合| 99无码精品| 欧美综合自拍亚洲综合图| 2017天天拍大香蕉| 九九色色| 亚洲欧美成人网站AAA| 午夜电影在线观看无码专区| 91jk色拍| 久久久久久久97| 天天干天天狼在线视频| 久久久久96| 天天上日日上日韩精品| 9 9精品一区二区三区| 午夜福利在线合集| 亚洲第一免费视频| 蜜臀99999| 亚洲无码视频免费在线观看网址! J?P?NESEHD熟女熟妇伦 | 1禁看欧美黄片免费看| 国产熟女少妇一区| 中文 人妻 制服| 国产 无码 一区二区| 日本美女性生活久久久久久久| av在线一区二区三区| 国产精品女同| 男人久久天堂| 嗯嗯嗯嗯啊啊啊好紧好大| 91日产桃蜜| 天天干天天操天天干天天操| 精品久久艹| 超碰国产精品久| 最新av在线| 日韩精品一区二区高清 | 人妻少妇精品视频一区二区三区| 中文字幕 国产 精品| 国产视频第2页| 久久av一级av少妇av高潮| 亚洲 中文 女同| 97超碰精品| 后入 亚洲 美女 射| 欧美色人| 第四色亚洲色图| 无遮挡男女激烈动态图| 色爱综合网欧美| 极品欧美一区二区三区| 欧州激情视频在线一区二区| 久久久久人妻二区精品叶可怜| 人妻人人澡人人爽人人| 大香蕉专区| AV色图| 日韩精品在线观看网站| 久久爱97| SS久久| 久草免费福利在线播放| 91色射| 久久激情视频| 激情久久久| 国产精品视频在线观看| 精品久久大胆人体| 黑人中出21连凳花野真衣| 日韩中文字幕人妻视频| 人人妻人人爽人人精品| 丝袜喷水在线| 婷婷久久网| 亚州综合色| 婷婷另类小说| 日本三级韩三级99久久| 亚洲国产尤物yw在线观看| 91九色丰满高潮| 天天干天天干天天干| 欧洲在线性爱视频| 不卡六六在线91| 天天干天天干天天| 澳门黄片一香蕉视频| 激情综合网一盗摄| 最新一二三区视频| 入口操逼网站| 午夜男人av| 美女啊啊啊啊啊啊| 精品无码产区一区二| 99精品久久| 2023天天操夜夜操| 久久蜜桃一区二区| 国产精品久久久久久久免牛肉蒲团 | 五月香婷婷| 欧美成人性爱视频在线播放 | 国产乱伦亚洲| 五十路三区在线| 97超碰中文| 清清一区二区三区四区不卡视频| 国产1769在线| 一区二区三区四区姦女| 97国产成人精品免费视频| 日本孕妇一区二区视频操逼免费看 | 丁香色狠狠色综合久久小说| 91观看 国产白丝| 97一本大道亚洲一区| 在线黄页看毛片| 3p国产色噜噜一区| 国产亚洲日韩在线三区黑人| 国产在线播放成人免费| 香蕉精品二区二区 | 日韩人妻制服丝袜av| 亚洲天堂男人天堂| 天美精品原创av片国产| 亚洲综合第一页| 亚洲在线A| 怡红院成人av| 久久久久久久久久久久黄色| 97综合国产精品高潮久久| 99精品无码| 蜜乳av首页| 网页导航五月天免费一二三区| 男女猛烈无遮掩视频免费软件| 人妻欧美| 亚洲国产成人综合碰碰三级经典| 美女9118禁| 好湿好紧视频| 亚州91| 超碰人妻久久| 午夜精品久久99蜜桃的功能章节| JuliaAnn丝袜熟女系列| 26uuu国产| 五月丁香激情综合| 色999人与兽| 中文字幕高清20页视频| 欧美少妇熟女| 热天堂一区二区| 91 丝袜在线| 日韩精品人妻中文字幕久久久| 九九久久国产精品| 人妻黑丝袜电影| 久草老司机| 日日日日做夜夜夜夜做无码97| 欧美在线视频观看一二三四区高清| 99热 按摩 日韩| 欧美影音在线| 97人妻人人躁人人玩人人| 午夜福利一区二区三区四区五区色婷婷| 国产精品在线一区二区| 啊啊啊免费| 色综合一本| 影音先锋日本一区二区| 欧美日本国产日韩激情视频| 国产精选三级在线观看| 91N欧美| 欧美一二在线| 国产伊人精品在线| 亚洲一区日韩精品中文字幕| 噜噜噜在线视频| 一区二区三区欧美激情| oumeisetu综合| 中文字幕在线观看第二页| 99xav| 亚洲精品蜜桃久久久| 五十路熟女人妻一区二区在线观看| 99婷婷一区二区| 天天看人人操屄犊摸阴| 久久99草| 久草新在线| 精品成人无码| 色五月婷婷在线| 久久最新视频免费观看| 综合亚州欧美| 色黄污美女啪啪啪免费网站| 91欧美高清| 国产av热热色| 性91| 伊人久久婷婷| 我爱搞逼综合网| 欧美懂色综合网| ..日韩av毛片精品久久久| 嗯啊不要在线| 三四中文字幕| 亚洲色系另类精品国产| 亚洲精品男人的天堂| 二三四区精品| 国产操伦| 黄色高清久久无码依人| 青青青国产手线观看视频2| 亚洲 国产 精品一区| 久久最新免费视频23| julia ann久久| 69国产对白刺激| 免费视频a级毛片免费视频| 人妻无码后入| 亚洲天天操| 亚洲精品成人| 怡红院亚洲怡春院av| 欧美一区二区三区互相| 日韩欧美亚洲国产日韩| 久久精品无码一区二区三区| 黑丝自慰喷水网站| 青青草久久在线| 亚洲图片激情综合另类| 后入人妻一区| 国产精品com| 婷婷中文字幕| 91亚洲人| 亚洲日韩一区电影| 欧美日韩资源| 男人的天堂2010| 欧美性性性| AAA久久| 日本二三四区| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 操高情无码| 欧色性第一页| 国产树林里野战在线看| 91狠狠狠| 婷婷五月丁香五月| 酒色综合网| 日韩人妻资源网| 91亚洲综合在线| 99色色| 伊人加勒比| 亚洲骚女一区二区三区| 中文字幕一区二区视频在线观看| 高潮内射在线| 免费成人在线观看91| 欧美中字二区| 日韩中文字幕视频在线观看| 欧美熟妇精品黑人巨大91| 黄色高清无码无码破解免费暗网| 午夜黄色免费在线观看| 东北老熟女| 久久婷五月| 日韩在线电影| 性生活无遮挡纯毛片在线看| 午夜男女爽爽爽在线视频| 日韩无码服务区| 九九伊人网| 起碰97| 色爱欲亚洲| 国产 亚洲 丝袜 制服| 中出20p| 天天日天天色| 精品人妻中文字幕4399| 农村少妇久久久久久久| 一区二区三区网站日日骚| 91伊人久| 美女十八禁| 久操视频免费在线观看| 欧美日韩国产高清在线一二三区 | 免费精品福利在线观看| 欧洲精品一级二级精品综合视频综合 | 男人天堂站| 久久毛卡| 日韩一级欧美一级国产一级台湾| 国产视频大全| 欧色综合| 色情五月婷婷| 日本黄色大片一级视频免费麻豆| 久久久久久99999国产精品| 亚洲一区二区麻豆影院| 夜夜影视四色| 试看日韩黄片| 中国91AV| 天天天操天天天爱| 精品人妻一区二区乱码一区二区| 99re9在线| 日本性爱欧美性爱| 亚洲加勒比久久日本道| 人妻91少妇| 亚洲爱爱视频一区二区| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 不卡中文字幕aⅴ在线| 91亚洲丝袜熟女| 国产农村妇女精品一| 国产AV高清AV无码| jk白丝没脱就开始啪啪| 国产精品人妻无码久久久互動交流| 欧美色图在线视频少妇| 97碰碰日本乱偷人妻中文的| 亚洲情色五月天 | 免看60秒涩涩视频| 欧美激情一| 亚洲欧美日韩电影网站一区 | 大香蕉一级黄色片久久| 精品一区二区三区蜜桃| 午夜九九九九九九| 可乐操亚洲蜜911| 污电影在线观看| 亚洲免费97免费| 久草精品热视| 江都AV在线| 成人贴图日韩欧美| 蜜臀久久99精品久久久久久久久| 色色激情五月天| 日韩一级免费性爱| 欧美日韩第一页| 亚洲一区二区性爱电影| 一起草精品人妻| 精品国产乱码久久久久久口爆网站| 国产Av超碰| 老外又粗又长一晚做五次| 999久久久| 欧美激情一区| 亚洲熟女乱色一区二区三区| 永久免费av无码网站国产app| 久久AV无码AV| 日韩免费三级黄片电影| 久操网址| 天天弄天天操| 艳美熟妇先锋一二三区| 91人妻视频| 国产精品一区二区后入| 自拍第一页| 欧美亚洲首页| 97天天综合| 中文字幕av亚洲精品| 91网九色蝌蚪操熟女| 岛国免费视频在线| 国产熟女完整版中字| 国产小黄片在线免费观看| 亚洲一区二区性爱电影| 久久性视频| 91蜜臀熟女| 美日韩一卡二卡三卡免费人妻精品| 丁香五月天婷婷姐| 青青三级视频| 国产精品96久久久久久| 中文字幕一区二区三区四区在线视频| 中国乱伦一区二区| 95人妻爽爽人人做人人澡| 国产av青草| 天天天操天天天爱| 呦呦一区| 在线观看色视频| 国产一级片| 中文字幕十五区| 欧洲一区二区三区四区在线观看| 人人妻人人爽| 伦伦成年午夜免费视频| 人人摸人人干| 国产精品在线一区二区| 亚州综合网| 色婷婷激一区二区三区| 超碰人人妻| 91黑丝美女| 日韩图色| 在线A日本| 熟妇熟女视频一区二区三区| 老熟女中文字幕高清| 春色91| 爽极品影院| 色99色| 91nbbbbbb| 久久精品黄色| 91操人| 内射卯月麻衣| 日本色色视频网站| 日韩有码免费视频| 蜜臀Av一区二区三区| 久久精品人人做人人看| 大香蕉碰| 欧美在线亚洲| 久久精品国产亚洲AV高级北京| 蜜臀久久99精品久久久久久久久| 亚洲影视第一页| 久久久久久一日韩字幕无码| 玖玖爱综合| 亚洲欧美日韩不卡人妻| 干婷婷综合网| A一级色女| 亚洲黄色视频在线观看视频| 熟女人妻av在线资源,黄色的资源| 天天草AV| 日韩欧美综合激情| 亚洲精品一区二区免费在线观看| 国产精品一区二区久久精品| 天天肏美女| 欧美性性性| 久久曰曰| 欧美九九九| 色爱国产| 超碰色图| 97色插| 久久久亚洲熟妇熟女| 五月天色综合| 综合网欧美| 91亚洲精品青草| 欧美色欧美| 综精品久久久aaaa| 8x福利精品第一福利视频导航| 亚欧美天堂在线| 日韩无码一级黄色av片| 日逼五月天| 看大黄色大片原件| 亚洲在线观看| 五月丁香啪啪| av网站免费看| 97青娱乐超碰久久| 园内精品自拍视频在线播放| 欧美日韩人妻少妇 一区二区三区| 亚欧成人综合影院| 热G综合热G中文| 婷婷五月成人| 天堂v无码免费视频| 台湾佬中文娱乐自偷自拍| 综合亚洲欧美精品日韩?v| 91人妻视频在线| 国产精品久久久久久久AV大片 | 大学生美女口爆| 少妇人妻精品| 老司机深夜影院18未满| 欧美亚洲中文字幕| 欧美 日韩 国产传媒| 精品欧美А∨无码黑人大荫蒂| 美女丝袜激情小说| 天天插天天插| 黄色电影在线播放综合网站| 天天天操天天天爱| 91蜜臀熟女| 亚洲第一免费视频| 亚洲se91| 国产自产22区| 美女啊啊啊啊啊啊啊| 欧美日韩日产免费网站看| 99最新日韩偷拍视频| 国产剧情一区在线观看| 国产精品无套内谢| 欧洲在线性爱视频| 青草伊人网| 哈哈操电影AV| 爱射综合| 高跟丝袜AV专区国产| 亚州综合在线| 90后后入| 色香在线| 四虎影视在线| 五月丁香啪啪| 欧美日韩性爱无码| 白丝av| 九九九只有精品| 大香蕉伊人网WWWn0n| 亚洲一区中文字幕一区| 久久精品欧美一区二区三区不卡| 国产精品成人午夜福利| 是还免费视频1727我| 天美麻豆精品视频99| 中文字幕亚韩| 1人人看人人摸人人操| 亚洲男人天堂av| 亚洲脚交| 操老熟女AV| 色爱欲亚洲| 91在线欧色| 激情五月婷婷| 人妻AV在线| 亚洲操逼视频网站| 五月天玖玖资源站| 国产小黄片在线免费观看| 成人97人人超碰人人| 百度百度日本操逼| 精品视频在线观看| 99re免费| 超碰97人妻| 欧美成人性活片| 久久丝袜| 久久久四区| 97天天| 果冻传媒A片麻豆熟妇人妻| 中文字幕二区| 骚熟女AV网| 国产欧美日产一区二区三区 - 国产欧美日| 热久日综合| 97超碰逼| 狠综合网| 国产情色第一第二页在线观看| 超碰精品| 亚洲色图伊人网| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 大肉棒导航| 久啪| 精品久久久一本一道| 久久久性少妇| 久久人| 啪啪视频免费在线观看| 无码久久国产| 91在线超高颜值国产| 性爱Av免费| 91成人久久 | 校园春色宗合网| 国产精彩女在线观看视频| 9长久久精品| 久久久草草精品| 国语精品av| 亚洲精品99999| 99久久久无码国产精品性啊聊| 亚洲精品一二牛牛| 无码高清国产AV| 免费精品福利在线观看| 日韩三级一区 | 女性91网站| 亚川综合视频| 国产亚洲国产超碰| 九久久九精品视频| 99re在线视频国产| 91爱网| 热久久国产| 国产超碰| 美女的肌被草喷水视频| 久久网亚洲| 丰满人妻一区二区三区色-百度| 99亚洲精品| 日韩性爱电影一区| 久久一区无码| 国产精品第一页国产大屁股视频免费区i| 亚洲中文丝袜美腿诱惑字幕| 岛国免费视频在线| 欧美日韩第一页| 亚洲妇色| 精品人妻一区二区三区在线视频不卡| 欧美一级美片在线观看免费| 99ri视频| 亚洲熟女偷拍在线观看| 2024黄色视频| 九色PORNY9l原创自拍| 美腿丝袜偷拍亚洲欧美| 伊人91| 久久久久九九九| 欧美九九爱| 青草伊人久久| 久久久久亚洲AV无码专区少妇| 亚洲宅男天堂| 欧美手机在线综合| 女人被男人桶爽视频网站| 久久久草成人网站久久久草成人久久久草久久久 | 五十路熟女人妻一区二区三区四区五| 国产精品69人妻无码久久久| 日本天天人人狠狠在线日美女 | 国产老太乱伦一区| 99ri在线视频| 美女让帅哥通她小鸡鸡| 26uuu国产亚洲综合| 中文字幕 码 自拍 视频 区| 国产AV天美传媒一区二区三区| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 亚洲丝袜二区在线| 一本一道波多野毛片中文在线| 97九色人妻| 久久久亚洲精品中文字幕人妻| 国产精品免费日韩| 四虎884a| 黄色操人| 欧美97日韩| 久久精品国产精品一区| 日韩乱码Av| 人妻少妇精品| 亚洲无套久久嗯嗯| 亚洲欧美另类激情小说| 国产伦精品一区二区三区视频女| 日天天九九天堂666| 国产又色又爽又舒服的三级视频| 精品久久9| 成人乱码一区二区三少妇| 欧美性生活内射| 日本东京热加勒比久久| 欧美日韩人妻婷婷一区| 日韩乱中文| 欧亚日韩综合精品国产| 天天干天天操天天干天天操| 亚洲午夜蜜臀| 99九九久久| 久9九综合在线| 2001天天操| 亚洲 欧美 日韩 国产一区二区| 久九九九九九九热| 7777奇米影视久久| 中亚黄色三级大片| 欧美一区二区三区日韩| 欧美 亚洲| 伊人大香蕉在线| 色操逼网| 视频在线97| 欧州色图区| gogogo免费高清看中国国语| 中国黄色特级精品一区二区三区片| 日韩丰满熟妇| 不卡视频一区蜜桃视频 | 国产黑白丝在线| 中文字幕黑人大片| 无遮挡一级毛片视频免费的| 制服丝袜第二页| 91操人| 国产丝袜欧美在线视频| 色老久久| 久久天天摸| 久久无码成人| 78m啪啪啪| 99久久综合| 欧美婷婷五月天| 熟女探花啪啪| 999熟女精品| 婷婷久草一区二区三区| 欧美日韩不卡a片| 日韩成人小视频| 青久操| 久久婷色| 十八禁av无码免费网站APP| 超碰97极品9| 久久只有精品一区二区三区| 在线性黄高清免费视频| 中国AAAAAA黄色片| 97色操| 蜜屁Av| 国产一区二区三区中文字幕| 日本东京热加勒比久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 久9爱精品| 亚洲www91| 女人的久久久| 亚洲中文字幕三级在线| 99久久久无码精品国产人| 欧美 色 亚洲| 夜夜做夜夜爽精品视频| 一区,二区,三区视频| 猛交交| 免费看日产一区二区三区| 7777奇米影视久久| 亚洲国产一级黄色视频| 96精品久久| 青青草五月份天| 小骚逼被操的爽不爽| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 家庭乱伦国产| 欧美人黑A片无码免视费| 中文不卡视频| 蜜区区视频79| 激情视频图片| 99re在线视频这里只有精品| 超碰夫妻97| 操B久久| 嗯……啊…嗯嗯…啊…好舒服| 99热这里只有精品8| 国产做?爰片久久毛片?片美国| av最新免费中文字幕| 一本色道综合久久欧美| 亚洲阿v天堂在线| 一区二区高清视频| 色汉综合| 91伊人| 亚洲欧美天堂| 天天日天天干天天操| 97超碰欧美中文字幕| 青青久久艹| 9久久久久| 女人综合网| 免费a v| 老司机午夜精品视频| 精品久久久久久中文字幕视频免费 | 日韩国产乱子伦App| 亚欧视频在线| 日韩探花精品在线视频| 一个人免费HD91视频| 99久久精品国产高潮| 亚洲国产欧美中文永久| 大香蕉手机视频| 67914亚洲精品| 亚洲欧洲视频小说在线观看| juliaann精品熟女一区| 久婷婷一区| 成熟熟女国产精品一区二区| 久久久久921| 啊啊在线| 欧美综合亚洲综合| 天天做天天爱夜夜爽毛片试看| 亚洲AV无码乱码| 中文字幕中文字幕一区二区| 爱媛媛久久国产福利| www.色五月| 亚洲综合在线高清| 麻豆精品三区视频| 国产9l 大屁股| 日韩综合无码一区久久92| 免费一级性爱久久| www色色com| 99.色网| 日本三级韩国三级美三级91| 少妇天堂| 都市久久精品激情亚洲| 福利在线黄片| 91女神在线视频| 色拍偷亚洲| 美女啊啊啊啊啊啊| 啪啪AV导航| 调教熟妇 久久久久久| 二对二中文字幕。| 麻豆一区二区AV天美| 日本国产欧美一区三区二区| 亚洲中文日韩欧美大香蕉视频| 日日操天天操| 精品无码久久久久| 黄页av| 97人人操人人摸| 精品人人| 精品少妇高潮久久| 人人妻人人爽 97人人看碰人免费公开视频| 久久久久亚洲Aⅴ无码| 九九九九九九亚洲| 九九久久国产精品怡红院| 秋霞怕怕片| 亚洲av无码成人精品国产| av午夜玫瑰| 三四中文字幕| 免费黄色A片| 久插综合| 人人妻人人爱人人玩| 91成人精品在线播放| 少妇同性| 亚洲图片激情小说| 婷婷色播婷婷| 久久久免费懂色| 两女互慰AV高潮喷水在线观看| 色五月婷婷在线| 日韩人人精品| 噜噜噜在线视频| 欧美成人亚洲精品| 久久久久九九九九| 丁香五月电影| 97人人色| 蜜臀在线看片| 乱论91| 亚洲无无码αⅴ每日更新| 八戒无码国产午夜福利| 亚洲av强奸乱伦| 蜜乳av一区二区三区四区不卡| 激情黄色片在线观看| 96精品在线| 日韩欧美女求操每天更新| 欧美黑人精品一区二区| 操逼999| 国产亚洲深夜激情| 日本天堂网| 秋霞午夜成人福利片片| 中出91| 人妻天堂网| 天天干天天拍| 蜜臀久久99精品久久久久久酒店| 国产18精品亚洲精品| 97操综合| 97最新在线播放视频| 九九热午夜欧亚国产视频| 成人性爱av.com| a片亚洲一本通视频| 韩日性爱av| 岛国不卡超碰护士AV在线播放| 欧美极品性爱天天射| 亚洲精品1区| 成人aⅴ一区二区三区| 国产妇女精品视频青青草| 99精品欧美一区二区三区桃色| 91爱看| 嫩草影院在线观看精品 | 在线播放成人高清免费视频| 国产亚卅97| 久久成人午夜精品影院| 国产风韵犹存熟妇三区| 午夜男人一级A片7777| 亚洲激情久久久伊人综合| 人妻熟女字幕一区二区| 国产精品视频内谢女人| 天天日天天射天天干| 国产女人和拘做爰视频| 黄色一区三区| 国产无套粉嫩白浆在| 色与欲影视| 91麻豆天美国产| blacked精品一区国产| 欧洲一区二区三区四区在线观看| 五月丁香婷婷综合| 九九九色| AV色五月天| 大香樵伊人网| 伊人网青青| 后入福利| 天天淫人人妻日日色| 秋霞一级A片黄色视频| 97视频在线免费播放| 久久99久久99久久99人受| 不卡av免费在线网址| 国产久久久久影院老熟女| 婷婷五月天基地| 国产丝袜美女在线一区| 91蜜桃传媒精品久久久一区二区| 亚洲综合97中文网| 一块操欧美性爱| 在线日韩日本亚洲国产| 97视频新免费| 亚洲情色婷婷五月天| 大香蕉一线视频| 久久久999| 免费男人的天堂| 午夜性| 久久五月天婷婷| 丁香九月 婷婷| 国产一二三在线视频五十路| 欧亚日韩三区| 天天色香欲综合网| 久久亚洲AV成人精品无码| 国产精品片| 国产AV线| 国产25页| 九久久九精品视频| 97综合在线| 日韩欧美tv一区二区在线观看| 亚州综合在线| 日韩欧美蜜桃精品久久中文字幕久久 | 久久性爱免费送| 国产AAAAAABBBBB| 狠狠爱夜夜| 玖玖爱综合网| 福利一级版子| 91亚州欧美| 久久国色天香香蕉| 色婷婷亚洲婷婷| 色综合网1| 国产日逼视频| 国产成人拍国产亚洲精品| 人妻一区二区三区熟女| 精品女同一区二区三区| 国产99999久久精品| 97国产亚洲中文在线| 亚洲色图激情小说| 婷婷色中文字幕| 一级啊性爱在线视频| 91九色蝌蚪在线观看| 一级婬片120分钟试看| 色香欲影| 亚洲欧美骚| 少妇精品| 亚洲一区二区av| 亚洲图片视频小说| 日韩欧美中文字亚洲慕| 搡老女人老91妇女熟女| 97在线无精品| 欧美激情久久久久| 99re这里| 久操影视| 综合天天。| 一二三卡欧美日韩人妻免费精品| 99日免费视频中文字幕| 亚洲精品不卡一二三区| 日日妻色网| 丝袜色综合| 风月影院男女十八禁| 91男同| 后入福利| 激情综合 婷婷五月 红杏| 夜夜夜夜久久久久| 玖玖综合网| 高清国产精品福利网站| 一区AV| 2017人人操,人人摸| 人妻 丝袜美腿 中文字幕| 一起草日韩| 日本午夜久久电影| 亚洲天堂男人在线| 欧美有码亚洲中文字幕一区二区三区四区 | 国产精品3| 超碰色美女| 九九九九九九九九九国产精品 | 99操视频| 毛片中心9视频99| 婷婷五月天久久精品视频一区二区三区| 欧美在线色图| 久草精品一区 | 一二三四区电影| 无码人妻一区二区三区四区老鸭窝| 色逼综合| 欧美性爱无码一区二区三区| 国产精品制服丝袜清纯唯美| 色五月激情综合网| 日韩国产品视频中文字| 手机久操欧美综合色码| 一摸二插三插| 亚州综合| 一本一道波多野毛片中文在线| 久久美女福利是上海美女| 67914亚洲精品| 日韩不卡码| 欧美日韩亚洲少妇寂寞影院正在播放| 亚洲欧美碰碰| 九九综合久久中文字幕| www狠狠| 安徽熟妇视频| 夜夜夜爽www精品视频| 久久只有精品| 久久‘黄片视频| 狠狠躁AV| 夜夜做夜夜爽精品视频| 污色区网站| 天天干夜夜操网| 色呦呦、国产精品| 男人天堂无码| 亚洲精品一二牛牛| 亚洲综合九九| 婷婷15月天青娱乐| 日韩无码一区二区三区| 乱欲一区二区| 极品粉嫩一区二区| 淫纸中9区| 久久久久亚洲AV无码专区少妇| 欧美成人精品A片免费一区99| 欧美猛交黑寡妇中文字幕| 婷婷午夜清品久久久久久久性色视频观| 久久综合国产精品国产| 色性欧美| 久久成人精品| 中文人妻av高清一区| 91ise欧美| 国产suv精品一区二六| ji熟女.com| 粉嫩国产精品久久粉嫩| 九九九国产精品| 91人妻做a观看视频| 嗯嗯,啊啊,国产精品| 亚洲美女高潮喷水视频| 欧美极品性爱天天射| 91黑丝少妇| 久热热| 九九色热| rivers-china.com| 国产偷拍自拍在线视频| 婷婷另类小说| 亚洲另类欧美精品| 啊啊啊 在线观看| 97这里有精品| 色色色色电影网| 天天超级碰碰碰| 亚洲国产尤物yw在线观看| 国产黄色动态精品| 97超碰人人操人人操| 日本久久久久久久久| 精品999一区二区| 丁香六月婷婷久久综合| 97色欧洲| 亚洲精品日韩国产欧美| 蜜臀久久精品久久久久视频| 中文字幕日韩人妻视频一区二区三区 | 久久久久久久国产| 自拍偷拍国产欧美日韩韩| 欧美一区二区在线资源| 欧美欧美啪啪视频| 亚洲少妇诱惑| 亚洲天堂五月天国产| 97亚洲资源| 嫩草在线视频| 亚洲AV无码久久精品蜜桃小说| 乱伦一二三区| 亚洲少妇在线影音| 一区二区三区黄色片a| 另类视频在线| 91小视频| 久久大香蕉97| 天天流夜夜操| 国产午夜在线观看| 1区2区3区中文字幕日韩| 天天干天天燥| 东北操逼| 九九热AV| 91这里只有精品| 麻豆人妻少妇在线免费观看| 岛国毛片在线观看免费| 日本天天干天天日一区| 日本色婷婷| 91狠狠综| 99久热精品99re6热| 操逼视频免费日韩无码| 免费视频观看60秒| 国产精品女同| 大香蕉黄色一级片免费看| 欧美在线综合| 99精品视频在线观看| 一二三区操逼国产91| 欧美暴力猛交| 精品国产精品一区二区| 国产传媒av天美传媒在线| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 蜜臀久久99精品| 欧美中出1| 国产毛片片精品天天看视频| 超碰天天操| 99操99| 人妻一二三区| 婷婷国产精品一区二区| 嗯……啊…嗯嗯…啊…好舒服| 日本操逼视频导航| 无码78| 青青三级视频| 蜜桃成人1区2区3区| 国产啊v在线免费播放| 亚洲黄色电影| 爱爱久久| 人人天天欧洲| 加勒比在线视频一区二区三区| 男人天堂资源| A一级色女| 熟女一区二区| 99视频内射三四| 91精品久久久久五月天精品| 啊啊啊慢点| 欧美人人天天网| 97爱免费插| 性爱1区| 操操逼视频| 囯产精品久久久久久久久久二区三区| 欧美91网站| 日本美女性生活久久久久久久| 青娱乐久久艹| 另类TS人妖一区二区三区| 男女国产精品| 999熟女精品| 91嫩草欧美| 亚洲天天艹| 婷婷丁香成人| 综合 欧美 亚洲 日本| 欧美亚洲激情| 欧美春色| 尤物视频偷拍免费| www.AV有限公司一区| 国产日韩精品一区二区三区| www.色操逼| 欧美丝袜制服久久| A 在线网址| 91久久九九精品国产综合| 偷拍盗拍亚洲色图图片| 欧美同性恋 的搜索结果 - 91n| 牛牛久久国产精品视频一二三| 天堂九九九九九九九九九| 久久久久久久人妻| 爱做久久久久久| 午夜影美女日鸡鸡天天视频国产| 免费岛国一级片| 99精品无码| 精品久久久无码| 日韩在线观看中文字幕视频| 中文字幕美女91| 综合网欧美| 亚洲色交| 麻豆成人AV| 91岛国动作片| 国产97av| 精品少妇99| 夜夜高潮夜夜爽夜夜爱爱一区 | 国产精品麻豆免费视频| 天天上日日上日韩精品| 97超碰精品| 亚洲不卡三级手机播放| 一区二区中文| 久久性爱视频免费看| 中文乱码字字幕在线第5页| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 国产女人91精品嗷嗷嗷嗷| 亚洲一区二区三区AV无码 | 国产外初女出血视频| 劲爆欧美人妖三区91| 美女丝袜激情小说| 国产乱不卡| 97人人爱人人乐| 干B网| 亚洲加勒比久久日本道| A级片一区| 特级特黄一级毛片免费| 亚洲最新av无码成人精品区| 大香蕉强奸乱伦| 超碰在线成人| 精品国产乱码久久久久A| 精品久久99| 麻豆国产成人精品|