stm32f103专题

STM32F103调试DMA+PWM 实现占空比逐渐增加的软启效果

实现效果:DMA+PWM 实现PWM输出时,从低电平到输出占空比逐渐增加再到保持高电平的效果,达到控制 MOS 功率开关软启的效果。 1.配置时钟 2.TIM 的 PWM 功能配置 选择、配置 TIM 注意:选择 TIM 支持 DMA 控制输出 PWM 功能的通道,有的TIM通道支持PWM 但不支持PWM注意选择。 PWM参数设置 Counter Period :

STM32F103与ESP8266 WIFI模块的USART中断调试

本文概述了利用STM32F103的HAL库,通过USART中断方式调试ESP8266(ESP-01)WIFI模块的方法。首先介绍了开发环境和ESP-01模块的基本特点与功能,随后展示了如何通过电脑PC的串口助手进行初步调试与验证。最后,重点阐述了如何利用STM32F103单片机,结合其USART中断功能,明确ESP8266模块已可以用AT指令进行调试。  一、开发环境 硬件:正点原子精英版

使用STM32F103的步进电机是运作的 || 步进电机驱动程序编写

目录 步进电机的工作原理与运作机制 一、步进电机的基本原理 二、步进电机的类型 三、步进电机的运作机制 1. 驱动方式 2. 控制模式 3. 步进序列 四、步进电机的应用 五、总结 六、参考资料 步进电机的工作原理与运作机制         步进电机是一种将电脉冲转化为机械运动的驱动装置。它以固定的角度步进,从而实现精确的定位控制。本文将详细介绍步进电机的工作原理、

STM32F103系统时钟配置

