EmbDev.net

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


Author: helloGuys (Guest)
Posted on:
Attached files:

Rate this post
0 useful
not useful
Hello,


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 
Encoder.


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


The UART ISR is attached in interrupts.c


Thank you

Author: Lothar M. (lkmiller) (Moderator)
Posted on:

Rate this post
0 useful
not useful
Watchdog?
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 
continuously?

BTW: you can post in German in the German forum also
https://www.mikrocontroller.net/forum/mikrocontroller-elektronik

Author: HelloGuys (Guest)
Posted on:

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

Reply

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.