Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Integrado

Grupos de sinalizadores de evento:serviços de utilidade e estruturas de dados


Veja a série RTOS Revelado

Este artigo continua a examinar os grupos de sinalizadores de evento.

Serviços de utilitário do grupo de sinalizadores de evento

O Nucleus RTOS tem três chamadas API que fornecem funções utilitárias associadas a grupos de sinalizadores de evento:retornar informações sobre um grupo, retornar o número de grupos de sinalizadores de evento no aplicativo e retornar ponteiros para todos os grupos no aplicativo. Os dois primeiros são implementados no Nucleus SE.

Informações do Grupo de Sinalizadores de Evento

Esta chamada de serviço obtém uma seleção de informações sobre um grupo de sinalizadores de evento. A implementação do Nucleus SE difere do Nucleus RTOS porque retorna menos informações, pois a nomenclatura de objetos e a ordem de suspensão não são suportadas e a suspensão de tarefas pode não estar ativada.

Chamada de Nucleus RTOS API para informações do grupo de eventos

Protótipo de chamada de serviço:


STATUS NU_Event_Group_Information (NU_EVENT_GROUP * group,
CHAR * name, UNSIGNED * even
t_flags, UNSIGNED * tasks_waiting,
NU_TASK ** first_task);


Parâmetros:

grupo - ponteiro para o bloco de controle do grupo de sinalizadores de evento fornecido pelo usuário

nome - apontador para uma área de destino de 8 caracteres para o nome do grupo de sinalizador de evento; isso inclui espaço para o terminador nulo

event_flags - um ponteiro para uma variável, que receberá o valor atual do grupo de sinalizadores de evento especificado

tasks_waiting - um ponteiro para uma variável que receberá o número de tarefas suspensas neste grupo de sinalizadores de evento

first_task - um ponteiro para uma variável do tipo NU_TASK que receberá um ponteiro para a primeira tarefa suspensa

Retorna:

NU_SUCCESS - a chamada foi completada com sucesso

NU_INVALID_GROUP - o ponteiro do grupo de sinalizadores de evento não é válido

Chamada de API do Nucleus SE para informações do grupo de eventos

Esta chamada de API oferece suporte à funcionalidade principal da API Nucleus RTOS.

Protótipo de chamada de serviço:

STATUS NUSE_Event_Group_Information (grupo NUSE_EVENT_GROUP,
U8 * event_flags, U8 * tasks_waiting, NUSE_TASK * first_task);

Parâmetros:

grupo - o índice do grupo de sinalizadores de evento sobre o qual as informações estão sendo solicitadas

event_flags - um ponteiro para uma variável, que receberá o valor atual do grupo de sinalizadores de evento especificado

tasks_waiting - um ponteiro para uma variável que receberá o número de tarefas suspensas neste grupo de sinalizadores de evento (nada retornado se a suspensão da tarefa for desativada)

first_task - um ponteiro para uma variável do tipo NUSE_TASK que receberá o índice da primeira tarefa suspensa (nada retornado se a suspensão da tarefa for desativada)

Retorna:

NUSE_SUCCESS - a chamada foi completada com sucesso

NUSE_INVALID_GROUP - o índice do grupo de sinalizadores de evento não é válido

Implementação do Núcleo SE de Informações do Grupo de Eventos

A implementação desta chamada de API é bastante direta:
 * event_flags =NUSE_Event_Group_Data [grupo]; #if NUSE_BLOCKING_ENABLE * tasks_waiting =NUSE_Event_Group_Blocking_Count [group]; if (NUSE_Event_Group_Blocking_Count [grupo]! =0) {índice U8; para (índice =0; índice  
A função retorna o valor do grupo de sinalizadores de evento. Então, se o bloqueio de chamadas de API estiver habilitado, o número de tarefas em espera e o índice da primeira são retornados (caso contrário, esses dois parâmetros são definidos como 0).

Obtenção do número de grupos de sinalizadores de evento

Esta chamada de serviço retorna o número de grupos de sinalizadores de evento configurados no aplicativo. Enquanto no Nucleus RTOS isso irá variar com o tempo e o valor retornado representará o número atual de grupos, no Nucleus SE o valor retornado é definido no momento da construção e não pode ser alterado.

Chamada de Nucleus RTOS API para contagem de grupo de sinalizadores de evento

Protótipo de chamada de serviço:

NÃO ASSINADO NU_Established_Event_Groups (VOID);

Parâmetros:

Nenhum

Retorna:

O número atual de grupos de sinalizadores de evento criados no aplicativo

Chamada de API Nucleus SE para contagem de grupo de sinalizadores de evento

Esta chamada de API oferece suporte à funcionalidade principal da API Nucleus RTOS.

Protótipo de chamada de serviço:

U8 NUSE_Event_Group_Count (vazio);

Parâmetros:

Nenhum

Retorna:

O número de grupos de sinalizadores de evento configurados no aplicativo

Implementação do Nucleus SE da contagem do grupo de sinalizadores de evento

A implementação desta chamada de API é quase trivialmente simples:o valor de #define símbolo NUSE_EVENT_GROUP_NUMBER é devolvido.

Integrado

  1. Os prós e contras da nuvem versus serviços internos
  2. Token Blockchain e Serviços de Gerenciamento de Dados do Microsoft Azure
  3. Estruturas e classes em C ++
  4. Caixas de correio:introdução e serviços básicos
  5. Semáforos:serviços utilitários e estruturas de dados
  6. Semáforos:introdução e serviços básicos
  7. Grupos de sinalizadores de evento:introdução e serviços básicos
  8. Filas:introdução e serviços básicos
  9. Apacer:Cartões CV110-SD e CV110-MSD lançados em todo o mundo
  10. Grupo OpenHW criado e anuncia família CORE-V de núcleos de código aberto