51單片機加oled加syn6288- #include "config.h"
- /**************芯片設置命令*********************/
- 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};//恢復合成
- uint8_t SYN_ChackCom[]={0XFD,0X00,0X02,0X21,0XDE};//狀態查詢
- uint8_t SYN_PowerDownCom[]={0XFD,0X00,0X02,0X88,0X77};//進入POWER DOWN 狀態命令
- /***********************************************/
- /***********************************************************
- * 名 稱: YS-SYN6288 文本合成函數
- * 功 能: 發送合成文本到SYN6288芯片進行合成播放
- * 入口參數:Music(背景音樂選擇):0無背景音樂。1-15:相關背景音樂
- *HZdata:文本指針變量
- * 出口參數:
- * 說 明: 本函數只用于文本合成,具備背景音樂選擇。默認波特率9600bps。
- * 調用方法:例: SYN_FrameInfo(0,“樂聲電子科技”);
- **********************************************************/
- void SYN_FrameInfo(uint8_t Music,uint8_t *HZdata)
- {
- /****************需要發送的文本**********************************/
- unsigned char Frame_Info[50];
- unsigned char HZ_Length;
- unsigned char ecc = 0; //定義校驗字節
- unsigned int i=0;
- HZ_Length =strlen(HZdata); //需要發送文本的長度
- /*****************幀固定配置信息**************************************/
- Frame_Info[0] = 0xFD ; //構造幀頭FD
- Frame_Info[1] = 0x00 ; //構造數據區長度的高字節
- Frame_Info[2] = HZ_Length + 3; //構造數據區長度的低字節
- Frame_Info[3] = 0x01 ; //構造命令字:合成播放命令
- Frame_Info[4] = 0x01 | Music<<4 ; //構造命令參數:背景音樂設定
- /*******************校驗碼計算***************************************/
- for(i = 0; i<5; i++) //依次發送構造好的5個幀頭字節
- {
- ecc=ecc^(Frame_Info[i]); //對發送的字節進行異或校驗
- }
- for(i= 0; i<HZ_Length; i++) //依次發送待合成的文本數據
- {
- ecc=ecc^(HZdata[i]); //對發送的字節進行異或校驗
- }
- /*******************發送幀信息***************************************/
- memcpy(&Frame_Info[5], HZdata, HZ_Length);
- Frame_Info[5+HZ_Length]=ecc;
- PrintCom(Frame_Info,5+HZ_Length+1);
- }
- /***********************************************************
- * 名 稱: void main(void)
- * 功 能: 主函數 程序入口
- * 入口參數: *Info_data:固定的配置信息變量
- * 出口參數:
- * 說 明:本函數用于配置,停止合成、暫停合成等設置 ,默認波特率9600bps。
- * 調用方法:通過調用已經定義的相關數組進行配置。
- **********************************************************/
- void YS_SYN_Set(uint8_t *Info_data)
- {
- uint8_t Com_Len;
- Com_Len =strlen(Info_data);
- PrintCom(Info_data,Com_Len);
- }
- ————完整源碼請下載附件——————
復制代碼
驅動程序(STC51核).zip
(58.53 KB, 售價: 2 E幣)
2021-6-24 00:10 上傳
點擊文件名下載附件
售價: 2 E幣 [記錄]
[ 購買]
【必讀】版權免責聲明
1、本主題所有言論和內容純屬會員個人意見,與本論壇立場無關。2、本站對所發內容真實性、客觀性、可用性不做任何保證也不負任何責任,網友之間僅出于學習目的進行交流。3、對提供的數字內容不擁有任何權利,其版權歸原著者擁有。請勿將該數字內容進行商業交易、轉載等行為,該內容只為學習所提供,使用后發生的一切問題與本站無關。 4、本網站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網站所有軟件和資料均為網友推薦收集整理而來,僅供學習用途使用,請務必下載后兩小時內刪除,禁止商用。6、如有侵犯你版權的,請及時聯系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|