⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p18_spi.c

📁 PIC18系列单片机
💻 C
字号:
#include "..\include.h"

#define SPI_TIMEOUT								100


void SPI_Init( void )
{
    TRISC &= 0xD7;               // clear bit 5 and bit3 to set SDO and SCK as output
    TRISC |= 0x10;               // set bit 4 to set SDI as input
    SSP1IE = 0;
    SSP1IF = 0;
    //spi mode 3
    SSP1STAT = 0x00;//CKE=0, transmite on idle to active
    SSP1CON1 = 0x30;//ckp=1, idle high
}

//#pragma optimize = z 0
void SPI_Putc( unsigned char data )
{
	unsigned short i;
	
	for ( i=SPI_TIMEOUT; i; i-- ) {		// in general the count is set to 100, this is about 1ms timeout
		SSP1BUF;				// Reset buffer
		if ( !BF1 )
			break;
	}
	SSP1BUF = data;
	for ( i=SPI_TIMEOUT; i; i-- ) {		// in general the count is set to 100, this is about 1ms timeout
		if ( BF1 )
			break;
   }
   Delay10Us( 10 );
}


unsigned char SPI_Getc( void )
{
	unsigned short i;

	for ( i=SPI_TIMEOUT; i; i-- ) {		// in general the count is set to 100, this is about 1ms timeout
      if ( BF1 )
         break;
   }
	return SSP1BUF;
}

void SimSPIInit( void )
{

}

⌨️ 快捷键说明

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