Régi működő atmega programom konvertálom xmega procira.(bascom 2,0,7,6)
A következő hibát találtam az eeprom kezelésben.
A jelek szerint eram változó nem szerepelhet feltételes utasításban,
illetve a print eramváltozó utasítás már le sem fordítódik.
Mindezek jól működtek amega procin.
Szóval a programrészlet:
Kód: Egész kijelölése
$regfile = "xm256a3def.dat"
$crystal = 32000000
$hwstack = 64
$swstack = 40
$framesize = 40
$lib "xmega.lib" : $external _xmegafix_clear : $external _xmegafix_rol_r1014
Config Osc = Enabled , 32mhzosc = Enabled , 32khzosc = Enabled
Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1 '--> 32MHz
Config Eeprom = Mapped
'Config Eeprom = Quick
'Serial Interface to PC
Config Com1 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
Open "COM1:" For Binary As #1
Dim B1 As Byte
Dim B2 As Byte
Dim E1 As Eram Byte
Waitms 100
Print #1 , "Start"
B1 = 2
E1 = B1
Waitms 100
B2 = E1
Print #1 , "B1: " ; B1 ; " B2: " ; B2
'Print #1 , E1" 'Ez a sor le sem fordul !!!!
If E1 <> 2 Then Print #1 , "Error if"
Select Case E1
Case 2 : Print #1 , "OK case"
Case 0 : Print #1 , "Error case 0"
Case Else Print #1 , "Error case"
End Select
For B1 = 4 To E1 Step -1
Print #1 , B1
Next B1
B1 = E1
Print #1 , "E1: " ; B1
Print #1 , "Stop"
End A program kimete:
Start
B1: 2 B2: 2
Error if
Error case 0
4
3
2
1
0
E1: 2
Stop
Mi lehet a hiba? Én hibázom, vagy a bascom?