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?
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.