最近弄了一个可按键调时间的lcd1602显示的ds1302时钟,想改成用串口发送一定指令来设置时间,但是用了串口初始化函数和中断服务函数发送过后毫无反应,逻辑上是根据源程序改的没有问题
void Usar
tinit()
{
SCON=0X50; //设置为工作方式1
TMOD=0X20; //设置计数器工作方式2
PCON=0X80; //波特率加倍
TH1=0XF3; //计数器初始值设置,注意波特率是4800的
TL1=0XF3;
ES=1; //打开接收中断
EA=1; //打开总中断
TR1=1; //打开计数器
}
void Usart() interrupt 4
{
receiveData=SBUF;//出去接收到的数据
while(!RI);
RI = 0;//清除接收中断标志位
},我在主函数中用了if(receiveData==0x00)来判断,感觉是不是格式上的问题,还是数据需要一个字节一个字节接收?麻烦有兴趣的看一下
我已经弄好了,串口助手发送数据时要hex发送
可以啊
一周热门 更多>