找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 797|回复: 2
打印 上一主题 下一主题
收起左侧

请教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:串口接收到的数据怎么和字符串比较。
以上两个问题,感谢各位大神指导!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:301191 发表于 2023-3-13 23:57 | 只看该作者
顶一下
回复

使用道具 举报

板凳
ID:13282 发表于 2023-12-24 20:55 | 只看该作者
if (RI==1)
    {
    RI = 0;                                         //清零接收中断标志
    RBUF[RA++] = SBUF;                              //UART数据暂存到RBUF数组
...................................................
RI为高电平表示有串口数据进来, 然后把RI置零, 代表本次数据结束, 然后RA++, 把本次数据存入RBUF[]数组, 利用RA++计数器, 把存入数组的序数增加, 这应该明白了吧?  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表