Board logo

标题: 继续问个SPI通信的问题,大家帮忙看看 [打印本页]

作者: strongchen    时间: 2007-1-29 09:27

有没有用示波器看过三个通讯脚上的波形?
作者: reallin    时间: 2007-1-29 21:08     标题: 继续问个SPI通信的问题,大家帮忙看看

在调SPI通信的过程中,发现一个很奇怪的问题
我的slave能正常接收master传来的数据,可是master却不能总是接不对slave的数据,不知道什么原因,开始认为是不是miso角没有上拉引起,现在加了上拉似乎也没有什么改善。
unsigned char n;
SPI0_SCR; //clear overflow flag
SPI0_DRR; //clear overflow flag
while ( !(SPI0_SCR & 0x0001) )asm(nop);
for ( n = 0; n < 34; n++ ){
SPI0_DTR = 0x0F0F;
while ( !(SPI0_SCR & 0x0008) )asm(nop);
Receive[n] = SPI0_DRR; //Receive is a data array.
delayus(4); //delay function.
}

master的发送和接收都是查询完成,没开中断,程序如上。
想向大家请教下什么原因会引起这种问题,看到的都给点建议啊,谢谢。

[此贴子已经被作者于2007-1-29 21:08:19编辑过]


作者: reallin    时间: 2007-1-29 21:11

由于以前没遇上过类似的情况,所以PCB走线都在内层走了,不好看,伤心。
现在收到的数据好像总是左移了一位,不知道是哪里设置有问题,
继续研究中,不行就只能过两天再弄块调试板出来看看了....
作者: reallin    时间: 2007-1-30 08:58

现在看来主要是传输干扰的原因,波特率调的太高了
看来波特率不宜太高,调低点好多了。




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