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.

[参考译文] 编译器/CC1350:事件实现

Guru**** 2572185 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/834759/compiler-cc1350-events-implementation

器件型号:CC1350

工具/软件:TI C/C++编译器

您好!

我尝试在 ti RTOS 中使用事件、但它在 Event_pend 函数中得到结构'

这是我的代码  

#define TASKSTACKSIZE 768

#define EVENT1 0x01
#define EVENT2 0x02


Task_Structtask0Struct;
char task0stack[TASKSTACKSIZE];

EVENT_Handle 事件;
Event_StructEvent;

uint32_t cnt;

void taskFxn (UArg0、UArgarg1){
uint32_t 时间= 10;
UINT 事件;
EVENT_PARAMS 事件参数;

EVENT_PARAMS_INIT (&eventParams);
Event_construct(&struct Event,&eventParams);
Event = Event_Handle (&struct Event);

while (1)

CNT++;
if (cnt = 50)

EVENT_POST (EVENT2、EVENT2);

if (cnt = 100)

EVENT_POST (EVENT1);
CNT = 0;


事件= Event_pend (event、Event_ID_none、EVENT2 | EVENT1、BIOS_WAIT_FOREVE);

if (事件和 EVENT1)

GPIO_WRITE (Board_GPIO_LED0、Board_GPIO_LED_ON);
睡眠(时间);
GPIO_WRITE (Board_GPIO_LED0、Board_GPIO_LED_OFF);

if (事件和 EVENT2)

GPIO_WRITE (Board_GPIO_LED1、Board_GPIO_LED_ON);
睡眠(时间);
GPIO_WRITE (Board_GPIO_LED1、Board_GPIO_LED_OFF);

/*
*==== mainThread ====
*
void * mainThread (void * arg0)

Task_Params taskParams;
/* 1秒延迟*/
uint32_t 时间= 1;

/*调用驱动程序初始化函数*/
GPIO_init();
Task_Params_init (&taskParams);
taskParams.priority = 1;
taskParams.STACKSIZE = TASKSTACKSIZE;
taskParams.stack =_task0Stack;
Task_construct(&task0Struct, taskFxn,&taskParams, NULL);


/*配置 LED 引脚*/
GPIO_setConfig (Board_GPIO_LED0、GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);

/*打开用户 LED */
// GPIO_write (Board_GPIO_LED0、Board_GPIO_LED_ON);

while (1){
睡眠(时间);
GPIO_TOGGLE (Board_GPIO_LED0);


任何提示为何在 Task_restore (tskKey)的 Event_pend 函数中进行结构化的提示;

谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    如果您在不使用"SyntaxHighlighter"的情况下发布代码、则很难读取代码。 将来 在发布代码  时,请使用“SyntaxHighlighter”。

    [引用 USER="SAMU"]事件= Event_pend (事件、Event_ID_none、EVENT2 | EVENT1、BIOS_WAIT_FOREVE);[/QUERPLET]

    只有在发布事件时(由于参数 BIOS_WAIT_FOREVE、它会等待调用 Event_post)、此行才会返回。 问题是同一任务中存在开机自检代码。 因此永远不会调用 Event_post API、因此 Event_pend 将始终等待。

    谢谢、

    SAI