请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP432E401Y 工具与软件:
您好!
我正在尝试在 MSP432E401Y 上的一个项目中实施 Modbus。 我以 lwIP 中的 HTTPD 代码为例、创建了一个相当简单的处理程序和回调集。
如果我运行代码、系统将在接受连接后崩溃(我使用命令"telnet 502"(用于生成连接)。 我已经尝试单步执行代码、但如果它在调试器中单步执行、则不会发生硬故障。 特定的硬故障是故障地址为0x99200111的精确总线错误。 我是否有办法尝试找出导致此错误的代码?
我的虚拟服务器实现如下所示:
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
* Data has been received on this pcb.
* For HTTP 1.0, this should normally only happen once (if the request fits in one packet).
*/
static err_t MOD_recv(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err){
USB_Send_String("MODBUS: recv();");
if(p->next != NULL){
USB_Send_String("MODBUS: Multi-payload over capacity;");
return ERR_MEM;
}
struct MOD_Frame * frame = (struct MOD_Frame*) p->payload;
switch(frame->function){
关于为何无法按预期工作、你们都有什么建议或想法吗? 感谢你能抽出时间。