TI中文支持网
TI专业的中文技术问题搜集分享网站

关于MSP430FR5994的UART问题

最近调试MSP430FR5994的4个串口(UART),同样的配置,UART0,1都没问题,但UART2,UART3就是没有反应,循环发送数据,用示波器测试TX脚没波形。不知这个地方有什么需要注意的吗?

Gary Gao:

可以把配置代码发上来,才好看问题

灰小子:

你用的什么封装的5994?不是所有封装都引出了所有串口io 

Li Bao12:

回复 Gary Gao:

uint8_t BLE_Init(uint16_t baudrate){ // Configure UART_BLE pins EUSCI_A2_BASE //Set P5.4 and P5.5 as Secondary Module Function Input. GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P5,GPIO_PIN4 + GPIO_PIN5, GPIO_SECONDARY_MODULE_FUNCTION); // Configure UART_BLE EUSCI_A2_BASE EUSCI_A_UART_initParam param = {0}; param.selectClockSource = EUSCI_A_UART_CLOCKSOURCE_SMCLK; param.clockPrescalar = 6; param.firstModReg = 8; param.secondModReg = 0;//92 param.parity = EUSCI_A_UART_NO_PARITY; param.msborLsbFirst = EUSCI_A_UART_LSB_FIRST; param.numberofStopBits = EUSCI_A_UART_ONE_STOP_BIT; param.uartMode = EUSCI_A_UART_MODE; param.overSampling = EUSCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION;

if(STATUS_FAIL == EUSCI_A_UART_init(UART_BLE, &param)) { return 0 ; } EUSCI_A_UART_enable(UART_BLE); EUSCI_A_UART_clearInterrupt(UART_BLE,EUSCI_A_UART_RECEIVE_INTERRUPT); // Enable USCI_A2 RX interrupt EUSCI_A2_BASE EUSCI_A_UART_enableInterrupt(UART_BLE,EUSCI_A_UART_RECEIVE_INTERRUPT); // Enable interrupt // POWER_BLE On POWER_BLE_On; return 1;}

voia main(void){ WDT_A_hold(WDT_A_BASE); // stop watchdog // LFXT Setup //Set PJ.4 and PJ.5 as Primary Module Function Input. /*

* Select Port J * Set Pin 4, 5 to input Primary Module Function, LFXT. */ GPIO_setAsPeripheralModuleFunctionInputPin( GPIO_PORT_PJ,GPIO_PIN4 + GPIO_PIN5, GPIO_PRIMARY_MODULE_FUNCTION); //Set DCO frequency to 1 MHz CS_setDCOFreq(CS_DCORSEL_0,CS_DCOFSEL_0); //Set external clock frequency to 32.768 KHz CS_setExternalClockSource(32768,0); //Set ACLK=LFXT CS_initClockSignal(CS_ACLK,CS_LFXTCLK_SELECT,CS_CLOCK_DIVIDER_1); //Set SMCLK = DCO with frequency divider of 1 CS_initClockSignal(CS_SMCLK,CS_DCOCLK_SELECT,CS_CLOCK_DIVIDER_1); //Set MCLK = DCO with frequency divider of 1 CS_initClockSignal(CS_MCLK,CS_DCOCLK_SELECT,CS_CLOCK_DIVIDER_1); //Start XT1 with no time out CS_turnOnLFXT(CS_LFXT_DRIVE_0);//Start XT1 with no time out

__enable_interrupt(); while(1) { EUSCI_A_UART_transmitData(EUSCI_A2_BASE,*pTem++);//EUSCI_A2_BASE __delay_cycles(1000); }}

Li Bao12:

回复 Li Bao12:

同样的配置方法(UART口选择不一致,端口部分初始化不一样)在UART0,UART1都能正常收发数据,但用到UART2,UART3用示波器观察发送管脚没有信号输出,换了几块板测试都是这种情况

Li Bao12:

回复 灰小子:

用的是80脚的封装TQFP封装,这个封装是支持4个UART的

赞(0)
未经允许不得转载:TI中文支持网 » 关于MSP430FR5994的UART问题
分享到: 更多 (0)