|
引用 15 楼 jiqiang01234 的回复:
引用 14 楼 kusheng176 的回复:
我的虚拟键盘就是一些BUTTON控件。当PC机接收到我发送的数据时,利用MScomm,来写响应代码就行了?
直接在接收响应里写东西就行了,就像单片机中的串口中断中写一样。
我还想请问一下,我在接收框里怎么才能显示我按键输入的数字呢?我对于MSCOMM还是不太熟,网上的概念都比较浅。。。我按照下面的代码去实现,接收框出来的是乱码
void CScommTestDlg::OnComm()
{
VARIANT variant_inp;
COleSafeArray safearray_inp ;
LONG len,k ;
BYTE rxdata [2048] ; //设置BYTE 数组An 8 - bit integerthat is not signed.
CString strtemp ;
if (m_ctrlComm. GetCommEvent()==2)// 事件值为2 表示接收缓冲区内有字符
{ ///// 以下可以根据自己的通信协议加入处理代码
variant_inp = m_ctrlComm. GetInput () ; // 读缓冲区
safearray_inp = variant_inp ; // VARIANT型变量转换为ColeSafeArray 型变量
len = safearray_inp. GetOneDimSize () ; // 得到有效数据长度
for(k=0;k
safearray_inp. GetElement ( &k,rxdata+k) ; // 转换为BYTE 型数组
for (k=0;k
{
BYTE bt=*(char * ) (rxdata+k) ; // 字符型
strtemp.Format ("%d",bt);//将字符送入临时变量strtemp存放
m_strRXData+=strtemp ; //加入接收编辑框对应字符串
}
} |
|