Forum: Mikrocontroller und Digitale Elektronik gute C++/C Seite gesucht


von Stephan Schwarz (Gast)


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

von Juergen (Gast)


Lesenswert?

C von A-Z als Online-Buch gibt es hier:

http://pronix.de/modules/C/openbook/

von Dirk (Gast)


Lesenswert?

Hi,


hier mal ein Link zu einem guten OPENBOOK fuer C



http://pronix.de/modules/C/openbook/c_programmierung_9.php?PHPSESSID=d...


MFG

dirk

von Stephan Schwarz (Gast)


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.

von Jörg Wunsch (Gast)


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.

von Martin (Gast)


Lesenswert?

bei der MSDN findet man auch zu C was.

msdn.microsoft.com

von Fritz Ganter (Gast)


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.

von Fritz Ganter (Gast)


Lesenswert?

hab vergessen:

delay in meinem Beispiel erwartet Mikrosekunden, delayms erwartet
Millisekunden als Parameter.

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.