[应用相关] 手机红外遥控器发送红外信号到STM32【HAL库】

[复制链接]
 楼主| susceptibility 发表于 2020-5-17 10:36 | 显示全部楼层 |阅读模式
现在大部分手机上都有红外遥控功能,而且好像大部分信号STM32都是可以收到的。现在就使用STM32发送红外信号,由STM32上的红外接收器接收后执行不同的操作。以下是注意事项:
在标准库中有   EXTI_ClearITPendingBit(EXTI_Line15);        清除中断位,使用HAL库不用使用清除中断位

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



作者:停下浮躁的心
链接:https://www.jianshu.com/p/ade5982daf9f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 楼主| susceptibility 发表于 2020-5-17 10:37 | 显示全部楼层
HAL_Delay并不能实现us的延时效果,要自己写

  1.             void delay_us(uint32_t i)

  2.             {

  3.                 uint32_t temp;

  4.                 SysTick->LOAD=9*i;

  5.                 SysTick->CTRL=0X01;

  6.                 SysTick->VAL=0;

  7.           do

  8.                 {

  9.                     temp=SysTick->CTRL;

  10.                 }

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

  12.               SysTick->CTRL=0;

  13.               SysTick->VAL=0;

  14.           }
 楼主| susceptibility 发表于 2020-5-17 10:37 | 显示全部楼层
红外接收器的数据引脚为PG15

PG15的设置

  1. /*Configure GPIO pin : PG15 */

  2. GPIO_InitStruct.Pin = GPIO_PIN_15;

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

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

  5. HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
 楼主| susceptibility 发表于 2020-5-17 10:39 | 显示全部楼层
RCC设置72MHz,要注意,时钟频率不同,计算时使用的数值大小不同

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

  1. #ifdef __GNUC__

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

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

  4. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)

  5. #else

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

  7. #endif /* __GNUC__ */

  8. /**

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

  10. * @param  None

  11. * @retval None

  12. */

  13. PUTCHAR_PROTOTYPE

  14. {

  15. /* Place your implementation of fputc here */

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

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

  18. return ch;

  19. }
 楼主| susceptibility 发表于 2020-5-17 10:40 | 显示全部楼层
手机遥控器键位对应编码

1        红外接收码 926D22DD

2        红外接收码 926DA25D

3        红外接收码 926D629D

4        红外接收码 926D609F

5        红外接收码 926DE01F

6        红外接收码 926D827D

7        红外接收码 926D6897

8        红外接收码 926D02FD

9        红外接收码 926DAA55

0        红外接收码 926D12ED
 楼主| susceptibility 发表于 2020-5-17 10:40 | 显示全部楼层
 楼主| susceptibility 发表于 2020-5-17 10:41 | 显示全部楼层

作者:停下浮躁的心
链接:https://www.jianshu.com/p/ade5982daf9f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
木木guainv 发表于 2020-6-4 17:00 | 显示全部楼层
非常感谢楼主分享
磨砂 发表于 2020-6-4 17:00 | 显示全部楼层
传输距离能有多远呢
晓伍 发表于 2020-6-4 17:01 | 显示全部楼层
界面非常漂亮
八层楼 发表于 2020-6-4 17:01 | 显示全部楼层
有工程代码吗
观海 发表于 2020-6-4 17:01 | 显示全部楼层
那个界面是一个小app吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

238

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

19

主题

238

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部