📄 xssspdrv.c
字号:
#include "XsSspDrv.h"
#include "RegCtl.h"
#include "XsClkMgrDrv.h"
#include "XsGpioDrv.h"
void XsSspDrv_InitDefault(int Param)
{
//set GPIO direction
ASSIGN_BIT_VAL(GPIO_GPDR0_ADDR, GXXR_GPIO26_OFS, XS_GPIO_DIR_IN); // GP26 as input
ASSIGN_BIT_VAL(GPIO_GPDR0_ADDR, GXXR_GPIO23_OFS, XS_GPIO_DIR_OUT); // GP23,GP24,GP25 as output
ASSIGN_BIT_VAL(GPIO_GPDR0_ADDR, GXXR_GPIO24_OFS, XS_GPIO_DIR_OUT);
ASSIGN_BIT_VAL(GPIO_GPDR0_ADDR, GXXR_GPIO25_OFS, XS_GPIO_DIR_OUT);
//set GPIO pin function
GPIO_SET_ALT_FUNC(GPIO_GROUP1, GAFR_AF23_OFS, XS_GPIO_ALT_FUNC_2); //SCLK
GPIO_SET_ALT_FUNC(GPIO_GROUP1, GAFR_AF24_OFS, XS_GPIO_ALT_FUNC_2); //SFRM
GPIO_SET_ALT_FUNC(GPIO_GROUP1, GAFR_AF25_OFS, XS_GPIO_ALT_FUNC_2); //TXD
GPIO_SET_ALT_FUNC(GPIO_GROUP1, GAFR_AF26_OFS, XS_GPIO_ALT_FUNC_1); //RXD
//init SSP_SSCR0, SSP_SSCR0 = 0x0000,11AB;
SSP_SSCR0 = SSP_SSCR0_DSS_12 | SSP_SSCR0_FRF_MICWIRE | SSP_SSCR0_SSE;
LOAD_FIELD(SSP_SSCR0_ADDR, 11, SSP_SSCR0_SCR_OFS, SSP_SSCR0_SCR_SZ);
//init SSCR1, SSP_SSCR1 = 0x0000,0440;
SSP_SSCR1 = 0;
// Transmit FIFO interrupt threshold set to 1
LOAD_FIELD(SSP_SSCR1_ADDR, 1, SSP_SSCR1_TFT_OFS, SSP_SSCR1_TFT_SZ);
// Receive FIFO interrupt threshold set to 1
LOAD_FIELD(SSP_SSCR1_ADDR, 1, SSP_SSCR1_RFT_OFS, SSP_SSCR1_RFT_SZ);
//enable clock
CLKMGR_ENABLE_CLK(CKEN_CK_SSP_OFS);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -