现在大部分手机上都有红外遥控功能,而且好像大部分信号STM32都是可以收到的。现在就使用STM32发送红外信号,由STM32上的红外接收器接收后执行不同的操作。以下是注意事项:

在标准库中有  EXTI_ClearITPendingBit(EXTI_Line15);清除中断位,使用HAL库不用使用清除中断位

在HAL库中NVIC的设置在文件stm32f1xx_hal_cortex.c中

HAL_Delay并不能实现us的延时效果,要自己写void delay_us(uint32_t i)

{

uint32_t temp;

SysTick->LOAD=9*i;

SysTick->CTRL=0X01;

SysTick->VAL=0;

do

{

temp=SysTick->CTRL;

}

while((temp&0x01)&&(!(temp&(1<<16))));

SysTick->CTRL=0;

SysTick->VAL=0;

}

红外接收器的数据引脚为PG15

PG15的设置/*Configure GPIO pin : PG15 */

GPIO_InitStruct.Pin = GPIO_PIN_15;

GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;  //下降沿触发

GPIO_InitStruct.Pull = GPIO_PULLUP;  //上拉模式

HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);

RCC设置72MHz,要注意,时钟频率不同,计算时使用的数值大小不同

要printf输出到串口还是要重定向printf#ifdef __GNUC__

/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf

set to 'Yes') calls __io_putchar() */

#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)

#else

#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)

#endif /* __GNUC__ */

/**

* @brief  Retargets the C library printf function to the USART.

* @param  None

* @retval None

*/

PUTCHAR_PROTOTYPE

{

/* Place your implementation of fputc here */

/* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */

HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);

return ch;

}

手机遥控器键位对应编码

1红外接收码 926D22DD

2红外接收码 926DA25D

3红外接收码 926D629D

4红外接收码 926D609F

5红外接收码 926DE01F

6红外接收码 926D827D

7红外接收码 926D6897

8红外接收码 926D02FD

9红外接收码 926DAA55

0红外接收码 926D12ED

图片发自简书App

android手机红外代码HAL,手机红外遥控器发送红外信号到STM32【HAL库】相关推荐

  1. 判断android已经root,android 如何用代码判断手机是否被root

    直接上代码: public class RootUtils { public static boolean isDeviceRooted() { return checkRootMethod1() | ...

  2. android 卸载残留代码,安卓手机怎么彻底清除卸载残留文件夹?如何彻底删除安卓手机上的残留软件[多图]...

    小伙伴们在清理手机垃圾的时候会出现卸载的软件还留有没用的文件夹,但也不知道哪个文件是否能删除.是否有用,不知道哪些是没用的垃圾,并且还会占用很多的内存.接下来就由果粉客为大家详细介绍下安卓手机彻底清除 ...

  3. android 代码亮屏功能,Android Studio用代码唤醒手机屏幕并解锁

    试过几个方案,只有这个好用. public static Context context; /** * 唤醒手机屏幕并解锁 */ public static void wakeUpAndUnlock( ...

  4. java手机验证码代码_手机验证码(Java代码)

    首先就是导入相关的jar包,这里用maven依赖: com.alibaba fastjson 1.2.54 创建发送验证码的类: package com.snm.util; import java.i ...

  5. android 绑定手机 代码是什么意思,手机隐藏代码大全,不知道你的手机就是白买了...

    原标题:手机隐藏代码大全,不知道你的手机就是白买了 智能手机已经成为生活必需品的情况下,大家可能多少都会知道一点关于手机代码的事,之前我们也介绍过验证手机质量的代码,很多粉丝玩的不亦乐乎.但是今天要说 ...

  6. ESP8266+红外模块制作万能网路遥控器

    ESP8266+红外模块制作万能网路遥控器 通过红外模块模拟遥控发射指令 接入blinker平台,通过手机可以远程控制. 前提是先读取出你要操控设备遥控的发射码出来.参考<Arduino 红外接 ...

  7. linux 蓝牙 手机遥控器,嵌入式Android小项目之万能手机遥控器详解

    原标题:嵌入式Android小项目之万能手机遥控器详解 在很久很久以前,手机是有红外功能的,后来随着蓝牙技术的成熟,红外逐渐被蓝牙取代,不再是标配了. 红外本身还是有些优点,比如操作简便,成本低.要想 ...

  8. android 4.4 红外,RTK2969平台android4.4添加新红外遥控器(一)

    一直以来都没有一个好的习惯,学过的东西用过之后不久就忘记了,最近决定开始把之前遇到的一些问题写到这里,一方面是自己备忘,另一方面也希望能够帮助到大家,起码给各位有一点参考的价值,吾心足矣,废话少说今天 ...

  9. android确认密码代码,Android手机卫士之确认密码对话框

    本文接着实现"确认密码"功能,也即是用户以前设置过密码,现在只需要输入确认密码 布局文件和<Android 手机卫士--设置密码对话框>中的布局基本类似,所有copy一 ...

最新文章

  1. Ubuntu解决Nvidia驱动缺失导致的HDMI无法输出问题
  2. SQL Server 查询基础
  3. 怎么挖linux内核的漏洞,linux内核漏洞分析实战看看专家是怎么一步步...-卓优商学院问答...
  4. tomcat——轻量级中间件学习
  5. php mysql json 转义字符_PHP转义Json里的特殊字符的函数
  6. win7 优化后的问题
  7. Q103:磨边的物体(Beveled Objects)
  8. 10000元重金奖励:谁能开发这样的编辑软件程序,编辑软件功能说明
  9. 移动端使用的WebKit私有属性(转)
  10. torchtext 中文语料加载
  11. 谷歌浏览器屏蔽广告插件
  12. android 不压缩保存图片格式,Android图片处理——压缩、剪裁、圆角、保存
  13. 云计算技术与应用 - 大数据与云计算
  14. python怎么导出_Python 数据分析(三):数据的导入导出
  15. chrome插件,常用插件,必备插件,黑科技
  16. 想成为优秀的程序员这些码德不能缺
  17. java 数据写入txt乱码_java写入文件是乱码
  18. DS1042C数字示波器的波形截图流程
  19. pep8 python 编码规范下载_PEP8 Python 编码规范整理
  20. Python 提取图片中的GPS信息

热门文章

  1. python 自动运维架构师_运维架构师-Python 自动化运维开发-031
  2. 检测PE文件的有效性
  3. 免费阅读里的“B站”,后浪已乘“疯”
  4. 工业控制系统接口测试平台研究
  5. 由于找不到libmysql.dIl, 无法继续执行代码。重新安装程序可能会解决此问题
  6. ~~~实用工具~~~
  7. 多人协作开发Axure教程(附Axure RP9的密钥)
  8. 520表白——送她一片星空模拟
  9. 微信绑定会员卡服务器出错,会员卡信息更新失败
  10. excal怎么设置模板阈值