Hallo,
ich habe einen attiny2313 der ein vierstelliges 7-Segment Display
gemultiplexed ansteuert. So wie hier:
https://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige
Das Programm habe ich in C geschrieben und mit AVR-GCC kompiliert.
Soweit alles ganz simpel. Einzelne Digits anzusteuern funktioniert wie
erwartet. Ebenfalls eine Zahl durchzuscrollen geht auch problemlos.
Wenn ich aber wie in angefügten Programm anfange die Digits
durchzuscrollen (jeweils ein aufleuchten zu lassen, dann das nächste...)
UND dazwischen die num variable zu ändern, sehe ich nur noch eine 7 bei
der obere vertikale Balke fehlt.(also nur die a und c segmente eines
Digits leuchten) Diese komische 7 scrollt dann unendlich lange durch.
Auch wenn ich versuche die num Variable um eins hochzuzählen (num++)
kommen keine Zahlen mehr sondern nur einzelne Segmente.
An der Stromversorgung liegt es schonmal nicht, da es das gleiche sowohl
am Programmer als auch am Labornetzteil tut.
Die Segmente an den Portpins (mit widerständen dazwischen):
a PB0
b PB1
c PB2
d PB3
e PB4
f PB5
g PD6
DP PA0
Die Digits am AVR: (an die Basis der PNP Transistoren über einen
Widerstand)
1 PD2
2 PD3
3 PD4
4 PD5
MfG, Steven