Zähler in C Programmieren

OP #2720061
Hallo zusammen.

Vorab, ich bin zu 100 % ein Anfänger in Sachen C-Programmierung und 
Microcontrollern. Nun soll ich für einen Kurs einen Zähler mit der 
Frequenz von 1 kHz in C programmieren. Anfangs war mir noch nicht mal 
die Fragestellung verständlich, also hab ich hier das Tutorial ein wenig 
durchgelesen und bin auf die Seite des Timers gelandet wo stand, dass 
man ihn so einstellen kann, dass 1000 Interrupts pro Sekunde ausgelöst 
werden. Ich vermute mal, dass genau das mit der Aufgabe gemeint ist, 
aber nichts gestotrotz, ich hab wirklich keine Idee wie ich das umsetzen 
soll.
Von daher:

Kann mir nicht Jemand von euch den Code hier rein schreiben, sodass ich 
zum Einstieg daran mein Verständnis erweitern kann?!
Ich wäre euch sehr dankbar.
Gast #2720097
Robert Malle schrieb:
> also hab ich hier das Tutorial ein wenig
> durchgelesen

das ist schon mal ein guter Anfang.

Robert Malle schrieb:
> bin auf die Seite des Timers gelandet wo stand, dass
> man ihn so einstellen kann, dass 1000 Interrupts pro Sekunde ausgelöst
> werden. Ich vermute mal, dass genau das mit der Aufgabe gemeint ist

ein großer Schritt in die richtige Richtung

Robert Malle schrieb:
> ich hab wirklich keine Idee wie ich das umsetzen
> soll.

Na dann geh das Tutorial nochmal durch, dann sollten Ideen kommen.

Robert Malle schrieb:
> Kann mir nicht Jemand von euch den Code hier rein schreiben

Könnnen JA, allerdings müsste du dazu auch sagen für welchen µC, aber 
davon hast du nichts.
Wenn du selbst auf die Lösung kommst, hast du es richtig gelernt.

Und bisher bist du mit dem Timer schon mal auf dem richtigen Weg.
Gast #2720108
Robert Malle schrieb:
> Nun soll ich für einen Kurs einen Zähler mit der Frequenz von 1 kHz in C
> programmieren.

Vielleicht solltest du deine Aufgabe etwas genauer strukturieren. Ein 
Ding mit einer Frequenz von 1 kHz würde man normalerweise als 
Taktgenerator bezeichnen. Oder meinst du eine Uhr mit einem 1ms-Takt?
#2720141
Das macht man(n) so:

unsigned long zähler=0;

void main(void)
{
  for(;;)
  {
    zähler++;
  }
}

die Kunst ist es, dem Prozzessor den Takt zu geben, dass der Befehl 
zähler++ genau 1000 mal in der Sekunde ausgeführt wird.
Persönliche Seite #2720170
Robert Malle schrieb:
> Vorab, ich bin zu 100 % ein Anfänger in Sachen C-Programmierung und
> Microcontrollern

1. Welcher Controller?
  1.1 Hast du dir schonmal das Datenblatt durchgelesen?
2. Welcher Programmer?
3. Was hast du schon gemacht?
  3.1 Weißt du, wie man AUSGÄNGE benutzt?
  3.2 Weißt du, wie man EINGÄNGE benutzt?
4. Was genau sollst du machen?
  4.1 Wie ist die genaue Aufgabenstellung?

Bevor diese Fragen nicht geklärt sind, wird es keine zufriedenstellende 
Antwort geben.
Gast #2720567
Hi, Robert,

wenn der Schüler (Du) unter Anleitung eines Lehrers dessen Aufgabe nicht 
lösen kann, dann hat entweder der eine mehr versagt oder der andere.

In beiden Fällen braucht der Lehrer als der Verantwortliche die 
Rückkopplung, also zumindest die Nachricht "ich Schüler habe die Aufgabe 
nicht verstanden!"

Deshalb ist die Frage nach Aufgabenlösung im Forum kontraproduktiv.

Ciao
Wolfgang Horn

P.S. Schüler und Lehrer brauchen gegenseitiges Vertrauen der Art "wir 
sind aufrichtig miteinander", "ich, Schüler, bemühe mich, aber hier habe 
ich wohl einen blinden Fleck" und "ich, Lehrer, helfe dir".
Sollte selbst das nicht erreichbar sein, und Deine Frage lässt das fast 
vermuten, dann besser eine dritte Person des Vertrauens einschalten und 
die Ursache für die Missstimmung klären und überwinden.
W.H.
Gast #2720595
Hi, ET-Tutorials,

> @WH
> D'accord.

Danke. Die echten Probleme sind nie allein. Sondern wenn ein Problem wie 
"ich habe die Aufgabe nicht verstanden" wirklich nervt und damit zum 
"echten Problem" wird, dann besteht das Nervende in einem zweiten 
Problem, welches die Lösung des ersten verhindert - oder die Einsicht, 
es sei unlösbar.

Das scheint mir für viele Fragen der Art der Ausgangsfrage zu gelten.
Deswegen habe ich mir die Mühe der aufwändigeren Antwort gemacht.

Ciao
Wolfgang Horn

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.