这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 串口发送一个以上的字节的问题

共2条 1/1 1 跳转至

串口发送一个以上的字节的问题

院士
2006-09-17 18:14:16     打赏
串口发送一个以上的字节的问题



关键词: 串口     发送     一个     以上     字节     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问 #include<reg51.h>
void main(void)
{
    unsigned char a;
    TMOD=0x20;
    TL1=0xfd;TH1=0xfd;
    SCON=0xd8;PCON=0x00;
    TR1=1;
    while(1)
    {
        while(RI==0);
        a=SBUF;
        RI=0;
        SBUF=a;
        while(TI==0);
        TI=0;
    }
}
以上是将接收到的字节立即发送回串口的程序,单个字节发送没有问题,发送十六进制的'FF'返回是'FF',但发送一个字节以上时,就不对了,发送'FFCO',接收到的只有一个'FF',不返回'C0',请教这是怎么回事,怎么解决? 1: !先确认一下单个字节是不是一定没问题吧,最好不要用FF来试 2: 建议开辟一个缓冲区,用中断的方式发送缓冲区存放发送的字符,发送一个字符,写指针加1。。。。。 3: 发送单个字节没有问题 4: 我的问题是怎么接收多个字符,接收到后再发送 5: ...sbuf 只存8位数据的吧
要接收多个字符,可以用个变量来记数,如果没收完,就返回,继续等待RI=1咯 6: 我的程序同时发两个,怎么只能返回一个呀, 7: while(RI==0);   你一辈子也跳不出这句!!!程序应该先写后读才对吧!另:确实不能用0XFF。用5A等较好

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]