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

news/2025/2/21 2:29:06

文章目录

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

测试代码

#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;
}


按下遥控器,终端会有显示
在这里插入图片描述



http://www.niftyadmin.cn/n/5860125.html

相关文章

【数据分析】2.数据分析业务全流程

业务流程方法论&#xff1a;3阶段6步骤 一、课程核心内容结构 1. 方法论概述 目标&#xff1a;系统性地解决商业中的关键问题框架&#xff1a;分为三个阶段&#xff0c;每个阶段包含两个步骤适用场景&#xff1a;适用于数据分析师、业务经理等需要通过数据分析支持决策的从业…

Excel核心函数VLOOKUP全解析:从入门到精通

一、函数概述 VLOOKUP是Excel中最重要且使用频率最高的查找函数之一&#xff0c;全称为Vertical Lookup&#xff08;垂直查找&#xff09;。该函数主要用于在数据表的首列查找特定值&#xff0c;并返回该行中指定列的对应值。根据微软官方统计&#xff0c;超过80%的Excel用户在…

「正版软件」PDF Reader - 专业 PDF 编辑阅读工具软件

PDF Reader 轻松查看、编辑、批注、转换、数字签名和管理 PDF 文件&#xff0c;以提高工作效率并充分利用 PDF 文档。 像专业人士一样编辑 PDF 编辑 PDF 文本 轻松添加、删除或修改 PDF 文档中的原始文本以更正错误。自定义文本属性&#xff0c;如颜色、字体大小、样式和粗细。…

GPT-SoVITS更新V3 win整合包

GPT-SoVITS 是由社区开发者联合打造的开源语音生成框架&#xff0c;其创新性地融合了GPT语言模型与SoVITS&#xff08;Singing Voice Inference and Timbre Synthesis&#xff09;语音合成技术&#xff0c;实现了仅需5秒语音样本即可生成高保真目标音色的突破。该项目凭借其开箱…

昇腾DeepSeek模型部署优秀实践及FAQ

2024年12月26日&#xff0c;DeepSeek-V3横空出世&#xff0c;以其卓越性能备受瞩目。该模型发布即支持昇腾&#xff0c;用户可在昇腾硬件和MindIE推理引擎上实现高效推理&#xff0c;但在实际操作中&#xff0c;部署流程与常见问题困扰着不少开发者。本文将为你详细阐述昇腾 De…

ZLMediaKit Windows 编译指南

1 ZLMediaKit Windows 一般编译指南 ## 1. 环境准备 ### 1.1 必需工具 plaintext 1. Visual Studio 2019 或更高版本 2. CMake (3.15) 3. git 4. vcpkg (包管理器) ### 1.2 安装步骤 mermaid flowchart TB A[安装 Visual Studio] --> B[安装 CMake] B --> C…

“深入浅出”系列之QT:(10)Qt接入Deepseek

项目配置&#xff1a; 在.pro文件中添加网络模块&#xff1a; QT core network API配置&#xff1a; 将apiUrl替换为实际的DeepSeek API端点 将apiKey替换为你的有效API密钥 根据API文档调整请求参数&#xff08;模型名称、温度值等&#xff09; 功能说明&#xff1a; 使…

Leetcode - 周赛436

目录 一、3446. 按对角线进行矩阵排序二、3447. 将元素分配给有约束条件的组三、3448. 统计可以被最后一个数位整除的子字符串数目四、3449. 最大化游戏分数的最小值 一、3446. 按对角线进行矩阵排序 题目链接 本题可以暴力枚举&#xff0c;在确定了每一个对角线的第一个元素…