打印

串口收发字符串问题

[复制链接]
1761|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
alaic123|  楼主 | 2013-1-7 14:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 alaic123 于 2013-1-7 15:25 编辑

想做到单片机接受一组固定长度字符串,再将字符串通过串口助手发出来,如果我发123456 结果是612345 请各位大神帮我指点指点
#include<reg52.h>
//#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int

unsigned char *p,a[6];
unsigned char flag,c,i;


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


}

void main()
{
    init();
    while(1)
    {
        if(flag==1)
        {
               ES=0;
                p=&a;
                   while(*p!='\0')
                            {
                       SBUF=*p;
                           p++;
                        while(!TI);
                       TI=0;
                     
               
                        }
                ES=1;
        flag=0;
         }
    }
}


void ser()interrupt 4
{        int i;
    RI=0;
    a[i++]=SBUF;
if(i==6)

      {i=0;
     flag=1;
}



}

相关帖子

沙发
anazel| | 2013-1-7 15:25 | 只看该作者
真够乱的,怎么通讯又用查询方式又用中断方式呢

使用特权

评论回复
板凳
alaic123|  楼主 | 2013-1-7 15:27 | 只看该作者
anazel 发表于 2013-1-7 15:25
真够乱的,怎么通讯又用查询方式又用中断方式呢

不懂  什么是查询方式?

使用特权

评论回复
地板
ZG11211| | 2013-1-7 20:06 | 只看该作者
本帖最后由 ZG11211 于 2013-1-7 20:08 编辑

主循环里有串口中断查询处理,可是下面又有中断处理程序,可以改一下,保留中断处理程序,主程序只做判断,若接收完123456这6个有效字节以后,在发送到串口发送出去。

使用特权

评论回复
5
cbs525| | 2013-1-7 22:39 | 只看该作者
我也对串口不懂

使用特权

评论回复
6
shaomeicai| | 2013-1-8 13:08 | 只看该作者
楼主犯了我当初学串口一样的毛病:查询就是主程序通过对flag的判**进行发送,可是你在中断里面已经发送了,没有必要通过对中断后flag的判别再发送了

使用特权

评论回复
7
alaic123|  楼主 | 2013-1-8 15:30 | 只看该作者
改变P++位置

使用特权

评论回复
8
alaic123|  楼主 | 2013-1-9 11:14 | 只看该作者
anazel 发表于 2013-1-7 15:25
真够乱的,怎么通讯又用查询方式又用中断方式呢

我现在才明白你的意思 大神以后能否详细点 您是言简意赅 可我这菜鸟就更摸不到头脑了

使用特权

评论回复
9
alaic123|  楼主 | 2013-1-9 11:17 | 只看该作者
收发问题解决了,但是还有新的问题产生
感谢shaomeicai;ZG11211;anazel 的意见,但是大神们以后能不能给的意见详细点,虽然问题对于你们都很简单,但我这菜鸟在你们那精辟的语言下更加摸不到头脑,心里更慌了

使用特权

评论回复
10
294411253| | 2014-4-13 12:08 | 只看该作者
alaic123 发表于 2013-1-9 11:17
收发问题解决了,但是还有新的问题产生
感谢shaomeicai;ZG11211;anazel 的意见,但是大神们以后能 ...

楼主你是怎么解决的啊 我写的代码和你差不多,也有这样的错误

使用特权

评论回复
11
294411253| | 2014-4-13 13:07 | 只看该作者
求大神解答下

使用特权

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

本版积分规则

个人签名:LIFE

3

主题

54

帖子

0

粉丝