Bootstrap

MSPM0G3057学习记录(一)printf重定向

目录

一、背景介绍

二、代码讲解

1. 需要引用的头文件

2. 重定向函数 

3. 常用格式控制符补充

        %c :字符型    %d :整型    %ld :长整型
        %f :浮点型     %lf :双精度浮点型    %s :字符串型

 4. 串口中断使能


一、背景介绍

        笔者使用半个月准备电赛,并在几天内快速上手了CCS的环境配置以及基础使用,最终获得省三等奖,此处也借CSDN这个平台分享在备赛以及比赛期间常用的代码,也借此机会与各位同学们共同学习,共同进步! 

二、代码讲解

        printf重定向是一种将标准输出重定向到其他设备或接口的技术。通常情况下,单片机并没有像桌面计算机那样的标准输出设备,因此需要将printf函数输出的内容重定向到串口、LCD显示屏或其他外设上。而在代码调试过程中,我们可以借助串口来直接观察我们想获取的数据是否正常,这样我们就可以直接使用在C语言当中很常用的printf函数,使其输出到串口助手当中!

1. 需要引用的头文件

#include "stdio.h"
#include "string.h"

2. 重定向函数 

int fputc(int c, FILE* stream)
{
	DL_UART_Main_transmitDataBlocking(UART_0_INST, c);
    return c;
}

int fputs(const char* restrict s, FILE* restrict stream)
{
    uint16_t i, len;
    len = strlen(s);
    for(i=0; i<len; i++)
    {
        DL_UART_Main_transmitDataBlocking(UART_0_INST, s[i]);
    }
    return len;
}

int puts(const char *_ptr)
{
    int count = fputs(_ptr, stdout);
    count += fputs("\n", stdout);
    return count;
}

3. 常用格式控制符补充

        %c :字符型
        %d :整型
        %ld :长整型
        %f :浮点型
        %lf :双精度浮点型
        %s :字符串型

 4. 串口中断使能

        发送数据至串口不需要使能串口中断,如果需要进行接收数据就需要使能串口接收中断,有时候为了中断之间的冲突,如果不需要接收数据,笔者推荐不需要打开串口接收中断。

;