用串口调试助手向单片机发送数据
比如我发送一个"1"以后,我在单片机内用a=SBUF接收,然后用switch(a)case1:来做事情,为什么感觉收到的a的内容不是1呢?因为没有执行case1后面的语句...
比如我发送一个"1"以后,我在单片机内用a=SBUF接收,然后用switch(a) case 1:来做事情,为什么感觉收到的a的内容不是1呢?因为没有执行case 1后面的语句。收到的到底是什么东西,发回电脑上面显示的HEX码是"31"
前面省略
void main()
{
while(1)
{
if(flag==1)
{
switch(a)
{
case 1: 执行语句1; break;
.................
case 8:执行语句8; break;
break:执行默认语句;break;
}
........
}
}
}
void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}
结果我发现,我发送1的时候,它还是执行默认语句。 展开
前面省略
void main()
{
while(1)
{
if(flag==1)
{
switch(a)
{
case 1: 执行语句1; break;
.................
case 8:执行语句8; break;
break:执行默认语句;break;
}
........
}
}
}
void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}
结果我发现,我发送1的时候,它还是执行默认语句。 展开
4个回答
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
首先,获取单片机和串口屏的通信协议; 其次,在PC中编写串口通信软件,分别控制两个设备即可; 调试的时候,可以先用现有的串口助手类软件如串口调试助手,或者自定义协议功能的通信软件如格西烽火,测试和验证你定义的协议…...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
展开全部
这就对了。电脑显示的是ASCII码。1的ACII码正是31H
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能不能把程序发上来看看啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个,不是很清楚。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询