高级会员

- 积分
- 608
- 金钱
- 608
- 注册时间
- 2017-9-21
- 在线时间
- 171 小时
|
发表于 2019-1-22 15:56:59
|
显示全部楼层
我之前UCOS下用过两个,给你参考下
VL53L0X_XSH_Init();//初始化XSH IO口
VL53L0X_i2c_init();//初始化IIC总线
vl53l0x_dev[VL5310X_INSIDE_ID].I2cDevAddr = VL53L0X_Addr;//I2C地址(上电默认0x52)
vl53l0x_dev[VL5310X_INSIDE_ID].comms_type = 1; //I2C通信模式
vl53l0x_dev[VL5310X_INSIDE_ID].comms_speed_khz = 400; //I2C通信速率
//========================内侧测量模块配置===========================
//使能芯片INSIDE
GPIO_SetBits(VL5310X_XSH_INSIDE_GPIOx ,VL5310X_XSH_INSIDE_GPIO_Pin);
OSTimeDly(50,OS_OPT_TIME_DLY,&err);//延时
vl53l0x_Addr_set(&vl53l0x_dev[VL5310X_INSIDE_ID],VL5310X_INSIDE_ADDR);//设置VL53L0X传感器I2C地址
if(Status!=VL53L0X_ERROR_NONE)
goto error;
Status = VL53L0X_DataInit(&vl53l0x_dev[VL5310X_INSIDE_ID]);//设备初始化
if(Status!=VL53L0X_ERROR_NONE)
goto error;
OSTimeDly(50,OS_OPT_TIME_DLY,&err);//延时
Status = VL53L0X_GetDeviceInfo(&vl53l0x_dev[VL5310X_INSIDE_ID],&vl53l0x_dev_info);//获取设备ID信息
if(Status!=VL53L0X_ERROR_NONE)
goto error;
//设置对应的校准值的flah位置
vl53l0x_dev[VL5310X_INSIDE_ID].adjust_addr = VL5310X_ADJUST_RESERVE_ADDR + VL5310X_SAVE_ADJUST_SIZE*0;
//设置工作模式
vl53l0x_set_mode(&vl53l0x_dev[VL5310X_INSIDE_ID],HIGH_ACCURACY);
//=======================外侧测量模块配置=============================
vl53l0x_dev[VL5310X_OUTSIDE_ID].I2cDevAddr = VL53L0X_Addr;//I2C地址(上电默认0x52)
vl53l0x_dev[VL5310X_OUTSIDE_ID].comms_type = 1; //I2C通信模式
vl53l0x_dev[VL5310X_OUTSIDE_ID].comms_speed_khz = 400; //I2C通信速率
//使能芯片OUTSIDE
GPIO_SetBits(VL5310X_XSH_OUTSIDE_GPIOx ,VL5310X_XSH_OUTSIDE_GPIO_Pin);
OSTimeDly(50,OS_OPT_TIME_DLY,&err);//延时
vl53l0x_Addr_set(&vl53l0x_dev[VL5310X_OUTSIDE_ID],VL5310X_OUTSIDE_ADDR);//设置VL53L0X传感器I2C地址
if(Status!=VL53L0X_ERROR_NONE)
goto error;
Status = VL53L0X_DataInit(&vl53l0x_dev[VL5310X_OUTSIDE_ID]);//设备初始化
if(Status!=VL53L0X_ERROR_NONE)
goto error;
OSTimeDly(50,OS_OPT_TIME_DLY,&err);//延时
Status = VL53L0X_GetDeviceInfo(&vl53l0x_dev[VL5310X_OUTSIDE_ID],&vl53l0x_dev_info);//获取设备ID信息
if(Status!=VL53L0X_ERROR_NONE)
goto error;
//设置对应的校准值的flah位置
vl53l0x_dev[VL5310X_OUTSIDE_ID].adjust_addr = VL5310X_ADJUST_RESERVE_ADDR + VL5310X_SAVE_ADJUST_SIZE*1;
//设置工作模式
vl53l0x_set_mode(&vl53l0x_dev[VL5310X_OUTSIDE_ID],HIGH_ACCURACY);
|
|