首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于MC33594的配置问题

关于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.请大家帮我看看问题出在什么地方.

梦想
自己先顶一下,做过TPMS的好好帮忙看看哦,偶都为这个郁闷一星期了,电路都是按照DATASHEET来的,硬件应该没有问题的.谢谢大家了[em27]
梦想
1. 检查RESETB信号,是否为低
2. 如果RESETB信号为低,请看示波器上的波形MOSI,MISO,是否正确,数据在CLK的下降沿采样,在上升沿(33594)发送。
3.配置和读数据时,clk均为24个脉冲。(三个8-bit)。
检查过了,RESETB信号为低.示波器上MOSI,MISO,均有方波,SCLK也有脉冲.配置和读数据的时候,SCLK均为24个脉冲,MCU为主,上升沿发送,下降沿接收数据.但读到的值还是FF,奇怪了!百思不得其解
梦想
返回列表