0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RTT是什么?對(duì)TCP中RTT時(shí)延的理解

冬至子 ? 來源:牧羊人的方向 ? 作者:大唐小少 ? 2023-10-09 16:24 ? 次閱讀

最近服務(wù)器環(huán)境部署了tcprtt網(wǎng)絡(luò)時(shí)延監(jiān)控,發(fā)現(xiàn)不同服務(wù)器不同節(jié)點(diǎn)之間的RTT時(shí)延表象非常奇怪,無法準(zhǔn)確的判斷服務(wù)器的網(wǎng)絡(luò)情況。因此需要弄清楚什么是RTT,以及能否作為服務(wù)器網(wǎng)絡(luò)性能的檢測(cè)指標(biāo)。

1、RTT是什么?

TCP中的 RTT指的是“往返時(shí)延”(Round-Trip Time) ,即從發(fā)送方發(fā)送數(shù)據(jù)開始,到發(fā)送方接收到來自接收方的確認(rèn)消息所經(jīng)過的時(shí)間。RTT時(shí)延通常由三部分決定: 鏈路的傳播時(shí)間、末端系統(tǒng)的處理時(shí)間、路由器等網(wǎng)絡(luò)中間節(jié)點(diǎn)的緩存和排隊(duì)時(shí)間 。正常情況下報(bào)文的傳輸時(shí)間和在應(yīng)用處理時(shí)間相對(duì)固定,在網(wǎng)絡(luò)擁堵情況下會(huì)出現(xiàn)RTT時(shí)延的波動(dòng)。

圖片

RTT是衡量網(wǎng)絡(luò)傳輸性能的重要指標(biāo)之一,能夠反映出數(shù)據(jù)在網(wǎng)絡(luò)中傳輸?shù)乃俣群头€(wěn)定性。通常情況下,RTT越短,網(wǎng)絡(luò)傳輸?shù)乃俣染驮娇?,反之則越慢。因此, 通過監(jiān)測(cè)TCP中的RTT時(shí)延,可以初步判斷網(wǎng)絡(luò)的性能如何。 但需要注意的是,RTT時(shí)延只是一個(gè)指標(biāo),要全面評(píng)估網(wǎng)絡(luò)性能還需要結(jié)合其他指標(biāo)進(jìn)行綜合分析。

1.1 RTT和RTO關(guān)系

說起RTT就要提到RTO(Retransmission Timeout),TCP協(xié)議在握手過程中會(huì)啟動(dòng)一個(gè)定時(shí)器,如果在定時(shí)器時(shí)間內(nèi)沒有收到,則會(huì)進(jìn)行重傳,這個(gè) 重傳的超時(shí)時(shí)間稱為RTO 。RTT和RTO的關(guān)系是:由于網(wǎng)絡(luò)的不確定性,每個(gè)RTT都是動(dòng)態(tài)變化的,RTO也會(huì)動(dòng)態(tài)變化。

當(dāng) RTO < RTT 時(shí), 將會(huì)觸發(fā)大量的重傳, 當(dāng) RTO > RTT 時(shí)候, 如果頻繁出現(xiàn)丟包, 重傳不及時(shí), 又會(huì)造成網(wǎng)絡(luò)的反應(yīng)慢, 最好的結(jié)果是 RTO 略大于 RTT.

圖片

1.2 RTT和Ping區(qū)別

Ping是使用 ICMP傳輸協(xié)議 ,可以用來評(píng)估RTT時(shí)延和網(wǎng)絡(luò)性能的好壞。相比之下, RTT則是在應(yīng)用層 (OSI/ISO的第7層)進(jìn)行的網(wǎng)絡(luò)時(shí)延測(cè)量,包括更高級(jí)別的協(xié)議和應(yīng)用程序引起的額外處理時(shí)延。

1.3 RTT和時(shí)延的區(qū)別

