目前正在开发一个利用第三方库的程序,该程序库是在linux上编写的,包括<linux/serial.h>
。有什么简单的替代方法可以让程序在OSX上运行,还是我必须重写串口代码才能使用另一个库?
答案 0 :(得分:0)
这取决于您需要多少控制串口。 Linux和MacOS / X都允许您通过文件描述符访问串行端口(通过使用相应的设备路径作为参数对open()进行简单调用获得),因此如果您需要做的只是读取和/或写入字节从/到串口,好像它是一个套接字,你应该没有太大的麻烦。如果你需要做更复杂的事情,比如启用/禁用握手等等,那么事情会更复杂一些。
FWIW我写了一个简单的串口接口class(w/header)作为我的网络library的一部分;它适用于Linux,MacOS / X和Windows。如果你愿意,你可以看看它的灵感;请注意,除了枚举可用串行设备列表的方法(GetAvailableSerialPortNames())之外,MacOS / X和Linux实现几乎相同。