MirfV2/NRF24L01 SPI Timing questions

Sorry for my last post with all that code. I was somewhat frustrated and dismayed at the time.

Here’s my Q tho:

My inexpensive PC USB ocsilliscope (Hobbylab) is only capable of 8Mz max reading on a logic source…so intead of running the SPI at 5Mhz (cant pickup the pulses…Logic probe too slow) I had been running at the lowest speed (312.5Khz). I can probably run SPI at the mid speed (1.25 Mgz) and still be able to measure the pulses. At 312.5 Khz, the data (MOSI) pulses are on the avge of 3.75 microseconds wide. Is this too slow for the NRF24L01 to set registers?

The reason I ask is that when I set the registers and then read them back they still remain not set. I can see the proper pulses to the Mirf (MOSI) and pulses back from the Mirf (MISO), the raising and lowering of CE (For an avge of 18.75 microseconds) but registers are not set with any changes…for example my 5 byte TX address did not get set, nor any 1 byte registers.

I did disconnect the MOSI wire from the MIRF, but not from the Logic probe. I can see the same pulses on both MOSI and MISO with no changes from MISO.

Awhile ago I had soldered an 8 pin header onto the mirf so I could breadboard it. I refreshed those solder connections just to make sure there are no problems there. I also recheck wires every time I setup for working with this project.

Thnx in advance

HG

You are operating the CSN line properly, correct? You don’t mention it anywhere in your post.

oops, yes I am bringing CSN low pauseing 10mcs and then send reg command out the SPBUF. Wait in a loop until buffer is empty (read SPBUF) and then send the reg value out. wait again for BF=0 (read SPBUF), set SSPIF =0, then raise CSN. wait 10 mcs befor next reg set.

Should i put a pause in between the second reading of SSPBUF and raising CSN?

i had two pics talking to each other at his slow data rate, but i wasnt sure if the nrfL024 had crucial timing constraints in the width of the data pulses vs. setting its internal registers.

HG

oh, when i said that about CE, i mispoke…that what when I was trying to pulse data out…just scratch that. I keep CE low during reg setup, and of course leave it low except when attemting to TX (thats when it was pulsed for avge 18.75 ms).

HG