基于Mbed Studio环境下开发STM32

基于Mbed Studio环境下开发STM32


  • 📍Mbed官网:https://os.mbed.com/

✨mbed OS是ARM出的一个免费开源的,面向物联网的操作系统。提供了一个定义良好的API来开发C++应用程序;集成度很高,类似Arduino,目前并不兼容所有STM32型号,大容量的基本都支持,中小容量的没有全部覆盖,也不推荐在此系统上使用。目前提供了三种开发模式:Keil Studio CloudMbed StudioMbed CLI

  • 👉使用必须要注册账号。
  • 🔖如果使用Mbed Studio IDE开发,推荐使用云编译器,占用本地磁盘空间比较小。(转为本地的话,整个工程+系统需要占用1.5GB左右的磁盘空间)。
  • 🌿使用Keil Studio Cloud网页版,在线编译速度最快。

📝串口输出+点灯示例

  • 🔖编译器版本:mbed-os 6.13.0
#include "mbed.h"
// Blinking rate in milliseconds
#define BLINKING_RATE     500msBufferedSerial 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 outputDigitalOut 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->RX2FileHandle *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 outputDigitalOut 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");}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/581780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新兴品牌如何做好传播?媒介盒子分享三招

很多品牌抓住了品类和流量红利,给自己做了传播,但是红利是有时效的,流量越来越贵,竞争对手你追我赶,只有真正占领用户心智,才能获取长期利润。今天媒介盒子就来和大家聊聊:新兴品牌如何做好传播…

elementui 表单校验validate不起效果

