程序退出中断,变量值异常改变

2019-07-19 20:40发布

今天遇到一个比较奇怪的现象,找大家帮下忙。
用的软件是IAR for STM8,芯片是STM8s105。

程序总流程:关中断->MCU初始化->开中断->进主循环。


问题说明:程序打开中断后,立即进入定时器2中断,在退出中断前,从图1可知,变量数据都为0;然后我点击单步运行(强调:仅点击一次单步运行),程序退出中断后,数据异常(如图2)。

该变量数据结构如下:
struct FL_Rst_Typedef
{
    uint8_t WFF    : 1;
    uint8_t pFL     : 2;
    uint8_t RstFlg : 3;
    uint16_t DownCNT;
    uint32_t FL[4];      /* 保留的滤芯寿命 */
};

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。