-
-
Erfahrener Benutzer
Roboter Experte
Vernetzung über RXD und TXD
Hi, ich habe ein problem (wie immer)
und zwar will ich ne Atmega16 und ne Atmega8535 miteinander vernetzen. Die Leitungen habe ich gekreutzt und auch sonst alles fertig nur das Programm noch nicht
Ich wollte so was machen:
Der 1 Controller:
.....
....
$Baud = 9600
Do
Print "H"
Loop
end
Der 2te Controller
......
.....
$Baud = 9600
Do
mehr weiß ich aber auch nicht
muss man da jetzt sagen If Input "H"
-
Erfahrener Benutzer
Roboter-Spezialist
Die RX schliesst du immer am Interrupt an.
Castle
-
Erfahrener Benutzer
Robotik Einstein
Hallo Furtion,
das sollte in etwa so werden:
Dim V as Byte
Input V
if v = 'H' then machwas
evtl. ein loop drumrum.
-
Erfahrener Benutzer
Roboter Experte
Das geht net. Ich habe hier mal das Programm
$regfile = "m8535.dat"
$crystal = 1024000
$baud = 9600
Ddrd = &B01100000
Dim I As Byte
Do
Input I
If I = "00001" Then
Portd.5 = 1
Else
Portd.5 = 0
End If
Loop
End
-
Erfahrener Benutzer
Robotik Einstein
Wenn I ein Byte ist, kann es nur eine Zahl sein, von 0 bis 255, die Du abfragen kannst, also keine ".
Wenn du Zeichen einlesen willst, dann oben als String dimensionieren.
Dim I as String *10
wenn 10 Zeichen rein sollen.
-
Erfahrener Benutzer
Roboter-Spezialist
hi,
naja das sieht mir alles nach basecom aus ... und ich hoff das is da nich anders als bei normalen sprachen ^^
aber die "Aussage Die RX schliesst du immer am Interrupt an." ist recht Falsch .. ich nutze Interrupts fast nie wenn ich se nich UMBEDINGT brauch .. (im mom hab ich z.b. den mega162V mit 2 seriellen schnittstellen die ALLES überwachen müssen und sich auch kein fehler leisten dürfen ...) und troztdem ohne interrupt ... (nur mal so nebenbei..) wie gesagt schlagt mich falls es bei basecom anders sein sollte aber..
und was spricht gegen 0x48 ? dann hast auch dein H ..
-
Erfahrener Benutzer
Roboter Experte
OK ich habe hier noch 2 Programme die Hat mein Vater geschrieben da soll erst die Eine Led angehen dann soll die ausgehen und eine andere nach ner bestimten zeit angehen und danach noch ne andere. Nur die Letze geht nicht an.
---------------------------Hier das erste Programm(Sender)-------------------
$regfile = "m16def.dat"
$crystal = 1024000
$baud = 9600
Ddrd = &B01100000
Dim I As Integer
Dim Zeit As Integer
Do
Select Case I
Case 0
Portd.5 = 1
Portd.6 = 0
Zeit = 1000
Case 1
Portd.5 = 0
Portd.6 = 1
Zeit = 1000
Case Else
Zeit = 0
I = -1
End Select
I = I + 1
Waitms Zeit
Loop
End
-----------------------Hier das Empfangsprogramm-------------------------
$regfile = "m8535.dat"
$crystal = 1024000
$baud = 9600
Ddrd = &B01100000
Dim I As Integer
Dim Zeit As Integer
Dim E As String * 4
Do
Input E
Select Case E
Case "0001"
Portd.5 = 1
Portd.6 = 0
Case "0010"
Portd.5 = 0
Portd.6 = 1
End Select
Loop
End
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen