STM32单片机 进入 hardfault 原因

float gf_temp1;
ErrorStatus UpComToLocalCMD(QUEUE_STRUCT_t* pQueue,_UpComCmdDataPacket* pUpCDP)
{
    _UpComCmdDataPacket ls_DecvComCMD;
    memset(pUpCDP,0,sizeof(_UpComCmdDataPacket));

    QUEUE_StructOut(pQueue,(uint8_t *)&pUpCDP,1);

    memset(&pUpCDP,0,sizeof(_UpComCmdDataPacket));

memset 一开始加了 & 符号  导致退出这个函数的时候   系统进入hardfault 

pUpCDP 已经是指针了  不能再& 取地址了  会导致错误的地址被清零

你可能感兴趣的:(单片机,hardfault)