Dick Cappels' project pages http://www.projects.cappels.org
Return to HOME (more
projects)
AttoBASIC Home
AttoBasic Version 2.34 A byte-wide BASIC interpreter |
|
Based on the original AttoBASIC for ATmega163, Version 2.34 includes all of the functions and features of prior versions of AttoBASIC that make it an excellent hardware debug tool, as well as a platform for small programs. Supports Atmel ATtiny84/85*,
ATmega16/32*,
ATmega88/168/328, ATmega32U4,
ATmega644P/1284P*, ATmega2560 and
AT90USB1286 micro-controllers [*
New for Version 2.34] Supports most Arduino, Adafruit and Teensy(2.0)
products using the above micro-controllers
New Features and enhancements over prior AttoBasic versions All project file downloads are free and located at the bottom of this page. |
|
Data recorder using AttoBasic
AttoBasic-Based
Data Recorder project on AVRfreaks,net(AVR Freaks Login Required) |
AttoBASIC used for initial
hardware testing of Z80
Single Board Computer, which
uses TEENSY as Host Controller
A Teensy++2.0
is used as the host interface controller for a Z80 Single
Board Computer. AttoBasic running on the
TEENSY's AT90USB1286 was used for the initial hardware
testing, including correct memory address decode, RAM
read/write interface, full RAM test, SPI interface to
the 74HC299-to-Z80 data bus "bridge" and TWI interface
with DS3231 Reat-time Clock module.
|
|
|
Efficient commands to directly
support hardware for:
|
Files included with AttoBASIC:
|
New
Features and Enhancements:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Overview AttoBASIC is a
hardware-oriented “byte-wide” BASIC for the Atmel
8-bit AVR microcontroller series. It is the
creation of Dick Cappels. Because
AttoBASIC is an interpreter
rather than a compiler,
testing devices and debugging program code is speedy
as opposed to the "correct, compile, upload and
test" cycles associated with compilers. The
disadvantage of using an interpreter on a
micro-controller is that the program size is limited
by the available (volatile) RAM
and thus program size may be limited as opposed to a
compiled program being able to use all of the
micro-controller's (non-volatile) FLASH
memory and RAM.
AttoBASIC commands are typically three (3) letter commands and are efficient in their implementation when accessing communication buses and high-level devices. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Operation
Using a host computer's
"terminal" application to interface with AttoBASIC,
programs are typed, loaded from EEPROM or uploaded
and then stored in internal RAM. SAVE and LOAD
commands allow one to save and load the program from
the on-chip EEPROM.
AttoBASIC's greeting and example of printing "Hello World" are shown at the right. Commands directly support interfacing to SPI, TWI (I2C), 1-Wire®, nRF2401(+), DHTxx, DS, and external SPI EEPROM devices simplify programming by reducing program size and complexity. GOSUB-RETURN and FOR-NEXT loops can be nested four (4) levels deep.The interpreter is not case-sensitive. 26 Variables (A..Z) are supported. All arithmetic and variables are byte-wide (8 bits). Single characters can be printed with the "EMIT" command. Strings are supported via the PRINT statement but not as input. All characters can be read individually with the "KEY" command. The entire 64KB of data space (RAM and I/O) is accessible for examination and modification via PEEK and POKE commands, which can be useful for debugging or additionally, indexed data storage as well as direct register manipulation of all on-chip peripherals. Special I/O commands support bit and byte I/O. The on-chip EEPROM can be accessed via read and write commands. Debugging commands simplify viewing Variables,
RAM, I/O and EEPROM contents. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DownloadsAttoBASIC v2.34 Command List (PDF file) - commands supported by AttoBASIC Version 2.34. AttoBASIC v1.20 Command List for AT2313/ATtiny2313 (PDF file) - commands supported by AttoBASIC Version 2.34. AttoBASIC v2.34 Bootloaders, SIO and USB Drivers (3.3MB ZIP file) - LUFA, OptiBoot, OptiBoot85, Stk500v2 bootloaders, Serial I/O modules and USB drivers for WINDOWS®. Please see the licensing statements accompanying the respective files. AttoBASIC Revision History (PDF file) - Full revision history since the 2011 release of version 2.0. |
Contents ©2011, 2012, 2013, 2014 and 2016 by Scott Vitale and Richard Cappels. All Rights Reserved.
Find updates at www.projects.cappels.org
AttoBASIC Home - Prior AttoBASIC version can be found here.
Return to HOME (More Projects)
First posted in July, 2013. Updated to version 2.34 in November, 2016. Broken links corrected November 2013 (thanks, Jeff). Page revised and external reference links added by Scott Vitale, November 2016
Please contact Scott Vitale directly for questions, comments or bug reports regarding AttoBASIC version 2.x at ksv_prj(at)gmx.com. Replace "(at)" with "@" before mailing.
Please contact Dick Cappels for questions, comments or corrections regarding the web page(s) and site at projects(at)cappels.org. Replace "(at)" with "@" before mailing.
I neither express nor imply any warranty for the quality, fitness for any particular purpose or user, or freedom from patents or other restrictions on the rights of use of any software, firmware, hardware, design, service,information, or advice provided, mentioned,or made reference to in these pages. By utilizing or relying on software, firmware, hardware, design, service,information, or advice provided, mentioned, or made reference to in these pages, the user takes responsibility to assume all risk and associated with said activity and hold Richard Cappels harmless in the event of any loss or expense associated with said activity. The contents of this web site, unless otherwise noted, is copyrighted by Richard Cappels. Use of information presented on this site for personal, nonprofit educational and noncommercial use is encouraged, but unless explicitly stated with respect to particular material, the material itself may not be republished or used directly for commercial purposes. For the purposes of this notice, copying binary data resulting from program files, including assembly source code and object (hex) files into semiconductor memories for personal, nonprofit educational or other noncommercial use is not considered republishing. Entities desiring to use any material published in this pages for commercial purposes should contact the respective copyright holder(s).
Original Document Location http://cappels.org/dproj/AttoBASIC222/AttoBasic_Versions_2.34.html