请教一下:在MSP430定时器A中断时,哪些寄存器里面的内容在

[复制链接]
1528|5
 楼主| Z_J_Q 发表于 2014-7-8 09:43 | 显示全部楼层 |阅读模式
请教一下:在MSP430定时器A中断时,哪些寄存器里面的内容在中断中被改变之后退出中断后就不能回到原来的设置?我发现的就是TACTL的设置在中断中改变之后,退出中断其设置就为中断中的设置,而不是主程序中的设置了。
dirtwillfly 发表于 2014-7-8 09:52 | 显示全部楼层
改变了肯定就不是原来的设置了
寄存器对应的是一个实际的物理地址
Unshining 发表于 2014-7-8 10:41 | 显示全部楼层
任何寄存器(除了部分通用寄存器以外)在主程序中和在中断中改变,不会有任何区别,都是永久性变化。没有什么“中断中的设置”这种说法。。
 楼主| Z_J_Q 发表于 2014-7-8 11:17 | 显示全部楼层
dirtwillfly 发表于 2014-7-8 09:52
改变了肯定就不是原来的设置了
寄存器对应的是一个实际的物理地址

但是一旦退出中断,恢复现场保护后,有些在中断中改变的值又回到了主程序中设置的值了
dirtwillfly 发表于 2014-7-8 11:48 | 显示全部楼层
Z_J_Q 发表于 2014-7-8 11:17
但是一旦退出中断,恢复现场保护后,有些在中断中改变的值又回到了主程序中设置的值了 ...

那些是通用寄存器,在进入中断前会压入栈内。退出中断时,出栈回复原来的寄存器的值。
 楼主| Z_J_Q 发表于 2014-7-11 19:06 | 显示全部楼层
dirtwillfly 发表于 2014-7-8 11:48
那些是通用寄存器,在进入中断前会压入栈内。退出中断时,出栈回复原来的寄存器的值。 ...

恩恩,问题已经解决了,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

16

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部