色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

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

STM32開發(fā)入門:從CubeMX配置到Keil編程實(shí)戰(zhàn) 1. 從零開始為什么STM32開發(fā)繞不開CubeMX與Keil如果你剛開始接觸STM32面對(duì)那一堆寄存器、時(shí)鐘源和引腳配置是不是感覺頭大我剛開始學(xué)的時(shí)候也是對(duì)著手冊(cè)一行行敲代碼配置一個(gè)時(shí)鐘樹能折騰半天還容易出錯(cuò)。后來(lái)用上了ST官方推出的STM32CubeMX才算是真正找到了“正確打開方式”。它本質(zhì)上是一個(gè)圖形化的初始化代碼生成器你點(diǎn)點(diǎn)鼠標(biāo)配置好時(shí)鐘、外設(shè)、引腳它就能為你生成一個(gè)完整、規(guī)范的HAL庫(kù)工程框架。這不僅僅是省事更重要的是它生成的代碼結(jié)構(gòu)清晰、符合最佳實(shí)踐能幫你規(guī)避很多底層配置的坑。而Keil MDK現(xiàn)在叫Keil MDK-ARM則是我們把這些配置好的框架變成實(shí)際運(yùn)行在芯片里程序的“編譯車間”。它集成了編輯器、編譯器、調(diào)試器尤其是其強(qiáng)大的調(diào)試功能對(duì)于嵌入式開發(fā)來(lái)說不可或缺。所以一個(gè)典型的STM32開發(fā)流程往往是用CubeMX搭好骨架配置 - 用Keil填充血肉寫業(yè)務(wù)邏輯 - 再用Keil燒錄和調(diào)試。今天我就以最經(jīng)典的STM32F103C8T6俗稱“藍(lán)橋杯”或“最小系統(tǒng)板”核心為例帶你走一遍這個(gè)完整流程重點(diǎn)拆解時(shí)鐘樹配置、GPIO操作以及如何在Keil工程中優(yōu)雅地添加自己的文件模塊。這些是基石搞明白了后面玩轉(zhuǎn)串口、定時(shí)器、ADC就輕松多了。2. 工程創(chuàng)建與時(shí)鐘樹給芯片一顆穩(wěn)定跳動(dòng)的心臟拿到一塊新的STM32芯片第一件事不是急著寫代碼而是先想好它要怎么“跑”起來(lái)。這里說的“跑”首先指的就是時(shí)鐘。時(shí)鐘對(duì)于單片機(jī)就像心跳對(duì)于人所有的指令執(zhí)行、外設(shè)工作都依賴于這個(gè)節(jié)拍。STM32的時(shí)鐘系統(tǒng)相當(dāng)復(fù)雜和靈活這也是新手最容易懵的地方。CubeMX的時(shí)鐘樹配置界面就是把這張復(fù)雜的網(wǎng)用圖形化方式呈現(xiàn)給你讓你清晰地配置。2.1 創(chuàng)建新工程與芯片選型打開STM32CubeMX點(diǎn)擊“New Project”。在芯片選擇器里你可以直接輸入“STM32F103C8T6”。選中后右側(cè)會(huì)顯示芯片的引腳圖和基本資源。這里有個(gè)細(xì)節(jié)F103C8T6有兩個(gè)型號(hào)區(qū)別在于Flash大小64K或128K通常選64KB的那個(gè)就行它對(duì)應(yīng)Medium-density devices。確認(rèn)后項(xiàng)目就創(chuàng)建好了。接下來(lái)進(jìn)入配置界面。主界面分為三塊Pinout Configuration引腳和外設(shè)配置、Clock Configuration時(shí)鐘樹配置、Project Manager項(xiàng)目管理。我們按順序來(lái)。2.2 時(shí)鐘源配置選擇動(dòng)力來(lái)源STM32的時(shí)鐘可以從多個(gè)源頭獲取就像汽車可以用汽油、電或者混動(dòng)。我們主要關(guān)心兩個(gè)高速時(shí)鐘源HSIHigh Speed Internal oscillator芯片內(nèi)部自帶的RC振蕩器頻率通常是8MHz對(duì)于F1系列。優(yōu)點(diǎn)是上電就有無(wú)需外部電路缺點(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è)計(jì)的最佳性能點(diǎn)APB總線、Flash等待周期等都為此優(yōu)化過。在Clock Configuration標(biāo)簽頁(yè)你會(huì)看到一個(gè)樹狀圖。首先找到HSE的源頭。點(diǎn)擊它旁邊的選擇框?qū)⑵湓O(shè)置為“Crystal/Ceramic Resonator”。這意味著我們使用外部晶振。然后找到PLL Source Mux。點(diǎn)擊它選擇“HSE”。這樣PLL的輸入時(shí)鐘就來(lái)自外部晶振。接著配置PLLMUL。我們的HSE是8MHz要倍頻到72MHz所以倍頻系數(shù)應(yīng)該是9倍8MHz * 9 72MHz。在樹圖上找到PLLMUL將其設(shè)置為“x9”。此時(shí)System Clock Mux的源應(yīng)該自動(dòng)或手動(dòng)選擇為“PLLCLK”。你會(huì)看到SYSCLK的值變成了72MHz。2.3 總線時(shí)鐘分頻合理分配動(dòng)力SYSCLK是內(nèi)核Cortex-M3的時(shí)鐘但芯片上其他總線AHB、APB1、APB2跑多快需要分頻設(shè)置。這就像發(fā)動(dòng)機(jī)轉(zhuǎn)速很高但傳到輪子需要經(jīng)過變速箱。HCLKAHB總線時(shí)鐘通常直接等于SYSCLK72MHz不進(jìn)行分頻。AHB總線連接著內(nèi)存、DMA等高速設(shè)備。PCLK1APB1總線時(shí)鐘APB1是低速外設(shè)總線掛載了I2C1、SPI1注意F1的SPI1在APB2上、USART2/3、定時(shí)器2/3/4等。芯片手冊(cè)規(guī)定其最高頻率為36MHz。所以我們需要對(duì)72MHz進(jìn)行分頻通常選擇2分頻得到36MHz。在時(shí)鐘樹上找到APB1 prescaler設(shè)置為“/2”。PCLK2APB2總線時(shí)鐘APB2是高速外設(shè)總線掛載了GPIOA~G、ADC1、SPI1、USART1、定時(shí)器1等。它可以跑到72MHz。所以我們保持其預(yù)分頻器為“/1”即72MHz。配置完成后你的時(shí)鐘樹應(yīng)該顯示HSE8MHz - PLL x9 - SYSCLK72MHz - HCLK72MHz - PCLK136MHz - PCLK272MHz。各個(gè)節(jié)點(diǎn)的頻率都變成了綠色表示在合理范圍內(nèi)。這里一個(gè)關(guān)鍵的避坑點(diǎn)務(wù)必確認(rèn)PCLK1APB1不超過36MHz否則相關(guān)外設(shè)如某些定時(shí)器工作會(huì)異常這種錯(cuò)誤編譯器不會(huì)報(bào)錯(cuò)但程序行為詭異很難排查。2.4 生成代碼前的項(xiàng)目設(shè)置配置完時(shí)鐘先別急著生成代碼。切換到Project Manager標(biāo)簽頁(yè)。Project Name給你的工程起個(gè)名字比如“Test_GPIO”。Project Location選擇一個(gè)干凈的目錄。Toolchain / IDE這里至關(guān)重要選擇“MDK-ARM V5”。這是生成Keil5工程。在Code Generator區(qū)域我強(qiáng)烈建議勾選這兩個(gè)選項(xiàng)Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral為每個(gè)外設(shè)的初始化代碼生成獨(dú)立的.c和.h文件。這樣代碼結(jié)構(gòu)非常清晰比如gpio.c、usart.c而不是所有初始化代碼都堆在main.c里。Set all free pins as analog (to optimize power consumption)將所有未使用的引腳設(shè)置為模擬輸入模式。這是一個(gè)非常好的習(xí)慣可以降低功耗防止懸空引腳因干擾產(chǎn)生意外功耗或電平波動(dòng)。最后點(diǎn)擊右上角的“GENERATE CODE”CubeMX就會(huì)在你指定的目錄下生成一個(gè)完整的Keil工程文件.uvprojx以及所有HAL庫(kù)源碼和配置文件。3. GPIO實(shí)戰(zhàn)點(diǎn)亮LED與讀取按鍵工程生成后我們用最經(jīng)典的“點(diǎn)亮LED”和“讀取按鍵”來(lái)驗(yàn)證GPIO的輸入輸出功能。在動(dòng)手寫代碼前我們需要先在CubeMX里完成硬件連接的圖形化配置。3.1 硬件連接與CubeMX引腳配置假設(shè)我們的硬件連接是LED陰極接在PC13引腳很多最小系統(tǒng)板自帶LED在此引腳陽(yáng)極通過限流電阻接3.3V。所以我們需要控制PC13輸出低電平來(lái)點(diǎn)亮LED。按鍵一端接PA0引腳另一端接地。所以我們需要將PA0配置為上拉輸入當(dāng)按鍵按下時(shí)PA0讀到低電平松開時(shí)由于內(nèi)部上拉讀到高電平?;氐紺ubeMX的Pinout Configuration視圖。在芯片引腳圖上找到PC13左鍵點(diǎn)擊它。會(huì)彈出一個(gè)功能菜單。因?yàn)槲覀円盟?qū)動(dòng)LED所以選擇“GPIO_Output”。你還可以在右側(cè)的“System Core” - “GPIO”設(shè)置里給這個(gè)引腳起個(gè)用戶標(biāo)簽User Label比如“LED”。這樣生成的代碼里引腳會(huì)用LED_GPIO_Port和LED_Pin這樣的宏代替提高可讀性。同樣找到PA0引腳點(diǎn)擊選擇“GPIO_Input”。在右側(cè)GPIO設(shè)置中需要配置其模式。對(duì)于接地的按鍵我們需要啟用內(nèi)部上拉電阻這樣引腳默認(rèn)就是高電平。所以將PA0的“GPIO Pull-up/Pull-down”設(shè)置為“Pull-up”。同樣給它設(shè)置一個(gè)用戶標(biāo)簽如“KEY”。3.2 GPIO的八種模式深度解析為什么按鍵要設(shè)置“上拉輸入”這就涉及到GPIO的8種工作模式這是理解STM32 GPIO的關(guān)鍵。在HAL庫(kù)中主要通過GPIO_InitTypeDef結(jié)構(gòu)體中的Mode和Pull兩個(gè)成員來(lái)配置。4種輸入模式輸入浮空GPIO_MODE_INPUT_FLOATING引腳內(nèi)部既不上拉也不下拉完全由外部電路決定電平。當(dāng)引腳懸空時(shí)電平不確定極易受干擾。除非外部電路有確定的上/下拉否則慎用。輸入上拉GPIO_MODE_INPUT_PULLUP啟用內(nèi)部上拉電阻約30kΩ-50kΩ。引腳默認(rèn)被拉至高電平邏輯1。我們的按鍵就適合用此模式按鍵按下時(shí)拉到地低電平。輸入下拉GPIO_MODE_INPUT_PULLDOWN啟用內(nèi)部下拉電阻。引腳默認(rèn)被拉至低電平邏輯0。如果按鍵另一端接的是VCC就需要用此模式。模擬輸入GPIO_MODE_ANALOG關(guān)閉施密特觸發(fā)器引腳直接連接到ADC或比較器等模擬外設(shè)。用于采集模擬信號(hào)如電壓。4種輸出模式注意輸出模式可以同時(shí)配置上/拉下拉但通常不需要5.開漏輸出GPIO_MODE_OUTPUT_OD輸出級(jí)只有一個(gè)N-MOS管。當(dāng)輸出邏輯1時(shí)MOS管關(guān)閉引腳呈高阻態(tài)相當(dāng)于斷開輸出邏輯0時(shí)MOS管導(dǎo)通引腳接地。特點(diǎn)可以實(shí)現(xiàn)“線與”功能多個(gè)開漏輸出接在一起任一輸出0則總線為0方便電平轉(zhuǎn)換外接上拉電阻到不同電壓。I2C總線就必須用開漏模式。 6.推挽輸出GPIO_MODE_OUTPUT_PP輸出級(jí)有P-MOS和N-MOS兩個(gè)管子像推挽一樣工作。輸出1時(shí)P-MOS導(dǎo)通輸出高電平VDD輸出0時(shí)N-MOS導(dǎo)通輸出低電平GND。特點(diǎn)驅(qū)動(dòng)能力強(qiáng)高低電平明確是驅(qū)動(dòng)LED、繼電器等最常用的模式。我們的LED就應(yīng)用此模式。 7.開漏復(fù)用功能GPIO_MODE_AF_OD用于片內(nèi)外設(shè)如I2C、USART需要開漏輸出時(shí)。 8.推挽復(fù)用功能GPIO_MODE_AF_PP用于片內(nèi)外設(shè)如SPI、USART需要推挽輸出時(shí)。一個(gè)常見誤區(qū)有人發(fā)現(xiàn)將GPIO配置為輸出模式后無(wú)法正確讀取引腳電平。這是因?yàn)樵谳敵瞿J较伦x取GPIOx-IDR寄存器得到的是“輸出數(shù)據(jù)寄存器”經(jīng)過一個(gè)選擇器后的狀態(tài)并非直接來(lái)自物理引腳。要讀取引腳的實(shí)際電平即“回讀”需要將引腳暫時(shí)設(shè)置為輸入模式或者使用HAL_GPIO_ReadPin函數(shù)該函數(shù)會(huì)讀取IDR寄存器。所以如果你需要真正的“回讀”功能比如讀取一個(gè)輸出引腳上連接的其他器件的狀態(tài)最穩(wěn)妥的辦法是臨時(shí)切換為輸入模式讀完再切回來(lái)。3.3 編寫第一個(gè)應(yīng)用代碼LED閃爍與按鍵檢測(cè)用Keil MDK打開CubeMX生成的工程。打開Src/main.c找到main函數(shù)。在/* USER CODE BEGIN 2 */和/* USER CODE END 2 */之間這是CubeMX為用戶代碼保留的安全區(qū)域重新生成代碼不會(huì)覆蓋我們編寫業(yè)務(wù)邏輯。/* USER CODE BEGIN 2 */ // 初始化一個(gè)變量用于記錄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. 按鍵檢測(cè)如果KEY被按下低電平 if (HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin) GPIO_PIN_RESET) { // 簡(jiǎn)單的延時(shí)消抖實(shí)際項(xiàng)目建議用定時(shí)器 HAL_Delay(20); // 延時(shí)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); // 按鍵動(dòng)作生效翻轉(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)延時(shí)降低CPU占用 } /* USER CODE END 3 */這段代碼實(shí)現(xiàn)了一個(gè)帶消抖的按鍵控制LED開關(guān)功能。HAL_GPIO_ReadPin和HAL_GPIO_WritePin是HAL庫(kù)提供的標(biāo)準(zhǔn)讀寫函數(shù)。注意我們的LED是低電平點(diǎn)亮所以GPIO_PIN_RESET對(duì)應(yīng)點(diǎn)亮。編譯與下載點(diǎn)擊Keil工具欄的“Build”F7編譯工程。如果沒有錯(cuò)誤連接好ST-Link/V2等調(diào)試器點(diǎn)擊“Load”F8即可將程序下載到芯片中。按下復(fù)位鍵你應(yīng)該能看到按下按鍵時(shí)LED的狀態(tài)會(huì)發(fā)生改變。4. 在Keil工程中優(yōu)雅地添加與管理源文件當(dāng)你的項(xiàng)目越來(lái)越大把所有代碼都寫在main.c里會(huì)變得難以維護(hù)。我們需要將功能模塊化封裝成獨(dú)立的.c和.h文件。如何在Keil工程中添加這些文件并讓編譯系統(tǒng)認(rèn)識(shí)它們是必須掌握的技能。4.1 手動(dòng)添加文件步驟與陷阱假設(shè)我們要?jiǎng)?chuàng)建一個(gè)bsp_led.c和bsp_led.h文件來(lái)管理LED操作。創(chuàng)建文件在工程目錄下建議放在與Core/Src同級(jí)的User或BSP文件夾里用記事本或VS Code等編輯器新建這兩個(gè)文件。編寫頭文件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); // 一個(gè)簡(jiǎn)單的閃爍函數(shù)示例 #endif /* __BSP_LED_H */編寫源文件bsp_led.c#include bsp_led.h // 初始化函數(shù) void LED_Init(void) { // CubeMX生成的MX_GPIO_Init()已經(jīng)完成了GPIO的初始化。 // 這里可以放置一些額外的初始化比如初始化一個(gè)用于閃爍的定時(shí)器或者設(shè)置初始狀態(tài)。 LED_OFF(); // 默認(rèn)關(guān)閉LED } // 簡(jiǎn)單的阻塞式閃爍函數(shù)僅用于示例實(shí)際應(yīng)用建議用定時(shí)器非阻塞實(shí)現(xiàn) void LED_Blink(uint32_t interval_ms) { LED_ON(); HAL_Delay(interval_ms); LED_OFF(); HAL_Delay(interval_ms); }在Keil中添加文件到項(xiàng)目在Keil左側(cè)的“Project”窗口中找到你想添加文件的分組例如“Application/User”。右鍵點(diǎn)擊該分組選擇“Add Existing Files to Group...”。瀏覽并選中你剛創(chuàng)建的bsp_led.c文件注意只添加.c文件.h文件不需要也不能被添加到分組中。添加成功后你會(huì)在該分組下看到bsp_led.c。包含頭文件路徑這是最關(guān)鍵也是最容易出錯(cuò)的一步Keil編譯器需要知道你的bsp_led.h在哪里。點(diǎn)擊Keil工具欄的“Options for Target”魔術(shù)棒圖標(biāo)。切換到“C/C”選項(xiàng)卡。在“Include Paths”一欄點(diǎn)擊末尾的“...”。點(diǎn)擊“New (Insert)”按鈕文件夾圖標(biāo)上有個(gè)*號(hào)然后點(diǎn)擊“...”瀏覽文件夾。找到你存放bsp_led.h的目錄例如../User選中并點(diǎn)擊“OK”。確保這個(gè)路徑出現(xiàn)在列表里然后點(diǎn)擊“OK”關(guān)閉所有窗口。常見錯(cuò)誤“檢測(cè)到include錯(cuò)誤請(qǐng)更新includepath”這個(gè)錯(cuò)誤就是因?yàn)榫幾g器在指定的包含路徑里找不到你#include的頭文件。請(qǐng)嚴(yán)格按照上述步驟5將存放所有自定義頭文件的目錄都添加到“Include Paths”中。路徑可以使用相對(duì)路徑如../User這樣工程移動(dòng)位置后依然有效。4.2 模塊化編程的最佳實(shí)踐頭文件衛(wèi)士#ifndef...#define...#endif防止頭文件被重復(fù)包含這是必須的。僅包含必要的頭文件在.c文件中包含對(duì)應(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ù)接口清晰模塊對(duì)外只暴露必要的初始化函數(shù)和控制函數(shù)內(nèi)部狀態(tài)用靜態(tài)static變量隱藏起來(lái)。利用CubeMX的分外設(shè)生成前面提到在CubeMX中勾選“為每個(gè)外設(shè)生成獨(dú)立的.c/.h文件”這本身就是一種極佳的模塊化。生成的gpio.c、usart.c等文件就是最標(biāo)準(zhǔn)的底層驅(qū)動(dòng)模塊。你的應(yīng)用層模塊如bsp_led.c、app_control.c應(yīng)基于這些驅(qū)動(dòng)模塊進(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需要正確連接到芯片的對(duì)應(yīng)引腳PA13/JTMS/SWDIO, PA14/JTCK/SWCLK并且共地。配置Keil調(diào)試選項(xiàng)點(diǎn)擊“Options for Target” - “Debug”選項(xiàng)卡。選擇你使用的調(diào)試器如ST-Link Debugger。點(diǎn)擊“Settings”在“Debug”子選項(xiàng)卡確認(rèn)“Port”是“SW”。在“Flash Download”子選項(xiàng)卡勾選“Reset and Run”這樣下載后程序會(huì)自動(dòng)運(yùn)行。確保“Programming Algorithm”里包含了你的芯片型號(hào)STM32F10x Medium-density Flash。如果沒有需要點(diǎn)擊“Add”添加。開始調(diào)試點(diǎn)擊Keil工具欄的“Start/Stop Debug Session”CtrlF5。程序會(huì)暫停在main函數(shù)開頭。單步F11逐語(yǔ)句執(zhí)行會(huì)進(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”來(lái)查看GPIO、USART等外設(shè)寄存器的實(shí)時(shí)狀態(tài)這對(duì)于排查配置是否正確非常直觀。5.2 GPIO問題專項(xiàng)排查問題程序里寫了高電平但用萬(wàn)用表量引腳電壓是0V低電平。這是最典型的“回讀”誤解。首先確認(rèn)引腳配置模式你配置的是輸出模式嗎如果是輸入模式寫輸出寄存器是無(wú)效的。輸出類型是推挽輸出嗎開漏輸出需要外部上拉電阻才能輸出高電平。引腳復(fù)用這個(gè)引腳是否被其他外設(shè)如串口、SPI復(fù)用了在CubeMX中檢查引腳顏色黃色表示已配置為復(fù)用功能。一個(gè)引腳同一時(shí)間只能有一種主要功能。硬件連接引腳是否對(duì)地短路LED或其它負(fù)載是否短路損壞用萬(wàn)用表測(cè)量一下。真正的回讀如果想確認(rèn)物理引腳電平最可靠的方法是臨時(shí)在代碼里將該引腳切換為浮空輸入模式然后讀取讀完再切回輸出模式。或者直接用示波器或邏輯分析儀觀察。問題按鍵檢測(cè)不穩(wěn)定偶爾會(huì)誤觸發(fā)。消抖處理機(jī)械按鍵在閉合和斷開瞬間會(huì)產(chǎn)生一段時(shí)間的抖動(dòng)通常5-20ms。上面的代碼使用了簡(jiǎn)單的延時(shí)消抖但會(huì)阻塞整個(gè)程序。更優(yōu)的方案是使用定時(shí)器中斷在定時(shí)器中斷服務(wù)函數(shù)里比如每10ms一次采樣按鍵狀態(tài)并用一個(gè)狀態(tài)機(jī)比如檢測(cè)到連續(xù)2次低電平才認(rèn)為按下來(lái)濾波。上拉/下拉電阻確認(rèn)CubeMX中配置的上下拉模式與硬件電路匹配。如果按鍵接VCC應(yīng)用下拉輸入接地則用上拉輸入。外部干擾如果走線過長(zhǎng)或環(huán)境干擾大可以在按鍵引腳到地之間加一個(gè)幾十到幾百皮法的小電容起到硬件濾波作用。5.3 編譯與鏈接常見錯(cuò)誤undefined symbol(鏈接錯(cuò)誤)說明某個(gè)函數(shù)或變量只有聲明在.h文件中但沒有定義在.c文件中。檢查對(duì)應(yīng)的.c文件是否已添加到工程分組中并且函數(shù)名拼寫完全一致包括大小寫。cannot open source input file(編譯錯(cuò)誤)頭文件包含錯(cuò)誤。嚴(yán)格按照4.1節(jié)第5步檢查“Include Paths”是否包含了所有自定義頭文件的目錄。路徑中的斜杠方向、相對(duì)路徑是否正確都需要注意。程序大小超出Flash限制F103C8T6的Flash是64KB。如果代碼太大可以嘗試在“Options for Target” - “Target”選項(xiàng)卡中勾選“Use MicroLIB”一個(gè)精簡(jiǎn)版的C庫(kù)并優(yōu)化編譯選項(xiàng)“C/C”選項(xiàng)卡中“Optimization”等級(jí)選擇-O2。但最根本的還是優(yōu)化代碼邏輯移除不必要的庫(kù)和功能。6. 進(jìn)階思考從HAL庫(kù)到理解寄存器通過CubeMX和HAL庫(kù)我們可以快速上手。但要想真正精通STM32理解寄存器操作是必經(jīng)之路。HAL庫(kù)函數(shù)底層也是操作寄存器。例如HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET)最終可能等價(jià)于GPIOA-BSRR GPIO_PIN_5置位寄存器這樣的寄存器操作。為什么要了解寄存器效率直接操作寄存器通常比調(diào)用庫(kù)函數(shù)更高效代碼體積更小這在資源緊張或?qū)r(shí)序要求極高的場(chǎng)合如模擬協(xié)議、精確延時(shí)是必須的。調(diào)試當(dāng)程序出現(xiàn)極其詭異的硬件問題時(shí)查看外設(shè)寄存器的實(shí)際值并與參考手冊(cè)對(duì)比是定位底層問題的終極手段。理解本質(zhì)理解了寄存器你才能真正看懂芯片手冊(cè)才能在沒有HAL庫(kù)支持的新芯片或小眾外設(shè)時(shí)自己寫出驅(qū)動(dòng)。如何開始不要一開始就試圖記住所有寄存器??梢詮囊粋€(gè)簡(jiǎn)單的點(diǎn)入手比如用寄存器方式點(diǎn)亮一個(gè)LED。打開STM32F1的參考手冊(cè)找到GPIO章節(jié)看GPIOx_CRL/CRH配置寄存器、GPIOx_ODR輸出數(shù)據(jù)寄存器、GPIOx_BSRR置位復(fù)位寄存器的描述。然后嘗試在HAL庫(kù)初始化好的基礎(chǔ)上直接寫GPIOA-BSRR GPIO_PIN_5;來(lái)置位PA5。當(dāng)你成功用寄存器控制了一個(gè)外設(shè)就打開了通往底層世界的大門。我個(gè)人在項(xiàng)目中的習(xí)慣是產(chǎn)品開發(fā)用HAL庫(kù)追求開發(fā)速度和可維護(hù)性在個(gè)別對(duì)性能有極致要求的模塊如高頻PWM、軟件模擬高速協(xié)議會(huì)混合使用寄存器操作。而CubeMX生成的初始化代碼為我提供了一個(gè)完美且正確的寄存器配置起點(diǎn)讓我可以放心地在上面進(jìn)行底層優(yōu)化。這種“上層快速搭建底層精準(zhǔn)優(yōu)化”的組合讓我在效率和掌控力之間找到了很好的平衡。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国语对白在线播放视频| 欧美精品亚洲精品日韩传电影| 330dv亚洲成年视频网| 92久久| 91c色| 久久久久中出| 亚洲色婷婷久久久综合日本| 强奸少妇AV导航网| 欧美 亚洲 第一页| 女人的久久久| 长长久久88视频| 亚洲综合九| 操www| 91精品成人| 无码不卡亚洲成?人片| 睡产熟女乱伦| 97网站在线观看 | 欧美与日韩97| 1769一区二区| 60秒不遮不挡| 一区二区三区精品黑丝白丝酒店对鸡 | 内射日韩大臀美女| 人妻三级在线中文字幕| 秋霞男人网| 午夜啪| 一区| 久草福利在线资源站| 亚洲欧美综合网站| 狠狠色色| 性爱Av免费| 中文97国产| 香蕉国产精品麻豆亚洲欧美日韩| 四虎视频在线观看| AAAAAAAAA黄片| 69人妻精品丰满熟女区| 97欧美性爱| 久啪视频| 一区二区首页| 免费在线黄片视频| 男人的天堂com| 美女露胸露奶头| 亚洲天堂AV在线播放| 91少妇通奸网站| 久久女婷| 日韩高清黄片| 欧美成人贴图| 啊啊啊不要嗯嗯在线观看| 国产大学生口爆吞精合集| 日韩有码中文字幕女同性恋| 日本丝袜美腿人妻九九| 欧美日韩香蕉| 偷拍 欧美 日韩| 天天日天天屌天天操| 亚洲色欲天天人妻无码系列专区| 97色伦97色伦国产欧美| 人妻大香蕉| 久久久久久久9最新免费视频观看| 国产精品久久久久久久毛片1| 欧美女同在线| 亚洲大色堂| 国产一级作爱毛片| 2018天天干在线视频| 伊人九九九| 欧美最婬乱婬爆婬性视频 | 亚洲爽图| 99re综合伊人| 亚洲人妻熟妇三十三区| 色情综合网| 伊人久久综合影院精品久久久| 一二视频神马久久传媒| 亚洲国产一级中文综合久久天堂在线免费观看| 粉嫩粉嫩一区性色AV片| 91视频精品| 国产精品对白自产拍| 97自拍一区| 亚洲综合九九| 99精品久久久久久久婷婷蜜桃| 精品视频一区二区| 亚洲丝袜少妇在线| 91精品国| 色眯眯av| 狠狠爱AV| 中文幕97| 久久久久久中文版| 男人天堂.AB| 婬女免费一二三区A片| 欧美极品美女aaaaaa级黄片| 9Ⅰ超碰| 亚洲区小说| 欧亚日韩综合精品国产| 天天综合网入口~91| 99热精品在线| 色色色综合网| 99热精品在线观看| 麻豆天美国美国产AV| 亚洲精品a人片在线观看视| 久久久久人妻二区精品叶可怜| 国产综合色精品在线观看| 婷婷九月丁香| 国产乱弄免费在线视频。| 丁香五月激情啪啪| 国产精品国产自产拍高清AV| 色婷婷影院| 中文字幕丝袜国产第一页不卡| 啊啊啊啊啊啊啊啊啊啊在线观看| 老熟妇一区二区三区啪啪| 久无码| 99色热| 熟女精品va中文字幕| 亚洲国产成人7777| 亚洲无无码αⅴ每日更新| 99热超碰| 天堂8在线新版官网| 精品久久久久久AV无码| 欧美亚洲国产91在线| 色综91| 日韩欧美传媒一区国产| 婷婷人妻激情| av日韩中文字幕| 中国小夫妻勾搭露脸淫荡对白| 亚洲蜜臀懂色| 亚洲老司机123专区| 久久久∴| 综合欧美日韩在线| 激情久久日韩精品中文字幕麻豆| 69久久| 91国产伊人大香蕉| 无卡一区=区| 蜜桃精品视频一区二区三区| 久久久久久久91| 国产精品夜夜| AAAA级日本片免费视频| 偷拍偷窥与盗摄视频专区| 亚洲欧美综合| 日韩免费av片高清无码| 6080YYY午夜理论片在线观看| 中文字幕日韩人妻视频| 国产精品久久久久综合| 97色干| 99热99re超碰精品| 日韩精品99久久久久久中文字幕| 久久日本熟女精品一区| 国产女主播视频在线观看| 熟妇人妻一二三区免费| 久久久96| 欧美性爱1080p| 大屁股xxxxx| 91丨九色丨国产打屁股| 超碰午夜在线| 97久久久久| 日日躁夜夜躁狠狠躁超爽| 亚洲男人电影天堂| 中文字幕一区二区三区高清| 蜜臀国产AV中文字幕| 91精品成人| 亚洲熟久久| www.91视频网| 26uuu国产亚洲综合| 午夜福利成人免费视频| 精品大久久| 九九九精品一区二区无码| 高潮9999外国| 三级AV入口| 激情综合网五月婷婷| 人人超碰在线观看黄| 爱妻综合网| 97亚洲在线| 你懂的在线观看区国产| 制服乱伦| 校园春色中文字幕AV| 男人的天堂视频精品乱在线| 东亚亚洲无码高清| 欧美18禁91| 国产精品毛片| 影音先锋少妇| 亚洲天堂男人在线| 骚人妻少妇视频| 激情五月天中文字幕色| 可以免费观看的日韩av毛片| 爽爽爽免费视频| 久久成人东京热人妻| 免费精品国偷自产在线在线| 丁香激情网| 色天堂综合| 久久啊啊| 国产av美女被艹的乱叫| 啊啊啊啊二区好大| 免费av在线播放二区| 欧美日日夜夜| 91久久青青草原精品| 疯操AV| 超碰综合色| 又大又长又粗又爽又黄| 国产精品女aA片爽爽视频| 十八禁电影伊人网| 在线一道啪| 久久精品一区一起草| 色综合99999| 欧美性天天影视| 天天射天天色成人| 亚91网| 亚洲人妻爽爽爽| 国产精品懂色tv影视免费观看| 中文字幕av片| 磁力99AV| 九九热免费在线国产视频伊人五月| 色天使亚洲综合在线观看| 亚洲天天综合| 国产白丝网站| 人人九九精| 东北女人操比视频| A一级色女| av亚洲天堂资源网站| 水澄无码AV| 五月综合婷婷久久网站| 五月激情小说| 天天操夜夜操| 日韩人妻大香蕉| 91狠狠综合久久| 久久无码一区二区二三区性色| 国产成人五月天丁香花| 日韩精品电影| 日日干夜夜欢| 蜜臀一二三区| 九色 蝌蚪 熟女自| 日本ZZ高免费A级视频| 密臀在线免费观看| 99热这里都是精品| 欧美激情综合色综合啪啪五月| 乱伦3P视频| 日欧亚洲二三区大片不卡| 日本黄色大片一级视频免费麻豆| 免费一级黄色录像影片| 一区二区三区机械有限公司| 91碰超| 人妻乱仑一区二区三区| 日韩欧美俄罗斯A片| 久久社区一区二区三区| 色婷婷香蕉| 91校园春色长篇| 伊人久久艹| 伊人97色天使| 天天操美美| 五月天九九日国产精品一区二区三区| 久久久久久久综合,国产| av橘色网站| 97爱亚洲| 欧美精品一区二区少妇免费A片 | 日韩午夜国产| 欧美日韩亚洲天堂| 九九九九九九九九九国产精品 | 久久香蕉国产传媒一区剧情天美| 精品熟女一区=区三区| 日本不卡高清免v欧美日韩在线观看| 一牛影视久久久一区二区三区| 蜜臀人妻少妇久久在线观看| 欧亚日本情色| 手机在线A片| aaa一级黄片| 97精品国产97久久久久久| 超碰在线974| 97情超碰色| 国产高清成人免费视频| 欧美日韩 强奸乱伦| 新版天堂中文资源8在线| 五月激情在线| 亚洲综合69| 欧美一区二区| 青椒国产97在线熟女| 无码免费精品高清| 丰满人妻一区二区三区在线| 大香蕉92| 精品九九国产无码| 久操九九九九| 熟妇人妻丰满久久久久久久无码| 国语对白在线播放视频| 超碰资源亚洲97| 东京热av男人的天堂| 亚洲图片视频小说| 岛国片国产成人亚洲播放| av日韩在线观看电影| 色鬼在线综合| 日本一区不卡| 97色色婷婷| 亚洲国产蜜臀系列在线观看| 国产一区二区a毛片| 国产亚洲人妻综合日韩 久久| 精品网站99999| 五月丁香激情四射| 99热思思| 青青伊人加勒比海| 久久 国产 无码| 伊人影院中文字幕| 欧美在线电影| 亚洲欧美日韩夜夜| 亚春色色| 蜜乳AV色欲AVAV无码| 美女淫穴| 强奸乱伦大香蕉| 夜夜騷av、一區二區| 91操熟女| 久久熟女人| 美女91AV| 中文字日本乱码| 日本成人在线不卡一区二区三区| 色蜜AV| 亚洲精品国产拍免费91在线| 国产情侣自拍在线播放| 中国91AV| 亚洲天堂另类美腿| 12一15性XXXX粉嫩国产| 久久天天躁日日躁狠狠躁 | 岛国大片国产| 色综和网| 强奸乱伦Av网| 操逼内射干逼白丝91| 国产资源中文字幕在线| 麻豆AV96熟妇人妻| 伊人久久大香线蕉无码| 久久的网站啊啊啊啊啊| 多乙久久久久久| 色综合20p| 精品一区二区人妖| 欧美亚洲丝袜人妻制服中文99| 中文字幕 国产 精品| 91大香蕉伊人| 五月婷久久| 国产精品久久久久久久久久久久久久吹| 综合久| 亚洲欧美另类小说| 青青草视频在线观看一区二区| 69XX一中文字幕人妻91| 国产精品久久久九九九| 国产超碰人人操| 欧美熟妇精品黑人巨大91| 99国内精品| 国产午夜精品在线观看| 蜜臀一二三| 99热精品在线观看| 麻豆三极片| 日本精品人妻少妇一区二区| www亚洲免费| 男人在线天堂| 亚洲精品白丝| 色墦五月丁香| 校园激情狠狠四射| 学生妹天天看| 亚洲瓯美色图| hd成人一区二区在线| 日本亚洲嫩草影院啪啪| 成人热久久精品| 国产激情视频在线观看| 97精| 91精品免费| 花野真衣| 日韩无码专区| 人妻一二三区| 97超碰人人操人人操| 好爽要喷了| 色 婷97| 丁香五月偷拍| 69精品久久久久中文字幕| 激情综合网亚洲| 国语精品av| 香港日本韩国人妇99www.wccm20| 久久人妻视频网| 中国zzijzzijzzwww精品| 五十路一区无码| 粉嫩少妇自慰在线| 91 丝袜在线| 日本在线一二 | 人人操人人摸人| 欧美国产精品久久九九| 久久αⅴ| 色天天野狼综合社区| 77777亚洲蜜臀精品久久综合蜜臀| 波多野42部无码喷潮在线观看| 国产精品视频在线观看| 久久久涩| 色欧美在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 人人扣人人操| 国产又粗又长又爽又色| 日韩av影片在线观看| 国产黄色在线播放观看| 亚洲精品国产精品成人| 亚洲自拍偷拍视频在线| 丝袜综合网| 亚洲日韩97| 91久久国产综合精品| 亚洲城人男人的天堂| 欧美操人| 91啪9色| 3571色综合一区二区二区| 国产精品无码久久久久2028| 亚洲无码一二三区| 国产亚洲精品美女久久久m| 人人人人插| 亚洲小电影免费涩涩成人在线高清| 蜜臀久久99精品久久久久久-DVD原版全| 深夜激情 | 在线观看一级α片刺激高潮视频| 精品九九九| 亚洲图片视频小说| 欧美色97| 精品美女人人干| 激情小说亚洲视频| 久久精品老司| 亚州色阁| 狠狠色五月亚洲91| 99av| 性爱Av免费| 欧美一区二区三区另类精品| 激情视屏国产乱伦强奸| www.色婷婷色综合| 国产女人高潮视频| 人妻精品一区二区全免费| 97欧美精品综合| 极品丝袜无码| 欧美少妇高潮久久91| 亚洲91射| 一二三区操逼国产91| 久久中文字幕一区不卡| 欧美成人午夜免费福利785| 婷婷综合久久| 欧美性爱一内片一区二区三区| 亚洲色图欧美色图制服丝袜| 死我十八禁| 91 丝袜在线播放| 国产99999| 久久无码一区二区二三区性色| 欧美午夜视频免费观看| 欧美性爱在线无码| 玖玖蜜臀资源网| 成年人免费观看网站| 天天92av| 久久超碰国产一区二区三区| 亚洲综合一区二区| 国产传媒1234区| 中文字幕日韩情色| 亚洲 小说 欧美 激情 另类| 熟女突然公开看18禁影片| 中文字幕啊啊啊在线观看视频| 亚洲AV无码| 日本性爱视频一级| 九九色精品| 六月丁操逼| 九七超碰人人乐| 欧美精品久久久久久久丰满| 欧美日本中字另类在线| 午夜天天碰综合视频| 日本加勒比无码专区一二三| 日本操逼视频在线| 五月天婷婷激情| 久久99精品国产| 性天堂| 精品国产一区二区三区香蕉欧美| 五月丁香啪啪啪| 亚洲综合大片| 在线色导航| 亚码激情| 78m成人视线| 3d成人精品一区二区| 熟女丝袜视频| 欧美线天码中字| 久久91精品国产9丨久久分亭| 老女人爆菊| 97鸡把在线视频| 亚洲成熟国产精品美女| 日本顶级天天操狠狠操夜夜操中文字幕 | 人人干黄色| 3571色综合一区二区二区| 蜜桃传媒视频第一区入口在线看| 国产精品美女久久久久AⅤ国产馆| 天天干2019| 啊啊啊好舒服视频| 久久久久久午夜男人的天堂| 国产91美女视频| 欧美v亚洲v日韩v最新在线二区 | 国产福利在线视频网站| 久久超碰大香蕉| 91av一区二区在线观看| 人人操人人射人人干| 亚洲好看强奸乱伦| 日本中文字幕一区| 久久成人国产| 死我十八禁| 操逼网免费无码视频| 青草香蕉网| 日韩综合无码色欲vv| 天天看特黄的免费网站| 欧美另类综合久久| 色噜噜日韩精品| 色婷婷99| 国产偷拍网站| AV中文字幕剧情1区2区3| 被窝影院午夜看片无码| 久草男人天堂| 中文自拍欧美影视| 亚洲一二三四区| 国产欧美美女免费观看视频| 黄色免费一级在线毛片| 亚洲熟女一区| 久久综合激情| 大香蕉2017| 日韩另类色图| 啪啪啪东京| 超碰一区二区| 小少妇| 亚洲精品成人动漫在线| 欧美日韩亚洲国产中文永久天天看| 黄片无码在线制服| 国产传媒av天美传媒在线| 岛国小电影| 欧美成人AⅤ大片在线观看| 亚洲第一页色网| 久久久婷婷婷| 正在播放国产精品一区| 亚州色站 日韩电影| 搡老女人老妇女AAA一VU麻豆| 欧美一二级| 91 手机在线播放 绯色| 免费观看国产不卡av| 91中文字幕在线观看| 91 亚洲 欧美 日韩 国产 综合| 殴美性天天| 久久鲁夜| 碰碰在线视频| 中文字幕亚洲永久精品| 香蕉99秘 一区精品蜜桃臀| 欧美白嫩女HD| av天堂手机版追回 | 熟妇熟女视频一区二区三区| 国产一级特黄大片处女| 97国产精品一区二区传媒公司| 99色综合| 国产精品久久久久无码AV会牛| 中国人高清www色视频免费| 玖玖草久草99蜜月一区二区三区| 综合色图区| 亚洲中文日韩精品| 国产亚洲性生活视频播放| com 首页 18岁 禁区 女优 免费 精选 同城 | 91neishe| 可以免费观看的AV| 国产综合永久精品日韩鬼片| 日韩成人无码| 黑人精品久久97| 亚洲情色五月天| 五月天色图| 色在线亚洲视频www| 大香蕉色欲AV| 歐美性天天| 欧美超碰9798| 久久一二三四五六七八九区区区| 黑人无码一区二区| 美女午夜福利免费视频| 一级日本牲交大片好爽在线看| 国产9区| 色九九久九九| 在线情色电影 91大| A V少妇特黄三级| 国产在线精品偷| 国产三级中文有码在线视频| 伊人久久在线视频观看| 中文色综合| 欧美十八禁视频| 五月天婷婷在线看| 欧美色视| 97亚洲在线| 久久久久99999| 亚洲Av诱惑| 天天日天天干少妇日| 97久久国产| 无码九九九九| 日韩欧美麻豆 | 91处女在线视频| 欧洲亚洲天堂精品| 风月影院男女十八禁| 91伊人久久在线| 色 亚洲 91| 亚洲第一男人天堂| 亚洲欧美91| 亚洲se91| 欧美真人抽搐一进一出gif| 日本操逼aaaaa| 日韩免费高清大片在线| 欧美区亚洲区偷拍区| 91丨九色丨国产丨人妻在线| 午夜爽爽爽在线观看永久入口姬片| 精品一区二区成人| 色狠狠色| 久久久久性熟视频| 91 丝袜在线| av网站在线观看了| 激情九月婷婷| 99在线免费观看| 禁止观看美女黄| 日韩性爱再线视频| 国产精品交换一区二区| 久久鲁夜| 亚洲精品91| 天天射天天操天天干天天吃2018| 伊人五月天婷婷| 午夜男女爽爽爽在线视频| 亚洲图片欧洲图片aⅴ| 国产情侣自拍在线播放| 激情四射婷婷四五月天| 久久风骚城市人| 女欧美一区二三区| 欧美黄片视频在线观看免费 | 色月天AV导航| 无码人妻精品酒店| 欧美色五月| 久久偷偷色综合蜜桃| 九七超碰| 亚洲无套久久嗯嗯| 久久宗合亚洲| 人人操人人爽人人操人人| 欧美日韩中文亚洲v在线综合| AV天堂男人的天堂| 翔田千里爆乳巨臀无码| 激情文学网伊人| 日本道日本道中文字幕日本道最新日本道在线观看 | 亚洲巨爆乳一区二区三区四季网| 九色PORNY9l原创自拍| 我爱操| 人人妻人射| 少妇专区一二三四五| 欧美一级黄片视频在线| 久热99999| 亚洲偷拍自拍在线视频| 九九热av| 福利风月五月天影院| www.av家庭乱伦| 熟妇艹鸡八| 大香蕉综合网| 色91综合网| 久久久久久69国产一区二区| 一区二区久久天天干狠狠| 亚洲日韩人妻中文字幕一区| 中文久久一区| 97免费免费视频网| 日本午夜精品理论片A级APP发布| 夫妻日逼| 天天综合网91入口| 中文字幕一区二区免费在线| 情色大香蕉| 麻豆这里只有精品| 自拍偷拍 日韩欧美| 久久综合久色欧美综合狠狠| 郑州宾馆老熟女露脸啪啪| 欧美色97| 极品色社| 大伊香蕉在线视频免费| 狠狠操官网| 欧美日韩亚洲少妇寂寞影院正在播放 | 天天插天天射| 亚洲第一黄色av网站| 亚洲妇色| 有码人妻系列| 久久久爆乳翘臀一线天伦理视频| 人妻一区二区三区视频| 天天久久| 久久是精品| 亚洲五区熟女| 91色综合激情| 色眯眯射| 日本中文字幕熟妇| 亚洲淫色网中文| 中文字幕加勒比海高清无码免费视频 | 九九热最新| 蜜乳AV一区二区三区四| 超碰九区| 夜夜爽爽夜夜精品视频| 超碰在线人妻不卡| 一区麻豆 高清中文字幕| 久久99黄色卞西瓜| 丁香五月天婷婷姐| 久久久久国产亚洲一区欧美色图日韩| 日韩AV片| 黄片aaaaa一区| 五月丁香社区婷婷日韩欧美精品影院 | 久久岛国| 久96热在线观看视频| 91中出| 思思热在线视频免费| 欧美色网| 激情五月天插| 成功精品影院| 欧美日韩222| 麻豆激情综合| 大香交| 久久69| 日本成人A片网站| 国产强奸超碰AV| 青青草视频久久| 亚洲欧美国产中文字幕| 日韩 欧美 国产 麻豆| 亚洲色人阁| 91丝袜视频在线观看| 久久超碰网| 国产一级特黄大片处女| 五月激情综合网| 亚洲成人色情五月天丁香花| 日产精品久久久一区二区| 欧美性爱无码一区二区三区| 婷婷导航| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 五月天久久人妻| 国产兽交视频在线播放| 欧亚性爱视频免费看| 高潮内射在线| 日韩精品-原创伙伴| 男人高清无码一区二区| 91欧美偷拍| 综合色91| 色情五月丁香| 国产精品夜夜夜| 日本免费专区| 任我爽视频在线观看| 加勒比99999| 91社区拍啪人妻| 九区国产| 久久久新亚洲AV| 99热这里是精品| 综合一区二区影视| 伦伦成年午夜免费视频| 男人的天堂日本东京热| 亚洲 自拍偷拍 欧美| 日本人妻天堂网站在线播放| 日韩中文字幕人妻视频| 超碰视97中文| 六月婷激情福利天堂69| 精品久久久久久中文字幕视频免费| 五月天激情小说| 午夜性刺激视频免费观看| 五月天啪啪| a片久久久久久久久久久久 | av中亚| 亚洲日韩一区电影| 搡老女人老91妇女老熟女 | 精品一级毛片在线观看| 操久久久久久| 深夜福利黄片| 欧美黑人168页欧美黑人167| 丁香五月综合| 91大香蕉伊人| 射丝袜高跟鞋99| 国产99精品一区二区三区免费| 999熟女精品| 91久久久久久| 欧美 精品国产制服第一页| 亚洲一区制服诱惑| 99国产在线绯色一区| 乱论91| 中文字幕交换人妻| 国产麻豆一级精品视频| 亚洲成人精品久久久| 欧美性夜| 骚妻少妇精品性色无码四色A V| 人妻乱仑一区二区三区| 亚洲欧美日产国产91毛片| 久久久久亚洲Av无码专区老牛影视| 天天操天天射天天日| 91色黑人少妇| 国产97/欧美| 插老姨肥穴| 精品久久久av无码免费| 歐美一級亂黃99在綫精品| 国产精品色约约| 福利伊人玖玖国产| 色亚州人久干视频在线观看免费版| 国产亚洲精品无码三区| 亚精品无码毛片一区二区三区| 国产无码精品高清| 啊啊好多水| 91 在线亚洲| 久久久久久免费电影| 高清无码一区二区三区| 亚洲性图91| 国产精品香蕉热久久新品| 人妻五十路在线| 黄片不用下载在线观看| 久久午夜神马| 2025亚洲男人天堂| CCYY草草影院地址入口| 岛国不卡超碰护士AV在线播放| 久草国产在线视频| 日韩日韩日韩-国产乱码精品一区二区| 欧美99热| 91综合色噜噜| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 中文字幕天天天天天| 亚洲天堂AV在线播放| 一区二区三区四区理论片| 久久久久久久久久久六六| 无码外流操逼视频| 久9综合在线| 国产精品91一样| 日本在线播放不卡一区| 亚洲国产精品99久久久| 五月天亚洲色图| 国产第二页| 久久久久九九九| 日本熟妇浓毛hdsex| 久久久久女教师免费一区| 区日韩亚洲乱码av电影| 岛国艾薇凹凸视频天堂| 久久精品 六十路 熟女 欧美| 在线电影亚洲色图| 二三四区精品| 精品小视频在线| 欧美少妇熟女| 色婷婷影院| 五月丁香啪啪网| 凸凹视频在线观看| 亚洲成a人片在线观看中文!!!| 欧美性爱一区二区| 色爱亚洲| 98久久| 色综合大香蕉| 欧美 亚洲 在线| 日本久久久久久久久久| 少妇内射视频| 91亚洲狠狠色| 欧美小说区视频区| 0755午夜福利视频| 白丝在线一区| 久久夜精品一区二区三区| 91亚洲综合在线| 亚洲日精品| 超碰美国| 亚洲欧美成人网站AAA| 中文字幕三四五区| 日韩欧美日韩| 抽插亚洲无码| 亚洲丝袜诱惑| 亚洲欧洲自拍图片专区满春格| 综合伊人激情| 亚洲av影音先锋| 强奸a片网| 夜夜骑天天燥| 天天欲望网| 最新国内自拍av免费| 日韩图区 偷拍| 九九碰九九爱97超碰| 欧美亚洲日本激情在线| 国产 无码 一区二区| 操人无码| 91久久国产综合久久| 欧美久久婷婷| 亚洲图片小说欧洲| 操逼视频色| 狠狠操天天干| 久艹99| 亚洲一区在线观看欧洲 | 欧美图片校园春色| 亚洲巨爆乳一区二区三区四季网| 激情久久久| 四虎884a| 狠狠婷婷亚洲中文综合久久| 亚洲五码一区二区三区| 色婷婷综合久久久久中文一区二区 | 九九国产| 超碰9 7女人| 亚洲国产av中文字幕久久| 亚洲成熟国产精品美女| 玖玖爱一区在线| 少妇淫妇久久久久久久| 日本天天操| 999综合色| 亚洲日本激情| 久久久熟妇熟女国产| 女色综合| 91大胆欧美| 99精品丰满人妻| 色网在线视频观看免费| 5月婷婷6月六月丁香| 色哟哟av网址| 亚洲二区精品在线观看| 91色图片| 岛国片国产成人亚洲播放| 夜夜高潮夜夜爽| 久久男人天堂| 国产蜜臀精品一区免费尤物| 欧美色亚洲| 丰满搜索结果 -第18页- 久久高清无码| 97干色| 九九热免费视频| 91在线观看,天天综合| AV乱伦专区| 亚州欧美综合| 清柠毛片| 色色色欧美| 白 大 人妻 区 在线| 国产亲戚伦亲在线| 91香蕉国产尤物视频| 天天日日日射| 13小男生GAY自慰脱裤子| 91撸色网 玖玖网 欧美| 婷婷丁香五月天综合东京热| 97欧美资源| 一区二区三区四区五区高清无码永久视频 | 免费看污网站| 强奸乱伦av电影| 黄色无码高清黄色无码网站| 91成人国产综合久久精品蜜月| 欧美久久伊人| 啊啊啊啊啊好多水| 99热18这里只有精品| 97亚洲综合电影| 黑人白女精品一区| 久9精品| 另类专区加勒比| 天美国产三级传媒| 97人人超| 国产高清自拍视频| 无码78| 98福利在线视频| 欧美中文字幕一区 | 96久久久精品| 亚洲精品一卡二卡三卡福利视频网站| 午夜精品视频777| 日本性爱少妇| 91干熟女| 国产中文字幕曰本毛片| 美女操逼福利视频| 免费少妇一区二区| 女性91网站| 97超碰欧美手机| 成人无码欧美一级A片狼牙直播| 亚洲高清男人天堂| 久久久一区二区| 欧美 日韩 另类 亚洲| 97干色天堂| 97干色天堂| 97亚洲资源| 青青草在线视频欧美| 久久天天躁日日躁狠狠躁| 亚洲AO在线| 78精品| 熟妇综合一区二区三区| 久久人| 91在线无码精品秘 软件| 超碰成人公开| 一级片在线观看高清无码| 丰满人妻一区二区三区性色| 国产毛片久久久久久久| 私人尤物在线精品不卡| 日韩激情电影中文字幕| 郑州宾馆老熟女露脸啪啪| 91在线精品| 色色色综合网| 1204av韩国| 美女黄页网站| 韩国三级一线观看久| 人妻献身系列第54部| 牛黄色久午久| 一本道综合色图| 婷婷另类小说| 奶水 人妻 哺乳 在线| 精品一区二区三区国产| 欧美日韩国内不卡| 一区二区首页| 亚州性色| 强奸乱伦av电影| 91 手机在线播放 绯色| 欧美少妇性乱| 日韩福利电影网| 国产在线综合网| 亚洲第一页色| 天天舔日美女视频| 人人摸人人摸人人干| 亚洲成人一区二区精品| 久久9亚洲| 青青草好吊色| 天天干天天拍| 综合色区偷拍| 日本三级R| 日韩午夜国产| 丰满人妻区一区二区三| 99热综合| 深喉吞精| 99综合视频一体| 日本不卡高清免v欧美日韩在线观看| 新91视频.cmp| AV无码久久久精品| 人乳av| 人人看欧美性爱| 欧美综合站| 91在线观看,天天综合| 成人网站 免费观看| 天天综合网~91综合网| 国产成人亚洲精品无码古代早漏男| 欧美精品 - 91爱爱| 大香蕉视频一二三区| 欧美熟女妇同| 日韩免费三级黄片电影| 另类av综合久久| 欧美成人一区二区三区在线播放| 超碰97综合网| 99国内精品| 一区二区中文| 国产精品久久久久久久免牛肉蒲团| 色婷婷九月天天综合| 亚洲第一视频 欧美风情 日韩| 婷婷综合| 日韩激情无码影院| 啊啊啊操死我了| 插穴性爱视频在线观看| 亚洲素人综合| 极品五月天噜噜| 人妻81p| 91精品网站| 97超级色碰碰| 亚洲国产欧美中文永久| 免费观看成人www精品视频| 夜夜操一区二区| 精品国产精品一区二区| 免费日韩黄片| 日韩15p| 欧美后入式| 欧洲天天在线| 乱伦图一区| 国产欧美日本亚洲精品| 日本不卡免费二区| 国产999精品久久久久久| 欧美丝袜亚洲| 你操综合| 欧美精品999| AV无码久久久精品| 91精品亚洲内射孕妇| 欧美第一页| 校园春色亚洲无码| 日韩精品99久久久久久中文字幕 | 久久久9品一区二区三区| 久久久18| 猛交交| 人人天天欧洲| 免费精品99| 懂色AV一区二区三区| 密桃99999| 国产女人高潮视频| 欧美1727免费观看视频| 国产大学生口爆吞精合集| 久久黄色视频一区二区三区 | 精品无码久久久久久久杏吧| 97超碰人人操人人操| 午夜成人爽爽爽爽A片李冰冰| 97超碰超碰| 五月亭亭六月丁香| 中文字幕蜜乳av| 熟妇xxxxx性春色| 国产日韩在线播放av| 亚洲黄网在哪免费看| 五月天婷精品激情| 中文字幕一区av| 加勒比在线视频| 和协影院中文字幕三区| 亚洲一区二区精品福利| 日本三级韩三级99久久| 日韩国产十八禁| 四虎在线视频| 老熟女搡BBBB搡BBBB视频| 高清孕妇孕交| 桃花色涩综合影院| 成人五月香网在线| 四季AV一区二区凹凸精品小说| 长久操视频| 日韩肏逼视频| 在线看免费无码AV天堂的| 国产一区免费午夜视频| 超碰AV在线| 怡红院成人av| 久久人妻| 色五月婷婷久久| 97久精品| 中国和日本人色哪个不下载能放| 日韩强奸av| 97五月天| 蜜臀99久久精品| 国产精品探花色| 亚洲第一黄色av网站| 97视频7| 久久久新亚洲AV| 亚洲影视综合网| 久久99精品九九久久久婷婷| 熟女激情综合网| 97 亚洲 日韩 欧美 在线| 伊香蕉综合久久久久久久噜噜噜 | 欧美亚洲| 亚洲丰满很很操| 奇米狠999| 青春草A| 色天使亚洲综合在线观看| 欧美日韩淫加| 影音先锋每日最新资源在线观看| 午夜影美女日鸡鸡天天视频国产| 情侣开房子拍 日韩无码 女的很漂亮| 大香蕉手机在线| 久久婷婷伊人| 色五月av| 玖玖97综合 | 综合av影片| 91在线精品一区二区三区| 国产性感骚丝袜在线| 日韩精品一区二区高清| 激情综合av| 免费在线观看国内色片网站网址| 国产蜜臀在线| 婷婷五月天色| 九九九成人| 色诱中文字幕| 国产无吗在线播放| 亚洲猛交| 肥臀熟女福利视频一区二区| 久久天天艹| 日本国产二线女色| 99久久久| 熟女这里只有精品6| 久久大香蕉97| 久99热| 被男人添B超爽视频| 综合色区偷拍| 不卡超碰护士AV在线免费播放| 久久首页| 国产精品 视频| 加勒比五月天| 超碰国产情侣自拍网| 91精品黄在线观看| 亚洲国产综合图区中文字幕| 国产精品情侣啪啪| 亚洲图片欧洲图片aⅴ| AV麻豆免费一区| aa片毛片| 12一15性XXXX粉嫩国产| 大鸡巴久久| 久久999久| 中文字幕精品一区二区精品| 91AV入口| 欧美天堂亚洲电影院一区在线播放| 另类亚洲一区二区三区| 91网站18禁| 三四中文字幕| 超碰久超碰久| 国产午夜精品一区二区三区牛牛| 青青草女人天天干| 91久久午夜无码鲁丝片久久人妻| 超碰三级秋霞| 嗯阿好爽好紧| 91美女丝袜诱惑视频| 99热精品在线观看| 日本123区操B视频| 人人爱人人操人人性| 97免费在线视频| 狠狠91| 大香蕉视频一二三区| 老司机射| 色婷婷电影|