我写了个树莓派瑞士军刀扩展板的Rust语言库

吴翱翔 40cm2020-11-23999 次点击1 人收藏1 人感谢
官方给出的瑞士军刀扩展板教程以Python和C语言为主,我写了个Rust语言版本的库,包含流水灯、蜂鸣器、数码管实时显示时间等示例。

crates.io链接(Rust的包托管平台,类似npm和pip): https://crates.io/crates/saks

github链接: https://github.com/pymongo/saks

我将在本周二晚上8:30(2020年11月24日)将在Rust中文社区的《Rust唠嗑室》节目里,以live coding的方式跟大家分享下,直播敲代码如何用Rust语言点亮流水灯以及数码管,直播链接Rust中文社区公众号这两天内会推送

我是打算这个库偏底层一些,不依赖任何第三方库,甚至不依赖标准库(no_std)也能运行,我考察了一下树莓派主流的一些GPIO库,主要有三种实现方法:

1. /sys/class/gpio: sysfs_gpio(deprecated), gpio(deprecated), maybe not working in pi4B
2. /dev/gpiomem or /dev/gpiochip0: rppal, wiringpi, gpio-cdev
3. /dev/pigpio and pigpio daemon process: pigpio

pigpio的源码我水平有限,看的很吃力,不太理解,可能还是跟wiringpi一样mmap系统调用/dev/gpiomem?

我写的这个库目前还是很初级的阶段,要依赖别人写好的GPIO库才能运行,我慢慢会去掉一些依赖,希望能在论坛里推广,听听大家的建议
收藏 ♥ 感谢
Spoony 小组长 2020-11-23 
关注,期待直播
直播链接记得转发一下

GPIO 不依赖其他库的话可以参考这个
http://www.airspayce.com/mikem/bcm2835/

例如这个蜂鸣器的程序就是直接用 bcm2835 驱动的
https://shumeipai.nxez.com/2020/11/18/raspberry-pi-controls-the-buzzer-to-play-music.html

加油
吴翱翔 40cm 2020-11-23  ♥ 1
Rust公众号直播预告的链接: https://mp.weixin.qq.com/s/Ak6JIRoPHJ3TYEXWQm33uQ

明天周二(24日)晚上8:30腾讯会议房间ID: 81818293138

明天我主要是直播敲Rust代码从零实现流水灯和7段数码管时钟,可以在直播的过程中开麦克风一起互动

登录注册 后可回复。




› 相关内容关注微信公众号