工具/软件:Code Composer Studio
您好,
我正在使用MSP-EXP430FR4133启动板。 我可以在Energia中获得UART TX和RX,但在Code composer studio中,我尝试了库中提供的API,也尝试了使用寄存器的程序。 我无法完成。 我在下面附上了代码。 有人能帮忙吗?
源代码。
#include"msp430fr4133.h"
#include<stdio.h>
#include"eusci_a_UART.h"
#define TXD BIT0
#定义RXD BIT1.
void init_gPIO();
void main()
{
UINT8_t txdata;
uINT8_t rxdata;
INT状态;
volatile unsigned int j;
易失性无符号int I;
//*********** 起点************************** //
//------------------------------------------------ //
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
init_gPIO();//禁用GPIO通电默认高阻抗模式以激活先前配置的端口设置
EUSCI_A_UART_initParammy_UART_param;//我们需要声明strcutre的实例,以便可以将参数分配给此结构
my_uart_param.selectClockSource = EUSCI_A_UART_CLOCKSOURCE_SMCLK;//用于外围设备工作
my_UART_param.clockPrescalar = 104;//使用16 MHz时钟设置波特率
my_UART_param.firstModReg = 2;
my_uart_param.secondModReg = 0xd6;
my_UART_param.parity = EUSCI_A_UART_NO_parity;
my_UART_param.msborLsbFirst = EUSCI_A_UART_LSB_FIRST;
my_UART_param.numberofStopBits = EUSCI_A_UART_ONE_STOP_BIT;
my_UART_param.uartMode = EUSCI_A_UART_MODE;
my_UART_param.oversampling = EUSCI_A_UART_low_frequency_BAUDRATE_generation;
EUSCI_A_UART_initParam * PTR_my_UART =& my_UART_param;
P1SEL0 |=(BIT0 |BIT1);
P1DIR = BIT0;// WFP 1.1 = RXD,WFP 1.2 = TXD
EUSCI_A_UART_DISABLE(EUSI_A0_base);//初始化过程中的步骤1
EUSCI_A_UART_INIT (EUSCI_A0_BASE,PTR_my_UART);//步骤2初始化
// UCA0STATW |= UCLISTEN;//回送模式
EUSCI_A_UART_ENABLE (EUSSCI_A0_base);//重置UCSRST位以启用USCI模块
//EUSCI_A_UART_enableInterrupt (EUSI_A0_base,(EUSSCI_A_UART_receive _interrupt | EUSCI_A_UART_Transmit_interrupt | EUSCI_A_UART_STARTBIT_INTERRUST| EUSCI_A_UART_Transmit_Complete_Interrupt ));
同时(1)
{
Txdata ^= 0x10;
EUSCI_A_UART_TransData(EUSI_A0_base, txdata);//传输数据;
while (!(EUSCI_A_UART_getInterruptStatus (EUSCI_A0_BASE,EUSCI_A_UART_Transmit_Complete_InterrupT_flag)))
{
;
}
rxdata = EUSCI_A_UART_receiveData(EUSI_A0_base);//将接收到的数据存储在变量中。当读取RXBUF时,RXIFG标志会自动重置
IF (rxdata=0x10)
{
状态=1;
}
否则
{
状态=2;
}
开关(状态)
{
案例1:P4DIR|=0x01;
对于(i=1000;i>0;i--)
{
P4OUT=0x01;
}
P4OUT=0x00;
中断;
案例2:P4DIR|=0x00;
对于(i=5000;i>0;i--)
{
P4OUT=0x00;
}
中断;
}
}
}
void init_gpio (void)
{
//将所有GPIO配置为低输出
//确保与原理图相关的针脚没有冲突
P1OUT = 0x00;P2OUT = 0x00;P3OUT = 0x00;P4OUT = 0x00;
P5OUT = 0x00;P6OUT = 0x00;P7OUT = 0x00;P8OUT = 0x00;
P1DIR = 0xFD;P2DIR = 0xFF;P3DIR = 0xFF;P4DIR = 0xFF;
P5DIR = 0xFD;P6DIR = 0xFF;P7DIR = 0xFF;P8DIR = 0xFF;
PM5CTL0 &=~LCKLPM5;//禁用GPIO开机默认高阻抗模式//以激活先前为低功耗模式配置的端口设置5
}
是否有任何其他用于UART的源代码。 ?