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







Its not a bug its a feature 
Zitieren
Lesezeichen