最近在搞NRF24L01 通讯这块. 用的是F429 和 STC89C52
F429 用SPI4(发)
STC89C52(收)是模拟SPI 传输.
以上两个板子NRF_Check 都通过了, 也就是说SPI 与NRF24L01连接没有问题.
但当我F429 发数据 STC89C52收数据时 总是报发送最大次数
代码在附件中
F429_C52.zip
(11.06 KB)
有遇到同样问题的么,请求指导下.
谢谢,!
新手调试这东西 出现问题简直就是噩梦啊.
/**
* [url=home.php?mod=space&uid=247401]@brief[/url] 主要用于NRF与MCU是否正常连接
* @param 无
* @retval SUCCESS/ERROR 连接正常/连接失败
*/
u8 NRF_Check(void)
{
u8 buf[5]={0xC2,0xC2,0xC2,0xC2,0xC2};
u8 buf1[5];
u8 i;
/*写入5个字节的地址. */
SPI_NRF_WriteBuf(NRF_WRITE_REG+TX_ADDR,buf,5);
/*读出写入的地址 */
SPI_NRF_ReadBuf(TX_ADDR,buf1,5);
/*比较*/
for(i=0;i<5;i++)
{
if(buf1[i]!=0xC2)
break;
}
if(i==5)
return SUCCESS ; //MCU与NRF成功连接
else
return ERROR ; //MCU与NRF不正常连接
}
|