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

ARTICLE DETAIL

資訊詳情

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

STM32F1嵌入式入門實戰(zhàn):選型、開發(fā)環(huán)境與外設(shè)配置全解析

STM32F1嵌入式入門實戰(zhàn):選型、開發(fā)環(huán)境與外設(shè)配置全解析 1. 為什么STM32F1至今仍是嵌入式入門的首選搞嵌入式這行十幾年帶過的新人少說也有幾十個。每次有人問我“想學(xué)單片機從哪塊板子開始”我基本都會先問一句你是想快速做出東西還是想徹底搞懂底層。如果答案是前者我通常直接推薦STM32F1系列。原因很簡單這顆芯片的資料密度、社區(qū)沉淀和成本控制在入門級32位MCU里幾乎沒有對手。STM32F1是意法半導(dǎo)體基于ARM Cortex-M3內(nèi)核推出的經(jīng)典產(chǎn)品線最早一批型號在2007年前后問世。它把當(dāng)時動輒幾十塊錢的32位單片機價格拉到了十元級別同時保留了豐富的外設(shè)多路USART、SPI、I2C、ADC、定時器、CAN還有DMA控制器。對于剛接觸32位開發(fā)的人來說這些外設(shè)足夠覆蓋絕大多數(shù)練手項目又不會像高端系列那樣寄存器復(fù)雜到讓人勸退。我見過太多人一上來就買最高配的開發(fā)板結(jié)果光看參考手冊就放棄了。STM32F1的好處在于它的參考手冊雖然也有一千多頁但社區(qū)里針對它的教程、例程、踩坑記錄是最全的。你遇到的90%問題網(wǎng)上都有人問過并且給出了答案。這種“被驗證過的學(xué)習(xí)路徑”對新手極其重要。這篇文章主要面向三類人第一類是電子、自動化、計算機相關(guān)專業(yè)的學(xué)生正在做課程設(shè)計或準(zhǔn)備電賽第二類是轉(zhuǎn)行做嵌入式開發(fā)的工程師需要快速上手一顆能實際干活的芯片第三類是老手想找一顆便宜穩(wěn)定的芯片做小批量產(chǎn)品。我會從選型、工具鏈、外設(shè)配置、調(diào)試技巧幾個維度把STM32F1的開發(fā)流程完整拆一遍中間穿插我這些年踩過的坑和總結(jié)的經(jīng)驗。2. STM32F1系列選型與核心架構(gòu)拆解2.1 型號命名規(guī)則與常見型號對比STM32F1的型號命名有一套固定邏輯看懂之后選型會快很多。以“STM32F103C8T6”為例STM32代表產(chǎn)品家族F代表基礎(chǔ)型103是子系列C表示引腳數(shù)48腳8表示Flash容量64KBT表示封裝LQFP6表示溫度范圍-40到85度。這套規(guī)則適用于整個F1系列記住之后基本不會買錯。下面這張表是我整理的最常用幾款型號對比都是市場上貨源穩(wěn)定、價格透明的選擇型號引腳數(shù)FlashRAM主頻典型用途STM32F103C8T64864KB20KB72MHz入門學(xué)習(xí)、小項目STM32F103RCT664256KB48KB72MHz中等復(fù)雜度產(chǎn)品STM32F103VET6100512KB64KB72MHz多外設(shè)、帶LCDSTM32F103ZET6144512KB64KB72MHz開發(fā)板常用STM32F101C8T64864KB10KB36MHz低成本低功耗選型時最容易糾結(jié)的是Flash和RAM夠不夠。我的經(jīng)驗是用標(biāo)準(zhǔn)外設(shè)庫開發(fā)時一個帶串口、定時器、ADC的完整工程大約占用15到25KB FlashRAM占用在5KB以內(nèi)。如果你用HAL庫代碼體積會膨脹30%到50%。所以C8T6的64KB Flash對大多數(shù)練手項目是夠的但如果你要移植文件系統(tǒng)、GUI或者網(wǎng)絡(luò)協(xié)議棧直接上RCT6或VET6更穩(wěn)妥。注意市面上有一些翻新或打磨過的F1芯片價格明顯低于市場均價。買的時候盡量選正規(guī)渠道尤其是做產(chǎn)品時。翻新片在高溫或高負(fù)載下容易出現(xiàn)隨機死機排查起來非常痛苦。2.2 Cortex-M3內(nèi)核與總線結(jié)構(gòu)STM32F1用的是ARM Cortex-M3內(nèi)核哈佛架構(gòu)三級流水線。主頻最高72MHz這個數(shù)字在現(xiàn)在看不算高但配合它的總線矩陣實際吞吐能力比很多同頻8位機強一個數(shù)量級。內(nèi)核通過ICode總線取指令DCode總線取數(shù)據(jù)系統(tǒng)總線連接外設(shè)三條總線并行工作減少了取指和取數(shù)據(jù)的沖突。理解總線結(jié)構(gòu)對寫高效代碼有幫助。比如你把頻繁訪問的變量放在SRAM里把常量表放在Flash里內(nèi)核可以同時從兩條總線取數(shù)據(jù)速度會快一些。另外F1的Flash訪問需要等待周期72MHz下需要插入2個等待周期。如果你在中斷里執(zhí)行Flash中的代碼而同時有DMA在訪問Flash可能會出現(xiàn)總線仲裁延遲。這個細(xì)節(jié)在高速ADC采樣加DMA傳輸?shù)膱鼍跋乱貏e注意。2.3 時鐘樹與啟動流程F1的時鐘樹是很多新手第一個卡住的地方。簡單說芯片上電后默認(rèn)使用內(nèi)部8MHz RC振蕩器HSI經(jīng)過分頻后給系統(tǒng)時鐘。你要跑到72MHz需要配置外部晶振HSE然后經(jīng)過PLL倍頻。典型配置是HSE 8MHz預(yù)分頻1PLL倍頻9得到72MHz系統(tǒng)時鐘。AHB不分頻APB1分頻2得到36MHzAPB2不分頻得到72MHz。這里有個坑APB1上的外設(shè)最高只能跑36MHzAPB2上的可以跑72MHz。如果你把掛在APB1的定時器配置成72MHz計數(shù)實際頻率會不對。我見過有人調(diào)PWM時發(fā)現(xiàn)頻率差一倍查了半天才發(fā)現(xiàn)是總線頻率搞錯了。啟動流程方面F1上電后從0x00000000地址取棧頂指針從0x00000004取復(fù)位向量。實際映射的是Flash起始地址0x08000000。如果你用Bootloader方案需要修改中斷向量表偏移這個后面會細(xì)說。3. 開發(fā)環(huán)境搭建與工具鏈選擇3.1 IDE與編譯器方案對比STM32F1的開發(fā)環(huán)境選擇很多我按使用場景分三類來說。第一類是Keil MDK。這是國內(nèi)最流行的方案優(yōu)點是上手快、調(diào)試方便、教程多。缺點是正版授權(quán)費用不低而且Keil的編輯器體驗一般。如果你只是學(xué)習(xí)用評估版也夠但要注意32KB代碼限制。很多F1的工程編譯出來會超過這個限制尤其是帶HAL庫的。第二類是STM32CubeIDE。這是官方推出的免費方案基于Eclipse集成了CubeMX配置工具。優(yōu)點是免費、跨平臺、官方支持好。缺點是Eclipse系IDE對電腦配置要求高啟動慢偶爾會有索引卡頓。我個人的做法是用CubeMX生成初始化代碼然后用Makefile加VSCode來寫和編譯這樣既輕量又靈活。第三類是平臺IO加VSCode。這是近幾年越來越流行的方案用platformio.ini管理依賴和編譯選項跨平臺體驗很好。缺點是調(diào)試配置需要手動寫對新手有一定門檻。方案費用上手難度調(diào)試體驗適合人群Keil MDK收費低好學(xué)生、企業(yè)STM32CubeIDE免費中好個人、跨平臺VSCodePlatformIO免費中高中有經(jīng)驗開發(fā)者MakefileGCC免費高需配置喜歡折騰的人3.2 標(biāo)準(zhǔn)外設(shè)庫、HAL庫與LL庫的取舍F1系列支持三種庫標(biāo)準(zhǔn)外設(shè)庫SPL、HAL庫、LL庫。標(biāo)準(zhǔn)外設(shè)庫是早期官方推出的代碼直接操作寄存器效率高但ST已經(jīng)停止維護。HAL庫是現(xiàn)在主推的抽象層次高跨系列移植方便但代碼體積大、執(zhí)行效率略低。LL庫是底層庫介于寄存器和HAL之間效率接近SPL但覆蓋的外設(shè)不如HAL全。我的建議是如果你只是做F1的項目不打算換芯片用標(biāo)準(zhǔn)外設(shè)庫最省資源。如果你以后可能換到F4、F7或者G0系列直接用HAL庫雖然前期學(xué)習(xí)曲線陡一點但長期看省事。LL庫適合對性能有要求又不想直接寫寄存器的場景比如高頻PWM或者高速ADC采樣。實操心得HAL庫的HAL_Delay()函數(shù)依賴SysTick中斷如果你在中斷服務(wù)函數(shù)里調(diào)用它會導(dǎo)致死鎖。正確做法是在中斷里用簡單的循環(huán)延時或者自己維護一個毫秒計數(shù)器。3.3 燒錄與調(diào)試工具燒錄工具主要分兩類ST-Link和串口ISP。ST-Link是官方調(diào)試器支持SWD接口可以在線調(diào)試、單步、看變量。山寨版ST-Link價格在十幾塊錢功能基本夠用但固件升級時可能遇到問題。串口ISP只需要一個USB轉(zhuǎn)TTL模塊通過BOOT0和BOOT1引腳進入系統(tǒng)存儲器啟動模式用官方Flash Loader工具燒錄。這種方式便宜但不能在線調(diào)試。調(diào)試接口我強烈建議用SWD而不是JTAG。SWD只需要兩根線SWCLK和SWDIO占用引腳少速度也夠。F1的SWD引腳是PA13和PA14如果你在代碼里把這兩個引腳配置成普通GPIO下次就燒不進去了。這時候需要用串口ISP擦除或者把BOOT0拉高重新上電。4. 核心外設(shè)配置與實操要點4.1 GPIO配置的八種模式與常見誤區(qū)F1的GPIO有八種模式輸入浮空、輸入上拉、輸入下拉、模擬輸入、開漏輸出、推挽輸出、開漏復(fù)用、推挽復(fù)用。新手最容易搞混的是“復(fù)用”和“普通輸出”的區(qū)別。復(fù)用模式是給外設(shè)用的比如USART的TX引腳要配置成推挽復(fù)用SPI的SCK也是復(fù)用。如果你把USART的TX配置成普通推挽輸出雖然也能發(fā)數(shù)據(jù)但時序可能不標(biāo)準(zhǔn)。另一個常見誤區(qū)是輸出速度配置。F1的GPIO輸出速度有三個檔2MHz、10MHz、50MHz。速度越高功耗和EMI越大。我一般的原則是普通LED、繼電器控制用2MHzSPI、USART用10MHz或50MHz高速SPI或者外部總線用50MHz。不要無腦全設(shè)50MHz那樣EMI測試容易出問題。// 標(biāo)準(zhǔn)外設(shè)庫配置PA5為推挽輸出50MHz GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(GPIOA, GPIO_InitStructure);注意F1的GPIO在復(fù)位后默認(rèn)是浮空輸入但JTAG引腳PA13、PA14、PA15、PB3、PB4默認(rèn)是復(fù)用功能。如果你要把它們當(dāng)普通GPIO用需要先關(guān)閉JTAG功能只保留SWD。這個操作在GPIO_PinRemapConfig()里做。4.2 USART串口通信的完整配置流程串口是調(diào)試和通信最常用的外設(shè)。F1的USART支持波特率范圍很寬常用9600到115200。配置步驟分四步使能時鐘、配置GPIO、配置USART參數(shù)、使能USART。// 以USART1為例PA9為TXPA10為RX RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE); // TX配置為復(fù)用推挽 GPIO_InitStructure.GPIO_Pin GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(GPIOA, GPIO_InitStructure); // RX配置為浮空輸入 GPIO_InitStructure.GPIO_Pin GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, GPIO_InitStructure); // USART參數(shù)配置 USART_InitStructure.USART_BaudRate 115200; USART_InitStructure.USART_WordLength USART_WordLength_8b; USART_InitStructure.USART_StopBits USART_StopBits_1; USART_InitStructure.USART_Parity USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART1, USART_InitStructure); USART_Cmd(USART1, ENABLE);波特率計算有個公式波特率 fCK / (16 * USARTDIV)。fCK是APB2時鐘72MHz要得到115200USARTDIV約等于39.0625。寄存器里整數(shù)部分是39小數(shù)部分是0.0625乘以16等于1。所以BRR寄存器的值是0x271。標(biāo)準(zhǔn)庫會自動算但你要知道這個原理遇到波特率偏差大的時候能自己排查。串口接收中斷是另一個重點。F1的USART支持接收非空中斷RXNE每收到一個字節(jié)觸發(fā)一次。如果你用中斷接收不定長數(shù)據(jù)需要配合空閑中斷IDLE??臻e中斷在一幀數(shù)據(jù)接收完后觸發(fā)這時候把緩沖區(qū)數(shù)據(jù)取走就行。這個方案比定時器超時判斷更可靠。4.3 定時器與PWM輸出的參數(shù)計算F1的定時器分高級定時器TIM1、TIM8、通用定時器TIM2到TIM5、基本定時器TIM6、TIM7。PWM輸出一般用通用定時器。配置PWM需要算三個參數(shù)預(yù)分頻器PSC、自動重裝載值A(chǔ)RR、比較值CCR。假設(shè)系統(tǒng)時鐘72MHz你要輸出1kHz、占空比50%的PWM。計算過程定時器時鐘72MHz先分頻到1MHzPSC設(shè)為71。周期1ms對應(yīng)1000個計數(shù)ARR設(shè)為999。占空比50%CCR設(shè)為500。// TIM3通道1輸出PWMPA6引腳 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin GPIO_Pin_6; GPIO_InitStructure.GPIO_Mode GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(GPIOA, GPIO_InitStructure); TIM_TimeBaseStructure.TIM_Period 999; TIM_TimeBaseStructure.TIM_Prescaler 71; TIM_TimeBaseStructure.TIM_ClockDivision 0; TIM_TimeBaseStructure.TIM_CounterMode TIM_CounterMode_Up; TIM_TimeBaseInit(TIM3, TIM_TimeBaseStructure); TIM_OCInitStructure.TIM_OCMode TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse 500; TIM_OCInitStructure.TIM_OCPolarity TIM_OCPolarity_High; TIM_OC1Init(TIM3, TIM_OCInitStructure); TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable); TIM_ARRPreloadConfig(TIM3, ENABLE); TIM_Cmd(TIM3, ENABLE);實操心得高級定時器TIM1和TIM8輸出PWM時需要額外使能主輸出TIM_CtrlPWMOutputs否則引腳沒有波形。這個坑我當(dāng)年調(diào)了半天才發(fā)現(xiàn)。4.4 ADC多通道采樣與DMA傳輸F1的ADC是12位逐次逼近型最高采樣率1MHz。多通道采樣時用DMA搬運數(shù)據(jù)是最省CPU的方案。配置步驟使能ADC和DMA時鐘、配置GPIO為模擬輸入、配置DMA、配置ADC規(guī)則組、使能ADC和DMA。// ADC1多通道采樣PA0到PA3DMA搬運 RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOA, ENABLE); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); GPIO_InitStructure.GPIO_Pin GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3; GPIO_InitStructure.GPIO_Mode GPIO_Mode_AIN; GPIO_Init(GPIOA, GPIO_InitStructure); DMA_InitStructure.DMA_PeripheralBaseAddr (uint32_t)ADC1-DR; DMA_InitStructure.DMA_MemoryBaseAddr (uint32_t)adc_values; DMA_InitStructure.DMA_DIR DMA_DIR_PeripheralSRC; DMA_InitStructure.DMA_BufferSize 4; DMA_InitStructure.DMA_PeripheralInc DMA_PeripheralInc_Disable; DMA_InitStructure.DMA_MemoryInc DMA_MemoryInc_Enable; DMA_InitStructure.DMA_PeripheralDataSize DMA_PeripheralDataSize_HalfWord; DMA_InitStructure.DMA_MemoryDataSize DMA_MemoryDataSize_HalfWord; DMA_InitStructure.DMA_Mode DMA_Mode_Circular; DMA_InitStructure.DMA_Priority DMA_Priority_High; DMA_Init(DMA1_Channel1, DMA_InitStructure); DMA_Cmd(DMA1_Channel1, ENABLE); ADC_InitStructure.ADC_Mode ADC_Mode_Independent; ADC_InitStructure.ADC_ScanConvMode ENABLE; ADC_InitStructure.ADC_ContinuousConvMode ENABLE; ADC_InitStructure.ADC_ExternalTrigConv ADC_ExternalTrigConv_None; ADC_InitStructure.ADC_DataAlign ADC_DataAlign_Right; ADC_InitStructure.ADC_NbrOfChannel 4; ADC_Init(ADC1, ADC_InitStructure); ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_55Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_55Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 3, ADC_SampleTime_55Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_3, 4, ADC_SampleTime_55Cycles5); ADC_DMACmd(ADC1, ENABLE); ADC_Cmd(ADC1, ENABLE); ADC_ResetCalibration(ADC1); while(ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1); while(ADC_GetCalibrationStatus(ADC1)); ADC_SoftwareStartConvCmd(ADC1, ENABLE);采樣時間的選擇很關(guān)鍵。F1的ADC輸入阻抗有限采樣時間太短會導(dǎo)致采樣值偏低。一般建議采樣時間不低于55.5個周期對應(yīng)約1.2微秒。如果你測的是高阻抗信號源采樣時間還要加長或者加電壓跟隨器。5. 常見問題排查與避坑經(jīng)驗實錄5.1 程序燒錄失敗與芯片鎖死處理燒錄失敗最常見的原因是SWD引腳被占用。如果你在代碼里把PA13或PA14配置成了普通GPIO下次上電后SWD接口就失效了。解決辦法有兩個一是把BOOT0拉高讓芯片從系統(tǒng)存儲器啟動然后用串口ISP擦除二是用ST-Link的“Connect under reset”模式在復(fù)位期間連接。還有一種情況是芯片讀保護被意外開啟。這時候ST-Link會提示“Flash read protection”。解決方法是先用ST-Link Utility解除讀保護但這會擦除整個Flash。所以平時調(diào)試時不要隨便開讀保護除非產(chǎn)品要量產(chǎn)了。注意F1的BOOT0引腳內(nèi)部有下拉但為了可靠建議外部加一個10k下拉電阻。BOOT1和BOOT0的組合決定啟動模式00是Flash啟動01是系統(tǒng)存儲器11是SRAM啟動。正常運行時BOOT0接地。5.2 中斷優(yōu)先級與嵌套問題F1的中斷優(yōu)先級分搶占優(yōu)先級和響應(yīng)優(yōu)先級各4位但實際只用高4位。搶占優(yōu)先級高的可以打斷低的響應(yīng)優(yōu)先級只在同時掛起時決定誰先執(zhí)行。新手常犯的錯誤是把所有中斷都設(shè)成最高優(yōu)先級結(jié)果中斷嵌套混亂棧溢出。我的建議是SysTick設(shè)最低優(yōu)先級串口接收中斷設(shè)中等定時器控制中斷設(shè)較高緊急保護中斷設(shè)最高。另外中斷服務(wù)函數(shù)里盡量只做標(biāo)志位處理和簡單數(shù)據(jù)搬運復(fù)雜計算放到主循環(huán)。// 中斷優(yōu)先級配置示例 NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); // 2位搶占2位響應(yīng) NVIC_InitStructure.NVIC_IRQChannel USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority 1; NVIC_InitStructure.NVIC_IRQChannelCmd ENABLE; NVIC_Init(NVIC_InitStructure);5.3 常見問題速查表現(xiàn)象可能原因排查方法解決措施燒錄失敗SWD引腳被占用檢查PA13/PA14配置用Connect under reset或ISP擦除串口亂碼波特率不匹配核對時鐘和BRR值重新計算波特率PWM無輸出高級定時器未使能主輸出檢查TIM_CtrlPWMOutputs調(diào)用該函數(shù)使能ADC值跳動大采樣時間太短示波器看輸入信號加長采樣時間或加濾波程序跑飛棧溢出查看棧使用情況增大棧空間或減少局部變量復(fù)位后不運行BOOT引腳狀態(tài)錯誤測量BOOT0電平確保BOOT0接地定時器頻率不對總線頻率搞錯確認(rèn)APB1/APB2分頻重新計算PSC和ARR中斷不觸發(fā)優(yōu)先級配置錯誤檢查NVIC配置調(diào)整優(yōu)先級分組5.4 低功耗模式與喚醒源配置F1支持睡眠、停止、待機三種低功耗模式。睡眠模式只關(guān)CPU時鐘外設(shè)還在跑喚醒最快。停止模式關(guān)掉所有時鐘保留SRAM和寄存器喚醒后需要重新配置時鐘。待機模式最省電但喚醒后相當(dāng)于復(fù)位。實際項目中如果你用電池供電待機模式可以把功耗降到2微安左右。喚醒源可以是WKUP引腳、RTC鬧鐘或者外部中斷。配置待機模式的步驟使能PWR時鐘、設(shè)置WKUP引腳、調(diào)用PWR_EnterSTANDBYMode()。注意進入待機前要清除WKUP標(biāo)志位否則會立刻喚醒。// 進入待機模式 RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); PWR_WakeUpPinCmd(ENABLE); PWR_ClearFlag(PWR_FLAG_WU); PWR_EnterSTANDBYMode();實操心得停止模式下如果開了DMADMA傳輸會暫停。喚醒后DMA會繼續(xù)但如果你在停止前改了DMA配置喚醒后可能不生效。穩(wěn)妥的做法是喚醒后重新初始化DMA。6. 從練手到產(chǎn)品的進階路線6.1 Bootloader與在線升級方案產(chǎn)品化之后在線升級是剛需。F1的Flash分成多個扇區(qū)你可以把Bootloader放在0x08000000開始的扇區(qū)應(yīng)用程序放在后面的扇區(qū)。Bootloader負(fù)責(zé)接收新固件并寫入Flash然后跳轉(zhuǎn)到應(yīng)用程序。跳轉(zhuǎn)前需要做三件事關(guān)閉所有中斷、設(shè)置棧頂指針、設(shè)置中斷向量表偏移。中斷向量表偏移用NVIC_SetVectorTable()設(shè)置偏移量是應(yīng)用程序起始地址減去0x08000000。// 跳轉(zhuǎn)到應(yīng)用程序 typedef void (*pFunction)(void); pFunction Jump_To_Application; uint32_t JumpAddress; if (((*(__IO uint32_t*)ApplicationAddress) 0x2FFE0000) 0x20000000) { JumpAddress *(__IO uint32_t*)(ApplicationAddress 4); Jump_To_Application (pFunction)JumpAddress; __set_MSP(*(__IO uint32_t*)ApplicationAddress); Jump_To_Application(); }注意跳轉(zhuǎn)前一定要關(guān)掉SysTick中斷和所有外設(shè)中斷否則應(yīng)用程序里重新配置中斷時會出問題。另外應(yīng)用程序的鏈接腳本里要修改Flash起始地址否則編譯出來的向量表位置不對。6.2 硬件設(shè)計中的電源與晶振注意事項F1對電源要求不算苛刻但有幾個細(xì)節(jié)要注意。VDDA和VSSA是模擬電源即使你不用ADC也建議接上濾波電容。如果VDDA不接ADC讀數(shù)會不準(zhǔn)。退耦電容每對電源引腳配一個100nF靠近引腳放置。晶振部分F1支持4到16MHz的外部晶振。8MHz是最常用的配合PLL倍頻到72MHz。晶振的負(fù)載電容要根據(jù)晶振規(guī)格書選一般20pF左右。如果起振困難可以減小負(fù)載電容或者換低ESR的晶振。PCB走線盡量短包地處理。復(fù)位電路用一個10k上拉加100nF電容到地就行。如果環(huán)境干擾大可以加一個復(fù)位芯片比如MAX809。BOOT0引腳用10k下拉需要ISP時再拉高。6.3 代碼優(yōu)化與執(zhí)行效率提升F1的Flash等待周期和總線仲裁會影響執(zhí)行效率。幾個實用的優(yōu)化技巧把頻繁調(diào)用的函數(shù)放到RAM里執(zhí)行用__attribute__((section(.ramfunc)))聲明把中斷服務(wù)函數(shù)放到RAM里減少Flash等待用DMA搬運數(shù)據(jù)減少CPU干預(yù)把常量表放到Flash變量放SRAM利用雙總線并行。編譯器優(yōu)化選項也有講究。Keil里用-O2或-O3但要注意volatile變量的使用。如果你在中斷里修改的變量沒有加volatile編譯器可能優(yōu)化掉主循環(huán)里的讀取操作。這個坑我踩過變量值明明變了主循環(huán)里讀到的還是舊值。// 中斷和主循環(huán)共享的變量必須加volatile volatile uint32_t g_tick_count 0; void SysTick_Handler(void) { g_tick_count; }6.4 量產(chǎn)測試與固件加密小批量生產(chǎn)時我建議做一個簡單的產(chǎn)測固件。產(chǎn)測固件跑一遍所有外設(shè)串口回環(huán)、GPIO翻轉(zhuǎn)、ADC讀基準(zhǔn)、定時器計數(shù)。測試結(jié)果通過串口輸出產(chǎn)線工人看OK或NG就行。這樣能把硬件問題擋在出廠前。固件加密方面F1支持讀保護開啟后通過調(diào)試接口讀不出Flash內(nèi)容。但讀保護可以解除解除時會擦除Flash。如果你需要更強的保護可以用外部加密芯片或者把關(guān)鍵算法放到帶唯一ID的芯片里。F1有96位的唯一ID可以用它做簡單的授權(quán)綁定。實操心得開啟讀保護后如果你用ST-Link燒錄新固件會提示需要先解除保護。解除保護會擦除整個Flash所以量產(chǎn)時最好先燒錄再開保護。另外讀保護開啟后SRAM里的數(shù)據(jù)還是可以通過調(diào)試接口讀到的敏感數(shù)據(jù)不要長期放SRAM。7. 一些個人體會STM32F1這顆芯片我用了快十年從學(xué)生時代的課程設(shè)計到后來的小批量產(chǎn)品它一直是個可靠的選擇。它的資料多到幾乎任何問題都能搜到答案這對新手來說太重要了。但我也要提醒一句不要因為F1簡單就停留在舒適區(qū)。F1的架構(gòu)和現(xiàn)在主流的M0、M4有差異比如F1沒有硬件浮點沒有Cache外設(shè)寄存器布局也不一樣。如果你打算長期做嵌入式學(xué)完F1之后建議再摸一顆M4或者M0的芯片把HAL庫和CubeMX的流程走一遍視野會寬很多。另外F1的供貨前幾年有過波動價格一度漲得很離譜。如果你做產(chǎn)品選型時最好準(zhǔn)備一個Pin-to-Pin兼容的替代方案比如同系列的F103其他型號或者國產(chǎn)的兼容芯片。這樣萬一缺貨不至于停產(chǎn)。最后分享一個小技巧調(diào)試時如果懷疑是硬件問題先寫一個最簡單的GPIO翻轉(zhuǎn)程序用示波器看波形。如果波形正常說明時鐘和GPIO配置沒問題再往上加外設(shè)。這個“最小系統(tǒng)法”能幫你快速定位問題范圍比盲目改代碼高效得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
超碰国产AV| 超碰免费99| 97色欧美| 五月天激情.com| 91九色超碰正在播放| 亚洲五月婷| 久久aaa| 99热热热天天人人人超超碰| 天天综合网站| 久久久18| 伊人色综合久久久| 五月丁香中文| 青青草原福利在线| 五月天婷婷色小说| 色五月激情问网站| 五月婷婷六月丁香免费| 天天干天天曰天天射| 色色99| 五月丁香六月情| 任你艹| 婷婷丁香黄色| www,setingting| 日日色综合| 五月丁香婷婷伊人| 五月婷婷综合色拍| 色综合久久88色综合天天人守婷| 激情综合婷婷五月| 激情五月深爱五月| 《诡秘之主》在线观看| 激情婷婷五月亚洲| 狠狠五月激情在线| 五月丁香婷婷AV天堂| 天堂综合久| 色天堂婷婷| 婷婷伊人五月天| 激情婷婷五月| 五月婷婷激情综合av| 亚州日本欧州韩美高青高潮一| 久久综合干| 婷婷六月久久| 色吊丝中文字幕| 婷婷五月天AV| 大战熟女丰满人妻AV| 大香蕉手机视频| 五月天激情综合| 婷婷五月天激情五月天网站| 综合伊人狠狠| 丰满熟女人妻一区二区三| 五月婷婷激清网| 婷婷五月天av网| 色综天天综合| 人妻熟妇六区| 五月天婷婷丁香社区| 五月社区婷婷激情| 婷婷亚洲欧美丁香五月| 99热这里有精品| 婷婷六月花| 99热精品综合| 99热综合网| 婷婷久久亚洲| 久碰婷婷视频| 少妇性按摩无码中文A片| 欧美性爱五月天| 色色国产| 激情五月综合网丁| 色五月综合97| 99自拍视频在线| 色~性~乱~伦~噜| 毛片新网地| 97色婷婷在线观看| A一级操| Se.婷婷五月天| 久久性爱视频免费| 99久久玖玖| 色色色色综合| 五月婷久久| 五月天婷婷色色| 五月综合色| 无码激情AAAAA片-区区| 日韩操啪| 777色婷婷爱五月| 国产1区2区3区在线观| 99热国产这里只有| 99热这里只有精品16| 五月天亚洲色| www.99热| 五月天狠狠色| 亚洲99视频| 婷婷开心久久| 激情六月婷婷| 天天肏天天肏| 色婷婷视频| 韩国久久少妇视屏| 九九热视频在线观看| 超喷97免费在线视频| 就爱日五月天| 五月婷婷内射网| 五月色情婷婷| 91人人操人人| 婷婷丁香人妻天天久久| 99精彩视频| 伊人香大香蕉视频| 五月六月播婷婷| 综合五月天天天天天五月| 99热这里只有精品86| 91九色熟女| 丁香六月视频免费观看| 婷婷伊人| 狠狠色噜噜狠狠| 综合五月草| 66精品成人免费网站在线观看| 99在线精品视频| 五月天色综合| 这里只有精品视频222| 99热99热| 精品亚洲国产成AV人片传媒| 天天人人综合| 再綫Av免费視品| 日本va欧美va欧美va| 天天干天天干天天操| 丁香五月激情综合久久| 五月丁香综合伦理片| 免费黄色AV| 无码少妇高潮喷水A片免费| 久久九九re热| 六月婷婷五月天| 人人爱操| 婷婷五月天激情综合| 97色片| 国产色色小草视频| 5月丁香六月婷婷| 91一起操| 激情五月深爱五月观看| 丝袜大香蕉| 狠狠久久婷婷| 成人网在线视频| 大香蕉 婷婷| 99色综合网| 啪色综合| 91综合国免费久入| 99综合在线| 色综合久网| 六月香五月婷| 五月天婷a在线| 99热久| 精品99在线| 亚州激情九月| 日本在线视频www色| 超碰人人操| 久久机热/这里只有精品| 欧美成人精品A片免费一区99| 99热91| 五月丁香久人妻中文| 久久九九99.www| 五月婷婷欲色| Aα在线免费观看| 国产性色蜜乳| 久久婷婷五月综合色和| 九九在线精品| 99黄色性生活| 成人中文网| 日日爽日日操| 婷婷五月天综合久久日美女| 99热这里只有精品1| 色欲五月丁香| 五月狠狠| 综合亚洲色色| 999热在线观看视频| 久久五月婷婷开心网| 日韩成人不卡| 色色色色热| 丁香六月av| 亚洲秘 无码一区二区三区妃光/1| 丁香五月网| 久久婷婷五月综合激情国产| 99'无码| 久久婷婷丁香六月天| 亚洲字幕AV一区二区三区四区| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 久久激情视频| 丁香六月婷婷综合在线| 97碰免费精采视频| 激情久久久| 久久婷婷五月综合色播| 男人天堂AV在线一区二区| 久久国产色| 色热久| 婷婷色网| 久久er99| 99热乎| 婷婷丁香五月天综合在线日韩| 九九色99| 国产 亚洲 在线| 亚洲无码色色| 99色色色色| 五月婷激情影院| 五月丁香影院| 99精吕视频在线观看了| 五月婷婷综合网| 99爱在线观看视频| 欧美丁香婷婷天天操| 亚洲欧美在线观看| 色色色国产| 九九热视频首页/这里只有精品| 狠狠婷婷色| 狠狠色成人影片| 一级黄在线| 99热这里| 天天噜日日噜综合无码| 成人五月天视频播放| www.9797国产| 九月丁香网婷婷| 九九热九九| 国产精品99久久久久久久女警| 亚洲第一色区| 日本五月婷婷久久久六月丁香| 91a片爽| 九九99免费视频| 亚洲久久婷婷丁香五月天| 久久精品综合色| 五月丁香六月激情| 激情综合婷婷| 婷婷五月色天| 五月婷婷在线观看| 久久综合9| 丁香五月婷婷六月| 日本系列_4页_777FP| 一本道综合网| 人色五月天婷婷| 182TV亚洲| 色婷青青| seav天堂| 2025神马午夜福利| 激情又色又爽又黄的A片| 狠狠爱婷婷爱| 婷婷色五月激情强奸四射| 深爱激情五月天色婷婷| 六月亚洲婷婷6月中文字幕| 久99久在线观看| www.亭亭五月天| 青青热久久综合| 丁香五月婷婷激情网| 伊人大香久久| 免费看片在线观看| 婷婷激情四射五月天| 激情亚洲五月| 拍色综合| 精品九九婷婷| 五月亭亭色| 九九婷| 一本大道嫩草AV无码专区| 99玖玖免费视频| 欧美成人性爱网| 精品福利911| 无码地址| 色五月亚洲五月天| 伊人婷婷色激情丁香| 综合激情五月四射婷婷| 色婷婷精品小视频| 五月社区丁香| WWW.开心五月天.COM| 成人必爱视| 欧美情月伍月天| 另类小说五月天| 9久精品视频| 97丁香五月| www热久久yy9| 天天插天天玩天天干| 五月丁香六月香香蕉| 丁香蜜臀黄色婷婷五月天| 婷婷国产欧美97| 日韩AV中文字幕在线| 色黄啪啪| 狼人久草| 婷婷丁香六月激情综合| 97色色在线视频| 激情丁香五月天图片| 青草激情综合| 91精品久久久久久久| 婷婷五月天AV在线| 色婷婷综合网站| 久久久久9999| 2015在线中文字幕| 久久东京热婷婷五月| 操97| 婷婷五月天熟妇| www.av骚货| 婷婷亚洲欧美丁香五月| 涩涩涩五月天| 久久久精品免费啪啪国| 色激情五月| 婷婷成人综合| 婷婷娱乐丁香综合网| www久热com| 五月婷婷五月丁香| 91热爆在线| 激情五月婷婷| 婷婷九月亚洲| www激情网| 色婷婷色五月天| 久久多色| 久久婷婷青青| 欧美五月丁香啪啪响视频| 伊人六月丁香婷婷| 超碰com| 9色在线| 香蕉久久五月| 国产婷婷色五月| 天天天摸夜夜夜玩| 99精品综合| 久久综合26p| 婷婷免费无马| 亚洲精品激情| 疯狂做受XXXX高潮A片| 婷婷丁香五月在线观看91| 久久伊人9| 五月激激网w'w'w| 色五月激情五月| 国产毛片精品一区二区色欲黄A片| 欧洲MV日韩MV国产| 久久久激情| 岛国av电影网站| 密臀久久| 婷婷五月丁香六月| 丁香五月婷婷Av| 精品九九视频在线观看| 天天色亚洲| 久久天堂女人| 日本在线噜噜| 99噜噜噜在线播放| 高清无码.com| 97久久视频| 丁香花综合永久入口| 中文字幕黄色片| 99r这里| 欧美25p| 99视频久久久| 青草五月天| 99燥99日| 欧美毛片www| 激情五月丁香五月| 99久久网站| 99热精品在线播放| 99色免费观看全部| 另类国产综合| 色爆五月| 9这里只有精品| 久99| 亚洲色激婷| 久操福利| aa久久| 五月天综合| 婷婷中文字幕网站| 亭亭五月激情亚洲在线| 99原创自拍视频在线观看| 九九色影院| 99九九玖玖| 9999综合99综合人| 噜噜国产| 婷婷九月狠狠色| 婷婷五月激情天| 日韩一本操| 色综合天天网| aV直接看| 这里只有精品2| 九九色婷婷五月天| 亭亭五月天成人| 婷婷无五月无码视频| 五月婷婷丁香伦理网| 久久99视频| 精品国产va久久久久| 天天干 夜夜爽| 色播六月| 亚洲视频在线观看| 人人操人人爱丁香五月| 99碰视频| 思思热视频在线观看| 少妇高潮一区二区三区99欧美| 日韩狠狠色| 99热这里| 97在线观视频免费观看| 久久人妻www| 狠干综合| 五月丁香婷婷六月| 免费试看小视频 99| 婷婷情色开心五月天99| 日韩AV大全| 九九热婷婷| 欧洲综合视频| 五月丁香六月婷婷综合免| 婷婷.com| 五月丁香综合激情网| 成人AV在线电影| 婷婷综合视频| 99精品大片| 五月天丁香婷婷社区| 色九月婷婷综合| 婷婷丁香视频在线观看免费| 奇米色大香蕉| 五月花激情| 五月天婷婷网站| 婷婷激情五月天桃花网| 综合色99| 久久九精品| 九九人人看| 激情五月小说婷婷| 激情五月婷婷老师| 成人五月天综合网| 久久99免费视频网站| 射久久丁香五月| 婷婷香香五月| 天啪色| 天天操婷婷| 丁香五月丁香伊人| 99ri在线观看视频| 婷婷五月综合免费在线| 玖玖色综合| 无码人妻一区| 色亚洲色宗合| 五月丁香六月婷婷精品| 色综合偷拍| 午夜天堂一区人妻| 色吧五月婷婷| 婷婷五月天丁香社区| 欧美黑人巨大猛烈cuckold| 九九激情视频| 99热爆在线| 人妻中文在线| 久久婷婷内射| 天天狠天天叉| 丁香六月天婷婷开心综合| 9l视频自拍九色9l视频自拍九色9l社区| 91精品久久久久久久久久 | 5月婷婷性视频| 五月婷婷亚洲| 综合亚洲AV| 国产成人精品一区二三区熟女在线| 久久a热| 五月婷婷精品视频| 色婷婷性爱网| 久久久天堂国产精品女人| 婷婷综合一二三| 久久精品亚洲热| 99热日韩这里只有精品| 任你草| 1024婷婷综合久久五月天| 色五月色综合| 精品一二三区久久AAA片| 丁香五月婷婷影院| 婷婷婷婷色| 99噜噜| 婷婷五月天成人| 丁香五月天婷婷91| 色五月97| 伊人色综合久久久| 色婷婷激情四射视频| 九月停停| 狠狠色丁香久久综合婷婷亚洲成人福利| 亚洲精品一区中文字幕乱码| 国产精产国品一二三在观看| 午夜不卡久久精品无码免费| 激情网五月天| 欧美大片| 五月激香蕉网| 婷婷九九色| 五月天小说激情| 这里只有精品96| www.色99| 99国产精品白浆在线观看免费 | 丁香激情网| 日韩九区| 丁香婷婷色五月| 操一区| 亚洲免费99| 亚洲色另类| 97资源欧美日韩大香蕉超碰一区| 六月婷婷七月丁香| 婷婷色吧| 影视av久久久噜噜噜噜噜三级| 亚洲丁香花色| 五月天成人小说网| 日日杆天天| 99精品在线| 五月婷婷香| 婷婷色丁香六月| 亭亭五月色男人| 久久 视频这里只有精总| 先锋资源 996| 热99精品视频| 久9视频免费播放| 色色色网站| 人人干女人| 欧美在线干| 亚洲超碰在线| 欧美日韩成人在线| 欧美高潮9| 九九美女视频| 婷婷在线综合| 99热这里只有精品96| 五月天婷婷深深爱| 婷婷丁香五月亚洲| 久草五月| 最近中文字幕2019视频1| 韩国中文字幕91| 综合超碰熟| 色九月欧美| 日夜操B| 天天干-天天日| 婷婷开心六月| 亚洲成人超碰| 激情丁香九九五月综合网| 久久婷婷五月丁香| 色狠狠婷婷| 日韩精品一品二区三区的使用体验| 91色久| 精品夜夜澡人妻无码AV| 99热www| 啪啪啪综合网| 日日操人人操| 激情综合五月天| 三十熟女| 五月丁香婷草| 99热这里只有精品手机在线观看| 深爱五月婷婷| 99这里都是精品| 久久婷婷艹| 婷婷啪啪| 天天五月天综合网址| 成人网站在线观看视频| 超碰69天堂| 亚洲中文字幕网| 狠狠干青青草| 日韩999| 丁香花五月天社区| 婷婷五月天改成什么了| 婷婷五月色综合| 亚洲蜜桃精久久久久久久久久久久| 99在线小视频| 五月天婷爱综合| 91一起艹| 操婷婷基地| 亚洲射激情| 亚洲情色一区| 玖玖玖婷婷婷| 色爱终和网| 亚洲婷婷免费| 97人妻碰碰碰久久久久-最近国语高清| a69在线视频| 1024操逼视频| 精品无码片| 五月丁香五月天现场视频| 成人AV在线网站| 色色色丁香| 颜射 精品性爱av| 久久婷婷亚洲| 色色五月婷婷久久| av在线免费网站 | 99视频这里只有久久精品| 久久多色| 加勒比日本一区二区三区| 狠狠狠夜夜夜| 91九九九色在| 激情五月com| 狠狠干综合| 色色婷婷五月天| 激情综合九月| 久久婷婷内射| 亭亭五月天黑人2014| 女人高潮内射99精品| 色婷五月| 丁香五月中文字幕| 久久婷视频| 99精在线| 婷婷九月亚洲| 操操自拍| 久久9精品视频| 在线观看婷婷5月| 亚洲人成网站999久久久综合| 五月婷婷开心激情六月蜜桃| 九月丁香久久网| ji'qing'luan'ren'lun| 免费观看18视频网站| 99爱这里只有精品| 丁香网站| renre人人操国产超碰在线| 色狠狠色噜噜AV天堂五区| 日本色噜| 极品少妇高潮啪啪AV无码| 婷婷成人综合免费视频| 超pen个人视频97| 丁香五月婷婷88在线| 97在线观视频免费观看| 色婷婷色人人射| 亚洲视频另类| 99综合网| 99热婷婷| 9热成人在线视频| 婷婷五月骚厕所| 99久操视频| 国产精品VA在线| www.综合久久.com| 欧美日韩成人在线| 亚洲麻豆乱码国产2028| 色情激情五月婷婷| 91无码视频| 超碰久热| 天天躁日日躁狠狠躁日日躁2022年5月9日| 亚洲激情.com| 五月丁香婷中文| 五月激情综合网| 久99热| 9999热在线观看| 99热亚洲| 激情婷婷丁香色五月| 9999热免费视频视频| 丁香婷婷六月男男| 97丁香五月天| 国产第99页| 99久久这里只有精品| 五月丁香婷婷国产精品综合| cao视频,现在观看| 饮料下药迷倒漂亮女同事强干| 美女100%露全身无挡网站| 超碰99热精品在线| 激情五月婷婷丁香| 噜噜色com| 婷婷五月综合啪| 午夜天堂啪啪| 天天爱夜夜爽| 激情婷婷综合| 日韩av网站在线观看| 久久人五月| 狠狠香婷婷五月| 精品久久9| 亚洲最大视频| A A色色| 久久色天堂| 色婷婷小视频| 天天综合天天玩夜夜玩天天玩夜夜玩 | 丁香五月激情网| 超碰成人公开| 激情伍月 欧美| 黄网在线播放| 超碰人人在线观看| 情涩婷婷五月天| 狠狠色综合网| 丁香六月婷婷久久综合八月| 人人妻人人澡| 成人在线日韩欧美| 久久精品人妻| HD久久精品视频| 日日舔夜夜操| 狠狠色噜噜狠| 蜜臀九九九九| 五月丁香婷婷成人网| 激情婷婷五月久久| 亚洲99热| WWW.天天日| 九热...av| 色五月超碰| 天天弄天天操| 性爱激情小说AV五月丁香花| 日韩三级高清无码| 激情色情五月天| 丁香五月天激情免费在线观看AV777| 亚洲深喉AV| 婷婷久久五月| 无人区码一码二码三码医生系列| 成人婷婷桔色| 日韩乱轮AV| 天天综合天天玩夜夜玩天天玩夜夜玩 | 超碰碰碰碰| 热的国产,热的综合,热的有码 | w婷婷五月婷婷w| 五月丁香在线| 久99视频在线观看| www.色婷婷| 91精品久久久久久77777| 99热网站| 婷婷五月天国产手机在线视频观看| 欧美丰满熟妇BBB久久久| 色婷婷五月丁香在线观看| 99热免费| 亚洲噜色| www.com任你艹| 婷婷天天婷婷天天澡| 狠狠色大香蕉| 97热视频| 五月丁香天天| 综合在线观看99| 精品久久久人妻| 婷婷综合在线视频| 久久婷丁香五月| WWW,五月天| 超碰狠狠操| 激情亚洲五月| 日本在线wwww| 亚洲视频二区| 五月www| 99惹 精品在线| 色综合天天天天做夜夜| 91精品婷婷国产综合| 丁香五月电影| 五月天婷婷黄色| 国产综合丁香五月天| 五月婷婷六月激情| 丁香丁香激情网| 99re欧美精品| 欧美综合五月丁香六月婷| 无码四色色色| 超极99精品| 激情六月丁香| 亚洲综合五月天综合| 久久丁香婷婷五月| 久久丁香五月天| 千人斩操逼| 91 九色 入口| 任你草| 久久这里有精品| 97精品综合| 岛国在线观看91| 九九精品免费| bbwcuckold精品熟妇| 激情五月天第四色| 99这里都是精品| 综合网视频| 色五月激情视频在线综合| 不卡在线中文字幕无| 五月天婷婷綜合院| www 五月天 com| 婷婷综合在线播放| 色狠狠色噜噜AV天堂五区| 天天色天天日| 五月天激情日色在线| 操逼六区| 九97免费视频| 久久性视频| 青草五月天| 色狠狠综合网| 五月丁香婷婷综合久久| 一区=区操屄高清大全av| 人人摸人人摸| 五月天色区| www,五月丁,com| 97精品欧美91久久久久久久| 中文字幕无码成人电影| 五月综合激情| 久久99视频| 六月婷婷在线| 另类小说五月天综合| 五月婷婷激情网| 久久一伦| 久久久久久久久18久久| 九月婷婷久久| 99国产视频网| 五月丁香激情婷婷综合| 九九热这里有精品视频| 五月天激情图片| YW无码| 麻豆AV一区二区三区| 97久久超碰| 色99网站| 五月六月婷婷| 欧美婷| 678五月丁香亚洲综合| 99久在线视频| 色呦呦美女| 激情淫乱男女| 亚洲乱码日产精品BD| 久久伊人大香蕉| 欧美日本黄色| 色丁香五月| 情久久综合五月天| 天天天操天天天日| 插插五月天| 天天爱天天做天天爽| 青青草a在线| 丁香六月综合激情| 99色在线视频| 婷婷九月激情| 五月丁香999| 97干在线观看视频| 欧美天堂久久| 婷婷丁香五月91| 殴美日韩成人| 視频福利乱色| www.久9| 操久久精| 密乳Va| 狼人婷婷久久| 欧美日韩国产伦精品日韩人妻一| ′久久99一| 激情五月综合第一页| 丁香五月婷婷综合激情哟哟哟| 日韩丁香涩| www久久久久久久久久久| 婷婷五月在线影院| 99精品视频免费观看近期发布| 日本不卡一区二区三区| 欧美槡BBBB槡BBB少妇| 久久小说网| 亚洲最大成人综合网720P| 激情综合网激情五月天| 亚洲第一成人无码A片| 国产精产国品一二三在观看| 青青久久五月| 99@久久@99精品视频| 热久91| 亚洲欧美日韩另类| 91视频免费后入强操| 97干视频在线| 日本啪啪天堂| 九九成人高清视频| 五月综合亚洲| 99这里都是精品6| 99热资源在线| 五月婷婷色播| 国外亚洲成AV人片在线观看| 婷婷五月丁香性爱| 久久超级碰视频| 九九色图| 99久久99热| 五月天婷婷爱丁香中文字幕| 深情五月天| 五月综合视频| 午夜一区| 五月婷婷黄色网址| 丁香五月天.com| 五月五婷婷网| 丁香六月激情蜜桃| 99视频这里有精品| 婷婷在线精品| 97碰碰草| 五月天久久婷婷| 99热6这里之有精品| 丁香五月色欲| 9久精品视频| 中文字幕日产A片在线看| 青青999| 碰碰91| 色婷婷五月天堂资源| 欧美婷婷综合| 激情综合网激情五月天| 夜色五月天| 久99视频在线观看| 五月天天天开心激情网| 五月丁香婷婷爱| 无码色| se婷97| 啪啪一区| 丰满熟女人妻一区二区三| 久久久999精品| 96丁香婷婷九月蜜桃综合久久| 婷婷色五月开心五月| 成人精品一区二区三区四区五区 | 亚洲成人av中文| 亚洲超碰在线| 婷婷十月丁香| 色婷婷色99国产综合精品| 亚洲AV日韩在线观看| 色色操| 婷婷精品性性性性性性性| 欧美在线视频99| 婷婷五月天av小说| 久久er免费视频| 六月综合在线| 婷婷免费视频| 亚洲熟女乱色综合亚洲网站| 色婷婷成人在线| 日本三级中国三级99| 91男人操女人视频| 亚洲综合婷婷| 五月丁香婷婷婷激情爱爱| se99在线| 中文激情网| 99热精品网| 深爱激情五月天色婷婷| 色优久久| www.综合久久| 这里只有精彩视| 五月天综合视频| 久久精品91视频| 国产在线另类五月婷婷| 成人看片网站| 久久98热re| 色色色色av色色色色| 五月婷婷综合在线| 久久香蕉影院| 五月婷婷激情网| 五月丁香色色色| 丁香五月色播中文在线播放| 精品久热| 色婷婷精品视频| 99re鈥哸鈥唙| 精品久久久久成人码免费动漫| 丁香五月精品视频| 综合激情在线视频| 天天干天天操天天射| 六月婷婷国产| 欧美日韩二区在线| 丁香五月婷婷少妇| 天天干天天干天天干| 亚洲情色一区| 丁香婷婷色色| 婷婷激情五月天小说| 六月婷婷久久大全| 草草色情综合网| 五月婷婷六月爱| 免费黄色视频网址| 丁香五月天色综合| 五月天精品视频| 色婷婷九月| 色99日韩| 丁香五月欧美成人| 婷婷五月色综合| 久久99网址| 激情婷婷丁香| 影音先锋91| 成人va在线播放| se99热久久一本| 日日综合网| 综合爱久久| 永久精品| 免费97碰碰| 婷婷五月色惰| 在线网黄| 亚洲av免费在线| 激情AV| 99re这里| 一根材五月婷成人| 丁香五月成人| 午夜婷婷五月天在线| 九九9久九9国产视频| 五月婷在线视频免费播放| 九九在线热九九在线热99热| 思思热在线视频99| 婷婷丁香18| 天天草比天天爽| 五月婷婷色白丝| 婷婷五月电影| 狠狠干综合网| 思思热视频在线| 丁六月激情| 97超碰婷婷五月天| 九九性视频| 色涩影院六月丁香| 伊人久久艹| 精品在线| 久久婷婷五月综合色丁香花| 激情五月狠狠| 五月天婷婷情色| 亚洲精品国产成人AV在线| 国产色色在线| 中文字幕丰满孑伦无码专区| 久久婷婷五月综合色丁香| 久久九九99.www| 大香蕉天堂| 丁香五月综合高清在线| http:色情日本com| 婷婷五月天男人影院色色网| 在线视频激情网站| 婷婷综合视频| 五月天婷婷色紫薇阁| 婷婷久久爱| 日本色婷婷| 538午夜激情| 中国女人内射6XXXXX| 天天干天天操天天拍| 久久婷婷丁香| 桃色成人网| 26uuu另类亚洲欧美日本一| 1024婷婷综合久久五月天| 婷婷色五月天在线| 婷婷五月天免费| 亚洲av无码精品色午夜| 丁香五月久久| 丁香婷婷色五月合集| 亚州操操| 无码视频国内精品久久久| 开心激情综合| 亚洲色色图片| 久久99免费视频| 99热综合网| 淫荡综合网| 丁香综合网| 日本少妇裸体做爰高潮片 | 综合婷婷久久| 久久久久久婷| 综合色播| 色婷五月天激情| 五月丁香免费视频| 精品国婬伦V无码久久久| 黄色片区子| 五月天激情子轮| 色综合九九色综合88| 欧美日韩二区在线| 美欧日韩国产成人在战| 久久九九99亚洲国产久精综合| 熟女网站久久| 国产一区二区av免费| 综合啪啪| 99亚洲色| 亚洲夜五月| 九色激情| 丁香激情五月天| 五月激情小说| 日日做夜夜爱| WWW夜夜| 1区2区视频| 射满了还射免费在线观看 -午夜版全集-新视觉影院 | 大香线蕉伊人| 7777国产盗摄农村女人| 网站免费一站二站| 99热a片免| 日韩小视频在线99| 99干视频| 久久精品99久久久久久久久| 91蝌蚪窝视频在线| 99久久性爱| 99热在线观看| 五月天五月婷五月激情网| 五月天开心激情网色欲无码| 久操人| 99碰碰。| 少妇人妻丰满做爰XXX| 日本久热| 五月丁香六月婷| 热99只有精品| 五月丁香激情综合网官网| 91婷色| 午夜婷婷久久 | 激情图片婷婷| 激情啪啪五月天| 99啪| 久久大香蕉同僚| WWW色色色COM| 色综啪啪网| 国产肥白大熟妇BBBB视频| 亚洲AV免费在线| 色综合久久88色综合天天99| 人人爱国产| 久狠日av| 人妻性爱| 久久99热这里| 深爱五月综合网| 久久婷婷激情| 97人人操在线| 香蕉大综综综合久久| 欧美操综合| 亚洲乱码精品久久久久.. | 超碰在线精品| 97丁香婷婷| 伊人久久五月天| 色在线99| 翔田千里 50岁 无码| 狠狠操综合| 精品久久这里热66| 日本3级片一区2区| 丁香在线视频| 日韩一级网站| 夜夜干天天操| 亚洲成人av在线播放| 五月网在线| 婷婷激情五月天激情| 五月天亚洲色| 天天天综合网| 六月婷婷五月丁香| 天天色噜| 91人人网| 亚洲九区| 欧美日韩一区二区三区四区| 激情六月婷婷| 天天肏夜夜肏| 九九九九精品精| 影音先锋男士资源网一区| 91碰免费视频| 久久 中文 日本| 51XX嘿嘿午夜无码| 色五月婷婷操逼| 婷婷激情四射| 丁香五月激情六月欧亚激情综合导航| 久热这里只有精品3| 丁香五月婷婷婷婷欧美综合| 亚洲色情一区二区三区四区| 久久久精品人妻录| 99色色色色| 久婷久婷| 九九热黄色| 亚洲精品色| 色综合99| 99亚洲精品综合在线| 国产婷婷久久| www.91婷婷| 天天插天天插天天日| 99.色| 思思热精品在线| 婷婷五月天色色| 色五月婷婷五月天| 激情四射亚洲| 七七九色| sesesesezonghe| 五月天成人在线| 高清无码视频网址| 婷婷伊人綜合中文字幕| 国产毛片精品一区二区色欲黄A片| 少妇水多A片太爽了| 色99无码| 色啪网| 婷婷五月天在婷| 六月撸婷婷| 色婷婷丁香| 五月婷中文娱乐综合| 五月丁香福利| 五月婷婷综合色啪| 久久九九色| 99热9| 久草免费福利视频| 99操逼视频| 六月婷婷狠狠色在线观看| 丁香五月五月婷婷| 99日本黄站| 99ER热精品视频| 99久在线精品99re5热视频| 久久九九99| 五月丁香啪啪伦理电影| www.99热这里只有精品| 日韩黄色中文字幕| 九九综合伊人| 激情文学天天| 五月丁香六月婷婷网| 色色婷| 996热re视频在线观看视频| 五月开心婷婷极品激情| 26UUU欧美| 天天干 夜夜爽| 婷婷五月色花丁香社区| Xx色综合| AV性爱在线| 99国产精品久久久久久久久久久| 日韩有码一区| 婷婷AV丁香| 色情久久久| 五月成人丁香av91| 五月天激情综合网俺也去| 丁香五月婷老师| 九九久久综合| 日韩99视频| 婷婷六月天激情影院| 亚洲最大在线| 综合激情四射一theav| 激情网站五月| 伊人网啪啪| av操B网站| 亚洲综合网区| 激情久久久久久久久久| 人人操人人妻| 人妻久久久久久久久妻久久久久久久久 | 色婷婷精品视频在线播放| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 91丨九色丨43老版熟女| 婷婷丁香五月色偷偷| 丁香五月激情婷婷| 色99网站| 五月婷六月| AV性爱在线| 午夜天堂一区人妻| 国产日产成人亚洲欧美国产VA| 激情综合色婷婷六月天| 中文字幕 中文字幕明步| 五月丁婷香| 噜啊噜在线| 五月黄色婷婷| 日日肏夜夜干| 亚洲综合五月天| 五月激情综合网| 丁香五月婷婷激情尤物| 香蕉久久五月| 天天射天天射一道本日本社区 | 99热这里只有精品3| 欧美日韩国产日本精品四虎网网站物| 99久久99热这里只有精品| 三男玩一女三A片| 久久xx| 91九色国产| 欧美精产国品一二三区| www.狠狠艹| 97超碰色| 婷婷丁香激情综合色情| 婷婷D区| 男人综合网| 欧美性色A片免费免费观看的| 亚洲综合婷婷| se99视频| 丝袜大香蕉| 色综合久久44| 五月婷婷色啪| 色色色网站| 国产精品丝| www五月天com| 91精品国产综合久久蜜芽解析速度| 99热这里只有在线| 色五月婷婷7777| 国产精品色色色色| 玩熟女五十AV一二三区| 久久99激情| 婷婷97狠狠成人网站| 色综合播放| 色优久久| 婷婷亚洲丁香五月| 亚洲成人AV高清字幕| 色婷婷丁香五月在线| 天天色天天操天天射| 婷婷丁香激情| 七月丁香五月婷婷在线| 婷婷五月天另类网站| 天天婬色综合| 色色色色av色色色色| 777久久久| 色婷婷88| 综激情网| 五月天另类激情在线| 丁香六月av| 激情四射五月天| 99在线精品视频观看免费下载| 九九亚洲视频| 亚洲日韩26uuu| 俺也去五月婷婷丁| 五月婷色激情五月| 国内久久亭亭| A1片久久久| 日本va欧美va欧美va精品| 狠狠狠狠狠干| 五月婷婷六月爱| 婷婷桃色网| 激情五月婷黄版| 青青草原亚洲天堂| 婷婷色中文字幕| 思思热在线视频99| 97成人在线视频| 色九月婷婷丁香| 性爱先锋AV| 色婷青青| 色色色成人网| 亚洲av综合网| 国精产品一区一区三区免费视频| 久久久婷丁香五月| 色yeye色综合| 综合色播| 色在线五月天免费| 人操91在线| 碰碰91| 色五月婷婷、老熟女| 婷婷五月天久草在线| 日本天堂免费99| 久久色五月| 六月色丁香婷婷| 99热99美国在线观看| 天天日,天天射,天天插| 成人中文网| 欧美激情VA永久在线播放| 久久五月综合| 亚洲日比视频| 狼人狠狠操| 毛片新网地| 亚洲综合1024| 极品人妻VIDEOSSS人妻|