利用LabVIEW的串口通信,为什么上位机发送一个字符串,而单片机只接收到前两个字符?

我用LabVIEW开发上位机,使用串口与51单片机进行通信。上位机发送一个字符串给单片机,使接收到的字符串显示在1601液晶上。问题是,可以通信,但液晶只显示字符串的前两... 我用LabVIEW开发上位机,使用串口与51单片机进行通信。上位机发送一个字符串给单片机,使接收到的字符串显示在1601液晶上。问题是,可以通信,但液晶只显示字符串的前两个字符,例如发送“abcdef”,液晶上只显示“ab”。液晶显示程序没有问题。这个程序应该不难,可是就想不通问题出在什么地方。请高手指教! 展开
 我来答
迪凯特科技(北京)有限公司 2023-07-28
展开全部
串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。 通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信…
只为精彩人生
2011-11-30 · 超过29用户采纳过TA的回答
知道答主
回答量:102
采纳率:0%
帮助的人:79.1万
展开全部
我做过labvIEW的编程,我做的是USB通讯,首先你可以用串口调试助手发送一串字符,看下位机是否接收正常,如果不正常,那么就一定是你的程序出错;如果一切正常,那么你再看labvIEW的发送命令程序,因为发送的时候应该是字符串格式(看你的描述),那么你要确定字符串的长度,如果有buffer的话还要确定它的长度是否正常,很可能是长度出错;然后加大长度的情况下,再试一下;因为我这儿没有你所说的硬件,不好帮你调试的,所以你有什么问题再留言,再讨论吧
迪凯特科技(北京)有限公司
2023-07-28 广告
单片机的UART口通信速度通常取决于以下几个因素:1. 硬件规格:不同的单片机UART接口具有不同的最大传输速率,通常在数百Kbps到数Mbps的范围内。例如,某些常见的单片机,如STM32F103C8T6,其UART接口的最大传输速率可达... 点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
fishyu1129
2011-12-14 · 超过11用户采纳过TA的回答
知道答主
回答量:21
采纳率:0%
帮助的人:24.6万
展开全部
首先要确定是单片机接收有问题还是发送的问题。
由于我以前也遇到过这个情况,建议你在单片机程序中不要直接将接收到的数据直接发送,而是先将接收到的数据存在某个数组中,再将这个数组发送。估计可以解决问题
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feilixisi1
2011-11-29 · TA获得超过581个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:196万
展开全部
既然能收到表示通讯应该是正常的。
先确定你的labview程序 在使用串口 --- 自发自收状态时。 是否能正常收发所有数据
如果正常,那么就是下位机,单片机程序的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-11-29
展开全部
多半是你 单片机 程序 问题

建议 去 我的领地 5d6d 的 proteus 论坛看看

那里有很多 单片机仿真实例,包括仿真图 和 源码
搜 5d6d 和 proteus 2个关键词
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jofficer
2011-11-30 · TA获得超过959个赞
知道小有建树答主
回答量:556
采纳率:100%
帮助的人:505万
展开全部
查一下单片机晶振频率和波特率设置对不对。11.0592和12M的晶振波特率设置是不一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式