完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
第一次接触Arduino 我第一次接触Arduino是在几年前的一场面试里面,有一位小同学跟我说他在用Arduino。面试的内容基本都是电子电路、C语言、计算机系统的问题,小同学的面试崩了。面试结束后,我对Arduino起了兴趣,百度了一下。 让我感到比较意外的首先是Arduino的基础开发板的单片机竟然是AVR的MEGA系列,我没有想到在市面上基本很少有使用MEGA产品的情况下,还有AVR MEGA的开发板。稍微看了一下Arduino的IDE和示例程序,我认为Arduino就是把AVR单片机的开发再做了一层封装,把很多硬件资源的底层概念抽象化,简化了初学者的入门门槛。 不过我认为Arduino还是很有意思,把很多常用的传感、控制IC模块化,把硬件做成乐高一样的积木,很适合电子比赛或者是快速搭建产品原型用于测试,淘宝上也有大量的模块售卖。 但是有几个问题把我劝退了: 1、Arduino IDE太简陋了。虽然有个值得称道的包管理器,但是编码、调试、工程管理真的是太过于简陋,甚至是没有,比我们日常吐槽的MDK还多槽点。 2、没有断点调试。断点调试对稍微大一点程序来说都是很调试中很重要的一环,单纯靠串口输出日志在定位问题位置的效率很低,曾经我想在ESP8266上编程也因为这一点放弃了。 3、对硬件资源的抽象化情况太高,例如中断、UART、SPI的参数设置等比较少关注。 再一次接触Arduino 再一次接触Arduino是因为别人的一件小产品用Arduino来开发,我看了程序,里面还有PID控制逻辑,然后发现这个PID库还是在Github上开源的。一番大肆搜索后,我发现很多单片机上常用的库都做了Arduino的封装版本,Arduino的开发板除了AVR外还多了ESP32、STM32等等的单片机,VS code上还能使用Platform IO插件进行开发,还能使用JLINK进行调试,感觉一下子Arduino都能满足很多单片机产品的开发条件了。 我目前对Arduino的感受是: 1、Arduino的心很大,把多个品牌的单片机(或可编程控制器,如ESP32)的片上资源抽象化,不再需要过分关注不同单片机的硬件资源使用异同,提高了软件开发的效率,这一点比STM32的HAL库还要心大,因为HAL库只局限于ST自己的单片机。 2、网上很多人还是把Arduino看成开发板与编程软件的组合,但只要是Arduino能支持的单片机,Arduino实质上就是一个软件开发框架,硬件开发只要保证正确的线路连接就行。 3、Arduino的库基于C++编写,更便于组织与管理代码,只要控制好别随便使用new就好。 4、开源社区不断有人发布Arduino的库,软件生态非常强大。 5、Platform IO是一个神助攻,提供了更好的包管理、调试、工程管理的体验。 |
|
|
|
只有小组成员才能发言,加入小组>>
2528 浏览 0 评论
1117浏览 2评论
725浏览 1评论
477浏览 0评论
225浏览 0评论
370浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 01:12 , Processed in 1.113434 second(s), Total 52, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号