Board logo

标题: 关于MC33594的配置问题 [打印本页]

作者: hanjun82    时间: 2006-9-25 23:11     标题: 关于MC33594的配置问题

请教个问题我用51单片机模拟SPI,配置MC33594,在上电复位后,读取MC33594的三个配置寄存器值,可读到的都是FF,也就是MISO一直是高电平,为什么呀?而且我在写配置和读配置的时候到加了DELAY,找了一个星期了,还是找不到问题出在哪,配置程序如下:cr1=0x77;cr2=0xb8;cr3=0xc8; read_cr1=0x80;read_cr2=0x10;read_cr3=0x20;


void send_spi(void){
uchar i,j;
uchar sebuf[3];


delay_1ms();
sebuf[0]=cr1;
sebuf[1]=cr2;
sebuf[2]=cr3;


sclk=0;
for(j=0;j<3;j++){
for(i=8;i>0;i--){
if(sebuf[j]&0x80)
mosi=1;
else mosi=0;
sclk=1;
sebuf[j]<<=1;
wait(20);
sclk=0;
wait(20);
}
}
}


void read_config(void){
uchar i,j;
sendbuf[0]=read_cr1;
sendbuf[1]=read_cr2;
sendbuf[2]=read_cr3;
delay_1ms();
sclk=0;
for(j=0;j<3;j++){
for(i=8;i>0;i--){
if(sendbuf[j]&0x80)
mosi=1;
else mosi=0;
sclk=1;
sendbuf[j]<<=1;
wait(20);
sclk=0;
if(miso==1)
sendbuf[j]=sendbuf[j]|0x01;
wait(20);
}
}
}


两个程序之间加了DELAY.请大家帮我看看问题出在什么地方.


作者: hanjun82    时间: 2006-9-25 23:14

自己先顶一下,做过TPMS的好好帮忙看看哦,偶都为这个郁闷一星期了,电路都是按照DATASHEET来的,硬件应该没有问题的.谢谢大家了[em27]
作者: luckydog    时间: 2006-9-26 11:20

1. 检查RESETB信号,是否为低
2. 如果RESETB信号为低,请看示波器上的波形MOSI,MISO,是否正确,数据在CLK的下降沿采样,在上升沿(33594)发送。
3.配置和读数据时,clk均为24个脉冲。(三个8-bit)。
作者: hanjun82    时间: 2006-9-26 17:50

检查过了,RESETB信号为低.示波器上MOSI,MISO,均有方波,SCLK也有脉冲.配置和读数据的时候,SCLK均为24个脉冲,MCU为主,上升沿发送,下降沿接收数据.但读到的值还是FF,奇怪了!百思不得其解




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0