cs5460a.c.111220211140

来自「手操器」· 111220211140 代码 · 共 81 行

111220211140
81
字号
//-------------------------------------------------------------
#include"cs5460a.h"
//-----------------------------------------------------------------------------
 
unsigned char SPI_RW(unsigned char Value)
{
unsigned char i;
	unsigned char Vol=0;

	for(i=0;i<8;i++)		
	{
		Clr_CLK();
		if(Value&0x80)
			Set_MOSI();
		else
			Clr_MOSI();
		Value<<=1;		
		Set_CLK();
		Vol<<=1;
		if(MOSI)
		Vol|=1;
	}
	Clr_CLK();
	return(Vol);
/*	SPDR=Value;
	return SPDR;*/	
}

//-------------------------------------------------------------
void CS5460a_Write_Byte(unsigned char command)
{
	Clr_CS();        
	SPI_RW(command);
	Set_CS();        
	return;
}
//-------------------------------------------------------------
void CS5460a_Write(unsigned char command,
         				   unsigned char h_byte,
	         			   unsigned char m_byte,
		         		   unsigned char l_byte)
{
	SPI_RW(command);
	SPI_RW(h_byte);
	SPI_RW(m_byte);
	SPI_RW(l_byte);
	return;
}
//-------------------------------------------------------------
void CS5460A_REG_WR(unsigned char command,
         				    unsigned char h_byte,
	         			    unsigned char m_byte,
		         		    unsigned char l_byte)
{
	Clr_CS();       
	command<<=1;
	command|=0x40;
	CS5460a_Write(command,h_byte,m_byte,l_byte);
	Set_CS();         
	return;
}
//-----------------------------------------------------------------------------
long CS5460a_Read(unsigned char Reg)
{
	union WORD_BYTE Vol;
	Clr_CS();     
	Reg<<=1;
	Vol.Byte.command=SPI_RW(Reg);
	Vol.Byte.h_byte =SPI_RW(0xfe);
	Vol.Byte.m_byte =SPI_RW(0xfe);
	Vol.Byte.l_byte =SPI_RW(0xfe);
	Set_CS();          

	return(Vol.Word);
}
//-----------------------------------------------------------------------------
void CS5460a_Ini(void)
{

}

⌨️ 快捷键说明

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