Hi,
I'm having some odd behaviour talking to an RFM22; I have to send it 40+ bytes of data to send to its FIFO ready to transmit plus other sundry things, and bit-banging was all taking too long.
So I cranked up the PICAXE speed with setfreq m32 which all works fine except for a very small part of the code polling the RFM22's status registers looking for the interrupt to indicate that the packet (FIFO content) has been sent after I've put the RFM22 in TX mode.
If I run that one small part faster than 8MHz (setfreq m8) it becomes very unreliable on my soldered-up strip-board but is still OK on a breadboard for the same circuit. There are some decoupling caps on both (in fact an extra one on the soldered board).
I was wondering if the 18M2+ is marginal at 3.3V at 16MHz or above while doing significant (SPI, in this case) I/O, for example? The RFM22 is probably pulling hard on the supply lines and injecting lots of RF all over the place at that point.
The code is LONG but I can point to it if anyone wants a laugh.
I have a work-round but it appals me so much that I've spent the whole day trying to work round my workround!
Rgds
Damon
I'm having some odd behaviour talking to an RFM22; I have to send it 40+ bytes of data to send to its FIFO ready to transmit plus other sundry things, and bit-banging was all taking too long.
So I cranked up the PICAXE speed with setfreq m32 which all works fine except for a very small part of the code polling the RFM22's status registers looking for the interrupt to indicate that the packet (FIFO content) has been sent after I've put the RFM22 in TX mode.
If I run that one small part faster than 8MHz (setfreq m8) it becomes very unreliable on my soldered-up strip-board but is still OK on a breadboard for the same circuit. There are some decoupling caps on both (in fact an extra one on the soldered board).
I was wondering if the 18M2+ is marginal at 3.3V at 16MHz or above while doing significant (SPI, in this case) I/O, for example? The RFM22 is probably pulling hard on the supply lines and injecting lots of RF all over the place at that point.
The code is LONG but I can point to it if anyone wants a laugh.
I have a work-round but it appals me so much that I've spent the whole day trying to work round my workround!
Rgds
Damon