網(wǎng)絡(luò)時(shí)延與RTT密切相關(guān),但又不同。延遲是數(shù)據(jù)包從發(fā)送端點(diǎn)傳輸?shù)浇邮斩它c(diǎn)所需的時(shí)間(僅一次行程)。許多因素可能會(huì)影響此路徑,包括網(wǎng)絡(luò)鏈路性能情況、網(wǎng)絡(luò)擁堵情況還有交換機(jī)層的緩存和隊(duì)列等。 ** RTT除了網(wǎng)絡(luò)傳輸?shù)臅r(shí)延,還有末端處理的時(shí)延** ,因此網(wǎng)絡(luò)時(shí)延并不一定完全等于RTT的一半。因此我們 可以解釋在部分主備節(jié)點(diǎn)的數(shù)據(jù)庫中,主節(jié)點(diǎn)到備節(jié)點(diǎn)的RTT時(shí)延表現(xiàn)正常,低于1ms,但是備節(jié)點(diǎn)到主節(jié)點(diǎn)之間的RTT時(shí)延超過10ms ,這中間很大一部分原因是因?yàn)閭涔?jié)點(diǎn)到主節(jié)點(diǎn)發(fā)送數(shù)據(jù)庫的時(shí)候,主節(jié)點(diǎn)處理耗費(fèi)了大部分時(shí)間。

2、RTT的算法和測(cè)量方法

2.1 RTT經(jīng)典算法 [RFC793]

該算法稱為加權(quán)移動(dòng)平均算法Exponential weighted moving average,過程如下:

1) 首先,先采樣RTT,記下最近幾次的RTT值。

2)然后做平滑計(jì)算SRTT(Smoothed RTT),公式為:

SRTT=(α?SRTT)+((1?α)?RTT)
其中的α取值在0.8到0.9之間

3)開始計(jì)算RTO。公式如下:

RTO=min[UBOUND,max[LBOUND,(β?SRTT)]]
UBOUND 是最大的 timeout 時(shí)間,上限值;
LBOUND 是最小的 timeout 時(shí)間,下限值;
β值一般在1.32.0之間。

該算法的問題在于重傳時(shí),是用重傳的時(shí)間還是第一次發(fā)數(shù)據(jù)的時(shí)間和ACK回來的時(shí)間計(jì)算RTT樣本值,另外,delay ack的存在也讓rtt不能精確測(cè)量。

2.2 RTT標(biāo)準(zhǔn)算法(Jacobson / Karels算法)

該算法[ RFC6298 ]特點(diǎn)是引入了最新的RTT的采樣rtts和平滑過的srtt的差值做參數(shù)來計(jì)算。 公式如下:

圖片

1)計(jì)算平滑RTT

srtt=srtt+α(rttssrtt)

2)計(jì)算平滑RTT和真實(shí)的差距(加權(quán)移動(dòng)平均)

rttvar=(1?β)?rttvar+β?(|rtts?srtt|)

3)計(jì)算RTO

rto=u?srtt+??rttvar

4)考慮到時(shí)鐘粒度,給RTO設(shè)置一個(gè)下界。

rto=max(u?srtt+max(G,??rttvar),1000)

這里G為計(jì)時(shí)器粒度,1000ms為整個(gè)RTO的下屆值。因此RTO至少為 1s。在Linux下,α=0.125,β=0.25,μ=1,?=4。

5)在首個(gè)SYN交換前,TCP無法設(shè)置RTO初始值。根據(jù)[RFC6298],RTO初始值為1s,而初始SYN報(bào)文段采用的超時(shí)間隔為3s。當(dāng)計(jì)算出首個(gè)RTT測(cè)量結(jié)果rtts,則按如下方法進(jìn)行初始化:

srtt=rttsrttvar=rtts/2
2.3 RTT測(cè)量方法

