Troubleshooting
Printf() troubleshooting
Try not to use Printf().
If needed, use Printf() in main-while() with sufficient time delay.
printf() can cause a bottleneck for other processing
Do not use Printf() in a Timer Interrupt IRQ handler function.
In some cases, using printf() in a Timer Interrupt for debugging your algorithm can freeze the processor
Do not use Printf() just before USARTwrite() for the same variable
In some cases, using printf() then USARTwrite() of a variable value can send "blank" message .
e.g.
printf("%c",value1);
// USART2,
USARTWrite(usart1, &value1) // other serial
This can send '__' blank value to USART1
Zigbee communication troubleshooting
When Connecting Each Zigbee to each MCU on a different Laptop.
VCC/GND check
VCC and GND pins of Zigbee modules (for different laptops) MUST NOT be connected with the same MCU
Separate the two Zigbee-MCU vcc/gnd pins
Try not to use breadboard between Zigbee and MCUs
Unstable power source from Laptop
Try to use external power adaptor for MCU, instead of laptop
Laptop with battery may not give stable 5V that can cause communication error
Check if Laptop is connected to the power adaptor, not on battery.
For Debugging,
Use the same Laptop for checking the communication between two zigbee-MCU modules
Last updated