Re: lwgpio interrupt restrictions?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Re: lwgpio interrupt restrictions?

471 次查看
Cdn_aye
Senior Contributor I

Hi

I think I am seeing something similar.

I have a status task running that updates a pair of LEDs one of the methods is to Toggle the LED, I can put a breakpoint in the task, it hits it and I can step through and see the LED toggle. There is a _time_delay(1000) in the task. Stepping through I see the LED toggle but running it stays on solid. I haven't figured this one out yet.

I realize this is not exactly the same as Bill's problem, but the behaviour with the Toggle seems to be, Can you offer a suggestion as well please?

Regards

Robert

This is the code

TASK_TEMPLATE_STRUCT    MQX_template_list[] = {

//   Task Index,        Function,               Stack,       Priority,   Name,                  Attributes,          Param,     Time Slice

    {RAPTOR_INIT_TSK,   RaptorInitTsk,          2500,            8,      "raptor_init_tsk",     MQX_AUTO_START_TASK, 0L,        0},

    {RAPTOR_MAIN_TSK,   RaptorMainTsk,          2400,            8,      "raptor_main_tsk",     0,                   0L,        0},

    {SYSTEM_STATUS_TSK, SystemStatusTsk,        1000,           10,      "system_status_tsk",   MQX_AUTO_START_TASK, 0L,        0},

    {EMPL_READ_TSK,     EmplReadTsk,            2400,            8,      "empl_read_tsk",       0,                   0L,        0},

//  {EMPL_DRVTST_TSK,   EmplDrvtstTsk,          1400,           10,      "empl_drvtst_tsk",     MQX_AUTO_START_TASK, 0L,        0},

    { 0,                0,                      0,              0,       0,             0                  }

};

#define     LED_AMBER_TOGGLE            lwgpio_toggle_pin_output(LED_AMBER);

void SystemStatusTsk (uint32    u32_init_data)

{

    while(1){

        if(gu16_SystemStatus == ge_BT_CONN_TRUE ){

            LED_BLUE_ON;

        }else {

        if(gu16_SystemStatus == ge_BT_CONN_FALSE ){

            LED_BLUE_OFF;

        }else {

        if(gu16_SystemStatus == ge_DATA_COLLECT_ON ){           // toggle data to indicate running

            LED_AMBER_TOGGLE;

        }else {

        if(gu16_SystemStatus == ge_DATA_COLLECT_OFF ){

            LED_AMBER_OFF;

        }else {

        if(gu16_SystemStatus == ge_STATUS_CLEAR ){

            LED_BLUE_OFF;

            LED_AMBER_OFF;

        }}}}}

            _time_delay(1000);

    }

}

2 回复数

346 次查看
YixingKong
Senior Contributor IV

Robert

We are sorry for getting back to you so late. Are you still stuck with the issue? If you have somehow resolved the issue, can we close the discussion? If you still need help, please feel free to reply with an update to this discussion.

Also, please provide platform information and tags before you submit any support request.

Thanks,

Yixing

0 项奖励

346 次查看
Martin_
NXP Employee
NXP Employee

Hi Robert,

a quick check here - try to set the priority of SystemStatusTsk to 7 and leave the priorities of your other tasks as they are. Does this make any difference ?