shSTM32FlyMcu使用教程缺点:FlyMcu在下载的时候只能选择.hex文件,如果选择.bin文件会报错,但是读取的时候只能选择.bin文件,读取出来的.bin文件就不能在下载回去了不能单独写入选项字节,只能下载Flash,顺便写入选项字节,但如果设置了写保护,程序就下载不了,下载不了,就无法清除写保护,形成死循环准备工作先配置STM32的启动模式,将Boot0设为1,Boot1设为0,将系统储存器作为启动区域。(将Boot引脚切换好后要按复位,因为STM32只有在刚复位时才会读取Boot引脚,程序运行之后,切换Boot引脚是无效的)生成HEX文件,在Keil中,选择魔术棒——>Out
大家好,我是杰哥嵌入式开发最近在出定时器系列,但是线下班有一些学生在学习完C语言之后,在51接触各种寄存器和对软件代码各种操作是如何在单片机系统中起到作用的感到非常的不解,经过我的初步分析,是对嵌入式微机系统的大概雏形系统框架不熟悉导致。所以我决定出一期基于STM32的系统框架介绍博客。欢迎大家关注我的gitee仓库:gitee源码仓库链接跳转STM32微机系统框架、内存、存储器、寄存器微型计算机系统组成框图#mermaid-svg-crePAAq9xGCFEemI{font-family:"trebuchetms",verdana,arial,sans-serif;font-size:16p
TIM:定时器,定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断根据复杂度和应用场景分为:高级定时器、通用定时器、基本定时器三种类型基本定时器:支持向上计数(0到1),只能选择内部的72MZ的时钟通用定时器、高级定时器:支持向上计数、向下面计数(1到0)、中央计数(0到1,1到0),可以选择内部时钟或外部时钟基本定时器:CK_INT:内部时钟72MZCNT_EN:时钟使能,高电平启动CK_CNT:计算器时钟,因是内部时钟分频因子为2,所以这个频率上要除以2(第4条和第3条看)计算器在时钟每一个上升沿自增,到0036溢出,然后时钟在来一个上升沿,计算器清0计数器溢出,会产生一个跟新
输出比较电机相关比较重要。OCOutputCompare(IC是输入捕获,CC代指这两个单元),用于输出一定频率和占空比的PWM波形。右下角四个就是CCR。只有通用计时器和高级计时器有,共用一个cnt计数器,高级计数器的前三个ccr寄存器还有死区比较和互补输出功能,可以驱动三相电机。PWM(PulseWidthModulation)脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域。按一定频率置0置1,可以改变电机综合速度。LED也是,我们人眼看着就觉得灯有亮度,实际上就是按一定频率闪烁就会呈现不同的亮度。周期Ts,占空比
硬件介绍今天开始,学习比52更复杂的STM32系列单片机:软件介绍 1.Keil5及其固件包使用之前的Keil4写STM32代码其实也可以,但需要比较复杂的设置,而如果用Keil5会比较方便。(这里在打开POJIE软件的时候总是会报错“ 无法成功完成操作因为文件包含病毒或潜在的垃圾软件",因此参考了这篇博文解决Win11“无法成功完成操作,因为文件包含病毒或潜在的垃圾软件“_'零'Bug的博客-CSDN博客)另外安装的路径不要有中文!安装完keil5和固件包之后打开keil5的界面:小插曲:Keil怎样显示中文注释(简单有图)_keil中文注释_小码1111的博客-CSDN博客其实要Keil4
stm32----按键中断实验,按键控制LED灯实验要求实验代码实现实验结果实验要求1、按下KEY1,LED1亮,再次按下KEY1,LED1灭;2、按下KEY2,LED2亮,再次按下KEY2,LED2灭;3、按下KEY3,LED3亮,再次按下KEY3,LED3灭;实验代码实现一、头文件1、gpio.h#ifndef__GPIO_H__#define__GPIO_H__#defineRCC_AHB4_ENSETR(*(volatileunsignedint*)0x50000A28)typedefstruct{ volatileunsignedintMODER; //00 volatileunsi
目录1.STM32CubeMX的配置2.轮询模式下的控制(代码)3.上电烧录摁下复位键,摁下按键1,亮红灯,摁下按键2,亮绿灯,摁下按键3,亮蓝灯1.STM32CubeMX的配置按原理图去设置引脚状态 GPIO输入模式读取按键状态,输出模式控制灯的状态 右键进行重命名按键分别为,KEY1,KEY2,KEY32.轮询模式下的控制(代码)Ctr+s代码出来,在main.c中添加代码 3.上电烧录摁下复位键,摁下按键1,亮蓝灯,摁下按键2,亮红灯,摁下按键3,亮绿灯轮询模式下按键控制不灵敏,摁下按键1后在蓝灯亮500ms内,如果我在200ms就摁下按键2,红灯不会亮,结果是继续亮蓝灯直到500ms后
这篇先总结一下NB-IoT的基本知识,下一篇再涉及相关单片机程序代码。目录一.NB-IoT概念及特点1.概念2.特点3.目前主要应用情况二.NB-IOT部署方式1.独立部署(Standaloneoperation)简称ST2.保护带部署(Guardbandoperation)简称GB3.带内部署(In-bandoperation)简称IB三.工作状态 1、Connected(连接态、工作态)2、Idle(空闲态、轻休眠态)3、PSM(节能态、深睡眠态)4.三种状态之间存在一定的切换关系四. 工作模式(NB-IoT的省电技术)1.DRX模式(不连续接收)2.eDRX模式(扩展不连
现在我们大致知道,ADC的大致转换流程就是输入模拟信号,经由采样、保持、量化、编码等过程,最终转换成数字信号。下面将通过ADC模块框图了解ADC模块正常运作需要做哪些事。准备阶段:配置分频数(控制ADC周期)ADC的输入范围控制(需要让输入信号在ADC转换范围内)ADC采样时间ADC输入方式(规则组/注入组)ADC工作模式(单次/连续、是否扫描)ADC转换:开始转换的时间点ADC转换完毕:是否使能转换完成的中断(不同输入方式对应的中断不同)一、什么是ADC?1、ADC的基本概念ADC(Analogto-Digital Converter)模拟数字转换器,是将模拟信号转换成数字信号的一种外设。我
0串口基础配置(stm32F103)voiduart_init(u32bound){//GPIO端口设置GPIO_InitTypeDefGPIO_InitStructure; USART_InitTypeDefUSART_InitStructure; NVIC_InitTypeDefNVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); //使能USART1时钟RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1,ENABLE);//复位串口1RCC_APB2Per