임베디드
RTOS 공개 시리즈 보기
이 문서에서는 이벤트 플래그 그룹을 계속 살펴봅니다.
이벤트 플래그 그룹 유틸리티 서비스
Nucleus RTOS에는 이벤트 플래그 그룹과 관련된 유틸리티 기능을 제공하는 세 가지 API 호출이 있습니다. 그룹에 대한 정보 반환, 애플리케이션의 이벤트 플래그 그룹 수 반환, 애플리케이션의 모든 그룹에 대한 포인터 반환. 이 중 처음 두 가지는 Nucleus SE에서 구현됩니다.
이벤트 플래그 그룹 정보
이 서비스 호출은 이벤트 플래그 그룹에 대한 정보 선택을 얻습니다. Nucleus SE 구현은 개체 이름 지정 및 일시 중단 순서가 지원되지 않고 작업 일시 중단이 활성화되지 않을 수 있으므로 더 적은 정보를 반환한다는 점에서 Nucleus RTOS와 다릅니다.
이벤트 그룹 정보에 대한 Nucleus RTOS API 호출
서비스 요청 프로토타입:
<블록 인용>
STATUS NU_Event_Group_Information(NU_EVENT_GROUP *그룹,
CHAR *이름, UNSIGNED *짝수 t_flags, UNSIGNED *tasks_waiting,
NU_TASK **first_task),
매개변수:
<블록 인용>그룹 – 사용자 제공 이벤트 플래그 그룹 제어 블록에 대한 포인터
이름 – 이벤트 플래그 그룹의 이름에 대한 8자 대상 영역에 대한 포인터 여기에는 null 종결자를 위한 공간이 포함됩니다.
event_flags – 지정된 이벤트 플래그 그룹의 현재 값을 수신할 변수에 대한 포인터
tasks_waiting – 이 이벤트 플래그 그룹에서 일시 중단된 작업의 수를 수신할 변수에 대한 포인터
첫 번째 작업 – NU_TASK 유형의 변수에 대한 포인터 첫 번째 일시 중단된 작업에 대한 포인터를 받습니다.
반품:
<블록 인용>NU_SUCCESS – 통화가 성공적으로 완료되었습니다.
NU_INVALID_GROUP – 이벤트 플래그 그룹 포인터가 유효하지 않습니다.
이벤트 그룹 정보에 대한 Nucleus SE API 호출
이 API 호출은 Nucleus RTOS API의 주요 기능을 지원합니다.
서비스 요청 프로토타입:
<블록 인용>
STATUS NUSE_Event_Group_Information(NUSE_EVENT_GROUP 그룹,
U8 *event_flags, U8 *tasks_waiting, NUSE_TASK *first_task),
매개변수:
<블록 인용>그룹 – 정보가 요청되는 이벤트 플래그 그룹의 인덱스
event_flags – 지정된 이벤트 플래그 그룹의 현재 값을 수신할 변수에 대한 포인터
tasks_waiting – 이 이벤트 플래그 그룹에서 일시 중단된 작업 수를 수신할 변수에 대한 포인터(작업 일시 중단이 비활성화된 경우 아무 것도 반환되지 않음)
첫 번째 작업 – NUSE_TASK 유형의 변수에 대한 포인터 첫 번째 일시 중단된 작업의 인덱스를 수신합니다(작업 일시 중단이 비활성화된 경우 아무 것도 반환되지 않음)
반품:
<블록 인용>NUSE_SUCCESS – 통화가 성공적으로 완료되었습니다.
NUSE_INVALID_GROUP – 이벤트 플래그 그룹 인덱스가 유효하지 않습니다.
Nucleus SE의 이벤트 그룹 정보 구현
이 API 호출의 구현은 매우 간단합니다.
<사전>*event_flags =NUSE_Event_Group_Data[그룹]; #if NUSE_BLOCKING_ENABLE *tasks_waiting =NUSE_Event_Group_Blocking_Count[그룹]; if (NUSE_Event_Group_Blocking_Count[그룹] !=0) { U8 인덱스; for (index=0; index함수는 이벤트 플래그 그룹의 값을 반환합니다. 그런 다음 차단 API 호출이 활성화되면 대기 중인 작업의 수와 첫 번째 작업의 인덱스가 반환됩니다(그렇지 않으면 이 두 매개변수가 0으로 설정됨).
이벤트 플래그 그룹 수 얻기
이 서비스 호출은 애플리케이션에 구성된 이벤트 플래그 그룹의 수를 반환합니다. Nucleus RTOS에서는 시간이 지남에 따라 달라지며 반환된 값은 현재 그룹 수를 나타내지만 Nucleus SE에서는 반환된 값이 빌드 시 설정되며 변경할 수 없습니다.
이벤트 플래그 그룹 수에 대한 Nucleus RTOS API 호출
서비스 요청 프로토타입:
<블록 인용>미등록 NU_Established_Event_Groups(VOID),
매개변수:
<블록 인용>없음
반품:
<블록 인용>애플리케이션에서 생성된 이벤트 플래그 그룹의 현재 수
이벤트 플래그 그룹 수에 대한 Nucleus SE API 호출
이 API 호출은 Nucleus RTOS API의 주요 기능을 지원합니다.
서비스 요청 프로토타입:
<블록 인용>U8 NUSE_Event_Group_Count(무효);
매개변수:
<블록 인용>없음
반품:
<블록 인용>애플리케이션에 구성된 이벤트 플래그 그룹의 수
Nucleus SE의 이벤트 플래그 그룹 수 구현
이 API 호출의 구현은 거의 간단합니다. #define 기호 NUSE_EVENT_GROUP_NUMBER 반환됩니다.
임베디드
구조를 소개한 후 이 강력한 데이터 개체의 몇 가지 중요한 응용 프로그램을 살펴보겠습니다. 그런 다음 C 언어 구문을 조사하여 구조를 선언합니다. 마지막으로 데이터 정렬 요구 사항을 간략하게 소개합니다. 단순히 멤버의 순서를 재배열하여 구조체의 크기를 줄일 수 있음을 알 수 있습니다. 이 기사는 임베디드 C 프로그래밍의 구조에 대한 몇 가지 기본 정보를 제공합니다. 구조를 소개한 후 이 강력한 데이터 개체의 몇 가지 중요한 응용 프로그램을 살펴보겠습니다. 그런 다음 C 언어 구문을 조사하여 구조를 선언합니다. 마지막으로 데이터
30년 이상 동안 Camcode의 내구성 있는 자산 레이블 솔루션을 신뢰하여 자산을 식별, 추적 및 제어할 수 있습니다. 오늘날 Camcode는 검증된 AIDC(자동 식별 및 데이터 캡처) 프로세스와 내구성 있는 자산 레이블 및 태그를 사용하여 자산을 완전히 제어하고 시스템 내에서 책임을 높이는 데도 도움이 됩니다. Camcode의 프로젝트 관리 팀은 자산에 대한 확신을 얻는 데 도움이 되는 맞춤형 서비스 및 프로세스 기반 방법을 개발하기 위해 귀하와 협력합니다. 데이터. 높은 수준의 정책 구현에서 자산 레이블 설치 및 자산 데이터