![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
文章平均质量分 83
学习笔记
惺忪牛犊子
边学习边记录
展开
-
STM32精英版(正点原子STM32F103ZET6开发板)学习篇18——IIC通信
摘抄自正点原子官方PPT什么是 I2C? I2C(IIC,Inter-Integrated Circuit),两线式串行总线,由PHILIPS公司开发用于连接微控制器及其外围设备。它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。 IIC是半双工通信方式。多主机I2C总线系统结构I2C协议 ①空闲状态 ②开始信号 ③停止信号 ④应答信号 ⑤数据的有效性 ⑥数据原创 2021-02-08 13:27:40 · 1471 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇17——DAC
摘抄自正点原子官方PPT数模转换原理 STM32的DAC模块(数字/模拟转换模块)是12位数字输入,电压输出型的DAC。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DAC模块有2个输出通道,每个通道都有单独的转换器。在双DAC模式下,2个通道可以独立地进行转换,也可以同时进行转换并同步地更新2个通道的输出。DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。STM32的DAC模块主要特点有:DAC模块方图原创 2021-02-08 09:46:08 · 1806 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇16——ADC
摘抄自正点原子官方PPT什么是ADC? ADC的Analog-to-Digital Converter的缩写。指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。 典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。STM32F10x ADC特点STM32F10x系列芯片ADC通道和引脚对应关系ADC引脚ADC框图STM32通道组单次转化 VS 连续转换扫描模式ADC中断ADC时钟配置常用寄存器A原创 2021-02-07 16:19:02 · 3963 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇15——RTC实时时钟+备份区域BKP
摘抄自正点原子官方PPT什么是RTC? RTC (Real Time Clock):实时时钟,是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期。 RTC模块和时钟配置系统(RCC_BDCR寄存器)是在后备区域(断电后还会工作),即在系统复位或从待机模式唤醒后RTC的设置和时间维持不变。但是在系统复位后,会自动禁止访问后备寄存器和RTC,以防止对后备区域(BKP)的意外写操作。所以在要设置时间之前, 先要取消备原创 2021-02-07 15:19:26 · 2150 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇14——TFTLCD实验
摘抄自正点原子官方PPTTFTLCD驱动原理TFTLCD简介 TFTLCD即薄膜晶体管液晶显示器。它与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。 TFTLCD具有:亮度好、对比度高、层次感强、颜色鲜艳等特点。是目前最主流的LCD显示器。广泛应用于电视、手机、电脑、平板等各种电子产品。ALINETEK 2.8寸 TFTLCD模块特点AL原创 2021-02-06 15:44:01 · 10683 阅读 · 3 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇13——ssd1306OLED实验
摘抄自正点原子官方PPTOLED简介 OLED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机电激光显示(Organic Electroluminesence Display, OELD)。OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。 OLED显示技术具有自发光的特性,采用非常薄的有机材料涂层和玻璃基板,当有电流通过时,原创 2021-02-05 16:06:06 · 4569 阅读 · 1 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇12——电容触摸按键实验
电容触摸按键原理RC充放电电路原理: RC充放电原理,其实就是电(R)和电容(C)组成的串联电路。 按键开关未按下时,电路两端电压都是0V,无法形成电势差,也就无法形成电流。但当按键开关按下,电阻端上端有电压:V1V_1V1而电容下端有电压Gnd(0V),自此形成电流,形成电流的同时,电容开始充电的过程,由于充电初期电势差比较大,而随着电容的充电,电容的电压会越来越大(电势差越来越小),于是就形成右边的时间与速度的坐标图(一开始电势差大,斜率陡。随着电势差的降低,斜率逐渐平缓)。RC充放电公原创 2021-02-05 08:12:28 · 2312 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇11——定时器(中断、PWM、输入捕获)
三种STM32定时器区别通用定时器功能特点描述 1、STM3 的通用 TIMx (TIM2、TIM3、TIM4 和 TIM5)定时器功能特点包括: 2、位于低速的APB1总线上(APB1) 3、16 位向上、向下、向上/向下(中心对齐)计数模式,自动装载计数器(TIMx_CNT)。 4、16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数 为 1~65535 之间的任意数值。 5、4 个独立通道(TIMx_CH1~4),这些通道可以用来作为:原创 2021-02-02 16:23:25 · 2638 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇10——看门狗
看门狗概述为什么要看门狗? 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) 。看门狗解决的问题是什么? 在启动正常运行的时候,系统不能复位。 在系统跑飞(程序异常执行)的情况,系统复位,程序原创 2021-02-02 14:33:02 · 801 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇9——外部中断
外部中断概述 STM32的每个IO都可以作为外部中断输入。 STM32的中断控制器支持19个外部中断/事件请求: 线0~15:对应外部IO口的输入中断。 线16:连接到PVD输出。 线17:连接到RTC闹钟事件。 线18:连接到USB唤醒事件。 每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位。 从上面可以看出,STM32供IO使用的中断线只有16个,但是STM32F10x系列的IO口多达上百个,STM32F103原创 2021-02-01 17:37:58 · 2768 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇8——串行通信
通信的两种方式:并行通信 -传输原理:数据各个位同时传输。 -优点:速度快 -缺点:占用引脚资源多串行通信 -传输原理:数据按位顺序传输。 -优点:占用引脚资源少 -缺点:速度相对较慢串行通信分类(按照数据传送方向) 单工(a): 数据传输只支持数据在一个方向上传输 半双工(b): 允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信; 全双工(c): 允许数据同时在两个方向上原创 2021-01-30 17:55:27 · 2915 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇7——Systick定时器
Systick定时器是什么? Systick定时器,是一个简单的定时器,对于CM3,CM4内核芯片,都有Systick定时器。 Systick定时器常用来做延时,或者实时系统的心跳时钟。这样可以节省MCU资源,不用浪费一个定时器。比如UCOS中,分时复用,需要一个最小的时间戳,一般在STM32+UCOS系统中,都采用Systick做UCOS心跳时钟。 Systick定时器就是系统滴答定时器,一个24 位的倒计数定时器,计到0 时,将从RELOAD 寄存器中自动重装载定时初值。只要不把它在SysT原创 2021-01-28 08:11:46 · 1301 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇6——时钟详讲
时钟系统框图 观察上图时钟系统框图,可知道 蓝色矩形表示时钟振荡源(5个):HSI RC、HSE Osc、PLL(锁相环、倍频器)、LSE Osc、LSI RC H:快速、L:低速、S:速度、I:内部、E:外部 灰色梯形表示选择器:通过不同选择器的选择,SYSCLK系统时钟、RTCCLK实时时钟、IWDGCLK独立看门狗时钟、USBCLK USB时钟可有多种选择。 黄色矩形css表示时钟监视系统:监控若时钟出错,则自动切换为HSI 白色小矩形:OSC_OUT、OSC_IN表示外原创 2021-01-27 16:34:54 · 3056 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇5——蜂鸣器实验(三种实现方式)
硬件电路图注意: 不能通过IO口直接驱动大功率器件(蜂鸣器不能直接接IO口,要像上面电路一样通过三极管进行放大,通过电路图易知当BEEP端输出高电平则基极与发射极导通,电流放大从集电极输出,蜂鸣器响,反之不然) R38(10K电阻)有什么用?因为STM32复位后默认是浮空状态,IO口电平是不确定的,若不接则可能会通过三极管的B极进行放大,接了之后会从这边走从而就不会导致复位后蜂鸣器响创建文件夹BEEP,并在此文件夹下添加子文件夹:CORE、USER、STM32F10x_FWLIB、HARDWA原创 2021-01-26 19:21:01 · 3247 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇4——跑马灯实验(寄存器版)
硬件电路图 查看电路图可知,当输出高电平时候LED灭,输出低电平时LED亮。 GPIO输出方式:推挽输出。 LED0是连接GPIO_B中的第5个引脚。 LED1是连接GPIO_E中的第5个引脚。前面设置与前篇一致,主要修改的地方就是main.c、led.c。led.h与前面一致,程序如下:#ifndef __LED_H#define __LED_H void LED_Init(void);#endifled.c编写第一步:使能IO口时钟。配置寄存器RCC_APB2EN原创 2021-01-26 10:15:10 · 1685 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇3——跑马灯实验(gpio输出)
跑马灯实验:FWLIB:misc.c、stm32f10x_gpio.c、stm32f10x_rcc.c(该文件涉及时钟)这三个文件属于不可缺少文件HARDWARE:led.c(led初始化相关代码)gpio.h(在gpio.c下面的文件):里面上面定义了一些宏定义,下面就是关于gpio的相关函数void GPIO_DeInit(GPIO_TypeDef* GPIOx);void GPIO_AFIODeInit(void);void GPIO_Init(GPIO_TypeDef* GPIOx, G原创 2021-01-25 17:26:57 · 2388 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇2——GPIO
前提芯片引脚数量 STM32F103ZET6为:144脚芯片。一共有7组IO口(GPIOA~GPIOG),每组IO口有16个IO(PA0 ~ PA16),共计16*7=112个IO. STM32的大部分引脚除了当GPIO使用外,还有一些特殊功能 1、端口复用功能:所谓复用,就是一些端口不仅仅可以做为通用IO口,还可以复用为一些外设引脚,比如PA9,PA10可以复用为STM32的串口1引脚。 作用:最大限度的利用端口资源。 2、端口重映射功能:就是可以把某些功能引脚映射到其他原创 2021-01-25 09:49:59 · 7522 阅读 · 0 评论 -
STM32精英版(正点原子STM32F103ZET6开发板)学习篇1——新建库函数模版
引入:准备: STM32固件库包。 ST官方提供的STM32固件库包:STM32F10x_StdPeriph_Lib_V3.5.0(文件夹名)介绍: 文件夹含有:Libraries、Project、Utilities等文件夹。 Libraries文件夹含有:CMSIS、STM32F10x_StdPeriph_Driver(包含固件库核心的所有子文件夹和文件,建立工程时都会使用到) CMSIS文件夹:为启动文件。 |________ core_cm.c、core原创 2021-01-24 23:03:02 · 4466 阅读 · 0 评论