STM32F103系统时钟完美配置 时钟树的理解确定分频倍频之后再做 STM32F103时钟树 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KXW3Vwk8-1591952361435)(https://cloud.githubusercontent.com/assets/13186592/21471246/f70cdcae-cae5-11e6-982f-d

STM32高级控制定时器(STM32F103):PWM输出模式

目录 概述 1 PWM模式介绍 2 PWM类型 2.1 PWM边缘对齐模式 2.2 PWM中心对齐模式 3 使用STM32Cube配置PWM 3.1 STM32Cube配置参数  3.2 生成Project 4  设置PWM占空比 4.1 函数介绍 4.3 函数源码 5 测试代码 5.1 编写测试代码 5.2 函数源码 6 运行代码 概述 本文主要介绍ST

stm32f103 rtc日历

要做一个基于stm32f103的  rtc日历,stm32f103 rtc只有一个32位的计数器,不像现在新出的有专门的日期寄存器可以使用,但是网上早有大牛们写过这样的程序,找了个调试,可以用。因为网上有很多,就不再详细说明,下面是代码。 /*********时间结构体*******/typedef struct {//公历年月日周shifenmiaou16 w_year;u8 w_m

STM32F103 点亮LED闪烁与仿真

STM32F103 点亮LED闪烁与仿真 今天给大家分享一下STM32 流水灯简单的仿真吧,我感觉这个提供有用的,但是自己也是第一次使用,主要是感觉曲线很高级。在PWM中查看脉宽很有用。 code: led.c #include "led.h" #include "delay.h" /* GPIO的控制寄存器的配置 1、配置输出引脚 2、打开对应的输出的寄存器的时钟 3、配置引脚输出的模式:

STM32F103实现双击、长按、短按后续

经过上次(上一篇文章)的bug,这次进行了修改,基本原理就是使用基本定时器的计数功能,根据计算赋值合适的arr(预装载值)以及psc(预装载系数),使其实现100ms计时一次,在封装两个函数,一个返回当前的时间,另一个计算上次记录的时间与这次之间的比较,废话不多说直接上代码。 time_base.h代码中笔者封装了TIM6以及TIM7,你可以选择都是用这两个计时器,也可以选择使用一个计时器。具体

STM32F103借助ESP8266连接网络

ESP8266配置         STM32F103本身是不具备联网功能的,所以我们必须借助其他单片机来进行联网,然后让STM32与联网单片机通信,就可以实现STM32联网了。         本文借助的是ESP8266模块,其通过UART协议与STM32通信(http://t.csdnimg.cn/NqLh8),他有三个模式,分别为AP接入点模式和无线终端模式、混合模式,AP模式可以自身产

STM32高级控制定时器(STM32F103):输入捕获模式

目录 概述 1 输入捕获模式 1.1 原理介绍 1.2 实现步骤 1.3 发生输入捕获流程 2 使用STM32Cube配置工程 2.1  软件环境  2.2 配置参数 2.3 生成项目文件 3 功能实现 3.1 PWM调制占空比函数 3.2 应用函数库 4 测试 4.1 功能框图 4.2 运行结果 源代码下载地址: stm32-f103-rct6-输入捕获

关于FreeRTOS移植到STM32F103上的步骤以及注意事项

因为最近比较有时间,而且发现自己对于STM上可以跑的操作系统相对陌生。所以选择几个操作系统进行移植和玩几个DEMO理解一下。虽然理解的不是很深入,但是如果项目需要的话,只是移植,进行多任务的操作。应付一下还是绰绰有余的。之前移植了uCosII.后续有需要会总结一下。这里先对FreeRTOS相关的问题进行总结。因为个人能力有限。有什么不对的地方请大家批评,写这个主要是为了记录一下自己的移植过

STM32F103 ADC采样不准解决方法

问题:使用ADC采样换算的电压与实际测量的电压值有较大偏差。 分析:使用STM32CubeMX生成的工程,ADC配置没有对做ADC校准,导致采样值与实际值有较大误差; 在HAL_ADC_Start接口之前增加ADC校准接口HAL_ADCEx_Calibration_Start,另外采样周期设长ADC_SAMPLETIME_239CYCLES_5;

使用STM32F103标准库实现自定义键盘

使用STM32F103标准库实现自定义键盘 在嵌入式系统中,自定义键盘的实现是一个经典的项目,能够帮助我们深入理解GPIO配置、按键扫描和中断处理等知识。本文将详细介绍如何使用STM32F103标准库来实现一个简单的自定义键盘。 1. 准备工作 1.1 硬件准备 STM32F103开发板按键矩阵(4x4)跳线和面包板 1.2 软件准备 STM32标准外设库(Standard Perip

NBiot M5311模组+STM32F103调试

M5311模组+STM32F103的调试,主要问题在串口,只要串口通信没问题,其它的都是AT指令搞定的。 首先搞定STM32F103的USART,我用的是USART1,初始化如下   void uart_init(u32 bound){   GPIO_InitTypeDef GPIO_InitStructure;     USART_InitTypeDef USART_InitStr

STM32F103频率和AD采集项目总结

刚刚做了我的第一个嵌入式项目----基于STM32F103的频率和AD采集系统。 是一个大系统的一个部分,没用操作系统,使用库函数编写,虽然东西很简单,但是对于我这个还没入门的菜鸟来说还是有点难度的。前后断断续续已经两周多了,到目前为止系统已经完成了接近90%,在这个过程中犯了很多错误,也走了很多的弯路,在这里记录下来,让自己以后不要再犯同样的错误,也给那些和我一样刚入门的朋友一点提示。

STM32F103 USART配置问题

最近开始搞嵌入式了,因为是小白,所以遇到了很多各种各样的问题,其中一个USART的配置问题至今未解决,先在此记录一下; 问题描述:初始化USART1,将USART1重映射到pb6和pb7端口,然后配置相关参数。 但是第一次配置总是不成功,然而第二次配置成功,也就是说要把程序向板子里烧两次才行,第一次初始化完成后没有效果,我单步跟踪了一下,发现相应的寄存器的值也已经设置,可USART1的t

STM32F103学习笔记 | 报错界面及解决方案 | 1.keil5中文注释的横竖(正与斜)问题

文章目录 一、报错界面二、解决方案参考文献 一、报错界面 二、解决方案 打开设置 在打开的设置选项卡中,图中Font显示的是这个软件当前设置的字体,可以看到字体是@仿宋,这就是问题出现的原因,将之改成没有@的字体就行了。 可以看到在改完字体后就已经显示正常了 参考文献 http://t.csdnimg.cn/gt4vO

STM32F103学习笔记 | 7.使用寄存器点亮LED灯

int main(void) { // 分析指南者硬件原理图得知要实现点亮灯泡需要将PB0设置为低电位,// 查阅STM32F10x中文手册的端口配置低寄存器,得知一个PB有8个配置位,查阅手册找到了PB0的位置是3:2位置,// 插入未知知识:将端口配置为通用推挽输出模式,但是手册上面显示要将端口配置为输出模式就需要设置MODE[1:0]>00,所以// 就要设置MODE[1:0]

STM32F103学习笔记 | 8. 二,八,十,十六进制表示方式

文章目录 进制基本信息参考文献 进制基本信息 C语言中的表示,前缀加0表示八进制数,前缀加0x表示十六进制数 基数数码名称描述代码和书本中的表示举例20 和 1二进制逢二进一,几乎所有的电子计算机内部都使用二进位制,分别为“0”和“1”表示“关”和“开”。后缀字母表示,即直接在数字末尾加字母B来二表示进制。字母B大小写均可。0B80 - 7八进制逢八进一,偶尔用于计算机领

ROS专栏—基于STM32F103的INA219电源数据采集

一、专栏介绍 这篇博客为ROS小车专栏的第一篇,自己想要做一个ROS小车,同时通过CSDN平台记录我的制作过程,为后来者提供一些参考吧,恩我也是从零开始摸索,可能会有很多错误和问题,希望大家多多包涵。 二、本文内容 本文主要内容介绍如何通过STM32使用I2C接口通过INA219采集电池数据,主要包含功率、电压、电流等关键数据。 硬件是我自己设计的,我这边也会展示相应的硬件设计原理图,可以

STM32f103 HAL库读保护以及解除

读保护 void Flash_EnableReadProtection(void){FLASH_OBProgramInitTypeDef OBInit;__HAL_FLASH_PREFETCH_BUFFER_DISABLE();HAL_FLASHEx_OBGetConfig(&OBInit);if(OBInit.RDPLevel == OB_RDP_LEVEL_0){OBInit.Optio

STM32F103学习笔记 | 1.Keil5详细安装教程

Keil5详细安装教程 https://www.keil.com/download/product/

STM32F103学习笔记 | 4.STM32F103芯片介绍

STM32F1入门学习将使用STM32F103C8T6开发板最小系统板。小R为什么选择它来入门呢?咳咳~首先,ST官方提供强大且易用的标准库函数,使得开发过程方便快捷;其次,网上的教程资料多也十分详细。所以呢,它对高校学生和广大初学者入门都是一个非常好的选择。 文章目录 一、 开发板简介二、 STM32简介三、 STM32F103引脚图四、 STM32F103简述参考文献

【已开源】​基于stm32f103的爬墙小车

​基于stm32f103的遥控器无线控制爬墙小车,实现功能为可平衡在竖直墙面上,并进行移动和转向,具有超声波防撞功能。 直接上: 演示视频如:哔哩哔哩】 https://b23.tv/BzVTymO 项目说明: 在这个项目中,我们将利用STM32F103单片机来制作一个能够在竖直墙面上移动、转向并保持平衡的爬墙小车。该小车装备了超声波传感器HC-SR04用于避障,以及两个电机和相应的驱动电

把STM32F103的工程移植到F105或F107

见:STM32F103和STM32F107区别 注意: 1、F103的晶振默认8M,F105/F107的晶振默认25M,F105/F107如果使用25M晶振此步无需修改,如果使用8M晶振按照下列步骤修改 找到stm32f10x.h文件,将HSE_VALUE由25000000改为8000000 搜索函数:SetSysClockTo72,在函数定义里将分频系数进行修改: 2、启动文件不同 3、改设

simulink,stm32f103,新建工程实现led闪烁

1. 打开stm32cubeMX,选择单片机型号 2. SYS,选Seral Wire,TIM5 3. GPIO,配置LED驱动管脚为OutPut 3.时钟树选择内部RC,笔者这么做的原因是,在选择外部时钟作为时钟源时候,发现程序总会卡死在SystemClock_Config()里面,进入error死循环。 当然网上有一些办法去解决,可以参考笔者之前的一篇文章里面的现象3:ht