CubeMX配置外部中断前言一、什么是中断1.STM32中断架构体系2.外部中断/事件控制器(EXTI)3.嵌套向量中断控制器(NIVC)二、实验过程1.CubeMX配置2.代码实现3.硬件连接4.实验结果总结前言本章介绍使用STM32CubeMX对引脚的外部中断进行配置,介绍了中断架构体系,外部中断/事件控制器(EXTI),嵌套向量中断控制器(NIVC),并通过实验展示配置后的效果。一、什么是中断中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。中断可以分为系统异常(内部中断)和外部中断,内部中
简介:本文分两种方法添加DSP库:1.CubeMX直接配置ioc添加;2.KEIL内添加;一、MX直接配置DSP库简述:补齐全部lib库->添加DSP包->使能DSP勾选->添加头文件及魔术棒配置->测试1.补齐lib库。(如果使用直接默认添加的库,是不支持FPU的,所以需要补齐后找到所需的lib文件进行替换,在MX的工程管理栏,选择复制所有库)。此处添加的DSP文件夹位置:Project...\Drivers\CMSIS\DSP生成工程后,带FPU的lib文件位置\Drivers\CMSIS\Lib\ARM,注意所圈文件的位置,后面需手动添加到工程2.添加DSP芯片包。3.使能DSP,生成代
前言当你看到这篇博客时不知道是否已经了解过C51单片机,如果你没了解过它。这里有一份指南(C51教程)让你入门单片机,作为初学者从功能相对简单的单片机入手更有利于打好基础。虽然stm32在性能上更为强大,但stm32开发从它的配置和代码量上来讲比C51开发更复杂,缺少点乐趣。当然了看到这篇博客的肯定是学stm32的咯,所以废话讲的有点多。言归正传,直接开干。(ps:这里介绍的是以STMF103CBT6为例,但其实论操作stm32系列不都差不多嘛)注意:这篇博客讲的不是STM32标准库,而是HAL库(ST官方目前主推,适合初学者学习)。所以请读者注意到这点,避免浪费不必要的时间往下阅读。1、了解
一、舵机原理二、程序介绍三、精准角度控制原理四、程序分享 网上很多教程,都只是控制舵机0°,45°,90°等特定的角度,比如1°,很多程序都做不到,即使有也少得可怜,更不会详解介绍是怎么实现精准控制每一度的,因此,这篇文章的意义就在这里。一、舵机原理 我们以SG90、MG90等舵机为例,舵机有三个PIN,分别是VCC,GND,PWM,PWM引脚需要一个20ms周期信号,通过不同的占空比来控制不同角度,具体参数如下: 0.5ms--------------0度; 1.0ms------------45度; 1.5ms------------90度; 2
实践制作DIY-GC0129-语音识别RGB彩灯一、功能说明:基于STM32单片机设计-语音识别RGB彩灯二、功能介绍:STM32F103C系列最小系统板+5VUSB电源+64个灯珠的WS2812灯板+1个开关键(3档亮度调节)+1个模式切换键(白灯红灯、绿灯、蓝灯、流水灯)简单说就是可以通过语音或者按键调节亮度、颜色、模式。1.可以通过开关键(3档亮度调节)调节亮度。3档亮度可调。2.通过模式切换键切换4种模式:白灯红灯、绿灯、蓝灯、流水灯。3.语音命令:你好,灯管家。 开灯、关灯、一级亮度、二级亮度、三级亮度、切换模式、白灯、红灯、绿灯、蓝灯、流水灯、退下。三、详情介绍:视频讲解:哔哩哔
本篇文章包含的内容一、输入捕获1.1输入捕获简介1.2输入捕获通道的工作原理1.3输入捕获的主从触发模式1.4输入捕获和PWMI结构二、频率的测量方法2.1测频法2.2测周法2.3测频法和测周法的误差分析三、输入捕获测量PWM波形的频率和占空比3.1输入捕获相关库函数3.2输入捕获IC测量频率3.3PWMI模式同时测量频率和占空比3.4测周法测量频率性能评估 本次课程采用单片机型号为STM32F103C8T6。 课程链接:江科大自化协STM32入门教程 往期笔记链接: STM32学习笔记(一)丨建立工程丨GPIO通用输入输出 STM32学习笔记(二)丨STM32程序调试丨OLED
前记MotionDriver官方库:Motion_Driver_6.12STM32工程源码:STM32F103C8-软件MPU6050(DMP)MPU6050软件I2C驱动,带OLED显示,移植了匿名地面站,可显示姿态信息(匿名地面站通信协议6.0版本,本人使用测试的匿名地面站版本V6.56版本)———————————————————————————————————————————1.解压官方库源文件首先,让我们解压官方库源文件“motion_driver_6.12”,并拷贝整个文件夹到新工程的“Libraries”文件夹下,改名为“Motion_Driver”2.替换“ibmpllib.a”
我之前也是对这个很疑惑,知道我查询到一个网友的回答,感觉将的很通讯易通,边记录下来根据定时器时钟的频率,比如时钟的频率是72MHZ,可以理解为一秒钟STM32会自己数72M次,预分频系数就是将频率分割,比如分频系数是72,则该时钟的频率会变成72MHZ/72=1MHZ,但是在设置的时候要注意,数值应该是72-1。假定分频系数是72-1,那么频率变成1MHZ,也就意味着STM32在一秒钟会数1M次,即1us数一次。接下来就是确定预装载值,比如需要定时1ms,由于1ms=1us*1000,那么预装载值就是1000-1;如此类推,在预分频系数确定的情况下,定时的时长就由预装载值确定了。至于要把值减一
概述 内部Flash读写详解一、介绍首先我们需要了解一个内存映射:stm32的flash地址起始于0x08000000,结束地址是0x08000000加上芯片实际的flash大小,不同的芯片flash大小不同。RAM起始地址是0x20000000,结束地址是0x20000000加上芯片的RAM大小。不同的芯片RAM也不同。Flash中的内容一般用来存储代码和一些定义为const的数据,断电不丢失, RAM可以理解为内存,用来存储代码运行时的数据,变量等等。掉电数据丢失。STM32将外设等都映射为地址的形式,对地址的操作就是对外设的操作。 stm32的外设地址从0x40000000
前一段时间做了一个自动追光云台(大家感兴趣的也可以自己DIY一个呀),用来自动捕捉阳光供太阳板发电提高太阳板的发电效率,我用了一款STM32f103c8t6为主控来控制云台舵机的旋转。感光元器件使用的是光敏传感器(淘宝随便买一款啊很便宜)来感知光强,所以用ADC进行模拟量采集光强信息。下面就来介绍介绍它吧!舵机旋转的控制舵机的主要组成部分为伺服电机,伺服就是服从信号的要求从而做出相应动作。在信号发出之前,电机停止不动;信号发出之后,电机立即做旋转运动。因此我们就可以给舵机输入不同的信号,来控制其旋转到不同的角度。舵机接收的是PWM信号,当信号进入内部电路产生一个偏置电压,触发电机通过减速齿轮带