Hallo,

ganz einfach gefragt: wie bekomme ich Zeichen aus einem String in ein Array?
Ich mache zur zZ folgendes.
Code:
$regfile = "m2561def.dat"
$crystal = 8000000
$hwstack = 256
$swstack = 256
$framesize = 256
$lib "I2C_TWI.LBX"
Config Twi = 400000
$baud = 57600
$baud1 = 57600
Config Spi = Hard , Interrupt = On , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 1
Spiinit


Dim Rxd_sgn As Byte
Dim Rxd_stat As Byte
Dim Rxd_buffer As String * 130

Dim Values(40) As Byte
Dim Rxdbuffer(130) As Byte

Dim Debugstr As String * 130
Dim A_str As String * 130
Dim B_str As String * 130
Dim C_str As String * 130
Dim L_str As Byte

On Urxc Record                                                                 ' isr rxd (com1)
Rxd_stat = 0
Open "com2:" For Binary As #1

'-------------------------------------------------------------------------------
'main
Do

If Rxd_stat = 2 Then
   If Left(rxd_buffer , 2) = "#a" Then A_str = Rxd_buffer
   If Left(rxd_buffer , 2) = "#b" Then B_str = Rxd_buffer
   If Left(rxd_buffer , 2) = "#c" Then C_str = Rxd_buffer

   Rxd_stat = 0
   L_str = 0
   Rxd_buffer = ""
   Enable Interrupts                                                           ' interrupts freigeben
   Enable Urxc
End If

'(
' nur für test:
Print #1 , A_str;
Print #1 , Len(a_str)
Print #1 , B_str;
Print #1 , Len(b_str)
Print #1 , C_str;
Print #1 , Len(c_str)
')
Loop
Close #1
End
'-------------------------------------------------------------------------------
Record:
Rxd_sgn = Udr0                                                                 ' von UART register nach zeichen

If Rxd_sgn = &H23 Then Rxd_stat = 1                                            ' < # > empfangen
If Rxd_stat = 1 Then Rxd_buffer = Rxd_buffer + Chr(rxd_sgn)                    ' von zeichen nach string


If Rxd_sgn = &H0D Then
      Rxd_stat = 2                                                             ' < CR > empfangen. string ende
      Disable Interrupts                                                       ' interrupts sperren
      Disable Urxc
      L_str = Len(rxd_buffer)
End If
Return
'-------------------------------------------------------------------------------

In der Int.routine < record: > wird jedes empfangene Zeichen in einen String < rxd_buffer > geschoben.
(Ende ist erreicht wenn &H0D empfangen worden ist)
dann verschiebe ich den empfangen String, je nach zweitem Zeichen in einen anderen String. Zb. nach <A_Strg>

nun bräuchte ich aber die Zeichen in einem Array, hier bei mir < Rxdbuffer > um sie weiter verarbeiten zu können.
Wie bekomme ich die Zeichen da hin?

sz