📄 cs5460a._c
字号:
//-------------------------------------------------------------
#include"cs5460a.h"
//-----------------------------------------------------------------------------
unsigned char SPI_RW(unsigned char Value)
{
unsigned char Vol=0;
/* unsigned char i;
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; /* 启动数据传输 */
while(!(SPSR & BIT(SPIF))); /* 等待传输结束 */
Vol=SPDR; /* 清除中断标志 */
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -