朱有田 2017/11/5
這篇文章寫給對技術(shù)感興趣、喜歡思考的人、也寫給初學計算機、單片機的人讓我們突破自己的生理感官,重新認識時間這個東西。
時間這個詞和愛情一樣,是我們經(jīng)常所要提及,以及永遠不會過時的話題。
“曾經(jīng)有一份真誠的愛情放在我面前,我沒有珍惜等我失去的時候我才后悔莫及,人世間最痛苦的事莫過于此。如果上天能夠給我一個再來一次的機會, 我會對那個女孩子說三個字:我愛你。如果非要在這份愛上加上一個期限,我希 望是……一萬年!”
《大話西游》 中周星馳扮演的孫悟空對紫霞說的那段臺詞已然成為經(jīng)典。今 天我們先不討論愛情,而來討論一下:一萬年真的很久嗎?
從感官上來說,答案是肯定的大家都會覺得一萬年很久。因為無論時間、空間,對于人的神經(jīng)感官系統(tǒng)來說,都有一個可感受的范圍,而往往超過感受范 圍的事物,總是很難被人理解和接受,這是普遍現(xiàn)象。我們不理解某個事物,是 因為它很難被直接感受到,人類之所以偉大,是因為總有一小部分人能夠認識到 自己感受范圍之外的東西,推動科學文明向前發(fā)展。對于時間的感官,我們能夠察覺到最小單位為秒,最大單位為年。我們常常用秒來表達較小的時間因為秒鐘是直接可數(shù)的,秒就是嘀嗒之間,一件事情很快往往說一秒鐘搞定!一件事隨時隨刻能做到,叫分分鐘的事。另一面,人類個體壽命普遍小于 100 年,10 年對我們來說就已經(jīng)夠久的了,人生有幾個十年 呀?一萬年理所當然就遙不可及了。本文要討論的是超越我們的感官,先從數(shù)字說起。從數(shù)學角度去理解時間的刻度時間在宏觀上是可以無限延展的,從宇宙誕生那第一秒開始,1 秒,10 秒,100 秒,100000…00 秒一直往前計時,直到無窮, 沒有盡頭。微觀上,時間又是可以無限微分的,0.1秒,0.01 秒,0.001 秒,0.0001秒,0.0000000…001 秒,小數(shù)點后延伸無數(shù)個 0,看不到盡頭,無限靠近 0,卻 永遠達不到 0。
一萬年真的很久嗎?“久”本身就是一種感官描述,對于一年而言,一萬年 確實很久,而對于一億年來說,一萬年就是剎那間了。在這里我們無法形容全部 的時間刻度,只能建立在已知的事物上有限的談?wù)撘幌聲r間的范圍。
人的生命期(100 年),人類進化歷史(1000 萬年),地球的壽命(46 億年), 用同一個圖來表示,是否有相似之處?不出意外的話,我們的人生是這樣的:
過紀錄片或者去過博物館的都應(yīng)該知道,我們?nèi)祟愡M化是這樣的:
我們以及所有祖先的人生在這個圖里面就是分布在各自位置的一條極細的豎 線。而整個人類進化史對于地球時間而言,又是在那個圖表里面的一條豎線。
再來看看微觀時間的圖表,是否也似曾相識?
電視機看起來那么神奇,其實它只是一個圖片顯示器,進一步說,它僅僅是 一個像素顯示器,它不停的切換靜態(tài)圖像,當速度超過肉眼能夠感知的范圍,我 們就覺得電視機的畫面在連續(xù)不斷的運動。也就是說,我們看著電視,我們的眼 睛一直在被電視欺騙。若把時間調(diào)慢,電視機就像一臺自動切換的圖片瀏覽器, 再把時間調(diào)慢,電視機只是在按次序的點亮屏幕上的一個點。
來看一下人們在鍵盤上敲擊一個按鍵時發(fā)生的時間圖表:
對于鍵盤掃描程序而言,人類的手指敲擊動作實在太慢了。我們使出最快的 鋼琴手,迅速敲擊按鍵使得按鍵底部的開關(guān)閉合約 200 到300 毫秒 ms,那已經(jīng) 非??炝耍《@個時間對于計算機而言,相當于你按下按鍵經(jīng)過了一個月才釋放。這與我們以自己的人生去度量人類歷史進程的道理是一樣的。
再來看一 個栗子:
滬昆高速鐵路由 滬杭客運專線、杭長客運專線以及 長昆客運專線組成,途 經(jīng) 上海、杭州、南昌、長沙、貴陽、昆明6座 省會城市及直轄市,線路全長 2252 公里,設(shè)計速度 350km/h,是 中國東西向線路里程最長、經(jīng)過 省份最多的 高速 鐵路。
如果,我們沿著滬昆高鐵布置一根連續(xù)的電纜,在昆明設(shè)置一個開關(guān),在上 海設(shè)置一個電壓表,我們試圖在按下開關(guān)的時刻啟動計時,在電壓表針動作時關(guān) 閉計時,你們考慮一下這個時間是多久?受哪些因素影響?本文不深入討論這個 栗子的具體結(jié)果,而是讓讀者感受到時間的存在,并不是僅僅只考慮開關(guān)合上, 電壓上升的純粹邏輯。
接下來看看繼電器的情況:
如圖,當開關(guān)按下時開始啟動計時,繼電器線圈得電產(chǎn)生磁力,將銜鐵往下 吸合,使得繼電器的3腳經(jīng)過一段物理距離之后,與5腳接觸,計時停止,測得 該繼電器的吸合時間。同樣,當開關(guān)斷開時開始計時,繼電器線圈失電失去磁力, 銜鐵在彈簧的拉力下復(fù)位,使得3腳與5腳分離,計時停止,測得該繼電器的釋 放時間。
通過觀察,不難發(fā)現(xiàn):3腳與5腳吸合需要的時間比3腳與5腳斷開的時間 要長,即吸合時間比釋放時間要長。
讀者一定疑惑,為什么總是要去考慮時間,不是只要知道繼電器得電吸合, 失電釋放就行了么!其實不然,在一些應(yīng)用場景里,你無法避免時間因素給項目 造成的困擾和影響。正如繼電器,它的吸合時間決定了繼電器的動作速度,也決 定了繼電器傳遞信號的延時,假如在繼電器的輸入端加載一個寬度小于吸合時間 的脈沖信號,那么該繼電器將沒有任何輸出,因為還沒有達到吸合位置,線圈就 已經(jīng)失電了。
接著這個話題繼續(xù)舉栗子,請看圖:
假如單個繼電器的吸合時間約50毫秒 ms,釋放時間約25毫秒 ms,那么圖中5個繼電器級聯(lián)控制,從開關(guān)按下到最后一個繼電器吸合時間為 50×5=250ms,從開關(guān)釋放到最后一個繼電器釋放的時間為 25×5=125ms,那么問題來了:假如 第一個開關(guān)只吸合100毫秒就斷開,此刻信號還沒有傳遞到最后一個繼電器,那么結(jié)果將如何?請燃燒你的大腦..。
我們來看單片機 的例子,讀者可能會擔心單片機(又稱MCU,或微控制器) 過于專業(yè)而無法理解。完全沒必要!在這里我們僅借它談?wù)撘幌掠嘘P(guān)時間的話題,順帶提一下單片機系統(tǒng)的概念。
單片機顧名思義是集成到一個芯片里面的計算機系統(tǒng),計算機系統(tǒng)就意味著 它要跑程序,也就意味著要有人去編寫這個程序。這同時意味著單片機本身并沒有具體的功能,它是一個通用件,具體要實現(xiàn)什么功能取決于你編寫的程序。
光是一塊芯片可什么也干不了,首先要有一個目標程序文件,它可以是你親 自編寫的,也可以是朋友編寫的,總之它在PC機里面是一個文件。然后我們通過連接到電腦的程序燒錄器,打開配套的燒錄軟件,將這個文件導入到單片機內(nèi)。(就像把文件復(fù)制到U盤一樣)
單片機內(nèi)已經(jīng)有了程序,接下來要怎么讓它工作起來呢?這非常簡單,首先, 要給單片機加上一個晶振(晶振產(chǎn)生的脈沖信號將驅(qū)動單片機按時序工作);其次,當然要給單片機加電;最后給一個復(fù)位信號到復(fù)位管腳;它就開始運行程序了。這幾個最基本的要素,集合在一起,也叫最小系統(tǒng),如果不想自己親手做,在網(wǎng)上能夠輕松淘到。
言歸正傳我們切入正題,單片機系統(tǒng)往往要處理按鍵輸入、數(shù)碼管的顯示、以及其他開關(guān)量信號的輸入和輸出處理。普通的8位單片機一般具備 24到32個IO(輸入輸出)引腳,每個引腳可以作為輸入,也能作為輸出。假設(shè)單片機供電電壓為 5V,那么5V 即代表著程序中的1地)。而程序中的0相當于電壓為0V(接最簡單的輸出應(yīng)用:在P3.7管腳上面連接一個發(fā)光管的負極,發(fā)光管的正極通過限流電阻接電源。如果程序給P3.7賦值為 1,那么發(fā)光管兩端電壓都是5V電壓差為0,處于熄滅狀態(tài)。若程序給 P3.7賦值為0,那么發(fā)光管正極電壓為5V,負極電壓為0V(接地),電壓差使發(fā)光管點亮。這樣程序就可以控制發(fā)光 管的亮與滅了!最簡單的輸入應(yīng)用:在P1.7管腳上面通過一個電阻接電源(上拉電阻),使它默認為5V 然后再將這個管腳通過一個按鈕接地,當按鈕按下時,管腳電壓變?yōu)?V。程序只要從P1.7管腳讀取數(shù)值為0時,表示該按鍵被按下。
單片機的輸入和輸出:S1-S4 按鍵輸入,d1-d8 發(fā)光管輸出
回到時間的話題,先來看一下 搖搖棒的例子:
搖搖棒有一排 LED 發(fā)光管
這又是什么原理?這是一個眼睛被時間欺騙的經(jīng)典案例!眼見為實嗎?事實 告訴你,眼見并非為實,很多東西你看到了卻并非你想的那樣真實。同樣還有很 多東西是你肉眼看不到的,但看不到并不證明不存在!我們先撇開搖搖棒的實現(xiàn) 原理,來看看我們眼睛的特性。
關(guān)于人類的視覺延時 ,百度百科這么說:視覺暫留(Persistence of vision)
現(xiàn)象是光對視網(wǎng)膜所產(chǎn)生的視覺在光停止作用后,仍保留一段時間的現(xiàn)象,其具體應(yīng)用是電影的拍攝和放映。原因是由 視神經(jīng)的 反應(yīng)速度造成的。是動畫、電影等視覺媒體形成和傳播的根據(jù)。視覺實際上是靠眼睛的晶狀體成像,感光細 胞感光,并且將光信號轉(zhuǎn)換為神經(jīng)電流,傳回大腦引起人體視覺。感光細胞的感 光是靠一些感光色素,感光色素的形成是需要一定時間的,這就形成了視覺暫停 的機理。
物體在快速運動時,當人眼所看到的 影像消失后,人眼仍能繼續(xù)保留其影像0.1-0.4秒左右的圖像,這種現(xiàn)象被稱為視覺暫留現(xiàn)象。是人眼具有的一種性質(zhì)。人眼觀看物體時,成像于視網(wǎng)膜上,并由視神經(jīng)輸入人腦,感覺到物體的像。但當物體移去時,視神經(jīng)對物體的印象不會立即消失,而要延續(xù) 0.1 -0.4秒的時間。人眼的這種性質(zhì)被稱為“眼睛的視覺暫留”。
讀到這里,我想也就不用再解釋搖搖棒的原理了!只要你切換的時間小于人 眼延時,我們的眼睛就會被欺騙。接下來再看一個異曲同工的小玩意:電動版搖 搖棒。
數(shù)碼管是廉價、簡便、易于實現(xiàn)的顯示元件,沒錯,其實就是7個(帶上小 數(shù)點就是8個)被做成 條狀和點狀的發(fā)光管。它能夠通過不同段位的組合顯示 出基本的數(shù)字和字母,真是一項了不起的發(fā)明!
數(shù)碼管的高明之處是碼段的復(fù)用,通過 7 個段的排列組合,描繪出數(shù)量超過7種的數(shù)字和字母的象形符號。如將數(shù)碼管的BC點亮,就是數(shù)字1,如果把ABGED點亮,就是數(shù)字2,非常形象,四歲的孩子都能讀懂。數(shù)碼管和單片機天然搭配,前面講到單片機的I 口(輸入輸出口)能夠直接控制發(fā)光管的亮滅,而一個數(shù) 碼管只是8個發(fā)光管裝在一個殼子里,數(shù)碼管與單片機連接是醬紫的:
圖中每個引腳上都加了電阻,是因為發(fā)光管本身是個二極管,二極管是不能 直接加電源的,千萬別把發(fā)光管當燈泡一樣接到電源,那樣會因為電流過大而燒 毀。因此要串聯(lián)一個電阻,以限制通過發(fā)光管的電流,單個發(fā)光管的電流在1-5mA之間。
現(xiàn)在問題來了,估計讀者也意識到這個問題了:一個數(shù)碼管至少需要7 個獨 立的控制腳,如果一個系統(tǒng)需要8個甚至更多數(shù)碼管排列進行顯示時,那么至少要56個控制腳,而單片機管腳十分有限,難道一個單片機最多只能接2個數(shù)碼管?
辦法當然有,那就是在時間上做文章,終于回到時間的話題上來了:) 一般來說一個系統(tǒng)要實現(xiàn)的初級形態(tài)總是最復(fù)雜的,人們通過線路復(fù)用、空間復(fù)用、時間復(fù)用,總之是資源的復(fù)用來簡化我們的系統(tǒng)。數(shù)碼管用了7個段,顯示的內(nèi)容卻遠遠超過 7 種,這是對發(fā)光管的復(fù)用。一個發(fā)光管需要2根引線, 意味著一個數(shù)碼管至少有14根引線,由于發(fā)光管的一端總是要接電源正極或地(負極),把這些線合并成一根線,以減少管腳數(shù)量,是線路的復(fù)用。
把 4 個數(shù)碼管的控制腳并聯(lián)在一起,形成總線的模式,所有數(shù)碼管都用同一 組單片機IO口來驅(qū)動。讀者的第一反應(yīng)是不是:那好像行不通,豈不是所有數(shù) 碼管都顯示相同的內(nèi)容了?
D0 到 D4 能夠控制單個數(shù)碼管的供電,如果單片機的程序這樣做:先在 IO口上輸出 1 的碼型,然后只點亮第1個數(shù)碼管,其他數(shù)碼管都關(guān)閉;第二步,在IO口上輸出 2 的碼型,然后只點亮第2個數(shù)碼管;第三步,IO口上輸出3的碼型,然后只點亮第3個數(shù)碼管;第四步,IO口上輸出4 的碼型,然后只點亮第4個數(shù)碼管。接著又回到第一步重復(fù)這些步驟。
沒錯!就是一個跑馬燈,4個數(shù)碼管依次被點亮。如果把時間因素考慮進去, 這個跑馬燈跑一圈的時間小于人眼的視覺延時時間,嘿嘿,沒錯,眼睛就這樣被 欺騙了。你就會神奇的感覺到:4個數(shù)碼管同時亮了!而且還顯示著各自獨立的內(nèi)容。
說完數(shù)碼管,再來談一談陣列顯示:
數(shù)碼管雖好,但其變化實在有限,如果要顯示一個圖形、圖標,那非要陣列 莫屬。就拿圖中的最基本的陣列單元來看,我的哥!八八六十四個 LED 發(fā)光管, 如果要使每個點都能獨立顯示,至少需要 65 個引腳!那還有簡化的空間嗎?當然,繼續(xù)尋找線路復(fù)用的方法唄!
通過行列形式進行組織無疑是一種直觀、簡化的辦法:用 8 根行線與 8 根列 線交叉,每一個交叉點上連接一個發(fā)光管,將指定的行線和列線加電,那么它們 所交匯的那個發(fā)光管就被點亮。那豈不是同時只能點亮一個,或者一排發(fā)光管?回憶一下前面的例子,現(xiàn)在輪到欺騙眼睛的伎倆登場(壞笑)!
單片機 16 個引腳驅(qū)動 64 個 LED 的陣列
以上那么多例子,說明一個事情:平時我們所感覺到事情發(fā)生“同時”性并 不完全是真的。時間能夠在你眼皮底下變戲法而讓你無法察覺!如果你是一個設(shè) 計者,要通過區(qū)區(qū) 16 根線讓 64 個發(fā)光管“同時”受控制,拋棄時間因素話,就 不可避免會鉆到牛角尖里去?!澳窃趺纯赡?!”
從時間的微觀角度去看,很難有什么事情是真正同時發(fā)生的,你在電腦上看 著文檔,同時電腦又播放著迷人的音樂,音樂和顯示器上的內(nèi)容變化都是“同時” 發(fā)生著,如果真的要同時,那么電腦就要有成千個處理器,每開啟一個程序,就 要增加使用一個獨立的處理器。而事實上并非如此,個人電腦一般只有一個處理器而且足以應(yīng)付你“同時”看文檔和聽歌這類事。
站在程序的視角,在陣列上顯示一個 B,總共分 8 步:
陣列組織方式,除了在顯示上面派用場,在內(nèi)存中、鍵盤中同樣可以采用類 似的方法。比如說鍵盤:
不難理解,當按鍵查詢程序運行一個周期所需要的時間小于你的手指按下一個按鍵的時間時,無論你怎么去按下按鍵,都能被程序檢測到!假如你是超人:手指按鍵速度超過程序速度,那當然按鍵就不能再響應(yīng)你了:)這種玩弄時間的 伎倆終于被識破了(壞笑)。
最后上一個案例給讀者自己琢磨:
手握一支筆尖帶有一個感光器 的光筆,當光強大于一個設(shè)定的幅度時,光筆 輸出信號1,否則輸出信號0。現(xiàn)在要實現(xiàn)光筆在LED陣列上繪畫的功能,站在程 序的角度,程序該怎么做?總共分幾步?別忘了利用時間變戲法哦,別問我為什 么不需要觸摸屏,奧秘全在于對時間的理解。
舉了那么多栗子夠累的,下面我們來玩一玩概念。學概念是最占便宜的行當, 既能快速理解,又不需要花太大成本,然后搖身一變,就能裝個專家了!這里當 然還是說與時間有關(guān)的事,來談一談實時系統(tǒng)。
實時系統(tǒng)是什么?實時是啥意思?立即、馬上的意思?可能差不多吧。但是 立即又是多長時間呢?馬上又是多長時間呢?了解分時系統(tǒng)的讀者可能會本能的理解字面意思:把系統(tǒng)分為分時系統(tǒng)和實時系統(tǒng)兩大類,分時系統(tǒng)是過時的老技術(shù),實時系統(tǒng)比較高大上。真是這樣嗎?這些理解會把人帶到溝里去的。
看看百度怎么說:一個實時系統(tǒng)是指計算的正確性不僅取決于程序的邏輯正 確性,也取決于結(jié)果產(chǎn)生的時間,如果系統(tǒng)的時間約束條件得不到滿足,將會發(fā) 生系統(tǒng)出錯。所謂“實時”,是表示“及時”,而實時系統(tǒng)是指系統(tǒng)能及時響應(yīng) 外部事件的請求,在規(guī)定的時間內(nèi)完成對該事件的處理,并控制所有實時任務(wù)協(xié) 調(diào)一致的運行。
首先實時系統(tǒng)并非一定是計算機系統(tǒng),比如執(zhí)行攔截任務(wù)導彈的發(fā)射電路, 要求從按鈕按下到導彈發(fā)射的時間間隔必須小于一個值,否則將錯過攔截目標而 導致任務(wù)失敗。也就是說,實時系統(tǒng)除了對功能有要求外,對時間也有要求。按鈕按下能夠使火箭發(fā)射是功能,按下按鈕之后在要求的時間限制內(nèi)使火箭發(fā)射是時間!
既然是“實時”表示“及時”的意思,那難道分時系統(tǒng)就不及時了嗎?問到 點子上了,事實上,實時系統(tǒng)與分時系統(tǒng)并非并列相對的,它們根本就是兩個不 同的概念。分時系統(tǒng)主要是指計算機操作系統(tǒng),而實時系統(tǒng)是一個大概念,它也 包括操作系統(tǒng)。如果在分時系統(tǒng)上增加對時間的約束管理,使得任務(wù)的執(zhí)行時間 能夠預(yù)知和可控,那么這個分時系統(tǒng)同時又是一個實時系統(tǒng)。
為了加深認識,舉一個極端的例子:
在一艘游輪安裝有一個礁石避讓系統(tǒng),這個系統(tǒng)由聲吶裝置和舵機控制兩大 部分組成,聲吶裝置探測半徑為2海里,游輪的最高速度20節(jié)(海里每小時), 那么從探測到障礙到游輪觸礁的時間最快是6分鐘,而舵機轉(zhuǎn)向之后到游輪改變 航道需要4分鐘。那就要求礁石避讓系統(tǒng)從接收到障礙信號到輸出控制舵機轉(zhuǎn)向 的時間必須小于2分鐘。只要這個2分鐘的要求能夠滿足,那么這個礁石避讓系 統(tǒng)就是一個實時系統(tǒng)!
實時系統(tǒng)在概念上又有強實時和弱實時之分,或叫硬實時和軟實時之分:強 實時系統(tǒng)(Hard Real-Time):在航空航天、軍事、核工業(yè)等一些關(guān)鍵領(lǐng)域中, 應(yīng)用時間需求應(yīng)能夠得到完全滿足,否則就造成如飛機失事等重大地安全事故,造成重大生命財產(chǎn)損失和生態(tài)破壞。因此,在這類系統(tǒng)的設(shè)計和實現(xiàn)過程中,應(yīng) 采用各種分析、模擬及形式化驗證方法對系統(tǒng)進行嚴格的檢驗,以保證在各種情 況下應(yīng)用的時間需求和功能需求都能夠得到滿足。
弱實時系統(tǒng)(Soft Real-Time):某些應(yīng)用雖然提出了時間需求,但實時任 務(wù)偶爾違反這種需求對系統(tǒng)的運行以及環(huán)境不會造成嚴重影響,如 視頻點播(Video-On-Demand,VOD)系統(tǒng)、信息采集與檢索系統(tǒng)就是典型的弱實時系統(tǒng)。在VOD系統(tǒng)中,系統(tǒng)只需保證絕大多數(shù)情況下視頻數(shù)據(jù)能夠及時傳輸給用戶即可, 偶爾的數(shù)據(jù)傳輸延遲對用戶不會造成很大影響,也不會造成像飛機失事一樣嚴重的后果。
寫在 最后:其實,在時間的世界里,沒有“久”、“立即”、“馬上”、“瞬間”,時間就是一個可以用數(shù)字衡量的東西,我們的直覺和感官范圍太小,所有的感覺都建立在 相對的基礎(chǔ)上。有句諺語說:飯是要一口一口吃的,事情是一件一件做的,路是 一步一步走的!就是要我們認識到時間的特性,為什么一些人可以從容面對和處 理非常多的事,而大部分人總是只能做一件事,事情多了就煩躁,失去頭緒,因 為他潛意識想所有的事情同時得到解決,然后就亂了方寸。從微觀的角度,站在 程序的視角也是如此,程序是一個指令一個指令的往下執(zhí)行的,語句是一句一句 往下走的,不是所有的功能和信號都是同時發(fā)生的!即使你感覺到它們是同時發(fā) 生的,那極有可能你被“欺騙”了。
假使一個程序周期就是一次生命的話,你的人生就是一部進化史。當一個鍵 盤掃描程序全部代碼的意義發(fā)生在某個方波的下降沿附近的某個位置時,它掃到 了一個按鍵。當你的人生發(fā)生在人類進化史上的某個細微的角落時,你干了一些 有意義的事情。李白的人生、成吉思汗的人生、耶穌的人生、爺爺?shù)娜松职?的人生、你自己的人生,相對于地球時間而言,就如同一個程序周期發(fā)生在一連 串信號中某個方波的溝溝里面,性質(zhì)是一樣的。無論你怎樣生活,無論是秉承金 錢至上還是頓悟出道的理念,無論你有或沒有偉大的目標,無論你信不信上帝, 時間就這樣一如既往,讓每個人的人生成為它的一個瞬間。
人的聰明,就在于你能夠突破感官,意識到眼見并非為實,去理解那些你身 體感官永遠感受不到的事實。希望本文能夠?qū)ψx者有所啟發(fā)。
審核編輯:黃飛
-
led
+關(guān)注
關(guān)注
242文章
23277瀏覽量
660893 -
單片機
+關(guān)注
關(guān)注
6037文章
44558瀏覽量
635354 -
顯示器
+關(guān)注
關(guān)注
21文章
4979瀏覽量
139991 -
晶振
+關(guān)注
關(guān)注
34文章
2866瀏覽量
68038 -
脈沖信號
+關(guān)注
關(guān)注
6文章
399瀏覽量
36973
發(fā)布評論請先 登錄
相關(guān)推薦
評論