⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spislave.c

📁 用单片机的SPI串口实现数据发送和接收的C语言代码
💻 C
字号:
#include <avr/io.h>

void USART_Init(unsigned int baud);
void USART_Transmit(unsigned char data);

void SPI_SlaveInit(void);
char SPI_SlaveReceive(void);

main(void)
{
	char rec;
	USART_Init(25);
	SPI_SlaveInit();
	while(1)
	{
		rec=SPI_SlaveReceive();
		USART_Transmit(rec);
	}
}

void SPI_SlaveInit(void)
{
	DDRB=0x20;
	SPCR=(1<<SPE);
}

char SPI_SlaveReceive(void)
{
	while(!(SPSR&(1<<SPIF)))
		;
	return SPDR;
}

void USART_Init(unsigned int baud)
{
	
	UBRR0H = (unsigned char)(baud>>8);
	UBRR0L = (unsigned char)baud;
	
	UCSR0B|=(1<<RXEN0)|(1<<TXEN0);
	
	UCSR0C|=(1<<URSEL0)|(3<<UCSZ00);
	
}

void USART_Transmit(unsigned char data)
{
	while((UCSR0A&(1<<UDRE0))==0)
		;
	UDR0=data;
}

⌨️ 快捷键说明

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