test_spi.c

来自「yl9200例子」· C语言 代码 · 共 61 行

C
61
字号
#include "AT91RM9200.h"
#include "lib_AT91RM9200.h"
#include "def.h"
#include "console.h"
#include "SPI.h"

static void InitSpiPio( void )
{
	// Enable PIOA clock for input
	AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC , ( ( unsigned int ) 1 << AT91C_ID_PIOA ) );

	// Enable PIOB clock for input
	AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC , ( ( unsigned int ) 1 << AT91C_ID_PIOB ) );

	// Enable PIOB clock for input
	AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC , ( ( unsigned int ) 1 << AT91C_ID_PIOC ) );

	//MISO
	AT91F_PIO_CfgInput( AT91C_BASE_PIOA , AT91C_PIO_PA0 );

	//MOSI, SPCK, nPCS0, nPCS1
	AT91F_PIO_CfgOutput( AT91C_BASE_PIOA , AT91C_PIO_PA1 | AT91C_PIO_PA2 | AT91C_PIO_PA3 | AT91C_PIO_PA4 );

	AT91F_PIO_SetOutput( AT91C_BASE_PIOA , AT91C_PIO_PA1 | AT91C_PIO_PA2 | AT91C_PIO_PA3 | AT91C_PIO_PA4 );

	SPCS0_H() ;
	SPCS1_DS() ;
}

/**************************************************************/
void SPI_ADS7843_Init( void )
{
	InitSpiPio() ;

	//BUSY, nPENIRQ input with pull-up
	AT91F_PIO_CfgInput( AT91C_BASE_PIOB , AT91C_PIO_PB10 | AT91C_PIO_PB11 );
	AT91F_PIO_CfgPullup( AT91C_BASE_PIOB , AT91C_PIO_PB10 | AT91C_PIO_PB11 );
}

void SPI_MCP2510_Init( void )
{
	InitSpiPio() ;

	//nINT input with pull-up
	AT91F_PIO_CfgInput( AT91C_BASE_PIOC , AT91C_PIO_PC0 );
	AT91F_PIO_CfgPullup( AT91C_BASE_PIOC , AT91C_PIO_PC0 );
}

/**************************************************************/

void Test_SPI( void )
{
	printf( "SPI device test\n" );
	/*	
		InitSpiPio();
		SPCS0_DS();
		SPCS1_DS();
		DOUT_H();
		SPCK_H();
	*/
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?