Hallo Vitis,

anbei mein Code, der geht bis 255. Bei 256 ist Schluß !?

Code:
$regfile = "m8def.dat"
$crystal = 8000000

$baud = 250000
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 2 , Databits = 8

On Timer2 Ontimer2
Tccr2 = &B00000010
Timsk.toie2 = 1

Config Portb.5 = Output
Config Portb.4 = Output
Portb.4 = 0
Kanal1 Alias Portb.4

Dim Tick As Byte
Dim Range As Byte
Range = 100
Dim X As Byte
Dim Buffer(514)as Byte
Dim Kanal As Word
Dim Adresse As Word
On Urxc Empfang
Enable Urxc
Enable Interrupts

Adresse = 255                                               '255 geht noch 256 nicht mehr!!!!!
Do

Loop

Empfang:
X = Udr                                                     'das muss erst abgeholt werden, sonst geht nix                                                    'Die Interruptroutine verheizt 10,875µs bei 16MHz der vorhandenen Framezeit von 44µs
   If Ucsra.fe = 1 Then
      Kanal = 0
      Ucsra.fe = 0                                          'damit verbleiben 33,125µs für die Mainloop pro Frame
   Else
      Incr Kanal
      Buffer(kanal) = X
   End If
Return

Ontimer2:
 Tick = Tick + 1
 Timer2 = 50
 If Tick >= Range Then Tick = 0
 If Tick < Buffer(adresse) Then
  Kanal1 = 1
 Else
  Kanal1 = 0
 End If
Return
Günter