每發(fā)送一個(gè)分組,TCP都會(huì)進(jìn)行RTT采樣,這個(gè)采樣并不會(huì)每一個(gè)數(shù)據(jù)包都采樣,同一時(shí)刻發(fā)送的數(shù)據(jù)包中,只會(huì)針對(duì)一個(gè)數(shù)據(jù)包采樣,這個(gè)采樣數(shù)據(jù)被記為sampleRTT,用它來代表所有的RTT。采樣的方法一般有兩種:

  • TCP Timestamp選項(xiàng) :在TCP選項(xiàng)中添加時(shí)間戳選項(xiàng),發(fā)送數(shù)據(jù)包的時(shí)候記錄下時(shí)間,收到數(shù)據(jù)包的時(shí)候計(jì)算當(dāng)前時(shí)間和時(shí)間戳的差值就能得到RTT。這個(gè)方法簡(jiǎn)單并且準(zhǔn)確,但是需要發(fā)送段和接收端都支持這個(gè)選項(xiàng)。
  • 重傳隊(duì)列中數(shù)據(jù)包的TCP控制塊 :每個(gè)數(shù)據(jù)包第一次發(fā)送出去后都會(huì)放到重傳隊(duì)列中,數(shù)據(jù)包中的TCP控制塊包含著一個(gè)變量,tcp_skb_cb->when,記錄了該數(shù)據(jù)包的第一次發(fā)送時(shí)間。如果沒有時(shí)間戳選項(xiàng),那么RTT就等于當(dāng)前時(shí)間和when的差值。

linux內(nèi)核中,更新rtt的函數(shù)為tcp_ack_update_rtt:

圖片

3、RTT網(wǎng)絡(luò)性能檢測(cè)和優(yōu)化

3.1 RTT時(shí)延檢測(cè)方法

1)使用ping命令測(cè)量RTT是最常用的方法

Ping命令將ICMP協(xié)議回顯請(qǐng)求數(shù)據(jù)包發(fā)送到目的地,然后報(bào)告接收響應(yīng)信號(hào)所需的時(shí)間(以毫秒為單位)。

[root@tango-rac01 ~]# ping -c 20 -i 1 www.csdn.net
PING r3lzca9monbh9slnohm4wwh32vxfadus.yundunwaf4.com (60.205.172.2) 56(84) bytes of data.
--- r3lzca9monbh9slnohm4wwh32vxfadus.yundunwaf4.com ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 20099ms
rtt min/avg/max/mdev = 45.053/62.665/163.425/29.858 ms

2)時(shí)延 bcc-tools工具tcprtt (內(nèi)核版本為4.1以上)

tcprtt -i 1 -d 10 -A 192.168.1.100 -P 80
	Tracing TCP RTT... Hit Ctrl-C to end.
	     msecs               : count     distribution
	         0 - > 1          : 4        |                                        |
	         2 - > 3          : 0        |                                        |
	         4 - > 7          : 1055     |****************************************|
	         8 - > 15         : 26       |                                        |
	        16 - > 31         : 0        |                                        |
	        32 - > 63         : 0        |                                        |
	        64 - > 127        : 18       |                                        |
	       128 - > 255        : 14       |                                        |
	       256 - > 511        : 14       |                                        |
	       512 - > 1023       : 12       |                                        |

3)使用ss -ti命令

[root@tango-rac01 tools]# ss -ti
State       Recv-Q Send-Q                                      Local Address:Port                                                       Peer Address:Port                
ESTAB       0      0                                         192.168.112.135:ssh                                                       192.168.112.1:56505                
         cubic wscale:8,9 rto:241 rtt:40.225/0.997 ato:74 mss:1448 cwnd:10 bytes_acked:152109 bytes_received:12047 segs_out:733 segs_in:816 send 2.9Mbps lastsnd:41 lastrcv:137 pacing_rate 5.8Mbps rcv_rtt:28 rcv_space:28960

其中有rtt:40.225/0.997數(shù)據(jù),表示RTT均值和中位數(shù)

3.2 RTT時(shí)延優(yōu)化

1)RTT時(shí)延波動(dòng)的原因

前文提到RTT時(shí)延包括網(wǎng)絡(luò)傳輸時(shí)延和末端處理時(shí)延,末端處理時(shí)延相對(duì)比較固定,因此RTT波動(dòng)很大可能和以下因素有關(guān):

  • 網(wǎng)絡(luò)擁塞 :當(dāng)網(wǎng)絡(luò)擁塞時(shí),數(shù)據(jù)包需要在網(wǎng)絡(luò)中等待更長(zhǎng)時(shí)間,從而導(dǎo)致 RTT 增加。
  • 網(wǎng)絡(luò)質(zhì)量 :網(wǎng)絡(luò)質(zhì)量差、丟包率高等問題也會(huì)導(dǎo)致 RTT 波動(dòng)較大。
  • 網(wǎng)絡(luò)設(shè)備問題 :網(wǎng)絡(luò)設(shè)備的故障、配置錯(cuò)誤等也可能導(dǎo)致 RTT 波動(dòng)較大。

