|
我在PC机上用串口调试助手发送 1 到单片机,但显示出来的却是 0xF4,发送2显示出来的是 0xF5,发送3显示出来的还是0xF5,发送4显示出来的又变成了0xF4,而我认为发出1应该显示的是0x01 ,2 就是0x02 (我是把收到的数据赋到P2口用发光二极管显示) 相关程序如下 这个程序应该没问题的吧 望高手指教
#include <reg51.h>
#include <string.h>
unsigned char ch;
void init_serialcomm()
{
SCON=0x50; //serial mode 1,8-bit UART,enable ucvr
TMOD=0X20; //timer 1,mode 2,8-bit reload
PCON=0x80; //SMOD=1
TH1=0xF4; //Baud:4800 fosc=11.0592M
IE=0x90; //Enable Serial Interrupt
TR1=1; // timer 1 run
}
//串口接收中断函数
void serial () interrupt 4 using 3
{
if(RI)
{
RI=0;
ch=SBUF;
}
}
main()
{
init_serialcomm(); //初始化串口
while(1)
{
P2=ch;
}
} |
|