STM32-笔记29-蓝牙遥控插座项目

一、实验前期准备

手机通过蓝牙模块远程遥控风扇。(插座的原理就是继电器,所以控制继电器就是控制插座电源)

二、项目实现

复制项目文件夹32-蓝牙模块实现,重命名33-蓝牙遥控插座项目

找到一个继电器项目,把继电器复制到文件夹内

如下图所示:

重命名文件为plugin

打开项目,加载文件

main.c

cpp 复制代码
#include "sys.h"
#include "delay.h"
#include "led.h"
#include "uart1.h"
#include "bluetooth.h"
#include "plugin.h"

int main(void)
{
    HAL_Init();                         /* 初始化HAL库 */
    stm32_clock_init(RCC_PLL_MUL9); /* 设置时钟, 72Mhz */
    led_init();//初始化led灯
    bt_init(115200);
    uart1_init(115200);
    plugin_init();
    printf("hello word!\r\n");
    
    while(1)
    { 

    }
}

plugin.c

cpp 复制代码
#include "plugin.h"
#include "sys.h"//关于时钟的头文件

//初始化GPIO函数
void plugin_init(void)
{
    GPIO_InitTypeDef gpio_initstruct;//定义一个结构体gpio_initstruct
    //打开时钟
    __HAL_RCC_GPIOB_CLK_ENABLE();
    //调用GPIO初始化函数
    gpio_initstruct.Mode = GPIO_MODE_OUTPUT_PP;//结构体函数的四种类型,引脚模式、引脚、引脚上拉下拉、引脚速度
    gpio_initstruct.Pin = GPIO_PIN_6;
    gpio_initstruct.Pull = GPIO_PULLUP;
    gpio_initstruct.Speed = GPIO_SPEED_FREQ_HIGH;
    
    HAL_GPIO_Init(GPIOB,&gpio_initstruct);
    //关闭继电器
    plugin_OFF();
}
//打开继电器的函数
void plugin_ON(void)
{
    //把GPIO口拉低,给一个低电平,打开继电器
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,GPIO_PIN_RESET);
}
//关闭继电器的函数
void plugin_OFF(void)
{
     //把GPIO口拉高,给一个高电平,关闭继电器
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,GPIO_PIN_SET);
}
uint8_t plugin_status_get(void)
{
    return (uint8_t)HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_7);//返回这个引脚的状态//为什么使用强转
    //因为:HAL_GPIO_ReadPin();函数使用的是GPIO_PinState;结构体类型,而这个函数使用的是uint8_t类型
}

plugin.h

cpp 复制代码
#ifndef __PLUGIN_H__
#define __PLUGIN_H__

#include "stdint.h"

#define PLUGIN_STATUS_ON 0  //继电器低电平触发
#define PLUGIN_STATUS_OFF 1

void plugin_init(void);
void plugin_ON(void);
void plugin_OFF(void);
uint8_t plugin_status_get(void);

#endif
相关推荐
果壳science5 小时前
张祥前实验如何获取正电荷
笔记·科技·嵌入式硬件·硬件工程·制造
大叔学Linux6 小时前
FreeRTOS任务切换笔记
arm开发·笔记
职豚求职小程序刷题9 小时前
易方达基金2027秋招笔试|考什么+场次提醒
笔记
无锡银洲自动化9 小时前
煤粉测点频繁堵管?FD 防堵风压取样器现场调试小结
笔记·产品运营
ACP广源盛1392462567310 小时前
Type-C 扩展坞选型笔记:DP1.4a 转 HDMI2.0 桥接方案 GSV2201E @ACP评估
笔记·硬件架构·硬件工程·视频·hdmi·国产芯片
xian_wwq10 小时前
【学习笔记-一文读懂系列】读懂GBZ-195-2026《人工智能 工业智能体参考架构》
笔记·学习
ss27312 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 19 PostgreSQL逻辑备份:pg_dump与pg_dumpall
数据库·笔记·postgresql
flytalei12 小时前
逐浪笔记 GitOps 实战:Jenkins 构建、Argo CD 同步与 Git 回滚
笔记·git·jenkins
叼烟扛炮13 小时前
Linux 学习笔记(八):GCC 编译器的四大阶段与链接原理
linux·笔记·学习