2) 網(wǎng)絡(luò)擁塞的檢測(cè)方法

網(wǎng)絡(luò)擁塞是指網(wǎng)絡(luò)中的數(shù)據(jù)傳輸量超過了網(wǎng)絡(luò)鏈路或節(jié)點(diǎn)的處理能力,導(dǎo)致網(wǎng)絡(luò)性能下降或出現(xiàn)數(shù)據(jù)丟失等問題。除了常見的傳輸延遲、丟包率等指標(biāo)外,還有以下幾種網(wǎng)絡(luò)擁塞的檢測(cè)手段:

  • 流量分析:通過對(duì)網(wǎng)絡(luò)流量的監(jiān)測(cè)和分析,找出網(wǎng)絡(luò)中的高流量區(qū)域,從而判斷哪些地方可能存在擁塞。
  • 響應(yīng)時(shí)間監(jiān)測(cè):通過測(cè)量網(wǎng)絡(luò)設(shè)備響應(yīng)時(shí)間,判斷網(wǎng)絡(luò)是否處于擁塞狀態(tài)。
  • 帶寬占用監(jiān)測(cè):通過對(duì)網(wǎng)絡(luò)帶寬的監(jiān)測(cè)和分析,找出網(wǎng)絡(luò)中的高帶寬占用區(qū)域,從而判斷哪些地方可能存在擁塞。
  • 包延遲監(jiān)測(cè):通過測(cè)量數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸所需的時(shí)間,判斷網(wǎng)絡(luò)是否處于擁塞狀態(tài)。
  • 拓?fù)浞治觯和ㄟ^分析網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),找出網(wǎng)絡(luò)中的瓶頸節(jié)點(diǎn)和鏈路,從而判斷哪些地方可能存在擁塞。

3)網(wǎng)絡(luò)抖動(dòng)檢測(cè)方法

網(wǎng)絡(luò)抖動(dòng)是指網(wǎng)絡(luò)通信中出現(xiàn)的延遲或者丟包現(xiàn)象,導(dǎo)致通信不穩(wěn)定。要檢測(cè)網(wǎng)絡(luò)抖動(dòng),可以使用以下方法:

  • ping命令 :ping命令可以測(cè)試網(wǎng)絡(luò)是否能夠正常通信,如果出現(xiàn)延遲或者丟包現(xiàn)象,就說明存在網(wǎng)絡(luò)抖動(dòng)。
  • tracert命令 :tracert命令可以追蹤網(wǎng)絡(luò)通信的路徑,如果在通信過程中出現(xiàn)延遲或者丟包現(xiàn)象,就說明存在網(wǎng)絡(luò)抖動(dòng)。
  • 網(wǎng)絡(luò)診斷工具 :網(wǎng)絡(luò)診斷工具可以幫助檢測(cè)網(wǎng)絡(luò)抖動(dòng),并提供詳細(xì)的網(wǎng)絡(luò)狀態(tài)信息,幫助用戶更好地理解網(wǎng)絡(luò)通信過程中出現(xiàn)的問題。
  • 網(wǎng)絡(luò)質(zhì)量監(jiān)測(cè)系統(tǒng):網(wǎng)絡(luò)質(zhì)量監(jiān)測(cè)系統(tǒng)可以監(jiān)測(cè)網(wǎng)絡(luò)質(zhì)量,包括延遲、丟包等指標(biāo),并提供實(shí)時(shí)報(bào)警和分析報(bào)告,幫助用戶及時(shí)發(fā)現(xiàn)和解決網(wǎng)絡(luò)抖動(dòng)問題。

4、總結(jié)

