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

ARTICLE DETAIL

資訊詳情

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

STM32開發(fā)入門:從CubeMX配置到Keil編程實(shí)戰(zhàn)

STM32開發(fā)入門:從CubeMX配置到Keil編程實(shí)戰(zhàn) 1. 從零開始為什么STM32開發(fā)繞不開CubeMX與Keil如果你剛開始接觸STM32面對那一堆寄存器、時鐘源和引腳配置是不是感覺頭大我剛開始學(xué)的時候也是對著手冊一行行敲代碼配置一個時鐘樹能折騰半天還容易出錯。后來用上了ST官方推出的STM32CubeMX才算是真正找到了“正確打開方式”。它本質(zhì)上是一個圖形化的初始化代碼生成器你點(diǎn)點(diǎn)鼠標(biāo)配置好時鐘、外設(shè)、引腳它就能為你生成一個完整、規(guī)范的HAL庫工程框架。這不僅僅是省事更重要的是它生成的代碼結(jié)構(gòu)清晰、符合最佳實(shí)踐能幫你規(guī)避很多底層配置的坑。而Keil MDK現(xiàn)在叫Keil MDK-ARM則是我們把這些配置好的框架變成實(shí)際運(yùn)行在芯片里程序的“編譯車間”。它集成了編輯器、編譯器、調(diào)試器尤其是其強(qiáng)大的調(diào)試功能對于嵌入式開發(fā)來說不可或缺。所以一個典型的STM32開發(fā)流程往往是用CubeMX搭好骨架配置 - 用Keil填充血肉寫業(yè)務(wù)邏輯 - 再用Keil燒錄和調(diào)試。今天我就以最經(jīng)典的STM32F103C8T6俗稱“藍(lán)橋杯”或“最小系統(tǒng)板”核心為例帶你走一遍這個完整流程重點(diǎn)拆解時鐘樹配置、GPIO操作以及如何在Keil工程中優(yōu)雅地添加自己的文件模塊。這些是基石搞明白了后面玩轉(zhuǎn)串口、定時器、ADC就輕松多了。2. 工程創(chuàng)建與時鐘樹給芯片一顆穩(wěn)定跳動的心臟拿到一塊新的STM32芯片第一件事不是急著寫代碼而是先想好它要怎么“跑”起來。這里說的“跑”首先指的就是時鐘。時鐘對于單片機(jī)就像心跳對于人所有的指令執(zhí)行、外設(shè)工作都依賴于這個節(jié)拍。STM32的時鐘系統(tǒng)相當(dāng)復(fù)雜和靈活這也是新手最容易懵的地方。CubeMX的時鐘樹配置界面就是把這張復(fù)雜的網(wǎng)用圖形化方式呈現(xiàn)給你讓你清晰地配置。2.1 創(chuàng)建新工程與芯片選型打開STM32CubeMX點(diǎn)擊“New Project”。在芯片選擇器里你可以直接輸入“STM32F103C8T6”。選中后右側(cè)會顯示芯片的引腳圖和基本資源。這里有個細(xì)節(jié)F103C8T6有兩個型號區(qū)別在于Flash大小64K或128K通常選64KB的那個就行它對應(yīng)Medium-density devices。確認(rèn)后項目就創(chuàng)建好了。接下來進(jìn)入配置界面。主界面分為三塊Pinout Configuration引腳和外設(shè)配置、Clock Configuration時鐘樹配置、Project Manager項目管理。我們按順序來。2.2 時鐘源配置選擇動力來源STM32的時鐘可以從多個源頭獲取就像汽車可以用汽油、電或者混動。我們主要關(guān)心兩個高速時鐘源HSIHigh Speed Internal oscillator芯片內(nèi)部自帶的RC振蕩器頻率通常是8MHz對于F1系列。優(yōu)點(diǎn)是上電就有無需外部電路缺點(diǎn)是精度稍差±1%受溫度影響。HSEHigh Speed External oscillator需要你在電路板上焊接的外部晶振比如常見的8MHz。精度高±10~50ppm穩(wěn)定性好是大多數(shù)應(yīng)用的首選。我們的目標(biāo)是使用HSE并通過PLL鎖相環(huán)倍頻到72MHz這是F103系列的最高主頻。為什么是72MHz因?yàn)檫@是芯片設(shè)計的最佳性能點(diǎn)APB總線、Flash等待周期等都為此優(yōu)化過。在Clock Configuration標(biāo)簽頁你會看到一個樹狀圖。首先找到HSE的源頭。點(diǎn)擊它旁邊的選擇框?qū)⑵湓O(shè)置為“Crystal/Ceramic Resonator”。這意味著我們使用外部晶振。然后找到PLL Source Mux。點(diǎn)擊它選擇“HSE”。這樣PLL的輸入時鐘就來自外部晶振。接著配置PLLMUL。我們的HSE是8MHz要倍頻到72MHz所以倍頻系數(shù)應(yīng)該是9倍8MHz * 9 72MHz。在樹圖上找到PLLMUL將其設(shè)置為“x9”。此時System Clock Mux的源應(yīng)該自動或手動選擇為“PLLCLK”。你會看到SYSCLK的值變成了72MHz。2.3 總線時鐘分頻合理分配動力SYSCLK是內(nèi)核Cortex-M3的時鐘但芯片上其他總線AHB、APB1、APB2跑多快需要分頻設(shè)置。這就像發(fā)動機(jī)轉(zhuǎn)速很高但傳到輪子需要經(jīng)過變速箱。HCLKAHB總線時鐘通常直接等于SYSCLK72MHz不進(jìn)行分頻。AHB總線連接著內(nèi)存、DMA等高速設(shè)備。PCLK1APB1總線時鐘APB1是低速外設(shè)總線掛載了I2C1、SPI1注意F1的SPI1在APB2上、USART2/3、定時器2/3/4等。芯片手冊規(guī)定其最高頻率為36MHz。所以我們需要對72MHz進(jìn)行分頻通常選擇2分頻得到36MHz。在時鐘樹上找到APB1 prescaler設(shè)置為“/2”。PCLK2APB2總線時鐘APB2是高速外設(shè)總線掛載了GPIOA~G、ADC1、SPI1、USART1、定時器1等。它可以跑到72MHz。所以我們保持其預(yù)分頻器為“/1”即72MHz。配置完成后你的時鐘樹應(yīng)該顯示HSE8MHz - PLL x9 - SYSCLK72MHz - HCLK72MHz - PCLK136MHz - PCLK272MHz。各個節(jié)點(diǎn)的頻率都變成了綠色表示在合理范圍內(nèi)。這里一個關(guān)鍵的避坑點(diǎn)務(wù)必確認(rèn)PCLK1APB1不超過36MHz否則相關(guān)外設(shè)如某些定時器工作會異常這種錯誤編譯器不會報錯但程序行為詭異很難排查。2.4 生成代碼前的項目設(shè)置配置完時鐘先別急著生成代碼。切換到Project Manager標(biāo)簽頁。Project Name給你的工程起個名字比如“Test_GPIO”。Project Location選擇一個干凈的目錄。Toolchain / IDE這里至關(guān)重要選擇“MDK-ARM V5”。這是生成Keil5工程。在Code Generator區(qū)域我強(qiáng)烈建議勾選這兩個選項Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral為每個外設(shè)的初始化代碼生成獨(dú)立的.c和.h文件。這樣代碼結(jié)構(gòu)非常清晰比如gpio.c、usart.c而不是所有初始化代碼都堆在main.c里。Set all free pins as analog (to optimize power consumption)將所有未使用的引腳設(shè)置為模擬輸入模式。這是一個非常好的習(xí)慣可以降低功耗防止懸空引腳因干擾產(chǎn)生意外功耗或電平波動。最后點(diǎn)擊右上角的“GENERATE CODE”CubeMX就會在你指定的目錄下生成一個完整的Keil工程文件.uvprojx以及所有HAL庫源碼和配置文件。3. GPIO實(shí)戰(zhàn)點(diǎn)亮LED與讀取按鍵工程生成后我們用最經(jīng)典的“點(diǎn)亮LED”和“讀取按鍵”來驗(yàn)證GPIO的輸入輸出功能。在動手寫代碼前我們需要先在CubeMX里完成硬件連接的圖形化配置。3.1 硬件連接與CubeMX引腳配置假設(shè)我們的硬件連接是LED陰極接在PC13引腳很多最小系統(tǒng)板自帶LED在此引腳陽極通過限流電阻接3.3V。所以我們需要控制PC13輸出低電平來點(diǎn)亮LED。按鍵一端接PA0引腳另一端接地。所以我們需要將PA0配置為上拉輸入當(dāng)按鍵按下時PA0讀到低電平松開時由于內(nèi)部上拉讀到高電平。回到CubeMX的Pinout Configuration視圖。在芯片引腳圖上找到PC13左鍵點(diǎn)擊它。會彈出一個功能菜單。因?yàn)槲覀円盟?qū)動LED所以選擇“GPIO_Output”。你還可以在右側(cè)的“System Core” - “GPIO”設(shè)置里給這個引腳起個用戶標(biāo)簽User Label比如“LED”。這樣生成的代碼里引腳會用LED_GPIO_Port和LED_Pin這樣的宏代替提高可讀性。同樣找到PA0引腳點(diǎn)擊選擇“GPIO_Input”。在右側(cè)GPIO設(shè)置中需要配置其模式。對于接地的按鍵我們需要啟用內(nèi)部上拉電阻這樣引腳默認(rèn)就是高電平。所以將PA0的“GPIO Pull-up/Pull-down”設(shè)置為“Pull-up”。同樣給它設(shè)置一個用戶標(biāo)簽如“KEY”。3.2 GPIO的八種模式深度解析為什么按鍵要設(shè)置“上拉輸入”這就涉及到GPIO的8種工作模式這是理解STM32 GPIO的關(guān)鍵。在HAL庫中主要通過GPIO_InitTypeDef結(jié)構(gòu)體中的Mode和Pull兩個成員來配置。4種輸入模式輸入浮空GPIO_MODE_INPUT_FLOATING引腳內(nèi)部既不上拉也不下拉完全由外部電路決定電平。當(dāng)引腳懸空時電平不確定極易受干擾。除非外部電路有確定的上/下拉否則慎用。輸入上拉GPIO_MODE_INPUT_PULLUP啟用內(nèi)部上拉電阻約30kΩ-50kΩ。引腳默認(rèn)被拉至高電平邏輯1。我們的按鍵就適合用此模式按鍵按下時拉到地低電平。輸入下拉GPIO_MODE_INPUT_PULLDOWN啟用內(nèi)部下拉電阻。引腳默認(rèn)被拉至低電平邏輯0。如果按鍵另一端接的是VCC就需要用此模式。模擬輸入GPIO_MODE_ANALOG關(guān)閉施密特觸發(fā)器引腳直接連接到ADC或比較器等模擬外設(shè)。用于采集模擬信號如電壓。4種輸出模式注意輸出模式可以同時配置上/拉下拉但通常不需要5.開漏輸出GPIO_MODE_OUTPUT_OD輸出級只有一個N-MOS管。當(dāng)輸出邏輯1時MOS管關(guān)閉引腳呈高阻態(tài)相當(dāng)于斷開輸出邏輯0時MOS管導(dǎo)通引腳接地。特點(diǎn)可以實(shí)現(xiàn)“線與”功能多個開漏輸出接在一起任一輸出0則總線為0方便電平轉(zhuǎn)換外接上拉電阻到不同電壓。I2C總線就必須用開漏模式。 6.推挽輸出GPIO_MODE_OUTPUT_PP輸出級有P-MOS和N-MOS兩個管子像推挽一樣工作。輸出1時P-MOS導(dǎo)通輸出高電平VDD輸出0時N-MOS導(dǎo)通輸出低電平GND。特點(diǎn)驅(qū)動能力強(qiáng)高低電平明確是驅(qū)動LED、繼電器等最常用的模式。我們的LED就應(yīng)用此模式。 7.開漏復(fù)用功能GPIO_MODE_AF_OD用于片內(nèi)外設(shè)如I2C、USART需要開漏輸出時。 8.推挽復(fù)用功能GPIO_MODE_AF_PP用于片內(nèi)外設(shè)如SPI、USART需要推挽輸出時。一個常見誤區(qū)有人發(fā)現(xiàn)將GPIO配置為輸出模式后無法正確讀取引腳電平。這是因?yàn)樵谳敵瞿J较伦x取GPIOx-IDR寄存器得到的是“輸出數(shù)據(jù)寄存器”經(jīng)過一個選擇器后的狀態(tài)并非直接來自物理引腳。要讀取引腳的實(shí)際電平即“回讀”需要將引腳暫時設(shè)置為輸入模式或者使用HAL_GPIO_ReadPin函數(shù)該函數(shù)會讀取IDR寄存器。所以如果你需要真正的“回讀”功能比如讀取一個輸出引腳上連接的其他器件的狀態(tài)最穩(wěn)妥的辦法是臨時切換為輸入模式讀完再切回來。3.3 編寫第一個應(yīng)用代碼LED閃爍與按鍵檢測用Keil MDK打開CubeMX生成的工程。打開Src/main.c找到main函數(shù)。在/* USER CODE BEGIN 2 */和/* USER CODE END 2 */之間這是CubeMX為用戶代碼保留的安全區(qū)域重新生成代碼不會覆蓋我們編寫業(yè)務(wù)邏輯。/* USER CODE BEGIN 2 */ // 初始化一個變量用于記錄LED狀態(tài) uint8_t led_state 0; /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ // 1. 按鍵檢測如果KEY被按下低電平 if (HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin) GPIO_PIN_RESET) { // 簡單的延時消抖實(shí)際項目建議用定時器 HAL_Delay(20); // 延時20ms // 再次確認(rèn)按鍵是否仍被按下 if (HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin) GPIO_PIN_RESET) { // 等待按鍵釋放 while (HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin) GPIO_PIN_RESET); // 按鍵動作生效翻轉(zhuǎn)LED狀態(tài) led_state !led_state; if (led_state) { HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET); // 低電平點(diǎn)亮LED } else { HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET); // 高電平熄滅LED } } } // 可以在這里添加其他任務(wù) HAL_Delay(10); // 主循環(huán)延時降低CPU占用 } /* USER CODE END 3 */這段代碼實(shí)現(xiàn)了一個帶消抖的按鍵控制LED開關(guān)功能。HAL_GPIO_ReadPin和HAL_GPIO_WritePin是HAL庫提供的標(biāo)準(zhǔn)讀寫函數(shù)。注意我們的LED是低電平點(diǎn)亮所以GPIO_PIN_RESET對應(yīng)點(diǎn)亮。編譯與下載點(diǎn)擊Keil工具欄的“Build”F7編譯工程。如果沒有錯誤連接好ST-Link/V2等調(diào)試器點(diǎn)擊“Load”F8即可將程序下載到芯片中。按下復(fù)位鍵你應(yīng)該能看到按下按鍵時LED的狀態(tài)會發(fā)生改變。4. 在Keil工程中優(yōu)雅地添加與管理源文件當(dāng)你的項目越來越大把所有代碼都寫在main.c里會變得難以維護(hù)。我們需要將功能模塊化封裝成獨(dú)立的.c和.h文件。如何在Keil工程中添加這些文件并讓編譯系統(tǒng)認(rèn)識它們是必須掌握的技能。4.1 手動添加文件步驟與陷阱假設(shè)我們要創(chuàng)建一個bsp_led.c和bsp_led.h文件來管理LED操作。創(chuàng)建文件在工程目錄下建議放在與Core/Src同級的User或BSP文件夾里用記事本或VS Code等編輯器新建這兩個文件。編寫頭文件bsp_led.h#ifndef __BSP_LED_H #define __BSP_LED_H #include main.h // 這里包含了STM32F1xx_hal.h和引腳定義 // 宏定義提高可讀性如果CubeMX已生成可直接用 #define LED_ON() HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET) #define LED_OFF() HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET) #define LED_TOGGLE() HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin) // 函數(shù)聲明 void LED_Init(void); // 初始化函數(shù)如果CubeMX已初始化GPIO此函數(shù)可為空或進(jìn)行額外設(shè)置 void LED_Blink(uint32_t interval_ms); // 一個簡單的閃爍函數(shù)示例 #endif /* __BSP_LED_H */編寫源文件bsp_led.c#include bsp_led.h // 初始化函數(shù) void LED_Init(void) { // CubeMX生成的MX_GPIO_Init()已經(jīng)完成了GPIO的初始化。 // 這里可以放置一些額外的初始化比如初始化一個用于閃爍的定時器或者設(shè)置初始狀態(tài)。 LED_OFF(); // 默認(rèn)關(guān)閉LED } // 簡單的阻塞式閃爍函數(shù)僅用于示例實(shí)際應(yīng)用建議用定時器非阻塞實(shí)現(xiàn) void LED_Blink(uint32_t interval_ms) { LED_ON(); HAL_Delay(interval_ms); LED_OFF(); HAL_Delay(interval_ms); }在Keil中添加文件到項目在Keil左側(cè)的“Project”窗口中找到你想添加文件的分組例如“Application/User”。右鍵點(diǎn)擊該分組選擇“Add Existing Files to Group...”。瀏覽并選中你剛創(chuàng)建的bsp_led.c文件注意只添加.c文件.h文件不需要也不能被添加到分組中。添加成功后你會在該分組下看到bsp_led.c。包含頭文件路徑這是最關(guān)鍵也是最容易出錯的一步Keil編譯器需要知道你的bsp_led.h在哪里。點(diǎn)擊Keil工具欄的“Options for Target”魔術(shù)棒圖標(biāo)。切換到“C/C”選項卡。在“Include Paths”一欄點(diǎn)擊末尾的“...”。點(diǎn)擊“New (Insert)”按鈕文件夾圖標(biāo)上有個*號然后點(diǎn)擊“...”瀏覽文件夾。找到你存放bsp_led.h的目錄例如../User選中并點(diǎn)擊“OK”。確保這個路徑出現(xiàn)在列表里然后點(diǎn)擊“OK”關(guān)閉所有窗口。常見錯誤“檢測到include錯誤請更新includepath”這個錯誤就是因?yàn)榫幾g器在指定的包含路徑里找不到你#include的頭文件。請嚴(yán)格按照上述步驟5將存放所有自定義頭文件的目錄都添加到“Include Paths”中。路徑可以使用相對路徑如../User這樣工程移動位置后依然有效。4.2 模塊化編程的最佳實(shí)踐頭文件衛(wèi)士#ifndef...#define...#endif防止頭文件被重復(fù)包含這是必須的。僅包含必要的頭文件在.c文件中包含對應(yīng)的.h文件在.h文件中只包含其他模塊的.h文件或必要的標(biāo)準(zhǔn)頭文件。避免在.h文件中包含復(fù)雜的實(shí)現(xiàn)或變量定義extern聲明除外。使用extern聲明全局變量如果模塊間需要共享全局變量應(yīng)在.h文件中用extern聲明在.c文件中定義。// 在 bsp_key.h 中 extern volatile uint8_t g_key_pressed_flag; // 在 bsp_key.c 中 volatile uint8_t g_key_pressed_flag 0;函數(shù)接口清晰模塊對外只暴露必要的初始化函數(shù)和控制函數(shù)內(nèi)部狀態(tài)用靜態(tài)static變量隱藏起來。利用CubeMX的分外設(shè)生成前面提到在CubeMX中勾選“為每個外設(shè)生成獨(dú)立的.c/.h文件”這本身就是一種極佳的模塊化。生成的gpio.c、usart.c等文件就是最標(biāo)準(zhǔn)的底層驅(qū)動模塊。你的應(yīng)用層模塊如bsp_led.c、app_control.c應(yīng)基于這些驅(qū)動模塊進(jìn)行封裝。5. 調(diào)試技巧與常見問題排查代碼寫好了也下載了但燈不亮、按鍵沒反應(yīng)怎么辦別慌掌握基本的調(diào)試技能是嵌入式開發(fā)的必修課。5.1 使用Keil進(jìn)行硬件調(diào)試確保調(diào)試器連接正確ST-Link/V2的SWD接口SWDIO、SWCLK需要正確連接到芯片的對應(yīng)引腳PA13/JTMS/SWDIO, PA14/JTCK/SWCLK并且共地。配置Keil調(diào)試選項點(diǎn)擊“Options for Target” - “Debug”選項卡。選擇你使用的調(diào)試器如ST-Link Debugger。點(diǎn)擊“Settings”在“Debug”子選項卡確認(rèn)“Port”是“SW”。在“Flash Download”子選項卡勾選“Reset and Run”這樣下載后程序會自動運(yùn)行。確?!癙rogramming Algorithm”里包含了你的芯片型號STM32F10x Medium-density Flash。如果沒有需要點(diǎn)擊“Add”添加。開始調(diào)試點(diǎn)擊Keil工具欄的“Start/Stop Debug Session”CtrlF5。程序會暫停在main函數(shù)開頭。單步F11逐語句執(zhí)行會進(jìn)入函數(shù)內(nèi)部。步過F10逐過程執(zhí)行不進(jìn)入函數(shù)內(nèi)部。運(yùn)行到光標(biāo)處CtrlF10快速執(zhí)行到你光標(biāo)所在的行。查看變量/外設(shè)寄存器在“Watch”窗口可以添加變量觀察其值。在“Peripherals”菜單下可以選擇“System Viewer”來查看GPIO、USART等外設(shè)寄存器的實(shí)時狀態(tài)這對于排查配置是否正確非常直觀。5.2 GPIO問題專項排查問題程序里寫了高電平但用萬用表量引腳電壓是0V低電平。這是最典型的“回讀”誤解。首先確認(rèn)引腳配置模式你配置的是輸出模式嗎如果是輸入模式寫輸出寄存器是無效的。輸出類型是推挽輸出嗎開漏輸出需要外部上拉電阻才能輸出高電平。引腳復(fù)用這個引腳是否被其他外設(shè)如串口、SPI復(fù)用了在CubeMX中檢查引腳顏色黃色表示已配置為復(fù)用功能。一個引腳同一時間只能有一種主要功能。硬件連接引腳是否對地短路LED或其它負(fù)載是否短路損壞用萬用表測量一下。真正的回讀如果想確認(rèn)物理引腳電平最可靠的方法是臨時在代碼里將該引腳切換為浮空輸入模式然后讀取讀完再切回輸出模式?;蛘咧苯佑檬静ㄆ骰蜻壿嫹治鰞x觀察。問題按鍵檢測不穩(wěn)定偶爾會誤觸發(fā)。消抖處理機(jī)械按鍵在閉合和斷開瞬間會產(chǎn)生一段時間的抖動通常5-20ms。上面的代碼使用了簡單的延時消抖但會阻塞整個程序。更優(yōu)的方案是使用定時器中斷在定時器中斷服務(wù)函數(shù)里比如每10ms一次采樣按鍵狀態(tài)并用一個狀態(tài)機(jī)比如檢測到連續(xù)2次低電平才認(rèn)為按下來濾波。上拉/下拉電阻確認(rèn)CubeMX中配置的上下拉模式與硬件電路匹配。如果按鍵接VCC應(yīng)用下拉輸入接地則用上拉輸入。外部干擾如果走線過長或環(huán)境干擾大可以在按鍵引腳到地之間加一個幾十到幾百皮法的小電容起到硬件濾波作用。5.3 編譯與鏈接常見錯誤undefined symbol(鏈接錯誤)說明某個函數(shù)或變量只有聲明在.h文件中但沒有定義在.c文件中。檢查對應(yīng)的.c文件是否已添加到工程分組中并且函數(shù)名拼寫完全一致包括大小寫。cannot open source input file(編譯錯誤)頭文件包含錯誤。嚴(yán)格按照4.1節(jié)第5步檢查“Include Paths”是否包含了所有自定義頭文件的目錄。路徑中的斜杠方向、相對路徑是否正確都需要注意。程序大小超出Flash限制F103C8T6的Flash是64KB。如果代碼太大可以嘗試在“Options for Target” - “Target”選項卡中勾選“Use MicroLIB”一個精簡版的C庫并優(yōu)化編譯選項“C/C”選項卡中“Optimization”等級選擇-O2。但最根本的還是優(yōu)化代碼邏輯移除不必要的庫和功能。6. 進(jìn)階思考從HAL庫到理解寄存器通過CubeMX和HAL庫我們可以快速上手。但要想真正精通STM32理解寄存器操作是必經(jīng)之路。HAL庫函數(shù)底層也是操作寄存器。例如HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET)最終可能等價于GPIOA-BSRR GPIO_PIN_5置位寄存器這樣的寄存器操作。為什么要了解寄存器效率直接操作寄存器通常比調(diào)用庫函數(shù)更高效代碼體積更小這在資源緊張或?qū)r序要求極高的場合如模擬協(xié)議、精確延時是必須的。調(diào)試當(dāng)程序出現(xiàn)極其詭異的硬件問題時查看外設(shè)寄存器的實(shí)際值并與參考手冊對比是定位底層問題的終極手段。理解本質(zhì)理解了寄存器你才能真正看懂芯片手冊才能在沒有HAL庫支持的新芯片或小眾外設(shè)時自己寫出驅(qū)動。如何開始不要一開始就試圖記住所有寄存器??梢詮囊粋€簡單的點(diǎn)入手比如用寄存器方式點(diǎn)亮一個LED。打開STM32F1的參考手冊找到GPIO章節(jié)看GPIOx_CRL/CRH配置寄存器、GPIOx_ODR輸出數(shù)據(jù)寄存器、GPIOx_BSRR置位復(fù)位寄存器的描述。然后嘗試在HAL庫初始化好的基礎(chǔ)上直接寫GPIOA-BSRR GPIO_PIN_5;來置位PA5。當(dāng)你成功用寄存器控制了一個外設(shè)就打開了通往底層世界的大門。我個人在項目中的習(xí)慣是產(chǎn)品開發(fā)用HAL庫追求開發(fā)速度和可維護(hù)性在個別對性能有極致要求的模塊如高頻PWM、軟件模擬高速協(xié)議會混合使用寄存器操作。而CubeMX生成的初始化代碼為我提供了一個完美且正確的寄存器配置起點(diǎn)讓我可以放心地在上面進(jìn)行底層優(yōu)化。這種“上層快速搭建底層精準(zhǔn)優(yōu)化”的組合讓我在效率和掌控力之間找到了很好的平衡。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
狠狠色狠狠鲁| 99精品国产在热久久婷婷| 五月丁香婷成人网| 激情久久月| www.日韩国产| 天天综合网亚洲综合网| 91丨九色丨高潮丰满日本| 九九99热久久精品66中文字幕| 丁香六月婷| 99热6精品| 美女五月激情| 深爱激情网五月| 丁香色五月AV在线| 五月丁香啪| 教师性爱毛片| 1024亚洲无码| 视频这里只有精品| 91黄操| 内射爽无广熟女亚洲| 开心五月深爱婷婷| 激情美女五月天激情在线| 91九色熟女| 97人碰人操| 色婷婷色99国产综合精品| 五月天色在线| 激情校园 亚洲| 91九色丨国产丨爆乳| 任你弄在线视频免费| 99热这里只有精品1025| 天天干,夜夜爽| 亚洲中字AV电影在线网站| 五月婷婷官网色| Av性爱网| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 深爱综合网| 天天色天天色天天色天天色天天色天天色| 九九99精品| 超级久久久| 99这里只有精品| 久久久18| 99精品热| BBWCUCKOLD精品熟妇| 国产成人av在线播放| 色婷婷久久综合久色综| 99免费在线视频| 五月激情六月婷婷| 中文AV网站| 天天干天天 亚洲| 婷婷五月天成人五月天| 激情五月综合免费| 激情五月色综合国产精品| 欧美激情五月天婷婷| 生活片五区| 激情久久 婷婷| 中文字幕不卡网站| 成人视频婷婷| 五月社区丁香| www,8050,午夜三级| 五月婷婷亚洲| 成人va在线观看视频| 色婷婷狠狠| 色三级色三级| 免费日韩99| 久热这里只有精品在线观看| 久久机热这里只有精品| 久久996re热这里只有精品无码| 99九九视频精彩在线| 久久之人妻| 97操碰视频| 日本色色视频| 九九AV| 久久久婷婷婷| 97在线99| 91激情五月开心| 色女人久久| www.日韩国产| 五月丁香少妇网| 天天插天天干天天舔| www.色五月天.com| 久久久久9999| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 色五月婷婷婷婷婷婷婷婷婷婷| 婷婷色五月丁香六月欧美啪| 亚洲日韩26uuu| 天天橾日日橾夜夜橾17| 天天肏在线观看| 99ri精品| 五月婷婷导航| 思思色综合网站| 六月色国内综合| 99在线视频在线观看| 久久久27操| 色婷婷久久| 成人做爰高潮A片免费视频| 99免费超碰在线| 99精彩视频在线观看| 丁香六月激情综合网| 99热老网站| 欧美日本国产| 激情五月综合婷婷| 视频久久9| 九月激情综合| xxx.色婷婷| 丁香五月日韩| 九九热99精品| www.狠狠狠.com| 99热官网精品在线| http:色情日本com| 久99久视频| 丁香五月第四色88| 日韩免费视频| 五月婷五月婷伊人伊人五月婷| 五月丁香六月欧美| 天天插天天干| www.五月天婷婷.com| 激情五月少妇| 五月天福利影院导航| 大香蕉婷婷久久| 久热这里只有精品在线| 激情又色又爽又黄的A片| 91色欲综合| 99啪啪| 丁香五月婷中字幕| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 噼里啪啦完整版中文在线观看 | AA片在线观看视频在线播放 | 这里只有精品视频99| 亚洲黄色影视| 99热在线观看免费中文| 97色婷婷| 丁香五月亚洲激情婷婷射| 五月天综合影院| 人妻久久久久久| 99啪啪网| 婷婷五月香蕉| 久久五月丁香婷婷| 五月综合色| 狠狠久久婷婷| 久久久久久97| 91干| 九色视频91| 日韩高清成人| 欧洲不卡视频| 密乳视频| 91vip在线观看| 亚洲欧洲国产精品| 九九热99免费视频| 天天操加勒比| 国产67194| 噜噜狠狠色| 成人AV在线中文版| 思思热国产在线| 亚洲字幕AV一区二区三区四区| 色五月婷婷在线| 综合噜噜| 操碰99| 伊人色综合久久久| 成人 视频免费观看网站| 成人做爰黄A片免费看直播室男男 A片试看120分钟做受图片 | 九九99久久| 丁香婷最新动态| 区美毛片子| 中文久久婷婷| 日日天天干| www色色com| 久久9视频| 97影院一级片| 青青夜夜狠狠夜夜狠狠| 久久婷婷一级片| 婷婷五月丁综合| 97色射| 久久综合天天综合| 超碰a女人的天堂| 激情中文在线| 久久久久久久久久久久久久人妻视频| 丁香五月花| 婷婷开心综合人妻小说网址| 99久久亚洲国产| 99综合视频| 99久视频| 丁香六月啪啪| 婷婷久久久久久久| 99热99日天天干| 久久精品视频9| 九九精品大香蕉| 99久在线精品99re5热视频| 婷婷五月激情在线视频| 国产三级在线播放| 丁香六月婷婷综合激情欧美| 天天射夜夜骑| 色六月婷婷| 激情五月久久| 五月丁香天堂网婷婷| 婷婷五月偷拍| 狠狠五月激情丁香六月| 婷婷五月婷婷| 2025天天日爽| 五月丁香综合久久| 婷婷五月天奸女| 97碰在线视频| 六月婷婷五月丁香| www.日韩艹| 吾爱AV导航| 色综合久久综合中文综合网| 婷婷五月天亚洲图片| 激情五月,激情综合网| 五月天丁香欧美激情| 在线成人视频免费| 久久激情五月网| 91九色精品| 99免费在线视频| 五月色影院| 五月丁香六月婷婷亚洲天堂网站| 性爱激情小说AV五月丁香花| 色色五月婷婷网| 丁香五月婷婷综合精品素人| 伊人AV五月婷| 五月激情综合五月| 丁香六月综合激情| www.久久综合| 丁香九月综合| 色色婷| 伊人激情AV一区二区三区| 婷婷狠狠干| 婷婷99狠狠| 校园激情 亚洲| 日本欧美成人片AAAA| 99re热在线观看| 日本久久99| 久久金品黃色| 亚洲第一精品成人999久久精品| 五月婷婷啪| 99国产欧美视频| 97av在线视频| 99色在线| 激情综合婷婷| 99爱精品| 精品人妻伦一二三区久久| 天天色噜| 美国十月色婷婷在线观看| 激情五月婷婷伊人| 久久久精久人妻| 亭亭五月丁香综合欧美| 九九色婷婷| 中文字幕欧美久久| www999日韩精品| www色哟哟| 9久热精品在线视频| 综合色99| 欧美搡BBBBB摔BBBBB| 激情五月小说婷婷| 欧美激情五月天| 99热99在线| 丁香婷婷91在线观看视频| 五月激情婷婷开心| 天天狠狠干| 久久99久久99精品免观看软件| www.天天干.com| 久久停停超碰| 丁香六月婷婷缴情欧美| 天天草天天爱| 五月久久亚洲| 亚洲欧美999| 五月丁香六月花| VA婷婷亚洲| 婷婷色五月色妇| 无码婷婷五月天| 五月丁香好婷婷A片网| 九九综舍久久| 97色啪| 强伦轩人妻一区二区电影| 超碰69天堂| 俺去也五月天| 人人爱人人草| 日日噜噜夜夜狠狠久久丁香五月| 综合一本道| 六月婷婷五月天| 97五月婷| 色色色色区| 成人电影在线免费试看| www99精品| 丁香九九九九| 婷婷六月综合在线| 狠狠婷婷色| 日本在线wwww| 婷婷五月天 丁香五月天 裸体| 色综天天综合| 日韩另类在线观看| 九色无码| 国产精品视频免费看| 午夜婷婷| 精品久久久久久久人妻| 婷婷丁香五月天哟啪| 五月大香蕉| 另类激情综合| 日日综合网| 99激情网| 婷婷综合网站| 欧美激情综合色丁香婷婷五月天| 色久五月| 五月天精品综合| 婷婷色情小说| 婷婷金品综合视频| 色婷婷a| 国产这里只有精品| 日良久久| 婷婷五月色天| 三级黄色大片视频| 五月综合激情图片| 99欧州偷拍视频| 久超超碰| 国产在线6| 五月综合婷婷开心网| 欧美色六月婷婷| 亚洲AAA| 久噜久噜| 亚洲综合色网| 九九热在线精品| 久久99综合| 六月综合在线| 香蕉视频91| 99操碰| 丁香五月性| 欧美S码亚洲码精品M码| 无码人妻一区二区一牛影视| 日本一级特黄大片AAAAA级| 色吧五月婷婷| 夜夜操夜夜姧| 婷婷五月天美女21p| 大香蕉99热| 新97人人上人人| 九九久久五月天| 天天操狠狠操| 久久99久久99精品免视看婷婷| 天天操天天操天天操天天操天天操| 熟妇人妻中文字幕无码老熟妇 | 五月丁香六月综合情在线观看| xxxx五月| 色播五月婷婷| 色色色999| 伊人五月婷| 97碰碰在线观看视频| 久久婷五月婷| m色激情网| 玖玖婷婷五月| 久久综合五月| 伊人五月天| 老师的粉嫩小又紧水又多A片视频 粉嫩AV久久一区二区三区 | 丁香五月伊人| 丁香五月天网站| 五月丁香六月婷婷中合网| 婷婷色丁香六月| AV在线免费播放| 国产欧美日韩综合精品一区二区| 97色婷婷在线观看| 狠狠擼综合| 久操97| 九九热视频这里只有精品| 五月综合人妻| 另类激情五月天。| 五月丁香综合中文| 久久久久久久久18久久| site:jszngf.com| 婷婷 丁香 精品| 99热思思| 在线婷婷| 99热这里都是精品| 国内9l视频自拍老熟女九色| www.夜夜夜| 久久久久久久久99精品| 一区=区操屄高清大全av| 五月天激情国产综合婷婷婷就去爱| 六月丁香婷婷五月| 白人荫道BBWBBB大荫道| 色婷婷狠狠| 色婷婷久久综合久色综| 在线综合亚洲欧美65| 99综合视频| 丁香五月香蕉| 久久婷婷桃花五月天| 亚洲精品va| 中文久久婷婷| Aα在线免费观看| 丁香五月天堂| HD久久精品视频| 欧美噜噜免费观看| 日本九九九九| 日本久久人人| 激情性爱五月| 骚五月婷婷| 99色综合网| 噜噜狠狠色综无码久久合欧美| 七月丁香五月婷婷在线| 婷婷五月天激情文学小说| 婷婷成年人免费视频| 亚洲天堂久久| 婷婷五月激情网站| 丁香五月天婷婷激情| 激情亭亭五月| 久久人妻视频| 伊人婷婷五月天av| 99爱视频| 超碰97久久| 啄木鸟丝袜美女福利视频| 熟妇人妻中文字幕无码老熟妇| 久久色婷婷| 另类激情首页| 九九精品99久久久| h在线看免费版在线看| 9|在线观看视频| 少妇人妻凹凸视频| ztEJj| 丁六月激情| 荡乳尤物3HP1V5| 五月丁香爱婷婷深深| www.五月婷婷| 国产成人综合网| 久久婷五月综合| 丁香久月| 淫视馆AV在线| 一级黄色影片| 婷婷爱综合| 久久久18| 九九综合网色全集| 91avse| 亚洲VA在线| 五月婷婷激情综合网 | 五月婷婷玖玖综合玖玖爱| 青青草a在线| 日本天天色| 天天射夜夜爽| 日韩精品视频中文字幕| 五月丁香激情婷婷| 丁香五月综合激情啪啪| 97精品综合久久| 这里只有精品日韩精品| 天天综合天综合久久网| 九九这里有精品| 日亚二欧美| 99er6| 久久精品A片777777| 日日干夜夜撸夜夜骑| 欧美交换配乱吟粗大25P| 天天做天天要天天爽| 狠狠操狠狠色| WWW,五月| 伦乱美欧| 丁香五月婷婷婷桃花影院| 五月天激情视频| 91九色国产在线| 色香欲综合| 丁香五月成人丝袜| site:esunnet.com| 久久久久久婷| 久久久久久激情| 天天狠狠婷婷在线| 激情五月黄色| 成人五月天丁香婷| 丁香五月婷婷动漫视频| 伊人久久综合| 婷婷中文字幕| 欧美丁香婷婷五月| 激情四射五月天偷偷看婷婷| 丁香花综合永久入口| 青青.com| 综合色在线| 丁香六月婷婷色播| 色情五月天se| 91干视频| 97亚洲精品| 啪啪一区| 婷婷免费视频| 色五月色综合| 亚洲国产成人综合| 另类图片色五月| 激情操逼婷婷| 另类激情综合| 五月丁香在线观看国产| 天堂A∨在线| 26uuu欧美亚洲日韩| 亚洲精品中文字幕成人片| 色婷婷五月天偷拍| 噜噜狠狠色综合久| 丁香婷婷色五月合集| www.色色五月天.com| www.9操| 99国产精品久久久久久久久久久 | 狠狠噪| 五月天婷婷网站888| 香蕉色色网| 99人碰碰碰| 色五月综合激情| 大地资源色婷婷视频在线| 婷婷综合五月天激情| 九九色院| 综合超碰熟| 国产AV国片偷人妻麻豆| www.五月.com| 日韩性视频| 丁香婷婷综合激情五月色| AV色五月婷婷| 婷婷五月天综合网| 激情五月天99色| 字幕网AV中文字幕| 少妇高潮A片无套内谢麻豆传| 亚洲成人高清在线| 久久久久久人妻| 五月婷婷激情综合在线| 91欧美| 九九色综合九九色| 婷婷五月天男人影院色色网| 亚洲色欲欧美一区二区三区| 激情小说五月天| 五月天婷婷狠狠| 丁香花狠狠婷婷亚洲中文字幕| www.久久爱| 久久机热/这里只有精品| 五月婷婷精品视频| 老师高潮流白浆喷水的A片| 五月丁香综合| 日韩成人综合网| 婷婷五月激情五月激情| 日韩无码专区| 丁香五月婷婷啪啪啪| 五月丁香激情综合网| 五月花婷婷丁香| 九九操综合网| 婷婷综合五月天| 极品精品一区二区三区在线| 国产日韩欧美| 国产精产国品一二三在观看| 黄桃AV无码免费一区二区三区| 日本久久99| 婷婷情色五月天| 激情久久网 | 久婷五月| 九九色播五月丁香| 在线成人网址| 中文字幕无码人妻少妇免费视频| 国产在线黄色| 9久精品视频| 色5月婷婷| 丁香五月亚洲AV| 狠狠综合| 婷婷五月天无码视频| 婷婷五月天xxx| 中文aV网| 99er热精品视频| 五月天色不卡| 99色婷婷视频| 国产精品久久久久久久久久| 午夜亚洲AV日韩无码| 色五月色综合| 琪琪色影音先锋| 99亚洲精美视频在线观看| 亚洲色色五月天| 99热最新精品| 思思99热在线| 丁香五月a| 蜜桃人妻无码AV天堂三区| 欧美激情综合色综合啪啪五月| 日韩精品999| 国产超碰在线| 大香蕉在九| 六月丁香啪| 色婷婷综合成人| 五月五婷婷网| 中文国产五月天| 久草热在线视频| 色五月天激情| 国产精品久久久久9999小说 | www.激情五月天.com| 99热国内| 天天色综网| 97资源欧美日韩大香蕉超碰一区| 超碰在线国产| 色 噜噜 九月 婷婷| 丁香婷婷六月天| www。88热在线视频免费观看| 全国最新疫情| 国产精品色婷婷99久久精品| 99热精品免费| 中文字幕第四色.999| 九九九九毛片| www五月天激情com| 亚洲AV免费在线| 91紱請| 国产激情在线| 综合视频五月| 大香蕉啪啪| 日日影院 | 亚洲啪啪网| AV变态另类一区二区| 亚洲中文乱字字幕在线永久| 色婷婷yy久| 粉嫩av蜜桃av蜜臀av| 色色丁香五月婷婷| 激情综合在线观看| 四色五月婷婷| 99热国品免费| 五月丁香六月玩女人| www.婷婷五月天| 在线亚洲综合| 丁香五月婷婷成人色区| 亚洲AV网站在线观看| 国产特级毛片AAAAAAA高清| 欧美成人日韩| 99久久精品网| 激情五月综合| 中文无码婷婷| 夜夜谢天天干| 久久久久久久久18久久| 色情·com| 五月天激情啪啪| 精品热青草| 精品视频这里只有精品| 免费啪啪亚州视频| 成人AV综合在线| 少妇久久诱惑视频| 色婷网| 91婷婷伊人牛牛| 五月丁香花激情综合网| 99热这里有精品| 97人妻碰碰中文无码久热丝袜| 终合激情网| 爱超碰性| 亚洲婷婷五月草久| 色噜噜狠狠色综合日日| 91成人看片| 激情五月丁香六月综合AVXXXX| 亚洲色五月天| 99热老司机| 国产精品久久99| 极品色丁香| 99热九九热| 成人国产网站在线免费看| 噜噜色天天开心| 成人免费高清在线播放| www.色色com| 欧美激情-区二区三区| 欧美日韩精品人妻狠狠躁免费视频 | 5月丁香六月情| 97久久超碰| 成片免费观看视频大全| 在线观看的av| 婷婷五月天Av| 极品另类| 国产免费一区二区三区三州老师F1F1.CC | 久久精品A片777777| 电影《战争与艾拉》免费观看| 五月丁香六月婷综合成人综合| 伊人久久大香天蕉亚洲特级| 五月天色丁香| yazhochengrenavwang| 色色激情网| 亚洲欧洲国产精品| 色婷婷www| 久热69| 婷婷五月色| 五月丁香激情啪啪网| 久久人妻视步| 成人午夜在线视频| 激情婷婷五月天| 色噜久| 黄色一级影片| 亚洲不卡| 97香蕉碰碰人妻国产欧美| 色久婷婷五月| 日本欧美成人片AAAA| 五月天亚洲最大成人| 婷婷五月天在婷| 久操人妻| 伊人五月婷婷| 日日操夜夜擼| 五月激情综| 99re视频在线| 色婷婷丁香| 亚洲国产精品五月天| 99爱精品| 天天干天天爽天天操| 超碰五月婷婷五月天| 婷婷五月天无码| 任你擦免费视频| 色啪网| 热久久成人| av操逼网| 亭亭玉月丁香| 五月婷婷免费在线| 国产做A爰片毛片A片美国| 91成人视频| 天天日人人| 久月久在线视频| 婷婷婷婷婷婷婷五月丁香| 五月婷婷影| 婷婷丁香成人| 天天婷婷色六月| av激情在线| 五月婷婷影院| 直接看的AV网站| 91ncm视频| 1000部毛片A片免费观看| 五月天停停成人网| 久久久久久激情| 无码激情AAAAA片-区区| 99热国产免费| 亚洲色欲欧美一区二区三区| 五月天婷婷色色首页| 九九亚洲视频| 日日操日日爽| 亚洲成人免费电影| 伊人激情综合| 激情六月综合| 久久99激情丁香婷婷小说网| 一级片sese片.COM| 91男人资源站| 这里只有精品免费| 婷婷丁香五月在线播放| 国产亚洲99| 无码人妻一区二区一牛影视| 激情婷婷六月天| 激情综合五月婷婷六月丁香| 五月婷俺去也| 美女91一起草| 农村熟妇高潮精品A片| 亚洲天堂啪啪| 这里只有精品免费视频在线观看| 国产亚洲99| 国产精品岛国片在线观看免费| 思思99热| 99国产精品久久久久久久久久久 | 丁香五月色色婷| 99精品色| 人人色婷婷| 狠狠干在线视频| 免费亚洲婷婷中文字幕| 日韩av在线电影| 九九99偷拍视频| 另类 在线| 日本99久久| 久久丁香| 日本综合久| 国产9色在线/日韩| 激情综合五| 五月婷婷啪啪啪| 色五月丁香伊人五月| 五月丁香综合激情在线观看| AA久久| 99热亚州综合| 人人色人人弄人人操| 欧美综合激情| 91色操| 欧亚中文A V| 99国产欧美视频| 777精品成人a v久久| 五月婷婷色| 91九色在线视频| 人操人| 久操乱| 婷婷丁香社区| 伊人婷婷五月天| 超碰人人在线| 久久99久久99精品免观看粉嫩| 天天射色五月天| 日韩av干| 极品 少妇 内射| 狠狠操天天操| 亚洲色婷婷色| 只有精品在线观看| 五月天激情综合网俺也去| 思思99久久| 超碰在线中文字幕| 五月天丁香婷婷社区| 色综合久久8| 亚洲精品另类| www:99热视频| 碰碰操91| 97se视频在线| 成人婷婷| 成人一级片| 婷婷成人综合| 日本久久婷| 操一区| AV激情五月| 久久亚洲A| 99小精品| 六月天无码网址| 操操操操操电影网| 欧美成人精品一区二区 | 99亚洲精品| 激情丁香五月婷婷| 日本精品人妻无码77777| 激情五月婷婷| 五月天丁香婷婷视频网址| 丁香五月婷婷av影院| 琪琪狠狠干| 成人资源在线| 另类综合激情| 开心久久xxx色| 丁香五月婷婷丫| 丁香五月天啪啪激情综合网| 乱色色色| 色噜噜狠狠色综无码久久合欧美| 琪琪色五月天| 婷婷丁香18| 欧类av怡春院| 韩日AV片| 99在线视频精品| 久久久久婷婷五月热综合| 激情丁香五月激情婷婷| 五月丁香婷婷激情澎湃四射| 色综合天天综合成人网| 久久久97| 青草视频在线播放| 丁香婷婷五月人体| 99人妻碰碰碰久久久久禁片| 色五月之第四色| 天天草天天日| www99在线观看视频| 九九综合| av五月天婷婷丁香| 欧美三日本三级少妇三99| 丁香五月自拍| 色永久| 婷婷91| 国产99久久久国产精品免费看 | 99精品超在线播放| 婷婷久久五月天| 九九这里精品| 婷婷成人五月天一区| 激情五月天激情五月天| 色综合天堂| www.操.com| 97久久超级| 久久久久久久,99精品视频| 婷婷天堂伊人| 涩 五月 婷婷 狠狠| 97干欧美| 婷婷色五月情| 色欲久久久久久综合网综合网| 狠狠爱综合| 婷婷基地成人五月天| 91婷婷| 五月天成人在线| 久久五月网| 久久色大香蕉| 综合色情网| 九九热这里只有精品31| 日日爽日日| 久久日曰| 综合激情网| 五月 成人 婷婷| 字幕网AV中文字幕| AV中文在线| 色久天| 高清无码网址| 亚洲婷婷丁香| 99热这里只有精品国产首页| 五月丁香偷拍| 91se在线观看| 丁香伊人综合| 99啪啪视频| 五月激情久久| 啪啪五月天啪啪| 97人人干人人操| 色偷偷人人| 久热这里有精品视频| 69久久99精品久久久久婷婷| AV中文网| 激情五月伊人婷婷| 国产精品18久久久| 射久久丁香五月| 丁香五月天激情小说| 久久色9| 久草 天堂| 99热99精品在线观看| 丁香婷婷五月综合色情| 九九激情| wwwxxx五月婷婷小说| 丁香午夜天| 欧美色偷拍| 色丁香婷婷| 国产日产亚洲系列最新| 丁香五月色色色色| 中文字幕综合网| 亚洲婷婷丁香五月| 日韩av网址大全| 99热这里有精品| 色播五月婷婷| 日韩欧美颜射| 97影院一级片| 久久婷婷丁香| 光棍影院日韩精品| 91互操| 久热久操久热久草国产91| 狠狠操天天日| 大香蕉伊人久久| 99热最新精品| 丁香五月婷婷大香蕉| 天天射色五月天| 亚洲免费电影2| 天天色99| 国产精品电| 狠狠va| 丁香五月av| 色欲Av五月天| 天天色综合网吨吧| 99热加勒比| 中文字幕在线免费| 激情激情激情网| 五月丁香六月激情综合| 国产成人亚洲综合A∨婷婷| 五月天天综合网色婷婷| 色丁香婷婷| www.99操| 99亚州综合精品成人网| 亚洲免费在线观看岛国| 五月激情影院| 久久五月天色婷婷| 在线中文字幕av| 六月婷婷av| 超碰av在线| 五月婷婷另类| 高清无码网址| WWW.开心五月天.COM| 91狼友视频在线观看| 亚洲色色在线| 五月丁香影视| 久久精品系列| 99人碰碰碰| AV色五月婷婷| 欧洲电影在线观看免费版英语版 | 色播播五月天| 日韩a热| 91 九色大美女| 亚洲欧美另类在线23p| 久久99网| 激情AV| 久久天天| 殴美日比视频| 九九综合色| 精品九九视频| 91oumei| 日韩精品999| 丁香五月综合久久八| 免费看欧美成人A片无码| 五月天激情无码专区| 婷婷色偷拍| 超碰久热| 激情婷婷五月天伊人在线观看| 欧洲MV日韩MV国产| www.成人婷婷综合| 久久99网| 激情五月婷婷丁香六月| 色五月大| 丁香婷婷综合精品六月初| 夫妇交换刺激做爰| 色五月婷婷影院| 淫视馆AV在线| 国自产拍偷拍精品啪啪一区二区 | 久操热线| 激情小说视频图片网| 亚洲视频五区| 国精产品一区一区三区免费视频| 综合久久99| 色五月婷色彩免播放器| 天堂美国久久| 深夜男女福利刺激影院一区完整| 色综合播放| 久久性爱激情| 亭亭五月激情亚洲在线| 久婷婷五月综合欧美| 六月色婷婷| 天天操夜夜橾| 亚洲精品视频在线播放| 99国产精品久久久久久久久久久 | 色综合五月| 女婷久久| 99热这里只有精品一区| 91性高潮久久久久久久久| 人人摸人人操人人爱| 大香蕉婷婷久久| 五月四色婷婷| 99碰碰| 五月丁香六月综合图| 色九月| 色婷婷AV久久久久久久| 亚洲综合激情五月天婷婷| 国产伊人大香蕉| 五月天婷婷综合网| 国产午夜精品一区二区| 婷婷免费无视频| www婷婷| 免费观看高清无码| 色播丁香| 中文字幕av在线播放| 婷婷亚洲在线| 五月婷婷激情综合在线| 中美日韩成人在线| 五月婷色激情五月| 狠狠做五月婷婷| 色婷婷丁香综合中文字幕| 一本婷婷丁香久久| 情色五月天网站| 色色丁香色五月| 精品国产AV色一区二区深夜久久| 国产色色视频| 天天操夜夜玩!| www激情| 色婷婷亚洲在线观看| 图片区 小说区 区 亚洲五月 | 九九色人| 香蕉婷婷色五月| 成人超碰网| 99人碰碰碰| 丁香婷婷基地| 五月天玖玖狠狠色色| 色婷五月婷婷| 九九这里是免费的视频5| 久9热插入| yazhoujiqingav| 中文字幕在线日亚州9| 婷婷九九| 色色99| 婷婷十月激情综合网| 欧洲日韩一区二区三区| 九九熱最新視頻| 97久久精品| 99热久97| 五月丁香最新| 97丁香视频| 欧美日韩国产一二区| 欧美槡BBBB槡BBB少妇| 91日本在线观看| 九久九精品| 啪啪啪大香蕉| 99∨VTV| 亚洲操操| 九九Y精品热播| 天天插天天射| 色5月婷婷| 五月天婷婷激情| 亚洲色婷婷| 色吧五月| 日韩人妻无码专区| 人人97碰| 日本久久性| 久久久久久久久99精品| 囯产精品久久欠久久久久久九大| 国产婷婷五月色情综合| 六月丁香激情网| 丁香六月色婷婷| 丁香五月天AV| 中文AV网| 亚洲激情综合| 91日视频| 91色逼| 另类视频一区| 偷拍五月丁香| 97精品综合久久| 天天干天天做| 成人午夜天| 色色色九九九五月婷婷| A片天天| 97超级免费无码| 久婷自拍视频| 琪琪色热色色| 97碰免费视频在线| www,五月天com| 日本色噜| 五月天影院婷婷在线观看| 久色中文| www夜夜操com| 噜噜在线| 狠狠色婷婷777| 丁香五月婷婷网| 国产精产国品一二三在观看| 中文字幕无码人妻少妇免费视频| 婷婷五月丁香青青草在线| 91久久精品视频| 99亚洲精美视频在线观看| 欧美日综合| 狠狠做五月婷婷| 五月综合缴情网| 狠狠干,狠狠操| 亚洲丁香花色| 97五月天| 色播激情| 成人五月天丁香婷| 深爱丁香网| 午夜国产精品AV在线播放| 九九热最新| 丁香六月情| 九九热青草| 五月天婷婷久草丁香| www.激情| 久久婷婷超碰| 欧美性爱一区| 琪琪秋霞| 婷婷五月天中文字幕| 五月婷婷六月丁香综合| 国产99久久久国产精品免费看| 婷婷五月丁香国产| 影视av久久久噜噜噜噜噜三级| 色噜噜狠狠色综合伊人| 玖玖资源站视频| 欧美婷婷日本| 免费无码毛片一区二区A片| 五月丁香婷婷激情四射迷人| 91狠狠色丁香婷婷综合久久| 五月天堂在线| 五月丁香啪啪婷婷| 免费无码毛片一区二区A片 | 日比视频91| 97精品综合久久| 丁香五月激情性色郤| 另类专区在线| 爱穴久久| 色婷五月| 亚洲色无码| 婷婷五月天丁香| 丁香影院五月综合| 九九精品在线视频观看| 少妇人妻综合色6699| 久机视频这只有精品| 人人操人人妻| 久思思热视频在线观看| 五月婷婷天| 五月天综合在线| 91日韩美女被插视频| 激情的五月| 成人在线不卡| av不卡网站| 5月婷婷视频网站综合| 天天色天天日天天舔| 成人做爰A片免费看网站找不到了| 五月丁香九九| 婷婷六月激情丁香| 色五月在线播放| 色yeye色综合| 夜夜操夜夜姧| 青草激情综合| 人人看人人97| 天天插夜夜爽| 99婷婷| 色五月婷婷自拍| 丁香五月婷婷天| 99综合视频一体| 成人Av在线大片| 五月激情网站| 人人操av| 婷婷五月天99综合网站| 婷色五月| 五月丁香激情综合| 操97在线观看| 色婷婷最爱五月| 天天干天天干天天干天天干天| 伊人久久大香线蕉AV最新午夜| 人色五月天婷婷| 亚洲色网络| 9热精品| 熟女激情五月天 | 99热日韩| 日本99视频精品免费播放| 国精产品一区一区三区免费视频| 伊人网啪啪| 久久深爱激情网| www.zbzhongsen.com| 97婷婷丁香| 999热在线视频| 97在线观看| www.婷婷网| 久草五月| 九九大香视频| 五月婷婷开心五月| 丁香五月欧美婷婷| 伊人狠狠操| 精品二区| 天天干狠狠操| 日韩成人电影AV| 99综合色色色| 激情六月综合| 九月丁香| 婷婷久久综合| YW无码| 成年人99热| 影音先锋偷偷色男人站| 久久丁香综合精品综合| 婷婷色五月色妇| 成人无码髙潮喷水A片| 九九九九九无码| 伊人久久艹| 26uuu四色| 激情综合色| 这里只有精品视频国产| 丁香五月偷拍| 五月婷婷这里都是精品| 成人综合网站| 亚洲一区先锋影音| 国内一级片| 婷婷色日本| 婷婷综合性爱网| 激情婷婷五月天在线观看| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 婷婷狠狠操| 色狠狠999综合| 九九五月天| 婷婷五月天色| 色色婷婷五月| 99热这是里只有精品| 99精品在线| 26UUU精品一区二区Com| 97午夜一区二区| 天天插天天插天天插天天插| 久碰综合| 五月婷婷影院| 无码九九| 中国丰满熟女A片免费观| 久久66精品| 国产永久一黄| 婷婷五月天综合久久| 在线另类视频| 五月天综合色| 天天天添天天操| 久草婷| 91人人操人人爱| 91丨九色丨白浆秘| 日本美女五月天| 99燥99日| 日韩爱操视频| 欧美图片丁香五月天| 色色色色五月| 婷婷五月天,影院| 日日爽日日| 五月天婷婷av| 激情五月黄色小说| 刘玥av在线| 丁香六月久久| 东京热免费视频| 成人无码髙潮喷水A片| 五月激情久久| 婷婷99视频精品| 亚洲亚洲人成综合网络| 天天日天天爱天天噪| 六月色播| 最近中文字幕大全免费版在线| 婷婷视频在线| 97久久草草超级碰碰碰| 亚洲色五月| 99久久玖玖| 国产激情AV| 牛色色碰| 99九无网码| 天天爽,天天操。| www.久久爱.c n| 99久久99久久综合| 99热6色| 久99| 超碰熟女农村在线69| 久99久热| 爱草视频在线| 97色色综合| 成 人片 黄 色 大 片| 狠狠穞A片一區二區三區| xxxx五月激情| 国产精品国产| 国产午夜精品一区二区三区嫩草|