我使用宏晶51MCU读ST7538。51带有SPI接口。原理图如上:
我想读ST7538的控制寄存器里的内容。可是总是不成功。是不是读ST7538控制寄存器默认采取同步方式?我是用SPI方式读控制寄存器。
void read_7538register()//读控制寄存器
{ //准备读控制寄存器
P3_7=1; //RxTx=1
P2_7=1; //REG_DATA=1
SPCTL=0x44;//SSIG=0,SPEN=1(SPI使能),MSTR=0,CPHA=1,
P2_0=0; //SS=0:设51为SPI从机
for(N=2;N>=0;N--)
{
if((SPSTAT&0xc0)==0x80) //if(SPIF==1);SPIF传输完成标志位
{
P2_0=0; //ss=0
ControlRegister[N]=SPDAT;
send_char_com(ControlRegister[N]);//通过串口发送数据到电脑终端显示
SPSTAT=(SPSTAT&0x3F); //SPIF清0
}
}
//P3_3=0; //如果读取完成,则D12绿灯亮
////////////////////////////////////////////////////////////
}
我始终读不出数据。不知是什么原因?请哪位DX指点一下。
[此贴子已经被作者于2006-5-10 9:40:51编辑过]
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |