?? stm8s.h
字號:
BEEP_TypeDef;
/** @addtogroup BEEP_Registers_Reset_Value
* @{
*/
#define BEEP_CSR_RESET_VALUE ((u8)0x1F)
/**
* @}
*/
/** @addtogroup BEEP_Registers_Bits_Definition
* @{
*/
#define BEEP_CSR_BEEPSEL ((u8)0xC0) /*!< Beeper frequency selection mask */
#define BEEP_CSR_BEEPEN ((u8)0x20) /*!< Beeper enable mask */
#define BEEP_CSR_BEEPDIV ((u8)0x1F) /*!< Beeper Divider prescalar mask */
/**
* @}
*/
/*----------------------------------------------------------------------------*/
/**
* @brief Clock Controller (CLK)
*/
typedef struct CLK_struct
{
vu8 ICKR; /*!< Internal Clocks Control Register */
vu8 ECKR; /*!< External Clocks Control Register */
u8 RESERVED; /*!< Reserved byte */
vu8 CMSR; /*!< Clock Master Status Register */
vu8 SWR; /*!< Clock Master Switch Register */
vu8 SWCR; /*!< Switch Control Register */
vu8 CKDIVR; /*!< Clock Divider Register */
vu8 PCKENR1; /*!< Peripheral Clock Gating Register 1 */
vu8 CSSR; /*!< Clock Security Sytem Register */
vu8 CCOR; /*!< Configurable Clock Output Register */
vu8 PCKENR2; /*!< Peripheral Clock Gating Register 2 */
vu8 CANCCR; /*!< CAN external clock control Register (exist only in STM8S208 otherwise it is reserved) */
vu8 HSITRIMR; /*!< HSI Calibration Trimmer Register */
vu8 SWIMCCR; /*!< SWIM clock control register */
}
CLK_TypeDef;
/** @addtogroup CLK_Registers_Reset_Value
* @{
*/
#define CLK_ICKR_RESET_VALUE ((u8)0x01)
#define CLK_ECKR_RESET_VALUE ((u8)0x00)
#define CLK_CMSR_RESET_VALUE ((u8)0xE1)
#define CLK_SWR_RESET_VALUE ((u8)0xE1)
#define CLK_SWCR_RESET_VALUE ((u8)0x00)
#define CLK_CKDIVR_RESET_VALUE ((u8)0x18)
#define CLK_PCKENR1_RESET_VALUE ((u8)0xFF)
#define CLK_PCKENR2_RESET_VALUE ((u8)0xFF)
#define CLK_CSSR_RESET_VALUE ((u8)0x00)
#define CLK_CCOR_RESET_VALUE ((u8)0x00)
#define CLK_CANCCR_RESET_VALUE ((u8)0x00)
#define CLK_HSITRIMR_RESET_VALUE ((u8)0x00)
#define CLK_SWIMCCR_RESET_VALUE ((u8)0x00)
/**
* @}
*/
/** @addtogroup CLK_Registers_Bits_Definition
* @{
*/
#define CLK_ICKR_SWUAH ((u8)0x20) /*!< Slow Wake-up from Active Halt/Halt modes */
#define CLK_ICKR_LSIRDY ((u8)0x10) /*!< Low speed internal oscillator ready */
#define CLK_ICKR_LSIEN ((u8)0x08) /*!< Low speed internal RC oscillator enable */
#define CLK_ICKR_FHWU ((u8)0x04) /*!< Fast Wake-up from Active Halt/Halt mode */
#define CLK_ICKR_HSIRDY ((u8)0x02) /*!< High speed internal RC oscillator ready */
#define CLK_ICKR_HSIEN ((u8)0x01) /*!< High speed internal RC oscillator enable */
#define CLK_ECKR_HSERDY ((u8)0x02) /*!< High speed external crystal oscillator ready */
#define CLK_ECKR_HSEEN ((u8)0x01) /*!< High speed external crystal oscillator enable */
#define CLK_CMSR_CKM ((u8)0xFF) /*!< Clock master status bits */
#define CLK_SWR_SWI ((u8)0xFF) /*!< Clock master selection bits */
#define CLK_SWCR_SWIF ((u8)0x08) /*!< Clock switch interrupt flag */
#define CLK_SWCR_SWIEN ((u8)0x04) /*!< Clock switch interrupt enable */
#define CLK_SWCR_SWEN ((u8)0x02) /*!< Switch start/stop */
#define CLK_SWCR_SWBSY ((u8)0x01) /*!< Switch busy */
#define CLK_CKDIVR_HSIDIV ((u8)0x18) /*!< High speed internal clock prescaler */
#define CLK_CKDIVR_CPUDIV ((u8)0x07) /*!< CPU clock prescaler */
#define CLK_PCKENR1_TIM1 ((u8)0x80) /*!< Timer 1 clock enable */
#define CLK_PCKENR1_TIM3 ((u8)0x40) /*!< Timer 3 clock enable */
#define CLK_PCKENR1_TIM2 ((u8)0x20) /*!< Timer 2 clock enable */
#define CLK_PCKENR1_TIM5 ((u8)0x20) /*!< Timer 5 clock enable */
#define CLK_PCKENR1_TIM4 ((u8)0x10) /*!< Timer 4 clock enable */
#define CLK_PCKENR1_TIM6 ((u8)0x10) /*!< Timer 6 clock enable */
#define CLK_PCKENR1_UART3 ((u8)0x08) /*!< UART3 clock enable */
#define CLK_PCKENR1_UART2 ((u8)0x08) /*!< UART2 clock enable */
#define CLK_PCKENR1_UART1 ((u8)0x04) /*!< UART1 clock enable */
#define CLK_PCKENR1_SPI ((u8)0x02) /*!< SPI clock enable */
#define CLK_PCKENR1_I2C ((u8)0x01) /*!< I2C clock enable */
#define CLK_PCKENR2_CAN ((u8)0x80) /*!< CAN clock enable */
#define CLK_PCKENR2_ADC ((u8)0x08) /*!< ADC clock enable */
#define CLK_PCKENR2_AWU ((u8)0x04) /*!< AWU clock enable */
#define CLK_CSSR_CSSD ((u8)0x08) /*!< Clock security sytem detection */
#define CLK_CSSR_CSSDIE ((u8)0x04) /*!< Clock security system detection interrupt enable */
#define CLK_CSSR_AUX ((u8)0x02) /*!< Auxiliary oscillator connected to master clock */
#define CLK_CSSR_CSSEN ((u8)0x01) /*!< Clock security system enable */
#define CLK_CCOR_CCOBSY ((u8)0x40) /*!< Configurable clock output busy */
#define CLK_CCOR_CCORDY ((u8)0x20) /*!< Configurable clock output ready */
#define CLK_CCOR_CCOSEL ((u8)0x1E) /*!< Configurable clock output selection */
#define CLK_CCOR_CCOEN ((u8)0x01) /*!< Configurable clock output enable */
#define CLK_CANCCR_CANDIV ((u8)0x07) /*!< External CAN clock divider */
#define CLK_HSITRIMR_HSITRIM ((u8)0x07) /*!< High speed internal oscillator trimmer */
#define CLK_SWIMCCR_SWIMDIV ((u8)0x01) /*!< SWIM Clock Dividing Factor */
/**
* @}
*/
/*----------------------------------------------------------------------------*/
/**
* @brief 16-bit timer with complementary PWM outputs (TIM1)
*/
typedef struct TIM1_struct
{
vu8 CR1; /*!< control register 1 */
vu8 CR2; /*!< control register 2 */
vu8 SMCR; /*!< Synchro mode control register */
vu8 ETR; /*!< external trigger register */
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 CCMR3; /*!< CC mode register 3 */
vu8 CCMR4; /*!< CC mode register 4 */
vu8 CCER1; /*!< CC enable register 1 */
vu8 CCER2; /*!< CC enable register 2 */
vu8 CNTRH; /*!< counter high */
vu8 CNTRL; /*!< counter low */
vu8 PSCRH; /*!< prescaler high */
vu8 PSCRL; /*!< prescaler low */
vu8 ARRH; /*!< auto-reload register high */
vu8 ARRL; /*!< auto-reload register low */
vu8 RCR; /*!< Repetition Counter register */
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 */
vu8 CCR3H; /*!< capture/compare register 3 high */
vu8 CCR3L; /*!< capture/compare register 3 low */
vu8 CCR4H; /*!< capture/compare register 3 high */
vu8 CCR4L; /*!< capture/compare register 3 low */
vu8 BKR; /*!< Break Register */
vu8 DTR; /*!< dead-time register */
vu8 OISR; /*!< Output idle register */
}
TIM1_TypeDef;
/** @addtogroup TIM1_Registers_Reset_Value
* @{
*/
#define TIM1_CR1_RESET_VALUE ((u8)0x00)
#define TIM1_CR2_RESET_VALUE ((u8)0x00)
#define TIM1_SMCR_RESET_VALUE ((u8)0x00)
#define TIM1_ETR_RESET_VALUE ((u8)0x00)
#define TIM1_IER_RESET_VALUE ((u8)0x00)
#define TIM1_SR1_RESET_VALUE ((u8)0x00)
#define TIM1_SR2_RESET_VALUE ((u8)0x00)
#define TIM1_EGR_RESET_VALUE ((u8)0x00)
#define TIM1_CCMR1_RESET_VALUE ((u8)0x00)
#define TIM1_CCMR2_RESET_VALUE ((u8)0x00)
#define TIM1_CCMR3_RESET_VALUE ((u8)0x00)
#define TIM1_CCMR4_RESET_VALUE ((u8)0x00)
#define TIM1_CCER1_RESET_VALUE ((u8)0x00)
#define TIM1_CCER2_RESET_VALUE ((u8)0x00)
#define TIM1_CNTRH_RESET_VALUE ((u8)0x00)
#define TIM1_CNTRL_RESET_VALUE ((u8)0x00)
#define TIM1_PSCRH_RESET_VALUE ((u8)0x00)
#define TIM1_PSCRL_RESET_VALUE ((u8)0x00)
#define TIM1_ARRH_RESET_VALUE ((u8)0xFF)
#define TIM1_ARRL_RESET_VALUE ((u8)0xFF)
#define TIM1_RCR_RESET_VALUE ((u8)0x00)
#define TIM1_CCR1H_RESET_VALUE ((u8)0x00)
#define TIM1_CCR1L_RESET_VALUE ((u8)0x00)
#define TIM1_CCR2H_RESET_VALUE ((u8)0x00)
#define TIM1_CCR2L_RESET_VALUE ((u8)0x00)
#define TIM1_CCR3H_RESET_VALUE ((u8)0x00)
#define TIM1_CCR3L_RESET_VALUE ((u8)0x00)
#define TIM1_CCR4H_RESET_VALUE ((u8)0x00)
#define TIM1_CCR4L_RESET_VALUE ((u8)0x00)
#define TIM1_BKR_RESET_VALUE ((u8)0x00)
#define TIM1_DTR_RESET_VALUE ((u8)0x00)
#define TIM1_OISR_RESET_VALUE ((u8)0x00)
/**
* @}
*/
/** @addtogroup TIM1_Registers_Bits_Definition
* @{
*/
/* CR1*/
#define TIM1_CR1_ARPE ((u8)0x80) /*!< Auto-Reload Preload Enable mask. */
#define TIM1_CR1_CMS ((u8)0x60) /*!< Center-aligned Mode Selection mask. */
#define TIM1_CR1_DIR ((u8)0x10) /*!< Direction mask. */
#define TIM1_CR1_OPM ((u8)0x08) /*!< One Pulse Mode mask. */
#define TIM1_CR1_URS ((u8)0x04) /*!< Update Request Source mask. */
#define TIM1_CR1_UDIS ((u8)0x02) /*!< Update DIsable mask. */
#define TIM1_CR1_CEN ((u8)0x01) /*!< Counter Enable mask. */
/* CR2*/
#define TIM1_CR2_TI1S ((u8)0x80) /*!< TI1S Selection mask. */
#define TIM1_CR2_MMS ((u8)0x70) /*!< MMS Selection mask. */
#define TIM1_CR2_COMS ((u8)0x04) /*!< Capture/Compare Control Update Selection mask. */
#define TIM1_CR2_CCPC ((u8)0x01) /*!< Capture/Compare Preloaded Control mask. */
/* SMCR*/
#define TIM1_SMCR_MSM ((u8)0x80) /*!< Master/Slave Mode mask. */
#define TIM1_SMCR_TS ((u8)0x70) /*!< Trigger Selection mask. */
#define TIM1_SMCR_SMS ((u8)0x07) /*!< Slave Mode Selection mask. */
/*ETR*/
#define TIM1_ETR_ETP ((u8)0x80) /*!< External Trigger Polarity mask. */
#define TIM1_ETR_ECE ((u8)0x40)/*!< External Clock mask. */
#define TIM1_ETR_ETPS ((u8)0x30) /*!< External Trigger Prescaler mask. */
#define TIM1_ETR_ETF ((u8)0x0F) /*!< External Trigger Filter mask. */
/*IER*/
#define TIM1_IER_BIE ((u8)0x80) /*!< Break Interrupt Enable mask. */
#define TIM1_IER_TIE ((u8)0x40) /*!< Trigger Interrupt Enable mask. */
#define TIM1_IER_COMIE ((u8)0x20) /*!< Commutation Interrupt Enable mask.*/
#define TIM1_IER_CC4IE ((u8)0x10) /*!< Capture/Compare 4 Interrupt Enable mask. */
#define TIM1_IER_CC3IE ((u8)0x08) /*!< Capture/Compare 3 Interrupt Enable mask. */
#define TIM1_IER_CC2IE ((u8)0x04) /*!< Capture/Compare 2 Interrupt Enable mask. */
#define TIM1_IER_CC1IE ((u8)0x02) /*!< Capture/Compare 1 Interrupt Enable mask. */
#define TIM1_IER_UIE ((u8)0x01) /*!< Update Interrupt Enable mask. */
/*SR1*/
#define TIM1_SR1_BIF ((u8)0x80) /*!< Break Interrupt Flag mask. */
#define TIM1_SR1_TIF ((u8)0x40) /*!< Trigger Interrupt Flag mask. */
#define TIM1_SR1_COMIF ((u8)0x20) /*!< Commutation Interrupt Flag mask. */
#define TIM1_SR1_CC4IF ((u8)0x10) /*!< Capture/Compare 4 Interrupt Flag mask. */
#define TIM1_SR1_CC3IF ((u8)0x08) /*!< Capture/Compare 3 Interrupt Flag mask. */
#define TIM1_SR1_CC2IF ((u8)0x04) /*!< Capture/Compare 2 Interrupt Flag mask. */
#define TIM1_SR1_CC1IF ((u8)0x02) /*!< Capture/Compare 1 Interrupt Flag mask. */
#define TIM1_SR1_UIF ((u8)0x01) /*!< Update Interrupt Flag mask. */
/*SR2*/
#define TIM1_SR2_CC4OF ((u8)0x10) /*!< Capture/Compare 4 Overcapture Flag mask. */
#define TIM1_SR2_CC3OF ((u8)0x08) /*!< Capture/Compare 3 Overcapture Flag mask. */
#define TIM1_SR2_CC2OF ((u8)0x04) /*!< Capture/Compare 2 Overcapture Flag mask. */
#define TIM1_SR2_CC1OF ((u8)0x02) /*!< Capture/Compare 1 Overcapture Flag mask. */
/*EGR*/
#define TIM1_EGR_BG ((u8)0x80) /*!< Break Generation mask. */
#define TIM1_EGR_TG ((u8)0x40) /*!< Trigger Generation mask. */
#define TIM1_EGR_COMG ((u8)0x20) /*!< Capture/Compare Control Update Generation mask. */
#define TIM1_EGR_CC4G ((u8)0x10) /*!< Capture/Compare 4 Generation mask. */
#define TIM1_EGR_CC3G ((u8)0x08) /*!< Capture/Compare 3 Generation mask. */
#define TIM1_EGR_CC2G ((u8)0x04) /*!< Capture/Compare 2 Generation mask. */
#define TIM1_EGR_CC1G ((u8)0x02) /*!< Capture/Compare 1 Generation mask. */
#define TIM1_EGR_UG ((u8)0x01) /*!< Update Generation mask. */
/*CCMR*/
#define TIM1_CCMR_ICxPSC ((u8)0x0C) /*!< Input Capture x Prescaler mask. */
#define TIM1_CCMR_ICxF ((u8)0xF0) /*!< Input Capture x Filter mask. */
#define TIM1_CCMR_OCM ((u8)0x70) /*!< Output Compare x Mode mask. */
#define TIM1_CCMR_OCxPE ((u8)0x08) /*!< Output Compare x Preload Enable mask. */
#define TIM1_CCMR_OCxFE ((u8)0x04) /*!< Output Compare x Fast Enable mask. */
#define TIM1_CCMR_CCxS ((u8)0x03) /*!< Capture/Compare x Selection mask. */
#define CCMR_TIxDirect_Set ((u8)0x01)
/*CCER1*/
#define TIM1_CCER1_CC2NP ((u8)0x80) /*!< Capture/Compare 2 Complementary output Polarity mask. */
#define TIM1_CCER1_CC2NE ((u8)0x40) /*!< Capture/Compare 2 Complementary output enable mask. */
#define TIM1_CCER1_CC2P ((u8)0x20) /*!< Capture/Compare 2 output Polarity mask. */
#define TIM1_CCER1_CC2E ((u8)0x10) /*!< Capture/Compare 2 output enable mask. */
#define TIM1_CCER1_CC1NP ((u8)0x08) /*!< Capture/Compare 1 Complementary output Polarity mask. */
#define TIM1_CCER1_CC1NE ((u8)0x04) /*!< Capture/Compare 1 Complementary output enable mask. */
#define TIM1_CCER1_CC1P ((u8)0x02) /*!< Capture/Compare 1 output Polarity mask. */
#define TIM1_CCER1_CC1E ((u8)0x01) /*!< Capture/Compare 1 output enable mask. */
/*CCER2*/
#define TIM1_CCER2_CC4P ((u8)0x20) /*!< Capture/Compare 4 output Polarity mask. */
#define TIM1_CCER2_CC4E ((u8)0x10) /*!< Capture/Compare 4 output enable mask. */
#define TIM1_CCER2_CC3NP ((u8)0x08) /*!< Capture/Compare 3 Complementary output Polarity mask. */
#define TIM1_CCER2_CC3NE ((u8)0x04) /*!< Capture/Compare 3 Complementary output enable mask. */
#define TIM1_CCER2_CC3P ((u8)0x02) /*!< Capture/Compare 3 output Polarity mask. */
#define TIM1_CCER2_CC3E ((u8)0x01) /*!< Capture/Compare 3 output enable mask. */
/*CNTRH*/
#define TIM1_CNTRH_CNT ((u8)0xFF) /*!< Counter Value (MSB) mask. */
/*CNTRL*/
#define TIM1_CNTRL_CNT ((u8)0xFF) /*!< Counter Value (LSB) mask. */
/*PSCH*/
#define TIM1_PSCH_PSC ((u8)0xFF) /*!< Prescaler Value (MSB) mask. */
/*PSCL*/
#define TIM1_PSCL_PSC ((u8)0xFF) /*!< Prescaler Value (LSB) mask. */
/*ARR*/
#define TIM1_ARRH_ARR ((u8)0xFF) /*!< Autoreload Value (MSB) mask. */
#define TIM1_ARRL_ARR ((u8)0xFF) /*!< Autoreload Value (LSB) mask. */
/*RCR*/
#define TIM1_RCR_REP ((u8)0xFF) /*!< Repetition Counter Value mask. */
/*CCR1*/
#define TIM1_CCR1H_CCR1 ((u8)0xFF) /*!< Capture/Compare 1 Value (MSB) mask. */
#define TIM1_CCR1L_CCR1 ((u8)0xFF) /*!< Capture/Compare 1 Value (LSB) mask. */
/*CCR2*/
#define TIM1_CCR2H_CCR2 ((u8)0xFF) /*!< Capture/Compare 2 Value (MSB) mask. */
#define TIM1_CCR2L_CCR2 ((u8)0xFF) /*!< Capture/Compare 2 Value (LSB) mask. */
/*CCR3*/
#define TIM1_CCR3H_CCR3 ((u8)0xFF) /*!< Capture/Compare 3 Value (MSB) mask. */
#define TIM1_CCR3L_CCR3 ((u8)0xFF) /*!< Capture/Compare 3 Value (LSB) mask. */
/*CCR4*/
#define TIM1_CCR4H_CCR4 ((u8)0xFF) /*!< Capture/Compare 4 Value (MSB) mask. */
#define TIM1_CCR4L_CCR4 ((u8)0xFF) /*!< Capture/Compare 4 Value (LSB) mask. */
/*BKR*/
#define TIM1_BKR_MOE ((u8)0x80) /*!< Main Output Enable mask. */
#define TIM1_BKR_AOE ((u8)0x40) /*!< Automatic Output Enable mask. */
#define TIM1_BKR_BKP ((u8)0x20) /*!< Break Polarity mask. */
#define TIM1_BKR_BKE ((u8)0x10) /*!< Break Enable mask. */
#define TIM1_BKR_OSSR ((u8)0x08) /*!< Off-State Selection for Run mode mask. */
#define TIM1_BKR_OSSI ((u8)0x04) /*!< Off-State Selection for Idle mode mask. */
#define TIM1_BKR_LOCK ((u8)0x03) /*!< Lock Configuration mask. */
/*DTR*/
#define TIM1_DTR_DTG ((u8)0xFF) /*!< Dead-Time Generator set-up mask. */
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -