测试USB Hub接CP2102模块的usb转串口在raspi上的数据收发
1、将hub的一个usb口的4个引脚与cp2102模块的usb口的4个引脚进行焊接(注意,线的对应,红、白、绿、黑,Vcc、D-、D+、GND)
2、用一个母口的杜邦线,短接cp2102模块引出来的TXD与RXD。
3、在raspi上安装minicom,并进行配置,sudo minicom -s(不能直接minicom,权限不够),注意设置的一处为Serial port setup
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols |
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
的A-Serial Device 处
,改为/dev/ttyUSB0(与usb转串口的对应),F-Hardware Flow Control改为No(时间允许的话,也可以测试一下,Yes)
+-----------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 9600 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------+
4、用minicom发送文件,可以看到minicom的界面中也会收到发送的数据,只不过如果发送的文件中的数据太多,收到的是数据量不够,仅会收到末尾几行。(这个猜测可能与cp2102的FIFO的大小有关)。
经测试,当E-Bps/Par/Bits设为6N1时或6N2或6E1或6E2时,能接收到数据,但打印出来的不是原始数据。
如:
原始数据为
1 test1
2 test2
3 test3
4 test4
5 test5
6 test6
而接收到的数据为
1 4%341
2 4%342
3 4%343
4 4%344
5 4%345
6 4%346
当设为7N1、7N2、7E1或7E2时,及8N1等8个数据位的其他情况时,都可以接收到正确的数据。
而当设为5个数据位时,可能收不到数据,也可能收到了,但屏幕上是没显示东西的。
总之数据位设为5和6时,是不能正确收发数据的,数据位设为7或8时,可以正确地收发数据。
more:
1、Linux 下Minicom串口设置
2、Linux下minicom的配置和使用方法