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

Grup tanda peristiwa:layanan utilitas dan struktur data


Lihat seri Terungkap RTOS

Artikel ini melanjutkan tampilan grup bendera acara.

Layanan Utilitas Grup Bendera Acara

Nucleus RTOS memiliki tiga panggilan API yang menyediakan fungsi utilitas yang terkait dengan grup flag event:mengembalikan informasi tentang grup, mengembalikan jumlah grup flag event dalam aplikasi dan mengembalikan pointer ke semua grup dalam aplikasi. Dua yang pertama diimplementasikan di Nucleus SE.

Informasi Grup Bendera Acara

Panggilan layanan ini memperoleh pilihan informasi tentang grup bendera peristiwa. Implementasi Nucleus SE berbeda dari Nucleus RTOS dalam hal mengembalikan lebih sedikit informasi, karena penamaan objek dan penangguhan pemesanan tidak didukung dan penangguhan tugas mungkin tidak diaktifkan.

Panggilan Nucleus RTOS API untuk Informasi Grup Acara

Prototipe panggilan layanan:

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

Parameter:

grup – penunjuk ke blok kontrol grup bendera peristiwa yang disediakan pengguna

nama – penunjuk ke area tujuan 8 karakter untuk nama grup bendera acara; ini termasuk ruang untuk terminator nol

event_flags – penunjuk ke variabel, yang akan menerima nilai saat ini dari grup bendera peristiwa yang ditentukan

tugas_menunggu – penunjuk ke variabel yang akan menerima jumlah tugas yang ditangguhkan pada grup bendera acara ini

tugas_pertama – penunjuk ke variabel bertipe NU_TASK yang akan menerima penunjuk ke tugas pertama yang ditangguhkan

Pengembalian:

NU_SUCCESS – panggilan berhasil diselesaikan

NU_INVALID_GROUP – penunjuk grup bendera acara tidak valid

Panggilan API Nucleus SE untuk Informasi Grup Acara

Panggilan API ini mendukung fungsionalitas utama dari Nucleus RTOS API.

Prototipe panggilan layanan:

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

Parameter:

grup – indeks grup bendera acara tentang informasi mana yang diminta

event_flags – penunjuk ke variabel, yang akan menerima nilai saat ini dari grup bendera peristiwa yang ditentukan

tugas_menunggu – penunjuk ke variabel yang akan menerima jumlah tugas yang ditangguhkan pada grup bendera peristiwa ini (tidak ada yang dikembalikan jika penangguhan tugas dinonaktifkan)

tugas_pertama – penunjuk ke variabel bertipe NUSE_TASK yang akan menerima indeks tugas yang ditangguhkan pertama (tidak ada yang dikembalikan jika penangguhan tugas dinonaktifkan)

Pengembalian:

NUSE_SUCCESS – panggilan berhasil diselesaikan

NUSE_INVALID_GROUP – indeks grup bendera acara tidak valid

Inti SE Implementasi Informasi Grup Acara

Implementasi panggilan API ini cukup mudah:

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

Fungsi mengembalikan nilai grup bendera peristiwa. Kemudian, jika pemblokiran panggilan API diaktifkan, jumlah tugas menunggu dan indeks yang pertama akan dikembalikan (jika tidak, kedua parameter ini disetel ke 0).

Mendapatkan Jumlah Grup Bendera Acara

Panggilan layanan ini mengembalikan jumlah grup bendera peristiwa yang dikonfigurasi dalam aplikasi. Sementara di Nucleus RTOS ini akan bervariasi dari waktu ke waktu dan nilai yang dikembalikan akan mewakili jumlah grup saat ini, di Nucleus SE nilai yang dikembalikan diatur pada waktu pembuatan dan tidak dapat diubah.

Panggilan API Nucleus RTOS untuk Jumlah Grup Bendera Acara

Prototipe panggilan layanan:

UNSIGNED NU_Established_Event_Groups(VOID);

Parameter:

Tidak ada

Pengembalian:

Jumlah grup bendera peristiwa yang dibuat saat ini dalam aplikasi

Panggilan Nucleus SE API untuk Jumlah Grup Bendera Acara

Panggilan API ini mendukung fungsionalitas utama dari Nucleus RTOS API.

Prototipe panggilan layanan:

U8 NUSE_Event_Group_Count(void);

Parameter:

Tidak ada

Pengembalian:

Jumlah grup bendera peristiwa yang dikonfigurasi dalam aplikasi

Inti SE Implementasi Jumlah Grup Bendera Acara

Implementasi panggilan API ini hampir sederhana:nilai #define simbol NUSE_EVENT_GROUP_NUMBER dikembalikan.


Tertanam

  1. Pro Dan Kontra Layanan Cloud Versus In House
  2. Token Blockchain dan Layanan Manajemen Data Microsoft Azure
  3. Struktur dan kelas dalam C++
  4. Kotak Surat:pengenalan dan layanan dasar
  5. Semaphores:layanan utilitas dan struktur data
  6. Semaphores:pengenalan dan layanan dasar
  7. Grup bendera acara:pengenalan dan layanan dasar
  8. Antrian:pengenalan dan layanan dasar
  9. Apacer:Kartu CV110-SD dan CV110-MSD diluncurkan di seluruh dunia
  10. OpenHW Group membuat dan mengumumkan keluarga inti sumber terbuka CORE-V