VirtualWire RF without interrupt/timer


For my current project I need to send and receive some data over RF.
I was trying to use VirtualWire, but i'm running out of timers on my Arduino.
I was thinking it isn't really needed to use timers for these receive/send parts of my program.
The program doesn't really need to do anything else while receiving/sending.

So is there a way I can use RF using just functions like: send(data); and receive(timeout);
The send functions needs to send the data and then just go on. For the receive function I think a timeout should be build in.
So it will be checking for incoming data for a certain amount of time and then go on with the program.

Is there already something like this or can someone help me reverse engineer the VirtualWire library it's code to create such functions?


I have the same problem.
But your suggestion might not work.
The timing is used for the protocol.

I plan to make a seperate RF Arduino and program it as a I2C slave.
My master Arduino uses I2C to communicate with the slave Arduino.

Those receivers have AGC (Automatic Gain Control). My receiver generates 2000 interrupts per second. So that's one more reason to have a seperate Arduino for this.

I have not yet looked into the transmitter part. But I plan to do that also on the slave Arduino.

Using a second microcontroller isn't an option for me.