99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

從指針到寄存器:MCU地址映射與嵌入式寄存器操作實戰(zhàn)指南

從指針到寄存器:MCU地址映射與嵌入式寄存器操作實戰(zhàn)指南 2. 從指針到寄存器理解地址映射的本質(zhì)2.1 寄存器到底是什么很多剛?cè)胄械呐笥岩宦牭健凹拇嫫鳌本皖^大覺得這是個特別高深的概念。其實用大白話講寄存器就是MCU內(nèi)部的一塊特殊內(nèi)存每個寄存器控制著芯片某個具體功能的工作方式。你往這個地址寫數(shù)據(jù)外設(shè)就會按照你寫的值去工作你從這個地址讀數(shù)據(jù)就能知道外設(shè)當(dāng)前的狀態(tài)。拿UART來舉例往數(shù)據(jù)寄存器里寫一個字節(jié)這個字節(jié)就會通過TX引腳發(fā)出去讀狀態(tài)寄存器某個位就能知道數(shù)據(jù)有沒有收到。整個過程本質(zhì)上就是讀寫一塊有特定功能的內(nèi)存區(qū)域。寄存器與普通內(nèi)存最核心的區(qū)別在于普通內(nèi)存只是為了存數(shù)據(jù)而寄存器的值改變會直接影響硬件電路的行為。比如你把GPIO方向寄存器的某個位置1引腳立刻變成輸出模式你把定時器控制寄存器的啟動位置1計數(shù)器馬上開始跑。2.2 指針操作寄存器背后的原理C語言里操作寄存器最常用的方式就是指針。這一點很多教程一句話帶過但理解透了你的嵌入式水平能提升一個檔次。芯片設(shè)計廠商在硬件層面把寄存器和SRAM統(tǒng)一編址也就是說每個寄存器都有唯一的地址。比如STM32F103的GPIOC口數(shù)據(jù)寄存器地址是0x4001100C。在C語言里把某個整數(shù)地址強制轉(zhuǎn)換成指針再通過指針讀寫就能直接操作這個地址對應(yīng)的硬件。#define GPIOC_ODR (*(volatile unsigned int *)0x4001100C)這個宏展開后做的事情是把常數(shù)0x4001100C強制轉(zhuǎn)換成指向unsigned int的指針用*解引用操作訪問這個地址volatile告訴編譯器每次使用都要從內(nèi)存重新讀取不要優(yōu)化如果不懂volatile你大概率會遇到一個經(jīng)典坑開了編譯器優(yōu)化之后代碼行為變得完全不符合預(yù)期。背后的原因就是編譯器認為某塊內(nèi)存沒有被人修改把讀取操作優(yōu)化掉了但實際硬件可能隨時在改這個值。2.3 為什么寄存器的位寬通常是32位現(xiàn)在主流MCU比如Cortex-M系列的寄存器幾乎都是32位。這跟內(nèi)核的架構(gòu)直接相關(guān)Cortex-M是32位RISC內(nèi)核數(shù)據(jù)總線、寄存器堆、地址總線都是32位。寄存器設(shè)計成32位可以做到一條LOAD/STORE指令完成讀寫效率和硬件復(fù)雜度都最優(yōu)。但要注意不是所有寄存器都100%使用了32位。比如很多外設(shè)寄存器只用了低16位甚至是低8位其他位都保留。以STM32的RCC時鐘控制寄存器為例很多位標(biāo)記為Reserved寫0讀0不能修改。如果誤寫了保留位輕則功能異常重則觸發(fā)硬件錯誤。32位寄存器還有一個隱藏好處單個寄存器可以打包多個獨立控制字段。比如一個32位的控制寄存器bit0管使能bit1到bit3管分頻系數(shù)bit4管極性。這樣用一個地址就能控制多個關(guān)聯(lián)參數(shù)既節(jié)省地址空間又保證配置的原子性。3. 必知寄存器逐個拆解UART、I2C、SPI、定時器與中斷3.1 UART相關(guān)寄存器串口是嵌入式開發(fā)調(diào)試的命脈UART寄存器建議第一名掌握。每個UART外設(shè)的核心寄存器組通常包含數(shù)據(jù)寄存器、狀態(tài)寄存器、控制寄存器、波特率寄存器。STM32系列把數(shù)據(jù)收發(fā)放在同一個寄存器DR寫DR發(fā)數(shù)據(jù)讀DR收數(shù)據(jù)。波特率寄存器是第一個容易翻車的地方。它并不是直接寫一個波特率數(shù)字進去而是寫分頻系數(shù)。STM32F1的波特率計算公式是Tx/Rx Baud PCLKx / (16 × USARTDIV)USARTDIV是一個小數(shù)整數(shù)部分寫進BRR寄存器的高16位小數(shù)部分寫進低4位。我見過不少人拿標(biāo)準(zhǔn)庫配置沒問題直接操作寄存器時把USARTDIV算錯了導(dǎo)致串口出亂碼。算完之后可以逆推一遍算出來的波特率跟目標(biāo)值誤差超過2%就要警惕。狀態(tài)寄存器SR里最常用的兩個位是TXE發(fā)送數(shù)據(jù)寄存器空和RXNE接收數(shù)據(jù)寄存器非空。寫數(shù)據(jù)之前先等TXE為1讀數(shù)據(jù)之前先等RXNE為1。這個流程本質(zhì)上是查詢方式的握手協(xié)議理解了它你就理解了輪詢式串口收發(fā)的基本盤。3.2 I2C相關(guān)寄存器I2C的寄存器坑比UART多不少因為I2C協(xié)議本身有起始條件、停止條件、應(yīng)答位這些狀態(tài)機概念。以STM32的I2C外設(shè)為例核心寄存器包括控制寄存器CR1、CR2狀態(tài)寄存器SR1、SR2數(shù)據(jù)寄存器DR時鐘控制寄存器CCR。I2C時鐘配置是新手事故高發(fā)區(qū)。I2C時鐘由APB時鐘分頻得到CCR寄存器的值計算公式T_high CCR × T_PCLK (標(biāo)準(zhǔn)模式) T_high 2 × CCR × T_PCLK (快速模式)有個細節(jié)容易被忽略快速模式400kHz下CCR還得配合DUTY位設(shè)置占空比DUTY0時占空比是2:1DUTY1時是16:9。很多人配400kHz失敗就是因為DUTY位的處理不對。狀態(tài)寄存器SR1的位處理順序也有講究。比如檢測到應(yīng)答失敗AF位必須先讀SR1再寫CR1才能清除標(biāo)志。順序反了標(biāo)志清不掉整個I2C狀態(tài)機就卡住了。3.3 SPI相關(guān)寄存器SPI的結(jié)構(gòu)比I2C簡單寄存器也更直白控制寄存器CR1、CR2狀態(tài)寄存器SR數(shù)據(jù)寄存器DR。CR1里最關(guān)鍵的是波特率分頻位BR[2:0]、時鐘極性和相位位CPOL/CPHA、主從模式位MSTR。SPI通信模式4選1的配置依據(jù)是對端設(shè)備的時序要求。CPOL決定空閑時鐘電平CPHA決定數(shù)據(jù)采樣沿。匹配錯誤時通信數(shù)據(jù)會整體錯位表現(xiàn)是讀回來的數(shù)據(jù)像是“錯開一位”。排查方法是用邏輯分析儀抓CLK和MOSI的時序關(guān)系。SPI的發(fā)送和接收在邏輯上是同時進行的——發(fā)送一個字節(jié)的同時會收到一個字節(jié)。因此讀數(shù)據(jù)寄存器的動作會觸發(fā)下一字節(jié)的發(fā)送。這個機制在連續(xù)傳輸時特別重要很多人用SPI讀數(shù)據(jù)讀到0xFF或0x00其實就是只發(fā)了數(shù)據(jù)沒有管理接收或者只等接收沒管發(fā)送。3.4 定時器相關(guān)寄存器定時器是嵌入式開發(fā)里玩法最多、寄存器最豐富的模塊。我按重要程度把定時器寄存器分為三組第一組是時基單元預(yù)分頻寄存器PSC、自動重裝載寄存器ARR、計數(shù)器寄存器CNT、控制寄存器CR1。預(yù)分頻器的作用是把定時器時鐘分頻后再驅(qū)動計數(shù)器分頻值寫入PSC1。計數(shù)頻率的計算f_cnt f_timer / (PSC 1)溢出周期T_out (ARR 1) / f_cntPSC和ARR都要加1因為硬件是從0開始計數(shù)的。這個1的坑我在實際項目里見過不止兩次。有人算好周期后忘了減導(dǎo)致定時器溢出時間比預(yù)期多了一個時鐘周期PWM的頻率偏了電機控制就跟著出問題。第二組是捕獲/比較通道寄存器CCR1-CCR4。這個寄存器既能用來產(chǎn)生PWM決定占空比又能用來捕獲外部信號記錄事件發(fā)生時的計數(shù)器值。對電機控制和波形測量來說CCR的理解到位等于掌握了定時器一半的功夫。第三組是中斷和DMA相關(guān)寄存器DMA中斷使能寄存器DIER、狀態(tài)寄存器SR。定時器更新事件、捕獲事件、比較事件都能觸發(fā)中斷或DMA請求。合理配置DMA可以讓ADC采樣和PWM輸出完全不需要CPU干預(yù)這是高性能控制系統(tǒng)的關(guān)鍵。3.5 中斷控制器相關(guān)寄存器NVIC雖然不是外設(shè)而是內(nèi)核的一部分但它管轄著所有外設(shè)的中斷行為。NVIC的寄存器組包括中斷使能寄存器ISER、中斷掛起寄存器ISPR、中斷優(yōu)先級寄存器IPR。Cortex-M3/M4的優(yōu)先級分組是個高頻考點。優(yōu)先級寄存器每個8位但實際使用位數(shù)由PRIGROUP寄存器決定常見配置是4位搶占優(yōu)先級2位子優(yōu)先級。搶占優(yōu)先級高的事件可以打斷搶占優(yōu)先級低的處理子優(yōu)先級只在同搶占優(yōu)先級時有效。誤配優(yōu)先級會導(dǎo)致一個很隱蔽的問題兩個中斷互相嵌套死循環(huán)。比如兩個外設(shè)都配置成搶占優(yōu)先級0同時到來時系統(tǒng)會反復(fù)進中斷、互相等表現(xiàn)為程序卡死。排查方法是把所有中斷優(yōu)先級表格化逐個核對。3.6 復(fù)位和時鐘控制相關(guān)寄存器時鐘配置是嵌入式啟動的根基。RCC寄存器組控制著系統(tǒng)時鐘源選擇、各外設(shè)時鐘開關(guān)、總線分頻。典型流程是上電默認使用內(nèi)部HSI時鐘然后切換到外部晶振HSE配置PLL倍頻最后把各外設(shè)時鐘打開。PLL配置的流程在STM32F1上特別典型1. 把PLLON位清零等待PLLRDY為0 2. 設(shè)置PLLSRC選擇時鐘源 3. 設(shè)置PLLMUL倍頻系數(shù) 4. 把PLLON置1等待PLLRDY為1 5. 切換系統(tǒng)時鐘源為PLL這里每一步之間都要等待就緒標(biāo)志不能跳步驟。我見過直接把PLLON置1就開始切時鐘源的代碼結(jié)果系統(tǒng)時鐘根本沒切過去外設(shè)全部超時排查了半天才發(fā)現(xiàn)是啟動流程不對。GPIO的寄存器組也值得單獨提一下。每個GPIO口有一組配置寄存器CRL/CRH、數(shù)據(jù)寄存器IDR/ODR、置位復(fù)位寄存器BSRR。BSRR的設(shè)計非常巧妙寫高16位可以清零對應(yīng)引腳寫低16位可以置位對應(yīng)引腳而且原子操作不會被中斷打斷。這是實現(xiàn)無閃爍LED控制的關(guān)鍵。4. 手把手實戰(zhàn)用寄存器點亮一顆LED并打印調(diào)試信息4.1 需求拆解與整體流程設(shè)計實戰(zhàn)項目是這樣使用STM32F103最小系統(tǒng)板通過寄存器操作完成兩件事——點亮點燈、通過UART輸出一條調(diào)試信息。整個過程不用HAL庫、不用標(biāo)準(zhǔn)庫代碼量控制在百行以內(nèi)。先拆解需求要完成這個任務(wù)需要配置三塊東西GPIO時鐘和引腳模式PC13接了LED需要把PC13配成推挽輸出UART時鐘和引腳PA9是TX、PA10是RX需要復(fù)用功能推挽輸出波特率計算115200bps根據(jù)APB2時鐘算出BRR值把這三塊拆清楚再寫代碼就水到渠成了。這就是嵌入式開發(fā)里的一個基本功拿到需求先拆解到模塊級再拆解到寄存器級最后才是寫代碼。4.2 關(guān)鍵寄存器配置詳解第一步開啟GPIO和UART的時鐘。RCC-APB2ENR的bit4是IOPCEN置1后GPIOC時鐘開啟。這個寄存器的bit2是IOPAEN置1后GPIOA時鐘開啟bit14是USART1EN置1后USART1時鐘開啟。RCC-APB2ENR | (1 4) | (1 2) | (1 14);注意這里是“或等于”不是直接賦值。因為直接賦值會把其它外設(shè)的時鐘位清掉可能導(dǎo)致別的外設(shè)立刻失電停止工作。第二步配置PC13為推挽輸出。PC13屬于高端口所以用的是CRH寄存器不是CRL。CRH的16-19位對應(yīng)PC13需要把MODE位設(shè)置為輸出模式102MHzCNF位設(shè)置為通用推挽輸出00。GPIOC-CRH ~(0xF 16); GPIOC-CRH | (0x2 16);先清零再置位是GPIO配置的標(biāo)準(zhǔn)動作。如果不清零直接賦值舊配置會跟新配置混合產(chǎn)生不可預(yù)期的模式。這種錯誤非常隱蔽調(diào)試時很難一眼看出來。第三步配置UART1的TX引腳PA9為復(fù)用推挽輸出。PA9屬于低端口用CRL寄存器。PA9的MODE位和CNF位位置是第4-7位。復(fù)用推挽輸出要求CNF10MODE10或11。我習(xí)慣配成11即50MHz輸出。GPIOA-CRH ~(0xF 4); GPIOA-CRH | (0xB 4); // 1011 復(fù)用推挽50MHz注意0xB的二進制是1011對應(yīng)CNF10MODE11恰好匹配。第四步配置UART1的波特率寄存器。USART1掛在APB2總線上STM32F103默認系統(tǒng)時鐘72MHz時APB272MHz。BRR的值按公式計算USARTDIV 72000000 / (16 × 115200) 39.0625整數(shù)部分是390x27小數(shù)部分0.0625×161。所以BRR 0x271 625。這里有個歷史遺留細節(jié)STM32F1的BRR寄存器布局比較特殊你直接按公式算出USARTDIV的值然后換算成BRR。標(biāo)準(zhǔn)做法是USART1-BRR 0x271;驗證方式算完用邏輯分析儀看TX引腳的波形測量一位時間應(yīng)該是8.68us左右1/115200。這個方法比任何調(diào)試器都直觀。第五步配置UART1控制寄存器。USART1-CR1里需要配置UE1UART使能、TE1發(fā)送使能。設(shè)置為8位數(shù)據(jù)、無校驗、1位停止位。USART1-CR1 | (1 13) | (1 3);這種配置因為復(fù)位后CR1全0直接把需要的位置1就行。注意CR1的M位bit12復(fù)位后是0對應(yīng)8位數(shù)據(jù)模式不用額外配置。停止位由CR2控制復(fù)位后是00對應(yīng)1位停止位也剛好符合需求。4.3 發(fā)送一個字節(jié)的完整代碼有了上面所有配置寫發(fā)送函數(shù)就很簡單了。核心就是一個等待標(biāo)志位、寫寄存器、再等待標(biāo)志位的過程。void uart_send_byte(uint8_t ch) { while (!(USART1-SR (1 7))); // 等待TXE為1 USART1-DR ch; // 寫入數(shù)據(jù)寄存器 }重點在第一個while循環(huán)必須等待TXE為1才能寫DR。如果緩沖區(qū)沒空就寫數(shù)據(jù)數(shù)據(jù)會丟失。TXE是發(fā)送數(shù)據(jù)寄存器空的標(biāo)志表示DR里的數(shù)據(jù)已經(jīng)被移到了移位寄存器可以接收新數(shù)據(jù)了。發(fā)送字符串就是循環(huán)調(diào)用這個函數(shù)每個字符發(fā)送完畢后還需要等待TC標(biāo)志bit6為1確保最后一個字節(jié)真正從移位寄存器發(fā)出去了否則立刻進入低功耗模式會丟最后一個字符void uart_send_string(char *str) { while (*str) { uart_send_byte(*str); } while (!(USART1-SR (1 6))); // 等待TC為1 }4.4 主函數(shù)拼接與驗證流程主函數(shù)把三個流程串起來系統(tǒng)啟動初始化時鐘、配置GPIO、配置UART、然后主循環(huán)里閃燈加打印信息。int main(void) { SystemInit(); RCC-APB2ENR | (1 4) | (1 2) | (1 14); GPIOC-CRH ~(0xF 16); GPIOC-CRH | (0x2 16); GPIOA-CRH ~(0xF 4); GPIOA-CRH | (0xB 4); USART1-BRR 0x271; USART1-CR1 | (1 13) | (1 3); uart_send_string(Register Test OK\r\n); while (1) { GPIOC-ODR ^ (1 13); // 翻轉(zhuǎn)PC13 delay(); } }如果你的板子晶振不是8MHzSystemInit后系統(tǒng)時鐘就不是72MHz此時BRR算出的值就會不準(zhǔn)串口會出現(xiàn)亂碼。排查時優(yōu)先確認系統(tǒng)時鐘的實際頻率不要盲目去調(diào)波特率。驗證流程按以下順序用示波器或邏輯分析儀量PC13引腳正常應(yīng)該是周期性方波用USB轉(zhuǎn)TTL接PA9打開串口助手設(shè)置115200-8-N-1應(yīng)能收到字符串“Register Test OK”量一下PA9引腳的波形確認位寬是否正確5. 寄存器開發(fā)實戰(zhàn)中的經(jīng)典坑與排查方法論5.1 volatile關(guān)鍵字缺失導(dǎo)致優(yōu)化后行為異常我講過volatile的重要性這里用一個真實事故來說。之前給一個溫控項目寫驅(qū)動溫度采樣值存到一個全局變量主循環(huán)檢查這個變量決定是否開啟加熱。開-O2優(yōu)化后加熱動作完全失效。排查了半天最后發(fā)現(xiàn)是變量聲明沒加volatile——編譯器把主循環(huán)里的變量讀取提升到了循環(huán)外認為內(nèi)存里的值永遠不會變于是每次循環(huán)都用舊值判斷。MCU的ADC中斷確實更新了內(nèi)存里的值但編譯器根本不知道這件事。加上volatile后問題立刻消失。這個案例告訴我們只要變量可能被中斷、DMA或硬件外設(shè)修改必須加volatile這屬于嵌入式開發(fā)的一等規(guī)范不是可選項。5.2 寄存器位操作優(yōu)先級陷阱C語言里位操作符的優(yōu)先級低于比較運算符這個知識點小學(xué)級別但實踐中不斷有人踩坑。常見錯誤寫法if (USART1-SR (1 5) 0)這個表達式實際被解析為if (USART1-SR ((1 5) 0))由于(15)0恒等于0所以整個表達式恒等于0判斷永遠不成立。正確寫法是if ((USART1-SR (1 5)) 0)位操作判斷條件建議一律加括號。這個毛病即使多年經(jīng)驗的工程師也偶爾會犯關(guān)鍵是要自己形成條件反射涉及位運算的判斷先加括號再寫比較符。5.3 復(fù)位值不等于默認值寄存器復(fù)位值是個容易忽略的坑。很多人以為復(fù)位后寄存器全0其實不是。比如STM32的RCC_CR寄存器復(fù)位值是0x00000083HSI時鐘已經(jīng)使能GPIO的CRL/CRH復(fù)位值全是0代表浮空輸入模式。如果不讀數(shù)據(jù)手冊直接寫代碼很容易做出“沒配置時鐘就當(dāng)輸出用”的錯誤。低功耗項目的喚醒時間異常檢查了一圈最后發(fā)現(xiàn)問題出在某個外設(shè)保持默認時鐘開著功耗始終壓不下去。這個教訓(xùn)的通用結(jié)論是每操作一個新外設(shè)前先把復(fù)位值查一下在腦子里面形成“復(fù)位值對照表”。5.4 外設(shè)復(fù)用功能的沖突排查不同外設(shè)可能映射到同一個引腳。典型是PA9和PA10既能復(fù)用成USART1也能復(fù)用成定時器1的通道。配置成串口功能時如果CRH里寫錯成GPIO輸出數(shù)據(jù)肯定發(fā)不出去但代碼本身不報錯。排查這類問題的方法讀回GPIO配置寄存器對比數(shù)據(jù)手冊上的復(fù)用功能表確認引腳配置種類是否正確。也可以用復(fù)用功能重映射寄存器AFIO來切換功能映射這個寄存器的操作在引腳沖突時非常關(guān)鍵。5.5 調(diào)試寄存器代碼的三大手段純寄存器開發(fā)意味著沒有庫函數(shù)告訴你“哪里錯了”調(diào)試手段決定了你的開發(fā)效率。我常用的手段按優(yōu)先級排序第一是用調(diào)試器的寄存器窗口。Keil或IAR的Peripherals菜單可以直接查看所有外設(shè)寄存器的實時值比看代碼更直觀。比如串口沒輸出先看USART1的CR1是否存在UE有沒有配好——一眼就查到問題。第二是邏輯分析儀。專門抓引腳的時序關(guān)系尤其適合排查I2C、SPI、UART這類協(xié)議問題。把CLK和MOSI兩根線掛上去就能看出時鐘極性相位是否匹配數(shù)據(jù)位的順序是否正常。第三是打點法。在關(guān)鍵位置翻轉(zhuǎn)一個調(diào)試用的GPIO用示波器量脈沖寬度推算出代碼執(zhí)行路徑和時間消耗。這個手段在實時性排查里特別好用比如判斷中斷響應(yīng)有沒有超時、某段程序是不是卡死了。6. 從寄存器到庫開發(fā)方式的演進邏輯6.1 寄存器與庫函數(shù)的對應(yīng)關(guān)系很多人用著HAL庫卻被底層實現(xiàn)搞得云里霧里。我建議你先從寄存器層面理解一次再回到庫函數(shù)你會發(fā)現(xiàn)一切豁然開朗。以HAL庫的GPIO_Init為例它內(nèi)部本質(zhì)就是對你傳入的GPIO_InitStruct做校驗然后改寫GPIOx的CRL或CRH等寄存器。庫函數(shù)只是對你寫好的配置值做封裝和驗證。理解了寄存器你就知道HAL庫背后大概做了哪些操作出了問題也大致知道在哪一段。6.2 什么時候必須用寄存器庫函數(shù)雖然方便但在三個場景下無法替代寄存器操作第一是啟動代碼。芯片上電后第一條指令執(zhí)行時C運行環(huán)境還沒建立庫函數(shù)根本沒法跑只能靠匯編或寄存器操作初始化棧指針、時鐘和關(guān)鍵外設(shè)。第二是性能敏感的中斷服務(wù)函數(shù)。HAL庫的冗余校驗會多花幾十個周期在高速控制場景比如電機FOC 20kHz中斷里不能接受。直接寄存器操作可以把中斷處理時間砍到最短。第三是調(diào)試底層硬件問題。當(dāng)懷疑某個外設(shè)行為異常時直接讀寄存器值比翻一萬行庫代碼更高效。寄存器窗口看到的值就是硬件的真實狀態(tài)這個信息是庫函數(shù)給不了你的。6.3 寄存器文檔閱讀的核心方法讀芯片參考手冊是嵌入式開發(fā)的基本功。對于初學(xué)者我建議按這個步驟讀寄存器第一步看圖。每個外設(shè)章節(jié)開頭都有一張模塊框圖把外設(shè)的時鐘源、數(shù)據(jù)通路、中斷線、DMA請求線標(biāo)注得很清楚。先看圖理解這個外設(shè)的數(shù)據(jù)流再看寄存器就有語境了。第二步看寄存器總表。參考手冊每個外設(shè)章節(jié)末尾都有寄存器地址映射總表掃一遍就能知道這個外設(shè)有多少個寄存器、各自負責(zé)什么。不要從頭到尾讀一遍寄存器詳表那是字典用法不是學(xué)習(xí)用法。第三步按功能模塊讀。比如你要配UART的波特率直接翻到BRR寄存器的詳細說明要配中斷直接翻到CR1的對應(yīng)位。帶著目的讀效率比全書閱讀高很多。7. 實操建議與個人心得最后分享幾個我在寄存器開發(fā)實踐中沉淀下來的小習(xí)慣。第一個習(xí)慣是每次寫完一段寄存器配置立刻用調(diào)試器把寄存器值讀出來對比數(shù)據(jù)手冊。比如配置完GPIO就讀回CRH確認每一位都符合預(yù)期。這個小習(xí)慣能幫你在錯誤發(fā)生的源頭就發(fā)現(xiàn)問題而不是等系統(tǒng)整體運行異常后翻半天代碼。第二個習(xí)慣是預(yù)留一個調(diào)試用的GPIO。我在每個項目的板子上都會留出一個測試點連到一個沒有實際功能的引腳上調(diào)試時用來打點。打斷點調(diào)試在中斷服務(wù)函數(shù)里不太好使但打點法在實時性要求高的場景里完全不侵入。代碼量多起來之后這個習(xí)慣幫我節(jié)約了大量排查時間。第三個習(xí)慣是每個外設(shè)初始化代碼里都加一段自檢邏輯。比如UART初始化之后給自己發(fā)一個字節(jié)然后立刻讀接收寄存器如果收到了說明回環(huán)正常否則說明電路或者配置有問題。這個習(xí)慣能把硬件問題和軟件問題盡早分離開避免上游排查浪費大量時間。第四個建議是針對波特率和時鐘配置的。任何涉及時鐘分頻、倍頻的計算我都堅持在源碼注釋里寫清計算過程而不是只寫最終值。三個月后回來看代碼如果沒有計算過程你很難確認某個魔法數(shù)字是怎么來的。這些注釋平時看不出價值遇到問題翻代碼時你就知道有多救命了。寄存器開發(fā)的學(xué)習(xí)曲線確實陡峭尤其是第一次面對幾十個寄存器時確實會讓人頭皮發(fā)麻。但一旦跨過這個階段你對MCU的理解會上升一個層級——看庫函數(shù)不會再有“黑盒”感遇到詭異問題也有了更清晰的排查方向。從寄存器出發(fā)再回到應(yīng)用這條路是我?guī)н^的新人里成長最快的一條路徑。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香五月天信号| 五月天激情网图片| 99re免费精品视频| 欧美日本国产| 这里只有精品,日韩视频| 99re热视频这里只精品5| 成人在线综合| 五月婷婷丁香啪啪| 久久激情五月| 色婷婷中文字母五月丁香| 久热91精品| 日日夜夜亚洲一区| 五月丁香六月激情啪| 欧美综合激情| www.五月天。com| 六月婷婷久久大全| 久久久久人妻| 久久激情五月天| 色婷婷91| 99九九精品视频| 另类亚洲电影| 五月天网站亭亭| www.久久9| 夜夜操夜夜操| 婷婷舔| 丁香五月激情综合| 天天日,夜夜爽| 天天天天干| 婷婷丁香五月久久| 色婷婷情片| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | xxxx久| 91人人看| 婷婷丁香五月在线播放| 91狠狠色色丁香婷婷综合久久| 色拍九九九| 色五月av伊人| 六月综合婷婷开心伊人| 激情五月天小说网| 久久综合丁香| 激情开心五月天| 操一区| 少妇做爰免费视看片| 亚洲在线成人| 亚洲激情另类| 日日爱激情| 色综合网页| www.五月天| 五月天婷a在线| 青青日韩| 亚洲第一综合| www.婷婷五月天| 日日天天天| 国产视频色色色色色色色| 婷香五月激情视频| 丁香五月综合高清在线| 久久大香蕉同僚| 国产精品涩涩涩视频网站| 五月婷婷六月激情| 深爱婷婷网| 色婷婷欧美在线| 91尤物九色在线| AV成人在线网站| 操人91| 婷婷色色丁香五月天| 婷婷永久在线| 色五月激情综合| 玖月婷婷爱丁香| 青青草原亚洲天堂| 色射影院| 狠狠色色| 婷婷久草| 五月丁香六月激情| 色五月婷婷一二| YJLZZJLZZ亚洲乱熟无码| 国产成人av在线播放| 色九九七七| 久久性刺激| 婷婷色五月激情强奸四射| 99色综合| 天堂草在线看www| 天天插天天草人人玩| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 欧美性色A片免费免费观看的| 五月天成人伊人| 婷婷激情社区| 五月开心激情| 日韩精品无码AV| 五月色婷婷综合色| 日韩精品一品二区三区的使用体验| 六月丁香婷婷六月激情综合| 第五婷婷伊人丁香| 九月婷婷综合| 天天色综网| 欧美久久久久久久久中文字幕| 久久婷婷电影| 亚洲成人五月天| 99在线精品观看99| 婷婷久久天堂网| 色婷婷综合久久久久| 五月丁香狠狠爱| 色五月在线观看| 激情五月六月婷婷综合啪啪| 国产精品电影| 噜噜综合网| 六月丁香基地| 色色色色色日韩午夜激情| 教师性爱毛片| 日韩色色视频www| 婷婷综合伊人| 射久久丁香五月| 婷婷99中文字幕| 97日日碰碰| 天天爽夜夜爽夜夜爽精品视频| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 中文字幕欧美久久| 亚洲色五月| 婷婷放心五日爱| 激情五月天色播| 婷婷六月激情丁香| 狠狠精品干练久久久无码中文字幕| 国产性爱亚洲是图| 国产六月婷婷| 色五月,婷婷大香蕉| 五月丁香成人| 99色免费观看全部| 99人妻碰碰碰久久久久视| 看片视频在线免费日产在线看| 欧美大肥婆大肥BBBBB| 国产67194| 亚洲射激情| 九九热精品| 丁香五月婷婷少妇| 欧美丁香五月| 成人综合网站| 色五月综合激情| www.97干视频| 五月婷婷色丁香| 亚洲另类AV| 久久国产色| 五月天婷亚洲综合在线嫩草网| 色色色999| 久久婷婷六月综合| 99色色视频| www99在线观看视频| 日日爱激情| 中文字幕在线免费观看视频| 五月丁香六月婷婷在线| oumeisesewang| 超碰国产av| 婷婷色色欧美综合网| 亚洲AAAA网| 丝袜大香蕉| 草AV9999| 97热久久五月婷婷| 婷婷丁香五月天在线| 丁香五月香蕉| 免费97碰碰| 色婷婷狠狠久久YY| 五月天激情无码专区| 综合婷婷五月天| 精品香蕉99久久久久网站| 国产精品一区在线观看你懂的| 伊人91| 91久久久久久| 99热这里只有精品最新地址获取| 日本99视频| 五月丁香六月激情在线| 色香久久| 久久综合激情| 九热视频| 激情五月丁香六月综合AVXXXX| 久久婷五月| 国产黄色大片| 99热九九在线| 野战J办公桌椅H| 婷婷六月丁香欧美视频在线| 思思热在线| 欧美性久| 国产午夜精品一区二区| 色婷婷丁香AV综合| 日韩无码系列| 欧美色五月| www.婷婷五月天.com| 在线观看国产高清视频免费网站 | 激情五月天小说网| 91丨九色丨国产打屁股| 五月天综合在线观看| 五月丁香久久网| 人人叉久| A久久| 色综合久久8| 久8色色| 日韩欧美不卡| 婷婷五月天久久| 毛片新网地| 五月丁香激情六月| 五月婷婷av| 五月天综合在线| 五月成人丁香av91| 五月天婷婷社区久久综合| 婷婷五月天成人网| 99爱免费视频| 国产成人精品一区二三区熟女在线| 丁香蜜臀黄色婷婷五月天| 男人天堂99| AV五月丁香| 噢美99| 五月丁香免费视频| 五月婷婷内射网| 内射综合网| 天天操天天操天天操| 婷色影院| 丁香婷婷啪啪| 极品少妇XXXX精品少妇偷拍| 大香蕉婷婷丁香| 亚洲午夜视频| 这里只有精品热| 五月婷婷丁香五月婷婷丁香| 色吊丝永久访问网址| 99在线资源| 精品草原久久视频| 超碰人人操人人干| 五月天狠狠网站| 99久久久久久| 激情五月婷婷老师| 五月丁香婷婷综合| jizzdr| 大伊久久| 99免费视频在线观看爱| 日本五月婷婷久久久六月丁香| 免费超碰在线| ..真实国产乱子伦毛片| 国产99久久久| 天天爽免费视频| 六月综合婷婷开心伊人| 亚洲综合五月| 亚洲欧美婷婷五月色综合| 人妻久热| 色五月丁香总合网| 99热这里都是精品| 熟女五月天久久综合| 久久五月天婷婷视频| 丁香五月激情婷婷| 五月丁香色情| 再綫Av免费視品| 黄页免费一级视频懂色| aaa久久| 极品人妻VIDEOSSS人妻| 综合色图区| 丁香5月激情网| 人人操91| 97热久久| 日韩美女羞羞网站在线观看| 夜夜操狠狠操| 欧美日韩成人h| 丁香六月av| 亚洲人妻Av| 九九综合色| 国产成人AV在线播放| 在线伦子99热| 久久综合热17c| 久久这里只精品| 五月天狠狠色| 99亚洲天堂| 婷婷激情蜜桃玖玖丁香| 天天拍夜夜爽日日| 五月丁香六月激情| 国产无套精品一区二区| 色色色丁香| 六月丁香五月激情亚洲AV| 五月丁香欧美综合| 99在线视频免费| 中海油常州环保涂料有限公司| 天天干天天日蜜臀av| 五月天激情婷婷丁香| 另类激情网| 亚洲爱爱无码婷婷色五月| 激情婷婷久久| 99精品这里只有免费视频| 激情综合亚洲| 99久久玖玖| 亚洲激情综合网| 人人草人人视| 精品一二三区久久AAA片| 丁香六月婷婷开心婷婷网| 欧美色宗和激情| 伊人色综在线| 欧美va欧美va差| 99热这里只有精品9| 色99在线视频| 大伊香蕉精品视频在线| 国产va视频| 八戒青柠影视剧在线观看| 97碰碰草| 亚洲综合色成丁香五月色| 亚洲综合999| 五月婷久久| 无码人妻AV久久久一区二区三区| 日本99视频| 六月婷婷中文字幕| www夜夜操wwwcon| wWW九九在线播放| 五月婷婷日| 九九Av| 六月婷婷最新网址| 五月婷婷色啪| αV电影| 秋霞AV美国| 天天色丁香| 色婷婷综合影院| 亚洲AV永久无码影院黑人| 99情色五月天| 成人免费视频一区| 99干日本| 97人人射| 久久婷五月综合| 天久综合91综合首页| 色婷婷综合视频| 婷婷人人操| 精品久久99| 久久99精品久久久久久三级| 97在线综合| 婷婷激情六月视频| 国产精品成人AV在线| 婷婷五月天色色| 综合九色| 日本97久久久精品| 久久久久久xxxxx| 视频这里只有精品16| 日韩一区二区在线播放| 日本啪啪网| 日本色色视频| 八戒青柠影视剧在线观看| 精品久9| 888精品福利地址| 五月婷久久在线| 五月婷婷六月丁香| 久久AAAA片一区二区| 日本色婷婷| 操逼国产91| 亚洲永久免费| 婷婷亚洲色| 亚洲性视频| 國語久久婷| 成人网在线观看视频| 亚洲综合新99视频| AV九九| 丁香婷婷欧美综合| 色婷婷成人丁香| 精品五月天| 五月丁香啪综合| 成人国产欧美大片一区| www.综合久久.com| 婷婷六月激情啪啪| 激情小说色五月| 亚洲中文AV网站| 天天操天天日天天操| 激情99| 五月丁六月香| 激情六月天| 开心五月激情网| 亚洲V国产V欧美V久久久久久| 久思思久视频| 国产真实乱了老女人视频| www.金莲av| 激情小说视频图片| 亚洲AV影片在线观看| 日本色色网站| 日本123区日韩欧美不卡在线看| 久久综合无| 五月婷婷人妻| 婷婷久久五月| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 偷偷操九九| 大香蕉娱乐| 伊人五月天日日夜夜久久久天天| 欧美婷婷成人| 婷婷色在线观看| 天堂成人A片永久免费网站| 99热最新国内| 伊人碰碰婷婷| 久热最新视频| 色综合天天| 九九爱精品网站| 99这里只有| 热99色| 99热久久这里只有精品| 人与禽A片啪啪| 骚货艹网站视频| 中文字幕乱码亚洲精品一区| 婷婷久久国产视频| 极品人妻VIDEOSSS人妻| 九九视频精品这里只有| 1234操逼网| 五月丁香777| 99久久久久久| 久久久人妻| 婷婷天天综合| 九九这里只有精品在线视频| 色色色9 9 9| 五月天激情小说网| 国产五月婷| 六月丁香综合999| ady狠狠入| 黄网在线免费观看| 天天综合图片| jiZZdr| 日韩成人中文字幕| 激情综合色婷婷啪啪六月天| 免费看欧美成人A片无码 | 丁香五月综合激情久久潮喷| 色色丁香婷婷综合| 婷婷丁香五月,狠狠综合| 在线中文AV| 婷婷婷婷婷婷婷五月丁香| 久久色五月天综合网| 九九热在线观看6| 亚洲色频| 精品久久99| 五月丁香 啪啪啪| 日本九九网| 亚州色综合| 五月深情久久| 五月天激情图片| 色噜噜狠狠插综合| 久久这里只有欧美| 深夜A片| 色播丁香婷婷五月激情| 久久婷婷丁香五月一二三| 色播婷婷大香蕉| 久久综合丁香激情五月| 色99色| 日日做A爰片久久毛片A片英语 | 亚洲欧洲小视频9| 五月婷在线视频免费看| 夜夜骑日日操| 五月色婷婷影视在线电影| 九九综合五月欧美| 五月婷婷激情| 婷婷另类小说| 97人人射| 激情五月天婷婷五月天| 五月亭亭直播| 99综合自拍| 五月丁香激情五月天| 色9999日韩国产| 狠狠爱综合| 亚洲色9| 欧美色久| 亚洲sesesese| 第四色五月天| 九热在线这里有精品6| 日本三级大片| 国产女18毛片多18精品| 欧美日韩99| 五月婷婷六月爱| 91chinese在线| 丁香五月天社区婷婷| 精品久久99| 开心婷婷五月激情网小说| 精品网站99| 色综合中文| 欧美丁香婷婷五月天| 日韩99无码| www.色婷婷| 亚洲久久日| 91操操| 五月天伊人综合| 五月综合视频| 九九热内射| 爆乳熟妇一区二区三区爆乳照片| 伊人在线婷婷草| 丁香五月色色色色| 色婷婷9| 五月天婷五月天综合网在线观| 五月天婷a在线| 玖玖综合玖玖| 甈吧vv| 五月婷免费视频久久久| 色婷婷操逼| 色五月婷婷丁香凹凸| 韩日AV片| 婷婷丁香基地在线| 五月婷婷黄色视频| 狠狠久久婷五月| www,久久久| 久久人妻情侣| 天天日天天色| 色婷婷香蕉在线| 色99视| 天天综合久久| 嫩草AV久久伊人妇女超级A| 日韩精品一品二区三区的使用体验 | www.色婷婷| 色婷成人狠干| 丁香五月天堂| 色停停五月,在线观看| 啪啪综合网| 六月丁香成人| 亚洲欧洲一二| 野战J办公桌椅H| 99热天堂| 狠狠五月激情丁香六月| 九九在线91| 九九五月天| 欧美丰满熟妇BBB久久久| 激情综合无码| 婷婷综合| 婷婷五月欧美综合| 天天爽天天爽| 91综合视频在线| yazhoujiqingav| 亚洲欧美999| 91se视频| 99激情在线| 国产VA播放| 五月天婷婷色| 丁香五月在线视频黑人| 亚洲综合另类| 久草狼人| 色婷婷五月天天天天天| 国产探花一片区| 在线可以看的av网址| 五月天婷婷AV| 色爱综合五月| 色色操| 丁香婷婷久久激情| 色综合99| 亚洲亚洲人成综合网络| 99在线免费视频| 中文字幕在线免费观看视频| 五月天婷婷综合网| 久久99成人性爱高清视频| 婷婷的激情五月| 婷婷精品在线| 久久久精品人妻录| 五月婷婷99热| 国产探花一片区| 第四色婷婷色五月| 欧洲激情五月天婷婷| 色五月婷婷网| renrencaoni| 久久曰9| 色婷婷777狠狠| 性日本精品| 丰滿爆乳一区二区三区| 六月丁香六月婷婷欧美| 丁香五月狠狠在线观看| 97碰碰在线看视频免费| 九九家庭影院| 婷婷影院A成人| 色综合久久99色| 97超级碰人人| 婷婷视频在线| 色综合久久888| www.刺激色网站www.| 婷婷四色五月| 亚洲AV免费在线| 日日操日日撸| 亚洲狠狠色丁香婷婷综合久久| 欧美色碰| 午夜69成人做爰视频| 久久色五月天| 色狠狠综合入口| 99色综合| 婷婷色色欧美| 51成人| 99小视频在线观看| 97成人超碰免| 大鸡巴伊人网| 国产AV成人精品| 风流少妇A片一区二区蜜桃| 精品久久这里热66| 91超级碰| 无码AV免费精品一区二区三区| 亚洲午夜av| 91精品久久久久久77777| 狠狠色噜噜色狠狠狠综合色 | 99色日本| 超碰在线观看三级片| 欧洲色| 丁香88AV五月婷婷| 久久与婷婷| 丁香五月激情网| 伊人激情影院| 欧美综合激情丁香五月六月婷| 操一操插一插| 深爱激情丁香| 91精品丝袜久久久久久久久粉嫩| 人人爽天天爽| 婷婷色五月激情| www婷婷| 成人色色视频| 婷婷久久五月丁香| 六月色色| 婷婷五月综合在线| 五月丁香啪啪啪| 午夜丁香婷婷| 天天色综合图片| 久久久久久久91| 天天色综合天天| 99热 免费| 激情九月婷婷| 大香蕉视频婷| 色五月天影视| 欧美色婷婷| 99激情视频| 成年人丁香五月| 最新va在线播放| 五月天激情小说网| 狼人伊人干| 色婷婷AV五月天| 色婷婷国产精品综合在线观看| 99自拍视频在线| 精品99爱免费视频在线观看| 无人精品在线视频| 精品9197碰| 九九热婷婷| 久久国产高潮白浆免费观看99| 精品成人在线| 亚韩在线视频| 日本噜噜色网| 91精品久久久久久| 色97综合婷婷天天色| 五月天婷婷基地丁香| 欧美大肥婆大肥BBBBB| 九九精品免费视频99| 色狠狠综合| 亚洲激情五月| 亚洲99在线视频| 夜夜久久综合网| 99在线精品观看99| 久久丁香五月天| 97色婷婷| 五月婷婷久久大香蕉| 97色色色| 欧美日韩AAAAA| 久色资源网| 蜜臀av粉嫩av懂色av| 逼逼AV| 色婷婷六月| 亚洲综合激情五月久久| 色综合色综合色综合高潮| 五月久久婷婷| www.深爱激情| 97操女视频| 91色色五月天| 日夜操B| 91九色大屁股| 新激情五月天色播| 97精品在线| 五月花激情网| 99这里只有精品视频在线| 亚洲色无码A片一区二区麻豆| 亚洲六月色| 国产精品人妻在线网址| www,超碰| 日日日影院| 亚洲mm免费| 成人Av在线大片| 1024AV视频| 五月丁香久久网| 婷婷视频在线| 操一操| 久久婷婷五月综合色和| 色婷婷在线影院| 国产亚洲AV人片在线| 五月天中文字幕在线婷婷| 婷婷五月六月| 五月天婷婷伊人| 97久久精品| 日本黄色一级| 五月丁香色婷婷基地| 99re热在线视频| 五月婷婷丁香五月| 天天搡日日搡aaaaⅩ| 极品人妻VIDEOSSS人妻| 亚洲欧洲中文日韩久久AV乱码| 天天在线XXX| 99精品久久| 久久精品一区二区三区四区| av九九| 色情久久久| 天天插天天插天天插天天插 | 爱iii做iiii日| 国产偷人爽久久久久久老妇APP| 婷婷基地爱| 国产片色| 久激情网| www.com久久久久久久久久久久久久久久久| 九九热在线视频观看免费10| 天天狠天天狠| 天天干天天干天天干天天干天天干天天 | 九九无码视屏| 99热这里只有精品免费| 深爱激情av| \\五月天婷婷激情| 五月丁香在线| 欧类av怡春院| 色色色地址| 五月天伊人手机在线播放AV| 99热成人| 色99在线视频| 色婷婷免费观看| 99在线免费视频| 色色啊| 色色色成人网| 色色五月天网站| 丁香五月伊人| 91视频一起草| 五月天伊人久久| 开心深爱五月天| 三十路磁力链接| 中文在线成人| 色噜噜狠狠色综合无码久久欧美| 丁香花大香蕉婷婷综合| 熟女人妻一区二区三区免费看| 91久久综合| 免费视频在线观看的网站| 色五月情| 91久久久久久| 日韩黄色电影| 婷婷五月激情在线视频| wwW天天干| 五月久久五月激情| 日本eVa一区=区视频| 91黄址| 91oumei| 清纯唯美 激情四射| 色偷偷五月天| 狠狠CAO日日穞夜夜穞AV| 色域五月婷婷丁香| 国产67194| 99在线免费观看| 丁香操逼| 99碰超| 一级内射毛片| 婷婷激情综合色五月久久91| 六月丁香激情综合| 五月婷婷伊人久久| 丁香五月色五月| 成人综合视频在线| 天天干天天干天天干天天干天天干天天干天天 | 超碰人人超碰| 国产成人+综合亚洲+天堂| 色~性~乱~伦~噜| 亚洲激情视频网| 五月婷婷激情网| 啪啪色区| 久久久久视剧HD| 99在线精品免费视频| www.婷婷.com| 欧美丰满熟妇BBB久久久| 日韩成人中文| 99热久| 亚洲成人电影aaaa| 亚洲婷婷丁香五月天激情小说| www开心激情网| 五月天婷婷激情四射综合| 五月婷婷|欧美| 久久久久久久8| 79色色免费| 九九热这里只有精品6| 免费精品99| 九九黄色网| 久久综合播放| 99re在线观看视频| www.minyis.com【JT】实力收量可预付QQ2101460746 | 热99在线精品| 在线观看视频1区| 色婷婷XXXXX| 婷婷五月深深爱| 激情涩涩网| z色五月播播久久| www久| 婷色五月| 色噜噜婷婷| 婷婷99狠狠躁天天躁中文| www99xxxx五月丁| 五月开心婷婷极品激情| 五月丁香啪啪综合网| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 思思热久久爱| 色婷婷中文| 婷婷在线视频| 丁香五月成人论坛| 五月色在线| 成人AV在线网站| 天天做天天爱| 天天综合网站| 九九热色视频| 日本婷婷色| 一本久道综合色婷婷五月| 淫五月停停| 殴美激情综合网| 久久五月天婷婷| 婷婷草| 亚洲色图欧美色图日本视频| 综合噜噜| 热久国产| 日本不卡一区二区三区| 亚州综合色| 欧美69久成人做爰视频| 丁香五月天AV在线| 九九色热| 六月丁香六月婷婷欧美| 五月丁香色情| 丁香五月中文字幕| 色婷婷综合网站| 97丁香五月| 激情五月天婷婷五月天| 婷婷五月色综合| 99在线综合视频| 99视频精品全部免费观看| 66成人网| 一区=区操屄高清大全av| 日韩色色一区| 91AV视频| 免费AAAAA网| 精品网站99| 欧美精品久| 九九色人| 在线91日韩| 欧美啪啪五月天| 爱操人妻| 久久精品国产精品| 久久精品国产色| 99久操| 99自拍网| 九热av| 校园激情 亚洲| 天天干天天做| 激情五月黄色| 97视频.干com| 五月天成人综合| 99这里都是精品6| 九九99免费视频| 精品九九久久| 99操久久| 玖玖爱资源站| 久久99jiu9| CHINESE熟女老女人HD视频| 夜夜操少妇| 色色色热| 色激情五月| 色婷久久| 五月色天情| 九月色婷婷婷| 婷婷激情肏屄网| 久久久久久久久久91| 久99视频在线观看| 欧美爆乳一区二区三区| 91精品综合久久久久久五月丁香| 久久99热这里只有精品| 亚洲亚洲永久无码777777| 182.t午在线观看| www.超碰在线| 99热首页| 狠狠狠色激情综合适合| 婷婷五月天成人视频| 激情婷婷五月在线合集| 日韩精品一曲二曲三曲四曲五曲| 欧美性猛交AAAA片黑人 | 中国操逼99| 色婷婷五月综合| 69精品无码一区二区三区| 51精品国自产在线| 老师高潮流白浆喷水的A片| 丁香久久九九99| 人妻中文在线| 天天天日天天天干| 伊人狠狠狠综合| 99亚洲精品视频在线观看| 无码人妻AV久久久一区二区三区| 极品人妻VIDEOSSS人妻| 九九激情网| 婷婷五月图片小说视频| 深爱开心激情网| 男人天堂亚洲综合| 色色色色色色网站| 久久久噜噜噜久久人妻| 五月色亚洲| 欧美婷婷综合| 婷婷丁香五月婷婷| 六月婷婷色综合| 亚洲AV免费在线| 99热免费观看| 日本久久性| 操操人人| 欧美噜噜噜草| 亚洲AV网站| 99精品视频在线观看| 丁香六月激情| 99精品在线观看| 疯狂做受XXXX高潮A片| 久99视频在线观看| 香蕉综合在线| www.99热| 久久国产成人9999久久久久| 国产偷人爽久久久久久老妇APP| 亚洲综合五月天婷婷丁香| 亚洲激情99| 熟美女麻豆| 91无码一起草| 成人午夜视频精品一区| 久久丝袜婷婷| 99热这里只有精品50| 丁香五月婷婷激情中文| 亚洲Av成人在线观看| 丁香五月激情六月| 婷婷五月天AV在| 成人必爱视| 婷婷天堂综合| 精品综合网在线| 色色无码| 激情AV网| 国产精品电影| 亚洲精| 欧美肉大捧一进一出免费视频| 99综合视频一体| 色99在线看| 国产三级在线播放| 丁香五月婷婷欧美激情-中文天堂最新版在线观看| 91人操人人人操人| 国产成人AV| 丁香五月大香蕉在线99| 97操在线| 91超级碰在线| 久久精品五月天| 五月综合色播播丁香婷婷| 99热久| 五月婷婷之综合激情| 色婷婷综合网| 92久操视频| 日日夜夜综合| 综合99综合久久久久久久| 玖玖爱综合网| 综合www色| 婷婷五月性感| 五月丁香福利| 狠狠五月激情在线| 亚洲国产99| 99综合视频| 人妻乱码久久久| 日韩aaa| www.狠狠操| 成人电影AV在线观看| www。五月,com| 色噜噜婷婷| 日本一级淫| 九九精品视频在线6| se99视频| 五月天播播| 五月丁香色婷婷伊人| 久狠狠狠| 婷婷五月天综合网| 色婷婷综合网| 色五月开心开心五月激情五月| 啪啪综合网| 日本婷婷| 另类激情五月| 性一交一乱一交A片久久四色| 开心激情五月天网| 国产成人精品一区二区三区视频 | 亚洲网站999| 日本精品99| 亚洲网站观看视频| 在线色婷婷| 亚洲人妻五月丁香婷婷| 99爱爱网| 另类专区在线观看| 亚洲丁香五月深爱五月| 9热在线| 九玖欧洲亚洲| 丁香亭亭久久| 2015WWW永久免费观看播放| 亚洲人成网站999久久久综合| 啪啪啪五月天| 色涩影院六月丁香| 99性色| 狠狠做五月婷婷| 久久 婷婷 五月天| 婷婷九月丁香中文| 五月婷婷六月激情网| 五月天激情视频| www.99精品日操伊人乱碰在线| 99在线精品免费视频| 开心色五月天久久久久久久| 999精品乱码77777| 9久国产精品| 色婷婷丁香五月| 思思久久精品视频| 777久久久| 超碰在线视屏| 97在线观看| 五月伊人婷婷| 五月色综合| 久久五月综合| 亚洲黄网在线| 天天色丁香| 97操碰在线视频| 五月天婷婷社区| 日本久久色| 欧美性爱五月天| 五月婷婷亚洲| 农村熟妇高潮精品A片| www五月婷婷88导航| 丁香五月婷婷无码AV| 甈你aaaaa| 狠狠狠狠狠| 蜜乳久AV| www.激情五月| 色色色在线| 人人色人人摸人人看| 丁香五月婷婷亚洲另类| 狠狠干青青草| 色色色色色色色色色色色色色97| 少妇大叫太大太粗太爽了A片 | 97福利视频| 久久婷婷伊人| 色婷婷成人做爰A片免费看网站 | 五月丁香婷草| 超爽内射| 99精品视频在线观看| 99视频久久| 婷婷激情五月天激情小说| 国产婷婷综合| 成人国产综合| 大香蕉伊人丁香五月| 婷婷色情 | 深爱激情丁香| 日日夜夜小色哥| 少妇丁香婷婷 | 五月婷婷五月| 丁香五月中文字幕久色| 天天摸天天舔天天天天爽| 亚洲综合五月天婷婷| 香蕉97碰碰碰欧美| 色五月 婷婷, 大香蕉| 久久久久人妻精选| 久久免费精彩视频| 99免费成人网| 婷婷五月精品在线| 内射综合网| 一本色道久久88加勒比| 婷婷五月天成人在线视频| 99视频内射三四| 天天干天天干天天干| 97丁香五月| 九月色婷婷综合| 五月丁香久久网| 精品香蕉99久久久久网站| 玖玖资源网站最新站| 久久五月婷| 99re欧美精品| 高清无码.com| 五月天综合在线网| 午夜成人在线免费视频| 玖玖综合色| 热99国产精品| 五月婷婷干干干| 这里只有精品视频一区| 五月香婷婷| 久久久久9久无码视频| 婷久看人爽| 99这里有精品| 人妻操逼视频| 五月色丁香视频精品| 狠狠爱婷婷爱| 影视av久久久噜噜噜噜噜三级| 日韩 mm 不卡| 久操97| 五月天婷婷黄色| 99ree6| 国产XXXX搡XXXXX搡麻豆| 热九九精品| www.精品99| 天天操夜夜啊 | 九热av| 1024在线视频| 五月天综合久久| 丁香色色网| 玖玖激情五月天| 99视频在线9| 色中色综合| 丁香五月网在线观看| 激情综合网址| 久久婷婷五| 99精品在线| 色五月激情五月| 电影爱拉战争免费观看| 日本久久极品| 激情五月婷婷视频| 色婷婷久久9.com| 婷婷黄色五月| 日韩aaaaa| 中文字幕无码人妻少妇免费视频| 97高清国语自产拍| 婷婷九月亚洲| 五月婷婷开心五月| 日韩在线视频中文字幕| 伊人婷婷五月天| 色婷婷九月综合| 伊人五月天97| 久久九九免费大视频| 97干在线视频精品店| 婷婷色导航| 99热| 久久A区B区| 久久婷婷综合五月天| 99热精品在线播放观看| 深爱丁香激情| 色婷婷六月丁香综合欲精品| 久久开心五月天激情| 亚洲欧美另类在线23p| 91无码色色| 婷婷九九视频| 五月婷在线影院| 深爱激情中文五月天av| 操人久久| 九九99九九99九九99视频网| 日日撸夜夜操| 五月久久婷婷| 日本综合久久| 丁香六月婷婷缴情欧美| 欧美成人精品一区二区| 五月情四婷婷| 五月丁香六月欧美| 熟女网站久久| 婷婷天天日婷婷| 五月天另类激情在线| 婷婷五月综合在线视频| 丁香六月婷婷色播| 激情综合网五月激情网| 99操不停| 婷婷五月丁香91| 婷婷丁香六月| 人人干av| 婷婷九月丁香中文| caopeng97日韩| 超碰亚洲天堂| 久热大香蕉| 婷婷成人视频| 久久99久久99精品免观看粉嫩| 激情综合网五月| 婷婷五月激情视频在线| www一区二区三区| 五月色婷婷综合色| 婷婷开心五月| 国产在线自| 国产视频色色色色色色色 | 五月婷婷爽爽爽| 大香蕉五月天婷婷| 综合XX网| 精品人妻伦一二三区久| 天天拍天天操| av中文在线| 婷婷综合五月天| 婷婷伊人綜合| 4399精品一区二区| 97碰碰视频在线观看| ww超碰在线| 艹天天射| 激情网开心网| www.深爱激情| 色五月综合网| 精品亚洲国产成AV人片传媒| 天天插天天草人人玩| www.日本91| 秋霞黄色一级久久| 久久久久久久综合狠狠综合| 丁香五月婷综合| 一区二区乱码视频| 五月丁香婷婷无码中文| www婷婷色情网| 天天综合天综合| 国产午夜成人AV在线播放| 欧美69色| 人人摸人人干人人做| 激情六月五月婷婷综合网| 亚洲A色| 夜夜撸天天操| 丁香 久久| 欧在线一区| 国产色丁香| 久99热在线观看| 久久日九九| 亚洲天天| 婷婷综合av| 国产综合网在线| 中文字幕日本最新乱码视频| 99精品视频免费在线播放| 99免费热视频在线| 久久久这里都是精品| 亚洲精品视频在线播放| 日韩成人精品中文字幕电影| 五月欧美色播| 激情小说五月天| 伊人干练久| 天天操天天操天天操天天操天天操| 五月天激情图片| 青青草五月天| 99ri在线观看视频| 丁香五月欧美| 激情综合婷婷| 天天拍天天操| 亚洲狠狠色丁香婷婷综合久久| 严洲天天插| 激情綜合網址| 五月婷婷之综合激情| 99ri国产| 亚洲字幕AV一区二区三区四区| 狠狠色狠狠干| 亚洲激情四射| 五月激情婷婷播播网| 国产精品久久欧美久久一区| 青青草原精品久久| 九九狠狠干| 国产精品第一国产精品| 狠狠综合网| 亚洲夜五月| 九九这里只有精品| 五月亭亭性| 99噜噜噜在线播放| 91久久九久久九久久九久久九久久 | 99热中文字幕久久| 欧美色碰| www.99婷婷| 国产真人做爰视频免费| 色婷婷亚洲六月婷婷中文字幕| 五月久久婷婷天堂视频| 久久综合9| 99久久综合| 99热主页日本| 成人精品视频99在线观看免费| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 黄桃AV无码免费一区二区三区 | 婷婷五月激情热播| 婷婷丁香成人在线视频| 婷婷碰碰| 日美三级| 久久er视频6| 激情丁香五月天综合| 思思久ren热| 五月花婷婷| 亚洲欧美成人在线观看| 狠狠看狠狠| 成人AV在线网站| www.五月激情红色| 夜夜操夜夜操| 色五月激情五月| 成人丁香婷婷| 黄色片avv| 天天爽天天弄| 天天做天天爱天天高潮| 色五月综合网| 碰97久久| 狠狠狠人妻| 婷婷五月激情中文字幕| 色婷婷丁香香香蕉视频| 在线观看免费视频| 激情五月天无码| www.婷婷五月| 亚洲日本韩国| 最新色色五月天|