tingpan

生命不息,折腾不止!
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

利用Mega2560实现USB转串口

Posted on 2016-01-16 11:58  tingpan  阅读(2574)  评论(0编辑  收藏  举报

1、 介绍

2560的串口一共有4个,分别对应数字接口0-1,18-19,16-17,14-15所有串口都可以跟pc通信,但只有0-1是跟板子上的usb2ttl连接,电脑上显示的串口编号就是0-1对应的串口。

2、 思路

可以利用双串口,既然电脑可以认到板子串口0,那么就可以通过串口0的Rx读取串口助手发过来的数据,MCU再把收到的数据通过串口1的Tx发送出去,这样就实现了数据的发送。利用串口1的Rx接收数据,MCU再把收到的数据通过串口0的Tx发送出去,串口助手就可以收到数据了,这样就实现了数据的接收。

3、 代码

String comdata = "";

void setup()
{
    Serial.begin(115200);
    Serial1.begin(115200);
}

void loop()
{
  //send
    while (Serial.available() > 0)  
    {
        comdata += char(Serial.read());
        delay(2);
    }
    if (comdata.length() > 0)
    {
        Serial1.println(comdata);
        comdata = "";
    }   
   //receive
    while (Serial1.available() > 0)  
    {
        comdata += char(Serial1.read());
        delay(2);
    }
    if (comdata.length() > 0)
    {
        Serial.println(comdata);
        comdata = "";
    }      
}