当前位置: 首页 > news >正文

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

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

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

一、前期准备

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

rustup toolchain install nightly

然后安装avr相关的工具:

brew tap osx-cross/avr
brew install avr-gcc avrdude

avr-gcc是一个基于gcc的用于AVR控制器的编译器,avrdude是烧录(flashing)程序用的。
针对RUST编程,需要通过下列命令安装ravedude(基于avedude,所以得先安装avedude之后再安装ravedude),即RUST版的avedude

cargo +stable install ravedude

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

二、RUST编程

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

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闪灯操作。

在终端运行

cargo run

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

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

let mut serial = arduino_hal::default_serial!(dp, pins, 57600);ufmt::uwriteln!(&mut serial, "Hello, Rust world!").unwrap();

最终效果如下:
在这里插入图片描述
在终端运行

cargo run

即可实现LED闪烁,并在终端显示“Hello, Rust world!”
在这里插入图片描述

http://www.xdnf.cn/news/586117.html

相关文章:

  • 记录Pycharm断点调试的一个BUG
  • 6.13.拓扑排序
  • 结课作业自选01. 内核空间 MPU6050 体感鼠标驱动程序(二)(完整实现流程)
  • 网络编程 之 从BIO到 NIO加多线程高性能网络编程实战
  • 嵌入式学习笔记 - Void类型的指针
  • FFmpeg解码器配置指南:为什么--enable-decoders不能单独使用?
  • YOLOv11 性能评估与横向对比
  • Vault应用广吗?我是否有学习使用的必要,难不难?
  • 解码工业转型密码,R‘AIN SUITE赋能制造业价值跃迁
  • labview设计一个虚拟信号发生器
  • 齿轮,链轮,同步轮,丝杆传动sw画法
  • 训练一个线性模型
  • Linux 线程(中)
  • 基于FPGA控制电容阵列与最小反射算法的差分探头优化设计
  • 使用pm2 部署react+nextjs项目到服务器
  • (Java基础笔记vlog)Java中常见的几种设计模式详解
  • java接口自动化(四) - 企业级代码管理工具Git的应用
  • 理解全景图像拼接
  • 动态网页爬取:Python如何获取JS加载的数据?
  • Jenkins与Maven的集成配置
  • C++中的string(1)简单介绍string中的接口用法以及注意事项
  • Web前端开发 - 制作简单的焦点图效果
  • 单例模式的运用
  • UniApp+Vue3微信小程序二维码生成、转图片、截图保存整页
  • uniapp实现的简约美观的票据、车票、飞机票模板
  • ffmpeg 转换视频格式
  • 【Windows】FFmpeg安装教程
  • 「Python教案」运算符的使用
  • 中国计算机学会——2024年9月等级考试5级——第四题、森森快递(贪心+线段树)
  • JavaScriptAPIs学习day3--事件高级