从串口读取数据

Dha*_*avk 5 c embedded serial-port

如何使用C从串口读取数据?然后再将数据传输到调制解调器?我使用RS 232电缆进行串行通信......

RBe*_*eig 6

有关在PC上和设备端设备端口处理串口的许多有用信息都可以在Jan Axelson的网站上找到串行端口完成一书.

与端口的实际交互将是高度特定于平台的.在大多数的味道*nix中,你打开一个名为类似装置/dev/ttya和使用read(),write()以及ioctl()读,写和配置端口.

在Windows上,您使用该函数打开一个名为COM1(或\\.\COM1某些风格)的文件CreateFile(),然后对其进行配置,并对函数SetCommState()DCB结构感到满意.详细信息与您在*nix上需要做的事情大致相似,但组织完全不同.您可以在MSDN上找到有关配置和使用COM端口的完整讨论.

在嵌入式设备上,您可以直接访问UART的硬件寄存器或与RTOS进行交互.无论哪种方式,基本上都没有办法使设备端的代码可以广泛移植.


And*_*ovs 2

首先,这很大程度上取决于您使用的操作系统。

对于 *nix 类型,您通常像普通文件一样打开串行端口设备(例如 /dev/ttyS0),并开始从中读取或写入。至于Windows,我可以建议你寻找一个可靠的库,因为Windows串行通信可能是一场真正的噩梦。更重要的是,旧的 Windows 版本和新版本之间可能存在一些差异。

就我个人而言,因为我是 wxWidgets 用户,所以我使用 wxCTB。您应该寻找适合您正在使用的 IDE 的库。

一些免费链接;) www.robbayer.com/files/serial-win.pdf www.lookrs232.com/com_port_programming/