搜索
bottom↓
回复: 35

bascom-AVR-2.0.1.0正式版没有限制,如果需要的人多,共享2.0.7.3版

[复制链接]

出0入0汤圆

发表于 2011-10-27 19:34:07 | 显示全部楼层 |阅读模式
很久没人讨论了吧,放出新版。爱好者聊一聊。
http://ishare.iask.sina.com.cn/f/20335843.html?w=]bascom-AVR-2.0.1.0.rar
http://ishare.iask.sina.com.cn/f/20335844.html?w=]bascom-AVR-1.12.0.0.rar
看看可以做些什么:http://www.avr64.com/main.php?r=24251

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2011-10-27 23:29:54 | 显示全部楼层
http://iask.sina.com.cn/u/1719929270/ish?folderid=153856
2.0.7.3
  - If writing assembler, please use $ASM..$NO ASM or the !
    While asm is cuurently supported without preceding !, it is not allowed in the future.
    So this is good:
    $asm
      nop
    $end asm
    ! nop
    But this is not good:
    nop

  - When using CONFIG LCD, use X instead of * : config LCD = 16x2 instead of 16*2
    Bother are valid, but the * will become invalid in the future.
  - When using parameter options with spaces like PWM A, use underscores instead : PWM_A
    Both are valid, but spaces are not allowed in the future.
  - use CONFIG POWERMODE instead of the POWER statement. See Help.
  - getRc_m128_PINF.lib added for getrc() on M128, portf.
  - shiftout option parameter did not allow constants (numeric paramter had to be specified)
  - added .align mnemonic to the internal assembler
  - m48def.dat, WDVALUE must be : WDVALUE=16,32,64,128,256,512,1024,2048,4096,8192
  - CONFIG TCx , PWM and WAVE modes will automatic set the port direction register for COMPAREx options.
    But it also set the other port direction bits to output which was wrong.
  - xmega LCD simulation added
  - shiftout option parameter did not allow constants (numeric paramter had to be specified)
  - xmega uart simulation corrected.
  - Editor did not repaint properly in some cases when adding a new line.
  - avrisp mkII programmer can write all xmega fusebytes individually.
  - config print1|print2|print3 settings were not cleared at the begin of the compilation.
    This would give the effect that when used once, the config would remain in effect till the IDE was restarted.
  - $FILE would append to the error file instead of overwriting it.

出0入0汤圆

 楼主| 发表于 2011-10-27 23:30:25 | 显示全部楼层
2.0.7.2
  - fonteditor plugin accepts 64x64 fonts now.
  - config TCxx changed : now the wgmode parameter is expected :
    config TCxx=NORMAL|FREQ|PWM|PWM_TOP|PWM_BOT|PWM_TOPBOT, other params....
  - config timer has a new optional parameter : configuration
    Config Timer1 = Timer , Prescale = 1 , Configuration = Abc
    Config Timer1 = Timer , Prescale = 1024 , Configuration = Test
    The config is stored in a name you provide. With this configuration you can start the timer using this configuration:
    Start Timer1 , Abc
    Start Timer1 , Test
    See Help.
  - the IDE sometimes painted code as comment.
  - oled ssd1325 support added for 96x64 display. also included, an RLE compressor for 16 grey scale images.
    based on bascom code from Robert Wolgajew
  - dmxslave support for xmega added. dmx samples from MAK3 added.
  - new xmega samples from MAK3. XMEGA_easy_Frequency_Generation.bas and XMEGA_single_slope_PWM.bas
  - setting bit with option base 0, could give range error.
    this fix, also fixes other bit range error.
  - mixing byte with string constants in DATA lines created wrong data image.
  - #if someStrConst = "constantvalue" was not correct evaluated in the preprocessor.
  - secelapsed had no reference to used routines : mul32 and mul16
  - print/lcd on arrays like : var(idx+1) , gave an error
  - #### Please read the important info about timer pwm mode of 2071.

出0入0汤圆

 楼主| 发表于 2011-10-27 23:31:37 | 显示全部楼层
2.0.7.1
  - corrected help for shiftin, external clock mode. (edges were reversed for external clock)
  - attiny20 added.
  ############################ IMPORTANT  ####################################################################
  - compare CLEAR UP and compare CLEAR DOWN, were reversed. This mean they would select the reverse mode.
    if you use timers in PWM mode with CLEAR UP/DOWN mode, you might need to check it (depending on your app)
  ############################################################################################################
  - updated config spi help for xmega.
  - F1 will now show Index tab with the help word selected.
  - m328def.dat added (but you should use new m328P chip and dat, only added for users with old chips)
  - Hardware Simulator did not used PIN registers with extended address correct. (for example PINK for m2560)
  - xmega rampz problem fixed for right() function and for readeeprom/writeeeprom. these functions used a different way to load the Z pointer.
  - string() function used with local variables trashed the registers.
  - added waitms reference to config graphlcd.
  - when using config submode=new, and not using any serial command in the main module, the uart was not initialized.
  - inkey/ischarwaiting code added for xmega, serial buffered mode
  - using {xxx} in string compare did not work.
  - added Setreg regname, value
  - added Getreg(regname)
    Now you can set/get register values from basic  
  - 1wire for xmega bug fixed for 1write using a constant.
  - 1wire sending 1 byte code reduced

