Forum: Mikrocontroller und Digitale Elektronik delay(x); von C++ in uC-Programm


von Schägi (Gast)


Lesenswert?

Hallo, wie mache ich den Befehl "delay(100)" von c++ in meinem
Programm für den uC Atmega32?

von OldBug (Gast)


Lesenswert?

Guten Morgen!

Wie meinen? Du weist sicher, daß C++ nicht vollständig (siehe Beiträge
von JW im AVR-GCC / MSPGCC Forum) implementiert ist. Ich befürchte, daß
eine delay-Funktion/Klasse nie per default existieren wird. Du wirst
also nicht umherkommen, diese Routine selber zu schreiben. Wenn Du C++
Programmieren kannst, dann wird das sicher kein Problem werden...

Gruß,
Patrick...

von Ultimativer Megaprofi (Gast)


Lesenswert?

Also CodeVision-AVR beinhaltet diese tolle Funktion.
Man muss halt nur in Project/Configure die richtige Taktfrequenz
einstellen. Den Rest macht der C-Compiler.
Aber ich glaube C++ kann er nicht.

#include delay.h         lautet die Headerdatei.
delay_ms(1000);

Tschüss.

von Schägi (Gast)


Lesenswert?

Habe es mal mit dem Befehl delay_ms gemacht, es kommt aber immer
folgender Fehler: warning: implicit declaration of function
`delay_ms'

Habe ich die falsche delay.h?

von OldBug (Gast)


Lesenswert?

Benutzt Du denn überhaupt CodeVision?
Schreib mal ein wenig mehr zu Deiner Umgebung...

Gruß,
Patrick...

von Schägi (Gast)


Lesenswert?

Ich verwende den das Programm "Programmers Notepad 2" zum
programmieren und den AVR-GCC Compiler!

von Ultimativer Megaprofi (Gast)


Lesenswert?

Schau mal, ob du eine delay.h beim AVR-GCC-Compiler dabei hast oder
eine, die so ähnlich heißt.
Wenn das der Fall ist, so schau dir diese Headerdatei mal mit dem
Notepad an. Dadurch kannst du die Funktionen und die Parameter, welche
diese Datei beinhaltet erkennen und in deinem C-Programm entsprechend
aufrufen.

Tschüss

von Dominic Thomé (Gast)


Lesenswert?

#include <avr/delay.h>

von Schägi (Gast)


Lesenswert?

Ich habe eine delay.h, da steht aber nur eine _delay_loop_1(unsigned
char __count) drin.

Könnt ihr mir mal eure schicken

von Jörg Wunsch (Gast)


Lesenswert?

<grummelmode>
Hmm, ist denn das Lesen dessen, was in dieser Datei steht, so
schwierig?  Kannst Du denn auch selbst rechnen bzw. den Computer
für Dich rechnen lassen?  Brauchst Du alles haarklein vorgekocht?
</grummelmode>

Wenn schon GCC, dann geh' doch bitte ins GCC-Forum.  Suche dort mal
ein bißchen, die Präprozessormimik, mit der man die Werte in
Mikrosekunden vom Präprozessor in Zyklenzahlen umrechnen kann, habe
ich erst vor paar Tagen gepostet.

von Dirk (Gast)


Lesenswert?

Hi,

Joerg Wunsch war so nett und hatte mir den Praeprozessor Syntax
geschrieben.

In diesem Zip File findest du die veraenderte delay.h
http://www.mikrocontroller.net/forum/read-4-74912.html


Mfg

Dirk

von shania (Gast)


Lesenswert?

Es gibt keinen "C++-Befehl" namens "delay".
"C++-Befehle" sind höchstens sowas wie "if", "else", "while",
"do", "return"...

Sollte man wissen!!!

von Dominic Thomé (Gast)


Lesenswert?

"if", "else", "while","do","return" sind keine C++ - Befehle,
das ist stinknormale C_Syntax.
Hättest Du jetzt "class" gesagt wäre ja noch alles in Ordnung
gewesen.
Das sollte man wissen !!!!!

von Jörg Wunsch (Gast)


Lesenswert?

Es gibt weder in C noch in C++ den Terminus ,Befehl'.

von BAB ( Kai K. ) (Gast)


Lesenswert?


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.