PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Portschaltung über RS232



robotxy
23.01.2005, 17:49
Hi!
Ich möchte mit einem VB Programm auf dem Rechner, den Portzustand ändern: Also wenn ich zB. A51* an den AVR sende, soll PortA.5 = 1 sein.
Außerdem wird der aktuelle Zustand aller Ports nach einer bestimmten Zeit regelmäßig an den PC gesendet. Aber irgendwie funzt das schalten der Ports nicht. Hoffe jemand kann mir Helfen,
MfG
Rasmus



$baud = 9600
$crystal = 16000000
Dim Typ(4) As Byte
Dim Empfang As String * 20
Dim Tmp As String * 2
Dim Tmp1 As String * 1
Dim Tmp2 As String * 1
Dim Tmp3 As String * 1
Dim Tmp3b As Byte
Dim Tmp2i As Integer
Declare Sub Sendstate()
Declare Sub Changestate()
Config Timer1 = Timer , Prescale = 1024
On Timer1 State
Enable Timer1
On Urxc Getrs
Enable Urxc
Enable Interrupts



Typ(1) = 1
Typ(2) = 1
Typ(3) = 1
Typ(4) = 1
If Typ(1) = 0 Then
Config Porta = Input
Else
Config Porta = Output
End If

If Typ(2) = 0 Then
Config Portb = Input
Else
Config Portb = Output
End If

If Typ(3) = 0 Then
Config Portc = Input
Else
Config Portc = Output
End If

If Typ(4) = 0 Then
Config Portd = Input
Else
Config Portd = Output
End If

Getrs:
Tmp = Inkey()
If Tmp = "*" Then
Changestate
End If
Empfang = Empfang + Tmp
Return

State:
Sendstate
Return




Sub Changestate()
Tmp1 = Mid(empfang , 1 , 1)
Tmp2 = Mid(empfang , 2 , 1)
Tmp2i = Val(tmp2)
Tmp3 = Mid(empfang , 3 , 1)
Tmp3b = Val(tmp3)
If Tmp1 = "A" Then
Porta.tmp2i = Tmp3b
Elseif Tmp1 = "B" Then
Portb.tmp2i = Tmp3b
Elseif Tmp1 = "C" Then
Portc.tmp2i = Tmp3b
Elseif Tmp1 = "D" Then
Portd.tmp2i = Tmp3b
End If
Empfang = ""
End Sub

Sub Sendstate()
Dim N As Integer
For N = 0 To 7
Print "A" +Str(n)+ Str(pina.n)
Next
For N = 0 To 7
Print "B" + Str(n) + Str(pinb.n )
Next
For N = 0 To 7
Print "C" + Str(n) + Str(pinc.n )
Next
For N = 0 To 7
Print "D" + Str(n) + Str(pind.n )
Next
Print "*"
End Sub

RCO
23.01.2005, 18:02
Also ich kann kar kein VB, aber hier ist ein Programm in VB für den 2313 (den du wohl nicht verwendest), kannst dir das ja mal anschauen:

Ferngesteuerter Atmel (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=811)

MFG Moritz

robotxy
23.01.2005, 18:35
Das VB Programm funzt ja schon einwandfrei, nur der Code für den ATMega32 läuft nicht,
MfG
Rasmus