www.mikrocontroller.net

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


Autor: Lothar G. (lothi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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__...

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht 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 )

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ähm - sorry für die ganzen Vertipper

Autor: Lothar G. (lothi)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vlad Tepesch schrieb:
> mit Fehler 2 kann ich grad auch nix anfangen.
> resultiert aber möglicherweise aus dem anderen.
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?

Autor: Lothar G. (lothi)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lothar G. (lothi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keine Ahnung!Gib ein Tipp

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.