出0入0汤圆

 楼主| 发表于 2011-10-27 23:33:13 | 显示全部楼层
2.0.7.0  few sub versions have skipped because of this new feature
- config submode=new will use a new mode with the following changed rules:
  - declare function/sub is not required
  - sub/function code is included only when used
  - sub/function code is included after your code, not at the place where it is in your code
  - while tested on a number of projects and all samples, this mode if off by default to maintain compatibility
- the IDE has an option to use only com ports that exist. the com ports (terminal emu, sim, programmers) are changed
  under their name not by a relative index. this means you must select the comports once.
  when you do not select the option to use com ports that exist, you get a list of COM1-COM255.
- loadlabel() will work on EPROM too now, but it must be used after the eeprom image. Thus the labels must be placed before the loadlabel() function
- readeeprom help , bylabel help
- double_trig did not use _lpmbyte causing rampz problem
- m1284pdef.dat had a wrong timer alias for ovf3

出0入0汤圆

 楼主| 发表于 2011-10-27 23:34:49 | 显示全部楼层
2.0.6.3
- date$/time$ when used in compare (if then, select case etc.) will load the date/time before the comparison now.
  you should consider using internal variables _day, _hour etc. however!
- delchar/delchars loaded pointers in wrong order.
- using input on com3 for m2560 failed.(duplicate label used)
- added tn167def.dat file.
- sim did not show hex/bin values properly for dword variables
- binval/hexval dword support added.
- added m324PAdef.dat
- bit arrays calculation changed, required by a previous address calculation fix.

2.0.6.2
- added sample for MyAVR MK3 (display, 7-seg)
- extended fuse byte added to 2313,2313A and 4313.
- if you use INITLCD in your code, the compiler will not call _init_lcd any longer as part of the initalization.
  this way you can control when the lcd is initialized. for an xmega this should be done after the oscillator is chosen and the clock is stable.
- lcd4busy_anypin lib changed to support xmega
- set/reset will use register r23 instead of r24

2.0.6.1
- power modes did not update power mode registers, this would make the power modes fail.
- rs485 sample added from MAK3 for xmega and arduino
- ds1307_GER.lib added for European date/time convention. Mods by MWS.
- pulsein adapted for xmega, also sample added from MAK3.
- report module calculated baud, but this gave an error if the uart was not used and bascomp.exe was used.
- dma channel repeat counter is a byte (and probably a word in the future) but it is moved back from the WIO section since it is a byte.
- {xxx} dit not work for data statements due a change in 2060.

出0入0汤圆

发表于 2011-10-27 23:35:31 | 显示全部楼层
还是用C 支持下

出0入0汤圆

 楼主| 发表于 2011-10-27 23:36:18 | 显示全部楼层
2.0.6.0
- $aeskey 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16  will create an AES 128 bit encrypted file.
  you can NOT simulate this file since it is encrypted. it is intended to be used with the AES bootloader from Reinhars.
  this last minute addition is not documented in the help yet!
- sample included to calculate the median for a big data set. see ReMedian 1V0.bas, written by Per Svensson
- xm128A1-ReadFusesWriteLockBits.bas based on user reinhars code and various DMA samples form user MAK3
- insertchar, delchar and delcharS statements added, seel also del_insert_chars.bas
- version(2) will show $version info, see also new $version
- Lookup() with an index crossing a 64KB boundary would fail for chips with >64KB.
- search dialog history can be cleared. Also removed the autocomplete.
- DMA support added to Xmega,also DMA demo added, int added to dat files.
- ST7565R lcd driver added for graphical displays, also xmega sample added for this lib (display uses 3v3)
- using {034} and quotes gave a problem when they were unbalanced.
- stk500 did not load the address for each 64 K page.
- fixed bug in the new lcd4busy_anypin.lib, pin def was missing an underscore
- the flash2ram asm code checked page boundaries but this was also done by _lpmbyte. This resulted in a wrong rampz page when using READ on a page boundary.
- shiftin/shiftout accept a variable for nr of bits
- version() accepts user version string  for example version("my data")
- chips with movw instruction will use movw if defined in the dat file
- config com2 stopbits=2 did not set the usb bit
- PORTB = Not DDRB (using not on a port with both the source and target a low port registers) would load the wrong register.
- assigning a string constant with a dot caused a wrong conversion of the string table.
- toggle word/long.bit toggled wrong bit
- When using $SIM, i2c clock stretch is ignored in the simulator.
- $file = "somefile.bin"  will create different file output. if you main file is main.bas all output files will be somefile.xxx. The main.bas will be unaltered.
- config printbin=extended, fixed for xmega in xmega.lib
- wdvalue=wd timer values, added to the dat files. selecting a wrong value will give an error.
- enable interrupts will auto enable MED interrupts on the XMEGA.
  This will only happen the first time you use enable interrupts. It will use these settings : CONFIG PRIORITY=static,vector=application,MED=enabled
