ESP32 開發筆記(十三)ESP32 ping 功能

Ping

ping

esp_err_t pingResults(ping_target_id_t msgType, esp_ping_found * pf)
{
    printf("AvgTime:%.1fmS Sent:%d Rec:%d min(mS):%d max(mS):%d Resp(mS):%d Timeouts:%d Total Time:%d\n", (float)pf->total_time/pf->recv_count, pf->send_count, pf->recv_count,  pf->min_time, pf->max_time ,pf->resp_time, pf->timeout_count, pf->total_time);
    return ESP_OK;
}
void Start_Ping_ESP32(void){
 
    uint32_t ip_pinG = ipaddr_addr("163.177.151.109");//百度IP地址
    uint32_t ping_count = 2000;//ping的次數
    uint32_t ping_timeout = 1000; //超時時間
    uint32_t ping_delay = 2000; //ping 的間隔
    ping_deinit();
    esp_ping_set_target(PING_TARGET_IP_ADDRESS_COUNT, &ping_count, sizeof(uint32_t));
    esp_ping_set_target(PING_TARGET_RCV_TIMEO, &ping_timeout, sizeof(uint32_t));
    esp_ping_set_target(PING_TARGET_DELAY_TIME, &ping_delay, sizeof(uint32_t));
    esp_ping_set_target(PING_TARGET_IP_ADDRESS, &ip_pinG, sizeof(uint32_t));
    esp_ping_set_target(PING_TARGET_RES_FN, &pingResults, sizeof(pingResults));
    
    uint8_t res = 0;
    res = ping_init();
    if(res == 0){
        printf("PING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
    }else{
        printf("error:%d\n",res);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章