51单片机串口发送数据调时间,新手求助

2019-07-15 11:55发布

最近弄了一个可按键调时间的lcd1602显示的ds1302时钟,想改成用串口发送一定指令来设置时间,但是用了串口初始化函数和中断服务函数发送过后毫无反应,逻辑上是根据源程序改的没有问题
void Usartinit()
{
    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)来判断,感觉是不是格式上的问题,还是数据需要一个字节一个字节接收?麻烦有兴趣的看一下

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
葡萄成熟时51
1楼-- · 2019-07-15 17:24
ES=1之后是不是要让ET1=0 禁止T1中断?
卡布奇诺o1
2楼-- · 2019-07-15 17:27
葡萄成熟时51 发表于 2017-2-21 10:48
ES=1之后是不是要让ET1=0 禁止T1中断?

我已经弄好了,串口助手发送数据时要hex发送
触摸阳光
3楼-- · 2019-07-15 22:11
您好,请问能发代码给我吗?我最近也在弄这个
卡布奇诺o1
4楼-- · 2019-07-15 23:48
触摸阳光 发表于 2017-6-28 09:58
您好,请问能发代码给我吗?我最近也在弄这个

可以啊
卡布奇诺o1
5楼-- · 2019-07-16 02:49
 精彩回答 2  元偷偷看……

一周热门 更多>