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/MSP430F67791A:UART

Guru**** 2535420 points
Other Parts Discussed in Thread: MSP430F67791A

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/784196/ccs-msp430f67791a-uart

器件型号:MSP430F67791A

工具/软件:Code Composer Studio

大家好、我正在使用 msp430f67791a

#include "driverlib.h"

uint16_t i;
uint8_t RXData = 0、TXData = 0;
uint8_t check = 0;

void main (void)
{
//停止看门狗
WDT_A_HOLD (WDT_A_base);

//将外部时钟频率设置为32.768KHz
UCS_setExternalClockSource (32768、0);
//set ACLK=XT1
UCS_initClockSignal (UCS_ACLK、UCS_XT1CLK_select、UCS_Clock_divider);
//Start XT1、无超时
UCS_TurnOnLFXT1 (UCS_XT1_DRIVE_0、UCS_XCAP_3);

//配置 UART 引脚(UCA0TXD/UCA0SIMO、UCA0RXD/UCA0SOMI)
//将 P3.0和 P3.1设置为模块功能输入
GPIO_setPeripheralModuleFunctionInputPin (
GPIO_PORT_P3、
GPIO_PIN4 + GPIO_PIN5
);

//配置 UART
EUSCI_A_UART_initParam param ={0};
param.selectClockSource = EUSCI_A_UART_CLOCKSOURCE_ACLK;
param.clockPrescalar = 3;
param.firstModReg = 0;
param.secondModReg = 92;
param.parity = EUSCI_A_UART_NO_parity;
param.msborLsbFirst = EUSCI_A_UART_LSB_FIRST;
param.numerofStopBits = EUSCI_A_UART_Oe_STOP_BIT;
param.uartMode = EUSCI_A_UART_MODE;
param.oversaming= EUSCI_A_UART_LOW_FREQUENCY BAUDRATE_generation;

if (STATUS_FAIL = EUSCI_A_UART_INIT (EUSCI_A1_BASE、&param)){
返回;
}

EUSCI_A_UART_ENABLE (EUSCI_A1_BASE);

EUSCI_A_UART_clearInterrupt (EUSCI_A1_base、
EUSCI_A_UART_receive_interrupt);

//启用 USCI_A0 RX 中断
EUSCI_A_UART_enableInterrupt (EUSCI_A1_BASE、
EUSCI_A_UART_receive_interrupt); //启用中断

_enable_interrupt ();
while (1)
{

//增加 TX 数据
//将数据加载到缓冲区中
EUSCI_A_UART_transmitData (EUSCI_A1_base、
TXData);
TXData = TXData+1;

while (check!= 1);
Check = 0;
}
}
//*********
//
////这是 USCI_A0中断矢量处理例程。
////
*********
#if defined (__TI_Compiler_version__)|| defined (__IAR_systems_icc_)
#pragma vector=USCI_A1_vector
__interrupt #elif
defined (__GNU__)
__attribute__(interrupt (USCI_A1_vector))#endif

void EUSCI_A1_ISR __interrupt {__UCA1UCI_INT_UCAINTRIE_UCCT_EXTER_(__UCAINT_OUT_UCCTRIE_NOT_UART}



USCI_NONE 案例:中断;
USCI_UART_UCRXIFG 案例:
RXData = EUSCI_A_UART_receiveData (EUSCI_A1_BASE);
if (!(RXData = TXData)) //检查值
{
while (1);
}
支票=1;
中断;
案例 USCI_UART_UCTXIFG:中断;
案例 USCI_UART_UCSTTIFG:中断;
案例 USCI_UART_UCTXCPTIFG:break;
}
}


我使用的是示例代码、在此示例中、我更改了引脚和 UART 通道、但无法在 UART 中进行通信
请告诉我哪些是我需要修改的内容

此致

Bindu

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

    您好!

    您能否提供您问题的更多详细信息、以便我们提供支持? 例如:

    -您从哪个示例代码开始?

    -您使用的是哪个版本的 driverlib?

    -您是否已对从示例代码到当前源代码所做的更改进行了回退跟踪、以查看错误所在的位置?

    如果您想获得专为 MSP430F67791A 定制的寄存器级 UART 代码示例 、可以参考 TI Resource Explorer 中提供的寄存器级 UART 代码示例。

    此致、

    Matt

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

    大家好、我正在使用 Resource Explorer 中提供的寄存器级程序

    在中、当我尝试调试时、它不会从用于清除  XT1故障标志的 DO while 循环中退出
    此致  
    Bindu
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、我正在使用 Resource Explorer 中提供的寄存器级程序
    在中、当我尝试调试时、它不会从用于清除 XT1故障标志的 DO while 循环中退出

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

    金杜

    您在初始帖子中粘贴的示例代码似乎来自 driverlib 示例项目、而不是  TI Resource Explorer 中提供的寄存器级示例。

    当代码未从示例代码的晶体初始化步骤中输出时、通常是因为晶体电路存在某种问题。 您使用的是目标插座板还是定制 PCB?

    此致、

    Matt

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

    很抱歉、我忘记提到我同时使用了寄存器级代码和驱动程序级代码

    对于驱动程序控制杆代码、当我尝试仅传输数据时、可以在 txbuf 中看到数据、但不会传输到终端窗口

    此致  

    Bindu

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

    似乎问题当前出在应用程序的晶体初始化部分。 要确认这一点、请导入一个使用 LFXT 低频晶振模块(即上面链接的 TI Resource Explorer 中的 msp430f677xA_uCS_4.c)的经过测试的示例、并检查 应用程序是否正常工作。 注意:您可能需要修改某些 GPIO 端口初始化以满足定制 PCB 的需求。

    如果应用程序未正常运行、则可以将问题与晶体隔离、并将注意力集中在解决设计的这一方面。 有关 正确选择晶体以及布局和实现最佳实践的详细信息,请参阅《MSP430Tm32kHz 晶体振荡器》应用报告。 您还可以使用器件 登录页面中链接 的设计套件和 EVM 来参考这些电路板上的晶体布局。

    此致、

    Matt