尝试使用 FreeBasic 从 COMn: 端口读取数据。该设备是带有 ARM 控制器的触摸屏,可通过 FTDI 芯片在 9600、N、8、1 处打入串行数据,以将 USB 连接到 PC。我用于测试的这块主板在 BIOS 上有本机 COM1,由于某种原因,Windows 阻止了 COM2、3、4、5、6、8、9、10... 将此设备连接到主板后,它会枚举 USB 并分配 COM7 : 在设备管理器上。Putty程序在触摸屏上中断红外矩阵时可以很好的读取为COM7,输入数据显示为AxxxyyyZ,其中xxx和yyy分别为坐标1~600和1~800,中断时Z为“B”,“N”抬起时和拖动时的“C”,最初的“A”只是同步。
很容易在 FreeBasic 中编写代码来绘制触摸处的圆圈和拖动时的线条,对吧?是的,除了 FreeBasic 无法读取 COM7:在这个世界上一无所有。它打开,OPEN "COM7:N,8,1" as 1没有错误,但无法从 Windows 读取数据。
我怀疑 FreeBasic 的 COMn 存在一些问题:当“n”高于某个值时。所以我真的在设备管理器上销毁了 COM2,在几次重新启动后,我可以在设备管理器上看到 COM2 空闲,并将 2 分配给这个 FTDI 连接,瞧,工作正常。
它可能是别的东西,我不知道,但作为 COM2 它可以工作。我在 FreeBasic 文献中找不到关于 COMn 值的一些限制...有人知道吗?