- varsize("varname") will return the length of the variable in bytes. example:
  dim s as string * 10 : const c1=varsize("s") : c1 will become 11 (strings have additional byte)
  dim b(4) as byte : const c2=varsize("b") : c2 will become 4 because byte uses 1 byte, and array is 4
  varsize is an interal function, intended to be used with CONST.
- left() bug fixed when source and target where arrays with variable index. this would trash the registers that holds the lenght

出0入0汤圆

 楼主| 发表于 2011-10-27 23:39:49 | 显示全部楼层
2.0.5.0
- simulator tooltip will show alias and constants too. (if compiled with 2050)
- xmega buffered input and output were not using the buffers.
- tcpip chip reset time extended to 200 ms.
- m164P,324P and 644P did not have uart2=5 in the ini file, so UBRRHI was not set.
- changed help about LIBUSB. Most important : new libusb supports all windows versions including Win7-64 !!!
- str2digits added, converts a string into an array of numeric digits
  s="12345" : str2digits s, ar(1)  : ar(1) contains number of digits, ar(2) = 5, ar(3)=4, etc.
- XV-GDM128X64 Graphic Display Library for 128 * 64 from avr-praxis added.
  See http://mikrocontroller-praxis.de/de/Display/Monochrom-Grafik-FSTN/XV-GDM128X64-RGB.html
- Arduino bootloader support added. Select 57600 baud and the com port. flash/eeprom is supported, but arduino does not support fuse/lock bytes.
  Tested with arduino mega and arduino nano v3.
- STK600 now also works in ISP mode for non xmega/pdi chips.
  also, the clock frequency was not calculated properly for the stk600.
- there was no error when assigning too big string constants to strings in subs/function.
  if you do not specify the size of a parameter, you still will not get an error.
  declare sub test(s as string * 10)  : here the length is defined. this is the maximum allowed length.
  since you can call a sub from multiple places/subs, you need to define the maximum.
- TIMER4, TIMER5 supported added to the LOAD statement.
- m1280/2560/644p,m2561,m1281 did not use the proper register when using START TIMER.
- xmega 256xxx chips bootloader space was not addressed with the proper page loaded in rampz.
- dword type added. a dword is a double word and uses 4 bytes just as a long.
  just as like a word, it can not hold/show negative numbers. Notice that this is a first release, some function/statements might not support it.
  Inform support if there is a problem.
- at90pwm216 dat file added.
- when a string is passed with byval, a string with the required length is passed.
  So when passing "abc" it will pass a string with length of 3.
  When you alter the string, like adding spaces, you will overwrite the length.
  There is no way to know how long it can be/become.
  To override this, you may specify the length of the string in the declaration.
      normally you declare only the string type : dim test(byval s as string)
  But an optional length will set the maximum size.
      dim test(byval s as string * 20) will set the string to a length of 20.
- local variables may now have the same name as global variables.
- simulator changed so it requires less cpu time when pauzed
- charpos() used with an offset of 0 did not work. also new option/parameter added.
- quote() did append to the end of string.
- programming xmega 256 chips, programmed the full memory, not the project size.
- checksumXor() added
- simulator support added for config base=0
- xmega printbin did not support printing constants.
- xmega config print/2/3/4 for RS485 support added.
- if useing WR pin with LCD in pin mode, the lib lcd4busy_anypin will be used. This lib is based on Luciano's LUC_lcd4busy lib.
  the lib will be automatically used when using the WR pin, so there is no need to include it.
  Example : Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0 , Wr = Portb.6
- sort added for byte,integer and word arrays
- modded rnd() so it returns a larger number(a word)
- $crypt option added to use crypted code, this is an add on, not enabled by default.
- m8515 prescale value for 64 and up was incorrect.
- tiny48/88, timer0 configured non existing register. also removed all options that are not present in timer0.
- tiny24/45/85 Config timer0 = timer , Prescale = 1 , Compare A = Toggle , Clear Timer = 1 would set up portb.3 instead of portb.0
- simulator supports xmega interrupts.
- $notransform opion added. while the compiler by default changes code depending on the chip, you might want to get an error.
  When you set $notransform ON, the compiler will not transform IN into an LDS when needed. You will get an error. Intended for asm programmers.
  $notransform On
  cbi portL,1
  $notransform Off
