Goedenavond allen

Ik heb net wat zitten prutsen om een DMX signaal te ontvangen met een AVR microcontroller geprogrammeerd in Bascom.
Spijtig genoeg kon ik op internet weinig voorbeelden vinden waar ik iets van snapte, dus heb ik maar wat zitten puzzelen en proberen.

Momenteel heb ik onderstaande code, en deze werkt. Echter, ik moet kanaal 1 permanent 255 maken, en dan kan ik de daaropvolgende kanalen perfect ontvangen.
Logisch, want ik zet teller = 0 bij een waarde van 255.

Heeft iemand een idee hoe ik écht het DMX signaal kan ontvangen? Zodat kanaal 1 niet langer 255 hoeft te zijn.

De code:


$regfile = "m168def.dat"                                    'Atmega168
$crystal = 16000000                                         'Kristal 16MHz
$baud = 250000                                              '250k baud voor DMX

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.4 , Rs = Portc.5

On Urxc Uartinterrupt
Enable Urxc
Enable Interrupts

Dim Teller As Integer                                       'Telt de kanalen
Dim Waardes(4) As Byte                                      'Ik moet maar 4 kanalen hebben
Dim Buffer As Byte                                          'Tijdelijke opslag

Do
  Cls
  Cursor On
  Lcd "  DMX RECEIVER"
  Lowerline
  Lcd "2:" ; Waardes(1) ; ",3:" ; Waardes(2) ; ",4:" ; Waardes(3)       '3 kanalen laten zien
  Cursor Off
  Waitms 100                                                'Vertraging anders knippert lcd
Loop

Uartinterrupt:
        Buffer = Udr                                        'UART inlezen
        If Buffer >= 255 Then
           Teller = 0
        Else
            Incr Teller
        End If

        If Teller > 0 And Teller < 5 Then
           Waardes(teller) = Buffer                         '4 kanalen inlezen
        End If
Return

Alvast bedankt voor het lezen van mijn bericht!

Stijn

Een byte loop automagisch over van 255 naar 0 dus testen hoeft niet.

Bascom ondersteund vanaf versie 1.11.94 DMX, hoef je dus niet meer zo veel voor te doen.
http://avrhelp.mcselec.com/index.html?config_dmxslave.htm

Edit: Er zijn zowel voorbeelden van een slave als wel van een master in de sample dir van Bascom.

[Bericht gewijzigd door 2N3055 op (26%)]

Bedankt 2N3055!
Raar dat dat niet direct teruggevonden werd door google met trefwoorden als "bascom dmx".
Ik ga hier eens mee aan de slag. Bedankt!

Versie 1.11.94 is er ook pas vanaf 30 mei, zal dus nog niet zoveel in google voorkomen.
Vorige week trouwens is versie 1.11.95 al uitgekomen.