linux 串口ttyS, ttyACM 还是ttyUSB?

linux 串口的坑真的好多!明明连了几个,/dev下一大堆,而且名字也多种。tty,ttyS,ttyACM,ttyUSB。。。

  1. STM32 的OTG CDC 方式的串口,链接到windows 的WSL 认出来的是ttySxx,在windows 上认出了COM36,那么,在WSL 中为ttyS36,。

  2. 不过到了ubuntu 系统中,却认出了ttyACM。ttyACM 是什么东西?网上巴拉巴拉讲了一大堆。其实 ttyACM 认为链接的是一个拨号MODEM(PSTN Modem)!更加过分的是PC在设备连接后尝试发送AT +命令约一分钟。非常烦人。无奈之下,将原先的协议AA55 引导序列的方式。感觉不太可靠。

  3. 想办法关掉这个发AT 命令的功能好像还有点难。也无法讲ttyACM 改成ttyUSB。

有一些命令还是有用的,例如:

查看某个串口的详细信息

udevadm info --attribute-walk --name=/dev/ttyACM0

查看所有链接的USB

lsusb

细节是魔鬼,一个串口花头经好多。

 

你可能感兴趣的:(C++,linux)