原因: 自定义的validator验证方式需要调用callback。 验证失败callabck(new Errno(‘’)). 验证成功 callback() var checkNumber3 (rule, value, callback) > {if (value && !Number.isInteger(value)) {callback(new Error("请输入数字值"…

Java 中 Lambda 表达式的使用

目录 一、Lambda 表达式的概念 二、Lambda 表达式的语法格式 三、Lambda 表达式的案例使用 1、使用 Lambda 来实现启动线程 2、使用 Lambda 表达式实现集合的排序 3、使用 Lambda 表达式实现文件夹下的文件查找 一、Lambda 表达式的概念 Lambda 表达式是特殊的匿名内部类…

用katalon解决接口/自动化测试拦路虎--参数化

不管是做接口测试还是做自动化测试,参数化肯定是一个绕不过去的坎。 因为我们要考虑到多个接口都使用相同参数的问题。所以,本文将讲述一下katalon是如何进行参数化的。 全局变量 右侧菜单栏中打开profile,点击default,打开之后…

[spark] SaveMode

https://spark.apache.org/docs/latest/api/java/index.html?org/apache/spark/sql/SaveMode.html Overwrite 覆盖模式是指将DataFrame保存到数据源时,如果数据/表已经存在,则现有数据将被DataFrame的内容覆盖。 注意: Overwrite 模式会覆盖已存在的表…

Alibaba Cloud Linux 3.2104 LTS 64位镜像兼容和性能如何?

阿里云Alibaba Cloud Linux 3.2104 LTS 64位镜像是可以选择的,它阿里云打造的Linux服务器操作系统发行版,针对云服务器ECS做了大量深度优化,完全兼容RHEL/CentOS生态和操作方式,如果是阿里云服务器ECS建议选择Alibaba Cloud Linux…

室内设计师效果图云渲染好?还是本地渲染好?

室内设计师在设计项目中经常面临一个关键的技术选择:使用云渲染服务或本地渲染完成效果图渲染呢?每种方式都有其独的优势与不足,且影响整个设计的完成速度、质量和成本。当然还有部分人群不知道云渲染是什么?本文整理关于云渲染的…

Mybatis Java API - Using Mappers

<T> T getMapper(Class<T> type) 您提到的插入&#xff08;insert&#xff09;、更新&#xff08;update&#xff09;、删除&#xff08;delete&#xff09;和查询&#xff08;select&#xff09;方法对于一些操作来说确实很强大&#xff0c;但它们也比较冗长、不…

完全背包问题,原理剖析,公式推导,OJ详解

文章目录 前言一、完全背包的状态设计1、状态设计2、状态转移方程3、对比0/1背包问题4、时间复杂度分析 二、完全背包问题的优化1、时间复杂度优化2、空间复杂度优化 三、OJ练习裸题完全背包离散化最小值 前言 完全背包问题&#xff0c;相比0/1背包问题&#xff0c;实就每个物品…

upset 绘制

好久没有更新,今天来一个upset图的绘制 1.1 安装包 #绘制upset的包现在看来有三个 ## UpSet ### 最基本的upsetR包,使用方便,但是扩展不方便 devtools::install_github("hms-dbmi/UpSetR") ## complex-upset ### UpSet的升级款 支持ggplot2 devtools::install_git…

码住!8个小众宝藏的开发者学习类网站

1、simplilearn simplilearn是全球排名第一的在线学习网站&#xff0c;它的课程由世界知名大学、顶级企业和领先的行业机构通过实时在线课程设计和提供&#xff0c;其中包括顶级行业从业者、广受欢迎的培训师和全球领导者。 2、VisuAlgo VisuAlgo是一个免费的在线学习算法和数…

c++环形缓冲区学习

C环形缓冲区设计与实现&#xff1a;从原理到应用的全方位解析 - 知乎 这里插入一个回调函数的学习&#xff1a; C回调函数详解_c 回调函数-CSDN博客 【C】C回调函数基本用法&#xff08;详细讲解&#xff09;_c 回调函数-CSDN博客

Ubuntu 下播放语音提示

目录 一、安装语音库 二、生成音频文件 三、语音播放代码 一、安装语音库 sudo apt update apt-get install libasound2-dev二、生成音频文件 # 文字生成 MP3网地&#xff1a;https://www.text-to-speech.cn/# MP3 转 WAV网址&#xff1a;https://www.aconvert.com/cn/aud…

微软为 Android 用户推出了人工智能助手 Copilot 应用程序

微软为 Android 用户推出了人工智能助手 Copilot 应用程序 - 与 ChatGPT 类似&#xff0c;它包括聊天机器人功能和 DALL-E 3 图像生成 - 该应用程序包括免费访问 OpenAI 的 GPT-4 模型&#xff0c;这是 ChatGPT 中的付费功能 - 发布微软将 Bing Chat 更名为 Copilot 您是否尝试…

Nature Perspective | LLMs 作为角色扮演引擎

文章目录 一、前言二、主要内容三、总结 &#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、前言 随着对话智能体的表现越来越像人&#xff0c;我们必须开发出有效的方法&#xff0c;在不陷入拟人化陷阱的情况下&#xff0c;用高层次的术语描述它们的…

ARP协议分析实验

实验目的&#xff1a; &#xff08;1&#xff09;理解ARP协议的作用&#xff1b; &#xff08;2&#xff09;理解ARP协议的工作方式。 实验器材&#xff1a; Cisco packet 实验内容&#xff1a; 实验步骤&#xff1a; 布置拓扑&#xff1a; &#xff08;2&#xff09;实验…

MATLAB基础:从入门到熟悉

二十分钟快速入门Matlab Matlab是一款功能强大的建模软件&#xff0c;它在科学和工程领域被广泛使用。如果你已经具备一些计算机语言的基础知识&#xff0c;那么掌握Matlab的基础语法将会非常容易。下面我将用简单的语言给你介绍Matlab最常用的基础语法。 1、变量和赋值&#…

【Android】使用android studio查看内置数据库信息

背景 需要用到android db 逻辑存储用户信息等等。 使用 在 App inspection 工具中查看该 app 内的 db 数据 sql执行 在新的查询框内解析查询即可知道当前的数据信息。 官方文档-使用 Database Inspector 调试数据库

3DV 2024 Oral | SlimmeRF:可动态压缩辐射场,实现模型大小和建模精度的灵活权衡

目前大多数NeRF模型要么通过使用大型模型来实现高精度&#xff0c;要么通过牺牲精度来节省内存资源。这使得任何单一模型的适用范围受到局限&#xff0c;因为高精度模型可能无法适应低内存设备&#xff0c;而内存高效模型可能无法满足高质量要求。为此&#xff0c;本文研究者提…

计算机基础

前言 本文围绕计算机的发展以及计算机中信息的表示形式对计算机进行简述。 一.何为计算机&#xff08;Computer&#xff09; 在剑桥词典中&#xff0c;关于computer的词条是如此解释的&#xff1a; 一种电子机器&#xff0c;用于存储、组织和查找单词、数字和图片&#xff0…