2016-12-1 08:39:38 [显示全部楼层]
15706浏览
查看: 15706|回复: 3

[求助] Arduino UNO USB口通信的疑问

[复制链接]
拿703N做小车玩,涉及到无线路由器通过USB口与Arduino UNO通信的问题
网上的兄弟都说的很简单,插上路由器,看到/dev/ttyACM0 就可以通信了,我是怎么都搞不通

后来,简化环境,把Arduino UNO的0,1串口通过CH340(USB转串口)线连接到电脑,电脑识别为USB-SERIALCH340(COM10)再把Arduino UNO通过USB线直接连接到电脑,电脑识别为 Arduino UNO (COM3)

然后在Arduino板子上写了个小代码,即读取串口数据,再转发回串口
void setup()
{
        Serial.begin(9600);
}
int incomingByte = 0;   // 用于存储从串口读到的数据
void loop()
{
    // 只在收到数据时发送数据
    if (Serial.available() > 0) {
            // 读取传入的字节
            incomingByte = Serial.read();

        //用两种方式往串口送数据,以免有非可见字符
            Serial.println(incomingByte, DEC);
            Serial.write(incomingByte);
            Serial.println();
    }
}
然后,实验:
1.只连接UNO的0,1串口,USB接移动电源供电,打开串口调试助手,选择COM10
发送数据,立马接收到程序回传的数据
2.不接UNO的01串口,将UNO通过USB连接电脑,打开串口调试助手,选择COM3
发送数据,没有接收到程序回传的数据
3.UNO的USB连接电脑,并且板子的0,1口也通过USB-TTL板子连接到电脑,电脑上开了两个串口调试助手,一个连接com3,一个连接com10
结果就是:
com3(连接Arduino板RX TX端口的) 发送数据,在com3 和 com10上都能收到程序回传的数据
com10(Arduino板通过USB连接电脑的)发送数据,在com3和com10上都没有回传数据

我昨天特地看了UNO的电路图,知道328P就一对RX,TX,引出来之后都是一分为二,其中一对直通板载的0,1口,另外一对,连接板载的一个USB-TTL芯片(ATMEGA16U2),转换成USB接口形式
所以USB接口其实就是板载0,1口的RX,TX经过了USB-TTL芯片转换的结果,两者是通的
(手上的是DFRduino的板子,也是这个芯片无误)

猜测,板载的USB-TTL芯片(ATMEGA16U2)是不是对内部传出的数据不做动作直接外传,而对外部传入的数据有识别呢??
但是板子下载程序都是正常的,说明USB口应该是没问题的,不知道问题出在哪里??

有没有兄弟可以指点下迷津

-stark  中级技师

发表于 2016-12-1 14:43:06

按照原理图的图示,内部的串口通信是这样的:Arduino UNO USB口通信的疑问图1

而lz的程序中,已经把MCU的串口通道给占用了。
下面分析下几种情况:
一:烧录了楼主帖里的程序
1.你给D0 D1发送一个数据,不仅转接板的USB端会受到回馈,USB口也会受到回馈。
2.你给usb口发送数据 只能是MCU收到数据,而两端的usb端都不会受到回馈。
二:不占用MCU的串口(即烧录一个example的blink程序)
只需修改一下转接板的TX RX接法:Arduino UNO USB口通信的疑问图2
这样lz的com10,com3就可以互相通信啦~
回复

使用道具 举报

zwqcactus  学徒
 楼主|

发表于 2016-12-1 16:46:46

-stark 发表于 2016-12-1 14:43
按照原理图的图示,内部的串口通信是这样的:

而lz的程序中,已经把MCU的串口通道给占用了。

非常感谢亲的热情而详细的回复,万分感谢
今天特地又重新做了一次实验,已经可以了,USB口自己发送,程序回传,USB口自己可以接收数据
昨天我做实验时,错误的地方在于UNO板的0,1号口一直连接着USB-TTL板子(即使它没有插入电脑),而今天是把UNO板子上的线清空,不接任何东西,只用USB连接电脑,用串口调试助手打开USB的虚拟串口,发送数据,程序回传,成功了
确实是因为0,1口连接着USB-TTL的板子对UNO本身的USB串口产生了影响
回复

使用道具 举报

dsweiliang  初级技神

发表于 2016-12-8 16:44:29

感谢大神回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主

楼主的其它帖子

上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail