串口輸出是單片機基本的外設使用,也是必須基本的一項基本技能,為了使用輸出打印函數(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ù),有興趣的同學可以找度娘補補知識,把上面的代碼放到HAL層,再初始化硬件串口即可使用,遍歷發(fā)送那里需要根據(jù)實際硬件進行修改,多串口打印輸出可以提高調(diào)試效率;
審核編輯:湯梓紅
-
單片機
+關注
關注
6034文章
44553瀏覽量
634437 -
函數(shù)
+關注
關注
3文章
4326瀏覽量
62558 -
串口輸出
+關注
關注
0文章
16瀏覽量
7484
原文標題:技巧|多串口輸出打印
文章出處:【微信號:玩轉(zhuǎn)單片機,微信公眾號:玩轉(zhuǎn)單片機】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論