📄 software_spi.c
字号:
#include <avr/io.h>
#include <avr/interrupt.h>
#define clearbit(sfr,bit) (_SFR_BYTE (sfr) &= ~_BV(bit))
#define setbit(sfr,bit) (_SFR_BYTE (sfr) |= _BV(bit))
#define S_MOSI PORTB4
#define S_MISO PORTB3
#define S_SCK PORTB2
#define SPI_PORT PORTB
#define SPI_IN PINB
#define SPI_DIR DDRB
#define CS_PORT PORTB
#define CS PORTB1
#define CS_ON clearbit(CS_PORT,CS)
#define CS_OFF setbit(CS_PORT,CS)
#define S_MOSI_1 setbit(SPI_PORT,S_MOSI)
#define S_MOSI_0 clearbit(SPI_PORT,S_MOSI)
#define S_SCK_1 setbit(SPI_PORT,S_SCK)
#define S_SCK_0 clearbit(SPI_PORT,S_SCK)
unsigned char data2;
void port_init(void)
{
SPI_DIR |= ( 1 << CS) | ( 1 << S_MOSI ) | ( 1 << S_SCK );
}
void Software_SPI_Write(unsigned char data) // J
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -