2017-09-21 11 views
1

Contiki OS 2.7의 각 수신 패킷 (데이터, 라우팅, ICMP 등)의 내용을 디버깅을 위해 직렬로 인쇄해야합니다.Contiki OS에서 수신 패킷을 인쇄하는 방법은 무엇입니까?

packetbuf_dataptr()/core/net/packetbuf.c 인 것은 수신 패킷의 헤더를 가리키는 것으로 나타났습니다. 그러나 바이트를 가져 오는 가장 좋은 방법인지 확실하지 않으며 사용 방법을 모르겠습니다.

+0

우리는 tutiring 사이트가 아닙니다. ** 특정 ** 문제가 있습니까? – Olaf

+0

Sidenote : 모든 패킷을 전달하는 것은 좋은 생각이 아닙니다. 버퍼 등이 부족하면 어떻게 될까요? – Olaf

답변

0

이 코드는 작동합니다 : 간단하게 모든 프레임을받은 밖으로 인쇄하는 IEEE 802.15.4 패킷 스니퍼 응용 프로그램에 대한 examples/sensniff/에서

uint16_t i; 
uint16_t len = packetbuf_datalen(); 
for(i = 0; i < len; i++) { 
    printf("%02x ", ((uint8_t *)packetbuf_dataptr())[i]); 
} 

봐. Sensniff와 Wireshark를 통합 할 수 있습니다.