STC89C52 串口读回数据的问题
时间:10-02
整理:3721RD
点击:
我用串口助手发 字符 1或0, 单片机收到后 给unsigned char UART_buff, Money; 然后判断是否等于1或0,
可是就是不会相应。
if( UART_buff == 1 ) Money = 1; 这几好像有问题 ?
请大侠帮我看看 我就想把 上位机发来的字符判断下,如果是1,就有动作 不是就没有动作
if(RI == 1) { //如果收到.
RI = 0; //清除标志.
New_rec = 1;
UART_buff = SBUF; //接收.
if( UART_buff == 1 ) Money = 1;
// if(UART_buff == 'a' ) Money = 1;
// Money = UART_buff;
}
else { //如果送毕.
TI = 0; //清除标志.
Send_ed = 1;
}
if ((New_rec == 1) && (Send_ed == 1)) //com
{ //如果收到新数据及发送完毕
SBUF = UART_buff; //那就发送.
New_rec = 0;
Send_ed = 0;
}
if( Money == 1 ) //scan COM FAIL
{
red_ =1;
green_ =1;
yellow_ =0;
sweep_key =1;
go_stop=0;
a=1;
ss=0;
bb=0;
Money = 0;
value_fail=1;
}更多
可是就是不会相应。
if( UART_buff == 1 ) Money = 1; 这几好像有问题 ?
请大侠帮我看看 我就想把 上位机发来的字符判断下,如果是1,就有动作 不是就没有动作
if(RI == 1) { //如果收到.
RI = 0; //清除标志.
New_rec = 1;
UART_buff = SBUF; //接收.
if( UART_buff == 1 ) Money = 1;
// if(UART_buff == 'a' ) Money = 1;
// Money = UART_buff;
}
else { //如果送毕.
TI = 0; //清除标志.
Send_ed = 1;
}
if ((New_rec == 1) && (Send_ed == 1)) //com
{ //如果收到新数据及发送完毕
SBUF = UART_buff; //那就发送.
New_rec = 0;
Send_ed = 0;
}
if( Money == 1 ) //scan COM FAIL
{
red_ =1;
green_ =1;
yellow_ =0;
sweep_key =1;
go_stop=0;
a=1;
ss=0;
bb=0;
Money = 0;
value_fail=1;
}更多
0
字符1应该是用'1'或者,0x31.
马上试下
还请你多帮忙看看
哪里还有问题
试了下不行
额..你确定你的串口收发数据正常么?
先把串口通讯调好把
收发咩有 问题啊
我把程序发你看看 你帮忙看下是什么问题
SCON = 0X50;
TMOD=0X20;
PCON=0X00;
TH1=0XFD;
TL1=0XFD;
ES=1;
EA=1;
TR1=1;
晶振是22.1184的
我这个设置对吗
两位大侠 帮忙看看哪里有问题