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

一個RS232的接收問題

缺席
kilomatter
一般會員


發表:2
回覆:3
積分:1
註冊:2003-08-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-07 22:28:20 IP:163.28.xxx.xxx 未訂閱
請問,我使用EM78447,傳送8bit的數值(EX:0XFF)透過RS-232傳給BCB接收。 但是,BCB卻沒有辦法接受到正確的值。 想請問BCB從RS232所接收到的值,格式為何?? 該如何轉換為8bit的數值? 謝謝!
dotdot
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-07 23:29:00 IP:61.70.xxx.xxx 未訂閱
你給的訊息太少 我想你可以釐清幾個問題 1.PC端 與 MCU內部所設定的包率是否一致? 2.你的實驗板上的硬體是否確定OK? 3.可先選定通訊模式 例如最常看到:9600,n,8,1試試
kilomatter
一般會員


發表:2
回覆:3
積分:1
註冊:2003-08-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-08 01:17:14 IP:163.28.xxx.xxx 未訂閱
我有利用C語言測試過傳到電腦上的值是正確的,也就是說我的硬體是沒有問題的。 在boud rate部份設定沒有問題。 我的問題是,傳到電腦上的值,我利用Readfile函式讀出來後,是字串的格式。但是,我不知道要如何才能將字串轉換成我所要的資料。 PS:在C語言中,我用inportb(0x03f8)將RS232所傳輸的值讀出,其型態為double。但是在BCB中,所讀出為字串。不知道,該如何轉換。 大概問題是這樣。
dotdot
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-08 09:15:41 IP:211.22.xxx.xxx 未訂閱
不知道這是不是您想要的 char xx='a'; Edit1->Text="0x" IntToHex(xx,2); ^^~
brook
資深會員


發表:57
回覆:323
積分:371
註冊:2002-07-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-08 09:51:34 IP:218.160.xxx.xxx 未訂閱
引言: 1.我用inportb(0x03f8)將RS232所傳輸的值讀出,其型態為double
Turbo C 讀出來的是byte哦.
引言: 我利用Readfile函式讀出來後,是字串的格式。
假如是bcb的ReadFile,讀出來的也不是字串的格式. BOOL ReadFile( HANDLE hFile, // handle of file to read LPVOID lpBuffer, // address of buffer that receives data DWORD nNumberOfBytesToRead, // number of bytes to read LPDWORD lpNumberOfBytesRead, // address of number of bytes read LPOVERLAPPED lpOverlapped // address of structure for data ); 但你可把它當成,無論是char, unsigned char,BYTE,WORD...只要把指標指過去即可 如: BYTE *p = (BYTE*)lpBuffer; 假如你的Readfile不是bcb提供的,只能讀字串的話,你可能要找看看有沒有其他適合的function可用.
kilomatter
一般會員


發表:2
回覆:3
積分:1
註冊:2003-08-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-13 22:33:41 IP:163.28.xxx.xxx 未訂閱
再問一個問題,使用ReadFile這個函式,RS-232的接腳,該如何設定?? 是否只需將Tx、Rx、GND接上,就可以了?
dotdot
版主


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-16 12:36:51 IP:61.70.xxx.xxx 未訂閱
基本上從pc--->到device 只要2 3腳就可以 但是要交叉 也就是pc的2接到 device的3 ; pc的3接到device的2 這樣td,rd才能通 而接地我記得應該是第五腳 可以先不理會 只要2,3<====>3,2就可以試了
系統時間:2024-04-26 5:34:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!