也试了,进不去的。我将程序贴在下面。
看看是那里不对了?MCU有两个串口,所以才出现RI_0,TI_0。
#include <REG1210.H>
#include <intrins.h>
#define BYTE unsigned char
#define WORD unsigned int
BYTE g_sbufnum;
BYTE g_variable;
BYTE g_inbuf[12];
/*+++++++++++++++++++++++++++++++++++++
配置串口,启动TIME01
19200,允许串口中断
++++++++++++++++++++++++++++++++++++++*/
void UARcon(void)
{
TR1=0;
TH1=0xfd;
TL1=0xfd;
SCON0=0x50;
TMOD=0x20;
PCON=0x80;
EA=1;
ES=1;
TR1=1;
}
void main(void)
{
UARcon();
while(1)
{
sendorder(0xff);
while (g_sbufnum==0);//通过g_sbufnum判断是否进入中断。
g_sbufnum=0;
sendorder(0xfe);
if(g_variable==0x01)
sendorder(g_variable);
else
sendorder(g_variable);
}
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++ 串口接收命令信号
++++++++++++++++++++++++++++++++++++++++++++++++*/
void receivorder(void) interrupt 4 using 0
{
if(RI_0==1)
{
g_variable=SBUF0;
g_sbufnum++;
RI_0=0;
}
}
发表时间:2003年5月26日10:37:59