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

button exmaple is not working in SDK version 9.0.0

Hello evryone,

i cloned button example form github to sdk version 9.0.0 and i modified the neccesary changes between app.gpiote.c//nrf_drv_gpiote.c files and set the GPIOTE ENABLED to 0 after that it is getting compiled with no errors but the baord shows nothing if the press any of the button can anyone suggest me what modifications has to be done or any changes?

ble_app_template.zip

Thank you

prabhu

Parents
  • Hi prabhudurai,

    still havent gone through your code, but had a quick look. I saw this below code in your init_gpio() function

    NRF_GPIO->PIN_CNF[6] = (GPIO_PIN_CNF_DRIVE_H0D1 << GPIO_PIN_CNF_DRIVE_Pos);

    This is wrong as you are setting every other bits to '0' and only setting the drive strength. With this the pin will be configured as input. To do this correctly, you need to do this below

    NRF_GPIO->PIN_CNF[6] &= ~(GPIO_PIN_CNF_DRIVE_Msk); // reset drive setting
    NRF_GPIO->PIN_CNF[6] |= (GPIO_PIN_CNF_DRIVE_H0D1 << GPIO_PIN_CNF_DRIVE_Pos); // set to high drive
    

    you need to do this for pin settings 7 also.

  • Hi prabhurai, Sorry, i have edited your code to test.

    you are not testing pin number 7
    app_pwm_channel_duty_set(&PWM1, 0, 10);  // This is for channel 0 means pin number 6
    app_pwm_channel_duty_set(&PWM1, 1, 10);  // This is for channel 0 means pin number 7
    

    Also there is no PWM code in timer_handler(). which means when you press buttons for few seconds only LED is toggled. You need add app_pwm_channel_duty_set for correct pwm channel (ch 0 for pin 6 and ch 1 for pin7) for the channel you want to do

Reply
  • Hi prabhurai, Sorry, i have edited your code to test.

    you are not testing pin number 7
    app_pwm_channel_duty_set(&PWM1, 0, 10);  // This is for channel 0 means pin number 6
    app_pwm_channel_duty_set(&PWM1, 1, 10);  // This is for channel 0 means pin number 7
    

    Also there is no PWM code in timer_handler(). which means when you press buttons for few seconds only LED is toggled. You need add app_pwm_channel_duty_set for correct pwm channel (ch 0 for pin 6 and ch 1 for pin7) for the channel you want to do

Children
No Data
Related