草庐IT

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

【STM32+HAL】语音识别模块LD3320(SPI版)

一、准备工作:有关CUBEMX的初始化配置,参见我的另一篇blog:【STM32+HAL】CUBEMX初始化配置二、所用工具:1、芯片: STM32F103C6T6(同C8T6)2、STM32CubeMx软件3、语言识别模块:LD3320(SPI版)三、实现功能:实现串口打印语音输入四、HAL配置步骤:1、SPI功能开启2、IO口配置3、中断配置至此,HAL库配置完成五、硬件连接:接线:LD3320:LD3320_CS_Pin GPIO_PIN_A2LD3320_SCK_Pin GPIO_PIN_A5LD_MI_Pin GPIO_PIN_A6LD3320_MOSI_Pin G

STM32WLE5JC

Sub-GHz无线电介绍sub-GHz无线电是一种超低功耗sub-GHz无线电,工作在150-960MHzISM频段。在发送和接收中采用LoRa和(G)FSK调制,仅在发送中采用BPSK/(G)MSK调制,可以在距离、数据速率和功耗之间实现最佳权衡。这款sub-GHz无线电符合LoRaWAN®规范v1.0和无线电法规,如ETSIEN300220,EN300113,EN301166,FCCCFR47part15,24,90,101和ARIBSTD-T30,T-67,T-108。sub-GHz无线电包括:模拟前端收发器,其RFO_LP引脚输出最大功率为+15dbm,RFO_HP引脚输出最大功率为+

【基础篇】1.2 认识STM32(二)

3.3VREF+/VREF-引脚VREF+和VREF-是STM32中用于提供参考电压的引脚。如下图:VREF+引脚可以连接一个单独的外部参考电压,范围在2.0V~VDDA,但不能超过VDDA,否则就超过了模拟器件的最大供电电压。在100引脚的封装中,VREF-是A/D的参考,当需要使用时,必须绑定到VSSA(使得所有模拟器件的参考都相对于VSSA)。VREF-引脚是参考电压输入引脚负极。在64及更少的引脚中,VREF-和VREF+是不可用的,在内部被接到一个ADC电压提供源(VDDA)并接地(VSSA),此时参考电压就是AD的工作电压了。 3.4VBAT引脚VBAT在电路中代表电池工作模式专用