spi.c

来自「AVR单片机系统开发经典实例部分源程序」· C语言 代码 · 共 56 行

C
56
字号
#include "SPI.h"


//---------------------------------
//
//        SPI初始化函数 
//
//---------------------------------
void SPI_Init(void)
{ 
	SPI_SCK_OUT();
	SPI_MOSI_OUT();
	SPI_MISO_IN();
	PORTB = 0xFF;
	SPI_Low();
}


//---------------------------------
//
//     SPI低速模式设置函数 
//
//---------------------------------
void SPI_Low(void)
{
	SPCR |=(1<<SPE)|(1<<MSTR)|(1<<SPR1)|(1<<SPR0);
	SPSR &= ~(1<<SPI2X);
}



//---------------------------------
//
//     SPI高速模式设置函数 
//
//---------------------------------
void SPI_High(void)
{
	SPCR = (1<<SPE)|(1<<MSTR);
	SPSR |= (1<<SPI2X);
}


//---------------------------------
//
//SPI收发函数 
//val:要发送的数据
//SPDR:返回数据
//
//---------------------------------
uint8 SPI_SrByte(uint8 val)
{
	SPDR = val;
	while(!(SPSR & (1<<SPIF)));
	return SPDR;
}

⌨️ 快捷键说明

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