feat: 增加IMU初始化时重新上电功能
This commit is contained in:
@@ -223,14 +223,21 @@ void imu660ra_get_temperature(void)
|
||||
uint8 imu660ra_init(void)
|
||||
{
|
||||
uint8 return_state = 0;
|
||||
|
||||
// 先给 IMU660RA 断电重启
|
||||
gpio_init(IMU660RA_PE_PIN, GPO, 0, GPO_PUSH_PULL); // 配置 IMU660RA 的 PE 端口
|
||||
gpio_low(IMU660RA_PE_PIN);
|
||||
system_delay_ms(100);
|
||||
gpio_high(IMU660RA_PE_PIN);
|
||||
|
||||
system_delay_ms(20); // 等待设备上电成功
|
||||
|
||||
#if IMU660RA_USE_SOFT_IIC
|
||||
soft_iic_init(&imu660ra_iic_struct, IMU660RA_DEV_ADDR, IMU660RA_SOFT_IIC_DELAY, IMU660RA_SCL_PIN, IMU660RA_SDA_PIN); // 配置 IMU660RA 的 IIC 端口
|
||||
#else
|
||||
spi_init(IMU660RA_SPI, SPI_MODE0, IMU660RA_SPI_SPEED, IMU660RA_SPC_PIN, IMU660RA_SDI_PIN, IMU660RA_SDO_PIN, IMU660RA_CS_PIN); // 配置 IMU660RA 的 SPI 端口
|
||||
gpio_init(IMU660RA_CS_PIN, GPO, GPIO_HIGH, GPO_PUSH_PULL); // 配置 IMU660RA 的 CS 端口
|
||||
imu660ra_read_register(IMU660RA_CHIP_ID); // 读取一下设备 ID 将设备设置为 SPI 模式
|
||||
gpio_init(IMU660RA_CS_PIN, GPO, GPIO_HIGH, GPO_PUSH_PULL); // 配置 IMU660RA 的 CS 端口
|
||||
imu660ra_read_register(IMU660RA_CHIP_ID); // 读取一下设备 ID 将设备设置为 SPI 模式
|
||||
#endif
|
||||
do {
|
||||
if (imu660ra_self_check()) // IMU660RA 自检
|
||||
|
||||
Reference in New Issue
Block a user