Frequenz mit Mega32 erzeugen (Anfängerfrage)

Gast #1289090
Lesenswert?
• ▲
▼
Hallo,

ich versuche mit Bascom eine Frequenz zwischen 0 und 313 Herz mit einem 
Mega32 zu erzeugen, allerdings weiß ich noch nicht genau, wie ich das 
angehen soll.

Folgendes soll mein Programm machen:
Wert (Drehzahl zwischen 0 und 9000 Rpm) von RS232 Schnittstelle einlesen 
und aus dem Wert an einem bestimmten Port die Frequenz erzeugen.
Hierbei entsprechen 0 Umdrehungen = 0 Hz und 9000 Umdrehungen = 313 Hz.

Die Einleseprozedur funktioniert soweit schon super. Nur das Erzeugen 
der notwendigen Frequenz klappt noch nicht.

Nehme ich nun ein Tool zur Timer-/Frequenzberechnung zur Hilfe, bekomme 
ich im Ergebnis mal einen Prescaler von 1, 8, 64 oder 256. Zur Laufzeit 
kann ich diesen Wert allerdings nicht ändern. Mit nur einem festen 
Prescaler werde ich sicherlich einige Ungenauigkeiten bekommen. Dies ist 
aber nicht so schlimm.

Ich hoffe Ihr könnt mir weiter helfen.

MfG

Anthrax
#1289766
Lesenswert?
• ▲
▼
Anthrax schrieb:

> Nehme ich nun ein Tool zur Timer-/Frequenzberechnung zur Hilfe, bekomme
> ich im Ergebnis mal einen Prescaler von 1, 8, 64 oder 256. Zur Laufzeit
> kann ich diesen Wert allerdings nicht ändern.

Warum nicht?

Klar kann man den ändern. Nur nicht mit dem BASCOM Config Statement. 
Aber auch in BASCOM kann man jederzeit an die Register der Timer direkt 
ran und die verändern. Man muss nur das Datenblatt des Prozessors 
studieren und sich raussuchen welche Bits in welchem Register gesetzt 
werden müssen.

Also: Verlasse den ausgetreteten BASCOM Pfad und schau dir einmal an, 
was dein Prozessor alles kann, was dir BASCOM nicht als fertiges Element 
zur Verfügung steht. Das Datenblatt ist dein Freund. Nutze es!

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