急!ADC数据采集传至上位机

2019-07-20 03:55发布

现在要求我用stm32F407开发板,有3个传感器,通过ADC采集数据,通过串口传至上位机,上位机用Labview编写,不知道该怎么搞啊,求大佬们指点下,给个大概的方案,单通道的我之前做好了,现在多通道不知道咋搞了,看网上有些用DMA传递数据,不知道为啥要用DMA,另外三个通道的话,协议该怎么定才好(从来没定过协议),最主要的定了协议,怎么通过串口传输数据呢?是通过uart函数,一个字节一个字节的传,还是通过printf函数呢?毕竟三个通道的ADC数据传输协议的话,肯定不止一个字节。真心求指导,感激不尽
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
abc82465zz
1楼-- · 2019-07-20 05:06
原子哥给的例子里面其实是最基本的教学案例,假如用于工业应用的话是不可靠的。
任何通讯都建议应该走协议的方式,你上面的需求:
1. STM32采集三路AD,你不就得到3个变量值么(ADC值,或者是计算值);
2. 串口发送设计一个协议,很简单例如“01 data0 data1 data2 crc”,当然这个协议随你定,只要能够区分三个数据就可以了,协议就是一个人为规定的东西,随便你定,上位机得到协议后解析三个数据就可以了;
3. 最后强调一下必须要用类crc的校验的,没有校验那么你的数据是不可靠的,当然你要嫌麻烦可以不做crc。
wangzhaohui
2楼-- · 2019-07-20 06:25
 精彩回答 2  元偷偷看……
szczyb1314
3楼-- · 2019-07-20 09:53
3个传感器的值能采集到吗?
能采集到就按照2楼的方式发送啊
上位机收到数据按照2楼设计的协议解析啊
当然,2楼只是举了个例子,你可以自己设计协议
fengruixin1992
4楼-- · 2019-07-20 14:30
abc82465zz 发表于 2019-1-23 23:42
原子哥给的例子里面其实是最基本的教学案例,假如用于工业应用的话是不可靠的。
任何通讯都建议应该走协议 ...

那么按协议发送数据的时候是用uart函数逐个字节的发送还是用printf函数直接一下发送一套数据呢
fengruixin1992
5楼-- · 2019-07-20 19:54
 精彩回答 2  元偷偷看……
fengruixin1992
6楼-- · 2019-07-21 00:53
abc82465zz 发表于 2019-1-23 23:42
原子哥给的例子里面其实是最基本的教学案例,假如用于工业应用的话是不可靠的。
任何通讯都建议应该走协议 ...

还有单个ADC进行3通道数据采集的话,是按照顺序,轮流采集3个传感器的数据么?然后轮流发送?

一周热门 更多>