我用的是STC89C52,BAUD=57600,串口协议需要一次发送3个字节数据,然后接收5个字节数据,取第三个,和第四个数据程序部分如下:ucharshuju[5]={0};ucharcont=0;voidinit_serialcom(v...
我用的是STC89C52,BAUD=57600,串口协议需要一次发送3个字节数据,然后接收5个字节数据,取第三个,和第四个数据 程序部分如下:
uchar shuju[5]={0};
uchar cont=0;
void init_serialcom( void )
{
SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr
//UART为模式1,8位数据,允许接收
TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload
//定时器1为模式2,8位自动重装
PCON |= 0x80 ; //SMOD=1;
TH1 = 0xFF ; //Baud:57600 fosc=12MHz
IE |= 0x90 ; //Enable Serial Interrupt
TR1 = 1 ; // timer 1 run
TI=1;
}
//向串口发送一个字符
void send_char_com( unsigned char ch)
{
SBUF=ch;