主题:EM9260

  共有31279人关注过本帖    
SXJ
1楼


EM9260  发帖心情 Post By:2011-7-22 15:30:00   [只看该作者]

请教,问题如下:
用贵公司EM9260的板子,采用串口与PC机成功实现了通讯,串口的接收程序如下:
void CALLBACK OnReceive( )
  {
  
  memcpy(&DatReSer[0],&ceSer.DatBuf[0],25);//char DatReSer[25]:ARM板接收PC机的数据 
  Number=0;//计数器清零
  Numberinto=0;//计数器清零
  Numberup=0;//计数器清零
  Numberdown=0;//计数器清零
  
  }
现在尝试用UDP代替串口实现此通讯,发送数据已经成功,但是在接收函数部分存在问题
写了两种函数的实现
(1)void CALLBACK OnUDPRecv()
  {
      
      
  Number=0;//计数值清零
  Numberinto=0;
  Numberup=0;
  Numberdown=0;
  }
(2)void CALLBACK OnUDPRecv(char * buf , int len)
  {
      memcpy(&AA.r_packet[0],buf,25);
  Number=0;
  Numberinto=0;
  Numberup=0;
  Numberdown=0;
  }
第二个函数在设断点进行单步调试时buf显示出错找不到buf。
请问这个UDP的接收函数怎么写才能代替我的串口接收函数呢?

  单帖管理 | 引用 | 回复 回到顶部
zhl
2楼


  发帖心情 Post By:2011-7-22 17:05:00   [只看该作者]

在定义回调函数的地方也要增加相应的参数,如:
typedef void (CALLBACK* ONUDPRECV)( char* buf, int len );

  单帖管理 | 引用 | 回复 回到顶部
SXJ
3楼


  发帖心情 Post By:2011-7-22 18:40:00   [只看该作者]

我定义了的
//定义UDP接收数据事件
typedef void (CALLBACK* ONUDPRECV)(char * buf , int len);
以及
//定义数据接收事件,接收监控机发送的数据
 static void CALLBACK OnUDPRecv(char * buf , int len);  
但是在单步调试的时候还是说找不到buf?!

  单帖管理 | 引用 | 回复 回到顶部
x10
4楼


  发帖心情 Post By:2011-7-24 21:29:00   [只看该作者]

估计要看具体的代码才行了,因为这是一个典型的编译问题。是否是你的定义没有被包含?

  单帖管理 | 引用 | 回复 回到顶部

返回首页

EM9260

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: