基于uC/OSII多任务的STM32报警模块

本文介绍了基于STM32F103的uC/OSII多任务系统应用,实现LED控制、烟雾传感器检测、火焰检测、蜂鸣器报警及三色LED管理。通过邮箱在任务间通信,硬件包括MQ2传感器、NRF24L01无线模块、火焰传感器、蜂鸣器、直流电机等。详细阐述了任务创建、邮箱使用及硬件连接方法。
摘要由CSDN通过智能技术生成

小作品简介

  这个小作品是uCOSII多任务系统的简单应用,使MCU(STM32F103)可以“同时”执行多个任务。并使用邮箱在多任务系统中通信。如果需要可以在文字末尾下载到完整的工程,其中System文件夹中3个文件由原子提供,提供了一些函数,便于编程和debug,具体可参看原子官方的教程。
  报警模块实物图
(本作品由于没有电机驱动,所以用三个三极管将就,这是不规范操作,效果也一般)
本工程中创建了5个任务,并设置最多为12个任务。分别是:
1. led0_task:控制LED灯的亮灭
2. MQ2_task : 检测烟雾传感器的值
3. FC_task : 检测是否有火焰
4. Alter_task : 接受邮箱信息,决定是否分通过蜂鸣器报警,启动电风扇。
5. LIGHT_task : 控制一个三色LED
由于是该模块与其他模块有通讯,工程中添加了无线模块驱动和初始化程序。假设不需要无线模块,注释初始化代码即可。硬件模块是一些常用模块,可以在网络上查看其简介

  • 元件清单
    • MQ2烟雾传感器
    • NRF24L01无线模块
    • 火焰传感器(2个)
    • 蜂鸣器
    • 直流电机
    • 三色LED灯
    • L298N电机驱动模块
    • STM32F103c8t6最小系统
  • 硬件连线
    • 电机信号线 -> PB0
    • MQ2数字接口 -> GPIOA.1 (模数转化)
    • 火焰传感器
      • A:DO -> GPIOB.5
      • B : DO -> GPIOB.6
    • 无线模块:
      • 1号引脚 -> GND
      • 2号引脚 -> VCC
      • 3号引脚 -> PA4
      • 4号引脚 -> PB9
      • 5号引脚 -> PA5
      • 6号引脚 -> PA7
      • 7号引脚 -> PA6
      • 8号引脚 -> PA10

主要程序

#define START_TASK_PRIO     10
#define START_STK_SIZE      64
OS_STK START_TASK_STK[START_STK_SIZE];
void start_
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值