色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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面對(duì)那一堆寄存器、時(shí)鐘源和引腳配置是不是感覺頭大我剛開始學(xué)的時(shí)候也是對(duì)著手冊(cè)一行行敲代碼配置一個(gè)時(shí)鐘樹能折騰半天還容易出錯(cuò)。后來用上了ST官方推出的STM32CubeMX才算是真正找到了“正確打開方式”。它本質(zhì)上是一個(gè)圖形化的初始化代碼生成器你點(diǎn)點(diǎn)鼠標(biāo)配置好時(shí)鐘、外設(shè)、引腳它就能為你生成一個(gè)完整、規(guī)范的HAL庫工程框架。這不僅僅是省事更重要的是它生成的代碼結(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)簽頁你會(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)簽頁。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庫源碼和配置文件。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)部上拉讀到高電平?;氐紺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庫中主要通過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) { // 簡單的延時(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庫提供的標(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è)簡單的閃爍函數(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 } // 簡單的阻塞式閃爍函數(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。上面的代碼使用了簡單的延時(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)用下拉輸入接地則用上拉輸入。外部干擾如果走線過長或環(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è)精簡版的C庫并優(yōu)化編譯選項(xiàng)“C/C”選項(xiàng)卡中“Optimization”等級(jí)選擇-O2。但最根本的還是優(yōu)化代碼邏輯移除不必要的庫和功能。6. 進(jìn)階思考從HAL庫到理解寄存器通過CubeMX和HAL庫我們可以快速上手。但要想真正精通STM32理解寄存器操作是必經(jīng)之路。HAL庫函數(shù)底層也是操作寄存器。例如HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET)最終可能等價(jià)于GPIOA-BSRR GPIO_PIN_5置位寄存器這樣的寄存器操作。為什么要了解寄存器效率直接操作寄存器通常比調(diào)用庫函數(shù)更高效代碼體積更小這在資源緊張或?qū)r(shí)序要求極高的場(chǎng)合如模擬協(xié)議、精確延時(shí)是必須的。調(diào)試當(dāng)程序出現(xiàn)極其詭異的硬件問題時(shí)查看外設(shè)寄存器的實(shí)際值并與參考手冊(cè)對(duì)比是定位底層問題的終極手段。理解本質(zhì)理解了寄存器你才能真正看懂芯片手冊(cè)才能在沒有HAL庫支持的新芯片或小眾外設(shè)時(shí)自己寫出驅(qū)動(dòng)。如何開始不要一開始就試圖記住所有寄存器??梢詮囊粋€(gè)簡單的點(diǎn)入手比如用寄存器方式點(diǎn)亮一個(gè)LED。打開STM32F1的參考手冊(cè)找到GPIO章節(jié)看GPIOx_CRL/CRH配置寄存器、GPIOx_ODR輸出數(shù)據(jù)寄存器、GPIOx_BSRR置位復(fù)位寄存器的描述。然后嘗試在HAL庫初始化好的基礎(chǔ)上直接寫GPIOA-BSRR GPIO_PIN_5;來置位PA5。當(dāng)你成功用寄存器控制了一個(gè)外設(shè)就打開了通往底層世界的大門。我個(gè)人在項(xiàng)目中的習(xí)慣是產(chǎn)品開發(fā)用HAL庫追求開發(fā)速度和可維護(hù)性在個(gè)別對(duì)性能有極致要求的模塊如高頻PWM、軟件模擬高速協(xié)議會(huì)混合使用寄存器操作。而CubeMX生成的初始化代碼為我提供了一個(gè)完美且正確的寄存器配置起點(diǎn)讓我可以放心地在上面進(jìn)行底層優(yōu)化。這種“上層快速搭建底層精準(zhǔn)優(yōu)化”的組合讓我在效率和掌控力之間找到了很好的平衡。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
伊人九九| 在线人成亚洲视频免费观看| 成人aⅴ一区二区三区| 婷婷久草一区二区三区| 久操国产在线| 色综合五月天| 五月天激情影院| 久久9久9久99久9久9| 嗯嗯啊好爽| 黄色av片三级三级三级免费看| 日本黄色裸日本黄色裸体| 色图四区| 大香蕉五月天| 黄站在线免费观看| 秋霞影音一区二区三区| 午夜福利 成人 91| 蜜桃av综合网发布| 96精品久久| 偷窥自拍亚洲天堂网爆| 人妻少妇精品无码专区二区密桃| 性色av蜜臀av色欲aV| 天天弄欧美| 亚洲欧美综合| 91天天综合网,天天综合网| 亚州欧美色图| AV色天香在线| 起碰97| 91天天日| 麻豆国产97在线| 91久久18禁| 中文AV制服乱伦| 日韩情色AV| 人妻干天天| 日韩欧亚中文在线| 天天综合精品| 亚洲美女av无码| 国产精品情侣啪啪| 国产精品无码成人精品| 爱丝福利| 大奶啊啊好爽 | 97香焦色区| 色综合久久夜色精品国产天堂| 激情小说在线视频| 蜜桃视频一区二区三区 | 97色涩| 涩涩涩综合| av一区二区三区四区五区久草臀| 亚洲九区| 午夜操逼不卡| a片 xxxx受爽视频| 96AV久久久| 91精品久久久久五月天精品| 国产情色第一第二页在线观看| 色在线亚洲视频www| 欧美日韩小说| 一道本东京热加勒比一区二区三区| 黄片免费视频2019| 97资源站国产精品| 精品人妻一区二区乱码一区二区| 亚洲黄色网址视频| 久久亚洲天堂| 99超碰色| 啪啪啪精品视频| 午夜亚洲| 久久偷拍人| 久久激情视频| 国产成年免费大片黄在线观看| 视频二区美腿制服人妻欧美| 四季AV一区二区凹凸精品小说| 日韩欧美亚洲一区二区三区影院| 亚洲欧洲综合成人av一区| 精久久久| 丝袜天堂网| 香蕉综合网| 1禁看欧美黄片免费看| 超碰在线一区二区| 久超碰这里只有精品| 乱日视频| 超碰在线看| 国产精品美女久久久久AⅤ国产馆| 97精品97久久| 久久久婷| 女同亚洲欧美一二三区久久电影| 一区二区三区 日韩欧美| 亚洲电影中字一区二区| 老熟女91视频| 欧美色97| 亚洲第一页色网| 婷婷五月天无码 | 亚洲中文字幕精品久久久久久直播| 亚洲国产天堂| 97伊人超碰| 日日夜夜骚| 天堂蜜桃无码视频一区二区| 欧美亚洲日本激情在线| 日韩中文字幕视频在线观看| wwwxxx日本爽| 亚洲?V高清一区二区三区尤物| 亚洲风情综合网| 嫩草影院永久在线制服丝袜| 日韩超碰精品综合| 国产专区路线| 青青草玖玖爱| 成人久久久精品| 人人看欧美性爱| 蜜臀久久99精品久久久久久-DVD原版全| 9精品久久| 欧美人妻色| 欧美亚洲玖玖玖| www…国产操逼| 黄片aaaaa一区| 午夜国产乱伦视频| 欧美久久人人网| 国产福利视频精品视频| 日韩熟女无码| 天天综合网日韩7799| 男女激烈网站最新| 日韩乱中文 | 亚洲精品一卡二卡三卡福利视频网站 | 精品少妇一区二区三区| 国产久久一区二区| 破处bbq| 一本大道久| 欧美色91| 乱伦熟女论坛| 成人日韩3| 日韩亚洲中文有码视频| 精品人体无圣光凹凸| 日韩亚洲中文字幕在线| 艹少妇网站| 欧美系列在线一区二区| 91操人视频| 噜噜吧,噜噜色,噜噜| 九九黄色网| 极品色社| 青青伊人久久| 日韩精品人妻中文字幕不卡乱码| 东京热大香蕉| 日韩在线一区高清在线| 国产成人资源| 青青伊人加勒比海| 国产精品伦理| 国产亚洲深夜激情| 狠狠爱综合| 日韩丝袜人妻AV| 亚洲情色图片区| 中文熟女五十乱码在线| 易易A毛视频| 97天天| 一级二级三级黑人无码| 女人 A一级| 婷婷久久五月天| 国产成人自拍视频视频| 淫色网综合| 国产精品免费视频不卡| 国产精品国产拍高清AV| 欧美少妇性乱| 一本色道无码DVD中文字幕| 久久一二三四不卡 | 国产原创精品| 性欧美| 97天堂| 中文精品一区二去| 亚洲成人av色网| 日韩午夜国产| 免费a v| 国产精品久久久久久久黄无码| 色欲无码人妻日韩欧美精品| 夜夜爽爽爽| 中文字幕诱惑制服人妻丝袜美丝袜美| 黄骗免费网站| 亚洲另类电影| 尤物视频偷拍免费| 精品人妻中文字幕4399| 超碰 97国产熟女| 免费99精品国产自在在线| 九色黄站| 日日操天天操| 欲色啪| 97啪啪| 大香蕉久| 本道在线| 97任你吞精| 熟妇女人妻呻吟久久AV| 天天色图| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 综合伊人激情| 久操九九九九| 五十路熟女人妻一区二区在线观看| 亚洲第一黄色av网站| 五月综合视频| 99re黄 | 97人人夜夜精品视频| 色婷婷五月综合| 中文字幕乱偷人妻久久艾草网| 国产强奸乱伦第1页| 日本人体九九九九九九| 日韩本不卡视频在线观看| 日本操逼视频导航| 日韩无码AB| .精品人妻一区二区三| 七久久久| 美女让帅哥通她小鸡鸡| 91色人妻| 岛国999| 黄页视频网站野外| 久久后入制服| 91九色网| 国产精品自拍视频| 五月天丁香欧洲日韩| 亚洲欧美骚| 蜜臀av一区二区三区免费观看| 青青草导航在线视频| 色综合av男人天堂| 亚洲色图综合| 97精彩视频网站| 欧美大香蕉久| 91N综合在线| 久操凹凸视频| 国产精品久久久久久久久久久久久久久久 | 老熟女熟妇| 国产乱伦搜索结果91P| 国产夜夜操| 69av一区二区三区| 超碰天天操你比| 少妇无码av专区线| 国产区在线| 久久久久13| 2019天天干| 97免费视频网| 尤物一级在线免费观看| 夜夜躁狠狠躁日日躁av| 无码99| 伊人久久在线视频观看| 久热这里| 国产农村妇女精品一二区| 日本性爱欧美性爱| 中文字幕一区二区三区人妻不卡| 99青草| 精品九九国产无码| 亚洲黄色电影| 日本肉体xxxx裸交| 思思久热在线精品66| 国产丰满少妇久久久精品影院| 熟女六十路| 夜夜高潮夜夜爽夜夜爱爱一区| 国产人妻精品久久久一区二区三区| 精品无码欧美三级| 新怡红院| 伊人久久国产免费观看视频| 婷婷在线视频| 亚洲激情综合另类男同| 久久东京热久久| 78p欧美| 怡红院一区二区熟女人妻| 久热最新在线杭州| 热热色色综合| 国产精品熟女丝袜一区二区| 校园春色亚洲| 亚洲加勒比色图| 国内精品999| 日韩一性一交一A片俄罗斯| 亚欧美无遮挡| 精品久久久中文字幕不| 美国日韩黄色片| 蜜臀久久99精品久久久| 香蕉99秘 一区精品蜜桃臀| 中文字日本乱码| 五月天精品| 国产女人与拘做受视频免费| 色黄污美女啪啪啪免费网站| 男人的天堂VA| 加勒比久久av| 国偷自 一区二区| 色哟哟-国产专区| 日韩欧美综合激情| 日韩精品碰碰| 日韩精品在线视频,日韩精品……| 99re在线视频| 宗合情欲网| 91粉芽高清在线一区二区| 四虎影视永久在线免费| 99人妻碰碰碰久久久久禁片| 久久69| 青青青草原| 九九九精品一区二区无码| 美女尤物福利视频| 婷婷六月色| 亚洲人妻中文高清| 户外裸露刺激视频第一区| 男女做爰猛烈动高潮A片免费应用| 日韩超碰97| 青青草在线视频美女| 亚洲色图第一页| 男人把坤坤插入女人的下体| 91久久久老司机| 开心六月色| 久久丁香五月天| 伊欧美综合视频| 波多野结衣AV无码一区| 国产51色综合久久免费| 国产家庭乱伦表演| 91人精品妻入口| www熟女乱伦com| 欧美综合自拍| 国内毛片热久久思思热| 久久精品午夜国产亚洲AV无码| 校园春色综合网| a'v在线资源| 亚洲欧美色图| 内射老妇BBWX0C0CK| 久久国产成人精品国产成人亚洲| 尤物网站91| 亚洲精品自拍| 久久久久久亚洲Av无码| 欧美一级黄片视频在线| h4610国产人妻| 久操网址| 日韩中文字幕二区| 极品五月天噜噜| 97精品国产97久久久久久| 人妻熟女一区在| 夂久色| 亚洲日产专区| 操逼日韩无码 | 欧美人人曰人人操人人射射| 91人妻精华帖| 精品国产一级久久| 天天干少妇| 夜夜操av亚洲一区二区| 欧美 牲| 亚洲综合草草| 蜜臀久久99精品久久久久久酒店| 偷窥自拍亚洲| 性色av大全| 欧美日日操| 九九无码视频| 偷窥自拍亚洲色图| 人妻超碰青青草98| 人人妻人人爱人人玩| 五月丁香激情四射| 新婚人妻扶着粗大强行坐下| 亚洲色人妻综合| 久久久熟妇熟女国产| 粉嫩久久久极品| 精品无人区麻豆乱码1区2区图片| 这里只有精品97| 91黑丝在线播放| 黄色电影在线播放综合网站| 国产一区二区三区,在线观看观看| 992这里有精品| 韩国一区二区精品亚洲| 久久久久深夜无码| 日韩激情电影中文字幕| 国产伦精品一区二区三区在线观 | 综合视频91| 97免费在线观看| 中文字幕,人妻,日韩| 91九色在线| 无码人妻丰满熟妇奶水区毛片| 久久超碰天天| 成年人三级黄色片视频| 欧美78p| 欧美激色| 亚洲毛片一级带毛片基地| 女优免费一区二区永久| 久久人人爽av亚洲精品天堂桃色 | 老汉网| 久久禁| 亚洲啪啪综合?v一区综合精品区| 亚洲无码AV九九九| 91老熟女老女人国产老太| 久草免费在线视频| 日韩人成网站在线播放| 大香蕉在线86| 熟妇xxxxx性春色| 男人的天堂啪啪啪啪啪蜜桃不卡| 大屁股国产在线视频| 97无码视频在线播放| 国产欧美一区激情交| 久久久久久久久久久999| 欧美92| 无码抄逼网| 色爽——AV| 五月丁香六月综合缴清无码| 懂色综合久久久| 国产麻豆91欧美一区二区久久婷婷国产精品 | 国产精品成人蜜臀AV在线| 色狠狠综合噜一二三区| 97操| 天天操av懂色| 久久久四区| 日本免费亚洲欧美| 久久久性少妇| 九九热九九| 精品国产乱码久久久久久日本公司| 日本人妻丰满熟妇久久久久久| 久热婷婷| 色777999综合| 中文字幕 国产 精品| 精品人妻一区春色| 亚欧日韩成人| 无码精品啪啪啪一区二区三区三州| 久热在线精品免费观看| 加勒比日本在线| 天天综合-91入口| 国产毛片精品一区二区色欲黄A片| 97国产中文| 人妻精品一区二区| 国产精品一区二区黄片| 性爱精品一区| 97超碰国产亚洲精品| 欧美综合区| 性欧美| 色噜噜狠狠色综合日日| 一区二区三区麻豆| 亚洲、日韩、综合、另类| 尤物网站91| 欧美中文字幕一区 | 国内黄色精品| 丰满人妻一区二区三区免费| 国模限制级电影| 欧美日韩精品久久久久东北老熟妇| 亚洲欧洲国产综合av| 久久久久9999妇女| 日本视频在线观看污污污| 亚洲色棕合| 97色碰| V A在线| 日本大香蕉| 日本高清一区二区在线| 日本不卡一区二区| 蜜臀99999| 操逼操逼逼操操逼91| 亚洲资源吧| 99国产人成精品| 亚洲 国产 精品一区| 人干人人人操人人摸| 97国产人人| 欧美性爱十八禁| 四虎在线视频| 天天天乱色综合全| 人妻99p| 亚洲 欧美 日韩 国产一区二区| 日韩精品人妻系列无码天堂| 天天干天天狼在线视频| 99啪啪视频| 色屁屁影院www国产| 精品久久久不卡一区二区| 老熟女搡BBBB搡BBBB视频| 91超碰在线播放| 黄色一级视| 91亚州| 九九九久千久久激情蜜桃在线看 | 欧美三级中文字幕hd| 亚洲毛片久久| 91欧美巨乳| 久9久| 久久精品国产72国产精品福利| 天天射夜夜操| 91中出视频| 天天看特黄的免费网站| 午夜婷婷| 日韩欧美亚洲一区二区三区影院| 91色拍| 亚洲骚女一区二区三区| 日韩三级天堂在线观看| 欧美影院一区二区三区| 东京热,男人的天堂| 蜜桃不卡一区二区| 蜜臀少妇一区二区| 欧美有码激情视频一区二区三区| 性爱精品一区| 99re公开精品免费视频| 精品人成视频在线观看| 欧美偷拍| 中韩中文字幕在线观看| 亚洲黄a三级三级三级看三级| 一区黄二区黄| 亚洲 图片 综合91| 蜜乳av首页| 欧美人妻一区| 人人插人人摸人人| 91+欧美| 婷婷五月天伊人| 婷婷丁香成人| 亚洲精品视频在线播放| 能直接看AV的网站| 天天色综亚洲91污| 天天操天天干一区二区| 高清一区AV无码| 欧美gv在线观看| 五月天人妻综合| 天美一区在线| 18岁禁 茉莉成人久久| 极品白嫩福利在线| 久久久噜噜噜久久久| 亚洲图片 91| 久久国产99精品72福利 | 91东北熟女| 99热伊人| 亚洲春色一区二区三区| 亚洲av性爱电影| 超碰免费97| 欧美精品二区视频在线| 岛国黄片网站| 高清国产性猛交xxxx乱大交| 日本免费人成视频播放120秒| 少妇高潮流水av免费| 国产精品久久久久久亚洲色欲| 日产操逼| 懂色天天爱天天日天天射天天澡| AV和黑人在线播放| 国产女性无套 免费观看| 亚洲码专区| 色小视频蜜乳| 狼天天狼天天大香蕉| 色性综合| 亚洲网自拍| 国产免费久久精品99re韩国| 色色青青久久| 噜噜噜亚洲精品| 人妻天天爽夜夜爽2| 99热婷婷一区二区三| 五月天伊人网| 欧美中文字幕日韩在线| 熟女六十路| 五月天婷婷欧美三区| 欧美久久婷婷| 欧美色道啊| 人人干人人操人人..com| 97色冈| 青青草久久在线| 激情99| 日韩欧美俄罗斯A片| 日本中文字幕在线视频 | 操B久久| 青青青草伊人精品| 污到发麻的视频 国产| 久久亚洲不卡一区二区三区 | 欧美日韩欧美| 亚洲性爱成人| 强奸乱伦av电影| 天天操狠狠日夜夜干超碰撸com视频在线观看| 97摸视频| 亚洲欧美另类少妇精品| 小电影欧美91| 91东京热男人的天堂| 欧美麻豆成人同性GⅤ在线| 蜜桃久久一区二区三区| 亚州欧美总和| 欧美一级在线观看成人| 91精品丝袜在线观看| 精品人妻二区三区| 97人人夜| 丰满人妻一区二区三区四区| 骚货人妻偷情自拍在线视频| 精品9999| 欧美伊人久久综合网| 性站 | 97爱爱爱综合| 国产青青综合伊人| 国产精品亚洲天堂网址| 超碰久久中文| 欧美se综合| 国产97视频免费观看| 国产13区| 激情色图| 一区二区三区精品黑丝白丝酒店对鸡| 午夜福利久久久噜久噜久久综合| 日本二区不卡| 亚洲 日韩 丝袜 熟女 变态| caorenqi shipin| 欧美BT 亚洲色图| 操人人| www.四虎在线| 91老熟妇| 亚洲情色电影网| 91大香蕉伊人| 可以在线观看AV的网站| 久久超碰98| 看免费一级在线播放毛片| 欧美制服另类丝袜| 国产精品另类| 欧美精品自慰系列寂寞少妇| 茄子社区国产精品| 日本成人电影资源网| 久久綜合很很很| 风月影院十八禁| 亚洲精品视频二区| 亚洲97在线观看| 国产熟女少妇一区| 97天堂| 天美麻豆精品视频99| 人妻久久一区二区三区 | 91蜜桃婷婷狠狠久久综合9色| 97在线免费视频| 色y情视频免费看| 美女91网| 人人干人人操人人爱| 久久av一级av少妇av高潮| 婷婷五月天av| 国产欧美日韩臀| …中文字幕亚洲乱,97人妻无码费视… | 人妻熟女一区二区三区视频| 中欧人妻丝袜中文字幕| 国产性感在线观看| se吧提供国产乱老熟视频胖女人 | 亚洲男人天堂视频| 中文久久爆乳| 午夜一区| 99re9这里只有精品| 校园春色综合网| 91暧暧| 欧美AB在线| 韩国轻伦国内自拍一区| 日韩操逼性鲍| 高清不卡 中文 人妻| 99热欧美| 一起草三级AV电影在线观看 | 大香蕉黄色一区| 亚州综| 女人妻一区| 老子午夜伦不卡影院| 96精品一区| 在线另类| 逼操网站| 激情内射| 久久综合18p| 99精品久久久久久久婷婷| 天天综合91入口| 日本伦理一区二区| 日韩免费大片一级播放| 国产精品一区在线播放| 青青草手机在线免费观看| 最近2019中文字幕国语免费版| 欧州91高潮| 精品乱码久久久久| 99热日本| 中日亚韩免费视频| 日韩兔费看黄片| 无码男人天堂| 婷婷情色综合网| 懂色天天爱天天日天天射天天澡| 欧美综合色,www| 精品四五区| 黄色欧美性爱视频| 国产福利电影| 久久黄人人爽视频| 任我爽在线视频免费观看| 久久久久久久少妇| 在线国产探花| 淫荡熟女乱伦网| 91香蕉国产尤物视频| 久久久久96| 91在线色| 欧美成人9797| 牛黄色久午久| 亚州免费啪啪视频| 日日爱99| 四虎av在线| 毛片麻豆91糖心精品毛情片| 91日韩在线| 日韩国产在线观看av| www.亚洲黄色| 欧美91在线| 伊人性在线视频| 蜜臀av网址| 天天看特黄的免费网站 | 秋霞男人网| 色乱二区| 操逼天美3区| 国产91亚洲精品一区二区三区| 日韩中文9| 91成人国产综合久久精品蜜月| 欧美日不卡| 午夜免费福利视频一区| 成 人 A V免费视频在线观看| 精品人妻丰满熟妇一区二区三| 蜜臀一二三区| www.AV有限公司一区| 美女97超碰| 日韩av熟女一区二区三区成人| 麻豆国产尤物AV| 国产成人亚洲精品自产在线| 丁香婷婷久久 | 国产超碰AV在线精品| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 91狠| 天天综合色| 色九区| 国语国产操逼伊人AV网| 成人a大片在线观看| 欧美操人视频| 亚洲A曰本VA欧美VA视频| 起碰97| 日本高清一本二本免费不卡| av久日| 4tube欧美女厕所| 99色在线| 91美女精品| 青草精品视频日本久久久久网站在线| 欧色性第一页| 欧美性天天影院| 啊啊啊啊啊好舒服视频| 久久久噜噜噜久久人妻| 精品视频久久区| 新91视频.cmp| 天天操天天舔| 欧美日韩国产一区二区小黄片大全| 91综合色噜噜| 欧美亚洲国产91在线| 日本色色视频网站| 被男人吃奶很爽的毛片| 国产乱伦亚洲| 欧美成人性爱视频大全| 亚洲91在线播放影院| 91精品国产高清久久久久久,亚洲成人| 久久久无码av精| 操逼网免费无码视频| 99精品久久| 香蕉99秘 精品一区丁香| 男人的天堂成人的社区| 青久操| 亚洲日本大香蕉1| 九草九九九| 麻豆亚洲AV成人无码久久精品| 日韩三级在线观看网站| 国产91乱伦| 午夜精品久久久久久久男人的天堂| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 无码免费精品高清| 日韩无码专区| 性色高清在线| 激情情色五月天| 久久久精品网站| 色综合天天| 九九热视频在线观看| 欧美一二三区四五区| 少好三P| 成人自拍三级在线观看| 亚洲第一在线视频| 国产精品视频播放| 日产123区精品免费观看| 91bbbbbb| 成人aⅴ一区二区三区| 狠狠五月天| 伊人网在线视频| 极品国产内射| 亚洲Av无码成人精品国产| 丝袜综合色图| 偷拍导航视频网站| 成人无码电影在线观看网| 色情五月婷婷| 97视频www| 思思热国产高清| 午夜欧美女人操逼| 1204av韩国| 丝袜综合网| 中文字幕高清精品一区| 久久乐| 91在线美女| 国产在线激情| 操逼片国产| 怡红院视频在线| 欧美一区二区| 国产美女mm131爽爽爽爽| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 日韩中文字幕精品一区在线| 国产福利影视| 熟女一区二区三区| 日本视频在线中文字幕| 91GD.COM| 午夜福利 成人 91| 欧美日韩 强奸乱伦| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 91一起操| 久久精品日韩专区免费观看| 亚洲精品蜜桃久久久| 欧美日韩亚洲一区二区在线观看| 天美国产精品| 欧美78P| 午夜精品久久久久久久男人的天堂 | 亚州 综合 色图| 国产精品人妻无码久久久互動交流 | 最新9久久久9免费视频| 午夜福利国产欧美日韩夜夜| 人妻系列无码专区中文有码| 天天碰操中国年青熟妇| 人人爱人人乐人人操| 极品出轨视频网站| 日韩性爱免费视频在线网站| 欧美美女后入| 久久久久成人亚洲国产| 色天堂在线观看| 黄色片,com| 白丝少妇一区二区| 久久天天艹| 大香蕉伊在线久草麻豆天堂故事| 不卡在线观看视频| 99re3这里只有精品| 百度百度日本操逼| 日韩美女久久一区二区三区| 东京热一区二区中文字幕| 国产欧美一区二区| 男女做爰猛烈动高潮A片免费应用| 色月天AV导航| 黄色操人| 亚洲揄拍网| 看一级特黄a大一片| 色鬼在线综合| 少妇高潮流水av免费| 97日视频| 无码日韩人妻av一| 四季av一区二区凹凸精品小说| 亚洲aV无码成人在线观看| 日韩成人人妻网站| 色女网日韩| 色色五月婷婷| 亚洲中文一区二区三区| 婷婷人妻激情| 蜜汁欧美| 国产麻豆一级精品视频| 久久人妻丝袜一区二区三| 99热这里都是精品| 亚洲黑人在线| 天天综合在线4| av爱爱爱| 嗯嗯啊啊操死我| 日本免费一级AAA大片器 | 3级毛片一二| 亚洲高潮少妇| 日韩人妻制服丝袜av| 欧美后入式| 欧美第一页性| 天天色天天干天天射| 久草毛片| 亚洲91av| 欧美一级A片在线看视频性色| 超碰九区| 激情四射五月天| 啊啊啊啊嗯嗯嗯用力好爽| 日韩99999| 日韩AV一区二区三区三州三州| 国产一区二区a毛片| 亚洲天堂资源网| 国产亚洲色婷婷99精品91| 乱欲一区二区| 久久久久久久精| 制服诱惑亚洲一区二区三区在线观看| 久久99视频| 国产精品ⅴ无码大片在线看.| 亚欧美综合| 夜夜高潮夜夜爽| 99久久久99久久91熟女| 亚洲精品久久久久毛片A片拉屎 | 91成人无码| 色香综合天天影视综合 | 大黄片做爱的大的| 亚洲影视综合| 先锋精品av色鲁| 日本色色色色色视频| 日韩欧美亚洲自拍偷拍| 久久久久久久久9| 色偷偷色偷偷欧美日韩| 亚洲天堂,男人| 家庭乱伦性爱av| 国产精品对白自产拍| 素人播放一区| 激情五月婷| 国产日韩色综合| 亚洲欧美不卡线| 少妇的嫩逼图片| 97色欧州| 国产亚卅97| 亚洲最大黄网| 日韩一级二级| av凤凰久久久| www成人啪啪18秘 免费| 强奸国产精品视频| 国产午夜在线观看| 一区二区三区麻豆| 97超级色碰碰| 亚洲在高跟鞋自慰久久在色线| 78综合网| 日本三级韩三级99久久| 国产强奸无码乱伦| 天天干夜夜操一区二区| 欧美色图天堂网m| 91九九九馒头| 男人天堂2012| 99精品在线观看| 亚洲夜夜欢无码一区二区| 国产精品岛国片在线观看| 91另类| 国产自产22区| 精品一区二区久久| 丝袜制服字幕在线| 91女人的网站| 欧美色66| 天天综合日韩网| renqi久久久久久久久久久久| 你懂得91| 一本一道vs波多野结衣| 国产区91柔拿会所技师| 精品久久久久久中文| 少妇一区二区三区高速| 国产探花日韩援交| 在线观看色视频| 收看日本人日bb| 人人操人人色网| 无码高清少妇久久| av强奸乱轮| 欧美强奸一区二区诱惑| 最新的亚洲无吗| 国产一区二区啪啪视频| 大香蕉丝袜一级片| 九九热最新| 久久久久久夜夜夜夜夜| 青青爽| 精品中文日韩字幕视频| 2020中文字幕在线| 超碰免费人妻在线| 淫荡熟女乱伦网| 无码区蜜乳| 亚洲激情在线一区二区| 91一区二区| 欧美日韩电影一区二区| 第二页中文字幕| 午夜精品久久久久久久| 欧美高清16| 国产 日韩 欧美一区| 亚洲国产奇米影视久久| 91麻豆va国产精品| 婷婷尹人大香蕉免费| 成人精品电影| 91高跟美女在线播放| 黄色一区三区| 凌辱美少妇久久aV| 一区二区三区美女超清| 大香蕉丝袜一级片| 亚洲欧美校园另类春色| 日韩AV电影网站| 日韩天天本| 超碰97人人乐| 日韩成年人性爱视频| 后入式福利| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 首页亚洲国产高跟丝袜诱惑视频| 国产女人高潮视频| 天天日B夜夜干B时时操B| 亚洲 国产 精品一区| 97人人操人人摸人人爱| 超碰97亚洲区| 暴力av在线| 九九九热| 影音先锋中文字幕日本好一区二区| 国产亚洲精品美女久久久久久2021| 死我十八禁| 国产熟妇 码视频户外直播| 久久综合国产精品国产| 久久婷婷热| 欧美日韩免费专区在线| 尤物视频偷拍免费| 99青草| 无遮挡猛进视频免费无限观看| 色色色热| 亚洲久久东京热一二三四五区视频| 欧美 亚洲 第一页 | 欧美在线啊啊啊 | 国产又操| 亚州日韩97| 亚洲97在线观看| 激情久久av一区av二区av| 日韩啪啪啪视频| 操逼操2| av资源在线观看少妇| 综合天天网| 九热中文字幕| 九月婷婷综合| 午夜精品久久久99热蜜桃的功能特点| 午夜a成v人电影| 四虎影视永久在线免费| 禁片 高清 在线观看视频网站| 秋霞成人做爱| 成人无码在线超碰网| 1区2区3区在线视频| 亚洲综合射| 丰满人妻一区二区三区性色| 色狠狠综合| 欧美第一页| 可免费观看的av毛片中日美韩| 婷婷五月综合在线| 婷婷五月天色网| 首页中文字幕中文字幕免费| 1204av韩国| 亚洲AV成人精品网站在AV| 大香蕉碰碰| 97久久久久| 青青草日韩无码| 俺去俺来也在线www| julia高潮后不停追击中出| 欧美性特| 亚洲人妻色图| 色婷久久| 9久久久久| 91最新综合| 三久久久四久久久久| 99热在线观看| 欧美宗合网| 99激情| 亚洲熟妇综合久久久久久| 岛国免费黄色网址| 久热久操| 九九探花视频在线观看| 97在线青| 国产高清MV操逼视频| 91久久精品美女高潮喷水| 欧美福利视频啊啊啊啊| 99精品久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 欧美国产操逼| 富女玩鸭子一级毛片| 欧美熟妇精品黑人巨大一二三区| 99视频这有这里有精品| 欧美中字二区| 日日操丁香五月天| 亚洲色图 91| 亚洲欧美精品一区天堂久久 | 亚洲欧美一区二区三区一猛片| 亚洲文学偷乱拍啪啪啪啪| 欧美成人黄网色网站| 久久精品72| 亚洲国产成人精品无码专区| 亚洲天天自拍| 日韩免费人妻色情网站| 国产精品懂色tv影视免费观看| 美女97超碰| 亚洲欧美自拍偷拍| 欧美亚洲韩国视频十五区| 久久极品伊人| 久久久久久加勒比| 久久9亚洲| 青娱乐国产精品| 国产999精品久久久| 欧美黑人XXXⅩ高潮交| 无码人妻丰满熟妇区毛片| 99热| 三级特黄60分钟播放| 伊人久久久日韩一区| 亚洲日韩国产欧美综合v| 亚洲中文字幕在现观看| 欲色影视综合吧| 日韩黄片视频试看| 舔足天天操天天射| 台湾大香蕉99热| 五月婷婷综合网| 香蕉国产精品麻豆亚洲欧美日韩 | 天天爽天天| 国产传媒av天美传媒在线| 加勒比少妇AV婷婷六月天超碰超碰| 99精品在线播放| 夜夜嗨视频| 激情人妻另类| 综精品久久久aaaa| AV九九| 黄色片一区二区三区四区五区| 俺去啦自拍| 亚洲熟女综合| 国产99久久99热这里只有精品15 | 97超碰碰碰| 老司机深夜18禁污污网站| 黄色AAAAAAAAAAA大片| hd成人一区二区在线| 日本3级一区二区免费| 91Chinese在线| 蜜桃成人1区2区3区| 九九热免费国产视频婷婷伊人五月| 亚洲操逼网| 9久综合网| 青春草A| 综合网少妇| 色综合久久夜色精品国产天堂| 99热 按摩 日韩| 国产精选视频| 在线播放一级无码视频| 男人的天堂2010| 男人的天堂视频精品乱在线| 91操操操操| 欧美亚洲日本激情在线| 欧美|91色综合| 国产高清不卡视频| 欧美日韩制服| 精品国产乱码| 欧美另类色图片| 欧美九九九| 干婷婷综合网| 久草在| 91视频综合| 唯美清纯 妖精视频| 91久久| 嫩草影院性色| 麻豆久久久久久久久丝袜 | 色 亚洲 91| 成人日本精品九区| 男人天堂久久精品| 黄片aaaaa一区| 欧美劲爆第一页| 99精品久久久久久| 久插综合| 日韩av熟女一区二区三区成人| 91九九| 国产精品无码成人精品| 舔足天天操天天射| 久久精品国产亚洲av水密被窝| 欧美偷| 蜜桃臀一区二区aV| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊| 91丨国产丨白浆| 4tube欧美女厕所| 亚洲 欧美 日韩另类 麻豆| 国产日韩中文字幕欧美| 东京热不卡视频| 亚洲啪啪啪啪视香蕉| 丰满欧美放荡少妇在线| 九九夜精品九九在线| 人人色人人射人人妻| 搡老女人老妇女老妇老熟女怎么读| 午夜大香蕉| 无码免费一区二区三区啪啪| 五月丁香久久| 激情网五月天| 91色艳| 久久亚洲不卡一区二区三区| 97欧美精品综合| 欧美白嫩女HD| 噜噜噜亚洲精品| 久久有码视频| 亚洲九九爱| 天天综合网亚洲综合网| 美女91色黄18| 极品少妇久久久| 欧美色图亚洲色| 国产精品久久| 蜜乳av一区二区| 色综合天天爱去电影网| 午夜操一操| 韩三级a视频在线观看| 国产精品色片一区二区| 秋霞一级视频在线观看免费| 欧美成97爱| 夜夜嗨绯色| 热热色综合网| 91精品国产91熟女| 天天澡天天爽日日AV| TS人妖另类精品视频系列 | 精品久久9| 97爱碰| 日本大香蕉综合网红本杳社区| 吊色|