我有一个具有UART接口的IMU。制造商提供了一个基于Windows的程序,它可以从IMU获取所有数据并实时显示。 (设备通过USB连接到PC)。我需要编写自己的软件才能将其集成到我的项目中。
IMU的数据表/手册提供了有关哪些寄存器必须写入和读取(发出命令和读取响应)以获取IMU数据的所有详细信息。我的问题是,我如何在Linux下用C实现这个?
我发现的最接近的信息是this one,但在编译时,似乎我需要Linux内核头文件,因为该程序使用#include <linux/module.h>
所以我不确定我是否在正确的轨道上
答案 0 :(得分:1)
您不需要任何内核头文件通过串行端口与连接到该串行端口的任何设备进行通信。
你会得到一个连接&#39;只需打开/dev/ttyUSB0
调用open()
文件就可以找到您的设备(通过查看dmesg
相关设备消息或查看{{1}下显示的设备节点,可以找到实际名称当您将设备插入/dev
端口时)。
然后,您需要设置波特率和字格式(位数,奇偶校验和停止位数)。要从用户空间进程实现这一点,您将使用一组usb
s。有关详细信息,请参阅ioctl
和man ioctl