本帖最后由 tlled 于 2020-4-18 15:37 编辑
测试串口0输出信息。
一、安装XDS110-ET驱动程序
XDS110-ET带有串口,使用MSP432P401R的串口0输出。
驱动下载地址:https://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_xds_software_package_download.html
安装完成后会找到串口号。
二、硬件电路
串口0使用的是P1.2和P1.3端口,可以连接XDS110-ET仿真器。
三、程序
3.1、main.c
#include "config.h"
/* Initializes Clock System */
void CS_init()
{
/* Set the core voltage level to VCORE1 */
MAP_PCM_setCoreVoltageLevel(PCM_VCORE1);
/* Set 2 flash wait states for Flash bank 0 and 1*/
MAP_FlashCtl_setWaitState(FLASH_BANK0, 2);
MAP_FlashCtl_setWaitState(FLASH_BANK1, 2);
/* Initializes Clock System */
MAP_CS_setDCOCenteredFrequency(CS_DCO_FREQUENCY_48);
MAP_CS_initClockSignal(CS_MCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1 );
MAP_CS_initClockSignal(CS_HSMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1 );
MAP_CS_initClockSignal(CS_SMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1 );
MAP_CS_initClockSignal(CS_ACLK, CS_REFOCLK_SELECT, CS_CLOCK_DIVIDER_1);
}
int main(void)
{
uint32_t i;
MAP_WDT_A_holdTimer();
MAP_Interrupt_disableMaster();
CS_init();
LED_Init();
UART0_Init();
while(1)
{
UART0_transmitString( "www.21ic.com -- msp432p401r\r\n" );
for(i=1000000; i>0; i--);
}
}
3.2、uart.c
#include "config.h"
const eUSCI_UART_ConfigV1 uart0Config =
{
EUSCI_A_UART_CLOCKSOURCE_SMCLK, // SMCLK Clock Source
26, // BRDIV = 26
1, // UCxBRF = 1
0, // UCxBRS = 0
EUSCI_A_UART_NO_PARITY, // No Parity
EUSCI_A_UART_LSB_FIRST, // LSB First
EUSCI_A_UART_ONE_STOP_BIT, // One stop bit
EUSCI_A_UART_MODE, // UART mode
EUSCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION, // Oversampling
EUSCI_A_UART_8_BIT_LEN // 8 bit data length
};
void UART0_initGPIO(void)
{
/* Selecting P1.2 and P1.3 in UART mode */
MAP_GPIO_setAsPeripheralModuleFunctionInputPin( GPIO_PORT_P1,GPIO_PIN2 | GPIO_PIN3,
GPIO_PRIMARY_MODULE_FUNCTION);
}
void UART0_Init(void)
{
UART0_initGPIO();
MAP_UART_initModule(EUSCI_A0_BASE, &uart0Config); /* Configuring UART Module */
MAP_UART_enableModule(EUSCI_A0_BASE);/* Enable UART module */
return;
}
/* Transmits String over UART */
void UART0_transmitString( char *pStr )
{
while( *pStr )
{
UART_transmitData(EUSCI_A0_BASE, *pStr );
pStr++;
}
}
3.3、 uart.h
#ifndef FUN_UART_H_
#define FUN_UART_H_
void UART0_Init(void);
void UART0_transmitString( char *pStr );
#endif
3.4、程序源码
msp432p401r.rar
(6.93 MB)
四、执行结果
串口输出数据:
|