我试着用键盘和TVout库做一台简单的arduino计算机。因为Librarys不兼容,我想使用arduino mega作为主板,使用arduino uno作为图形芯片。但电视上总是只显示数字。
我的问题是:如何通过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());
}
}发布于 2016-06-05 03:47:00
因为我没有自己测试所需的所有电路,所以我只能指导。
arduino
Serial.write代替println,println可以进行一些转换,并在末尾附加一个换行符。
if(Serial.available())存储到while (Serial.available()),对于在字符string从图形上的串行端口中的所有可用字符中构造字符,arduino也是如此,然后将其发送到TV.print(text)。尽管print接受字节、字符和字符串,但这些方法可能不会做同样的事情。发布于 2018-01-11 23:30:21
您应该先将视频板代码store Serial.read()更改为某种字符数据类型,然后使用打印功能。我在蓝牙通信程序上也遇到了同样的问题。
https://stackoverflow.com/questions/37614020
复制相似问题