spi_slave.c

来自「AVR的SPI的通信例子」· C语言 代码 · 共 31 行

C
31
字号
#include "SPI_Slave.h"


void  SPIInit(void)
{
  volatile INT8U  temp;
  DDRB |= (1<<MISO);
  DDRB &=~((1<<MOSI)|(1<<SS)|(1<<SCK));
  PORTB&=~(1<<MISO);
  SPCR  = 1<<SPE;                           //SPI允许,MSB,不允许SPI中断,极性方式00,1/2系统时钟速率
  SPSR  = 1<<SPI2X;
  temp  = SPSR;
  temp  = SPDR;                            //清空SPI,和中断标志,使SPI空闲
}

void SPIPutChar(INT8U data)
{
  SPDR=data;
}

INT8U SPIGetChar(void)
{
  INT8U data;
  data=SPDR;
  while(!(SPSR&(1<<SPIF)));
  data=SPDR;
  data=SPDR;
  return data;
}
/*-------------------------------End Of File-------------------------------*/

⌨️ 快捷键说明

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