我尝试使用键盘和TVout库制作一台简单的arduino电脑。 因为图书馆不兼容,我想使用arduino mega作为主板,并使用arduino uno作为图形芯片。 但是IT总是只在电视上显示数字。
我的问题:如何通过Serial
在两个arduinos之间发送文本主板(带键盘的Mega)代码
#include <PS2Keyboard.h>PS2Keyboard.h
const int DataPin = 8;
const int IRQpin = 5;
PS2Keyboard keyboard;
void setup() {
//keyboard.begin(DataPin, IRQpin, PS2Keymap_US);
keyboard.begin(DataPin, IRQpin, PS2Keymap_German);
//keyboard.begin(DataPin, IRQpin, PS2Keymap_French);
Serial.begin(9600);
Serial.println("International Keyboard Test:");
}
void loop() {
if (keyboard.available()) {
char c = keyboard.read();
Serial.println(c);
}
}
视频板代码(TVout)
#include <TVout.h>TVout.h
#include <fontALL.h>fontALL.h
TVout TV;
void setup() {
TV.begin(PAL,120,96);
TV.select_font(font6x8);
TV.println("Videochip OK");
Serial.begin(9600);
}
void loop() {
if(Serial.available()) {
TV.print(Serial.read());
}
}
答案 0 :(得分:1)
由于我没有自己测试的所有必需电路,我只能指导。
Serial.write
代替println
,println
可以进行一些转换,并在末尾添加换行符。if(Serial.available())
更改为while (Serial.available())
,将键盘设置为相同。TV.print(text)
。虽然print
接受字节,字符和字符串,但这些方法可能不会做同样的事情。答案 1 :(得分:0)
您应该首先将视频板代码Serial.read()
更改为某种字符数据类型,然后使用打印功能。我也遇到了蓝牙通信程序的同样问题。