CU BEMX 可视化初始化配置,结合 HAL 库,给我们开发带来了很多便利,但 HAL 库封装延时函数目前仅支持 ms 级别的延时,日常很多情况下会用到 us 延时,特别是一些传感器数据读取过程,对时序要求比较严格,us 延时必不可少,基于此项需求,此次给大家介绍 3 种 uS 延时实现方式,方法同样适用标准库,不足之处,还请大佬指出。 实验目标使用普通定时器实现 us 延时使用
STM32完成USB_Keyboard实验总结实验平台: 正点原子战舰开发板(STM32F103ZET6) + win7(PC),下位机程序是通过战舰开发板上“实验49触摸USB鼠标”更改.实验目的: 使用STM32F103自带USB模块编程实现下位机与PCUSB通讯,使用开发板上自带触目屏作为键盘输入,在PC记事本中显示对应按键.实验心得: 实验中碰到问题最多地方就是设备枚举不成功
折腾了两天ADC多通道采样,采样结果都很乱,完全不是预期值。在amobbs求助也没有找到结果。于是决定从简单开始,一步步折腾着破ADC。【ADC试验1实验说明】            1、这个实验仅仅是初始化一个ADC,对其输入进行采样。    &
转载 10月前
240阅读
STM32 RTC应用 周期性中断及内部唤醒(Internal Wakeup)1. 介绍STM32RTC(实时时钟)模块,提供了多种功能,当前以STM32L4系列RTC功能最为丰富,此处基于STM32L476和STM32CUBEIDE环境介绍周期性中断及内部唤醒应用(HAL库)。2. STM32L4 RTC逻辑框图STM32L476 RTC逻辑框图如下:3. STM32L4 RTC时钟源配
STM32定时器PWM模式主要可以分为两大类,一类是边沿对齐模式,另一类时中间对齐模式。中间对齐模式又有三种对齐方式,这篇文章就来简单谈一下中间对齐模式种三种对齐方式区别。我们可以看参考手册里面的内容从中断角度来说,三种对齐模式差别在于:模式一 仅在向下计数溢出时产生中断(前提是使能了中断),模式一二仅在向上计数溢出时产生中断,模式三则在两种情况下都会产生中断。如图:接下来我们用一段程序
DMA,全称是Direct Memory A...
转载 2017-08-14 22:53:00
198阅读
2评论
一、前言1.简介:    本文是基于STM32F1,将数据发送至NRF模块寄存器,并将数据重新读取,通过串口发送出来简单SPI单通信。   2.SPI简介:    调过STM8都已经对SPI有所了解,调法都一致,这里就不做详细讲解。   3.准备工作:    软件层: &
定时器-PWM输出STM32 PWM工作过程ARR寄存器决定PWM周期,CCR寄存器决定占空比通道1为例PWM输出电路图CCR1:捕获比较(值)寄存器(x =1,2,3,4):设置比较值。CCMR1:OC1M[2:0]位:对于PWM方式下,用于设置PWM模式1【110】 或者PWM模式2【111】CCER:CC1P位:输入/捕获1输出极性。0:高电平有效,1:低电平有效。CCER:CC1E位:输
转载 2024-03-21 19:40:48
823阅读
1点赞
一、串口通讯协议简介串口通讯(Serial Communication)是一种设备间非常常用串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式, 电子工程师在调试设备时也经常使用该通讯方式输出调试信息。在计算机科学里,大部分复杂问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32标准库则是在寄存器与用户代码之间软件层。 对于通讯协议,我们也以分层方式来理解,最基
转载 6月前
55阅读
1、串口初始化配置。2、printf()函数重定向。3、串口控制LED灯。usart.h#ifndef __USART_H__ #define __USART_H__ #include "stm32f10x.h" #include "stm32f10x_usart.h" #include "stm32f10x_rcc.h" #include "misc.h" #include <std
转载 2024-04-19 20:54:51
896阅读
芯片:STM32L452RE 通过CubeMx生成工程文件,利用HAL库实现串口通信(DMA+空闲中断)任意长度数据接收,该程序不同于其它博客写法,不用在主函数判断空闲中断再调用串口DMA接收函数,且解决第一次接收不到数据或数据不完整情况。。1.在STM32CubeMX里配置所需功能1.1 时钟系统MSI作为时钟输入源,HSI反应有Bug(没有去尝试过,暂时省略) 1.2
转载 6月前
63阅读
前言:把数据存储到到EEPROM或FLASH可以对一些数据进行掉电可存储,STM32L系列才有内部EEPROM,其他系列都只有Flash,操作FLASH也可以达到掉电保存数据效果。关于存储器件家族介绍用一张图来描述最好不过了,如下:硬件支持:STM32F051C8T6,64KBFLASH,没有EEPROM。正文:按照不同容量,Flash组成部分:主存储器块和一个信息块以及一些闪存存储器和接口寄
转载 2024-04-22 21:32:38
247阅读
在本次项目中,限于空间要求我们选用了STM32F030F4作为控制芯片。这款MCU不但封装紧凑,而且自带Flash空间也非常有限,所以我们选择了LL库实现。在本文中我们将介绍基于LL库ADCDMA采集方式。1、概述这次我们使用DMA方式实现对AD采集,在遗忘我们使用HAL库和标准库都做过,这次我们使用LL库来实现。接下来我们简单了解一下STM32F030F4中ADC和DMA。首先看一看A
转载 10月前
716阅读
常见问题1、当STM32PA13/14/15引脚连接其他外设时,ST_link会出现internal grammar error 。2、但有时未连接上述引脚也会出现此情况,可以通过保持reset按钮按下后不动,在stm32开发环境Keil中点击download按钮,随后松开reset。3、在启动文件中有着stm32分频设置,如果当前外部晶振和内部设置大小不匹配,则通讯时必然会出现乱码。4、
目录(资料下载看最后)一、PWM简介二、硬件部分三、软件部分1. PWM初始化 pwm.c2. PWM初始化pwm.h3. 电机控制motor.c4. 电机控制motor.h5. 备注三、参考资料四、资料下载 源码下载分享链接:PWM资料下载密码:123456一、PWM简介简单来说,存在一个计数器,计数值随时间进行周期性变化。最小值和最大值之间存在一个自定值,当计数器值小于自定值时,I/O输
RTC概述STM32 实时时钟(RTC)是一个独立定时器。 STM32 RTC 模块拥有一组连续计数计数器, 在相应软件配置下,可提供时钟日历功能。修改计数器值可以重新设置系统当前时间和日期。RTC 模块和时钟配置系统(RCC_BDCR 寄存器)是在后备区域,即在系统复位或从待机模式唤醒后 RTC 设置和时间维持不变。但是在系统复位后,会自动禁止访问后备寄存器和 RTC,以防止对
/*********************************************************************************/ //STM32串口示例程序//更多资料:www.tftmcu.taobao.com//单片机STM32F103VCT6 外部晶振8MHZ 波特率:9600 /****************************************************************************
原创 2021-10-16 18:03:02
512阅读
ADC引脚注入通道与规则通道1. 注入通道相当于中断,最多4个通道,注入通道和它转换顺序在ADC_JSQR寄存器中选择,注入通道转化总数应写入ADC_JSQR寄存器最低两位注入通道转换结果保存在下图中注入通道寄存器(4*16位)转换结束后产生标志位,能够产生相应中断2. 规则通道相当于正常运行程序,最多16个通道,规则通道和它转化顺序在ADC_SQRx寄存器中进行选择,规则通道转换总数应写入ADC_SQR1寄存器最低4位中规则通道转换结果保存在下图中
原创 2022-04-15 11:31:47
3519阅读
1点赞
STM32使用HAL库读写内部FLASH测试环境:STM32F103RB20KBytes RAM128
原创 2023-02-01 21:36:43
1192阅读
1点赞
1评论
萌新学习笔记
原创 2024-08-08 15:19:04
307阅读
  • 1
  • 2
  • 3
  • 4
  • 5