Hallo,
also ich habe mir nachfolgenden Code erstellt. In dem ich mir den
eingelesenen Wert, eines Drehencoders über ein lcd Display ausgebe. Dazu
habe ich die .c und .h Dateien aus
[[http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung]]
eingebunden. Der Wert wird mir jetzt in Zeile 1 an der Achten Stelle
ausgegeben. Wenn der Wert jetzt über 9 geht, also auf 10, dann springt
mir die null an die 9.te Stelle, wie kann ich das jetzt lösen, das mir
die 1 der 10 an die 7.te Stelle springt und die 0 an die 8.te usw.
Könnte mir bitte jemand einen Tip geben, oder sogar zeigen.
1
#define F_CPU 16000000
2
#include<avr/interrupt.h>
3
#include<util/delay.h>
4
#include<string.h>
5
#include<avr/io.h>
6
7
8
charzustand=6;//Anfangszustand
9
volatileintglobal_wert;// =0 ist nicht nötig, da globale Variablen mit 0 initialisiert werden
10
11
charautomat[7][4]={{0,1,2,0},//Automatentabelle
12
{0,1,1,3},
13
{0,2,2,5},
14
{3,1,4,3},
15
{2,2,2,2},
16
{3,3,3,3},
17
{0,1,2,3}};
18
19
20
ISR(TIMER2_OVF_vect)
21
{
22
zustand=automat[zustand][PINB&0x3];//A,B an PB0 und PB1
Danke, das ist schon nicht so schlecht, wie schreibt man den die Ausgabe
dann, wenn ich rückwärts auch noch zählen will? also zb -123 das der
3.er auf der acht bleibt?