国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32系列——手把手教你將SYN6288語(yǔ)音播報(bào)模塊的標(biāo)準(zhǔn)庫(kù)程序轉(zhuǎn)為hal庫(kù)使用

這篇具有很好參考價(jià)值的文章主要介紹了STM32系列——手把手教你將SYN6288語(yǔ)音播報(bào)模塊的標(biāo)準(zhǔn)庫(kù)程序轉(zhuǎn)為hal庫(kù)使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

前言

1. 原理

2. Cubmx配置

3. keil5編寫(xiě)代碼

3.1 main.c

3.2 syn6288.c

3.3 syn6288.h


前言

本教程基于stm32f103c8t6最小系統(tǒng)板,hal庫(kù)開(kāi)發(fā)。

操作簡(jiǎn)單,講解直接清楚,旨在讓大家少走彎路。

1. 原理

SYN6288就是用到一個(gè)串口資源即可,用STM32開(kāi)發(fā)起來(lái)不難。

2. Cubmx配置

配置串口3為異步通信模式?,注意波特率必須是9600。試過(guò)了,115200是不行滴。

不用開(kāi)啟串口中斷。

STM32系列——手把手教你將SYN6288語(yǔ)音播報(bào)模塊的標(biāo)準(zhǔn)庫(kù)程序轉(zhuǎn)為hal庫(kù)使用

3. keil5編寫(xiě)代碼

3.1 main.c

/* USER CODE BEGIN 0 */

/**************芯片設(shè)置命令*********************/
uint8_t SYN_StopCom[] = {0xFD, 0X00, 0X02, 0X02, 0XFD}; //停止合成
uint8_t SYN_SuspendCom[] = {0XFD, 0X00, 0X02, 0X03, 0XFC}; //暫停合成
uint8_t SYN_RecoverCom[] = {0XFD, 0X00, 0X02, 0X04, 0XFB}; //恢復(fù)合成
uint8_t SYN_ChackCom[] = {0XFD, 0X00, 0X02, 0X21, 0XDE}; //狀態(tài)查詢
uint8_t SYN_PowerDownCom[] = {0XFD, 0X00, 0X02, 0X88, 0X77}; //進(jìn)入POWER DOWN 狀態(tài)命令
/* USER CODE END 0 */
/* USER CODE BEGIN 3 */	  
	  //選擇背景音樂(lè)2。(0:無(wú)背景音樂(lè)  1-15:背景音樂(lè)可選)
		//m[0~16]:0背景音樂(lè)為靜音,16背景音樂(lè)音量最大
		//v[0~16]:0朗讀音量為靜音,16朗讀音量最大
		//t[0~5]:0朗讀語(yǔ)速最慢,5朗讀語(yǔ)速最快
		//其他不常用功能請(qǐng)參考數(shù)據(jù)手冊(cè)
		SYN_FrameInfo(2, "[v7][m1][t5]歡迎使用");
	    HAL_Delay(1000);
	    HAL_Delay(1000);
  }
  /* USER CODE END 3 */

3.2 syn6288.c

#include "syn6288.h"
#include "usart.h"
#include "string.h"

