outman 发表于 2015-10-22 18:51:33

关于mega2560的串口通讯问题

IDE的串口监视器是只能监视板子的0号串口吗?当我输入以下程序的时候发现串口监视器上只会显示0,而不会显示1、2、3。
void setup() {
Serial.begin(9600);
Serial1.begin(9600);
Serial2.begin(9600);
Serial3.begin(9600);
}

void loop() {

Serial.println(0);
Serial1.println(1);
Serial2.println(2);
Serial3.println(3);
delay(2000);
}



那如果我在1号串口上接上外接设备,单片机是否也无法接收到外设发来的信息?

darkorigin 发表于 2015-10-22 21:17:55

本帖最后由 darkorigin 于 2015-10-22 21:19 编辑

单片机的所有串口都可用
你可以用3个串口芯片分别连接 0 1 2三组而且分别都可以有数据

2560mega的32U8好像就是连接的 TX0 RX0 它又不是交换机。。当然读不到了


打个比方
就好像你装了3个水龙头 分别出3种不同的液体
但是你只拿个小瓶子在1号下面接 其他龙头也都开着 也只是都浪费了罢了 不会自动去你的瓶子里

Joyce 发表于 2015-10-24 12:08:21

你的Monitor上只会显示Serial.println()即串口0输出的数据,想把1、2、3串口的数据显示到Monitor上必须要经过转化。例如:   int m=Serial1.print(1);    Serial.println(m);

eysajan 发表于 2015-10-24 15:06:38

你从一个串口观察当然看不到其他串口的信号。

詹波波 发表于 2015-10-24 19:28:13

买一个ttl转usb 就可以了 想用哪个就可以用哪个
页: [1]
查看完整版本: 关于mega2560的串口通讯问题