推荐阅读最新更新时间:2024-03-16 14:43
STM32-嵌入式学习笔记02-中断应用概述
STM32中断非常强大,每个外设都能产生中断 中断的优先级数值越小,说明他的中断优先级越高 配置中断需要了解NVIC寄存器: NVIC是嵌套向量中断控制寄存器,控制中断的相关功能;它与内核紧密结合,是内核里的一个外设。管理着包括内核和片上的所有外设的中断相关功能。 因此配置中断需要参考下面两个头文件:core_cm3.h 和 misc.h 在配置中断的时候我们一般只配置ISER和ICER IP这3个寄存器: 1)ISER使能中断 2)ICER清除中断 3)设置中断的优先级 给出官方手册寄存器的资料 编程要领: 1)使能中断请求(外设中某个中断) 2)配置优先级分组 3)配置
[单片机]
STM32独立看门狗详解
本文将介绍STM32的看门狗中的独立看门狗,并通过实例来喂狗、体验喂狗与不喂狗的区别。 ①STM32看门狗介绍之独立看门狗 ②使用STM32CUBEMX来配置工程文件 ③代码实现,按键按下喂狗、按键不按下不喂狗程序复位 ①STM32看门狗介绍之独立看门狗 看门狗定时器本质上是一个计数器、给计数器一个数值,在程序 运行后计数器的值开始递减,当计数器的值减到0是会将程序复位,若在减到0之前给计数器更新一下值“喂狗”则从最新的值开始递减; 用途: 1、这样做的好处就是程序跑飞、死机时,通过复位的方式使得程序又正常运行; 2、用于将系统从休眠或者空闲模式唤醒。 看门狗的种类: 独立看门狗IWDG 特点:专用时钟LSI、低功耗模式仍
[单片机]
基于STM32的智能鱼缸设计
1. 前言 为了缓解学习、生活、工作带来的压力,提升生活品质,许多人喜欢在家中、办公室等场所养鱼。为节省鱼友时间、劳力、增加养鱼乐趣;为此,本文基于STM32单片机设计了一款智能鱼缸。该鱼缸可以实现水温检测、水质检测、自动或手动换水、氛围灯灯光变换和自动或手动喂食等功能为一体的控制系统,可通过控制键进行一键控制。 从功能上分析,需要用到的硬件如下: (1)STM32系统板 (2)水温温度检测传感器: 测量水温 (3)水质检测传感器: 测量水中的溶解性固体含量,反应水质。 (4)步进电机: 作为鱼饲料投食器 (5)RGB氛围灯: 采用RGB 3色灯,给鱼缸照明。 (6)抽水电动马达: 用来给鱼缸充氧,换水
[单片机]
STM32学习之搭建光敏二极管电路并采集判断光强
硬件部分:先来看硬件连接图,此次实验选择ADC3的通道7,硬件原理图如图1所示,光敏电阻的原理在图1中已经说明,这里就不再多说。图2是stm32的部分引脚图。 图1 图 2 软件部分: 软件部分主要是三个方面,一是使用ADC时对ADC的初始化,初始化之后获取某个ADC某个通道的值,这里就是ADC3的通道7,而是哪一个通道使通过函数u16 Get_Adc3(u8 ch) 中的ch传入的。主要代码如下: //初始化ADC3 //这里我们仅以规则通道为例 //我们默认仅开启通道7 void Adc3_Init(void) { ADC_InitTypeDef ADC_InitStructure; R
[单片机]
解决STM32调试,无法进入main函数的问题
昨天调试STM32程序,以前使用的是MDK3.40的版本,把版本升了下级,升到了MDK4.10,装好后,一运行,哈哈,新版本给人的感觉就是不一样啊,很爽,较之前有很多改进,把自己以前的程序打开,编译运行发现程序调试时无法进入Main函数,弄了很久,很是郁闷啊,最后还是在ourdev的坛子里,找到了同样问题的解决方法,多谢ourdev,以下是坛子里面的帖子,我把他贴出来了. sdc666 : 请问高手,我在调试我的STM32F101c8t6时,遇到一个问题,因为我要调试串口,我在main.c中添加了#include ,编译可以通过,但是当我用jlink硬件调试时,一开始就停在了 0x08001460 BEAB
[单片机]
制作一个STM32下载器的过程
本文介绍制作一个STM32下载器的过程。 原理图 STLINK-V2下载器电路原理图如下。 上图中,H5接口是固件下载口。H4接口是STLINK-V2下载口(实现下载功能的接口 T_JTCK就是SWCLK, T_JTMS就是 SWDIO)。其他都是测试接口。 制作过程 首先我们焊接完的板子是不能用的,需要往里面下载固件。前提是你手头有一块好的ST-LinkV2下载器,不然就白搞了。 使用好的STLINK-V2下载器给我们自己制作的STLINK-V2板子下载固件,将STLINK-V2下载器连接角与板子上的H5固件下载接口对应连接,再将STLINK-V2连接到电脑, 安装ST的ST-LINK Utility软件,使用STM
[单片机]
STM32的RCC配置流程
在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。 ①HSI是高速内部时钟,RC振荡器,频率为8MHz。 ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③LSI是低速内部时钟,RC振荡器,频率为40kHz。 ④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。 ⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。 用户可通过预分频器配置AHB,APB2,APB1总线的频率,AHB和APB2域的最大频率是72MHZ。APB1域的最大允许频
[单片机]
史上最全STM32调试步骤!
STM32调试步骤 调试前,首先跳线J9的2-3脚短接,跳线J4的右边两个脚短接,跳线J5短接,J8短接,J2的1-2短接,3-4短接。 将Jlink与学习板,USB延长线与学习板,串口延长线与学习板(或者USB转串口线与学习板)连接起来,这时LED灯LED5,LED6都应该点亮,如果不亮,说明板子有问题。 打开串口助手,按照如下设置: 1、从桌面打开J-Flash ARM V4.02如图所示。 也可以按照如下顺序打开J-Flash ARM 。 “开始à程序àSEGGERàJ-Link ARM V4.02àJ-Flash ARM”,如下图所示。 2、打开J-Flash ARM后,先进行芯片选项设置,打开Optionsà
[单片机]