Es wird ein Macro Timer_T0PWM() vorhanden sein das alle Einstellungen macht.
Ausgang ist dann Für Timer0 der Pin OC0, oder für Timer1 der Pin OC1A oder OC1B.
hi,
hab mal gesucht wie man eine PWM in c-basic umseltzen kann...
finden tu ich aber nur eine kurze erklärung der Funktionen, die hier für notwendig sind.
http://www.c-control-pro.de/document...modulation.htm
leider versteh ich immer noch nicht richtig wie man das ganze jetzt umsetzt…
besteht die komplette Steuerung wirklich nur aus einer Zeile? Ist also schon vordefiniert an welchem Port das Signal ankommt?
Es wird ein Macro Timer_T0PWM() vorhanden sein das alle Einstellungen macht.
Ausgang ist dann Für Timer0 der Pin OC0, oder für Timer1 der Pin OC1A oder OC1B.
Hi,
danke für die antworten ich werd am Wochenende mal versuchen das ganze umzusetzen.
Noch ne Frage zu den PWM/Timer-Funktion:
--> void Timer_T1PWMX(word period,word PW0,word PW1,byte PS);
Hier kann ich als Parameter die Periodendauer, Pulsweite Kanal A, Pulsweite Kanal B und Vorteiler (Tabelle prescaler) übergeben
http://www.c-control-pro.de/document...mer_t1pwmx.htm
Die Pulsweite verändere ich jetzt über den Parameter "Pulweite Kanal X", kann ich hier jetzt jeden beliebigen Wert eingeben, je nach dem welchen Vorteiler ich benuzen ?
Also bei prescaler = PS0_256 dann für Pulsweite 0 bis 256 ?
Bin mir nur nicht sicher weil bei Bascom hat man ja noch einen "compare-Wert" der letztendlich bestimmt wo geschalten wird, das gibt es in c-basic scheinbar nicht.
Also der Prescaler beeinflusst normalerweise die PWM-Frequenz, die PWM-Kanäle haben bei AVR soweit ich weiß eigentlich immer 8 Bit, kann man also mit Werten von 0 bis 127 füttern. Höhere Auflösungen bekommst du wohl nur durch Software-PWM hin. Die PWM-Frequenz dürfte eigentlich Quarzfrequenz/Prescaler sein, wenn du also einen 16Mhz Quarz hast und einen Prescaler von 256 wird die Frequenz wahrscheinlich bei 60,4 kHz liegen.
Lesezeichen