- avr-dos changed to xmega.
- fm24c64_256.lib added for replacing eeprom with ramtron eeprom.
- glcdEADOGM128x6 , rotate option added by MWS to rotate screen by 180 degrees. use CONFIG parameter ROTATE=180
- glcdRA6963.lib added for RA6963 chip which replaces the T6963C
- AVR910/MYAVR MK2 programmer, blockmode support added for quicker programming. Also timeout added to options.
- $bigstring gave a problem with big dimensioned strings because of the stack frame correction
- improved stack clean up code, depending on the size different code will be called eliminating the loading of R25 in most cases
- config BASE will create _BASE constant. Also changed compiler and a number of libs to use the proper base. Code using elemtn (1) was replaced by (_BASE)
- fixed a bug in glcdEADOGM128x6.lib where big non-TT fonts were not displayed correct.

出0入0汤圆

 楼主| 发表于 2011-10-27 23:40:16 | 显示全部楼层
2.0.4.0
- $include did not work for network/different drives.
- increased flash size for xmega with extended bootloader address
- config event_system added for Xmega
- new xmega samples from MAK3 added
- getrc5 supported by xmega
- xmega CONFIG POWER_REDUCTION added
- changed config port0 to vport : config vport0=A, vport1=B,vport2=.., vport3=..
- config error=ignore,nr=ignore [,nr2=ignore]  will ignore errors. this will allow you to compile your code despite a possible error.
  depending on the error, the resulting code will (not) work.
- buffered serial output (com1-com4) supported for xmega.
- freeing a frame with more then 255 bytes resulted in a frame space leak. (for example when using a big string as a local in a sub/function)
- simulator improved for xmega
- xmega ERAM can be assigned directly with a constant too
- xmega SPI print improved : using a comma you can specify the number of bytes to send
  print #1, ar(10), 10 ; 123 ; L,2
  would print 10 bytes of the array ar(), then a byte with value 123, and then 2 bytes of the varialble L
  values are separated by semi colon (;) and the comma (,) serves to specify the number of bytes to send. the number of bytes may be a constant or variable.
  when no value is specified the data length is used. so for a long , 4 bytes would be sent.
- xmega SPI INPUT improved :
  input #1, var ;1 , ar(1);3
  would get 1 byte into variable var. and then 3 bytes into array ar(). Notice that INPUT uses the , as separator and INPUT the ;
  Thus for specifying the number of bytes, the ; is used. This is reversed in PRINT and INPUT.
  Normally the PRINT uses ; to separate and INPUT uses , to separate.
- Arabic translation for IDE completed. Also added BDI right to left support for Arabic. Thanks Walid !
- sample for xmega reset
- set,reset and toggle use special xmega registers for less code
- Russian translation for IDE completed. Thanks Alexander !
- array index calculation generates unneeded code for some cases. It adds a zero index which does harm but creates more code.
- defword and defbyte generated an error after an update of the parser.

出0入0汤圆

 楼主| 发表于 2011-10-27 23:40:32 | 显示全部楼层
2.0.3.0
- mmc-xmega.lib added for using hardware SPI with xmega.
- xmega int() function did not work since it used indirect addressing mode for registers.
- xmega SPI print/input did not use the right counting register, resulting in random read/writes.
- pinout files added
- label and variable names must be unique. this because a function like lookup for example can work with variables as well
  previously the variable would be used if both a label and variable existed. now you will get an error and you need to change the name of the label or variable
- updated libusb info in the help
- xmega virtual portmap config
- updated xmega pwm samples and config tcx will set output pin to output in freq/pwm mode when the CCx is enabled
- STK600 PDI programmer did not identified the chip.
- JTAG ICE programming fixed for both USB and COM port. Programmer works only in JTAG mode.
- bit compare bug from 2.0.0.0 fixed
- xm128a3def.dat , tc1 added
- Open File has a sub menu so you can open a file from the samples folder directly.
- bookmark images show larger number for better readability

出0入0汤圆

 楼主| 发表于 2011-10-27 23:40:56 | 显示全部楼层
