STM32
文章平均质量分 75
nandycooh
你若不努力,谁能给你想要的生活?
展开
-
第一章:什么是STM32?嵌入式和STM32简单介绍
除了桌面PC之外,所有的控制类设备都是嵌入式嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板,是一种专用的计算机系统。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。原创 2024-07-12 15:54:20 · 655 阅读 · 0 评论 -
12.1、STM32的独立看门狗(IWDG)(内附代码)
一、什么是看门狗: 简单来说看门狗就是一种专用定时器。二、看门狗的功能: 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片...原创 2018-07-04 08:36:30 · 5968 阅读 · 0 评论 -
12.2、STM32的窗口看门狗(WWDG)(内附代码)
一、窗口看门狗由从APB1时钟分频后得到时钟驱动。 通过可配置的时间窗口来检测应用程序非正常的过迟或过早操作。 窗口看门狗最适合那些要求看门狗在精确计时窗口起作用的程序。二、什么是窗口看门狗?窗口就是因为其喂狗时间是一个有上下限的范围内(窗口),你可以通过设定相关寄存器,设定其上限时间(下限固定)。喂狗的时间不能过早也不能过晚。...原创 2018-07-05 14:34:50 · 2053 阅读 · 0 评论 -
10、STM32的串口(UART)及串口通信原理(内附代码)
一、通信接口介绍 1、处理器与外部设备通信的两种方式: 并行通信 -传输原理:数据各个位同时传输。 -优点:速度快 -缺点:占用引脚资源多串行通信 -传输原理:数据按位顺序传输(一位一位传输)。 ...原创 2018-07-19 17:24:14 · 39935 阅读 · 6 评论 -
教你如何使用STM32控制无源蜂鸣器发声播放音乐
转自:https://blog.csdn.net/fanxp66/article/details/80264700,如有侵权请联系删除一、无源蜂鸣器和有源蜂鸣器有源蜂鸣器内含振荡源,只要一通电就发声,但发生频率固定,音色单一;无源蜂鸣器内部不含振荡源,内部结构相当于电磁场扬声器,可以通过给他输出一定频率的信号才能发声。人耳能听到的频率范围在20Hz--20kHz之间,通过STM3...转载 2018-07-28 16:50:02 · 29473 阅读 · 9 评论 -
2.1、STM32怎么创建工程:如何创建第一个工程模板(基于固件库)
一、 首先在电脑的某个目录下创建一个空文件夹用来存放工程文件。创建好后在该文件目录下分别创建CORE 、FWLIB、OBJ、SYSTEM、USER等五个子文件夹。至于这些文件夹名字,实际上是可以任取的,我们这样取名只是为了行业规范。二、打开keil软件,点击 Keil 的菜单: Project –>New Uvision Project,保存时将目录定位到自己创建的文件下的USER子...原创 2018-05-29 15:03:00 · 11533 阅读 · 3 评论 -
9、STM32的PWM的原理与使用(内附代码)
1、PWM是什么? 是脉冲宽度调制,简称脉宽调制。利用微处理器数字输出对模拟电路进行控制的一种有效的技术,就是对脉冲宽度的控制。 这里说的脉冲,就是我们产生的方波。方波就是N个这样的周期连续的产生。一个周期内高电平持续的时间就是脉冲宽度(脉宽),而PWM(脉冲宽度调制)就是控制一个周期内的高电平的持续时间。2、简单的PWM的原理示意图CNT:是当前值寄存器,...原创 2018-12-19 21:21:43 · 10127 阅读 · 1 评论 -
8、STM32定时器原理与使用(内附代码)
STM32定时器原理与使用1.定义设置等待时间,到达等待时间之后执行指定的硬件操作。定时器最基本的功能就是定时,比如说定时发送串口数据,定时采集AD数据,也可以产生PWM方波等,定时器产生PWM控制电机状态是工业控制的普通。2、STM32F4xx系列的芯片:2个高级控制定时器(TIM1和TIM...原创 2018-12-10 22:33:28 · 5628 阅读 · 0 评论 -
11、STM32的ADC的原理与使用(内附代码)
一、ADC的原理及定义Analog-to-Digital Converter的缩写。中文译名:模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。其实就是一个取样、量化、编码的一个过程。典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。比如电量、光照传感器等常用。二、模拟信号模拟信号是指用连续变化的物理量表示的信息,其信号的幅度,或...原创 2019-01-04 09:50:54 · 5459 阅读 · 0 评论 -
STM32的SPI的原理与使用(W25Q128附代码)
目录一、SPI介绍二、SPI接口框图三、SPI优缺点四、SPI工作原理总结五、时序图六、SPI程序编写过程七、W25Q12xx的原理及应用7.1 分析W25Q128指令7.2 擦除扇区:7.3部分常用设备读取指令:一、SPI介绍SPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorol...原创 2019-06-27 17:08:18 · 32105 阅读 · 9 评论 -
STM32的I2C的原理与使用(24C02附代码)
一、IIC的定义 I2C(IIC,Inter-Integrated Circuit),两线式串行总线,由PHILIPS开发用于连接微控制器及其外围设备。IIC是一种多向控制总线,就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实施数据传输的控制源。这种方式简化信号传输总线。 它由数据线SDA和时钟SCL构成的串行总线,接到I2C总线设备上的串行数据SDA都接到总线...原创 2019-07-01 19:55:54 · 5187 阅读 · 1 评论 -
STM32的RTC的原理与使用(附代码)
一、特征及定义 RTC(Real Time Clock 实时时钟):是个独立的BCD定时器/计数器。RTC 提供一个日历时钟,两个可编程闹钟中断,以及一个具有中断功能的周期性可编程唤醒标志。RTC还包含用于管理低功耗模式的自动唤醒单元。两个32位寄存器包含二进码十进制格式(BCD)的秒,分钟,小时(12或24小时制),星期几,日期,月份和年份。此外,还可以提供二进制的亚秒值。...原创 2019-06-15 17:19:00 · 22382 阅读 · 5 评论 -
STM32的CAN总线的基本原理及实现过程
目录1、什么是CAN2、CAN协议的特点3、ISO11898标准下的物理层特征4、CAN 协议的5 种类型帧4.1、总线仲裁介绍4.2、位时序5、STM32 CAN控制器简介5.1、标识符筛选器5.2、STM32 CAN模式5.3、STM32 CAN发送流程5.4、STM32 CAN接收流程5.5、STM32 CAN位时序1、什么是CAN ...原创 2019-09-09 19:36:59 · 2160 阅读 · 1 评论 -
STM32的DMA基本原理及实现过程
1、什么是DMADMA全称是Direct Memory Access,即是直接存储器访问。 DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路,能使CPU的效率大为提高。2、DMA特性● 双 AHB 主总线架构,一个用于存储器访问,另一个用于外设访问● 仅支持 32 位访问的 AHB...原创 2019-09-10 14:09:13 · 9820 阅读 · 1 评论 -
STM32-Flash的原理与使用(模拟EEPRM)
目录1、什么是Flash2、闪存模块存储器组织2.1、主存储器2.2、系统存储器2.3、OTP区域2.4、选项字节3、STM32F4的闪存6个32位寄存器控制4、Flash等待周期与CPU时钟频率间的关系5、FLASH的操作介绍5.1、读5.2、写5.3、闪存擦除5.3.1、扇区擦除步骤5.3.2、批量/整片擦除步骤6、STM32F4的标...原创 2019-09-12 17:15:58 · 2490 阅读 · 0 评论 -
5、STM32的时钟系统体系结构
一、STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。 ①HSI振荡器(RC振荡器)时钟是高速内部时钟,一般很少使用,因为精度没有外部高速时钟(晶振)那么高 ②HSE是高速外部时钟接石英/陶瓷谐振器,或接外部时钟源,频率范围为4MHz~26MHz,M4开发板是8M ③LSI是低速内部时钟,RC振荡器,频率为32kHz提供低功耗...原创 2018-06-24 16:33:04 · 1161 阅读 · 0 评论 -
7、STM32的外部中断EXTI及NVIC中断优先级介绍(内附代码)
一、什么是中断?打断当前的操作,执行中断需要做的事情。中断的作用:中断机制不仅赋予了系统处理意外情况的能力,就可以“同时”完成多个任务,提高了并发“处理”能力。和线程的区别:线程是同时执行多个任务,中断是停下来去执行其他的(注意优先级),执行完了再回来执行, 定时器才相当于线程,定一个时间,每到这个时间执行一次二、中断概述STM32F4并没有使用CM4内核...原创 2018-07-03 19:16:37 · 6503 阅读 · 4 评论 -
4.2、GPIO相关寄存器配置详解
一、寄存器介绍(详见中文参考手册7.4):每组GPIO下面包含10个寄存器。也就是10个寄存器,一共可以控制一组GPIO的16个IO口。最多7组IO,也就是70个寄存器。寄存器分别如下:一个端口模式寄存器(GPIOx_MODER)一个端口输出类型寄存器(GPIOx_OTYPER)一个端口输出速度寄存器(GPIOx_OSPEEDR)一个端口上拉下拉寄存器(GPIOx_PUPD...原创 2018-06-04 09:32:07 · 27582 阅读 · 4 评论 -
预热3、STM32家族介绍、区别及命名规则
一、STM32的八大产品及区别每一种型号的向上延伸,内核部分都是相同的,区别在于外设部分,也就是在于外设功能的增加及丰富。比如F103和F102相比,外设就更丰富,多3相电机定时器、CAN2.0B和SDIO的2个IIS。二、STM32的Cortex-M产品(所有型号互相兼容)不同的STM32产品的型号的引脚及闪存容量是不一样的,详情可参考上面的表格,在自己选型时注意结合自己的实...原创 2018-05-24 14:02:46 · 4353 阅读 · 0 评论 -
预热4、STM32最小系统设计
一、STM32最小系统应包含以下部分以STM32F407VET6为例:①供电供电常采用的是3.3V,范围取值是1.8-3.6V②复位:开关和上拉电阻构成,当开关按下就会产生低电平③时钟:外部晶振(2个)一般是接4-26M的外部晶振用到RTC时,需要接RTC的低速外部时钟,接32.768K的晶振④Boot启动模式选择用串口下载时,就是通...原创 2018-05-24 16:43:40 · 9150 阅读 · 4 评论 -
4.3、使用寄存器版本点亮LED灯(内附代码)
第一种:指针形式led.c文件:#include "led.h"#include "stm32f4xx.h"void LED_Init(void){ //1左移五位既是将第五位置为1,查寄存器可知1是使能0失能 RCC->AHB1ENR|= 1<<5;//使能RCC的AHB1时钟 //PF9 的GPIO配置 //将(1 1)左移...原创 2018-06-05 13:55:13 · 3640 阅读 · 0 评论 -
3.1、如何通过ISP(FlyMcu串口)下载程序(附CH340驱动及FlyMcu安装包)
一、首先需要一根USB转TTL线,接到开发板UART1和电脑的USB,短接对应的跳线帽(boot0和boot1)。一般Boot0接3.3,Boot1接GND按复位按键,即可实现下载二、安装串口驱动,插上串口线,双击安装即可。点击我的电脑--管理--设备管理器可见是否安装成功三、打开FlyMcu软件,搜索串口,选择波特率、指定下载执行文件路径F4的波特率不能太高...原创 2018-05-31 09:18:44 · 40150 阅读 · 12 评论 -
3.2、如何通过JLINK下载程序(附JLINK驱动)
一、打开所要下载的工程,先编译,然后进行软件配置二、在project项目栏右击,选择Optionsfor Target ‘Target 1’ - >Debug,如图选择Use内容三、配置Settings,配置如下,配置后按确定四、设置Flash编程算法五、JLINK接线方法JLINK四个IO分别为VCC、SWDIO、SWCLK和GND,...原创 2018-06-01 09:05:29 · 81550 阅读 · 9 评论 -
3.3、怎么通过STLINK下载程序(附STLINK驱动包)
一、ST-Link/V2的JTAG/SWD接口定义及产品图实物图STLINK指定标准接口: 二、STLINK驱动安装:双击ST-LinkUpgrade安装即可安装成功之后,设备管理器三、打开工程文件,配置keil5软件四、将STLINK直接对准查到开发板JTAG/SWD接口即可,点击下载程序注意:下载程序时,...原创 2018-06-01 22:43:34 · 22019 阅读 · 20 评论 -
4.1、GPIO工作模式详解
STM32中每组由16个IO,不同的型号IO分组不一样,比如STM32F407ZGT6 一共有7组IO口, 每组IO口有16个IO, 一共16X7=112个IO,外加2个PH0和PH1,一共114个IO口。分别是GPIOA,GPIOB---GPIOG,外加2个PH0和PH1一、GPIO介绍GPIO:就是一个引脚作为输入或者输出。GPIO的八种工作模式:输入输出是相对于CPU,四...原创 2018-06-02 14:16:23 · 20292 阅读 · 2 评论 -
2.2、STM32怎么创建工程:最简单、方便的创建工程方法(使用标准库函数)
一、 首先在电脑的某个目录下创建一个空文件夹用来存放工程文件。二、打开keil软件,点击 Keil 的菜单: Project –>New Uvision Project,保存时将目录定位到自己创建的文件下:三、接下来会出现一个选择 Device 的界面,就是选择我们的芯片型号,我们选择STM232F407ZE(如果使用的是其他系列的芯片,选择相应的型号就可以了)特别注意: 一...原创 2018-05-30 09:24:09 · 16004 阅读 · 6 评论 -
预热1、ARM和Cortex内核
1、ARM是什么?ARM是英国一家电子公司的名字ARM敢为天下先,该公司不生产芯片,也不设计芯片,而是设计出高效的IP内核,授权给半异体公司使用ARM提供一系列内核、体系扩展、微处理器和系统芯片解决方案ARM是一种功耗很低的高性能处理器芯片架构2、ARM的架构ARM以前的架构:ARM7、 ARM9、 ARM11ARM现在的...原创 2018-05-18 17:40:20 · 3860 阅读 · 1 评论 -
6、STM32的Systick滴答定时器及延时函数编写(内附代码)
一、Systick滴答定时器是什么?Systick定时器就是系统滴答定时器,一个24位的倒计数定时器,计到0时,将从RELOAD寄存器中自动重装载定时初值。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息,即使在睡眠模式下也能工作。 定时器既是在规定时间之后执行某个操作。Systick定时器常用来做延时,或者实时系统的心跳时钟。这样可以节省...原创 2018-06-27 14:07:25 · 3950 阅读 · 0 评论 -
预热2、什么是STM32?认识STM32
1、什么是STM32:stm32是由ARM公司设计,意法半导体(ST)公司生产的基于ARMCortex-M内核的32位的MCU系列。2、STM32能做什么?STM32 属于一个微控制器,适用于控制类,自带了各种常用通信接口,比如 USART、 I2C、 SPI 等,可接非常多的传感器,可以控制很多的设备。现实生活中,我们接触到的很多电器产品都有 STM32 的身影,比如智能手环,微型四轴...原创 2018-05-18 17:22:06 · 2520 阅读 · 0 评论