Skip to content

Nordic us ticker - 2 ticker objects results in crash #539

@0xc0170

Description

@0xc0170

Reported a month ago, and again yesterday. It hangs if used more than one ticker object.

The code snippet provided by Wim H.

#include "mbed.h"
 
//Ticker test
 
DigitalOut heartbeatLED(P0_28);
 
DigitalOut buz(P0_29);
 
DigitalOut led0_7(P0_7);
DigitalOut led0_8(P0_8);
DigitalOut led0_9(P0_9);
DigitalOut led0_10(P0_10);
DigitalOut led0_11(P0_11);
DigitalOut led0_12(P0_12);
DigitalOut led0_13(P0_13);
DigitalOut led0_14(P0_14);
DigitalOut led0_15(P0_15);
DigitalOut led0_16(P0_16);
 
Ticker t1;
void tick1() {
  led0_7 = !led0_7;
}
 
Ticker t2;
void tick2() {
  led0_8 = !led0_8;
}
 
 
Ticker t3;
void tick3() {
  led0_9 = !led0_9;
}
 
int main(void)
{ 
   t1.attach(&tick1, 0.1);   // Ok
   t2.attach(&tick2, 0.5);   // Sofar so good..
 
   //t3.attach(&tick3, 0.9); // Adding this ticker will result in crash
   //t3.attach(&tick3, 2.5); // Adding this ticker will also result in crash after about 2.5s
   t3.attach(&tick3, 5.0); // Adding this ticker will also result in crash after about 5s
         
  while (1) {
    led0_16=1;
    wait(0.1);
    led0_16=0; 
    wait(0.4);          
  }
}

A report by Wim http://developer.mbed.org/questions/4827/Ticker-problem-when-using-more-than-2-Ti/?c=13545

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions