利用LabVIEW的串口通信,为什么上位机发送一个字符串,而单片机只接收到前两个字符?
我用LabVIEW开发上位机,使用串口与51单片机进行通信。上位机发送一个字符串给单片机,使接收到的字符串显示在1601液晶上。问题是,可以通信,但液晶只显示字符串的前两...
我用LabVIEW开发上位机,使用串口与51单片机进行通信。上位机发送一个字符串给单片机,使接收到的字符串显示在1601液晶上。问题是,可以通信,但液晶只显示字符串的前两个字符,例如发送“abcdef”,液晶上只显示“ab”。液晶显示程序没有问题。这个程序应该不难,可是就想不通问题出在什么地方。请高手指教!
展开
7个回答
迪凯特科技(北京)有限公司
2023-07-28
展开全部
我做过labvIEW的编程,我做的是USB通讯,首先你可以用串口调试助手发送一串字符,看下位机是否接收正常,如果不正常,那么就一定是你的程序出错;如果一切正常,那么你再看labvIEW的发送命令程序,因为发送的时候应该是字符串格式(看你的描述),那么你要确定字符串的长度,如果有buffer的话还要确定它的长度是否正常,很可能是长度出错;然后加大长度的情况下,再试一下;因为我这儿没有你所说的硬件,不好帮你调试的,所以你有什么问题再留言,再讨论吧
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
单片机的UART口通信速度通常取决于以下几个因素:1. 硬件规格:不同的单片机UART接口具有不同的最大传输速率,通常在数百Kbps到数Mbps的范围内。例如,某些常见的单片机,如STM32F103C8T6,其UART接口的最大传输速率可达...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
展开全部
首先要确定是单片机接收有问题还是发送的问题。
由于我以前也遇到过这个情况,建议你在单片机程序中不要直接将接收到的数据直接发送,而是先将接收到的数据存在某个数组中,再将这个数组发送。估计可以解决问题
由于我以前也遇到过这个情况,建议你在单片机程序中不要直接将接收到的数据直接发送,而是先将接收到的数据存在某个数组中,再将这个数组发送。估计可以解决问题
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然能收到表示通讯应该是正常的。
先确定你的labview程序 在使用串口 --- 自发自收状态时。 是否能正常收发所有数据
如果正常,那么就是下位机,单片机程序的问题。
先确定你的labview程序 在使用串口 --- 自发自收状态时。 是否能正常收发所有数据
如果正常,那么就是下位机,单片机程序的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-11-29
展开全部
多半是你 单片机 程序 问题
建议 去 我的领地 5d6d 的 proteus 论坛看看
那里有很多 单片机仿真实例,包括仿真图 和 源码
搜 5d6d 和 proteus 2个关键词
建议 去 我的领地 5d6d 的 proteus 论坛看看
那里有很多 单片机仿真实例,包括仿真图 和 源码
搜 5d6d 和 proteus 2个关键词
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查一下单片机晶振频率和波特率设置对不对。11.0592和12M的晶振波特率设置是不一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询