-
众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。 其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。 内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上...[详细]
-
启动文件简介 启动文件由汇编编写,是系统上电复位后第一个执行的程序。主要做了以下工作: 1、初始化堆栈指针SP=_initial_sp 2、初始化PC指针=Reset_Handler 3、初始化中断向量表 4、配置系统时钟 5、调用C库函数_main初始化用户堆栈,从而最终调用main函数去到C的世界 查找ARM汇编指令 在讲解启动代码的时候,会涉...[详细]
-
一、基本定时器介绍在STM32中,基本定时器有TIM6、TIM7等。基本定时器主要包含时基单元,提供16位的计数,能计数0~65535。基本定时器除了计数功能以外,还能输出给DAC模块一个TRGO信号。基本定时器框图如下:二、时基单元介绍STM32的所有定时器都具备时基单元,时基单元的功能就是简单的计数,即计数时钟源TMxCLK的脉冲个数,这个时钟源来至APB1总线。高...[详细]
-
一、工作原理输入捕获是STM32单片机定时器的一项重要的功能,应用很广泛,常用于测量脉冲宽度,周期等。超声波模块测距的原理是:单片机给超声波模块(我用到的超声波模块型号是HC-SR04,下面简称HC-SR04)发送一个大于10us的高电平,触发HC-SR04发出8个40kHz的方波,并自动检测是否有信号返回,如果有信号返回,就会通过Echo对单片机输出一个高电平,高电平的持续时间就是超声波从...[详细]
-
最近做的项目,遇到问题以及解决方法1、jlink总是下载失败,PC可以识别,但是keil不识别解决办法:将工程中的和jlink相关的文件删掉,keil魔术棒中set键,弹出框,重新选择芯片型号,还有的时候是没有上电(囧)2、stm32f407改为stm32f401步骤(1)改启动文件,将工程中的启动文件.s文件修改,点击魔术棒--C/C++--Define中对应修改名称(将STM32F4...[详细]
-
STM32CubeProgrammer是意法半导体(ST)推出的一款用于STM32系列微控制器(MCU)和微处理器(MPU)的烧写与调试工具,集成了调试、固件烧写、安全配置等多种功能。其2.20版本在兼容性、本地化、功能优化等方面带来了多项重要更新,同时延续了对新设备和安全功能的扩展支持。以下是详细解析:一、STM32CubeProgrammer2.20版本新功能1....[详细]
-
只测试了待机模式,待机模式实现系统的最低功耗。原理图如下,一开始全部焊接了,其中S2用来进入待机,S1用来唤醒测试程序为:#include“stm32f10x.h”#include“system_stm32f10x.h”voidSys_Standby(void){RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);//使能PWR外设时钟...[详细]
-
比如要是使用GPC3作为中断源,上升沿触发外部中断必须配置好EXTI和NVIC使用以下函数打开SYSCFG的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE)GPIO设置如下voidGPIO_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;/*GP...[详细]
-
具体实现功能1、16个发光二极管做跑马灯,跑马灯有10种模式。2、按键可以切换跑马灯模式,且跑马灯速度可以用按键进行控制。3、数码管显示当前的跑马灯。4、当跑马灯处于一种模式时,音乐响起,音乐至少有3首,并可以对其进行切换。设计介绍51单片机简介51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵...[详细]
-
STM32CubeProg介绍STM32CubeProg(TM32CubeProgrammer)是针对STM32的一款多功能的编程下载工具。STM32CubeProg提供图形用户界面(GUI)和命令行界面(CLI)版本。STM32CubeProg还允许通过脚本编写选项编程和上传、编程内容验证以及编程自动化。1.支持格式MotorolaS19ELFbinhex2.支...[详细]
-
前言前几天改造Skye无人机(Skye无人机刷betaflight详细图文教程),对betaflight开源飞控有了一定的了解,产生了自制飞控板的念头,网上一番查资料发现可行,现把制作过程记录如下。1.材料清单CH340串口下载模块1个(2.5元)STM32F103C8T6黑色开发板1个(11.5元)GY-521加速度计模块1个(3.8元)ams1117-3.3电压转...[详细]
-
源代码:#includereg52.htypedefunsignedcharu8;typedefunsignedintu16;sbitlcden=P3^4;sbitlcdrs=P3^5;u8codeline1="good";u8codeline2=...[详细]
-
1.材料清单STM32F103C8T6开发板(黑色板)、NTC热敏电阻、12864OLED显示屏(四脚)、microUSB数据线、导线及面包板2.电路连接NTC热敏电阻连接电路:GND-10k电阻-PB1-NTC热敏电阻-3.3VOLED显示屏连接电路:*GND-GND*VCC-3.3V*SCL-PB6*SCL-PB73.NTC热敏电阻测温连接好电...[详细]
-
1.项目背景电子琴是一种基于电路的乐器,可以发出不同的音符。随着单片机技术的发展,电子琴不仅可以实现基本的音符播放,还可以通过编程实现更加丰富的音效和多功能应用。本项目设计的多音阶电子琴,基于AT89C51单片机,利用单片机的定时器和外部硬件实现多音阶音符的生成,并通过按键输入控制音符的播放。2.项目目标本项目的目标是设计一个多音阶电子琴,具备以下功能:音符产...[详细]
-
刚开始初学STM32时,每当程序进入HardFault_Handler时,心中就会犯怵,不知怎么解决,当时网上搜到的一些大佬的帖子,问题也能得到解决,但不知道底层机理是什么,所以对这一块的掌握一直不深,之前跟着导师做项目,大冬天在外面调试设备时,又出现这样的报错,当时阴差阳错发现是FreeRTOS任务栈溢出了,现场问题解决了,后面也暗自下决心,要把这类问题深学一下。在看了Cortex-M...[详细]