你好!上位机发送数据给单片机,单片机接收不了数据!是怎么回事 5

 我来答
安丘净水科技3s
2012-12-18 · TA获得超过168个赞
知道小有建树答主
回答量:186
采纳率:100%
帮助的人:104万
展开全部
先用示波器 看看 你发送的数据是否到MCU的RX脚。如果没有 那肯定是硬件问题。(包括线路,以及上位机发送出来的方式)
如果RX看得到数据,而单片机接收不了,如果你单片机可以在线调试,那就在接受的时候设置个断点,看数据是否因为格式跟波特率错误,导致数据异常。
也就是需要确定数据格式。

最后一步检查程序,看是否能进入读取串口数据的操作。

基本就是这些。。
qj32
2012-12-19 · TA获得超过219个赞
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:153万
展开全部
软件,硬件都有可能有问题,先从硬件看,有没有信号,再看软件的初始化设置等方面有没有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2012-12-20 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
楼主说:单片机接收不了数据!
那么,楼主是怎么知道《单片机接收不了数据》的?

楼主也没有指明你用的什么是好用的。
有错的原因,就太多了。
建议:
换个好用的发送软件试试。
换个好用的单片机试试。
换个好用的电缆试试。
换个好用的接口试试。
……
更多追问追答
追问
if(recv_flat==1)
{ recv[0]=recv[0]<<8;
temp=recv[0]|recv[1];
}
else
{ SBUF=send[sendnum++];}
}
}
追答
temp=recv[0]|recv[1];  ????

---------------------------------------

if(recv_flat==1) //这是收到了吗?
{
//recv[0]=recv[0]<<8;
temp = recv[0] * 256 + |recv[1]; //注意:temp数据类型应该是无符号整型
}
else //没有收到,就不停的发送?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luffy901123
2012-12-18
知道答主
回答量:19
采纳率:0%
帮助的人:20.6万
展开全部
你看下串口调好了没有,你这描述的太简短了。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
c3344c
2012-12-18 · TA获得超过2418个赞
知道小有建树答主
回答量:966
采纳率:57%
帮助的人:680万
展开全部
是做串口通讯的吧,把程序贴出来看看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式