bspi.h
上传用户:yyyd609
上传日期:2022-07-18
资源大小:183k
文件大小:15k
源码类别:

微处理器开发

开发平台:

C/C++

  1. /******************** (C) COPYRIGHT 2003 STMicroelectronics ********************
  2. * File Name          : bspi.h
  3. * Author             : MCD Application Team
  4. * Date First Issued  : 16/05/2003
  5. * Description        : This file contains all the functions prototypes for the
  6. *                      BSPI software library.
  7. ********************************************************************************
  8. * History:
  9. *  01/01/2004 : V1.2
  10. *  14/07/2004 : V1.3
  11. *******************************************************************************/
  12. #ifndef __bspi_H
  13. #define __bspi_H
  14. #include "71x_lib.h"
  15. typedef enum {
  16.   BSPI_BERIT = 0x80,
  17.   BSPI_RCIT  = 0x10,
  18.   BSPI_ALL   = 0x90
  19. } BSPI_ITS;
  20. typedef enum {
  21.   BSPI_BERR = 0x004,
  22.   BSPI_RFNE = 0x008,
  23.   BSPI_RFF  = 0x010,
  24.   BSPI_ROFL = 0x020,
  25.   BSPI_TFE  = 0x040,
  26.   BSPI_TUFL = 0x080,
  27.   BSPI_TFF  = 0x100,
  28.   BSPI_TFNE = 0x200
  29. } BSPI_Flags;
  30. typedef enum {
  31.   BSPI_TR_FE,
  32.   BSPI_TR_UFL,
  33.   BSPI_TR_FF,
  34.   BSPI_TR_DIS
  35. } BSPI_TR_IT_SRCS;
  36. typedef enum {
  37.   BSPI_RC_FNE,
  38.   BSPI_RC_FF,
  39.   BSPI_RC_DIS
  40. } BSPI_RC_IR_SRCS;
  41. #define BSPI_PESET_Mask 0x01
  42. #define BSPI_DFIFO_Mask 0xFFFE
  43. #define BSPI_CPHA_Mask  0x200
  44. #define BSPI_CPOL_Mask  0x100
  45. #define BSPI_BSPI0_Base 0xA000
  46. #define BSPI_BSPI1_Base 0xB000
  47. /*******************************************************************************
  48. * Function Name  : BSPI_BSPI0Conf
  49. * Description    : configure STARM71x on BSPI0 mode.
  50. * Input 2        : NewState: specifies the status of the BSPI
  51. *  : NewState value must be either ENABLE or DISABLE:
  52. *  : ENABLE: the specified BSPI0 peripheral will be enabled.
  53. *  : DISABLE: the specified BSPI0 peripheral will be disabled..
  54. * Output         : SPI0 EN  bit  in BOOTCR.
  55. * Return         : None.
  56. *******************************************************************************/
  57. inline void BSPI_BSPI0Conf(FunctionalState NewState)
  58. {
  59.   if (NewState == ENABLE) PCU->BOOTCR |= 0x04; else PCU->BOOTCR &= ~0x04;
  60. }
  61. /*******************************************************************************
  62. * Function Name  : BSPI_Init
  63. * Description    : Initializes BSPI peripheral control and registers to their default reset values.
  64. * Input          : BSPIx where x can be 0 or 1 to select the BSPI peripheral.
  65. * Output         : BSPI peripheral registers and BSPI global variables are initialized.
  66. * Return         : None.
  67. *******************************************************************************/
  68. void BSPI_Init( BSPI_TypeDef *BSPIx);
  69. /*******************************************************************************
  70. * Function Name  : BSPI_Enable
  71. * Description    : Enables/disables the specified BSPI peripheral.
  72. * Input 1        : BSPIx where x can be 0 or 1 to select the BSPI peripheral to be enabled or disabled.
  73. * Input 2        : NewState: specifies the status of the BSPI
  74. *  : NewState value must be either ENABLE or DISABLE:
  75. *  : ENABLE: the specified BSPI peripheral will be enabled.
  76. *  : DISABLE: the specified BSPI peripheral will be disabled.
  77. * Output         : BSPE bit  in BSPCSR1.
  78. * Return         : None.
  79. *******************************************************************************/
  80. inline void BSPI_Enable( BSPI_TypeDef *BSPIx, FunctionalState NewState)
  81. {
  82.   if (NewState == ENABLE) BSPIx->CSR1 |= BSPI_PESET_Mask;
  83.     else BSPIx->CSR1 &= ~BSPI_PESET_Mask;
  84. }
  85. /*******************************************************************************
  86. * Function Name  : BSPI_MasterEnable
  87. * Description    : Configures the BSPI as a Master or a Slave.
  88. * Input 1        : BSPIx where x can be 0 or 1 to select the BSPI peripheral.
  89. * Input 2        : NewState: specifies whether configuring BSPI as master is enabled or disabled.
  90. *  : ENABLE: the specified BSPI will be configured as a master.
  91. *  : DISABLE: the specified BSPI will be configured as a slave.
  92. * Output         : MSTR bit in BSPCSR1 is modified register.
  93. * Return         : None.
  94. *******************************************************************************/
  95. inline void BSPI_MasterEnable(BSPI_TypeDef *BSPIx, FunctionalState NewState)
  96. {
  97.   if (NewState == ENABLE) BSPIx->CSR1 |= 0x02; else BSPIx->CSR1 &= ~0x02;
  98. }
  99. /*******************************************************************************
  100. * Function Name  : BSPI_TrItSrc.
  101. * Description    : Configures the transmit interrupt source.
  102. * Input 1        : BSPIx where x can be 0 or 1 to select the BSPI peripheral.
  103. * Input 2        : TrItSrc: specifies the transmit interrupt source.
  104. *  : Refer to the section 慣ransmit Interrupt Sources