從CH582M的串口輸出如下,速度在變,請問這是丟數(shù)了嗎?是APP接收丟數(shù),還是CH582M沒有發(fā)送成功?
如何保證不丟數(shù)且速率能達到>6KB/s?
從CH582M的串口輸出如下,速度在變,請問這是丟數(shù)了嗎?是APP接收丟數(shù),還是CH582M沒有發(fā)送成功?
如何保證不丟數(shù)且速率能達到>6KB/s?
添加調(diào)試信息
static void peripheralConnectEventCB( uint32_t timeUs )
{
? ? uint8_t ret8;
? ? if( speed_test_enable )
? ? {
? ? ? ? while(1)
? ? ? ? {
? ? ? ? ? ? if( ret8=peripheralChar4Notify(speed_test_buf, peripheralMTU - 3) )
? ? ? ? ? ? {
? ? ? ? ? ? ? ? //發(fā)送失敗
? ? ? ? ? ? ? ? PRINT("%d", ret8);? ? ? //添加的調(diào)試信息輸出
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? peripheralTxDataLen += peripheralMTU - 3;
? ? ? ? ? ? ? ? PRINT("O");
? ? ? ? ? ? }
? ? ? ? }
? ? }
}
實測為:
OOOOO22OOO22OOOOO22O22OOOO22OOOO22OOOO22OOOO22OOOO22OOOO22OOOO22OOOO22OOOO22OOOO22OOOO22OOOO22OO22OOOO22OOOO2222OOOOO22OOO22OOOOO22OOO22OOOOO22OO22OOOO22OOOO22OOOO22OOOO22OOOO22OOOO22OOOO22OOOO22OO22OOOOO22OOO22OOOOO22OOO22OOOOO22OOO22OOOO22OOOO22OOOO22OOOO22OOOO2222OOOOO22OOO22OOOOO22OOO22OOOOO22OOO22OOOOO22OOO22OOOO22OOOO22OOOO22OOOO22OOOO2222OOOOO22OOO22OOOOO22OOO22OOOOO22OOO22Tx: 4980B/s
請問,發(fā)送失敗時輸出的22(即0x16)是下面定義嗎?什么意思?
#define blePending? ?0x16 //!< Waiting
通過給待發(fā)送的noti數(shù)據(jù)增加編號,并在Central例程中打印出來,發(fā)現(xiàn)編號連續(xù),未丟包。還挺好。
不過,還是請WCH技術(shù)稍微介紹一下樓上貼的問題。
傳輸速度受到很多因素影響,速度很難保持在某一個特定的值;你上面顯示的是傳輸速度變慢并不是丟數(shù)。你可以說明一下你的具體應用;我們根據(jù)你的應用進行具體分析。
waiting這里是掛起等待等上一包數(shù)據(jù)發(fā)送完成。