📄 spi.c
字号:
#include <p18f248.h>
char n=0;
char m[5];
void initial()
{
INTCON=0x00; /* bit7-bit0:关总中断 */
ADCON1=0X07; /* 设置数字输入输出口 */
PIE1=0; /* PIE1 的中断不使能 */
PIE2=0; /* PIE2 的中断不使能 */
PIE3=0; /* PIE3 的中断不使能 */
}
void init_spi()
{
TRISA=0x20; //主控 TRISA=0x00;从机 TRISA=0x20
TRISC=0x18; //主控 TRISC=0x00;从机 TRISC=0x18
SSPCON1bits.SSPEN=1;
SSPSTAT=0x00; //主控SSPSTAT=0x00,80 ; 从机 SSPSTAT=0x00
SSPSTATbits.CKE=0; //
SSPCON1=0x24; //主控 SSPCON1=0x22,21,20 ,20最好;从机 SSPCON1=0x25
}
char spi_rc()
{
char data;
// SSPBUF = 0x66;
do
{
;
}while(SSPSTATbits.BF==0); /* 等待SPI 发送完成 */
data = SSPBUF; /* 清SPI 发送完成标志 */
return data;
}
void delayms(unsigned int t)
{
unsigned char i;
for(;t;t--)
for(i=0;i<200;i++);
}
void main()
{
initial();
init_spi();
while(1)
{
m[n] = spi_rc();
n++;
if(n==5) n=0;
// delayms(2);
// spi_send(0x5a);
// SSPBUF = 0x03;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -