gpt4 book ai didi

c - I2C 通信和轮询

转载 作者:行者123 更新时间:2023-11-30 20:32:26 24 4
gpt4 key购买 nike

我正在 HummingBoard Pro (Armbian) 上进行开发。

我想使用 I2C 与外设通信。我阅读了数据表,发现它在地址0xff处提供了数据流。因此我编写了一个工具来定期检查数据是否可用并打印它。

  • 这是司机吗?
  • 如果它是驱动程序,它是否应该像其他程序一样在用户空间中运行?
  • 是否有替代方法(以避免轮询外围设备)?

最佳答案

首先,您需要将外围设备添加到 Linux 设备树中,以便您的 Linux 系统知道它在那里。我使用 Zynq 7000 处理系统做了类似的应用程序。这是假设您的架构允许您的处理器使用 Linux 直接与外围设备通信。 http://www.wiki.xilinx.com/Linux+I2C+Driver

这是 Xilinx 资源。它有一个将 i2c 设备添加到设备树以使用 Cadence I2C 驱动程序进行访问的示例。 Cadence I2C 驱动程序可用于多种平台。您应该检查 Humming Bird Pro 驱动程序兼容性。

我假设您想使用 Linux I2C 设备接口(interface)。这是我使用的方法,我认为这是最简单的。我建议您查看此内容以了解软件方面涉及的内容。 http://rts.lab.asu.edu/web_438/CSE438_598_slides_yhlee/438_6_Linux_I2C_SMBus.pdf

我假设您了解用户空间和内核空间之间的区别以及如何在用户空间应用程序中使用设备驱动程序。如果没有,我建议您看一下这些 Xilinx 资源,我认为这些资源在涵盖嵌入式软件设计人员的主题方面做得非常出色。 https://forums.xilinx.com/xlnx/attachments/xlnx/ELINUX/10657/2/drivers-session3-uio-4public.pdf

关于c - I2C 通信和轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47509219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com