CH395Q WEB服務(wù)器網(wǎng)頁,客戶端(電腦)丟包問題

函數(shù)如下:

void CH395SendHTMLHead()

{

CH395SendSys(HtmlHead,sizeof(HtmlHead));

printf(HtmlHead);

delay_ms(4000);

CH395SendSys(HtmlBody,sizeof(HtmlBody));

printf(HtmlBody);

delay_ms(4000);

}


void HTMLHomePage()

{

CH395SendHTMLHead();

delay_ms(4000);

CH395SendSys(HtmlHomePageBody,sizeof(HtmlHomePageBody));

printf(HtmlHomePageBody);

delay_ms(4000);

}

字符串如下:

聯(lián)想截圖_20241017115827.png


問題是:

使用CH395SendData ,依次發(fā)送HtmlHead?HtmlBody?HtmlHomePageBody字符串給客戶端(電腦);

1. 加的有打印,發(fā)送沒問題;

2. 使用調(diào)試工具,看客戶端接收字符串,發(fā)現(xiàn)HtmlBody丟失,一前一后沒問題;

3. 無論按什么順序?qū)σ陨先齻€字符發(fā)送,客戶端接收時,總是丟中間的字符;


您好,CH395每次發(fā)送數(shù)據(jù)前,需要判斷發(fā)送緩沖區(qū)空閑這個中斷,只有產(chǎn)生了此中斷,才可發(fā)送下一包數(shù)據(jù)??梢栽陔娔X上用wireshark抓個包看一下這三包數(shù)據(jù)的實際傳輸過程。

可以將抓的包郵件發(fā)來分析下,同時可以將您的部分測試代碼郵件發(fā)來看一下。后續(xù)可直接郵件溝通。我的郵箱:lq@wch.cn

image.png


CH395每次發(fā)送數(shù)據(jù)前,需要判斷發(fā)送緩沖區(qū)空閑這個中斷,只有產(chǎn)生了此中斷,才可發(fā)送下一包數(shù)據(jù)

=== 使用空閑中斷,下一包數(shù)據(jù)發(fā)送成功了;

? ? ? ?但是,有個問題再請教下,使用空閑中斷,會一直發(fā)包一直發(fā)包;我怎么樣只發(fā)送一次,是自己設(shè)置類似標(biāo)志位,去做處理嗎


代碼如下:

? ?sock_int_socket = CH395GetSocketInt(sockindex);? ? ? ? ? ? ? ? ? ?/* 獲取socket 的中斷狀態(tài) */

? ?if(sock_int_socket & SINT_STAT_SENBUF_FREE)? ? ? ? ? ? ? ? ? ? ? ?/* 發(fā)送緩沖區(qū)空閑,可以繼續(xù)寫入要發(fā)送的數(shù)據(jù) */

? ?{

? ?CH395SendData(sockindex,(unsigned char*)http_html_data,sizeof(http_html_data));

? ?delay_ms(50);

? ?}



會一直連續(xù)發(fā)送http_html_data包內(nèi)容


可以通過置不同標(biāo)志的方式實現(xiàn)功能。


請問有使用緩沖區(qū)空閑中斷,連續(xù)百次發(fā)送的案例嗎


這個百次是指,使用發(fā)送函數(shù),依次發(fā)送100個不同數(shù)據(jù)


您好,暫無此例程


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频