2015-11-10 10 views

Antwort

3

dieser Einsatz in der contiki platform.c und main():

struct process *p; 
uint8_t ps; 
int n; 

int 
main(void) /*contiki main() here */ 
{ 
n=0; 

while(1) 
{ 
//... 
//... 
/*************************************************************/ 
if(n==100) 
{ 
uint8_t ps=process_nevents(); 
     PRINTF("there are %u events in the queue", ps); 
     PRINTF("\n\n"); 
PRINTF("Processes:"); 
for(p = PROCESS_LIST(); p != NULL; p = p->next) 
{ 
char namebuf[30]; 
strncpy(namebuf, PROCESS_NAME_STRING(p), sizeof(namebuf)); 
PRINTF("%s", namebuf); 
PRINTF("\n\n"); 
n=0; 
} 
} 
n +=1; 
/*********************************************************************/ 
//... 
//... 
} 
return 0; 
} 

dieser Wille Ausgang jeder 100. Iteration der Hauptschleife die laufenden Prozesse

wenn Sie UART verwenden als Port Debuggen Sie haben die Ausgabe von printf() an den richtigen Anschluss durch das heißt auf ATmega128RFA1

/* Second rs232 port for debugging or slip alternative */ 
    rs232_init(RS232_PORT_1, USART_BAUD_9600,USART_PARITY_NONE | 
    USART_STOP_BITS_1 | USART_DATA_BITS_8); 
    /* Redirect stdout */ 

/* #if RF230BB_CONF_LEDONPORTE1 || defined(RAVEN_LCD_INTERFACE) */ 
    rs232_redirect_stdout(RS232_PORT_1); 

die contik zu umleiten Der Shell-Quellcode enthält sehr nützliche Befehle, die leicht zum Debuggen verwendet werden können, ohne die gesamte Shell zu verwenden, siehe http://anrg.usc.edu/contiki/index.php/Contiki_Shell

Verwandte Themen