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.

[参考译文] MSP430FR6989:编号端口与字母端口:最佳实践? (端口1与端口 A 间的关系)

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/687613/msp430fr6989-numbered-vs-lettered-ports-best-practices-port-1-vs-port-a

器件型号:MSP430FR6989

很抱歉给一个初学者问题、但我想澄清一下何时可以使用端口 A 而不是端口1和端口2。

对于我的器件(MSP430FR6989)、系列用户指南的 GPIO 部分中列出了以下映射:

P1OUT 或 PAOUT_L
P2OUT 或 PAOUT_H

似乎 PA 是指16位端口(字)、而 P1和 P2是8位端口(字节)。

我一直在浏览 Davies 编写的"MSP430微处理器基础知识"一书、有一个练习、其中按钮按压次数直接写入端口、然后由8个 LED 的线性阵列以二进制表示。

这是我的代码循环:

对于(;;){
   while ((P1IN & BTN1)!= 0){       // while button up (低电平有效)
   }

   P2OUT += 1;                        //增加8个 LED 端口上的计数
   
   while ((P1IN & BTN1)=0){       // while button down (低电平有效)
   }

我猜、如果我使用 PAOUT 而不是 P2OUT、我可以使用16 LED 阵列而不是8 LED 阵列进行计数(假设端口已正确接线和配置)。

这是同时具有字节和字端口的原因吗?

我假设这也可用于从外部芯片(例如、此16位并行 DAC (http://www.ti.com/product/dac8820))进行并行读取/写入。

那么、我受过教育的猜测是正确的吗? 这是否有其他潜在用途、或者您能否推荐一些文章/书籍以更详细地进行介绍?

谢谢!

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

    您可以像使用那样使用 PA 16位寄存器。

    此外、其他人也可以将寄存器用于其他用途。 这只是另一种理论、即按字访问端口寄存器、而不是按字节访问 P1/2。