|
本人现在有一个“英创EM9260”套件,想在上面做一个简单的串口程序,实现给一个电度表发送字符串并接收其返回的字符串,然后通过一个lcd屏幕显示返回的字符串。我把套件提供的一个串口通信的示例程序做了简单的修改,但是只能实现发送数据,回收的数据怎么弄也无法显示到lcd上。以下是这个程序的接收函数,想问下大家这个代码有什么问题,为什么可以把串口发送过来的字符原样的反法出去却无法在lcd上显示呢?本人第一次接触wince方面的东西,真是弄不明白啊,希望大家帮忙看看!
void CALLBACK OnReceive( )
{
int i;
int cg;
char str[100];
char str1[100];
char p[14];
DWORD dwlen;
dwlen = ceSer.WritePort( ceSer.DatBuf, ceSer.m_lDatLen );
SendLen += dwlen;
if( type>0 )
{ if(ReceiveLen==18){
for(i=0;i<18;i++)
str1=ceSer.DatBuf;
}
sprintf( str, "接收数据: %ld ",str1);
LCD_WriteString( 8, 16, str, 1 );
}
}
|
|