This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2541 does not become discoverable

Other Parts Discussed in Thread: CC2541

Hi!

I'm using cc2541 in my prototype, but it is not discoverable. I tried to flash few examples from BLE-CC254x-1.4.0 folder but no success, I can't see it from another device.(IAR compiling and flashing passed without warning and errors ) .

  • Which examples are you flashing?

    Most of our examples require a button press in order to begin advertising. They are meant to run with the sensor tag hardware or mini dk. If you aren't handling this button functionality in SW or HW on your prototype this is mostly likely the cause for not seeing adv packets.

    -Matt

  • Thank You for a fast reply. I flashed below examples:
    SimpleBLEPeripheral
    SimpleBLEObserver
    SimpleBLEBroadcaster
    Thermometer
    RunningSensor
    GlucoseSensor
    BloodPressure
    Also I added 2 buttons to P1.2 and to P1.3 both buttons are normally pulled up to 3V3. When I turned power on I pushed buttons(both, only one) and still no result. Sorry I forgot to mention that I'm using PAN1721(cc2541) module. Maybe I should to set additional settings in IAR? I can send schematics if it can help. 

  • To be honest I've never actually played around with the module but I can maybe give you a couple directions to go in.

    Most of the projects are written around the sensortag HW or MINIDK (keyfob) HW. For both of these boards the push buttons used in the SW are not P1.2 or P1.3 (P0.0 P0.1 for MINIDK and P0.0, P1.6, P1.7 for the sensor tag). So you may not be generating the correct input to start advertising. You will need to adjust which input pins are being checked in handlekeys().

    What you could do to just test this is to enable advertising without requiring a button push. I think you could just put an adv enable call when peripheralStateNotificationCB() is called when state changes to GRAPROLE_STARTED (I'm looking at simplebleperiphal but this is probably similar to other projects).

    Another thing I would do would be to disable sleep. Go to your preprocessor defines (options->C/C++ compiler->preprocessor) and remove POWER_SAVING. The module includes a 32kHz crystal so if that isn't working properly it can cause a lot of issues with the operation of the device. This way we can just cross that out as a possible problem.

    -Matt