spimaster.c

来自「用单片机的SPI串口实现数据发送和接收的C语言代码」· C语言 代码 · 共 50 行

C
50
字号
#include <avr/io.h>

void SPI_MasterInit(void);
void SPI_MasterTransmit(char cData);
void DelayMs(long int);

main(void)
{
	SPI_MasterInit();
	DelayMs(200);
	PORTB&=~(1<<4);
	while(1)
	{
		SPI_MasterTransmit(0x6e);
		DelayMs(5);
		SPI_MasterTransmit(0x69);
		DelayMs(5);
		SPI_MasterTransmit(0x68);
		DelayMs(5);
		SPI_MasterTransmit(0x61);
		DelayMs(5);
		SPI_MasterTransmit(0x6f);
		DelayMs(5);
		SPI_MasterTransmit(0x20);
		DelayMs(1000);
	}
}

void SPI_MasterInit(void)
{
	DDRB=0xB8;
	PORTB|=(1<<4);
	SPCR=(1<<SPE)|(1<<MSTR)|(1<<SPR0);
}

void SPI_MasterTransmit(char cData)
{
	SPDR=cData;
	while(!(SPSR&(1<<SPIF)))
		;
}
void DelayMs(long int s)
{
	int t;
	while(s--)
	{
		for(t=1000;t>0;t--)
			;
	}
}

⌨️ 快捷键说明

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