目录
一、震动传感器介绍及实战
单片机供电VCC GND接单片机
产品不震动,输出高电平、模块上的DO口
产品震动,输出低电平,绿色指示灯亮
AO口不用
5V:代表正极
GND:代表负极
DO口:do是一种模拟信号或者数字信号接口
二、编程代码实现
需求:当振动传感器接收到振动信号时,使用中断方式点亮LED1。
1、gpio.c---------初始化GPIO口引脚函数
#include "gpio.h"
void MX_GPIO_Init(void) //初始化GPIO口引脚函数
{
GPIO_InitTypeDef GPIO_InitStruct = {0}; //初始化设置GPIO的结构体
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOD_CLK_ENABLE(); //使能GPIOD时钟
__HAL_RCC_GPIOA_CLK_ENABLE(); //使能GPIOA时钟
__HAL_RCC_GPIOB_CLK_ENABLE(); //使能GPIOB时钟
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_SET); //GPIO引脚输出1或者0的函数
/*Configure GPIO pin : PA4 */
GPIO_InitStruct.Pin = GPIO_PIN_4; //配置GPIO口引脚:PA4
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; //下降沿触发检测的外部中断模式
GPIO_InitStruct.Pull = GPIO_NOPULL; //内部电阻既不拉高也不拉低
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); //根据上述内容,初始化GPIOA引脚
/*Configure GPIO pin : PB8 */
GPIO_InitStruct.Pin = GPIO_PIN_8; //配置GPIO口引脚:PB8
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; //推挽输出;推挽输出可以真正能真正的输出高电平
GPIO_InitStruct.Pull = GPIO_NOPULL; //内部电阻既不拉高也不拉低
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; //GPIO引脚输出的频率
文章评论