一、环境搭建
首先直接将RainbowLink通过USB接入电脑,此时的设备管理器会显示四个COM口,如下:
但是,现在有一个问题,不知道COM口怎么跟ABCD功能对应,比如,不知道哪个COM是对应RS485功能的。
为了确认对应,其实有两种方法。
第一种:随便选一个COM口通讯试试,根据RainbowLink上的通讯灯来确认是哪个功能。
第二种:安装官方提供的一个驱动,安装好以后会直接在设备管理器中显示对应的ABCD功能。
下载链接:https://img.dfrobot.com.cn/wikicn/5d57611a3416442fa39bffca/9aa91ec7eea25fd161bd414604a591b4.zip
我们下载安装试试,安装完成后,设备管理器显示如下:
现在就能直接看到对应关系了,very good。
二、TTL测试
使用另外一个USB转TTL模块与RainbowLink对接进行测试,使用RainbowLink的TTL1进行测试。
参数配置:9600,8N1,循环发送,周期10ms。(其实10ms太小了,不太合理)
两边都设置为相同的参数,这样Rainbowink收发就是同步进行,周期10ms,测试了大概10分钟,没有问题
直接将波特率调高吧,调到115200bps,计算一下,大概算一下传20个字节的时间:1000/115200*9*20 = 1.56ms。
那就将周期设置为3ms试试。
若干分钟后,也没发现什么问题。
再将波特率调到256000,周期保持3ms,实际上也没发现什么问题,还是没有看到发送和接收错误的情况。
我将波特率直接调到2000000bps,这时候很快就会发现另外一个TTL出错了,丢帧了,但是RainbowLink这端却未发现有错误,暂时还不好确定是RainbowLInk的问题还是测试的另外一个TTL的问题。
后面测了1500000bps,发现也是有问题的,但是1000000bps是没有问题的。
三、总结
经过测试,目前看来,波特率在1Mbps以下是能保证稳定通讯的,在往上就不太稳定了,会出现漏帧的问题。
当然,这不能完全证明是RainbowLink的问题,有可能是与之配合测试的那个TTL模块的问题,如果非要确认是谁的问题,可能需要找一个更加强大的TTL
工具。其实这个1Mbps已经是在官方宣称的128000范围以外了,其实我觉得达到这个水平已经足够日常使用了。
另外,这个测试不是最严苛的测试,最严苛的测试应该是4路串口一起以最快的速度通讯,如果后面有条件我也会做这个测试。