Hallo zusammen, ich bin Einsteiger in der Mikrocontroller-Programmierung und habe derzeit Probleme bei der Ausgabe einer Signalfolge. Mein Projekt ist der Bau einer Schaltung zur Simulutation eines nicht vorhandenen CD-Wechslers an einem Blaupunkt Autoradio (VW-Passat, Radio "Beta"). Damit wird der Line-In Eingang freigeschaltet und es können MP3-Player oder ähnliche Geräte an das Radio angeschlossen werden. Hierzu ist es erforderlich, mit einem Mikrocontroller zwei Signale (Takt & Signal) zu generieren, die an den Autoradio angelegt werden. Den Quellcode meines Programmes habe ich angefügt. Es soll eine 8 Bit lange Zeichenfolge an PD5 und PD6 ausgegeben werden, welche jeweils 8 mal wiederholt wird, gefolgt von einer Pause von 43ms. Im derzeitigen Zustand gibt das Programm kein Signal an PD5 aus und PD6 hat 5V konstant. Bei den Fusebits habe ich in PonyProg einen Haken bei "CKSEL0" und bei "CKOUT" gesetzt. Sollte dann an PIN6 des Prozessors der Takt von 1MHz ausgegeben werden?? Hier messe ich 2V (const.). Ich muss dazusagen, dass ich davor einiges mit den Fusebits herumgespielt habe und erst im Anschluss daran hier im Forum gelesen habe, dass dies ein neuraligischer Punkt ist. Tausche ich im Quellcode den Befehl "_delay_us( )" in allen Zeilen gegen den Befehl "_delay_ms( )" aus, dann erhalte ich an PD5 ein periodisches Signal (22us "high" - 4us "low"). PD6 hat kein Signal. Pin6 hat wie vorher konstant 2V anliegen. Hat jemand von euch einen Tipp, wie ich weiterkomme? Ich würde mich sehr über Hilfe freuen! Ich verwende einen Atmel ATTINY 2313 auf dem Evaluations-Board von Pollin (Version 2.0). Die Programmierumgebung ist WinAVR (2.0.7.667-devel) und PonyProg2000 (2.07c Beta Jan 6 2008). Viele Grüße, Stefan
_delay_us() und _delay_ms() übergibt man keine Variablen ! Das müssen konstante Werte sein. Aus: int pause=3; int pause2=5; mach mal #define pause 3 #define pause2 5 Außerdem Optimierung muss mindestens -O1 sein.
Hallo Holger, vielen Dank für deine Hilfe und den Tipp. Die Schaltung funktioniert jetzt endlich (nachdem ich zuvor unzählige Stunden in die Suche des Fehlers investiert hatte...)!! Noch eine Frage: Auf was bezieht sich "Optimierung"? Wo kann ich den Parameter ablesen und wie kann er beeinflusst werden? Gruß, Stefan
@Stefan (Gast) >Noch eine Frage: Auf was bezieht sich "Optimierung"? Auf die Arbeitsweise des Compilers. >Wo kann ich den Parameter ablesen Den kann man einstellen, in den Optionen des Projekts oder im Makefile. MFG Falk
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.