Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    About bmx160 struct SPI READ and WRITE FUNCTION

    About bmx160 struct SPI READ and WRITE FUNCTION

    zx556605
    New Poster

    Hello everyone!!!

    I use Nuvoton M451 MCU with BMX160,
    The communication protocol uses SPI,
    I will read the BMX160 CHIP ID but cannot succeed
    rslt =-3(DEVICE NOT FOUND)
    Re-read CODE several times
    It is found that the Read and write functions in the struct may not be well written
    CHIPID cannot be read normally

    -----------------------------------------------------------------------------------
    struct bmi160_dev bmi;
    bmi.id = 0;
    bmi.interface = BMI160_SPI_INTF;
    bmi.read = (bmi160_com_fptr_t)user_spi_read;
    bmi.write = (bmi160_com_fptr_t)user_spi_write;
    bmi.delay_ms = (bmi160_delay_fptr_t) Delayus;
    -----------------------------------------------------------------------------------
    I would like to ask!!!
    bmi.read = (bmi160_com_fptr_t)user_spi_read;
    bmi.write = (bmi160_com_fptr_t)user_spi_write;
    The workflow of these two functions and how to write

    3 REPLIES 3

    Vincent
    Community Moderator
    Community Moderator

    You need to link / map the SPI read / write function in your MCU complier to those funciton.

    In the API,  they are just dumy function which need to be map by user.

    HI Vincent
    Understand~~
    So we also need to write the function of MCU by ourselves to use for FUNCTION
    So how do I give these functions to FUNCTION?
    Is there any reference to this FUNCTION design flow and examples!!

    Thank you

    Vincent
    Community Moderator
    Community Moderator

    You can just rewrite / replace your SPI read and write function in the API. 

    It is the generic SPI function on your MCU platform.

    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