📄 spi.c
字号:
/*
sbit a0=ACC^0; //定义ACC的位,利用ACC操作速度最快
sbit a1=ACC^1;
sbit a2=ACC^2;
sbit a3=ACC^3;
sbit a4=ACC^4;
sbit a5=ACC^5;
sbit a6=ACC^6;
sbit a7=ACC^7;
void SpiSend(unsigned char Buf)
{
ACC=Buf;
SPI_SCK=0;SPI_DO=a7;SPI_SCK=1;
SPI_SCK=0;SPI_DO=a6;SPI_SCK=1;
SPI_SCK=0;SPI_DO=a5;SPI_SCK=1;
SPI_SCK=0;SPI_DO=a4;SPI_SCK=1;
SPI_SCK=0;SPI_DO=a3;SPI_SCK=1;
SPI_SCK=0;SPI_DO=a2;SPI_SCK=1;
SPI_SCK=0;SPI_DO=a1;SPI_SCK=1;
SPI_SCK=0;SPI_DO=a0;SPI_SCK=1;
SPI_DO=1;
}
unsigned char SpiReceive(void)
{
SPI_SCK=0;SPI_SCK=1;a7=SPI_DO;
SPI_SCK=0;SPI_SCK=1;a6=SPI_DO;
SPI_SCK=0;SPI_SCK=1;a5=SPI_DO;
SPI_SCK=0;SPI_SCK=1;a4=SPI_DO;
SPI_SCK=0;SPI_SCK=1;a3=SPI_DO;
SPI_SCK=0;SPI_SCK=1;a2=SPI_DO;
SPI_SCK=0;SPI_SCK=1;a1=SPI_DO;
SPI_SCK=0;SPI_SCK=1;a0=SPI_DO;
return(ACC);
}
*/
void SpiSend(unsigned char Buf)
{
unsigned char i;
i=8;
do
{
SPI_SCK=0;
SPI_DO=0;
if(Buf&0x80) SPI_DO=1; //先送出高位
Buf<<=1; //左移一位
SPI_SCK=1;
}
while(--i);
SPI_DO=1;
}
unsigned char SpiReceive(void)
{
unsigned char i,Buf;
for(i=0;i<8;i++)
{
SPI_SCK=0;
Buf<<=1; //左移一位
SPI_SCK=1;
Buf&=0xfe; //第一位清0
if(SPI_DI) Buf|=0x01; //置1
}
return(Buf);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -