我有一个带有UART接口的IMU。制造商提供了一个基于Windows的程序,可以从IMU获取所有数据并实时显示。(该设备通过USB连接到PC )。我需要编写自己的软件来做这件事,以便将其集成到我的项目中。
IMU的数据表/手册提供了有关必须写入和读取哪些寄存器(发出命令和读取响应)以获取IMU数据的所有详细信息。我的问题是,如何在Linux下用C语言实现这一点?
我找到的最接近的信息是this one,但在编译它时,我似乎需要Linux内核头文件,因为该程序使用#include <linux/module.h>,所以我不确定我是否走对了路。
发布于 2016-10-14 13:06:06
您不需要任何内核头就可以通过串行端口与连接到该串行端口的任何设备进行通信。
你可以通过简单地用open()调用打开一个文件/dev/ttyUSB0来连接到你的设备(实际的名称可以通过查看dmesg中的相关设备消息或者当你将设备插入usb端口时查看/dev下显示的设备节点来找到)。然后,您需要设置波特率和字格式(位数、奇偶校验和停止位数)。要在用户空间进程中实现这一点,您需要使用一组ioctl。
https://stackoverflow.com/questions/40033420
复制相似问题