亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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ò)程不涉及音頻解碼、不涉及錄音文件你只需要寫對(duì)串口、組對(duì)命令幀剩下的事模塊全包。這個(gè)方案在工控提示、智能家居語(yǔ)音播報(bào)、車載語(yǔ)音提醒里很常見(jiàn)也是很多開(kāi)發(fā)者入門語(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)寫不依賴 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 解碼芯片。它們不是同一類東西選錯(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 盤音頻文件音樂(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é)議封裝成一堆寄存器讀寫而是直接暴露幀格式幀頭、長(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ò)誤和電平不匹配是新手翻車的第一大來(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ù)寫法不同但核心參數(shù)一致波特率 9600、數(shù)據(jù)位 8、停止位 1、無(wú)校驗(yàn)。SYN6288 默認(rèn)工作在 9600bps這是模塊上電時(shí)的固定值除非你用配置命令改過(guò)否則一定要對(duì)齊這個(gè)參數(shù)。HAL 庫(kù)的串口初始化常見(jiàn)寫法如下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)證別急著寫代碼。用 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ì)立即合成并播放。如果這一步能出聲就可以放心去寫 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)義序列寫在數(shù)組里比如你好寫成\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ù)寫成超過(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è)高頻翻車現(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ǔ)上不要依賴內(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)再寫循環(huán)”的習(xí)慣語(yǔ)音模塊的代碼會(huì)穩(wěn)定很多調(diào)試時(shí)也更容易定位問(wèn)題出現(xiàn)在發(fā)送側(cè)還是模塊側(cè)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
中文字幕中文字幕一区二区| 欧美日韩99| 91少妇高潮| 久精品无码av一区二免费国产在线观看 | 94色色电影网| 91精品成人www| 亚洲黑人在线| 99热aaa| www久久国产精品| 91精品网站| 91亚州欧美| 亚洲国产奇米影视久久| 国产在线激情| 日逼97| 人妻在线中出视频| 盗摄女人妻在线| 神马麻豆福利院| 噜噜噜亚洲精品| 强奸乱伦动态污图免费| 一个色导综合| 丰满欧美放荡少妇在线| 伊人国产视频| 97人人干人人操| 日韩成人私密一级精品av| 91久久堂| 三级片大波波| 久操不卡视频| 国产亚洲日韩在线三区黑人| 青娱乐福利99| 992视频一区| 日影院久久婷婷夜夜网| 亚洲精品欧洲精品| 日本97久久久精品| 国产女同性恋视频| 盗摄 精品 另类 一区| 99久国产精品午夜性色福利| 超碰99在线| 国产精品大屁股999| 九九九九免费高| 久久蜜色情在线视频xxx免费观看| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 97精品综合久久| 久久HD| 九九热在线精品视频| 亚洲密乳AV| 蜜乳AV免费观看| 精品无码久久久久久久杏吧| 探花精品 一区二区| 日韩色女精品| 色九九九综合| 婷婷久久久| 国产51色综合久久免费| 日本熟女中文| 国产成人无码网站在线视频| 97爱爱爱综合| 殴美,日韩国产伦精品| julia高潮后不停追击中出| 国产精品婬乱一级毛片彝族| 国产成人手机视频激情| 亚洲精品日日夜夜52| 99操逼| 好湿好紧好爽 视频| 精品精品精品| 啊啊啊啊二区好大| 色欧洲| 亚洲高清欧美总合| 成全动漫视频观看免费下载| 免费在线黄片视频| 志村玲子视频一区二区| 五月天久久婷婷亚洲 | 欲香欲色| 一区AV| 亚一综合久久久久久久久久| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 丁香六月啪啪| baiduhicn.com。| 国产在线激情| 亚洲免费成人在线高清无码视频| 第四色奇米影视777| 欧美天天射| 国产成久久综合片| 人妻人人操| 又黑又大又粗| 爽爽爽免费视频| 天天操熟妇| 看全色黄大色大片免费视频| 亚洲综合婷婷| 天天摸夜夜操视频| 蜜臀无码视频在线观看| 久久亚洲av成人无码国产| 欧美三级一级| 99久久久| 日本高清_区二区三区| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 五月丁香啪| 国产怡红院| 国产黑白丝在线| 亚洲一区二区三区婷婷| 色噜噜人妻丝袜a∨先锋影| 日本三级R| 97视频网站在线观看| 岛国不卡超碰护士AV在线播放| 风月影院十八禁| 免费一级a毛片久久久久久鸭绿欲| 大香网伊人久久综合| 日本有码影片下载| 大香蕉综合网| 九九热精品| 插入粉嫩少妇视频| 国产精品免费日韩| 91爱做| 国产又爽又黄| 吉川爱美亚洲二区在线| 欧美v亚洲v综合v国产v妖精| 蜜桃色色网站视频三区| 丰满人妻一区二区三区免费 | 色综合尤物| 人人操人人射人人干| 91黄射| 无码不卡亚洲成?人片| 妺妺跟我一起洗澡没忍住| 人妻激情在线视频| 午夜福利在线合集| 久久9精品网站| 欧美激情视频在线一区| 躁躁日曰躁2020| 日韩在线一区高清在线| 91男人天堂网| 一区二区三区视频| 国产精品电影大全| 精品亚洲俞拍视频一区| 亚洲情色中文字幕一区| 久久久熟女一区| 日本免费专区| 亚洲Av噜噜一区二区三区妖精| 夜夜高潮夜夜爽夜夜爱爱一区| 日韩精品免费高清视频在线| 和协影院中文字幕三区| www.久久| 国产福利视频精品视频| 超碰久久精品| 99啪啪视频| 日本一线产区和二线产区伦理片| 这里都是精品| 99熟女| 亚洲成人在线高清| 欧美亚洲天天| 午夜欧美神马久久久久| 99精品丰满人妻无| 国产精品美女在线一区| 91亚洲图片| 韩国轻伦国内自拍一区| 中国大陆国产高清AⅤ毛片| 亚洲性猛交| 日小BB小视频| 色欧美色交综合| 曰韩精品九九无码| 在线中文字幕视频| 九九这里只有精品| 一区中文字幕二区日韩| 八戒午夜福利理论片| 欧美在线色| 大鸡巴久久久| 91狼人| 亚洲图片日本AⅤ欧美在线| 天天综合香 ld视频| 久久久国产亚洲精品系列| 97超碰色情| 国产av热热色| 六九九九| 日本国产欧美高清在线| 综合网亚洲在线| 亚洲网自拍| 在线中文字幕极品av| 久久久少妇| 色官网在线| 亚洲一区二区三区在线激情| 国产久9| 日韩一999精品| 91狼人| av在线免费一区二区| 97操| 天啪| 嗯嗯不要 视频| 欧美中字二区| 自拍盗摄一区| 欧美一二三区四五区| 另类小色呦| 国产免费一区2区3区| 综合日韩激情另类图片| 久热9| 四虎影视永久在线免费| 丝袜剧情| 亚洲一曲日韩精品| 97在线精品观看视频| 久久超碰国产一区二区三区| 日韩一二三区| 99少妇| 少妇丝袜在线观看AV| 99精品丰满人妻无| 国产高清1234区| 七久久久| 99久久无色码| 老司机久久| 东京成人一区| 欧美综合第一| 97视频在| 亞洲久久直播| 在线观看免费视频国产| 强奸乱伦av电影| 欧美日韩免费性爱| 日韩亚洲中文字幕在线| 欧美日韩激情无码专区| 无码人妻丰满热妇又大又粗| 日韩欧美午夜视频在线| 国产av美女被艹的乱叫| 欧美日本国产日韩激情视频| 黄色欧美性爱视频| 人妻熟女av国产网站| 丁香五月影院| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 97色五月天完| 97激情97激情| 久久色一区二区| 亚洲综合情色| 97欧美综合| 日韩中文字幕国产| 粉嫩粉嫩一区性色AV片| 久久xxxx| 夜夜操二区| 爱爱60秒免费视频| 在线97在线| 一区,二区,三区视频| 天天综合网1| 久久久免费高清中文视频| 人妻熟妇一区二区三区| 国产一区二区免费福利片| 欧美高清16| 97免费视频在线观看| 亚洲av无码国产精品字幕| 国产乱伦亚洲色图高清无码| 亚洲第2页| 五月天婷婷基地| 欧美日韩99精品麻豆传媒| 九九九久久久久| 久久综合久色欧美综合狠狠| 欧美色九九| 国产高清成人免费视频| 久久99午夜精品一区人妻| 综合激情五月天| 天天干天天日天天射黄色| 99RE在线视频精品,这里只有精品| 久久久久久9999| 人妻熟女一区二区三区视频| 91精品亚洲内射孕妇| 黄片直播三级黄片两女一男| 欧美熟妇乱码在线一区| 久久久成人免费av电影| 国内毛片国产欧美拍| 国产a级午夜毛片| 99热97| 欧美色97| 久久一级无码精品毛片6| 青青草伊人久久| 性爱网站一区二区| 超碰天天操| 91快色色色色色| 国产色综合亚洲色综合吹潮| 97超碰无码网| 亚洲图片91| 97超碰色中文字幕| 国产精选视频| 激情AV| 韩国三级三级BD在线| 欧美亚洲系列| 人人插人人摸人人| 麻豆AV一区二区| 999热日韩精品| 久久久999国产| 中文字幕一区二区三区四区在线视频| 欧美图片偷拍| 婷婷丁香人妻| 国产精品99久久久www| 亚洲码和欧洲精品激情系列| 久 久无码人妻AV| 精品一区二区综合熟妇| 小骚逼被操的爽不爽| 亚洲无992tv| 欧美日综合| 欧美黑人91| 久久黄色性爱视频| 欧美国产有色电影| 国产精品成人无码a v毛片| 亚洲色图91欧美日韩| 97人人色| 99热日本| 丰满人妻一区二区三区蜜桃视频| 婷婷色中文字幕| 亚洲人精品久久久| 日韩不卡毛片Av免费高清| 欧美色997| ji熟女.com| 久艹伊人精品综合在线| 欧美一级AAAAAAA| 久久9精品视频| 人人操人人93| 97看操| 岛国片国产成人亚洲播放| 久久国产精品熟女人妻| 亚洲制服欧美另类内射| 久久精品人妻一区二区三区| 成人AV在线电影| julia国产在线 | 亚洲啪啪综合?v一区综合精品区| 97久久精品国产| 综合激情二| 97爱b| 91在线无码精品秘 软件| 男人的天堂日韩| 国产精品免费美女视频| 精品一区二区三区麻豆| 综精品久久久aaaa| 久草网站免费在线观看| 欧美色爱综合| 国产亚洲 中文欧美久久| 少妇熟女1区2区3区| 国产1727欧美| 国产欧美精品日韩区二区麻豆天美| 无码人妻精品酒店| 98精品国产乱码久久久久久| 一区二区娱乐网站| 无码精品久久久久久亚洲| 操人妻逼91| 亚洲成?V人片在线观看福利| 久热一区二区| 国产中文字幕在线观看| aaaa少妇高潮大片| 欧美成人精品一区| 欧美日韩婷婷中文| 久久久精品国产亚洲伊人| 欧美性生活男人的天堂| 欧美啪啪色吧在线| 大乔未久88一区| 九九在线视频| av网站在线看| 国产97综合| 这里是精品| 日本韩欧美在线播放a| 国产成人91一区二区三区| 物业黑人 AV一区| 国产18精品亚洲精品| 麻豆 美女 丝袜 人妻 中文| 久久久精品中文字幕麻豆| 久久久久久性爱片| 920日本午夜免费| 秋霞无码av鲁丝片一区| 日韩熟女无码| 精品九九九| 竹菊一区二区三区AV线| 亚洲日韩XXX| 精品国产网站| 天天做天天爽| 粉嫩在线一区二区懂色| 多毛小伙内射老太婆| 色臀AV| 蜜臀av网址| 欧亚乱色熟一区二区三四区| 久久久一级| 熟女六十路| 99国产在线 精品 视频| 日韩中文字幕视频| 国产综合日韩伦理| 色姑娘综合网| 青青草好吊色| 91丨人妻丨国产丨丝袜| 婷婷8月天青娱乐| 国产精品久久久久久久久久二区三区| 日日摸日日碰| 九九热精彩视频| 精品国产乱码久久久兰草影视| 嗯嗯啊啊用力视频免费| 91九色丨国产丨爆乳| 中文字暮97| 亚州五月| 97色欧洲| 少妇三p| 另类小说欧美激情校园春色| 91黑丝在线| 色香天天| 一起草三级AV电影在线观看 | 欧美午夜视频| 亚洲电影91| 天天色踪合| 久久久久久久9最新免费视频观看| 大香蕉欧美国产日韩高潮| 久久久∴| 91欧洲入口| 亚洲双插| 黄片www视频免费| 色吧5亚洲| 中文字幕美女91| 亚洲精品一区二区精品| 亚洲最新a在线观看| 伊人黄色视频免费观看| 91婷婷| 啊啊啊操一区| 免费人人搞97| 国产97/欧美| 亚洲丝袜少妇在线| PMv在线观看| 加勒比在线观看一区二区| 视频在线观看免费一区二区三区| 乱色视频中文字幕| 少妇人妻精品| 天天综合网亚洲综合网| 嗯嗯啊啊好爽| 国产1769在线| 第二页中文字幕| 物业黑人 AV一区| 精品久9| 蜜乳AV.COM| 综合网色| 美腿丝袜高跟网免费视频免费视频| 婷婷15月天青娱乐| 久久精品店| 欧美一级国产一级| 超碰亚洲欧美日韩无| 中文字幕久久亚州无码| 尤物网站91| 国产精品久久久久久久黄无码| 大香蕉啪啪啪| 91欧美丨精品丨入口| 夜夜爽夜夜操| 国模无码一区二区三区在线| 欧美午夜色妇色鬼| 国产精品97视频| 午夜操逼不卡| 蜜桃在线观看一区二区三区 | 操逼网站视频漫画国产| 日韩二级| 久久久久久久久999| 亚洲第一狼人丝袜美女另类| 熟妇人妻一区二区| 精品久久久久综合无码| 午夜福利免费精品视频| 中 文字幕一区二区三四 五 区日 日 骚 | 大乔未久88一区| 東南亚性呦成人伦理资源在线视频| 国产亚洲深夜激情| 特污免视频| 青青久日| 日本护士高潮| 亚洲伊人久久精品影院| 日日操免费视频| 久久欧美按摩999| 国产精选视频| 99久久久久| 色眯眯av| 国产精品黄色三级av| 中文字幕日产av人| 中文?日韩?免费?精品| 日本九九九九| K8久久久久| 人人操人人狠狠操| 日日碰视频网| 在线国产探花| 亚洲欧美97√| 日韩一级二级| 天美传媒婬乱在| 91九九| 综合网亚洲在线| 国产又色又爽又舒服的三级视频| 国产精品动态一区二区三区四四| 国产白嫩漂亮KTV在线| 久久少妇人妻| 久久6热视频免费观看| 亚洲天堂电影网| 亚洲成人美女无吗| 人人操超碰在线| 激情久久久| 亚洲色交| 乱理日韩中文| 天天搞在线综合网| 美女黄色91| 屌逼传媒| 亚洲欧美综合| 免费网站观看www在线观| 操啊国产| 日韩人妻精品| 玖玖色综合| 欧美综合另类| 日韩美女,国产传媒,视频一区| 久久精品国产亚洲AV片多多 | 超碰在线91| 欧美黑人猛交春色影视大全| 色欲Av人妻精品一区二| 色在线69堂| 曰韩无码777| 欧美色涩| 国产久久一区二区| 亚洲乱熟女一区二区三区大香蕉| 综合色好色| 天天日日本| 精品久久久久久中文| 天天欧美97| 91丝袜在线观看视频在线观看| 久久欲| 亚洲做性| 久久久久久久久九九久孕交| 亚洲操逼视频网站| 婷婷色色五月天福利| 亚洲综合夜色| 天堂九九九九九九九九九| 伊人专区一区二区三区| 美女黄页网站| 好看的久久不射无码影视影院| 国产99 中文字幕日韩小视频| 立川理惠被中出无码| 四虎在线观看网站| 丝袜内射| 丁香色婷婷| 波多野结衣一级视频| 殴美性天天| 老女人老91妇女老热女| 无码人妻一区二区一牛影视| 中国亚洲呦女专区| 翔田千里无码中出中文字幕| 亚洲黑人在线| 日日骚av| 风月影院男女十八禁| 亚洲AO在线| 大香交伊人网| 怡红院一区二区熟女人妻| 国产高清吃奶免费视频网站| 97超碰欧美中文字幕| 四虎精品一区| 亚洲www91| 亚洲熟妇丝袜在线观看| 91熟女熟妇视频网站| 中文自拍欧美影视| 国产99久久99热这里只有精品15| 成人一道本免费视频| 97天天操| 91黄站| 美女爽到高潮91| 九九九九精品一区| 99www.bibizy香蕉资源国产一区二区三区高清 | 丰满人妻一区| 91丝袜在线视频| 中文字幕亚洲欧美在线不卡| 久久超碰爱| 成人看片网站| 亚洲成人免费在线| 91在线无码精品秘 软件| 三级网色| 蜜乳AV网址| 亚洲成熟国产精品美女| 少妇高潮特黄A片| 一区二区三区黄色片a| 欧美gv在线观看| 国产资源中文字幕在线| 无码区蜜乳| 国产Av超碰| 欧美1区二区三区公司| 日本操逼视频免费| 尹人免费观看视频在线| 中文字幕乱码人妻二区三区| 国产日韩欧美中文在线播放| 黄色AAAAA欧美| 93人人操人人| 久久男女激情视频网站| 久久女婷| 97视频在线免费看| 日韩伦理视频| 天天色怡春院| 极品少妇久久久久| 久久久久久九九九| 豆花视频操逼网址| 中文字幕精品一区二区精| 乱伦日本色图AⅤ| www色色com| 看看小穴| 东京热不卡视频| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 日韩内| 秋霞午夜成人福利片片| 亚洲色系另类精品国产| 亚洲日韩成人性爱视频| 日韩人妻资源网| 欧美韩国你懂得在线| 久肏视频字幕| 91视频伊人| A片三级无码| 国产少妇与亚洲av| 亚洲区限制级| 熟妇女伦乱视频| 青青操网| 欧美日韩第一页| 97视频在线观看播放与子乱对白在线……| 精品免费国产二区三区| 97资源亚洲| 性色生活片久久毛片婬片免费放女人一级毛片 | 精品四五区| 天天天天天天天天综合| 久久精品国产亚洲粉嫩| 最新国内自拍av免费| 欧美综合区| 熟女自慰久久久| 乱人乱色一区二区三区免费| 久综合国内精品自在自线| 丁香六月婷婷| 欧美激情亚洲情色| 午夜男女爽爽爽影院视频| 国产成人网站在线观看| 日本999精品| 91精品网站| 亚洲国产成人精品无码专区| 国产专区路线| 久久东京热久久| 男女激情黄色网址| 亚洲 se图 欧美电影| 青娱乐91| 婷婷激情五月| 偷拍亚洲视频一区二区三区四区| 中文字幕人成乱码熟女香港| 日本天天人人狠狠在线日美女| 天天影视之亚洲综合网| 日本三级A片网站com| 毛片中心9视频99| 精品人妻久久久| 五月天黄色激情视频| 欧美aⅴ99久久黑人专区| a'v在线资源| 黑丝内射一区二区三区| 欧美综合天堂| 亚洲激情在线| 久久线上视频免费看| 久久婷婷综合国际产色怕| 小骚逼被操的爽不爽| 色欲av一区二区三区蜜芽| 麻豆天美国美国产| 91 丝袜在线播放| 日本免费中文一区二区三区四区 | 国产男女无套视频免费观看| 国产乱子伦一区二区三区免看| 9丨亚洲一区二区在线| 国产白嫩精品久久| 香港澳门日本三级网站| 熟妇人妻一区二区三区| 蜜臀无码视频在线观看| 67194无码不卡| 国产无码成人无码| 亚洲AV资源| 日韩免费三级黄片电影| 亚洲污一污二| 国产精品女久久久久av爽| 久色99999| 免费的黄片wwwwww| 亚洲人妻爽爽爽| 天综合网| 影音先锋日本乱伦| 久久精9| 国产精品一区午夜福利| 亚洲drav色图| 秋霞视频一区二区 | 精品精品精品| 日韩在线欧美精品一区二区| 色男人色天堂东京热| 日逼国产| 三四中文字幕| 欧色综合| 日本色色色视频| 九久久精| 激情图片伦理国产一区二区日韩| 国产一级特黄大片处女| 91亚洲黄色网| 色老汉色| 伊人久久大香大香线蕉中文 | 国产suv精品一区二区四| 欧美一级AAAAAAA| 欧美一区二区三区成人性生活| 99热最新| PMv在线观看| 精品美女人人干| 精品妇女一区二区三区| 天天插夜夜操| 人人妻人人爽| 乱老熟女一区二区三区| 久久婷婷色| 色色色日本| 久久九操在线观看| 欧美色偷拍 | 日韩在线一区高清在线| 天天干夜夜鈤| 精品久久久久久久久久久久| 97精品综合久久| 在线中文字幕| 男人精品区| 亚洲91大片| 啊好大好舒服| 国产女性无套 免费观看| www国产无码| 床戏久久久av一区二区麻豆| 操一区| 91neishe| 欧洲熟妇xxXx欧美老妇裸体| 在线观看无码三级少妇| 天天色欧美| 天天搞欧美| 久久久久亚洲精品| 99国产精品人妻人伦| 亚洲性爱无码乱伦av| 99re免费视频精品全部| 午夜爽爽爽| 神马久久久久久久久| 午夜福利区| 人妻久热在线| 婷婷尹人大香蕉免费| 日韩精品视频在线观看一卡二卡| 国产乱色国产精品免费视| 国产精品九九九| 91影视亚洲| 久久超碰久| 可能人人看人人摸| 内射老妇BBWX0C0CK| 午夜毛片亚洲精品片国产久久久| 欧美人妖内射| 久久后入制服| 国产精品在线一区二区| 97公开久久| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 日韩免费人妻色情网站| 色五月婷婷网| 啊啊啊操一区| 大香蕉操久久| 日韩久久三区| renqi久久久久久久久久久久| 欧美性爱视频免费一区一A | 91美女视频在线| 好吊色一区| 综合网亚| 日韩78m视频| 97视频www| 日本成人A片免费看| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 97久久超碰亚洲| 欧美性爱一区| 综合网欧美在线| 亚洲.欧美.丝袜.中文.综合| 又黑又大又粗| 亚洲男人的天堂一区二区| 夜夜狼人妻| 三级日韩一区二区三区| 搡老女人911熟妇老熟女| 操逼操2| 久久精品一区二区三区四区五区| 丁香七月婷婷| 欧美真人抽搐一进一出gif | 午夜免费视频1000| 在线女人91| 久久熟妇五十路一区| 欧美伦乱爱| 国偷自 一区| 欧美瑟综合| 啪啪啪亚欧美视频| 久久精品一区二区一8| 琪琪精品免费一区二区三区| 免费在线观看国内色片网站网址| 我爱大香蕉| 97亚洲一区| 日日噜噜夜夜久久亚洲一区二区 | 日本色色色色色视频| 丁香五月性| 亚洲青青青视频在线| 九草在线大香蕉| 91天天美女| 97欧美精品| 亚洲 自拍偷拍 欧美| 无遮挡h肉动漫在线观看| 日本中文字幕在线电影| 99色天堂| 日韩AV一区二区三区四四| 亚洲综合在线高清| 国产超碰97| 国产91影院| www.99中文字幕| 色噜噜精品一区二区三| 麻豆天美电影一区二区| 激情四射五月天| 女生久久网| 啪啪资源网| 人人喜人人妻| 色欲久久99精品久久| 蜜乳中文字幕a在线| 91|九色|国产熟女| 青青草色情网站视频| 精产品久久| 操逼免费视频无码国产| 五月丁香成人网| 99色骚| 测评在线观看AV| 激情久久av一区av二区av| av午夜玫瑰| 99re超碰| 婷婷久月| 中文字幕乱偷人妻久久艾草网| 九九九久久久| 99在线观看| 看日韩操逼| 日本美女性生活久久久久久久| 久热99999| 色综合久久av| juliaann精品熟女一区| 欧美丝袜中文字幕07在线| 韩国午夜理伦三级好看| 你草精品在线视频| A级片一区| 丁香六月激情综合| 青青草原成人| 探花熟女,姿勢到位,體驗感也到位| 96AV久久久| 特色a在线上| 亚洲欧美成人在线| 天天天堂影视日韩亚洲91| 亚洲成人性爱网站在线播放| 人妻在线臀日韩| 性91| 骚货人妻偷情自拍在线视频| 欧美亚洲首页| 日本理论在线| 人妻喷水| 亚洲国产日韩欧美熟妇在线| 亚洲中文字幕一区| 成年人性爱日韩| 丝袜色综合| 国产麻豆福利av在线播放| 欧美久久人妻少妇一区二区| 亚洲天堂一区二区久久| 婷婷五月天无码 | 91女网站| 欧美大香蕉久| 97视频7| 囯戸精品高潮呻吟旡码| 超碰人妻久久人妻中文97| 国产9 9在线 | 亚洲| 啊啊啊不要啊啊受不了了视频在线 | 在线无码视频| 久久久久78| 久久成人午夜精品影院| 亚洲性猛| 国模少妇一区二区三区| 日本亚洲嫩草影院啪啪| 亚洲午夜免费狠狠干| 欧美v日韩v亚洲v最新在线| 91伊人影视综合| 天天操夜夜操狠很操| 亚洲男人天堂2| www.99视频| 97精品国产| 国产传媒1234区| 国产高清无码一区三区二区| 一级黄碟| 五月丁香激情综合网| 韩国一级做a久久久久| 久久超碰免费的| 国产精品蜜乳AV| 少妇淫妇久久久久久久| 国产专区路线| 超碰天天操你比| 中国东北熟女老太婆内谢| 日韩天天综合| 白丝1区2区3区| 激情抓乳插进去啪啪啪日韩 | 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 97干日韩| 欧美日韩日产免费网站看| 丰满熟妇大乳做爰| 麻豆久久久久久久久丝袜| 国产一区二区三区导航| 大肥女高潮bbwbbwhd视频| 欧美日动态视频| 99热9| 嫩呦国产一区二区三区AV| 欧美在线|亚洲| 内射中出日韩在线观看视频| 国产aⅴ无码片毛片一级网站| 91色宗合| 伊人久久亚洲色欲综合网站 | 久久综合久色欧美综合狠狠| 五月丁香啪| 午夜超爽| 九热久| 午夜无码熟妇丰满人妻| 97色插| 强奸a片网| 九九精品无码专区免费| 快灬快灬 一下爽蜜桃在线观看| 日韩久久艹| 东京热激情视频一二三区| 国产51色综合久久免费| 亚洲天堂久久久久久粉红视频| 97免费视频在线观看视频| 欧美最婬乱婬爆婬性视频| 国产伦精品一区二区三区在线观 | 色妺妺在线视频| 日韩去日本高清在| 成人性爱AV在线免费观看| 97免费在线观看| 91网站18+| 97超碰巨乳| 欧美三级一级| 亚洲激情网一二三四区| 妺妺跟我一起洗澡没忍住| 蜜乳Av成人片网站| 欧美国产精品久久九九| 俞拍久久国应视频| 夜夜黄| 欧美日本视频一区| 欧美天堂超碰97| 久久久久一本一区二区青青蜜月| 天天射影院| 日本污ww视频网站| 播播亚洲小说亚洲| 亚洲精品天堂久久A∨51成人漫| 国产成人亚洲精品无码最新在线| 综合 亚洲 欧美| 91亚洲影视| 亚洲综合嫩| 国产一区二区在线看| 色偷偷综合91久久噜噜| 青青草久久在线| 试看60秒| 91精品又粗又猛又爽| 老女人老91妇女老热女| 免费看污网址| 九九九九免费高| 97伪v| 亚洲男人综合网| 97超碰这里只有精品| 一本久久精品中文字| 97超碰超欧美。| 日韩大香蕉精品在线视频| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 揉揉揉夜夜| 中韩中文字幕在线观看| 精品97久久| 国产AV中文| 欧美少妇人妻| 免费AV中文网在线观看| 9色国产精品一区粉嫩| 国产无码三级视频在线观看| 另类TS人妖一区二区三区| 国产性久久久| 性爱1区| 口爆综合网| 欧美日韩人人精品| 东京热精品97综合网| 亚州男人的天堂| 熟女熟妇一区二区三区视频| 色噜噜日韩精品| 夜色综合| 91丨九色丨国产丨人妻在线| 欧美一区二区三区蜜桃| 色爱综合网| 欧美日韩免费专区在线| 成熟熟女国产精品一区二区| 亚洲日韩资源| 亚洲天天操| 草草影院最新网址| 人人看人人摸人人色| 殴美牲| 欧美 熟女 日韩| 加勒比综合在线| 在线午夜成人无码视频| 太久视频| 激激五月| 精品妇操一区二区三区| 九九草| 熟妇的味道HD中文字幕| 深夜激情无码| Av色五月| 久久久久久久久久久久欧美日| 91情色在线| 免费1级a做爰片观看| 超碰人人草| 亚洲欧美日产国产91毛片| 欧美日韩狠狠爱| www.91人妻.com| 婷婷五月丁香五月| 成人精品一区二区三区| 中文字幕成人乱码熟女精品国50 | 亚洲视频二区| 超碰97护士| av无码精品久久久久| 精品超碰中文在线| 嗯嗯啊啊日韩精品| 色吧5亚洲| 99无码视频| 91爱欧美| 亚洲日韩精品久久久久一区壹牛 | 99天堂网| 搡老女人老91妇女熟女| 精品一区二区国产日韩| 丁香五月电影| 素人无码中文字幕| 91综合色噜噜| 亚洲激情av| 国产精品久久久九九九| 天堂v无码免费视频| 综合久久中文字幕综合日韩精品| 欧美少妇内射| 日本精品一区二区三区四区的功能| 亚洲成熟国产精品美女| 欧美日韩婷婷中文| 超碰欧美| 天天影视网综合少妇| 全国男人天堂网| 亚洲欧美一区二区三区一猛片| 亚洲av热热色| 97啪啪| 天天日天天操心| 精品少妇一区二区三区| 十八禁的黄污污免费网站| 伊人丝袜美腿高跟在线观看高清| 日日夜夜精品视频| 天美传媒一二三区永久网站| 九t超碰| 成视频在线观看免费看| 久久九九精品一区二区| 人妻一区视频| 91五月天| 国产一进一出视频网站| 国产肏屁眼视频| 1000部熟女视频在线观看| 久久发布国产伦子伦精品| 97在线观看免费视频| 亚洲天堂东京热| 黄骗免费网站| 热久久91婷婷| 97国产精品| 99热免费| 亚洲成人激情小说视频| 欧美制服网站美腿丝袜| 日韩成年人性爱视频| 男人天堂站| 国产精品高清2021在线| 青青草啪啪网| 手机在线A片| 超碰视97中文| av国产无码| 久久超碰com| 中文啪啪视频| 欧美欧美啪啪视频| 91在线色| 伦伦成年午夜免费视频| 天天日熟妇| 丁香六月综合激情| 欧州91高潮| 九九热超碰97亚洲最新香蕉| 国产免a费看黄片在线| 久久国产999| 99ri精品| 人人操人人色网| 在线综合 亚洲 欧美中文字幕| 中文字幕日韩电影人妻| 午夜AV污污污| 超碰人人在线| 亚洲美女AV无码| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 超碰99在线观看| 久热一区二区| 2017大香蕉国产精品久久| 不卡免费av在线播放| 久久久久久九九九| 美美91成人国产精品欧美精品久久久久久久| 亚洲色图日韩精品| 日韩在线电影| 人妻 制服 日韩 中文 在线| 麻豆国产96在线| 秋霞色色影院| 97网址97| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 韩三级a视频在线观看| 97人妻人人躁人人玩人人| 美女啊啊啊啊啊啊啊| 亚欧无码在线| 五月丁香激情四射| 91欧美综合在线| 久久久98网站免费视频| 操逼片国产| 一区二区影视| 国产亚洲日本| 老女人爆菊| 日韩精品在线观看网站| 国产精品久久久吖| 成人情色综合网| 亚洲情色在线| 水澄无码AV| 囯产操逼片| 在线免费观看高清无码视频| 久久久久幕乱码| 91天美传媒精品| 亚洲男人的天堂亚洲| 亚洲色 国产 欧美 日韩| 放黄片放3级黄片没穿衣服| 婷婷久久久精品| 91色伦综合| 大香蕉十区| 99色色| 免费看久久久性性| 人人看人人爰人人操| 久久久无码视频| 国产日韩中文字幕欧美| 亚洲熟女乱熟乱熟妇综合网二区| 校园春色 男人天堂| 99久久精品国产高潮| 日韩综合无码色欲vv| 日韩免费中文字幕视频| 欧美综合第一页| 四虎av在线| 热久久无毒不卡| 97一本大道亚洲一区| 久久欧洲| 91AV老熟女视频| 激情五月综合| 大香蕉乱伦视频网| 亚洲二区精品在线观看| 亚洲自拍天堂| 人人做天天爱| 国产9 9在线 | 亚洲| 天天视频黄| 久久精品熟女亚洲AV麻豆软件| 99re欧美| 久草看看看| 亚洲少妇综合| 狠久久| 91操熟妇| 久久99久久99精品天美传媒棢·纸:.| 亚洲色图综合网| 一级黄碟| 97视频在线观看网站| 亚欧洲一区二区视频| 超碰97首页| 91色综合色| 91少妇通奸网站| 亚州国产成人精品女人久久| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 在线观看不卡一区二区三区| 97久久精品| 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 91欧| 日韩精品人妻一区二区| 青青青青青手机视频| 亚洲自拍97| 日本一区二区中文字幕久久| 日产操逼| 日韩中文字幕国产| 色成人Www精品永久观看| 午夜福利成人免费视频| 色情综合|