新手上路
- 积分
- 33
- 金钱
- 33
- 注册时间
- 2015-10-15
- 在线时间
- 0 小时
|
5金钱
主机发
while (1)
{
SPI_WriteByte(SPI2,DI);
SPI_WriteByte(SPI2,0xa);
SPI_WriteByte(SPI2,0xa);
DI++;
delay_ms(10000);
}
从机收
while (1)
{
rdata=SPI_ReadByte(SPI1);
rdata1=SPI_ReadByte(SPI1);
rdata2=SPI_ReadByte(SPI1);
printf("\n 从机 %x %x %x \n",rdata,rdata1,rdata2);
delay_ms(10000);
}
结果
从机 6d 0 0
从结果中可见后面主机两次发的数据从机都没有收到,很是奇怪。但是如果我在每个发和接语句后都加上延时delay_ms(10000);就正常接收(6d a a),请大神看看是怎么回事?
|
|