打印

串口的问题??

[复制链接]
1527|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
greyhairs|  楼主 | 2011-10-15 11:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写了一个接受函数:
void RecData(void) interrupt 4
{
  unsigned char tmp;
  tmp = 0;
  while(!RI) ;    //等待接受完成
  tmp = SBUF;     //赋值给tmp
  RI  = 0;         //清空RI
  SendData(tmp);
  DelayMs(1500);        //延时函数
}

在发送时 有些问题啊
在串口助手里调试时,发送单字符 如:a  可以正确的接受到 a
当发送:01 02 03 04时,却只能接受到前两位  这是为什么呢??

相关帖子

沙发
ayb_ice| | 2011-10-15 11:36 | 只看该作者
太NB了
中断中等待接收+巨型延时程序
"人有多大胆,地有多大产"

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
icecut + 1
板凳
greyhairs|  楼主 | 2011-10-16 19:59 | 只看该作者
问题解决:不是程序问题!
总结:1、此次问题主要出在串行线上,没想到,三根线有两根是坏的,在以后的测试中,要多去专注细节问题。
      2、出现问题,不要急于发帖,要先自己想办法解决!论坛上真正解决问题的还是很少的。
      3、郭天翔的板子质量真差!3根线居然2根坏,还有个单片机开发板是坏的,GSM也是坏的!!

使用特权

评论回复
地板
西安农民工| | 2011-10-16 20:04 | 只看该作者
对楼主佩服的五体投地!
在中断中加死等不说,还加那么长个延时!
;P

使用特权

评论回复
5
NE5532| | 2011-10-16 20:34 | 只看该作者
楼主啊,可能不是程序问题但是程序100%有问题啊。延时干嘛的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

16

帖子

1

粉丝