大家帮我看看这个程序哪儿有问题,谢谢了
#include<c8051f020.h>
unsigned char flag,a;
void main()
{
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfa;//晶振22.1184MHz,波特率9600
TL1=0xfa;
TR1=1;
SCON0=0x50;//串口工作方式1
EA=1;
ES0=1;
while(1)
{
if(flag==1)
{
ES0=0;
flag=0;
SBUF0=a;
while(!TI0);
TI0=0;
ES0=1;
}
}
}
void ser() interrupt 4
{
RI0=0;
a=SBUF0;
flag=1;
}
在串口调试助手里面发送一个数据之后接收区没有反应,不知道是什么问题。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1、未配置交叉开关指定到io口上;
2、未选择外部时钟22.1184mhz;
3、未禁止看门狗;
/////////////////////////////////////
// generated initialization file //
/////////////////////////////////////
#include "c8051f020.h"
// peripheral specific initialization functions,
// called from the init_device() function
void reset_sources_init()
{
wdtcn = 0xde;
wdtcn = 0xad;
}
void timer_init()
{
ckcon ......
-----------------------------------------------------------------------
多谢了,我菜鸟级别,还没入门。。
一周热门 更多>