This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

例程不能正常使用问题

SDK  nRF5_SDK_15.0.0_a53641a

例程  nRF5_SDK_15.0.0_a53641a\examples\peripheral\twi_sensor

没有修改任何内容,编译烧录到nordic开发板后,

执行到 main函数中 LM75B_set_mode()函数,出现阻塞,没有正常往下执行。阻塞的表达式为 while (m_xfer_done == false);

pics:

是因为SDK的原因吗?

Parents Reply Children
  • SDK : nRF5_SDK_15.0.0_a53641a

    examples: nRF5_SDK_15.0.0_a53641a\examples\peripheral\twi_sensor

    I didn't change anything. After build and download to the Nordic development board,

    The  LM75B_set_mode()  function in the main function is blocked and not executed normally. The blocking expression is while (m_xfer_done == false);

    After I used the SDK: nRF5_SDK_15.2.0_9412b96 , also appeared the above situation

    Please help to answer it, thank you

  • Hi,

    The blocking expression while (m_xfer_done == false); is waiting for an acknowledgement of the transfer from the slave, as specified in the I2C protocol. Usually this issue occurs due to the sensor not being connected properly.

    I would also like to point out that the DK does not contain a LM75B temperature sensor on board. It must be connected externally. The twi_sensor example from the SDK is provided to demonstrate how communication with an arbitrary TWI slave can be implemented.
     
    Could you provide me with the following details: Which specific development kit are you using?
    How have you connected the LM75B sensor to your DK, which pins have you used?

    Best regards,
    Karl

  • Hi,

    I'm using the PCA10040 V1.2.1 development board. I thought there is have a LM75B temperature sensor on the pca10040 V1.2.1 board.

  • Hi,

    I understand. Unfortunately I have to disappoint you - there is no LM75B sensor onboard the nRF52832 DK.
    Could you provide me with a reference to the documentation or resource that gave you the impression that there were?
    That way I can assure that there are no misleading or inaccurate resources out there, to avoid confusion in the future.

    Best regards,
    Karl

  • Sorry, It's my subjective guess.
    When I used the TWI peripheral  to debug my board that had temperature sensor.
    First, I transplanted the nrf_drv_twi_tx function of the twi routine,modified the address of the sensor  and the address of the writable register, and configured the sdk_config.h of ble_app_uart routine according to the sdk_config.h of the twi_sensor routine. 
    Then, I used the  oscilloscope to collect SCL clock line wareform, found there is no high and low level conversion.
Related