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.

[参考译文] MSP430F6638:MSP430F6638上的Port_Mapping

Guru**** 2589280 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/631912/msp430f6638-port_mapping-on-msp430f6638

部件号:MSP430F6638

你(们)好

我不能让它工作。

P2MAP2 = PM_UCA0RXD;
P2MAP3 = PM_UCA0TXD;

如果它工作,UCA0RXBUF将转到哪个中断向量。

也许这是不可能的,但我找不到有关可能的信息?

我以前的设计成功地使用了以下内容:

P2MAP0 = PM_UCA0TXD;
P2MAP1 = PM_UCA0RXD;
P2SEL || 0x03;//将WFP 2.0 分配给UCA0TXD,并且...
P2DIR |=0x03;// WFP 2.1 到UCA0RXD

P2MAP3 = PM_UCA0TXD;
P2OMAP4 = PM_UCA0RXD;
P2SEL |= 0x18;
P2DIR |= 0x18;

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

    中断独立于引脚配置;它进入相同的中断向量。 (在F6638上,USI_A0向量位于0xFFF0。)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉,我没有在问题中添加它。
    我有:
    P2SEL |= 0x0C; //将端口映射WFP 2.2 分配给UCA0RXD,将WFP 2.3 分配给UCA0TXD 0000 1100
    P2DIR |= 0x0C; // WFP 2.3 到UCA0TXD

    您是否已使其工作?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    她是我的init Port_Mapping和Init_UART代码:

    void Port_Mapping_RS232 (void)

    //在更改端口映射寄存器之前禁用中断
    __disable_interrupt ();
    //启用写访问以修改端口映射寄存器
    PMAPPWD = 0x02D52;

    #ifdef port_map_RECFG
    //允许在运行时重新配置
    PMAPCTL = PMAPRECFG;
    #endif

    P2MAP2 = PM_UCA0RXD;
    P2MAP3 = PM_UCA0TXD;

    //禁用写访问以修改端口映射寄存器
    PMAPPWD = 0;
    #ifdef port_map_eint
    __enable_interrupit(); //重新启用所有中断
    #endif
    }

    //----------------
    void Init_UART (void)

    { //0001 1000
    P2SEL |= 0x0C; //将端口映射WFP 2.2 分配给UCA0RXD,将WFP 2.3 分配给UCA0TXD 0000 1100
    P2DIR |= 0x0C; // WFP 2.3 到UCA0TXD

    UCA0CTL1 |= UCSWRST; //**将状态机置于复位**

    //此11.52万代码正在TI EVM上运行;
    //最大 Tx - 0.6 至0.8 错误;
    //最大 错误Rx - 1.8 至1.1 ;
    UCA0CTL1 = UCSSEL_2; // DCO = SMCLK = 8MHz
    UCA0BR0 = 69; // 8MHz/11.52万 = 69,44。 69 = 0x45
    UCA0BR1 = 0; //宝德盖片:8M /(4 * 69 + 4 * 70)/8)= 11.5107万,9 (Der deles med 69,5)
    UCA0MCTL = UCBRS_4 + UCBRF_0; //调制UCBRSx=4,UCBRFx=0

    UCA0CTL1 &=~UCSWRST; //**初始化USCI状态机**
    UCA0IE |= UCRXIE; //启用USI_A0 RX中断
    }
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您可能会受到勘误表PORT15或PMAP1的影响。 确保UCA0RXD没有其它引脚。

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

    您好,Clemens:

     非常感谢您的提示,但我相信我不会受到影响,只会受到PORT15或PMAP1的影响。

     PORT15,我不是单步进。

     PMAP1仅在清除映射模块的未选输入时才可用。

     

    如果TI的人员能够证实:

    1)

    它应该起作用,并且他们已确定了它的工作位置。

     

    2)

    由于某种原因它不起作用。

     此致