| /******************** (C) COPYRIGHT 2006 STMicroelectronics ******************** | |
| * File Name : 75x_SSP.h | |
| * Author : MCD Application Team | |
| * Date First Issued : 03/10/2006 | |
| * Description : This file contains all the functions prototypes for the | |
| * SSP software library. | |
| ******************************************************************************** | |
| * History: | |
| * 07/17/2006 : V1.0 | |
| * 03/10/2006 : V0.1 | |
| ******************************************************************************** | |
| * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS | |
| * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. | |
| * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, | |
| * INDIRECT OR CONSEQUENTIAL 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. | |
| *******************************************************************************/ | |
| /* Define to prevent recursive inclusion -------------------------------------*/ | |
| #ifndef __75x_SSP_H | |
| #define __75x_SSP_H | |
| /* Includes ------------------------------------------------------------------*/ | |
| #include "75x_map.h" | |
| /* Exported types ------------------------------------------------------------*/ | |
| /* SSP Init structure definition */ | |
| typedef struct | |
| { | |
| u16 SSP_FrameFormat; | |
| u16 SSP_Mode; | |
| u16 SSP_CPOL; | |
| u16 SSP_CPHA; | |
| u16 SSP_DataSize; | |
| u16 SSP_NSS; | |
| u16 SSP_SlaveOutput; | |
| u8 SSP_ClockRate; | |
| u8 SSP_ClockPrescaler; | |
| }SSP_InitTypeDef; | |
| /* Exported constants --------------------------------------------------------*/ | |
| /* SSP Frame Format Select */ | |
| #define SSP_FrameFormat_TI 0x0010 | |
| #define SSP_FrameFormat_Motorola 0xFFCF | |
| /* SSP Master/Slave Select */ | |
| #define SSP_Mode_Master 0xFFFB | |
| #define SSP_Mode_Slave 0x0004 | |
| /* SSP Clock Polarity */ | |
| #define SSP_CPOL_Low 0xFFBF | |
| #define SSP_CPOL_High 0x0040 | |
| /* SSP Clock Phase */ | |
| #define SSP_CPHA_1Edge 0xFF7F | |
| #define SSP_CPHA_2Edge 0x0080 | |
| /* SSP Data Size */ | |
| #define SSP_DataSize_16b 0x000F | |
| #define SSP_DataSize_15b 0x000E | |
| #define SSP_DataSize_14b 0x000D | |
| #define SSP_DataSize_13b 0x000C | |
| #define SSP_DataSize_12b 0x000B | |
| #define SSP_DataSize_11b 0x000A | |
| #define SSP_DataSize_10b 0x0009 | |
| #define SSP_DataSize_9b 0x0008 | |
| #define SSP_DataSize_8b 0x0007 | |
| #define SSP_DataSize_7b 0x0006 | |
| #define SSP_DataSize_6b 0x0005 | |
| #define SSP_DataSize_5b 0x0004 | |
| #define SSP_DataSize_4b 0x0003 | |
| /* SSP Slave Select management config */ | |
| #define SSP_NSS_Hard 0xFFEF | |
| #define SSP_NSS_Soft 0x0010 | |
| /* SSP NSS internal config */ | |
| #define SSP_NSSInternal_Set 0x0020 | |
| #define SSP_NSSInternal_Reset 0xFFDF | |
| /* SSP Slave output config */ | |
| #define SSP_SlaveOutput_Enable 0xFFF7 | |
| #define SSP_SlaveOutput_Disable 0x0008 | |
| /* SSP Interrupts */ | |
| #define SSP_IT_TxFifo 0x0008 | |
| #define SSP_IT_RxFifo 0x0004 | |
| #define SSP_IT_RxTimeOut 0x0002 | |
| #define SSP_IT_RxOverrun 0x0001 | |
| /* SSP Flags */ | |
| #define SSP_FLAG_Busy 0x0024 | |
| #define SSP_FLAG_RxFifoFull 0x0023 | |
| #define SSP_FLAG_RxFifoNotEmpty 0x0022 | |
| #define SSP_FLAG_TxFifoNotFull 0x0021 | |
| #define SSP_FLAG_TxFifoEmpty 0x0020 | |
| #define SSP_FLAG_TxFifo 0x0043 | |
| #define SSP_FLAG_RxFifo 0x0042 | |
| #define SSP_FLAG_RxTimeOut 0x0041 | |
| #define SSP_FLAG_RxOverrun 0x0040 | |
| /* SSP DMA Requests */ | |
| #define SSP0_DMA_Transmit 0x0002 | |
| #define SSP0_DMA_Receive 0x0001 | |
| #define SSP0_DMATxReq_Single 0xFFF7 | |
| #define SSP0_DMATxReq_Burst 0x0008 | |
| #define SSP0_DMARxReq_Single 0xFFFB | |
| #define SSP0_DMARxReq_Burst 0x0004 | |
| /* Exported macro ------------------------------------------------------------*/ | |
| /* Exported functions ------------------------------------------------------- */ | |
| void SSP_DeInit(SSP_TypeDef* SSPx); | |
| void SSP_Init(SSP_TypeDef* SSPx, SSP_InitTypeDef* SSP_InitStruct); | |
| void SSP_StructInit(SSP_InitTypeDef* SSP_InitStruct); | |
| void SSP_Cmd(SSP_TypeDef* SSPx, FunctionalState NewState); | |
| void SSP_ITConfig(SSP_TypeDef* SSPx, u16 SSP_IT, FunctionalState NewState); | |
| void SSP_DMACmd(u16 SSP0_DMAtransfer, FunctionalState NewState); | |
| void SSP_DMATxConfig(u16 SSP0_DMATxReq); | |
| void SSP_DMARxConfig(u16 SSP0_DMARxReq); | |
| void SSP_SendData(SSP_TypeDef* SSPx, u16 Data); | |
| u16 SSP_ReceiveData(SSP_TypeDef* SSPx); | |
| void SSP_LoopBackConfig(SSP_TypeDef* SSPx, FunctionalState NewState); | |
| void SSP_NSSInternalConfig(SSP_TypeDef* SSPx, u16 SSP_NSSState); | |
| FlagStatus SSP_GetFlagStatus(SSP_TypeDef* SSPx, u16 SSP_FLAG); | |
| void SSP_ClearFlag(SSP_TypeDef* SSPx, u16 SSP_FLAG); | |
| ITStatus SSP_GetITStatus(SSP_TypeDef* SSPx, u16 SSP_IT); | |
| void SSP_ClearITPendingBit(SSP_TypeDef* SSPx, u16 SSP_IT); | |
| #endif /* __75x_SSP_H */ | |
| /******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/ |