littlebot
Published on 2025-04-12 / 0 Visits
0

【源码】基于C语言的传感器及设备驱动程序集

项目简介

本项目名为ZUPM,是一个用于 Zephyr Project 的UPM C源仓库。它提供多种传感器和设备的C语言驱动程序,助力开发者在Zephyr项目中便捷集成和使用各类硬件设备。不过该项目已不再由Intel维护,Intel停止了对其的开发和贡献。

项目的主要特性和功能

  • 丰富的驱动程序:包含A110X传感器、AD8232心率监测模块、APA102 LED驱动板等多种传感器和设备的驱动程序,具备模拟输入、数字输出、通信接口等多种功能。
  • 多版本支持:提供多个版本的ZUPM,支持不同版本的Zephyr内核,如ZUPM v1.2.0支持Zephyr Kernel 1.8。
  • 示例代码:提供不同接口类型(AIO、SPI、I2C、GPIO)的代码示例,便于开发者快速上手。

安装使用步骤

前提条件

用户已下载本项目的源码文件。

安装步骤

  1. 复制Zephyr内核: sh export ZEPHYR_GCC_VARIANT=zephyr export ZEPHYR_SDK_INSTALL_DIR=<path to your sdk installation directory> source zephyr-env.sh
  2. 复制ZMRAA: sh
  3. 复制ZUPM: sh
  4. 设置Kbuild以包含MRAA和UPM,并将UPM示例链接到Zephry示例: sh cd $ZEPHYR_BASE patch -p1 < $ZEPHYR_BASE/ext/lib/mraa/install.patch patch -p1 < $ZEPHYR_BASE/ext/lib/upm/install.patch ln -s $ZEPHYR_BASE/ext/lib/upm/samples/upm $ZEPHYR_BASE/samples/

注意事项

ZUPM对ZMRAA有严格依赖,请先复制并修补ZMRAA,然后再进行ZUPM的操作。

代码示例运行

AIO示例(DFRobot pH传感器)

sh cd $ZEPHYR_BASE/samples/upm/dfrph make BOARD=arduino_101_sss

SPI示例(板载加速度计、陀螺仪、磁力计)

sh cd $ZEPHYR_BASE/samples/upm/bmi160 make BOARD=arduino_101_sss

I2C示例(LCD显示屏)

sh cd $ZEPHYR_BASE/samples/upm/jhd1313m1 make BOARD=arduino_101_sss

GPIO示例(板载LED)

以不同开发板为例: - arduino_101 sh cd $ZEPHYR_BASE/samples/upm/led make BOARD=arduino_101 按照 Flash the target 操作,复位目标后,板载LED应闪烁。 - quark_d2000_crb sh cd $ZEPHYR_BASE/samples/upm/led make BOARD=quark_d2000_crb 按照 Flash the target 操作,复位目标后,板载LED应闪烁。 - quark_se_c1000_devboard sh cd $ZEPHYR_BASE/samples/upm/led make BOARD=quark_se_c1000_devboard make BOARD=quark_se_c1000_devboard flash 复位目标后,板载LED应闪烁。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】