請問如何使用BCB,將RS232利用2次傳送,接收訊號 |
尚未結案
|
kevinchou
一般會員 發表:1 回覆:6 積分:1 註冊:2005-04-28 發送簡訊給我 |
各位大大: 因為初學者,對BCB部是很了解,我有一個程式,應用到單晶片,其作動的方式是使用BCB先傳送訊號給單晶片,在將單晶片所變化的數值傳給BCB,顯示在電腦螢幕上,因接收的訊號從0~66356 ,它傳送的方式,是利用2個8 bit傳送,先傳送低位元,在傳送高位元,所以在接收方面,需分兩次傳送,程式方面,目前只會使用一次傳送,所以只有0~255,請問要如何將程式更改,才能編成兩次傳送,達到16 BIT,會使用的大大,可以幫忙一下ㄇ,謝謝! unsigned char get_value(void)
{
String Temp;
unsigned char inbuff[2];
DWORD nBytesRead, dwEvent, dwError;
COMSTAT cs;
ClearCommError(hComm,&dwError,&cs);
if (cs.cbInQue > sizeof(inbuff))
{
PurgeComm(hComm, PURGE_RXCLEAR);
return(0);
}
ReadFile(hComm, inbuff,cs.cbInQue,&nBytesRead,NULL);
inbuff[1]= '\0';
return(inbuff[0]);
}
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
kevinchou
一般會員 發表:1 回覆:6 積分:1 註冊:2005-04-28 發送簡訊給我 |
暗黑破壞神: 若有使用元件則要如何更改ㄋ,下面程式只能傳送一次,如何改成可傳送2次,以達到16BIT //--------------------------------------------------------------------------- #include
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
kevinchou
一般會員 發表:1 回覆:6 積分:1 註冊:2005-04-28 發送簡訊給我 |
|
kevinchou
一般會員 發表:1 回覆:6 積分:1 註冊:2005-04-28 發送簡訊給我 |
暗黑破壞神: 1.先是電腦送0、1的訊號,如下程式,當送0的訊號,則接收單晶片所傳送的訊號,當送1的訊號,則接收單晶片 另一個腳位所傳送的訊號
2.您所給我的網址,我有去看過了! void __fastcall TForm1::Timer1Timer(TObject *Sender)
{ send_command(index);
switch (index)
{
case 0: LabeledEdit1->Text=IntToStr(get_value());break;
case 1: LabeledEdit2->Text=IntToStr(get_value());break; } if(index<2)
index ;
else
index=0;
}
..................
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
引言: 1.先是電腦送0、1的訊號,如下程式,當送0的訊號,則接收單晶片所傳送的訊號,當送1的訊號,則接收單晶片 另一個腳位所傳送的訊號 2.您所給我的網址,我有去看過了!1.不要期待我會看你的程式。通常超過五行的程式,我就會有閱讀障礙了。 所以。請你把你的動作,講清楚說明白。 不要不清不楚的。 什麼叫"先是電腦送0、1的訊號"? 什麼叫”送0的訊號,則接收單晶片所傳送的訊號" 什麼叫”送1的訊號,則接收單晶片”這個跟上一行又有何不同? 發問,要把自己的問題講清楚。 不要讓人看那一大串的程式。程式是要自己寫。 我們只能跟你說觀念,概念。 2.你看過了。那他是怎麼做傳輸的?你看了嗎? |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
kevinchou
一般會員 發表:1 回覆:6 積分:1 註冊:2005-04-28 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
kevinchou
一般會員 發表:1 回覆:6 積分:1 註冊:2005-04-28 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
kevinchou
一般會員 發表:1 回覆:6 積分:1 註冊:2005-04-28 發送簡訊給我 |
|
friendlly
高階會員 發表:22 回覆:144 積分:103 註冊:2003-04-08 發送簡訊給我 |
引言:看了你的問題與版主的回答,應該你已得到要的答案了吧.. 不過你問的怪怪: 問題所在點為如何傳送2次 <--------??? 應該是: 如何處理接收到的2筆資料吧? Right??? 發表人 - friendlly 於 2005/05/02 18:04:54引言: 謝謝您,目前的問題為PC接收,之前PO的程式已經可以接收訊號,只是可接收的值只有8-bit(0~255),想將可接收的範圍變成16-bit(0 ~ 66356),所以分2次傳送即可完成,問題所在點為如何傳送2次,是寫迴圈還是...,不好意思,打擾你納麼久。PC 接收要變成 16 bit? 你去看看 union 把收到的分別丟進上跟下位元。 就可以了。 或是你收到的上位元 * 256 下位元。 這樣不就是了嗎????? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |