求大神看看我的程序哪里出错了?编译没错,但是运行到这就错了。

小羊同学 2012-06-29 03:52:45

unsigned char UartRCV_Buffer[3][60]; //主串口数据接收buffer
unsigned char UartRCV_pkt_InIdx;
unsigned char* pUartRx;//接收缓存指针

int CSerialPortDlg::FuncReceiveDataPacket(unsigned char * nRecvData/*,unsigned char *pRecv*/)
{

unsigned char nRECV_COUNT = *nRecvData;

static char PktLen = 3, Uart_RxCount;//用來計數

if(UartRCV_pkt_InIdx>2)UartRCV_pkt_InIdx=0;

if (Uart_RxCount == 0)
{
if (nRECV_COUNT== 0xfe)
{
Uart_RxCount++;
}
return 0;
}
else if (Uart_RxCount == 1) //接收第二字节

{
if ((nRECV_COUNT >> 6) > VOICE)//同步或者监听
{
PktLen = 4;
}
else if ((nRECV_COUNT >> 6) == VOICE)
{
PktLen = 25;
}
else
{
PktLen = ((nRECV_COUNT&0x07) << 2) + 2;
}
pUartRx = &UartRCV_Buffer[UartRCV_pkt_InIdx][0] ;// &UartSlotPst->Buffer[Uart_Index][0];
pUartRx[0] = 0xfe;
pUartRx[Uart_RxCount++] = nRECV_COUNT;
return 0 ;
}
else if (Uart_RxCount < (PktLen - 1))
{
pUartRx[Uart_RxCount++] = nRECV_COUNT;
return 0;
}
else if (Uart_RxCount == (PktLen - 1))
{
pUartRx[Uart_RxCount] = nRECV_COUNT;
Uart_RxCount = 0;
}


//更新索引
if ((++UartRCV_pkt_InIdx) >( 3-1))
{
UartRCV_pkt_InIdx = 0;
return 0;
}

else
{
Uart_RxCount = 0;
}

return 0;
}
...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
CandPointer 2012-06-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

单步调试和设断点调试是程序员必须掌握的技能之一。

崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
[/Quote]

真精彩。
赵老师的语录,高度可复用,一次编写,到处运行

LZ,最好把代码放在 [code=C/C++]】【/code 标签里面, 这样的格式看起来更舒服
酱油党 2012-06-29
  • 打赏
  • 举报
回复
打印log,CE是最难调试的啦@!~
长期Wince建议写一个通用的Log库!~
小羊同学 2012-06-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

单步调试和设断点调试是程序员必须掌握的技能之一。

崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
[/Quote]
嗯 我知道的 ,我这是在ARM上跑的WINCE程序 ,在vc2005中运行的,因为没有模拟器,所以不能调试,只能每次都把编译好的exe程序运行在ARM上看看哪里出错或者什么的。。
赵4老师 2012-06-29
  • 打赏
  • 举报
回复
单步调试和设断点调试是程序员必须掌握的技能之一。

崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。

64,634

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