娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年07月08日(星期二)

2021年07月08日 | STM32中如何使用printf()函數(shù)?

發(fā)布者:SereneSerenity 來源: eefocus關(guān)鍵字:STM32  printf()函數(shù)  串口通信 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

STM32串口通信中使用printf發(fā)送數(shù)據(jù)配置方法(開發(fā)環(huán)境 Keil RVMDK)


在STM32串口通信程序中使用printf發(fā)送數(shù)據(jù),非常的方便。可在剛開始使用的時(shí)候總是遇到問題,常見的是硬件訪真時(shí)無法進(jìn)入main主函數(shù),其實(shí)只要簡單的配置一下就可以了。


下面就說一下使用printf需要做哪些配置。


有兩種配置方法:


一、對(duì)工程屬性進(jìn)行配置,詳細(xì)步驟如下


1、首先要在你的main 文件中 包含“stdio.h” (標(biāo)準(zhǔn)輸入輸出頭文件)。


2、在main文件中重定義函數(shù) 如下:


// 發(fā)送數(shù)據(jù)


int fputc(int ch, FILE *f)


{


USART_SendData(USART1, (unsigned char) ch);// USART1 可以換成 USART2 等


while (!(USART1->SR & USART_FLAG_TXE));


return (ch);


}


// 接收數(shù)據(jù)


int GetKey (void)


{


while (!(USART1->SR & USART_FLAG_RXNE));


return ((int)(USART1->DR & 0x1FF));


}


這樣在使用printf時(shí)就會(huì)調(diào)用自定義的fputc函數(shù),來發(fā)送字符。


3、在工程屬性的 “Target" -> "Code Generation" 選項(xiàng)中勾選 "Use MicroLIB"”


MicroLIB 是缺省C的備份庫,關(guān)于它可以到網(wǎng)上查找詳細(xì)資料。


至此完成配置,在工程中可以隨意使用printf向串口發(fā)送數(shù)據(jù)了。


二、第二種方法是在工程中添加“Regtarge.c”文件


1、在main文件中包含 “stdio.h” 文件


2、在工程中創(chuàng)建一個(gè)文件保存為 Regtarge.c , 然后將其添加工程中


在文件中輸入如下內(nèi)容(直接復(fù)制即可)


#include


#include


#pragma import(__use_no_semihosting_swi)


extern int SendChar(int ch); // 聲明外部函數(shù),在main文件中定義


extern int GetKey(void);


struct __FILE


{


int handle; // Add whatever you need here


};



FILE __stdout;


FILE __stdin;


int fputc(int ch, FILE *f)


{


return (SendChar(ch));


}


int fgetc(FILE *f)


{


return (SendChar(GetKey()));


}


void _ttywrch(int ch)


{


SendChar (ch);


}


int ferror(FILE *f)


{ // Your implementation of ferror


return EOF;


}


void _sys_exit(int return_code)


{


label: goto label; // endless loop


}


3、在main文件中添加定義以下兩個(gè)函數(shù)


int SendChar (int ch)


{


while (!(USART1->SR & USART_FLAG_TXE)); // USART1 可換成你程序中通信的串口


USART1->DR = (ch & 0x1FF);


return (ch);


}


int GetKey (void)


{


while (!(USART1->SR & USART_FLAG_RXNE));


return ((int)(USART1->DR & 0x1FF));


}


至此完成配置,可以在main文件中隨意使用 printf 。

關(guān)鍵字:STM32  printf()函數(shù)  串口通信 引用地址:STM32中如何使用printf()函數(shù)?

上一篇:煤礦數(shù)字通信系統(tǒng)設(shè)計(jì)
下一篇:STM32使用FSMC總線方式控制LCD的方法

推薦閱讀

現(xiàn)在的人工智能有多牛?——阿里媽媽的人工智能文案1秒鐘能生成2萬條廣告語,螞蟻金服的實(shí)現(xiàn)了4個(gè)人服務(wù)27家基金公司數(shù)千萬用戶,眼科醫(yī)生經(jīng)過十幾年訓(xùn)練才能識(shí)別40%左右的角膜炎,而浙江大學(xué)的人工智能可以識(shí)別出84%且永不疲憊。至于翻譯,科大訊飛的人工智能同時(shí)運(yùn)用無數(shù)種語言交流不過是小菜一碟。 ? 早在2016年,基于當(dāng)時(shí)的人工智能技術(shù),牛津大...
根據(jù)集邦咨詢光電研究中心(WitsView)表示,雖然中美貿(mào)易紛爭于G20峰會(huì)后暫時(shí)休兵,但今年第二季電視品牌因擔(dān)心25%關(guān)稅即將于第三季實(shí)施,加上三星顯示(SDC)原定于今年第二季中關(guān)閉8.5代L8-1-1廠,讓品牌出現(xiàn)預(yù)期性提早拉貨的情況,導(dǎo)致6月電視面板價(jià)格大跳水,跌幅超乎預(yù)期。 集邦咨詢指出,雖然SDC最終因財(cái)務(wù)與技術(shù)等考量,將關(guān)廠計(jì)劃延宕至第三季,卻...
7月7日消息,小米POCO M2 Pro在印度正式發(fā)布。  售價(jià)方面,4GB+64GB版售價(jià)13999印度盧比(約合人民幣1300元);6GB+64GB版售價(jià)14999印度盧比(約合人民幣1400元),6GB+128GB版售價(jià)16999印度盧比(約合人民幣1600元)。  小米POCO M2 Pro采用的是單挖孔全面屏,這是POCO系列第一款單孔全面屏機(jī)型。其屏幕尺寸為6.7英寸,分辨率為FHD+,...
7月7日,捷捷微電發(fā)布公告稱,預(yù)計(jì)上半年盈利2.2億元-2.45億元,同比增長90%-110%。對(duì)于業(yè)績變動(dòng)的原因,捷捷微電表示,報(bào)告期內(nèi),公司聚焦主業(yè)發(fā)展方向,緊緊抓住“推動(dòng)我國基礎(chǔ)電子元器件產(chǎn)業(yè)實(shí)現(xiàn)高質(zhì)量發(fā)展”及推進(jìn)功率半導(dǎo)體進(jìn)口替代為契機(jī),公司主營業(yè)務(wù)收入較上年同期有較大幅度的增長,環(huán)比保持良好的增長。此外,公司繼續(xù)加大研發(fā)投入,持續(xù)發(fā)揮募...

