![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
STM32
文章平均质量分 93
。
Joseph Cooper
千帆过尽,不坠青云。十年饮冰,难凉热血。
展开
-
【STM32】关于DMA控制器的介绍和使用
文章目录前言1、什么是DMA控制器2、DMA控制器的工作流程3、STM32DMA控制器的初始化流程前言 DMA控制器的使用是提升STM32数据传输效率的一个重要途径,1、什么是DMA控制器 DMA,全称为:Direct Memory Access,即直接存储器访问,DMA 传输将数据从一个地址空间复制到另外一个地址空间。当 CPU 初始化这个传输动作,传输动作本身是由DMA 控制器 来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖原创 2021-02-02 12:31:29 · 2112 阅读 · 0 评论 -
【STM32】关于BOOT引脚和一键下载电路下载的一些事
文章目录前言1、BOOT0和BOOT1的作用2、一键下载电路2.1、洋桃1号开发板2.2、正点原子战舰版参考资料前言 之前在STM32的程序下载方面一直不求甚解,现在是时候回来仔细研究一下了通过本篇文章将了解到: 1、STM32程序下载的两种方式及其工作流程 2、两种ISP一键下载电路设计思路1、BOOT0和BOOT1的作用▲STM32官方参考手册 P33 其中SRAM和主闪存存储器、系统存储器的使用场景区别是显而易见。而主闪存存储器和系统存储器的使用区别就没那么明显了,这里原创 2021-01-16 11:16:28 · 9080 阅读 · 2 评论 -
【STM32】【STM32CubeMX】STM32CubeMX的使用之九:ADC
文章目录0、前言1、CubeMX配置2、软件设计 下载工程文件: https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l151-c8-t6 MCU:STM32L151C8T6-A IDE:MDK-Keil5 固件库:STM32Cube FW_L1 V1.10.20、前言 本篇博文不再对ADC基本结构做赘述有想了解的戳这里。这里将侧重于CubeMX上的ADC配置过程及使用注意事项。1、CubeMX配置▲CubeMX原创 2020-11-17 20:03:50 · 947 阅读 · 0 评论 -
【STM32】【STM32CubeMX】STM32CubeMX的使用之八:低功耗模式及MCU唤醒
文章目录0、前言1、低功耗模式简介2、硬件设计3、软件设计 下载工程文件: https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l151-c8-t6 MCU:STM32L151C8T6-A IDE:MDK-Keil5 固件库:STM32Cube FW_L1 V1.10.10、前言 关于STM32L151系列MCU的低功耗模式的介绍推荐这篇文章。1、低功耗模式简介 2、硬件设计 按键连接PC133、软件设原创 2020-11-16 20:20:48 · 1922 阅读 · 1 评论 -
【STM32】【STM32CubeMX】STM32CubeMX的使用之七:定时器输入捕获实现超声波测距
文章目录0、前言1、硬件设计2、CubeMX配置3、软件设计 下载工程文件: https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l151-c8-t60、前言 有关STM32实现定时器输入捕获原理戳这里。1、硬件设计 硬件设计采用CS102驱动的收发一体超声波探头作为传感器,产品型号为US-116,可实现 25.5cm-350cm 的非接触测距功能,通过计算可知输出脉冲宽度大约为1.5~206ms。▲ 超声波板原理图原创 2020-10-24 11:38:56 · 3432 阅读 · 15 评论 -
【STM32】【STM32CubeMX】STM32CubeMX的使用之六:定时器配置输出PWM,实现变色呼吸灯
文章目录0、前言1、硬件设计2、CubeMX配置3、软件设计 下载工程文件: https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l151-c8-t60、前言 有关STM32实现PWM的理论知识戳这里。1、硬件设计 核心板上的RGB_LED。 查阅数据手册可知引脚对应的定时器通道:2、CubeMX配置PWM配置为: 时基设置,设置2ms定时器溢出,即500Hz的PWM。3、软件设计 在配置占空比原创 2020-10-22 11:26:13 · 1540 阅读 · 0 评论 -
【STM32】【STM32CubeMX】STM32CubeMX的使用之五:定时器时基配置及其中断
文章目录0、前言1、CubeMX上的TIM2、部分源码 下载工程文件: https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l151-c8-t60、前言 关于STM32定时器的介绍在之前的文章中说过,可看这篇文章。本节实验将会实现200Ms通过USART1发送一次Hello World!。1、CubeMX上的TIM 串口配置部分可参考链接文章的2.1部分。 设置定时器中断周期为20ms。定时器时钟选择内部时钟Cloc原创 2020-10-22 09:23:22 · 1227 阅读 · 0 评论 -
【STM32】【STM32CubeMX】STM32CubeMX的使用之四:IIC总线协议驱动SHT30温湿度传感器
文章目录0、前言1、传感器介绍1.1、传感器简介1.2、传感器板原理图1.3、传感器引脚定义1.4、数据采集工作流程1.4.1、单次数据采集模式1.4.2、周期型数据采集模式1.5、其他指令1.5.1、ART (accelerated response time)指令1.5.2、中断命令/停止周期性数据采集模式1.5.3、复位1.5.4、加热1.5.5、状态寄存器1.6、使用注意事项2、程序实现注意事项2.1、关于CRC校验2.1、关于传感器原始数据转化为温湿度3、IIC配置4、功能实现0、前言 关原创 2020-10-19 17:34:21 · 3696 阅读 · 11 评论 -
【STM32】【STM32CubeMX】STM32CubeMX的使用之三:UART串口通信
前言串口过采样模式: 8倍过采样 16倍过采样 使用比奈奎斯特采样定理更高的的采样率,会消耗更大的功耗得到更加准确的结果,比如使用16倍过采样接受一位数据实际上采样了16个点。...原创 2020-10-07 17:18:29 · 1773 阅读 · 2 评论 -
【STM32】【STM32CubeMX】STM32CubeMX的使用之二:外部中断
前言 今天我们来学习STM32CubeMX中外部中断的使用,实现按下KEY0 KEY1 KEY2中断-->IO-->按键映射: EXTI2-->PE2-->KEY2 EXTI3-->PE3-->KEY1 EXTI4-->PE4-->KEY0IO-->LED映射: PB5-->LED0 PE5-->LED11、GPIO及RCC配置2、NVIC设置3、其他设置时钟设置按键消抖:if(HAL_原创 2020-09-30 21:27:34 · 2680 阅读 · 0 评论 -
【STM32】【STM32CubeMX】STM32CubeMX的使用之一:工程建立之点亮你的LED
文章目录前言1、工程建立2、配置2.1、写在前面2.2、操作界面一览2.1、引脚输出与配置2.2、时钟配置2.3、工程设置2.3.1、Project2.3.2、Code Generator2.3.3、Advanced Settings3、添加代码前言 软件的安装网上有很多教程在此不过多赘述戳这里以查看,值得注意的是在创建工程失败时更换至低版本的JRE(Java Runtime Environment),在保证路径中无空格、中文、特殊字符的情况下一般可以解决问题。1、工程建立 在File中选择N原创 2020-09-29 11:05:35 · 2090 阅读 · 0 评论 -
【STM32】关闭JTAG接口,引脚设置推挽输出
GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO,ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//关闭JTA...原创 2019-10-24 21:33:59 · 2196 阅读 · 0 评论 -
【STM32】高级定时器、通用定时器和基本定时器---配置寄存器产生PWM
文章目录1、高级定时器和通用定时器2、配置产生PWM1、高级定时器和通用定时器高级定时器:TIM1、TIM8Tips:黄色词条为高级定时器相对于通用定时器的功能。通用定时器:TIM2~TIM5基本定时器:TIM6、TIM7Tips:独有触发DAC的同步电路。2、配置产生PWM计算公式为:溢出时间Tout(单位秒)=(arr+1)(psc+1)/Tclk计算实例:20MS =...原创 2019-10-24 21:31:47 · 1217 阅读 · 0 评论 -
【STM32】定时器、看门狗
目录1、看门狗定时器(WDT,Watch Dog Timer)2、嘀嗒定时器3、普通定时器和高级定时器开发板为洋桃一号开发板,MCU为STM32F103C8T61、看门狗定时器(WDT,Watch Dog Timer)(戳我即可看百科)概念:看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一...原创 2019-06-09 21:06:13 · 2248 阅读 · 0 评论 -
【STM32】各类通信接口及协议简识(IIC、SPI、RS232、RS485、CAN、USB)
开发板为洋桃一号开发板,MCU为STM32F103C8T6目录1、通信接口一览2、各类通信接口区别(速率问题仅限至于本MCU条件下)1、通信接口一览■ 多达9个通信接口 多达2个IIC接口(支持SMBus/PMBus) 多达3个USART接口(支持ISO7816接口,LIN,IrDA接口和调制解调控制) 多达2个SPI接口(18M位/秒...原创 2019-06-09 22:49:03 · 8502 阅读 · 0 评论 -
【STM32】点灯仪式
LED灯对应的原理图:初始化函数:附上宏定义:使能外设时钟函数(划重点):重点是第一个参数的值:模块框图(部分):闪灯程序:写GPIO的几种方法:按位写(一位或者多位):把一组GPIO置1:把一组GPIO置0:自定义写入一组GPIO的值:Tips:IO口工作方式选择---...原创 2019-08-20 10:39:49 · 263 阅读 · 0 评论 -
【STM32】按键---有关GPIO输入的那些事
GPIO的输入模式一共有4种:GPIO_Mode_AIN 模拟输入 GPIO_Mode_IN_FLOATING 浮空输入 GPIO_Mode_IPD 下拉输入 GPIO_Mode_IPU 上拉输入工作原理可以戳这里:GPIO工作原理常见应用可以戳这里:八种GPIO模式总结在洋桃1号开发板上按键驱动将GPIO配置成上拉输入模式即按键未按下时GPIO为高电平状态。按键对应G...原创 2019-08-21 20:40:47 · 369 阅读 · 0 评论 -
【STM32】FLASH擦写+FLASH相关操作+注意事项
有关FLASH读写的函数:有关库函数:实现掉电不丢失的主函数(Flash一定要先擦后写):#define FLASH_START_ADDR 0x0801f000 //写入的起始地址int main (void){//主程序 u16 a; //定义变量 //初始化程序 RCC_Configuration(); //时钟设置 LED_Init();//L...原创 2019-08-21 21:24:06 · 5718 阅读 · 0 评论 -
【STM32】USART收发---内嵌中断向量控制器
目录几个概念:1、USART初始化2、USART中断配置---内嵌中断向量控制器3、一种串口发送格式化数据方法几个概念:内嵌向量中断控制器:Nested Vectored Interrupt Controller (NVIC)向量中断即中断源的识别标志,可用来存放中断服务程序的入口地址或跳转到中断服务程序的入口地址。中断向量是指早期的微机系统中将由硬件...原创 2019-08-27 22:12:29 · 420 阅读 · 0 评论 -
【STM32】手把手固件库开发工程建立
再来复习一遍固件库开发方式的工程建立方法吧-----针对STM32F10x系列(示例为F103C8T6,开发环境为MDK5)目录1 创建工程2 在工程文件夹中手动创建四个文件夹3 在固件库文件中复制文件3.1 加入到之前创建工程的CMSIS文件夹中3.2加入到之前创建工程的Lib文件夹中3.3加入到之前创建工程的Startup文件夹中3.4加入...原创 2019-09-28 12:25:23 · 707 阅读 · 0 评论 -
【STM32】初识STM32(型号+封装+内核+储存器+时钟、复位和电源管理+工作模式+ADC)
折腾着折腾着终于开始了目录■STM32型号的说明:■几种封装样式:■ 内核:ARM 32位的Cortex™-M3 CPU■ 存储器■ 时钟、复位和电源管理■内嵌RC振荡器和外接晶振:■时钟树:■ 工作模式:■ADC :■STM32型号的说明:以STM32F103C8T6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:(1)STM3...原创 2019-06-01 13:20:48 · 4581 阅读 · 0 评论