FPGA|CPLD|ASIC论坛
直播中

黄敏松

10年用户 96经验值
擅长:可编程逻辑 模拟技术 测量仪表
私信 关注
[问答]

如何实现串口在1秒内发送多个字节数据

串口每次只能发送一个字节数据,那如果我的数据有好几个字节,如何实现?
已退回1积分

回帖(5)

mzrzaww

2015-7-12 23:22:40
如果是接收上位机发来的数据就写个状态机,然后把上位机发来的数据除了头尾的起始,停止位,将中间的起始停止位去掉就可以了。比如发x个字节就要去掉(x-1)*2个数据,剩下来的就是发送来的多字节数据
举报

黄敏松

2015-7-14 17:09:30
引用: mzrzaww 发表于 2015-7-12 23:22
如果是接收上位机发来的数据就写个状态机,然后把上位机发来的数据除了头尾的起始,停止位,将中间的起始停止位去掉就可以了。比如发x个字节就要去掉(x-1)*2个数据,剩下来的就是发送来的多字节数据

多谢回复1其实我是要下位机往上位机传数据,刚好和你说的相反!
举报

mzrzaww

2015-7-15 12:06:20
引用: hms2025 发表于 2015-7-14 17:09
多谢回复1其实我是要下位机往上位机传数据,刚好和你说的相反!

那就反过来实施啊,记得每个字节开头结尾加停止和起始位,这样有多少就可以发多少了,我用的是Labview做的上位机,不知道你用的什么
举报

黄敏松

2015-7-28 20:39:13
引用: mzrzaww 发表于 2015-7-15 12:06
那就反过来实施啊,记得每个字节开头结尾加停止和起始位,这样有多少就可以发多少了,我用的是Labview做的上位机,不知道你用的什么

我也准备选用LabVIEW先试试看,我找了个例程verilog的,为什么修改了波特率后,就不能正常收发数据了,用的是串口调试助手,所有设置都相应修改了,可还是不行?
举报

mzrzaww

2015-7-29 21:41:24
引用: hms2025 发表于 2015-7-28 20:39
我也准备选用LabVIEW先试试看,我找了个例程verilog的,为什么修改了波特率后,就不能正常收发数据了,用的是串口调试助手,所有设置都相应修改了,可还是不行?

不能收发的具体含义是什么,你的VERILOG例程里串口通讯是不是用另外一个module写的然后调用的,有可能是分频的设置你没有修改,上下位机的波特率要保持一致才行
举报

更多回帖

发帖
×
20
完善资料,
赚取积分