1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #include "bma253.h"
- void i2c_chekc(uint8_t result){
- switch(result){
- case HAL_OK:
- printf("HAL_OK : %d \r\n",result);
- break;
- case HAL_ERROR:
- printf("HAL_ERROR : %d\r\n",result);
- break;
- case HAL_BUSY:
- printf("HAL_BUSY : %d\r\n",result);
- break;
- case HAL_TIMEOUT:
- printf("HAL_TIMEOUT : %d\r\n",result);
- break;
- }
- }
- int bma253_get_chip_id(void){
- uint8_t data,res[1]={0,};
-
- data = HAL_I2C_Mem_Read(&hi2c2, (REG_VALUE_CHIP_ID << 1), 0, 1, &res[0], I2C_MEMADD_SIZE_8BIT, 1000);
- i2c_chekc(data);
- HAL_Delay(1000);
-
- data = HAL_I2C_Mem_Read(&hi2c2, REG_VALUE_CHIP_ID , 0, 1, &res[0], I2C_MEMADD_SIZE_8BIT, 1000);
- i2c_chekc(data);
- HAL_Delay(1000);
-
- data = HAL_I2C_Mem_Read(&hi2c2, REG_ADDR_BGW_CHIPID, REG_VALUE_CHIP_ID, 1, &res[0], I2C_MEMADD_SIZE_8BIT, 1000);
- i2c_chekc(data);
- HAL_Delay(1000);
-
- data = HAL_I2C_Mem_Read(&hi2c2, REG_ADDR_BGW_CHIPID, REG_VALUE_CHIP_ID<<1, 1, &res[0], I2C_MEMADD_SIZE_8BIT, 1000);
- i2c_chekc(data);
- HAL_Delay(1000);
- data = HAL_I2C_Mem_Read_IT(&hi2c2, (REG_VALUE_CHIP_ID << 1), 0, 1, &res[0], I2C_MEMADD_SIZE_8BIT);
- i2c_chekc(data);
- HAL_Delay(1000);
-
- data = HAL_I2C_Mem_Read_IT(&hi2c2, REG_VALUE_CHIP_ID , 0, 1, &res[0], 1);
- i2c_chekc(data);
- HAL_Delay(1000);
-
- data = HAL_I2C_Mem_Read_IT(&hi2c2, REG_ADDR_BGW_CHIPID, REG_VALUE_CHIP_ID, 1, &res[0], I2C_MEMADD_SIZE_8BIT);
- i2c_chekc(data);
- HAL_Delay(1000);
-
- data = HAL_I2C_Mem_Read_IT(&hi2c2, REG_ADDR_BGW_CHIPID, REG_VALUE_CHIP_ID<<1, 1, &res[0], I2C_MEMADD_SIZE_8BIT);
- i2c_chekc(data);
- HAL_Delay(1000);
- }
|