我使用的是FreeRTOS,我想使用我制作的mac协议!
在一个任务上,我想要Send_Beacon()函数(发送信标帧)。
当我在任务中调用该函数时,会出现堆栈溢出。
void vApplicationStackOverflowHook(TaskHandle_t pxTask, char *pcTaskName)vApplicationStackOverflowHook被称为。
if (xTaskCreate(MAC_Init, (signed portCHAR *)"MAC_Inits", 128, NULL, 3,
NULL) == pdTRUE) {
//GPIOPinWrite(GPIO_C_BASE,GPIO_PIN_3,GPIO_PIN_3);
}我曾尝试将堆栈深度参数从128更改为1600。
但失败了。
有什么问题吗?
堆栈深度参数的值不存在问题吗?
发布于 2016-10-24 21:00:38
请记住,堆栈大小是以单词而不是字节指定的。请参阅xTaskCreate()和xTaskCreateStatic()函数的文档。
如果您使用的是xTaskCreate(),并且在增加其堆栈大小后无法创建该任务,那么您的FreeRTOS堆就用完了(链接告诉您如何处理它)。
https://stackoverflow.com/questions/40224351
复制相似问题