xssspdrv.c

来自「usb 检验程序」· C语言 代码 · 共 39 行

C
39
字号
#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 + =
减小字号Ctrl + -
显示快捷键?