找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2438|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

再問一個c51,12864相關(guān)問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:84495 發(fā)表于 2016-3-11 20:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
*buf  存放串口接收的數(shù)據(jù)
len   串口接收數(shù)據(jù)長度
本程序作用是根據(jù)串口第一位內(nèi)容控制12864對應(yīng)位置顯示,
現(xiàn)在問題是用PutString顯示的內(nèi)容都正常,
             用PutChar顯示的內(nèi)容只在屏幕上閃一下就消失了
PutString(顯示字符串函數(shù)),PutChar(顯示字符函數(shù))這兩個函數(shù)本身是好的,買開發(fā)板的時候例程里帶的,一直正常使用的
PutString也是調(diào)用PutChar顯示每個字符的,為什么我單獨使用PutChar時,顯示一下就消失了,
void xianshi (unsigned char *buf ,unsigned char len)
{
         unsigned char i=0;
//    CLSLcd();//這里清屏閃爍只能在后面清屏,
       switch (buf[0])   //只判斷接收到的第一個數(shù)據(jù)
      {
      case 0x36:CLSLcd();PutString(3,29,"kai");break;//kai清屏,并將kai顯示到12864
          case 0x31:CLSLcd();PutString(3,29,"guan");break;//guan清屏,并將關(guān)顯示到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;//沒有對應(yīng)命令,給上位機發(fā)送bad
    }
      for(i;i<len;i++)                            //將串口接收到的完整數(shù)據(jù)顯示到12864
{    PutChar(2,i*6,buf[ i]);            //逐個顯示串口接收的數(shù)據(jù)到屏幕
}
        PutString(0,28,"dghedftgewrft");//隨便顯示什么都正常
    PutChar(4,29,len);
        PutString(6,29,"ab36547HIJKLMNmn");
uartwrite(buf,len);                //發(fā)送到上位機,表示已執(zhí)行,*/
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表