新手上路,现在遇到一个问题,使用SPI连续发送64位数据,搞了很久,中间始终有间断,求大神指导!
我的意思是每次发送完8位数据后,中间好像有一个间断的时间,然后再继续发送8位数据,依此循环,怎样消除这个间断的时间,初次接触,请指导,谢谢了!
for (i = 0; i < sizeof(table); i++)
{
while((SPI_SR|0x80)==0x80);//等待上次通信结束
if((SPI_SR&0x02)==0x02);//判断发送区是否为非空
SPI_DR = table[i]; //加入要发送的数据
while ((SPI_SR|0x80)==0x80); //等待发送结束
} 大神帮忙看看错误在哪,感激不尽啊,老师催的比较紧!
这个的正常的,必须等到上一字节的发送,才可以发送下一字节。。
间断应该是正常的吧,SPI不间断应该是说它一个字节内吧,毕竟这寄存器就是8位的,写入需要一个写入周期的,不过这个时间应该是极短的,