目录:
通过使用I2C读写模块,在Simulink上读取GY271的三轴数据
GY271由I2C驱动,我们设计使用I2C1,并且使能引脚重映射,因此,SCL连接PB8,SDA连接PB9,如下图所示。
我们新建一个程序,参考GY271的本地驱动,我们搭建如下程序。 初始化与模式配置 I2C_WriteRegisterByte(I2C1, 0x3C, 0x00,0x70);//8位的采样平均,15Hz的标准数据输出频率 I2C_WriteRegisterByte(I2C1, 0x3C, 0x02, 0x00);//连续测量模式 根据I2C单次写模块,做出如下图设置。
我们新建一个程序,参考GY271的本地驱动,我们搭建如下程序。
初始化与模式配置
I2C_WriteRegisterByte(I2C1, 0x3C, 0x00,0x70);//8位的采样平均,15Hz的标准数据输出频率 I2C_WriteRegisterByte(I2C1, 0x3C, 0x02, 0x00);//连续测量模式 根据I2C单次写模块,做出如下图设置。
I2C_WriteRegisterByte(I2C1, 0x3C, 0x00,0x70);//8位的采样平均,15Hz的标准数据输出频率 I2C_WriteRegisterByte(I2C1, 0x3C, 0x02, 0x00);//连续测量模式
根据I2C单次写模块,做出如下图设置。
I2C_WriteByte(I2C1, 0x3C, 0x03); I2C_ReadBytes(I2C1, 0x3D, GY271_BUF, 6); 我们分别使用I2C循环写和读模块去实现,上述代码。
I2C_WriteByte(I2C1, 0x3C, 0x03); I2C_ReadBytes(I2C1, 0x3D, GY271_BUF, 6);
我们分别使用I2C循环写和读模块去实现,上述代码。
通过上述设置,搭建程序,编译、下载、运行,得到GY271三轴数据,如图。