我需要通过串口访问一些称重机。我如何使用 RED 编程语言从/向它写入数据?
问问题
194 次
2 回答
1
串行端口和大部分 I/O 尚未在 Red 中实现。
请查看 Red Trello 板,以了解尚待完成的部分。
于 2017-04-21T15:52:55.000 回答
0
正如 DocKimbel 提到的,大多数 IO 支持尚未实现,但这并不意味着您不能在 Red/System 中手动实现该功能。
如果您正在为 Windows 进行编译,则以下信息是相关的。
为简单起见,我建议采用本文前半部分所述的轮询方法。
实际上你需要的大部分功能已经在 simple-io.reds 中了。具体来说,您必须在 simple-io 上下文中使用以下函数:
- 创建文件A
- 读取文件
- 写文件
您可能还需要 DeleteFileA 和 GetLastError。simple-io 不导入它们(只有 DeleteFile 上的宽字符串变体),因此您必须自己通过在stdcall模式下从kernel32.dll导入它来完成它们。您还需要导入SetCommState()。
BOOL WINAPI SetCommState(
_In_ HANDLE hFile,
_In_ LPDCB lpDCB
);
第二个参数需要一个DCB(设备控制块)结构。
一旦你让它在 Red/System 级别工作,你就可以将每个基本的 com 功能包装在一个例程中!抽象出一些低级 c 方面并将低级代码暴露给您的 Red 代码。
于 2017-10-20T08:49:02.870 回答