Difference between revisions of "MMBASIC on XIAO RP2040"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
Line 14: | Line 14: | ||
== Hardware == | == Hardware == | ||
− | |||
* [https://www.seeedstudio.com/xiao-rp2040-v1-0-p-5026.html Seeed Studio XIAO RP2040] | * [https://www.seeedstudio.com/xiao-rp2040-v1-0-p-5026.html Seeed Studio XIAO RP2040] | ||
− | * [[SD CARD X49]] | + | * [[QTPy49|QTPy49 breakout card]] |
− | + | * [[SD CARD X49|SD Adaper card]] | |
− | + | * [[http://land-boards.com/blwiki/index.php?title=DTE|RS-232 card]] | |
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== SD Card Wiring === | === SD Card Wiring === |
Revision as of 13:33, 20 July 2022
Contents
Overview
- Card set running BASIC Interpreter for the Raspberry Pi Pico on Seeed Studio XIAO RP2040
- MMBasic is a Microsoft BASIC compatible implementation of the BASIC language with floating point, integer and string variables, arrays, long variable names, a built in program editor and many other features
- 8 Flash locations for storage.
- Support for SD Card
MMBASIC Credits
Peter Mather led the project, ported the MMBasic interpreter to the Raspberry Pi Pico and wrote the hardware device drivers. Geoff Graham wrote the MMBasic interpreter and the manual. Mick Ames wrote the PIO compiler and its corresponding documentation.
Hardware
SD Card Wiring
- SD_CARD_X49 card
- NO5V jumper installed
Signal | SD_CARD_X49 | QTPy49 conn | QTPy GP | PiPico Pin |
---|---|---|---|---|
SPI_SCLK | J1-3 | J3-6 | GP2 | GPIO2 |
SPI_MOSI | J1-4 | J3-4 | GP3 | GPIO3 |
SPI_MISO | J1-2 | J3-5 | GP4 | GPIO4 |
SPI_SS | J1-5 | J9-3 | GP26 | GPIO26 |
GND | J1-1 | J9-1 | ||
VCC (3.3V) | J1-7 | J9-2 |
SD Configuration
OPTION SYSTEM SPI GP2, GP3, GP4 OPTION SDCARD GP26 OPTION COLOURCODE ON
- Verify it is working
> FILES A:/ <DIR> basic <DIR> bmps <DIR> demos <DIR> games <DIR> jpegs <DIR> lbcards <DIR> performance <DIR> wave 8 directories, 0 files
On-Board LED
- No Built-in support in MMBASIC for the on-board NEOPIXEL
- Red, Green, Blue LED
- Pull Low to turn on RGB LED bits
- At-boot - RGB LED blinks Cyan/Green by MMBASIC
- Red LED = GP17
- Green LED = GP16
- Blue LED = GP25 (Used by MMBASIC)
' Make pins outputs SETPIN GP17, DOUT:' Red LED SETPIN GP16, DOUT:' Green LED SETPIN GP25, DOUT:' Blue LED ' Turn off LEDS PIN(GP17)=1:' Turn off Red LED PIN(GP25)=1:' Turn off Blue LED PIN(GP16)=1:' Turn off Green LED ' Turn on LEDs PIN(GP17)=0:' Turn on Red LED PIN(GP25)=0:' Turn on Blue LED PIN(GP16)=0:' Turn on Green LED
RS-232 (option)
OPTION SERIAL CONSOLE GP0, GP1
MMBASIC Card Stack-up
Software
GPIO from MMBASIC
QTPy49 Marking | GPIO |
---|---|
A0 | GP26 (SD_SS) |
A1 | GP27 |
A2 | GP28 |
A3 | GP29 |
I2C_SDA | GP6 |
I2C_SCL | GP7 |
RX | GP1 |
TX | GP0 |
MMBASIC - Using Pins
- Digital I/O
SETPIN GP27, DIN:' Digital Input SETPIN GP28, DOUT:' Digital Output PIN(GP28) = 1:'Digital output
- Analog Input
SETPIN GP29, AIN:' Analog Input
- SETPIN(s) for Serial and I2C
SETPIN GP1, GP0, COM1 SETPIN GP6, GP7 I2C2
Demo Code
- SD Card contents
- PROTO16_LEDs.bas
- Bounces a bit across the PROTO16-I2C card
- PROTO16_LEDs.bas