串口輸出是單片機基本的外設(shè)使用,也是必須基本的一項基本技能,為了使用輸出打印函數(shù),一般都會重定向串口輸出,但是一般都會指定串口,要是想多個串口都能使用輸出打印要怎么實現(xiàn)呢,這篇文章就來聊聊;
核心代碼如下:
#include "hal_printf.h" #define USART_TXBUFF_SIZE 256 //定義串口發(fā)送緩沖區(qū)大小 256字節(jié) __align(8) char usart_txBuff[USART_TXBUFF_SIZE]; //字節(jié)對齊緩沖區(qū) // 自定義printf() void USART_printf(uint32_t usart_periph, char *fmt,...) { uint32_t i,length; va_list ap; va_start(ap,fmt); vsprintf(usart_txBuff,fmt,ap); va_end(ap); length=strlen((const char*)usart_txBuff); for(i=0;i
頭文件如下:
#ifndef __HAL_PRINTF_H__ #define __HAL_PRINTF_H__ #include "gd32f10x.h" #include "stdio.h" #include "stdarg.h" #include "string.h" void USART_printf(uint32_t usart_periph, char *fmt,...); #endif/*__HAL_USART_H__*/
使用方法如下:
USART_printf(USART0, "test "); USART_printf(USART2,"test ");
核心就是剩余參數(shù)和vsprintf函數(shù),有興趣的同學(xué)可以找度娘補補知識,把上面的代碼放到HAL層,再初始化硬件串口即可使用,遍歷發(fā)送那里需要根據(jù)實際硬件進行修改,多串口打印輸出可以提高調(diào)試效率;
審核編輯:湯梓紅
-
單片機
+關(guān)注
關(guān)注
6060文章
44829瀏覽量
645107 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4365瀏覽量
63924 -
串口輸出
+關(guān)注
關(guān)注
0文章
16瀏覽量
7611
原文標題:技巧|多串口輸出打印
文章出處:【微信號:玩轉(zhuǎn)單片機,微信公眾號:玩轉(zhuǎn)單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
STM32H5開發(fā)(5)----串口打印配置


如何利用串口輸出printf的打印信息
stm32實現(xiàn)串口打印輸出學(xué)習(xí)內(nèi)容
用textbrowser打印串口監(jiān)控輸出
什么是串口通信?基于STM32的printf打印輸出

使用MicroLIB+fputc的方式實現(xiàn)串口打印功能

嵌入式開發(fā)putty串口打印亂碼

stm32實現(xiàn)串口打印輸出

STM32 | 串口打印知多少?

STM32串口打印輸出亂碼的解決辦法

評論