AnsweredAssumed Answered

Zigbee Beestack UART Issue with UART Baudrate at runtime

Question asked by Jose Pena on Aug 12, 2016
Latest reply on Sep 1, 2016 by Jose Pena

Zigbee Beestack Wireless UART Issue with UART Baudrate

Good Morning to Everybody:

 

I am writing an application that needs to change the uart baudrate at runtime several times. After some infructuous work with a generic zigbee application i decided to go back to the Wireless UART Example.

The wireless UART has an option to change the baudrate at runtime when the application is running. It supposed to make a cycle between 1200, 2400, 4800, 9600, 19200, 38400. The application starts with 38400 when it passes to Application mode.

 

Later when the user press SW4 for the first time, the application cycle runs to the next baudrate (1200).

 

 

When the application cycle for the second time, the UART baudrate stares at 844bps when it supposed to be at 2400.

 

 

Here we measure the baud rate with the logic analyser and we get

 

At a third time with the SW4, the UART cycle runs at a 759 baudrate where it supposed to be at 4800.

 

After the UART gets this baudrate (759bps) the application won't change its baudrate any more.

 

The UartGetStatus function returns 0x00 (everything ok) after each change.

Something to note is that the UartGetConfig function doesn't return the real UART baudrate, but the other parameters.

 

This issue is present either working with IAR Embedded Workbench form ARM (we use version 7.10) and the Kinetis Design Studio 2.0 or 3.2.

We are using Beestack 4.0.1 (Beekit 3.0.2).

 

The tests were made with two TWR-KW21 (Zigbee Coordinator and Zigbee Router) as with our own test boards, showing the same results.

 

Is there an error with the beestack or is the silicon that has this issue? If it is the beestack, how can we solve this to succesufully change the baudrate of the UART at runtime as many times the application needs?

 

Thanks in advance.

Outcomes