PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : serialer Empfang



zeco
18.06.2004, 19:45
Also hab folgendes prob.

Ich will eine zeichen kette von avr zu avr senden.
soweit so gut. Ich gab dann die zeichen auf lcd aus. er sendet die zeichen ja, aber macht zwischen jedem zeichen ein komisches zeichen.
so das die daten dann doch nciht gleich sind.
hier nun mein code:

sender:


$crystal = 8000000
$regfile = "2313def.dat"
$baud = 9200

Config Pind.6 = Input
Dim Temp As Bit


Do

If Pind.6 = 1 And Temp = 0 Then
Print "A"
Waitms 3000
Print "b"
Waitms 3000
Print "C"
Waitms 3000
Print "d"
Waitms 3000
Temp = 1
End If

If Pind.6 = 0 Then
Temp = 0
End If


Loop
End


empfänger:



Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.0 , Rs = Portd.5
Config Lcd = 20 * 2
$crystal = 10000000
$regfile = "2313def.dat"
$baud = 9200

Dim Empf As String * 4
Dim Stelle As Byte
Dim Temp As Bit

Stelle = 1

On Urxc Empfang
Enable Urxc
Enable Interrupts

Config Pind.6 = Output

Cls

Do
Toggle Portd.6
Locate 1 , 1
Lcd Pind.6 ; " " ; Stelle
Waitms 500
Loop


Empfang:
Mid(empf , Stelle , 1) = Chr(udr)




Incr Stelle

If Stelle = 5 Then Stelle = 1


Cls
Locate 2 , 1

Lcd Empf

Return


ich glaube da spielen riendwelche stoppbits o.Ä. rein.
Ich habe auch nicht die möglichkeit sowas zu configurieren ??!!
wo ich stoppbits etc machen kann. ich will auch nachher 9 bits daten haben. Will nen RS485 Bus aufbauen mit 0,5Mbit bis 2,5 Mbit aufbauen.
will mal sehn was der Avr abkann.
Naja danke schonmal für die hilfe... :-s

x-ryder
21.06.2004, 15:08
Hi!

Ich wüde nix selbstgebautes (Sender) reinbasteln sondern lieber was vorgefertigtes benutzen... z.B.: 1-Wire
1-Wire arbeitet mit bis zu 140kbit/s und braucht auch nur eine Datenleitung.

MfG
Martin