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

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實戰(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ī)、封裝把這些零散的硬件邏輯組織得明明白白。這篇要補(bǔ)的“活滴”恰恰是把那些你平時不太在意的細(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ù)代碼后面想加功能就得拆東墻補(bǔ)西墻。第三個差距在編譯與燒錄配置。換一臺電腦、換一種工具鏈芯片包版本不對、鏈接腳本內(nèi)存布局不對編譯報一堆莫名錯誤半天排查不出原因。第四個差距在字符與顯示處理中文字庫、編碼轉(zhuǎn)換、屏幕初始化時序這些看著不起眼但在實際產(chǎn)品里是用戶第一眼看到的東西。第五個差距在通信穩(wěn)定性UART、CAN、SPI在實驗室環(huán)境都正常一接上真實設(shè)備或者跑上幾個小時就出問題這往往是邊界時序和異常處理沒做好。1.2 這一篇會補(bǔ)哪幾類“活滴”我把后面要展開的內(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é)果依次搬運(yùn)到內(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運(yùn)行時查表轉(zhuǎn)換缺點是浪費(fèi)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)定運(yù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)整太頻繁浪費(fèi)流量太慢容易掉線。三是QoS等級的選擇在嵌入式端我通常選QoS 0或者QoS 1QoS 2的報文確認(rèn)握手邏輯對單片機(jī)來說太重沒必要。四是重連機(jī)制WiFi掉線、服務(wù)器重啟都是常態(tài)設(shè)備需要能自動重連并且重新訂閱主題。用C封裝MQTT邏輯的時候我習(xí)慣把連接管理、主題訂閱、消息回調(diào)拆成三個獨(dú)立模塊消息回調(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ū)嵟挪檫^之后沉淀下來的。再補(bǔ)兩個獨(dú)門小技巧一是每次畫板或者拿到新板子先花十分鐘做一個引腳自檢程序把所有引腳按預(yù)期配置成輸入輸出用萬用表逐一測量這個習(xí)慣能幫你區(qū)分“硬件問題”和“軟件問題”二是每次燒錄前用版本管理工具比對一下這次改動的文件列表很多“明明沒動怎么就不行了”的靈異現(xiàn)象最后都發(fā)現(xiàn)是編譯時沒刷新或者改了文件自己忘了。寫在最后的經(jīng)驗分享個人在實際項目里最深的體會是嵌入式開發(fā)的“差活”永遠(yuǎn)不會消失。你補(bǔ)完了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
返回資訊列表
www. 男人天堂成人在线| 五月丁香啪| 99热这里只有精| 91综合在线| 91无摭挡| 好好的日:com久久九九| 成人熟女视频一区二区三区| 日本岛国黄色网址| 日韩乱伦视频| 欧美亚洲色图另类国产| 亚洲欧洲成人在线电影| 国产精品高朝久久久久久久| 亚洲情色在线| 欧美精品另类人妖xxxx| 岛国成人av在线播放网址| 久久精品国产亚洲妲己影视| 色97干| 久久夜夜夜夜| 青娱乐亚洲热| 人人色97| 91综合无码| 色哟哟-国产专区| 人妻熟女一区在| 人妻人人做人人澡人人爽欧美一区| 久久精品国产Aⅴ| 亚洲欧美第一页| 亚洲一区二区三区麻豆传媒| 黑人在线91| 精品夜夜澡人妻无码| 日欧毛片久久| 久久国产999| 日日噜噜夜夜久久亚洲一区二区| 97人亚洲综合字幕| 大香蕉AV丝袜| 内射中出日韩在线观看视频| 欧美另类自拍 | 日韩乱伦视频| 欧美亚洲中文字幕| 亚洲色欲天天人妻无码系列专区| 亚洲操逼网| 亚洲熟女中文字幕在线| 大香蕉啪啪啪| 欧美日韩性感| 麻豆伊人网| gogogo免费高清看中国国语| 欧美一级黄色免费专区| 国产亚洲欧美每日在线| 欧美日韩国产黄色片| 操逼视频国产无套| av无码精品久久久久| 男人高清无码一区二区| 丁香五月性爱| 亚洲人精品久久久喷水| 操人妻逼91| 素人无码中文字幕| 欧美另类天堂| 2017人人操,人人摸| 亚州免费啪啪视频| 物尤视频一区二区| 久久久极品| 日本黄色精品| 人妻少妇久久中文字幕一区二区 麻豆| 91成人18| 欧美αv.com| 久久精品国产72国产精品福利| 99热精品免费| 亚洲第一页欧美| 欧美暴力猛交| 黄色成年| 四虎国产精品永久地址入口| 亚洲操操操| 日少妇亚洲版| 国产2.3.4区| 一区AV| 岛国艾薇凹凸视频天堂| 欧美亚洲玖玖玖| 欧美曰韩国产精品| 精品少妇一区二区三区免费观看| 欧美色图天堂网m| 久久精品视频一区三区小泽玛利亚| 农村少妇久久久久久久| 91伊人久| 亚洲AV高潮| 亚洲好色人妻| 岛国艾薇凹凸视频天堂| 97 视频在线| 视频不卡中文字幕| 亚洲无线码一区国产欧美国| 打av高清| 欧美第一页| 亚洲制服aⅴ中文字幕| 久久久97| 伊人 俄罗斯 a v| 日本3级一区二区免费| 熟女在线视频| 91在线秘 男同| 亚洲精品第一| 91美女视频在线免费观看| 亚洲国产日韩精品久久久| 精品午夜福利国产一区二区在线观看 | 亚洲精品97久久| 污污汅18禁网站在线永久免费观看 | 99www.bibizy香蕉资源国产一区二区三区高清 | 精产国品一区二三产品| 亚洲在线网站| 欧美不卡在线美女| 玖玖久久久| 久久国内| 久久精品成人一区二区三区蜜臀| 一区二区三区探花在线观看| 精品久久艹| 激情 欧美 亚洲 小说| 国产欧美日韩女同性恋ww喷水精品| 四虎免费在线观看| 大香网伊人久久综合| 变态另类专区| 国产自产一区视频在线| 91国产美女丝袜足交精品视频| 欧美组图日韩亚洲中文字幕| 九九综合久久| 美女诱惑久久| 另类综合另类| 欧美一区二区三区不卡高清视频| 国产欧美伊人| 亚洲欧美色图小说| 性性欧美| 久久久精品国产亚洲AV无码| 天天欲望网| 五月丁香久久| 亚洲欧洲成人在线电影| 麻豆伊人网| 国产成人无码啪| 夜夜嗨绯色| 亚洲 自拍偷拍 欧美| 综合视频91| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 午夜啪啪片| 久久精9| 欧美一二三级精品在线| 吉田爱美AV在线| 国产一区二区三区白丝| 夜夜欧美| 久久久 国产精品| 嗯嗯啊啊视频在线看| 一本大道青青| 精品九九淫乱男| 亚洲日本男人天堂网 | 蜜乳成人AV| 亚洲青色欧美| 五月婷婷综合在线| 国产亚洲性生活视频播放| av亚洲天堂资源网站| www.久久制服糖| 青青草久久| 99这里只有精品| 青娱乐二区免费| 玖玖爱一区在线| 欧日韩在线观看| 99r九九| 中文字幕精品码亚洲| 好舒服视频| 狠狠爱夜夜| 在线 制服丝袜中出 人妻| 欧美加勒比| 国产天美传媒精品| 午夜激情床戏激情| 中文字幕中文字幕一区二区| 四虎av在线| 蜜桃传媒一区二区亚洲| 国产女人成人精品视频| 日韩操p| 国产午夜福利合集| 国产免费久久精品99re韩国| WWW4虎| 国产精品自产拍在线观看社区| 九月伊人中文字幕| 欧美在线|亚洲| 97色在线观看| 久久久久久久久久久久久久久性生活视频| 天天草天天干天天日| 人人性爱视频免费| 天天插网| 人妻久久一区二区三区| 九九热只有精品| 97视频在线观看高清资源| 亚洲黄色影视| 欧美色性爱| 欧洲射精91| 免费看欧美美女黄色大片| 欧美 精品国产制服第一页| 亚洲欧洲日韩中文字幕一区| 天天操美美| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 麻豆天美久久91| 国产精品久久久久久无码红治院| 岛国福利在线精品播放| w w w.久久精品| 欧美97| 家庭乱伦网站国产| 中国熟女91| 麻豆美女丝袜人妻中文| 天天视频网站黄| 亚洲色欧美| 99热这里都是精品| 高清无码人妻久久久一区二区三区aⅴ| 精品人妻一区二区三区视频| 成人精品视频一区二区| 中文字幕-区二区三区四区视频中国| 色欧美天天| 久热大香蕉| 极品极品色影院| 亚洲少妇中文字幕网址| www.色婷婷| 中文字幕 人妻不满 在线视频| 影音先锋国产精品| 再深点灬舒服灬太大了好硬好爽| 精品-91人妻子系列| 加勒比在线视频一区二区三区| 丁香九月 婷婷| 97无码视频在线播放| 91久久久亚洲| 一本一道波多野毛片中文在线| 1人人看人人摸人人操| 国产第12页| av一区二区三区四区| 亚洲制服aⅴ中文字幕| 岛国AB视频| 黄色片大香蕉| 熟妇在线视频一区二区| AV一二区| 粉嫩小泬久久久一区二区| 精品亚州18| 国产精品一区二区后入| 在线播放欧洲免费av| 亚洲九九九九| 白天啪啪晚上啪啪视频| 国内毛片无码一级毛片| 日本啊啊啊啊啊视频| 色娱乐色呦呦夜夜夜夜av| 国产天天噜一噜久久久| 视频不卡中文字幕| 久热伊人| 婷婷五月天无码 | 中文字幕一区二区免费在线| 午夜欧美女人操逼| 99啪啪视频| 亚av顶级裸体一区二区三区四区五区| 清纯唯美综合| 激情网色| 有码免费观看| 大香交| 日韩精品在线视频,日韩精品……| 人人摸.人人色| 久久美女福利是上海美女| 黄站在线免费观看| 麻豆福利视频导航| 99rre在线精品99re8| 黄色片A级一区二区三区| 日操粉逼逼| 久久偷拍人| 久久久精精精| 五月丁香激情综合| av 模特一区了| 夜夜躁狠狠躁日日躁av| av天堂手机版追回| 四虎免费看黄| 亚洲无线观看久久| 九九热AV| 青青草五月份天| 影音先锋日本乱伦| 岛国小电影| 78精品在线| 日va操| 成人色女网| 久久久久99精品成人片蜜臀| 色五月首页| 亚州高清av| 一本大道不卡一二三区| 美骚妇av高清在线| 色欲三区| 麻豆精品A片免费观看| 久久东京热久久| 亚洲欧美国产其他二区| 欧洲大香蕉| 日本操大逼| 性色国产东北露脸精品视频| 中文字幕在线免费观看2| 欧美视频在线视频免费va| h色99999| 岛国大片在线观看网站入口| 欧美最大综合网| 免费人成在线观看网站品爱网| 超碰久久性爱| 国产粉嫩蜜臀av一区二区三区| 人人操av| 97视频在线| 超碰人人乐97| 操国产高清| 韩国久久97| 亚州综合色| 一区二区你上我| 不卡日本一区二区| 日韩欧美丝袜诱惑| 久久亚洲欧美中文字幕国语| 欧美日动态视频| 久久精品日韩| 俺去啦自拍| 久9视频| 夜夜欢天天干| 无码最新| 亚洲色图亚洲无码强奸乱伦| 精品91日日夜夜超清资源| 天天干1区2区在线| 中日992视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 97碰久久| 97资源久久| 人人玩人人添人人澡免费| 日韩特一级久久| 中国女人内射6XXXXX| 男人把坤坤插入女人的下体| 超碰97导航| 国产精品色片一区二区| 精品人妻丰满熟妇一区二区三| 116美女午夜| 伊人操你| 国产9熟妇视频网站| 色性综合| 精品人妻一区二区三区在| 中欧人妻丝袜中文字幕| 日本在线播放不卡一区| 老司机福利青青草| 91色爽欧美| 男人久久精品| 国产免a费看黄片在线| 亚洲区限制级 99| 欧美色91| 综合操逼| 翔田千里AⅤHD无码| 超碰97久久国| 天美国产精品| 激情专区综合| 欧美极品性爱天天射| 久久久一区二区三区麻豆| 99re8超碰| 国产自偷自拍一区| 91人妻素女| 中文字幕精品探花视频| 超碰 国产熟女精品一区| 亚洲男人的天堂V| 日本三级日本三级99| 综合激情二| 丰满人妻一区二区三区四区| 国产精品久久久久久夜夜夜夜| oumeisetu综合| 你想操日本小逼吗| 伊人网在线观看| 色色五月天婷婷| 久久一区二区高清免费| 人人玩人人添人人澡免费| 粉嫩AV一区二区夜夜| 天天超级碰碰碰| 久久9久9久99久9久9| 丁香五月天堂网| 成人福利视频网| 久操com| 欧美日韩国产成人高清| 91精品人妻一区二区三区蜜桃| 91精品久久久久久77777| 97伊人超碰| 国产 亚洲 丝袜 制服| 3PAV乱伦视频| 狠狠久久手机视频精品| 7777奇米影视久久| 国产肏逼网站| 18禁在线视频| 精品美女久久久久| PMv在线观看| 亚洲人成在线放东京热| 操逼无码操逼| 大香蕉乱级| 超碰精品国产无码| 久久久久久久久久va| 男插女青青影院| 精品亚洲成人免费在线| av网页一区二区三区| 在线色导航| 一本一道波多野毛片中文在线| 亚洲成人一区二区精品| 自慰白浆在线观看| 超碰狠狠操| 校园春色制服丝袜中文字亚洲| 蜜臀久久久久久999| 天综合中文| 超碰97伊人| 亚洲天堂精品日韩电影| 家庭乱伦国产精品| 天天操天天射天天日| 一本大道不卡一二三区| 韩国一级做A片免费的| 开心五月深爱五月| 伊人大香蕉在线| 91嫩草欧美| 狠狠干妹子| 亚洲黄色电影| 色屁屁影院www国产| 久久91视频| 中文字幕黄色片| 老熟女91av| 久久日本熟女精品一区| 欧美在线电影| 亚洲另类欧美精品| 激情四射五月天| 天天操av懂色| 风骚少妇视频中文字幕| 精…码一二三区| 色综合久久av| 屌逼麻豆| 91精品久久久久久77777| 日韩欧美久久婷婷网站| 成人小说另类在线| 四虎午夜影院| 久久久久九九九九九| 99久在线精品99re8| 五月婷网站| www.av在线观看| 亚洲国产丝袜在线观看| 91xingse| 曰本特级特黄特色黄色A级网站高清在线免费看 | 亚州情色j区| 日本淫穴在线| 国产精品96久久久久久| 黑丝自慰喷水网站| AND人妻系列| 日韩欧美久久婷婷网站| 人人操人人摸人人看人人插| 欧美亚洲丝袜人妻制服99| 91美女在线视频| 欧美另类丝袜熟女| 欧美色视频在线| 精品久久視頻在线| 青青草在线视频播放器| 亚洲日韩美国人妻| 日韩av三四区| 欧美色欧美| 92午夜免费福利视频| 天天干天天日天天射黄色片| 乱伦强奸区日韩| 欧美一区二区亚洲天堂| 怡红院亚洲怡春院av| 久久久久久一日韩字幕无码| 欧美天堂日韩三级国产传媒| 国产久久久久久| 92午夜免费福利视频| 最新av中文字幕高清| 任你爽视频| 国产三级中文字幕粉嫩| 午夜爽爽爽在线观看永久入口姬片| 国精品一区二区三| 亚洲无 码A片在线观看麻豆| 久久这里只精品99re66图| 风骚少妇视频中文字幕| 中日韩久久久| 国产白领连续中出在线播放| 成人小说视频在线精品欧美| 精品乱子一区二区三区99| 97精品久久| 青青草操逼逼视频| 97视频在线免费观看| 99热免费| 精品午夜福利导航| 四虎AV无码| 亚洲精品久久久久久久蜜桃臀| 欧美男人一区| 粉嫩av在线| 肥臀熟女福利视频一区二区| 国产精品高潮呻吟av久久4虎| 18一区二区三区| 亚洲欧美日韩制服另类| 熟女一区二区三区| 中日韩熟女| 国产日韩美女小穴视频网站不卡| 亚洲欧洲另类| 麻豆天美91| 啊啊啊啊啊啊啊在线| 国产日韩久久| 東南亚性呦成人伦理资源在线视频| 秋霞蝌科网日本一区| 97超碰色中文字幕| 资源在线观一 二| 操国产逼| 久久97超碰香蕉| 日本在线激情一区二区三区| 久久69| 99xav| 99久久精品国产高潮| 天天92av| 试看福利| 95人妻爽爽人人做人人澡| 91精品无码久久久久久久 | 亚洲情欲| 久草精品视频| 极品五月天噜噜| 亚洲欧洲自拍图片专区满春格| 亚洲色丰满少妇高潮| 无码自拍SM| 神马久久久久久| 亚洲综合69| 超AV色女| 强奸乱伦麻豆| 中文一区二区三区影院| 人妻无码一区二区三区久久99| 日本高清电影欧美色图| 国产亚洲精品美女久久久m| 91成人无码| 日本一久是| 91精品电影18| 久久9视频| 熟妇的味道HD中文字幕| 丰满少妇一区二区三区免费看| 大香蕉宅男伊人| 久久超碰爱| 欧美丝袜制服久久| 天天插夜夜操| 久久天堂| 夜夜欢天天干| 天天日骚逼熟女| 国产日韩人人| 蜜奶av| 色五月婷婷五月天| 亚洲熟女中文字幕在线| 凹凸久久人人| wwwxxx日本爽| 操逼无码操逼| 精品九九九| 日韩欧美女求操每天更新| 中文字幕精品免费一区二区| 国产综合久久久麻桃个| 欧美精品激情| 96国产精品| 久久久9 9 9精品| 成熟熟女国产精品一区二区| 日日骚 av| 久久国产视频专区一二三| 五月花婷婷| 婷婷丁香在线| 精品少妇一区二区三区在线视频| 国产www色在线观看| 中文字幕精品一区欧美| 欧美日韩午夜精品一区二区三区| 尤物av网站免费在线播放| 欧美色乱| 欧美一区二区男人天堂| 91丨国产丨白浆秘 洗澡动漫| 无码78| 亚洲天堂男人天堂网| 亚州性色| 国产毛片毛片4p懂色| 日韩97| 黄色免费一级在线毛片| 波多野结衣AV无码一区| 日本一区二区三区午夜观看| 免费看黄片现成| 国产乱伦性爱区| 日本一区视频在线观看| 亚洲天堂7777| 狠狠操狠狠爱| 十八禁网站在线| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 一区二区首页| 91影视亚洲| 久久禁| 综合网91| 伊人丁香五月婷婷| 92午夜免费福利视频| 久久曰曰| 亚洲情色一区三区| 内射中国少妇高清视频免费视频| 亚洲有薄码区久久在线一区| 国产精品网址| 在线观看无码三级少妇| 精品国产一级久久| 插入综合网| 白丝少妇一区二区| 天天射天天色成人| 亚洲中字幕日本一区二区三区| 亚洲密乳AV| 一级啊性爱在线视频| 先锋精品av色鲁| 在线观看A啊啊啊| 后入福利| 日韩操逼性鲍| 国产成人+综合亚洲+天堂| 综精品久久久aaaa| 亚洲欧美综合网站| 一级性爱视频免费观看| 国产一区二区视频在线播放| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 毛片视频白嫩| 久欲AV| 亚洲爽图| 91精品丝袜久久久久久| 天天综合网1| 人人妻人人澡人人爽人人精品浪潮 | 91蜜臀熟女| 一本久久精品中文字| 国产精品一区二区密臀| 中文字幕乱在线伦视频中文字幕乱码在线 | 殴美大黄片| 人妻在线臀日韩| 99最新日韩偷拍视频| 亚洲一区中文精品| 95人妻爽爽人人做人人澡| 亚州色图片在线色| 啪啪啪精品| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 国产60区。| 国产视频第二页| 欧美,日韩,亚洲视频| 成人色女网| 99re这里只有精品9| 狠狠激情综合狠狠操中文字幕| 亚洲第一页欧美| 日本久久超碰| 91站街按摩店老熟女熟女| 亚洲色情在线影视| 日韩精品一区二区高清| 亚洲情色综合网| 一区 欧美 日韩 麻豆| 国产欧美日韩女同性恋ww喷水精品 | 四虎影视 亚洲无码| 午夜舔阴达高潮视频免费看| 婷婷亚洲综合| 精产品久久| 插欧洲美女欧美精品| 欧美色色人| ..日韩av毛片精品久久久| 蜜臀人妻少妇久久在线观看| 久96热在线观看视频| 超碰亚洲欧美日韩无| 免费视频一二三区| 日韩另类色图| 日日爱99| 9热9热综合网| 一二三四视频中文字幕在线看| 欧美性色综合网| A级国产欧美激情在线| 一牛影视久久久一区二区三区| 欧美AB在线| 国产女上位好爽在线| 国产精品96| 国产精品九9| 国产婷婷综合在线观看| 欧洲一区二区三区免费| 少妇啪啪自拍| 亚欧美天堂在线| 91碰超| 日韩精品在线视频在线观看| 91人妻视频| 精品国产乱码| 欧美Ⅴ性爱| 自拍偷拍2025在线观看| 亚洲限制级| 欧亚性爱啪啪| 96超碰网| 99精品丰满人妻无| 久久性生大片免费观看性| 60秒试看最爽10分钟网站| 婷婷av在线中文字幕| 亚洲美女 晚间男人天堂 | 免费人成?大片在线播放| 亚洲一区二区av| 大香蕉伊人亚洲| 欧美日产国产在线成人第一区| 亚洲综合骚逼| 五月天婷婷色| 免费少妇一区二区| 国产天天噜一噜久久久| 亚洲综合春色| 日韩无码黄色片| 亚洲精品国产拍免费91在线| 黑丝91视频| 手机在线观看不卡无码av| 亚洲天堂男人天堂网| 国产肏屁眼视频| 色色婷婷丁香| 欧美午夜视频免费观看| 国产午夜精品一区二区三区牛牛| 男人的天堂在线2| 亚洲精品亚洲人成在线麻豆| 亚洲丝袜诱惑| daxiangjiao你懂的| 9/A片| 欧美国产伊人久久久久| 日产操逼| 九九操久久国产免费视频| 国产青视频| 五月综合色| 人人妻人射| 中文字幕丰满子伦无码专区在线视频最新| 丝袜美女诱惑 91 视频| 国产日本熟女顶级一区二区三区视频 | 国产精品一区午夜福利| 综合色好色| 日本性一区| 精品久久久久黄少妇| 色99视频| 操比国产| 老熟妇一区二区三区…| 色哟哟 日韩精品| 久9爱精品| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 成片免费播放| 亚洲国产精品无码AV在线| 被窝影院午夜看片无码| 中文久久久| 久久久精品,3| 春色综合免费| 久久人妻少妇| 97在线观视频免费观看| 97久久久精品| 欧美五区| 爱欲AV| 亚洲国产一区二区三区在线| 九九综合| 色婷婷丁香五月| 激情五月丁香五月| 国产自偷自拍一区| 亚洲精品日韩国产欧美| 久久精品国产亚洲AV片多多| 精品久久久久av影院| 人妻少妇被猛烈进入中| 秋霞成人一级在线观看| 午夜操逼不卡| 大黄片做爱的大的| 人人看人人爰人人操| 日韩免费在线视频观看| 久久国产免费激情视频| 啪啪视频亚洲第一| 在线欧美69V免费观看视频| 天天操夜夜操狠很操| 熟妇的味道HD中文字幕| 亚洲精品人妻在线| 日韩乱中文| 青青三级视频| 欧洲大香蕉| 色天天野狼综合社区| 羞答答AV中文字| 五月天久久人妻| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 大香蕉视频一二三区| 国产精品网址| 爽 好舒服 无码刺激久久| 思思热在线视频精品| 热久久91婷婷| 歐美性天天| 情色五月天就去干| 日韩欧美传媒一区国产| 人人弄人人摸| a级成人毛片免费视频高清| 婷婷五月天影院| 久久99黄色卞西瓜| 东北老女人的激情视频| 国产AV线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 精品一区96| 精品人妻一区二区三区视频| www久久精品| 中文字幕在线免费观看 | 国产大片精久久久久久| 99精品人人爽| 亚洲少妇视频| WWW操逼| 黄aaaaaaaaaaaaaaaaaa色网站| 伊人色综合网| 四虎免费看黄| 99re视频在线播放青草| 老熟女乱伦一区| 亚洲第一成人影院色播| 综合久草| 亚洲人人夜夜澡人人爽| 十八禁啪啪视频| 精品一区二区人妖| 97人肏| 蜜臀av网址| 亚洲欧美国产中文视频| 亚洲天堂 视频你懂的| 欧美亚综合色图| 欧美色图小说综合| 超碰在线人妻中文字幕| 欧美精品1区2区3区| 亚洲国产成人精品999| 久久男女激情视频网站| 人人超碰在线观看黄| 中文字幕三四五区| 综合在线导航一区| 裸体女人草逼视频播放一区,二区,三区,四区,五区| 久久九精品| 视频二区美腿制服人妻欧美| 老女人爆菊| 人妻加勒比东京热| 天天综合网亚洲综合网| 人人做天天爱| 泰国AV在线观看| 99操逼| 青青伊人这里只有精品| 91女人的网站| 91色婷婷综合久久中文字幕二区| 欧美日韩在线国产在线| 97综合日韩| 91这里只有精品| 伊人久久艹| 2019亚洲男人天堂| 强奸乱伦亚洲第一页| 亚洲色图欧美色图制服丝袜| 91黑人狂躁丰满熟妇| 国内三级自拍小视频在线观看| 欧美亚洲高清不卡| 日韩在线地址一| 成 人 影视 一区 二区 三区 四区 | 五十路六十路素人熟女| 蜜臀亚洲中文| 欧美一级黄色免费专区| 日本曲间由美性生活片| 人人操人人摸超碰| 激情久久久| 久久大香蕉97| 久久久婷婷| 乱人乱色一区二区三区免费 | 97国产精品一区二区传媒公司| 欧洲熟妇xxXx欧美老妇裸体 | 亚洲综合五月天| 精品人妻一区二区三区四区| 久久久婷婷婷| www.男人的天堂| 四虎AV在线观看| 1240青青草一区二区三区视频天爱 | 色综合1991| 欧美很很操视频| 91美女片在线| 大稥蕉免费视频这里只有精品| 欧美不在线| 毛片视频白嫩| 日韩激情毛片一级久久久| 亚洲区限制级| AV免费在线播放一区| 日韩国产欧美伦理在线| 亚洲免费人妻在| 午夜福利 成人 91| 欧美色图天堂在线| 亚洲在线网站| 中文久久96| 女人爽到高潮潮喷18禁网站 | 91在线无码精品秘 软件| 高颜值美女口爆高潮浪叫| 婷婷五月天补不补| 亚洲黄片免费在线播放| 欧美在线 亚洲| 国产成人久久久精品免费AV| 蜜臀久久99精品久久久| 人人超碰在线观看黄| 五月天婷精品激情| 色综91| 色大香蕉97N| 国产精品熟女丝袜一区二区| 男人久久天堂| 极品后入免费视频| 色五月综合网| 成年人网站在线免费观看| 青青伊人加勒比海| 涩五月婷婷| 国产精品成人久久一区二区三区 | 无码国产精品午夜不卡( | 日韩av三四区| 色牛牛AV| 蜜乳视频网站| 久区视频| 欧日韩在线观看| 99色综合| 日本精品无码三级网站| 欧美性暴力| 国桃视频产巨乳精品一区二区在线| 婷婷五月天色| 日韩激情啪啪啪| 日本天天干天天操一区| 99视频这有这里有精品| 一区不卡在线观看av| 校园春色家庭伦理欧美激情| 久久综合18p| 久久美女福利是上海美女| 一区二区三区美女超清| 操久久久久| 日韩人妻丝袜美腿中文| 色好看av| 极品色社| 六月丁香久久| 日韩丰满熟妇| 国产亚洲精品A在线观看下载| 91观看 国产白丝| 综合一区二区影视| 久久只有精品一区二区三区| 欧美的精品的视频| 最新精品久久蜜桃| 厕所偷拍在线| 日日夜夜干| 亚洲无码一区二区三区三州| 中国一级特黄大片护士| 日韩啊V| 精品人妻一区二区三区四区不卡在| 啊啊啊啊啊舒服| 国产熟女| 二对二中文字幕。| 91暧暧| 炮色五月| 夜夜肏2021| 激情五月婷婷| 色情综合网| 免费看一级a性色生活片久久无| 国产精品久久久久亚洲av| 美国黄片aaa| 欧美精品精品一区二区| 91成人无码| 欧美性夜| 男人的天堂久久久| 美女啊啊啊啊啊啊| 精品传媒在线一区| 啪啪啪亚欧美视频| 东北熟女91| 天天亚洲| av影片在线观看不卡| 亚州综合网| 欧美999| 亚洲巨爆乳一区二区三区四季网| 大色综合| 成全动漫视频观看免费下载| 伊人一级免费黄片| 人人操人人操人人人操| 国产精品一区二区校花| 老熟女乱子伦中文字幕一区二区 | 亚洲黄a三级三级三级看三级| 色大香蕉97N| 夜色97| 限制级中的三级片中的黑粗大屌屌日人妻熟女 | 加勒比综合88| 三上悠亚在线毛片91| 午夜啪| 亚洲国产奇米影视久久| 粉嫩av在线一区二区| 亚洲中文字幕精品久久久久久直播| 国内毛片无码一级毛片| 日本精品一区三区| 欧美图片色综合| 亚洲熟女乱综合一区二区三区| 一区二区亚州激情久婷婷欧美| 九九这里只有精品| 69麻豆天美| 亚洲免费成人在线高清无码视频| 嫩草一区二区在线观看| www.狠狠| 91jk色拍| 色偷偷综合91久久噜噜| 好吊色综合| 国产人妖的免费的视频| 在线性黄高清免费视频| 日韩AV电影网站| 黄色不卡视频| 东北女人性交| 老熟女乱伦片| 国产午夜无码片在线观看影视| 久久丁香| 超碰98综合网| 久久久久久久9| 亚洲字幕一区二区| 国产精品色| 五十路熟女工口 | 国产熟妇 码视频户外直播 | 色偷偷综合91久久噜噜| 国产精品自拍视频| 操高情无码| 麻豆2区1区天美| 青草视频人妻在线观看| 久草免费在线视频| 欧美91视频| 26uuu欧美| 亚州色阁| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 男女激情黄色网址| 亚洲欧洲视频小说在线观看| 国产精品九九| 日本国产欧美一区三区二区| 日韩AV一起草| 久久男人网| 偷拍视频青青草在线视频| 色官网色综合| 精品人妻夜夜草| 熟妇人妻精品一区二区| av在线免费一区二区| 成 人 影视 一区 二区 三区 四区| 97欧美色综合| 91伊人久| 97久精品| 久久久性爱| 中日韩欧美精品无码AⅤ一区二区| 久久99国产综合精品女同| 中文字幕免费在线观看| 色网在线视频观看免费| 中文久久一区| 国产精品96| AV中文在线| 精品白丝一区| 欧美另类综合久久| 久久精品老司| 人妻精品免费一二三区| 欧美激情总合网| 色臀AV| 99热官网| 97人人夜| 午夜精品视频777| 大香蕉日亚洲日本亚大| 东京热男人的天堂精品| 亚洲色图欧美另类在线| 性videos欧美熟妇hdx| 啊好大好舒服| 97综合网| 蜜桃久久久久久| 2024黄色视频| 暖暖精品二区三区观看| 91精片| 偷拍网站久久男女男| 99re免费| 天天肏美女| 日韩在线观看三级电影| 按摩中文字幕| AV乱伦国产| 亚州再线| 人人操人人插人人摸人人干| 亚洲天堂人人妻| 久久av一级av少妇av高潮 | 国产精品成人无码av无码免费| 东北操逼| 激情五月天色色网| 久久伊人影院| 99这里有精品| 国产亚洲深夜激情| 成人久久精品| 五月天丁香婷婷综合网站| 热久久无毒不卡| 久久色情| 亚洲人妻在线精品| 97玖玖超碰| 色婷婷视频| av日韩中文字幕| 色婷婷基地| 久久久久久久久久9| 国产精品熟女AV中文字幕在线播放| 人人操人人爽人人操人人| 91在线丝袜视频| 26uuu国产免费观看| 99少妇| 亚州操操穴网| 人人操人人插人人摸人人干| 青青草影视蜜久久| 国产91美女高潮| 黄片qw| 成人日本片久久久蜜桃| 欧美熟妇视频| 欧美精品日韩久久久九 | 操狠狠| 波多野42部无码喷潮在线观看| 亚洲熟妇AV日韩熟妇在线| 99色色| 日韩无码操逼片| 亚洲丝袜二区在线| 精品.99999| 亚洲国产麻豆一区二区三区| 久久东京热久久| 粉嫩AV一区夜夜嗨| 大香蕉九九| 天天日天天搞天天干| 青青草色AV| 综合久欧洲| 激情五月丁香五月| 一级人妻性爱视频| 97se亚洲| 欧美猛交黑寡妇中文字幕| 丁香六月啪啪| 强奸乱伦亚洲第一页| 久久 精品| 青青操在线亚洲视频观看欧美在线| 97爱| 日韩97视频| 激情婷婷丁香| 成 人片 黄色大片| 美女性91| 欧美 亚洲 另类 综合| 午夜天堂精品久久久久91| 视频在线中文字幕| 欧美一二在线| 色色五月丁香| 精品人妻中文字幕4399| 欲综合网| 东京热不卡视频| 99中出在线| 亚洲熟女中文字幕在线| 日韩极品无码B| 97久久国产| 精品人妻一区二区蜜桃视频| 操逼精品视频| 区日韩亚洲乱码av电影| 免费看日本操逼视频| 操操操日本的逼| 久草精品国产99| 亚洲日韩美女丝袜美腿人妻视频| 操91| 欧美中文字幕一区| 蜜桃视频精品一区二区| 综合久久中文字幕综合日韩精品| 丁香六月激情| 92性色国产午夜福利在线661| 日本欧美不卡| 欧美色图99| 后入福利| 制服丝袜第二页| 亚洲老司机123专区| 欧美综合第一| 宅男91视频在线播放| 69精品少妇一区二区三区蜜桃| 性爱av在线免费观看| 国语av最新自产拍在线观看| 国产Aα| 亚洲制服aⅴ中文字幕| 91天堂| 色五月天AV| 欧美色交| 啊啊啊啊啊啊啊网址在线观看| 啊嗯好大视频在线观看| 伊人亚洲国产一成人久久精品,久久| 浪人综合网| 国产精品无码av在线| A级毛片在线看免费| 亚洲āv网址在线观看| 中文久久久| 91视频在线观看18| 91搡老女人老妇女老熟女歌词翻译| 九九九九精品视频| 欧美乱欲| 亚洲国产精品无码AV久久| 久久中出| 久久精品国产精品一区| 偷拍精品一区二区三区| 明星性猛交ⅹxxx乱大交| 人妻色偷色噜| 欧美大香蕉久| 一区二区三区视频国产免费| 欧亚成人| 色综合尤物| 五月综合色| 东京太热久久久| 黄色高清久久无码依人|