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.

[参考译文] 未记录仅为I/O启用的端口中断。

Guru**** 2587345 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/619077/port-interrupts-only-enabled-for-i-o-is-not-documented

尽管可以假定,并且可以在器件特定数据表的引脚示意图中找到,但MSP340x2xx 系列用户指南并未说明端口中断(例如 P1IFG)在端口未选择为I/O时禁用 这在原理图上显示,其中PxSEL2.y和PxSEL.y是ORED,结果连接到由中断边缘选择块设置的锁存器的低启用输入。 我也没有在任何其他与MSP430器件中断相关的文档中找到这一点。

《MSP340x2xx系列用户指南》指出:“每个PxIFGx位都是其对应I/O引脚的中断标志,并且在所选输入信号边缘出现在引脚时设置。” 如上所述,即使外围设备正在使用引脚,也会设置中断标志。 例如,如果将P1IFG1引脚配置为在从高到低的转换上中断,则应在端口1的引脚1上USCI0接收的字节开始时将该P1IFG1设置为高到低的转换。

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

    您好,Donald:

    感谢您使用MSP430器件进行开发。

    我浏览了《MSP340x2xx系列用户指南》,并在8.2 5一节的注释中找到:

    注:当PxSEL =1时,P1和P2中断被禁用 当设置了任何P1SELx或P2SELx位时,相应引脚的中断功能 被禁用。 因此,这些引脚上的信号不会生成P1或P2中断,无论 相应的P1IE或P2IE位的状态如何。

    我想说的是,在 外围设备使用PxIFG时,不会设置PxIFG,因为您需要设置PxSEL以配置要由外围设备使用的端口引脚。 如 您在器件特定数据表的针脚示意图中所见,PxIFG将被PxSEL信号禁用。 这与《用户指南》是正确的。

    在我自己的其他想法中,端口引脚可以用作不同的模块,如数字I/O或其它外设,这些模块可以由PxSELx位配置。 引脚中断是数字I/O模块的功能之一。 因此,您应该将端口引脚配置为数字I/O,以使引脚中断功能正常工作。 即,如果您设置PxSELx,端口引脚不能用作数字I/O,因此您不应该只使用引脚中断。

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

    谢谢,但此回复有两个问题。

    首先,由于这是函数选择寄存器和中断的问题,因此还应在有关P1和P2中断的8.2 6-7节中提供信息。

    其次,此注释或器件数据表(特别是 MSP430G2x53器件)中的原理图都是错误的。 原理图显示,如果设置了PxSEL.y或PxSEL2.y (不仅是P1SELx,而且在您的术语表中还设置了P1SEL2x),则将禁用PxIFG.y的生成。 该说明应改为:  

    当设置任何P1SELx,P2SELx,P1SEL2x或P2SEL2x位时,相应引脚的中断功能为
    已禁用。 因此,这些引脚上的信号将不会生成P1或P2中断,无论发生了什么
    相应P1IE或P2IE位的状态。

    或者,针脚示意图应仅显示从Pxsel.y到生成PxIFG.y的Q闩锁的EN低针脚的连接。

    附注:如果所有文档中的PIN命名约定都相同,那就更好了。 《家庭用户指南》中未包含P1SELx,以及P1SEL.x (例如 表17,带句点)和数据表中的Pxsel.y (插针示意图)。