Forum: Mikrocontroller und Digitale Elektronik Zähler in C Programmieren


von Robert M. (andro86)


Lesenswert?

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.

von fonsana (Gast)


Lesenswert?

Alles noetige findest Du hier:

Beitrag "Einheitlicher Umgang mit faulen Schülern etc.?"

fonsana

von Ralph (Gast)


Lesenswert?

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.

von Werner (Gast)


Lesenswert?

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?

von Fr N. (frn)


Lesenswert?

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.

von Christian F. (cmf) Benutzerseite


Lesenswert?

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.

von Alexander S. (esko) Benutzerseite


Lesenswert?

Fr Ne schrieb:
> Das macht man(n) so:

Nein, so macht man das NICHT.

von Wolfgang Horn (Gast)


Lesenswert?

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.

von ET-Tutorials (Gast)


Lesenswert?

@WH
D'accord.

von Wolfgang Horn (Gast)


Lesenswert?

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

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.