主題:ETA105模塊相關 共有69710人關注過本帖 |
---|
![]() TPCK |
1樓 信息 | 搜索 | 郵箱 |
![]() ![]() ![]() ![]() |
ETA105模塊相關 ![]() 通過SPI讀取ETA105模塊一直返回-1,相關資料也說得很模糊,請問有示例代碼嗎? |
單帖管理 | 引用 | 回復 ![]() |
![]() hzc |
2樓 信息 | 搜索 | 郵箱 |
![]() ![]() ![]() ![]() |
![]() 你好,請問使用的主板型號是什么,系統是Linux還是WinCE呢? |
單帖管理 | 引用 | 回復 ![]() |
客人 |
3樓 |
![]() |
![]() 主板ESM6800 V4.1,系統Linux |
單帖管理 | 引用 | 回復 ![]() |
客人 |
4樓 |
![]() |
![]() 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樓 |
![]() |
![]() 補充說明,ioctl(spi, SPI_IOC_MESSAGE(1), tr);中的spi其實就是前面fd,只因這兩部分在不同的函數所以參數不一樣 |
單帖管理 | 引用 | 回復 ![]() |
![]() hzc |
6樓 信息 | 搜索 | 郵箱 |
![]() ![]() ![]() ![]() |
![]() 你好,方便的話可以留下一個郵箱,我們會把ETA105的例程發給你。 |
單帖管理 | 引用 | 回復 ![]() |
客人 |
7樓 |
![]() |
![]() 1595163483@qq.com 謝謝 |
單帖管理 | 引用 | 回復 ![]() |
![]() hzc |
8樓 信息 | 搜索 | 郵箱 |
![]() ![]() ![]() ![]() |
![]() 你好,已經發送,請查收。 |
單帖管理 | 引用 | 回復 ![]() |