问答

汇集网友智慧,解决技术难题

21ic问答首页 - 华大MCU擦flash跑飞

华大MCU flash AN CAN AB vi

华大MCU擦flash跑飞

重阳233332022-07-12
        华大MCU擦flash时候,无法屏蔽全局中断,导致程序跑飞,一直会进can中断
        华大MCU 32F460JEUA

        /* Unlock EFM. */
        __set_PRIMASK(1);        
        __set_FAULTMASK(1);
        NVIC_ClearPendingIRQ(Int000_IRQn);
        NVIC_DisableIRQ(Int000_IRQn);               
        CAN_IrqCmd(CanRxIrqEn, Disable);
            EFM_Unlock();
           
        for (u8Cnt=0; u8Cnt<u16PageNum; u8Cnt++)
            {
                u8Ret = EFM_SectorErase(start_addr + (u8Cnt * PAGE_SIZE));
                if ( Ok!= u8Ret)
                {
                        /* Lock EFM. */
                            EFM_Lock();
                            return Error;
                }
        }
            /* Lock EFM. */
            EFM_Lock();
        __set_PRIMASK(0);
        __set_FAULTMASK(0);
        CAN_IrqCmd(CanRxIrqEn, Enable);
        //NVIC_ClearPendingIRQ(Int000_IRQn);   //如果不屏蔽还是会跑飞,一直进can中断
        //NVIC_EnableIRQ(Int000_IRQn);                                               
            return Ok;
回答 +关注 5
3754人浏览 0人回答问题 分享 举报
0 个回答

您需要登录后才可以回复 登录 | 注册