打印

串口通信 数据发送计数问题

[复制链接]
2049|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dolin_wu|  楼主 | 2010-2-1 21:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写的一个串口通信的c程序,主要是对电脑发过来数据的次数在8个发光二极管上以二进制的形式显示,我写的程序:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void init();
uint i,j=0;
void init();
void main()
{
        init();
        while(1);

}

void init()
{
        TMOD=0x20;
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
        REN=1;
        SM0=0;
        SM1=1;
        EA=1;
        ES=1;

}

void seri() interrupt 4
{
        RI=0;
        i=SBUF;
        ++j;
        P1=j;

}


为什么在没发数据或是复位时P1=1啊,是什么原因,各位高手能指导下吗?

相关帖子

沙发
lxl_0598| | 2010-2-3 08:54 | 只看该作者
PI=1,说明中断发生了一次,你按此思路查查

使用特权

评论回复
板凳
zljzlj| | 2010-2-3 11:06 | 只看该作者
1. 确认复位后,P1默认的端口状态
2. 要初始化所用到得端口啊

使用特权

评论回复
地板
dolin_wu|  楼主 | 2010-2-4 19:04 | 只看该作者
3# zljzlj

谢谢你的解答,但是我还是有些疑问:
确认复位后,P1=0xff;应该是全熄灭啊而不是一啊!!

使用特权

评论回复
5
dolin_wu|  楼主 | 2010-2-4 19:05 | 只看该作者
2# lxl_0598


我知道发生了中断,并且肯定是单片机接受了一次来自电脑的数据,关键是我不知道中断源始什么?

使用特权

评论回复
6
歪 歪| | 2010-2-9 16:02 | 只看该作者
hehe
用串口监视分析仪吧
上面有收发统计数字,你比较一下你程序是否计数正确.
至于是否接收了一次来自PC机的数据,这个神秘数据到底是什么,嘿嘿,分析仪会告诉你一切.

http://www.armecos.com/freedown/ ... good/comspy-v20.rar

使用特权

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

本版积分规则

11

主题

36

帖子

1

粉丝