平台
主板:Intel Joule 570X 扩展板
操作系统:
uname -aLinux scout-570x-DVT3 4.4.0-1000-joule #0+joule12-Ubuntu SMP PREEMPT Fri Jan 6 04:28:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
lsb_release -a
没有可用的 LSB 模块。
分销商 ID:Ubuntu
描述:Ubuntu 16.04.1 LTS
发行版:16.04
代号:xenial
磁共振成像协会
mraa-gpio 版本 INTEL JOULE EXPANSION 上的版本 v1.7.0-11-g47c21e0
问题
我是否需要启用 spidev 才能使 libmraa 工作。如果需要,我该如何启用它?
程序:
来源
#include "mraa.h"
#include <unistd.h>
#include <stdint.h>
#include<iostream>
int main(int argc, char** argv)<br>
{
mraa_init();<br>
//! [Interesting]<br>
mraa_spi_context spi;<br>
spi = mraa_spi_init(0);<br>
printf("Hello, SPI initialised\n");<br>
std::cout<<"spi init"<<std::endl;<br>
uint8_t data[] = { 0x00, 0x32 };<br>
uint8_t* recv;<br>
std::cout<<"assigning data"<<std::endl;<br>
int i=90;<br>
data[1] = i;<br>
std::cout<<"spi write coming up"<<std::endl;<br>
recv = mraa_spi_write_buf(spi, data, 2);<br>
if (recv==NULL)<br>
std::cout<<"error in writing"<<std::endl;<br>
printf("Writing -%i\n", i);<br>
//printf("RECIVED-%i-%i\n", recv[0], recv[1]);<br>
usleep(100000);<br>
//! [Interesting]<br>
}
输出
你好,SPI 已初始化
spi 初始化
分配数据
spi 写入即将发生写入
错误
写入 -90
调试
journalctl -t libmraa
— 日志开始于 2017-04-13 星期四 12:04:32 EDT,结束于 2017-06-01 星期四 18:28:10 EDT。 -- 6 月 1 日 18:18:37 scout-570x-DVT3 libmraa[2837]: libmraa 版本 v1.7.0-11-g47c21e0 由用户“scout”使用 EUID 1001 初始化
6 月 1 日 18:18:37 scout-570x-DVT3 libmraa[2837]: 添加在适配器 i2c_designware.0 上的 i2c-4 上找到的 i2c 总线
6 月 1 日 18:18:37 scout-570x-DVT3 libmraa[2837]: 添加在适配器 i2c_designware.5 上的 i2c-9 上找到的 i2c 总线
6 月 1 日 18:18:37 scout-570x-DVT3 libmraa[2837]: 添加在适配器 i2c_designware.6 上的 i2c-10 上找到的 i2c 总线
6 月 1 日 18:18:37 scout-570x-DVT3 libmraa[2837]: 添加在适配器 i2c_designware.1 上的 i2c-5 上发现的 i2c 总线 6
月 1 日 18:18:37 scout-570x-DVT3 libmraa[2837]: 添加在适配器 i2c_designware.2 上的 i2c-6 上发现的 i2c 总线
6 月 1 日 18:18:37 scout-570x-DVT3 libmraa[2837]: libmraa 已针对类型 13 的平台“INTEL JOULE EXPANSION”初始化
6 月 1 日 18:18:37 scout-570x-DVT3 libmraa[2837]: spi: 无法打开 SPI 设备。总线:/dev/spidev32765.0。错误 2 没有此文件或目录
6 月 1 日 18:18:37 scout-570x-DVT3 libmraa[2837]: spi: write_buf: 上下文无效
6 月 1 日 18:24:50 scout-570x-DVT3 libmraa[3049]: libmraa 版本 v1.7.0-11-g47c21e0 由用户“scout”使用 EUID 1001 初始化
6 月 1 日 18:24:50 scout-570x-DVT3 libmraa[3049]: 添加在适配器 i2c_designware.0 上的 i2c-4 上发现的 i2c 总线
6 月 1 日 18:24:50 scout-570x-DVT3 libmraa[3049]: 添加在适配器 i2c_designware.5 上的 i2c-9 上发现的 i2c 总线6 月 1 日 18:24:50 scout-570x-DVT3 libmraa[3049]: 添加在适配器 i2c_designware.6
上的 i2c-10 上发现的 i2c 总线
01 18:24:50 scout-570x-DVT3 libmraa[3049]: 添加在适配器 i2c_designware.1 上的 i2c-5 上发现的 i2c 总线
6 月 01 18:24:50 scout-570x-DVT3 libmraa[3049]: 添加在适配器 i2c_designware.2 上的 i2c-6 上发现的 i2c 总线
6 月 01 18:24:50 scout-570x-DVT3 libmraa[3049]: libmraa 已针对类型为 13 的平台“INTEL JOULE EXPANSION”初始化
6 月 01 18:28:04 scout-570x-DVT3 libmraa[3115]: libmraa 版本 v1.7.0-11-g47c21e0 由 EUID 为 1001 的用户“scout”初始化
6 月01 18:28:04 scout-570x-DVT3 libmraa[3115]: 添加在适配器 i2c_designware.0 上的 i2c-4 上找到的 i2c 总线
Jun 01 18:28:04 scout-570x-DVT3 libmraa[3115]: 添加在适配器 i2c_designware.5 上的 i2c-9 上找到的 i2c 总线
Jun 01 18:28:04 scout-570x-DVT3 libmraa[3115]: 添加在适配器 i2c_designware.6 上的 i2c-10 上找到的 i2c 总线
Jun 01 18:28:04 scout-570x-DVT3 libmraa[3115]: 添加在适配器 i2c_designware.1 上的 i2c-5 上找到的 i2c 总线
Jun 01 18:28:04 scout-570x-DVT3 libmraa[3115]: 添加在适配器 i2c_designware.2 上的 i2c-6 上发现的 i2c 总线
6 月 1 日 18:28:04 scout-570x-DVT3 libmraa[3115]: libmraa 已针对类型 13 的平台“INTEL JOULE EXPANSION”初始化
6 月 1 日 18:28:10 scout-570x-DVT3 libmraa[3116]: libmraa 版本 v1.7.0-11-g47c21e0 由用户“scout”使用 EUID 1001 初始化
6 月 1 日 18:28:10 scout-570x-DVT3 libmraa[3116]: 添加在适配器 i2c_designware.0 上的 i2c-4 上发现的 i2c 总线
6 月 1 日 18:28:10 scout-570x-DVT3 libmraa[3116]: 添加在适配器 i2c_designware.5 上的 i2c-9 上找到的 i2c 总线
6 月 1 日 18:28:10 scout-570x-DVT3 libmraa[3116]: 添加在适配器 i2c_designware.6 上的 i2c-10 上找到的 i2c 总线
6 月 1 日 18:28:10 scout-570x-DVT3 libmraa[3116]: 添加在适配器 i2c_designware.1 上的 i2c-5 上找到的 i2c 总线
6 月 1 日 18:28:10 scout-570x-DVT3 libmraa[3116]: 添加在适配器 i2c_designware.2 上的 i2c-6 上找到的 i2c 总线
6 月 1 日 18:28:10 scout-570x-DVT3 libmraa[3116]: libmraa 已针对类型 13 的平台“INTEL JOULE EXPANSION”初始化
问题
我是否需要启用 spidev 才能使 libmraa 工作。如果需要,我该如何启用它?