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

nrf52840 I2S打开读取数据,会占用全部资源 When nrf52840 I2S is opened to read data, it will occupy all resources

When I2S reads the digital audio sensor, when strat is turned on_ After I2S, the data can be read and recognized normally, but this action takes up the whole CPU occupancy rate, and other functions such as broadcast buttons can't work. I don't know what's going on for a long time, so I ask the gods to answer

Parents Reply Children
  • Hi,

     

    Could it be that NRF_LOG is enabled and blocking execution at your end?

    Please try setting NRF_LOG_ENABLED to '0' in your sdk_config.h and see if this has an impact on the execution time.

     

    Kind regards,

    Håkon

  • Hi Håkon and xingye,

      I have same issue with reading the data from the i2s read.

    I want to know how to read the i2s line

    In the i2s_data_handler

    p_released->p_rx_buffer; where data will arrive right?

    what will be the size of this pointer and how do i store this pointer value to the int16_t PCM[67200]; array

    I am trying to do store the i2s data and then sending the stored data into i2s line

  • I also encountered the same problem when using nRF52840. However, I didn't read the i2s data but only sent the i2s data. When I enabled the transmission during the Bluetooth connection stage, it caused the Bluetooth connection to disconnect, and then it would disconnect again after the connection was established. The reason for the disconnection was 0x08. When I set the broadcast interval to 40ms, it also affected the i2s transmission. It seems that i2s and Bluetooth are competing for resources. Have you solved your problem? If you can help me, I would be very grateful.

Related