为什么这会导致NOCP?

为什么这会导致NOCP?,c,arm,cortex-m,C,Arm,Cortex M,我有一个M4F核心处理器的硬故障问题。问题是我有一个NOCP(尝试执行协处理器指令)错误。删除此部分代码后: uint16_t SV_current_heater_1_6[6]; uint8_t HBTriacCurrentFlowP = 0; if (SV_current_heater_1_6[0] > 2200){ HBTriacCurrentFlowP |= 1; } else { HBTriacCurrentFlowP &= 254; } 问题消失了。我

我有一个M4F核心处理器的硬故障问题。问题是我有一个NOCP(尝试执行协处理器指令)错误。删除此部分代码后:

uint16_t SV_current_heater_1_6[6];
uint8_t HBTriacCurrentFlowP = 0;

if (SV_current_heater_1_6[0] > 2200){
    HBTriacCurrentFlowP |= 1;
}
else {
    HBTriacCurrentFlowP &= 254;
}
问题消失了。我做错了什么,这样我可以从中学到下一次

资料:


Atolic TrueStudio、HAL、STM32F4xx

显示所有相关标识符的声明。最好显示您是如何编译的(例如硬浮点/软浮点、目标标志等)是否涉及任何浮点数?编译器设置为:指令集:Thumb2浮点:硬件不涉及浮点数和uint16_t SV_current_加热器_1_6[6];uint8_t HBt三次出现的流量=0;SV_电流_加热器_1_6是直接从12位ADC轮询的值