日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BCB 串口控件的使用 TComm

發布時間:2025/3/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BCB 串口控件的使用 TComm 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

昨天工作用到了串口通信,MMP的,昨天懵逼了一下午,今天終于整通了,身為菜鳥,大師們是不懂這些心痛的。

進入主題:使用BCB提供的控件TComm編程方便且簡單,TComm位于System分類里面。?? / /備注(網友說這種方式可以用,當要求高的時候還是不夠用的。)

1、窗口拖入一個TComm控件

2、屬性框參數設置。

     / /備注(常需設置的參數:CommName串口名 、BaudRate波特率、ByteSize、Parity校驗、ReadIntervalTimeout讀串口時兩字符時間間隔)

3、接收數據并處理

  BCB提供了 OnReceiveData()自動接收來自串口的數據

//備注(typedef void* Pointer;//標準定義的
void __fastcall cm1ReceiveData(TObject *Sender, Pointer Buffer, // Buffer存放著讀取的數據WORD BufferLength); //Bufferlength 存放著 讀取的數據的長度

4、發送數據  

  用串口對象調用寫數據函數

function?TComm.WriteCommData(?pDataToWrite:?PChar;?dwSizeofDataToWrite:?Word?):?Boolean; // 參數一:發送的數據;參數二:發送的數據的長度

5、具體使用串口

TComm * cm1; //1、打開串口
try{cm1->StartComm(); //函數會讓程序掛掉,不知道為什么 try catch可規避,不影響使用 CM1PortOpenSucccessFlag=true;}catch(...){m_step = -1;//Application->MessageBoxA("OK","串口打開失敗",MB_OK|MB_SYSTEMMODAL);}

//2、發送的數據
? char * cmd;
? cmd="MCH\r\n"; //注意:命令MCH末尾要跟著\r\n不然串口不回數據,至于為什么,各位開腦洞吧
? bool rtn = cm1->WriteCommData(cmd,strlen(cmd)); //注意:第二個參數如果按照函數定義那樣用sizeof函數是有問題的,sizeof求的是所占空間,而不是字符個數

//3、睡眠等待Sleep(500);
    發送數據后,接著要使用cm1ReceiveData串口返回的數據,需要等待一些時間。如果不等待,一直不等的 writeCommData將會出錯。

//4、接收函數(自動接收)
void __fastcall TparaForm::cm1ReceiveData(TObject *Sender, Pointer Buffer,
????? WORD BufferLength)
{
? char recvData[100];
? unsigned char revBuffer[100];
? memset(recvData, 0, 100);
? //AnsiString str;
? for(int i=0; i<BufferLength; i++, ((BYTE *)Buffer)++)
? {
??? revBuffer[i] = *(BYTE *)Buffer ;
??? recvData[i] = revBuffer[i];
? }
//得到char* 的recvData接收數據之后,根據需要使用,下面是個例子
??? m_readData=recvData; //成員變量
??? m_readDataLength=BufferLength;
}

//5、使用完,關閉串口
cm1->StopComm();

?

?

?

工作小助攻:AccessPort串口監視軟件 易學易用

參考鏈接:http://www.myexception.cn/h/530898.html(串口各項參數解釋)

     ?? https://bbs.csdn.net/topics/310121049(串口監視工具)

?      ?https://blog.csdn.net/Tercel99/article/details/46690921(這個詳細)

    ? ? http://ascii.911cha.com/(Ascii值對照表)

  ?   ? http://www.cnblogs.com/azbane/p/8710064.html(AnsiString與各種數據類型間的相互轉換)

?

棒棒噠~~么么噠

?

轉載于:https://www.cnblogs.com/azbane/p/8710362.html

總結

以上是生活随笔為你收集整理的BCB 串口控件的使用 TComm的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。