使用RUST在Arduino上进行编程(MacOS,mega板)

近年来,RUST成为了嵌入式编程的热门语言,本文通过实现(1)LED闪灯,以及(2)在console(终端)实现"Hello Rust World"两项功能来完成实操的入门。

深入学习可以参考RUST语言圣经,以及嵌入式RUST之书

一、前期准备

Arduino板是基于AVR控制器的一类板卡总称。为了用RUST对Arduino板卡进行编程,我们需要安装特定的build工具,默认已经安装rustup和XCode tools的前提下,需要通过下列命令行进行安装nightly compiler:

powershell 复制代码
rustup toolchain install nightly

然后安装avr相关的工具:

powershell 复制代码
brew tap osx-cross/avr
brew install avr-gcc avrdude

avr-gcc是一个基于gcc的用于AVR控制器的编译器,avrdude是烧录(flashing)程序用的。

针对RUST编程,需要通过下列命令安装ravedude(基于avedude,所以得先安装avedude之后再安装ravedude),即RUST版的avedude

powershell 复制代码
cargo +stable install ravedude

以上工作完成后,编程环境就搭建好了。

二、RUST编程

基于arduino的基本crate是avr-hal,所以需要利用avr-hal创建工程工作区:

powershell 复制代码
mkdir helloworld
cd helloworld
cargo install cargo-generate
cargo generate --git https://github.com/Rahix/avr-hal-template.git

之后在console会弹出对话框,对项目名称,arduino板卡进行选择(我的Mega 2560),回车确认!

以上工作完成之后,就会在helloworld文件夹里创建默认的工程文件:

可以进入main.rs进行查看相应代码:

以上代码实现了LED闪灯操作。

在终端运行

powershell 复制代码
cargo run

即可在Arduino板卡上看到LED闪烁。

将相应地方增加以下两行代码即可实现在每次LED闪烁时打印一条"Hello, Rust world!"

powershell 复制代码
let mut serial = arduino_hal::default_serial!(dp, pins, 57600);

ufmt::uwriteln!(&mut serial, "Hello, Rust world!").unwrap();

最终效果如下:

在终端运行

powershell 复制代码
cargo run

即可实现LED闪烁,并在终端显示"Hello, Rust world!"

相关推荐
钱栈up10 小时前
Mac 开发机一键发版不用切环境:我这样改造了团队的后端部署脚本Maven编译卡住20分钟?我靠两步定位到2处隐蔽编译错误
开发语言·python·macos
Xxtaoaooo10 小时前
600 元 HP 小主机装 macOS:从启动盘、BIOS 到核显加速完整教程
macos·黑苹果·cpolar·mac mini·实战教程
那年窗外下的雪.13 小时前
AIDC 学习日志|第 14 天|MAC Flapping 与 EVPN 多归属分层排障
网络·git·学习·macos·github·spine
方芯半导体14 小时前
EtherCAT 从站方案中 MAC、PHY 与 MII 的层级关系与实现解析
网络·人工智能·单片机·macos·ethercat
对象存储与RustFS15 小时前
用 rclone 把现有 S3/MinIO 数据同步到 RustFS
后端·rust·开源
2501_9159184117 小时前
Rust 程序抓包解密,rustls 不认系统证书的几种办法
开发语言·后端·网络协议·ios·adb·https·rust
guoguoshizhuo17 小时前
mac电脑免费使用Typora教程
macos
学心理学的程序员18 小时前
anydoc:Firecrawl 出的 Rust 文档转 Markdown,4ms 转换、14 种格式干翻 MarkItDown
开发语言·后端·rust·开源·firecrawl·claude code·anydoc
智脑API18 小时前
CCSwitch 在 macOS 上怎么接入 Codex?安装、API 配置与权限设置教程
macos
智脑API19 小时前
CCSwitch 在 Mac 上怎么配置 Claude Code?VS Code、API Key 和首次运行教程
macos