标题: 请教STC12C5A60S2单片机串口接收,LCD12864显示问题 [打印本页]

作者: xiaoyuxinke    时间: 2023-3-13 11:25
标题: 请教STC12C5A60S2单片机串口接收,LCD12864显示问题
我需要一个可以显示STC12C5A60S2单片机串口接收并由LCD12864显示的程序,看了一下例程,还是不会弄,这里请教大神了,下面是我找的STC的例程
//************************************************************
//【串口接收程序】
//【此程序必需使用11.0592M晶振,否则乱码】
//************************************************************
//UART串口接收中断服务例程

void Uart_Isr() interrupt 4
{   
        EA=0;
    if (RI==1)
    {
    RI = 0;                                         //清零接收中断标志
    RBUF[RA++] = SBUF;                              //UART数据暂存到RBUF数组
    if(RA==3||SBUF=='\r'||SBUF=='\n')               //如果接收够16个字节
        {
        flag_RXD=1;                                     //接收标志位为1
                        
        RI=1;
        RA=0;                                           //清零RA,重新开始计数
        }
    }
    if (TI)
    {
        TI = 0;                                         //清零发送中断标志位
    busy = 0;                                       //接收忙碌标志位置0
    }
        EA=1;
}

请教1:这里串口收到的数据是存到RBUF[RA++] 了么,如果是,这个数组中的数怎么送到LCD12864显示。
请教2:串口接收到的数据怎么和字符串比较。
以上两个问题,感谢各位大神指导!

作者: 人工置顶员    时间: 2023-3-13 23:57
顶一下
作者: xmcolong    时间: 2023-12-24 20:55
if (RI==1)
    {
    RI = 0;                                         //清零接收中断标志
    RBUF[RA++] = SBUF;                              //UART数据暂存到RBUF数组
...................................................
RI为高电平表示有串口数据进来, 然后把RI置零, 代表本次数据结束, 然后RA++, 把本次数据存入RBUF[]数组, 利用RA++计数器, 把存入数组的序数增加, 这应该明白了吧?  




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1