OSTaskCreateExt () 작업 생 성
2008-05-25 22:25
NT8U OSTaskCreateExt (void (*task)(void *pd),
void *pdata,
OS_STK *ptos,
INT8U prio,
INT16U id,
OS_STK *pbos,
INT32U stk_size,
void *pext,
INT16U opt)
소속 파일: OSTASK. C 호출 자: 작업 이나 시작 코드 이지 만 인 터 럽 트 에서 호출 할 수 없습니다.
이 함수 가 새 파일 을 만 듭 니 다. OSTaskCreate () 의 업그레이드 버 전 입 니 다.
인자:
task 가 작업 코드 를 가리 키 는 지침 입 니 다.
pdata 는 선택 할 수 있 는 데이터 영역 을 가리 키 며 (void *) 0 일 때 가 많 습 니 다.
ptos 작업 창고 지붕 을 가리 키 는 지침 입 니 다.작업 스 택 은 부분 변수, 함수 파라미터, 반환 주소 및 중단 시 cpu 레지스터 의 상 태 를 저장 하 는 데 사 용 됩 니 다.상수 OS 를 초기 화하 면STK_GROWTH 는 1 (os cpu. h 에서 정의) 로 설정 하고 스 택 을 Stack grows from HIGH to LOW memory on ARM 으로 설정 합 니 다. 이때 ptos 는 작업 스 택 공간의 최고 주 소 를 가 리 켜 야 합 니 다.
prio 퀘 스 트 의 우선 순위.숫자 가 작 을 수록 우선 순위 가 높다.
id 작업 의 표 지 는 같은 우선 순 위 를 설정 할 수 있 습 니 다.
pbos 는 창고 하단 의 지침 을 가리킨다.
stk_size 작업 스 택 의 크기 를 지정 합 니 다.
pext 가 데이터 구 조 를 정의 하 는 지침 은 (void *) 0 일 때 가 많 습 니 다.
opt 작업 과 관련 된 작업 정 보 를 저장 합 니 다.OSTASK_OPT_CHK 는 작업 스 택 검사 등 을 허용 합 니 다.uCOS 참조 가능H.H
범례: 이 예 에서 만 든 임 무 는 스 택 에서 높 은 주소 로 증가 하 는 프로세서 에서 실 행 됩 니 다. 예 를 들 어 MCS - 51, 이때 OSSTK_GROWTH 를 0 으로 설정 합 니 다.이 예 에서 스 택 검사 작업 을 허용 합 니 다. 프로그램 은 OSTaskstkChk () 함 수 를 호출 할 수 있 습 니 다.
OS_STK *TaskStk[1024];
void main(void)
{
INT8U err;
OSInit(); /* ucos*/
err = OSTaskCreateExt(Task,
(void *) 0,
&TaskStk[0], /* */
10,
10,
&TaskStk[1023],
1024,
(void *) 0,
OS_TASK_OPT_CHK;)/* */
OSStart();
}
void Task(void *pdata)
{
pdata = pdata;
for(;;){
…… /* */
}
}
스 택 의 증가 와 감소 문 제 는 코드 의 이식 성에 영향 을 줄 수 있 습 니 다. 이렇게 써 서 서로 다른 프로세서 에 적응 할 수 있 습 니 다.
OS_STK *TaskStack[TASK_STACK_SIZE];
#if OS_STK_GROWTH == 0
OSTaskCreate(task,pdata,&TaskStack[0],prio);
#else
OSTaskCreate(task,pdata,&TaskStack[TASK_STACK_SIZE-1],prio);
#endif
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.