我有一个函数,响应我的设备的USB附加。
void usb_attach_cb(void){printf(“usb_attach_cb \ n”);ActionDispatcher * ActionDisPatcher = ActionDisPatcher :: instance();UINT8_T数据= 1;ActionDispatcher-> Dispatch(ActionType_usbstatusChange,&Data,1);}
此代码正常工作,但如果我为调用的PrintF语句添加到分校函数,则逐帧溢出
V亚博国际官网平台网址applicationStackoverFlowhook USBC.
有没有办法增加堆栈大小以避免这个问题?
设备:
嗨alarner,
建议不要将打印函数称为回调函数。最佳实践是创建任务,并且当触发USB_Attach_CB时,应触发具有PrintF的任务。否则,您应该增加将分配给您正在使用的任务堆栈的字节数(Stack_size)。
谢谢,PM_DIALOG.
感谢您的答复。我在哪里可以找到一个代码示例,演示了增加分配给堆栈的字节数?
嗨alarner,
您可以检查SDK的任何BLE示例。例如,请检查pxp_reporter示例和main.f,您将找到“PXP Reporter”任务。因此,您必须做的是将字节数更改为从OS_TASK_CREATE()API中的任务堆栈的字节数。
谢谢,PM_DIALOG.