Die erste Erfahrung mit C++ ist ein paste´n´copy-Programm für ein I²C-Display - das nach einigen Mühen läuft. Meine Hilfesuche im www ergab einen erfrischenden Satz:
a couple of months ago I started with
AVR and c++. It's rather painful adventure ..
Ja, es ist ziemlich mühevoll - und richtig erhellende Ratschläge hatte ich nicht wirklich gefunden, auch die beiden nützlichen Seiten von Mikrocontroller.net über C++ und Cvs.C++ halfen mir nicht wirklich. Ich habe bereits einen ersten File eingebunden - funktionstüchtig: "disply01.h" , der eine Liste von Bitmaps enthält.
Hier ein winziger Überblick über den aktuellen Projektstand.
Nun würde ich gerne ein Wait/Delay nutzen (um "auf die Schnelle" eine Pause zu bekommen - und ja, ich weiß, dass das mit einem interruptgetriebenen Timer "ordentlich"-er geht). Klappt weder mit der "#include <util/delay.h>" und dem dazugehörigen "_delay_ms ( 200 );" noch mit dem selbst geschriebenen Progrämmchen
Code:
// ============================================================================= =
//### Programm 1 ms pausieren lassen !! Der Pausenwert ist nur experimentell !
void wms (uint16_t ms)
{
for(; ms>0; ms--)
{
uint16_t __c = 4000;
__asm__ volatile (
"1: sbiw %0,1" "\n\t"
"brne 1b"
: "=w" (__c)
: "0" (__c)
);
}
}
// ============================================================================= =
Daher die
Frage 1 - gibt es ein empfehlenswertes Tutorial für C++ in ATMEL Stuido 7 ? Wo, wie heißt es?
Aktuell also die Bitte
Frage2 - wie benutze ich im "main" das "_delay_.." und nach MÖglichkeit hilfe beim erstellen eines ZUSÄTZLICHEN Moduls timer.(h und/oder gcc) für mein eigenes wait-Millisekunden-Progrämmchen, das in C Codes wunderbar läuft.
Welches "simple" Problem sehe ich aktuell:
Wie erstelle ich ein zusätzliches, neues Modul, das zusätzliche Funktionen enthält.
Da ich also offensichtlich schon die "richtige" Struktur eines C++-Programms nicht kenne, wäre das Tutorial wohl vorrangig.
Danke für eure Hilfe(n) !
Lesezeichen