史海拾趣

問答坊 | AI 解惑

芯片封裝概述

芯片封裝 一、DIP雙列直插式封裝  DIP(DualIn-line Package)是指采用雙列直插形式封裝的集成電路芯片,絕大多數(shù)中小規(guī)模集成電路(IC)均采用這種封裝形式,其引腳數(shù)一般不超過100個(gè)。采用DIP封裝的CPU芯片有兩排引腳,需要插入到具有DIP結(jié)構(gòu) ...…

查看全部問答∨

為什么source insight在光標(biāo)處插入字符時(shí),后面的字符被刪除了?

為什么我的source insight在光標(biāo)處插入字符時(shí),后面的字符被自動(dòng)刪除了? 比如說,本來有個(gè)\"string\",當(dāng)在t前插入a時(shí),變成saring了,為什么呢?…

查看全部問答∨

誰有好項(xiàng)目?我來投資(歡迎在上海的碩士博士)

誰有好的項(xiàng)目? 最好是電子或光電類的。LED控制或照明類的優(yōu)先考慮。 我的EMAIL:ymhm619@yahoo.com 或QQ:18361474 …

查看全部問答∨

evc4.0開發(fā)ocx如果選擇模擬器, 編譯后能在pda 上面直接注冊(cè)嗎?

evc4.0開發(fā)ocx如果選擇模擬器, 編譯后能在pda 上面直接注冊(cè)嗎? 選擇設(shè)備,能直接在pda上注冊(cè)嗎?…

查看全部問答∨

請(qǐng)教2407與2812區(qū)別

請(qǐng)教一下TMS320LF2407A與TMS320F2812功能上與硬件上區(qū)別 才開始學(xué)習(xí)  很多不懂  請(qǐng)各位多多幫忙  謝謝了!!!…

查看全部問答∨

為什么我的DDS芯片到2Khz就開始衰減????

本帖最后由 dontium 于 2015-1-23 13:27 編輯 用的AD9834 自己焊的電路,頻率給到2khz就開始衰減 為什么啊··········據(jù)說到1Mhz才衰減的啊····我的問題能出在什么地方啊 …

查看全部問答∨

BB Black 入門基礎(chǔ)之Eclipse C++ 控制LED燈(中)

本帖最后由 lonerzf 于 2014-1-13 10:57 編輯 接著上一篇。之前的地方設(shè)置是有問題的,先不講可能是哪,大家?guī)兔o查個(gè)錯(cuò)唄。謝謝啦{:soso_e100:} 補(bǔ)充下,如果用 SSH Only方式進(jìn)行遠(yuǎn)程部署,則在某些情況下方便得多。 還是在編譯好之后選擇綠 ...…

查看全部問答∨

曬瑞薩DIY獎(jiǎng)品

收到大獎(jiǎng)。上圖了。 再次感謝莎莎、soso、eric_wang及所有eeworld團(tuán)隊(duì)成員,同時(shí)也祝大家新年快樂,身體健康,闔家幸福。 …

查看全部問答∨

msp432驅(qū)動(dòng)問題

插上板子以后在板載仿真器一側(cè)靠近接口的一側(cè)有兩個(gè)標(biāo)有IC的小芯片就發(fā)熱,打開任務(wù)管理器顯示那兩個(gè)驅(qū)動(dòng)裝上了,但是debug的時(shí)候老是顯示連接錯(cuò)誤,我初步認(rèn)為是驅(qū)動(dòng)沒裝好,但是按照修復(fù)驅(qū)動(dòng)的方法修復(fù)以后還是下不進(jìn)去,跪求大神講解…

查看全部問答∨

EEWORLD大學(xué)堂----電子紋身,還能隨時(shí)切換圖案~

電子紋身,還能隨時(shí)切換圖案~:https://training.eeworld.com.cn/course/3608能夠通過藍(lán)牙鏈接智能手機(jī)來控制的電子紋身!不僅能改變紋身的式樣圖案,顯示重要信息,能讓紋身消失的無影無蹤,圖案還是可以動(dòng)噠!>>點(diǎn)擊查看EE大學(xué)堂更多創(chuàng)客視頻 …

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 长子县| 镇康县| 沐川县| 黄大仙区| 白朗县| 罗甸县| 新营市| 十堰市| 绍兴县| 邹城市| 靖州| 武平县| 吴川市| 昂仁县| 康平县| 诏安县| 永城市| 红安县| 勃利县| 南汇区| 慈溪市| 奈曼旗| 阿拉善右旗| 镇远县| 惠水县| 肇州县| 安庆市| 霍州市| 顺义区| 泸西县| 竹山县| 阜新| 凤庆县| 武义县| 平顶山市| 昌都县| 枝江市| 东山县| 漯河市| 双城市| 中山市|