NRF24L01一直处于最大重发状态
这段时间在学习stm8时想把nrf24l01从stm32移植到stm8上,但中间遇到了一个很棘手的问题,nrf24l01的频率速率地址等寄存器都设置好了,但调用发送函数时一直返回最大重发状态,state寄存器为0x1e,正常发送后应为0x2e,也就是从机没有应答,而直接使用例程可以正常通信,说明模块是正常的。找了好久终于发现问题出在了发送函数里,在往nrf24l01的TX_FIFO写入数据时要一次写入32个字节的数据,如果少于32字节就会出现达到最大重发次数的现象,即在CE=0和CE=1之间的写入fifo寄存器的操作。