打印

一个串口通信的问题,求路人观看(帖子没结,按错了)

[复制链接]
1057|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我是胖子|  楼主 | 2013-7-29 16:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 我是胖子 于 2013-7-29 16:47 编辑
/*
        时间:2013年7月29日10:33:54
        为什么我把数据从串口发送,灯不亮?
*/
# include<reg52.h>
# include<HL_1.h>

unsigned char b[10];
unsigned char flag, i, a, count = 0;
unsigned char code table[][10] = {"ONLED0","OFFLED0"};
unsigned char code message[] = "Succeed!";

void Init(void)//初始化函数
{
        TMOD = 0x20;
        TH1 = 0xfd;
        TL1 = 0xfd;
        TR1 = 1;
        REN = 1;
        SM0 = 0;
        SM1 = 1;
        EA = 1;
        ES = 1;
}

void succeed_mes()//返回运行成功的消息
{
         if(flag==1)
                {
                        ES = 0;
                        for(i=0;i<8;i++)
                        {
                                SBUF = message[i];
                                while(!TI);
                                TI = 0;
                        }
                        ES = 1;
                        flag = 0;
                }        
}


void command(void)//接收的数据命令
{
        unsigned int i, j;
        for(i=0;i<10;++i)
        {        
                if(table[0][i]!=b[i])
                {
                        j = 0;
                        break;
                }
        }
        if(i==9)
        {
                j =        1;
        }
        switch(j)
        {
                case 0:
                {
                        break ;
                }
                case 1:
                {
                        LED0 = 0;
                        succeed_mes();
                        break ;
                }
        }
}

void main()
{
        Init();
        while(1)
        {
                command();
        }
}

void Ser() interrupt 4
{
        RI = 0;
        a = SBUF;
        flag = 1;
                        
        for(;count<10;count++)
        {
                b[count] = a;
        }
}
我下载到板子上,用电脑往单片机发送ONLED0,灯不亮啊

相关帖子

沙发
dirtwillfly| | 2013-7-29 16:42 | 只看该作者
上位机软件的协议和单片机上的兼容吗?

使用特权

评论回复
板凳
dirtwillfly| | 2013-7-29 16:44 | 只看该作者
给0分帖子会自动结贴

使用特权

评论回复
地板
我是胖子|  楼主 | 2013-7-29 16:46 | 只看该作者
dirtwillfly 发表于 2013-7-29 16:42
上位机软件的协议和单片机上的兼容吗?

兼容,因为我只向单片机发送一个字符的时候,就好使
发送字符串,就没反应
我觉得是两个可能:1。我写的有问题,导致我发送的命令和下载到单片机里程序中的命令对不上
                  2.发送命令的时候,有些数据丢失了,导致和单片机里程序中的命令对不上

使用特权

评论回复
5
我是胖子|  楼主 | 2013-7-29 16:47 | 只看该作者
dirtwillfly 发表于 2013-7-29 16:44
给0分帖子会自动结贴

新注册的  没分啊,先忍一轮

使用特权

评论回复
6
dirtwillfly| | 2013-7-29 16:51 | 只看该作者
我是胖子 发表于 2013-7-29 16:46
兼容,因为我只向单片机发送一个字符的时候,就好使
发送字符串,就没反应
我觉得是两个可能:1。我写的 ...

不错,你可以针对你的猜测,做下试验。
比如连续发送两个字符或者发送只含一个有效字符的字符串

使用特权

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

本版积分规则

6

主题

12

帖子

0

粉丝