gute C++/C Seite gesucht

Gast #70561
Lesenswert?

Hallo

Ich bin nach dem einstieg in die AVR MCU`s nun damit beschäftig meine c
Kenntnisse ( oder was man so nennt ) zu vertiefen.
Aber ich finde keine Vernünftige C Seite. Mit vernünftig meine ich das,
sie schnell bei der Umsetzung von Aufgabenstellung hilfe leistet.
Ich will keinen fertigen Codes!!! Die passen eh nicht oder nur
selten!!!
Eher eine Seite, die einem zu einem Bestimmten Befehl schnell Hilfe
gibt.

z.b.
Ich weiss, das ich mit Delay ( bla bla bla) irgendwie eine Verzögerung
hinbekomme, aber ich kenne die Syntax nichtmehr und ich weis auch nicht
welche Headerdatei ich dazu einbinden muss.

Bei welcher Seite, könnte ich mit der Suchfunktion da schnell auf eine
Ergebniss kommen.

bis dann  Stephan
Gast #70564
Lesenswert?

Sehr gut :-)!    Will noch jemand den selben Link posten?

Aber danke für die Hilfe, das sieht schon nicht schlecht aus. Ist wohl
etwas umfangreicher, als die vielen kleinen Tutorials, die man so im
Netz findet.
Ich dachte aber eigentlich eher an eine Site, bei der es eine
Suchfunktion gibt unter der man unter einem Begriff suchen kann. So wie
eben z.b funktionen wie delay oder so.
Gast #70565
Lesenswert?

C setzt sich aus zwei Teilen zusammen:

. Der Sprache selbst.  Dazu gehören Operatoren, Ausdrücke,
  Schlüsselwörter und wie sie alle heißen.  Das findest Du
  in jedem guten C-Buch praktisch architekturunabhängig.

. Der Standardbibliothek.  Sie liefert eine Reihe von Makros
  und Funktionen für allgemeine Aufgaben.  Der C-Standard
  selbst definiert einen Umfang, konkrete Implementierungen
  erweitern diesen oft.  Im Falle von Microcontrollern wird
  oft nur eine Teilmenge (+ eigene Erweiterungen) implementiert.
  Fazit: generisches C hilft Dir hier nur bedingt.  Für AVR-GCC:
  schau ins Manual der avr-libc.
Gast #70567
Lesenswert?

Soweit ich weiss, gibt es nirgends ein delay().

Wie Jörg schon sagte: C hat nur ein paar Sprachelemente, z.B.
Zuweisungen, for, while, switch usw.
Alles andere steckt in Bibliotheken. Unter Linux z.B. wird die libc
automatisch dazugelinkt, und dann hast du printf, strcpy usw. zur
Verfügung.

Bei Mikrocontrollern hast du auch nur die Funktionen, die die
Bibliothek zur Verfügung stellt, also z.B. die avr-libc (übrigens:
super Arbeit!), daher musst du in dieser Doku nachsehen, was es alles
gibt.

delay() musst du dir halt selber schreiben, z.B. so:

void
delay (uint16_t us)
{
  while (us)
    {
      us--;
      asm volatile (" nop");
      asm volatile (" nop");
    }
}

Wieviel nop du reinmachst hängt logischerweise von deinem CPU Takt ab.
Obiges Beispiel passt ca. für 8MHz.

Ein genaueres delay sieht bei mir so aus:
void
delayms (uint16_t ms)
{
  milliseconds = ms;
  while (milliseconds > 0)
    asm volatile (" nop");

}

wobei "milliseconds" in einer Interruptroutine, die alle 1 ms
aufgerufen wird, heruntergezählt wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren