找回密码
 立即注册

QQ登录

只需一步,快速开始

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

再问一个c51,12864相关问题

[复制链接]
跳转到指定楼层
楼主
ID:84495 发表于 2016-3-11 20:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
*buf  存放串口接收的数据
len   串口接收数据长度
本程序作用是根据串口第一位内容控制12864对应位置显示,
现在问题是用PutString显示的内容都正常,
             用PutChar显示的内容只在屏幕上闪一下就消失了
PutString(显示字符串函数),PutChar(显示字符函数)这两个函数本身是好的,买开发板的时候例程里带的,一直正常使用的
PutString也是调用PutChar显示每个字符的,为什么我单独使用PutChar时,显示一下就消失了,
void xianshi (unsigned char *buf ,unsigned char len)
{
         unsigned char i=0;
//    CLSLcd();//这里清屏闪烁只能在后面清屏,
       switch (buf[0])   //只判断接收到的第一个数据
      {
      case 0x36:CLSLcd();PutString(3,29,"kai");break;//kai清屏,并将kai显示到12864
          case 0x31:CLSLcd();PutString(3,29,"guan");break;//guan清屏,并将关显示到12864
          case 0x32:CLSLcd();PutString(3,29,"zuo"); break;   
      case 0x33:CLSLcd();PutString(3,29,"you"); break;
      case 0x34:CLSLcd();PutString(3,29,"shang");break;
      case 0x35:CLSLcd();PutString(3,29,"xia"); break;   
      default:uartwrite("bad cmmand.\r\n",sizeof("bad cmmand.\r\n")-1);
          return;//没有对应命令,给上位机发送bad
    }
      for(i;i<len;i++)                            //将串口接收到的完整数据显示到12864
{    PutChar(2,i*6,buf[ i]);            //逐个显示串口接收的数据到屏幕
}
        PutString(0,28,"dghedftgewrft");//随便显示什么都正常
    PutChar(4,29,len);
        PutString(6,29,"ab36547HIJKLMNmn");
uartwrite(buf,len);                //发送到上位机,表示已执行,*/
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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