主题:EM9260 共有31258人关注过本帖 |
---|
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 [只看该作者]
估计要看具体的代码才行了,因为这是一个典型的编译问题。是否是你的定义没有被包含?
|
|
单帖管理 | 引用 | 回复 |