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.

[参考译文] MSP430FR2155:MSP430FR2155

Guru**** 1831610 points
Other Parts Discussed in Thread: MSP430FR2355, MSP430FR2155
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1091867/msp430fr2155-msp430fr2155

部件号:MSP430FR2155
主题中讨论的其他部件:MSP430FR2355

你(们)好  

我尝试在我的应用程序上创建i2c中断服务例程。

并在 初始化过程中启用它。

__bis_sr_register( GIE);

但是,应用程序始终会遇到陷阱。

我发现矢量表中没有可能导致问题的地址。

我将图像附加到线程中,以了解我是如何执行此操作的。

我有没有错过任何东西?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    UCB1IV不是矢量表(代码)地址,而是一个带有小整数的寄存器,表示待处理中断(在本例中为0x0000=none)。

    您遇到了什么陷阱? main.c的850行是什么? ISR_TRAC()可能是由不正确的"vector="引起的,但UCB1显示的是正确的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     行 859处的man.c是main()函数的第一行。  我附上它被陷印的确切位置。

    感谢你的帮助

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我只使用msp430fr2355 EVM进行测试,当执行874线路时,它工作正常。

    但是,当我在msp430fr2155上运行应用程序时,它在执行874行时挂起。

    然后转到 ISR_TRAP.asm

    我将此项目文件从msp430fr2355移植到msp430fr2155。

    我在这里错过了什么?

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    您的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可以自己尝试。)

    同样,如果您删除这两行,其行为是否不同?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Allen

    我尝试从上面的示例中输入i2c中断服务例程,但它从不传递行874。  

    如果我注释掉行874,我没有看到i2c保养例行程序被触发。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Bruce:

    我只想对874行以上的所有内容进行评论,结果仍然是一样的。

    它从未通过过874号线

    如果我对874行进行评论,它运行良好。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    下面是我遇到过几次的问题:调试器重置不会停止RTC。 如果您运行的程序使用RTC (特别是RTCIE),则另一个不使用RTC的程序仍将运行并触发RTCIFG。 我第一次看到它的时候,它有点像一个擦头的人。

    重新启动主板将使其消失。 或者,在设置GIE之前添加类似"RTCCTL=0;"的内容。 这是一个快速的实验,不管怎样。

    否则,您可能只需浏览“寄存器”视图中的所有设备,并查找XXXIV寄存器不为零的设备。 有点乏味,但只需10分钟。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Bruce:

    RTCCTL=0修复应用程序可以继续而不阻止ISR_TRAP的问题。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Ming,

    希望您的问题得到解决。 如果是,请关闭TT。