免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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.色| 丁香五月婷婷激情尤物| 五月婷久草| 色婷婷电影网| 97啪啪| 五月天婷婷青青草| 久久精品99国产精品日本| 五月天婷久精视频| 色播激情五月天| 99 频99热国里只有精品| 黄色99热| 永久免费一区二区三区| 99九精品| 亚洲色色五月天| 性无码专区无码| 国产成人在线精品| 丁香婷婷色九月| 五月综亚洲| 五月婷婷偷拍| 亚洲婷婷基地| 婷色五月天| 最新日韩AV中文字幕| 丁香成人五月天| 91九色视频在线观看| 精品久久久久久久久久久久人妻| 日在线V视频在线播放| 九九碰九九爱97| www.久9| 色欧美一级| 婷婷六月色| 五月天婷婷AV| 大香蕉久操| 99这里只有| 婷婷五月深深爱| 久久a热| 97热这里只有精品| 人妻久久婷婷| 天天操天天曰| 最近中文字幕2019视频1| 思思热这里只有精品| www九九| 丁香五月先锋| 色婷婷久久| 人人草人人爱| W色综合| 1024国产在线| 亚洲成人在线综合| 婷婷五月成年人| 婷婷伊人| 色五月婷婷五月丁香五月| 久久久久人妻中文| 99九九视频| 五月丁香啪啪综合| 欧美色激情四射| 色综合久久久无码中文字幕999| 国产毛片精品一区二区色欲黄A片| 激情六月天| 内射干少妇亚洲69XXX| 伊人久久婷婷| 超碰激情五月| 综合婷婷六月| 丁香五月av| 天天色丁香| 激情婷婷| 亚洲 成人 电影av在线观看| 欧美色图天堂网| 日韩抽插操逼| 大香蕉久久婷婷精品综合| 在线另类视频| 任你干aa| 97久久五月丁香婷婷| 婷婷丁香五月色偷偷| 激情爱爱网站超大免费| 干婷婷五月天| 色婷婷激情| 色五月婷婷综合在线| 婷婷亚洲影院| 色五月婷婷777| 99爱在线| 97人人干人人操| 日本三级黄色大片| 天天色综合网1| 人人摸人人摸| 成人综合网站| 久久婷网| 天天操天天日天天操| 九九激情| 狠狠香蕉| 亚洲五月天色色| 色婷婷五月色| 丁香六月婷婷综合在线| 久久人人看| 五月婷婷视频| 97人妻碰碰中文无码久热丝袜| 这里只有精品,日韩视频| 色欲五月婷婷| 色婷五月| 婷婷五月综激情| 天天搞夜夜爽夜夜爽| 婷婷色系婷色| 婷婷五月天久久| 国产精自产拍久久久久久蜜| 婷婷综合色| 好吊丝aV| 免费亚洲婷婷| 婷婷六月久久| 色婷婷丁香五月丁香| 色五月婷婷影院| 五月丁香婷婷色色| WWW·色色色·COM| 五月停停丁香| www久久久久久久久久久| 日本99在线| 秋霞网在线观看理论91| 激情五月天视频| 久久九九激情五月天 | 91狠狠色| 开心五月天激情网| 4399在线观看免费高清毛片| 午夜 外网 精品 在线| 五月丁香在线观看| 日逼影音先锋AV男人资源站| 极品人妻videosss人妻| 亚洲操操| 色五月天天在线观看资源站| 久久精品4| 婷婷日韩| 成人丁香| 综合网啪| 超碰男人色| www.丁香六月婷婷久久天堂影院.con| 婷婷久久久久久久| 五月丁香色综合| 五月婷婷色影院| 开心五月天激情网站| 久久久精品人妻| 天天操天天曰天天射| 五月婷六月丁| 操操综合网婷婷| 久久中文人妻系列| www.色五月| 激情丁香社区| 激情色色色| 91色在线| 99热99在线| 综合久久五月天| 色狠狠伊人久久五月丁香| 丁香五月婷婷五月| 天天色五月| 激情五月色婷婷| 91黄址| 欧美日韩aaa| 欧洲区自拍| 亚洲第一视频 久久| 少妇高潮呻吟A片免费看软件| 婷婷五月天成人五月天| 国产精品色情AAAAA片软件| 99开心五月五月丁香激情| 九九99九九99偷拍视频免费看| 久久久久婷 | 久久久99视频| 亚洲丁香五月综合| 国产午夜成人免费看片无遮挡| 五月丁香六月欧美综合| 久久密臀婷婷| 久月婷婷| 婷婷六月开心网| 国产精品久久久久久久久久免费| 五月丁香六月婷婷亚洲| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 成人va在线观看视频| 色停停香蕉视频| 色婷婷a v| 色噜噜五月天| 五月天婷亚洲天综合网综合| 91人妻九色大屁股| 性生活视频98791| 色婷婷综合网站| 高清无码网址| 99亚州综合精品成人网| 99久久亚洲精品视频| 99激情网| 日日做天天操夜夜爽| 欧美日韩一区二区三区四区| 大香蕉啪啪| 国产亚洲在线观看| 九九九激情网| 丁香五月影院| 激情综合网五月激情| 丁香五月性爱爱五月| www.henhenl| 在线播放成人网站| 激情婷婷。| av在线免费网站| 亚洲啪啪视频| 婷婷色综合中心站| 色屌丝中文字幕| 天天综合插插| 99综合视频在线| 风流少妇A片一区二区蜜桃| 麻豆五月丁香婷婷| 久久五月婷| 精品国产一区二区三区四区阿崩| 超碰97免费在线| 我爱宗和色| 99色五月| 免费成人中文字幕| 青草视频在线观看视频 | 色444综合网| 97人人超| 九九色色| 六月婷婷久久大全| 激情五月天无码| 69色婷婷| 九九在线91| 欧美性爱五月天| 激情伊人五月天| 久久色五月| 大香蕉人人网| 五六月婷婷久久| 99免费在线视频| 色婷狠狠| 女高怪谈在线观看| 日日夜夜小色哥| 日韩啪啪视频| 丁香视频| 久青草大香蕉| 伊人狠狠狠综合| 亚洲色图在线视频| 99riAV成人在线视频| 久草热在线视频| 热99在线精品| 色哟哟www| 日韩欧美骚货| 五月天艹天天| 婷婷五月天激情综合深爱| 九九九九综合| 丁香蜜臀黄色婷婷五月天| www九九免费视频| 99在线观看| 丁香五月六月综合激情| 这里只有精品久久| 色停停五月,在线观看| 六月伊人婷婷| 婷婷五月激情片| 久久伊人大香蕉| 婷婷激情啪啪| 五月婷婷导航| 九月婷婷激情| 综激情网| 超碰人人色| 五月综合激情| 六月丁香婷婷综合色播| 26uuu四色| 九九热色视频| 久久99久久99精品免视看婷| 国产亚洲99| 久久作爱| 婷婷激情五月吧| 五月丁香av中文| 精品人妻在线| 丁香五月综合高清在线| 五月香蕉婷婷| 天天操夜夜肏| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 亚洲精品婷婷| 99人人干| 这里只有精品96| 精品国产一区二区三区四区阿崩| 婷婷5月久久综合网站| 久久久天堂国产精品女人| 免费看欧美成人A片无码| 色色99| www.激情| 婷婷中文网站| 亚洲综合色婷婷| 一起草AV| 婷婷十月丁香| 色五月婷婷av| 成人综合网站| 五月婷婷黄色毛片| 丁香婷婷五月六月久久| 六月丁香射婷婷欧美色图片| 新精品99| 亚洲网视屏| 91视频一起草| 深爱网深爱综合网| www,26uuu,c0m,色情| 激情五月天综合| www.91婷婷| 久久婷婷啪啪视频| 丁香婷婷五月份| 青青操日本摸摸看看| 丁香五月婷婷少妇| 久久九九综合| 天天干天天爽天天操| 思思热视频| 这里只有久久精99| 欧美在线97| 五月婷婷啪啪| 久久天堂色| www超碰| 亚洲性爱99在线| 五月天六月色| 51精品国自产在线| 日本三级韩三级99久久| 人人操人人爱丁香五月| 色色亚洲视频| 踪合专区啪啪| 午夜丁香五月天综合| 亚洲第一黄网| 狠狠综合久久综合| 亚洲射激情| 狠狠色大香蕉| 伊人99久久| 色狠狠综合网| 久久婷婷综合五月天| 欧美婷婷五月丁香| 丁香五月大香蕉AV| 久久视频九九视频| 中文字幕AV网址| 精品欧美一区二区三区久久久| 性爱网六月丁香| 五月婷六月综合在线观看| 美女妹子后射视频网站在线观看| 色综合色色| 97色啪| 色婷婷深爱五月| 欧美天堂久久| 婷婷自拍| 99视频只有这里精品| 超碰在线成人| 五月婷婷激情刺激| 欧美日本黄色| 色偷偷色婷婷| 婷婷六月综合基地| 99ri国产精品| 天天橾夜夜爽| 激情综合网激情五月婷婷| 激情婷婷在线中文字幕| 欧美激情VA永久在线播放| 免费观看全黄做爰的视频| 99精品在线观看| 丁香五月欧美| 91色综合网| 噜噜狠狠色综无码久久合欧美| 亚洲网综合在线| 丁香亭亭久久| 色色操| 亚洲永久免费| 婷婷开心激情| 亚洲婷婷视频| 婷婷五月综合视频免费播放| 91聚色综合网| 精品一区二区三区木瓜| Blackedraw视频一区二区| www.天天干.com| 欧美性爱五月天| 偷偷操99| XX色综合| 婷婷五月天伊人在线| 色五月91| 色色色视频免费无码| 激情五月影院| sisi热国产| 激情五月天社区| 99er这里只有精品| 中文字幕 中文字幕明步 | 五月婷婷之婷婷| 国产黄色av| 99久久激情视频| www.99操| 亚洲啪啪网| 色欲五月婷婷| 99精品免费视频| 天天色综和网| 成熟妇人A片免费看网站| 久久6这里只有精品| 婷婷综合久久| 99久久九九| 色婷婷色综合| 99热精品在线在线| 热99这里只是精品| 极品人妻VIDEOSSS人妻| 狠狠插日日干撸| 99热99| www.婷婷,com| 色婷婷视频| 九九综合九| 另类小说激情五月天| 激情久久丁香| 中文字幕无码人妻少妇免费视频 | 成人AV在线中文版| 久久婷婷五月天激情| 人伦30P| 91九色精品熟女内射| 五月婷久久| 无码人妻一区二区一牛影视| 久久这里只有精品1| 七月丁香婷婷 色色| 美女丁香五婷婷| 色呦呦美女| 五月婷婷六月丁香| 五月天婷婷色综合| 激情五月深爱五月| 色哟呦av| 99热超碰| 99这里都是精品6| 成人日韩欧美| 久久99免费视频| 超碰在线人妻| 色色色图| 五月丁香啪啪激情| AV操逼网| 99热免费18| 九热视频| 久久看婷婷| 最新精品视频99| 激情啪啪五月| 三日本无码| 夜夜爽天天干| 色久综合| 婷婷五月骚厕所| 色欲天天综合网| 97碰碰九九视频| 99久久婷| 婷婷五月天福利| 伊人六月丁香婷婷| 91狠狠综合久久| 婷婷色六月| 成人无码髙潮喷水A片| 婷婷五月AV| 五月丁香激情六月| 亚洲色婷婷网站| 嫩草视频在线观看| www.久久爱.c n| 五月开心播播网| WWW,五月| 五月丁香综合啪啪| 欧美激情VA永久在线播放| 婷婷成人丁香色情基地30 | av色婷婷| 日熟女| 九九无码视屏| 婷婷涩五月天综合| 五月 丁香 欧美| 婷五月天六| 婷婷丁香18| 欧美色色色| 日韩一级片| 91精品久久久久、久五月天| 99久久6| 99成人无码| 丁香五月天天日| AV色五月婷婷| 热的国产99热| 青青.com| 久久亚洲精品成人无码网站导航| 亚洲国产精品成人免费一区久久久在线观看AAAA | 免费看欧美成人A片无码| 亚洲九九夜夜| 五月天精品视频| AV在线免费播放| 激情啪啪五月| 婷婷色情网| 激情视频综合| 婷婷涩五月| 在线婷婷| 国产成人综合网| 人人草人人舔| 中文中文在线| 婷婷五月天大香蕉在线视频观看| 99国产欧美视频| 一级黄色操B| yw.av| 97伦色婷婷| 亚洲成人综合网在线免费观看| 婷婷五月综合基地| 五月婷免费视频| 人人综合久| 超碰人人超碰| 熟女乱论网| 清色五月天| 九九爱看亚洲| 天天婷婷综合亚洲亚洲| 色五月综合在线| 丁香六月啪| 99无码精品| 极品人妻VIDEOSSS人妻| 亚洲第二AV| 日韩AV在线免费观看| 九九99精品视频| 人妻久久久久| 国产精品视频久久99| 人人妻久久妻| 九月丁香婷婷| 色色色香蕉五月婷| 中文字幕激情综合| 婷婷第六色| 免费九九热| 欧美97p| 99热亚洲| 欧美私人家庭影院| 丁香五月123| 天天色综和网| 这里有精品2| 日韩欧美颜射| www,99热在线观看| www狠狠| 六月香五月婷| 亚洲色综合| 中文字幕无码人妻少妇免费视频 | 亚洲色综久久五月| 婷婷丁香第一页| 99.N在线视频| 国产精品日本一区二区在线播放 | 五月婷A V在线| 婷婷综合日本| 日批在线看| 亚洲成人网站在线播放| 亚洲综合网在线| 国产超碰人人| 久久丝丝热| 婷婷色五月天在线| 色婷婷成人做爰A片免费看网站 | 综合久久9| 亚洲日本韩国| 第四色激情网| 色五月天婷婷| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 狠狠综合网| 五月开心播播网| 涩五月丝袜婷婷| 亚洲五月天天| 天天精品视频免费观看| 日本黄色精品| 久久这里只有欧美| 国产精品久久久久久久久久| 五月婷色| 超碰激情网| 狠狠色综合久久久久| 婷婷五月天受日本法律保护| 在线1青婷| 国产真实乱了老女人视频| 欧美大香蕉视频| 啄木鸟丝袜美女福利视频| 色墦五月丁香| 五月天激情综合首页| 色情五月综合婷婷| 免费观看高清无码| 开心五月综合| 丁香五月大香蕉在线99| 激情婷婷五六月天| 五月婷婷五月天| 九久9精品| 男人的天堂五月丁香| 91VIP在线观看| 五月久久亚洲| 97色五月婷婷在线| 可以直接看的av网站| 五月婷婷综合视频| 日本a片网址| 婷婷丁香熟妇综合网| 丁香五月天天| 女同激情久久av久久| 婷婷五月天精品| 激情五月天婷婷丁香 | 五月婷婷激情| 色婷婷色99国产综合精品| 一起草无码| 夜色综合网| 五月婷婷综合性爱噜噜| 天天在线XXX| 狠狠色狠狠爱| 五月天丁香婷婷社区| 亚洲欧美另类在线23p| 最近免费中文字幕大全高清大全1| 99这里有精品久久97| 99操| 91热er| 97操操网| 丁香六月五月婷婷| 99少妇精品| 色婷婷色99国产综合精品| 亚洲精品网址| 人人97碰| 91九色国产| 69精品人人人人| 色黑鬼导航| 五月综合激情| 五月综合缴情网| 偷偷操九九| 狠狠干狠狠干| 色色日韩| 久99久视频精品| www.天天日| WWW久久久| 激情小说五月天| 五月天色五月天| 五月丁香 狠狠爱| 天天色天天操天天射| 色婷婷88| 精品成人无码A片观看香草视频| 五月婷婷深爱六月| 日本久久99久久| 99视频内射三四| www久| 操操操B| 欧美激情VA永久在线播放| 中文字幕在线资源| 伊人网色婷婷五月天| 五月性色| 三区激情四射av| 操比激情五月| www婷婷| 日日狠狠久久偷偷四色综合免费| 亚洲婷婷五月天在线激情综合网| 五月婷婷影视| 91精品久久久久| 开心五月综合激情综合五月| 国产综合视频婷婷| 七月婷婷色香综合网| 中文字幕成人影视| 精品综合久久久久久五月天| 六月色激情| 在线中文AV| 欧美视频五区| 午夜国产精品AV在线播放| 九月影院義母在线播放| 无码AV大香线蕉伊人| 色色网站在线| 婷婷五月激情视频在线| 综合亚洲色色| 五月天婷婷基地| 激情黄色五月天| 色五月婷婷影院| 激情内射人妻1区2区3区| 播五月开心婷婷欧美综合| 天天肏天天插| 99re在线视频精品,这里只有精品18,| 91在线人| 日本美女97在线视频| 99在线观看| 婷婷五月婷| 翔田千里aV中文字幕| 991精品在线视频| 欧美婷婷丁香社区在线播放| 久久久97| 亚洲不卡| www.夜夜操| 1010日日无码| 五月天开心色情网| 深爱五月月天| 操97| 色色色婷婷五月天| 99九九在线视频| 五月情涩综合婷婷| 影音先锋一区二区资源站| AV中文在线| 伊人99热| 五月丁香福利| 97碰人人操| 99爱视频在线观看| 亚洲综合色色色| 婷婷丁香五月六月激情| 综合色色网| 97精品综合久久| 久久天堂网| 婷婷中文字幕网| 婷婷影院欧美| 九月丁香八月婷婷久久综合久97| 婷婷香蕉视频| 9热在线视频| 激情婷婷五月丁香啪啪啪| 无码免费人妻A片AAA毛片西瓜| 五月天狠狠| 99热在线只有精品| 婷婷网五月天| 狠狠爱综合网| 99精品偷自拍| 老美AA片| 久热精彩视频98| 色婷av| 超级碰碰碰碰视频| 丁香激情四射| 超碰激情网| 六月99天天婷婷激情综合| 狠狠舔| 久久婷婷丁香五月一二三| 99视频久久免费视频| 丁香色情五月天| 综合在线丁香五月| 99热这里只有精品官网| 天天爽夜爽| 成人av播放| 精品久久久人妻| 99网| 怡春院天天干| 九九色影院| 99re久热只有精品6在线直播| 六月丁香深深爱| 99热这里只有精品 搜| 欧美黄色AA片哗啦啦啦| 97香蕉碰碰人妻国产欧美| 精品久久99| 午夜少妇在线观看视频| 91人人人人人| 色婷婷瘦婷婷日韩| 欧美婷婷六月丁香综合色| 婷婷五月天xxx| 五月天综合图片| 99精品一二三四视频| 五月天成人免费视频| 三级毛片视频| 九九九九无码| 精品九九在线观看视频| 亚洲狠狠狠| 日韩久久色| 俺也去色| av线电影| 日日想日日夜日日操| 久色婷婷200| www夜夜| 久久日婷婷| 婷婷九月激情| 一级二级香港秋霞欧美欧美秋霞| 五月天丁香成人社| 成人免费黄色短视频| 婷婷六月综合| 五月丁香婷庭在线| 这里只有精品2| 国产jd1024基地手机看国产| 婷婷91| 久热这里只有精品视频免费观看| 国产成人网址| 99玖玖在线视频| 五月天综合区| www.日日夜夜.com| 久久精品天| 色99视| 激情综合在线观看| 婷婷五月综合免费在线| 欧美va视频不用播放器的va视频网| 九九视频这里只有精品| 国产3p露脸普通话对白| 91se在线视频| 色爱亚洲| 91丨九色丨首页| 色九月激情综合网| 激情综合网激情五月天| 亚洲综合字幕色色| 久九色| 精品99在线看| WWW.17C亚洲精品| 大香蕉久久久久久久久| 婷婷五月天论坛| 丁香婷婷深情五月亚洲| A级毛片高清免费不卡播放谢谢谢谢| 五月天色导航| 99精品视频在线观看| 另类视在线| 五月丁香六月婷婷操操操| 91麻豆国产三级精品福利在线观看| 激情五月深爱五月观看| 超碰在线免费| 久久伊人婷婷| 亚洲午夜视频| 99噜噜| 99色热视频在线| 亚洲另类AV| 性天天中文网| 婷婷性爱综合| 91人人爽久久涩噜噜噜| 婷婷综合玖玖五月| 乱色色色| 久久性都花花世界成人免费视频| 日韩久久这里只有精品| 开心五月激情网| 婷婷色在线观看| 9l视频自拍九色9l视频自拍九色9l社区| 亚洲视频无| 婷婷五月天伊人网| 激情婷婷综合网| 日婷婷久久开心| 3p久久| 操人久久| 在线视频另类| 色五月丁香网| 丁香六月婷婷综合激情欧美 | 色六月天天激情综合网| 九色婷婷| 婷婷5月开心6月| 欧类av怡春院| 99re这里只有精品在线观看| 久操大屁股女人av| 在线观看婷婷5月| 9久热在线视频精品| 成人视频一区| 五月丁香怕怕综合| 丁香五月激动深爱欧美| 婷色天堂| 婷婷五月激情图片| 九九碰九九爱97超| 婷婷亚洲综合| 日本成人噜噜| 精品久久婷婷| 天天做天天爱| 国精产品一区二区三区| 亚洲AV永久无码影院黑人| 91热视频色网站| 久久女婷| 一级片操逼视频| 五月丁香婷婷欧美| 综合婷婷久久| 极品人妻VIDEOSSS人妻 | 激情国产五月| 狠狠狠狠狠| 91精品综合久久婷婷九色| 99热精品在线观看| 午夜爱爱爱成人| 91久久九| 人人爱国产| 五月天久久www| 激情小说色五月| 日韩精品一区二区亚洲AV观看| 激情婷婷五月久久| www.玖玖九| 色99自拍| 久久婷婷婷婷伊人| 欧美激情-区二区三区| 99热6精品| 。久久久久久久久久久久久久人妻| 熟女啪啪视频| 久久精品国产一区二区三区四区 | www,99视频| 永久精品| 日日综合网| 久久九九怡红院| se婷97| 夜夜操夜夜操| 色五月婷婷九月| 丰满人妻一区三区三区| 色五月女| 婷婷激情五月天小说| AV色五月婷婷| 99视频综合网| 极品少妇高潮啪啪AV无码| 狠狠狠狠狠狠狠狠| 66久久视频在线| 五月丁香婷婷综合视频| 欧美成人在线观看| 深爱激情六月天| 亚洲一区二区无遮挡A片| 色综合色欲综合天天免费 | 五月丁香色婷婷久久| 欧美激情综合| 丁香五月六月| 久久婷婷五月天激情| 久久婷婷五月天懂色| 99精彩视频在线观看| 99久热| 日韩无码色色| 五月开心网| 色爱终和网| 色色影院aaaav| 玖玖色综合网| 丁香五月性爱爱五月| 婷婷五月综合中文字幕| 中文字幕欧美日韩VA免费视频| 天天综合五月| 久久这里有精品在线观看| 久久在线视频只有这里有精品| 六月婷婷色色色| 五月婷婷 自拍| 97久久人人人干| 色五月激情网| 五月丁香婷婷色| 99久久激情视频| 五月丁香色色| 噜噜噜久久| 99热久| 亚洲综合在线丁香五月| 五月天第四色开心色播| 婷婷性爱| 久久九九网| 激情久久久久久| 色婷婷色情| 亚洲成人一区| 97碰免费视频在线| 人人人操| 67194成I人在线观看线路1| 99热在线资源| 久草A片| 久久婷婷激情| 九九99精品视频在线观看| 色婷| 另类A片| 激情综合五月激情XXXX| 在线va网站| 婷婷久久久久久久| 亚洲婷婷月丁香五月| 热久久思思热思思| 婷婷丁香五月麻豆| 99re思思| 六月香五月婷| 伊人午夜综合色啪| 洗浴中心操B视频| 五月婷婷六月丁香激情| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 久久这里只有国产视频| 日本ww亚洲| 综合五月丁香六月婷婷| 久久久天天啊| 色色丁香婷婷| 日本三级韩三级99久久| 精品一二三区久久AAA片| 无码碰碰| 国产综合81p| 97碰碰人人| 26uuu美女三级视频| 99在线视频精品| 婷婷五月丁香六月综合网| 午夜成人综合| 日日噜噜夜夜狠狠久久丁香五月| 性做久久久久久久免费看| 婷婷五月欧美综合| seuuu婷婷| 欧洲一区二区| 五月花婷婷在线精品视频| 色色aⅤ網| 日日噜噜夜夜狠狠久久丁香六月| 婷婷丁香小说| 久热婷婷| 丁香五月欧美婷婷| w婷婷五月婷婷w| 五月噜噜噜色综合| 天天做天天爱综合| 久热超碰| 久久五月婷综合| 大天天伊人| 26UUU成人网| 99色1| 九九aV| 日本二级毛片二级毛片| 九九色播五月丁香| 这里只有精品热| 色婷婷五月综合网| 中文字幕永久免费| 一级片操逼视频| 五月丁香色婷婷色| 天色综合网站| 国产成人网址| 久久丁香婷婷色情综合| 久久曰曰| 久久视频这里99| 亚洲中文乱字字幕在线永久| xxxx五月天色色| 久久丁香五月婷婷激情综合网| 99综合色| 99热免费| 五月天伊人综合| 久久机热思思热| 亚洲视频99| 91久草五月天婷婷| 99re这里只有精品国产99| 看片视频在线免费日产在线看| 1000部毛片A片免费观看| 五月婷婷久久久久| 丁香五月天五码婷婷| 色婷婷99| 午夜成人在线免费视频| 成人婷婷深爱综合网| 欧美精品18| 九九亚洲天堂| 异能之下短剧免费观看全集| 人妻久久久久久久| 日韩国产在线精品| 欧美va视频不用播放器的va视频网| 97五月天| 99视频日韩| 婷婷久久国产视频| 五月丁香六月婷婷操操操| 琪琪色五月婷婷老师| 久久天天天| 色婷婷69| 9热在线视频| 久久免费婷婷视频| 日本欧美成人片AAAA| 色呦呦美女| 五月婷婷五月天| 最熟少妇乱码| 五月丁香六月激情综合在线| 国产真人做爰视频免费| 丁香5月激情网| 综合激情在线视频| 99热只有精品在线| 五月丁香啪啪伦理电影| 亚洲成人网址在线观看| 五月丁香人人婷婷在线观看| 国产 码在线成人网站| www超碰| 中文无码婷婷| 99久精品视频| 欧美丁香五月97色| 狼人狠狠操| 久re热视频| 色涩影院六月丁香| 91视频五月丁香| 人妖色AV色综合| 天天干夜夜谢| 超碰在线观看caop| nvrentiantang av| 成年视频免费观看| 99热综合网| 久久婷婷的综合色丁香五月| 五月丁香网中文字幕| 涩五月婷婷| 婷婷另类开心| AA片在线观看视频在线播放| 亚洲 视频 导航 一区| 婷婷五月亚洲综合| 九九综合九九| 来吧亚洲综合网| 亚洲国产色婷婷| 国产精产国品一二三在观看 | 丁香花色色网| 五月天激情综合| 欧美丁香婷婷天天操| 大香网伊人久久综合| 五月丁香直播| 婷婷五月丁香基| 婷婷色情六月| 久久视频婷婷| www.婷婷六月天| 五月天婷婷自拍图片在线观看| 野战J办公桌椅H| 五月丁香六月激情啪| 婷婷色色欧美综合网| 天天综合亚洲| 六月婷色| 五月天啪啪啪| 日日干综合| 亚洲9久久精品| 婷色五月天| 久久久com| 日韩黄色影院| www.99视频| 色噜噜夜夜夜综合网| 五月天成人免费视频| 九九热这里只有国产精品| 狠狠色狠狠色综合日日91| 伊人玖玖网| 综合99在线| 97se在线视频| 人人操97| 亚洲婷婷乱乱丁香| 婷婷九九视频| 激情五月天社区| 人妻中文在线| 噢美99| 嫩草视频在线观看| 五月激情精品视频| 免费看欧美成人A片无码| 婷婷五月天电影网| 九九九这里只有精品| 亚洲情综合五月天| 天天舔日日肏夜夜爽| 啊v视频在线观看| 亚洲网综合在线| 丁香六月婷婷久久综合| 99精品热| 色婷婷操逼网| 开心五月婷婷| 亚洲人妻电影| 就去涩涩丁香五月天| 爆乳熟妇一区二区三区爆乳照片| 亚洲精品久久久久久久久久吃药| 色导航色婷婷五月天在线观看| 婷婷激情五月天7| 99热www| 99久视频| 婷婷色婷婷| 亚洲、热| 久久XX| 密视AV综合在线| 人人操av| 97色色网| 天天影视色综合网| 91超级碰| 色色色在线观看| 激情综合视频| 天天天天干| 另类激情五月| 亚洲天天综合| 九九热这里都是精品6| 丁香五婷婷| 欧美婷婷九月| 射婷婷中文字幕| 色色性爱视频| 五月天精品视频| 丁香婷婷色五月合集| 成人深爱丁香五月| 97婷婷丁香| 免费人人操| H亚洲| 777精品久无码人妻蜜桃| 丁香 久久| 伊人啪啪网| 噜噜噜色噜噜| 五月丁了香蕉综合| 99热免费网站| 五月丁香免费视频| 热99久| 五月婷婷婷| 天堂网操| 韩国中文字幕91| 国产日韩欧美| 五月婷婷激情| 五月丁香啪啪综合| 综合色色色色色色| 丁香五月婷婷色| 久香草视频在线观看| 五月丁香综合激情在线观看| 视频这里只有精品| 91狠狠综合久久久| 色婷婷丁香综合中文字幕| 日本高清不卡免费一区二区三区| 影音先锋日本三级资源| 嫩草AV久久伊人妇女超级A| 泰州成人视频| 99精品网| 韩国真做片在线观看| 91蜜桃婷婷狠狠久久综合9色| 丁香五月婷婷啪啪| 婷婷久久大香蕉| 五月色网| 久久久亚洲精品一区二区三区浴池 | 9999热精品在线免费播放| 天天噜天天爱| 亚洲视频丁香网va| 激情五月婷婷伊人| www.五月丁香av| 久久婷婷五月综合色丁香| 国产精品A片| 五月丁香六月婷婷的女人| 色五月丁香婷婷| 亚洲色另类| 人人九色| 开心激情站| 欧美性生交XXXXX无码小说| 亚洲国产精品二二三三区| 亚洲无码影片| 大香蕉人人网| 婷婷五月色影视先锋| 国产婷婷色五月| 99热热九九| 深爱开心激情网| 直接看的AV| 五月婷婷激情综合| 99日本精品视频热| 久久精品99国产精品日本 | 六月婷婷开心| 久久综合中文字幕| se99视频| 丁香婷婷五月份| 婷婷丁香五月天熟女丝袜| 玖玖在线| 色欲香综合网| 激情六月综合| 五月婷亚洲精品AV天堂| 另类少妇人与禽zOZZ0性伦| 久久久天堂国产精品女人| 99干在线| 人人人操Av| 99色一| 婷婷五月综合啪| 日产精品一线二线三线芒果| 日本三级网址| 婷婷五月色| 99热精品在线观看| 激情综合五月婷婷| 日本色超碰| 玖玖爱综合网| 激情五月丁香综合蜜桃| 婷婷五月天开心网| www.久久爱| 久色精品| www.婷婷五月| 黄色99网| 精品人妻伦一二三区久久| 丁香五月婷婷基地| 91VIP在线观看| 久热婷婷| 婷婷五月伦理网站| 色综合久久888| av网站不卡在线| 99操视频| 丁香五月婷婷手机| 99久视频| 国产亚洲成人综合| 99久久精彩视频。| 天天天天爽爽天干| 狠狠穞A片一區二區三區| 五月婷婷精品视频| 久久永久网址| 五月天天久久香| 99国产精品久久久久久久久久久| 久久大香蕉伊人| 91视屏在线观看com.wwwvv| 色五月激情综合| 久久久亚洲精品一区二区三区浴池| 99九九99九九九视频精彩| 九九热视频免费的| 日韩成人精品中文字幕| aV欲望人妻中文字幕| 熟女乱论网| 夜夜躁婷婷AV| 热婷婷久| 久婷婷久草| 怡红院视频| www.com久久久久久久久久久久久久久久久| 91偷拍视频| 欧洲第一久色| 99热这里| 香蕉婷婷| 日韩 中文 欧美| 99情色五月天| 狠狠色综合777| 久色网| 婷婷综合在线播放| 久久A区B区| 超碰v| 色爱综合视频| av在线观看免费| 久久色五月| 第四色婷婷丁香五月| BBWCUCKOLD精品熟妇| 美女va| 成人丁香五月| 大香蕉久久伊人网| 久色五月| 亚洲经典三级| 六月香五月婷| 色五月激情网| 91久久婷婷| 俺去也五月天婷婷| 91丨九色丨熟女| 久久五月天视频| 六月婷婷视频| 色色色成人网| 五月伊人婷婷999| 一级操逼内射在线视频| 国产精品人成A片一区二区| 天天久久人人| 色色婷婷五月天| 另类在线| 无码任你操| 婷婷玖玖五月天| 丁香色五月 97干| 五月丁香啪啪啪综合网|