📄 p18_spi.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 + -