Liebe Leute,
fange gerade mit Assemblerprogrammierung an und habe sofort Problem mit
Attiny auf Pollin-Board. Die drei Taster sind mit jeweils 100K gegen Gnd
terminiert. Wenn ich einen Tasterstatus einlesen will, dann ist dieser
immer auf "1" . T offen ca. 2,7V, T geschlossen 5V. Sicher ist das ein
triviales Problem, aber ich kann die Ports natürlich nicht einlesen. ist
das bekannt oder verstehe ich etwas grundsätzliches nicht?
Danke....
mit jeweils 100k gegen GND terminiert == Widerstand gegen Masse.
Wenn er drückt und 5V hat == Schalter gegen Plus.
Wenn er 2.7V misst == PullUp (typ.80-120K)aktiv und 100K gegen GND.
> Das Schaltbild des Evaluation-Boards könnte sehr nützlich sein.https://www.mikrocontroller.net/articles/Diskussion:Pollin_ATMEL_Evaluations-Board
der Link von axelr war sehr hilfreich. Die Beschaltung der Taster ist
auch bei mir so. Leider ist das Problem aber noch nicht gelöst. Habe
zwischenzeitlich 2 Dinge versucht. Habe einen PullDown Widerstand auf
10K reduziert. Das hat funktioniert. Hatte danach einen Nullpegel von
0,5V. Dies geschah in Zusammenhang mit USART-Initialisierung. Taster
gedrückt - Zeichen an Terminal gesendet.
Dann habe ich mich an die Ansteuerung eines LCD-Displays gemacht.
Gleiche simple Überlegung. Taster gedrückt - Zeichen auf LCD ausgeben.
Hat auch erst funktioniert. Da ich aber dann den 2ten Taster mit
reingenommen habe und ein paar logische Fehler eingebaut hatte, bin ich
erst einmal nicht auf die Taster gestossen. Messen brachte zu Tage, dass
die Portpegel nun immer 0V waren. Auch das Abstellen der internen
PullUps hat nichts gebracht. Nun frage ich mich, Taster oder Attiny
kaputt?
Muß ich noch weiter drüber nachdenken :-)
Hi Georg, ja die verflixte 42ste Zeile. Habe aber mittlerweile das
Progrämmchen so weit runtergekocht, dass eigentlich bei gedrücktem
Taster nur noch eine LED aufleuchten sollte! Tut sie aber nicht, weil am
Tasterport nix als 0V anliegen. Überlege schwer, ob ich nicht erst mal
meinen 2ten Attiny einstecke. Aber - und ich schreibe es echt ungern -
es hat ein paar mal funktioniert. Muß also weiter denken ...
Hi, habe jetzt erst einmal die Taster des Pollin-Boards auf Aktiv-Low
umgebaut. Kann ich nur jedem empfehlen, der mit dem Pollin-Board
arbeiten will! (Link von axelr)
Und mein Problem lag tatsächlich am defekten Taster1. Wenn ich per
Prüfleitung den Eingang auf Low ziehe, dann funzt auch mein
Progrämmchen. Desgleichen, wenn ich T2 oder T3 abfrage.
Jetzt noch eine Frage zum Entprellen. Ich mache die Abfrage auf Low am
Portpin mit
[GuckObStarten:
sbic pinD, Taster2 ;wenn Taster Ta2=0 gedrückt
rjmp GuckObStarten]
Da sollte Entprellen doch nicht nötig sein?!
Danke Allen für die Antworten und wenn noch Interesse an meinem Code
besteht, werde ich ihn einstellen, wenn die LCD-Ansteuerung so funzt,
wie ich mir das vorgestellt habe.
Wenn Du sbic ein paar mal untereinanderschreibst. muss zumidest in der
Zeit, ind er die Zeilen abgearbeitet werden der pin auf Low liegen.
1
[code]
2
GuckObStarten:
3
sbic pinD, Taster2 ;wenn Taster Ta2=0 gedrückt
4
sbic pinD, Taster2 ;wenn Taster Ta2=0 gedrückt
5
sbic pinD, Taster2 ;wenn Taster Ta2=0 gedrückt
6
sbic pinD, Taster2 ;wenn Taster Ta2=0 gedrückt
7
sbic pinD, Taster2 ;wenn Taster Ta2=0 gedrückt
8
rjmp GuckObStarten
9
[/code]
PS ich habe mal "[code]" stehen lassen. So ist das gemeint mit dem
Syntaxt.
Offenbar bist Du da durcheinander geraten?
Ich habs jetzt hier zusätzlich noch mal in "[pre]..[/pre.]" gesetzt,
damit man's sieht
[ingrid]
Eine richtige Entprellung ist das natürlich NICHT!
[/ingrid]
Hi Leute und axelr,
danke, und ich gebe dir,axelr, recht, dass das keine rechte Entprellung
ist. Aber nach dem ersten Low muß das Programm in ein Unterprogramm
gehen und etwas (viel) machen, bevor ich in die Tasterabfrage
zurückgehe. Nicht so etwas wie LED an Port x-an... Zur Sicherheit warte
ich nach Ende des U-Programms noch 5mS. Das funzt! Aber mittlerweile
sind auch die 2 anderen Taster defekt! Hätte ich nicht erwartet und ist
voll blöd!
Und kann einen ganz schön Nerven kosten. Die schalten jetzt alle nur
noch nach Lust und Laune! Hardware, die ich fast nie verdächtige (en
mußte) aber so isses!
Danke Rainer