打印
[应用相关]

手机红外遥控器发送红外信号到STM32【HAL库】

[复制链接]
525|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
现在大部分手机上都有红外遥控功能,而且好像大部分信号STM32都是可以收到的。现在就使用STM32发送红外信号,由STM32上的红外接收器接收后执行不同的操作。

使用特权

评论回复
沙发
operating|  楼主 | 2020-7-23 20:23 | 只看该作者
以下是注意事项:

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

使用特权

评论回复
板凳
operating|  楼主 | 2020-7-23 20:24 | 只看该作者
在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;

          }

使用特权

评论回复
地板
operating|  楼主 | 2020-7-23 20:25 | 只看该作者
红外接收器的数据引脚为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);

使用特权

评论回复
5
operating|  楼主 | 2020-7-23 20:25 | 只看该作者
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;

}

使用特权

评论回复
6
operating|  楼主 | 2020-7-23 20:26 | 只看该作者
手机遥控器键位对应编码

1        红外接收码 926D22DD

2        红外接收码 926DA25D

3        红外接收码 926D629D

4        红外接收码 926D609F

5        红外接收码 926DE01F

6        红外接收码 926D827D

7        红外接收码 926D6897

8        红外接收码 926D02FD

9        红外接收码 926DAA55

0        红外接收码 926D12ED

使用特权

评论回复
7
operating|  楼主 | 2020-7-23 20:26 | 只看该作者


使用特权

评论回复
8
operating|  楼主 | 2020-7-23 20:27 | 只看该作者

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

255

帖子

0

粉丝