OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5003|回复: 7

IMU----ICM20602

[复制链接]

1

主题

5

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-1-29
在线时间
3 小时
发表于 2018-1-29 15:59:20 | 显示全部楼层 |阅读模式
1金钱
可以請教 ICM20602 此IMU
以SPI的通訊方式去做溝通,我在Terminal 下command
spidev_test -D /dev/spidev9.0 -p "\xf5\x00"
能收到回傳值0x12
想請教
1.我該如何下指令去寫進spi並且驗證我有寫入成功
2. 我該如何下指令去得到imu回傳的Gyro值



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-29 18:27:27 | 显示全部楼层
这个芯片与MPU6050同为INVENSENSE公司的运动传感器。
但是,ICM20602的资料相当少。

但是网路上关于MPU6050的资料相当多,参阅他们,并辅之以ICM20602本身的datasheet、register manual,你就能得到自己想要的答案。

如果英语水平过关,也可以直接阅读ICM20602本身的datasheet、register manual。
官方页面
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-1-29
在线时间
3 小时
 楼主| 发表于 2018-1-30 10:12:44 | 显示全部楼层
a496298685 发表于 2018-1-29 18:27
这个芯片与MPU6050同为INVENSENSE公司的运动传感器。
但是,ICM20602的资料相当少。

目前照著您說的查詢MPU6050的部分,幾乎都是i2c的方式,有spi tool 可以去丟指令讀取imu的Gyro值嗎? 由於我現在使用既有的spidev_test tool 去下指令
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-1-29
在线时间
3 小时
 楼主| 发表于 2018-1-30 10:17:03 | 显示全部楼层
目前照著您說的查詢MPU6050的部分,幾乎都是i2c的方式,有spi tool 可以去丟指令讀取imu的Gyro值嗎? 由於我現在使用既有的spidev_test tool 去下指令
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-30 14:53:37 | 显示全部楼层
pihaimonkey 发表于 2018-1-30 10:17
目前照著您說的查詢MPU6050的部分,幾乎都是i2c的方式,有spi tool 可以去丟指令讀取imu的Gyro值嗎? 由於我 ...

二者只是通信协议不同,时序特性不同。指令是完全相同的。请直接使用。
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-1-29
在线时间
3 小时
 楼主| 发表于 2018-1-30 15:16:01 | 显示全部楼层
本帖最后由 pihaimonkey 于 2018-1-30 15:20 编辑

我指令這樣丟,可是結果不對
spidev_test -D /dev/spidev9.0 -p "\xf5\x6c\x00\xc3\xc5\xc7"
SPI read and write operations are completed in 16 or more clock cycles (two or more bytes). The first byte contains the SPI Address, and the following byte(s) contain(s) the SPI data. The first bit of the first byte contains the Read/Write bit and indicates the Read (1) or Write (0) operation. The following 7 bits contain the Register Address. In cases of multiple-byte Read/Writes, data is two or more bytes:

0xf5:Register Name: WHO_AM_I
Register Type: READ only
Register Address: 117 (Decimal); 75 (Hex)

0x6c: Register Name: PWR_MGMT_2
Register Type: READ/WRITE
Register Address: 108 (Decimal); 6C (Hex)

0xc3:GYRO_XOUT_H

回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-30 16:03:01 | 显示全部楼层
不知你的spidev9.0是个怎样的server,但是我觉得你的使用方法不对。

你发送了F5h试图读到WHO AM I信息,但是你根本没有留给程序读取数据的时钟呀。

请首先确定自己对于spidev9.0的使用方法是正确的。
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-1-29
在线时间
3 小时
 楼主| 发表于 2018-1-31 09:57:46 | 显示全部楼层
a496298685 发表于 2018-1-30 16:03
不知你的spidev9.0是个怎样的server,但是我觉得你的使用方法不对。

你发送了F5h试图读到WHO AM I信息, ...

程式你們有設置

static const char *device = NULL;
static uint32_t mode= 3;
static uint8_t bits = 8;
static uint32_t speed = 5000000;
static uint16_t delay;
static int verbose;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-20 03:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表