推荐阅读最新更新时间:2024-11-03 06:27
STM32 掉电检测程序
当VDD下降到PVD阀值以下或当VDD上升到PVD阀值之上时,根据外部中断第16线的上升/下降边沿触发设置,就会产生PVD中断 void PVD_IRQHandler(void) { led_ctrl(LED1, ON); if(PWR_GetFlagStatus(PWR_FLAG_PVDO)) { MSD0_WriteSingleBlock(1, buf); } EXTI_ClearITPendingBit(EXTI_Line16); } void PVD_Init(void) { EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeD
[单片机]
STM32外设驱动篇——DHT11温湿度传感器
已在STM32上进行过测试。本例使用PC0引脚连接DHT11的data引脚。 main函数中调用下面代码中的DTH11_test函数即可。 //数据定义: //----以下变量均为全局变量-------- //----温度高8位== U8T_data_H------ //----温度低8位== U8T_data_L------ //----湿度高8位== U8RH_data_H----- //----湿度低8位== U8RH_data_L----- //----校验 8位 == U8checkdata----- u8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_da
[单片机]
STM32做SPI主机很常见,但是SPI从机玩过吗?
在平常的开发中,很多时候我们使用SPI都是使用主机模式去驱动一些传感器、存储器等等,很少会用到SPI从机。有时候,我们又需要STM32的SPI配置为从机去接收数据,本文就是介绍如何使用探索者开发版配置SPI从机。 这里我们以探索者开发版标准库实验25SPI实验为基础例程进行修改。这里我们把SPI从机只定义为一个接收,所以没有发送数据的操作。SPI的基础知识需要大家自己去学习,这里着重说明使用方法。 接下来,我们来看一下具体代码实现。 SPI初始化函数修改为如下代码: 这里特别需要几点: 以上代码跟原来程序不同点: ①SPI1的引脚使用的是PA4(SPI1_NSS),PA5(SPI1_CLK)和PA7(SPI1_MOSI)三
[单片机]
基于STM32基本定时器3的PWM输出
说明:使用标准库3.4 #include stm32f10x.h TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; uint16_t CCR1_Val = 250; uint16_t CCR2_Val = 500; uint16_t CCR3_Val = 750; uint16_t CCR4_Val = 0; uint16_t PrescalerValue = 0; void RCC_Configuration(void); //时钟配置 void GPIO_Configuration(v
[单片机]
STM32学习笔记1 IO口学习
STM32的IO口可以由软件配置成8种模式: 1,输入浮空 2,输入上拉 3,输入下拉 4,模拟输入 5,开漏输出 6,推挽输出 7,推挽复用功能 8,开漏复用功能 每个IO口可以自由编程,单IO口寄存器必须要按32位字被访问。 这里就是寄存器不能位操作咯 STM32的每个IO端口都有7个寄存器来控制。他们分别是:配置模式的2个32位的端口配置寄存器CRL和CRH;2个32位的数据寄存器IDR和ODR;1个32位的置位/复位寄存器BSRR;一个16位的复位寄存器BRR;1个32位的锁存寄存器LCKR;这里我们仅介绍常用 的几个寄存器,我们常用的IO端口寄存器只有4个:CRL、CRH、IDR、ODR。 STM32的CRL控制
[单片机]
STM32中重要的C语言知识点总结
说在前面的话一位初学单片机的小伙伴让我推荐C语言书籍,因为C语言基础比较差,想把C语言重新学一遍,再去学单片机,我以前刚学单片机的时候也有这样子的想法。 其实C语言是可以边学单片机边学的,学单片机的一些例程中,遇到不懂的C语言知识,再去查相关的知识点,这样印象才会深刻些。 下面就列出了一些STM32中重要的C语言知识点,初学的小伙伴可以多读几遍,其中大多知识点之前都有写过,这里重新整理一下,更详细地分析解释可以阅读附带的链接。 assert_param断言(assert)就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。 断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。
[单片机]
STM32 按键EXTI方式 使用ST3.0.0库
把IO配置为 EXTI中断的步骤: 1:使能EXTI Line时钟和第二功能时钟。 2:配置EXTI Line中断优先级(NVIC) 3:配置EXTI Line IO (哪个引脚,输入模式,初始化) 4:把引脚配置为EXTI Line的中断源(GPIO操作),配置IO口的工作模式 5:配置EXTI Line的工作模式。 ============================================================================== 例如: GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStruc
[单片机]
STM32使用HAL库开发指南
准备内容 好奇心,耐心,细心 一台电脑,并安装keil5,以及STM32CUBEMX等开发应用。 JLINK或者ST-LINK模块。 STM32开发板或者最小系统板(我选用STM32F103RET6模块,配置与逻辑大同小异)。 01创建工程 步骤 1:在STM32CubeMX中创建一个项目 打开STM32CubeMX软件,在右上方的“Project”标签下,选择“New Project”。 在主界面上选择你需要使用的STM32系列芯片型号。 在左侧的选项树中,选择你需要的外设配置和时钟设置,并进行相应的配置。你可以根据自己的需求勾选或取消勾选相应的外设。 生成完成后,你可以选择打开生成代码所在
[单片机]