因为工作需要,使用一款名为KXTj2-1009的三轴加速度芯片进行工具板的加速度参数的采集,相对于曾使用过的MPU6050,该传感器只有三轴的加速度。采集量程可以通过CTRL_REG1 寄存器进行配置,通过芯片手册 可以方便我们用户进行开发参考使https://wenku.baidu.com/view/2aaa7e5af01dc281e53af07a.html,芯片的量程可以通过因为对于芯片的驱动,缺少编写经验,一般都是在网上寻找现有的驱动代码,直接调用较为省事,可是资源太少,或者下载需要相关权限。只能自己阅读文档进行编写。经测试在STM32F405板上驱动正常。
文中说明的寄存器进行配置时,需要将CTRL_REG1 寄存器的bit7位先置零,然后才能进行相关寄存器的配置如下图所示:
图1-1
配置代码如下:
static void init_kxtj(void)
{
KXTJ2_GPIO_Init();
IIC_GPIO_Configuration( IIC_SDA ,IIC_SCL );
Single_Write_IIC(slave_address,CTRL_REG1,0x28);//PC set 0 power off
Delay(100000);
Single_Write_IIC(slave_address,DATA_CTRL_REG,0x06);//output rate 800hz
//Delay(200);
Single_Write_IIC(slave_address,INT_CTRL_REG2,0x00);//清轴向中断
//Delay(200);
Single_Write_IIC(slave_address,INT_CTRL_REG1,0x20);//物理中断使能,低电平触发,读取INT_REL使能
//Delay(200);
Single_Write_IIC(slave_address,CTRL_REG1,0xA8);//PC set 1,
Delay(100000);
}