CCS 20.5.0的printf重定向串口怎么实现?

CCS 20.5.0的printf重定向串口怎么实现?
摘要本文介绍了在不同嵌入式平台上重定向printf输出到串口的实现方法。重点说明了三步操作1.初始化串口2.添加fputc重定向函数将字符发送至UART3.包含stdio.h头文件即可使用printf。同时提供了三种常见平台TI CCS、GCCNewlib、IAR的具体实现代码示例帮助开发者在不同环境下快速实现串口调试输出功能。三步即可一、初始化串口依次点击串口初始化配置二、重定向添加重定向函数放哪里都可以/** * brief 重定向 printf 底层输出到 UART * * 标准库 printf 最终会调用 fputc 输出每个字符 * 重写此函数即可让 printf 直接通过串口打印 * 无需任何包装函数。 */ int fputc(int ch, FILE *f) { DL_UART_Main_transmitDataBlocking(debug_INST, (uint8_t)ch); return ch; }三、包含头文件在要使用printf的文件下添加头文件包含#include stdio.h即可使用和c语言几乎一样的printf函数四、其他厂商单片机方法各平台的写法不太一样各平台参考写法 // TI CCS (你当前用的) int fputc(int ch, FILE *f) { DL_UART_Main_transmitDataBlocking(debug_INST, (uint8_t)ch); return ch; } // GCC Newlib (STM32/GD32/大多数 ARM) int _write(int fd, char *ptr, int len) { for (int i 0; i len; i) HAL_UART_Transmit(huart1, (uint8_t *)ptr[i], 1, HAL_MAX_DELAY); return len; } // IAR size_t __write(int handle, const unsigned char *buf, size_t size) { for (size_t i 0; i size; i) UART_SendByte(buf[i]); return size; }