浅谈基于stm32实现的红外遥控控制USB鼠标_第1页
浅谈基于stm32实现的红外遥控控制USB鼠标_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浅谈基于stm32实现的红外遥控控制USB鼠标加快嵌入式技术的开发应用, 掌握嵌入式开发核心技术, 对于未能 赶上前几次世界范围计算机技术发展机遇的中国来说非常重要。 基于 STM32实现的红外遥控控制 USB 鼠标就是利用 STM32 的中断系统将 各模块相互连接。当 STM32 捕获到信号时,向 CUP 发送中断请求,然后响应该中断,对中断进行处理。STM32 通过识别捕获到的红外信 号向 PC 端通过 USB协议发送鼠标控制信号。1STM32 中断系统在 STM32 中,外部中断可由每一个 I/O 口进行外部事件的中断触发。 在中断控制器支持的 19 个外部中断事件中,只有线 0 至 1

2、5 对应外 部 I/O的输入中断,线 16 则连接到 PVD 的输出,线 17 连接到 RTC 的闹事件,线 18 连接到 USB 的唤醒时事件。在主程序运行之前,需 要先进行中断初始化,包括使能中断通道、中断优先级分组初始化、 配置中断线。当有多个中断时, CUP 处理中断时严格按照中断优先级 分组来决定处理哪个中断。中断优先级分为抢占优先级和子优先级, 中断处理的顺序先有抢占优先级决定, 当抢占优先级相同时, 则由子 优先级决定。2STM32 通用定时器STM32 的通用定时器是一个通过可编程预分频器(PSC)驱动的 16 位自动装载计数器(CNT)构成。在这次开发中,STM32 的通用定

3、时器主 要用于测量输入信号的脉冲长度即输入捕获。 当输入捕获发生时将产 生中断/DMA 当从独立通道中捕获到外界信号时, 定时器将测量外界 信号的周期、占空比来实现信号的识别。例如,在测量时,定时器设 置为边沿触发,即定时器会计算信号上升沿和下降沿之间的时间差, 其计算精度取决于定时器本身频率的精度。 在测量方法中分为测频法 和测周法,当被测信号频率大于中介频率时采用测频法,即在 STM32 中采用测频法。3STM32 红外遥控 红外遥控是通过红外发射信号的过程,在遥控器上不同的按键所发 射的信号是不同的, 这样在接受端才能区别按键。 红外是不能穿墙的, 但红外遥控器也有无线电遥控器无法比拟的

4、优点在多个红外遥控器 同时使用时, 尽管采用相同的遥控频率或编码, 但不会出现遥控信号 串门的情况。在一点在家电中运用非常广泛。在 STM32 中,我们使用的红外遥控器编码方式为 PWM 脉冲宽度调制)的 NEC 协议。 其特征 为:8 位地址和 8 位指令长度 ; 地址和命令 2 次传输 ( 确保可靠 性);PWM脉冲位置调制,以发射红外载波的占空比代表 0 和 1 载波频 率为 38Khz;位时间为 1.125ms 或 2.25ms。不同的逻辑和位码采用了 不同时间间隔的红外高低脉冲。地址码和控制码等都采用 8 位的数 据格式,且用反码表示以增加传输的可靠性。4STM32 的主程序在主程序

5、中,首先要完成 STM32 的延时函数、中断分组设置、串口 初始化、红外接受初始化、 USB 配置及初始化,其次就是 while 循环 部分,这部分是最核心、 最主要的一部分。 在 while(1) 的死循环中, 首先对遥控器的按键进行监控扫描。 遥控器上的每一个按键都对应一 个独一无二的键值 key。通过函数 Remote_Scan()进行按键监控扫描, 若没有检测到按键,则键值 key 为假,若检测到遥控器有按键,则 获取相应的键值并保存到 key 中,并通过 switch(key) 对不同的 key 进行不同的处理。对相应 key值的处理实际上就是准备要发送的控 制鼠标的数据。如何对相应

6、的 key 值经行数据处理呢,在这里,就 要先了解它的发送数据的函数Joystick_Send(a , b, c, d)。参数 a 是 一个八位的数据, a 的不同位置 1 分别代表鼠标中键按下、右键按 下、左键按下、 xy 坐标的变化量和变化符号 (光标移动方向 )等。参 数 b 表示 x 坐标的变化量, 这个变化量是相对上一次坐标的变化量。 参数 c 表示 y 坐标的变化量,同理为相对变化量。参数 d 为滚轮的 变化,可以控制滚轮的上下滚动和滚动速率。 这里要介绍一下电脑的 坐标系,电脑的坐标系不同于一般的直角坐标系。 电脑坐标以屏幕左 上角为原点,水平向右为 x 轴正方向,竖直向下为 y 轴正方向。了 解了数据发送函数, 就可以经行数据准备了。 例如接受的键值 key 代 表鼠标左键按下, 则设置参数 a 的相应位;若 key 代表鼠标右移, 则 设置参数 b为相应整数 ; 若 key 代表鼠标滚轮上滚,则设置参数 d。 理论上讲, 这样的数据处理已经比较完美了, 可在实际使用中会发现 另外一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论