STM32借助Mbed OS多线程调节电脑音量

Mbed定义STM32

STM32

本文使用 Black Pill STM32,其DIP 外形尺寸适合任何面包板,并且 USB C 电缆可以为电路板供电,除非您驱动大量外部电路,否则您可能不需要外部电源。

我使用的 STLink 加密狗有 10 个引脚。 不幸的是,并非所有复制品都具有相同的引脚排列。 Blackpill 上的四个引脚(从左侧开始,同时查看连接器)是:3.3 V、SWDIO、SWCLK 和接地。 如果您不介意从 USB 端口获取电源,则只需要最后三个引脚。

通常,这些复制品适配器的外壳上有引脚排列。 对于我来说,我需要的三根电线分别位于引脚 6、7 和 8 上。如果您确实需要从设备中汲取 3.3 V 电压,请小心,消耗过多电流或短路电源线会损坏加密狗。

软件

我选择 Mbed 工具,它是一个类似于 Arduino 的生态系统。不过,其生态系统并不直接支持 Black Pill,且目标板不支持 USB。 不过,它似乎只能在本地运行的 Mbed IDE 上工作。如果您使用不同的工具集,您可能会发现自己需要自己来定义目标,如PlatformIO。

开始

一旦你把所有东西都组装好了,就很容易让程序运行起来。让我们做一个简单的 LED 闪光灯,在 USB 串行端口上输出一些输出。 例如,您可以在在线模拟器中运行“Blinky”示例。 问题是 printf 在我们的板上没有任何用处。

#include "mbed.h"
#include "USBSerial.h"
 
DigitalOut led(LED1);
USBSerial usbSerial(false); // don't wait for connection
 
int main() {
   usbSerial.connect();  // set up serial port
   while (1) {
     led = !led;
    usbSerial.printf("Blink! LED is now %d\n", led.read());
    ThisThread::sleep_for(500ms);
    }
}

就是这么简单。只需按照 Black Pill 配置中的说明设置一个项目。即:

  • 在 Mbed IDE 中创建一个新项目。
  • 右键单击程序的根文件夹,然后在弹出窗口中选择添加库…
  • 打开下拉列表并选择默认值,然后单击完成。

如果您使用的是 STLink,您只需单击运行按钮或调试按钮即可开始使用。 如果您选择了 DFU,IDE 会告诉您将 .bin 文件放在哪里。 这就是你需要为你的 DFU 编程器提供的东西。 如果您使用 Linux,dfu-util 行将如下所示:

STM32 Mbed OS多线程控制

线程设置

音量调节

多线程通讯

源代码

详情参阅 - 亚图跨际

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值