我用的是MC9S08DZ16芯片和CJ125进行SPI通讯,我将命令存入SPID寄存器,然后等待SPRF位置1,然后读取SPID寄存器值,为什么读到的还是我发送的命令
void init_spi(){
SPIC2=0x10;
SPIS=0xB0;
SPIBR=0x70;
SPIC1=0x5e;
}
void WriteOneChar(uchar dat) {
while(!SPIS_SPTEF);
SPID=dat;
}
void ReadOneChar(uchar cmd,uchar comdlength) {
uchar i;
i=0;
WriteOneChar(cmd);
while(i<comdlength){
WriteOneChar(0x00);
while(SPIS_SPRF!=1);
buffer
=SPID;
i++;
}
}
void main(){
delay_50ms(2);
init_spi();
ReadOneChar(0x6c,1);
while(1){
显示buffer[0]的值
}
}
我读到的buffer[0]一直是我发送的6c,也就是108
此帖出自小平头技术问答
是不是要改为 buffer=SPID;
一周热门 更多>