NRF52805 ADC BLE APP UART

Hello, I'm working currently on an nrf52805 module and I'm creating a board with it, for now, I managed to do the ble app uart for this module and improve to code a little bit.

My goal, for now, is to create an ADC measurement of voltage, and I'm struggling with this. If someone could help me with this that would be great to give a code that would be good with it or an idea (i'm kinda new with BLE)

So I tried to use the example:    github.com/.../ble_app_uart__saadc_timer_driven__scan_mode

I'm trying to readapt the example to my board and thanks to the datasheet i saw that The nRF52805 only has 10 PPI channels (0-9) and The nRF52805 also only has 3 timers (TIMER0-TIMER2) but when I'm trying to taking off this in the code i get this error after : 

Thank you to everybody for their help. 

  • Thank you for the update.

    Could you share with me your entire sdk_config.h file as well?
    I suspect that you have only enabled the NRFX_TIMER2 instance, while the legacy TIMER instance is still defined - this will make apply_old_config overwrite your NRFX configuration at compile time.

    Best regards,
    Karl

  • Thank you for providing the file.

    Please change to using the nrfx_timer driver directly.
    You will only need to replace the function calls with the same ones in the nrfx driver - if you look at the definitions of the legacy nrf_drv_timer_* calls you will see that they are macro forwarded to the nrfx implementation behind the scenes anyways. You should therefore use these calls directly instead.
    Then, when you are using the nrfx_timer driver you should remove the following legacy definitions entirely from your sdk_config.h file:

    // <e> TIMER_ENABLED - nrf_drv_timer - TIMER periperal driver - legacy layer
    //==========================================================
    #ifndef TIMER_ENABLED
    #define TIMER_ENABLED 1
    #endif
    // <o> TIMER_DEFAULT_CONFIG_FREQUENCY  - Timer frequency if in Timer mode
     
    // <0=> 16 MHz 
    // <1=> 8 MHz 
    // <2=> 4 MHz 
    // <3=> 2 MHz 
    // <4=> 1 MHz 
    // <5=> 500 kHz 
    // <6=> 250 kHz 
    // <7=> 125 kHz 
    // <8=> 62.5 kHz 
    // <9=> 31.25 kHz 
    
    #ifndef TIMER_DEFAULT_CONFIG_FREQUENCY
    #define TIMER_DEFAULT_CONFIG_FREQUENCY 0
    #endif
    
    // <o> TIMER_DEFAULT_CONFIG_MODE  - Timer mode or operation
     
    // <0=> Timer 
    // <1=> Counter 
    
    #ifndef TIMER_DEFAULT_CONFIG_MODE
    #define TIMER_DEFAULT_CONFIG_MODE 0
    #endif
    
    // <o> TIMER_DEFAULT_CONFIG_BIT_WIDTH  - Timer counter bit width
     
    // <0=> 16 bit 
    // <1=> 8 bit 
    // <2=> 24 bit 
    // <3=> 32 bit 
    
    #ifndef TIMER_DEFAULT_CONFIG_BIT_WIDTH
    #define TIMER_DEFAULT_CONFIG_BIT_WIDTH 0
    #endif
    
    // <o> TIMER_DEFAULT_CONFIG_IRQ_PRIORITY  - Interrupt priority
     
    
    // <i> Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice
    // <0=> 0 (highest) 
    // <1=> 1 
    // <2=> 2 
    // <3=> 3 
    // <4=> 4 
    // <5=> 5 
    // <6=> 6 
    // <7=> 7 
    
    #ifndef TIMER_DEFAULT_CONFIG_IRQ_PRIORITY
    #define TIMER_DEFAULT_CONFIG_IRQ_PRIORITY 6
    #endif
    
    // <q> TIMER0_ENABLED  - Enable TIMER0 instance
     
    
    #ifndef TIMER0_ENABLED
    #define TIMER0_ENABLED 0
    #endif
    
    // <q> TIMER1_ENABLED  - Enable TIMER1 instance
     
    
    #ifndef TIMER1_ENABLED
    #define TIMER1_ENABLED 0
    #endif
    
    // <q> TIMER2_ENABLED  - Enable TIMER2 instance
     
    
    #ifndef TIMER2_ENABLED
    #define TIMER2_ENABLED 0
    #endif
    
    // <q> TIMER3_ENABLED  - Enable TIMER3 instance
     
    
    #ifndef TIMER3_ENABLED
    #define TIMER3_ENABLED 1
    #endif
    
    // <q> TIMER4_ENABLED  - Enable TIMER4 instance
     
    
    #ifndef TIMER4_ENABLED
    #define TIMER4_ENABLED 0
    #endif
    
    // </e>


    Instead, you should now use the NRFX_TIMER_* defines to configure your nrfx_timer driver.
    Please make sure to define the NRFX_TIMER_ENABLED to 1, along with the *_ENABLE for the timer instance you will be using.

    Let me know if this resolves your issue! :) 
    Best regards,
    Karl

  • I'm sorry it is hard to understand i'm french... Could you do the work for me? or explain to me easily? thank you so much

Related