2015-11-10 17 views

答えて

3

コンチキのplatform.cと)(メインでこれを挿入します。あなたが持っているポートのデバッグとしてUARTを使用する場合

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; 
} 

この意志出力実行中のプロセスのメインループ

のすべての100番目の反復

/* 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); 

contik atmega128rfa1 に、すなわち、正しいポートにPRINTF()の出力をリダイレクトします私のシェルソースコードには、シェル全体を使わずに簡単にデバッグできる非常に便利なコマンドが含まれています。 http://anrg.usc.edu/contiki/index.php/Contiki_Shell

関連する問題