//Music:選擇背景音樂(lè)。0:無(wú)背景音樂(lè),1~15:選擇背景音樂(lè)
void SYN_FrameInfo(uint8_t Music, uint8_t *HZdata)
{
  /****************需要發(fā)送的文本**********************************/
  unsigned  char  Frame_Info[50];
  unsigned  char  HZ_Length;
  unsigned  char  ecc  = 0;  			//定義校驗(yàn)字節(jié)
  unsigned  int i = 0;
  HZ_Length = strlen((char*)HZdata); 			//需要發(fā)送文本的長(zhǎng)度

  /*****************幀固定配置信息**************************************/
  Frame_Info[0] = 0xFD ; 			//構(gòu)造幀頭FD
  Frame_Info[1] = 0x00 ; 			//構(gòu)造數(shù)據(jù)區(qū)長(zhǎng)度的高字節(jié)
  Frame_Info[2] = HZ_Length + 3; 		//構(gòu)造數(shù)據(jù)區(qū)長(zhǎng)度的低字節(jié)
  Frame_Info[3] = 0x01 ; 			//構(gòu)造命令字:合成播放命令
  Frame_Info[4] = 0x01 | Music << 4 ; //構(gòu)造命令參數(shù):背景音樂(lè)設(shè)定

  /*******************校驗(yàn)碼計(jì)算***************************************/
  for(i = 0; i < 5; i++)   				//依次發(fā)送構(gòu)造好的5個(gè)幀頭字節(jié)
  {
    ecc = ecc ^ (Frame_Info[i]);		//對(duì)發(fā)送的字節(jié)進(jìn)行異或校驗(yàn)
  }

  for(i = 0; i < HZ_Length; i++)   		//依次發(fā)送待合成的文本數(shù)據(jù)
  {
    ecc = ecc ^ (HZdata[i]); 				//對(duì)發(fā)送的字節(jié)進(jìn)行異或校驗(yàn)
  }
  /*******************發(fā)送幀信息***************************************/
  memcpy(&Frame_Info[5], HZdata, HZ_Length);
  Frame_Info[5 + HZ_Length] = ecc;
  HAL_UART_Transmit(&huart3,Frame_Info,5 + HZ_Length + 1,10000);
  //USART3_SendString(Frame_Info, 5 + HZ_Length + 1);
}


/***********************************************************
* 名    稱: YS_SYN_Set(u8 *Info_data)
* 功    能: 主函數(shù)	程序入口
* 入口參數(shù): *Info_data:固定的配置信息變量
* 出口參數(shù):
* 說(shuō)    明:本函數(shù)用于配置,停止合成、暫停合成等設(shè)置 ,默認(rèn)波特率9600bps。
* 調(diào)用方法:通過(guò)調(diào)用已經(jīng)定義的相關(guān)數(shù)組進(jìn)行配置。
**********************************************************/
void YS_SYN_Set(uint8_t *Info_data)
{
  uint8_t Com_Len;
  Com_Len = strlen((char*)Info_data);
  HAL_UART_Transmit(&huart3,Info_data,Com_Len,10000);
 // USART3_SendString(Info_data, Com_Len);
}

3.3 syn6288.h

#ifndef __SYN6288_H
#define __SYN6288_H


#include "stm32f1xx_hal.h"
void SYN_FrameInfo(uint8_t Music, uint8_t *HZdata);
void YS_SYN_Set(uint8_t *Info_data);

#endif

以上就是STM32驅(qū)動(dòng)syn6288的HAL庫(kù)版本的代碼,全部按我這個(gè)操作100%一次驅(qū)動(dòng)syn6288。

碼字不易,希望喜歡的小伙伴別忘了點(diǎn)贊+收藏+關(guān)注,你們的肯定就是我創(chuàng)作的動(dòng)力。

歡迎大家積極交流,本文未經(jīng)允許謝絕轉(zhuǎn)載?。?!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-472035.html

