sowas kann man wunderbar in Interrupt lösen.
man nehme den On URXC Interrupt, der einen Bytewert setzt
Tempbyte=UDR (UDR ist das UART Empfangs/ Senderegister)
und in der Mainloop ist dann nurnoch
PWM1A = Tempbyte
und schon geht bei jedem Byte, das über die UART rein kommt die PWM
auf den gewünschten Wert.
An Stelle des Twerminals kann man sich unter VBasic ne kleine Anwendung
mit nem Slider zusammenklicken, die dann alle paar Milisekunden
den Sliderwert über RS232 also Com1 oder Com2 an den µC schickt.
Wertübertragung währe dann einfach als CHR also ASCII-Code (0 bis 255)
des Sliderwertes.
PS: ich vermute du sendest übers Terminal "123<ENTER>"
Das funktioniert so nicht. mit dem Übernehmen direkt in die
PWM.
Weil Du eben ne Zeichenfolge schickst eben 1, 2, 3, <CR>, <LF>
also einen Stringwert.
Was Du aber brauchst ist ein Byte- oder Word-Wert (bei Timer1 Word, wenn ich mich recht erinnere (16-Bit))
Lesezeichen