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

ARTICLE DETAIL

資訊詳情

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

STM32驅(qū)動(dòng)SYN6288語(yǔ)音合成模塊:串口發(fā)文本,讓單片機(jī)開(kāi)口播報(bào)

STM32驅(qū)動(dòng)SYN6288語(yǔ)音合成模塊:串口發(fā)文本,讓單片機(jī)開(kāi)口播報(bào) 簡(jiǎn)介這份STM32與SYN6288語(yǔ)音模塊的完整程序包面向嵌入式開(kāi)發(fā)者和電子愛(ài)好者解決將語(yǔ)音合成芯片接入STM32并實(shí)現(xiàn)播報(bào)功能的關(guān)鍵問(wèn)題。工程涵蓋I2C/SPI通信配置、GPIO初始化、命令字構(gòu)造、音量與語(yǔ)速設(shè)置、語(yǔ)音數(shù)據(jù)發(fā)送等核心環(huán)節(jié)適合正在學(xué)習(xí)串口外設(shè)驅(qū)動(dòng)或需要快速集成語(yǔ)音播報(bào)功能的中級(jí)開(kāi)發(fā)者參考。資源共100個(gè)文件以37個(gè)h頭文件、36個(gè)c源文件為主另有啟動(dòng)文件、hex固件和工程配置文件形成一套可編譯、可燒錄的完整STM32標(biāo)準(zhǔn)外設(shè)庫(kù)項(xiàng)目便于對(duì)照源碼理解SYN6288時(shí)序控制與狀態(tài)管理。壓縮包整體僅344KB輕量易用。目前已有3866人學(xué)習(xí)代碼中初始化函數(shù)、命令發(fā)送函數(shù)、語(yǔ)音播放函數(shù)及錯(cuò)誤處理模塊層次分明還提供了使用I2C與SPI兩種通信方式的參考實(shí)現(xiàn)能幫助讀者快速遷移到自己的項(xiàng)目中并規(guī)避常見(jiàn)通信異常。1. stm32 syn6288語(yǔ)音模塊程序讓單片機(jī)在第五分鐘開(kāi)口說(shuō)話如果你手頭有一塊STM32最小系統(tǒng)板、一個(gè)SYN6288語(yǔ)音合成模塊想讓它播報(bào)溫濕度、倒計(jì)時(shí)或者設(shè)備故障碼那這篇就是給你準(zhǔn)備的。STM32 通過(guò)串口發(fā)送一幀 GB2312 編碼的漢字文本SYN6288 負(fù)責(zé)把文本合成為語(yǔ)音并驅(qū)動(dòng)喇叭放出來(lái)。整個(gè)過(guò)程不涉及音頻解碼、不涉及錄音文件你只需要寫(xiě)對(duì)串口、組對(duì)命令幀剩下的事模塊全包。這個(gè)方案在工控提示、智能家居語(yǔ)音播報(bào)、車(chē)載語(yǔ)音提醒里很常見(jiàn)也是很多開(kāi)發(fā)者入門(mén)語(yǔ)音合成的首選路徑成本低、外圍少、代碼量小。我最早做某跨平臺(tái)系統(tǒng)的語(yǔ)音告警時(shí)就是先用這塊模塊把“溫度過(guò)高請(qǐng)檢查設(shè)備”播出來(lái)才敢放進(jìn)正式項(xiàng)目。下文不基于任何現(xiàn)成源碼包只按我自己做過(guò)的可靠方案帶你把原理、接線、驅(qū)動(dòng)代碼和踩坑點(diǎn)完整過(guò)一遍。2. SYN6288 語(yǔ)音模塊的內(nèi)部邏輯與選型邊界2.1 模塊的核心構(gòu)成從文本到聲音中間發(fā)生了什么SYN6288 本質(zhì)上是一顆中文語(yǔ)音合成芯片它內(nèi)部集成了語(yǔ)音合成引擎、音頻功放和串口控制接口。你從 STM32 發(fā)過(guò)去的不是音頻數(shù)據(jù)而是文本本身的編碼——常見(jiàn)的是 GB2312 編碼的漢字字節(jié)流。芯片收到后先做文本解析再查內(nèi)部字庫(kù)和韻律模型最后合成出聲波驅(qū)動(dòng)喇叭。所以它和語(yǔ)音播報(bào)模塊有本質(zhì)區(qū)別語(yǔ)音播報(bào)模塊需要你提前把音頻文件燒錄進(jìn)去播放時(shí)只是“讀文件”SYN6288 是實(shí)時(shí)合成任何文本都能當(dāng)場(chǎng)播不需要預(yù)先錄。這個(gè)特性決定了它的使用場(chǎng)景文本內(nèi)容是動(dòng)態(tài)的、可變的比如傳感器讀數(shù)、倒計(jì)時(shí)、錯(cuò)誤碼。我通常在兩種場(chǎng)景里優(yōu)先選它一是設(shè)備要念的內(nèi)容經(jīng)常變二是主控資源緊張不想為語(yǔ)音解碼單獨(dú)分配 Flash 和 RAM。模塊往外引出的信號(hào)也簡(jiǎn)單核心就四根線VCC、GND、RXD、TXD。少數(shù)板子還會(huì)引出一個(gè) BUSY 忙信號(hào)腳可以接 STM32 的 GPIO 查詢播報(bào)狀態(tài)。音頻輸出一般是兩線接喇叭或者用板載功放直推一個(gè)小喇叭。下文的接線方案我按“四線串口 喇叭兩線”的最小系統(tǒng)來(lái)寫(xiě)不依賴(lài) BUSY 信號(hào)也能跑通。有一點(diǎn)你心里要有數(shù)SYN6288 同一時(shí)刻只能播一路語(yǔ)音它不支持和弦混音也不支持多路并發(fā)。如果你要把多條提示音排隊(duì)得靠 STM32 自己管理隊(duì)列這個(gè)我在第 6 章講。2.2 為什么選 SYN6288 而不是其它語(yǔ)音方案開(kāi)發(fā)者第一次做語(yǔ)音播報(bào)往往會(huì)在三種方案之間猶豫語(yǔ)音播報(bào)模塊、SYN6288 合成模塊、以及直接用 MP3 解碼芯片。它們不是同一類(lèi)東西選錯(cuò)會(huì)把項(xiàng)目帶偏這里給你一張對(duì)照表。方案內(nèi)容來(lái)源適合場(chǎng)景短板語(yǔ)音播報(bào)模塊預(yù)燒錄音頻文件固定提示音、固定廣告詞改內(nèi)容要重新燒錄SYN6288 合成模塊實(shí)時(shí)文本合成動(dòng)態(tài)數(shù)值播報(bào)、任意文字提示一次只能報(bào)一條MP3 解碼芯片SD 卡/U 盤(pán)音頻文件音樂(lè)播放、長(zhǎng)語(yǔ)音文件系統(tǒng)、解碼流程復(fù)雜就“單片機(jī)自動(dòng)播報(bào)動(dòng)態(tài)內(nèi)容”這個(gè)需求來(lái)說(shuō)SYN6288 最省事。你不需要在 STM32 側(cè)處理 FATFS 文件系統(tǒng)也不需要準(zhǔn)備音頻編碼工具鏈串口發(fā)字符串就能出聲。這也是它在中小型項(xiàng)目里流行多年的原因。另一個(gè)讓你踏實(shí)選它的點(diǎn)是命令幀結(jié)構(gòu)透明。它不像某些模塊把協(xié)議封裝成一堆寄存器讀寫(xiě)而是直接暴露幀格式幀頭、長(zhǎng)度、命令字、參數(shù)、文本區(qū)。這個(gè)格式半小時(shí)就能看完出問(wèn)題也容易用串口調(diào)試助手復(fù)現(xiàn)。相比那些“黑匣子”式的模塊SYN6288 的排錯(cuò)成本低得多。2.3 選型邊界什么時(shí)候你應(yīng)該換掉 SYN6288SYN6288 不適合做的事也得提前說(shuō)清楚。首先是音質(zhì)需求高的場(chǎng)景比如語(yǔ)音導(dǎo)航、朗讀文章它合成的機(jī)械感比較明顯不如云端合成自然。其次是長(zhǎng)文本連續(xù)播報(bào)比如一次要念 500 字以上模塊的緩沖區(qū)有限你必須自己分幀發(fā)送并且處理忙狀態(tài)復(fù)雜度會(huì)升上來(lái)。實(shí)時(shí)操作系統(tǒng)里用也要留個(gè)心串口發(fā)送函數(shù)會(huì)被任務(wù)調(diào)度打斷的話可能拆散一幀數(shù)據(jù)。我一般會(huì)在任務(wù)里加互斥信號(hào)量或者干脆把整幀放入 DMA 環(huán)形緩沖區(qū)發(fā)送。還有一種更隱蔽的坑如果主板上的晶振誤差偏大串口波特率會(huì)有偏差最直接的現(xiàn)象是模塊偶爾不發(fā)音或者發(fā)錯(cuò)音這個(gè)問(wèn)題在第 5 章細(xì)講。選型建議收攏成一句話文本動(dòng)態(tài)、內(nèi)容短小、單路播報(bào)、預(yù)算敏感選 SYN6288 很穩(wěn)音質(zhì)優(yōu)先、長(zhǎng)文本、多路并發(fā)盡早考慮別的方案。我見(jiàn)過(guò)不少項(xiàng)目因?yàn)椤跋茸尷软懫饋?lái)”就選了合成方案跑到一半發(fā)現(xiàn)要排隊(duì)播報(bào)最后又加代碼管理隊(duì)列這筆賬要在項(xiàng)目規(guī)劃時(shí)就算清楚。3. 接線與串口初始化能讓模塊開(kāi)口的最小系統(tǒng)3.1 引腳接線表與電平匹配STM32 和 SYN6288 之間的連線物理上只有四個(gè)點(diǎn)但接線錯(cuò)誤和電平不匹配是新手翻車(chē)的第一大來(lái)源。我這里給出最常用的一套接法基于 STM32F103 系列。注意 STM32 的 GPIO 通常是 3.3V 邏輯電平模塊邏輯電平以芯片手冊(cè)為準(zhǔn)絕大多數(shù)模塊可以直接對(duì)接。STM32 引腳SYN6288 模塊引腳說(shuō)明PA9 / USART1_TXRXDSTM32 發(fā)送模塊接收PA10 / USART1_RXTXD模塊發(fā)送STM32 接收GNDGND共地必須接否則通信亂碼3.3VVCC優(yōu)先用 3.3V 供電喇叭接模塊的 SPK/SPK- 或者對(duì)應(yīng)音頻輸出腳具體絲印以你手上的板子為準(zhǔn)。這里我強(qiáng)烈建議先查一遍模塊背面的絲印別只認(rèn)網(wǎng)上流傳的引腳圖。某次我?guī)?A 同學(xué)排查一個(gè)不出聲的問(wèn)題折騰半天發(fā)現(xiàn) RXD/TXD 接反了就是被網(wǎng)上那張標(biāo)注錯(cuò)誤的圖帶偏的。3.2 串口初初始化代碼HAL 庫(kù)與標(biāo)準(zhǔn)外設(shè)庫(kù)的對(duì)比STM32 的串口初始化各家固件庫(kù)寫(xiě)法不同但核心參數(shù)一致波特率 9600、數(shù)據(jù)位 8、停止位 1、無(wú)校驗(yàn)。SYN6288 默認(rèn)工作在 9600bps這是模塊上電時(shí)的固定值除非你用配置命令改過(guò)否則一定要對(duì)齊這個(gè)參數(shù)。HAL 庫(kù)的串口初始化常見(jiàn)寫(xiě)法如下UART_HandleTypeDef huart1; void MX_USART1_UART_Init(void) { huart1.Instance USART1; huart1.Init.BaudRate 9600; // 必須與模塊默認(rèn)波特率一致 huart1.Init.WordLength UART_WORDLENGTH_8B; huart1.Init.StopBits UART_STOPBITS_1; huart1.Init.Parity UART_PARITY_NONE; huart1.Init.Mode UART_MODE_TX_RX; huart1.Init.HwFlowCtl UART_HWCONTROL_NONE; huart1.Init.OverSampling UART_OVERSAMPLING_16; if (HAL_UART_Init(huart1) ! HAL_OK) { Error_Handler(); } }這段代碼里最關(guān)鍵的是BaudRate 9600以及 Mode 同時(shí)打開(kāi) TX 和 RX。如果你的項(xiàng)目里 USART1 還要接其它設(shè)備建議單獨(dú)分配一個(gè)串口給語(yǔ)音模塊避免調(diào)試日志和語(yǔ)音指令互相干擾。我習(xí)慣把日志留在 USART2語(yǔ)音模塊獨(dú)占 USART1兩邊互不擠占。如果你還在用標(biāo)準(zhǔn)外設(shè)庫(kù)初始化框架也幾乎一致只是把UART_HandleTypeDef換成USART_InitTypeDef時(shí)鐘使能和引腳復(fù)用單獨(dú)配置。核心就是 GPIO 復(fù)用推挽輸出加上 USART 外設(shè)參數(shù)原理完全相同。3.3 上電自檢如何確認(rèn)模塊已經(jīng)“活”了接線完成后先做一次最小驗(yàn)證別急著寫(xiě)代碼。用 USB-TTL 工具直接連模塊PC 上打開(kāi)串口助手波特率設(shè) 9600然后手動(dòng)發(fā)送一幀合成命令比如“你好”。模塊如果發(fā)出聲音說(shuō)明硬件鏈路沒(méi)問(wèn)題問(wèn)題只會(huì)出現(xiàn)在 STM32 程序側(cè)。手工組幀的辦法很簡(jiǎn)單在串口助手里以十六進(jìn)制發(fā)送以下內(nèi)容FD 00 05 01 00 C4 E3 BA C3這段數(shù)據(jù)的含義我拆開(kāi)講FD 是幀頭00 05 表示后面數(shù)據(jù)區(qū)長(zhǎng)度為 5 字節(jié)01 是文本合成播放命令00 是文本編碼格式參數(shù)這里指 GB2312C4 E3 BA C3 是“你好”兩個(gè)漢字的 GB2312 編碼。模塊收到后會(huì)立即合成并播放。如果這一步能出聲就可以放心去寫(xiě) STM32 程序了。如果沒(méi)有聲音優(yōu)先檢查三件事電源電流夠不夠、喇叭有沒(méi)有接對(duì)、波特率是不是真的 9600。我遇到過(guò)一次詭異的“上電有爆音但不說(shuō)話”最后發(fā)現(xiàn)是 USB 轉(zhuǎn)串口工具質(zhì)量太差發(fā)送的字節(jié)流被丟了一半換成正規(guī)調(diào)試工具立刻正常。4. 核心 C 程序命令幀封裝與三個(gè)可直接調(diào)用的驅(qū)動(dòng)函數(shù)4.1 把漢字文本轉(zhuǎn)成 GB2312 編碼并計(jì)算幀長(zhǎng)SYN6288 只認(rèn)識(shí) GB2312 編碼的文本而 STM32 工程里源碼文件常用 UTF-8 編碼存放。如果你直接把你好放進(jìn)數(shù)組發(fā)出去模塊收到的可能是E4 BD A0 E5 A5 BD這種 UTF-8 字節(jié)流模塊會(huì)當(dāng)成亂碼處理表現(xiàn)為播報(bào)異?;蛘咧苯屿o音。解決辦法有兩種。第一種是在編譯環(huán)境里把源文件編碼改為 GB2312Keil 下可以配置源文件編碼但多人協(xié)作時(shí)文件編碼容易被打亂。第二種更可靠把文本常量統(tǒng)一用轉(zhuǎn)義序列寫(xiě)在數(shù)組里比如你好寫(xiě)成\xC4\xE3\xBA\xC3。這樣源碼無(wú)論存什么編碼最終發(fā)送的字節(jié)都是確定的。發(fā)送函數(shù)里數(shù)據(jù)區(qū)長(zhǎng)度這樣計(jì)算長(zhǎng)度 命令字字節(jié)數(shù) 參數(shù)字節(jié)數(shù) 文本字節(jié)數(shù)。例如“你好”兩字占 4 字節(jié)加上命令字和參數(shù)各 1 字節(jié)數(shù)據(jù)區(qū)長(zhǎng)度為 6。幀頭 FD 和長(zhǎng)度本身不計(jì)入長(zhǎng)度字段。void SYN6288_PlayText(const uint8_t *text, uint8_t len) { uint8_t cmd_buf[250]; uint16_t payload_len len 2; // 命令字1字節(jié) 參數(shù)1字節(jié) 文本 cmd_buf[0] 0xFD; // 幀頭 cmd_buf[1] (payload_len 8) 0xFF; // 長(zhǎng)度高字節(jié) cmd_buf[2] payload_len 0xFF; // 長(zhǎng)度低字節(jié) cmd_buf[3] 0x01; // 命令字文本合成播放 cmd_buf[4] 0x00; // 文本編碼GB2312 memcpy(cmd_buf[5], text, len); // 文本字節(jié)流 HAL_UART_Transmit(huart1, cmd_buf, len 5, 1000); }這里對(duì)文本長(zhǎng)度有個(gè)限制一幀不要超過(guò) 250 字節(jié)模塊內(nèi)部緩沖區(qū)有限超長(zhǎng)文本要分多條發(fā)送。上述代碼里cmd_buf數(shù)組大小按 250 設(shè)計(jì)也是基于這個(gè)考慮。HAL_UART_Transmit的最后一個(gè)參數(shù) 1000 是超時(shí)時(shí)間單位毫秒串口波特率 9600 時(shí)發(fā)送 250 字節(jié)大約需要 260 毫秒設(shè) 1000 毫秒足夠。4.2 停止播報(bào)與音量調(diào)節(jié)的命令幀除了文本合成最常用的兩個(gè)控制命令是停止播報(bào)和音量設(shè)置。停止播報(bào)在告警場(chǎng)景里很關(guān)鍵一旦發(fā)現(xiàn)故障恢復(fù)要讓正在播報(bào)的語(yǔ)音立即停下而不是等它念完。音量調(diào)節(jié)則用在夜間場(chǎng)景防止播報(bào)聲音過(guò)大擾民。void SYN6288_Stop(void) { uint8_t cmd[4] {0xFD, 0x00, 0x01, 0x00}; // 命令字0x00停止合成播放無(wú)參數(shù)區(qū) HAL_UART_Transmit(huart1, cmd, sizeof(cmd), 1000); } void SYN6288_SetVolume(uint8_t vol) { uint8_t cmd[5] {0xFD, 0x00, 0x02, 0x21, vol}; // 命令字0x21音量調(diào)節(jié)參數(shù)vol范圍0x00~0x10 HAL_UART_Transmit(huart1, cmd, sizeof(cmd), 1000); }注意停止命令的幀結(jié)構(gòu)和合成命令不一樣它沒(méi)有文本區(qū)數(shù)據(jù)區(qū)長(zhǎng)度固定為 1也就是只有命令字 0x00。音量命令的數(shù)據(jù)區(qū)長(zhǎng)度固定為 2命令字 0x21參數(shù)就是音量值。如果你把音量參數(shù)寫(xiě)成超過(guò) 0x10 的值模塊可能忽略或者按最大值處理這事在數(shù)據(jù)手冊(cè)里通常有說(shuō)明。音量調(diào)節(jié)我一般把它做成一個(gè)單獨(dú)接口而不是在每次播放前都設(shè)一次音量。因?yàn)轭l繁設(shè)置音量會(huì)讓播報(bào)聽(tīng)起來(lái)斷斷續(xù)續(xù)用戶體驗(yàn)反而差。推薦的做法系統(tǒng)初始化時(shí)設(shè)置一次音量播放普通提示時(shí)用默認(rèn)音量夜間模式才切換小音量。4.3 完整例程按鍵觸發(fā)一次動(dòng)態(tài)播報(bào)把上面幾個(gè)函數(shù)串起來(lái)就是一個(gè)最小可用工程。下面這段代碼演示按鍵按下的瞬間STM32 組裝一條帶數(shù)字的播報(bào)內(nèi)容發(fā)給 SYN6288 播放。這里用 sprintf 把溫度值拼進(jìn)文本緩沖再調(diào)用播放函數(shù)。char text[64]; uint8_t key_pressed 0; while (1) { if (key_pressed) { float temp 26.5; // 這里替換成你實(shí)際的傳感器讀數(shù) int int_part (int)temp; int dec_part (int)((temp - int_part) * 10); // 把溫度值拼進(jìn)文本注意源文件編碼按GB2312保存下面這行字符串 sprintf(text, 當(dāng)前溫度是%d點(diǎn)%d度, int_part, dec_part); SYN6288_PlayText((uint8_t*)text, strlen(text)); key_pressed 0; } }這個(gè)例程里最容易被忽略的是文本編碼。sprintf生成的中文字符串在內(nèi)存里的字節(jié)形態(tài)取決于源碼文件保存時(shí)的編碼。如果工程文件是 UTF-8 編碼生成的就是 UTF-8 字節(jié)流模塊不認(rèn)如果工程文件是 GB2312 編碼生成的就是 GB2312 字節(jié)流模塊正常播報(bào)。我在 Keil 工程里通常會(huì)確認(rèn)“Edit - Configuration - Encoding”設(shè)為 Chinese GB2312并且團(tuán)隊(duì)約定所有含中文的源文件統(tǒng)一這個(gè)編碼。數(shù)值轉(zhuǎn)字符串部分還有一個(gè)隱患負(fù)數(shù)和浮點(diǎn)精度。比如溫度是 -3.05 攝氏度直接轉(zhuǎn) int 會(huì)截?cái)喑?-3小數(shù)部分 0.05 乘 10 取整得 0播報(bào)出來(lái)就成了“零下3點(diǎn)0度”雖然不致命但不夠?qū)I(yè)。更好的做法是用定點(diǎn)和取整函數(shù)配合處理正負(fù)號(hào)這塊看你的精度需求來(lái)決定投入多少工作量。4.4 發(fā)送方式選型阻塞發(fā)送、中斷發(fā)送還是 DMAHAL_UART_Transmit 是阻塞發(fā)送它會(huì)一直等數(shù)據(jù)發(fā)完才返回。9600 波特率下發(fā)送一幀 100 字節(jié)的數(shù)據(jù)大約耗時(shí) 100 毫秒這段時(shí)間 CPU 被占住無(wú)法響應(yīng)按鍵或處理傳感器。如果你的主循環(huán)比較忙我建議用中斷發(fā)送或 DMA 發(fā)送。中斷發(fā)送的代碼改動(dòng)很小HAL_UART_Transmit_IT(huart1, cmd_buf, len 5);這樣函數(shù)立即返回?cái)?shù)據(jù)在后臺(tái)發(fā)送。但要注意cmd_buf在發(fā)送完成前不能被修改或釋放否則會(huì)發(fā)出去一堆亂碼。我的做法是在結(jié)構(gòu)體里給語(yǔ)音模塊單獨(dú)留一個(gè)發(fā)送緩沖區(qū)發(fā)送過(guò)程中主循環(huán)不碰它發(fā)送完成回調(diào)置一個(gè)標(biāo)志位。DMA 發(fā)送更省 CPU但 STA6288 模塊對(duì)連續(xù)字節(jié)間隔有要求如果 DMA 配置不當(dāng)會(huì)出現(xiàn)幀中間卡頓模塊會(huì)認(rèn)為一幀結(jié)束然后丟棄后半段。我做某圖像處理 Demo 時(shí)就被這個(gè)坑過(guò)。綜合來(lái)看中斷發(fā)送是性價(jià)比最高的選擇代碼簡(jiǎn)單、不占用 CPU 等待、不易出現(xiàn)字節(jié)間間隔問(wèn)題。5. SYN6288 調(diào)試避坑四個(gè)高頻翻車(chē)現(xiàn)場(chǎng)與排查流程5.1 上電后“吱啦”一聲之后就裝聾作啞現(xiàn)象模塊上電瞬間喇叭響了一下電流沖擊聲之后無(wú)論發(fā)什么命令都沒(méi)反應(yīng)。原因最常見(jiàn)的不是模塊壞了而是電源供電不足。模塊合成語(yǔ)音時(shí)功放瞬時(shí)電流能到幾百毫安如果 STM32 板子的 3.3V 是低壓差穩(wěn)壓器直接從 USB 取電電流一大電壓就被拉垮模塊內(nèi)部邏輯紊亂。解決給模塊單獨(dú)供電或者把模塊的 VCC 接在能提供 500mA 以上的電源軌上。電源地和 STM32 的地必須連在一起否則串口電平參考點(diǎn)不一致通信照樣失敗。這個(gè)問(wèn)題的排查順序是先量模塊 VCC 在播報(bào)瞬間的電壓跌落幅度再?zèng)Q定是換電源還是加電容。5.2 播報(bào)中途卡斷像是被人掐了脖子現(xiàn)象短文本正常長(zhǎng)文本播到一半突然停住或者只播前半句。原因發(fā)送方一次性把超長(zhǎng)文本塞進(jìn)串口模塊的接收緩沖區(qū)裝不下后半段數(shù)據(jù)丟失。另一個(gè)可能是主循環(huán)里頻繁調(diào)用其它串口函數(shù)把發(fā)送過(guò)程打斷了。解決控制每幀文本長(zhǎng)度一般不超過(guò) 50 個(gè)漢字。超長(zhǎng)內(nèi)容拆成多條命令前一條播完再發(fā)下一條。你可以在兩條命令之間加延時(shí) 300 到 500 毫秒經(jīng)驗(yàn)值具體以模塊實(shí)際表現(xiàn)調(diào)整。也可以接 BUSY 引腳查詢狀態(tài)高電平表示正在播報(bào)等它變低再發(fā)下一條這樣效率更高。5.3 偶爾不發(fā)音或發(fā)錯(cuò)音玄學(xué)問(wèn)題現(xiàn)象同樣的代碼復(fù)位后第一次播報(bào)正常第二次就靜音或者十次里有一兩次播報(bào)內(nèi)容不對(duì)。原因排查到最后往往落在兩個(gè)點(diǎn)。第一個(gè)是波特率偏差STM32 內(nèi)部 RC 振蕩器代替外部晶振時(shí)精度不夠9600 波特率下累計(jì)誤差超過(guò)容限模塊偶爾解碼錯(cuò)位。第二個(gè)是幀被拆散如果你用 RTOS任務(wù)切換可能發(fā)生在幀中間模塊等待下一字節(jié)超時(shí)后就丟棄整幀。解決把 STM32 的外部晶振補(bǔ)上不要依賴(lài)內(nèi)部 RC 振蕩器跑串口通信。RTOS 環(huán)境下給語(yǔ)音發(fā)送加臨界區(qū)保護(hù)或者用中斷/DMA 整幀發(fā)送。排查這個(gè)問(wèn)題的關(guān)鍵步驟是用邏輯分析儀抓串口波形看幀內(nèi)字節(jié)間隔是否均勻間隔大于 10 毫秒就要考慮發(fā)送側(cè)被搶占。5.4 模塊能播報(bào)但聲音又小又悶像隔了一層被子現(xiàn)象聲音確實(shí)出來(lái)了但音量推到最大還是不滿意喇叭有破音感。原因喇叭阻抗和模塊功放不匹配。模塊內(nèi)置功放通常設(shè)計(jì)給 8 歐 0.5W 到 1W 的小喇叭你換成 4 歐大喇叭電流過(guò)大導(dǎo)致削頂失真聽(tīng)感反而更差。另外喇叭沒(méi)有裝共鳴腔直接裸放也會(huì)顯得聲音單薄。解決按模塊手冊(cè)推薦的喇叭規(guī)格選型別在這一步省成本。如果必須在密閉小空間里用可以考慮把模塊的音頻輸出接到外部功放板繞過(guò)板載功放。但這樣做之前要確認(rèn)模塊音頻輸出腳的信號(hào)電平直接亂接會(huì)燒音頻通路我見(jiàn)過(guò)不止一次這種情況。6. 進(jìn)階用狀態(tài)機(jī)管理播報(bào)隊(duì)列別讓長(zhǎng)文本卡死主循環(huán)當(dāng)你需要在一次告警里連續(xù)播報(bào)多條內(nèi)容時(shí)最簡(jiǎn)單的做法是阻塞式逐條播報(bào)發(fā)一條、延時(shí)、再發(fā)一條。這在提示音少的項(xiàng)目里沒(méi)問(wèn)題但一旦播報(bào)內(nèi)容變長(zhǎng)主循環(huán)會(huì)被卡住幾百毫秒甚至一秒按鍵響應(yīng)、傳感器采樣全部延遲。我習(xí)慣的做法是把播報(bào)邏輯改成一個(gè)小型狀態(tài)機(jī)。狀態(tài)機(jī)只維護(hù)三個(gè)階段空閑、發(fā)送中、等待完成。主循環(huán)每次執(zhí)行時(shí)檢查當(dāng)前狀態(tài)空閑時(shí)從隊(duì)列取出一條文本發(fā)送并進(jìn)入發(fā)送中狀態(tài)發(fā)送完成后記錄時(shí)間進(jìn)入等待完成狀態(tài)等待時(shí)間超過(guò)設(shè)定值切回空閑并取下一幀。整個(gè)過(guò)程不阻塞主循環(huán)其它任務(wù)照常運(yùn)行。typedef enum { IDLE, SENDING, WAITING } TTS_State; TTS_State state IDLE; uint32_t wait_tick 0; void TTS_Task(void) { switch (state) { case IDLE: if (tts_has_next()) { tts_send_next(); // 發(fā)送一幀不等待 state SENDING; } break; case SENDING: if (tx_complete_flag) // 串口發(fā)送完成回調(diào)置位 { wait_tick HAL_GetTick(); state WAITING; tx_complete_flag 0; } break; case WAITING: if (HAL_GetTick() - wait_tick 400) { state IDLE; // 給模塊足夠的合成時(shí)間 } break; } }這段代碼里的tts_has_next和tts_send_next需要你自己維護(hù)一個(gè)簡(jiǎn)單的文本隊(duì)列隊(duì)列元素可以是固定長(zhǎng)度的字符數(shù)組也可以是指針加長(zhǎng)度。注意發(fā)送完成回調(diào)里只能置標(biāo)志位不要在中斷里直接修改隊(duì)列指針?lè)駝t容易和數(shù)據(jù)生產(chǎn)端沖突。400 毫秒等待時(shí)間是我的經(jīng)驗(yàn)值模塊播報(bào)短句時(shí)這個(gè)間隔足夠長(zhǎng)句可適當(dāng)加大。用這套狀態(tài)機(jī)之后播報(bào)多條故障碼、循環(huán)提示、按鍵搶播都能在同一個(gè)框架下解決。我后來(lái)做某跨平臺(tái)系統(tǒng)的語(yǔ)音告警模塊就把這個(gè)狀態(tài)機(jī)直接移植過(guò)去只是把串口發(fā)出來(lái)的文本換成了格式化后的設(shè)備狀態(tài)字段。養(yǎng)成這種“先拆狀態(tài)再寫(xiě)循環(huán)”的習(xí)慣語(yǔ)音模塊的代碼會(huì)穩(wěn)定很多調(diào)試時(shí)也更容易定位問(wèn)題出現(xiàn)在發(fā)送側(cè)還是模塊側(cè)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色九九七七| 97香蕉久久超级碰碰高清版 | 色色色天堂网| 99热免费精品| 日本婷色| 婷婷五月AV| co超碰在线观看| 综合久久人妻| 99er免费在线观看| 婷婷久久午夜网| 99色综合久久| 乱乱av| 精品人妻久久久久久| 狠狠色综合网| 亚洲综合无码| 五月婷免费视频| 人妻少妇色综合| 五月花综合视频| 人妻少妇色综合| 五月激情六月| 五月激情视频| 五月天婷综合| 9久久久| 丁香五月大香蕉| 五月天婷婷婷| 开心婷婷五月天综合| 丁香九月色| 五月婷九月| 4399在线日本A片| 五月天婷婷高清无码| 97se视频在线| 五月综合激情图片| 色综色网| 182tv992tv人之初午夜免费观看| 亚洲视频综合网| 天天看A片| 九九九九这里只有精品| 色五月在线视频观看| AV电影在线播放| 1024久婷| 噜噜狠狠色综合久| 婷婷色在线视频| 亚洲综合色婷| 天天爱天天天射AV| 一区=区操屄高清大全av| 丁香色色网| 婷婷五月天AV在线| 五夜婷婷| 狠狠综合网| 日本色道视频网站| 激情五月天婷婷| 色婷婷a v| A久久| 六月丁香五月婷婷| 久久久久久久97| 色婷婷六月天| 激情久久肏屄视频| 亚洲色久| www.婷婷六月天| 国产在这里只有精品| 久久人人九| 欧美成人网99网| 大学生高潮无套内谢视频| 亚洲精品无码久久| 日韩熟女啪啪视频| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 五月丁香五月综合欧美| 亚洲成人网站在线观看| 95精品区一区二| 国产精产国品一二三在观看| www五月婷婷88导航| 九月丁香八月婷婷加勒比| 少妇AB又爽又紧无码网站| 天天操夜夜操| 色婷婷人人| 久久亭亭电影| 成人片在线播放| 综合色色网| 超碰99在线观看| 午夜色婷婷| 色V狠狠的干| 成人五月丁香社区| 久99久热只有精品国产99| 3p日韩网站视频| 欧美综合丁香网| 丁香婷婷伊人| 久久色区| 七月丁香婷婷 色色| 五月婷婷先锋| 日本三级中国三级99人妇网站| jiqingtaose五月天| 99热成人精品| 丁香六月久久| 婷婷五月天基地| 亚洲色情免费网| 狠狠色综合777| 丁香六月毛片| 久久久WWW| 99热在线播放| 五月天狠狠色| 五月WWW| 六月久久狠狠| 国产精品美女久久久久AV超清| 7777国产盗摄农村女人| 久久丁香五月天| 婷婷深爱五月亚洲综合| 99热久| 少妇被下春药玩弄A片| AV操一操| 丁香婷婷少妇| 色情五月婷婷| 婷婷成人在线| 亚洲一区二区无码蜜乳av| www五月天com| 久久综合久色欧美综合狠狠| 手机在线日韩视频中文字幕| 亚州激情在线视频| 五月天激情图片| A一级操| 五月精品免费XXX| 五月丁香六月婷婷啪啪| 天天成人综合视频| 99热免| 九色亚洲| 成人狠狠成人狠狠成人狠狠成人狠狠| 婷婷五月色情天| 影音先锋自拍网| 亚洲成人高清在线| 五月天激情久久| 色激情综合狠狠婷婷| 欧美成人精品A片免费一区99| 夫妇交换刺激做爰| 国产精品久久99| 婷婷五月天在线视频网站| 久久色天堂| 婷婷综合色播网| 久久久精品人妻| 日本情色一区二区| 五月婷婷伦理| 色色色婷婷五月天| 爆乳熟妇一区二区三区爆乳照片| 这里只有精品久| 91ncom.色| 婷婷综合五月天| 亚洲狠狠婷婷| 亚洲第一综合| 91久久久久久久久久| 熟女五月天久久综合| 深夜男女福利刺激影院一区完整| 91av视频| 嫩草免费视频| 伊人成人宗合网| 天天色综网| 婷婷色五月天色| 国产va视频| 久久资源综合| 婷婷丁香五月综合免费视频百花| 另类精品视频在线观看| 婷婷五月天亚洲综合| 五月婷A V在线| 狠狠操狠狠操| 欧美婷| 91精品久久久久久77777| 天天色综合综合| 婷婷五月天第三页| www.yw色| 日韩久久视频| 亚洲不卡| 婷婷五月花| 婷婷五月综合欧美在线播放| 三年高清大片免费观看国语| 天天情色综合网| www九九免费视频| 激情五月婷婷啪啪| 免费AV在线网址| 日本va欧美va欧美精品88| 九九久久玖玖爱| 九九热经典视频在线观看| 一区=区操屄高清大全av| 五月天婷婷色小说| 密乳Va| 免费亚洲婷婷五月| 丁香五月 综合| 91久操| 国产Va视频| 无遮挡国产高潮视频免费观看 | 丁香五月色色| 天天干天天爽| 色五开心五月五月深深爱| 日韩AV在线免费| 久久婷婷六月综合综合色| 成人视频在线免费播放| AV人人操| 91精品婷婷国产综合久久| 五月丁香色婷婷| 五月好婷婷| 大陆极品少妇内射AAAAAA| 五月丁香久久久日婷婷久久婷婷日| 双性美人被调教到喷水A片| 欧美激情2025| 91se在线视频| 久久六月婷婷| 狠狠操狠狠插| 99精品无码| 九九这里只有精品在线视频| 91在线看片| AV在线观看网站| 久久亚洲婷婷综合色五月| 99re资源在线视频导航| 99爱精品| 日本一级特黄大片AAAAA级| 九九成人精品免费视频| 在线日韩av| 天天干天天干天天干天天干天| 亚洲丁香五月天在线视频| site:picc-up.com| 日韩伊人大香蕉| 思思热在线视频精品| 婷婷五月天激情五月天网站| 久久视屏这里只有久久| 91精产一区三区免费观看| 五月天色不卡| 人人妻人人澡| 激情5月婷婷| 97色干| 狠狠干五月| 色婷婷AAA| 精品少妇蜜臀91| 久久最新色| 69超碰在线| 超碰猛烈的性猛交| 99免费| 操操操操操操婷婷五月天| 亚州男人天堂婷婷五月| 熟妇内谢69XXXXXA片| 婷婷少妇激情| 五月天婷婷在线视频| 丁香婷婷丁香五月欧美人| 91人碰| 国产精品A成V人在线播放| 伊人玖玖网| 亚洲夜夜操| 六月丁婷婷| 久久激情五月婷婷| 婷婷五月天免费视频| 美妞av| 亚洲国产精品VA在线看黑人| jiujiuxiangjiaowang| 碰碰人人漕| 久久久久久人妻| 九九精品视频免费在线| 爽极品色| 影音先锋四区| 色色婷| 六月婷婷AV| 天堂伊人干| 五月婷婷无码| 丰满少妇乱A片无码| 五月天激情国产综合婷婷| 九九亚洲| 99爱爱| 欧美日韩成人高清在线| 国产亚洲色婷婷久久99精品91| 激情九九综合网| 精品无码色欲AV| 99热这里只有精品268| 996精品热视频| 碰超在线九色| 丁香六月婷婷综合缴| 。久久久久久久久久久久久久人妻| 99热精品网| 激情网五夜婷婷| 99re在线观看| 丁香五月六月婷婷自拍| 婷婷激情五月综合丁香社| 成人性爱精品视频| 欧美狠狠色| 欧美va在线观看| 激情五月久久| 怎么样可以看免费的一级av| 国产真人做爰视频免费| 色丁香六月| 色狠狠色狠狠| 97好吊操| 永久免费一区二区三区| 中文av网站| 五月丁香综合在线| 欧美亚洲色色色色| 激情婷婷狠狠干综合| 中国无码av| OYIWbGcPu8H| 日比视频91| 任你干线上免费视频有3吗| 亚州精品成人片| 天堂在线婷婷| 丁香五月香蕉在线| 久久开心五月婷婷| 五月激情视频| www.五月天婷婷姐姐| www.夜夜夜| 五月婷色啪| 日本五月天婷婷丁香| 人人摸人人干| 免费看成人AA片无码视频吃奶| 久久免费高| www色婷婷com| 五月亭亭六月激情| 婷婷六月色开| 婷婷色五月天在线观看| 久久大国产香蕉| 丁乡久久| 激情久久久久久| 俺去也五月天| 97超碰免费超级在线观看| 色色网站| 色天使色综合| 五月天日日操夜夜操 | 狼人伊人天堂| 男人天堂99| 婷婷日| 99综合色| 亚洲精品无人区| 91porn一起草| 色婷婷五月天视频在线| 99热这里| 精品久久99| 婷婷情色激情| 久久er99热精品一区二区| 男人視頻站| 五月婷婷六月丁香综合视频在线| 天天综合91入口| AV激情五月| 六月婷婷久久| 懂色av粉嫩av蜜臀av| 五月丁香啪啪综合| 色婷婷色99国产综合精品| 亚洲中文字幕在线观看| 97操碰| 99这里只有精品|v| 大香蕉网 久久| 丁香香五月激情免费视频| 97色操| 色婷青青| a v色婷婷| 久久久8| 91婷婷丁香五月亚洲| 婷婷五月天改成什么了| 久久女婷| 91久久婷婷| 婷婷五月婷婷| 我去色色网五雨天| 天天日 天天草| 婷婷综合婷婷| 色久综合天天做视频| 欧美色频| 亚洲综合视频天天精品| 天天爱天天操| 丁香五月婷婷久久综合激情网| 欧美日比视频| 婷婷玖玖五月天| 26uuu亚洲欧美日本| 色亭亭影园| 国产看真人毛片爱做A片| 久久婷婷色情7777网站| 99热在线中文字幕| 91se在线视频| 婷婷婷婷婷婷婷五月丁香| 婷婷色色欧美| 色色五月丁香婷婷| 91碰碰碰| 亚洲精品久久久久久久久久吃药| 婷婷激情鹿城五月天| 成人精品视频99在线观看免费| 九九热这里只有精品5| 碰碰女| 99亚洲视频| 久久总和99| 色婷另类| 69精品人人人人| 五月丁香久久网| 亚洲av成人在线| 97碰| 久久综合五月天| 亚洲五月天第一综合干| 一起草AV入口| 五月天亭亭俺也| 婷久久高清| 激情五月婷婷欧美极品| 五月婷婷六月丁香| 久热这里这里有精品| 天天射影院| 亚洲五月婷婷在线| 99福利视频导航| 久久久久久人妻久久久久久久久久人妻久久久| 丁香六月婷婷综合欧美| 伊人久久综合| 欧美色色色色色色| 色五月在线综合| 久久美女五月天| 大香蕉伊人99| 大香蕉色婷婷伊人在线| 另类综合激情| 五月天激情婷婷丁香| 97高清国语自产拍| 亚洲五月丁香六月婷婷| 激情五月丁香五月| se色婷婷视频| 五月天婷婷免费| 久久狠狠欧美| 开心五月婷婷伊人| 九九AV| 热99久久这里只有精品| 五月丁香色综合| 婷婷久久五月天| 五月色婷婷激情| 日韩精品成人在线| 办公室少妇激情呻吟A片在线观看| 婷婷涩五月天综合| 色婷婷综合久久久久| 最近中文字幕大全免费版在线| 色99欧洲色19| 色之综合网| 日韩啪啪自拍| 五月天婷婷久久| 色婷婷五月综合网| 99er这里只有精品| 五月色亚洲| 亚洲国产精品二二三三区| 人操人| 亚洲永久四色| 操人妻视频91| 久久午夜理论| www99精品| 狠狠操狠狠色| 99精品网| 开心激情五月天网| 99视频这里有精品| 狠婷婷五月| 天天爽爽日日做做| 日韩久久色| 97超级碰人人| 疯狂做受XXXX高潮A片| 综合婷婷五月天| 26uuu欧美亚洲日韩| 超碰人人操在线| 97婷婷五月激情六月丁香伊人| 五月丁香影院| 九九热99免费视频| 99精色| 激情五月丁香六月| 六月丁香婷婷爱| 97色色综合| 激情五月天 婷婷| 婷婷深爱网| 五月婷婷五月丁香综合| 日本人妻A片成人免费看片| 婷婷五月综合丁香久久| 亚洲激情在线| 超碰人人色| 日本啪啪天堂| 日日影院 | 亚洲精品一区中文字幕乱码| caopeng97人人| 亚洲色另类| 色五月亚洲开心网| 亚洲天堂啪啪| 91人人爽狠狠狠| 五月色色激情网| 色婷婷精品小视频| 日本婷婷综合精品| 精品色情一区二区三区四区| 天天狠狠婷婷在线| 这里只有精品偷拍| 激情综合女人网五月播播| 亚洲AV网址| 久9精品| 99在线视频喷水| 六月色 亚洲| 亚洲中文AV| 中文字幕不卡网站| 九九精品re免费视频| 国产免费一区二区三州老师F1……| 欧美大肥婆大肥BBBBB| 9久久精品| 婷婷五月综合在线| 免费无码毛片一区二区A片| 日本猛少妇色XXXXX猛叫| 九九热视频在线观看| 99在线免费观看| 婷婷导航| 91男人资源站| 久久视频婷婷| 婷婷丁香激情综合色情| 狠狠操狠狠操AV| 国产日韩欧美性爱| 婷婷五月天免费99| 久久女人九九| 91精品久久久久久| 深爱激情小说五月婷婷| 亚洲经典小视频| 激情小说五月欧美亚洲丁香| 超碰93在线观看| 日日色综合| 色婷婷成人做爰A片免费看网站| 国精产品一区一区三区免费视频 | 久久ab| 天天做天天爱天天爽| 色婷婷五月天成人网| 狠狠干婷婷| 无码日本精品XXXXXXXXX | 亚洲超碰青涩| 91无码视频| 丁香五月综合久久八| 天天色伊人| 婷婷日日夜夜| 99这里都是精品| 久久综合66| 婷婷狠狠18禁久久| 六月丁香婷婷开心综合基地| 99色热| 五月婷婷色| 国模狼狼| 99综合色色色| 99这里只有精品视频| 五月色网| 大香蕉在线观看9| 五月天婷婷色在线视频免费观看 | 色婷婷裸体色性在线| 99狠狠| 日欧一片内射VA在线影院| 伊人久久大香线蕉亚洲五月天,| 99日本黄站| 操操操操操电影网| 五月婷丁香花| 天天摸天天舔天天天天爽| 久色激情| 狠狠人妻色综合| 日日夜夜噜噜爽爽| 婷婷丁香久久| 亚洲成人网在线观看| www.热99热| 婷婷大香蕉| 一级无码作爱片| 五月丁香婷婷五月色| 亭亭五月丁香五月天激情| 婷婷五月天激情网| 日韩精品一区二区亚洲AV观看| www·五月天| 五月天婷婷丁香导航| 亚洲情综合五月天| 天天日夜夜高潮| 激情婷婷久久| 婷婷五月综合色中文字幕| 极品 少妇 内射| 五月色网| 色停停香蕉视频| 九九婷婷网五月天| 99视频综合网| 99re热视频| 丁香婷婷久久| 色婷婷狠狠干| 丁香五月天社区| 婷婷永久在线| 99激情在线| 国产精品色婷婷久久久精品| 99热这里只| 狠狠干.com| 啄木鸟黑丝一区二区| 亚州色色色| 99热久草| 91丨九色丨熟女高潮| 成人网站av免费网站推荐| 日日日日操| 人妻自慰高清合集| 99干免费视频| 丁香婷婷中文字幕| BlACKEDRAW视频一区二区| 天天狠狠色噜噜| 欧美日韩成人在线| 丁香六月婷婷综合网| 99精品成人无码A片观看金桔| 五月天丁香六月综合| 丁香六月啪| 日韩成人综合网| 五月婷婷性爱| 婷婷丁香77777| 日本欧美成人片AAAA| Av性爱网站| 丁香五月av| 天天插天天日天天爽| 超碰国产在线| 97香蕉久久超级碰碰高清版| AV性爱在线| 播丁香五月婷婷欧美| 久热只有这里精品| 色五月综合97| 玖玖综合色| 九九色99| 欧美人与性动交CCOO| 操逼福利视频| 美女91一起草| 久久性爱视频| 色色色99韩| 日韩成人中文| 婷婷五月天激情开心网| 五月丁香婷婷基地| 精品香蕉99久久久久网站| 五月综合婷婷久久在线| 五月激情射| 欧美精品999| 亚洲 精品 综合 精品| se色婷婷视频| 九热精品| 五月成人丁香av91| 夜夜骑天天操| 性色人人爽| 日韩少妇内射免费播放| 99精品综合视频| www.久久爱| 狠狠精品干练久久久无码中文字幕| 婷婷五月天堂一本在线| 无码人妻激情| 激情综合网激情五月俺也去| 五月婷婷激情| 丁香花五月天| 人妻久热| 激情综合网激情五月俺也去| 粉嫩av懂色av蜜臀av熟妇| 天天摸天天舔天天爽| WWW、日本色丁香、co m| 九九免费视频| 丁香五月婷婷在线观看| 色色色777| 墨西哥毛片内射精| 婷婷五月天丁香| 成年人最刺激的综合网| 五月丁香综合伦理片| 99在线视频女女视频| 婷婷色婷婷| 99热a片免| 狠狠艹狠狠艹| 色五月婷婷91| 九九伦子片| 97碰在线视频| 色激情五月| 六月婷婷国产| 婷婷五月天伊人在线| 91视频久久久| 日本在线播放97| 欧美这里只有精品| 久综合| 97丁香五月| 天天做天天双| 色色色色色热| 五月天综合久久丁香91| 久久久久久久久久人妻| 久久五月天婷婷视频| 免费看无码视频A级| 九九99九九精品免费 | 丰满少妇猛烈A片免费看观看| www.99久| www.久久爱.com| Www.激情| 五月丁香欧美综合| 99在这里有精品| 婷婷五月天在线综合导航| 五月天激情图片| 亚洲另类av| 色婷婷另类| 97人人操人人插| 亚洲蜜桃精久久久久久久久久久久 | 成人综合AV| 久久玖玖综合| 99九精品| 色欲久久久久久综合网综合网| 七七久久婷婷| 亚洲AV电影美洲AV电影| αV电影| 淫五月停停| 色五月婷婷在线观看第一页舔| 国产婷婷久久| 国产AV网页| 香蕉视频性爱BB做爱| 99超超碰| 无码AV大香线蕉伊人| se色婷婷视频| 久久看九九90| 人人草碰| 91精品综合久久婷婷九色| 99免费偷拍视频| 婷婷九色| 久久综合综合久久| 五月丁香六月婷婷综合在线| 九九热a| 欧美噜噜噜草| 日日色五月天| 99综合一区| 能直接看的av网站| 一起草无码| 丁香六月婷婷综合| 五月天激情婷婷| 国产午夜伦鲁鲁| 国产精品成人网址| 99超碰人人| 久久久激情视频| 无码地址| 久久成人天| 五月丁香六月婷婷姐| 日韩av在线免费观看| 色综合久久88色综合天天99| www.丁香五月| 伊人狼人干| 色色色色色色色色色色色色色97| 色色色欧美| 亚洲婷婷丁香五月亚洲| 五月婷婷五月天激情网| 午夜色婷婷| 亚洲乱码日产精品BD| 操逼视频网址| 五月丁香啪啪啪啪| 五月天激情日色在线| 夜夜骑天天操| 久久久久久久久久8888| 91人妻九色大屁股| 噜噜干日本| 夜夜天天天天天干天天爽| 色婷婷五月视频| 婷婷综合久久| 99在线看视频| 97色碰| 日韩人妻操逼视频| 色九月婷婷| 人人摸人人干| 色狠狠综合| 综合色色婷婷| 99黄色性生活| 婷婷WWW久久| 视频综合网| 色视频五月天| 九九热最新| 九九偷拍网| 六月婷伊人| 黄色一级影片| 久久丁香综合香蕉| 人人草成人视频| 五月丁香成人视频| 国产日产亚洲系列最新| 91热久久| 99re热视频| 丁香五月欧美午夜视频| 亚洲免费综合一区| 婷婷丁香五月综合| 激情小说婷婷五月| 中文字幕按摩做爰| 97人人干人人操| 婷婷射丁香| 亚洲成人AV高清字幕| 亚洲色碰| 五月丁香六月婷婷姐| 天天碰夜夜操| tingtingjiqingwuyue| 五月天综合色| 国产探花一片区| 丁香五月激情月| 九九热99热| 免费AV在线| 色五月女| 热婷婷av| 丁香丝袜五月| 无码激情AAAAA片-区区| 五月天激情综合在线| www.maotanji.com| 色综合偷拍| 五月婷婷色激情| 色无婷婷| 99er在线观看| 国产午夜精品一区二区三区嫩草| 五月天色色激情综合| 97AV在线视频| 婷婷色在线观看| 丁香五月日韩| 成人av在线网站| 激情六月天婷婷| 99热性色| 激情五月婷| 婷婷丁香成人五月天| 五月天国产| 综合网网欲色| 五月丁香六月婷婷激情视频在线观看免费 | 久久98| 色播六月| 丁香色五月婷婷17C| 综合色五月| 婷婷五月av| 色色色com| 色之综合网| 97色在线| 亚洲AAAA网| 欧美日韩成人综合9| 永久AⅤ1| 欧美精品久| 婷婷五月,偷窥偷拍网| 9福利性视频欧美| 国产白丝在线一区| 激情五月综合网| 婷婷丁香五月亚洲17cao| 色婷婷综合久色AV五色最新| 欧美顶级少妇做爰HD| 五月丁香六月婷婷免费视频| 国产AV成人精品| 色色色9| 超碰97干| 久热婷婷| 欧美精品熟女一区二区| 综合五月丁香97| 丁香综合网| 天天干夜夜操A片| 日本一級黃色一級片| 色吧五月婷婷| 站长推荐无码播放| 激情五月天综合网| 久热网在线视频| 99综合自拍| 九九热在线精品视频| 激情丁香五月激情婷婷| 91精品国产色猫| 亚洲av网站| 我要色综合五月婷婷| 久草婷| 五月丁香综合激情网| 婷婷,五月天,丁香,第一| 亚洲第一成人无码A片| 婷婷五月草| 色9999日韩国产| 亚洲妇女熟BBW| 很很干天天干| 99热久只有精品首页| 色九月丁香婷婷蜜桃在线观看| 九九99热| 99这里只有精品在线| 光棍影院日韩精品| 99热精品在线| 99热碰碰| 欧美丁香六月激情视频| 婷婷五月丁香超碰| 午夜天堂一区人妻| 97碰碰在线观看视频| 91久久色| 五月天激情综合网站| 神马欧美精| 香蕉久久国产AV一区二区| 日日爱699| 色噜噜狠狠色综| 97超碰9久热婷婷热| 激情五月天 婷婷| 亚洲五月天伊人| 天天谢天天操| 可以看的AV| 久久一二三视频| 97碰| 日本熟女啪啪| 色色国产| 真实亲子乱子伦高清在线观看| 国产伦理精品高清在线观看网站一区二区| 欧美十二区| 色情婷婷五月天| 五月天天视频| 五月丁香狠狠地噜噜噜噜| 9+1视频网址| 91pornav在线| 欧美性爱五月天| 国产精品久久7777777精品无码| 九月色婷婷综合| 日日干夜夜干| 97色干| 99这里只有精品| 伊人色欲五月天| 婷婷色五月天第7色| 99久久婷婷国产综合精品草原| 色色婷婷色色| 色婷婷播放| 国产成人精品亚洲线观看| 五月丁香婷婷中文| www.婷婷.com| 四月丁香五月婷婷久久| 日日操,夜夜撸| 婷婷丁香五月激情图片| 色情五月天小说| 丁香六月婷婷综合激情欧美| 射区导航| 六月丁香停| 久久超级碰视频| 丁香五夜激情四射夜夜夜| 色婷婷呢狠禁久禁| 专区无日本视频高清8| 在线播放成人网站| 99超级碰免费视频| 五月激情综合网| 人妻精品一区二区三区| 欧美色色色| 五月综合久久| 欧美在线视频99| 色播五月丁香| 99精色| 大香蕉久久| 97自拍视频在线| AV电影在线播放| 99精品久久| 嫩草AV久久伊人妇女超级A | 草五月| 九九色热视频| 亚洲色模骚货| 婷婷五月在线播放| 亚洲精品色| 日本久久精品18| 久操无码| 婷婷综合激情| 激情五月天综合网| 免费视频在线观看的网站| 亚洲春色奇米影视| 日韩国产AV播放| 超级碰人人操人人干| 婷婷中文网站| 成人 在线 日韩| 欧美群妇大交乱婬网| 日韩无码一区二区三区四区| 五月激情丁香五月宗合| 伊人狠狠干| 婷婷色五天| 99热国产这里只有精品| 色色色热| 岛囯综合激情网| 久操干| 婷婷五月天成人网| 五月丁香色综合| 久久性爱视频这里只有精品| 视频一二区| www.久久| 99久久久久久久| 开心久久五月天| 欧美操人| 天天干,噜噜色,狠狠色| 99视频这里只有久久精品| 久久五月婷婷开心网| 婷婷基地爱| 日日夜夜天天综合| 无码少妇高潮喷水A片免费| 啪啪视频99| 青青草a在线| 国产免费一区二区三区三州老师F1F1.CC| 综合99在线| 99九九玖玖| 久久综合爱| 中国女人做爰A片| 久99久热只有精品国产99| 666555。COm毛片| 久久这里有| 色婷六月| 婷婷色在线| 丁香五月第四色88| 色五月婷婷大香蕉| AV九九| 天天色五月| AV中文字幕夜夜操b天天摸bb | 中文字幕精品无码一区二区| 丁香六月情| 99自拍网| 国产成人精品123区免费视频| 99热免费精品| 另类综合激情| 成人午夜视频精品一区| jiqingliuyuetian| 欧美精品999| 毛片九九九九九九| 色丁香五月| 久久久久9999| 天天爽天天摸| 日韩在线9| 人人爱操| 热99在线| 久久99这里只有精品| 久久视9精| 九九色欲网| 激情五月天之五月婷婷| 五月丁香综合久久夜夜| 五月丁香激情啪啪| 婷婷开心激情综合五月天| 182TV大香蕉| 国产精品99久久久久久久女警| www激情com| 五月丁香久人妻中文| 嫩草视频。| 狠狠操狠狠插| rr天天操| 色五月开心五月激情五月| 视频在线免费观看欧洲乱码| 亚洲另类电影| 亚艹艹| 丁香五月影视| www.99视频| 免费黄网不卡AV| 久综合网| 六月丁香综合999| 97极品在线| 日韩精品一区二区三区,四区,五区视频| 五月综合缴情网| 99热九九这里只有精品| 中文字幕欧美精品久久| 五月丁香婷婷色| 视频一二区| www.sezonghe| 色狠狠五月天| 97超级操操| 成人丁香婷婷| 丁香五月成人网| 99无码视频| 天天日夜夜操五月| 天天色天天搡| 色婷婷色| 97碰碰久久| 丁香六月啪| 色五月超碰| 亚洲色色香蕉| 亚洲五月天综合| 我爱大香蕉| 91亚洲天堂| 99热综合在线观看| 九九黄色网| 色五月天堂| 五月丁香六月激情视频| 伊人狠狠操| 天天色爽| 开心五月六月婷婷| 成人版视频在线观看| www狠狠爱com| 久99999热视频在线观看免费| 天天干 夜夜爽| www.maotanji.com| 五月丁香六月婷婷欧美综合| 天天色色婷婷| 五月婷婷色男女| 国产乱码久久| 开心五月婷婷激情| 五月丁香激| 色色日本欧美| 人操人| 97色综合| 婷婷亚洲在线| 九九操屄| 天天躁日日躁狠狠躁日日躁2022年5月9日 | 丁香五月天无码AV| 五月丁香另类图片| www久久久久久久97| 久久新地此| 五月天AV大香蕉| 在线91日韩| 综合激情四射一theav| 婷婷五月精品| 激情玖玖综合网| 高清a片基地| 五月天丁香婷婷久久九| 九九爱激情| 丁香六月成人| 熟妇国产| 香蕉99网| 婷婷五月丁香综合桃花色网| 婷婷色色宗合网| 91久久九| 婷婷五月丁香综合桃花色网| 亚洲中文字幕在线观看| 五月激情小说| 五月婷在线| 亚洲网站999| 成人AV免费观看| 激情五月五月婷婷| 六月色色| 亚洲乱码日产精品BD| 九九九激情综合| 五月丁香综缴情性爱| 婷婷五月乱交换| 婷婷五月色色| 色激情综合| 日日日日做夜夜夜夜无码| 激情综合网五月天天| 亚洲性爱AV在线| 丁香狠狠干| 欧美成人猛片AAAAAAA| 无码免费人妻A片AAA毛片西瓜| 懂色av粉嫩av蜜臀av| 色综久久久| 久婷婷色| 婷婷操逼| 欧美色骚婷婷五月天| 国产精品色色色色| 五月丁香啪啪综合| 久超超碰| 99这里只有| 国产又黄又爽又色的免费| 精品成人在线| 色色婷婷色色| 99热自拍| 九九视频精品在线免费| 国产色99| 色99在线观看| 九九av| 超碰操日| 婷婷五月天黄色网址| 久久视频66| 色五月婷婷啪啪五月| 婷婷亚洲五月| 色色色色色色网站| 亚洲九N| 五月天婷婷激情网| 婷婷五月天最新综合你懂的 | 思思99热这里只有精品| 久久九九99字幕| 婷婷另类小说| 天天综合色| 91日在线视频| 碰碰女| 天天拍夜夜爽日日| 五月天婷婷久久视频| 深爱激情五月婷婷| 婷婷色色综合| 黄色精品五月婷婷| 手机激情网| 久久精品99久久久久久| 黑人糟蹋人妻HD中文字幕| 五月婷婷精品视频| 久久久人妻人伦| 五月天久久综合婷婷丁香| 五月丁香香蕉| 婷婷五月性感| 九月丁香亭亭| 艾小青av| 激情色色| 夜夜爱网站| 天天爽天天干| 色婷婷激情四射视频| 激情精品久久| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 天天舔天天爽| 五月婷婷综合网| www.91AV.COM| 亚洲色色在线| 久久在线大香蕉| 610018岁成人视频| 欧美激情综合色综合啪啪五月| 亚洲无码成人性爰网| 97视频.干com| 91国产精品视频播放| 色噜噜狠狠色综合无码久久欧美| 色丁香六月| 99视频内射三四| 欧美色图天堂网色| 99re思思精品在线观看| 狠狠做深爱婷婷久久综合一区| 婷婷色五月婷| 人人综合五月人人婷婷| 婷婷五月天电影网| 91人人操| 精品久久艹| 五月天综合在线网| 玖月婷婷爱丁香| 日本片日本片祼观看网站在线看中文版网页在线看 | 丁香五月天激情综合| 99噜噜| www.成人婷婷综合| 做爰丰满少妇1313| 久操大香蕉| 97五月天| 99re视频在线精品| 在线色五月婷婷| 99色亚洲| 欧美日韩国产一区| 亚洲色情网站| 精品二区| 亚洲丁香五月天在线视频| 久久久网站| 踪合专区啪啪| 婷婷九月丁香久久| 九九av| 婷婷午夜激情| 99精品视频在线观看| 亚洲9久久精品| 99在线精品视频| 五月久久丁香| 欧美精品XXXXBBBB| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 9久热在线视频精品| 五月婷婷丁香在线| 91在线视频观看午夜福利| 五五月五月| AV中文在线| 成人免费高清在线播放| 91婷婷五月天嫩女| 天天久久婷婷| 五月婷婷激情综合视频| 婷婷五月天天| 天天开心AV色综合婷婷五月天| 激情久久久| 激情综合播播| 人人草人人舔| 99惹在线精品免费观看| 激情五月丁香五月| 成人做爰A片免费看网站找不到了| 久热人妻| 九九99免费视频| 激情九月婷婷| 五月丁香999| 丁香六月色婷婷| 九九性视频| 日日干天天| 精品久久婷婷五月天| 97色婷| www.日日日.com| 99精品成人无码A片观看金桔| 欧洲亚洲免费视频区| 人妻丰满精品一区二区A片| 色六月天天激情综合网| 深爱五月婷婷| 狠狠干总合| 一区二区三区四日本| 武汉美女啪啪视频免费一级片| 亚洲亚洲人成综合网络| 3www激情| 婷婷五月天毛片| 久久免费操| 91碰碰碰| www.99热| 天天爽天天透天天爱| 99久久天堂婷婷| 五月婷婷开心网| 男人天堂99| 五月婷婷成人| 婷婷丁香五另类网站| 九九热这里只有精品9| 色爱五月天| 国产精品电影网| 99爱这里只有精品免费视频| 五月天激情偷拍| 爆乳熟妇一区二区三区四区| 香蕉AV777XXX色综合一区| 狠狠干在线| 五月丁香综合啪啪| 成人欧美一区二区三区在线观看| 玖玖精品视频| 亚洲啪啪网| 夜夜躁爽日日| 婷婷四色五月| 日本一级大片| 激情五月丁香五月| www.狠狠狠狠| 色色综合院| 97久久超碰| 婷婷久久六月天| 免费AV在线网址| 九九99在线免费在线观看视频| wwccc久久久| 99免费青青蜜臀| 五月激情婷婷在线| 天天日夜夜操五月| 综合网啪| 国产精产国品一二三在观看 | 精品一二三区久久AAA片| 五月丁香亚洲婷婷|