I have an Arduino Uno board with an AT328P AVR processor. I also have an Arduino LCD display shield. I can successfully write to the LCD from the Arduino compiler environment.
Next, wrote this simple program in GCBasic to write to the same Arduino/LCD hardware:
'LCD connection settings
#define LCD_IO 4
#define LCD_DB4 PORTD.4
#define LCD_DB5 PORTD.5
#define LCD_DB6 PORTD.6
#define LCD_DB7 PORTD.7
#define LCD_RS PORTB.0
#define LCD_Enable PORTB.1
dim test as byte
When the value of the "test" variable is changed, the LCD output is irrational:
Attempting to write any character string literal of any length just displays that number of blank graphic blocks .
Am I doing something wrong, or is this a bug in the AVR LCD handler?
Please ignore my previous. I think I might have an assembler compatibility issue (Using Gerd's AVR Assembler for this experiment). I'll post again when I have an update, one way or the other.
OK, more on this experiment…..
Same program as above, but with:
"dim test as word"
When "Print test" is invoked, compiler runs successfully but assembler produces an error rejecting the asm code.
Here is a snippet of the asm code produced by GCBasic:
The assembler is choking on this line:
From what I can determine from the AVR instruction set, it appears to me that "C" is an invalid argument for this instruction. It should be "s" or "k".
Hugh, can you comment?