全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1854
推到 Plurk!
推到 Facebook!

8255中的程式如何變成RS232

答題得分者是:frederick
kimi
一般會員


發表:37
回覆:76
積分:22
註冊:2003-07-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-18 17:21:35 IP:61.227.xxx.xxx 未訂閱
void __fastcall TMain_Func::ScanTimer(TObject *Sender) { signal=inportb(PPI_PB); //掃瞄PB的輸入訊號,以100ms的時脈 //以m,n,o,p,q,r使訊號不會重複讀取 if(signal==input[4]&&m==0) { Start_Button1->Click(); m=1;n=0;o=0;p=0;q=0;r=0; } if(signal==input[3]&&p==0) { Stop_Button1->Click(); m=0;n=0;o=0;p=1;q=0;r=0; } } 請問大大我要如何將signal=inportb(PPI_PB); 變成rs232可以用的方式 拜託大大的幫忙
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-18 17:59:51 IP:61.218.xxx.xxx 未訂閱
kimi您好:  請參閱下面文章    如何使用 Win32 API 存取 RS232 http://myweb.hinet.net/home5/finetech/TecDoc/Doc2/AcceRS232.htm    您的專題問題還沒解決嗎?您不是決定用RS-232 + 8051 + IrDA來做了嗎? 怎麼跟8255有牽扯呢?    
/*開心的事情別隱藏在心裡,分享給別人知道會更快樂的*/
/*得到新知識別隱藏在心裡,分享給別人了解會更清楚的*/
kimi
一般會員


發表:37
回覆:76
積分:22
註冊:2003-07-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-18 18:32:21 IP:61.13.xxx.xxx 未訂閱
我是用RS-232 8051 IrDA來做,但是我要從學長的8255程式來改,變成我的RS-232能用的程式,所以才又來麻煩大大
frederick
中階會員


發表:101
回覆:108
積分:66
註冊:2002-08-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-19 09:32:19 IP:203.70.xxx.xxx 未訂閱
引言: 我是用RS-232 8051 IrDA來做,但是我要從學長的8255程式來改,變成我的RS-232能用的程式,所以才又來麻煩大大
Hi,Kimi: 我猜想: 1. 是不是此專題原先用「8255 ISA/PCI」, 您學長用直接用library讀取8255上面的狀態? 2. 今天換您做了,但是介面換成RS232? 3. 您RS232是直接接8051嗎? 4. 建議您問題再陳述更清楚點。 謝謝~
dotdot
版主


發表:29
回覆:142
積分:64
註冊:2002-08-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-19 09:40:08 IP:211.22.xxx.xxx 未訂閱
我覺得很奇怪 為何一定要用8255的程式來改呢?? 如果只是運算部分 請先參考人家232的寫法截取所需要的收送部分 照你上面程式看了只是用timer去polling判斷接收端的 訊號去做出相對應的動作然後重新定義flag而已 232同理可證 一直polling接收端 收到你所定義的buffer然後去比對 就像你po的程式一樣 而232讀data部分站上已經有很多範例可以參考 也有元件可以使用 重點 在於用不用心~靜下心來..去看人家的程式推敲 抽出想要的部分 只要做到這一點 對新手而言就等於跨出一大步^^至少我也是這樣開始的
kimi
一般會員


發表:37
回覆:76
積分:22
註冊:2003-07-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-20 08:33:34 IP:61.227.xxx.xxx 未訂閱
1. 是專題原先用「8255 ISA/PCI」,學長用直接用library讀取8255上面的狀態 2. 介面換成RS232? 3. RS232是直接接8051 我不知道從何更改signal=inportb(PPI_PB);這一部份,請大大給我一個指引。
frederick
中階會員


發表:101
回覆:108
積分:66
註冊:2002-08-01

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-20 11:00:30 IP:211.74.xxx.xxx 未訂閱
引言: 1. 是專題原先用「8255 ISA/PCI」,學長用直接用library讀取8255上面的狀態 2. 介面換成RS232? 3. RS232是直接接8051 我不知道從何更改signal=inportb(PPI_PB);這一部份,請大大給我一個指引。
kimi您好: 想必您一定換成從8051 port讀取所要的資料。 那您會不會由RS232傳資料至PC呢? 可試著由8051傳出"Hello",再看看PC收不收的到8051向PC打招呼。 如果經過這步驟之後,表示大概知曉這方面的傳輸。 ---------------------------------------------- 再來就是這行:signal=inportb(PPI_PB); inportb:輸入;好,那如何要求8051我要讀取資料呢? 方法一:8051固定時間傳出資料,這最簡單了。 PC端只要等接收就可以了。 方法二:用command的方式; 就變成要由PC下指令(假設我定義:'@' 表示讀取8051某port) 8051收到後 -> 判斷收到是不是 '@' -> 是的話就把某port的值輸出。 除非您的動作很複雜,不然方法一就好了。 關於方法二如過要瞭解,書店有一本BCB&RS232的書, 您可翻閱關於儀器控制瞭解一些儀器是怎麼用command相互溝通的。 再來您就要瞭解BCB com port元件用法,關於讀取RS232資料的副程式是哪個? 先練習用此讀取副程式讀8051傳來的"Hello", 如果您會用此副程式,我想signal=inportb(PPI_PB); 這應難不倒你吧~ 要親自動手喔~不然您不會發現問題在哪
frederick
中階會員


發表:101
回覆:108
積分:66
註冊:2002-08-01

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-08-20 11:06:02 IP:211.74.xxx.xxx 未訂閱
引言: 1. 是專題原先用「8255 ISA/PCI」,學長用直接用library讀取8255上面的狀態 2. 介面換成RS232? 3. RS232是直接接8051 我不知道從何更改signal=inportb(PPI_PB);這一部份,請大大給我一個指引。
kimi您好: 想必您一定換成從8051 port讀取所要的資料。 那您會不會由RS232傳資料至PC呢? 可試著由8051傳出"Hello",再看看PC收不收的到8051向PC打招呼。 如果經過這步驟之後,表示大概知曉這方面的傳輸。 ---------------------------------------------- 再來就是這行:signal=inportb(PPI_PB); inportb:輸入;好,那如何要求8051我要讀取資料呢? 方法一:8051固定時間傳出資料,這最簡單了。 PC端只要等接收就可以了。 方法二:用command的方式; 就變成要由PC下指令(假設我定義:'@' 表示讀取8051某port) 8051收到後 -> 判斷收到是不是 '@' -> 是的話就把某port的值輸出。 除非您的動作很複雜,不然方法一就好了。 關於方法二如果要瞭解,書店有一本BCB&RS232的書, 您可翻閱關於儀器控制瞭解一些儀器是怎麼用command相互溝通的。 ---------------------------------------------------------------------- 再來您就要瞭解BCB com port元件用法,關於讀取RS232資料的副程式是哪個? 先練習用此讀取副程式讀8051傳來的"Hello", 如果您會用此副程式,我想signal=inportb(PPI_PB); 這應難不倒你吧~ 要親自動手喔~不然您不會發現問題在哪 發表人 -
系統時間:2024-03-29 14:12:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!