色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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ò)。后來用上了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ā)來說不可或缺。所以一個(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芯片第一件事不是急著寫代碼而是先想好它要怎么“跑”起來。這里說的“跑”首先指的就是時(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)建好了。接下來進(jìn)入配置界面。主界面分為三塊Pinout Configuration引腳和外設(shè)配置、Clock Configuration時(shí)鐘樹配置、Project Manager項(xiàng)目管理。我們按順序來。2.2 時(shí)鐘源配置選擇動(dòng)力來源STM32的時(shí)鐘可以從多個(gè)源頭獲取就像汽車可以用汽油、電或者混動(dòng)。我們主要關(guān)心兩個(gè)高速時(shí)鐘源HSIHigh Speed Internal oscillator芯片內(nèi)部自帶的RC振蕩器頻率通常是8MHz對(duì)于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è)計(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í)鐘就來自外部晶振。接著配置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”和“讀取按鍵”來驗(yàn)證GPIO的輸入輸出功能。在動(dòng)手寫代碼前我們需要先在CubeMX里完成硬件連接的圖形化配置。3.1 硬件連接與CubeMX引腳配置假設(shè)我們的硬件連接是LED陰極接在PC13引腳很多最小系統(tǒng)板自帶LED在此引腳陽極通過限流電阻接3.3V。所以我們需要控制PC13輸出低電平來點(diǎn)亮LED。按鍵一端接PA0引腳另一端接地。所以我們需要將PA0配置為上拉輸入當(dāng)按鍵按下時(shí)PA0讀到低電平松開時(shí)由于內(nèi)部上拉讀到高電平。回到CubeMX的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è)成員來配置。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配置為輸出模式后無法正確讀取引腳電平。這是因?yàn)樵谳敵瞿J较伦x取GPIOx-IDR寄存器得到的是“輸出數(shù)據(jù)寄存器”經(jīng)過一個(gè)選擇器后的狀態(tài)并非直接來自物理引腳。要讀取引腳的實(shí)際電平即“回讀”需要將引腳暫時(shí)設(shè)置為輸入模式或者使用HAL_GPIO_ReadPin函數(shù)該函數(shù)會(huì)讀取IDR寄存器。所以如果你需要真正的“回讀”功能比如讀取一個(gè)輸出引腳上連接的其他器件的狀態(tài)最穩(wěn)妥的辦法是臨時(shí)切換為輸入模式讀完再切回來。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)目越來越大把所有代碼都寫在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文件來管理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變量隱藏起來。利用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)行。確?!癙rogramming Algorithm”里包含了你的芯片型號(hào)STM32F10x Medium-density Flash。如果沒有需要點(diǎn)擊“Add”添加。開始調(diào)試點(diǎn)擊Keil工具欄的“Start/Stop Debug Session”CtrlF5。程序會(huì)暫停在main函數(shù)開頭。單步F11逐語句執(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”來查看GPIO、USART等外設(shè)寄存器的實(shí)時(shí)狀態(tài)這對(duì)于排查配置是否正確非常直觀。5.2 GPIO問題專項(xiàng)排查問題程序里寫了高電平但用萬用表量引腳電壓是0V低電平。這是最典型的“回讀”誤解。首先確認(rèn)引腳配置模式你配置的是輸出模式嗎如果是輸入模式寫輸出寄存器是無效的。輸出類型是推挽輸出嗎開漏輸出需要外部上拉電阻才能輸出高電平。引腳復(fù)用這個(gè)引腳是否被其他外設(shè)如串口、SPI復(fù)用了在CubeMX中檢查引腳顏色黃色表示已配置為復(fù)用功能。一個(gè)引腳同一時(shí)間只能有一種主要功能。硬件連接引腳是否對(duì)地短路LED或其它負(fù)載是否短路損壞用萬用表測(cè)量一下。真正的回讀如果想確認(rèn)物理引腳電平最可靠的方法是臨時(shí)在代碼里將該引腳切換為浮空輸入模式然后讀取讀完再切回輸出模式?;蛘咧苯佑檬静ㄆ骰蜻壿嫹治鰞x觀察。問題按鍵檢測(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)為按下來濾波。上拉/下拉電阻確認(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;來置位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
返回資訊列表
日韩精彩视频| 中文字幕在在线观看网站| 精品久久視頻在线| 久久999久| 大干人妻| 人人模人人看| 日韩不卡毛片Av免费高清| 丁香五月激情综合| 极品色电影院| 啊啊啊在线观看| 欧美强奸乱能| 高凊专区人人操| 98超碰日本| 熟女精品日韩一区二区三区| 天天干人人干天天日97| 国产后入精品| 欧美另类天堂| 亚洲成人性爱在线观看| 欧美综合色站| 亚洲男人天堂手机版| 大香蕉免费3| 综合婷婷| 久久精品区| 亚洲图片激情综合另类| 欧美久久毛片基地| 精品久久97| 日韩精品碰碰| 久久97资源 网| 人人妻人人澡人人爽久久av| xxx0国产在线播放| 蜜桃久久久久久久| 欧美色院| 五月丁香婷婷色| 1024午夜激情男人的天堂| 亚洲图片激情小说| 久久露脸国产老熟女| 亚洲淫乱骚妇AV| 国产熟妇 码视频户外直播| 色九九综合| 91少妇香蕉久久精品| 中文字幕久久婷婷丁香五月天| 大香蕉丝袜一级片| 亚洲精品人伦一区二区| 日韩在线性爱免费视频| 操逼内射干逼白丝91| 性色亚洲| 日韩一区二区熟女| 欧美少妇色图| 2020视频1区2区3区| 一二三卡欧美日韩人妻免费精品| 久久亚洲AV无码专区首页| 9/A片| 91天天综合在线观看| 亚洲成人日韩小说| 60秒免费小视频| 黄色无码高清黄色无码网站| www.激情| 草草草草视频| 欧美日韩国第一区| 又大又大又大又粗爽高潮观看| 97色婷| 少妇九九九九| 亚洲中文字幕网| 美女网站黄页| 日韩午夜精品一区二区三区电影| 欧美色自拍| 污污汅18禁网站在线永久免费观看| 人妻一区二区三区| 色色毛片| 精品乱子一区二区三区99| 国产毛片片精品天天看视频| 亚洲一区二区三区麻豆传媒| 亚洲熟妇一,二,三期| 九九热九九热| 国产高清精品一区二区三区毛片 | 亚洲丝袜诱惑| 亚洲影视综合网| 一区二区三区国产在线播放| 有码色中文字幕在线观看| 少妇被c 黄 免费观看| 亚洲情色91| 97视频网站| 欧美男女午夜啪啪| 欧美AAAA黄片| 色噜噜人妻丝袜AV资源| 2019天天干天天操| 人妻天天爽夜夜爽2| 老司机射| 久草加勒比一区在线| 水澄无码AV| 久久永久无码人妻视频| 麻豆国产成人精品| 偷拍自拍在线视频观看| 色九九久九九| 污到发麻的视频 国产| 俺去啦俺来也久久综合| 91久久堂| 开心五月天激情网| 国产视频一区二区三区在线免费观看| 青木玲在线不卡| 久久肏大逼| 欧美日韩人妻精品系列一区二区三区| 亚洲精品色| 亚洲春色欧美激情自拍| 亚洲欧洲无码一区夜| 美国aaaaa一级黄片| 久9爱经典视频| 超碰AV在线| 久久精品人妻一区| 色色综合97| 精品在线观看视频在线| 国产无码久久高清| 中文字幕欧美日本乱码一线二线 | 精品97久久综合| 自拍偷拍 高清无码| 亚洲风情综合网| 久久这里都是精品| 91人妻素女| 97亚洲色图| 欧美色66| 狠狠爱综合| 国产强奸乱伦欧美| 99热在线只有精品| 午夜毛片高清免费不卡| 啊啊啊操一区| 午夜精品五区| 九九碰九九爱97超| 无码九九九九| 超硑97精品| 国产精品熟女丝袜一区二区| 亚洲视频中文一区| 天天综合,91入口| 蜜臀精品1区2区| 自拍偷拍 高清无码| 国产91美女视频| 日少妇亚洲版| 97色碰| 国产成人无码啪| 超碰97日韩| 国产精品网站免费| 五月婷婷激情| 成人免费福利在线观看| 久久超碰国产一区二区三区| 99热在线只有精品| 在线亚洲丝袜视频网站| 东北夫妻性偷拍| 人人操人人叉人人插人人| 中国AAAAAA黄色片| 蜜臀久久99精品久久久久久成人小说| 久色99999| 精品国产乱码久久久久久久久1 | 欧美成人午夜免费福利785| 人妻另类 专区 欧美 制服| 中字一区| 日韩图区| 性色乱AV一区二区| 开心激情站| 综合欧美激情网| 凹凸精品熟女在线观看| 丝袜视频网国产90| 日韩无码AB| 日本亚洲vr欧美不卡高清专区| www.国产高潮精品| 国产东北女人在线视频| 久久性爱视频免费看| 97亚洲色图| 久久宗合亚洲| 天天综合网1| 天堂av2019| 色99在线| 亚洲国产日韩欧美熟妇在线| 色五月综合| 999国产精品999| 久久国产乱子伦精品免费女人| 97免费视频在线观看| 老熟女综合网| 黑丝制服中文字幕| 国产九九九九九九| 欧美瑟综合| 亚洲AV色图一区| 欧美熟女丝袜| 中国黄色特级精品一区二区三区片| 一区二区三区蜜桃成人撸久久东京热 | 麻豆天美91| 九九热av| 91综合网在线| 密臀视频三区免费网站| 欧美色图欧美| 96久久久久| 精品九九九九九九| 试看日韩黄片| 国产亚洲深夜激情| 国产一区二区三区视频在线看| 被操高清无码视频| 色五天伊人| 日日插夜夜| 黑人操一区二区| 少妇高潮对白在线观看| 日本护士高潮| 99超级碰免费视频| 丁香五月激情综合| 亚洲色图在线视频| 啊嗯好大视频在线观看| 欧美色图中文字幕| 蜜臀AV成人精品蜜臀| 91色噜噜狠狠| 蜜臀久久久国产| 久久综合超碰| 日韩欧美天堂| 東南亚性呦成人伦理资源在线视频 | 少妇xx精品| 美国一区二区三区视频| α√在线| 青青草日韩无码| 亚洲图片 91| 欧美人妻精品| 免费网色网站| 国产女主播视频在线观看| 日韩av情韩国爱禁区av一区二区| 欧美淫乱视频| 少妇一区二区三区| 久久久久久久久久久免费精品| 日韩操逼性鲍| 欧美视频边做饭边橾| 大香蕉综合在线| 这里只有精品视频| 欧美永久激情一区二区| 老司机免费视频在线91| 超碰色97| 91av一区二区在线观看| 久久鲁干| 亚洲精品97在线| 极品内射| 91在线丝袜| 日日夜夜精品视频| 久久av成人无码免费| 91一起操| 欧美 亚洲 大香| 青青草久草AV| 综合网 欧美| 99老司机精品视频在线观看| 狠狠爱综合| 嗯嗯嗯不要不要免费视频| 性爱欧美五月| 国产精品一区二区三区免费视频| 91成人高清在线观看| 久久香蕉综合一本到3atv| 婷婷色导航| 91亚洲青青草原精品1区| 中文一区在线日| 97操b| 精品无码一区二区三区色欲| 自拍偷拍 高清无码| 国产日比| 亚洲视频二区 | 亚洲诱惑天堂| 久久综合九色综合欧洲98| 精品中文字幕第一页| 九九激情网| 99热导航| 国产精品乱码久久久久久久久| 欧美一区二区三区互相| 九九超碰综合网| 老司机午夜精品视频| 爽 好舒服 无码刺激久久| 日本伦理一区二区| 欧美少妇高潮| 国内亚洲精彩视频在线| 九九天堂| 欧美第五页| 福利社区午夜一区二区| 久久久不能久久久久| 操死我了啊啊啊| 台湾一区国产高清在线| 盗摄 精品 另类 一区| 99热日| 黄色免费网| 婷婷五月天丁香花| 春色综合免费| 手机在线播放国产福利| 麻豆黄色五月天| 欧中美三级一区二区三区| 日韩中文字幕精品一区在线| 夜夜嗨av午夜成人| 乱伦强奸区日韩| 超碰在线国产| 2019男人的天堂| 亚洲va有码在线天堂| 天堂资源欧美| 久久久久久久97| 高清国产av无码| 一区二区三区成人 | 国产成人在线观看综合| 蜜桃久久久久久久久久久久| 欧美日日操| 欧美天天谢综合网| 91东北熟女| 操一区| 天操天操夜操夜月操月年年操操| 日本成人A片网站| 超碰国产情侣自拍网| 久久香蕉国产线看观看亚洲女人 | 91jk色拍| 天天视频黄| renqi久久久久久久久久久久| 99热线麻豆 | 国产强奸91| 九九英色视频| 无码直播久久久| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 欧亚综合一卡二卡中文字幕| 色妇综合网| 婷婷五月天伊人| 欧洲站一级二级三级h| 国产精品视频麻豆入口| 国产精品suv一区| 一区二区免费电影久久| 久久亚州高清| 久久久久久国产成人| 亚洲棕合电彰| a一区二区三区乱码在线| 97免费免费视频网| 一级性爱啪啪视频| 综合激情一一91| 欧美视频一区二区在线| 伊人久日| 五月婷婷激情网| 99精品人妻| 97中文超碰| 97在线免费观看| 国产人伦精品一区二区三区| 人妻一区二区三区视频| 四季AV一区二区凹凸精品小说| 国产精品ⅴ无码大片在线看.| 好好的日:com久久九九| 欧美成人四级在线播放| 久久久久久久六六 | 欧美亚洲素人制服精品| 97热视频在线观看| 717影院理论午夜伦八戒| 日比av无码| 高清无码网址| 中文字幕人妻资源在线| 使劲用力艹少妇视频一区二区| 亚洲啪啪视频一区二区| 欧美色图99| 嗯啊不要在线观看嗯啊| 五月天成人综合| 97 国产一区| 思思热在线cao| 欧美,日韩,中文,另类| 国产成人无码久久精品| 91成人18| 是还免费视频1727我| 日韩av乱伦| 亚洲美女av无码| 熟女色图在线| 凸凹视频在线观看| 日韩综合色图| 天天日天天舔东京热 | 3p国产欧美99热| 操熟女91| 好屌色综合| 久久久国产三级黄色片| 一起草三级AV电影在线观看 | 欧美精品偷拍| 色牛牛AV| 国产丝袜欧美在线视频| av日韩中文字幕| 国产欧美精品日韩区二区麻豆天美| 亚洲麻豆av一区二区| 9精品久久| 色五月婷婷在线| 日本高清免费一本视频在线观看| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 欧美制服网站美腿丝袜| 99国产在线 精品 视频| 精精品人妻一区二区三区| 顶级少妇BT天堂| 在免费jIzzjIzz在线视频| 亚洲另类天堂| 欧美骚少妇| 宅男午夜在线视频| 久久99精品视频| 国产91av在线播放| 色欧美综合| 九九av| 综合国产97| 国产又大又硬又长又粗| PMv在线观看| 日本幼女18+| 精品一二三区四视频| 欧美亚洲丝袜人妻制服99| 岛国网址国产 | 超碰在线1234区| 久久9久9久99久9久9| 男人的天堂一区三区| 强奸乱伦 亚洲一区| 老司机香蕉| 午夜毛片高清免费不卡| 2025亚洲男人天堂| 亚洲nv男人的天堂网| www.av在线视频| 污色区网站| 一卡二卡在线播放| 亚洲青青草| 禁十八久久| 欧美淫穴| 大香蕉av在线| 国产欧美日韩在线不卡第一页| 欧美精品23| 日韩电影在线观看网址| 亚洲高清色综合| 久久中文字幕女同性恋一区| 最新中文字幕av| 久久国色天香香蕉| 天堂蜜桃无码视频一区二区| 色色激情五月天| 亚洲第一成人影院色播| 无码 有码 国产18p| 久久精品日韩| 老司机深夜18禁污污网站| 人妻丝袜美腿中文字幕| 四虎影视精品| 国产精选视频| 最新AV在线| 亚洲少妇自拍中文字幕懂色| 亚州色阁| 日韩精品电影| a人片中文字幕一区二区| 欧美 日韩 国产传媒| 亚洲另类久操网| www鬼畜国产男人的天堂| 五月天激情小说| 柠檬AV导航| 婷婷久久五月| 亚洲午夜AV| 日本欧美国内在线| 色综合久| 日本有码久久| 91蜜臀在线久久久久| 天天爽爽爽爽| 久操视频免费在线观看| 少妇99成人麻豆| 91在线欧色| 久久国产99精品72福利| 久久久久久久久久久久久9999| 性爱动态120秒| 午夜天天碰综合视频| 天美av在线观看| 欧美日韩国第一区| 熟啊v色欧美热| 国产中文福利| 韩日自拍| 中文字幕福利视频一区二区三区在线观看| 97碰碰色| 亚洲中字幕日本一区二区三区| 2024黄色视频| 国产一区二区在线播放量| 国产第12页| 色婷婷视频| 操比国产| 爽爽淫人网| 天天干天天日天天射黄色| 日韩精品高清资源在线| 久久久久ab| 天美麻豆黄色录像| 国产成人五月天丁香花| 天天澡天天爽日日AV| 成人av性爱电影在线观看| 无码 黑人一区二区三区| xxx0国产在线播放| 九九精品热| 嗯嗯嗯嗯啊啊啊好紧好大| 中文字幕免费观看| 男人的天堂日韩| 操久久久久| 婷婷久久五月综合激情| 国产传媒操逼视频| 99精品在线| 德国一二三不卡| 久久大陆| 天美传媒麻豆一区二区三区国产精| 野狼福利社区| 中文字幕一区二区三区高清| 激情丁香五月| 久久一二三四五六七八九区区| 人妻大香蕉| 尤物网站91| 一牛影视成人片免费| 久/久精品99看9| 欧美性暴力猛交XXXX| 97久久国产精品| 五十路熟女人妻一区二区在线观看| 国产精品不卡一区二区三区av| 国产成人手机视频激情| 色蜜AV| 欧美91丝袜| 欧美色性情| 天天操夜夜操狠很操| 日本午夜久久电影| 亚洲国成人情色好看电影| 91激情国产| 国产精品黑人一区二区三区| 3p国产欧美99热| 无码人妻丰满熟妇奶水区毛片| 国产外初女出血视频| 亚洲欧美日韩中文播放| 日韩性爱电影一区| 亚洲日韩青青草色月| 中文字幕熟女人妻丝袜丝| 在线毛片片免费观看| 久久艹逼视频| 欧美夜夜骑视频| 亚洲日韩电影| 亚洲乱码尤物193YW| 日本九九久久99播| 欧美色九九| 免费αⅴ在线观看| 东京太热久久久| 日韩人人精品| 欧美国产精品| av在线人气 | 九九精品99| 女优免费一区二区永久| 热的中文 热的有码 热的国产| 午夜小电影在线插入淫高潮| 人人操AV| 国产熟女自拍| 约操熟妇| 天天碰操中国年青熟妇| 超碰九7| 国产成人在线观看综合| 成人黄页| 蜜乳Av成人片网站| 亚洲精品欧美专业| 黑人综合网| 99久在线精品99re8| 中国熟女网站| 丁香六月激情| 综合久欧洲| 偷拍综合网| 99热这里只有精品9| 精品二区三四区五电影 | 97干在线| 97中文字幕一区| 午夜爽爽爽在线观看永久入口姬片| 色女综合| 欧美人人操人人插| 一个人在线看的黄色电影网站| 欧美日韩传媒| 九色97| 999精品女人| 97人人操人人干| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 5278欧美一区二区三区| 很狠操| 日韩人妻播放| 亚洲欧美日韩国产丝袜自拍中文| 午夜超爽| 久草在| 综合久久久久久久综合网| 日本99一区二区| 老熟女搡BBBB搡BBBB视频| 欧美综合第一| 亚洲高清无毛一区二区| 日本99一区二区| 黄色片一区二区三区四区五区| 亚洲官网在线| 免费观看国产小粉嫩喷水精品午| 欧美日韩婷婷中文| 色黄色美女大长腿午夜视频| 日韩精品人妻中文字有码在线| 欧美日产国产在线成人第一区| 艳尻美人妻| 亚洲自拍天堂| 久草线上视频免费看| 人人爱人人操人人性| 蜜臀aV午夜一区二区三区| 最新中文字幕在线亚洲| 神马久久久久久久久| 超碰99在线观看| 男人综合网| 亚州操操穴网| 在线岛| 大香蕉伊然在亚洲91| 日本韩欧美在线播放a| 婷婷人妻激情| 天堂九九九九九九九九九| 熟妇综合一区二区三区| 欧美日韩一干二干| 午夜精品探花| 九热中文字幕| 精品国产99| 91高清无码下载| 97超级久久| 久久久啊啊| 波多野结衣一级视频| 热久久无毒不卡| 99热| 欧美日韩性爱电影在线| 本道在线| 91在线|亚| 欧美亚洲第一页| 亚洲日韩黑丝| 欧美嫩性色| 日韩人妻有码免费视频| 99草精| 综精品久久久aaaa| 乱伦Av网| 99re在线观看| 91精品人| 色哟哟精品1精品2| 蜜色网色哟哟| 国产浮力影院第1页| 久久综合97| 国模不卡一本二本三电影| 日本在线不卡v二区| 天天做天天爱| 97精品97久久| 欧美日韩99精品麻豆传媒| 男人的天堂午夜av| 欲色综合| 91天美传媒在线观看| 99九九精品| 欧美18 在线观看| 天天色综合影视网| 欧美72网页| 99精品热| 草草网站影院白丝内射| 91亚洲欧美| 日韩人人精品| 韩国三级三级BD在线| 人妻中文在线| 天天干人人干天天日97| 亚洲色图图片| 色九九九九九九| 日韩成人午夜精品久久高潮| 91狠狠综合久久久| 狠日操| 精品久久久av无码免费| 2017天天操天天日| 欧美色日本| 青青草原人妻| 色色色色电影网| 日韩性爱人人爱人人操| 啊啊啊啊啊啊在线观看| 天天天做天天天爱天天天爽| 刺激精品视频| 日韩欧美麻豆大片| 曰韩无码777| 日韩在线性爱免费视频| 中文字幕国产在线天堂| 97精品一区二区视频在线观看| 大香蕉综合久久| 美国美女AV在线| 99无码视频| aaaa少妇高潮大片| 国产操伦| 色欲久久久久综合网| 麻豆av一区二区| 久久九九精品一区二区| 91爱看| 亚州精品丝袜-不卡成人免费| 五月色综合| 9999免费精彩视频| 亚洲古典另类欧美在线| www.伪伪| 综合国产影视三级| 91国产操逼视频| 97色亚洲| 欧美综合亚洲综合| 精品97久久| 欧美午夜熟妇黑人精品91| 无卡一区=区| 亚洲资源网| 欧美少妇色综合| 色五月第四色| 欧美日韩电影一区二区| 有码人妻系列| 亚洲国产综合久久久性感熟妇| 五月激情综合网| 91碰碰| 丁香六月激情| AV综合中文字幕干| 免費黃色視頻觀看一| 日韩欧美俄罗斯A片| 福利视频一区二区微拍| www.99中文字幕| 在线观看成人性爱免费小视频| 久久透逼视频| 国产精品盗摄 偷窥盗摄| 日韩免费簧片| 国产探花日韩援交| 亚洲国产一区二区日韩专区| 色综合V| 性暴力欧美猛交在线直播| 亚洲日韩在线a不卡99精品| 精品无码欧美三级| 狠狠久久手机视频精品| 亚洲日韩精品久久久久一区壹牛| 亚洲一区在线观看欧洲| 国产亚洲日韩欧| 少妇一区二区三区高速| 无码最新| 午夜精品探花| 精品久热| 国产欧美日韩女同性恋ww喷水精品| 女同亚洲欧美一二三区久久电影| 91精品电影18| 四虎AV影视国产精品亚洲精品| 超碰97最新人妻| 肉丝无码中文高清| 亚洲 中文 欧美 日韩 在线| 一二三区视频在线观看| 啊啊啊免费视频| 亚洲av噜噜噜噜噜噜| 一级人妻性爱视频| 蜜桃视频成a人v在线| 两性综合网| 久久草草欧美精品| 中文字幕版| 亚洲熟女乱色一区二区三区久久久 | 91精品综合久久久久久五月丁香| 超碰人人乐97| 日韩99神马视频播放| 欧美亚洲成人在线一区二区三区| 神马久久久久久久久| 97超碰香蕉| 久久久久亚洲三级电影| 免费作爱一级视频| 人人操AV| 亚洲影院小综合| 男人天堂网手机版婷婷| 男人的天堂视频精品乱在线| 欧美精品三区| 99精品视频在线观看免费| www.色操逼| 久久久久久久久久久久久9999| 亚洲情色在线| 欧美在线大香999| 欧美精品宗合| 日本激情免费大片| 久久性爱视频| 欧美乱妇狂野欧美在线视频| 中文字幕一区二区三区四五区| 中文字幕熟女人妻丝袜| 中日亚韩免费视频| 丁香久久| 97公开久久| 蜜臀99久| 激情国产乱伦Av| 亚洲男人天堂Av| 97欧美色资源| 亚洲性天堂| 丰满岳乱妇一区二区三区| 成人日韩欧美| 97看操| 男人天堂2019| 久久成人午夜精品影院| 成年女人一区| 999熟女精品| 草草草视频在线免费看| 欧美v亚洲v日韩v最新在线二区| 久久婷婷色综合一区二区三区| 中文字幕人乱码中文字的预防方法 | 亚洲女优有码无码高清| 超碰在线人妻中文字幕| 曰韩无码777| 麻豆一区二区三区精品| 人妻丝袜一区二区三区在线| 激情无码日韩| 亚洲。日韩。欧美| 精品一区二区2| 特级特黄一级毛片免费| 日本三级中国三级99人妇网站| 青青草成人视频在线观看二区| 9久久久久| 天天干天天操天天干天天操| 色九月综合| 伦理第一页| 亚洲欧美日韩精品久久久一区二区| 久艹伊人精品综合在线| 久草这里只有精品 | 亚洲丝袜色图| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 婷婷干黄色| 精品久久久久久亚洲| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 99热精品在线| 美女骚尻视频| 国产操逼视频在线观看| 色精品极品| 国产白丝网站| 国产小u女在线观看| 日本精品性生活久久久| 亚洲欧美日韩免费观看| 丁香五月天社区| 欧美在线|亚洲| 老熟女乱子伦中文字幕一区二区| 久草视频制服诱惑| juliaann丝袜| 香蕉久久国产AV一区二区| 插入粉嫩少妇视频| 日韩亚洲精品一区二区| 99re69综合| www国产无码| 激情一区二区三区在线观看| 亚洲国产97在线精品一区| 操逼操网| 超碰久久网| av天堂天堂av日韩| 精品96久久| 精品国产无码中文| 黑人中出21连凳花野真衣| 97在线看| 青青11操操操操操操操操| 97在线免费看视频| 丁香五月成人| 美欧色综合| 中文字幕 码 自拍 视频 区| 综合网少妇| 激情综合婷婷| 99少妇内射| 91丨九色丨国产打屁股| 青草精品视频一日本久久久久网站| 亚洲少妇中文字幕网址| 中出在线视频| 久久久 国产精品| 蜜臀99久久精品| 巨爆乳肉感一区二区三区竹菊影视| 欧美亚洲韩国视频十五区 | 伊人久久大香蕉线AV五月天| 91在线精品一区二区三区| 色哟哟-国产专区| 91被操| 91精品成人| 国产欧美精选自拍一区| www.男人天堂| 久久一级无码精品毛片6| 国产精品3| 中文字幕 国产 精品| 91美女视频。| 一本道综合色图| 亚洲综合第一页| 日韩AV色图| 高清一区AV无码| 99re在线视频| 9999久久久久| 精品91| 丝袜综合| 国产精品宅男免费| 欧美97av| 成人贴图日韩欧美| 综合伊人激情| 超碰欧美在线欧美| 国产又色又爽又舒服的三级视频| 大鸡巴久久| 亚洲国产精品久久久久婷婷青年| 一级做a爰片性色毛片久久| 色色综合97| 天天色播亚洲综合网站| 亚洲天堂加勒比| 亭亭丁香激情| 国产精品999zyz| 欧美色爱综合| 国产又黄又猛又粗又爽的网站| 91AV入口| 日韩精彩视频| 五月综合色| 性爱网站一区二区| 熟妇高潮二区三区| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | 狠狠操综合| 青草成人免费视频一COm| 欧美日韩理论一区| 伊人五月天激情| 四方色播| 欧美 熟女 日韩| 久久婷五月| 边做饭边操逼逼| 久久精品91| 操九九九九九九| 国产精品无码av| 91殴美| 伊人久久蜜月| av天堂影视中文在字幕在线中文| 日韩黄色片子| 蜜桃久久一区| 中文97国产| 国产亚洲综合欧美一区| 东北少妇高潮zzzz| 日本高清一本二本免费不卡| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 国产精品毛片?v一区二区三区| 91久热| 国产精品91ai| 激情五月综合网| 成人性爱av| 国产白丝AV| 九一综合网| 熟女人妻久久中文字幕一二区| 强奸乱伦大香蕉| 超清中文乱码字幕| 伊人96在线| 色第一页| 激情第四色| 国产三级中文有码在线视频| 无码人妻精品酒店| 欧美精品欧美精品系列| 午夜性| 99色在线| 无码国产精品久久久久| 欧美真人抽搐一进一出gif| 男人的天堂kva| 成人久久精品| 99re这里只有精品中心播放 | 欧美gv在线观看| 一本色道久久综合精品婷婷| 综合欧美日韩在线| 色综合中文字幕不卡| 亚洲操人| 亚洲精品官网在线观看| 熟女探花啪啪| 亚洲资源一区| 久欲AV| 牛牛久久国产精品视频一二三| 9久综合网| 欧美婷婷五月天| 萌白酱自拍视频| 欧美18老人禁| 麻豆成人影音在线| 国产精品69久久久久久久 | 日韩不卡在线一区二区| 人人操人人干xxx| 久久久久久久97| 超碰导航97| 在线色资源| 天天摸天天舔天天操| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 色爱三区| 老熟妇一区二区三区…| 欧美福利视频啊啊啊啊| 久久少妇| 果冻传媒A片麻豆熟妇人妻| 中出在线视频| 是还免费视频1727我| 丰满搜索结果 -第18页- 久久高清无码| 禁片 高清 在线观看视频网站| 久久婷婷热| 人妻99p| 看日韩操逼| 女人喷水视频在线观看| 人妻少妇被猛烈进入中| 嫩草美女久久| 亚洲AV无码乱码| 久久成年片色大黄全免费网站| 偷拍 亚洲 欧美| 超碰97综合| 91精品人妻一区二区三区蜜桃| 亚洲女优有码无码高清| 色九九九九九九| 久久久96精品| 偷拍新久久| 997色在线| 久久久九| 97人人夜| 超碰99在线| 欧美黄色手机在线观看| 亚洲影院365| 日韩综合无码一区久久92| 欧美精品宗合| 亚洲本色精品一区二区久久| 一级性爱网| 午夜啪| 熟妇xxxxx性春色| 国产精品区在线12p| 丁香六月激情| 三级网色| 国产亚洲国产超碰| 久久亚洲婷婷| 一区二区 韩日AV| 国产一区96在线| 岛国小电影| 日韩激情视频| 成熟熟女国产精品一区二区| 夜夜骑操视频| 久久久久深夜无码| 日本幼女18+| 色综合91好| 伊人天天久久动态图| 国产精品成人AV片免费看网站| 思思热在线视频免费| 久久久99免费| 3P乱轮视频| 亚洲欧美国产日本一区二区三区| 九九色色| 91在线综合网| 成人五月天色网| 蜜臀久久99'精品久久久| 色悠悠伊人网五月天| 精品对白久久不卡| 9久在线视频只有精品| 国产精品爱欲| 国产精品成人蜜臀AV在线| 久久五月婷| 厕所偷拍在线| 亚洲综合性网址| 欧美瑟综合| 精品九九九九| 被男人添B超爽视频| 国产精品亚洲一区二区三区四区| 五月丁香综合网| 欧美人妻二区三区| 久热大香蕉网站| 亚洲男人天堂手机版| 国产成人亚洲精品无码最新在线| 国产免a费看黄片在线| 亚洲aV性爱| 97AV爱| 亚洲精品1区| 男人的天堂VA| www.99色| av一区二区三区 中文| 伊色综合天堂色97| 密臀视频一区二区三区| 色欧美在线| 亚洲影院无码在线| 欧美网站免费| 大鸡吧尹人在线| 日韩黄色小说| 中文字幕欧美日韩三级| 福利视频一区二区微拍| 五月综合激情| 亚洲有码第一页| 91美女小视频| 精品人妻av在线播放| 久久九九99| 色九九九九| 夜夜久久久| 黄片视频,下载| 丁香五月影院| 亚av顶级裸体一区二区三区四区五区 | 成人久久久| 精品亚洲黄色片 国产精品导航一区二区| 国产这里只有精品| 国产乱码精品久久久久久| 国产馆| 亚洲天堂人妻熟妇视频| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 欧美视频一区二区三区| 超清福利精品视频在线| 婷婷色中文字幕| 亚洲www91| 五十路熟女人妻一区二区在线观看| 人人潮人人摸| 狼人综合婷婷激情四射 | 亚洲国产一区二区日韩专区| 狠狠干狠狠色| 亚洲综合贴图91| 亚洲高清视频在线免费观看| 亚洲成?V人片在线观看福利| 大香蕉欧美伊| 天久久久噜噜噜久久国产精品爽爽 | 欧美在线55555| 超清中文乱码字幕| 日韩一级片在线看| 大香蕉综合久久| 无码国产精品96久久久久孕妇| av资源在线观看少妇| 性生活无遮挡纯毛片在线看| 91亚洲高清| 国产久久久久久久久一区二区| 91天天c| 国内偷拍精品一区二区| 伊人91| 免费男人的天堂| 免费观看国产不卡av| 美腿色图| 97精品免费视频网站| 九色婷婷| 国产不卡的视频| 亚洲欧洲综合成人av一区| 视频在线观看一二三区| 欧美精品黑人猛交高潮| WWW黄片COM| 99re在线视频国产| 成年人三级黄色片视频| 啊啊啊好湿久久| 日本一区不卡| 激情婷婷五月天| 欧美热图99| 97国产成人精品免费视频| 人妻人妻天天碰| AV在线性爱| 日韩在线人妻网站| 欧美欧美啪啪视频| 久久精品亚洲婷婷| 黄页av| 能看的AV| 易易A毛视频| 久久婷五月天| 清纯唯美亚洲另类| 久久性爱免费送| 91劲爆| 日韩性爱再线视频| 中文子幕一二三| av无码精品久久久久| 91爱欧美| 啪啪资源网| 老熟女中文字幕高清| 日韩国产不卡在线视频| 91久久堂| 蜜乳AV一区| 1024午夜激情男人的天堂| 黄页网站免费高清在线观看| 久久草视频污视频| 亚乱色| 中文精品少妇天堂| 囯产乱伦一区二区三女| 国产AV线| 欧美性爱另类综合| 96国产精品| 亚洲第一页色| 东京热男人的天堂| 夜夜操av亚洲一区二区| 2018天天日天天日| 99操| 色欲无码人妻日韩欧美精品| 亚洲欧美一区二区不卡视频播放| 26uuu欧美日韩| 综合视频91| 激情啪啪拍91| 老熟女综合网| 亚洲熟妇自偷自拍另欧美| 91综合网| 国产农村妇女精品1区二区| 国产一区二区三三视频| 天天综合网~91入口| 亚洲色图殴美色图激情乱伦| 精品无人区麻豆乱码1区2区图片| 色情五月婷婷| 欧洲久久一二线| 嫩草伊人久久精品| 国产操偷| 天天色综合影视网| 中文字暮97| 日韩高清黄片| 国产人妻精品一区二区三区秋霞| 成人性爱电影一区二区| 91在线观看,天天综合| 综合网,亚洲,欧美| 亚瑟国产精品久久无码| 免费97视频| 激情五月婷| 久久久久久久强迫| 在线情色电影 91大| 欧美精品日韩一区二区| 97综合在线| 亚洲情色在线|