markb Inserito: 1 febbraio 2005 Segnala Inserito: 1 febbraio 2005 Ciao a tutti,sono un neofita del mondo embedded. Ho cominciato a lavorare da poco con l'ambiente dynamic C di zworld.Da poco ho acquistato anche il modulo addizionale ucosII, in quanto l'applicazione che sviluppo necessita di semafori, timers, etc.Non riesco a compilare nemmeno l'lesempio:((((!!!!L'esempio (preso direttamente dalla documentazione di dynamic c) lo riporto di seguito://**********************************************************// 1. Explicitly use uC/OS-II library#use "ucos2.lib"void RandomNumberTask(void *pdata);// 2. Declare semaphore global so all tasks have accessOS_EVENT* RandomSem;void main(){ int i; // 3. Initialize OS internals OSInit(); for(i = 0; i < OS_MAX_TASKS; i++) // 4. Create each of the system tasks// OSTaskCreate(RandomNumberTask, NULL, 512, i); // 5. semaphore to control access to random number generator RandomSem = OSSemCreate(1); // 6. Begin multitasking OSStart();}void RandomNumberTask(void *pdata){// 7. Declare as auto to ensure reentrancy.auto OS_TCB data;auto INT8U err;auto INT16U RNum; OSTaskQuery(OS_PRIO_SELF, &data); while(1) { // Rand is not reentrant, so access must be controlled via a semaphore. OSSemPend(RandomSem, 0, &err); RNum = (int)(rand() * 100); OSSemPost(RandomSem); printf("Task%d's random #: %d\n",data.OSTCBPrio,RNum); // Wait 3 seconds in order to view output from each task. OSTimeDlySec(3); }}//**********************************************************Quando compilo ottengo sempre l'errore:Undefined but used dkSetReturnAddress.Devo settare qualcosa di particolare per utilizzare la libreria ucos2.lib???E se si dove???Grazie 1000Mark
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora