STM32学习记录
双燕难凭远信
简介-省略
展开
-
STM32F103ZET6学习记录——在彩屏上显示RTC时钟的时间
利用RTC和彩屏将RTC实时时钟的数据通过彩屏显示出来。main.c#include "system.h"#include "SysTick.h"#include "led.h"#include "usart.h"#include "rtc.h"#include "tftlcd.h"/**************************************...原创 2020-02-14 17:34:18 · 3396 阅读 · 5 评论 -
STM32F103ZET6学习记录——利用延时制作的门铃
学习51的时候看了定时器设计的门铃,在32之中我将其用滴答计时器实现。将程序下载到开发板上之后,按下上键蜂鸣器会发出ding,dong的声音,然后停下不发声,程序中使用led1来检测我们的程序是否正常的在运作中main.c/************************************************************************** ...原创 2020-02-14 12:33:35 · 1383 阅读 · 0 评论 -
STM32F103ZET6学习记录——RTC实时时钟实验
声明:有文章仅用于记录自己的学习进度。1.介绍RTC(实时时钟)本质是一个独立的定时器,通过相关的配置可以提供时钟日历的功能。RTC模块和配置都在后备区域,所以器件的工作状态对于RTC没有影响。为了RTC在即使开发板没有上电的时候也可以正常的工作,通常在开发板的后背区域会加上一块纽扣电池,只有主电源和纽扣电池都没有电,RTC才会停止工作。RTC的数据保存在属于RTC的备份域中,如果...原创 2020-02-11 19:02:08 · 2010 阅读 · 0 评论 -
STM32F103ZET6学习记录-待机唤醒
开发板相关外设 LED1、串口 原理降低系统时钟或者关闭不使用的外设。 分为三种模式:(从上到下,功耗越来越小)(1) 睡眠模式(CM3内核不工作,外设仍然工作)(2) 停止模式(所有的时钟关闭)(3) 待机模式(1.8V的内核电源关闭)3. 待机模式关闭了最多的设备。(所以功耗最小)不保存代码的执...原创 2020-01-18 22:35:04 · 891 阅读 · 0 评论 -
STM32F103ZET6学习记录-窗口看门狗
觉得用处不是很大,简略写了。窗口看门狗本质是一个7位递减的计数器。只是它的下限是0X40(无法修改),上线可以通过我们自己配置(但是要保证大于下限。),当计数器的值高于上限和低于下限的时候被刷新的话,就会产生一次复位信号。作用和独立看门狗类似。刷新的时候可以使用提前唤醒中断来喂狗,否则要计算超时时间(一般不用)。有闲心再来放上相关图片。创建wwdg文件夹,添加wwdg的文件,添加编...原创 2020-01-17 21:17:50 · 320 阅读 · 0 评论 -
STM32F103ZET6学习记录-独立看门狗(IWDG)实验
一.开发板原理图硬件设备与printf重定向一致。PS:该程序在上一个printf重定向的实验中修改完成。二.操作步骤。分析:首先独立看门狗的作用是用于检测并解决由软件错误导致的故障,当软件出错的时候,可以通过独立看门狗将系统复位。它的实质是一个12位的递减计数器,当数值递减到0的时候会让系统产生一次复位,如果在0之前刷新了数值的话系统就不会复位了,这个过程称之为喂狗。...原创 2020-01-17 19:26:27 · 1816 阅读 · 0 评论 -
STM32F103ZET6学习记录-printf重定向实验
开发板原理图所需要的硬件设施和上一个实验(USART串口所需一致),使用的是串口1来实现通信。 2. 实现和步骤串口的重定向的目的是为了方便更好的观测程序,因为printf的默认输出设备是显示器,所以要想printf输出的内容在串口上显示出来,就需要将printf函数进行重定向。方法: printf函数的内部会调用int fputc(i...原创 2020-01-15 22:24:56 · 935 阅读 · 0 评论 -
STM32F103ZET6学习记录-串口通信部分
开发板原理图本次实验使用的串口是USART1串口,而它的读写管脚挂接在GPIOA的9、10脚上。如下图2. 准备工作(此次实验根据上一次的PWM的程序进行改造得来)串口的使用对于单片机来讲是公用的,也就是说我们这次所书写的程序可以用于以后的程序来使用,所以可以将该实验的程序代码放在一个公共文件夹我命名为Public(我看的视频教程中的文件夹就是这样,哈哈)中,和位带...原创 2020-01-14 17:15:37 · 3291 阅读 · 0 评论 -
STM32F103ZET6学习记录-LED柱子流水
很简单就是个函数的调用main.c代码#include "stm32f10x.h"#include "led.h"void delay(unsigned int time){ int x =time, y; for(x = 0; x < time; x++) for(y = 0; y < 1000; y++) ...原创 2020-01-10 16:11:48 · 232 阅读 · 0 评论 -
STM32F103ZET6学习记录-呼吸灯
1. 开发板原理图使用的是LED7通过PWM来实现灯的亮度逐渐变高,之后再逐渐的变暗来模拟一个呼吸灯的一个效果。PWM: PWM是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成为电力电子技术最广泛应用的控制...原创 2020-01-10 15:27:11 · 2551 阅读 · 3 评论 -
STM32F103ZET6学习记录-定时器中断
1.开发板原理图 通用计时器挂接在APB1总线上而高级计时器挂接在APB2总线上。通用计时器的频率多为72MHZ。 初始化时将APB1相关时钟使能。时钟函数位于rcc头文件中。2.工程配置部分为方便管理工程,创建一个叫time的文件夹,用于存放有关定时器的所有文件。有关定时器的所有文件在启动文件里的tim.c文件中,需要用到的时候记得把该文件加入到当前的工程目...原创 2019-12-27 13:50:49 · 1302 阅读 · 0 评论 -
STM32F103ZET6学习记录-外部中断
开发板原理图这次试验使用按键作为外部中断的触发源。由于GPIO的每个管脚都可以作为中断源触发,原理图和按键部分一样。对于GPIO和按键的初始化只需要将之前写好的文件包含进来,调用按键初始化函数就可以了。此处主要记录中断的配置。一样创建一个文件夹EXIT。方便于管理。位于GPIO头文件里面GPIO_EXTILineConfig();中断分组函数...原创 2019-12-26 23:10:24 · 1206 阅读 · 1 评论 -
STM32F103ZET6学习记录-按键实验部分
1.开发板原理图从原理图中我们可以看出,上键是默认低电平,与GPIOA相连,而其余三个按键都是于GPIOE相连,默认高电平。所以在初始化按键的时候要分开。上键单独初始化,另外三个可以一起初始化。初始化时GPIOA和GPIOE都要进行初始化操作。因为两个I/O口都包含了按键。void KEY_Init(void){ GPIO_InitTypeDef GPIO_In...原创 2019-12-26 20:35:43 · 3071 阅读 · 2 评论 -
STM32F103ZET6学习记录-数码管部分
开发板原理图 上图可以看到数码管是共阳连接,说明给一个低电平的时候数码管的相应段会被点亮。 相关的准备工作和LED总体类似(因为数码管和LED用的线路是相同的都是GPIOC的前八个引脚)区别只在定义宏的时候将LED_PORT_RCC\LED_PORT\LED_PIN改为SMG_PORT_RCC\SMG_PORT\SMG_PIN即可,其余均完全类似,挂接总线和初...原创 2019-12-25 22:12:55 · 2610 阅读 · 0 评论 -
STM32F103ZET6学习记录-LED双灯流水
1. 目的首先我们的stm32要使用LED的话,从它的原理图上可以看出,它的LED挂接在GPIOC上,所以我们要想使用LED的话就需要初始化GPIOC的引脚,通过对GPIOC管脚的高低电平操作,使得我们可以实现对于LED灯的控制操作。2. 各项准备工作。在我们之前已经建立好的模板中加入一个LED的文件夹,用于存放我们的LED的控制文件。目的在于工程的可管理性,以及程序...原创 2019-12-25 14:09:37 · 1839 阅读 · 0 评论