打印

问题求助

[复制链接]
1118|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,就这么多 ...

,你看看是否进串口中断没,我怎么看你接受中断没有打开,单步试试!!

使用特权

评论回复
5
liu787290|  楼主 | 2015-5-17 14:56 | 只看该作者
luofeng2g 发表于 2015-5-17 14:51
,你看看是否进串口中断没,我怎么看你接受中断没有打开,单步试试!! ...

什么意思,是不是ren=1,这条没写?

使用特权

评论回复
6
luofeng2g| | 2015-5-17 14:57 | 只看该作者
liu787290 发表于 2015-5-17 14:56
什么意思,是不是ren=1,这条没写?

具体你自己看看吧,应该是串口中断没使能

使用特权

评论回复
7
xuyaqi| | 2015-5-17 16:36 | 只看该作者
初始化时应该有ES=1;EA=1;

使用特权

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

本版积分规则

14

主题

39

帖子

1

粉丝