99问答网
所有问题
PC串口调试助手发送字符N给51单片机,中断程序中char a=SBUF,那么主程序里能用if(a==‘N’)来做判断么
如题
举报该问题
推荐答案 2014-11-02
直接在中断中就可以处理:
bit flag;
。。。。。。
void uart() interrupt 4
{
unsigned char a;
if(RI)
{
RI=0;
a=SBUF;
if(a=='N')flag=1;
else flag=0;
}
}
追问
恩谢谢,不过我主要是想知道 是否可以if(a==‘N’)这样实现判断,在哪里处理的我不关心
追答
当然是可以的,不过在你的程序里,a需要申明为全局变量
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/W7tBWBWXj7tjOtWjt7X.html
其他回答
第1个回答 2014-11-02
参考:
http://hi.baidu.com/do_sermon/item/bfe96e2a46eafc13097508ee
第2个回答 2014-11-02
应该可以
试试看
追问
谢谢
追答
别客气
相似回答
51串口
通信问题,由
串口助手发送
十个字节
,单片机
接收十个字节,显示无法...
答:
【1】主程序中 LED0=0;改成:LED0=!LED0;【2】用断点
调试
。在
中断
服务中 “RX_BUF[RXend++]=
SBUF
; //保存数据”这一句后面增加两行。
if
(RXend==10);(并在此行设断点,检查一下缓冲RX_BUF内容。)
单片机
我在窜口中输入1然后
程序
运行
a=SBUF
;
if(a
==1) 进不去if语句 怎...
答:
说明a不等于1,也就是说问题应该出在前面,可能是
串口
初始化没做好,没有初始化成功,也可能你上位机波特率没调好,接收到的数据出错了。建议你在a=SBUF下面跟一个串口发送程序如UART_Send(a);这样就可以知道有没有收到数据,或者数据是否出错了。
请问
单片机
怎么判断
PC串口
所发过来的
字符
答:
if(a=
=97) //如果接收的数为97(a的ascii码)//阁下写的是
if(a=
97)成了赋值了。这样判断总是对的,呵呵 { //这里写你要处理的程序:
SBUF
=98;//,要处理的处理完后,回传b,表明处理完了 } while(!TI);TI=0;a=0;//增加这一句,不然a总是97 ES=1;} } } 阁下查一下:晶振...
51单片机
与计算机
串口
通信无法读出数据?
答:
答:1 判断你的硬件有没有问题;方法是 用跳线讲
串口
的pin2 和pin3短接,用
串口调试助手发送
数据看调试助手能不 能自己收到,能就说明是单片机程序有问题 2 你检查你的波特率是生成程序是否正确, 中断和主程序用 1楼给你程序,我看了 没问题。这样就可以实现串口通信了 ...
用
串口调试助手给单片机发
数据再将得到的数据返回给上位机,可是我做的...
答:
if(a
>string_max)ES=0;} } 你进了串口中断就关闭了中断使能ES,但直到中断结束也没有再次打开中断,也就是说收到了一个字符后就再也无法进入
串口中断,
你一共就收到一个‘E’,还没机会打开flag标志来启动
发送,
居然能在串口收到“ER”,实在不懂。1.建议你在初始化程序中将flag和buffer_uart...
帮忙看一个c语言编的
串口
通信
程序
答:
while(RI==0); //收去一个
字符
a=SBUF
;RI=0;
if(a
=='x')for(i=0;i<6;i++) //发送部分
,中断
要做的事情尽量放在中断里 { TI=0;SBUF=table[i];while(TI==0);TI=0;} } SBUF是可以直接寻址的专用寄存器。物理上,它对应着两个寄存器,即一个发送寄存器一个接收寄存器,CPU写SBUF就...
...型数据给
单片机,
比如
发送
1。单片机怎么接收?
char
a;
a=SBUF
...
答:
可以,实际发送的数据就是1的ascII码 0x31
用
串口调试助手给单片机发送
一串
字符串,单片机
接受完之后向
串口助手
回显...
答:
{
if(
RI==1){ RI=0;uart=0;shu[pput]
=SBUF
;pput++;pput&=0x0f;} } main(){ EA=ET1=TR1=1;TH1=(65536-2000)/256;TL1=(65536-2000)%256;TMOD=0x10;pput=pget=0;inits();while(1){ if(uart>100){ if(pput!=pget)SBUF=shu[pget];pget++;pget&=0x0f;} } } ...
pc机与
单片机串口
通信问题 利用串口通信
助手
将一个
字符串
发给单片机...
答:
4.指出你出现异常的原因。因为串口在接收到1个字节后,resv=1,也就是ch[1]='H',这个时候标志位被设置
,程序
进入
发送程序,
响应的
SBUF=a,
将H发送出去。因为
51单片机
仅有一个串口缓存寄存器,这样发送的时候是没有办法接收的,而PC机不知道,还是在
发送,
也许这样导致的错误。
大家正在搜
51单片机串口调试
51单片机串口通信例程
51单片机串口收发
51单片机中pc是什么
51单片机多个串口
两个51单片机串口通信
有两个串口的51单片机
单片机里pc什么意思
51单片机pc是什么意思