单片机串口通信问题,电脑接收到的数据出现错误项。
如图,正确的结果是05,但是总是会出现85,改成其他值也是一样的情况。程序:#include"stc.h"#include"delay.h"ucharnum=0;void...
如图,正确的结果是05,但是总是会出现85,改成其他值也是一样的情况。
程序:
#include "stc.h"#include "delay.h"
uchar num=0;
void uart_init(void) { TMOD=0x20; //设置T1的工作方式为方式2,T0是低四位 SCON=0x50; PCON&=0x7F; //波特率不倍速 TL1=0xfd; TH1=0xfd; //装入初值,TL1溢出后,TH1的值装入TL1中 TR1=1; ES=1; EA=1; }
void main()
{ uart_init(); while(1);}
void uart() interrupt 4
{ if(TI) { TI=0; REN=1; } if(RI) { RI=0; num=SBUF; num++; SBUF=num; REN=0; }} 展开
程序:
#include "stc.h"#include "delay.h"
uchar num=0;
void uart_init(void) { TMOD=0x20; //设置T1的工作方式为方式2,T0是低四位 SCON=0x50; PCON&=0x7F; //波特率不倍速 TL1=0xfd; TH1=0xfd; //装入初值,TL1溢出后,TH1的值装入TL1中 TR1=1; ES=1; EA=1; }
void main()
{ uart_init(); while(1);}
void uart() interrupt 4
{ if(TI) { TI=0; REN=1; } if(RI) { RI=0; num=SBUF; num++; SBUF=num; REN=0; }} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询