主题:ETA105模块相关 共有42096人关注过本帖 |
---|
TPCK |
1楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
ETA105模块相关 Post By:2019-8-23 17:17:00 [只看该作者]
通过SPI读取ETA105模块一直返回-1,相关资料也说得很模糊,请问有示例代码吗? |
单帖管理 | 引用 | 回复 |
hzc |
2楼 信息 | 搜索 | 邮箱 |
加好友 发短信 员工 |
Post By:2019-8-23 17:36:00 [只看该作者]
你好,请问使用的主板型号是什么,系统是Linux还是WinCE呢? |
单帖管理 | 引用 | 回复 |
客人 |
3楼 |
Post By:2019-8-26 9:36:00 [只看该作者]
主板ESM6800 V4.1,系统Linux |
|
单帖管理 | 引用 | 回复 |
客人 |
4楼 |
Post By:2019-8-26 14:09:00 [只看该作者]
unsigned char mode = 1; unsigned char bits = 16; unsigned int speed = 1000000; int fd = open("/dev/spidev1.0",O_RDWR); if(fd<0) { perror("can't open device"); return fd; } int ret = ioctl(fd,SPI_IOC_WR_MODE,&mode); if(ret == -1) { perror("can't set spi mode"); close(fd); return ret; } ret = ioctl(fd,SPI_IOC_WR_BITS_PER_WORD,&bits); if(ret == -1) { perror("can't set spi bits"); close(fd); return ret; } ret = ioctl(fd,SPI_IOC_WR_MAX_SPEED_HZ,&speed); if(ret == -1) { perror("can't set spi speed"); close(fd); return ret; } char data[16] = {0}; struct spi_ioc_transfer tr; //short temp[128] = {0}; tr.tx_buf = NULL; tr.rx_buf = (unsigned long)data; tr.len = 16; tr.delay_usecs = 0; tr.speed_hz = 1000000; tr.bits_per_word = 16; int len = ioctl(spi, SPI_IOC_MESSAGE(1), tr); //return -1 这是我的代码,尝试过修改模式,速度等值都无效,请问是哪里的问题 |
|
单帖管理 | 引用 | 回复 |
客人 |
5楼 |
Post By:2019-8-26 14:13:00 [只看该作者]
补充说明,ioctl(spi, SPI_IOC_MESSAGE(1), tr);中的spi其实就是前面fd,只因这两部分在不同的函数所以参数不一样 |
|
单帖管理 | 引用 | 回复 |
hzc |
6楼 信息 | 搜索 | 邮箱 |
加好友 发短信 员工 |
Post By:2019-8-27 10:30:00 [只看该作者]
你好,方便的话可以留下一个邮箱,我们会把ETA105的例程发给你。 |
单帖管理 | 引用 | 回复 |
客人 |
7楼 |
Post By:2019-8-27 13:17:00 [只看该作者]
1595163483@qq.com 谢谢 |
|
单帖管理 | 引用 | 回复 |
hzc |
8楼 信息 | 搜索 | 邮箱 |
加好友 发短信 员工 |
Post By:2019-8-27 14:04:00 [只看该作者]
你好,已经发送,请查收。 |
单帖管理 | 引用 | 回复 |