STM32
直播中

王波

7年用户 1380经验值
私信 关注
[问答]

如何选择Arduino、Stm32、树莓派C++、Python及LabVIEW

如何选择Arduino、STM32、树莓派C++、Python及labview

回帖(2)

高桂清

2021-10-13 11:19:39
从Arduino开始接触电子编程,也就是所谓的物联网开发吧。
从最初的超声波测距开始,到现在的各种开发,其实一直在浪费时间考虑到底用哪种技术,用哪个芯片。
转了一圈下来,论性能论价格,还是树莓派最合适。
一个多G的速度,二三百的价格,绝对秒杀Arduino的各种官方版了。
stm32其实是个尴尬的选择,论性能远不如树莓派,论开发难度可能是最麻烦的。
虽然涉足了LabVIEW+ARM的环节,但是感觉还是把LabVIEW做个上位机图形显示就完了,用LabVIEW写代码需要建立全新的编程思路。现在给我一段C和Python代码我能大概看个明白,来段LabVIEW就闹腾了。
Arduino代码确实很友好,简单,够用,但是硬件很慢,需要几块板子串在一起来完成一个多功能的项目,但是看起来很酷,外行绝对膜拜。一个delay(),就tm什么也不干了,算millis估计也是强它所难。
STM32,LabVIEW虽然号称多任务,并行,其实是多个while循环在毫秒级内完成,其实也是顺序执行。因为毕竟一个核心,怎么也无法真正多线程。Arduino也能用类似的方式来进行多线程,但是总有种自欺欺人的感觉,明明干不了这事,非要在代码上看着多线程,执行的时候各种问题出现,,,
树莓派cpu是四核的,还没有深入研究,理论上多线程是没问题。IO口不是很多,一般的项目够用,不行用Arduino的Mega做数据采集也是很轻松的,采集20个传感器发来的1或0,应该不是事吧。
编程语言,谁都想简单快捷。
能图形化最好,就像Windows有图形界面,谁还用Dos啊?
LabVIEW的G语言其实不容易学,头绪太多,需要到各个模块里去找,和别的语言翻翻书查查百度写个什么代码还是有区别的。而且很不直观,个人感觉不好学。但是学学LabVIEW反而有助于融会贯通其他语言的编程思路,对C系列和Python我觉得是个辅助的教材。
Arduino的C语言是特殊的C或者C++语言。其实是前台简化的C/C++而已。但是对于初学者很好,编写简单项目,Arduino足够。也许以后Arduino也会推出多线程的开发板也不一定呢?如果有那么一天,我一定坚定的站在Arduino的阵营里。
国内STM32的各类技术文章,各种教程,视频比比皆是。随随便便找个淘宝店就给你来200讲的STM视频课程。我比较过Arduino,stm32,树莓派的代码量,基本上没有一次stm32能占优势的。
比较明智的选择是:
简单功能+初学水平=Arduino
{
复杂功能+大量计算+靠查资料、翻书、蒙着写代码、时刻准备烧板子毁电脑的套路
=N个Arduino就可以
(Arduino之间可以用串口互发数据,但是每个板子都会有至少1ms的延时,因为要读取串口内容。)
(但这1ms可以忽悠不计)
(IIC通信分主次机,但有主机读取从机数据的例程)
}
cpu高性能需求+中级水品=树莓派
有时间的青年+不知道要干什么+不上不下的需求=STM32
SO,本人再次放弃了stm32,虽然花900买了一套开发板。。。
举报

roki

2021-11-15 15:57:10
每种语言、硬件都有其擅长的地方,看你自己的需求选择吧!
举报

更多回帖

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