2.0.2.0
- start/stop timer accepts xmega timer names
- Full IDE is translated into Russian.
- config tcXX added for xmega timers
- config acxx added for xmega comparator
- simulator can simulate projects with up to 35 include files.
- dat file for m16U4 added.
- all missing dat files added for Xmega
- loadadr did not took config base into account leading to index error warning for config base 0.
- atmel programmers can load/save in HEX format too.
- ADR2 bug fixed. In 2.0.0.0 the ADR2 could point to the wrong label.
- stk600-PDI support added. When selecting stk600, PDI will be used (for xmega programming)
- $prog accepts lock and fuse bytes for xmega
- options, simulator added to save eeprom state.
- checkfloat() function added by Josef which can check a single or double and returns status about nan,zero,sign and infinity.
- pulseout changed to work with xmega.
- mcs bootloader new reset option. you can send a string for reset. To send special ascii use {}. {027}  will send ascii 27.
  To send { you have to use the ascii value as well since { is used to send special characters.
- mcs bootloader can use DTR or RTS for the reset.
- xmega gosub=sectic did not set _SECTIC constant.
- xm128 bootloader rewritten for XM32A4, by MAK3
- config DACB , configured DACA.
- split() when array was dimmed the same size as the number to split, the returned count was 1 too high.
- alias bug from 2.0.0.0 fixed.

出0入0汤圆

 楼主| 发表于 2011-10-27 23:43:14 | 显示全部楼层
2.0.1.0
- 1wire changed so it works with Xmega as well.
- various samples in the samples\xmega folder
- bug in $swcheck fixed. the soft stack is now checked from within the other stack check routines which saves code.
- xm32A4 added, thanks MAK3 !
- getadc() for Xmega has an additional parameter so it can pass both channel and mux.
- $NORAMPZ will result in rampz treating as 1.12.0.0. In 2.0.0.0 the rampz is cleared after it has been used for pointing to flash memory.
   If your app worked fine and you can not allow the extra code you can use the directive.
- xmega EBI(xram) support added. See config XRAM. Don't be intimidated by the number of options, just use the sample.
- config clock uses the RTC now of the Xmega. See the xm128-RTC.bas example
- watchog support added for XMega. See the sample xm128-WD.bas
- added DISABLE JTAG to disable the jtag interface via software. this works for normal and xmega chips.
- $forcesofti2c will force the xmega to use software i2c, it was used internally. it will not be added to the help.
- adding array index support feature resulted in a bug when using locals
- lcdvdf.lib added for a special VFD display module from "Electronic Design Bitzer". LCDAUTODIM added.
  this is a 20x4 vfd display immune for ESD.
  config lcdpin creates constants for the pins which are used by the lib. also MODE added for 20x4VFD.
  you can also define busy for a busy pin. this is a fragment from a lib that shows the generated names. they are also visible in the report.
  sbi _lcddb4dir, _lcddb4_pin             ; db4
  sbi _lcddb5dir, _lcddb5_pin             ; db5
  sbi _lcddb6dir, _lcddb6_pin             ; db6
  sbi _lcddb7dir, _lcddb7_pin             ; db7
  sbi _lcddbedir, _lcddbe_pin             ; enable/strobe HIGH
  sbi _lcdresetdir,_lcdreset_pin          ; reset line to Output
  sbi  _lcddbe,  _lcddbe_pin              ; strobe high
  cbi _lcdreset,_lcdreset_pin             ; reset low
  sbi _lcdreset,_lcdreset_pin             ; reset was LOW so make it HIGH

- when not ubrhi setting updated the wrong register for chips with shared registers.
- config DP="," | "." to select the decimal point for the fusing() and single str() functions. Default is "."
- i2crepstart did not work for Xmega
- i2cstop for xmega did not free bus after i2creceive/i2csend, so the i2cstop command has been extended to send multiple commands.

出0入0汤圆

 楼主| 发表于 2011-10-27 23:43:34 | 显示全部楼层
2.0.0.0  , yes this is the new version number
- Josef rewrote the single power() to fix a bug with the sign. This new code does use more code.
- 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).

出0入0汤圆

 楼主| 发表于 2011-10-27 23:43:57 | 显示全部楼层
1.12.0.0
- Xmega caused a bug in non-xmega timer handeling : non xmega have a normal abd absolute address for IO regs which differ by 32. (normal registers space).
  This offset was determinted too late, resulting in a wrong address for internal variables like timer0.
  These special byte variables are now placed in the dat file.
  This error was not visible when you compiled your code more then once! Only a fresh start and first compilation would reveal this bug.
- swap supports swap of double too. Also, swap with a single parameter can swap a nibble or 2 bytes:
  swap b where b = &B11110000 will result in 00001111
  for word/integer, it will swap the bytes : w=&B11110000_1100_0000  -> 1100_0000_1111_0000 or &HABCD becomes CDAB.
- bccard port parameter changed into full port name. See help.
- config twislave has a new option : userack=ON|OFF. When on, you can set ack/nack from your code. Also fixed a bug where the default setting did not save all registers.
- m32U4 : getadc() did not used ADC_MUX value from the dat file.
- myAVR programmer, changed error messages to info msg.
  settings : 19200 baud.
- internal assembler allowed a backwards jump of 1 too many. in glcdeadogm128x6 this caused a wrong jump for chips>64KB.
- using $noramclear in combination with $initmicro could give an memory access error(invalid pointer).
- m32U4.dat file had missing mux5 bit, also corrected interrupt section.
- Windows 7-64 bit support added for LIBUSB.
- crc16 change for word sized arrays did not work for words but only bytes.
- internal loadbit routine which was rewritten in 11199 to check for boundery errors, had a bug for arrays with a constant index. The offset was 1 off.
  this means that sombit=ar(3).8 would load the wrong bit location.
- RTF export will place the content in the clipboard too.
- power mode bug fixed: SE was not set when none of the SM bits were 1.
- usbasp (and other atmel programmers) gave a division by zero error for AT90XXXX chips (chips that do not use page programming)
- replaceChars string, oldchar,newchar  will replace all characters in string.
- added tiny4313 support(programming untested)
- added button to insert $regfile, and $stack to the editor

出0入0汤圆

 楼主| 发表于 2011-10-27 23:44:17 | 显示全部楼层
1.11.9.9
- fixed bug for SEROUT where using a variable for the number of bytes would overwrite the X register
- right() function used with a variable, and without $bigstring could lead to a pointer error, resulting in wrong result.
- Xmega SPI support added. SPI for xmega also supports dynamic channels. The variable has to start with bSPI in that case:
   Open "SPI,Master,mode0,clk2,msb" For Binary As #bspivar     ' use a dynamic channel
   Print #bspivar , W
   Input #bspivar , W
   Instead of a CONFIG, OPEN is used. Notice that you have to open
- Xmega dynamic UART channel added. When using a variable that begins with bUART, you can use a dynamic channel:
   For Buart_channel = 0 To 7     'when using a variable, notice that the index is 0 based !
        Print #buart_channel , "UART :" ; Buart_channel
        waitms 1000
   Next
   The channel does not to be opened in this case.
- $eepromsize added : $eepromsize=value. This directive can be used in cases where you use an alternative eeprom library. for example to use a
  quicker and more reliable eeprom such as an external ramtron chip. Using an alternative library will use an external eeprom instead of the internal eeprom.
  But in cases where your external eeprom is larger then the internal, you need to override the size. You can do this with the $eepromsize directive.
  You have to take in mind that programming the eeprom will program still the internal eeprom ! So use these options with care.
- when using ISIS simulator, the IDE will set focus to ISIS when pressing F2.
- config rc5 , wait feature documented. default is 100 (6.4 ms)
- crc16() will pass a word instead of a byte. this means you can get crc16 of a bigger array.
- config kbd has an additonal parameter named COLS. By default this is 4. Some chips do not have port pin 7 and for these cases you can use COLS=3, or COLS=2
  This does assume that columns are connected to the high port nibble.
- writeeeprom/readeeprom when used with a constant address did not store the address when used with auto increase:
  writeeeprom var, 1 : writeeeprom var
- split() function did not return empty array elements. Those were ignored:
  consider this string : "1,2,,4,5" . it would return 1,2,4 and 5. Since there is a delimiter, it is
  better to return an empty element.
- mega1284P, M644P dat file , stk500 eeprom section corrected.
- tinyx61 have a 16 bit timer0 but the LSB and MSB registers are not lineair in memory. If used in 16 bit mode, you need to handle this yourself.
  reading : read LSB first, then MSB. Writing : write MSB first, then LSB. (does NOT apply to Xmega)
- DMXSLAVE needs aliases for UCSRxA registers. These were added to the DAT files.
- PORTA, DDR and PIN registers added to tiny48 and tiny88 since TQFP version has this port.
- M32M1 support added. Notice that is does not have TWI or a UART. The LIN can be used in UART mode but is not supported yet.
- [FLAG] section added to dat files. Some micro's have the flag register located in non-bit addressable space
  in such a case, SBI will not work to reset the bit and OUT or STS is used. For FLAG registers, the current content may not be read.
  While for normal registers, when setting a bit, the content must be read before the bit is set.
- mega3250P support added.
- CONFIG INPUT defaulted to the default settings. this was caused by modification for the xmega. Also notice that CONFIG INPUT0 need to be specified as INPUT or INPUT1.
- USBASP programmer problem fixed with internal memory pointer(resulting in wrong flashing)
- dat files include info for new IDE, same dat file set will be used.
- CLOSE for SW UART explained in more detail in the help.
- print preview and print use the same font settings now.
- stk500 external programmer(stk500) was called with wrong COM parameter after higher COM ports were added to options. In this change the numbers where changed into COMx.
- tiny2313 dat file had a type error for IDLE mode.
- tiny48/88 TQFP32 pinout xml files had a few errors
- instead of config lcd=16*2 you can use X instead of *. This is needed for beta IDE. Example : config lcd=16x2
- CONFIG DATE needs "" for the separator : config date=dmy,"-"

出0入0汤圆

 楼主| 发表于 2011-10-27 23:44:57 | 显示全部楼层
1.11.9.7
- This is a new Xmega update but also included some fixes and features for non Xmega.
- CONFIG ADCA of CONFIG ADCB added for ADC converter
- config INPUT|INPUT1|INPUT2.... INPUT8, is supported by Xmega
- all uarts are supported now. use COM1-COM8.
  While all UARTS are supported, some options are not implemented such as buffered serial COM.
- new power mode support. the IDLE, POWERSAVE and POWERDOWN are replaced by POWER MODE
  the old modes still work but will be removed in a future version. It is advised to use the new POWER command which supports all modes.
  The supported modes depend on the micro hardware.
  For example in the M88DEF.DAT for the Mega88 you will find :
  Powermodes=5
  PM1=Idle,SMCR.SM0-0,SMCR.SM1-0,SMCR.SM2-0
  PM2=Powerdown,SMCR.SM0-0,SMCR.SM1-1,SMCR.SM2-0
  PM3=Standby,SMCR.SM0-0,SMCR.SM1-1,SMCR.SM2-1
  PM4=ADCnoise,SMCR.SM0-1,SMCR.SM1-0,SMCR.SM2-0
  PM5=Powersave,SMCR.SM0-1,SMCR.SM1-1,SMCR.SM2-0
  In this case the modes are IDLE, POWERDOWN,STANDBY,ADCNOISE,POWERSAVE
  Use as : POWER IDLE
  Other chips might have more modes.
- m328P has some fusebits on a different fuse compared to m88, m168p. this is now corrected.
- number of include files increased to 500. It was actual 500, but a type error resulted in 50 instead of 500.
- a bug in an update of a third party component caused an error on windows 2000.
- portQ, portR  added to CONFIG for Xmega
- added COM5,6 and 7 for Xmega. Notice that for Xmega you can dynamic change the COM at run time.
- CONFIG COM for xmega changed : instead of using COM0 it is better for compatibility with other commands to start with COM1
  So the range for xmega is now the same as for normal AVR : COM1-COM8
  Internally, the uart channel is working with 0-7.
  The TX pin is set to output in this release.

1.11.9.6
- Elektor ATM18 LCD driver added. Use $lib "lcd4-elektor.lbx". See also  sample elektor-lcd-final.bas
### XMEGA NOTES ###
! In XMEGA the memory is not lineair, you can not access the registers with a pointer! registers are in a separate dataspace
! In XMEGA the access order of 16/24/32 bit registers is changed. It is now from LSB-MSB for both reading and writing !
  Following comment is for XMEGA only. Please look in the help for a full description.
  - CONFIG COM starts at 0 for xmega , other parameters differ slightly too
    Config Com0 = 38400 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
  - When using EEPROM, you need to add : Config Eeprom = Mapped
  - CONFIG DACA|DACB :  Config Daca = Enabled , Io0 = Enabled , Channel = Single , Reference = Int1v , Interval = 64 , Refresh = 64
  - Config Osc = Enabled , 32mhzosc = Enabled
  - Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1
  - Config Priority = Static , Vector = Application , Lo = Enabled
  Notice that Xmega support is not fully implemented. But it is well enough to use it and get familiair with it.
  In the coming period there will be a number of xmega updates that will implement all 8 UARTS, ADC, multiple SPI , TWI and timers.
  - Notice that while JTAG programming is supported now, it does NOT support Xmega JTAG. Atmel has changed the protocol and they could not
    give an update yet that describes the changes related to XMEGA. So JTAG will work for non-xmega but not for Xmega.
    We advise to use stk600 programmer and load the/a bootloader.

- close (for UART) is now ignored. close was never needed but when you used it, it had to be done after code that was using the UART (last lines of your program).
  now it does not matter anymore where you put the close, since you can not reuse a SW UART, it is ignored   
- Box in glcd.lib had an error for filling the complete box
- glcd showpic command has been changed so it will not use R23 for retrieving the data. This was done for cases where the control port is an extended port (portF on M128)
  and these chips can not handle all asm commands. R23 is used in such cases.
- attiny88 support added. notice that this is not a good replacement for Mega88 since it has less memory and NO UART
- attiny48 support added, see sample file.
- usb add on updated with mouse sample and some mods for the new M32U.
- M32U (m32 with usb) added.
- using NOT on a byte, indexed as a bit, and assigned to a bit, was processed as byte.
- M64def file did not had xram setting info.
- Print with a large number of parameters could lead to a crash.
- bccard lib adjusted for ZC312 cards. Notice that these cards need some delay between 2 BCCALLS.
- tiny261,461 and 861 had a type error for the LKJ-110=Brown Out 1.8 V  entry (the - was an = by mistake)
- USBASP programmer support added.
- added relative to other asm mnemonics too (brcc, brcs,etc)
- Charpos() function added which is simlar to INSTR() but searches for a single digit and is quiker and uses less code.
- you need to select COM port again for STK500 native programmer. (the way it is stored has been changed)
  Also added option to skip the setting of the ISP frequency, this is done for incompatible programmers.
  You can enter any clock freq now. when it is below 4000, 4000 will be used!
- Added myAVR MK2 programmer. This programer uses AVR910 AN so will work for all AVR910 based programmers
- CONFIG EXTENDED_PORT= WARNING | ERROR
  by default chips that have extended ports can not handle CBI instructions. the internal assembled will convert the code automatic.
  but for some instructions a register is needed.
  This option is inteded for asm programmers : you can get either  a warning or an error.
- m88Pdef.dat : the megajmp value was wrong resulting in a wrong interrupt jump
  Also added reference for CONFIG CLOCK
- M124P,324P and 644P had TCCR2 mapped to the wrong register in the def file. it must map to TCCR2B
- $BIGSTRINGS directive added together with bigstrings.lib. With this directive, you can use big strings. Big strings
  are strings that are more then 255 bytes and can be up to 65535 bytes long(if you have enough memory)
  This is a first release. The library should work on all string operations but was not tested extensively for all string operations. Please report if you find a bug.

出0入85汤圆

发表于 2011-10-28 00:46:33 | 显示全部楼层
不能下载

出0入0汤圆

 楼主| 发表于 2011-10-28 08:52:14 | 显示全部楼层
支持几乎全系列的AVR单片机,包括ATXMEGA,支不支持usb,还靠自己开发程序,官方有应用。

出0入0汤圆

 楼主| 发表于 2011-10-28 09:17:47 | 显示全部楼层
回复【18楼】bluefeel 郁闷感觉
-----------------------------------------------------------------------

可以下载

出0入0汤圆

发表于 2011-10-28 09:33:47 | 显示全部楼层
楼主直接放个2.0.7.3吧,不用藏着,这里的分享氛围不错!!

出0入0汤圆

发表于 2011-10-28 09:35:05 | 显示全部楼层
没 Aspirin?

出0入0汤圆

发表于 2011-10-28 09:35:32 | 显示全部楼层
谢谢分享

出0入0汤圆

 楼主| 发表于 2011-10-28 14:40:13 | 显示全部楼层
我认为1.12版是一个不错的版本适合长期持有,2.0.7.3正在上传。伟大的中国长城工程把好东西挡住了,不好下啊。

出0入0汤圆

 楼主| 发表于 2011-10-28 14:41:21 | 显示全部楼层
所有版本都在这里了,中间的过渡版本就不发不了。http://iask.sina.com.cn/u/1719929270/ish?folderid=153856

出0入0汤圆

 楼主| 发表于 2011-10-28 16:27:17 | 显示全部楼层
2.0.7.3  http://www.kuaipan.cn/index.php?ac=file&oid=2878843564125848

出0入0汤圆

 楼主| 发表于 2011-10-28 16:31:31 | 显示全部楼层
2.0.7.3破_解http://www.kuaipan.cn/index.php?ac=file&oid=2878843564125842

出0入0汤圆

 楼主| 发表于 2011-10-28 16:50:22 | 显示全部楼层
交流群180847541

出0入8汤圆

发表于 2011-10-28 19:06:53 | 显示全部楼层
喜欢用这个,谢谢楼主。

出0入0汤圆

发表于 2011-10-29 14:23:02 | 显示全部楼层
用了2.0.1的版本编译我以前在1.11.9.8下好使的程序,编译完烧录不好使,难道哪里设置不对??
后来又试了1.12.0的版本依然不好使,换回1.11.9.8编译后烧录就好使,不知道是什么原因,有没有懂的指点一下?

出0入0汤圆

发表于 2011-11-25 09:38:48 | 显示全部楼层
看不了帮助文件的都不好,有个11178板的好。

出0入0汤圆

发表于 2012-1-1 19:39:00 | 显示全部楼层
回复【28楼】bowangpo
-----------------------------------------------------------------------

请问"2.0.7.3破_解"下载的破_解文件如何使用的?

出0入0汤圆

发表于 2012-1-2 15:22:05 | 显示全部楼层
正下。谢谢楼上所有id们

出0入0汤圆

发表于 2012-10-30 22:55:09 | 显示全部楼层
兄弟,能不能把你那个BasCOM 2.0.7.3的安装文件和破解文件再共享一下,你帖子里的那个快盘链接失效了。谢了

出0入0汤圆

发表于 2013-1-14 02:06:49 | 显示全部楼层
请楼主在给个链接吧,给的那个失效了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 04:12

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表