在工作中发现,很多时候我们做单片机的都是在重复造轮子。
不像linux,可以找到很多开源模块。
去年花了点时间,将这么多年的一些想法实现了,放在github给大家参考,
也希望能有更多的人来做一些开源的单片机软件模块。
主要实现了SPI、I2C、LCD框架。参考了linux中设备树、设备与驱动分离的思想。
最终的效果就是,如果一个LCD要修改他的硬件接法,只需要修改一个结构体中的变量赋值。
除此外,还提供了很多实用的软件模块,例如:
简易菜单、内存分配、littlefs移植、spiffs移植、tslib移植等。
这些软件模块,很多都在本人参与的项目中批量验证过。(年出货百万级)
软件放在:github: https://github.com/wujique/stm32f407 不在master分支
为了模拟一些软件场景,例如,多个设备使用同一个SPI、一个LCD既可以用硬件SPI,也可以用IO模拟SPI,还可以用I2C接法。
重新设计了一套硬件,如图:
其中外扩接口标准化,可以满足很多别人的模块接法
因为目的是做一些软件模块,因此硬件以很低的价格(网上407开发板的一半)。
只希望有人能一起做一点实际能用的开源单片机软件。
而不是卖开发板做基本的入门教学。
文档也全是这么多年的实际经验。
当然,经验有限,必有疏漏,只希望能吸引一些人来做软件。
以下 2019-03-05 @晕哥 添加
--------------------------------------------------------
淘宝购买链接: https://item.taobao.com/item.htm?id=571500653663
离线
我看到很多人送板子给晕哥玩,要怎么送?也不知道晕哥有没有兴趣。
离线
谢谢分享。这个必须顶。
离线
非常感谢支持,最近收到了朋友们很多板子,都没技术没精力玩起来 感到挺抱歉。
这个板子挺漂亮的,看你的设计思路有点接近 Arduino。
Arduino的思路是让很多不是很懂开发的人玩电子,例如中学生。
我这个不是额,我是想让懂技术的人参与进来,做一些嵌入式(非LINUX)的软件模块。
然后,大家开发中就可以直接用,多出来的时间,可以喝茶。。。。
离线
还有一个就是,现在做开发板的教学比较基础,偏重于介绍很多很多东西,但是实际经验都不注重,或者说不够深度。
例如触摸屏,很少有教大家用TSLIB的。
离线
支持。
离线
支持
离线
不错,MCU再高一点的话就好了
离线
国产RTThread的软件包不错,上手也很容易,框架也是比较清晰的
离线
离线
程序的通用和性能是不可兼得的。想要通用性,驱动层和应用层之间加适配层(统一接口),层与层之间函数调用消耗cpu。要性能就直接操作硬件,没有通用可言。
离线
用rust语言做开发,语言就是平台了,基本上能想到的功能模块官方包管理器里都有收录了。
rust库管理是方便,但是单片机上目前驱动还是太少了,还得从c移植过去。。。
离线
先把代码写规范了,才是正道。
一个连代码都写不规范的,谈什么框架。
离线