请教串行数据接收

[复制链接]
3419|17
 楼主| wangwenjia 发表于 2008-1-8 20:06 | 显示全部楼层 |阅读模式
程序片段如下
nIndex 为char格式
再用 keil 模拟调试时
SBUF显示已经放进了数据,可是nIndex怎么就不能被赋予SBUF的值呢??
不明白
大家指导下我~
            .
            .
            .
            .

serial() interrupt 4                     
{                                                  
       if(RI==1)
    {
      RI=0;
      nIndex=SBUF;
      if(nIndex<0x35)P0=0x0F;
      else P0=0xF0;
  
//      printf("ok");
    }    
}

             .
             .
             .
             .
 楼主| wangwenjia 发表于 2008-1-8 20:07 | 显示全部楼层

模拟显示

 楼主| wangwenjia 发表于 2008-1-9 18:43 | 显示全部楼层

没人解答下么。。。

 楼主| wangwenjia 发表于 2008-1-10 19:57 | 显示全部楼层

等待明白人

看了很多资料
都是已类似 nIndex=SBUF 这样的语句读串口值的
可为什么我 的nIndex 偏偏 赋不了值呢 。。。

谁来解答下啊~~~
hotpower 发表于 2008-1-10 20:04 | 显示全部楼层

1个数据读2次能没问题???

 楼主| wangwenjia 发表于 2008-1-10 20:11 | 显示全部楼层

楼上能说详细点么?

这个问题困扰我好几天了
帮下忙啊
(数据不是只读了一次么?)
 楼主| wangwenjia 发表于 2008-1-10 20:35 | 显示全部楼层

重新贴下keil下的模拟 显示

mohanwei 发表于 2008-1-10 21:10 | 显示全部楼层

太乱了,贴出来的代码跟你的截图根本不同


截图里的确读了两遍
 楼主| wangwenjia 发表于 2008-1-10 21:35 | 显示全部楼层

截图是后来为了说明问题重新 做的

效果都是一样的啊
hotpower 发表于 2008-1-11 02:44 | 显示全部楼层

...

volatile unsigned char nIndex;

serial() interrupt 4                     
{                                                  
       if(RI==1)
    {
      RI=0;
      nIndex=SBUF;
      if(nIndex<0x35)P0=0x0F;
      else P0=0xF0;
  
//      printf("ok");//想干什么???
    }    
}
 楼主| wangwenjia 发表于 2008-1-11 18:59 | 显示全部楼层

回复hotpower

//      printf("ok");

关于这一句  前面已经加了 //注释掉了啊
不起作用的
sjywjf0318 发表于 2011-5-12 18:58 | 显示全部楼层
大家好,下位机DSP2812一次发送6000各字节数据,串口助手只能接受4000多个字节,这是怎回事呢?
波特率都是9600
wx0832 发表于 2011-5-12 19:25 | 显示全部楼层
很好继续发扬
wx0832 发表于 2011-5-12 19:25 | 显示全部楼层
很好继续发扬
wx0832 发表于 2011-5-12 19:26 | 显示全部楼层
很好继续发扬
wx0832 发表于 2011-5-12 19:26 | 显示全部楼层
很好继续发扬
joyme 发表于 2011-5-13 10:16 | 显示全部楼层
9600bps一秒只能收(发)送960个字节,这个速度是位,不是字节,而且包括起始位和停止位
joyme 发表于 2011-5-13 10:17 | 显示全部楼层
你的时间间隔是否足够?比如你每次发送10个字节,那么间隔必须大于10*10*104us,以此类推
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

79

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部