资源简介
全能红外学习模块,兼容99%遥控器,资源包括代码,手册和原理图
代码片段和文件信息
#include
#include
#include
#include “stm32f10x.h“
#include “stm32f10x_usart.h“
void USART_Configuration(void);
uint8_t MODE_Flag=0;
/**********IR01F 底层驱动相关 begin*****************/
typedef unsigned char UINT8;
typedef unsigned char kal_uint8;
extern void IR_Learn_Start(void);
extern kal_uint8 Get_Learn_Data(unsigned char*learn_data_out);
extern void IR01F_Init_Cfg(void);
extern void Send_IR_Data(char* data UINT8 count);
extern UINT8 GetBUSYStatus(void);
/**********IR01F 底层驱动相关 end *****************/
unsigned char data_out[112]; //红外数据缓存
/***********************************************************
* 名 称: void ID_Delay_ms(unsigned long uldata)
* 功 能: 粗略 延时函数
* 入口参数: 无
* 出口参数:无
* 说 明:
**********************************************************/
void ID_Delay_ms(unsigned long uldata)
{
unsigned int i;
uint8_t j;
for (i=uldata*100;i>0;i--);
for (j=110;j>0;j--);
}
/***********************************************************
* 名 称:USART_OUT(USART_TypeDef* USARTx uint8_t *Datauint16_t Len)
* 功 能:串口输出打印
* 入口参数: 无
* 出口参数:无
* 说 明:
**********************************************************/
void USART_OUT(USART_TypeDef* USARTx uint8_t *Datauint16_t Len)
{
uint16_t i;
for(i=0; i {
USART_SendData(USARTx Data[i]); //发送单个数据
while(USART_GetFlagStatus(USARTx USART_FLAG_TC)==RESET);// 检查指定的USART标志位
//检查是否发送完成即RESET=1时发送完成
}
}
/***********************************************************
* 名 称: 程序入口
* 功 能:
* 入口参数: 无
* 出口参数:无
* 说 明:
功能说明:
本程序通过按键PB14按下后开始进入红外学习,学习
成功后通过串口打印出112字节学习到的数据,同时存入
data_out数组中,接着直接调用发送函数进行数据发送,
可以通过摄像头看或者对设备进行控制,进行验证是否
学习成功!
**********************************************************/
int main(void)
{
uint8_t Learn_Flag=0;//学习标志
uint8_t Learn_data_flag=0;//学习完
//定义按键 PB14
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC ENABLE);
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_14;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB &GPIO_InitStructure);
GPIO_SetBits(GPIOB GPIO_Pin_14) ;
USART_Configuration();
IR01F_Init_Cfg(); //IR01F初始化
while(1)
{
if(GPIO_ReadInputDataBit(GPIOBGPIO_Pin_14)==0) //按键触发学习
{
ID_Delay_ms(20);
while(GPIO_ReadInputDataBit(GPIOBGPIO_Pin_14)!=0);
MODE_Flag++;
if(MODE_Flag==2) MODE_Flag=0;
switch(MODE_Flag)
{
case 0:
break;
case 1:IR_Learn_Start(); //调用学习函数进行学习
Learn_Flag=1;
break;
}
}
if(GetBUSYStatus()==1 && Learn_Flag==1) //判断是否学习完,学习完后BUSY为高
{
Learn_Flag=0;
// MODE_Flag=0;
Learn_data_flag=1; //已经学习成功标志
Get_Learn_Data(data_out);
USART_OUT(USART1data_out112);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-04-16 22:05 YS-IR01F红外学习核心模块配套资料\
文件 47172 2012-12-12 17:41 YS-IR01F红外学习核心模块配套资料\IR01F 时序参考图.JPG
目录 0 2013-01-10 20:00 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\
目录 0 2013-01-29 22:07 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\
目录 0 2013-01-10 19:59 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\CM3\
文件 17273 2010-06-07 10:25 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\CM3\core_cm3.c
文件 85714 2011-02-09 14:59 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\CM3\core_cm3.h
文件 634095 2011-07-27 15:12 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\CM3\stm32f10x.h
文件 36557 2011-03-10 10:51 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\CM3\system_stm32f10x.c
文件 2085 2011-03-10 10:51 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\CM3\system_stm32f10x.h
文件 90 2012-05-06 09:21 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\core_cm3.d
文件 10364 2012-05-06 09:21 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\core_cm3.o
目录 0 2013-01-10 19:59 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\
目录 0 2013-01-10 19:59 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\
文件 8982 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\misc.h
文件 21690 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_adc.h
文件 7555 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_bkp.h
文件 27559 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_can.h
文件 6573 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_cec.h
文件 3187 2011-11-19 14:27 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_conf.h
文件 2162 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_crc.h
文件 15233 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_dac.h
文件 3818 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_dbgmcu.h
文件 20754 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_dma.h
文件 6824 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_exti.h
文件 25445 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_flash.h
文件 27016 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_fsmc.h
文件 20175 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_gpio.h
文件 30029 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_i2c.h
文件 3828 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_iwdg.h
文件 4383 2011-03-10 10:47 YS-IR01F红外学习核心模块配套资料\IR01F 红外底层驱动\IR01F+STM32驱动程序 工程\FWlib\inc\stm32f10x_pwr.h
............此处省略124个文件信息
- 上一篇:16位5级流水线CPU设计
- 下一篇:三菱编程软件--fxgp-win-C(中文)
评论
共有 条评论