RTT作為網(wǎng)絡(luò)時(shí)延的檢測(cè)工具,是 在應(yīng)用層進(jìn)行的網(wǎng)絡(luò)性能檢測(cè) ,包括了網(wǎng)絡(luò)傳輸?shù)臅r(shí)延和末端響應(yīng)的時(shí)延。在實(shí)際分析過程中,主機(jī)上單個(gè)服務(wù)的RTT時(shí)延較長(zhǎng)并不能說明服務(wù)器之間的物理網(wǎng)絡(luò)異常,需要更多的指標(biāo)數(shù)據(jù)進(jìn)行分析,比如相同主機(jī)上的其它服務(wù)的RTT時(shí)延、ping包時(shí)延等。

圖片

如上圖所示的主機(jī)1中的服務(wù)1和主機(jī)2中的服務(wù)2和服務(wù)3配置了RTT時(shí)延監(jiān)控,發(fā)現(xiàn)服務(wù)器1到服務(wù)2的RTT時(shí)延明顯差于服務(wù)1到服務(wù)3的RTT時(shí)延。這個(gè)時(shí)候就可以辨別出,如果是網(wǎng)絡(luò)層的性能變差,兩個(gè)RTT檢測(cè)的值表現(xiàn)上會(huì)相似,但實(shí)際上卻是相反的,只能 說明服務(wù)2在響應(yīng)服務(wù)1的請(qǐng)求處理時(shí)間比服務(wù)3長(zhǎng) 。

