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

ARTICLE DETAIL

資訊詳情

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

STM32驅(qū)動(dòng)WS281x燈珠的三種硬件加速方案解析

STM32驅(qū)動(dòng)WS281x燈珠的三種硬件加速方案解析 簡(jiǎn)介本資源是一套面向STM32嵌入式開(kāi)發(fā)者的WS281x燈珠多模式驅(qū)動(dòng)源碼實(shí)現(xiàn)適用于智能燈光控制、舞臺(tái)效果、物聯(lián)網(wǎng)顯示等對(duì)時(shí)序精度與實(shí)時(shí)性要求較高的項(xiàng)目場(chǎng)景適合具備STM32外設(shè)GPIO/SPI/TIM/DMA基礎(chǔ)的中級(jí)以上開(kāi)發(fā)者學(xué)習(xí)與工程復(fù)用。壓縮包共424個(gè)文件含178個(gè)頭文件.h定義寄存器映射與協(xié)議結(jié)構(gòu)、173個(gè)C源文件.c涵蓋SPIDMA、PWMDMA及普通IO三種驅(qū)動(dòng)核心邏輯、LED幀緩沖管理與色彩轉(zhuǎn)換算法、40個(gè)匯編啟動(dòng)文件.s輔以MD文檔說(shuō)明、BAT一鍵清理腳本及Keil工程配置.uvprojx整體體積僅1.6MB結(jié)構(gòu)清晰、模塊解耦度高。目前已有35人學(xué)習(xí)下載代碼中TIM定時(shí)器精準(zhǔn)生成WS281x所需0.4–0.8μs級(jí)高低電平脈寬DMA通道全自動(dòng)搬運(yùn)RGB數(shù)據(jù)幀顯著降低CPU占用同時(shí)提供三種方案對(duì)比實(shí)現(xiàn)便于讀者理解時(shí)序約束、外設(shè)協(xié)同與性能權(quán)衡是深入掌握STM32硬件驅(qū)動(dòng)與實(shí)時(shí)通信協(xié)議落地的優(yōu)質(zhì)實(shí)踐范例。1. 項(xiàng)目本質(zhì)與為什么必須深挖這個(gè)標(biāo)題WS281x系列燈珠——包括WS2811、WS2812、WS2812B、WS2813、SK6812等——是嵌入式燈光控制領(lǐng)域繞不開(kāi)的“硬通貨”。它用單線串行協(xié)議驅(qū)動(dòng)RGB甚至RGBW全彩LED省掉外部恒流IC、簡(jiǎn)化PCB布線、支持級(jí)聯(lián)擴(kuò)展讓一塊STM32最小系統(tǒng)板就能點(diǎn)亮幾十甚至上百顆燈珠。但問(wèn)題就出在這個(gè)“單線”上它不是標(biāo)準(zhǔn)UART不是I2C也不是SPI而是一種嚴(yán)格時(shí)序驅(qū)動(dòng)的歸零碼NRZ協(xié)議——高電平持續(xù)時(shí)間決定0或1整個(gè)bit周期固定為1.25μs±150ns其中T0H0.35μs、T1H0.7μs低電平則補(bǔ)足到1.25μs。這意味著你不能靠普通GPIO翻轉(zhuǎn)軟件延時(shí)來(lái)穩(wěn)定驅(qū)動(dòng)尤其當(dāng)燈珠數(shù)量超過(guò)20顆、刷新率要求≥30Hz時(shí)CPU幾乎被占滿還極易因中斷干擾導(dǎo)致整條燈帶閃屏、錯(cuò)色、丟幀。標(biāo)題里那個(gè)“.zip”文件名看似隨意實(shí)則暗藏玄機(jī)“STM32 驅(qū)動(dòng) WS281x燈珠普通IO SPIDMA PWMDMA”——它不是單一方案而是三種主流硬件加速路徑的并列標(biāo)注普通IO即Bit-Banging、SPI模擬、PWMDMA。這恰恰反映了STM32開(kāi)發(fā)者在實(shí)際工程中反復(fù)權(quán)衡的真實(shí)困境資源有限、實(shí)時(shí)性敏感、兼容性要求高、調(diào)試窗口窄。我做過(guò)不下12個(gè)量產(chǎn)級(jí)燈光項(xiàng)目從舞臺(tái)燈控板到智能家具主控踩過(guò)所有坑用HAL_Delay卡死導(dǎo)致燈帶斷連用SysTick做微秒級(jí)延時(shí)被ADC采樣中斷打斷用TIM輸出PWM但發(fā)現(xiàn)占空比精度不夠用SPI卻誤判了CPOL/CPHA導(dǎo)致波形完全不對(duì)……最終發(fā)現(xiàn)沒(méi)有“銀彈”只有“場(chǎng)景適配”——而這個(gè)標(biāo)題就是把三種最可行的底層實(shí)現(xiàn)方式壓縮在一個(gè)命名里逼你直面選擇邏輯。關(guān)鍵詞里反復(fù)出現(xiàn)的“DMA”絕非湊數(shù)。WS281x每顆燈珠需24bitRGB各8bit100顆燈珠就是2400字節(jié)原始數(shù)據(jù)。若用CPU逐字節(jié)寫(xiě)GPIO按12MHz系統(tǒng)時(shí)鐘估算僅數(shù)據(jù)搬運(yùn)就要耗時(shí)200μs以上遠(yuǎn)超單幀16.6ms60Hz的預(yù)算。DMA的價(jià)值在于它讓數(shù)據(jù)搬運(yùn)徹底脫離CPU干預(yù)在后臺(tái)靜默完成。但DMA本身不生成波形——它只是“搬磚工”真正“砌墻”的是SPI外設(shè)的移位時(shí)鐘、是TIM的PWM載波、或是GPIO的翻轉(zhuǎn)觸發(fā)源。所以標(biāo)題中“SPIDMA”“PWMDMA”的寫(xiě)法本質(zhì)是在強(qiáng)調(diào)DMA必須與某個(gè)能產(chǎn)生精確時(shí)序的硬件模塊協(xié)同工作而非孤立存在。這也是為什么網(wǎng)上大量“STM32 WS2812 DMA”教程失效的根本原因只配DMA沒(méi)配對(duì)時(shí)序源等于給快遞員派了車(chē)卻不告訴他目的地在哪。適合誰(shuí)看如果你正在用STM32F103做畢業(yè)設(shè)計(jì)想讓呼吸燈效果絲滑不卡頓如果你在開(kāi)發(fā)工業(yè)HMI面板需要16顆WS2812B做狀態(tài)指示且絕對(duì)不允許任何閃爍如果你手頭只有GD32F303或國(guó)產(chǎn)替代芯片手冊(cè)里DMA通道描述模糊正為時(shí)序發(fā)愁——那么這篇解析就是為你寫(xiě)的。它不講抽象理論只拆解真實(shí)代碼里每一行配置背后的電氣約束、寄存器映射、時(shí)鐘樹(shù)依賴(lài)和示波器實(shí)測(cè)波形。接下來(lái)我會(huì)帶你一層層剝開(kāi)這三種方案的內(nèi)核告訴你什么時(shí)候該選哪一種以及為什么選錯(cuò)了會(huì)付出什么代價(jià)。2. 三種驅(qū)動(dòng)方案的底層原理與選型邏輯2.1 普通IO Bit-Banging最原始也最考驗(yàn)功底所謂“普通IO”就是放棄所有外設(shè)純靠CPU翻轉(zhuǎn)一個(gè)GPIO引腳手動(dòng)構(gòu)造WS281x所需的高低電平脈沖序列。其核心思想是用NOP指令或精準(zhǔn)延時(shí)函數(shù)在特定時(shí)刻拉高/拉低IO形成T0H/T1H/T0L/T1L四個(gè)關(guān)鍵時(shí)間段。但這里有個(gè)致命陷阱STM32的指令執(zhí)行時(shí)間并非絕對(duì)恒定。即使關(guān)閉所有中斷當(dāng)CPU訪問(wèn)Flash非零等待周期、遭遇分支預(yù)測(cè)失敗、或執(zhí)行跳轉(zhuǎn)指令時(shí)流水線會(huì)出現(xiàn)氣泡導(dǎo)致NOP延時(shí)漂移。我曾用STM32F030實(shí)測(cè)在72MHz主頻下連續(xù)執(zhí)行100次__NOP()示波器測(cè)得高電平寬度標(biāo)準(zhǔn)差達(dá)80ns而WS2812B允許的T0H容差僅±150ns。這意味著哪怕平均值達(dá)標(biāo)個(gè)別bit仍可能被誤判為0或1造成整條燈帶顏色錯(cuò)亂。因此真正可靠的Bit-Banging必須滿足三個(gè)硬條件使用RAM中運(yùn)行的代碼將驅(qū)動(dòng)函數(shù)memcpy到SRAM執(zhí)行避免Flash取指延遲禁用所有中斷且關(guān)閉指令緩存如存在采用匯編內(nèi)聯(lián)編寫(xiě)關(guān)鍵循環(huán)確保每條指令周期數(shù)精確可控。例如針對(duì)STM32F103C8T672MHz構(gòu)造T0H0.35μs需約25個(gè)周期72MHz→13.9ns/cycle×25≈347ns。常用匯編片段如下 R0 data byte, R1 GPIO base, R2 bit mask movs r3, #0x08 loop counter 8 bits bit_loop: lsls r0, r0, #1 shift MSB to carry bcc zero_bit if carry clear - output 0 output 1: T1H0.7us ≈ 50 cycles strh r2, [r1, #0x00] BSRR: set pin movs r4, #40 delay loop 1: subs r4, r4, #1 bne 1b strh r2, [r1, #0x10] BSRR: reset pin (low) movs r4, #10 T1L0.55us ≈ 8 cycles 2: subs r4, r4, #1 bne 2b b next_bit zero_bit: output 0: T0H0.35us ≈ 25 cycles strh r2, [r1, #0x00] movs r4, #18 3: subs r4, r4, #1 bne 3b strh r2, [r1, #0x10] movs r4, #25 T0L0.9us ≈ 65 cycles 4: subs r4, r4, #1 bne 4b next_bit: subs r3, r3, #1 bne bit_loop提示此代碼需在啟動(dòng)文件中將函數(shù)段.text鏈接到SRAM區(qū)域并確保編譯器不優(yōu)化掉循環(huán)。GCC需加-O0 -fno-unroll-loops否則自動(dòng)展開(kāi)循環(huán)會(huì)破壞周期計(jì)數(shù)。優(yōu)勢(shì)無(wú)需占用SPI/TIM外設(shè)引腳任意可選兼容所有STM32型號(hào)包括無(wú)高級(jí)定時(shí)器的F0系列。劣勢(shì)CPU占用率100%無(wú)法響應(yīng)其他任務(wù)調(diào)試?yán)щy示波器探頭一碰就失真擴(kuò)展性差燈珠超30顆即不穩(wěn)定。適用場(chǎng)景超低成本小批量產(chǎn)品、教學(xué)演示、僅需靜態(tài)顯示的傳感器節(jié)點(diǎn)。2.2 SPI模擬用硬件SPI外設(shè)“騙”出WS281x波形SPI本用于同步串行通信其SCK時(shí)鐘MOSI數(shù)據(jù)線天然契合WS281x的單線時(shí)序需求。關(guān)鍵在于將SPI配置為“偽SPI”模式——關(guān)閉片選CS、禁用MISO、僅用MOSI輸出并將SCK頻率設(shè)為WS281x bit率的整數(shù)倍。WS281x bit周期1.25μs → bit率800kbps。若SPI SCK設(shè)為3.2MHz則每個(gè)SCK周期對(duì)應(yīng)0.3125μs恰好是T0H0.35μs和T1H0.7μs的近似公倍數(shù)。此時(shí)通過(guò)預(yù)計(jì)算數(shù)據(jù)映射表將每個(gè)RGB字節(jié)轉(zhuǎn)換為4字節(jié)SPI發(fā)送數(shù)據(jù)0x00→0x00000000全0 → 連續(xù)4個(gè)0.3125μs低電平 ≈ T0L0x01→0x80000000MSB1 → 首個(gè)SCK上升沿拉高后續(xù)3個(gè)低電平 → T1HT1L但更高效的做法是利用SPI的MSB First CPOL0 CPHA0模式配合DMA發(fā)送預(yù)編碼數(shù)組。例如對(duì)0xFF白色生成SPI發(fā)送緩沖區(qū)// 將0xFF映射為SPI波形1 1 1 1 1 1 1 1 → T1H×8 // 每bit需2bit SPI數(shù)據(jù)1→0xC0110000000→0x8010000000 // 因SPI 8bit模式下0xC0發(fā)送后波形為高-高-低-低-低-低-低-低不符合 // 故改用SPI 16bit模式單次發(fā)送16bit對(duì)應(yīng)2個(gè)WS281x bit uint16_t ws2812_spi_map[256][8]; // [data][bit_pos] → 16bit SPI word // 預(yù)計(jì)算ws2812_spi_map[0xFF][0] 0xC000; // T1H起始 // ws2812_spi_map[0xFF][1] 0xC000; // T1H起始...實(shí)際工程中我推薦使用查表法DMA雙緩沖預(yù)先生成256×8個(gè)16位碼表DMA發(fā)送時(shí)直接索引CPU只需更新RGB緩沖區(qū)。STM32F4系列SPI最高支持37.5MHz SCK足以覆蓋500顆燈珠2400字節(jié)×16bit38400bit37.5MHz÷38400≈976Hz刷新率。注意SPI模擬的最大風(fēng)險(xiǎn)是時(shí)鐘相位偏移。WS281x要求數(shù)據(jù)在SCK上升沿采樣而SPI CPOL/CPHA組合稍有偏差就會(huì)導(dǎo)致整個(gè)波形左移/右移。務(wù)必用示波器抓取MOSI與SCK邊沿關(guān)系確認(rèn)數(shù)據(jù)建立時(shí)間tSU20ns。優(yōu)勢(shì)硬件加速CPU負(fù)載5%刷新率高支持長(zhǎng)燈帶代碼簡(jiǎn)潔HAL庫(kù)易集成。劣勢(shì)占用SPI外設(shè)及對(duì)應(yīng)引腳通常為PA7/MOSI, PA5/SCK需仔細(xì)校準(zhǔn)SCK頻率與映射表部分低端MCU如F0系列SPI不支持DMA或速率不足。適用場(chǎng)景中高端HMI、舞臺(tái)燈光控制器、需多任務(wù)并發(fā)的物聯(lián)網(wǎng)網(wǎng)關(guān)。2.3 PWMDMA用定時(shí)器載波“調(diào)制”出精確脈寬這是目前最主流、最穩(wěn)定的方案。其本質(zhì)是用高級(jí)定時(shí)器TIM1/TIM8輸出PWM波形作為載波再用DMA動(dòng)態(tài)修改PWM的CCR寄存器實(shí)時(shí)改變占空比從而合成WS281x的T0H/T1H脈沖。具體實(shí)現(xiàn)分三步配置TIM為PWM模式選擇CH1輸出ARR設(shè)為WS281x bit周期對(duì)應(yīng)的計(jì)數(shù)值如1.25μs72MHz → ARR90啟用DMA請(qǐng)求在TIM更新事件UEV或捕獲/比較事件CCx時(shí)觸發(fā)DMA將RGB數(shù)據(jù)緩沖區(qū)地址映射到CCR1寄存器預(yù)編碼數(shù)據(jù)將每個(gè)RGB字節(jié)拆為8個(gè)PWM占空比值存入DMA緩沖區(qū)。例如0→ CCR 32 T0H0.35μs ÷ 1.25μs × 90 ≈ 25取32留余量1→ CCR 50 T1H0.7μs ÷ 1.25μs × 90 ≈ 50關(guān)鍵技巧在于DMA傳輸方向與TIM觸發(fā)源的匹配。常見(jiàn)錯(cuò)誤是配置DMA為“內(nèi)存到外設(shè)”但觸發(fā)源選錯(cuò)——必須選TIM的CC1事件對(duì)應(yīng)CH1比較匹配而非UPDATE事件。因?yàn)閁PDATE發(fā)生在ARR重載時(shí)會(huì)導(dǎo)致所有CCR同時(shí)更新無(wú)法逐bit控制而CC1在每次PWM高電平結(jié)束時(shí)觸發(fā)恰好在T0H/T1H之后可立即加載下一個(gè)bit的CCR值。我實(shí)測(cè)STM32F407VGT6168MHz的TIM1DMA方案ARR210對(duì)應(yīng)1.25μsDMA緩沖區(qū)大小2400字節(jié)100顆燈珠DMA傳輸完成中斷中切換雙緩沖。示波器測(cè)得T0H誤差±10ns完全滿足WS2812B規(guī)格書(shū)要求。優(yōu)勢(shì)時(shí)序精度最高抗干擾強(qiáng)CPU幾乎零占用支持RGBW四通道可與其他TIM功能如編碼器輸入共存。劣勢(shì)依賴(lài)高級(jí)定時(shí)器非所有型號(hào)都有TIM1/TIM8需精細(xì)計(jì)算ARR/CCR映射DMA緩沖區(qū)管理復(fù)雜。適用場(chǎng)景專(zhuān)業(yè)級(jí)燈光設(shè)備、汽車(chē)氛圍燈、醫(yī)療設(shè)備狀態(tài)指示——對(duì)可靠性要求極高的場(chǎng)合。3. 實(shí)操細(xì)節(jié)與關(guān)鍵參數(shù)配置全解析3.1 硬件連接與引腳約束別讓物理層毀掉所有努力WS281x對(duì)信號(hào)完整性極其敏感。常見(jiàn)故障80%源于接線不當(dāng)而非代碼錯(cuò)誤。以下是經(jīng)過(guò)百次產(chǎn)線驗(yàn)證的黃金法則電源設(shè)計(jì)單顆WS2812B最大電流20mA全白100顆峰值電流2A。必須使用獨(dú)立大容量電解電容≥1000μF/16V緊貼燈帶輸入端否則上電瞬間電壓跌落導(dǎo)致首顆燈珠初始化失敗。STM32的VDD/VSS需與燈帶共地但禁止直接將燈帶GND接到MCU的模擬地AGND——大電流回路會(huì)引入噪聲導(dǎo)致ADC采樣異常。正確做法燈帶GND→PCB大面積鋪銅→單點(diǎn)接入系統(tǒng)GND。信號(hào)線布線MOSI或TIM_CH1引腳到燈帶DI端的走線長(zhǎng)度≤15cm。超過(guò)此長(zhǎng)度必須加串聯(lián)電阻33Ω抑制反射否則示波器可見(jiàn)振鈴導(dǎo)致T0H/T1H測(cè)量失真。若需長(zhǎng)距離傳輸如5m以上必須使用SN74LVC1G07緩沖器其開(kāi)漏輸出可驅(qū)動(dòng)50Ω阻抗線纜且上升/下降時(shí)間5ns完美匹配WS281x要求。引腳復(fù)用沖突排查 標(biāo)題中“io約束”熱詞直指痛點(diǎn)。以STM32F103C8T6為例PA8TIM1_CH1常被誤用——它同時(shí)是USB_DM引腳。若開(kāi)啟USB時(shí)鐘PA8會(huì)被強(qiáng)制復(fù)用為USB功能導(dǎo)致PWM輸出失效。解決方法在RCC-APB2ENR中禁用RCC_APB2ENR_USBEN或改用PB13TIM1_CH1N需互補(bǔ)輸出模式最穩(wěn)妥方案查閱《STM32F103xx Datasheet》第122頁(yè)“Alternate function mapping”確認(rèn)目標(biāo)引腳在所選模式下的唯一性。提示使用STM32CubeMX時(shí)勾選引腳后務(wù)必點(diǎn)擊“Pinout”視圖右上角的“Show All Pins”查看灰色文字提示——如“PA8: USB_DM (if USB clock enabled)”這就是隱藏的沖突警告。3.2 SPI模擬方案實(shí)操?gòu)募拇嫫髋渲玫讲ㄐ悟?yàn)證以STM32F407VGT6為例完整配置SPI1驅(qū)動(dòng)100顆WS2812B步驟1時(shí)鐘使能與引腳初始化// RCC配置SPI1掛載在APB2最高84MHz RCC-APB2ENR | RCC_APB2ENR_SPI1EN; RCC-AHB1ENR | RCC_AHB1ENR_GPIOAEN; // PA5(SCK) PA7(MOSI) 復(fù)用推挽輸出50MHz速度 GPIOA-MODER | GPIO_MODER_MODER5_1 | GPIO_MODER_MODER7_1; GPIOA-OTYPER ~(GPIO_OTYPER_OT_5 | GPIO_OTYPER_OT_7); GPIOA-OSPEEDR | GPIO_OSPEEDR_OSPEEDR5 | GPIO_OSPEEDR_OSPEEDR7; GPIOA-AFR[0] | (5U GPIO_AFRL_AFRL5_Pos) | (5U GPIO_AFRL_AFRL7_Pos); // AF5 for SPI1步驟2SPI參數(shù)計(jì)算與寄存器設(shè)置WS281x bit率800kbpsSPI SCK需≥3.2MHz保證每個(gè)bit至少3個(gè)SCK周期。F407主頻168MHzAPB284MHzSPI1預(yù)分頻器可選2/4/8/16/32/64/128/256SPI1-CR1 SPI_CR1_BR_1 | SPI_CR1_BR_0;// BR2 → SCK84MHz/242MHz過(guò)高波形畸變SPI1-CR1 SPI_CR1_BR_2 | SPI_CR1_BR_1;// BR8 → SCK10.5MHz實(shí)測(cè)T0H0.33μs合格SPI1-CR1 | SPI_CR1_MSTR | SPI_CR1_SSM | SPI_CR1_SSI;// 主機(jī)模式軟件NSS步驟3DMA緩沖區(qū)構(gòu)建與映射// 預(yù)計(jì)算映射表0x00→0x8000, 0x01→0xC00016bit模式 uint16_t spi_map[256]; for(uint8_t i0; i256; i) { uint16_t val 0; for(uint8_t j0; j8; j) { if(i (1(7-j))) { val | (0xC000 j); // 1 bit: high for first 2 SCK } else { val | (0x8000 j); // 0 bit: high for first 1 SCK } } spi_map[i] val; } // RGB數(shù)據(jù)→SPI數(shù)據(jù)轉(zhuǎn)換 uint16_t spi_buffer[2400]; // 100顆×24bit÷16bit150 words for(int i0; i100; i) { uint8_t r rgb[i].r, g rgb[i].g, b rgb[i].b; for(int j0; j8; j) { spi_buffer[i*24j] spi_map[rj1]; spi_buffer[i*248j] spi_map[gj1]; spi_buffer[i*2416j] spi_map[bj1]; } }步驟4DMA配置與啟動(dòng)RCC-AHB1ENR | RCC_AHB1ENR_DMA2EN; DMA2_Stream3-CR 0; // 先清零 DMA2_Stream3-PAR (uint32_t)SPI1-DR; // 外設(shè)地址 DMA2_Stream3-M0AR (uint32_t)spi_buffer; // 內(nèi)存地址 DMA2_Stream3-NDTR 2400; // 數(shù)據(jù)量 DMA2_Stream3-FCR DMA_SxFCR_DMDIS; // 禁用FIFO DMA2_Stream3-CR DMA_SxCR_DIR_0 | // 存儲(chǔ)器到外設(shè) DMA_SxCR_MINC | // 內(nèi)存增量 DMA_SxCR_PSIZE_0 | // 外設(shè)16bit DMA_SxCR_MSIZE_0 | // 內(nèi)存16bit DMA_SxCR_PL_0 | // 優(yōu)先級(jí)高 DMA_SxCR_TEIE | // 傳輸完成中斷 DMA_SxCR_EN; // 使能 SPI1-CR2 | SPI_CR2_TXDMAEN; // 使能SPI TX DMA SPI1-CR1 | SPI_CR1_SPE; // 使能SPI波形驗(yàn)證要點(diǎn)示波器探頭接地夾必須接最近的GND焊盤(pán)而非開(kāi)發(fā)板USB口GND觸發(fā)源選SCK上升沿時(shí)基設(shè)為200ns/div觀察MOSI在SCK每個(gè)周期的電平變化正常波形應(yīng)呈現(xiàn)“高-高-低-低...”或“高-低-低-低...”規(guī)律無(wú)毛刺、無(wú)平臺(tái)期。3.3 PWMDMA方案實(shí)操TIM寄存器級(jí)配置詳解以STM32F407的TIM1_CH1驅(qū)動(dòng)為例步驟1TIM基礎(chǔ)時(shí)鐘與ARR計(jì)算// TIM1掛載在APB2PCLK284MHz預(yù)分頻器PSC0 → 計(jì)數(shù)器時(shí)鐘84MHz // 目標(biāo)bit周期1.25μs → 計(jì)數(shù)值 84MHz × 1.25μs 105 TIM1-PSC 0; TIM1-ARR 104; // 0~104共105個(gè)計(jì)數(shù) TIM1-CNT 0;步驟2PWM模式與DMA觸發(fā)源配置// CH1配置為PWM模式1OC1M110 TIM1-CCMR1 | TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1PE; TIM1-CCER | TIM_CCER_CC1E; // 使能CH1輸出 // 關(guān)鍵DMA請(qǐng)求源設(shè)為CC1非UPDATE TIM1-DIER | TIM_DIER_CC1DE; // 使能CC1 DMA請(qǐng)求 TIM1-CR2 | TIM_CR2_MMS_1; // TRGO CC1用于觸發(fā)其他外設(shè)非必需 // DMA配置內(nèi)存→CCR1 DMA2_Stream1-PAR (uint32_t)TIM1-CCR1; DMA2_Stream1-M0AR (uint32_t)pwm_buffer; // 預(yù)填充的占空比數(shù)組 DMA2_Stream1-NDTR 2400; // 100顆×24bit DMA2_Stream1-CR DMA_SxCR_DIR_0 | DMA_SxCR_MINC | DMA_SxCR_PSIZE_0 | DMA_SxCR_MSIZE_0 | DMA_SxCR_PL_0 | DMA_SxCR_TEIE | DMA_SxCR_EN;步驟3占空比映射表生成核心算法// 根據(jù)ARR104計(jì)算T0H/T1H對(duì)應(yīng)CCR值 // T0H0.35μs → CCR0 84MHz×0.35μs 29.4 → 取29 // T1H0.7μs → CCR1 84MHz×0.7μs 58.8 → 取59 // 為留余量實(shí)際取CCR025, CCR155經(jīng)示波器校準(zhǔn) uint16_t ccr_map[2] {25, 55}; // 將RGB數(shù)據(jù)轉(zhuǎn)為CCR序列 uint16_t pwm_buffer[2400]; for(int i0; i100; i) { uint8_t r rgb[i].r, g rgb[i].g, b rgb[i].b; for(int j0; j8; j) { pwm_buffer[i*24j] ccr_map[(r(7-j))1]; pwm_buffer[i*248j] ccr_map[(g(7-j))1]; pwm_buffer[i*2416j] ccr_map[(b(7-j))1]; } }步驟4啟動(dòng)與同步控制// 先清空TIM計(jì)數(shù)器確保從0開(kāi)始 TIM1-CNT 0; // 啟動(dòng)DMA自動(dòng)觸發(fā)TIM DMA2_Stream1-CR | DMA_SxCR_EN; // 啟動(dòng)TIM TIM1-CR1 | TIM_CR1_CEN; // 關(guān)鍵在DMA傳輸完成中斷中重新加載pwm_buffer地址并清除中斷標(biāo)志 void DMA2_Stream1_IRQHandler(void) { if(DMA2-HISR DMA_HISR_TCIF1) { DMA2-HIFCR DMA_HIFCR_CTCIF1; // 清中斷 // 切換雙緩沖或更新rgb數(shù)組 update_rgb_data(); } }注意TIM的ARR值必須為奇數(shù)如105否則在PWM模式下當(dāng)CCRARR/2時(shí)輸出會(huì)丟失半個(gè)周期。這是ST參考手冊(cè)明確指出的硬件限制。4. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄4.1 燈帶首顆不亮或全黑電源與初始化時(shí)序問(wèn)題這是新手最高頻故障。現(xiàn)象燒錄程序后燈帶無(wú)反應(yīng)或僅首顆微弱發(fā)光。根本原因往往不在代碼而在上電時(shí)序與RESET釋放時(shí)機(jī)。WS281x要求VDD穩(wěn)定后DI線需保持低電平≥500μs然后發(fā)送首個(gè)數(shù)據(jù)幀。若MCU上電快于燈帶電容充電DI可能處于浮空態(tài)被誤判為“復(fù)位信號(hào)”。排查步驟用萬(wàn)用表測(cè)燈帶VDD端電壓正常應(yīng)為4.5~5.3V。若4.5V檢查電源紋波用示波器AC耦合測(cè)峰峰值100mV用邏輯分析儀抓DI線上電瞬間是否出現(xiàn)隨機(jī)脈沖若有說(shuō)明GPIO未初始化即輸出在main()開(kāi)頭添加硬延時(shí)// 確保燈帶電源穩(wěn)定 for(volatile int i0; i100000; i); // ~1ms 72MHz // 強(qiáng)制DI為低 GPIOA-BSRR GPIO_BSRR_BR_7; // PA70 for(volatile int i0; i10000; i); // 保持低電平100μs終極方案在硬件上增加RC復(fù)位電路。在DI線串聯(lián)10kΩ電阻再對(duì)地接100nF電容使上電時(shí)DI自然拉低500μs以上。4.2 顏色錯(cuò)亂或閃爍DMA傳輸中斷與緩沖區(qū)溢出現(xiàn)象燈帶顯示顏色與預(yù)期不符如紅色顯示為藍(lán)色或每隔幾秒整體閃爍一次。這90%是DMA配置錯(cuò)誤導(dǎo)致的數(shù)據(jù)錯(cuò)位。典型錯(cuò)誤案例DMA緩沖區(qū)大小NDTR設(shè)為RGB字節(jié)數(shù)300而非SPI/PWM所需字?jǐn)?shù)2400未啟用DMA循環(huán)模式DMA_SxCR_CIRC導(dǎo)致傳輸完成后DMA停止后續(xù)數(shù)據(jù)無(wú)法發(fā)送TIM的DMA請(qǐng)求源誤設(shè)為UPDATE導(dǎo)致所有CCR同時(shí)更新波形變成方波而非脈寬調(diào)制??焖僭\斷表現(xiàn)象可能原因驗(yàn)證方法解決方案首3顆顏色正確后續(xù)全綠DMA緩沖區(qū)越界寫(xiě)入相鄰內(nèi)存用調(diào)試器查看pwm_buffer末尾值是否被篡改檢查NDTR值確保等于num_leds*24每隔1秒閃一次白光TIM更新中斷未處理ARR重載時(shí)輸出突變查看TIM1-SR寄存器UIF位是否頻繁置位在TIM1_UP_IRQHandler中清除UIF或禁用更新中斷燈帶前半段正常后半段全暗SPI發(fā)送緩沖區(qū)未填滿DMA提前終止用邏輯分析儀測(cè)MOSI最后幾個(gè)bit是否缺失確保spi_buffer數(shù)組完全初始化無(wú)未定義值避坑心得我習(xí)慣在DMA傳輸完成中斷中用LED指示燈閃爍一次。若指示燈不閃說(shuō)明DMA根本沒(méi)啟動(dòng)——立刻檢查DMA_SxCR_EN和外設(shè)DMA使能位如SPI1-CR2 | SPI_CR2_TXDMAEN。4.3 刷新率低或卡頓CPU與DMA帶寬競(jìng)爭(zhēng)現(xiàn)象驅(qū)動(dòng)50顆燈珠時(shí)系統(tǒng)其他任務(wù)如UART打印、ADC采樣明顯變慢。根源是DMA與CPU爭(zhēng)搶AHB總線帶寬。STM32F4系列DMA2通道共享同一總線當(dāng)SPIDMA與ADCDMA同時(shí)工作時(shí)總線仲裁可能導(dǎo)致某一方延遲。實(shí)測(cè)數(shù)據(jù)SPI DMA突發(fā)傳輸Burst Size16會(huì)阻塞CPU訪問(wèn)SRAM達(dá)2μs若ADC采樣間隔10μs就會(huì)丟點(diǎn)。優(yōu)化策略降低DMA優(yōu)先級(jí)將SPI DMA設(shè)為L(zhǎng)OWADC DMA設(shè)為HIGH確保實(shí)時(shí)任務(wù)優(yōu)先啟用DMA雙緩沖DMA_SxCR_DBM位使DMA在傳輸A緩沖區(qū)時(shí)CPU可準(zhǔn)備B緩沖區(qū)消除等待間隙精簡(jiǎn)RGB數(shù)據(jù)結(jié)構(gòu)不用struct {uint8_t r,g,b;}改用uint8_t rgb_buffer[300]提升DMA搬運(yùn)效率。終極方案若項(xiàng)目需高實(shí)時(shí)性直接選用STM32H7系列——其AXI總線架構(gòu)支持多主設(shè)備并發(fā)DMA2與CPU可真正并行工作。4.4 不同型號(hào)兼容性問(wèn)題從F1到H7的引腳映射差異標(biāo)題中“stm32f030燒寫(xiě)口做普通io口”熱詞揭示了一個(gè)殘酷現(xiàn)實(shí)不同STM32子系列外設(shè)資源與引腳復(fù)用規(guī)則天差地別。F0系列陷阱STM32F030F4P6無(wú)SPI DMA僅支持Basic TimerTIM6/TIM7無(wú)法輸出PWM。此時(shí)Bit-Banging是唯一選擇但必須用匯編鎖定周期。F4系列優(yōu)勢(shì)TIM1/TIM8支持DMA Burst模式可一次傳輸多個(gè)CCR值大幅提升效率。但需注意TIM1_CH1N互補(bǔ)通道在F4上默認(rèn)為高有效而WS281x要求低有效需配置TIM_CCMR1_OC1M111PWM模式2并反轉(zhuǎn)極性。H7系列突破新增“靈活定時(shí)器”LPTIM其16bit分辨率1MHz時(shí)鐘可直接生成1.25μs周期無(wú)需預(yù)分頻。且H7的DMA支持“鏈表模式”可動(dòng)態(tài)切換緩沖區(qū)地址徹底解決長(zhǎng)燈帶內(nèi)存碎片問(wèn)題??缧吞?hào)遷移 checklist? 查閱《Reference Manual》對(duì)應(yīng)章節(jié)確認(rèn)目標(biāo)外設(shè)是否存在如F0無(wú)TIM1? 核對(duì)引腳復(fù)用表相同功能在不同封裝可能映射到不同GPIO如SPI1_MOSI在LQFP48為PA7在TSSOP20為PA7/PB5? 驗(yàn)證時(shí)鐘樹(shù)F1的APB2最大72MHzF4可達(dá)84MHzH7可達(dá)400MHz——ARR計(jì)算公式必須重算? 測(cè)試最小系統(tǒng)先用單顆燈珠驗(yàn)證波形再逐步增加數(shù)量避免一次性調(diào)試失敗。我在為某醫(yī)療設(shè)備移植代碼時(shí)曾因忽略F4與H7的DMA寄存器偏移差異H7的DMA_SxCR在DMA_SxCR基礎(chǔ)上增加了DMA_SxCR_DBM位導(dǎo)致燈帶狂閃。最終解決方案用CMSIS宏__HAL_DMA_ENABLE_IT替代直接寫(xiě)寄存器確保跨平臺(tái)兼容。5. 工程化落地建議與性能邊界測(cè)試5.1 量產(chǎn)級(jí)代碼架構(gòu)如何讓W(xué)S281x驅(qū)動(dòng)成為可維護(hù)模塊在真實(shí)項(xiàng)目中WS281x驅(qū)動(dòng)絕不能是main.c里一堆裸寄存器操作。我堅(jiān)持的模塊化結(jié)構(gòu)如下/ws281x/ ├── ws281x.h // 對(duì)外APIws281x_init(), ws28 p a hrefhttps://download.csdn.net/download/lwx666sl/92549537 stylecolor:#ec7500;font-size:14px; 本文還有配套的精品資源點(diǎn)擊獲取 /a img altmenu-r.4af5f7ec.gif srchttps://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif stylewidth:16px;margin-left:4px;vertical-align:text-bottom;cursor:text; /p
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久人人妻| 性色天| 婷婷丁香无码专区| 久热 91| 五月丁香六月欧美综合| 亚洲操操| 五月丁香激情综合网| 丁香五月影视| 婷婷亚州综合| 丰满少妇猛烈A片免费看观看| 久久久久思思热| 色99日韩| 99热很操老逼| 欧美97超碰| 色婷婷免费视频| 六月激情丁香一道本7777| 人人操AV| 五月停停丁香| 色国产五月| 青青草Avb在线| 婷婷丁香五月亚洲17cao| site:feetmall.com| 91超级碰碰| 婷婷五月成人社区| 中文字幕在线免费看线人| 99热综合色图| 99热在线播放| 婷婷六月综合激情| 色色五月婷婷丁香| 六月丁香激情综合| 天天做综合网色综合| 亚洲欧洲午夜成人精品av| 色情五月婷婷| 日日夜夜狠狠| 六月婷婷色色色| 久久66精品| 91黄址| 日日噜噜久久婷婷五月天| 99婷婷| 天天日天天干天天爽| 狠狠做五月婷婷| 色天堂A| 日韩三级高清无码| 丁香五月激情五月色综合| www.99色| 老师的粉嫩小又紧水又多A片视频| 99热66| 色情五月天小说| 五月天丁香久久| 丁香五月激情五月| 在线观看日韩12345区| 五月天婷婷综合网| 五月天婷婷综合| 色婷婷综合视频| 天天干天天干天天干天天干天天| 操操操操操电影网| 久久九九在线视频| 国产无套精品一区二区| 久久天堂| 天天干电影| 丁香五月激情无码视频| 久久黄色片| 亭亭五月天黑人2014| 五月婷婷伊人网| 精品一二三区视频立| 综合色色婷婷| 欧美性生交XXXXX无码小说 | 97婷婷色| 免费黄网不卡AV| 日日操夜夜操不卡| 婷婷综合久久| 在线99热| www.色婷婷| 99激情网| 99视频| 国产视频色色色色色色色 | 伊人丁香花综合影院| 色色综合日韩| 99热99热在线| 丁香五月性| 99这里只有精| 久婷婷视平| 大香蕉久久伊人网| 九日日夜夜69| 色婷婷88| 九九视频精品在线免费| 2025色婷婷| 夜夜谢天天干| 婷婷亚洲综合| 九九中文色色| 婷婷性爱| 天天干com| 五月丁香六月情| 九九大香蕉黄色影院| 日本色狠狠| 婷婷五月在线观看| 色婷婷综合网| 五月五月婷婷| 99热成人精品| 色婷婷a| 日本人妻A片成人免费看片| 久久久18| 玖玖婷婷五月天毛片| 色色综合热| 国产精品色婷婷99久久精品| 中文字幕按摩做爰| 五月天综合网| 国产乱码久久| 激情开心五月天婷婷基地丁香社区| 99热这里只有精品最新网址| 大香蕉五月天婷婷| 五月婷婷色| 在线视频九色97| 91精品丝袜久久久久久久久粉嫩| 婷婷六月啪啪| 五月综合六月婷婷| 高清无码视频网址| 99国产精品久久久久久久久久久| 国产第99页| 午夜成人天堂久久无码日韩久久| 国产精品色一哟哟| 五月婷婷新网站| 五月婷婷中文网| 亚洲精品大片| 婷婷九月亚洲| 激情精品久久| 九九综合精品| 亚洲成人AV在线观看| 任你草| 久热99中文字幕| 天天综合网~91| 超碰AV在线| 色情久久久| 天天噜日日噜综合无码| 狠狠爱丁香婷| 91免费在线视频6| 999精品乱码77777| 激情五月综合免费| 黄网在线播放| 99综合| 五月丁香六月婷婷亚洲激情综合| 99亚州综合精品成人网| 天天插天天射天天干| 视频综合网| 激情无码网| 精品99*| 九九热视频精品2| 久热免费| 欧美日韩成人在线观看| 激情综合激情综合| 色婷婷aV四虎| 婷婷五月在线播放| 国av网| 高潮毛片遮挡费高一百度| 日本成人噜噜噜| 粉嫩AV久久一区二区三区| 天天揷综合网| 思思久日精品视频| 色五月自偷自拍婷婷婷婷| 九九99热| 五月综合无码| 亚洲人成网站999综合| 久久久久亚洲AV无码网影音先锋| 97色干| 婷婷五月激情在线| 日本黄色三级片内射| 久久婷婷精品| 99久久久| 色蜜婷婷| 97色色色| 五月丁香啪啪综合| 91九色视频| www亚洲无码| 中文字幕色色色| 俺去也婷婷| 91色五月| 99综合| 玖玖婷婷五月天| 99re热在线观看| 伊人喵咪a V| 看黄的网站18禁| 99亚洲天堂| 五月天婷婷綜合院| 久久性爱视频| 激情综合女人网五月播播| 婷婷精品| 综合视频久久| 婷婷六月丁香综合| 草草色情综合网| 婷婷色5月天在线。| 囯产精品久久欠久久久久久九大| 六月婷婷之青青草| 香蕉久久国产AV一区二区| 婷婷五月激情四月综合| 最近中文字幕在线中文视频| 天天 青草 丝袜制服 在线| 日本人妻伦在线中文字幕| 久久色五月天| 日本久久激情| 色区域网站视频| 中文字幕不卡网站| 99热在线观看| 91九九| 噜噜视频| 五月丁婷婷| 人妻视频一区而且二区| 99热碰碰| 骚五月婷婷| 婷婷另类小说| 都市激情久久| 99精品丰满| 色综合激情| 综合99视频| 另类综合国产| 色亭亭九月| 五月丁香六月在线| www.久久99| 婷婷天天日婷婷| www.天天干.com| 五月天久久综合婷婷丁香| 91丁香色五月| 日本精品99| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 婷婷丁香五月综合| 久热这里只有精品性色AV| 国产亚洲在线观看| 亚洲热热视频| 婷婷五月天播| 丁香婷婷午夜| 亚洲V国产V欧美V久久久久久| 一区二区三区四区无码| A1片久久久| av中文在线| 色五月视频无码播放| 伊人大香久久| 丁香五月天激情综合| 开心五月深爱五月婷| cao视频,现在观看| 九九香蕉网| 69婷婷丁香午夜| 婷婷五月丁香人妻无码高清| 色欲一区二区三区精品A片| 懂色av蜜臀av粉嫩av永陈冠希| 深爱激情五月天| 久久精品在线| 色色色在线| 中字幕视频在线永久在线观看免费| 婷婷影视久久| 亚洲天堂99| 激情五月天激情网| 久久99综合网| 欧美A片在线视频免费观看| 99a级片| 欧美综合激情五月丁香| 人妻AV在线观看| 少妇人妻偷人精品无码视频新浪| 99色综合网| 亚洲色婷婷色| 99久久婷婷国产综合| 玖玖99婷婷| 色色色色综合网| 九九热精品6| 天天操夜夜爽天天操| 亚洲字幕AV一区二区三区四区| 欧美成人日韩| 五月婷婷激清网| 日韩亚洲视频| 色综合天堂| 久久久91精品| 成人中文网| 玖玖综合网| 久久99精品久久只有精品| 怡红院99| 六月婷婷av| 日日干夜夜干| 色婷婷五月综合| 这里只有精品1| 日日爽日日操| 亚洲激情免费久久| 免费色色色| 视频一区二区在线| 伊人婷婷福利网| 婷婷五月丁香激情色情| www.色综合| 色久99| 久久免费高| 亚洲欧洲另类| www.狠狠操| 色色色色色色97| 久久与婷婷| 色爱综合五月| 欧美性爱专区| 99草在线免费观看视频| 31色区视频免费看| 99精品久久久久久久久| 婷婷五月综合基地| cao视频,现在观看| 精品综合网在线| 无码成人播放器| 婷婷五月天av| 4399啪啪视频| 国产精女同一区二区三区久| 天天日天天插| 免费视频WWW在线观看网站| 天天插天天插| 久操人妻| 五月大香蕉| 亚洲五月天激情| 99ri在线视频| 男人先锋久久| 中文字幕婷婷在线| 色五婷婷| 欧美va精品va老师va| 大香蕉九九| 大香蕉五月天| 六月婷婷激情| 丁香五月欧美婷婷综合| yiqicaoav| 久热精品在看| 五月激情综合网| 激情久久久久久久久久| 99精品视频免费在线播放| 蜜桃婷婷五月| 六月色丁香中文字幕| 人人色性网| 综合xx网| 停停五月丁香| 日韩啪啪视频| 色色色色综合网| 中文字幕成人| 中文字幕乱码亚洲精品一区| 九九热青青草| 99热九九这里只有精品| 极品 少妇 内射| 丁香五月av在线| 99精品视频免费| 99这里只有精品| 久草大| 五月天播播中文字幕 | 色婷婷成人五月| 久久五月激情| 激情五月丁香亭亭| www.色五月| 日本少妇裸体做爰高潮片| se色婷婷视频| 超碰人人超碰| 99惹精品视频| WWW久久久| 五月激情六月综合| 色色色999| 伊人高清无码| 五月色色色| 艾小青av| 色999亚洲人成色| 亚洲第一成人无码A片| 97丁香婷婷| 亚洲精品无码一区二区| 色爱99| 婷婷日| 九九久热| 国产这里只有精品| 大香蕉婷婷丁香| 大香蕉天堂| 五月婷婷五月天激情视频| 久热网站| 偷拍91九色| 久久草大香蕉| www色哟哟| 丁香五月情色| 性综合网| 五月丁香婷婷狠狠操| 色婷婷五月色| 天天干夜夜谢| 亚洲超碰青涩| wuyuedingxiang99| 亚洲AV综合在线观看| 精品二区| 五月丁香婷婷无码中文| 五月婷婷九| 无遮羞AV| 欧美成人无码高清一区二区三区| 天天搽天天射| www.精品99| 色五月大香蕉| 久久婷狠狠色| 色五月色综合| 久草狼人| 综合亚洲AV| 开心婷婷中文字慕| 超碰在线视屏| 亚洲网站999| 日日夜夜小色哥| 天天做天天爽| 91性高潮久久久久久久久| 天天噜日日噜综合无码| 五月婷婷丁香狠狠撸久久| 色色色色色色色色网站| 色色九九五月天| 久久99成人性爱高清视频| 国产这里只有精品| 91九色丨国产丨爆乳| 天天日天天狠狠操| 激情五月天婷婷| 久久伦乱| 性视频久久| 久人人操| 六月激情久久| 色99无码| 夜夜谢天天干| 99玖玖人人| 欧美日韩AAAA| 亚洲激情六月| 人人爱国产| 人操综合| 99热99干| 激情碰碰碰| 国产VA亚洲VA96| 国产日韩欧美| 色婷婷色五月丁香| 8050一级网| 亚洲性爱99在线| 高清视频一区| 色九九综合| 九九色逼| 色八月婷婷| 久久免费精彩视频| 五月丁香拍拍激情综合| 极品人妻VIDEOSSS人妻| 色综合久久天天综合网 | 婷婷五月天激情四射| 亚洲欧洲99| 综合久| 色婷婷五月天天天天天| 99国产精品久久久久久久久久久 | 久久精品永久免费| 亚洲天堂玖玖| 婷婷六月综合基地| 另类视频一区| 日本狠狠干| 天天操夜夜玩!| 疯狂做受XXXX高潮A片| 九九热这里只有精品9| 亚洲深喉aV| 色丁香六月| caopeng97人人| 人妻久久久| 丁香五月欧美成人| 大战熟女丰满人妻AV| 丁香婷停五月激情综合深爱| 久久99免费视频网站| 久热这里只有| 伊人影音无码一区二区三区| 艹B高清无码| 久久久五月四色| www久久久久| 思思热高清在线观看| 欧美 日韩 成人| 日本一道久久| 激情影院免费视频婷婷五月天| 在线播放 精品| 综合网啪| 99色看这里只有精品| 色五月婷婷在线观看第一页舔| 色欲丁香久久| 狠狠色丁香久久婷婷综合五月| 色丁香婷婷| 婷婷欧美色| 婷婷五月天亚洲综合网| 久99久在线观看| 91超碰在线观看| 五月丁香色婷婷色| AV操逼网| 色五月婷婷777| 色婷婷五月天偷拍| www.夜夜操.con| 日操夜操天天操不卡| 丁香五月婷婷基地| 91久久久久久久久| 国产欧美日韩综合精品一区二区| 五月天社区| 丁香五月 综合| 日本一区二区三区精品视频| 九九这里只有精品| 思思热热久久| 97超碰99热99| 日本精品久久久久中文字幕| 亚洲婷婷欧美婷婷| 五月天婷婷在看| 成人在线网站| 天天做天天爱天天爽| 亚洲婷婷免费| 99只有这里是精品| 丁香五月激情宗合网| 天天综合网~91| 中文字幕在线播放视频| 五月婷婷丁香在线视频| 婷婷月综合| 我淫我色婷婷五月天激情四射| 无码区婷婷五月花开| www.婷婷,com| WWW·天天操·视频?| 99国产欧美视频| 色色色欧美| 啪啪操超碰| 伊人色欲五月天| 久久婷婷视频| 丁香五月先锋| 亚洲国产黄色电影| 亚洲免费综合一区| 婷婷综合久久| 激情六月丁香| 五月草影视| 青青操绿aaa一区日v| 超碰无码318604| 香蕉久日夜| 五月天伊人| 五月婷婷六月色| 少妇婷婷五月天| 99视频在线| 婷婷99丁香| 亚洲天堂婷婷| 五月J香蕉婷婷| 67194国产| 噜噜视频| 久久婷婷五月| 激情五月丁香五月| 综合色五月天| 91碰在线| 五月激情啪啪啪| 99色 | 99操| 五月丁香亭亭AV女优| 国产婷婷色综合AV蜜臀AV | 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 五月丁香婷婷色色| 99成人精品视频| 五月天婷婷色小说| 影音先锋 91工厂| 99热精品少| 激情美女五月天| 婷婷六月丁香激情| 久久这里只精品66| 99热这里只有精品98| 五月丁香六月激情综合网| 中美日韩成人在线| 久久久999精品| 伊人久久大香网| 久婷| 人妻激情视频| 九九九九毛片| 涩涩涩,com| 五月色网| 天天上天天爽| 色五月婷激情| 激情五月婷婷开心网| 可以看的AV| 色播播婷婷| 性色视频| 射区导航| 99热这里只有精品首页| 国产人妻777人伦精品HD| 婷婷五月天性| 五月丁香六月色| 亚洲成人五月| 九九Av| 午夜丁香| 黄色一级影片| 丁香五月激情五月| 婷婷久草| 91 九色大美女| 色婷婷狠狠久久综合五月| 97在线观视频免费观看| 丁香六月天婷婷| 91丁香婷婷综合资源| 九月av| 婷婷婷久久久| 婷婷亚洲五| 激情婷婷六月| 中文字幕AV网址| 久久九九色| 亚洲亚洲人成综合网络| 久婷自拍视频| 性爱先锋AV| 色婷婷色五月综合| 91人人操人人爱| 精品人妻一区二区三区四区不卡在| 九九热精品| 人人操超碰| 99精品人人| 免费看欧美成人A片无码| 欧美 色婷婷| 九九综合网色全集| 五月天色色激情综合| 综合色五月天| 91久久综合亚洲鲁鲁五月天| 国产精品99久久久久久久女警| 在线中文字幕免费视频| 婷婷丁香五另类网站| 色五月激情五月丁香五月婷婷啪啪综合| 亚洲色色精品| 九六五月天婷婷| 五月婷婷丁香五月 | 婷婷六月天亚州| 亚洲第一精品成人999久久精品| 色综合丁香婷婷| 噜一噜在线| 欧美成人精品三区综合A片| 综合色图婷婷| 婷婷丁香69精华| 狠狠色婷婷777| 久久婷婷五月综合啪| 国产成人一区二区三区在线观看 | 久久九九99亚洲国产久精综合| 九月婷婷色色| 999热这里只有美国精品| 亚洲色综久久五月| 亚洲激情视频网| 亚州操操| 色色999三级片| 丁J香六月首页| 91久久九久久九久久九久久九久久| 亚洲综合激| 99热高清在线| 丁香婷婷色五月| 婷婷五月天成人网| 国产一区男女| 国产亚洲在线观看| 久久人操-久草婷婷-成人AV| 色女人久久| 大伊久久| 激情综合女人网五月播播| 久久亭亭电影| 国产人妻人伦精品一区二区| 亚洲另类电影| 久久丁香五月天| 亚洲综合丁香婷婷六月天| 九月激情综合| 99精品视频在线观看| 婷婷综合五月天| 久久少妇视频| 久久精品小视频| 91久久久久久久久18| 99久久偷拍视频| 性爱综合网| 日韩在线9| 亚洲色在线观看| 久久激情综合| 色婷婷五月天av在线| 欧美VA视频| 久久久精品免费啪啪国| 激情五月丁香五月| 97性视频| 婷婷五月天网| 最新丁香六月婷婷| 婷婷五月激情在线| 色综合久久888| 日本3级片一区2区| 九月大香蕉| 色色色com| 国产精品人成A片一区二区| 亚洲操逼网| 久久色五月天| 狠狠操狠狠插| 性色五月天| 五月丁香在线国产 | 婷婷丁香五月天综合在线日韩| 亚洲色视频| 91超碰在线观看| 激情五月色婷婷| 久久丁香五月婷| 欧洲亚洲激情五月天在线| 综合啪啪| 精品成人久久久久久久_一二三四视| 热99玖玖99玖玖99九九| 五月Huangsewang| 免费无码毛片一区二区A片| 67194成I人在线观看线路1| 丁香婷婷激情| 天天肏天天肏天天肏| 青青草成人网| 九九热在线精品视频| 无人精品在线视频| 99在线观看精品视频| 五月婷婷激情综合网 | 婷婷五月天亚洲丁香| av在线色五月丁香婷区久| 26uuuu精品一区二区| av久热| 久久婷婷五月综合啪| 1024在线观看免费视频| 婷婷五月成人| 99国产精品久久久久久久久久久| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 伊人网欧美在线男人天堂五月丁香| 99精品97| 精品网站:999WWW| 国产AV不卡福利| 91精品丝袜久久久久久久久粉嫩| 四季AV综合网| 五月天丁香综合| 丁香五月天啪啪| 久久草人妻| 婷婷五月天激情在线观看| 六月丁香婷婷天堂| 五月婷导航| 久久精品性爱| 五夜婷婷| 亚洲精品无码一区二区| 五月丁香色停停啪啪啪| 99热久久日本| ww久久| 丁香婷婷五月激情| 丁香五月在线伊人| 婷婷丁香五月噜噜噜| 毛片色五月| 大香蕉欧美在线| 男女99免费视频| 久久久久久久人妻| 欧美性生交XXXXX无码小说| 久久免费少妇高潮99精品| bukadeavzaixian| 99热xx| 97极品在线| 中文网AV| 欧美激情凹凸丁香网| 玖玖福利视频资源| 涩婷婷五月天在线精品视频| 五月综合无码| 成人五月天综合网| 国产性爱一级| 七七九九色色| 激情综合色播| 欧美25p| 色狠狠综合| 九月停停| 99热9| www色中色综合| 韩国激情五月天综合网| 99在线观看精品视频| 丁香综合| 日韩AV片| 操嫩逼电影| 色婷婷丁香五月天在线视频| 狠狠干综合网| 久热中文字幕| 人人色人人弄人人操| www.com.色色| 91色色色18| 激情网开心网| 色婷婷久久久| 99精彩视频| 久久婷婷五月激情综合| 都市激情蜜桃婷婷五月天| 99国产这里只有精品| 亚洲五月婷| 亚洲无码性爱| AV九九| 噜噜噜久久亚洲精品国产品91 | 北条麻妃伊人| 涩五月婷婷| 这里只有精彩亚洲视频推荐| 久碰视频| 五月天丁香欧美激情| 玖玖伦理电影| 国产免费一区二区三区三州老师F1F1.CC| 99久久9| 操碰久| 欧美va| 色噜噜狠狠色综合日日| 99热大| 天天婷婷操| 丁香婷婷色五月激情综合| 嫩BBB槡BBBB搡BBBB| 在线中文亚洲| 婷婷久久影院| 白天AV月月| 9l视频自拍九色9l视频在线观看| 亚洲电影在线观看| 五月丁香综合| 五月天com| 激情婷婷五月丁香啪啪啪| 一级片sese片.COM| 婷婷五月色播| 九九综合网| 色五月激情五月丁香五月婷婷啪啪综合| 超碰93在线观看| 婷婷五月丁香综合瑟瑟| sesesesezonghe| 亚洲婷婷丁香| 丁香婷婷久久综合在线| 丁香五月天激情小说| 26uuu亚洲| 国产无人区大片| 六月色色综合| 91九色在线| 亚洲av网站| 另类小说色婷婷| 久久综合九色综合97婷婷| 那里有AV网址| 大香蕉综合在线| 91久久久久久久久久| 天天操综合网站| 国产69久久久欧美黑人A片| 日本怕怕视频| 另类天堂| 婷婷五月丁香综合| 五月天丁香网站| 婷婷热色| 欧美激情凹凸丁香网| 中文字幕丰满孑伦无码专区| 99久久a线观| 婷婷成人五月天成人文学| 4438成人电影| 天天天天干| 丁香五月www| 久久这里有| 人人肏逼视频在线一区二区| 九九热99精品| 97香蕉碰碰人妻国产欧美| 婷婷五月综合在线| 日本久久综合| 成人国产综合| 日本欧美在线| 99久久久久| 色五月激情综合网| 久久综合激情| 五月婷婷啪啪| 五月天综合激情网| 另类激情五月| 久久久久9| 婷婷色五月天在线| 激情综合5| 天天干天天做| 亚洲在线激情婷婷五月| 亚洲综合丁香婷婷六月天| 99ER热精品视频| 婷婷五月丁香综合激情小说| 伊人五月天| 亚洲成人色五月天| 91久久电影| 天堂亚洲 在线| 婷婷性福五月天| 久9视频免费播放| 91丨九色丨熟女|新版| 久久99婷婷| 开心激情网五月天| 在线中文av| 亚洲综合色网| 日操五月婷| 做爰丰满少妇1313| 五月婷婷丁香在线视频| 夜精品无码A片一区二区蜜桃| 天天综合天天做天天综合| 亚洲操b| 久久黄色免费视频| 丁香九月激情| 婷婷激情蜜桃玖玖丁香| 无码激情AAAAA片-区区| 欧美婷婷色五月| 第五婷婷伊人丁香| 婷婷五月天高清无码| 国内精品免费一区二区2009| 99欧美热| 日本99视频| 91九九| 91人妻视频| 色99视| 99爱爱| 五月色亭丁香| 久久9情免费| www.婷婷六月天| 久久性刺激| 色婷婷久久久| 婷婷五月天在线综合导航| 99婷五月| 超碰人人操| 久久视这里只有精品| 激情五月婷婷视频| 五月丁香啪| 婷婷激情五月吧| 国产av第一专区| 色哟哟www| 激情丁香淫荡婷婷| 婷婷性爱综合| 亚洲热视频| 这里只有精品视频一区| 九九婷婷综合| 嫩草AV久久伊人妇女超级A| 激情五月天免费视频| 九九综合网色全集| 噜噜噜狠狠色综合| Va另类视频| 97黑人精品区| 成人国产欧美大片一区| 日逼免费视频| 99久久www| 丰满少妇猛烈A片免费看观看 | 99久久.www| 开心激情站| 99视频| 五月丁香五月丁香| 五月丁香日逼| 色婷婷国色天香综合| 91人人爽人人操| 婷婷伊人网| 九玖欧洲亚洲| www色色色com| 色444综合网| 97AV在线视频| 激情五月丁香六月婷婷| 色九月婷婷| 五月婷婷综合色啪首页| 九九性爱网| 丁香五月网| 久久超级碰视频| 欧美内射AAAAAAXXXXX| 色色婷婷丁香五月天| 内射丰满人妻| www.丁香五月| 免费看片操逼| 99精品成人无码A片观看金桔| 五月天天天天天天天天天天天婷婷婷| 激情网第四色| 超碰在线看| 99热超| 天天射天天插天天干| www.色9| 都市激情小说婷婷| 五月婷六月综合在线观看| 2022人人操人人看| 婷婷五月,综合伊人| 99热只有这里有精品| 丁香六月婷婷姐网| 日本狠狠爽| 大香蕉婷婷丁香视频在线| 免费无码毛片一区二区A片| 色五月激情网| www,天天干| 都市激情久久| 色婷婷伊人| 性生生活大片又黄又| 99噜噜| 狠狠做深爱婷婷久久综合一区| 丁香五月婷婷六月婷| 五月婷婷激情啪啪| 搡BBBB搡BBB搡18| 久久这里只有精品8| 五月天综合在线| 五月婷婷六月婷| 伊人丁香五月| 色九综合| 国产AV成人精品| 国产又爽又猛又粗的视频A片| 五月丁香色婷婷色| AAA亚洲AV| 狠狠色婷婷丁香六月| 99热国内精品| 超碰人人99| 五月丁香本色在线观看| 丁香网站| 丁香色婷婷| 久久机热/这里只有精品| 日本视频99| 99久视频| 色五婷婷开心缴| 色色色色色色色色综合网| 色999;丁香五月| 丁香五月天婷婷久久| 99热人人| 91久久| 91视频一起草| 色你久久| 色情婷婷。| 北条麻妃伊人 | 日韩成人网址| 天天日天天爽| 思思热在线精品视频| 亚洲五月天婷婷| 色中色综合| 激情五月天综合| 丁香六月婷婷综合| 99爱爱| 中文字幕黄色片| 中文字幕按摩做爰| 极品人妻VIDEOSSS人妻| 久久久国产精品黄毛片| 无码AV免费精品一区二区三区| 天天做天天爽| 国产精品激情AV久久久青桔| 日本欧美成人片AAAA| 国色天香成人网| 成人五月丁香花| 激情综合色五月丁香| 久热精品免费视频4| 激情五月瑟瑟| 丁香五月激情月| AA久久| 九九99精品视频在线观看| 婷婷激情五月| 天天婷婷天天| 思思热热久久| 六月香五月婷| 久久这里只| 日本色爽| 五月婷婷天| 五月天综合在线| 色五月激情五月| 丁香操逼| 伊人五月综合网| 色啪网| 久久精品国产色| 99re26视频| 人人爽天天爽| 激情伊人| 日韩无码专区| 久久六月婷婷| 狠狠色丁香婷婷| 1024日韩| 色播五月丁香婷婷| 懂色AⅤ| 欧美Va婷色| 青草五月天| 亚洲人妻AV| 亚洲无码猫咪| 99热精品观看| 婷婷在线五月天观看| 在线可以看的av网址| 丁香五月成人| 99色综合| 日本天堂网站99| 91精品婷婷国产综合久久| 日本的α片xxxwww| 五月婷婷九月婷婷九月婷婷| 棕合影院色色| 五月婷婷色色| 日韩情色在线观看| 超碰在线99| 激情五月六月丁香| 久久99精品久久久久久噜噜| 久久综合激情| 丁香婷婷五月人体| 九九热这里只有精品556| 国产成人va在线| 色射影院| 免费无码毛片一区二区A片| 日韩国产在线免费观看| 亚洲艹网| 日韩精品二三区| 五月婷综合| 99热综合在线观看| 亚洲综合激情五月久久| 无码婷婷五月天| 婷婷五月激情的图片| 99热在线观看| 免费97碰碰| 天天情色五月天| 99精品热视频| 岛国在线观看91| 久久精品婷婷| 五月天婷婷高清无码| 婷婷婷婷色| 丁香色成人| 艹B高清无码| 国产9色在线/日韩| 色五月婷婷婷婷| 色99网| 色婷婷精品视频在线播放| 久久婷婷青草五月天| 五月丁香六月婷婷综合网缴情| 九九热av| 超碰激情五月| 99精品视频在线6| 色五月五月婷婷| 国产在线激情视频| 婷婷人人操| 米奇影视五月天| 激情色播| 婷婷中文字幕网| 狠狠做五月婷婷| 大香蕉五月丁香| 91久久人人操| 色情·com| 操操自拍| 婷婷五月在线影院| 六月婷婷之青青草| 开心五月婷婷| 91人人人人人人人| 色9色| 99热最新网址| 久久婷婷五| 色五月婷婷丁香婷婷| 99综合网| 91在线操| 丁香五月婷久久| 青草青草视频2免费观看| 啪啪啪综合网| 天天弄天天操| 中文幕无线码中文字蜜桃| 超碰成人免费| 99网99热| 色都都狠狠色都都色综合色| www.狠狠操.con| 激情五月综合| 精品99在线| 久久机只有这里精品| 日本色婷婷| 日本3级片偷拍网站| 久久亚洲天堂| 91丨九色丨老熟女激情| 天天情色五月天| 亚洲综合另类| 久久婷婷激情五月天一区二区| 丁香五月色五月| 午夜]香婷婷深深爱| 丁香花五月天| 东京热免费视频| 538午夜激情| 色射影院| 婷婷99中文字幕| 99狠狠操一| 久一网站| 五月天com| 海外网站专业操老外| 天天婷婷色六月| 91九九热| 国产精品成人av在线观看春天| 激情六月综合| 狠狠舔| 九九色逼| 久草婷婷| 99热在线精品观看| 大香蕉啪啪啪| 久久女婷| 性韩日色婷婷五月天激情啪啪XXX| 久久性操| 97人人超| 丁香色色色| 91操人视频| 99ri视频| 亚洲VA欧美VA| 久久激情综合| 五月丁香激| 五月丁香免费视频| 99啪| 丁香五月天啪啪| 久99久视频| 精品人妻伦一二三区久久| 色播五月丁香| AAA久久| 男女激情久久| 天天透天天爱| 热久69| 成人短视频在线| 在线中文字幕视频| 99热免费| 99热这只有| 色狠狠婷婷| 婷婷色丁香六月| 99色久| 欧美啪啪9| 久久之人妻| 婷婷久久久| 婷婷色五月激情| 国产偷人爽久久久久久老妇APP| 精品视频这里只有精品| 少妇AB又爽又紧无码网站| 狠狠色情婷婷| 九九色情网五月天| 99热在线观看免费精品| 99re久热只有精品6在线直播.com| 日良久久| 天天爽天天弄| 热91久| 人妻久久久久久久 | 夜夜骑天天玩天天日| 亚洲影院婷婷色| 久久人人九九| 色婷婷基地在线| 综合色色五月| 五月婷婷之综合激情| 五月天久久网站| 亚洲成人免费电影| 五月天影院婷婷在线观看| 久久曰9| 亚州操操| 人妻射精AV| 日本成人内射| 一级二级色大片| 天天日夜夜高潮| 99在线资源视频| 久操激情| 丁香五月图片| 亚洲欧美日韩另类| 丁香五月区| 久久五月天激情视频| 丁香婷婷综合影院| 伊人激情啪啪| 日本色婷婷久久99精品91| 国产亚洲成人综合| 婷婷六月激情| 另类激情五月| 中文字幕性爱视频| 丁香婷婷激情| 五月天激情无码高清| 秋霞少妇AV网站| 99热精品在线播放| 欧美精品中文字幕亚洲专区| 丁香五月在线| 色婷视频| 天天婬色综合| 超碰99热| 九九热这里只有精品31| 久久免费操| 婷婷视频在线| 欧美啪啪9| 久久婷婷五月天激情| 大香蕉太香蕉视频97| 激情五月久久| 天天爽综合| 五月丁香成人| 99色在线观看视频者| 亚洲成人av在线| 五月婷婷九| 五月天成人综合| 六月丁香婷婷爱| 五月丁香激情综合网| www激情五月天| 天天色天天搡| www.色情五月天.com| 日本三级日本三级99| 婷婷五月天基地| 婷五月丁香| www.99久| 六月激情婷婷| 91九色精品| 美女妹子后射视频网站在线观看| 婷婷五月天色色| 亚洲婷婷丁香五月| 亚洲综合色网| AV在线免费播放| 婷婷九月丁香天堂丁香天堂| 公的粗大挺进了我的密道| nvrentiantang av| 亭亭社区五月天| 日韩色色色色色| 99在线视频免费| 黄桃AV无码免费一区二区三区| 操操自拍| 天天操电影院色狼性av| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 成人羞羞啪啪 全 视频| 91久久免费| 久久久全国免费视频| 激情色色色| 久久婷丁香五月| 五月天俺去也| 深爱五月天婷综合| 久草天堂| 亚洲欧洲午夜成人精品av| 99操视频| 亚洲中文字幕网| 天天人人人人人人人人人人人| 三十路磁力链接| 国产Va视频| 色婷婷色99国产综合精品| 啪啪黄页网|