Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    I can't get BMX160 CHIPID using STM32 SPI

    zx556605
    New Poster

    I can't get BMX160 CHIPID using STM32 SPI

    I tried to use STM32 MCU to use SPI to communicate with BMX160, but I can't get CHIPID, I already use github bmi.h and bmi.c files, please tell me which part is missing to read CHIPID normally

    16 REPLIES 16
    BSTRobin
    Community Moderator

    Re: I can't get BMX160 CHIPID using STM32 SPI

    Suggest to check if there was SPI communication on SPI bus by logic analyzer tool or oscilloscope. If no, it needs to check whether SPI read calling function and process of the host are correct.

    zx556605
    New Poster

    Re: I can't get BMX160 CHIPID using STM32 SPI

    fish
    Community Moderator

    Re: I can't get BMX160 CHIPID using STM32 SPI

    Maybe you could view this link to gew more info about BMX160 driver.

    https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/BMX 160-driver/m-p/6581

    zx556605
    New Poster

    Re: I can't get BMX160 CHIPID using STM32 SPI

    The following is my code

    Read CHIPID  is not 0XD8

    read CHIPID is 0xFFFFFFFD

    ----------------------------------------------------------------------------------

    int32_t main()
    {
    SYS_UnlockReg();
    System_Init();
    SPI0_PinSet();
    SPI0_Set();
    UART0_Set();
    SYS_LockReg();
    CS_IMU = PE12;

    struct bmi160_dev sensor;

    sensor.id = 0;
    sensor.interface = BMI160_SPI_INTF;
    sensor.read = IMU_spiRead_BMX160;
    sensor.write = IMU_spiWrite_BMX160;
    sensor.delay_ms = Delayms;


    int8_t rslt = BMI160_OK;
    rslt = bmi160_init(&sensor);


    while(1)
    {
    printf("\n+------------------------+\n");
    printf("[Chip ID] 0x%X\n", rslt);
    printf("\n+------------------------+\n");
    Delayms(1000);
    }
    }

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist