Forum: µC & Digital Electronics UART doesn't stop transmitting and sends wrong value

von helloGuys (Guest)

Attached files:

Rate this post
0 useful
not useful

I use an EFM8 Microcontroller and want to transmit the value of a 
current source (in case of an increase or a decrease caused by an 
encoder) via UART.

I use a "char cvalc[4]" which contains the value of the current, 
separated into [0, x*100, x*10, x*1]. When I change the current, cvalc 
changes the same way (please see attachment, main.c: increasecCval and 
decreaseCval). Then, the transmit flag is set only in case of an 
increase or a decrease.

Right now, the UART doesn't stop sending 0, it neither stops nor sends 
the correct value. I want it to send something like 0122 once I turn the 

How will I have to change the loop/the if query?

The UART ISR is attached in interrupts.c

Thank you

von Lothar M. (lkmiller) (Moderator)

Rate this post
0 useful
not useful
To check: add a blinking LED (half a second on, half a second off) in 
your mainloop and have a look at it. Is it blinking steady and 

BTW: you can post in German in the German forum also

von HelloGuys (Guest)

Rate this post
0 useful
not useful
The watchdog is disabled. And I already posted this in the German forum 
;-) thanks anyways


Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.