主題:EM9260 共有35690人關注過本帖 |
---|
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 [只看該作者]
估計要看具體的代碼才行了,因為這是一個典型的編譯問題。是否是你的定義沒有被包含?
|
|
單帖管理 | 引用 | 回復 |