问题求助

[复制链接]
1414|6
 楼主| liu787290 发表于 2015-5-17 14:18 | 显示全部楼层 |阅读模式
#include <stc12c5a60s2.h>       
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char flag,a,i;
uchar code table[]="I get ";
//uchar code table[]={'I',' ','g','e','t',' '};
void UartInit()                //115200bps@11.0592MHz
{
        PCON &= 0x7F;                //波特率不倍速
        SCON = 0x50;                //8位数据,可变波特率
        AUXR |= 0x40;                //定时器1时钟为Fosc,即1T
        AUXR &= 0xFE;                //串口1选择定时器1为波特率发生器
        TMOD &= 0x0F;                //清除定时器1模式位
        TMOD |= 0x20;                //设定定时器1为8位自动重装方式
        TL1 = 0xFD;                //设定定时初值
        TH1 = 0xFD;                //设定定时器重装值
        ET1 = 0;                //禁止定时器1中断
        TR1 = 1;                //启动定时器1
}

void main()
{
        UartInit();
        while(1)
        {
                if(flag==1)
                {
                        ES=0;
                        for(i=0;i<6;i++)
                        {
                                SBUF=table[i];
                                while(!TI);
                                TI=0;
                        }
                        SBUF=a;
                        while(!TI);
                        TI=0;
                        ES=1;
                        flag=0;
                }
        }
}

void ser() interrupt 4
{
        RI=0;
        a=SBUF;
        flag=1;
}
实现功能从串口调试助手发送X,就可接收到“i get X”,设置波特率115200,可是实现不了,求大神看看哪里错了,谢谢
luofeng2g 发表于 2015-5-17 14:33 | 显示全部楼层
实现了什么?什么又实现不了?说清楚
 楼主| liu787290 发表于 2015-5-17 14:45 | 显示全部楼层
luofeng2g 发表于 2015-5-17 14:33
实现了什么?什么又实现不了?说清楚

能发送数据,但是接收不到,希望实现在串口助手发送X。接收到i get X,就这么多
luofeng2g 发表于 2015-5-17 14:51 | 显示全部楼层
liu787290 发表于 2015-5-17 14:45
能发送数据,但是接收不到,希望实现在串口助手发送X。接收到i get X,就这么多 ...

,你看看是否进串口中断没,我怎么看你接受中断没有打开,单步试试!!
 楼主| liu787290 发表于 2015-5-17 14:56 | 显示全部楼层
luofeng2g 发表于 2015-5-17 14:51
,你看看是否进串口中断没,我怎么看你接受中断没有打开,单步试试!! ...

什么意思,是不是ren=1,这条没写?
luofeng2g 发表于 2015-5-17 14:57 | 显示全部楼层
liu787290 发表于 2015-5-17 14:56
什么意思,是不是ren=1,这条没写?

具体你自己看看吧,应该是串口中断没使能
xuyaqi 发表于 2015-5-17 16:36 | 显示全部楼层
初始化时应该有ES=1;EA=1;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

39

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部