Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    [BME280] bme280_init() error

    honoju
    Member

    [BME280] bme280_init() error

    Hello,

    I am using a BME280 sensor with STM32L476RG microcontroler.

    I am having trouble with the bme280_init() function.

    In this function, I pass the first null_ptr_check() so dev , dev->read , dev->write and dev->delay_us  are different from NULL.

    But just after that when I enter the bme280_get_regs() function, I don't pass the null_ptr_check() whereas my device structure has not changed.

    I investigated the matter with a debugger and I found out dev->intf_ptr has changed from BME280_SPI_INTF to BME280_I2C_INT, which I don't understand as there was no redefinition of the device structure.

    Could someone help me?

    Thanks

    13 REPLIES 13
    Yanchao
    Community Moderator

    Re: [BME280] bme280_init() error

    Hi,

    Maybe lose some configuration. Please check code any different with our example code in BME280_driver.

    Best regards.

    honoju
    Member

    Re: [BME280] bme280_init() error

    Thanks for the reply.

    Well, I based my code on the driver example from the beginning.

    What I find awkward is that the two null_ptr_check(dev) functions are almost consecutive and that I pass the first null_ptr_check(dev)  but not the second without the device structure redifinition.

    I attach a picture of the bug location : bme280_init() and just above there is the device structure definition similar to the one in the driver example.

    Regards

    Yanchao
    Community Moderator

    Re: [BME280] bme280_init() error

    Hi

    In bme280_init(), the first null_ptr_check(dev) is ok, but the next null_ptr_check() in bme280_get_regs(BME280_CHIP_ID_ADDR, &chip_id, 1, dev)  is failed, and interface change from SPI to I2C?

    It's realy stange, could you please single step print log to confirm the workflow is correct?

    Minhwan
    Community Moderator

    Re: [BME280] bme280_init() error

    Hello honoju, 

     

    Could you give me what is error code for rslt? 

    You can print out with rslt value. 

    And, you can check the error with bme280_defs.h 🙂 

    Thanks, 

    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