本帖最后由 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、程序源码
四、执行结果
串口输出数据:
|