Bascom PWM TOP-Value

Gast #457010
Lesenswert?
• ▲
▼
Aus der Bascom-Doku werd ich nicht schlau......

Allerdings steht im Datenblatt des ATmega8, das man bei bestimmten 
PWM-Modi einen TOP-Value setzen kann (bei Timer1).
Geht das auch in Bascom? Muss ich dazu Assembler einbinden?  - habe 
hierzu leider nirgens was gefunden.

Hintergrund:

Ich möchte am OC1a ein Rechtecksignal ca 27kHz, Tastverhältnis 1:8 
erzeugen können
Die Frequenz soll möglichst exakt eingestellt (und auch verstellt) 
werden können.

(Momentan mache ich das ganze im Timer-Modus, wobei ich die Low-Zeit mit 
Timer1 und die High-Zeit mit Pulseout festlege - ziemlich ungenau)
Gast #457015
Lesenswert?
• ▲
▼
Je nach Timer-Modus steht der TOP-Value in unterschiedlichen Registern.
Das kann OC1A aber auch ICR1 sein...

Du brauchst also eine Periodendauer von ca. 37µs. Die sollte man im 
CTC-Modus (Seite 86 im Datenblatt) erzeugen können bei entsprechend 
hoher Taktfrequenz.
Das Tastverhältnis kann man dann durch OC1B einstellen.
Gast #457241
Lesenswert?
• ▲
▼
Eigentlich sollte sowas auch in Bascom möglich sein.
Ein anderer Weg wäre es, C zu lernen.
(Für den Vorschlag hab ich schon so oft einen auf die Mütze bekommen...)
Allerdings stellst du ja gerade selber fest, dass Bascom seine Grenzen 
hat (die man in C nicht hat...).
Gast #457266
Lesenswert?
• ▲
▼
Da sind die Grenzen von Bascom noch lange nicht in Sicht.
Du kannst in Bascom auf alle Register direkt
zugreifen.

Bei Timer1 sieht das z.B. so aus

Tccr1a = &B11110010
Tccr1b = &B00011000
Icr1h = 0
Icr1l = 100
Capture1 = 100
Compare1a = 80
Compare1b = 20


oder eben ASM einbinden
 z.B.

$asm
ldi r18,&b11110010
Out Tccr1a , R18
ldi r18,&b00011010
Out Tccr1b , R18
$end Asm

Gruss Gerhard

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.