Поздравляю зарегистрированных пользователей с новой версией Баскома!
Можно скачать с официального сайта обновление.
2.0.0.0 , yes this is the new version number
- RAMPZ : when Z is loaded, the RAMPZ is set when it was used before to point to data in flash memory.
This will generate more code but is needed because when RAMPZ is changed and data is exchanged between X and Z, it is important
that Z points to the proper data in RAM.
- readsig() added for xmega, use it to load calibration data
- beta : added stackcheck directive $hwcheck,$framecheck and $softcheck
- xmega buffered serial input supported
- xmega config adc did not support CH1_GAIN - CH3_GAIN parameters.
- split() supports variable for the delimiter too now. (previously it only supported a constant)
- declare function/sub REQUIRE (). So declare sub test is NOT ok, but declare sub test() is.
- Xmega AES encyption/decryption added. See xm128-aes.bas
- xmega TWI support added. By default TWIC will be used unless you use OPEN "TWIx"
config TWI will enable the TWI so it is important to add it : CONFIG TWI|TWIC|TWID|TWIE|TWIF=baud
open "TWIC" for binary as #1
i2cinit #1
i2cstart #1
i2cwbyte value ,#1
i2crbyte value,ack|nack,#1
i2cstop #1
without # the default TWIC will be used.
- various xmega uart bugs resolved (some could lead to a stack error)
- $bgf had a problem with big images. this was actually a problem of the assembler. this could give problems for large font files too.
- Xmega baud rate calculation improved, now the lowest possible error will be calculated for BSEL/BSCALE.
- config servo has a new parameter and alternative code for working with servos. when using INTERVAL=t , then the alternative code will be
used.
It is best to use a reload value of 100 and an interval of 100. This is optimized for normal RC servos.
- instead of ar(a+1) you can also use a variable : ar(A+J)
- bylabel added to sub/function which allows to pass the address of a label.
- uarts of type 3 (shared UBRI register) did not set UMSEL bit resulting in bad data bits. using CONFIG COM did/does work correct. This problem
was only visible when
using the old style where the com port is automatic configured when using $BAUD.
- soft spi now supports mode 0,1,2 and 3. if not specifying mode=, then the default mode 1 will be used.
when using the MODE, you can also specify setup and speed. setup and speed expect a numeric constant.
setup is the delay in uS before sampeling the MISO pin. speed is a delay in us. when you specify 1, it will result in a 2 uS or 500 KHz clock.
(estimated)
you can use either SS or NOSS, NOSS and SS are inverted. to disable SS use : SS=NONE, or NOSS=1
- toggle for arrays with constant bit number worked on element 1.
- DIDR reg added to tiny2313
- mcs bootloader can send EEP file too if it exists.
- accessing an array in a sub/function with a local var and offset (var(a+3)) did not added the offset to the element.
- m48Pdef.dat file added
- getrc5 , use 2000 for the 131 ms wait as it was in 1.11.9.8
- config print2 end print3 did not set rs485 level for the PRINT statement.
- the idle, powersave and powerdown are depriciated. use power [option].
the old statements will convert automatic to the new power statement.
- m1284p added to config clock.
- tiny13A dat file added. Notice that this A version has the same signature as the normal Tiny13.
- in options, enviroment, IDE you can select to check the version when you start the IDE
- tiny25,45 and 85 did not had a timer1 reference in the dat file (alias for tcnt1)
- crc32 uses a word for the number of bytes instead of a byte
- the simulator saves the state of the EEPROM. This means that when writing the EEPROM, you
Use the popup menu to clear the EEPROM (set all values to FF)
- uspasp and other atmel programmers did not erase the chip when using 'autoprogram'. Also auto refresh for lock and fuse bits was not enabled.
- stcheck used brge(signed compare) instead of brsh(unsigned compare)
- tiny48/tiny88 do not support HW MUL, dat files adjusted.
- mmc.lib saves R23 in case an extened port is used for the interface.
- charpos() accepts additional parameter with starting value. (>0)
- ####### IMPORTANT FEATURE ########
config base=0 | 1 added. By default arrays are 1 based in bascom. with config base=0, arrays start a 0.
dim ar(5) will occupy elements 0-4 ! In some old basic(QB) and VB it would take 0-5 thus 1 additional element.
- config lcdpin did not override options from the CFG file when bus mode was selected.
- waitus accepts a variable too. it will only work reliable when the oscillator speed is high enough.
- config i2cdelay did not update ___I2CDELAY constant used by soft i2c.
- mcs bootloader will ask if EEP file need to be programmed when this file exists.
- max() procedure (not the function) returned wrong index value for bytes which had the ms bit set(signed compare was used instead of unsigned).