添加udev 规则以下内容源于 The Embedded Rust Book , stm32f1xx-hal这个规则可以让你在不使用超级用户权限的情况下,使用 OpenOCD 和 Discovery 开发板 某些Linux 发行版可能并不需要这一步,比如我的,你可以先不做这一步操作生成包含下列内容的 /etc/udev/rules.d/70-st-link.rules 文件...
学习内容:掌握 embedded-hal 定义的接口,了解如何使用这些接口进行硬件抽象。 为什么学习:在你了解了底层硬件和外设的基础上,学习 embedded-hal 可以帮助你编写更通用和可移植的代码。 STM32F1xx-HAL 学习内容:学习如何使用 STMicroelectronics 提供的高层抽象库进行微控制器编程。 为什么学习:这是一个封装了底层细节的...
我现在还没搞懂,rtic的app为什么需要一个dispatchers,还必须是和自己用到的中断都不一样的一个硬件中断源,我就用了官方例子中的SPI1: #[rtic::app(device = stm32f1xx_hal::pac, dispatchers = [SPI1])] mod app { 代码布局 这个也很折腾,rtic::app它本身是一个宏!所以我们写的代码,并不是编译器阅...
在Cargo.toml添加依赖项: [dependencies]embedded-hal="0.2.7"nb="1.0.0"cortex-m="0.7.6"cortex-m-rt="0.7.2"panic-halt="0.2.0"[dependencies.stm32f1xx-hal]version="0.10.0"features= ["rt","stm32f103","medium"] 再将stm32f1xx-hal下的.cargo/config 和 memory.x从 stm32f1xx-hal 存储库...
接下来在main.rs写入点灯程序了。之前我们下载了stm32f1xx-hal.我们在stm32f1xx-hal->examples->led.rs里面拷贝里面的代码到stm32f1的main.rs里并保存 下面我们需要在stm32f1工程目录下建几个文件: 1.build.rs:在build.rs下写入 //! This build script copies the `memory.x` file from the crate root ...
下面我们来看一个例子(参考https://github.com/mwkroening/async-stm32f1xx),在这个例子中,有两个无限循环程序块,程序块1执行任务a,通过通道channel 发送计数值给任务b。程序块2执行任务b,从任务a接收数据并打印出来,从而实现了两个任务的异步并发。程序块用async关键字声明,在async块中,在语句末尾添加.await后缀...
同时也会结合 stm32f1xx-hal 开发板库中的示例,进行整合在一起学习。 注:图片来源于网络 示例目录 基础示例 Hello World 自定义异常 Panic 烧录工具 Embed 烧录工具 probe-run 单元测试套件 延迟 系统计时器延迟 系统定时器延迟 TIM2 定时器延迟 汇编延迟 通用GPIO 点灯 闪烁LED 运行中更改 GPIO 模式 动态设置...
stm32f1xx-hal = {version = "^0.10.0", features = ["stm32f103", "rt", "medium"]} # this lets you use `cargo fix`! [[bin]] name = "rust-stm32-led" test = false bench = false [profile.release] codegen-units = 1 # better optimizations debug = true # symbols are nice and ...
GD32VF103xx STM32F40x STM32F10x CH32V3 CH32V2 CH32V1 快速开始 如果您有一块longan-nano最小系统板,那么example中的例子直接可以跑起来 打开一个终端 cd debug/gd32vf103 ./openocd.sh 串口调试 把调试器插到usb口 window平台需要你找一款串口助手连接串口即可 ...
Polling target stm32f1x.cpu failed, trying to reexamine Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints 这一步以出现 xxxxx.cpu: hardware has x breakpoints, x watchpoints 提示为连接成功。 如果出现了其他错误,先检查是否已经安装仿真器的驱动,4条连接线有没有松动,或者更换一个 USB...