Hallo!! Für euch sicher Pille-Palle. Für mich als Laie eine Herausforderung. (Berufsfremd –Dreher) -Das Projekt : Ich möchte mir einen kleinen Taktgenerator bauen. Taktfrequenz ca 1 Hertz. Die fallende Flanke am IRLZ34N(DRAIN)sollte möglichst steil/senkrecht verlaufen. Die Spule 1 wird eine Zündspule sein. Ja ich weiß, mit einem Timer oder Doppeltimer lässt sich das ganze auch aufbauen. Aber mit einem AVR kann man mehr Schnick-Schnack ranbasteln. Beispiel : Code Schloss,helligkeitsgesteuert oder so.(Zukunft) -Das Programm (im Anhang) WIN AVR 20090313 Programmers Notepad-- [WinAVR]MakeAll- keine Fehlermeldungen, aber Warnungen. Diese Meldungen ignorieren? NEIN Wenn ich [WinAVR]MakeAll nochmals starte (ohne Änderungen) werden keine Warnungen mehr im Output Fenster ausgegeben. Simulation im AVR Studio4 klappt auch. -Die Warnungen: Zeile 17----warning: implicit declaration of function sleep ms Zeile 40----warning: funktion declaration is not a prototype Zeile 158--warning: conflicting types for sleep ms Zeile 17 --warning: previous implicit declaration of sleep ms was here Mit _delay_ms()gibt es andere Warnungen(auf _delay_ms()bezogen). Im Programm, habe ich diese nochmals in den entsprechenden Zeilen als Kommentar eingefügt. Was mache ich falsch? Was muss ich ändern? -Der Schaltplan (im Anhang) Den Schalplan habe ich aus mehreren Veröffentlichungen hier im Forum und aus Grundschaltungen zusammengesetzt Ich hoffe nun, dass dieses elektrisch/elektronisch so richtig ist. Bitte besonderes Augenmerk auf R6- hier als Pull-Down-Widerstand oder?– soll das Gate bei Low (PinPB4) eindeutig auf Masse ziehen. Ich hoffe somit, den IRLZ34N schneller aus der Sättigung rauszubekommen bzw. eindeutig zu sperren. Oder ist das totaler Quatsch. -Programm brennen: Da ich keine Ahnung habe wie das geht, welche Schritte notwendig sind, wäre es ein feiner Zug wenn jemand eine Checkliste veröffentlichen würde. Was nutze ich---- ATTINY13/ ISP / AVR Studio 4 Danke LOTHI
die Warnungen tauchenn beim 2. Compile nciht auf, da nur geänsderte Files gebaut werden, es sei denn, du machst ein clean. zu den Fehlern: 1,3,4: sleep_ms wird vor declarierung benutzt: d.h der compiler nimmt einen standard-prototyp an: int sleep_ms(void); dieser stimmt natürlih nicht mit deiner Implemetneirung überein deswegen auch mit Fehler 2 kann ich grad auch nix anfangen. resultiert aber möglicherweise aus dem anderen.
implicit declaration bedeutet soviel wie: du benutzt die funktion, sie ist aber nirgends deklariert (also noch mit #include.. einbinden). Siehe Doku: http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html
Achso umd die ersten Fehler zu beseitigen, verschiebe einfach das sleep_ms nach oben, der mach eine forward-deklaration ganz am anfang der Datei: void sleep_ms(uint16_t ms); // ganz an den anfang (am besten vor lokale Variablen )
ähm - sorry für die ganzen Vertipper
Danke Vlad Ich habe die Funktion void sleep_ms(uint16_t ms); nach oben verschoben! Drei Warnungen haben sich in "Luft" aufgelöst. Es bleit noch Zeile 40----warning: funktion declaration is not a prototype. Erste Klammer unter int main() Seltsam ist jetzt nur, dass der Speicher mit 1030 bytes gerammelt voll ist. Vorher waren es ca 930 bytes.Kann das der Grund sein für die Warnung?Eigentlich nicht. Oder? Sorry für die blöde Größe beim Schaltplan. Gruß Lothi
Vlad Tepesch schrieb: > mit Fehler 2 kann ich grad auch nix anfangen. > resultiert aber möglicherweise aus dem anderen.
1 | int main(void) |
verwenden, dann ist die Warnung weg. Der Compiler mag keine leeren Klammern bei Funktionsdefinitionen. Lothar G. schrieb: > Seltsam ist jetzt nur, dass der Speicher mit 1030 bytes gerammelt voll > ist. > Vorher waren es ca 930 bytes. Was für Optimierungseinstellungen verwendest Du?
Hast Recht Vlad, keine Warnungen mehr. Zum Schaltplan: Ich werde mal probieren, diesen in einer benutzerfreundlichen Größe hinzukriegen. Kann mir dazu jemand Tipps geben. Lothi
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.