草庐IT

STM32WBA

全部标签

基于STM32F1以及STM32CubeMx实现串口中断通讯(字符串发送与接收)

串口通讯的实现STM32CubeMx软件设置Keil软件及代码编写串口的功能设计主函数的编写效果实现STM32CubeMx软件设置首先选好自己的板子并打开软件设置,本实验基于STM32F103ZET6实现,打开软件后如图:打开外部高速晶振,然后接着配置时钟:将时钟频率修改为72MHz,接着设置接线方式为SW接下来需要使用串口中断通讯,打开我们的串口设置并打开中断这里波特率设置为115200,数据位为8位,无校验位,停止位为1位,通信模式设置为异步通信,以及可以接受及发送数据。接着打开中断,并设置抢占优先级和响应优先级,这里设置为0,0。至此STM32CubeMx就设置完成了。Keil软件及代码

STM32 F103C8T6学习笔记2:GPIO的认识—GPIO的基本输入输出—点亮一个LED

今日继续学习使用 STM32F103C8T6开发板点亮一个LED灯,文章提供源码,测试工程,实验效果图,希望我的归纳总结会对大家有帮助~目录GPIO的认识与分类:引脚安排整理:定时器的引脚例举:串口的引脚例举: CAN串口通信:SPI通信:IIC通信: 其余引脚:烧录引脚: 相关库函数: 拉高、拉低输出: APB2外设RCC开启GPIO时钟:GPIO初始化函数:接线与GPIO的初始化:选择引脚: 接线与创建文件、文件路径添加:GPIO的初始化:所有代码贴出:测试效果展示:​编辑测试工程下载:GPIO的认识与分类: 首先看下这张表:它定义说明了STM32C8T6上所有48个引脚主功能、默认复用、

STM32-IAP基本原理及应用 | ICP、IAP程序下载流程 | 程序执行流程 | 配置IAP到STM32F4xxx

目录1.串口IAP介绍1.1STM32编程方式1.2STM32系列芯片系统存储器区域1.2.1STM32F40x/41x1.2.2STM32F42x/43x1.3STM32启动模式选择1.4ICP下载流程1.5IAP下载流程1.6一般的程序执行流程1.7加入IAP之后程序运行程序1.8STM32复位后如何跳转到main函数1.9IAP升级应用程序过程2.APP程序的生成步骤2.1设置APP程序的起始地址和存储空间大小(以FLASH为例)2.2中断向量表的偏移量设置方法2.3设置MDK编译后运行fromelf.exe,生成.bin文件.2.4测试程序1.串口IAP介绍1.1STM32编程方式①在

stm32F103C8T6的三种延时函数

STM32的三种延时函数非精准延时TIM延时SysTick延时非精准延时非精准延时的方式就是使用空循环,循环内容为空。优点是无需配置定时器,直接就能拿来使用。缺点也很明显,就是无法实现精准延时,只能估摸着个大概,并且会造成CPU空转,不如使用硬件的方式。voiddelay_us(u16time){u16i=0;while(time--){i=10;while(i--);}}//毫秒级的延时voiddelay_ms(u16time){u16i=0;while(time--){i=12000;while(i--);}}TIM延时以下是以TIM3为例:初始化步骤与GPIO引脚使能一样,都是先定义一个

c++ - 32 位平台上结构中的 alignas

在32位x86linux上运行以下代码时,我得到了意想不到的结果(编译器标志:g++-std=c++14-m32)。我试过gcc和clang。#includeusingnamespacestd;structS1{uint64_ta;uint32_tb;};structS2{alignas(uint64_t)chara[8];uint32_tb;};intmain(){cout输出是:sizeof(S1)=12sizeof(S2)=16这里发生了什么?为什么S1和S2的大小不同?据我了解,64位整数值在32位x86机器上与32位对齐。这确实解释了为什么S1的大小是12个字节。但为什么这不

stm32 串口收发理论+实践

如果不想看的可以直接使用git把我的代码下载出来,里面工程挺全的,后期会慢慢的补注释之类的码云地址:stm32学习笔记:stm32学习笔记源码如果不会使用git快速下载可以选择直接下载压缩包或者去看看git的使用git的使用(下载及上传_git如何下载文件_八月风贼冷的博客-CSDN博客主要完成的这两个工作1:串口发送2:串口收发本篇为单字节的收发,如果是需要传输modbus通信协议那样的数据包请去这里看多字节的收发stm32f103串口多字节接收_stm32串口接收多个字节_是小刘不是刘的博客-CSDN博客目录1:串口理论部分1:通信的目的和通讯协议· 2、串口通信 3、硬件接线 4、电平标

STM32 CubeMX ADC采集 单通道,多通道,内部温度(轮询,DMA,中断)(HAL库)

STM32CubeMXADC采集(HAL库)STM32CubeMXSTM32CubeMXADC采集(HAL库)ADC介绍ADC主要特征Vref+的电压(2.4~3.6)就是ADC参考电压2.4V(相当于秤砣)最小识别电压值:2.4/4096≈0.6mv(不考虑误差)一、STM32CubeMX设置二、代码部分三,单通道轮询采样速度四、内部温度传感器多通道轮询方式设置CubeMX修改代码部分实验现象PA0接地;PA1接VCC;PA2接地;PA3浮空;PA4浮空总结ADC介绍12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、

STM32 多路ADC同时扫描采样

背景在项目实际应用中,刚好有需求需要使用多路ADC同时采样,这里就选择STM32ADC多路ADC同时采样,这里简单说明下配置过程,以及使用步骤原理图如下图所示,使用四路ADC输入ADC_Voltage->电压信号的采样,外部输入信号,交流电的输入信号,正选信号ADC_Current->电流电流的采样,外部输入信号,交流电的输入信号,正选信号ADC_Compensation->   热敏电阻的采样,温度补偿SCR_NTC->   同样的热敏电阻的采样,温度补偿一共使用上述四路ADC输入信号,进入STM32F103C8T6进行采样外部输入电流、电压采用信号,这里做个保护电路 NTC热敏电阻采样电路

单片机 嵌入式开发软件介绍对比与推荐(Keil、IAR、VSCode、Clion、STM32CubeIDE)

单片机嵌入式开发软件介绍对比与推荐(Keil、IAR、VSCode、Clion、STM32CubeIDE)KeilKEI官网:www.keil.com        Keil与MDK(MicrocontrollerDevelopmentKit)是同一个软件开发工具套件的不同名称。        Keil是一家德国公司,而MDK是他们开发的一款集成开发环境(IDE),通常称为KeilMDK,用于嵌入式系统的软件开发。        因此,当人们提到Keil或MDK时,通常是指同一个软件开发工具套件。除了KeilMDK,Keil还提供其他工具和软件库,如KeilC51(用于8051系列微控制器的开

STM32两轮平衡小车原理详解(开源)

一、引言关于STM32两轮平衡车的设计,我想在读者阅读本文之前应该已经有所了解,所以本文的重点是代码的分享和分析。至于具体的原理,我觉得读者不必阅读长篇大论的文章,只需按照本文分享的代码自己亲手制作一辆平衡车,其原理并不言而喻了。源完整代码工程在文章末尾百度网盘链接,请需要的读者自行下载即可。另外,由于平衡车的精髓在于PID算法的运用,有需要了解PID算法的读者可以参考以下两篇文章:PID算法详解(代码详解篇),位置式PID、增量式PID(通用)_pid代码-CSDN博客PID算法详解(精华知识汇总)_小小_扫地僧的博客-CSDN博客二、所需材料1、STM32F03C8T62、MPU60503