mat-sche
06.07.2010, 19:12
Und ich schon wieder :)
Nach dem der Bootloader nun funst, wollte ich eine Erkennung einbauen, die die "123" vom MCS Bootloader erkennt und dann in den Bootloaderbereich springt und dies alles über com2 vom mega644p:
$regfile = "m644pdef.DAT"
$crystal = 14745600
$baud = 57600
Baud = 57600
$hwstack = 40
$swstack = 40
$framesize = 40
$lib "glcdKS108.lbx" 'Include the library for the KS-108 controler
'$sim
'------------------------------------------------------------------------------- Grafik LCD
Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Porta , Ce = 0 , Ce2 = 1 , Cd = 2 , Rd = 3 , Reset = 5 , Enable = 4
Cls
'------------------------------------------------------------------------------- Autoflash über RS232
Dim Rs232_flash As Byte
Dim Rs232_str As Byte
Open "COM1:" For Binary As #1
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "COM2:" For Binary As #2
Config Com2 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
'-------------------------------------------------------------------------------SNAP
Dim Lv As Byte
Dim Temp As Word
Dim Rf_rxd As Bit , Rf_sync As Bit
Do
'************************************************* ****************************** 'Automatisches Flashen über RS232
Rs232_flash = Ischarwaiting(#2)
If Rs232_flash = 1 Then 'wurde was über RS232 empfangen?
Rs232_str = Inkey(#2) 'Empfangspuffer auslesen
If Rs232_str = 123 Then 'vom MCS-Programmer geschickte "123" empfangen?
Print #1 , Rs232_str
Else
Print #1 , "kein Zeichen" 'Sprungadresse zum Startbereich des Bootloaders
End If
End If
If Rf_rxd = 1 Then
Print
End If
'do anything....
Print #1 , "neuer Mainloop"
Wait 1
Loop
End
nutze ich nun nur com1 funktioniert das alles. Ich komme mit der Zeichenerkennung Ischarwaiting & Inkey für com2 nicht klar.
Lässt sich Ischarwaiting & Inkey genauso für com2 nutzen und zwar wie?
=> Ischarwaiting(#2) & Inkey(#2) funst leider nicht, Ischarwaiting(#2) bekomme ich zwar eine 1 wenn was empfangen wurde, jedoch bei Inkey bekomme ich keinen Wert.
Help ](*,)
Nach dem der Bootloader nun funst, wollte ich eine Erkennung einbauen, die die "123" vom MCS Bootloader erkennt und dann in den Bootloaderbereich springt und dies alles über com2 vom mega644p:
$regfile = "m644pdef.DAT"
$crystal = 14745600
$baud = 57600
Baud = 57600
$hwstack = 40
$swstack = 40
$framesize = 40
$lib "glcdKS108.lbx" 'Include the library for the KS-108 controler
'$sim
'------------------------------------------------------------------------------- Grafik LCD
Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Porta , Ce = 0 , Ce2 = 1 , Cd = 2 , Rd = 3 , Reset = 5 , Enable = 4
Cls
'------------------------------------------------------------------------------- Autoflash über RS232
Dim Rs232_flash As Byte
Dim Rs232_str As Byte
Open "COM1:" For Binary As #1
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "COM2:" For Binary As #2
Config Com2 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
'-------------------------------------------------------------------------------SNAP
Dim Lv As Byte
Dim Temp As Word
Dim Rf_rxd As Bit , Rf_sync As Bit
Do
'************************************************* ****************************** 'Automatisches Flashen über RS232
Rs232_flash = Ischarwaiting(#2)
If Rs232_flash = 1 Then 'wurde was über RS232 empfangen?
Rs232_str = Inkey(#2) 'Empfangspuffer auslesen
If Rs232_str = 123 Then 'vom MCS-Programmer geschickte "123" empfangen?
Print #1 , Rs232_str
Else
Print #1 , "kein Zeichen" 'Sprungadresse zum Startbereich des Bootloaders
End If
End If
If Rf_rxd = 1 Then
End If
'do anything....
Print #1 , "neuer Mainloop"
Wait 1
Loop
End
nutze ich nun nur com1 funktioniert das alles. Ich komme mit der Zeichenerkennung Ischarwaiting & Inkey für com2 nicht klar.
Lässt sich Ischarwaiting & Inkey genauso für com2 nutzen und zwar wie?
=> Ischarwaiting(#2) & Inkey(#2) funst leider nicht, Ischarwaiting(#2) bekomme ich zwar eine 1 wenn was empfangen wurde, jedoch bei Inkey bekomme ich keinen Wert.
Help ](*,)