目录
%c :字符型 %d :整型 %ld :长整型
%f :浮点型 %lf :双精度浮点型 %s :字符串型
一、背景介绍
笔者使用半个月准备电赛,并在几天内快速上手了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. 串口中断使能
发送数据至串口不需要使能串口中断,如果需要进行接收数据就需要使能串口接收中断,有时候为了中断之间的冲突,如果不需要接收数据,笔者推荐不需要打开串口接收中断。