我现在用的是STM32F103C8T6的,我用串口接入了ESP8266的WIFI模块,先通过MCU对WIFI发送查找当前可搜到的WIFI列表,
[mw_shl_code=c,true] for(i=0;i<Size_Buff;i++)
{
if(RX_buff == 0x22)
Count++;
if(Count == 1 || Count == 2)
{
Buff[Count1] = RX_buff;
Count1++;
}
if(Count == 3)
{
Count1--;
Buff[Count1] = 0x0A;
Count1++;
Count++;
}
if(Count == 5)
Count = 0;
}[/mw_shl_code]
[mw_shl_code=c,true] }
[/mw_shl_code]
记录下所需要的信息,这边信息可能会出现几百个长度,我定义了2500的长度。
然后我再通过MCU向指定通道发送WIFI列表出去,能搜到,但是发送完全之后就直接进入HardHault里面了。请问有什么方法解决
[mw_shl_code=c,true] printf("AT+CIPSEND=%d,%d\r\n",Channel,34+Count1);
SendData_Check();
Printf_Prdfix(0x11);
fputc((Count1+1)/256,F);
fputc((Count1+1)%256,F);
fputc(0x1A,F);
fputc(0x0A,F);
for(i=0;i<Count1;i++)
fputc(Buff,F);
fputc(0x0D,F);
fputc(0x0A,F);
for(i=0;i<Count1;i++)
Buff = 0;[/mw_shl_code]
发送数据主要为
[mw_shl_code=c,true]for(i=0;i<Count1;i++)
fputc(Buff,F);[/mw_shl_code]
[mw_shl_code=c,true]语句;[/mw_shl_code]
[mw_shl_code=c,true]定位异常代码发现都在一个地方,是fput函数那边,左边工程栏,寄存器LR=0xFFFFFFF9,说主程序在线程模式下运行,在使用MSP时被中断。[/mw_shl_code]
[mw_shl_code=c,true]没有了解过MSP的问题,之前不会这样,只有在发送WIFI列表的时候会出现这样的情况,为什么?[/mw_shl_code] |