mam mały problem z pamięcią zewnętrzną (XRAM). Chodzi o to, że definiuje zmienną:
Kod: Zaznacz cały
Dim A(30000) As Xram ByteCzemu zmiennej z pamięci zewnętrznej nie moge odczytać jako 30kB
Z góry dzięki
Pozdrawiam
Kod: Zaznacz cały
Dim A(30000) As Xram Bytemarcing pisze:Po pierwsze - jaki procesor?
Po drugie - czy poinformowano kompilator o zewnętrznej pamięci? (opcje, lub dyrektywy $XRAMSIZE, $XRAMSTART)
A... i jeszcze jedno: 30kB to 30 x 1024B
Kod: Zaznacz cały
$regfile = "m162def.dat"
$crystal = 8000000
$baud = 19200
$xa
$xramstart = &H500
$xramsize = &H8000Kod: Zaznacz cały
Dim A As Byte
Dim B As ByteKod: Zaznacz cały
Dim A(30000) As Xram ByteKod: Zaznacz cały
Report : NONAME1
Date : 04-15-2007
Time : 12:23:59
Compiler : BASCOM-AVR LIBRARY V 1.11.8.5
Processor : M162
SRAM : 400 hex
EEPROM : 200 hex
ROMSIZE : 4000 hex
ROMIMAGE : BE hex -> Will fit into ROM
ROMIMAGE : 190 dec
FLASH USED : 1 %
XRAM : 8000 hex
Stack start : 4FF hex
Stack size : 20 hex
S-Stacksize : 8 hex
S-Stackstart : 4E0 hex
Framesize : 18 hex
Framestart : 4C7 hex
Space left : 959 dec
--------------------------------------------------------------------------------
Variable Type Address(hex) Address(dec)
--------------------------------------------------------------------------------
AA Byte 0100 256
BB Byte 0101 257
A Ext. Byte (30000) 0500 1280
Do not use $XA, use CONFIG XRAM instead in line 4Kod: Zaznacz cały
A(1) = 100
A(29000) = 200
Print "1 = " ; A(1)
Print "2900= " ; A(29000)
Print "200 = " ; A(100)