Forum: Mikrocontroller und Digitale Elektronik Hilfe bei Clip-Decoder v. Arkadiusz Antoniak


von Sven J. (locutussum)


Lesenswert?

Hallo,
ich habe ein recht interessantes problem: im internet habe ich folgendes 
projekt gefunden: http://antoniak.ep.com.pl/index.php?id=mini_clip
dieses habe ich nachgebaut. aus den sourcecode-dateien hab ich mir dabei 
die informationen für den anschluss eines LCDs abgeleitet.
und genau da setzt das problem schon an: der sourcecode! im sourcecode 
ist auch eine fertige hex-file dabei, die hab ich auf den mega8 gebrannt 
und es funktioniert. ansatzweise. denn: ich bekomme anzeige auf dem 
display. aber nur den "startbildschirm" "wait...", sowie hin und wieder 
eine anzeige "BIG NOISE" wenn ich die telefon-leitung etwas stümperhaft 
anschliesse. aber ansonsten nichts. bei angeschlossener telefonleitung 
und eingehendem anruf ändert sich auf dem display nichts.

entsprechend meine idee: na, guckst doch mal, ob da überhaupt das 
call-interrupt gegeben wird bei einem normalen anruf. also sourcecode 
geändert, dass er eben bei aufwachen aus dem sleep-mode was aufm display 
anzeigt. aber schon geht der ärger los: make geht nicht. die 
mitgelieferte makefile ist mit den aktuellen gcc-sourcefiles anscheinend 
nicht mal ansatzweise kompatibel. also alles mal in eclipse geladen (mit 
entsprechendem avr-plugin in eclipse) und dort rumgeguckt. das erste was 
natürlich sofort auffällt: zweimal eine signal-funktion, beide ohne 
irgend einen bezeichner (ich hab zum spass mal beiden void gegeben, 
schliesslich geben beide nichts zurück, aber das geht so anscheinend 
nicht so recht) sowie eine neue makefile gemacht. zusätzlich fehlende 
bibliotheken (progmem.h, sig-avr.h) besorgt. die c-file für die 
lcd-anzeige hab ich inzwischen auch schon so weit angepasst dass sie 
jetzt immerhin schon ohne fehler kompiliert - nur die "hauptfile" 
weigert sich noch, eben genau wegen dieser doppelten signal-definition.

hat da irgendwer eine idee, wie ich das ganze richten kann? ich muss 
ehrlich zugeben, programieren ist nun wirklich nicht gerade mein 
lieblingsgebiet, auch wenn wir im studium schon ein wenig in c und 
ähnlichem programieren mussten.

von Sven J. (locutussum)


Lesenswert?

immerhin bin ich jetzt schon einen (kleinen) schritt weiter: Es lässt 
sich jetzt komplett so kompilieren, wies vom autor ausgeliefert wurde 
(im avrstudio und mit einigen kleinen anpassungen der includes bzw. 
nachlieferung selbiger) allerdings: das fertige programm funktioniert 
nach dem schreiben auf den µC nicht. nicht mal das display bekommt der 
µC initialisiert.

hat da vielleicht irgendwer irgendeine idee, warum diese software nicht 
so laufbar gemacht werden kann? ist doch schon seltsam, dass da so gar 
nichts richtig funktionieren will. -.-

von Sven J. (locutussum)


Lesenswert?

auch wenn mir anscheinend keiner helfen will od. kann, mal ein kleines 
update: inzwischen hab ich mit einem kleinen testprogramm 
herausgefunden, dass der call-pin in der gegebenen hardwarekonfiguration 
nicht bei anruf getriggert wird. woran das liegt kann ich nicht genau 
sagen, allerdings habe ich wege gefunden, das ganze zu umgehen: die eine 
möglichkeit ist, zu dem 2.2µF-kondensator einen 10µF (hat zumidnest bei 
mir mit so einem gepasst) parallel zu schalten. eventuell kann man da 
auch einfach direkt einen größeren einsetzen. dies führte bei mir zu 
einer zuverlässigen auslösung des call-pins. die zweite möglichkeit 
wäre, zu dem 47kOhm-widerstand einen kleineren parallel zu schalten. ich 
habe es bei mir mit einem 1kOhm getestet und dies hat auch ganz gut 
funktioniert. (allerdings sollte der R wahrscheinlich etwas besser 
angepasst sein, ich denk mal so 10kohm od. auch 20kohm könnten auch 
funktionieren)
somit bin ich jetzt wohl einen schritt weiter. die eigentliche software 
liefert aber nun bei anrufen nur den hinweis "Big noise" auf dem 
display. anhand der erfahrungen würde ich fast mal tippen, dass das die 
gleichen ursachen wie der call-pin, nämlich eine fehldimensionierung der 
hardware hat? ich weis allerdings bis jetzt noch nicht genau, was ich an 
der schaltung ändern müsste. vielleicht könnte es aber auch am 
A/D-Wandler liegen? dass dieser einfach etwas mehr Vref z.b. haben 
müsste? kann jetzt vielleicht jemand weiterhelfen?

von spess53 (Gast)


Lesenswert?

Hi

>kann jetzt vielleicht jemand weiterhelfen?

Nicht wirklich. Aber hast du die Fuses richtig gesetzt?

MfG Spess

von Sven J. (locutussum)


Lesenswert?

hmm. fuses hab ich mal durchgeguckt - tatsache ist, die frequenz-fuses 
waren nicht richtig gesetzt. jetzt sind sie richtig gesetzt mit der 
folge, dass die anzeige sehr viel schneller und flüssiger läuft. dabei 
dacht ich eigentlich, dass die fuses noch gesetzt wären, schliesslich 
hatte ich früher schon mal ein bischen mit dem selben µC gebastelt 
(eigentlich nur grundlagen bzgl. avr erforscht).
dies ändert aber leider nichts an der fehlfunktion. nach wie vor bekomme 
ich die "big-noise"-fehlermeldung. nun aber fast schon synchron mit dem 
telefon-klingeln.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.