推荐阅读最新更新时间:2024-11-10 16:21
HC-SR505红外感应模块驱动(STM32)
一、前期准备 单片机:STM32F103ZET6 开发环境:MDK5.14 库函数:标准库V3.5 HC-SR505红外感应模块:淘宝有售 二、实验效果 三、驱动原理 这个模块比较简单,当有人靠近时候其IO输出3.3V,STM32可以直接采集。 需要完整工程或者有问题的请加QQ:1002521871,验证:呵呵。 四、驱动代码 HC_SR505.h #ifndef __HC_SR505_H__ #define __HC_SR505_H__ #include stm32f10x.h #include gpio.h #define HC_SR505 PAin(0) #define HC_SR505_
[单片机]
STM32开发笔记46:STM32F0低功耗设计
单片机型号:STM32F070F6P6 项目中需要使单片机STM32F070F6P6进入低功耗模式,本文记录整个过程。 1、STM32F070的低功耗模式: 2、低功耗模式描述,在项目中希望外部中断予以唤醒,所以三种低功耗模式,都可以使用。 3、进入Stop模式的代码如下,实际测得进入Stop模式后,8.0uA。在这里需要注意的是,我选用的单片机STM32F070F6P6,仅有端口A、端口B和端口F。我使用参考例程,没有注意里面的具体写法,增加了端口C和端口D,则一直进入不了Stop模式,网上说需要停止SysTick,这些都是不正确的。只有进入Sleep模式,才需停止SysTick,在Stop模式中,不
[单片机]
STM32学习笔记9——stm32L072 SD卡程序移植记录
项目使用stm32L072,需要将采样的数据保存到SD卡中。SD卡程序参考ST公司的官方STM32L073Z_EVAL开发板的例程。需要修改的地方如下: 1、 修改stm32L073z_eval.h中SPI的管脚配置、AF配置; 2、 官方开发板使用了一片STM32L152CCT6扩展了STM32L073的IO口,并通过I2C接口连接。在SD卡例程中,扩展IO口用于检测SD卡是否连接好。我们的板子中没有设计SD卡硬件检测的功能,所以在stm32L073z_eval_sd.c的BSP_SD_Init函数中将有关SD卡detect的代码屏蔽,只保留调用SD_IO_Init函数和return。 3、 在stm320L0xx_
[单片机]
stm32 TIM3_CH1 PB4复用输出PWM 完整配置源码
stm32F103使用定时器3配置PB4引脚产生1KHz的PWM波 引脚配置 void TIM3_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE); GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE); GPIO_InitStructure.GPI
[单片机]
正点原子 第6讲 STM32芯片解读
1.芯片的资源 选型手册可以看到 芯片的资源 Flash size 是 片上flash的大小 这样一直对应 下去。都可以在 选型手册中来查找 比如他们的内核都是用的 cortex m3内核 一般情况下外部晶振用8M DMA用于高速的数据传输 系统定时器 通常用于ucos的延时 APB2 一般挂载高速外设 APB1挂载低速外设 芯片的引脚与功能是怎么定义的 我们可以在数据手册中找到 引脚对应的功能。 端口的功能会在后面进行介绍。 标注FT的引脚代表容忍5V VDD 连到 3.3V VBAT接电源 VDDA 也是接到3.3V VDD 和 VSS就是数字
[单片机]
基于STM32的SPI通信
引言 SPI是串行外设接口的缩写,是一种高速的,全双工,同步的通信总线。由于SPI高速和同步的特性,使其成为嵌入式系统和小型设备中使用最广泛的几种通信接口之一。本文将详细讲解一下SPI,并且最后基于STM32编写一个例程。 介绍 SPI简介 SPI(Serial Peripheral Interface)是一种串行外设接口,用于在微控制器(MCU)或数字信号处理器(DSP)等主设备与外部设备之间进行通信。SPI的设计旨在实现高速数据传输和简单的硬件实现。 SPI接口通常由一个主设备(Master)和一个或多个从设备(Slave)组成。主设备控制通信的时序和数据传输,而从设备根据主设备的指令进行响应。SPI通信基于全双工传输
[单片机]
STM32-跑马灯实验代码分析
工程建立的主要步骤 1.新建3个文件夹:USER、SYSTEM、HARDWARE 2.新建led.c、led.h和test.c 3.在Target目录树上右击Manage Component,新建USER、SYSTEM、HARDWARE,并添加相关C文件(具体见前文MDK使用方法与技巧),跟前面一样HARDWARE组添加led.c文件。 4.在Options for Target ‘Target 1’对话框C/C++选项卡中Include Pathes里添加头文件路径。(这个不可少,否则编译出错,见前文MDK使用方法与技巧,led.h文件不可漏掉) 5.使用SWD方式下载,具体见MDK使用方法与技巧,注意res
[单片机]
STM32中EXTI(外部中断)和NVIC(嵌套向量中断)的关系
NVIC是Cortex-M3核心的一部分,关于它的资料不在《STM32的技术参考手册》中,应查阅ARM公司的《Cortex-M3技术参考手册》 Cortex-M3的向量中断统一由NVIC管理 EXTI是ST公司在其STM32产品上扩展的外中断控制。它负责管理映射到GPIO引脚上的外中断和片内几个集成外设的中断(PVD,RTC alarm,USB wakeup,ethernet wakeup),以及软件中断。其输出最终被映射到NVIC的相应通道。因此,配置EXTI中断的过程必然包含对NVIC的配置,例如下面配置EXTI0的过程,就要首先配置EXTI控制器(使能相应的中断线,选择中断/事件模式,触发边沿极性),然后再配置NVIC控制器(
[单片机]