工具/软件: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、¶m)){
返回;
}
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