Gast
#2084939
Hallo und einen schön Abend, ich habe hier einen Drehencoder von Reichelt und zwar ist es der ALPS STEC12E08, das Datenblatt habe ich angehangen. Ich versuche ihn den ganzen Tag schon zum laufen zubringen doch er möchte leider nicht so ganz. Das Tutorial hier http://www.mikrocontroller.net/articles/Drehgeber, habe ich auch schon durchgelesen und das angepasste Programm auf mein µc geladen doch leider ohne Erfolg. Dort wird der Drehencoder ja ohne Interrupt ausgelesen, allerdings passiert nicht mal ansatzweise etwas wenn ich den Encoder drehe. So wie ich das in sämtlichen Beiträgen raus gelesen habe, ist es ein Encoder mit wackeligen Rastpunkt, sieht man auch ganz gut im Datenblatt, ferner in den Zustandsdiagrammen. Somit sollte ja wenn auf Phase A, eine steigende auf INT0 Flanke reinkommt ein Interrupt ausgelöst werden und in dem kann ich dann die Phase B auswerten, und eine Variable entweder inkrementieren oder dekrementieren. Soweit so gut, ein bisschen funktioniert mein Programm auch, allerdings nur ein bisschen :( Wenn ich den Encoder drehe wird meine Variable ständig inkrementiert, allerdings völlig willkürlich, entweder um 2 oder 3 oder 4, wobei ich denke das es vom prellen des Encoders kommt. Hier mal mein Programm dazu. Hoffe ihr könnt mir etwas helfen da ich echt nicht weiter komme. Noch ein paar Infos dazu: Takt 8Mhz, Rn-Control, Display angeschlossen 1x16 Char. Den Encoder habe ich wie im Datenblatt angeschlossen mit den beiden Pull-ups.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
Vielen Dank schonmal im Vorraus :)