当前位置: 首页 > news >正文

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


文章目录

  • 前言
  • 一、板载资源介绍
  • 二、具体步骤
    • 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.lryc.cn/news/540190.html

相关文章:

  • 【机器学习】衡量线性回归算法最好的指标:R Squared
  • 设计模式-Java
  • 代码讲解系列-CV(五)——语义分割基础
  • 在mfc中使用自定义三维向量类和计算多个三维向量的平均值
  • RDMA ibverbs_API功能说明
  • 【C++语言】string 类
  • 快速上手gdb/cgdb
  • 《养生》(二)
  • JAVA:集成 Drools 业务规则引擎的技术指南
  • GeoHD - 一种用于智慧城市热点探测的Python工具箱
  • 记一次Ngnix配置
  • 2024年国赛高教杯数学建模C题农作物的种植策略解题全过程文档及程序
  • java基础语知识(8)
  • 室内定位精度方案对比
  • Pytorch深度学习教程_5_编写第一个神经网络
  • ImportError: cannot import name ‘FixtureDef‘ from ‘pytest‘
  • 改BUG:Mock测试的时候,when失效
  • 【自动化脚本工具】AutoHotkey (Windows)
  • 专题--Linux体系
  • 【DeepSeek】Mac m1电脑部署DeepSeek
  • Spring AI + Ollama 实现调用DeepSeek-R1模型API
  • 如何在本地和服务器新建Redis用户和密码
  • jmeter接口测试(一)
  • Java-11
  • js中常用方法整理
  • umi react+antd 判断渲染消息提示、input搜索、多选按钮组
  • Day15-后端Web实战-登录认证——会话技术JWT令牌过滤器拦截器
  • 【嵌入式常用工具】Srecord使用
  • SwiftUI基础组件之HStack、VStack、ZStack详解
  • 第2章 深入理解Thread构造函数