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.

[参考译文] CCS/msp430f6435:用于 URAT 的 msp430f6435时钟配置

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/597867/ccs-msp430f6435-msp430f6435-clock-configuration-for-urat

器件型号:MSP430F6435

工具/软件:Code Composer Studio

大家好、我正在尝试在 msp430f6435上使用 UART、但我没有获得正确的时钟配置。

我使用了 TI 资源 UART 参考代码、但它不像我们想象的那样工作。

TI 资源网站

" dev.ti.com/.../

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

    器件型号:msp430f6435

    工具/软件:Code Composer Studio

    MSP430f6435 UART 配置

    P2.4 => Tx

    P2.5=>Rx

    7 6 5 4 3 2 1 0 (端口2位)

    0 0 1 0 0 0 0 =>0x30

    P2SEL |= 0x30;                           //将 P2.4分配给 UCA0TXD 和...

    P2DIR |= 0x30;                           // P2.5至 UCA0RXD

    将端口2指定为 Tx 和 Rx 的 UART 是否正确???

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    void Port_Mapping (void)
    {
    //在更改端口映射寄存器
    __disable_interrupt ()之前禁用中断;
    //启用写入访问以修改端口映射寄存器
    PMAPPWD = 0x02D52;
    
    #ifdef port_map_RECFG
    //在运行时允许重新配置
    PMAPCTL = PMAPRECFG;
    #endif
    
    P2OMAP4 = PM_UCA0TXD;
    P2MAP5 = PM_UCA0RXD;
    
    //禁用写入访问以修改端口映射寄存
    器 PMAPPWD = 0;
    #ifdef port_map_EINT
    __enable_interrupt (); //重新启用所有中断
    #endif
    } 

    这将设置辅助功能端口映射。
    在 P2SEL 行之前调用 Port_Mapping()。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    仍然不工作:(
    PORT_Mapping();
    P2SEL |=(BIT4|BIT5); //将 P2.4分配给 UCA0TXD 和...
    P2DIR = BIT4;

    USCI_A_UART_initParam UART;//UART init_param 结构

    USCI_A_UART_DISABLE (USCI_A0_BASE);//禁用 UART

    //配置 init_param 结构

    uart.selectClockSource =UCSSEL__ACLK;
    UART.clockPrescalar = 0x0003;
    UART.firstModRe=0x00;
    uart.secondModReg = 0x03;
    UART.奇 偶校验= 0x00;//无奇偶校验
    UART.msborLsbFirst = 0x00;// lsbfirst
    UART.numberofStopBits = 0x00;//一个停止位
    UART.uartMode = UCMODE_0;//UART_MODE
    UART.OverSAMPLING = 0x00;//生成低频率波特率

    RET = USCI_A_UART_INIT (USCI_A0_BASE、&MSP_UART);

    USCI_A_UART_ENABLE (USCI_A0_BASE);

    USCI_A_UART_enableInterrupt (USCI_A0_BASE、(UCRXIE|UCTXIE));
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当您写入 USCI TX 寄存器时、您是否在引脚上获得任何信号?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否能够解决此问题?