|
*buf 存放串口接收的數(shù)據(jù)
len 串口接收數(shù)據(jù)長(zhǎng)度
本程序作用是根據(jù)串口第一位內(nèi)容控制12864對(duì)應(yīng)位置顯示,
現(xiàn)在問(wèn)題是用PutString顯示的內(nèi)容都正常,
用PutChar顯示的內(nèi)容只在屏幕上閃一下就消失了
PutString(顯示字符串函數(shù)),PutChar(顯示字符函數(shù))這兩個(gè)函數(shù)本身是好的,買(mǎi)開(kāi)發(fā)板的時(shí)候例程里帶的,一直正常使用的
PutString也是調(diào)用PutChar顯示每個(gè)字符的,為什么我單獨(dú)使用PutChar時(shí),顯示一下就消失了,
void xianshi (unsigned char *buf ,unsigned char len)
{
unsigned char i=0;
// CLSLcd();//這里清屏閃爍只能在后面清屏,
switch (buf[0]) //只判斷接收到的第一個(gè)數(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;//沒(méi)有對(duì)應(yīng)命令,給上位機(jī)發(fā)送bad
}
for(i;i<len;i++) //將串口接收到的完整數(shù)據(jù)顯示到12864
{ PutChar(2,i*6,buf[ i]); //逐個(gè)顯示串口接收的數(shù)據(jù)到屏幕
}
PutString(0,28,"dghedftgewrft");//隨便顯示什么都正常
PutChar(4,29,len);
PutString(6,29,"ab36547HIJKLMNmn");
uartwrite(buf,len); //發(fā)送到上位機(jī),表示已執(zhí)行,*/
}
|
|