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

  • Hello Aryan,

    I have uploaded my program in the main post please have a look and i am trying to create the function like this press the button for three seconds then only the buzzer has to beep for three seconds and also i ahve configured the gpio pin6, pin 7 in high drive mode inorder to increase the loudness of the buzzer please suggest me how to interface the buzzer and button it would be useful for me Thank you

  • 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.

  • Thanks ARYAN for your kind reply i have modified the gpio configuration based on your suggestion both the gpio pin 6 and pin 7 are output pins which are connected to the buzzer terminal and i ahve connected individually buzzer to pin 6 and 7 inorder to test only pin6 making the buzzer beep but the pin 7 does not make the buzzer beep but it is showing voltage across th pin is 2.9V i dont understand why this issue arising

  • have you changed this for pin 7 also?

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

    I tested your code on my desk and it works fine on both pin 6 and pin 7.

  • really i have connected the buzzer sperately for both pins but only one pin is making beep sound that too it is not loud enough and also i have one question does the buzzer make beep sound after pressing the button ? because am trying to make that function like that and also pin 6 ,pin7 collectively provides 5mA current because am not gettign that function working properly

Related