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

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
返回資訊列表
婷婷色丁香五月| 久久五月丁香| 色婷婷电影网| 欧美超碰亚洲| 九九热免费视频| 伊人青涩网| 久久九九爽| 色婷婷综合电影| 26uuu亚洲欧美| chaopengdaxiangjiao| 色小说婷婷五月天天天| 久久婷五月影院| 黄色录像网点| 97婷婷五月| www.99操.com| www色五月| 超碰在线国产| 国产一区二区av免费| 五月婷婷九| 色五月色情| 色色五月丁香| 伊人五月综合网| 青青草网武则天| 香蕉人在线香蕉人在线 | 激情五月天婷婷| 婷婷综合久久| 婷婷五月色| 99男人的天堂| 四虎国产精品永久在线国在线| 色综久久AV| www,婷婷,com| 狠狠婷婷色综合| 青青久在线视频免费观看| 五月丁香婷婷人体| 97热视频| 婷婷丁香五月天婷婷| 99ER热精品视频| 国产亚洲精品久久一区二区三区| 婷婷久久五月天| 天天操天天操天天操| 欧美婷婷综合| 欧美操综合| 亚洲综合五月天婷婷| www.狠狠操| 婷婷五月深深爱| 4438国产免费看| 婷婷狠狠干| 一级A片天天操夜夜操| 美女五月天婷婷| 狠狠色综合网站久久久久| 伊人网大香| 高清无码 一区 二区 三区| 99热在线网站| 欧美草久久五月天91| 第四色五月激情网| 亚洲VA在线| 久草五月婷婷| 丁香九月婷| 玖玖99免费视频| 久久aaa| 色色综合五月| av婷婷丁香| 久久九九激情五月天 | 六月婷婷狠狠| 久久综合99| 婷婷99狠狠躁天天| 丁香五月色色| 五月婷婷丁香综合| www.日日日.com| 色久在| 国产综合婷婷| 99啪啪网| 在线五月色播| 亚洲五月花| 激情纯色婷婷五月天在线不卡视频| 婷婷五月色惰| 激情五月开心五月在线视频| 日本五月天网站| 九九亚洲小视频| 69热在线| 五月丁激情| 米奇影视资源777狠狠色婷婷五月天激情网| 岛国资源网| 99色综合| 色爱亚洲| 国产婷婷色综合AV蜜臀AV| 午夜不卡久久精品无码免费 | 五月天婷婷色综合| 五月丁香成人| 97日本在线播放| 色情五月综合婷婷| 色偷偷AV亚洲男人的天堂| 亚洲国产精品二二三三区| 超91热| www.婷婷六月天| 色99热| 久久综合影院 | 99热这里只有精品9| 精品爆操| 成人在线精品| 亚洲无码九九九| 任你搞网站| 91se在线观看| 激情开心五月亚洲| 天天综合网站| 69天堂99| 182TV大香蕉| 99视频九九热| 深爱开心激情| 五月激香蕉网| 激情婷婷人妻| 丁香五月影院| 大香蕉手机视频| 色碰碰| 亚洲av网站| 精品久久久久成人码免费动漫| 激情五月天小说网| 亚洲传媒在线观看| 激情黄色五月天| 开心深爱激情网| 人人草人人爱| 色吧网综合| 99ri国产| 色五月综合在线| 五月婷婷丁香五月| 色五月丁香五月婷婷五月成人网| 影音先锋四区| 五月天另类图片区99| 亚洲AV网址| 超碰91在线| 丁香五月激情无码视频| 中文字幕1区2区。| 五月丁香六月香香蕉| 一级A片天天操夜夜操| 天天插天天插天天插天天插| 成人国产综合| 婷婷97色| 五月婷婷福利| 亚洲AV电影av| 国产精品久久在线观看技巧| 色婷婷亚洲婷婷| 99乱视频| 99色在线视频| 成人婷婷五月天| 丁香六月婷婷开心| 天天色天天搡| 国产肥白大熟妇BBBB视频| 午夜]香婷婷深深爱| 久久婷婷五月国产激情综合片| 五月婷婷福利| 夜色.cnm| 五月婷婷六月丁香五月| 国产免费AV在线| 五月丁香天天| 五月天久久色| 99精品大片| 久久伊人五月天| 日本高清久| 91九色精品| 精品热九九| 激情WWW| 国产乱妇无乱码大黄AA片| 丁香五月天网站| 丁香九月久久| 久久这里在精品视频| 日本片日本片祼观看网站在线看中文版网页在线看 | 日本欧美成人片AAAA| 99在线小视频| 级情九色| 日韩 中文 欧美| 五月激情基地| 九九大香视频| 久久五月婷| 婷婷五月AA五月在线| 91超碰在线观看| 亚洲黄色精品| 双性美人被调教到喷水A片| 激情伊人网| 久久久精品AV| 另类图片五月天婷婷| 婷婷五月综合国产精品| 综合网啪| 天天操天天操综合| 久久九⑨| 久久久久久久人妻| 丁香午夜天| 久久精品夜色噜噜亚洲a∨| 五月天激情AV| 肏日网在线看| 狠狠色色| 天天射影院| 国产精品久久久久久白浆色欲| 日日夜夜狠狠| 婷婷久久五月天| 91精品综合久久久久久五月丁香| 日韩二区搞逼插逼毛片| 最新av在线观看| 色五月成人婷婷| Blackedraw视频一区二区| 五月激情站| 五月婷亚洲精品AV天堂| 久久丁香网| 六月婷婷综合激情| www.26uuu.com亚洲电影| 精品一二三区久久AAA片| 婷婷五月天综合久久| 婷婷综合色| 97香蕉碰碰人妻国产欧美| 91狠狠色丁香| 久久久91精品| 五月丁香久久| 亚洲人妻av| 99热在线这里只有精品| av大香蕉| 久久婷狠狠色| 艹天天射| 国产精品色| 丁香五月天婷婷中文字幕| 婷婷五月综合欧美在线播放| www久久久| 婷婷五月综合中文字幕| 99成人| 亚洲综合另类| 综合久久五月天| 狠狠色性| 五月色婷婷综合色| 五月丁香美女视频| 色色婷| 六月丁香啪| 丁香五月激情网| 99国产精品久久久久久久久久久| 第四色首页| 91九色视频| chaopeng在线人人| 91人妻九色大屁股| 欧美色激情四射| 99性爱视频| 99视频只有精品| 成人色站,在线视频,看片-SS1AV| 欧洲色色| 99热免费| 国产看真人毛片爱做A片| 超碰在线人妻| 久久久婷婷| 五月色 亚洲| 久操热| 五月婷婷六月丁香| 66成人网| 麻豆雪千夏| 丁香婷婷视频| 亚洲AV人人操| 亚洲av网站| 99伊人婷婷在线| av首页在线| 在线视频另类| 国产成人av在线| 玖玖婷婷色五月| 天干夜夜操| 人草人人| 色吧婷婷| 五月婷婷五月| 久久综合久色欧美综合狠狠| 色综合99无码 | 欧美色男人网站| 久久婷婷色| 色五月亚洲| 婷婷五月天影院| 涩涩五月天| 97色色综合| 六月婷婷色| 激情婷婷五月| 免费观看全黄做爰的视频 | 亚洲精品久久久久AV无码| 91热爆在线| 丁香婷婷六月| 色婷婷五月天av在线| 99热国产在线| 日91高清无玛| 五月婷婷xxx| 丁香五月天在线观看视频| 狼人久草| 国产乱妇乱子伦| 日韩99色99| 色色啊| 丁香五月98| 日韩人妻AV在线| 无码少妇高潮喷水A片免费| 99久久九九视频| 影音先锋五月婷婷| 欧美久久婷婷| 五月开心激情网| 亚洲综合五月| 亚洲人成色A777777在线观看| 猫咪伊人久久| 婷婷在线中文字幕| 91超碰九色| 操国产人妻| ss视频xx91| 综合网啪| 草草色情综合网| 九九激情视频| 六月激情婷婷综合| 九九99九九99九九99视频网| 99久久综合狠狠综合久久| 激情久久综合网| 99re久久| 直接看的av| 91精品在线看| 亚洲久热无码| a在线观看| 97超级啪啪在线观看| 热99久| www.婷婷五月天,com| 91se在线视频| 天天爽夜夜爽夜夜爽精品视频 | 大香蕉520| 综合色在线| 六月婷婷激情| 五月天激情图片| 丁香五月av| 香蕉五月婷婷| 日日激情网| 97香蕉碰碰人妻国产欧美| 狠狠干.com| 九九色中文| 99爱视频免费看| 99re思思热久久| 天天干天天拍| 91精品久久久久久77777| 亚洲婷婷五月天激情综合| 97综合在线| 99久久久精品| 开心 五月 综合| 丁香六月久久| 婷婷激情五月天激情小说| 久久五月天合网| 大香蕉五月婷婷| 色播jjjj| 五月天堂在线| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 综合99综合久久久久久久| 伊人丁香五月天丁香在线婷| 色婷婷丁香五月丁香| 在线视频你懂得| 激情婷婷视频在线| 婷婷五月视屏| 色婷婷五月综合色婷婷| 欧美激情综合色综合| 婷婷成人五月天| 91丁香五月| 五月丁香婷婷欧美| 任你操精品免费| 五月激情小说网| 男人大jjc女人免费视频| 综合激情开心五月| 国产特级毛片AAAAAAA高清| 91色综合| 狠狠干婷婷| 丁香五月天信号| 成人精品在线| 婷婷色五月婷婷姐妹| 激情性爱五月天| 殴美激情综合网| 91热视频色网站| 青青久久大香蕉| 婷婷五月天激情五月天深爱五月天| 91在线操逼视频| 色人五月婷婷| 婷婷五月激情小说| 五月天开心婷婷激情网站| 热九九九九| 五月丁香婷婷综合视频| 国产婷婷综合| 天天色播| 婷婷丁香一月| 超碰丁香五月| 激情视频网址| 婷婷丁香五月精品| 九九综合88| 色五月中文网| 99re6热在线精品视频播放速度 | 婷婷激情视频| 丁香色五月天| 天堂婷婷丁香六月网| 色五月,com| www.五月天激情| 久久网婷婷| 伊人色综合网| 国产五月丁香在线| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 婷婷五月激情六月| 欧美噜噜久久久XXX| 无码激情AAAAA片-区区| 怡红院视频| 日本成人综合| ..真实国产乱子伦毛片| 国产婷婷综合| 日韩成人精品一区久久久久| 丁香五月天狠狠操| 激情久久久| 丁香六月激情蜜桃| 97人人看| 婷婷五月丁香基| 夜夜躁爽日日| 欧美精品久久久久久视频观看| 天天日中文| 无码色| 五月天色婷好好| 欧美 色婷婷| 性色婷婷| 99热在线观看免费| 热九九在线| 色停停香蕉视频| 亚洲婷婷丁香五月在线| 99噜噜| 性av| 天天插综合| 亚洲 五月 婷婷 成人| 九月婷婷激情| 九九色婷婷Av| 嫩草AV久久伊人妇女超级A| 婷婷五月天欧美| 可以免费观看的av网址| 超极99精品| 五月丁香花视频| 中国AV性爱观看| 九九色综合网| 五月丁香六月婷婷的女人| 五月丁香六月激情综合| 97碰久久| 天天碰天天插天天操| 色吧五月婷婷| 成人在线观看一区| 丁香五月激情啪啪啪| 九九热最新| 99热亚洲| www,天天干| 玖玖伦理电影| 久久久久这里都是精品| 欧美在线97| 久久日本wwww色| 亚洲综合另类| 99免费在线| 天天色噜| 久久婷婷五月免费视频| 综合九九| 国产五月天欧美色| 欧美激情综合色丁香婷婷五月天| 亚洲女婷婷五月基地综合久久久 | 亚洲日日操| 丁香五月婷婷亚洲综合精品在线| 性爱在线播放av| 在线播放中文字幕| 久草五月| 婷婷香香五月| 人人草成人视频| 99热这里都是精品| 在线成人网站| 俺来也综合网精品一区| 久热精品视频在线观| 秋霞A V毛片| 亚洲精品视频电影| 日本啪啪网| 久久999久久999久久999久久| 丁香六月婷婷激情| 强奸幻女毛片| 一本色道久久88加勒比—| 大香蕉天堂色| 热久69| 99热碰碰| 99啪啪视频| 九九碰九九爱97| 久久9视频| 色婷婷影院| 日本怕怕视频| 婷婷中文字幕版| 激情综合网,婷婷五月天| 99爱在线| 五月天影院| 五月情婷婷| 99爱在线视频| 久久婷婷五月天| 婷婷欧美| 草草女人亚洲| 久热9热| 97操碰人人| 激情六月天婷婷| 久热婷婷| 99视频精品全部免费观看| 婷婷激情五月综合在线视频| 人人爽天天爽| 久久婷婷成人综合色怡春院| 精国产品一区二区三区A片| 无码日本精品XXXXXXXXX | 亚洲精品国产A久久久久久| 久9久视频精品| 丁香五月九九| 久久婷婷成人视频| 婷婷五月综合激情免费| 五月丁香大香蕉| www.99色| 丁香五月婷婷久久久| 玖玖婷婷五月| 99精品视频免费观看,| www99热| 97人人搞| 婷婷97色| 97在线精品| 伊人日日干| 婷婷丁香五月在线播放| 色婷婷激情| 色色色九九九五月婷婷| www.91.com黄| 人人操人人爱丁香五月| 99久在线精品99re8热| 亚洲亚洲人成综合网络| 97碰碰在线看视频免费| 激情五月丁香激情综合网| 天天干天天操天天爽| 亚洲操B| 久久综合五月情| 婷婷五月电影院| 热99re| 久热9| 天天射天天操天天干| 婷色五月天| 六月亭亭久久综合激情| 婷婷五月六月丁香| 亚洲婷婷婷| 操逼在线视频| 久操婷婷| 色五月天丁香| 99亚洲视频| 国产精产国品一二三在观看| 中文字幕av久久爽一区| 成人五月天视频| 激情综合五月| 色婷婷综合视频| www.五月瑟| 大香蕉人妻| 中文字幕综合| 久久丁香五月天| 精品9197碰| 久久久婷婷婷| w婷婷五月婷婷w| 日本一区二区三区精品视频| 婷婷六月天精品| 色噜噜狠狠色综合日日| 日韩成人电影在线播放| 久草热在线视频| 婷婷六月激情综合| 深爱网深爱综合网| 日本一级一级一级一级| 一起草AV| 日韩成人精品中文字幕| 九九这里是免费的视频5| 欧美综合激情五月天| 搡BBBB搡BBB搡18| 99自拍视频在线| 大香蕉中文| 99热色婷婷| 亚洲欧美一区二区三区四区爱爱动图| 激情综合网激情五月俺也去| 五月天婷婷永久免费视频| 日日爽夜夜爽| www。五月天。com| 无码成人播放器| 伊人六月丁香婷婷| 五月综合激情久久| 99热这里只有精品 搜| 中文字幕无码AV| ...婷婷国产成人亚洲日韩| 亚洲AV免费在线| 深爱丁香网| 日本三级日本三级99| 激情丁香五月天综合| 99久久久久| 婷婷五月激情网| 超碰久热| 五月天亚洲最大成人| 九九热精品| 九九这里只这里只有精品| 婷婷综合在线| 成人狠狠成人狠狠成人狠狠成人狠狠| 五月综合激情久久| www,天天干| 久久天堂精品| 色区久久| 五月丁香天堂网婷婷| 色五月婷婷成人| 久久 视频这里只有精总| 五月婷护士| 中文在线视频久1| 夜夜躁婷婷AV| 色播五月丁香| 欧美爆乳一区二区三区| 99久久玖玖| 夜夜骑夜夜撸| 婷婷五月丁香成人| Www.狠狠| 天天日天天色| 五月开心深深爱激情综合| 久久精品五月| 色噜噜狠狠色综无码久久合欧美| 大伊久久| 日本色99| 男人操女人高潮91视频| 色婷婷小说网| 激情综合五月色在线| 亚洲岛国电影| 婷婷操逼| 婷婷五月天色综合| 99干视频| 久久久久9久无码视频| 玖玖婷婷色五月| 激情色中文| www.99操| 激情五月天色播| 人人噜天天上| 色婷婷91激情小说| 婷婷丁香综合| 日本熟妇乱妇熟色A片蜜桃| 情久久综合五月天| 丁香五月婷婷婷婷欧美综合| 亚洲精品444久久久久久| 欧美一级色| 五月婷婷六月丁香在线视频| 五月激情四射婷婷丁香| 久99久99精品免| 亚洲亚洲人成综合网络| 亚洲成人网在线观看| 9这里只有精品| 色婷婷欧美| 综合另类激情| 风流少妇A片一区二区蜜桃| 伊人五月天| 色小说婷婷五月天天天| 亚洲激情综合| 五月天色五月天| 亚洲熟女色| 热99玖玖99玖玖99九九| 综合色99| 中文激情网| 人人摸人人搞| 丁香五月天激情综合网| 日韩色色色99| 九九综合九九| www.久久爱.c n| 婷婷视频在线碰| 亚洲另类电影| 五月天久久久| 综合视频久久| 看全色黄大色大片| 天天操天天曰| 婷婷五月丁香六月天亚洲综合| 丁香五月婷婷激情小说| 激情综合在线观看| 亚洲操B视频| av五月天婷婷丁香| 婷婷婷婷婷婷婷婷婷婷丁香| 午夜少妇在线观看视频| 丁香五月天色婷婷| 啪啪91| 丁香五月先锋| 91日视频| 99在线视频播放| 思思热视频| 婷婷丁香色情五月天| 我爱宗和色| 色婷婷精品小视频| 日本婷婷网| site:xiongshengzz.com| www99久久| 爆乳熟女一区二区三区爆乳| 99玖玖视频| 久久婷婷网| 国产AV成人精品| 九九婷婷五月天| 欧美日韩成卜| 色九四色| 午夜激情久久| 五月婷婷黄| 欧美啪啪五月天| 99综合熟女| 国产色网站| 超碰91人人操| 五月婷婷高清| 婷婷丁香一月| 这里只有精彩亚洲视频推荐| 天天天操天天天日| 182TV大香蕉| 综合色情网| 另类综合激情| 无码se| 人妻久久久久久久久妻久久久久久久久| 久久亚洲婷婷| 好吊丝aV| 色久五月天| 色五月成人| 亚洲中文字幕网| www久久99| 色色色五月天婷婷| 五月激情婷婷国产精品久久久久久| 亚洲无aV在线中文字幕| 黄色AV日韩| 色五月aV| 婷婷五月综合网| 91丨九色丨高潮丰满日本| 人人爽天天爽| www.99色在线| 五月天久久婷婷| 激情婷婷亚洲五月| 丁香五月六月综合激情| 99婷婷| 玖玖爱伊人网| 任你操精品免费| 丁香婷婷五月天色综合| 老司机伊人| 91九色网| 任你干线上免费视频有3吗| 99热综合色图| 玖玖九九99| 婷婷97碰碰| 亚洲视频一区| 天堂色婷婷| 色婷五月丁香久亚洲| 色色日本欧美| 热99这就是精品视频| 丁香五月电影| 国产探花一片区| 丁香色五月直播| 成人五月天视频播放| 久99热| 色九月丁香婷婷蜜桃在线观看| 97碰超级人人看| 开心综合激情综合| 99啪| 思思久热6| 操操啪| 免费日本aⅴ中文字幕| 97精品综合久久| 五月天激情开心网| 亚洲a色| 9999综合99综合人| 久久人妻情侣| 激情综合网五月婷婷| 996热re视频在线观看视频| 五月丁香网av| 九九99免费理论| wwww.9免费视频| 激情综合五月色在线| 激情图片婷婷| 色婷婷色和| 色婷婷五月网| 无码人妻少妇色欲AV一区二区| WWW.婷婷五月天.COM| 丁香五月色欲| 亚洲精品V天堂中文字幕| 婷婷五月综合在线| 丁香婷婷五月天激情四射| 九九99偷拍视频| 色婷婷色五月色丁香| 120分钟婬片免费看| 午夜日韩久久久网站| 亚洲性爱区无码区| 中文字幕乱码亚洲精品一区| 亚洲五月丁香综合网| 伦乱天堂| 婷婷色九月| 九月综合| 激情五月,激情综合网| 五月丁香六月综合基地| 色婷婷亚洲综合网站| 狠狠操在线视频| 蜜臀AV在线观看| 美女va| 婷婷丁香五月天激情| 色哟哟精品| 久久久99视频| 九热...av| 成人婷婷| 99久久网站| 色婷婷成人| 精品乱码视频| 色五月婷婷网| 99人这里只有精品| 熟妇内谢69XXXXXA片| www.狠狠狠.com| 免费无码毛片一区二区A片| 色欲婷婷五月天| 日本三级日本三级99| 五月天堂色| 欧美色色色| 开心五月婷婷激情| 成人色情五月天婷婷丁香| 少妇性BBB搡BBB爽爽爽电影| 91小黄书网址在线观看| 婷婷丁香六月天激情四射网| 五月丁香综合激情网| 日本视频欧美观看免费| www999日韩精品| 中文字幕综合网| 久久性视频| 高清无码一区二区三区四区| 婷婷五月五月丁香| 婷婷五月天六月丁香| 视频一二区| 久久五月天婷婷| 天天色五月| 五月婷婷久久爱| 丁香六月欧美| 91一起操| 天久综合91综合首页| 综合久久人妻| 日韩精品999| 五月婷婷啪啪| 久久久久久丁香五月| 9久久AV| 开心五月深爱五月| 狠狠色噜噜狠狠狠888了| 一区中文字幕电影| 丁香五月天激情视频| 人人色AV| 色色婷婷丁香五月天| 99热这里只有精品16| http://www.lingjunshare.com/| 欧洲区自拍| 国产成人+综合亚洲+天堂| 6月丁香婷婷激情| 大香久久综合网| 激情五月天色色网| 婷婷开心综合人妻小说网址| 激情宗合 激情宗合| 涩涩五月天| 吉澤明步Av一區二區| 色色吧综合| 欧美性丁香色色五月天| 五月天激情网址| 中字幕视频在线永久在线观看免费| 色五月婷婷激情| www.激情五月天。com| 婷婷丁香五月天之开心少妇| 精品久久99码| www.狠狠艹| 日日噜狠狠色综| 888久久久| 最近韩国日本免费高清观看| 色欲久久久久久综合网综合网| 亚洲性图一区二区三区| 六月婷婷综合久久| 五月桃花网综合| 极品人妻VideOssS人妻| 亚洲色99| 天天干天天 亚洲| 久久xxxx| www.99热在线| 色色9 9| 99热这里只有精| 97碰碰在线观看视频| 激情综合亚洲色婷婷五月| 六月婷婷色综合| 亚洲AV另类| 级人人91| 国产看真人毛片爱做A片| 欧洲不卡视频| 五月天色丁香| 五月网网站| 婷婷五月天激情在线观看| 久久新地址| 激情丁香久久| 97碰 在线视频观看| 狠狠精品干练久久久无码中文字幕| 九九AV在线| 久久久久久人妻| 天堂AV在线看| 久色五月婷婷综合| 日日干综合| 亚洲中文丁香| 91丨九色丨东北熟女| 超碰猛烈的性猛交| 婷婷色五月天色| 亚洲激情六月丁香| 六月婷婷天堂| 99久久超级| 狠狠爱青青草| 99在线精品免费视频| 久99| 天天综合精品| 色色亚洲| 国产AV一区二区三区最新精品| 丁香五月手机在线| 99热这里只有精品66| 91viP在线看| 99碰网站| 亚洲免费av在线| 五月丁香婷婷综合视频| 五月婷婷日| 97色97干| 天天操无码| 色五月婷婷av| 色婷婷XXXXX| 久青青久| 婷婷热婷婷色| 五月开心啪啪| 婷婷六月五月天综合| 99爱在线视频观看| 婷婷五月天激情电影小说| 色五月天综合网| 殴美综合激情五月天免费视频| 五月天偷拍| 色噜噜狠狠色综合成人网| 开心五月综合激情网| 久久99热这里只有精品| 丁香六月啪| 9热网站| 人人操人人妻| 偷拍九九五月丁香婷婷| 亚洲不卡欧洲| 秋霞黄色一级久久| 影音先锋 91工厂| 亚洲色婷婷五月| 婷婷开心激情| 五月婷婷AV| 亚洲五月天激情| 婷婷五月丁香青青草在线| 激情骚五月| 欧美婷婷日本| 97色五月天| 五月天激情www| 色综合天堂| 99在线精品观看99| 色婷婷狠狠18yy| 日本97在线视频| wWw色五月| 五月天色视频| 99在线视频精品| 日日爽夜夜爽| 免费观看2018www黄色操逼网站| 欧美人久久| 天天操天天操综合| 五月婷视频| 久久五月天婷婷| 色综啪啪| 99爱视频精品| 丁香婷婷激情网站| 99热超碰在线| 九久久九精品视频| 午夜成人AV在线| 激情狠狠丁香月| 五月天丁香婷| 超碰在线免费观看日韩| 噜噜操操| 天天操天天谢| 激情AV| 婷婷操无码| 色婷婷狠狠爱| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪| 九九亚洲综合| 操97在线观看| 亚洲综合在线伊人婷| 影音先锋777xfplay色资源网站| 99热6这里只有精品| 啪啪啪丁香五月| 婷婷五月成人| 国产欧洲欧洲精品久久| 午夜性做爰电影| 在线观看av网站| 色婷婷影音| 五月天另类视频| 五月天色欧美| 99热这里只有精品96| 91操熟女| 亚洲av网址| 狠狠久综合| 亚洲综合色网| 亚洲一区国产传媒| 丁香六月久| 亚洲精品字幕| 99久久99视频只有精品| 国产精品爽爽久久久久久| 亚洲中字AV电影在线网站| 在线五月婷婷小电影| 人人摸人人| 大香蕉在线99热| 天天人人天天爽| 99热99在线| 久艹大香蕉| www.婷婷五月| 五月激情综合婷婷| 精品九九视频| 欧美经典片免费观看大全| 亚洲av网站| 五月婷婷五月天| www.久操| 五月婷久久在线| 欧美 日韩 人妻 高清 中文| 玖玖在线视频| 婷婷五月天激情网| 六月久久婷婷| 丁香五月av| 2022人人操人人看| 成人丁香五月天| 二区成人视频| 毛片色五月| 婷婷五月天性| 婷婷五月花| 玖玖99福利| 婷婷五月天视频| 欧美欧盟性爱网| 丁香婷婷大香蕉| 九九五月天| 激情五月婷婷| 婷婷五月天成人在线视频| 97久久视频| 色婷婷99| 丁香五月影院| 亚洲精99| 少妇性BBB搡BBB爽爽爽视頻| 激情五月六月婷婷综合啪啪| 日本人妻伦在线中文字幕 | 999热成人在线综合网| 五月婷婷操操| 丁香五月天激情网| 五月婷婷 自拍| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 一级黄色影片| 99国产er热视频| 九九AV| 婷婷五月天影视| 精品热青草| 亚洲成人婷婷| 9人人操人人看| 婷婷五月丁香五月| 丁香久色| 偷拍九九热| 99热这里只有精品55| 亚洲无线视频| 国产日比| 丁香欧美| 伊人久久综合| 激情五月天丁香| 思思热99er在线视频| 色综合久久久无码中文字幕999| 涩涩涩.com| 成人中文字幕在线| 亚洲色五月婷婷| 五月伊人视频在线看| 五月停停99| 九九99九九99| 五月丁香视频在线观看| 有码一区二区三区| 99激情在线| 天天爱天天做天天舔| 日本成人内射| 五月天激情图片| A一级操| 五月婷婷激情啪啪| 色色免费网站| 五月婷婷婷婷婷婷艺术| 99综合熟女| 99精品在线观看| 亚洲五月色| 久久婷婷五月综合| 婷婷色色网站| 伊人网大香| 五月色婷婷AV| 色婷婷色情| 强辱丰满人妻HD中文字幕| 亚洲va在线∨a天堂va欧美va| 日本色色图| 1024AV视频| AV九九| 这里只有精品免费视频在线观看 | 久久久久久久久人妻| 九九热a| Y11111111111少妇电影院| 97天堂| 黄色激情五月天| 五月天婷婷三级黄| 激情五月综合久久| 搡BBBB搡BBB搡18| 色色色在线观看| 开心五月综合激情综合五月| 久久六月天| 操逼电影免费看| 久久a热| 操操操Av| 亚洲看av的网站| www.色99| 久久99精品久久久久久青青AR| 亚洲第一综合| 99久热在线精品| 五月婷婷在线综合| 亚洲综合丁香五月| 久久综合爱| 99热69| 亚洲天堂婷婷| 99精品视频在线观看| 婷婷综合亚洲| 天天干狠狠| 久久人妻系列| 天天爽天天爽天天爽天天爽天天爽天天爽天天 | 六月激情网| 五月丁香综合激情| 天天干天天干天天干| 天天摸夜夜夜| 求可以看的AV网址| 欧美狠狠一在草| 黄色成人网站在线播放| 99热久久日本| 伊人99久久| 日本不卡一区二区三区| 色婷婷丁香五月| 日本精品99| 天堂久久婷婷| 久久人妻人人| 噜噜久| 欧美激情2025| 五月婷婷在线网站| 天天免费成年人视频| 天天艹天天综合网| 婷婷天堂站| 超碰人人超碰| 五月婷婷丁香大陆免费| 99热精品10| 懂色av蜜臀av粉嫩av永陈冠希| yirenjiqingshiping| 天天综合天综合久久网| 精品国产AV色一区二区深夜久久| 能看的AV| 精品人妻伦九区久久AAA片| 97久久超碰| 色九九综合| 日本综合久久| 超碰99热| 在线另类| 免费视频WWW在线观看网站| 天天操天天插| 久久精品99国产精品日本| WWW.桔色成人.COM| 成人做爰高潮A片免费视频| 成人无码精品1区2区3区免费看| 蜜桃成语时李时珍 免费| 欧美私人家庭影院| 秋霞少妇AV网站| 丁香五月婷婷色综合| 九九精品免费视频99| 国产99久9在线+|+传媒| 99热在线网站| 婷婷五月天AV在线| 日韩高清成人| 婷婷色女| 丁香五色月婷婷网| 五月天欧美激情| 激情性五月天免费小说视频| 婷婷五月天黄色小说| 色婷婷狠狠| 成人丁香色| 久久这里只有精品热在99| 欧美交换配乱吟粗大25P| 日产精品一线二线三线芒果| 婷婷六久久| 伊人网啪啪| 人妻22p| 六月婷婷狠狠色在线观看| 五月婷婷九| 九九热在线精品视频| 丁香六月啪啪啪| 丁香激情五月天| 亚洲日韩成人三级av| 婷婷五月天首页激情| 青青草色在线视频观看| 天天日天天插天天操| 26uu| 五月天色影院| 97人人射| 中文字幕丰满孑伦无码专区 | 精品久久9| 色五月婷婷五月久久| 岛国AV网| 日日夜夜婷婷| 久久婷婷七月丁香| 91九色中文字幕女在线观看| 婷婷伊在线| 丁香五月婷婷在线观看| 老司机伊人| 婷婷伊人综合| 色五月婷婷色| av在线色五月丁香婷区久| 欧美日韩123| 日本强伦片中文字幕免费看| 1234操逼网| 色色色在线播放| 99re6久热只有精品6在线直播| 五月婷婷六月色| 婷婷丁香综合在线| 性色欲情 网站| 五月婷婷片| 九月丁香| 成人资源在线| 天天爱天天做综合| 99久超碰| 操逼五月婷婷| 99精品在线观看| 另类综合婷婷五月天欧美视频| 涩涩涩五月天| 9 1 A v久久久| 色情·com| 久色激情| 九九久久9 9在线观看| 激情五月天久久丁香| 欧美人妻一区二区| 99热| 五月丁香激情四射| 色色色.COM| 精品一区二区三区免费毛片爱| 色色色在线| 激情六月日韩| 丁香婷婷视频| 婷婷激情五月天在线| 丁香五月影院| 久久丁香婷婷五月| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 婷婷色六月| 日韩激情人伦人| 综合网五月| 99伊人性爱在线影院| 丁香 婷婷 亚洲 熟女| 99精品国产在热久久| 亚洲成人综合在线| 99热网址| 亚洲在线成人| 婷婷激情五月综合丁香社| 天天日天天爽| 天天久久66xxx| av在线免费播放| 日韩淑女人妻luan伦激情精品一区二| 开心色播色五月婷婷| 天天插天天干| 日韩 欧美 国产 一区 二区| 99丁香五月婷| 久热久操久热久草国产91| 99这里有精品视频视频| 婷婷综合丁香| 丁香五月天欧美在线| 中文字幕无码人妻少妇免费视频| 色五月综合激情| 99热这里都是精品| 综合色影| 九九色色| 伊人9在线| 激情五月综合婷婷| 久久99免费视屏| 99色亚洲| 青青色com久久| 欧美日本va| 久久日曰| 人人干人人看| 久久久五月天网站| 看片视频在线免费日产在线看| 国产第99页| 很很干天天干| 丁香五月婷婷天堂大香蕉| 五月丁香六月婷| 丁香五月在线自慰| 大香蕉520|