spi.c
来自「AVR Devolpment Board」· C语言 代码 · 共 31 行
C
31 行
#include "avr/io.h"
#define DUMP 0xFF
void SPI_Init(void)
{
DDRB|= (1<<PB4)|(1<<PB5)|(1<<PB7); /* PB4:SS PB5:MOSI PB6:MISO PB7:SCK */
DDRB&=~(1<<PB6);
SPCR = (1<<SPE)|(1<<DORD)|(1<<MSTR)|(0<<CPOL)|(0<<CPHA)|(0<<SPR1)|(0<<SPR0);/* DORD = 1 : LSB otherwise MSB */
SPSR = (1<<SPI2X);
}
void SPI_Write(unsigned char Data)
{
SPDR=Data;
while(!(SPSR&0x80));
}
unsigned char SPI_Read(void)
{
unsigned char Data;
DDRB&=~(1<<PB5);
SPDR=DUMP;
while(!(SPSR&0x80));
Data=SPDR;
DDRB|= (1<<PB5);
return Data;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?