草庐IT

STM32CubeMX——定时器配置

基于STM32CubeMX的定时器配置说明定时器简介基本定时器功能(TIM6、TIM7):通用定时器(TIM2~TIM5)的主要功能:高级定时器(TIM1,TIM8)的主要功能:STM32CubeMX配置新建工程设置时钟源RCC设置时钟设置定时器项目文件设置代码部分引用说明本文将会以STM32F103C8T6为例配置定时器2定时5ms定时器简介SMT32F1系列共有8个定时器:基本定时器(TIM6、TIM7)通用定时器(TIM2、TIM3、TIM4、TIM5)高级定时器(TIM1、TIM8)基本定时器功能(TIM6、TIM7):16位向上、向下、向上/下自动装载计数器16位可编程(可以实时修改

【STM32】HardFault问题详细分析及调试笔记

目录1.概述2.问题描述3.问题分析4.相关知识4.1异常和中断4.2中断输入与挂起行为4.3Cortex-M4处理器的寄存器简介4.4 C实现的异常处理4.5栈帧4.6异常返回值4.7异常流程5.问题定位5.1确定栈指针5.2确定LR的值5.3查询C代码位置5.4确定PSP栈5.5处理方法6.总结1.概述        最近做的项目中出现了HardFault故障现象,查阅了网上关于HardFault的排故思路,详尽程度不同,均有所帮助,但深入分析时,又觉得指导的不够到位,本文参考了《ARMCortex-M3与Cortex-M4权威指南》,借鉴了网友的经验,结合了map文件加以分析,准确定位了

stm32f103c8t6最小系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言stm32f103c8t6构成二:电源电路稳压模块注意复位电路NRST时钟电路程序下载电路JTAGSWD启动配置电路晶振电路注意前言stm32f103c8t6最小系统stm32f103c8t6构成单片机芯片、供电电路、时钟电路、复位电路、程序下载电路、启动配置电路。二:电源电路5v转3.3v,中间的是线性降压VDDX、VBAT、VDDA分别为接口、RTC、ADC供电。稳压模块STM32F103的电源必须稳定,所以加上多个电容用于稳定电压。也叫去耦电路去耦电路:去除芯片电源管脚上的噪声在直流电源回路中,负载的变化会引起电

Matlab中fdatool结合STM32F4设计滤波器

数字滤波器的原理1.从功能上分;低通、带通、高通、带阻。滤波器口诀:低通滤高频;高通滤低频;带通滤两边;带阻阻中间;2.从实现方法上分:FIR、IIR3.从设计方法上来分:Chebyshev(切比雪夫),Butterworth(巴特沃斯)4.从处理信号分:经典滤波器、现代滤波器经典滤波器从功能上分又可分为:低通滤波器(LPAF/LPDF):Lowpassanalogfilter带通滤波器(BPAF/BPDF):Bandpassanalogfilter高通滤波器(HPAF/HPDF):Highpassanalogfilter带阻滤波器(BSAF/BSDF):Bandstopanalogfilte

STM32单片机通过ESP8266WiFi模块与Android APP实现数据传输(二)---上位机搭建

事物的难度远远低于对事物的恐惧完成对STM32单片机和ESP8266WiFi模块的配置之后,接下来需要完成AndroidAPP代码的编写以及实现。1.添加网络权限因为我们需要对WiFi进行操作,所以需要网络的权限,在AndroiManifest.xml文件中加入以下代码:uses-permissionandroid:name="android.permission.INTERNET"/>2.建立TCP连接首先通过文本输入控件得到IP地址和端口号,然后建立Socket连接。caseR.id.btn_turn:if(mSocket==null||!mSocket.isConnected()){if

STM32中BOOT的作用 (芯片死锁解决方法)

BOOTstm32中具有BOOT1和BOOT0作用BOOT是stm32单片机的启动模式,通过不同组合模式,共有三种启动方式。一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。第一种方式(boot0=0):Flashmemory启动方式启动地址:0x08000000是STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。基本上都是采用这种模式。第二种方式(boot0=1;boot1=0):Systemmemor

关于STM32利用TIM+PWM+DMA控制WS2812

开发环境MCU:STM32F103c8t6开发工具:STM32CubeMX 使用板子参考原理图:STM32F103C8T6最小系统板开源链接PWM脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等但宽度不一致的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率 。通过数据手册我们可以看到TIM2,TIM3,TIM4(通用定时器)挂载在APB2总线上,每个通用定时器都有

基于stm32的平衡小车

目录前言一、电机驱动部分1、TB6612FNG电机驱动模块接线方式:2、代码使用定时器2的4路输出pwm3、gpio引脚初始化,以及前进,后退引脚设置二、MPU6050陀螺仪部分三、编码器捕获部分四、pid部分1、直立环KD2、速度环KI3、转向环(PD)五、蓝牙通信部分总结前言经过几天对平衡车的理论学习和动手实践,终于完成了平衡车的基本功能,实现前进,后退,直立,转向。本项目用到了两个电机,一个两块亚力克板,一个mpu6050陀螺仪,TB6612FNG电机驱动模块,通信方式使用蓝牙模块进行简单的通信,主控芯片使用stm32f103c8t6。一、电机驱动部分1、TB6612FNG电机驱动模块接

STM32-雨滴传感器

目录0说明: 1传感器介绍 2代码说明  2.1ADC初始化函数(adc.c) 2.2GPIO初始化函数2.3主函数0说明:        本篇文章主要是说明怎么使用STM32单片机读取雨滴传感器采集到的数据,并且附带着STM32所需要的全部代码,所使用的雨滴传感器如下图所示。附:使用单片机STM32f103系列 1传感器介绍        该传感器具有数字开关量输出(0和1)和模拟量AO电压输出两种输出形式。           接上5V电源,电源灯亮,感应板上没有水滴时,DO输出为高电平,开关指示灯灭;滴上一滴水,DO输出为低电平,开关指示灯亮;刷掉上面的水滴后又恢复,输出高电平状态。AO

STM32之串口通信USART模块学习(1)

一、通信接口通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统通信协议:制定通信的规则,通信双方按照协议规则进行数据收发单端信号通信的双方必须要共地,因为都是对GND的电压差同步信号都由一根时钟线,异步信号需要规定采样频率等差分电平抗干扰好,适用于远距离传输。差分信号是指两根通信线的电压差来表示高低电平多设备需要通过寻址,多设备是指一个主机可以和多个从机之间进行通信。相关术语解释如下:二、串口通信串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信单片机的串口可以使单片机与单片机、单片机与电脑(通过USB转串口模块)、单片机与各式各样的模块互相