RT-Thread+STM32L475VET6实现红外遥控实验


文章目录

  • 前言
  • 一、板载资源介绍
  • 二、具体步骤
    • [1. 确定红外接收头引脚编号](#1. 确定红外接收头引脚编号)
    • [2. 下载infrared软件包](#2. 下载infrared软件包)
    • [3. 配置infrared软件包](#3. 配置infrared软件包)
    • [4. 打开STM32CubeMX进行相关配置](#4. 打开STM32CubeMX进行相关配置)
      • [4.1 使用外部高速时钟,并修改时钟树](#4.1 使用外部高速时钟,并修改时钟树)
      • [4.2 打开定时器16(定时器根据自己需求调整)](#4.2 打开定时器16(定时器根据自己需求调整))
      • [4.3 打开串口](#4.3 打开串口)
      • [4.4 生成工程](#4.4 生成工程)
    • [5. 打开HWTIMER设备驱动](#5. 打开HWTIMER设备驱动)
    • [6. 配置定时器](#6. 配置定时器)
    • [7. 编译,烧录](#7. 编译,烧录)

前言

本文采用开发板为STM32L475VET6(潘多拉开发板),使用RT_Thread Studio基于芯片开发模式,完成红外遥控接收实验


一、板载资源介绍


二、具体步骤

1. 确定红外接收头引脚编号

STM32L475VET6(潘多拉开发板)红外接收头对应的引脚为PB1,17号,可参考工程项目中的drv.gpio.c确定

2. 下载infrared软件包

使用NEC协议

3. 配置infrared软件包

这里的定时器作者试过timer16可以,timer3不可以

4. 打开STM32CubeMX进行相关配置

4.1 使用外部高速时钟,并修改时钟树


4.2 打开定时器16(定时器根据自己需求调整)

4.3 打开串口

4.4 生成工程

5. 打开HWTIMER设备驱动

在RT-Thread Setting的组件栏中

6. 配置定时器

RT-Thread+STM32L475VET6定时器配置

7. 编译,烧录

测试代码

cpp 复制代码
#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>
#include "decoder.h"

/* defined the LED0 pin: PE7 */
#define LEDG    GET_PIN(E, 8)

int main(void)
{
    int count = 1;
    /* set LED0 pin mode to output */
    rt_pin_mode(LEDG, PIN_MODE_OUTPUT);

    rt_pin_write(LEDG, PIN_HIGH);
    struct infrared_decoder_data Tdata;
    ir_select_decoder("nec");
    while (count++)
    {
        if(infrared_read("nec", &Tdata)==RT_EOK){
            rt_pin_write(LEDG, PIN_LOW);
            HAL_Delay(200);
            printf("recive:  addr:0x%02X key:0x%02X repeat:%d \n",
                    Tdata.data.nec.addr,Tdata.data.nec.key,Tdata.data.nec.repeat);
        }
        rt_pin_write(LEDG, PIN_HIGH);
    }

    return RT_EOK;
}

按下遥控器,终端会有显示


相关推荐
逐步前行19 小时前
STM32_TIM_寄存器操作
stm32·单片机·嵌入式硬件
0南城逆流020 小时前
【STM32】知识点介绍七:PWM功能
stm32·单片机·嵌入式硬件
智者知已应修善业20 小时前
【51单片机独立按键控制数码管移动反向,2片74CH573/74CH273段和位,按键按下保持原状态】2023-3-25
经验分享·笔记·单片机·嵌入式硬件·算法·51单片机
dashizhi201520 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑
我是一棵无人问荆的小草20 小时前
单片机通电后延迟启动策略
单片机·嵌入式硬件
坏柠21 小时前
ESP32-S3 蓝牙 BLE 从零到一:广播、服务、特征,用一个智能灯的例子全讲透
嵌入式硬件
日更嵌入式的打工仔21 小时前
UART RX为什么要上拉
单片机
三佛科技-187366133971 天前
FT32F030F6AP7高性能32位RISC内核MCU解析(兼容STM32F030K6TP7)
stm32·单片机·嵌入式硬件
LCMICRO-133108477461 天前
长芯微LDC90810完全P2P替代ADC128D818,是一款八通道系统监控器,专为监控复杂系统状态而设计。
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·模数转换芯片adc
嵌入式老菜鸟qq1252427731 天前
关于S2-LP休眠
单片机·嵌入式硬件·mcu·射频工程