响应usb_attach_cb事件时堆栈溢出

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
4个职位/ 0个新
最后发表
alarner
离线
最后看到:1个月1个星期前
加入: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数据= 1;actionDispatcher - >调度(ActionType_UsbStatusChange平1);}

这段代码工作良好,但如果我添加一个printf语句的调度函数,我得到一个堆栈溢出

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

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

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

嗨alarner,

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

谢谢,PM_Dialog

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

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

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

嗨alarner,

您可以查看SDK的任何BLE示例。例如,请检查pxp_reporter的例子和在主。f你会发现“PXP Reporter”任务。所以,你要做的就是改变从OS_TASK_CREATE() API中分配给任务栈的字节数。

谢谢,PM_Dialog