I have two STM8s105 MCUs and two NRF24L01+ modules. Set one as sender:
CONFIG: 0x3A
EN_AA: 0x00
EN_RXADDR: 0x03
SETUP_AW: 0x03
SETUP_RETR: 0x00
RF_CH: 0x00
RF_SETUP: 0x07
STATUS: 0x2E
OBSERVE_TX: 0x00
CD: 0x00
RX_ADDR_P0: 0xCC 0xCC 0xCC 0xCC 0xCC
RX_ADDR_P1: 0xCC 0xCC 0xCC 0xFF 0xFF
RX_ADDR_P2: 0xC3
RX_ADDR_P3: 0xC4
RX_ADDR_P4: 0xC5
RX_ADDR_P5: 0xC6
TX_ADDR: 0xCC 0xCC 0xCC 0xCC 0xCC
RX_PW_P0: 0x20
RX_PW_P1: 0x20
RX_PW_P2: 0x00
RX_PW_P3: 0x00
RX_PW_P4: 0x00
RX_PW_P5: 0x00
FIFO_STATUS: 0x11
DYNPD: 0x00
FEATURE: 0x00
NRF24L01 Send Data:
0x20 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1A 0x1B 0x1C 0x1D 0x1E 0x1F
One as receiver with 8 bits CRC enabled and ESB disabled:
CONFIG: 0x3B
EN_AA: 0x00
EN_RXADDR: 0x03
SETUP_AW: 0x03
SETUP_RETR: 0x00
RF_CH: 0x00
RF_SETUP: 0x07
STATUS: 0x0E
OBSERVE_TX: 0x00
CD: 0x00
RX_ADDR_P0: 0xCC 0xCC 0xCC 0xCC 0xCC
RX_ADDR_P1: 0xCC 0xCC 0xCC 0xFF 0xFF
RX_ADDR_P2: 0xC3
RX_ADDR_P3: 0xC4
RX_ADDR_P4: 0xC5
RX_ADDR_P5: 0xC6
TX_ADDR: 0xE7 0xE7 0xE7 0xE7 0xE7
RX_PW_P0: 0x20
RX_PW_P1: 0x20
RX_PW_P2: 0x00
RX_PW_P3: 0x00
RX_PW_P4: 0x00
RX_PW_P5: 0x00
FIFO_STATUS: 0x11
DYNPD: 0x00
FEATURE: 0x00
The receiver cannot receive any packet.
But when the CRC disabled, it works fine:
CONFIG: 0x33
EN_AA: 0x00
EN_RXADDR: 0x03
SETUP_AW: 0x03
SETUP_RETR: 0x00
RF_CH: 0x00
RF_SETUP: 0x07
STATUS: 0x02
OBSERVE_TX: 0x00
CD: 0x01
RX_ADDR_P0: 0xCC 0xCC 0xCC 0xCC 0xCC
RX_ADDR_P1: 0xCC 0xCC 0xCC 0xFF 0xFF
RX_ADDR_P2: 0xC3
RX_ADDR_P3: 0xC4
RX_ADDR_P4: 0xC5
RX_ADDR_P5: 0xC6
TX_ADDR: 0xE7 0xE7 0xE7 0xE7 0xE7
RX_PW_P0: 0x20
RX_PW_P1: 0x20
RX_PW_P2: 0x00
RX_PW_P3: 0x00
RX_PW_P4: 0x00
RX_PW_P5: 0x00
FIFO_STATUS: 0x10
DYNPD: 0x00
FEATURE: 0x00
NRF24L01 Status: 0x0E
NRF24L01 Data Received:
0x20 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1A 0x1B 0x1C 0x1D 0x1E 0x1F
Please help me, thanks!
BTW, I have a STC89C52 MCU board with integrated NRF24L01+ module. This board(CRC enabled) can receive the packet without any problem. So, I'm sure the problem is on the receiver side.
BTW 2, I use sdcc 3.4.0, stm8flash and STM8S_StdPeriph_Driver