Forum: Mikrocontroller und Digitale Elektronik Programmieren und Elektronik -Für mich eine Herausforderung


von Lothar G. (lothi)


Angehängte Dateien:

Lesenswert?

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

von Vlad T. (vlad_tepesch)


Lesenswert?

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.

von Bastler (Gast)


Lesenswert?

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

von Vlad T. (vlad_tepesch)


Lesenswert?

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 )

von Vlad T. (vlad_tepesch)


Lesenswert?

ähm - sorry für die ganzen Vertipper

von Lothar G. (lothi)


Lesenswert?

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

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

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?

von Lothar G. (lothi)


Lesenswert?

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

von Lothar G. (lothi)


Lesenswert?

Keine Ahnung!Gib ein Tipp

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.