|
大家帮帮忙啊,以下是我写的VS1003的读、写子程序,我就是想看看写入的数据能不能正确读出:
void Mp3Write_Register(unsigned int addressbyte,unsigned int writeHdata, unsigned int writeLdata)
{
set_MP3_XCS(1);
set_MP3_XCS(0);// 片选置0
delay_us(100);
send_16bit(0x0200|(addressbyte&0x00ff));// 发送写命令
send_16bit((writeHdata<<8)|(writeLdata&0x00ff));
delay_us(100);
set_MP3_XCS(1);// 片选置1
}
Unsigned int Mp3Read_Register(unsigned int addressbyte)
{
unsigned int resultvalue = 0;
set_MP3_XCS(1);
set_MP3_XCS(0);
delay_us(100);
send_16bit(0x0300|(addressbyte&0x00ff));// 发送读命令
delay_us(100);
set_MP3_XCS(1);
resultvalue=read_16bit();
return resultvalue;
}
我是模拟的SPI时序,其中send_16bit()和read_16bit()分别是写16字节和读16字节,可是为什么写入的0xaa,可读出来却是0呢?
是不是还要设置其他引脚?比如XDCS什么的。。我是新手,请各位大虾多多指教!!~ |
|