搜索
bottom↓
回复: 2

关于c3-470的串口中断的1602显示程序,望大虾能指点一二

[复制链接]

出0入0汤圆

发表于 2011-4-3 14:36:44 | 显示全部楼层 |阅读模式
串口中程序如下:void GetRs232_Data() interrupt 4
{
uchar i,j,temp;
if(RI)
  {
        RI=0;
        temp=SBUF;
         if(temp=='$')
                {
                Rsbuf[0] =temp;
             for(i=1;i<sizeof(GPS_ASC)-1;i++)
                       {
                        j=GetUart_Data();
                            if(j<256)
                             {
                              Rsbuf=(uchar)j;
                              if(Rsbuf!=GPS_ASC) return;
                             }
                       }
//
                 for(;i<sizeof(Rsbuf);i++)
                  {
                  j=GetUart_Data();
                    if(j<256)
                      Rsbuf=(uchar)j;
                    else
                    break;
            
                  }
                LCD_Write_String(5,0,Rsbuf+0x07,6);//
                }
   }
}
/*-----------------------------------------------*/
LCD_Write_String()函数是一个1602显示,x代表第几列,y代表第几行,s就是指向读取数据的指针,num是读取的位数
/*-----------------------------------------------*/
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s,uchar num)
{
uchar i;   
if (y == 0)
        {     
         LCD_Write_Com(0x80 + x);     //表示第一行
        }
else
        {      
        LCD_Write_Com(0xC0 + x);      //表示第二行
        }        

for(i=0;i<num;i++)
        {
         LCD_Write_Data( *s);     
     s ++;     
        }
}

同样的一段程序放在主函数里面会有显示,如下:
void main()
{
uchar num;
unsigned char Data[5]="Date:";
unsigned char Time[5]="Time:";
//Buf_data[0]=0;
//Buf_data[1]=0;
LCD_Init();

LCD_Write_String(0x10,0,Data,5);
LCD_Write_String(0x10,1,Time,5);
..............}
可是在串口的那段就是没有显示,是什么原因???

出0入0汤圆

 楼主| 发表于 2011-4-3 14:40:43 | 显示全部楼层
回复【楼主位】Helloeveryon
-----------------------------------------------------------------------


显示如上 (原文件名:QQ截图未命名.png)
在keil调试时,接收的数组时有数据的,即Rsbuf[7],....是有值的。

出0入0汤圆

发表于 2011-6-2 21:38:47 | 显示全部楼层
关注帮顶
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 10:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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