Untested char output for VGA adapter
This commit is contained in:
parent
51cf8b610b
commit
b1ef46657a
@ -105,14 +105,60 @@ VGAX vga;
|
|||||||
|
|
||||||
// Pins
|
// Pins
|
||||||
// VGA
|
// VGA
|
||||||
#define R
|
#define VGA_HSYNC 3
|
||||||
#define CLK
|
#define VGA_VSYNC 9
|
||||||
|
#define VGA_COLOR1 6
|
||||||
|
#define VGA_COLOR2 7
|
||||||
|
#define CLK 8
|
||||||
|
#define RS 9
|
||||||
|
const byte DATA [] = {10, 11, 12, 13, A3, A4, A5, A6};
|
||||||
|
|
||||||
|
|
||||||
|
bool clkState = false;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
|
// Init comm pins
|
||||||
|
pinMode(CLK, INPUT_PULLUP);
|
||||||
|
for(int pin = 0; pin < 8; pin++) {
|
||||||
|
pinMode(DATA[pin], INPUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Init VGA
|
||||||
vga.begin();
|
vga.begin();
|
||||||
vga.clear(11);
|
vga.clear(11);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
bool newClkState = digitalRead(CLK);
|
||||||
|
if (newClkState = false && clkState == true) {
|
||||||
|
// Falling edge: read data from bus
|
||||||
|
onClk();
|
||||||
|
}
|
||||||
|
clkState = newClkState;
|
||||||
|
}
|
||||||
|
|
||||||
|
void onClk() {
|
||||||
|
bool isCommand = digitalRead(RS);
|
||||||
|
if (isCommand) {
|
||||||
|
onCommandReceived();
|
||||||
|
onDataReceived();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void onCommandReceived() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void onDataReceived() {
|
||||||
|
char ch = readByte();
|
||||||
|
vga.printSRAM((byte*)fnt_nanofont_data, FNT_NANOFONT_SYMBOLS_COUNT, FNT_NANOFONT_HEIGHT, 3, 1, ch, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
byte readByte() {
|
||||||
|
unsigned int data = 0;
|
||||||
|
for(int pin=0; pin < 8; pin++) {
|
||||||
|
byte b = digitalRead(DATA[pin]) ? 1 : 0;
|
||||||
|
data = (data << 1) + b; // Shifta di 1 e aggiunge il bit corrente. Serve per ricostruire il numero da binario
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user