免费国产精品自在自线-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
返回資訊列表
91 久热| 九九成年视频| 99超在线| 免费无码毛片一区二区A片| 午夜婷婷久久 | 婷婷深爱五月丁香网| 色综合五月天| 99色最新在线视频网站| 久久加勒比| www.操.com| 在线看九一V图片| 五月天婷婷丁香蜜桃91| 六月丁香开心婷婷欧美| 超碰9| 99资源在线视频| 99这里| 亚洲人妻电影| 六月婷婷激情| 99热这里只有精品26| 久久大香蕉| 久Se视频在线观看| 91一起操| 国产精品久久久久久五月天加勒比| 国外亚洲成AV人片在线观看| 五月丁查人人| 99视频在线看| 五月丁香婷婷色| 激情五月天啪啪视频| av九九| 色色色综合视频| 国产真实乱了老女人视频| 激情五月www| 久久久久久久久久久月丁| 91狠狠色色丁香婷婷综合久久| 九月婷婷综合| 最熟少妇乱码| 青青草五月天| 天天做天天爱天天爽综合网| 五月丁香爱婷婷深深| 激情五月天色色网| 九九视频在线观看| 狠狠色丁婷婷日日,伊人激情综合网| AV成人在线网站| 六月色五月天天婷婷| 丁香六月婷婷色XXXXX| 99婷婷国产最新视频| 国产1区2区3区在线观| 五月天婷a在线| 五月丁香六月婷婷在线| 秋霞少妇毛片| 狠狠色综合网| 婷婷六月激情丁香| 天搞天天天天天| 无码人妻少妇色欲AV一区二区| 激情综合网激情五月丁香| 97超碰在线免费观看| 欧美人妻一区二区| 涩五月婷婷| 久久性视频| 九九AV在线| 色黑鬼导航| 99ER热精品视频| 天天日夜夜爽| 青青草视频福利| 久9精品| 五月综合久久| 国产激情AV| 亚洲婷婷六月天| 久久9999| 91n啪啪| 丁香六月欧美| 综合久久五月天| 丁香五月激情综合| 踪合专区啪啪| 五月婷婷综合在线视频| 国自产拍偷拍精品啪啪一区二区| 激情综合五月天| 婷婷五月免费在线| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 欧美性色A片免费免费观看的| www.99热. com这里只有精品| 激情五月婷| 婷婷五月天天| 啪啪啪大香蕉| 色婷婷av在线观看| 久久3p| 五月丁香色狠狠干大屄| 夜夜操夜夜爽| 九九热这里只有精品5| 丁香婷婷久久综合在线| 97超级碰人人| 99免费超碰在线| 色色婷婷丁香| 色婷婷狠| 激情小说视频图片| 五月情色天| 我要色综合五月婷婷| 2017狠狠干| 五月婷婷亚洲天堂97色婷婷| 这里只有精品96| 99这里只有精品|v| 91五月天| 少妇综合网| 天天干天天爽天天操| 五月丁香激情片| WWW.HENHENL.| 91操在线| 操比激情五月| 色444综合网| 99热在线观看| 潘金莲AAAAAAAAAA| 日本色超碰| 五月Huangsewang| 成人资源在线| 五月丁小婷婷激情四射| 久99在线| 99久久偷拍视频| 久久精品凹凸分类| 色色色九九九五月婷婷| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 激情纯色婷婷五月天在线不卡视频| 亚洲色碰| aaa丁香五月天| 欧美色99| 天天做天天要天天爱| 99热青青草| 999久久久国产精品| 性爱五月婷婷| 99色五月| 亚洲无码另类| 狠狠色五月激情| 91色婷婷综合久久中文字幕二区| 91Chinese在线| 日本97在线| 婷婷久久五月天中文字幕在线观看| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 香蕉97碰碰碰超视精品| 超级碰 久久9| 一级性感毛片| 伊久久婷婷| 亚洲无aV在线中文字幕| 九九色影院| 99精品偷拍视频| 日韩精品一曲二曲三曲四曲五曲| 综合久久激情久久| 五月婷婷六月丁香首页| 99久久这里只有精品免费官网| 日本大逼91| 亚洲视频另类| 玖玖婷婷五月| 天堂婷婷五月在线| 深情五月天| www.天天日| 婷婷午夜综合| 激情综合久久| 色婷小说| 五月天久久婷婷| 狠狠色婷婷7777久| 九九一综合精品| www.25五月婷婷| www.99热国产| 99在线精品视频免费观看20| 棕合影院色色| 五月激情小说| 九九热99在线视频| 91色在线/日韩| 激情五月开心五月在线视频| 中文字幕久久一区二区三区 | 91久热| 久久一热| 黄色网址五月婷婷| 丁香五月天.com| 色色丁香五月| 国语对白性爱视频播放| 丰满熟女人妻一区二区三| 久久最新色| 久久丁香五月天| 成人av播放| 99精品女人天堂| 狠狠综合| 激情婷婷啪啪| 色色色色色综合| 丁香网站| 婷婷丁香成人五月天| 五月天综合久久| 99热99热在线观看| 色婷婷激情| 五月丁香影视| 久久丁香九| 久久婷五月| 五月天激情.com| 成人视频婷婷| 99视频精品| 99久久综合狠狠综合久久| 色日本综合| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 婷婷色网| 欧洲激情精品婷婷| 久久久亚洲精品一区二区三区浴池| 欧美激情久| 天天看片日日夜夜| 在线观看av网站| www.夜夜| 亚洲在线资源| 久久偷拍综合五月天| 人人操99| 五月丿香啪啪| 五月婷婷视频啪啪美女| 色五月五月天色婷婷色五月| 99热综合在线观看| 婷婷五月综合欧美在线播放| 99re在线精品视频| 激情国产五月| aaaaaa片| 日本道久久91| 超碰93在线观看| 97色伦另类图片小说视频| 99狠狠色| 无码成人AAAAA毛片AI换脸| 久久五月天网| 欧美VA在线观看| www.夜夜| 一区二区成人电影| 激情五月婷黄版| 五月Huangsewang| 色99在线| 午夜成人网站在线观看| 日都一级A片| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 丁香六月综合激情| 国产免费一区二区在线A片视频| 欧美色六月婷婷| 99热主页日本| 婷婷五月天午夜激情影院| 丁香婷婷五月六月天| 操操啪| 婷婷综合另类| 丁香成人视频| 中文字幕有多少字| 千人斩操逼| 天天噜| 五月丁香另类网| 欧洲亚洲免费视频区| 99视频久久| 小泽玛利亚视频一区二区| 亚洲成人乱码av网站| 久久六月综合| 女高怪谈在线观看| 婷婷丁香久久| 99久久国产成人精品| 伊人五月婷婷| 久久aaaaa| 精品怡红九九九| 97在线视频观看| 五月丁香六月香香蕉| 欧洲色| 激情丁香五月| 久久婷婷婷婷伊人| 日韩成人影片网站| 影音先锋 婷婷| 黑人糟蹋人妻HD中文字幕| 深爱激情中文五月天av| 亚洲无码99| 9九色首页| 日狠狠| 婷婷五月天涩涩| 久久A V无码视频| 日韩欧美不卡| 六月婷婷久久| 五月香蕉婷婷| 色五月综合激情| 色99色| 激情五月天综合图片小说网站| 99热精品在线| 九九视频精品视频精品| 五月婷婷性爱网| 五月婷婷在线观看| 色色色色色色色色色色色色色五月天| 丁香五月六月| 大香蕉75线| 深爱激情五月网| 99小视频在线观看| 这里只有精品网站| 99噜噜| 欧美 日韩 成人 在线| 五月天三级久久| 婷婷九月在线| 久久婷婷五月天| 日日噜噜夜夜狠狠久久丁香五月| 久久久久亚洲A∨成人乱码电影| 丁香六月激情综合| 女力报到正好爱上你| 国产特级毛片AAAAAAA高清| 亚洲爱爱无码婷婷色五月| 4399成人黄A片| 激情网站五月| 亚洲AV无码成人电影| 99热亚洲精品66| 九九九午夜视频| 欧美人人操| 九月丁香| 97精品人人A片免费看| 久久只这里有精品| 日本毛片内射| 91viP在线看| 日日噜狠狠色综| 国产3p露脸普通话对白| 99精品免费视频| 婷婷五月激情欧美| 日日操夜夜擼| 激情丁香五月| 99这里只有精品国产| 成人龟情网丁香五月| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 丁香五月婷婷啪| 亚洲无码成人网| 久久五月婷6 9| 久久99激情丁香婷婷小说网| 亚洲激情av| 无码激情AAAAA片-区区| 国产激情婷婷| 激情婷婷五六月天| 91fuliwang| 色噜噜综合网| 日本特黄aaaaa| 五月做爱| 超碰91在线| 精品皮股午夜AV| 91色在线 | 日韩| 九色视频91| 99热精品在线播放观看| 婷婷色在线播放| 日韩视频99| 成人丁香五月| 亚洲激情电影五月天色婷婷丁香一起草 | 色婷婷亚洲六月婷婷中文字幕| 久久激情五月婷婷| 人人操人人妻| 日日噜噜夜夜狠狠久久丁香六月| 九九99精品视频在线观看| 色综合久久天天综合网| 99热欲| 五月天综合视频| 五月开心深爱激情网| 五月婷亚洲精品AV天堂| 亚洲天堂有码| 亚洲激情久久| 五月婷婷丁香| 五月天.com| 激情的五月婷婷蜜桃| 99啪啪骑| 亚洲激情AV| 色五月大| 亚洲aV写真天天综合网久久 | 26UUU欧美| 九九激情视频| 日本特黄aaaaa| 丁香六月激情四射| 丁香香蕉婷婷| 玖久久网站| 人妻久久久久久| 九九视频在线| 五月婷婷深爱六月| 97九色| www.91AV.com| 九九丁香社区欧美激情| 免费无码毛片一区二区A片| 五月婷婷深深爱| 色5月婷婷| 亚洲、欧美、国产另类笫二区| 九月婷婷人人操人人舔人人爱| 五月天婷婷久草丁香| 91操熟女| www,色婷婷| 99re最新地址| 综合五月天天天天天五月| 91狼友视频在线观看| 久久综合九九| 人人干99| 噜噜狠狠色综无码久久合欧美| 丁香婷婷五月天色播| 婷婷综合av| 日日操夜夜擼| 俺去也五月| 丁香六月婷婷色XXXXX| 久久99这里只有精品视频| 色久婷婷五月| WWW.夜夜操.com| 久久久久久9| 97操碰人人| 五月黄色婷婷| 天天综合色99| www.色色com| 亚洲天天操| 超碰在线免费| 久久女婷| 99久久网站| 婷婷免费视频| 99热综合| 色五月大| 亚洲欧美综合7777色婷婷| 日日日日日| 五月天激情久久| 天天久综合| 丁香六月婷婷色XXXX| 婷婷五月美女直播| 99ri久久| 超碰91av| 九月婷婷久久| 亚州激情网| 狠狠艹狠狠艹| 成人天天爽| 99国产er热视频| 日韩免费乱轮网站| 日韩抽插操逼| 五月丁香六月婷婷中文版| 五月花成人网| 99热这里只有的精品视| 深爱开心激情| 人妻久久婷婷| 99精品在这里| 风流少妇A片一区二区蜜桃| 天天爱天天操| 亚洲无码影音| 久久人操-久草婷婷-成人AV| 亚洲成人高清在线| 激情五月天婷婷直播| 丁香六月婷婷久久综合| 99这里有精品免费| 亚洲激情视频网| 综合xx网| 天天日日综合| 色99自拍| 欧美精品999| 免费精品99| 国产成人精品一区二三区熟女在线| 免看黄大片AA | 日本少妇裸体做爰高潮片| 日韩久久成人| 五月天另类图片区99| 婷婷五月综合久久中文字幕| 九九久久99| 五月综合777| 激情婷婷内射| 伊人五月天婷婷| 色天五月天在线观看视频| 日本欧美成人片AAAA| 色婷| 国产在线aaa片一区二区99| 偷偷与邻居做爰完整视频| 婷婷五月天VI| 婷婷五月天丁香社区| 91蜜桃婷婷狠狠久久综合9色| 成人羞羞啪啪 全 视频| 久久九九热视频| 亚洲婷婷五月天激情| 五月天色婷婷综合| 丁香五月成人网| 激情综合网激情五月俺也去| 色婷婷a| 激情六月下句是什么| 成人精品99| 成人电影在线免费试看| 午夜天堂一区人妻| 欧美VA视频| 99热思思久| 深爱五月天天| 久久草大香蕉| 99热这里只有精品8| 1024AV视频| 亚洲四色五月| 婷婷激情肏屄网| 99aese| 另类 在线| 婷婷在线播放| 五月丁香啪啪综合网| 色婷婷五月综合| 色婷婷五月天小说网| 久久久99免费视频| 日本婷婷五月天| 无码激情AAAAA片-区区| 国产免费性爱| 久久久久9| 激情婷婷六月| 人妻少妇色综合| 五月婷婷日本| 五月丁花色综合网| 亚洲99热| 欧美超碰人人| 亚洲九九在线| 婷婷五月激情综合| 五月色丁香| 婷婷五月天亚洲丁香| 欧美影院婷婷| 婷婷久久天堂网| 99视频久久免费视频| 六月婷婷色色色| 99在线视频观看| 婷婷色导航| 久久爱婷婷| 熟女人妻一区二区三区免费看| 亚洲天99| 亚洲激情五月| www.seqingwuyuetian| 97久久精品| 亚洲第一精品成人999久久精品| 国产成人精品亚洲线观看| 久久 婷婷 五月天| 色偷偷综合| 美女久久婷婷| 日本婷婷综合精品| 九九热这里只有精品6| 97超级免费无码| 欧美激情xxxXX| 99视频在线| 热99久| 99久久er| 国产精产国品一二三在观看| 六月婷婷网| 五月天婷婷综合免费| 欧美A级成人婬片免费看理论| 噜噜狠狠| 狠狠干综合| 久久伊人9| 色欲色香伊人| 色综合色色色色色色综合| 欧美天天爽| 久久久久久欧美精品se一二三四| 五月婷婷深深爱| 天天色综合网1| 亚洲无AV在线中文字幕| 好好日激情五月天| 国产欧美精品AAAAAA片| 日韩人妻无码一区二区| 丁香五月久久| 六月丁香基地| 亚洲无AV在线中文字幕| 99热这里只有精品亚洲| 成人做爰A片免费看视频| 久久婷视频| 丁香五月成人av| 91VIP在线观看| 亚洲人人操BD| 91在线人| 五月色综合网| 成人在线日韩欧美| 99热天堂| 色婷| 囯产精品久久欠久久久久久九大| 五月激情丁香五月| 亚洲黄色影视| 天天射综合网站| 久久婷婷五月综合色奶水99啪| 五月婷婷婷| 五月天天天天天天天天天天天婷婷婷| 丁香五婷婷| 五月婷婷色影院| 五月天堂色| 丁香九月婷婷| 91久久久久久久| 另类视频在线| 无码一区二区日韩| 女人高潮内射99精品| 二人电影免费版在线观看| 开心激情婷婷| 丁香五月第四色88| 97色视频网| 激情丁香五月| 久久激情天堂| 超碰久热| 伊人网色婷婷五月天| 91九色 熟| 婷婷视频在线| 538任你爽视频不一样的| 99视频精品全部免费观看| 色综久久久| 婷婷五月天天爽| 色色色色综合网| 婷婷丁香成人| 色婷婷五月色| 999久久久国产精品| 久操激情| 婷婷五月 丁香六月| 伊人久久丁香狠狠婷婷综合香蕉 | 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 日韩另类在线观看| 激情五月久久| 免费视频这里只有精品| 日韩超碰在线| 丁香五月激情综合| 99视频这里只有精品10| 99日本精品视频热| 激情综合五月| 99成人精品| 五他月天啪啪啪| 亚洲AV网站在线观看| 狠狠色噜噜狠狠色噜噜噜999| 国产婷婷婷| 色综合五月| 丁香婷婷色五月| 天天插操| 99自拍视频网站| 翔田千里aV中文字幕| 特黄三级又爽又粗又大| 婷婷丁香五月亚洲| 日日夜夜爽| 成人 在线 日韩| 五月天色小说| 亚洲AV人人操| 色天天综合成人网| 97综合在线| 久久久久9久无码视频| 8区视频在线| 婷婷丁香五另类网站| 五月丁香综合成人社区| 夜精品无码A片一区二区蜜桃| 99热这里只有精品3| 97人人干| 99欧美三级视频| 丁香五月香蕉| 超碰爱爱爱| 99re思思热这里| 久久9精品视频| 国产SUV精品一区二区6| 婷婷在线视频| 色99综合视频| 国产亚洲色婷婷99精品| 九九九九九九综合| 日本啪啪视频HD| 午夜激情综合| 婷婷五月天激情丁香| 婷婷久久综| 九九热这里只有精品9| 99精品在线播放| 99re思思热久久| 人妻性爱| 操97| 久久综合网桃花| 影音先锋美国A| www99热| 99A片| 九九在线免费观看| 思思色播| 九九综合伊人| 伊人久热91| 97丨九色丨国产丨PORNY| 色婷婷婷婷| 终合激情网| 天天拍久久| 日本a片网址| 久9热视频| 久久精99| 亚洲无码影音| 国产偷人爽久久久久久老妇APP| 日本三级日本三级99| 天天操人人干| 丁香五月综合网亚洲综合欧美狠狠| 色婷婷婷av | 97人人操人人拍| 亚洲爆乳无码精品AAA片蜜桃| 99日韩| 五月天婷婷综合网| av狠狠操| 丁香五月天啪啪a日本| 色色色视频免费无码 | 中文字幕 中文字幕明步| 九九热这里只有精品6| 国产综合婷婷| 五月综合色| 这里只有精品在线播放| 伊人婷婷激情| www.夜夜夜| 蜜臀av无码久久久久久久久| 久久婷婷成人视频| 午夜成人网站在线观看| 久久视频婷婷视频| 91九色国产| 日韩在线视频中文字幕| 国产五月天婷婷| 七七九九色色| 91精品刘玥| 精品日本视频444| 色色欧美。| 精品9197碰| 日本一级黄色片。| 久久se 综合网 | 婷婷丁香五月av| 激情婷婷五月久久| 婷婷综合另类小说| 色黑鬼导航| jiujiu热在线视频| 婷婷日在线观看| 久久亚洲色导航| 丁香八月综合激情| 激情综合另类| 岛国AV网| 大天天伊人| 99色热视频| 色色色999| 五月丁香六月激情欧美综合| 九九无码| 午夜不卡久久精品无码免费 | 久久九精品| 婷婷五月天另类网站| 五月天激情啪啪| www天天色天天射| 久9视频免费播放| 色婷婷久久| 99免费在线| 五月天伊人久久久久| 4399在线日本A片| 久久九九99| 婷婷五月天基地| 亚洲婷婷性爱| 精品九九网| 色综合久久综合中文综合网| 五月天开心激情网色欲无码| 99视频精品全部免费 在线| 色色哒五月婷婷六月丁香| 九九亚洲| 五月婷婷丁香六月| 六月婷综合| 丝雨一区二区| www.五月婷婷久久.com| 男人天堂亚洲综合| 色婷婷社区| 97操碰视频| 色播五月婷婷| 日韩综合成人| 激情五月综合第一页| 91碰碰碰| 五月天婷婷五月| 播五月开心婷婷欧美综合| 99热在线播放| 五月天婷婷综合色| www.久久爱.com| 久久作爱| 九九色热视频| 九月激情网| 久久婷婷色情7777网站| 婷婷午夜激情| 九九久久99| 丁香五月综合激情性爱| 无遮挡国产高潮视频免费观看| 五月色丁香婷婷综合| 中文字幕在线资源| 丁香丝袜五月| 三级三久久线久久99久目本WW| 亚洲精品无人区| www.久久爱.c n| 在线va网站| 婷婷五月综合激情免费| 婷婷激情九月| 狠狠五月婷婷| 色婷婷丁香| 狠狠干伊人| 色欲色香综合网| 91日本在线免费| 色天天综合天天综合频道。 | 狠狠操狠狠干综合| 亚洲九区| 99免费超碰在线| 丁香婷婷五月色成人网站| 操人妻90p| 另类激情五月在线视频欧美| 99热国品| 四色永久成人网站| 五月天天爽| 91丨九色丨大屁股| 色爱99| 狠狠色 综合色区| 67194国产| 一操久久| 五月天电影网| 五月丁香婷婷综合网| 婷婷五月天精品| 激情五月婷婷色综合| 色婷婷综合网| 停停五月色宗合| 日日夜夜噜噜爽爽| 五月天激情网图片| 99热99美国在线观看| 99热色在线精品| 九月婷婷综合| 99人碰碰碰| 天天色噜| 婷婷五月天av| 久久多色| 五月婷婷色播| 麻豆忘忧草午夜| 五月深爱婷婷| www.操.com| 婷婷激情在线| 综合久久99| 亚洲视频另类| 丁香五月丁香伊人| 97综合在线| 色色色999| 五月天社区婷婷丁香社区| 激情综合五月丁香六月婷婷| 激情校园 亚洲| 婷婷五月婷婷| 色色丁香婷婷| 另类图片色五月| 免费AV在线| 99热在线只有精品| 九九艹女| 丁香五月第四色88| 逼特逼在线免费播放| 就99这里只有精品| 欧美成人精品A片免费一区99| 久久综合中文| 九九色色网| 亚洲色人妻| 开心五月网| 无码激情AAAAA片-区区| 人人干天天舔| 这里只有精彩视频| 色墦五月丁香| 91碰超| 国产九九一区二区三区| 婷婷五月天色播| 97人妻碰碰碰碰碰久久久久久| 五月丁香激情婷婷综合字幕| 99婷婷| 五月丁香啪啪啪免费看| 激情五月综合网| aaaaa黄色| 天天做天天爽| 激情婷婷丁香色五月综合| 婷婷五月天av| 婷婷丁香五月激情中文字幕版| 9国产在线视频| 夜夜夜夜操| 色狠狠色| 蜜桃婷婷丁香五月天狠狠久久综合| av在线资源| 韩国情人在线电视剧免费观看高清版全集| 久久久免费精彩视频| 亚洲天堂啪啪| 99精品久久久久久久婷婷| 激情久久久久久| 亚洲色视频| 婷婷五月天视| 成人美女网| 激情五月综合六月丁香婷婷狠狠干| 色婷婷狠狠| 日韩五月天婷婷| 91蝌蚪窝视频在线| 热99精品视频| 久热9热| 久久伦乱| 天天色天天搡| 久在线88综合| 丁香五月婷婷影院| 人人操人人操919999| 色婷久久| WWW五月婷婷| 大伊香蕉精品视频在线| 天天搞天天色综合| 天天干天天操天天射| AV五月丁香| 丁香蜜臀黄色婷婷五月天| 天堂成人A片永久免费网站| 六月色日韩| 伊人大综合| 五月天婷婷乱论小说| 色婷婷9| 天天色图| 最新五月天婷婷影| 秋霞av不能| 日韩成人av在线| 亚洲网站在线鸭子av| 91妻人人爽人人看片| 五月天色婷婷激情| 影音先锋一区| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 综合激情婷婷| 深爱丁香激情| 99玖玖人人| 丁香五月Av| 色婷五月天网站| 91岛国片| 亚洲成人免费电影| 女人天堂 AV| 91久久免费| 色婷婷激情| 天天爽天天摸| 无码啪啪| 午夜]香婷婷深深爱| 色综合久久88色综合天天看| wuyuedingxiang99| 99久热在线精品99re6热| 东京热伊人| 99精品视频免费观看,| 午夜丁香六月婷| 精品久久99| 国产在线另类五月婷婷| a九九热www| 日产精品一线二线三线芒果| 日本婷婷色日| 午夜爱插插| 狠狠干综合| 开心婷婷五月| 亚洲色婷婷99一9|| 九97免费视频| 欧美精品999| 亚洲激情精品| 只有精品视频在线观看| 婷婷婷狠狠| 欧美六月| 天天爽天天做| 色狠狠激情五月| 丁香六月婷婷综合啪啪| 在线天堂9| 狠狠色综合网站| www色婷婷| 丁香五月 无码| 欧美日韩99| 99视频激情四射| 五月天婷婷开心| 婷婷五月综激情| 超91热| 五月天另类激情在线| 99热这里只有精品首页| 色色色色色色97| 天天插天天狠| 激情视频综合| 天堂久热| 婷婷色综合| 九月丁香婷婷综合| 这里只有精品在线播放| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 激情久久久| 丁香色影院| 一级AV片| 久久婷综合| 五月丁香色婷婷久久| 亚洲丁香五月| 天天激情夜夜干| 人人爽在线视频综合网| 狠狠第四色| 婷婷久久婷婷色五月| 96精品成人无码A片观看金桔| 99在线观看精品视频| 九艹在线| 99爱视频在线| 丁香五月婷婷俺也要去| 婷婷五月天xxx| 99色在线| 丁香婷婷婷婷十二月在线观看视频| 国产人妻人伦精品一区二区| 夜夜干夜夜操| AV在线中文| 亚洲在线资源| 99这里只有精品视频| 色情免费视频播放| www.狠狠狠.com| 天天日日人| 五月色综合| www.久久99热地址发布| 玖玖综合玖玖| 日韩有码一区| 依人大香蕉在钱1| 狠狠ri| 日日躁夜夜躁狠狠久久AV| 色婷婷综合网| 色情五月综合婷婷| 综合丁香婷婷五月天| 九九热AV| 99婷婷五月天| 午夜丁香丁香婷婷| 亚洲色区17| 三级av在线| 九九色情网站| 综合色、色综合| 丁香五月社区| 丁香六月综合激情| 久热婷婷| 人妻AV在线| 五月丁香啪| 婷婷五月天视频| 日日干夜夜干| 色色激情| 风流少妇A片一区二区蜜桃| 中文字幕人妻熟女在线| 欧美S码亚洲码精品M码| 欧美成人AAA片一区国产精品| 丁香六月啪| 狠狠色成人影片| 色综合五月天| 丁香六月婷婷| 99丁香婷婷综合网| 五月婷性爱| 激情综合另类| www.com亚洲网站在线免费| 天堂五月婷婷| 色域五月婷婷丁香| 99热这里只有精品268| 婷婷欧美色| 激情合网婷婷| 五月天激情美女久久| www.ppypp| rr天天操| 五月丁香六月婷综合成人综合 | 99视频在线| 五月丁香婷婷基地| 99亚洲精品| 婷婷五月丁香亚洲| 国产av天天插天天操天天爽| 日本不卡一区二区三区| 婷婷五月丁香四射| 99久久国产宗和精品1上映| 123日本不卡在线| 亚洲综合成人网站| 人妻操日日| 97人人干人人操| 玖玖在线资源视频| 国产成人VA| 日本成人噜噜| 人人色婷婷| 中文av网站| 国产精品久久久爽爽爽麻豆色哟哟| 操91综合网| 任你搞网站| 丁香女人五月天| 六月丁香五月激情婷婷| 激情六月色| 超碰99在线| 久久激情中文| 99九九热视频免费| 99成人网一区| 亚洲激情 久久| 99热这里只有精品3| 色色五月天丁香| 99精品无码| 丁香五月最新网址| 99精品在线| 狠狠干天天内射| 激情五月狠狠| 91超碰九色| 中文字幕在线观看视频www| 91狼友视频网页更新| 综合99在线| 五月丁香美女| 五月天五月天激情网| 99碰超| 久777| 伊人激情综合网| 亚洲瑟瑟精品在线| 97色在线观看视频| 成人无码精品1区2区3区免费看| 超碰在线日夜| 亚洲精品亚洲人成人网| 激情综合另类| 丁香婷婷视频一区二区| 丁香九月婷婷综合| 成人草榴视频| 伦乱人妻| 99视频这里只有免费精品| 欧美狠狠地| 日韩视频99| 婷婷日韩| 亚洲激情亚洲激情| 另类激情综合| 噼里啪啦完整版中文在线观看| 男人天堂 久久| 99爱视频精品| 五月丁香六月综合基地| 六月丁丁香| 成人一区在线观看| 六月激情婷婷综合| 99ri精品在线| ..真实国产乱子伦毛片| 久久九九爽| 十月丁香九月婷婷综合| 91热久久| 另类亚洲电影| 久久综合这里只有精品1| 综合久久五月天| 色色色综合网| xx久久| 国产精品五月天婷婷| 激情五月天色色网| 色www.con| 婷婷五月天在线观看第二页| 色五月婷婷五月天| 伊人久久婷| 天天 青草 丝袜制服 在线| 综合久久综合| 亚洲av午夜精品一区二区| 五月丁香av在线| 99热免费在线| 国产婷伊人| 99视频超级精品| 在线成人网站| 色色色色色色色色色色色色色五月天| 激情婷婷综合| 久久ab| 六月丁香停| 丁香六月婷婷激情| 国产精品久久久爽爽爽麻豆色哟哟| 久久9久| 思思热在线视频精品| 综合狠久久| 996er在线观看| 九九AV在线| 亚洲色99综合天堂| 五六月丁香激情视频| 天天日天天插| 狠狠香蕉| 丁香激情网| 人人摸人人干| 丁香社区婷婷五月| 国产成人精品一区二三区熟女在线| 超碰人人操人人干| 男人天堂99| www激情网站| 天天日夜夜曹| 久久激情四射| 热99只有精品| 黄色三级毛片中字| 人人色性网| 中文人妻AV久久人妻18| 99久久精彩视频。| 99这里只有精品| 综合色网站| 另类激情中文| 婷婷激情五月视频| 日日噜狠狠色| 91人在线观看| 狠狠色狠狠鲁| 丁香激情五月天| 婷婷区日本| 色五月激情网| 五月婷婷与六月丁香图片激情| 色五月激情婷婷| 视频1区2区| www久久艹| 99手机在线精品视频| 播五月丁香三月婷婷| 久久婷婷五| 日本熟女一区二区| 日本婷婷激情四射中文字幕在线观看| 五月丁香综合中文| 日本nghangse中文字幕| www,色中色| 国产3p露脸普通话对白| 97干婷婷五月天| 国产毛片精品一区二区色欲黄A片| 加勒比色色| 亚洲字幕AV一区二区三区四区| 亚洲五月丁| 9热在线| 日韩色色视频www| 久99精品视频| 久久久27操| 久久婷婷激情四射五月天| 第四色大香蕉| 婷婷五月综激情| 六月丁香五月天| 五月天激情综合网站| 亚洲中文字幕在线观看| 婷婷深爱五月亚洲综合| 久久婷婷影院| 国产精品久久久久久五月天加勒比| 东京热五月婷婷| 26uuu亚洲精品国产| 久久艹网| 日韩在线婷婷五月天综合| 久久五月情| 丁香五月婷婷偷拍| www.99久| www超碰| 丁香五月,激情五月,深爱五月| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 99热| 五月天激情小说| 无码少妇高潮喷水A片免费| 天天色天天舔天天爱天天爽| 国产精品人人做人人爽人人添| 婷婷丁香综合| 玖玖婷婷五月天毛片| 开心五月激情网| 91爱啪啪| 亚洲日日操| 色播五月丁香婷婷| 蜜乳AV成人| 欧美色色色色色色| 婷婷五月天成人导航| www.色99| 丁香五月,激情五月,深爱五月| www.91AV.com| 97干免费视频| 五月婷婷综合激情| 五他月天啪啪啪| 丁香六月啪啪啪| 逼逼AV| 婷婷色一二三区波多野结衣| 综激情网| 狠狠干2007| 九九伦子片| 大香蕉婷婷五月天| 激情图片99| 综合激情五月天| 婷婷丁香色无五月 | 综合视频久久| 天天舔天天| 久久jiuwww| 俺去也婷婷| 停停五月丁香| 欧美噜噜免费观看| 91精选国| 99riAv1国产在线观看| 99久久这里只有精品免费官网| 大香蕉视频婷| 五月丁香综合网| 狠狠色丁香婷婷基地| 大香蕉伊在| 五月丁香啪啪| 日韩av干| 丁香九月综合| 日韩野外 无套| 久久多色| 五月天激情图| 成人av在线网站| 99九九在线视频| 五月天婷婷开心| 色噜噜97视频在线观看| 五月天婷婷综合| 五月天精品视频| 丁香六月天AV| 久久久高清| 六月婷婷综合| 日韩AAAAAAAAAAA片| 99狠狠色| 色色色九九九五月婷婷| 天天干天天操天天拍| 亚洲性爱99在线| 久久精品五月| 国产高清av黄色看片| 99热这里只有精品 搜| 久久这里只有精品5| 亚洲综合色色色| 色五月婷婷 成人| 噜噜噜狠狠色综合| 丁香五月六月综合激情| 天天夜夜六月丁香五月婷婷老师| 久久丁香五月天| 日日操天天操| 丁香六月天婷婷开心综合| 综合色影院| 婷婷情色五月| 俺去也五月| 中文字幕在线资源| 怡红院视频| 激情都市五月天| 曰曰久久| 五月丁香久久丝袜啪啪| 日韩在线看AV| 五月天精品| 九九综合九九| 五月色综合| av五月天婷婷丁香| 婷婷五月天电影网| 亚洲精品乱码久久久久久按摩观|