草庐IT

STM32的FSMC

文章目录FSMC接口介绍扩展内存FSMC内部原理FSMC的框图驱动SRAM驱动TFTLCDFSMC内存划分FSMC的分块存储块1的介绍存储块1的分区存储块1的地址不同数据宽度对存储块1寻址的影响FSMC中地址与外设地址的对应关系FSMC相关寄存器SRAM/NOR闪存片选控制寄存器:FSMC_BCRx14EXTMOD扩展模式使能位12WREN写使能位。5-4MWID[1:0]:存储器数据总线宽度3-2MTYP[1:0]:存储器类型。0MBKEN:存储块使能位SRAM/NOR闪存片选时序寄存器:FSMC_BTRxBTRx寄存器介绍29-28ACCMOD[1:0]:访问模式。15-8DATAST[7

STM32输出PWM实现呼吸灯

本文主要介绍在STM32F103C8T6上,利用定时器输出PWM波形,进而驱动LED实现呼吸灯。一、任务要求使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED以及最小开发板上已焊接的LED(固定接在PC13GPIO端口),实现2个LED呼吸灯的效果。二、PWM简介1、什么是PWM脉冲宽度调制(PWM),是英文“PulseWidthModulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。通俗讲,PWM是一种对模拟信号电平进行数字编码的方法。通过

通信工程毕设 Stm32 WIFI智能家居温湿度和烟雾检测系统 - 单片机 物联网 嵌入式

文章目录0前言1简介2主要器件3实现效果4设计原理4.1DHT11温湿度传感器4.2MQ-2烟雾传感器4.3ESP8266WIFI模块5部分核心代码5最后0前言🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是🚩基于PID控制的智能平衡车设计与实现🥇学长这里给一个题目综合评分(每项满分5分)难度系数:4分工作量:4分创新点:3分1简介基于STM32F103C8T6单片机的WIFI智能家居温湿度和烟

RTC/BKP_STM32

一、Unix时间戳1.1Unix简介Unix时间戳(UnixTimestamp):定义为从UTC/GMT的1970年1月1日0时0分0秒开始所经过的秒数,不考虑闰秒。GMT:格林尼治标准时间(以地球自转为标准);UTC:协调时间时间(以原子钟为标准)闰秒:UTC和GMT偏差超过0.9s时,UTC执行闰秒。时间戳存储在一个秒计数器中,秒计数器为32位/64位的整型变量,不进位。世界上所有时区的秒计数器相同,不同时区通过添加偏移来得到当地时间。1.2time.h标准库C语言的time.h模块提供了时间获取和时间戳转换的相关函数,可以方便地进行秒计数器、日期时间和字符串之间的转换。time_t实际是

stm32蜂鸣器播放音乐

  最近学习stm32芯片,使用的是蓝桥杯的f103的旧板子,看到上面有蜂鸣器,所以就想写代码来控制蜂鸣器播放一首音乐。  这里我参考了这篇文章基于STM32F103,用蜂鸣器播放歌曲。同这篇文章一样,我也遇到了蜂鸣器发出的声音不对。参考了这篇文章,以及查找网上的其他资料,最终完成了蜂鸣器的调试,以及歌曲的编写,文章最后会附上代码。  先对音符这类东西进行说明吧。因为自己也不是学音乐的,一些关于音乐的知识都是网上搜集的,所以如果有讲得不对的地方,也请各位读者在评论指正,我会及时改正。  首先在百度上搜索每个音符的频率,这里我参考的是音符与频率对照表其实对于哪个调来说,我感觉不出来什么差别(可能

STM32的HAL库及其使用

随着时代的逐步发展,联网、USB、文件系统、加密算法、RTOS、GUI等第三方组件变得越来越重要,简陋的标准库已经很难满足当代单片机开发需求了。事实上,单片机开发在走PC、手机等以CPU为核心的产品的老路:底层和细节越来越成熟,ARM提供CPU的库、单片机厂商提供外设库,单片机软件工程师直接基于这些库来构建自己的应用。现在更倾向于提供一整套开发生态而不只是一个SDK包,于是HAL库应运而生,提供HAL抽象层驱动来加速产品移植和选型,增加客户粘度。STM32软件开发的各种模式第1代:寄存器开发第2代:标准库开发第3代:HAL/LL库+STM32CubeMX工具开发HAL(hardwareabst

STM32外设芯片驱动学习记录 —— (一) BH1750光照传感器驱动开发

目录一、芯片介绍二、Datasheet解读1.硬件说明2.寄存器说明3.通信过程三、驱动代码编写1.软件I2C驱动2.BH1750芯片驱动函数总结  一、芯片介绍    BH1750是16位数字输出型,环境光强度传感器集成电路,使用I2C接口通信,工作电压:VCC(2.4~3.6V),I2C电平(1.65~VCC),用于各类消费类LCD屏背光检测或环境光检测。二、Datasheet解读1.硬件说明1)框图PD:光电二极管,接受光信号AMP:放大器,将电流信号转化为电压信号ADC:16位AD转换Logic+I2CInterface:环境光计算与I2C接口OSC:内部时钟2)引脚说明引脚号名称说明

STM32F103的DAC——实现音频输出

文章目录一、DAC1、DAC简介2、DAC功能框图剖析二、使用DAC输出周期2kHz的正弦波三、使用DAC将数字音频歌曲数据转换为模拟音频波形输出四、小结五、参考链接一、DAC1、DAC简介DAC为数字/模拟转换模块,顾名思义,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它的功能与ADC相反。在常见的数字信号系统中,大部分传感器信号被化成电压信号,而ADC把电压模拟信号转换成易于计算机存储、处理的数字编码,由计算机处理完成后,再由DAC输出电压模拟信号,该电压模拟信号常常用来驱动某些执行器件,使人类易于感知。如音频信号的采集及还原就是这样一个过程。STM32具有片上DAC外设,它的

STM32自学历程——USART传输(串口发送实验)

实验现象成功在电脑串口助手上显示中文“你好,世界”代码分析打开时钟开启USART1的时钟,USART1的时钟在APB2上,其余USART时钟均在APB1上.开启GPIOA的时钟。   RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);配置引脚   GPIO_InitTypeDefGPIO_InitStructure;   GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;   GPIO_In

测试、获取单片机STM32系统时钟值方法

   有时候,做一个项目出了问题,第一个要怀疑的是系统时钟,本篇是说明如何监控项目的系统频率的。   在STM32标准库项目中,可以通过以下步骤来获取系统时钟:打开项目的主文件(通常为main.c或stm32fxxx_it.c)。在文件顶部,找到包含STM32的头文件,例如"stm32fxxx.h"。在头文件中搜索或浏览器寻找定义系统时钟的宏。这个宏通常以"SYSCLK"、"SYSCLK_FREQ"或类似的名称出现。确定宏的值。通常,这个值表示系统时钟的频率,以Hz为单位。以下是一个示例,展示了如何通过宏获取系统时钟频率:#include"stm32f10x.h"uint32_tsysCloc