Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux上的Ada GNAT.Serial_通信行为_Linux_Usb_Ada - Fatal编程技术网

Linux上的Ada GNAT.Serial_通信行为

Linux上的Ada GNAT.Serial_通信行为,linux,usb,ada,Linux,Usb,Ada,我有一个Ada程序,它与通过USB连接的Intellibox Basic(一个可以控制火车的盒子)通信 在Windows下,我必须安装一个特定的串行驱动程序(CP210x USB到UART网桥VCP)。有了那个司机,我可以和箱子完美地沟通。这意味着向盒子发送命令 在Linux下,我通过/dev/ttyusb0进行通信,我能够从盒子中获取消息,但我无法向盒子发送命令。什么也没发生。我没有发现什么错误 GNAT.SerialCommunication在Linux上的行为是否有所不同?程序是一样的。我

我有一个Ada程序,它与通过USB连接的Intellibox Basic(一个可以控制火车的盒子)通信

在Windows下,我必须安装一个特定的串行驱动程序(CP210x USB到UART网桥VCP)。有了那个司机,我可以和箱子完美地沟通。这意味着向盒子发送命令

在Linux下,我通过
/dev/ttyusb0
进行通信,我能够从盒子中获取消息,但我无法向盒子发送命令。什么也没发生。我没有发现什么错误

GNAT.SerialCommunication在Linux上的行为是否有所不同?程序是一样的。我必须设置某些东西才能让它在Linux上工作吗


例如:典型的2字节命令将命令作为第一个字节,CRC检查作为第二个字节

我在某个时候遇到了串行_通信的问题,结果是在Linux中启用了硬件握手。它在g-sercom.adb中硬编码,请查找“CRTSCTS”。如果Intellibox不使用硬件握手,Write()将被阻止


我相信我通过从标志中移除CRTSCTS掩码解决了这个问题。

不幸的是,这并没有解决我的问题。仍然无法向IB发送消息。我必须安装上面提到的驱动程序吗?