野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11080|回复: 9

【红外遥控实验】MINI+ISO 配套例程

[复制链接]
发表于 2016-4-7 18:49:39 | 显示全部楼层 |阅读模式
百度云链接:http://pan.baidu.com/s/1pKOCbhT
配套程序: 红外遥控实验-程序.zip (331.27 KB, 下载次数: 351) ,默认开的是ISO-V3的宏开关
当使用其他IO驱动时,只需要修改这部分代码即可
换其他IO时只需修改这部分程序即可.jpg
1838B红外接收头和遥控器
1.jpg

MINI-V3 连接 1838B 接收头
2.jpg
ISO-V3 连接 1838B 接收头
3.jpg

回复

使用道具 举报

发表于 2016-4-7 18:59:06 | 显示全部楼层
用宏来写代码就是好,代码都不用怎么改
回复 支持 反对

使用道具 举报

发表于 2016-4-7 22:24:11 | 显示全部楼层
flyleaf 发表于 2016-4-7 18:59
用宏来写代码就是好,代码都不用怎么改

可是我下载你的文件下来,打开后里面并没有你所说的bsp_irda.h的头文件啊
回复 支持 反对

使用道具 举报

发表于 2016-4-7 22:29:46 | 显示全部楼层
zyx 发表于 2016-4-7 22:24
可是我下载你的文件下来,打开后里面并没有你所说的bsp_irda.h的头文件啊

还有就是,用串口调试助手显示时有时候会显示正确的码,有时候是显示0(错误的),大部分是错误的多,为什么会经常出现错误的情况?
还有一点,如果我换其他遥控器也会显示出码吗?实验了一下貌似不可以,请问怎么也可以用其他遥控器也能显示出它的码?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-8 10:29:57 | 显示全部楼层
zyx 发表于 2016-4-7 22:24
可是我下载你的文件下来,打开后里面并没有你所说的bsp_irda.h的头文件啊

先编译                  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-8 10:30:38 | 显示全部楼层
zyx 发表于 2016-4-7 22:29
还有就是,用串口调试助手显示时有时候会显示正确的码,有时候是显示0(错误的),大部分是错误的多,为 ...

那你这个属于硬件的问题。

其他遥控器要通过测试才知道
回复 支持 反对

使用道具 举报

发表于 2016-4-8 20:55:14 | 显示全部楼层
fire 发表于 2016-4-8 10:30
那你这个属于硬件的问题。

其他遥控器要通过测试才知道

那如何测试其他遥控器的码,就比如电视机的遥控器,他们码的结构相同吗?程序需要怎么改?
回复 支持 反对

使用道具 举报

发表于 2016-4-9 11:47:30 | 显示全部楼层
fire 发表于 2016-4-8 10:30
那你这个属于硬件的问题。

其他遥控器要通过测试才知道

void EXTI_GPIO_Config(void)               这里初始化红外用的IO的程序,这里的IO口需要改吗?毕竟ISO板                                                    和MINI板用到的IO口不一样,不过好像你这我没看出来你指定的是用                                                   的哪个IO,求指教,
{
        GPIO_InitTypeDef GPIO_InitStructure;
        EXTI_InitTypeDef EXTI_InitStructure;

        RCC_APB2PeriphClockCmd(IRDA_GPIO_CLK ,ENABLE);
                                                                                               
  // ÉèÖÃEXTI_GPIOµÄÖжÏÓÅÏȼ¶
        NVIC_Configuration();

  // ³õʼ»¯GPIO
  GPIO_InitStructure.GPIO_Pin = IRDA_GPIO_PIN;      
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;         
  GPIO_Init(GPIOD, &GPIO_InitStructure);
  
        // ³õʼ»¯EXTI
  GPIO_EXTILineConfig(IRDA_SOURCE_PORT, IRDA_SOURCE_PIN);
  EXTI_InitStructure.EXTI_Line = IRDA_LINE;
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //ϽµÑØÖжÏ
  EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  EXTI_Init(&EXTI_InitStructure);
}

/* ³õʼ»¯ºìÍâ½ÓÊÕÍ·1838Óõ½µÄIO */          初始化红外接收头用到的IO,
void IrDa_Init(void)
{
  EXTI_GPIO_Config();
}
回复 支持 反对

使用道具 举报

发表于 2017-5-20 15:00:27 | 显示全部楼层
百度盘挂了,可以补一个链接吗?
回复 支持 反对

使用道具 举报

发表于 2017-7-9 19:32:41 | 显示全部楼层
想请教一下,我用其他红外遥控器连中断都进入不了是为什么。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 13:13 , Processed in 0.044099 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表