📄 spi.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -