1879|5

441

帖子

3

TA的资源

纯净的硅(高级)

楼主
 

【MSPM0L1306 LaunchPad】printf打印输出 [复制链接]

  本帖最后由 TL-LED 于 2023-10-12 18:36 编辑

这篇来测试下串口,使用函数printf 打印输出。

 

一、硬件部分

 

开发板仿真器自带串口,直接与MCU串口0连接

 

1.1、XDS110仿真器串口端口

 

1.2、仿真器与MCU连接

 

1.3、串口选择选择

 

二、程序部分

 

2.1、uart.c

#include "ti_msp_dl_config.h"
#include "uart/uart.h"


static const DL_UART_Extend_ClockConfig gUART_0ClockConfig = {
    .clockSel    = DL_UART_EXTEND_CLOCK_BUSCLK,
    .divideRatio = DL_UART_EXTEND_CLOCK_DIVIDE_RATIO_1
};

static const DL_UART_Extend_Config gUART_0Config = {
    .mode        = DL_UART_EXTEND_MODE_NORMAL,
    .direction   = DL_UART_EXTEND_DIRECTION_TX_RX,
    .flowControl = DL_UART_EXTEND_FLOW_CONTROL_NONE,
    .parity      = DL_UART_EXTEND_PARITY_NONE,
    .wordLength  = DL_UART_EXTEND_WORD_LENGTH_8_BITS,
    .stopBits    = DL_UART_EXTEND_STOP_BITS_ONE
};

void init_uart(uint32_t bps)
{
	DL_UART_Extend_enablePower(UART_0_INST);
	
	DL_GPIO_initPeripheralOutputFunction(GPIO_UART_0_IOMUX_TX, GPIO_UART_0_IOMUX_TX_FUNC);
  DL_GPIO_initPeripheralInputFunction(GPIO_UART_0_IOMUX_RX, GPIO_UART_0_IOMUX_RX_FUNC);
	
	DL_UART_Extend_setClockConfig(UART_0_INST, (DL_UART_Extend_ClockConfig *) &gUART_0ClockConfig);

	DL_UART_Extend_init(UART_0_INST, (DL_UART_Extend_Config *) &gUART_0Config);
	DL_UART_Extend_setOversampling(UART_0_INST, DL_UART_OVERSAMPLING_RATE_16X);
	DL_UART_Extend_setBaudRateDivisor(UART_0_INST, CPUCLK_FREQ/(16*bps), CPUCLK_FREQ/(16*bps)%64);

    /* Configure FIFOs */
//    DL_UART_Extend_enableFIFOs(UART_0_INST);
//    DL_UART_Extend_setRXFIFOThreshold(UART_0_INST, DL_UART_RX_FIFO_LEVEL_1_2_FULL);
//    DL_UART_Extend_setTXFIFOThreshold(UART_0_INST, DL_UART_TX_FIFO_LEVEL_1_2_EMPTY);

//    DL_UART_Extend_enableManchesterEncoding(UART_0_INST);

	DL_UART_Extend_enable(UART_0_INST);
}

void uart_senddat(uint8_t dat)
{
	DL_UART_Extend_transmitDataBlocking(UART_0_INST, dat);
}


int fputc(int ch, FILE *f)
{
		uart_senddat((uint8_t)ch);
    return ch;
}

 

2.2、uart.h

#ifndef _UART_H
#define _UART_H

#include <ti/driverlib/driverlib.h>
#include "stdio.h"

/* Defines for UART_0 */
#define UART_0_INST                                                        UART0
#define UART_0_INST_IRQHandler                                  UART0_IRQHandler
#define UART_0_INST_INT_IRQN                                      UART0_INT_IRQn
#define GPIO_UART_0_RX_PORT                                                GPIOA
#define GPIO_UART_0_TX_PORT                                                GPIOA
#define GPIO_UART_0_RX_PIN                                         DL_GPIO_PIN_9
#define GPIO_UART_0_TX_PIN                                         DL_GPIO_PIN_8
#define GPIO_UART_0_IOMUX_RX                                     (IOMUX_PINCM10)
#define GPIO_UART_0_IOMUX_TX                                      (IOMUX_PINCM9)
#define GPIO_UART_0_IOMUX_RX_FUNC                      IOMUX_PINCM10_PF_UART0_RX
#define GPIO_UART_0_IOMUX_TX_FUNC                       IOMUX_PINCM9_PF_UART0_TX
#define UART_0_BAUD_RATE                                                  (9600)
#define UART_0_IBRD_32_MHZ_9600_BAUD                                       (208)
#define UART_0_FBRD_32_MHZ_9600_BAUD                                        (21)

void init_uart(uint32_t bps);
void uart_senddat(uint8_t dat);

#endif

 

2.3、main.c

#include "ti_msp_dl_config.h"
#include "led/led.h"
#include "systick/systick.h"
#include "uart/uart.h"

int main(void)
{
	SYSCFG_DL_init();
	init_systick();
	init_led();
	init_uart(115200);

	while (1) 
	{
		led2_r_on();
		delay_cycles(32000*100);
		led2_r_off();
		delay_cycles(32000*100);
		
		printf("https://bbs.eeworld.com.cn/ \r\n");
	}
}

 

三、程序运行

 

烧写程序,复位开发板,串口输出

 

此帖出自MSPM0 MCU论坛

最新回复

是呢,试了好几个都不行,重定义失败,换了好几个,都没进去,只能自己写一个了丐版的了   详情 回复 发表于 2023-11-7 16:28
点赞 关注
 
 

回复
举报

6998

帖子

11

TA的资源

版主

沙发
 

大佬的开发环境是什么呀,我用的是打包了的库。

此帖出自MSPM0 MCU论坛

点评

keil ,使用官网的SDK包,修改的  详情 回复 发表于 2023-10-14 10:36
 
 
 

回复

441

帖子

3

TA的资源

纯净的硅(高级)

板凳
 
lugl4313820 发表于 2023-10-13 22:05 大佬的开发环境是什么呀,我用的是打包了的库。

keil ,使用官网的SDK包,修改的

此帖出自MSPM0 MCU论坛
 
 
 

回复

6502

帖子

10

TA的资源

版主

4
 

重定向有特殊的设置吗?使用CCS开发环境,串口输出正常,可是printf一直没有输出

 

此帖出自MSPM0 MCU论坛

点评

CCS这个环境还不是和熟悉,我试了下,printf硬件没输出,CCS软件自带的串口终端有输出。  详情 回复 发表于 2023-11-7 15:31
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

441

帖子

3

TA的资源

纯净的硅(高级)

5
 
秦天qintian0303 发表于 2023-10-30 14:29 重定向有特殊的设置吗?使用CCS开发环境,串口输出正常,可是printf一直没有输出  

CCS这个环境还不是和熟悉,我试了下,printf硬件没输出,CCS软件自带的串口终端有输出。

此帖出自MSPM0 MCU论坛

点评

是呢,试了好几个都不行,重定义失败,换了好几个,都没进去,只能自己写一个了丐版的了  详情 回复 发表于 2023-11-7 16:28
 
 
 

回复

6502

帖子

10

TA的资源

版主

6
 
TL-LED 发表于 2023-11-7 15:31 CCS这个环境还不是和熟悉,我试了下,printf硬件没输出,CCS软件自带的串口终端有输出。

是呢,试了好几个都不行,重定义失败,换了好几个,都没进去,只能自己写一个了丐版的了

此帖出自MSPM0 MCU论坛
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表