PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : von pc eine variable in Atmega uebergeben



Dietmar74
21.02.2010, 16:26
hallo zusammen,

habe ein kleines problem und zwar:

ich habe einen atmega8 ich sende sachen vom vb.net in den avr, das funst
alles super sehe ich alles im lcd, jetzt sende ich im eine variable und
die soll er dann in sich im eeprom speichern, aber ergend wie macht er
es nicht.


im atmega wird alles gesplittet funktion ach ok.
ich sende zb "2 zustand" mit der case funktion sieht er die 2 geht von
daher dann in ein sub sieht da noch dann "zustand" und gibt mir seine
werte aus als print.

aber wenn ich sende " program ampere 100", dann sehe ich im lcd den
eingang richtig, er sieht auch dann "program" geht auch in das sub
dafuer, sieht da "Ampere" aber dann ueber nimmt er nicht die "100"

program bsp. der ablauf ist ja so ok deshalb nur der teil fuer die
uebergabe:
achso es ist bascom.
'Beispiel des splits
'program AMPERE 123
'Command_array(1) Command_array(2) Command_array(3)

Dim Ampereeeprom As Eram String * 3
Dim Ampere As String * 3
..
..
..
Case "AMPERE"
Ampere = Command_array(3)
Ampereeeprom = Ampere
Locate 1 , 1
Lcd Ampere ; " " ; Ampereeeprom

habe ich da einen denk fehler oder muss ich es noch durch mit input oder
inkey machen, weil funktion mit denn beiden war nicht vorhanden.

danke im vorraus an alle die mir helfen koennen.

dietmar

Che Guevara
21.02.2010, 17:28
Hallo dietmar,

wäre nicht schlecht, wenn du dein ganzes Programm posten würdest.
Aber mir fällt sofort auf, dass du im Programm das "AMPERE" GROß geschrieben hast, du sagst aber, dass du "program ampere 100" übergibst, wobei hier "ampere" klein geschrieben ist. Das funkioniert nicht!

Gruß
Chris

Dietmar74
21.02.2010, 17:56
hallo Che Guevara,

das ist nicht ganz richtig der eingangs wert wird gewandelt auf gross schrift.


If Eingang485 <> "" Then

'Hier wird alles in Großbuchstaben umwandeln
Eingang485 = Ucase(eingang485)

Locate 1 , 1
Lcd Eingang485

Tmp = Split(eingang485 , Command_array(1) , " ")

Select Case Command_array(1)
Case "2"

Call Do_trafonr_command(command_array(2))
Case "PROGRAM"

Call Do_program_command(command_array(2) , Command_array(3))
Case "ALL"

Call Do_all_command(command_array(2))
Case Else
Print "ERROR: unknown command"
End Select
End If
Eingang485 = ""
Command_array(1) = ""
Command_array(2) = ""
Command_array(3) = ""