Voor mijn eindwerk moet ik tussen 2 µc's data kunnen versturen. Nu had ik volgend programma geschreven maar ik krijg altijd de melding "Goed ontvangen" op m'n LCD te zien.

Dit is de ontvanger:

Dim Ina As Long
Dim Inb As Long

Inb = &H 06200d00a

Do

Input , Ina

If Ina = Inb Then

Cls
Lcd "goed ontv"
Waitms 500

Elseif Ina <> Inb Then

Cls
Lcd "slecht ontv"
Waitms 500

End If
Loop
End

Dit is de zender:

Do

Print "a"
Waitms 500

Loop

End

De hexadecimale code 067 is het a-teken dat ik zend met de zender, 00D= Carriage return en 00A= Line feed. Deze worden automatisch meegezonden met het zenden.

Nu wou ik het anders doen door in de ontvanger:

If Ina = "a" chr(013) chr(010) ipv de hexcode te vergelijken maar dit is blijkbaar niet dejuiste code voor Bascom. Weet iemand dit probleem op te lossen?

Als jij "a"<cr><lf> binnen krijgt , krijg je een STRING binnen van 3 karakters , namelijk :

0x61 ("a") , (NIET de 0x62 uit jouw code, en ook geen 0x67 zoals in je commentaar, dat is de "b" of "g")
0x0d <cr>
0x0a <lf>

Waarom je nu probeert dit in 1 LONG variabele te frobelen is me een raadsel.

Lees de Bascom manual er eens op na op strings inlezen.

Of "goegel" :
http://www.grote.net/bascom/msg24766.html

Groeten, Bram

Inderdaad die 062 was eens om iets te proberen. Ik ben dit terug vergeten aan te passen. War in een long gaat gaat toch ook in een string van 3 karakters of ben ik daar mis in?

[Bericht gewijzigd door Henry S. op (61%)]

Inb = &H 06200d00a mag niet, spatie moet er tussen uit.
Dus Inb = &H06200d00a.
Verder klopt het niet, ik tel negen digits en hex bestaat uit een veelvoud van 2 digits.

War in een long gaat gaat toch ook in een string van 3 karakters of ben ik daar mis in?

Qua bits misschien wel maar een string bestaat uit "Byte" variabelen (afgesloten met 0x00). Als je een string inleest zal het programma ze niet voor je in een "long" schuiven. De voorbeelden staan letterlijk in de Bascom manual hoor ;(

Groeten, Bram