欢迎来到天天文库
浏览记录
ID:37713768
大小:37.00 KB
页数:5页
时间:2019-05-29
《STM32红外解码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、H文件//红外解码就是得注意消除抖动#ifndef_IR_h_#define_IR_h_#include"stm32f10x.h"voidIR_GPIO_Init(void);voidIR_EXTI_Init(void);voidIR_TIM_Init(void);voidIR_Init(void);voidEXTI1_IRQHandler(void);#endifC文件#include"IR.h"#include"LED.h"#include"delay.h"#include"lcd.h"u8Flag_Data=0;//移位变量u8AdressCode1=0;//地址码u8A
2、dressCode2=0;//地址反码u8OrderCode1=0;//指令码u8OrderCode2=0;//指令反码u8RepeatSen=0;//重发码voidIR_GPIO_Init(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启IO时钟/*ConfigurePA.00pinasinputfloating*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//设置IO模式GPIO_InitStr
3、ucture.GPIO_Mode=GPIO_Mode_IN_FLOATING;//必须要上拉GPIO_Init(GPIOA,&GPIO_InitStructure);/*EnableAFIOclock*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//开启AFIO时钟}voidIR_EXTI_Init(void){EXTI_InitTypeDefEXTI_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;/*ConnectEXTI0LinetoPA.00pin*/GPIO_
4、EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource1);//设定外设中断线。/*ConfigureEXTI0line*/EXTI_InitStructure.EXTI_Line=EXTI_Line1;//设置中断类型EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;//下降沿触发EXTI_InitStructure.EXTI_LineCmd=ENABLE;EXTI_Init(&
5、EXTI_InitStructure);/*EnableandsetEXTI0Interrupttothelowestpriority*/NVIC_InitStructure.NVIC_IRQChannel=EXTI1_IRQn;//设置中断优先级NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitStructure.NVIC_IRQChannelSubPriority=10;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_Ini
6、tStructure);}voidIR_TIM_Init(void){TIM_TimeBaseInitTypeDefTIM_TimeBaseInitStruct;delay_init(72);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//开启时钟TIM_TimeBaseInitStruct.TIM_Prescaler=720-1;//X-1,X就是分频。例如X=720.72M/720=100000.TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;//向
7、上计数模式。TIM_TimeBaseInitStruct.TIM_Period=60000;//COUNT的值。如果是乡下模式这是最开始的值。如果是向上模式,这是最大值。不能为零为0定时器不工作TIM_TimeBaseInitStruct.TIM_ClockDivision=TIM_CKD_DIV1;//时钟分频因子,这里是对数字滤波器以及TI的分频选择0。//TIM_TimeBaseInitStruct.TIM_RepetitionCounter这个变量是针对TIM1TIM8的。TIM_T
此文档下载收益归作者所有