使用Arduino, Python, Lua等来做单片机开发等同于走绝路!
一,首先问一下:你们知道Arduino, Python, Lua等做单片机开发到底是什么原理?
这边给出一个Lua的: https://www.cnblogs.com/yangfengwu/p/9315841.html
实际上就是说Arduino, Python, Lua做开发是调用的别人使用C语言封装的函数!
现在思考下:
1,别人能100%的把单片机的所有功能封装进去吗?
2,稳定性和效率有保证吗?
3,封装的时候必会使用大部分的flash和ram!
二,使用实际情况验证第一个问题(使用Arduino, Python, Lua等来做单片机开发,别人能100%的把单片机的所有功能封装进去吗?)
这边使用Arduino和Python做ESP32的开发,需要使用到CAN;
首先Python直接绝路了: 根本没有做CAN函数的封装;
再者是Arduino, 虽然有人封装, 但是我看了他们封装写的程序,几个字:糊弄着能用就行(其实也不能怪他们,他们并不是使用者,只是无私奉献者)
其实Arduino还好,实际上是C调用C,执行效率没得说, 库的运行效率就看封装库的人的水平; 当然也可以直接使用底层的C自己写功能;
因为客户需要100K,500K和1M,但是别人提供的CAN库并不支持, 500K封装的还有错误, 最终我这边是更改了他们封装的CAN库;
由此可见别人是不可能100%的把单片机的所有功能封装进去的!如果你不会C开发,直接绝路了!
三, 使用实际情况验证第二个问题(使用Arduino, Python, Lua等来做单片机开发,稳定性和效率有保证吗?)
大家有没有想过实际上芯片厂商提供的C也是有问题的, 然后另外的厂商再在C上封装个Arduino, Python, Lua出来!
当时这边做一个4G模组的C开发,然后测试发现芯片厂商提供的C底层有问题,每一条消息非得等到服务器阻塞应答,然后这边就去做了更改;
芯片厂商那个做开发的估计只一步一步看表面文档说的协议,而没有实际使用测试软件测试抓包,也没考虑实际应用!
底层都有问题,更何况再把底层的功能使用Arduino, Python, Lua等封装一遍!
四, 使用实际情况验证第三个问题(封装的时候必会使用大部分的flash和ram!)
使用C语言的时候咱控制一个GPIO只需要几行代码, 而使用 Arduino, Python, Lua 等提供的库函数编程,
为了满足各种需求,底层会使用了几十,几百行的C语言来封装;
所以使用Arduino, Python, Lua来做开发,做不了复杂的功能!
.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
2024-01-01 CH32F208以太网&蓝牙转CAN总线/RS485控制板 - 二次开发环境搭建和程序下载测试