草庐IT

STM32WBA

全部标签

STM32使用三种方式(阻塞、中断、DMA)实现串口发送和接收数据

记录下学习STM32开发板的心得的和遇见的问题。板卡型号:STM32F405RGT6软件:STM32CubeMX、IARSTM32串口外设提供了3种接收和发送方式:阻塞、中断、DMA,主要给大家分享中断方式接收不定长数据和DMA使用空闲中断接收不定长数据。1.阻塞阻塞发送:HAL_StatusTypeDefHAL_UART_Transmit(UART_HandleTypeDef*huart,constuint8_t*pData,uint16_tSize,uint32_tTimeout)阻塞接收:HAL_StatusTypeDefHAL_UART_Receive(UART_HandleTypeD

STM32实战之深入理解I²C通信协议

目录I²C的物理层I²C的协议层I²C特点I²C总线时序图软件模拟I²C时序分享软件模拟IIC驱动AT24C02分享例程简介例程分享STM32的I²C外设IIC(Inter-IntegratedCircuit),也称为I²C或TWI(Two-WireInterface),是一种广泛使用的串行总线接口,用于连接低速度的集成电路。这种通信协议非常适合在单个主设备和多个从设备之间进行短距离通信。I²C的物理层IIC通信只需要两根线:一个是串行数据线(SDA),另一个是串行时钟线(SCL)。这两根线都需要通过上拉电阻连接到正电源,以确保在没有信号驱动时,线路能够保持在高电平状态。I²C的协议层IIC协

arm32 arm64 读取PMCCNTR cpu cycle counter

ARM的时钟周期计数保存在PMCCNTR寄存器,不像x86用户态可以直接读取,需内核态使能,一种是在内核中使能,比如init,比较简单的是在模块中使能。本来写了两个,arm32一个,arm64一个,方便对比合在了一起。只测试了32位cortex-a9双核,还有个64位a76a55。enpmu.c#include#include#includeMODULE_AUTHOR("cn");MODULE_LICENSE("GPL");MODULE_VERSION("0.0");#if!defined(__arm__)&&!defined(__aarch64__)#errormoduleonlysuppo

STM32CubeMX教程5 TIM 定时器概述及基本定时器

1、准备材料开发板(STM32F407G-DISC1)ST-LINK/V2驱动STM32CubeMX软件(Version6.10.0)keilµVision5IDE(MDK-Arm)逻辑分析仪nanoDLA2、实验目标使用STM32CubeMX软件配置STM32F407开发板使用基本定时器TIM6实现每500ms控制绿灯状态变化一次,基本定时器TIM7实现每1s控制红灯状态变化一次3、定时器概述STM32F407拥有2个基础定时器、10个通用定时器和2个高级定时器,14个定时器全部挂载在APB1和APB2时钟总线上,APB2时钟总线时钟频率最高可达84MHz,APB1时钟总线时钟频率最高可达4

STM32CubeMX教程5 TIM 定时器概述及基本定时器

1、准备材料开发板(STM32F407G-DISC1)ST-LINK/V2驱动STM32CubeMX软件(Version6.10.0)keilµVision5IDE(MDK-Arm)逻辑分析仪nanoDLA2、实验目标使用STM32CubeMX软件配置STM32F407开发板使用基本定时器TIM6实现每500ms控制绿灯状态变化一次,基本定时器TIM7实现每1s控制红灯状态变化一次3、定时器概述STM32F407拥有2个基础定时器、10个通用定时器和2个高级定时器,14个定时器全部挂载在APB1和APB2时钟总线上,APB2时钟总线时钟频率最高可达84MHz,APB1时钟总线时钟频率最高可达4

12.[STM32]PWM脉宽调制-舵机控制(一篇足以)

文章目录1.舵机简介1.1舵机控制2.占空比调节函数3.结语附录:全部程序🍌🍌🍌作者简介:大家好啊,我叫DW,每天分享一些我新学到的知识,期待和大家一起进步🍋🍋🍋系列专栏:STM32🍎🍎🍎🍎🍎🍎🌞小实验目标:控制舵机旋转🌞🍊如有写得不好的地方欢迎大家指正🍊创作时间:🍊🍊🍊2022年5月2日🍊🍊🍊1.舵机简介在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模

STM32开发(七)STM32F103 显示 —— 数码管显示 详解

文章目录一、基础知识点二、开发环境三、STM32CubeMX相关配置四、Vscode代码讲解五、结果演示一、基础知识点了解TM1620芯片手册。本实验是基于STM32F103开发通过GPIO模拟时序实现TM1620数码管显示。准备好了吗?开始我的showtime。二、开发环境1、硬件开发准备主控:STM32F103ZET6控制数码管芯片:TM16202、软件开发准备软件开发使用虚拟机+VScode+STM32Cube开发STM32,在虚拟机中直接完成编译下载。该部分可参考:软件开发环境构建三、STM32CubeMX相关配置1、STM32CubeMX基本配置本实验基于CubeMX详解构建基本框架

STM32基于bootloader升级APP流程详解

FLASH内存规划:     Flash的大小就是从地址0x08000000开始的一段内存空间,可以将其划分为三个主要部分:IAP(bootloader),APP,备份APP。        这里可以考虑按照64K+128K+128K大小进行flash内存划分,实际大小根据项目进行划分,如果出于成本考虑,也可以把FLASH后面部分空间作为EEPROM使用,用于存储状态标志位和其它设备参数,但是千万不要和前面的程序产生位置上的冲突  升级参数存储:        完成标志位:该位是指在IAP程序时存储的状态值,主要是在升级成功后通知APP        状态标志位:该位是在APP中存储,主要是在

STM32+ESP8266上传温湿度数据至新版OneNET

本文详细介绍了,STM32连接新版OneNET平台上报温湿度数据的操作与步骤。使用资源:STM32F103C8T6、ESP826612F、DHT11温湿度传感器通讯协议:MQTT数据格式:CJson一、OneNET平台创建1. 登录https://open.iot.10086.cn/,注册账号、登录。2. 点击右上角的“开发者中心”进入产品开发界面 3.创建产品,点击左侧“产品中心”然后在主界面右侧“创建产品” 创建产品信息:添加产品物模型信息:点击创建产品的“产品开发” 编辑物模型:点击“设置物模型”,只保留当前温度和当前湿度,删除多余物模型即可4.添加设备 点击左侧“设备管理”,然后点击“

【ESP32-IDF+VScode】开发笔记(一):从点灯开始——点亮LED

文章目录前言目标一、ESP-IDF+VScode开发环境介绍总体界面介绍ESP-IDF插件工具区介绍二、ESP-IDF工程文件结构1.官方通用结构2.模块化组件结构三、常用的`idf.py`命令1.`idf.pyset-target`2.`idf.pybuild`3.`idf.py-pPORT`4.`idf.pyflash`5.`idf.pymonitor`6.`idf.pyfullclean`四、工程实战——点灯1、新建空白工程2、相关配置、代码3、烧录前准备和烧录五、常见问题及解决方案1、vscode识别头文件有问题并标出波浪线总结前言点亮LED是各类MCU开发入门的第一步。本文将通过【E