找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2829|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

STM32F10X串口打印重定義printf函數(shù)的方法

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
通過(guò)藍(lán)牙或WiFi模塊使用上位機(jī)時(shí),如何用串口助手顯示相關(guān)變量的值呢?
今天我給大家講講串口printf的使用
第一步:
首先在庫(kù)函數(shù)stm32f10x_usart.c中加入以下代碼:
/*******printf重定義*********/
int fputc(int ch, FILE *f)
{ /* 給USART寫(xiě)一個(gè)字符 */
USART_SendData(USART3, (uint8_t) ch);     
//這里用到了USART3就是表示用串口3的TX發(fā)送printf到上位機(jī);
//你也可以用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:有的人的固件庫(kù)中
stm32f10x_usart.h和stm32f10x_usart.c是被鑰匙鎖著的

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

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:720055 發(fā)表于 2020-4-1 11:07 | 只看該作者
這樣打印量大了會(huì)不會(huì)很卡啊
回復(fù)

使用道具 舉報(bào)

板凳
ID:367369 發(fā)表于 2020-4-2 22:42 | 只看該作者
ljxyyy 發(fā)表于 2020-4-1 11:07
這樣打印量大了會(huì)不會(huì)很卡啊

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

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表