-
本篇文章带着大家来认识一下STM32的时钟系统,以及利用systick定时器来实现一个比较准确的延时。 我们首先从时钟说起,时钟在MCU中的作用,就好比于人类的心脏一样不可或缺。STM32的时钟相比51的单一时钟要复杂些,它有多个时钟源可以使用,那么大家可能会有所疑惑,STM32的时钟搞的那么复杂干什么,原因其实在于,STM32的外设资源比起51来说,是很丰富的,那么不同...[详细]
-
众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。 其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。 内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上...[详细]
-
startup_stm32f10x_cl.s互联型的STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s大容量的STM32F101xx,STM32F102xx,STM32F103xxstartup_stm32f10x_hd_vl.s大容量的STM32F100xxstartup_stm32f10x_ld.s小容量的STM32F101xx,STM3...[详细]
-
Q:什么是SYSTick定时器?SysTick是一个24位的倒计数定时器,当计到0时,将从RELOAD寄存器中自动重装载定时初值。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息。Q:为什么要设置SysTick定时器?(1)产生操作系统的时钟节拍SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。在以前,大多操作系统需要一...[详细]
-
实现代码(调用该函数即可)://重新启动voidrestartSystem(){__set_FAULTMASK(1);HAL_NVIC_SystemReset();}cut-off相关知识:STM32关全局中断:第一种方法,:操作PRIMASK寄存器__set_PRIMASK(0)/*使能全局中断*/__s...[详细]
-
具体实现功能(1)使用2个LED灯模拟路灯,设定节能时间段为晚上00:00到早上6:00,路灯只亮一个。若声音传感器检测到有声响或人体红外感应传感器检测到外界有行人或汽车经过,则另一个灯也开启,延迟10s后重新变为一亮一灭的状态;(2)可以设置路灯开启时间段。如设置19:00-20:00,在此时段中,2个LED灯一直亮。其他除节能模式之外的时间段,则需根据光强和声响或人体红外感应来打开路灯...[详细]
-
源代码:#includereg52.h#includeintrins.htypedefunsignedcharu8;typedefunsignedintu16;sbitdula=P2^6;sbitwela=P2^7;sbitadcs=P3^5;...[详细]
-
STM32CubeMonitor介绍STM32CubeMonitor是一款替代网页链接的工具,同样可以通过实时读取和显示变量来帮助调试和诊断STM32应用程序的工具。当然,它的功能相比之前的STMStudio肯定要强大很多,可以轻松创建自定义仪表板,并快速添加仪表盘,例如仪表,条形图和曲线图等。先来看下安装好之后打开的界面:主要特征:•基于图形流的编辑器,不需要编程来构...[详细]
-
整体思路利用simulink设计四则运算仿真模型,借助simulink的代码生成工具生成c语言代码。同时介绍STM32扩展工具的安装,使用。所需工具1、MATLAB2018b2、STM32硬件支持工具下载连接:https://www.stmcu.org.cn/document/detail/index/id-2160533、STM32CUBEMX(用于配置STM32资源)下...[详细]
-
源代码:#includereg52.hunsignedcharRunMode;voidDelay1ms(unsignedintcount){ unsignedinti,j; for(i=0;icount;i++) for(j=0;j120;j++);}unsignedcharcodeLEDDisplayCode={0xC0,0xF9,0...[详细]
-
本文使用STM32C8T6单片机进行IAP实验。所谓IAP(InApplicationProgramming,即在应用编程)就是先将一段特定功能的程序编译成BIN文件或者HEX文件,暂且将这个特定功能的程序称为APP程序。通过某种接口,如UART,将此文件发送给单片机。单片机运行另外一个程序,暂且称为IAP程序。此程序等待文件(即BIN文件或HEX文件)传来,然后将其往某一段FLASH烧写。...[详细]
-
上一次完成了端口引脚的输出,今天开始做引脚的输入。每个引脚有四种输入模式,这里简单讲一下。第一个是模拟输入,就是输入量为模拟信号,浮空输入,就是输入量为数字信号高低电平,上拉/下拉输入,就是把不确定的信号统一拉高/低。因为我的硬件电路可以出入确定的高低电平,这里我就配置成浮空输入。这次的实验功能是通过两个按键完成流水灯的流向和启停,两个按键分别连接到PA0和PC13PA0控制流向,PC13...[详细]
-
stm32用hal库建立工程通用且方便,用的人也越来越多了,正点原子之前也有hal库的书还有例程,但是正点原子hal库的例程是以调用hal库的形式制作的,没有直接从cube的建立工程开始做起,并且在使用的过程中有根据项目更改过库函数。网上STM32Cube的教程也大多是v4、v5版本,和v6相比很多界面和功能有所变化,所以写了这个。文中部分内容参考正点原子开发指南和网上的文章教程。工作环境...[详细]
-
//项目名称:单只数码管循环0-9//项目再创作者:科技小宅神proteus仿真图//1、数码管实际上是由7个发光二极管组成一个8字形,另外一个发光二极管做成圆点型,这样就构成了一个数码管。//所有的8个二级管的正极或者负极都连到一个公共端点上,对于公共端连在正极的数码管,称为共阳极数码管,反之称为共阴极数码管。//根据数码管的内部结构原理,可以很清楚的知道数码管显示数...[详细]
-
//项目名称:8只数码管滚动显示字符串//项目再创作者:科技小宅神//完成时间:2021/01/20proteus仿真图#includereg52.h#includeintrins.h#defineucharunsignedchar#defineuintunsignedint//共阳极数码管数组ucharcodeDSY_CODE={0xc0,0x...[详细]