📄 stm8s_map.h
字号:
#define TIM2_SR2_CC3OF ((u8)0x08) /*!< Capture/Compare 3 Overcapture Flag mask. */
#define TIM2_SR2_CC2OF ((u8)0x04) /*!< Capture/Compare 2 Overcapture Flag mask. */
#define TIM2_SR2_CC1OF ((u8)0x02) /*!< Capture/Compare 1 Overcapture Flag mask. */
#define TIM2_EGR_CC3G ((u8)0x08) /*!< Capture/Compare 3 Generation mask. */
#define TIM2_EGR_CC2G ((u8)0x04) /*!< Capture/Compare 2 Generation mask. */
#define TIM2_EGR_CC1G ((u8)0x02) /*!< Capture/Compare 1 Generation mask. */
#define TIM2_EGR_UG ((u8)0x01) /*!< Update Generation mask. */
#define TIM2_CCMR_ICxPSC ((u8)0x0C) /*!< Input Capture x Prescaler mask. */
#define TIM2_CCMR_ICxF ((u8)0xF0) /*!< Input Capture x Filter mask. */
#define TIM2_CCMR_OCM ((u8)0x70) /*!< Output Compare x Mode mask. */
#define TIM2_CCMR_OCxPE ((u8)0x08) /*!< Output Compare x Preload Enable mask. */
#define TIM2_CCMR_CCxS ((u8)0x03) /*!< Capture/Compare x Selection mask. */
#define TIM2_CCER1_CC2P ((u8)0x20) /*!< Capture/Compare 2 output Polarity mask. */
#define TIM2_CCER1_CC2E ((u8)0x10) /*!< Capture/Compare 2 output enable mask. */
#define TIM2_CCER1_CC1P ((u8)0x02) /*!< Capture/Compare 1 output Polarity mask. */
#define TIM2_CCER1_CC1E ((u8)0x01) /*!< Capture/Compare 1 output enable mask. */
#define TIM2_CCER2_CC3P ((u8)0x02) /*!< Capture/Compare 3 output Polarity mask. */
#define TIM2_CCER2_CC3E ((u8)0x01) /*!< Capture/Compare 3 output enable mask. */
#define TIM2_CNTRH_CNT ((u8)0xFF) /*!< Counter Value (MSB) mask. */
#define TIM2_CNTRL_CNT ((u8)0xFF) /*!< Counter Value (LSB) mask. */
#define TIM2_PSCR_PSC ((u8)0xFF) /*!< Prescaler Value (MSB) mask. */
#define TIM2_ARRH_ARR ((u8)0xFF) /*!< Autoreload Value (MSB) mask. */
#define TIM2_ARRL_ARR ((u8)0xFF) /*!< Autoreload Value (LSB) mask. */
#define TIM2_CCR1H_CCR1 ((u8)0xFF) /*!< Capture/Compare 1 Value (MSB) mask. */
#define TIM2_CCR1L_CCR1 ((u8)0xFF) /*!< Capture/Compare 1 Value (LSB) mask. */
#define TIM2_CCR2H_CCR2 ((u8)0xFF) /*!< Capture/Compare 2 Value (MSB) mask. */
#define TIM2_CCR2L_CCR2 ((u8)0xFF) /*!< Capture/Compare 2 Value (LSB) mask. */
#define TIM2_CCR3H_CCR3 ((u8)0xFF) /*!< Capture/Compare 3 Value (MSB) mask. */
#define TIM2_CCR3L_CCR3 ((u8)0xFF) /*!< Capture/Compare 3 Value (LSB) mask. */
/**
* @}
*/
/*----------------------------------------------------------------------------*/
/**
* @brief 16-bit timer (TIM3)
*/
typedef struct TIM3_struct
{
vu8 CR1; /*!< control register 1 */
vu8 IER; /*!< interrupt enable register */
vu8 SR1; /*!< status register 1 */
vu8 SR2; /*!< status register 2 */
vu8 EGR; /*!< event generation register */
vu8 CCMR1; /*!< CC mode register 1 */
vu8 CCMR2; /*!< CC mode register 2 */
vu8 CCER1; /*!< CC enable register 1 */
vu8 CNTRH; /*!< counter high */
vu8 CNTRL; /*!< counter low */
vu8 PSCR; /*!< prescaler register */
vu8 ARRH; /*!< auto-reload register high */
vu8 ARRL; /*!< auto-reload register low */
vu8 CCR1H; /*!< capture/compare register 1 high */
vu8 CCR1L; /*!< capture/compare register 1 low */
vu8 CCR2H; /*!< capture/compare register 2 high */
vu8 CCR2L; /*!< capture/compare register 2 low */
}
TIM3_TypeDef;
/** @addtogroup TIM3_Registers_Reset_Value
* @{
*/
#define TIM3_CR1_RESET_VALUE ((u8)0x00)
#define TIM3_IER_RESET_VALUE ((u8)0x00)
#define TIM3_SR1_RESET_VALUE ((u8)0x00)
#define TIM3_SR2_RESET_VALUE ((u8)0x00)
#define TIM3_EGR_RESET_VALUE ((u8)0x00)
#define TIM3_CCMR1_RESET_VALUE ((u8)0x00)
#define TIM3_CCMR2_RESET_VALUE ((u8)0x00)
#define TIM3_CCER1_RESET_VALUE ((u8)0x00)
#define TIM3_CNTRH_RESET_VALUE ((u8)0x00)
#define TIM3_CNTRL_RESET_VALUE ((u8)0x00)
#define TIM3_PSCR_RESET_VALUE ((u8)0x00)
#define TIM3_ARRH_RESET_VALUE ((u8)0xFF)
#define TIM3_ARRL_RESET_VALUE ((u8)0xFF)
#define TIM3_CCR1H_RESET_VALUE ((u8)0x00)
#define TIM3_CCR1L_RESET_VALUE ((u8)0x00)
#define TIM3_CCR2H_RESET_VALUE ((u8)0x00)
#define TIM3_CCR2L_RESET_VALUE ((u8)0x00)
/**
* @}
*/
/** @addtogroup TIM3_Registers_Bits_Definition
* @{
*/
#define TIM3_CR1_ARPE ((u8)0x80) /*!< Auto-Reload Preload Enable mask. */
#define TIM3_CR1_OPM ((u8)0x08) /*!< One Pulse Mode mask. */
#define TIM3_CR1_URS ((u8)0x04) /*!< Update Request Source mask. */
#define TIM3_CR1_UDIS ((u8)0x02) /*!< Update DIsable mask. */
#define TIM3_CR1_CEN ((u8)0x01) /*!< Counter Enable mask. */
/*#define TIM3_IER_CC3IE ((u8)0x08)*/ /*!< Capture/Compare 3 Interrupt Enable mask. */
#define TIM3_IER_CC2IE ((u8)0x04) /*!< Capture/Compare 2 Interrupt Enable mask. */
#define TIM3_IER_CC1IE ((u8)0x02) /*!< Capture/Compare 1 Interrupt Enable mask. */
#define TIM3_IER_UIE ((u8)0x01) /*!< Update Interrupt Enable mask. */
/*#define TIM3_SR1_CC3IF ((u8)0x08)*/ /*!< Capture/Compare 3 Interrupt Flag mask. */
#define TIM3_SR1_CC2IF ((u8)0x04) /*!< Capture/Compare 2 Interrupt Flag mask. */
#define TIM3_SR1_CC1IF ((u8)0x02) /*!< Capture/Compare 1 Interrupt Flag mask. */
#define TIM3_SR1_UIF ((u8)0x01) /*!< Update Interrupt Flag mask. */
/*#define TIM3_SR2_CC3OF ((u8)0x08)*/ /*!< Capture/Compare 3 Overcapture Flag mask. */
#define TIM3_SR2_CC2OF ((u8)0x04) /*!< Capture/Compare 2 Overcapture Flag mask. */
#define TIM3_SR2_CC1OF ((u8)0x02) /*!< Capture/Compare 1 Overcapture Flag mask. */
/*#define TIM3_EGR_CC3G ((u8)0x08)*/ /*!< Capture/Compare 3 Generation mask. */
#define TIM3_EGR_CC2G ((u8)0x04) /*!< Capture/Compare 2 Generation mask. */
#define TIM3_EGR_CC1G ((u8)0x02) /*!< Capture/Compare 1 Generation mask. */
#define TIM3_EGR_UG ((u8)0x01) /*!< Update Generation mask. */
#define TIM3_CCMR_ICxPSC ((u8)0x0C) /*!< Input Capture x Prescaler mask. */
#define TIM3_CCMR_ICxF ((u8)0xF0) /*!< Input Capture x Filter mask. */
#define TIM3_CCMR_OCM ((u8)0x70) /*!< Output Compare x Mode mask. */
#define TIM3_CCMR_OCxPE ((u8)0x08) /*!< Output Compare x Preload Enable mask. */
#define TIM3_CCMR_CCxS ((u8)0x03) /*!< Capture/Compare x Selection mask. */
#define TIM3_CCER1_CC2P ((u8)0x20) /*!< Capture/Compare 2 output Polarity mask. */
#define TIM3_CCER1_CC2E ((u8)0x10) /*!< Capture/Compare 2 output enable mask. */
#define TIM3_CCER1_CC1P ((u8)0x02) /*!< Capture/Compare 1 output Polarity mask. */
#define TIM3_CCER1_CC1E ((u8)0x01) /*!< Capture/Compare 1 output enable mask. */
#define TIM3_CNTRH_CNT ((u8)0xFF) /*!< Counter Value (MSB) mask. */
#define TIM3_CNTRL_CNT ((u8)0xFF) /*!< Counter Value (LSB) mask. */
#define TIM3_PSCR_PSC ((u8)0xFF) /*!< Prescaler Value (MSB) mask. */
#define TIM3_ARRH_ARR ((u8)0xFF) /*!< Autoreload Value (MSB) mask. */
#define TIM3_ARRL_ARR ((u8)0xFF) /*!< Autoreload Value (LSB) mask. */
#define TIM3_CCR1H_CCR1 ((u8)0xFF) /*!< Capture/Compare 1 Value (MSB) mask. */
#define TIM3_CCR1L_CCR1 ((u8)0xFF) /*!< Capture/Compare 1 Value (LSB) mask. */
#define TIM3_CCR2H_CCR2 ((u8)0xFF) /*!< Capture/Compare 2 Value (MSB) mask. */
#define TIM3_CCR2L_CCR2 ((u8)0xFF) /*!< Capture/Compare 2 Value (LSB) mask. */
/**
* @}
*/
/*----------------------------------------------------------------------------*/
/**
* @brief 8-bit syTDRH timer (TIM4)
*/
typedef struct TIM4_struct
{
vu8 CR1; /*!< control register 1 */
vu8 IER; /*!< interrupt enable register */
vu8 SR1; /*!< status register 1 */
vu8 EGR; /*!< event generation register */
vu8 CNTR; /*!< counter register */
vu8 PSCR; /*!< prescaler register */
vu8 ARR; /*!< auto-reload register */
}
TIM4_TypeDef;
/** @addtogroup TIM4_Registers_Reset_Value
* @{
*/
#define TIM4_CR1_RESET_VALUE ((u8)0x00)
#define TIM4_IER_RESET_VALUE ((u8)0x00)
#define TIM4_SR1_RESET_VALUE ((u8)0x00)
#define TIM4_EGR_RESET_VALUE ((u8)0x00)
#define TIM4_CNTR_RESET_VALUE ((u8)0x00)
#define TIM4_PSCR_RESET_VALUE ((u8)0x00)
#define TIM4_ARR_RESET_VALUE ((u8)0xFF)
/**
* @}
*/
/** @addtogroup TIM4_Registers_Bits_Definition
* @{
*/
#define TIM4_CR1_ARPE ((u8)0x80) /*!< Auto-Reload Preload Enable mask. */
#define TIM4_CR1_OPM ((u8)0x08) /*!< One Pulse Mode mask. */
#define TIM4_CR1_URS ((u8)0x04) /*!< Update Request Source mask. */
#define TIM4_CR1_UDIS ((u8)0x02) /*!< Update DIsable mask. */
#define TIM4_CR1_CEN ((u8)0x01) /*!< Counter Enable mask. */
#define TIM4_IER_UIE ((u8)0x01) /*!< Update Interrupt Enable mask. */
#define TIM4_SR1_UIF ((u8)0x01) /*!< Update Interrupt Flag mask. */
#define TIM4_EGR_UG ((u8)0x01) /*!< Update Generation mask. */
#define TIM4_CNTR_CNT ((u8)0xFF) /*!< Counter Value (LSB) mask. */
#define TIM4_PSCR_PSC ((u8)0x07) /*!< Prescaler Value mask. */
#define TIM4_ARR_ARR ((u8)0xFF) /*!< Autoreload Value mask. */
/**
* @}
*/
/*----------------------------------------------------------------------------*/
/**
* @brief Inter-Integrated Circuit (I2C)
*/
typedef struct I2C_struct
{
vu8 CR1; /*!< I2C control register 1 */
vu8 CR2; /*!< I2C control register 2 */
vu8 FREQR; /*!< I2C frequency register */
vu8 OARL; /*!< I2C own address register LSB */
vu8 OARH; /*!< I2C own address register MSB */
vu8 RESERVED1; /*!< Reserved byte */
vu8 DR; /*!< I2C data register */
vu8 SR1; /*!< I2C status register 1 */
vu8 SR2; /*!< I2C status register 2 */
vu8 SR3; /*!< I2C status register 3 */
vu8 ITR; /*!< I2C interrupt register */
vu8 CCRL; /*!< I2C clock control register low */
vu8 CCRH; /*!< I2C clock control register high */
vu8 TRISER; /*!< I2C maximum rise time register */
vu8 RESERVED2; /*!< Reserved byte */
}
I2C_TypeDef;
/** @addtogroup I2C_Registers_Reset_Value
* @{
*/
#define I2C_CR1_RESET_VALUE ((u8)0x00)
#define I2C_CR2_RESET_VALUE ((u8)0x00)
#define I2C_FREQR_RESET_VALUE ((u8)0x00)
#define I2C_OARL_RESET_VALUE ((u8)0x00)
#define I2C_OARH_RESET_VALUE ((u8)0x00)
#define I2C_DR_RESET_VALUE ((u8)0x00)
#define I2C_SR1_RESET_VALUE ((u8)0x00)
#define I2C_SR2_RESET_VALUE ((u8)0x00)
#define I2C_SR3_RESET_VALUE ((u8)0x00)
#define I2C_ITR_RESET_VALUE ((u8)0x00)
#define I2C_CCRL_RESET_VALUE ((u8)0x00)
#define I2C_CCRH_RESET_VALUE ((u8)0x00)
#define I2C_TRISER_RESET_VALUE ((u8)0x02)
/**
* @}
*/
/** @addtogroup I2C_Registers_Bits_Definition
* @{
*/
#define I2C_CR1_NOSTRETCH ((u8)0x80) /*!< Clock Stretching Disable (Slave mode) */
#define I2C_CR1_ENGC ((u8)0x40) /*!< General Call Enable */
#define I2C_CR1_PE ((u8)0x01) /*!< Peripheral Enable */
#define I2C_CR2_SWRST ((u8)0x80) /*!< Software Reset */
#define I2C_CR2_POS ((u8)0x08) /*!< Acknowledge */
#define I2C_CR2_ACK ((u8)0x04) /*!< Acknowledge Enable */
#define I2C_CR2_STOP ((u8)0x02) /*!< Stop Generation */
#define I2C_CR2_START ((u8)0x01) /*!< Start Generation */
#define I2C_FREQR_FREQ ((u8)0x3F) /*!< Peripheral Clock Frequency */
#define I2C_OARL_ADD ((u8)0xFE) /*!< Interface Address bits [7..1] */
#define I2C_OARL_ADD0 ((u8)0x01) /*!< Interface Address bit0 */
#define I2C_OARH_ADDMODE ((u8)0x80) /*!< Addressing Mode (Slave mode) */
#define I2C_OARH_ADDCONF ((u8)0x40) /*!< Address Mode Configuration */
#define I2C_OARH_ADD ((u8)0x06) /*!< Interface Address bits [9..8] */
#define I2C_DR_DR ((u8)0xFF) /*!< Data Register */
#define I2C_SR1_TXE ((u8)0x80) /*!< Data Register Empty (transmitters) */
#define I2C_SR1_RXNE ((u8)0x40) /*!< Data Register not Empty (receivers) */
#define I2C_SR1_STOPF ((u8)0x10) /*!< Stop detection (Slave mode) */
#define I2C_SR1_ADD10 ((u8)0x08) /*!< 10-bit header sent (Master mode) */
#define I2C_SR1_BTF ((u8)0x04) /*!< Byte Transfer Finished */
#define I2C_SR1_ADDR ((u8)0x02) /*!< Address sent (master mode)/matched (slave mode) */
#define I2C_SR1_SB ((u8)0x01) /*!< Start Bit (Master mode) */
#define I2C_SR2_WUFH ((u8)0x20) /*!< Wake-up from Halt */
#define I2C_SR2_OVR ((u8)0x08) /*!< Overrun/Underrun */
#define I2C_SR2_AF ((u8)0x04) /*!< Acknowledge Failure */
#define I2C_SR2_ARLO ((u8)0x02) /*!< Arbitration Lost (master mode) */
#define I2C_SR2_BERR ((u8)0x01) /*!< Bus Error */
#define I2C_SR3_GENCALL ((u8)0x10) /*!< General Call Header (Slave mode) */
#define I2C_SR3_TRA ((u8)0x04) /*!< Transmitter/Receiver */
#define I2C_SR3_BUSY ((u8)0x02) /*!< Bus Busy */
#define I2C_SR3_MSL ((u8)0x01) /*!< Master/Slave */
#define I2C_ITR_ITBUFEN ((u8)0x04) /*!< Buffer Interrupt Enable */
#define I2C_ITR_ITEVTEN ((u8)0x02) /*!< Event Interrupt Enable */
#define I2C_ITR_ITERREN ((u8)0x01) /*!< Error Interrupt Enable */
#define I2C_CCRL_CCR ((u8)0xFF) /*!< Clock Control Register (Master mode) */
#define I2C_CCRH_FS ((u8)0x80) /*!< Master Mode Selection */
#define I2C_CCRH_DUTY ((u8)0x40) /*!< Fast Mode Duty Cycle */
#define I2C_CCRH_CCR ((u8)0x0F) /*!< Clock Control Register in Fast/Standard mode (Master mode) bits [11..8] */
#define I2C_TRISER_TRISE ((u8)0x3F) /*!< Maximum Rise Time in Fast/Standard mode (Master mode) */
/**
* @}
*/
/*----------------------------------------------------------------------------*/
/**
* @brief Interrupt Controller (ITC)
*/
typedef struct ITC_struct
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -