|
我调试时先关闭了发射端和接收端的自动应答,其配置如下:
发射端:SPI_RW_Reg(WRITE_REG + EN_AA, 0x00); //失能通道0自动应答
SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x00); //失能接收通道0
SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x00); //失能自动重发
接收端:SPI_RW_Reg(WRITE_REG + EN_AA, 0x00); //失能通道0自动应答
SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); //接收要使能接收通道0
在这种情况下,经测试发射端能正常发送数据,接收端也能收到数据。可是一开启自动应答,配置改为:
发射端:SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); //使能接收通道0自动应答
SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); //使能接收通道0
SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x1a); //自动重发10次,间隔500us
接收端:SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); //失能通道0自动应答
SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); //接收要使能接收通道0
此时接收端就无法接收数据了,调试时接收端STATUS寄存器的值一直为0x0E。
不知道问题究竟出在何处,请大侠指教。。。。。 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|