代码如下:
var msg = EncodingDefaultGetString(thisbufToArray());
2完整性判断while (msgLength > BeginOfLineLength + EndOfLineLength)//至少要包含头(2字节)+长度(1字节)+校验(1字节)。
{
if (msgIndexOf(BeginOfLine) == 0)
{
if (msgIndexOf(EndOfLine) > 0)
{
thisRaw = new byte[msgIndexOf(EndOfLine) - BeginOfLineLength + 1];
thisbufCopyTo(BeginOfLineLength, thisRaw, 0, msgIndexOf(EndOfLine) - BeginOfLineLength);
thisbufRemoveRange(0, msgIndexOf(EndOfLine) + EndOfLineLength); if (thisbufCount > 0)
{
msg = EncodingDefaultGetString(thisbufToArray());
}
else msg = "";
thisOnGetNew(thisRaw);
}
else
{
break;
}
}
else
{
//这里是很重要的,如果数据开始不是头,则删除数据。
int index = msgIndexOf(BeginOfLine);
if (index > 0)
{
thisbufRemoveRange(0, index);
msg = msgSubstring(index,msgLength- index);
}
else
{
if(thisbufCount>0)thisbufRemoveAt(0);
msg = "";
}
}
WINCE不允许同时打开多个串口进行读写, 那么你就只能搞一个虚拟串口来 *** 作两个设备了,详见:
>
直接利用你的 ado 对象调用 sql 的 insert 指令插入记录即可。我不知道你用的什么方式(或者说什么包装类)连接的 access ,所以也无法给出具体的代码。如果可以,你可以贴出部分你连接access时的代码我看下。
如果你是用原生 ado *** 作的话,代码应该类似下面,注意这段代码是写完一条记录就立即就关闭的,你可以等都写完了再关闭:
CoInitialize(NULL);_ConnectionPtr ppConn(__uuidof(Connection));
_RecordsetPtr ppRst(__uuidof(Recordset));
ppConn->ConnectionString="Provider=MicrosoftJetOLEDB40;Data Source=D:\\testmdb;Persist Security Info=False";
ppConn->Open("","","",adConnectUnspecified);
CString szSQl;
CString INS_name;
CString INS_age;
GetDlgItemText(IDC_EDIT1,INS_name);
GetDlgItemText(IDC_EDIT2,INS_age);
//下面这两行负责写入数据
szSQlFormat("insert into m_USER (pt_name,pt_age) values ('%s',%d)",INS_name,atol(INS_age));
ppRst=ppConn->Execute(_bstr_t(szSQl),NULL,adCmdText);
ppConn->Close();
ppRstRelease();
ppConnRelease();
CoUninitialize( );
是不是端口句柄初始化问题?
看看下面代码吧
DCB dcb;
m_hIDComDev=CreateFile( "COM2", GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVE RLAPPED, NULL ); // 打开串口,异步 *** 作
if( m_hIDComDev == NULL ) return( FALSE );
dcbDCBlength = sizeof( DCB );
GetCommState( m_hIDComDev, &dcb ); // 获得端口默认设置
dcbBaudRate=CBR_4800;
dcbByteSize=8;
dcbParity= NOPARITY;
。。。。。
以上就是关于MFC串口接收数据,如何接受正确的一串数据全部的内容,包括:MFC串口接收数据,如何接受正确的一串数据、WINCE应用程序MFC开发怎么同时读取两个串口的数据、怎么将MFC从串口获取的数据实时存储到ACCES数据库中呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)