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

📄 spi.c

📁 Mp3 Player using ATmega128, VS1003B, Character LCD. Test OK.Good Sound.
💻 C
字号:
#include <avr/io.h>

#include "spi.h"
#include "global.h"

void SPI_Init()	// SPI 烹脚 檬扁拳 窃荐
{
	sbi(SPI_DDR, SS);	// Master 葛靛俊辑绰 (PB0锅 巧阑 荤侩窍瘤 臼酒档) 怖 免仿栏肺 汲沥秦 林绢具 窃
	sbi(SPI_DDR, SCK);	// SCK 巧阑 免仿栏肺 汲沥
	sbi(SPI_PORT, SCK); // SCK = high
	sbi(SPI_DDR, MOSI);	// MOSI 巧阑 免仿栏肺 汲沥
	cbi(SPI_DDR, MISO);	// MISO 巧阑 涝仿栏肺 汲沥
}

// Mode 0 : MCU <-> vs1003 (SCI 烹脚俊 荤侩(力绢疙飞 价荐脚 = SCI Read, Write)
// Mode 3 : MCU <-> SD墨靛, MCU -> vs1003 (SDI 烹脚俊 荤侩: mp3 单捞磐 傈价)
void SPI_Mode(U8 mode)
{

//	sbi(SPCR, SPE);		// Enable SPI 
//	cbi(SPCR, DORD);	// Data 傈价鉴辑(0 : MSB / 1 : LSB何磐 傈价)
//	sbi(SPCR, MSTR);	// Master mode(0 : Master / 1 : Slave)


	if (mode == 0)
	{
		SPCR=0x5C;		// 2MHz
		cbi(SPSR, SPI2X);
	}

	else if (mode == 3)
	{		
		SPCR=0x5C;		// 4MHz
		sbi(SPSR, SPI2X);
	}

}

U8 SPI_Transfer_Byte(U8 data)
{
	
	U8 temp=0;

	SPDR = data;		// 单捞鸥 傈价

	while((SPSR & 0x80)==0x00);
		temp = SPDR;	// 单捞鸥 荐脚

	return temp;
}

⌨️ 快捷键说明

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