STM32之震动传感器、继电器介绍及实战

目录

一、震动传感器介绍及实战

二、编程代码实现

1、gpio.c---------初始化GPIO口引脚函数

2、编写中断服务函数

3、用外部中断共用入口函数,来调用外部中断处理回调函数

4、编写外部中断处理回调函数(在这里编写项目设计的逻辑)

5、把上述的外部中断处理回调函数,放入main主函数里

6、结果演示

三、继电器介绍及实战 


一、震动传感器介绍及实战

单片机供电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引脚输出的频率
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值