国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 基礎常識 > 正文

XP下超級終端與嵌入式開發板交互技巧

2019-11-01 00:42:06
字體:
來源:轉載
供稿:網友

  一、簡介

  超級終端是Windows操作系統自帶的一個通用的串行交互軟件,可以通過這個工具對路由器交換機等進行配置。使用調制解調器、一條零調制解調電纜或以太網連接,再調用此程序能夠連接到其他計算機、Telnet 站點、公告板系統 (BBS)、聯機服務和主機。我們可以用它來調試電路是否可行。 嵌入式開發板基本都有串口,可以通過超級終端與嵌入式系統的串口交互,使超級終端成為嵌入式系統的“顯示器”。

  使用:開始→程序→附件→通訊→超級終端(可新建或者使用現有的連接對設備進行配置);

  啟動命令:hypertrm.exe。

  二、超級終端的原理

  超級終端的原理并不復雜,它是將用戶的輸入隨時發向串口(采用TCP協議時是發往網口,這里只說串口的情況),但并不顯示輸入。它顯示的是從串口接收到的字符。所以,嵌入式系統的相應程序應該完成的任務便是:

  將自己的啟動信息、過程信息主動發到運行有超級終端的主機;

  將接收到的字符返回到主機(也就是回顯),同時發送需要,也可以遠程管理服務器。

  三、超級終端常用操作

  超級終端應用比較簡單,和一般的串口軟件差不多。

  1、發送0x0C(12) : 清屏;

  2、發送0x08(8) :將光標退格(注意這并不刪除字符);

  3、發送0x09(9) ;將光標右移一個制表符(相當于TAB鍵);

  4、發送0x0D(13);將光標移動到行首;

  5、發送0x0A(10)或0x0B(11);將光標移動到同一列的下一行;

  6、發送0x0D跟0x0A,換行功能(回車和換行的問題后面會具體講解)。

  四、常見問題和解決辦法

  1、把超級終端最大化時,那個實際屏幕還是沒有變化。

  原因:"超級終端"的終端屏幕大小由所使用的字體大小決定。它將自行顯示為 24 行,每行為 80 或 132 個字符,字體為所選字體。

  解決辦法:在超級終端的"查看"菜單上,選擇"字體"。如果想要較大的終端屏幕,就選擇較大的字體。如果想要較小的終端屏幕,就選擇較小的字體。

  2、鍵入的信息沒有顯示在超級終端上。

  原因:終端屏幕顯示的信息是來自遠程計算機所發送的,而不是已輸入到本地計算機上的信息。為了查看所鍵入的信息,遠程計算機必須可反饋輸入信息。這可能會在輸入信息與終端屏幕顯示信息之間存在時間滯后的問題。

  解決辦法:請確保與遠程計算機正確連接,并且遠程計算機可以反饋用戶輸入信息(也就是遠程計算機或嵌入式開發板將受到的信息再發送給本地計算機)。

  3、ANSI字符不能夠正確顯示。

  原因:未使用終端字體。

  解決辦法:在超級終端的"查看"菜單上,選擇"字體"。單擊"終端",然后選擇"確定"。

  4、連接到遠程計算機后,終端屏幕顯示無意義信息。

  原因:未選擇正確的終端仿真類型。

  解決辦法:在超級終端的"文件"菜單上,選擇"屬性"。選中"設置"選項卡。在"仿真"下拉框中,選擇遠程計算機的終端類型。如果遠程計算機類型沒有在下拉框中列出,則超級終端不支持該類型。

  5、不能從終端刪除字符。

  原因:所連接的遠程計算機已經控制了顯示在終端屏幕上的字符。遠程計算機期望光標能根據已發送到屏幕上的數據而定位到屏幕中的特定位置。如果在本地上改變該屏幕,那么就有可能以主機所不能預料或控制的方式,潛在地中斷了您與遠程計算機之間交互操作。因此,超級終端不允許從屏幕上刪除字符。

  解決辦法:不能。其實可以通過向遠程計算機發送b(退格)轉義符和空格來實現。

  6、用CTRL+V不能將數據粘貼到終端屏幕。

  原因:如果在該連接屬性的"終端鍵"進行了設置,按 CTRL+V 將會給模擬器發送轉義序列。許多主機使用 CTRL+V 來導航它們的系統。

  解決方案:可以將該設置更改到"Windows 鍵"中,然后 CTRL+V 就會正常運作。如要更改,請單擊超級終端"文件"菜單中的"屬性"。單擊"設置"選項卡,然后單擊" Windows 鍵"單選按鈕。使用" Windows 鍵"設置時,所有的功能鍵、箭頭鍵和控制鍵將在本地執行。建議選項為:使用"終端鍵"設置,然后使用菜單進行粘貼

  五、回車符和換行符區別

  首先介紹一下“回車”(carriage return)和“換行”(line feed)這兩個概念的來歷和區別。在計算機還沒有出現之前,有一種叫做電傳打字機(Teletype Model 33)的玩意,每秒鐘可以打10個字符。但是它有一個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字符。要是在這0.2秒里面,又有新的字符傳過來,那么這個字符將丟失。于是,研制人員想了個辦法解決這個問題,就是在每行后面加兩個表示結束的字符。一個叫做“回車”,告訴打字機把打印頭定位在左邊界;另一個叫做“換行”,告訴打字機把紙向下移一行。這就是“換行”和“回車”的來歷,從它們的英語名字上也可以看出一二。 后來,計算機發明了,這兩個概念也就被般到了計算機上。那時,存儲器很貴,一些科學家認為在每行結尾加兩個字符太浪費了,加一個就可以。于是,就出現了分歧:

  Unix 系統里,每行結尾只有“<換行>”,即“n”;

  Windows系統里面,每行結尾是“ <回車><換行>”,即“rn”;

  Mac系統里,每行結尾是“<回車>”,即“r”。

  一個直接后果是,Unix/Mac系統下的文件在Windows里打 開的話,所有文字會變成一行;而Windows里的文件在Unix/Mac下打開的話,在每行的結尾可能會多出一個^M符號。

  需要注意的是:在Windows系統中回車鍵被當做rn 的組合來使用,當我們從鍵盤輸入回車鍵時,Windows系統會把回車鍵當做rn 來處理,Unix系統只會當做n 來處理,不管在什么系統中,都可以用n來作為一行輸入結束的標記,只是在編程時我們需要注意,在Windows系統中我們會讀到r 這個字符,我們必須把r和正常輸入的字符區別開來。

  Windows與Unix文件格式是不同的,問題一般就是出在/r/n問題上。回車(CR)和換行(LF)符都是用來表示“下一行”的。而標準沒有規定要使用哪一個。于是產生了三種不同的用法:和windows采用回車+ 換行(CR+LG)表示下一行(亦即所謂的PC格式),UNIX采用換行符(LF)表示下一行,MAC機采用回車符(CR)表示下一行。當在不同的系統間傳遞文件,就要涉及格式的轉換。

  兩種文件格式之間的轉化

  Unix -> Windows:n -> rn

  while ( (ch = fgetc(in)) != EOF )

  {

  if ( ch == n )

  putchar(r);

  putchar(ch);

  }

  只要在Unix文件中出現的n的之前加入一個r字符就可以了

  Unix <- Windows:n <- rn

  從Windows到Unix的情況復雜點,不能只是把從文件中讀出的r去掉就可以了。因為Windows文件中的文本行的末尾有時會內嵌一個回車符號,這種情況在擊打式打印機中出現。所以在轉換前要判斷r是否和n同時出現。如果同時出現,則去掉r,如果沒有同時出現,保留n。

  cr_flag = 0; /* No CR encountered yet */

  while ( (ch = fgetc(in)) != EOF )

  {

  if ( cr_flag && ch != n ) {

  /* This CR did not preceed LF */

  putchar(r);

  }

  if ( !(cr_flag = (ch == r)) )

  putchar(ch);

  }

  六、超級終端中關于回車符合換行符的一些設置

  以換行符作為發送行末尾(ASCII碼發送)

  (超級終端 ->屬性 ->設置 ->ASCII碼設置 ->ASCII碼發送:以換行符作為發送行末尾),若勾選了,則發送的數據中有0D(r)的,會在0D后添加0A(n)。

  以換行符作為傳入行末尾(ASCII碼接收)

  (超級終端 ->屬性 ->設置 ->ASCII碼設置 ->ASCII碼發送:以換行符作為傳入行末尾),若勾選了,則接收的數據中有0D(r)的,會在0D后添加0A(n)。

  此外,還有一點需要注意,我們在使用printf輸出信息時,比如“printf("ce123 CSDN blog.n")”,這里面的n是回車換行,因此通過串口將該字符串發送到超級終端時要在n后面或者后面增加一個r。

 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石门县| 合作市| 惠来县| 五指山市| SHOW| 峡江县| 临洮县| 海门市| 西平县| 澜沧| 平阳县| 敦煌市| 泸定县| 山丹县| 缙云县| 米泉市| 资兴市| 长治县| 大理市| 大城县| 万州区| 唐海县| 佛山市| 阳原县| 湖南省| 会宁县| 朝阳县| 菏泽市| 遂溪县| 河池市| 临潭县| 沈丘县| 岳普湖县| 五莲县| 宜都市| 晋中市| 崇礼县| 布尔津县| 兰溪市| 合山市| 五河县|