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
返回資訊列表
99色色爰| www.超碰| 性一交一乱一交A片久久四色| 开心婷婷五月激情网小说| 婷婷久久综合| 九九热欧美| 五月婷婷激情色情网| 99在线播放| 大香蕉久久| 亚洲久久婷婷丁香五月天| 97超碰9久热婷婷热| 婷婷成人AV| 噜综合| 国产av一区二区三区| 九九无码| 五月天婷婷人妻| 五月丁香啪啪| 伊人大香蕉综合在线| 五月丁香综合网| 另类专区在线观看| 1024成人在线观看| 久久综合综合综合| www.婷婷,com| 婷婷久久五月天| 99在线视频。| 国产AV一区二区三区最新精品| 日本天天操| 99re99热| 天天日日人| 123草逼网| 超碰69天堂| 五月天综合色| 色婷婷视频| 无码99| 日韩精品二三区| 五月婷婷六月丁香免费| www.久久99| 日日天天干| av中文在线| 99热99ai| 五月婷婷就去色| 性爱人人网| 日本欧美成人片AAAA| 亚洲黄色精品| 午夜电影网VA内射| 久久女婷| 啪啪啪大香蕉| 久久九九色| 久久草中文日韩欧美| 久久色这里只有精品| yazhou seshipin| 精品婷婷| 干亚洲天堂| 狠狠色狠狠| 久久九九@| 在线成人国产| 国产精品视频网| 99年操人人爽| 久久天堂色| 日噜噜色| 色婷婷亚洲精品天天综| 日韩啪啪网| 狠狠狠狠狠狠色| 婷婷五月精品| 人人干女人| 91精品国产综合久久蜜芽解析速度| 五月婷婷啪啪啪啪| 亚洲五月天色色| 热久久999| 婷婷狠狠综合网入口| 天天日夜夜爽| 99操网站| 91超碰人人操| 天天久久综合| 亚洲国产99| 狠狠草狠狠草| 79精品视频在线观看,| 狠狠爱综合| 天天操夜夜操| 久色大香蕉| 91精品国产色猫| 五月色亭丁香| 国产激情AV| 如何安全看伊人婷婷| 色情综合网| 精品99久久久久成人网站免费| 激情五月综合视频| 激情综合五月天| 免费啪啪亚州视频| 激情 久久 婷婷| 午夜激情五月天| 五月婷婷婷婷婷婷艺术| 六月丁香VA| 五月婷婷六月综合| 中文av网| 丁香伊人五月色婷婷五十路| 5月丁香婷婷| a v色婷婷| 99综合免费视频| 性热视频99精品| 色婷婷亚洲精品天天综| 光棍影院日韩精品| 五月色无码| 天天做天天爱综合| 九九在线视频| 美女激情综合| 亚洲视色| 国精产品一区一区三区免费视频| 丁香五月婷婷激情尤物| 五月天婷婷高清无码| 久久婷网| 久久久久九九九九视屏小说88| 久9久成人精品视频| 婷婷五月天天天日日夜夜| 丁香综合婷婷开心激情网| 午夜爱爱爱成人| 五月婷婷婷丁香播| 久久男人网婷婷| 国産精品| 色婷婷成人| 婷婷金品综合视频| 色色色婷| 九九热这里| 五月婷婷综合网| 99热精品10| 五丁香激情综合| 五月天六月婷婷| 人人摸人人| 色婷婷久久| 天天综合网~91| 天天看A片| 天天成人丁香美女AV| 日韩av在线免费观看| 国产露脸150部国语对白| 色色婷婷色色| 婷婷丁香人妻天天爽| 免费视频WWW在线观看网站| 狠狠爱婷婷色| 爽天天天天天天天| 超碰成人AV| 五月丁花色综合网| 香蕉网婷婷| 99在线观看亚洲| 婷婷五月色天| 玖玖综合玖玖| 激情丁香五月婷婷| www,婷婷| 五月婷无码| 婷婷AV丁香| 激情亚洲婷婷| 欧美日韩123| 狠狠xx| 性一交一乱一交A片久| 日本超碰在线| 丁香五月成人| 久在热99| 99热精品无码| 丁香色成人| 99精品在线下载| 成人综合网站| 开心激情站婷婷五月天| 丁香五月色激情| 五月天婷婷青青| 开心五月深爱五月| 丁香五月瑟瑟| 五月婷婷丁香日韩在线| 丁香婷在线| 免费超碰在线观看| 日本久久爱| 婷婷五月开心六月AV| 丁香五月网| 97在线观看| 五月婷婷网久久| 成人精品视频99在线观看免费| 成人精品在线观看| 日产精品一线二线三线芒果| 女力报到正好爱上你| 色婷婷综合久久| 天天婷婷操| 五月婷丁香| 99rewww| 九九亚洲| 亚洲狠狠狠| 91丨九色丨老熟女激情| 9久久久久| 丁香五月欧美成人| 日韩在线视频9色| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 再綫Av免费視品| 97色色网| 婷婷五月天综合在线| 婷婷色正月| 婷婷人妻激情| 伊人久久婷婷| 天天爽天天做| 成人va在线观看视频| 国产精品99久久久久久久女警| 五月丁香激情综合欧美| 国产亚洲精品久久久久久郑州 | 夜夜夜夜撸夜夜操| 色五月综合网| 久久受www免费人成| 婷婷5月九九| 日本九九九九九九| h在线看免费版在线看| 五月天婷婷伊人| 伊人激情网| 色噜噜狠狠色综合成人网| 五月香蕉综合| 久久视频婷婷| 99性爱| 久久成人精品视频| 99综合| 婷婷丁香五月视频| 丁香久久| 蜜臀av粉嫩av懂色av| 这里有精品99| 99人妻碰碰碰久久久久视| 丁香六月激情综合| 91狠狠色色丁香婷婷综合久久| 99色精品视频| 婷婷综合97| 荫道BBWBBB高潮潮喷| 亚洲va欧洲va国产va不卡| 91九色国产| 9色91视频| 亚洲熟妇无码乱子AV电影| 综合亚洲五月天| 2022人人操人人看| 丁香六月婷婷操逼网| 色综合久久综合中文综合网| 天天爽天天摸| 五月天成人在线| 亚洲婷婷久久综合| 99爱爱网| 屁股翘好撅高迎合跪趴| 狠狠狠狠狠狠狠狠| 淫视馆AV在线| 另类 在线| Jh7Uf088VHafNm| site:hcxsz888.com| 婷婷综合日本| 在线91日韩| 久色网| 欧洲一区二区| 五月婷婷六月开心| 天天色99| 性爱五月婷| 亚洲精品又粗又大又爽A片| 亚洲精品国产setv| 久久综合中文| 综合啪啪| 深爱五月激情| 五月天激情影院| 色播五月网| 99色热综合| 婷婷六月色丁香视频在线观看| 久色网址| 九九热只有这里精品| 在线观看欧美| 996er热| www.久9| 久久九九一區| 丁香五月婷婷色综合| 久久综合五月天| 色色色99| 202丰满熟女妇大| 午夜丁香婷婷| 欧美99热| 亚洲成人无码专区| 艹色18p| 操逼综合激情网| 91av传媒高清在线视频网| 五月天婷婷综合网| 婷婷免费无视频| 色色啊| 热无码A∨| 欧美五月丁香在线| 久久99热精品a片在线观看| 很操日本7| 开心五激情网| 婷婷五月天小说网| 伊人婷婷大香蕉| www.91九色| 欧美日韩999| 婷婷久久五月天| 丁香九月激情| 色综合网页| 婷婷综合偷拍| 色色操| 五月天婷a在线| 五月丁香婷婷激情在线视频| 2025色婷婷| 亚洲欧洲午夜成人精品av| 97碰| 亚洲中文字幕在线观看| 丁香综合久久| 欧美在线看| 丁香五月色色| 五月丁香在线| 婷婷五月精品中文| 天天做天天爱天天爽夜夜揉| 激情综合色婷婷啪啪六月天| 久热大香蕉| www.色99| 中文在线视频久9| 九九色院| 欧美性丁香色色五月天综合爱爱| 人人草人人看| 日本强伦片中文字幕免费看| 天天综合五月| 丁香五月婷婷天| www.五月天婷婷| 激情综合五月婷婷| 婷婷六月色情| 俺五月| 热99这就是精品视频| 激情文学久久| 综合久久影院| 亚洲色精彩| 天天干天天日天天插 | 操比激情五月综合| 五月丁香久久久日婷婷久久婷婷日| 亚洲激情免费视频| 可以看的av| 天天透天天干| 欧美va亚洲va在线播放| 丁香五月天堂| 婷婷中文无码| 五月天激情图片| 五月丁香啪啪| 免費观看aV在线网址| 超碰碰碰碰| 天天舔天天摸天天透| 色五月超碰| 影音 五月 婷婷 久久| 欧洲亚洲免费视频9 | 6月丁香婷婷激情| 激情 婷婷| 成人中文网| 色99自拍| 久9久成人精品视频| 色婷婷色99国产综合精品| 五月婷婷综合影院| 79精品视频| 五月激情小说| 婷婷五月天激情文学小说| 五月婷婷激情综合| 九热视频精品| www激情婷婷com| 99精品国产乱码久久久人妻| 日本在线视频手机播放五月婷| 91一起艹| 久久99精品久久久久久噜噜| 五月丁香色综合| 色五月美女| 天天操九九插| 婷婷丁香日韩五月| 色久五月| 五月天天综合网色婷婷| www夜夜操com| 婷婷影院欧美| 七七九色| 亚洲精品亚洲人成人网| www.minyis.com【JT】实力收量可预付QQ2101460746 | 久久国产色| 日本不卡高字幕在线2019| 97碰| 丁香六月综合激情| 精品思思久久| 噜噜噜狠狠色综合| 99热精这里只有精品| 99爱视频| 一区二区三区四区无码| 在线亚洲综合网| 久久久久久丁香五月| 色吧婷婷五月亚洲| 五月天色婷婷成人| 激情AV中文| 五月天激情久久| 色九九一二| 日本婷婷色日| 天天爽天天摸| 99五月丁香丁| 久99| 婷婷五月天亚洲综合网| 五月婷婷婷色| 婷婷五月天天爽| 欧美图片丁香五月天| 欧美日韩成人一区二区| 激情深爱五月婷婷| 强辱丰满人妻HD中文字幕| 精品婷婷五月视| 专区无日本视频高清8| 伍月激情天| 婷婷丁香综合网| 五月草影视| 婷婷色五月天色| 97影院一级片| 99热这里只有精品98| 91夫妻视频| 综合五月天完整| 成人午夜免费电影| 欧美槡BBBB槡BBB少妇| 九九爱激情| 久婷久婷| 国产一级视频a| 九九热免费| 欧美三级欧美一级| 日本三级99人妇网站| 五月天综合在线观看视频| 91人人操.COM| 99热午夜精品| 婷婷五月天开心网| 99色视频免费在线规看| 99热在线播放| 天天久久婷婷| 色狠狠综合| 久久性爱视频久久性爱视频| 五月香婷婷| 综合久久激情久久| 久久99网站| 密乳视频| 五月久久五月激情| 激情熟女网| 五月丁香婷婷综合| 五月天社区婷婷丁香社区| WWW五月婷婷| 日韩成人综合| 国产又爽又猛又粗的视频A片| 激情欧美五月丁香| 99热久只有| 岛国AV网| 大香蕉伊人久久| 久久这里只有精品99| 五月天成人在线视频丁香| 亚洲啪| 99在线观看| 五月丁香久久久| www久久99| 艹色18p| 婷婷五月天成人网| 五月丁香六月香香蕉| 一级二级香港秋霞欧美欧美秋霞| 色噜噜狠狠色综| 成人视屏在线观看| 亚洲女婷婷五月基地综合久久久 | 操操操91| 色综合久久久综合久久网| 丁香大香蕉| 婷婷五月天成人小说| 色久九| 大香蕉久久久久久久久| 99精彩视频网站在线| 婷婷中文字幕| 综合久久综合| 大地资源色婷婷视频在线| 五月丁香亚洲综合| 九九色热视频| 国产精品蜜臀99| 成人精品一区二区三区四区五区 | 色爱综合视频| 色五月丁香五月五月婷婷| 久久总和99| 久久日曰| 日本少妇AA一级特黄大片| 亚洲成人无码专区| 欧美特大片黄| 亚洲五月六月婷婷| 久久加勤综合| 黄色av高清| 国产乱妇乱子在线播视频播放网站 | 色情五月综合婷婷| 丁香色婷婷| 日韩一66精品| 九九99视频精品| 久久9视频| 婷婷五月综合色拍| 91无码视频| 激情五月最新网址| 爆乳熟女-区二区三区| 国产一级视频a| 成人亚洲精品久久久久| 婷婷欠久少妇| 久久六月综合| 九九99热| 99精品国产在热久久| 婷婷久月| www.99热视频| 综合五月丁香久久| 亚洲无码成人性爰网| 亚洲乱码成人| 五月婷综合| 丁香五月婷婷五月天| 另类视在线| 婷婷天堂综合| 嫩草AV久久伊人妇女超级A| 婷久久| 91玖玖| 激情深爱五月天| 欧美在线| 久草婷婷网| 丁香五月伊人| 最新av在线观看| 五月天激情综合网俺也去| 天天玩天天摸| 国产另类综合| 色婷婷a v| 亚洲热视频在线| 少妇2做爰HD韩国电影| 激情婷婷激情在线不卡| 九九99精品视频| 五月天色婷婷激情综合| 丁香五月成人社区| 精品99在线| 五月天久久婷婷| 牛色色碰| 天天射天天干天插色综合| 日本啪啪网| 色婷婷精品小视频| 综合网啪| 国产乱子轮XXX农村| 五月色丁香婷婷综合| 色色色区| 97人人射| 激情婷婷黄色五月| 国产亚洲99| 色性日本| 色播五月丁香| 激情五月天福利| 久久亚洲婷婷| 第四色婷婷丁香五月| 欧美日朝成人| 色婷婷丁香AV综合| 伊人婷婷大香蕉| 五月丁香婷婷激情久久| 91碰碰视频| 综合色色五月| 99热费观看| 精品无码色欲AV| 五月丁香婷婷综合视频| 日木WWW视频| 久久久91| 伊人五月天在线| 97色吧| 97资源碰碰在线| 色婷五月天网站| 亚洲综合久| 人人综合色| 狠狠色丁香综合| 天天插天天插| 91AV视频| 丁香五月综合网亚洲综合欧美狠狠| 婷婷五月天基地| caop视频| 日本ww亚洲| 操91| 久久五月网| 99A片| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 久久伦乱| 色婷婷五月天偷拍| 岛囯综合激情网| 国产日韩欧美性生活| 91成人品| 五月丁香琪琪| 亚洲成人AV在线播放| Aα在线免费观看| 丁香涩涩五月天| 99久久婷| 色色色色综合网| 色情五月天丁香社区| 人人97操| 开心激情五月天网| 五月婷婷丁香六月| 丁香婷婷激情六月五月开心| 日韩AV中文字幕在线| 国模淫穴色图| 丁香影院五月综合| 婷婷99狠狠躁| 99丝袜精品视频网站| 99爱在线视频观看| 成人VAV视频在线观看| 亚艹艹| 青青久久91| 婷婷五月天综合小说网| 超碰天堂网| 亚洲久热无码| 91九色超碰正在播放| 六月丁香婷婷综合在线| www.91婷婷| 91人人操人人| 热的五码久久精品| 亚洲最大成人综合网720P| 婷婷丁香五月天在线视频| wwwss在线观看| 人妻内射麻豆视频| 热99玖玖99玖玖99九九| 天天操人人干| 成人短视频在线| 天天弄天天操| 五月天激情综合10p| 丁香av网| 国产精品视频免费看| 亚洲久热| 五月丁香六月激情| 超碰在线免费9| 丁香五月综合婷婷| 日本乱子人伦在线视频| www。88热在线视频免费观看| 精品一二三区久久AAA片 | 激情五月丁香亭亭| 99久久66| 涩涩激情五月婷婷| 黄色片区子| 人人干天天舔| 成熟妇人A片免费看网站| 婷婷五月天激情五月天深爱五月天| 色色欧美。| 狠狠草综合网| 激情综合啪啪| 另类丁香五月天区图| 婷婷五月天小说| 婷婷五月天在线看| 玖玖热99| 色色色综合网| 五月婷婷色| 在线中文av| 婷婷D区| 久久看婷婷| 婷婷五月天在线观看av| 无码橾| 中文字幕网伦射乱中文| 五月亭亭开心网| 新99思思视频| 99色在线观看视频| 婷婷激情五月呦呦| 99免费| 亚洲六月色| 9er热在线精品视频| 日本97人人| 婷婷午夜天| 五月五婷婷| 99视频超级精品| www.99热精品99.com| 五月丁香激情综合网| 丁香激情婷婷网| AV中文在线| 影音先锋日本三级资源| 天天插天天爱| 婷婷五月天播播| 国产26uuu视频| 亚洲天堂99| 亚洲视频久久| 亚洲日韩操B| 96丁香六月婷婷蜜桃综合久久| www.99热这里只有精品| AAA亚洲AV| 午夜色色色极品视频| 99久久偷拍视频| 蜜桃人妻无码AV天堂三区| 五月丁香婷婷综合久久| 丁香婷婷视频| 丁香五月天成人| 99热久只有| 91久久久久久久久18| 色噜久| 任我肏视频精品| 亚洲国产精品VA在线看黑人| 99热精品在线在线| 五月综合无码| 丁香六月色婷婷| 五月激情影院| 五月丁香综合网| 播四月婷婷六月丁香| 五月丁香 啪啪啪| 久久婷婷五月草视频在线播放| 婷婷午夜| 婷婷丁香五月天影院| 亚洲一级AV在线免费播放| 五月婷婷黄网站大全| 亚洲午夜成人av电影网| 大香蕉五月婷婷丁香| 可以看的av| 婷婷另类小说| 日本三级日本三级99| 五月天成人综合| 色色色热| 久久小说| 欧洲综合一区| 久久免费干| 99资源人人| 性爱七区| 九九色99| wuyuedingxiang99| 五月开心婷婷| 伊人AV五月婷| 亚洲激情综合| 超碰操网| 婷婷五月天成人| 国产毛片精品一区二区色欲黄A片| 欧美交换配乱吟粗大25P| 免费观看全黄做爰的视频 | 伊人大香蕉综合在线| 98永久精品| 日韩AV片| 九九九九九无码| 黄页大全十八禁| 久久五月天激情| 久色| 六月丁丁香| 五月婷婷六月天| 亚洲字幕AV一区二区三区四区 | 五月天激情图片网| 亚洲无码黄色| 俺来也综合网精品一区| 开心五月婷婷激情网| 丁香五月播播| 综合五月婷婷| 怡红院AV亚洲一区二区三区H | 色色丁香| 日日操,夜夜爽| 六月婷婷综合| 99热成人| 久久五月情| 丁香五月婷婷视频| 九九99精品视频在线观看| 日韩精品无码一区二区| 九九热在线99| 玖玖爱综合网| 偷拍视频五月天| 久久久27操| 九九成人视频| 五月天基地| 99热免费精品热久久66| 婷婷五月在线播放| 欧美视频五区| 成人做爰A片免费看网站找不到了 国产露脸150部国语对白 | 丁香五月婷婷动漫| 色婷婷天堂| 国自产拍偷拍精品啪啪一区二区| 草草色情综合网| 熟女激情网| 精品婷婷五| 丁香五月天堂| 国产AV一区二区三区最新精品| 婷婷中文网站| 天天综合图片| 婷婷五月天小说网| 久久精品99久久久久久久久| 五月天另类综合网| 黄色五月婷婷| 91|疯狂丨高潮丨对白| 97干欧美| 99亚洲精品视频| 天堂无码人妻精品AV一区| 99人人干人人| 午夜丁香五月天综合| 日日夜夜狠狠| 午夜免费试看| 丁香五月激情综合| 99精品丰满| 丁香五月婷婷成人综合| 丁香六月啪啪| 色婷婷a| 婷婷色五月色| 五月天激情美女久久| 五月在线婷色| 可以直接看的AV| 男人的天堂五月丁香| 超碰熟女拍拍| 九九成人电影婷婷| 9操在线| 五月丁香激情综合| 婷婷伊人綜合中文| 99热99思午夜精品| 99热这里只有精品在线| 综合久久五月天| 九九热精品视频| 丁香五月婷婷操逼| 伍月婷丁香花全集| 日韩国产在线精品| www.婷婷五月天啪啪| 99性爱视频| 玖玖在线视频| av色色国产| AA久久| 一区中文字幕电影| 日韩九九| 六月激情网| 开心色播色五月婷婷| 亚州美女| 五月丁香六月婷婷亚洲天堂网站| 开心五月激情网| 激情久久久久久| AV在线大香蕉| 99热性色| 天天操中文字幕| 色婷婷亚洲综合av| 丁香五月激情婷婷婷婷在线观看| 成人αV视频免费观看| 亚洲无码成人性爰网| 国产黄色在线| 婷婷激情五月天小说校园| 中文字幕丰满乱孑伦无码专区 | 五月丁六月香av| 99热只有| 久热这里只有精品99re,久热这里只有精品7 | 久艹久| 日本九九视频| 婷婷五月天色色| 人人草人人舔| 很很干五月天| 精品一区二区三区四区五区六区| 激情婷婷狠狠干| 国产九月婷婷| 色婷婷综合网| 丁香五月婷婷深爱综合激情| 亚洲精品一区中文字幕乱码| 九九热精品视频九九| 爱99干99| 色五月综合激情| www.久久久久久| 色播丁香| 天天综合亚洲综合| 97人人妻人人艹| 五月婷在线观看| 另类图片色五月| 欧美槡BBBB槡BBB少妇| 久8色色| WWW、99热| 男人天堂99| 亚洲色婷婷网站| 青青草婷婷久久| www.久久久久| 五月色婷婷综合丁香精品无遮挡| 欧美激情 日韩无码 婷婷 五月天| 五月六月婷婷| 日韩另类| 玖玖婷婷色欲| 丁香五月中文字幕| 五月天色综合服务平台| 亚洲爱婷婷| 天天爽天天| 51avj视频大全| 亚州第一A片| 色色色综合| www,天天干| 五月激情六月综合| 九九干视频| 美女黄频aⅴ视频| 中文幕无线码中文字蜜桃| 色播五月婷婷| 亚洲在线免费成人| 狠狠操天天干| 思思热精品在线| 色色三级视频| 丁香六月婷婷久久亚洲天堂| 大香蕉九九| 六月丁香激情婷婷| 五月天堂色| 中文字幕无码AV| 秋霞AV淫| A A色色| 色停停香蕉视频| 色婷婷综合久久| 91操片| 九九色热视频| 激情五月天小说网| 一本色道久久88加勒比| 亚洲成人高清在线| 丁香五月天啪啪激情综和网| 欧美激情五月天| 国产成人高清| 色情五月停停丁香| 99精品视频在线观看| 99碰超| 99热只有| 五月婷婷久久爱| 婷婷五月天亚洲色| 成人丁香五月| www、丁香五月天| WWW.99热| 六月婷婷激情| www.久久久久久久久久久| 久久这里只有精品网| 狠狠干综合| 最新久久99视频网站| 婷婷九月激情网| 99这里| 激情五月婷婷综合秋霞| 欧美群妇大交乱婬网| 午夜婷婷久久 | 播五月婷婷开心| 色婷婷五月天成人网| av在线婷婷| 这里只有视频精品| www.婷婷,com| 久久99草五月婷婷| 婷婷五月丁香激情色情| 天天操人人干| 91丨九色丨熟女|新版| 高清无码入口| 国产91在线视频| 欧洲亚洲激情五月天在线| 久久五月网| 婷婷日韩| 欧美噜一噜| 欧美成人精品A片免费一区99| 婷婷久久五月| 99re免费精品视频| 久久婷婷丁香| 天天射影院| 色婷婷最新域名| 婷婷王月天影院| 婷婷丁香成人色综合| 五月丁香六月激情狠狠| 亚洲人人操| 思思久久网| 久久曰曰| 五月天啪啪| 六月激情婷婷| 三区激情四射av| .精品久久久麻豆国产精品| 亚洲丁香五月深爱五月| 亚洲成av人影院| 69午夜成人影片| 人人人操 超碰| 日韩十国产极品久久| 九九99九九精品视频| 九九99久久| 97九色视频| 婷婷精品视频| 99re这里只有精品国产99| 99成人| 色婷婷狠狠久久综合五月| 99网址在线观看| 五月色综合网| 亚州操操| 五月激情天| 日日鲁鲁夜夜爽爽| 任我肏视频精品| 天天肏高清在线| 婷婷五月综合激情| 少妇被下春药玩弄A片| 草做免费在线观看| 婷婷久久五月天中文字幕在线观看| 欧美日本国产欧美日本韩国99| 九九色婷婷| 国自产拍偷拍精品啪啪一区二区| 五月天婷婷五月| 亚州婷婷五月激情综合| 五月婷婷啪| 婷婷久久国产视频| 一区=区操屄高清大全av| 婷婷丁香五月综合免费视频百花| 欧美婷婷丁香五月社区| 99热色精品| 五月综合久久| 超碰人人99| 久久婷婷网站| 可以免费观看的av| 丁香五月无码| 久久女人天堂| 办公室少妇激情呻吟A片在线观看| 久久久人人人妻丝丝丝| 九九综合网色全集 | 激情六月一二| 激情六月婷婷| 日日操夜夜擼| 五月丁香六月激情| 丁香五月婷婷姐| 亚洲成人无码免费| 色色国产| 色停停五月天| 看婷婷五月天网| 综合网精品99| 婷婷五月天色色| 四月婷婷丁香| 国在线激情网| 伦乱人妻| a久久| 激情亚洲网| 日日噜人人人做人| 青青草五月天| 丁香五月综合| 九九热婷婷| 五月婷婷综合色啪首页| 色婷婷A| 婷婷五月性感| 久久国产色| 丁香六月激情国产| 丁香五月狠狠在线观看| 日hao1区| 夜夜操加勒比| 依人大香蕉| 色色日本| 激情五月婷婷综合网| 婷婷五月AV| 五月婷婷 自拍| 91丨九色丨东北熟女| 丁香五月先锋| 五月天激情子轮| 夜夜涩涩涩| WWW.99视频| 91五月花丁香| 国产午夜精品AV一区二区麻豆| 六月婷婷色色色| 99热这里只有的精品视 | 日韩啪啪视频| 婷婷激情五月天激情| 天天综合干| 色色婷婷五月| 色五月婷婷自拍| 丁香操逼| XX色综合| 五月婷婷丁香六月| 91精品在线看| 另类综合色| 丁香五月停停av| 婷五月丁香| 开心婷婷中文字慕| 欧美日本国产欧美日本韩国99| 在线不卡的视频| 免费在线观看AV网站| 五月婷婷综合在线| 亚洲五月花| 99热亚洲| 天天做天天爱天天高潮| 五月花在线观看视频| 婷婷激情五月综合丁香社| 成人婷婷桔色| 26uuu视频欧美| 久久多色| 色九月欧美| 97超级操操| 97性高潮久久久| 色综合婷婷99| 日韩中出视频| 99在线资源视频| 日韩黄在免| 被强行糟蹋的女人A片| 婷婷久久综合| 狠狠色噜噜狠狠狠狠综合| 香蕉久久国产AV一区二区| 91人人爽狠狠狠| 黄网免费看| 婷婷月综合| WWW99热| 欧美大香蕉视频| 日本美女上人| 婷婷无码视频| 色婷婷丁香五月| 五月婷婷大香蕉| 久久综合五月| 超碰人人在线| 99ER热精品视频| 亚洲精品又粗又大又爽A片 | 日本精品人妻无码77777| 香蕉久久av一区二区三区| 午夜精品人妻无码一区二区三区| 婷婷爱五月| 少妇2做爰HD韩国电影| 亚洲最大成人综合网720P| 国产黄色在线观看| 级人人91| 99视频在线看| 久久色9| 欧美大香蕉视频| 色欲色天天香综合| 精a品a视a频| 成人色站,在线视频,看片-SS1AV| 天天狠狠插| 久久在线人妻| 久久视频这里有精品99| 激情丁香五月婷婷| 99九色视频在线观看| 婷婷六月丁| 少妇做爰免费视看片| 久久婷婷五月综合色欧美| 开心婷婷五月综合| 伊人色五月| 久久9久| 成人色站,在线视频,看片-SS1AV| 婷婷精品在线| 人妻久久久久久久| 97色片| 99久久婷婷国产综合精品草原| 黄桃AV无码免费一区二区三区 | 色婷婷色久综| 久久免费婷婷视频| 色碰碰| 九九碰九九爱97超碰| 婷婷丁香色五月天| 欧美月久久| 久久婷色| 婷婷色色播五月天| 婷婷九月丁香| www.操.com| 丁香五月之久操视频| 99热加勒比| 美女va| 天天操夜夜橾| 激情综合五月| 五月婷婷啪啪啪啪| 婷婷欧美激情综合| 亚洲色色在线| 五月丁查人人| 日本三级中国三级99人妇网站| 免看黄大片AA | 91岛国片| 丁香色六月婷婷| 99爱在线精品视频免费观看| 婷婷丁香在线| 激情亚洲五月| 9久久久久| 欧美噜一噜| 丁香五月情| 亚洲亚洲人成综合网络| 色色婷婷丁香五月天| 色婷丁香五月| 五月天婷婷激情综合| 天天日天天色| 葵花AV在线| 噜综合| 熟女激情五月天 | 日婷婷| 91碰碰| 国产亚洲99久久| 五月www| 九九色综合网| 婷婷五月性感| 色 免费网站视频| 激情五月,色播五月| 色婷婷丁香| 亚洲激情五月| 午夜青草资源| 五月婷婷与六月丁香图片激情| 激情小说色五月| 色优久久| 色婷婷五月天偷拍| 99热国品| 亚洲AV成人在线| 欧美α√| 四川女人毛多水多A片| 亚洲综合色婷婷| 婷婷六月丁| 久热一区| 婷婷丁香人妻天久久| 婷婷五月天六月丁香| 亚洲黄色网址| 色婷婷综合久色AV五色最新| 激情第四色| 99欧美精品99日本精品| 开心久久xxx色| WWW99热| 久久五月天激情婷婷| 深爱激情网噜噜色| 亚洲综合五月天| 激情久久久久久久久| 久久这里有精品视频| 精品一二三区久久AAA片| AV电影在线播放| 97超碰在线免费观看| 日韩啪啪自拍| 婷婷久久六月费| 99热在线播放| 97干免费视频| 天天干天天干天天干| 91丨九色丨老熟女激情| 六月天六月婷| 99激情| 亚洲无码成人网| 4399在线日本A片| 五月婷婷黄色毛片| 色情五月停停丁香| 91大操| 亚洲另类婷婷五月综合| 婷婷97狠狠成人网站| 人妻性爱av网站| 欧美日韩99| 欧洲综合视频| 97人凄人人操人人爽| 五月天激情四射网站| 第五色婷婷| 96色婷婷| 丁香五月激情五月开心五月| 99色综合久久| 天天干、天天日日| 五月天大香蕉av| 丁香五月婷婷激情视频播放| 国产婷婷色综合AV蜜臀AV| 开心丁五月| 九九热精品在线| 亚洲激情丁香五月天色| 色婷婷五月天偷拍| 丁香婷婷六月激情文学 | 91碰操| 丁香六月婷婷激情| 日本少妇AA一级特黄大片| 99热最新| 三级99热| 综合色色婷婷| 激情视频91| 伊人久久五月天| 99久热| 91狠狠综合久久久| 丁香五月六月婷婷自拍| 成人午夜天| 99人人操人人摸| 99精品综合在线| 这里只有精品1| 超碰99热精品| 中文无码婷婷| 五月丁香六月在线欧美| 色综合久久久久| 五月丁香六月色情网欧美| 538在线精品| 九九色视频| 婷婷亚洲久久| 午夜九九九九九九九九九九九九九| 五月婷啪| 五月花婷婷| 婷婷四色五月| 婷婷六月香| 五月天婷婷影院| 国产成人av在线| 日本人妻A片成人免费看片| hd五月婷婷在线| 精品AV无码超碰| 婷婷丁香五月激情密臀av| 日本欧美在线| 伊人激情AV一区二区三区| 九九无码| 成人无码髙潮喷水A片| www.99热最新视频8| 岛国AAAV| 99视频在线精品| 久久久999精品| 99精品成人无码A片观看金桔| 久久婷婷色五月| 色婷婷色九月| av在线资源| 九九热这里只有精品31| 九色啦蜜臀| 操人无码| 亚洲性爱AV在线| 五月欧美丁香在线观看| 九月婷婷| 婷婷五月天桃花网| 99亚洲视频| 性小说五月天| 九九伦子片| 超碰在线人妻| 五月婷婷干| 国产无人区大片| 97精品人人A片免费看| 婷婷精品性视频| 97色在线| 99欧美热| 色吧综合网| 天天舔天天摸视频| 日本久久精品| 国产亚洲AV人片在线| 亚洲欧美综合7777色婷婷| 天天综合永久|