Board logo

标题: 关于SPI在从机模式下的数据输出问题 [打印本页]

作者: Ruicosta1105    时间: 2008-6-30 17:45     标题: 关于SPI在从机模式下的数据输出问题

SPI工作在从机模式,经过一个芯片转换为USB口连接PC。现在给PC传数时遇到如下问题:写入一些数据,只有第一个字节的数能传到PC,以后的数据都是错误数据。感觉原因是因为第一个数据可以通过SPI0DR写入移位寄存器,后面的数据因为是工作在从机模式,时钟是不可控制,所以写入SPI0DR的数据无法写入移位寄存器。主要程序如下:

for(i=0;i<8;i++){

while(!(SPI0SR&0x20)) {
} //判断数据寄存器是否可写。第五位为1可写
SPI0DR=DATA;

}

SPI的初始化程序:

int Init_Spi(void){

DDRS=0xE0;
SPI0CR1=0x02;
SPI0CR2=0x00;
// SPI0BR=0x02; //波特率8分频
SPI0CR1=SPI0CR1|0x40;
}


作者: Ruicosta1105    时间: 2008-6-30 17:45

单片机是9S12DP256






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