赛元SC92F8463B的SSI中使用UART1与其他芯片通信问题
代码如下,程序没有报错,想实现的目的是,通过UART1发送A5 5A 00H给另外的芯片,发送成功会有声音响起,但是没有反应,烦请路过的大佬帮忙看看,不胜感激!#include "Function_Init.H"
#include "stdio.H"
//选择三合一模式:
#defineUart10
#defineTWI 1
#defineSPI 2
#defineSSI_ModeUart1
void Uart1_Init(uint Freq,unsigned long int baud);
void UART1_SendByte(unsigned char dat);
void Delay_ms(unsigned int ms);
bit Uart1SendFlag = 0; //Uart发送中断标志位
bit Uart1ReceiveFlag = 0; //Uart接收中断标志位
// 主函数
void main(void)
{
// 初始化UART1
Uart1_Init(20,460800);
// 延时确保硬件稳定
Delay_ms(100);
// 发送控制指令 A5 5A 00 播放第一首歌曲
UART1_SendByte(0x00); //唤醒信号
Delay_ms(100);
UART1_SendByte(0xA5);
Delay_ms(100);
UART1_SendByte(0x5A);
Delay_ms(100);
UART1_SendByte(0x00);
Delay_ms(100);
while(1)
{
// 主循环中可以添加其他功能
}
}
void Uart1_Init(uint Freq,unsigned long int baud)
{
P2CON &= 0xFC; //TX/RX设置为输入带上拉
P2PH|= 0x03;
OTCON |= 0xC0; //串行接口SSI选择Uart1通信
SSCON0 = 0x50; //设置通信方式为模式一,允许接收
SSCON1 = Freq*1000000/baud; //波特率低位控制
SSCON2 = (Freq*1000000/baud)>>8; //波特率高位控制
IE1 |= 0x01; //开启SSI中断
EA = 1;
TMCON = 0X07; //------111 ;Timer0、Tiemr1和Tiemr2选择时钟Fsys
TMOD |= 0x20; //0010 0000;Timer1设置工作方式2
TL1 = 0xFC; //溢出时间:时钟为Fsys,则240*(1/Fsys)=20us;
TH1 = 0xFC;
TR1 = 0;
ET1 = 1;//定时器1允许
TR1 = 1;//打开定时器1
}
void Uart1_Int() interrupt 7 //Uart1中断函数
{
if(SSCON0&0x02) //发送标志位判断
{
SSCON0 &= 0xFD;
Uart1SendFlag = 1;
}
if((SSCON0&0x01))//接收标志位判断
{
SSCON0 &= 0xFE;
Uart1ReceiveFlag = 1;
}
}
void UART1_SendByte(unsigned char dat)
{
TB8 = 0; // 第9位数据设为0 (通常用于奇偶校验,这里不用)
SBUF = dat; // 将数据放入发送缓冲区
while(!TI); // 等待发送完成
TI = 0; // 清除发送中断标志
}
// 简单延时函数
void Delay_ms(unsigned int ms)
{
unsigned int i, j;
for(i = 0; i < ms; i++)
for(j = 0; j < 2000; j++);// 调整循环次数适应20MHz时钟
}
本帖最后由 yueguang3048 于 2025-6-20 09:33 编辑
1.假设你的发送函数UART1_SendByte是OK的,删除你里面的这堆延时函数 ;
// 发送控制指令 A5 5A 00 播放第一首歌曲
UART1_SendByte(0xA5);
UART1_SendByte(0x5A);
UART1_SendByte(0x00);
2.检查UART1_SendByte函数是否写的有问题;
3.找个USB转串口,在电脑上用串口助手看下你发送的是否是正确的数据;
那你得先排查MCU的串口数据是否已经正常发送出去,可以按如下方法验证一下:
赛元SC92F8463B用的人很少啊,个人建议检查一下串口发送数据是否正确。 ”赛元SC92F8463B的SSI中使用UART1与其他芯片通信问题“https://bbs.21ic.com/icview-3463524-1-1.html
页:
[1]