因此在實(shí)際的監(jiān)控配置過程中,RTT時(shí)延只能作為網(wǎng)絡(luò)性能監(jiān)控的一個(gè)參考指標(biāo),不排除會(huì)出現(xiàn)誤判的情景,需要和其它主機(jī)和服務(wù)橫向?qū)Ρ热シ治雠袛唷?/p>

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 交換機(jī)
    +關(guān)注

    關(guān)注

    20

    文章

    2600

    瀏覽量

    98883
  • ICMP
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    14894
  • RTO
    RTO
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    11152
  • RTT
    RTT
    +關(guān)注

    關(guān)注

    0

    文章

    64

    瀏覽量

    17035
  • TCP通信
    +關(guān)注

    關(guān)注

    0

    文章

    146

    瀏覽量

    4192
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【英飛凌PSoC 6】新建RTT工程

    介紹英飛凌PSoC 6 RTT開發(fā)板環(huán)境創(chuàng)建
    的頭像 發(fā)表于 04-24 15:29 ?1838次閱讀
    【英飛凌PSoC 6】新建<b class='flag-5'>RTT</b>工程

    Jlink_RTT方式查看log#

    RTTJlink
    橙群微電子
    發(fā)布于 :2023年03月07日 09:44:38

    為什么要使用RTT?RTT怎么用?

    RTT是什么?為什么要使用RTTRTT怎么用?
    發(fā)表于 02-16 06:17

    請(qǐng)問RTT個(gè)FPU到底怎么使用

    STM32F407 開啟了FPU,定時(shí)器設(shè)定位10ms,在回調(diào)打印計(jì)數(shù)。做這3個(gè)運(yùn)算,打印結(jié)果如下。同樣的實(shí)驗(yàn)在KEIL開啟FPU。打印如下為什么RTT的FPU比keil要慢呢。我的工程需要用
    發(fā)表于 11-10 11:46

    如何在Embedded Studio中使用RTT?

    。要使用RTT函數(shù),需要將完整的RTT支持包添加到Embedded Studio Project。我們以一個(gè)Embedded Studio例程來介紹如何將RTT支持包添加到項(xiàng)目中。
    發(fā)表于 02-17 14:25

    一種基于RTT公平性的TCP慢啟動(dòng)算法

    分析標(biāo)準(zhǔn)慢啟動(dòng)算法應(yīng)用于包含GEO 衛(wèi)星鏈路的網(wǎng)絡(luò)時(shí)存在的問題,提出一種基于RTT 公平性的TCP 慢啟動(dòng)改進(jìn)算法。改進(jìn)算法采用大初始窗口機(jī)制,慢啟動(dòng)初期窗口保持指數(shù)增長(zhǎng),慢
    發(fā)表于 03-23 08:54 ?17次下載

    TD-SCDMA RTT的空間接口技術(shù)綜述

    TD-SCDMA RTT的空間接口技術(shù)綜述:
    發(fā)表于 05-21 13:22 ?20次下載
    TD-SCDMA <b class='flag-5'>RTT</b>的空間接口技術(shù)綜述

    MM32F013x——RTT使用技巧

    SEGGER的實(shí)時(shí)傳輸(Real Time Transfer, RTT)是嵌入式應(yīng)用中用戶I/O交互的一種新技術(shù)。J-Link RTT Viewer是在調(diào)試主機(jī)上使用RTT功能的Win...
    發(fā)表于 01-25 18:34 ?4次下載
    MM32F013x——<b class='flag-5'>RTT</b>使用技巧

    例程如何使用RTT Viewer

    例程編譯后,會(huì)生成一個(gè)xx.map文件,位于工程目錄下的Debug目錄下,在這個(gè)xx.map文件搜索關(guān)鍵字”_SEGGER_RTT”會(huì)找到一個(gè)位于RAM區(qū)域的地址,比如下圖0x20000934這個(gè)地址就是我們定位到的地址,把它復(fù)制一下。
    的頭像 發(fā)表于 06-08 11:12 ?2393次閱讀

    例程如何使用RTT Viewe

    對(duì)于RA系列的MCU,瑞薩都提供有相對(duì)應(yīng)的例程包,在每個(gè)例程包里面都會(huì)有一些可以輸出到J-Link RTT Viewer的調(diào)試信息,這些信息可以很方便的告訴開發(fā)者當(dāng)前的運(yùn)行狀態(tài)、變量值,有些例程甚至可以實(shí)現(xiàn)信息交互,如同一條虛擬串口一般方便。那么客戶如何使用這個(gè)調(diào)試好幫
    的頭像 發(fā)表于 07-28 09:59 ?1759次閱讀

    例程如何使用RTT Viewer

    對(duì)于RA系列的MCU,瑞薩都提供有相對(duì)應(yīng)的例程包,在每個(gè)例程包里面都會(huì)有一些可以輸出到J-Link RTT Viewer的調(diào)試信息,這些信息可以很方便的告訴開發(fā)者當(dāng)前的運(yùn)行狀態(tài)、變量值,有些例程甚至可以實(shí)現(xiàn)信息交互,如同一條虛擬串口一般方便。那么客戶如何使用這個(gè)調(diào)試好幫
    的頭像 發(fā)表于 07-28 10:02 ?1933次閱讀

    投稿 | 基于IAR搭建RA MCU的RTT打印輸出

    基于IAR搭建RA MCU的RTT打印輸出
    的頭像 發(fā)表于 11-04 10:40 ?1136次閱讀
    投稿 | 基于IAR搭建RA MCU的<b class='flag-5'>RTT</b>打印輸出

    基于IAR搭建RA MCU串口與RTT Viewer打?。ㄉ希?/a>

    基于IAR搭建RA MCU串口與RTT Viewer打印
    的頭像 發(fā)表于 08-14 09:49 ?600次閱讀
    基于IAR搭建RA MCU串口與<b class='flag-5'>RTT</b> Viewer打印(上)

    基于IAR搭建RA MCU串口與RTT Viewer打?。ㄏ拢?/a>

    基于IAR搭建RA MCU串口與RTT Viewer打印
    的頭像 發(fā)表于 08-14 09:50 ?618次閱讀
    基于IAR搭建RA MCU串口與<b class='flag-5'>RTT</b> Viewer打印(下)

    RTT_Draco的外置uart接口(TXD,RXD)怎么配置和使用呢?

    RTT_Draco的外置uart接口(TXD,RXD)怎么配置和使用呢? RT-Thread的RTT_Draco是一款高性能的MCU芯片,它提供了外置UART接口(TXD,RXD)用于與外部設(shè)備進(jìn)行
    的頭像 發(fā)表于 01-16 17:11 ?847次閱讀