陶新成 发表于 2018-10-23 12:17:05

分享HAL_HSCDT008A,HAL_L3G4200D,HAL_MMA8452驱动程序

基于MSP432P处理器,模拟IIC接口
磁传感器(苹果手机里使用的就是该型号的磁芯片,体积非常小)
1、//初始化HSCDT008A,根据需要请参考pdf进行修改***********************
   void Init_HSCDT008A(void)配置传感器最大值15bites
2、//******单字节写入*******************************************
   void Single_Write_HSCDT008A(unsigned char REG_Address,unsigned char REG_data)
3、//连续读出HSCDT008A内部加速度数据,地址范围0x10~0x15
   void Multiple_read_HSCDT008A(void)//MAG_BUF为磁场数据,低位在前高位在后
   X轴MAG_BUF*256 + MAG_BUF Y轴MAG_BUF*256 + MAG_BUF Z轴MAG_BUF*256 + MAG_BUF

加速度计传感器
1、//初始化MMA8452,根据需要请参考pdf进行修改************************
   void Init_MMA8452(void)
2、//******单字节写入传感器数据用于配置传感器************************
   void Single_Write_MMA8452(unsigned char REG_Address,unsigned char REG_data)
3、//连续读出MMA8452内部加速度数据,地址范围0x01~0x06
   void Multiple_read_MMA8452(void)//ACC_BUF为加速度计值,高位在前低位在后
   X轴ACC_BUF*256 + ACC_BUF Y轴ACC_BUF*256 + ACC_BUF Z轴ACC_BUF*256 + ACC_BUF
陀螺传感器
1、//初始化L3G4200D,根据需要请参考pdf进行修改************************
   void Init_L3G4200D(void)
   Single_Write_L3G4200D(0x20,0x0F);//带宽100HZ 普通模式,XYZ轴启动
   Single_Write_L3G4200D(0x21,0x00);//普通模式,高通滤波
   Single_Write_L3G4200D(0x22,0x08);//使能DRDY
   Single_Write_L3G4200D(0x23,0x00);//量程250dps,灵敏度8.75
2、//******单字节写入*******************************************
   void Single_Write_L3G4200D(unsigned char REG_Address,unsigned char REG_data)
3、//读陀螺仪数据
   void Read_Gyro_L3G4200D(void)// Gyro_BUF为陀螺仪数据,低位在前高位在后
   X轴Gyro_BUF*256 + Gyro_BUF Y轴Gyro_BUF*256 + Gyro_BUF Z轴Gyro_BUF*256 + Gyro_BUF

软件只读出原始数据,如需应用到AHRS程序中需要标度转换
页: [1]
查看完整版本: 分享HAL_HSCDT008A,HAL_L3G4200D,HAL_MMA8452驱动程序