I have one transceiver configured to receive and the other to transmit and it seems like it’s getting data but never the correct data. My question is…am I setting them up correctly. I am programming with codevision/bootloader and just using input/output pins. This may be a stupid question but am I supposed to use the TX/RX pins? I didn’t see anything in the datasheets about using them.
what have you got the rf24G hooked up to? How are you interfacing the 2 (i2c, spi, etc.)?
If you set up correctly to receive with 8 bit address and no CRC you will constantly be receiving noise. set address to 40 bits and crc to 16 and see what happens.
there is an app note on the laipac website site about how to hook up the Rf24G using spi (I’ll have a look see if i can find it).
I assume atmega16 has spi interface. Lets say your only using channel 1. Join Clk1 of RF24G and SCK of atmega16. Split the data line via 2 1K resistors to the MOSI and MISO pins of the atmega126, i.e. data line goes via 1K to MOSI, and via another 1k to MISO. The CE and CS pins can go to any I/O pins. Then you can write and read data to the RF24G by just reading or writing to the SPI data register (consult the atmega16 datasheet for exact use of spi).
Follow the timing diagrams in the rf24G datasheet carefully. Alos try shockburst mode first, it is the easiest. After hooking it up set up the chip to receive mode, 8 bit address, no CRC and the DR1 line should toggle continuosly indicating received noise.
Does it matter which nibble (MOSI, MISO) is the upper or lower nibble? My code is very similar to the sample code Nathan put on the website so the timing specs are the same. I believe my only problem is the hardware wiring.