stm32执行中断函数返回前怎么强行改变堆栈内容 然后执行返回指令
2个回答
展开全部
你这是要闹的咋样?直接操作堆栈是很危险,改变堆栈的内容有可能程序会跑飞。莫非哥们已经深入了解了程序运行时系统内部对堆栈的操作?我只能告诉你,你首先要获得栈顶的地址,然后根据该地址对地址空间的数据进行操作:
addr = __get_MSP(void);//获取当前堆栈地址,addr是已经定义好的unsigned int类型
*(u32 *)addr = xxx; //令addr地址空间的值等于xxx,当然你也可以改变addr地址来操作其他数据
addr = __get_MSP(void);//获取当前堆栈地址,addr是已经定义好的unsigned int类型
*(u32 *)addr = xxx; //令addr地址空间的值等于xxx,当然你也可以改变addr地址来操作其他数据
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要帮你做设计吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询