Hi there, Iam trying to get familiarized with the RTX51 Tiny RTOS. I am trying the below example but iam getting the following error after compilation MYTASK.C(7): error C129: missing ';' before '{' Am i missing something ? Please give me your suggestions......
#include<rtx51tny.h> int counter0; int counter1; job0 _task_ 0{ os_create_task(1); while(1){ counter0++; } } job1 _task_ 1{ while(1){ counter1 ++; } }
There is a space between "counter1 ++;"
iam getting the following error after compilation MYTASK.C(7): error C129: missing ';' before '{'
The first thing to do is to consider where, exactly, the compiler is reporting this error!
Are job0 and job1 supposed to be functions...?
Look more carefully at the syntax as shown in the Manual:
http://www.keil.com/support/man/docs/tr51/tr51_taskdef.htm
Job0 and Job1 are the 2 tasks. I have made some syntactical changes to the program by refering to the link that you suggested but Iam getting Fatal error L210. The code banking option is not selected.
#include <rtx51tny.h> int counter0; int counter1; void job0(void) _task_ 0 { os_create_task(1); while(1){ counter0++; } } void job1(void) _task_ 1{ while(1){ counter1++; } }
Build target 'Target 1' compiling mytask.c... linking... BL51 BANKED LINKER/LOCATER V5.03 - SN: C1U6P-S6563E COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2002 "mytask.obj" TO "myRTX" Rtx51 *** FATAL ERROR L210: I/O ERROR ON INPUT FILE: EXCEPTION 0021H: PATH OR FILE NOT FOUND FILE: C:\KEILUVISION2\C51\LIB\RTX51.LIB Target not created
Sorry, my mistake. I have selected RTX Full instead of RTX Tiny in the Project Settings. It's working fine now. Thanks Andy.
That is irrelevant. C cares very, very little about whitespace characters, and this is not one of the cases where it does.
c++;
c ++;
and
are identical, as far as the compiler is concerned.