I'm currently working on a project that involves an Arduino Uno and a CC1101 module (E07-M1101D). However, I've encountered some challenges with transmission delays and the module hanging after a few loops. I would greatly appreciate any guidance or suggestions to help me overcome these issues.
The primary problem I'm facing is a significant delay between consecutive SendData function calls. Moreover, after a few loops, the CC1101 module stops sending signals entirely. I have attempted to adjust the transmission settings, introduce delays, and reset the module, but the issue persists.
what happens if you add a delay in the loop, to send only once per second for example and if you get rid of all the special selections and use the defaults?
That is unlikely, so please explain how you know this.
You need to describe the entire setup, both TX and RX. Please post links to the modules and a wiring diagram, with pins and connections clearly labeled. Hand drawn is preferred.
I strongly doubt that this will work as you expect, and that you are using the library correctly. Study the library documentation and examples more carefully,
void setup() {
ELECHOUSE_cc1101.Init(); // must be set to initialize the cc1101!
ELECHOUSE_cc1101.setMHZ(434.70); // Here you can set your basic frequency. The lib calculates the frequency automatically (default = 433.92).The cc1101 can: 300-348 MHZ, 387-464MHZ and 779-928MHZ. Read More info from datasheet.
}
void loop() {
ELECHOUSE_cc1101.SendData(preamble, preambleBytes);
ELECHOUSE_cc1101.SendData(code, codeBytes);
delay(1000);
}
I know it since i have an RTR SDR that shows me the signals coming out of the CC1101. Here is a screenshot I took of SDR#, the 2 dots in the middle are the 2 transmissions. After these two I do not observe any more transmissions.
The documentation does not explicitly explain the purpose of the parameter, but it does act like a delay that is taking place after the sending of the data. Here is the full working code: