標題: STM32F10X串口打印重定義printf函數(shù)的方法 [打印本頁]

作者: game灬boy    時間: 2020-3-31 15:56
標題: STM32F10X串口打印重定義printf函數(shù)的方法
通過藍牙或WiFi模塊使用上位機時,如何用串口助手顯示相關(guān)變量的值呢?
今天我給大家講講串口printf的使用
第一步:
首先在庫函數(shù)stm32f10x_usart.c中加入以下代碼:
/*******printf重定義*********/
int fputc(int ch, FILE *f)
{ /* 給USART寫一個字符 */
USART_SendData(USART3, (uint8_t) ch);     
//這里用到了USART3就是表示用串口3的TX發(fā)送printf到上位機;
//你也可以用USART1,下面一行的USART3改為相應(yīng)的USART1;
/* 循環(huán)直到發(fā)送完成 */
while (USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET);
return ch;
}
/*************************/
第二步:
然后在stm32f10x_usart.h中包含
#include "stdio.h"
int fputc(int ch, FILE *f);
第三步:
將魔術(shù)棒中的Use MicroLIB勾選上

這樣你就可以使用printf函數(shù)了

PS:有的人的固件庫中
stm32f10x_usart.h和stm32f10x_usart.c是被鑰匙鎖著的

解決方法:打開文件所在位置--->右鍵--->屬性---->將只讀取消勾選


作者: ljxyyy    時間: 2020-4-1 11:07
這樣打印量大了會不會很卡啊
作者: game灬boy    時間: 2020-4-2 22:42
ljxyyy 發(fā)表于 2020-4-1 11:07
這樣打印量大了會不會很卡啊

我自己用的時候4毫秒調(diào)用一次,返回四旋翼姿態(tài),沒覺得卡啊




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1