到了這里,關(guān)于STM32系列——手把手教你將SYN6288語(yǔ)音播報(bào)模塊的標(biāo)準(zhǔn)庫(kù)程序轉(zhuǎn)為hal庫(kù)使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 手把手教你寫(xiě)stm32f103智能風(fēng)扇

    手把手教你寫(xiě)stm32f103智能風(fēng)扇

    本系統(tǒng)可以分為兩個(gè)模式來(lái)進(jìn)行運(yùn)行,分別為手動(dòng)模式和自動(dòng)模式,同時(shí),在上電進(jìn)入系統(tǒng)后,還會(huì)有一個(gè)模式選擇的界面產(chǎn)生。 模式選擇:在此界面中,可以通過(guò)按鍵K1來(lái)控制模式選擇,兩個(gè)模式分別為手動(dòng)模式和自動(dòng)模式;通過(guò)按鍵K2可以進(jìn)入模式。 手動(dòng)模式:在手動(dòng)模

    2023年04月17日
    瀏覽(93)
  • 手把手教你開(kāi)發(fā)stm32——ADC(基于hal庫(kù))

    手把手教你開(kāi)發(fā)stm32——ADC(基于hal庫(kù))

    ADC的概念: Analog-to-Digital Converter的縮寫(xiě)。指模/數(shù)轉(zhuǎn)換器或者模擬/數(shù)字轉(zhuǎn)換器。是指將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)的期間。 ADC的作用: 采集傳感器數(shù)據(jù),測(cè)量輸入電壓,檢查電池電量剩余,監(jiān)測(cè)溫濕度等。 典型的模擬數(shù)字轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換為表示一定比

    2024年02月08日
    瀏覽(30)
  • 動(dòng)手實(shí)踐丨手把手教你用STM32做一個(gè)智能魚(yú)缸

    動(dòng)手實(shí)踐丨手把手教你用STM32做一個(gè)智能魚(yú)缸

    摘要: 本文基于STM32單片機(jī)設(shè)計(jì)了一款基于物聯(lián)網(wǎng)的智能魚(yú)缸。 本文分享自華為云社區(qū)《基于STM32+華為云IOT設(shè)計(jì)的物聯(lián)網(wǎng)魚(yú)缸【玩轉(zhuǎn)華為云】》,作者: DS小龍哥 。 為了緩解學(xué)習(xí)、生活、工作帶來(lái)的壓力,提升生活品質(zhì),許多人喜歡在家中、辦公室等場(chǎng)所養(yǎng)魚(yú)。為節(jié)省魚(yú)友

    2024年01月16日
    瀏覽(29)
  • 手把手教你開(kāi)發(fā)stm32——系統(tǒng)時(shí)鐘(基于hal庫(kù))

    手把手教你開(kāi)發(fā)stm32——系統(tǒng)時(shí)鐘(基于hal庫(kù))

    概念: 時(shí)鐘系統(tǒng)是由振蕩器(信號(hào)源)、定時(shí)喚醒器、倍頻器、分頻器等組成的電路。常用的信號(hào)源有晶體振蕩器和RC振蕩器。 意義: 時(shí)鐘是嵌入式系統(tǒng)的脈搏,處理器嚙合在時(shí)鐘的驅(qū)動(dòng)下完成指令執(zhí)行,狀態(tài)轉(zhuǎn)換等等動(dòng)作,外設(shè)部件在時(shí)鐘的驅(qū)動(dòng)下完成各種工作,比如串

    2024年02月06日
    瀏覽(30)
  • 手把手教你開(kāi)發(fā)stm32——看門(mén)狗(基于hal庫(kù))

    手把手教你開(kāi)發(fā)stm32——看門(mén)狗(基于hal庫(kù))

    看門(mén)狗定時(shí)器(WDT,Watch Dog Timer)是單片機(jī)的組成部分,它實(shí)際上是一個(gè)計(jì)數(shù)器,一般給看門(mén)狗一個(gè)數(shù)值,程序開(kāi)始運(yùn)行后看門(mén)狗開(kāi)始倒計(jì)時(shí)。如果程序運(yùn)行正常,過(guò)一段時(shí)間CPU應(yīng)發(fā)出指令讓看門(mén)狗復(fù)位,重新開(kāi)始計(jì)數(shù),也就是所謂的“喂狗”。如果看門(mén)狗減到0就認(rèn)為程序沒(méi)

    2024年02月17日
    瀏覽(24)
  • 手把手教你開(kāi)發(fā)stm32——定時(shí)器(上)(基于hal庫(kù))

    手把手教你開(kāi)發(fā)stm32——定時(shí)器(上)(基于hal庫(kù))

    定時(shí)器可以對(duì)輸入的時(shí)鐘進(jìn)行計(jì)數(shù),并在計(jì)數(shù)值達(dá)到設(shè)定值時(shí)觸發(fā)中斷。 16位計(jì)數(shù)器、預(yù)分頻器、自動(dòng)重裝載寄存器的時(shí)基單元。 不僅具備基本的定時(shí)中斷功能,而且還包含內(nèi)外時(shí)鐘源選擇、輸入捕獲、輸出比較、編碼器接口、主從觸發(fā)模式等多種功能。 根據(jù)復(fù)雜度和引用

    2024年02月03日
    瀏覽(23)
  • FPGA之手把手教你寫(xiě)串口協(xié)議解析(STM32與FPGA數(shù)據(jù)互傳)

    最近趁熱打鐵做了一個(gè)關(guān)于STM32與FPGA通信并且控制高速DA模塊產(chǎn)生不同頻率信號(hào)的正弦波、方波、三角波和鋸齒波的項(xiàng)目,從中收獲到了很多東西,也踩了一些雷和坑,將分為幾篇文章將整個(gè)過(guò)程分享出來(lái)。 這一次準(zhǔn)備分享的是對(duì)串口數(shù)據(jù)的解析和賦值。解析的數(shù)據(jù)由STM32發(fā)

    2024年02月06日
    瀏覽(28)
  • 手把手教你,通過(guò)HAL庫(kù)實(shí)現(xiàn)STM32的超聲波測(cè)距--以SR-04為例

    手把手教你,通過(guò)HAL庫(kù)實(shí)現(xiàn)STM32的超聲波測(cè)距--以SR-04為例

    目錄 0、SR-04基本原理 1、準(zhǔn)備工作 2、連線 ?3、STM32CUBEMX設(shè)置 3.1新建工程 3.2芯片通用設(shè)置 3.3定時(shí)器捕獲設(shè)置 ?3.4其他設(shè)置 3.5生成工程 ?4、程序完善 4.1完善打印輸出函數(shù) ?4.2完善tim.c 4.3完善gpio.c? 4.4完善main函數(shù)? ?5、總結(jié) 聲波遇到障礙物會(huì)反射,而聲波的速度已知,所以

    2024年02月14日
    瀏覽(24)
  • 手把手教你使用USB的CDC+MSC復(fù)合設(shè)備(基于stm32f407)

    手把手教你使用USB的CDC+MSC復(fù)合設(shè)備(基于stm32f407)

    ??最近對(duì)usb有點(diǎn)興趣,感覺(jué)挺好玩的,于是買了本圈圈大神的經(jīng)典著作-圈圈教你玩USB,里面使用51單片機(jī)+usb芯片對(duì)usb的基本知識(shí)潺潺道來(lái),做了十個(gè)左右的常用案例實(shí)驗(yàn),很有趣,建議大家看看。 ??趁熱打鐵,拿身邊的開(kāi)發(fā)板來(lái)練練手,探索一下復(fù)合設(shè)備的好玩方便的

    2024年02月13日
    瀏覽(99)
  • 基于STM32F103RCT6之手把手教你寫(xiě)智能家居項(xiàng)目(2)

    基于STM32F103RCT6之手把手教你寫(xiě)智能家居項(xiàng)目(2)

    ??????? 上一節(jié)我們簡(jiǎn)述了智能家居項(xiàng)目,實(shí)現(xiàn)了點(diǎn)燈的相關(guān)代碼編寫(xiě),還有WIFI模塊的固件燒錄。 連接什么平臺(tái): ??????? 我們想要遠(yuǎn)程控制家具的開(kāi)關(guān)和獲取家中的狀態(tài),少不了一個(gè)可以傳輸數(shù)據(jù)的云平臺(tái)。我認(rèn)為易監(jiān)控是一個(gè)簡(jiǎn)單好用的云平臺(tái)。 怎么連接平臺(tái):

    2024年02月20日
    瀏覽(909)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包