基于Mbed Studio环境下开发STM32

📝串口输出+点灯示例
  • 🔖编译器版本:mbed-os 6.13.0
#include "mbed.h"
// Blinking rate in milliseconds
#define BLINKING\_RATE 500ms

BufferedSerial pc(PA_2, PA_3); // usart2 PA2->TX2 PA3->RX2
FileHandle \*mbed::mbed\_override\_console(int fd) { return &pc; }

int main()
{

	pc.set\_blocking(false); // 设置为非阻塞模式
    pc.set\_baud(115200); // 设置波特率为115200
    // Initialise the digital pin LED1 as an output
    DigitalOut led(PC_13);//设置引脚输出模式
    DigitalOut led2(PA_5);
    while (true) {
        led = !led;
        led2 = !led2;
        printf("Web2 STM32F446 SysClockFreq:%d \r\n", HAL\_RCC\_GetSysClockFreq());
        ThisThread::sleep\_for(BLINKING_RATE);//延时
    }
}

在这里插入图片描述

📄按键输入测试代码
  • 🔖编译器版本:mbed-os 6.13.0
/\* mbed Microcontroller Library
 \* Copyright (c) 2019 ARM Limited
 \* SPDX-License-Identifier: Apache-2.0
 \*/

#include "mbed.h"

// Blinking rate in milliseconds
#define BLINKING\_RATE 500ms
BufferedSerial pc(PA_2, PA_3); // usart2 PA2->TX2 PA3->RX2

FileHandle \*mbed::mbed\_override\_console(int fd) { return &pc; }

int main()
{

    pc.set\_blocking(false); // 设置为非阻塞模式
    pc.set\_baud(115200); // 设置波特率为115200
    // Initialise the digital pin LED1 as an output
    DigitalOut led(PC_13);//配置为输出
    DigitalOut led2(PA_5);
    DigitalIn KEY(PD_2,PullUp);//配置PD2为输入上拉
    while (true) {
        led = !led;
        led2 = !led2;
        printf("Web2 STM32F446 SysClockFreq:%d \r\n", HAL\_RCC\_GetSysClockFreq());
        ThisThread::sleep\_for(BLINKING_RATE);
      if(0==KEY.read())
        {
            printf("Key Press!\n");
        }
    }
}
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数嵌入式工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/aa1031eab8fbf0a4672b477cc8fcd021.png)

![img](https://img-blog.csdnimg.cn/img_convert/4a1b75391fe551f5ea27ecd72f2d3a79.jpeg)

![img](https://img-blog.csdnimg.cn/img_convert/8a8cf99c94ffb681b67518c92aadce56.png)

 **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**

![img](https://img-blog.csdnimg.cn/img_convert/81fb6cf4b6ccab9c740aa798f480c5f2.png)

![img](https://img-blog.csdnimg.cn/img_convert/aaa34e05945a3cd00b7c68f88dbcb452.png)

 

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以+V:Vip1104z获取!!! (备注:嵌入式)**

<img src="https://img-community.csdnimg.cn/images/73bb5de17851459088c6af944156ee24.jpg" alt="img" style="zoom: 67%;" />



# 最后

**资料整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~**

**你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!**

 style="zoom: 67%;" />



# 最后

**资料整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~**

**你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!**

**[更多资料点击此处获qu!!](https://bbs.csdn.net/topics/618376385)**
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在STM32L432KC上使用蜂鸣器制作音乐,你需要了解以下几个方面: 1. 蜂鸣器的使用 蜂鸣器通常是通过GPIO口控制的,可以用GPIO口输出方波信号来实现。在mbed studio中,你可以使用DigitalOut类来控制GPIO口输出方波信号。 2. 音乐的节拍 音乐的节拍是指音乐中每一小节的时间长度。在制作音乐时,一般会按照一个固定的节拍来编写乐曲,例如4/4拍、3/4拍等。在代码中,你需要根据你编写的乐曲来确定每个小节的时间长度。 以下是一个简单的示例代码,用来控制蜂鸣器发出固定的节拍声: ```cpp #include "mbed.h" DigitalOut buzzer(PC_8); const int beat = 500; // 每个小节的时间长度,单位为毫秒 void play_note(float frequency, int duration) { int period = 1000000 / frequency; // 计算频率对应的方波周期,单位为微秒 int half_period = period / 2; // 计算方波周期的一半,单位为微秒 int cycles = duration / (period / 1000); // 计算方波的周期数 for(int i = 0; i < cycles; i++) { buzzer = 1; wait_us(half_period); // 等待半个周期 buzzer = 0; wait_us(half_period); // 等待半个周期 } } int main() { while(1) { play_note(440, beat); // 发出一个A4音符,持续一个小节的时间 wait_ms(beat / 2); // 等待半个小节的时间 play_note(440, beat); // 再次发出一个A4音符,持续一个小节的时间 wait_ms(beat / 2); // 等待半个小节的时间 play_note(440, beat); // 再次发出一个A4音符,持续一个小节的时间 wait_ms(beat); // 等待一个小节的时间 } } ``` 在这个示例代码中,我们定义了一个`beat`变量,表示每个小节的时间长度。我们使用`play_note`函数来发出一个指定频率和持续时间的音符,然后使用`wait_ms`函数来等待指定的时间长度。在`main`函数中,我们按照4/4拍的节拍来编写了一个简单的旋律,每个小节中都有3个A4音符。你可以根据自己的需要修改这个示例代码来编写自己的音乐。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值