123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 |
-
-
- #ifndef __STM32F4xx_SPDIFRX_H
- #define __STM32F4xx_SPDIFRX_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "stm32f4xx.h"
-
- typedef struct
- {
- uint32_t SPDIFRX_InputSelection;
- uint32_t SPDIFRX_Retries;
- uint32_t SPDIFRX_WaitForActivity;
- uint32_t SPDIFRX_ChannelSelection;
- uint32_t SPDIFRX_DataFormat;
-
- uint32_t SPDIFRX_StereoMode;
-
- }SPDIFRX_InitTypeDef;
- #define IS_SPDIFRX_PERIPH(PERIPH) (((PERIPH) == SPDIFRX))
- #define SPDIFRX_Input_IN0 ((uint32_t)0x00000000)
- #define SPDIFRX_Input_IN1 ((uint32_t)0x00010000)
- #define SPDIFRX_Input_IN2 ((uint32_t)0x00020000)
- #define SPDIFRX_Input_IN3 ((uint32_t)0x00030000)
- #define IS_SPDIFRX_INPUT_SELECT(INPUT) (((INPUT) == SPDIFRX_Input_IN1) || \
- ((INPUT) == SPDIFRX_Input_IN2) || \
- ((INPUT) == SPDIFRX_Input_IN3) || \
- ((INPUT) == SPDIFRX_Input_IN0))
- #define SPDIFRX_1MAX_RETRIES ((uint32_t)0x00000000)
- #define SPDIFRX_4MAX_RETRIES ((uint32_t)0x00001000)
- #define SPDIFRX_16MAX_RETRIES ((uint32_t)0x00002000)
- #define SPDIFRX_64MAX_RETRIES ((uint32_t)0x00003000)
- #define IS_SPDIFRX_MAX_RETRIES(RET) (((RET) == SPDIFRX_1MAX_RETRIES) || \
- ((RET) == SPDIFRX_4MAX_RETRIES) || \
- ((RET) == SPDIFRX_16MAX_RETRIES) || \
- ((RET) == SPDIFRX_64MAX_RETRIES))
- #define SPDIFRX_WaitForActivity_Off ((uint32_t)0x00000000)
- #define SPDIFRX_WaitForActivity_On ((uint32_t)SPDIFRX_CR_WFA)
- #define IS_SPDIFRX_WAIT_FOR_ACTIVITY(VAL) (((VAL) == SPDIFRX_WaitForActivity_On) || \
- ((VAL) == SPDIFRX_WaitForActivity_Off))
- #define SPDIFRX_Select_Channel_A ((uint32_t)0x00000000)
- #define SPDIFRX_Select_Channel_B ((uint32_t)SPDIFRX_CR_CHSEL)
- #define IS_SPDIFRX_CHANNEL(CHANNEL) (((CHANNEL) == SPDIFRX_Select_Channel_A) || \
- ((CHANNEL) == SPDIFRX_Select_Channel_B))
- #define SPDIFRX_LSB_DataFormat ((uint32_t)0x00000000)
- #define SPDIFRX_MSB_DataFormat ((uint32_t)0x00000010)
- #define SPDIFRX_32BITS_DataFormat ((uint32_t)0x00000020)
- #define IS_SPDIFRX_DATA_FORMAT(FORMAT) (((FORMAT) == SPDIFRX_LSB_DataFormat) || \
- ((FORMAT) == SPDIFRX_MSB_DataFormat) || \
- ((FORMAT) == SPDIFRX_32BITS_DataFormat))
-
- #define SPDIFRX_StereoMode_Disabled ((uint32_t)0x00000000)
- #define SPDIFRX_StereoMode_Enabled ((uint32_t)SPDIFRX_CR_RXSTEO)
- #define IS_STEREO_MODE(MODE) (((MODE) == SPDIFRX_StereoMode_Disabled) || \
- ((MODE) == SPDIFRX_StereoMode_Enabled))
-
- #define SPDIFRX_STATE_IDLE ((uint32_t)0x00000000)
- #define SPDIFRX_STATE_SYNC ((uint32_t)0x00000001)
- #define SPDIFRX_STATE_RCV ((uint32_t)SPDIFRX_CR_SPDIFEN)
- #define IS_SPDIFRX_STATE(STATE) (((STATE) == SPDIFRX_STATE_IDLE) || \
- ((STATE) == SPDIFRX_STATE_SYNC) || \
- ((STATE) == SPDIFRX_STATE_RCV))
-
- #define SPDIFRX_IT_RXNE ((uint32_t)SPDIFRX_IMR_RXNEIE)
- #define SPDIFRX_IT_CSRNE ((uint32_t)SPDIFRX_IMR_CSRNEIE)
- #define SPDIFRX_IT_PERRIE ((uint32_t)SPDIFRX_IMR_PERRIE)
- #define SPDIFRX_IT_OVRIE ((uint32_t)SPDIFRX_IMR_OVRIE)
- #define SPDIFRX_IT_SBLKIE ((uint32_t)SPDIFRX_IMR_SBLKIE)
- #define SPDIFRX_IT_SYNCDIE ((uint32_t)SPDIFRX_IMR_SYNCDIE)
- #define SPDIFRX_IT_IFEIE ((uint32_t)SPDIFRX_IMR_IFEIE )
- #define IS_SPDIFRX_CONFIG_IT(IT) (((IT) == SPDIFRX_IT_RXNE) || \
- ((IT) == SPDIFRX_IT_CSRNE) || \
- ((IT) == SPDIFRX_IT_PERRIE) || \
- ((IT) == SPDIFRX_IT_OVRIE) || \
- ((IT) == SPDIFRX_IT_SBLKIE) || \
- ((IT) == SPDIFRX_IT_SYNCDIE) || \
- ((IT) == SPDIFRX_IT_IFEIE))
-
- #define SPDIFRX_FLAG_RXNE ((uint32_t)SPDIFRX_SR_RXNE)
- #define SPDIFRX_FLAG_CSRNE ((uint32_t)SPDIFRX_SR_CSRNE)
- #define SPDIFRX_FLAG_PERR ((uint32_t)SPDIFRX_SR_PERR)
- #define SPDIFRX_FLAG_OVR ((uint32_t)SPDIFRX_SR_OVR)
- #define SPDIFRX_FLAG_SBD ((uint32_t)SPDIFRX_SR_SBD)
- #define SPDIFRX_FLAG_SYNCD ((uint32_t)SPDIFRX_SR_SYNCD)
- #define SPDIFRX_FLAG_FERR ((uint32_t)SPDIFRX_SR_FERR)
- #define SPDIFRX_FLAG_SERR ((uint32_t)SPDIFRX_SR_SERR)
- #define SPDIFRX_FLAG_TERR ((uint32_t)SPDIFRX_SR_TERR)
- #define IS_SPDIFRX_FLAG(FLAG) (((FLAG) == SPDIFRX_FLAG_RXNE) || ((FLAG) == SPDIFRX_FLAG_CSRNE) || \
- ((FLAG) == SPDIFRX_FLAG_PERR) || ((FLAG) == SPDIFRX_FLAG_OVR) || \
- ((FLAG) == SPDIFRX_SR_SBD) || ((FLAG) == SPDIFRX_SR_SYNCD) || \
- ((FLAG) == SPDIFRX_SR_FERR) || ((FLAG) == SPDIFRX_SR_SERR) || \
- ((FLAG) == SPDIFRX_SR_TERR))
- #define IS_SPDIFRX_CLEAR_FLAG(FLAG) (((FLAG) == SPDIFRX_FLAG_PERR) || ((FLAG) == SPDIFRX_FLAG_OVR) || \
- ((FLAG) == SPDIFRX_SR_SBD) || ((FLAG) == SPDIFRX_SR_SYNCD))
-
-
-
- void SPDIFRX_DeInit(void);
- void SPDIFRX_Init(SPDIFRX_InitTypeDef* SPDIFRX_InitStruct);
- void SPDIFRX_StructInit(SPDIFRX_InitTypeDef* SPDIFRX_InitStruct);
- void SPDIFRX_Cmd(uint32_t SPDIFRX_State);
- void SPDIFRX_SetPreambleTypeBit(FunctionalState NewState);
- void SPDIFRX_SetUserDataChannelStatusBits(FunctionalState NewState);
- void SPDIFRX_SetValidityBit(FunctionalState NewState);
- void SPDIFRX_SetParityBit(FunctionalState NewState);
-
- uint32_t SPDIFRX_ReceiveData(void);
- void SPDIFRX_RxDMACmd(FunctionalState NewState);
- void SPDIFRX_CbDMACmd(FunctionalState NewState);
- void SPDIFRX_ITConfig(uint32_t SPDIFRX_IT, FunctionalState NewState);
- FlagStatus SPDIFRX_GetFlagStatus(uint32_t SPDIFRX_FLAG);
- void SPDIFRX_ClearFlag(uint32_t SPDIFRX_FLAG);
- ITStatus SPDIFRX_GetITStatus(uint32_t SPDIFRX_IT);
- void SPDIFRX_ClearITPendingBit(uint32_t SPDIFRX_IT);
- #ifdef __cplusplus
- }
- #endif
- #endif
|