spi.c

来自「RC522完整程序无需修改可放心使用」· C语言 代码 · 共 51 行

C
51
字号
#include  "my_head.h"
/*********************************************/
#define   MOSI       P1_5
#define   MISO       P1_6
#define   SPI_SCK    P1_7
//-------------------------
void  Init_spi(void)
{
   MISO  =  1;
   MISO  =  1;
   SPI_SCK= 1;
   //SS    =  1;
}


BYTE  KeySpiByte_SendReceive(BYTE  sdat)
{
  BYTE  i,rdat=0;//must=0!
  for(i=0;i<8;i++ )
   	{
     SPI_SCK = 0;              //(0)
     MOSI = (bit)(sdat & 0x80);//(1)
	 rdat<<=1;                 //(2)
	 rdat |= MISO;             //(3)
     SPI_SCK = 1;              //(4)  
	 sdat<<=1;                 //(5)
    }
  return(rdat);
}


BYTE  MemSpiByte_SendReceive(BYTE  sdat)
{
  BYTE  i,rdat=0;//must=0!
  for(i=0;i<8;i++ )
   	{
     SPI_SCK = 0;              //(0)
     MOSI = (bit)(sdat & 0x80);//(1)
	 rdat<<=1;                 //(2)
 	 _nop_(),_nop_();
     SPI_SCK = 1;              //(3)
	 _nop_(),_nop_();
	 rdat |= MISO;             //(4)
	 sdat<<=1;                 //(5)
    }
  return(rdat);
}



⌨️ 快捷键说明

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