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
also entweder per software oder hardware PWM ist das einfachste... falls das das einzige ist was du machen willst einfach While(1) PORTAx = 0x01; _delay _ms(.....) PORTAx = 0x00; _delay _ms(.....)
Hallo Jörn, PWM benutze ich schon für Tank- und Temperaturanzeige. Für Drehzahl und Geschwindigkeit brauche ich 2x Frequenz (0 - 313 Hz). MfG Anthrax
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!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.