feat:修改设备类型

feat:修改为红外转发设备,将中弘网关协议转换为主机红外协议
This commit is contained in:
yeyangwen
2026-02-09 17:32:59 +08:00
parent 2285326a47
commit 5a726f7378
1421 changed files with 47158 additions and 21011 deletions

View File

@@ -0,0 +1,254 @@
/*
******************************************************************************
* @file apt32f102_interrupt.c
* @author APT AE Team
* @version V1.10
* @date 2021/08/25
******************************************************************************
*THIS SOFTWARE WHICH IS FOR ILLUSTRATIVE PURPOSES ONLY WHICH PROVIDES
*CUSTOMER WITH CODING INFORMATION REGARDING THEIR PRODUCTS.
*APT CHIP SHALL NOT BE HELD RESPONSIBILITY ADN LIABILITY FOR ANY DIRECT,
*INDIRECT DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF
*SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
*CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.AND APT CHIP RESERVES
*THE RIGHT TO MAKE CHANGES IN THE SOFTWARE WITHOUT NOTIFICATION
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef _apt32f102_rtc_H
#define _apt32f102_rtc_H
/* Includes ------------------------------------------------------------------*/
#include "apt32f102.h"
/******************************************************************************
************************* rtc Registers Definition *************************
******************************************************************************/
/** @addtogroup RTC Registers Reset Value
* @{
*/
#define RTC_TIMR_RST ((CSP_REGISTER_T)0x00000000)
#define RTC_DATR_RST ((CSP_REGISTER_T)0x00000000)
#define RTC_CR_RST ((CSP_REGISTER_T)0x00000001)
#define RTC_CCR_RST ((CSP_REGISTER_T)0x00800000)
#define RTC_ALRAR_RST ((CSP_REGISTER_T)0x00000000)
#define RTC_ALRBR_RST ((CSP_REGISTER_T)0x00000000)
#define RTC_SSR_RST ((CSP_REGISTER_T)0x00000000)
#define RTC_CAL_RST ((CSP_REGISTER_T)0x00000000)
#define RTC_IMCR_RST ((CSP_REGISTER_T)0x00000000)
#define RTC_EVTRG_RST ((CSP_REGISTER_T)0x00000000)
#define RTC_EVPS_RST ((CSP_REGISTER_T)0x00000000)
//RTC KEY
#define RTC_KEY (0XCA53ul)
/**
* @brief RTC DIVS Control
*/
typedef enum
{
CLKSRC_ISOSC = (CSP_REGISTER_T)(0x00ul<<24),
CLKSRC_IMOSC_4div = (CSP_REGISTER_T)(0x01ul<<24),
CLKSRC_EMOSC = (CSP_REGISTER_T)(0x02ul<<24),
CLKSRC_EMOSC_4div = (CSP_REGISTER_T)(0x03ul<<24)
}RTC_CLKSRC_TypeDef;
/**
* @brief RTC INT register
*/
typedef enum
{
//RISR IMCR MISR ICR
ALRA_INT = ((CSP_REGISTER_T)(0x01ul << 0)),
ALRB_INT = ((CSP_REGISTER_T)(0x01ul << 1)),
CPRD_INT = ((CSP_REGISTER_T)(0x01ul << 2)),
RTC_TRGEV0_INT = ((CSP_REGISTER_T)(0x01ul << 3)),
RTC_TRGEV1_INT = ((CSP_REGISTER_T)(0x01ul << 4))
}RTC_INT_TypeDef;
/**
* @brief RTC Alarm SEC MIN DAY mask
*/
typedef enum
{
Alarm_Second_Compare_EN = ((CSP_REGISTER_T)(0x00ul << 7)),
Alarm_Second_Compare_DIS = ((CSP_REGISTER_T)(0x01ul << 7)),
} RTC_Alarm_Second_mask_TypeDef;
typedef enum
{
Alarm_Minute_Compare_EN = ((CSP_REGISTER_T)(0x00ul << 15)),
Alarm_Minute_Compare_DIS = ((CSP_REGISTER_T)(0x01ul << 15)),
} RTC_Alarm_Minute_mask_TypeDef;
typedef enum
{
Alarm_Hour_Compare_EN = ((CSP_REGISTER_T)(0x00ul << 23)),
Alarm_Hour_Compare_DIS = ((CSP_REGISTER_T)(0x01ul << 23)),
} RTC_Alarm_Hour_mask_TypeDef;
typedef enum
{
Alarm_DataOrWeek_Compare_EN = ((CSP_REGISTER_T)(0x00ul << 31)),
Alarm_DataOrWeek_Compare_DIS = ((CSP_REGISTER_T)(0x01ul << 31))
} RTC_Alarm_DataOrWeek_mask_TypeDef; ;
/**
* @brief RTC Alarm week data select
*/
typedef enum
{
Alarm_data_selecte = ((CSP_REGISTER_T)(0x00ul << 30)),
Alarm_week_selecte = ((CSP_REGISTER_T)(0x01ul << 30))
} RTC_Alarm_WeekData_select_TypeDef;
/**
* @brief RTC Alarm Register select
*/
typedef enum
{
Alarm_A = 0,
Alarm_B = 1
}RTC_Alarm_Register_select_TypeDef;
/**
* @brief RTC Alarm io output mode
*/
typedef enum
{
Alarm_A_pulse_output = ((CSP_REGISTER_T)(0x00ul << 10)),
Alarm_A_High = ((CSP_REGISTER_T)(0x01ul << 10)),
Alarm_A_Low = ((CSP_REGISTER_T)(0x02ul << 10)),
Alarm_B_pulse_output = ((CSP_REGISTER_T)(0x04ul << 10)),
Alarm_B_High = ((CSP_REGISTER_T)(0x05ul << 10)),
Alarm_B_Low = ((CSP_REGISTER_T)(0x06ul << 10)),
}Rtc_Output_Mode_TypeDef;
/**
* @brief RTC Alarm IO clock outpu
*/
typedef enum
{
COSEL_Cali_512hz = ((CSP_REGISTER_T)(0x00ul << 8)),
COSEL_Cali_1hz = ((CSP_REGISTER_T)(0x01ul << 8)),
COSEL_NoCali_512hz = ((CSP_REGISTER_T)(0x02ul << 8)),
COSEL_NoCali_1hz = ((CSP_REGISTER_T)(0x03ul << 8)),
}
Rtc_ClockOutput_Mode_TypeDef;
/**
* @brief RTC AlarmA cmd select
*/
typedef enum
{
Alarm_A_EN = ((CSP_REGISTER_T)(0x01ul << 3)),
Alarm_A_DIS = ((CSP_REGISTER_T)(0x00ul << 3)),
}RTC_AlarmA_CMD_TypeDef;
/**
* @brief RTC AlarmB cmd select
*/
typedef enum
{
Alarm_B_EN = ((CSP_REGISTER_T)(0x01ul << 4)),
Alarm_B_DIS = ((CSP_REGISTER_T)(0x00ul << 4)),
}RTC_AlarmB_CMD_TypeDef;
/**
* @brief RTC FMT mode select
*/
typedef enum
{
RTC_24H = ((CSP_REGISTER_T)(0x00ul << 5)),
RTC_12H = ((CSP_REGISTER_T)(0x01ul << 5)),
}RTC_FMT_MODE_TypeDef;
/**
* @brief RTC CPRD select
*/
typedef enum
{
CPRD_NONE = ((CSP_REGISTER_T)(0x00ul << 13)),
CPRD_05S = ((CSP_REGISTER_T)(0x01ul << 13)),
CPRD_1S = ((CSP_REGISTER_T)(0x02ul << 13)),
CPRD_1MIN = ((CSP_REGISTER_T)(0x03ul << 13)),
CPRD_1HOUR = ((CSP_REGISTER_T)(0x04ul << 13)),
CPRD_1DAY = ((CSP_REGISTER_T)(0x05ul << 13)),
CPRD_1MONTH = ((CSP_REGISTER_T)(0x06ul << 13)),
}RTC_CPRD_TypeDef;
/**
* @brief RTC EVTRG TRGSRC0 SET
*/
typedef enum
{
RTC_EVTRG_TRGSRC0_DIS = ((CSP_REGISTER_T)(0x00ul )),
RTC_EVTRG_TRGSRC0_AlarmA = ((CSP_REGISTER_T)(0x01ul )),
RTC_EVTRG_TRGSRC0_AlarmB = ((CSP_REGISTER_T)(0x02ul )),
RTC_EVTRG_TRGSRC0_AlarmAB = ((CSP_REGISTER_T)(0x03ul )),
RTC_EVTRG_TRGSRC0_CPRD = ((CSP_REGISTER_T)(0x04ul )),
}RTC_EVTRG_TRGSRC0_TypeDef;
/**
* @brief RTC EVTRG TRGSRC1 SET
*/
typedef enum
{
RTC_EVTRG_TRGSRC1_DIS = ((CSP_REGISTER_T)(0x00ul<<4 )),
RTC_EVTRG_TRGSRC1_AlarmA = ((CSP_REGISTER_T)(0x01ul<<4 )),
RTC_EVTRG_TRGSRC1_AlarmB = ((CSP_REGISTER_T)(0x02ul<<4 )),
RTC_EVTRG_TRGSRC1_AlarmAB = ((CSP_REGISTER_T)(0x03ul<<4 )),
RTC_EVTRG_TRGSRC1_CPRD = ((CSP_REGISTER_T)(0x04ul<<4 )),
}RTC_EVTRG_TRGSRC1_TypeDef;
typedef enum
{
RTC_TRGSRC0_EN = ((CSP_REGISTER_T)(0x00ul<<20 )),
RTC_TRGSRC0_DIS = ((CSP_REGISTER_T)(0x01ul<<20 )),
RTC_TRGSRC1_EN = ((CSP_REGISTER_T)(0x00ul<<21 )),
RTC_TRGSRC1_DIS = ((CSP_REGISTER_T)(0x01ul<<21 )),
}RTC_TRGSRCX_CMD_TypeDef;
typedef struct
{
volatile uint8_t u8Second; ///<闹钟分钟
volatile uint8_t u8Minute; ///<闹钟分钟
volatile uint8_t u8Hour; ///<闹钟小时
volatile uint8_t u8WeekOrData; ///<闹钟周
}RTC_Alarmset_T;
typedef struct
{
volatile uint8_t u8Second; ///<秒
volatile uint8_t u8Minute; ///<分
volatile uint8_t u8Hour; ///<时
volatile uint8_t u8DayOfWeek; ///<周
volatile uint8_t u8Day; ///<日
volatile uint8_t u8Month; ///<月
volatile uint8_t u8Year; ///<年
} RTC_time_t;
/** @addtogroup RTC_Exported_functions
* @{
*/
extern void RTC_RST_VALUE(void);
extern void RTCCLK_CONFIG(U16_T DIVS , U16_T DIVA , RTC_CLKSRC_TypeDef CLKSRC_X);
extern void RTC_ALM_IO_SET(Rtc_Output_Mode_TypeDef Rtc_Output_Mode_x );
extern void RTC_TIMR_DATR_SET(RTC_time_t *RTC_TimeDate);
extern void RTC_TIMR_DATR_Read(RTC_time_t *RTC_TimeDate);
extern void RTC_Alarm_TIMR_DATR_SET(RTC_Alarm_Register_select_TypeDef Alarm_x , RTC_Alarmset_T *RTC_AlarmA , RTC_Alarm_Second_mask_TypeDef RTC_Alarm_Second_x ,
RTC_Alarm_Minute_mask_TypeDef RTC_Alarm_Minute_x , RTC_Alarm_Hour_mask_TypeDef RTC_Alarm_Hour_x,
RTC_Alarm_DataOrWeek_mask_TypeDef RTC_Alarm_DataOrWeek_x,
RTC_Alarm_WeekData_select_TypeDef Alarm_x_selecte);
extern void RTC_Function_Config(RTC_FMT_MODE_TypeDef RTC_FMT_MODE , RTC_CPRD_TypeDef RTC_CPRD_x , Rtc_ClockOutput_Mode_TypeDef Rtc_ClockOutput_x);
extern void RTC_TRGSRC0_Config(RTC_EVTRG_TRGSRC0_TypeDef RTC_EVTRG_TRGSRC0_x , RTC_TRGSRCX_CMD_TypeDef RTC_TRGSRCX_CMD , U8_T Trgev0Prd);
extern void RTC_TRGSRC1_Config(RTC_EVTRG_TRGSRC1_TypeDef RTC_EVTRG_TRGSRC1_x , RTC_TRGSRCX_CMD_TypeDef RTC_TRGSRCX_CMD , U8_T Trgev1Prd);
extern void RTC_TRGSRC0_SWFTRG(void);
extern void RTC_TRGSRC1_SWFTRG(void);
extern void RTC_Start(void);
extern void RTC_Stop(void);
extern void RTC_AlarmA_TIMR_DATR_Read(RTC_Alarmset_T *RTC_AlarmA);
extern void RTC_AlarmB_TIMR_DATR_Read(RTC_Alarmset_T *RTC_AlarmB);
extern void RTC_Int_Enable(RTC_INT_TypeDef RTC_X_INT);
extern void RTC_Int_Disable(RTC_INT_TypeDef RTC_X_INT);
extern void RTC_Vector_Int_Enable(void);
extern void RTC_Vector_Int_Disable(void);
extern void RTC_WakeUp_Enable(void);
extern void RTC_WakeUp_Disable(void);
extern RTC_time_t RTC_TimeDate_buf;
extern RTC_Alarmset_T RTC_AlarmA_buf;
extern RTC_Alarmset_T RTC_AlarmB_buf;
#endif /**< apt32f102_rtc_H */
/******************* (C) COPYRIGHT 2020 APT Chip *****END OF FILE****/