Hallo. Bin gerade dabei ein Projekt zur Motoransteuerung mittels ATtiny13 zu realisieren. Leider bekomme ich die Geschichte mit der PWM in Assembler nicht auf die Reihe. Assembler muss es leider sein, da ich höhere Programmiersprachen wie C nicht beherrsche. Es Wäre nett, wenn mir jemand weiterhelfen könnte, oder sogar ein Stück Assemblercode für mich hätte, wie ich eine PWM mittels ATtiny13 realisieren kann. Die Anleitung auf der Seite hilft mir auch insoweit nicht weiter, da ich beide PWM Ausgänge abwechselnd nutzen Möchte. Da bringt mich das Beispiel doch etwas durcheinander. Wäre super, wenn mir jemand weiterhelfen könnte. Danke. Jörg
Versuch Nummer 3. Wenns jetzt nicht klappt eifach einen vorherigen versuch vergrößern. Danke schonmal im voraus.
Kann ich mit dem untenstehenden code schon eine PWM erzeugen und mit Veränderungen in den Registern Org0a und Org0b die Pulsweite an den beiden Ausgängen modulieren? Sorry wenn ich grade nervig werde. Mich überkommts einfach gerade etwas. #include <tiny13.h> // Declare your global variables here void main(void) { // Declare your local variables here // Crystal Oscillator division factor: 4 #pragma optsize- CLKPR=0x80; CLKPR=0x02; #ifdef OPTIMIZE_SIZE #pragma optsize+ #endif // Input/Output Ports initialization // Port B initialization // Func5=In Func4=In Func3=In Func2=In Func1=Out Func0=Out // State5=T State4=T State3=T State2=T State1=0 State0=0 PORTB=0x00; DDRB=0x03; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 31,250 kHz // Mode: Fast PWM top=FFh // OC0A output: Non-Inverted PWM // OC0B output: Non-Inverted PWM TCCR0A=0xA3; TCCR0B=0x02; TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // External Interrupt(s) initialization // INT0: Off // Interrupt on any change on pins PCINT0-5: Off GIMSK=0x00; MCUCR=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=0x00; // Analog Comparator initialization // Analog Comparator: Off ACSR=0x80; ADCSRB=0x00; while (1) { // Place your code here }; }
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.