📄 spi.c
字号:
/*****************************************************************
*SPI软件仿真程序
*SPI总线接口,高位先发送,数据在时钟的上升沿发送和接收。
* 正常情况下CLK为高电平。
******************************************************************/
#include "w77e532.h"
#include "spi.h"
void spi_init(void)
{
SPI_CLK = 1;
SPI_MOSI = 1;
SPI_MISO = 1;
}
void spi_write(char value)//mode 3
{
unsigned char bitCount;
unsigned char bitTmp;
bitTmp = value;
for( bitCount=0; bitCount<8; bitCount++)
{
if( bitTmp & 0x80 )
SPI_MOSI = 1;
else
SPI_MOSI = 0;
SPI_CLK = 0;
SPI_CLK = 1;
bitTmp <<= 1;
}
}
code char SPIREAD_ARRAY[8] = {128, 64, 32, 16, 8, 4, 2, 1};
char spi_read(void)//mode 0
{
data unsigned char bitCount;
data unsigned char bitTmp;
bitTmp = 0;
for( bitCount=0; bitCount<8; bitCount++)
{
SPI_CLK = 1;//0;
SPI_CLK = 0;//1;//cj mod
SPI_MISO = 1;
if( SPI_MISO )
bitTmp += SPIREAD_ARRAY[bitCount];
// if( bitCount != 7 )
// bitTmp <<= 1;
}
return(bitTmp);
}
/*
char spi_read(void)//mode 0
{
unsigned char bitCount;
unsigned char bitTmp;
bitTmp = 0;
for( bitCount=0; bitCount<8; bitCount++)
{
SPI_CLK = 1;//0;
SPI_CLK = 0;//1;//cj mod
SPI_MISO = 1;
if( SPI_MISO )
bitTmp |= 1;
if( bitCount != 7 )
bitTmp <<= 1;
}
return(bitTmp);
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -