响应usb_attach_cb事件时堆栈溢出

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
4个职位/ 0个新职位
最后发表
alarner
离线
最后看到:1个月3个星期前
加入:2017-05-27 02:11
响应usb_attach_cb事件时堆栈溢出

我有一个功能,当我的设备的USB连接。

Void usb_attach_cb(Void) {printf("usb_attach_cb\n");ActionDispatcher * ActionDispatcher = ActionDispatcher::Instance();Uint8_t data = 1;actionDispatcher - >调度(ActionType_UsbStatusChange平1);}

这段代码工作正常,但如果我在调用的dispath函数中添加printf语句,就会出现堆栈溢出

v亚博国际官网平台网址ApplicationStackOverflowHook USBC

有没有办法增加堆栈大小来避免这个问题?

设备:
PM_Dialog
离线
最后看到:3天19小时前
工作人员
加入:2018-02-08 11:03
嗨alarner,

嗨alarner,

不建议将内部的printf函数调用回调函数。这方面的最佳实践是创建一个任务,当usb_attach_cb被触发时,应该触发带有printf的任务。否则,您应该增加将分配给正在使用的任务的堆栈的字节数(stack_size)。

谢谢,PM_Dialog

alarner
离线
最后看到:1个月3个星期前
加入:2017-05-27 02:11
谢谢您的回复。

谢谢您的回复。在哪里可以找到演示如何增加分配给堆栈的字节数的代码示例?

PM_Dialog
离线
最后看到:3天19小时前
工作人员
加入:2018-02-08 11:03
嗨alarner,

嗨alarner,

您可以查看我们的任何BLE SDK示例。例如,请检查pxp_reporter的例子和在主要。如果你会找到“PXP Reporter”任务。因此,你需要做的就是从OS_TASK_CREATE() API中更改分配给任务堆栈的字节数。

谢谢,PM_Dialog