主题中讨论的其他部件:MSP430FR2355,
你(们)好
我尝试在我的应用程序上创建i2c中断服务例程。
并在 初始化过程中启用它。
__bis_sr_register( GIE);
但是,应用程序始终会遇到陷阱。
我发现矢量表中没有可能导致问题的地址。
我将图像附加到线程中,以了解我是如何执行此操作的。
我有没有错过任何东西?
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你(们)好
我尝试在我的应用程序上创建i2c中断服务例程。
并在 初始化过程中启用它。
__bis_sr_register( GIE);
但是,应用程序始终会遇到陷阱。
我发现矢量表中没有可能导致问题的地址。
我将图像附加到线程中,以了解我是如何执行此操作的。
我有没有错过任何东西?
谢谢
您好,
您的MSPFR2155设备上的简单I2C ISR示例代码能否正常工作?
https://dev.ti.com/tirex/explore/node?node=ANKJ0YxiTCPblumr.HO0xA__IOGqZri__LATEST&search=2155
您是否相当确定您的代码不会在超过874行的情况中进行? 我没有看到之前设置了任何中断启用(IE位)。
有一件事吸引了我的眼球:你设置了REFOREADY=1和REFOLP=1。 REFOREADY是只读位。 对于REFOLP,我要提到,我以前曾尝试在FR2355上设置此功能,它没有出现故障,但也没有改变功耗(关于“增强型时钟系统”)。 其中一个或两个在FR2155上的作用可能不同。 (我没有FR2155可以自己尝试。)
同样,如果您删除这两行,其行为是否不同?
下面是我遇到过几次的问题:调试器重置不会停止RTC。 如果您运行的程序使用RTC (特别是RTCIE),则另一个不使用RTC的程序仍将运行并触发RTCIFG。 我第一次看到它的时候,它有点像一个擦头的人。
重新启动主板将使其消失。 或者,在设置GIE之前添加类似"RTCCTL=0;"的内容。 这是一个快速的实验,不管怎样。
否则,您可能只需浏览“寄存器”视图中的所有设备,并查找XXXIV寄存器不为零的设备。 有点乏味,但只需10分钟。