193 lines
5.2 KiB
C
193 lines
5.2 KiB
C
|
|
/*
|
||
|
|
******************************************************************************
|
||
|
|
* @file apt32f102_bt.h
|
||
|
|
* @author APT AE Team
|
||
|
|
* @version V1.08
|
||
|
|
* @date 2021/06/21
|
||
|
|
******************************************************************************
|
||
|
|
*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_bt_H
|
||
|
|
#define _apt32f102_bt_H
|
||
|
|
|
||
|
|
/* Includes ------------------------------------------------------------------*/
|
||
|
|
#include "apt32f102.h"
|
||
|
|
|
||
|
|
#define BT_RESET_VALUE (0x00000000)
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief bt pin numbner
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT0_PA00 = 0, /*!< Pin 0 selected */
|
||
|
|
BT0_PA02 = 1, /*!< Pin 1 selected */
|
||
|
|
BT0_PA05 = 2, /*!< Pin 2 selected */
|
||
|
|
BT0_PB02 = 3, /*!< Pin 3 selected */
|
||
|
|
BT0_PB05 = 4, /*!< Pin 4 selected */
|
||
|
|
BT0_PA11 = 5, /*!< Pin 5 selected */
|
||
|
|
BT0_PA13 = 6, /*!< Pin 6 selected */
|
||
|
|
BT0_PA15 = 7, /*!< Pin 7 selected */
|
||
|
|
BT1_PA01 = 8, /*!< Pin 8 selected */
|
||
|
|
BT1_PA06 = 9, /*!< Pin 9 selected */
|
||
|
|
BT1_PA08 = 10, /*!< Pin 10 selected */
|
||
|
|
BT1_PA12 = 11, /*!< Pin 11 selected */
|
||
|
|
BT1_PA14 = 12, /*!< Pin 12 selected */
|
||
|
|
BT1_PB00 = 13, /*!< Pin 13 selected */
|
||
|
|
BT1_PB04 = 14, /*!< Pin 13 selected */
|
||
|
|
}BT_Pin_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT CLK EN register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BTCLK_DIS = 0,
|
||
|
|
BTCLK_EN = 1,
|
||
|
|
}BT_CLK_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT START SHADOW register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_SHADOW = (0<<3),
|
||
|
|
BT_IMMEDIATE= (1<<3),
|
||
|
|
}BT_SHDWSTP_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT OPM register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_CONTINUOUS= (0<<4),
|
||
|
|
BT_ONCE= (1<<4),
|
||
|
|
}BT_OPM_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT EXTCKM register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_PCLKDIV= (0<<5),
|
||
|
|
BT_EXTCKM= (1<<5),
|
||
|
|
}BT_EXTCKM_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT IDLEST register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_IDLE_LOW= (0<<6),
|
||
|
|
BT_IDLE_HIGH= (1<<6),
|
||
|
|
}BT_IDLEST_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT STARTST register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_START_LOW= (0<<7),
|
||
|
|
BT_START_HIGH= (1<<7),
|
||
|
|
}BT_STARTST_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT STARTST register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_SYNC_DIS= (0<<8),
|
||
|
|
BT_SYNC_EN= (1<<8),
|
||
|
|
}BT_SYNCEN_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT OSTMDX register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_OSTMDX_CONTINUOUS= (0<<10),
|
||
|
|
BT_OSTMDX_ONCE= (1<<10),
|
||
|
|
}BT_OSTMDX_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT AREARM register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_AREARM_DIS= (0<<14),
|
||
|
|
BT_AREARM_EN= (1<<14),
|
||
|
|
}BT_AREARM_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT SYNCMD register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_SYNCMD_DIS= (0<<15),
|
||
|
|
BT_SYNCMD_EN= (1<<15),
|
||
|
|
}BT_SYNCMD_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT CNTRLD register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_CNTRLD_EN= (0<<16),
|
||
|
|
BT_CNTRLD_DIS= (1<<16),
|
||
|
|
}BT_CNTRLD_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT CNTRLD register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_TRGSRC_DIS= (0<<0),
|
||
|
|
BT_TRGSRC_PEND= (1<<0),
|
||
|
|
BT_TRGSRC_CMP= (2<<0),
|
||
|
|
BT_TRGSRC_OVF= (3<<0),
|
||
|
|
}BT_TRGSRC_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT CNTRLD register
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_TRGOE_DIS= (0<<20),
|
||
|
|
BT_TRGOE_EN= (1<<20),
|
||
|
|
}BT_TRGOE_TypeDef;
|
||
|
|
/**
|
||
|
|
* @brief BT INT MASK SET/CLR Set
|
||
|
|
*/
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
BT_PEND = (0x01 << 0),
|
||
|
|
BT_CMP = (0x01 << 1),
|
||
|
|
BT_OVF = (0x01 << 2),
|
||
|
|
BT_EVTRG = (0x01 << 3),
|
||
|
|
}BT_IMSCR_TypeDef;
|
||
|
|
|
||
|
|
|
||
|
|
extern void BT_DeInit(CSP_BT_T *BTx);
|
||
|
|
extern void BT_IO_Init(BT_Pin_TypeDef BT_IONAME);
|
||
|
|
extern void BT_Start(CSP_BT_T *BTx);
|
||
|
|
extern void BT_Stop(CSP_BT_T *BTx);
|
||
|
|
extern void BT_Soft_Reset(CSP_BT_T *BTx);
|
||
|
|
extern void BT_Configure(CSP_BT_T *BTx,BT_CLK_TypeDef BTCLK,U16_T PSCR_DATA,BT_SHDWSTP_TypeDef BTSHDWSTP,BT_OPM_TypeDef BTOPM,BT_EXTCKM_TypeDef BTEXTCKM);
|
||
|
|
extern void BT_ControlSet_Configure(CSP_BT_T *BTx,BT_STARTST_TypeDef BTSTART,BT_IDLEST_TypeDef BTIDLE,BT_SYNCEN_TypeDef BTSYNC,BT_SYNCMD_TypeDef BTSYNCMD,
|
||
|
|
BT_OSTMDX_TypeDef BTOSTMD,BT_AREARM_TypeDef BTAREARM,BT_CNTRLD_TypeDef BTCNTRLD);
|
||
|
|
extern void BT_Period_CMP_Write(CSP_BT_T *BTx,U16_T BTPRDR_DATA,U16_T BTCMP_DATA);
|
||
|
|
extern void BT_CNT_Write(CSP_BT_T *BTx,U16_T BTCNT_DATA);
|
||
|
|
extern U16_T BT_PRDR_Read(CSP_BT_T *BTx);
|
||
|
|
extern U16_T BT_CMP_Read(CSP_BT_T *BTx);
|
||
|
|
extern U16_T BT_CNT_Read(CSP_BT_T *BTx);
|
||
|
|
extern void BT_Trigger_Configure(CSP_BT_T *BTx,BT_TRGSRC_TypeDef BTTRG,BT_TRGOE_TypeDef BTTRGOE);
|
||
|
|
extern void BT_Soft_Tigger(CSP_BT_T *BTx);
|
||
|
|
extern void BT_ConfigInterrupt_CMD(CSP_BT_T *BTx,FunctionalStatus NewState,BT_IMSCR_TypeDef BT_IMSCR_X);
|
||
|
|
extern void BT0_INT_ENABLE(void);
|
||
|
|
extern void BT0_INT_DISABLE(void);
|
||
|
|
extern void BT1_INT_ENABLE(void);
|
||
|
|
extern void BT1_INT_DISABLE(void);
|
||
|
|
extern void BT_Stop_High(CSP_BT_T *BTx);
|
||
|
|
extern void BT_Stop_Low(CSP_BT_T *BTx);
|
||
|
|
|
||
|
|
|
||
|
|
#endif /**< apt32f102_bt_H */
|
||
|
|
|
||
|
|
/******************* (C) COPYRIGHT 2020 APT Chip *****END OF FILE****/
|