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

how to make nrf51822 central to transmit the status of a pin ?

I have: nrf51822 bluetooth module, STlink V2, Keil, segger studio, nrf51 sdk and softdevice files.

I have achieved making the led blink at a ble peripheral device by nordic connect app via this link https://www.youtube.com/watch?v=_-d2d6Vc3lg&list=WL&index=96.

I want to make a ble master from which I can connect to the peripheral  and send the status of a button to the peripheral. (Its like when I poweron, the master search for the peripheral and connects to it and send the status of one of its pin).

Can you please guide me how to do that.

Parents Reply Children
  • Thanks a lot. I just read it. It seems this is the one I am looking for and will experiment this and let you know. 

    Two more things I'd like to know

    a) I am using nrf51822 softdevice and it seems in the SDK12, the project is by default for nrf51422. So just by changing target option device to nrf51822AA will be sufficient or do I need to change things in memory addresses.

    b) instead of J-link, if I use ST linkV2 will that be ok ??

    I started off with a youtube video and it did with arduino library for peripheral and ST link so I purchased those only.  But I didn't find any tutorial on how to make a ble central (so something like bluetooth remote.) It seems everyone is busy in making peripheral and controlling with phone.

    I'll run this and will update by tomorrow.

    Regards,

  • a) You don't necessarily have to change the device type, but both nrf51422 and nrf51822 come in different memory variants, so make sure the memory layout in your project matches the amount of RAM and FLASH  available on your chip (nRF51822 IC revisions and variants).

    The SDK examples are configured for the nRF51x22_xxAC variant, which has 256KB of flash and 32K of RAM.

    b) I don't have any experience with ST linkV2 as J-link is what we officially support and recommend for development. However, you can find many threads here on the forum for programming with ST linkv2, so it seems like it should work.

    Also, please note that our nRF51 series is not recommended for new designs. If you are starting a new project, I would rather recommend you get one of the nRF52 dev kits (https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52-DK ). It has a on-board J-link debugger that you also can use to program nordic modules with (Debug output).

  • I tried the example shown but there is a problem it seems. When I am loading the softdevice and under the target there is some address for ROM and RAM. and when I am loading the blinky code the addressess remains same. Do I need to change them or it will take automatically.

  • Hi,

    You should keep the default ROM and RAM settings. The softdevice is distributed as precompiled and linked binary, and thus not affected by the linker settings used in your project.

  • thank you.

    Load "..\\..\\..\\..\\..\\..\\components\\softdevice\\s130\\hex\\s130_nrf51_2.0.1_softdevice.hex"
    Internal command error
    Error: Flash Download failed  -  Target DLL has been cancelled
    Flash Load finished at 20:07:36

    I am able to load the hex file without softdevice. But not able to load the softdevice.hex.

    I tried saving the softdevice.hex  (which I downloaded separately) in the particular folder (read somewhere that it is bec sometimes the hex files becomes windows script file). I tried the settings in the  target.. but still can't resolve it.

    Also the same error if I try Erase under Flash tab.

Related