logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

STM32项目学习18——超声波模块

工作原理1、采用IO触发测距,需要至少10us的高电平信号。所以需要单片机给模块输入10us高电平信号2、模块自动发送8个40KHz方波,自动检测是否有信号返回3、若有信号返回,通过IO输出高电平信号,高电平持续时间就是超声波从发射到返回的时间。单片机接收模块输出的高电平信号。4、HC-SR04提供2-400cm测距功能,误差在3mm硬件连接。

#stm32#学习#嵌入式硬件
STM32项目学习10——串口USART

与此同时,因为PA9和PA10是作为串口作用的,而不是简单的输出输入高低电平,还需要在中文手册里查看外设的GPIO配置。速度比并行通信慢,但是占用的硬件资源少,通常只需要时钟线,一到两根数据线和片选线即可。fPCLK:外设时钟总线,USART1在APB2,最高可取72MHz,其余四个在APB1,最高可取36MHz。数据位:可以是5-8位逻辑‘0’或‘1’,先传输bit0,再传输bit1,以此类推,

#stm32#学习#嵌入式硬件
STM32项目学习9——外部中断

打开startup_stm32f10x_hd.s,文件中包含多种中断函数,项目采用的是EXTI0通道,所以找到EXTI0_IRQHandler函数。STM32中有20条外部中断线,其中16条是GPIO中断线(0~15),EXTI线16连接PVD输出,EXTI线17连接RTC闹钟事件,EXTI线18连接USB唤醒事件,EXTI线19连接以太网唤醒事件(只适用于互联产品)如图所示,以PA0为例,PA0

#stm32#学习#嵌入式硬件
STM32项目学习8——433M无线传输

数据发射模块的工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在-25~+85度之间变化时,频飘仅为3ppm。接收到信号,接收模块对应针脚输出高电平,有D0 D1 D2 D3,可能对应遥控器的AVB/C/D。发射器不同按键控制接收器D0-D3引脚输出高电平,然后STM32接收对应引脚的高电平,执行不同的操作。本项目通过433M无线控制LED2亮灭。USER文件夹新建433M

#学习
STM32项目学习7——震动传感器

假设震动传感器DO口接的是PB8,那么当PB8收到的是低电平时,触发PA1口输出低电平,使LED灯亮1s,然后熄灭。接线上,震动传感器VCC接3.3V,GND接GND,DO接PB8;继电器VCC接3.3V,GND接GND,IN接PA0,COM口接VCC,NO口接LED灯VCC;正常工作时,DO口输出高电平,震动瞬间,DO口输出低电平。打开keil工程文件,USER导入shake.c,添加stm32

#stm32#学习#嵌入式硬件
STM32项目学习3——点亮LED

LED正极接3.3V,负极接到PA1引脚。因此要想点亮LED只需要控制PA1输出低电平即可流程:初始化GPIO外设时钟初始化LED引脚输出电平信号步骤在USER文件夹下创建LED文件夹,存放led.c和led.h,用于定义和声明函数在keil工程中,USER下添加led.c文件,并输入代码可以发现程序会报错,因为程序中没有找到led.h源文件。所以通过魔术棒,在C/C++一栏找到include p

#stm32#学习#嵌入式硬件
从头开始学C语言第八天——static静态存储和extern外部存储

静态存储类型,既可以在函数体内,也可以在函数体外。也就是static既可以用作局部变量,只存在于函数体内,也可以用作全局变量。(初值默认为0)作为局部变量时,static变量在内存中以固定地址存放,而不是堆栈形式(堆栈相当于在函数体执行完之后,函数体内的数据就会直接释放内存,数据清零),在程序没有结束之前,static类型的数据会保存在一个固定的地址并且数据变量会一直保留,在调用时会保留上次调用存

文章图片
#c语言#算法#java
STM32项目学习7——震动传感器

假设震动传感器DO口接的是PB8,那么当PB8收到的是低电平时,触发PA1口输出低电平,使LED灯亮1s,然后熄灭。接线上,震动传感器VCC接3.3V,GND接GND,DO接PB8;继电器VCC接3.3V,GND接GND,IN接PA0,COM口接VCC,NO口接LED灯VCC;正常工作时,DO口输出高电平,震动瞬间,DO口输出低电平。打开keil工程文件,USER导入shake.c,添加stm32

#stm32#学习#嵌入式硬件
到底了