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币)
【必读】版权免责声明
1、本主题所有言论和内容纯属会员个人意见,与本论坛立场无关。2、本站对所发内容真实性、客观性、可用性不做任何保证也不负任何责任,网友之间仅出于学习目的进行交流。3、对提供的数字内容不拥有任何权利,其版权归原著者拥有。请勿将该数字内容进行商业交易、转载等行为,该内容只为学习所提供,使用后发生的一切问题与本站无关。 4、本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 5、本网站所有软件和资料均为网友推荐收集整理而来,仅供学习用途使用,请务必下载后两小时内删除,禁止商用。6、如有侵犯你版权的,请及时联系我们(电子邮箱1370723259@qq.com)指出,本站将立即改正。
|
|