-
Notifications
You must be signed in to change notification settings - Fork 41
Open
Description
硬件平台:stm32f103rct6
使用了样例代码,在36行程序调用了EasyUIAddItem函数,程序在其中触发了hardfault。
分析了原因:*item的成员flag和param为NULL(0x00000000),执行EasyUIAddItem函数的第1行和第3行,对这两个空指针解引用和赋值,造成了内存访问错误。
请问是否是我使用有误?我暂时这样处理了:
void EasyUIAddItem(EasyUIPage_t *page, EasyUIItem_t *item, char *_title, EasyUIItem_e func, ...)
{
// -------被替代-----
// *item->flag = false;
// item->flagDefault = false;
// *item->param = 0;
// ------替代-------
if (item->flag)//NULL
{
*item->flag = false;
item->flagDefault = false;
}
if (item->param)
{
*item->param = 0;
}
// ----------
item->paramDefault = 0;
item->paramBackup = 0;
item->pageId = 0;
item->Event = NULL;
……Metadata
Metadata
Assignees
Labels
No labels