Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Tertanam

Menguasai Grup Flag Event: Layanan Utilitas & Struktur Data di Nucleus RTOS/SE

Menguasai Grup Flag Event: Layanan Utilitas & Struktur Data di Nucleus RTOS/SE
Lihat seri RTOS Revealed

Artikel ini melanjutkan tinjauan mengenai grup flag event.

Layanan Utilitas Grup Flag Event

Nucleus RTOS menyediakan tiga panggilan API khusus yang menyederhanakan interaksi dengan grup flag event: mengambil informasi detail grup, memperoleh jumlah total grup, dan mengakses pointer ke semua grup dalam aplikasi. Dua fungsi pertama sepenuhnya didukung di Nucleus SE.

Informasi Grup Flag Event

Panggilan layanan ini menyediakan data kunci tentang grup flag event yang ditentukan. Di Nucleus SE, antarmuka disederhanakan – penamaan objek dan urutan penangguhan dihilangkan, dan informasi penangguhan tugas hanya dikembalikan ketika fitur diaktifkan.

Panggilan API Nucleus RTOS untuk Informasi Grup Event

Prototipe panggilan layanan:

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

Parameter:

group – pointer ke blok kontrol grup flag event yang disediakan pengguna

name – buffer 8 karakter untuk nama grup (termasuk null terminator)

event_flags – pointer ke variabel yang akan menerima nilai flag saat ini

tasks_waiting – pointer ke variabel yang akan menerima jumlah tugas yang tertangguhan pada grup ini

first_task – pointer ke variabel NU_TASK yang akan menerima pointer ke tugas tertangguhan pertama

Mengembalikan:

NU_SUCCESS – panggilan selesai berhasil

NU_INVALID_GROUP – pointer grup yang disediakan tidak valid

Panggilan API Nucleus SE untuk Informasi Grup Event

API ini menyediakan fungsionalitas inti yang sama dengan serikat RTOS-nya.

Prototipe panggilan layanan:

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

Parameter:

group – indeks grup flag event

event_flags – pointer untuk menerima nilai flag saat ini

tasks_waiting – pointer untuk menerima jumlah tugas tertangguhan (0 jika penangguhan tugas dinonaktifkan)

first_task – pointer untuk menerima indeks tugas tertangguhan pertama (0 jika penangguhan tugas dinonaktifkan)

Mengembalikan:

NUSE_SUCCESS – panggilan selesai berhasil

NUSE_INVALID_GROUP – indeks grup tidak valid

Implementasi Nucleus SE untuk Informasi Grup Event

Implementasinya sederhana: nilai flag saat ini dibaca, dan jika API pemblokiran diaktifkan, jumlah tugas menunggu dan indeks tugas pertama dihitung; jika tidak, keduanya diatur ke 0.

*event_flags = NUSE_Event_Group_Data[group];#if NUSE_BLOCKING_ENABLE *tasks_waiting = NUSE_Event_Group_Blocking_Count[group]; if (NUSE_Event_Group_Blocking_Count[group] != 0) { U8 index; for (index=0; index 

Memperoleh Jumlah Grup Flag Event

Di Nucleus RTOS, jumlah grup dapat berubah secara dinamis; panggilan mengembalikan jumlah saat ini. Di Nucleus SE, jumlah tetap pada waktu build.

Panggilan API Nucleus RTOS untuk Jumlah Grup Flag Event

Prototipe panggilan layanan:

UNSIGNED NU_Established_Event_Groups(VOID);

Mengembalikan:

Jumlah saat ini grup flag event yang dibuat dalam aplikasi

Panggilan API Nucleus SE untuk Jumlah Grup Flag Event

Prototipe panggilan layanan:

U8 NUSE_Event_Group_Count(void);

Mengembalikan:

Jumlah grup flag event yang dikonfigurasi dalam aplikasi

Implementasi Nucleus SE untuk Jumlah Grup Flag Event

Fungsi ini hanya mengembalikan nilai konstanta waktu kompilasi NUSE_EVENT_GROUP_NUMBER.


Tertanam

  1. Cloud versus Server Internal: Memilih Solusi Hosting yang Tepat
  2. Microsoft Azure Resmi Luncurkan Layanan Tokenisasi Blockchain & Manajemen Data
  3. Struktur vs Kelas C++: Panduan Praktis untuk Pengembang Terintegrasi
  4. Kotak Surat dalam Nucleus SE: Panduan Praktis Konfigurasi dan Penggunaan
  5. Semafor dalam Nucleus RTOS: Layanan Utilitas & Struktur Data
  6. Semafor dalam Nucleus SE: Ringkasan, Konfigurasi, dan Esensial API
  7. Grup Flag Event di Nucleus SE: Panduan Pengantar untuk Konfigurasi dan Penggunaan API
  8. Antrian di Nucleus SE: Pengantar dan Panggilan Layanan Inti
  9. Apacer Meluncurkan Kartu Flash CV110-SD & CV110-MSD Berkinerja Tinggi Global
  10. OpenHW Group Meluncurkan Keluarga Processor Core CORE-V Open-Source