📄 jpi.h
字号:
#define E_JPI_AP_REGULATOR_DISABLE FALSE#define E_JPI_AP_SAMPLE_2 0#define E_JPI_AP_SAMPLE_4 1#define E_JPI_AP_SAMPLE_6 2#define E_JPI_AP_SAMPLE_8 3#define E_JPI_AP_CLOCKDIV_2MHZ 0#define E_JPI_AP_CLOCKDIV_1MHZ 1#define E_JPI_AP_CLOCKDIV_500KHZ 2#define E_JPI_AP_CLOCKDIV_250KHZ 3#define E_JPI_AP_INPUT_RANGE_2 TRUE#define E_JPI_AP_INPUT_RANGE_1 FALSE#define E_JPI_AP_GAIN_2 TRUE#define E_JPI_AP_GAIN_1 FALSE#define E_JPI_AP_EXTREF TRUE#define E_JPI_AP_INTREF FALSE#define E_JPI_ADC_CONVERT_ENABLE TRUE#define E_JPI_ADC_CONVERT_DISABLE FALSE#define E_JPI_ADC_CONTINUOUS TRUE#define E_JPI_ADC_SINGLE_SHOT FALSE#define E_JPI_AP_INT_ENABLE TRUE#define E_JPI_AP_INT_DISABLE FALSE#define E_JPI_DAC_RETAIN_ENABLE TRUE#define E_JPI_DAC_RETAIN_DISABLE FALSE/* Value enumerations: Comparator */#define E_JPI_COMP_HYSTERESIS_0MV 0#define E_JPI_COMP_HYSTERESIS_5MV 1#define E_JPI_COMP_HYSTERESIS_10MV 2#define E_JPI_COMP_HYSTERESIS_20MV 3#define E_JPI_AP_COMPARATOR_MASK_1 1#define E_JPI_AP_COMPARATOR_MASK_2 2#define E_JPI_COMP_SEL_EXT 0x00#define E_JPI_COMP_SEL_DAC 0x01#define E_JPI_COMP_SEL_BANDGAP 0x03/* Value enumerations: UART */#define E_JPI_UART_RATE_4800 0#define E_JPI_UART_RATE_9600 1#define E_JPI_UART_RATE_19200 2#define E_JPI_UART_RATE_38400 3#define E_JPI_UART_RATE_76800 4#define E_JPI_UART_RATE_115200 5#define E_JPI_UART_WORD_LEN_5 0#define E_JPI_UART_WORD_LEN_6 1#define E_JPI_UART_WORD_LEN_7 2#define E_JPI_UART_WORD_LEN_8 3#define E_JPI_UART_FIFO_LEVEL_1 0#define E_JPI_UART_FIFO_LEVEL_4 1#define E_JPI_UART_FIFO_LEVEL_8 2#define E_JPI_UART_FIFO_LEVEL_14 3#define E_JPI_UART_LS_ERROR 0x80#define E_JPI_UART_LS_TEMT 0x40#define E_JPI_UART_LS_THRE 0x20#define E_JPI_UART_LS_BI 0x10#define E_JPI_UART_LS_FE 0x08#define E_JPI_UART_LS_PE 0x04#define E_JPI_UART_LS_OE 0x02#define E_JPI_UART_LS_DR 0x01#define E_JPI_UART_MS_DCTS 0x01#define E_JPI_UART_INT_MODEM 0#define E_JPI_UART_INT_TX 1#define E_JPI_UART_INT_RXDATA 2#define E_JPI_UART_INT_RXLINE 3#define E_JPI_UART_INT_TIMEOUT 6#define E_JPI_UART_TX_RESET TRUE#define E_JPI_UART_RX_RESET TRUE#define E_JPI_UART_TX_ENABLE FALSE#define E_JPI_UART_RX_ENABLE FALSE#define E_JPI_UART_EVEN_PARITY TRUE#define E_JPI_UART_ODD_PARITY FALSE#define E_JPI_UART_PARITY_ENABLE TRUE#define E_JPI_UART_PARITY_DISABLE FALSE#define E_JPI_UART_1_STOP_BIT TRUE#define E_JPI_UART_2_STOP_BITS FALSE#define E_JPI_UART_RTS_HIGH TRUE#define E_JPI_UART_RTS_LOW FALSE/* Value enumerations: SPI */#define E_JPI_SPIM_MSB_FIRST FALSE#define E_JPI_SPIM_LSB_FIRST TRUE#define E_JPI_SPIM_TXPOS_EDGE FALSE#define E_JPI_SPIM_TXNEG_EDGE TRUE#define E_JPI_SPIM_RXPOS_EDGE FALSE#define E_JPI_SPIM_RXNEG_EDGE TRUE#define E_JPI_SPIM_INT_ENABLE TRUE#define E_JPI_SPIM_INT_DISABLE FALSE#define E_JPI_SPIM_AUTOSLAVE_ENBL TRUE#define E_JPI_SPIM_AUTOSLAVE_DSABL FALSE#define E_JPI_SPIM_SLAVE_ENBLE_0 0x1#define E_JPI_SPIM_SLAVE_ENBLE_1 0x2#define E_JPI_SPIM_SLAVE_ENBLE_2 0x4#define E_JPI_SPIM_SLAVE_ENBLE_3 0x8/* Value enumerations: Serial Interface */#define E_JPI_SI_INT_AL 0x20#define E_JPI_SI_SLAVE_RW_SET FALSE#define E_JPI_SI_START_BIT TRUE#define E_JPI_SI_NO_START_BIT FALSE#define E_JPI_SI_STOP_BIT TRUE#define E_JPI_SI_NO_STOP_BIT FALSE#define E_JPI_SI_SLAVE_READ TRUE#define E_JPI_SI_NO_SLAVE_READ FALSE#define E_JPI_SI_SLAVE_WRITE TRUE#define E_JPI_SI_NO_SLAVE_WRITE FALSE#define E_JPI_SI_SEND_ACK FALSE#define E_JPI_SI_SEND_NACK TRUE#define E_JPI_SI_IRQ_ACK TRUE#define E_JPI_SI_NO_IRQ_ACK FALSE/* Value enumerations: Intelligent Peripheral */#define E_JPI_IP_MAX_MSG_SIZE 0x3F#define E_JPI_IP_TXPOS_EDGE FALSE#define E_JPI_IP_TXNEG_EDGE TRUE#define E_JPI_IP_RXPOS_EDGE FALSE#define E_JPI_IP_RXNEG_EDGE TRUE#define E_JPI_IP_BIG_ENDIAN TRUE#define E_JPI_IP_LITTLE_ENDIAN FALSE/* Value enumerations: Timer */#define E_JPI_TIMER_INT_PERIOD 1#define E_JPI_TIMER_INT_RISE 2/* Value enumerations: DIO */#define E_JPI_DIO0_INT 0x00000001#define E_JPI_DIO1_INT 0x00000002#define E_JPI_DIO2_INT 0x00000004#define E_JPI_DIO3_INT 0x00000008#define E_JPI_DIO4_INT 0x00000010#define E_JPI_DIO5_INT 0x00000020#define E_JPI_DIO6_INT 0x00000040#define E_JPI_DIO7_INT 0x00000080#define E_JPI_DIO8_INT 0x00000100#define E_JPI_DIO9_INT 0x00000200#define E_JPI_DIO10_INT 0x00000400#define E_JPI_DIO11_INT 0x00000800#define E_JPI_DIO12_INT 0x00001000#define E_JPI_DIO13_INT 0x00002000#define E_JPI_DIO14_INT 0x00004000#define E_JPI_DIO15_INT 0x00008000#define E_JPI_DIO16_INT 0x00010000#define E_JPI_DIO17_INT 0x00020000#define E_JPI_DIO18_INT 0x00040000#define E_JPI_DIO19_INT 0x00080000#define E_JPI_DIO20_INT 0x00100000/* Interrupt Item Bitmap Masks */#define E_JPI_SYSCTRL_WK0_MASK (1 << E_JPI_SYSCTRL_WK0)#define E_JPI_SYSCTRL_WK1_MASK (1 << E_JPI_SYSCTRL_WK1)#define E_JPI_SYSCTRL_COMP0_MASK (1 << E_JPI_SYSCTRL_COMP0)#define E_JPI_SYSCTRL_COMP1_MASK (1 << E_JPI_SYSCTRL_COMP1)#define E_JPI_UART_TIMEOUT_MASK (1 << E_JPI_UART_INT_TIMEOUT)#define E_JPI_UART_RXLINE_MASK (1 << E_JPI_UART_INT_RXLINE)#define E_JPI_UART_RXDATA_MASK (1 << E_JPI_UART_INT_RXDATA)#define E_JPI_UART_TX_MASK (1 << E_JPI_UART_INT_TX)#define E_JPI_UART_MODEM_MASK (1 << E_JPI_UART_INT_MODEM)#define E_JPI_TIMER_RISE_MASK E_JPI_TIMER_INT_RISE#define E_JPI_TIMER_PERIOD_MASK E_JPI_TIMER_INT_PERIOD#define E_JPI_SI_RXACK_MASK (1 << 7)#define E_JPI_SI_BUSY_MASK (1 << 6)#define E_JPI_SI_AL_MASK (1 << 5)#define E_JPI_SI_ACK_CTRL_MASK (1 << 2)#define E_JPI_SI_TIP_MASK (1 << 1)#define E_JPI_SI_INT_STATUS_MASK (1 << 0)#define E_JPI_SPIM_TX_MASK (1 << 0)#define E_JPI_IP_INT_STATUS_MASK (1 << 6)#define E_JPI_IP_TXGO_MASK (1 << 1)#define E_JPI_IP_RXGO_MASK (1 << 0)#define E_JPI_AP_INT_STATUS_MASK (1 << 0)/****************************************************************************//*** Type Definitions ***//****************************************************************************//* Device types, used to identify interrupt source */typedef enum{ E_JPI_DEVICE_TICK_TIMER = 0, /* Tick timer */ E_JPI_DEVICE_SYSCTRL = 2, /* System controller */ E_JPI_DEVICE_BBC, /* Baseband controller */ E_JPI_DEVICE_AES, /* Encryption engine */ E_JPI_DEVICE_PHYCTRL, /* Phy controller */ E_JPI_DEVICE_UART0, /* UART 0 */ E_JPI_DEVICE_UART1, /* UART 1 */ E_JPI_DEVICE_TIMER0, /* Timer 0 */ E_JPI_DEVICE_TIMER1, /* Timer 1 */ E_JPI_DEVICE_SI, /* Serial Interface (2 wire) */ E_JPI_DEVICE_SPIM, /* SPI master */ E_JPI_DEVICE_INTPER, /* Intelligent peripheral */ E_JPI_DEVICE_ANALOGUE /* Analogue peripherals */} teJPI_Device;/* Individual interrupts */typedef enum{ E_JPI_SYSCTRL_WK0 = 26, /* Wake timer 0 */ E_JPI_SYSCTRL_WK1 = 27, /* Wake timer 1 */ E_JPI_SYSCTRL_COMP0 = 28, /* Comparator 0 */ E_JPI_SYSCTRL_COMP1 = 29, /* Comparator 1 */} teJPI_Item;typedef enum { E_JPI_ANALOGUE_DAC_0, E_JPI_ANALOGUE_DAC_1, E_JPI_ANALOGUE_ADC} teJPI_AnalogueChannel;typedef enum { E_JPI_COMPARATOR_0, E_JPI_COMPARATOR_1} teJPI_Comparator;typedef enum { E_JPI_TIMER_0, E_JPI_TIMER_1} teJPI_Timer;typedef enum { E_JPI_TIMER_MODE_SINGLESHOT, E_JPI_TIMER_MODE_REPEATING, E_JPI_TIMER_MODE_DELTASIGMA, E_JPI_TIMER_MODE_DELTASIGMARTZ} teJPI_TimerMode;typedef enum { E_JPI_TIMER_CLOCK_INTERNAL_NORMAL, E_JPI_TIMER_CLOCK_INTERNAL_INVERTED, E_JPI_TIMER_CLOCK_EXTERNAL_NORMAL, E_JPI_TIMER_CLOCK_EXTERNAL_INVERTED} teJPI_TimerClockType;/****************************************************************************//*** Exported Functions ***//****************************************************************************/PUBLIC void vJPI_AnalogueEnable(teJPI_AnalogueChannel eChan, bool_t bInputRange, bool_t bContinuous, uint8 u8Source, bool_t bOutputHold, uint16 u16InitValue);PUBLIC void vJPI_AnalogueDisable(teJPI_AnalogueChannel eChan);PUBLIC bool_t bJPI_ComparatorStatus(teJPI_Comparator eComparator);PUBLIC bool_t bJPI_ComparatorWakeStatus(teJPI_Comparator eComparator);PUBLIC void vJPI_DioWake(uint32 u32Enable, uint32 u32Disable, uint32 u32Rising, uint32 u32Falling);PUBLIC void vJPI_TimerEnable(teJPI_Timer eTimer, uint8 u8Prescale, uint8 mIntMask, bool_t bOutputEn, bool_t bTimerIOEn, teJPI_TimerClockType eClockType);PUBLIC void vJPI_TimerStart(teJPI_Timer eTimer, teJPI_TimerMode eTimerMode, uint16 u16HighPeriod, uint16 u16LowPeriod);PUBLIC uint32 u32JPI_TimerReadCapture(teJPI_Timer eTimer);/****************************************************************************//*** Exported Variables ***//****************************************************************************/#if defined __cplusplus}#endif#endif/****************************************************************************//*** END OF FILE ***//****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -