#include "remote.h"
#include "delay.h"
#include "usart.h"
//
//红外遥控解码驱动代码
//
//红外遥控初始化
//设置IO以及定时器4的输入捕获
void Remote_Init(void)
{
RCC->APB1ENR|=1<<2; //TIM4 时钟使能
RCC->APB2ENR|=1<<3; //使能PORTB时钟
GPIOB->CRH&=0XFFFFFF0F; //PB9 输入
GPIOB->CRH|=0X00000080; //上拉输入
GPIOB->ODR|=1<<9; //PB9 上拉
TIM4->ARR=10000; //设定计数器自动重装值 最大10ms溢出
TIM4->PSC=71; //预分频器,1M的计数频率,1us加1.
TIM4->CCMR2|=1<<8; //CC4S=01 选择输入端 IC4映射到TI4上
TIM4->CCMR2|=3<<12; //IC4F=0011 配置输入滤波器 8个定时器时钟周期滤波
TIM4->CCMR2|=0<<10; //IC4PS=00 配置输入分频,不分频
TIM4->CCER|=0<<13; //CC4P=0 上升沿捕获
TIM4->CCER|=1<<12; //CC4E=1 允许捕获计数器的值到捕获寄存器中