日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于 printf和scanf在開發(fā)STM32中的配置和應(yīng)用

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-24 10:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Ⅰ、寫在前面

在我們學(xué)習(xí)C語言的時(shí)候都應(yīng)該知道printf和scanf這個(gè)函數(shù),但是你們?cè)陂_發(fā)中經(jīng)常使用這個(gè)函數(shù)嗎?

在我們購買開發(fā)板配套例程以及在網(wǎng)上找的例程中或許會(huì)見到使用printf函數(shù)的地方,就有許多人問,這個(gè)printf和scanf是如何配置才能使用的?

printf和scanf串口打印功能對(duì)于學(xué)習(xí)開發(fā)的朋友是一種很好的工具,在沒有顯示屏或更多表現(xiàn)你程序運(yùn)行結(jié)果的時(shí)候,用它打印信息就能很好地解決這個(gè)問題。在實(shí)際項(xiàng)目中,用于打印某段程序運(yùn)行狀態(tài),也能幫你快速判斷程序的正確性。

Ⅱ、printf和scanf的配置

printf和scanf都知道他們是“標(biāo)準(zhǔn)函數(shù)接口”,源代碼的實(shí)現(xiàn)過程就不用我們自己寫,只需要調(diào)用就行了。

printf和scanf在軟件中要實(shí)現(xiàn)其功能,就需要對(duì)軟件及工程進(jìn)行配置,我們下面講述一下常規(guī)的配置。

配置分使用微庫和不使用微庫兩種方法,不使用微庫就是需要在代碼中多添加一段代碼,由于使用“標(biāo)準(zhǔn)函數(shù)接口”這種方式與編譯工具關(guān)系很緊密,在不同 編譯器上實(shí)現(xiàn)的方式存在不同(意思就是通用性不是很強(qiáng)),所以不建議使用這種方法。因此,我們講述使用微庫配置的方法。

1.使用微庫

我們講述MDK-ARM 和 EWARM下的配置。

MDK-ARM的使用微庫:

Project -> Options for Target -> Target 勾選上“Use Micro LIB”,如下圖:

EWARM的使用微庫:

Project -> Options -> General Options -> Library Configuration 選中“Full”,如下圖:

2.串口重定義

由于我們使用的是USART串口進(jìn)行打印數(shù)據(jù),則需要使用串口重定義。其實(shí)很簡單,就是要在源代碼中重定義兩個(gè)函數(shù):int fputc(int ch, FILE *f)和int fgetc(FILE *f)

STM32工程中:

Ⅲ、printf和scanf的使用

printf和scanf的功能這里不再描述,在你工程運(yùn)用中會(huì)逐漸明白他的用途,我們這里提供例程代碼并講述一下他們的簡單使用方法。

我們?cè)趯?shí)際應(yīng)用中,常用的應(yīng)該是printf這個(gè)函數(shù),而scanf這個(gè)函數(shù)比較少見,但也是有些地方可以使用的,比如要在某個(gè)地方傳遞參數(shù),可以通過scanf輸入?yún)?shù),以便調(diào)試。

在STM32工程代碼中簡單的應(yīng)用:

通過scanf輸入一個(gè)字符,通過pringf打印輸入的字符,代碼如下:

char GetData;

While(1)

{

scanf("%c", &GetData);

printf("GetData = %c\n", GetData);

}

基于STM32F103的實(shí)例代碼(其他配置原理一樣)我已近打包分享給大家:

基于Keil工具的代碼:

http://pan.baidu.com/s/1kUELHnL

基于IAR工具的代碼:

http://pan.baidu.com/s/1nuILwed

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2313

    文章

    11195

    瀏覽量

    374743
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7646

    瀏覽量

    146193
  • Printf
    +關(guān)注

    關(guān)注

    0

    文章

    84

    瀏覽量

    14831
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    函數(shù)printf格式介紹

    輸出字符串 *修飾符printf()的用法: 假如您不想事先指定字段寬度,而是希望由程序來制定該值,那么您可以字段寬度部分使用*代替數(shù)字來達(dá)到目的,但是您也必須使用一個(gè)參數(shù)來
    發(fā)表于 04-29 06:06

    STM32N6 PSRAM 上運(yùn)行代碼的調(diào)試

    開發(fā)其產(chǎn)品過程,使用了 STM32N657X0H3Q??蛻舻拇a很大,不能放在SRAM 上運(yùn)行,想放在 PSRAM 上去運(yùn)行,并咨詢?nèi)绾卧?STM32CubeIDE 上進(jìn)行調(diào)試。2.
    發(fā)表于 04-15 16:02 ?0次下載

    求助STM32H563關(guān)于LWESP配置UART問題

    求助STM32H563關(guān)于LWESP配置UART問題,信息如下: Uart GPIO:PA9 USART1_TXPA10 USART1_RX 參考文章:https://blog.csdn.net
    發(fā)表于 01-27 14:02

    【正點(diǎn)原子STM32N647開發(fā)板試用】--開箱與開發(fā)環(huán)境搭建

    開發(fā)板代碼資源放置如下,后面項(xiàng)目開發(fā)會(huì)用到。 3.軟件工具配置 (1)STM32CubeMX安裝好ST
    發(fā)表于 01-25 00:01

    請(qǐng)問串口接收可以用scanf接收嗎?

    串口接收可以用scanf接收嗎?
    發(fā)表于 01-15 08:20

    linux-arm開發(fā)環(huán)境的簡單配置

    linux-arm開發(fā)環(huán)境簡單配置 關(guān)于linux-arm開發(fā)環(huán)境簡單配置是ARM學(xué)習(xí)的第一步,很多初學(xué)者會(huì)在這問題上糾結(jié)很久都不能
    發(fā)表于 01-13 07:56

    ADS編譯器,用標(biāo)準(zhǔn)的C庫函數(shù)printf()需要哪些設(shè)置呢?

    ADS編譯器,用標(biāo)準(zhǔn)的C庫函數(shù)printf()需要哪些設(shè)置呢?又在哪兒可以看到printf()輸出的信息呢?
    發(fā)表于 12-23 07:32

    scanf函數(shù)介紹

    scanf函數(shù)向字符型數(shù)組輸入數(shù)據(jù)char a[20]; scanf(\"%s\", a); 錯(cuò)誤 scanf(%s\",a); 正確 用scanf函數(shù)向數(shù)值型
    發(fā)表于 12-02 06:07

    求助,關(guān)于C代碼printf打印的疑問求解

    使用E203 testbench執(zhí)行附帶的benchmark測試用例時(shí)候,得到如下打印信息: CPU驗(yàn)證小白一枚,有個(gè)問題不是很理解:黃色框框內(nèi)的字符看起來應(yīng)該是C代碼printf語句
    發(fā)表于 11-10 07:54

    Arty移植蜂鳥E203后,發(fā)現(xiàn)不支持scanf函數(shù),怎么解決?

    本人想用Arty A7 35T做一些基于蜂鳥E203的串口交互開發(fā),目前已經(jīng)移植并且成功運(yùn)行了printf函數(shù)。 測試scanf函數(shù)的時(shí)候,發(fā)現(xiàn)結(jié)果不理想(好吧其實(shí)就沒反應(yīng)),于是讀
    發(fā)表于 11-07 07:13

    Proteus配置STM32外部時(shí)鐘HSE如何配置

    有大佬會(huì)配置ProteusSTM32F103C8的外部時(shí)鐘嗎 這個(gè)proteus打印不出來數(shù)據(jù),但是實(shí)物的連接
    發(fā)表于 11-02 13:54

    printf函數(shù)hbird SDK的應(yīng)用

    helloworld的例程,使用到了printf函數(shù),通過串口輸出了數(shù)據(jù)。 Nuclei Studio通過teminal窗口可以查
    發(fā)表于 10-31 08:48

    STM32 Nucleo-144開發(fā)板技術(shù)解析與應(yīng)用指南

    STMicroelectronics NUCLEO-H7S3L8 STM32 Nucleo-144開發(fā)板采用STM32H7S3L8 MCU,提供了一個(gè)經(jīng)濟(jì)實(shí)惠的多功能平臺(tái),用于原型設(shè)計(jì)和實(shí)驗(yàn)
    的頭像 發(fā)表于 10-17 14:40 ?1554次閱讀
    <b class='flag-5'>STM32</b> Nucleo-144<b class='flag-5'>開發(fā)</b>板技術(shù)解析與應(yīng)用指南

    對(duì)于STM32CubeMx使用FMC的NAND FLASH里面配置這些時(shí)間有什么說明嗎?

    對(duì)于STM32CubeMx使用FMC的NAND FLASH里面配置這些時(shí)間有什么說明嗎?
    發(fā)表于 07-21 07:07

    瑞薩RA單片機(jī)e2 studio環(huán)境下printf編譯出錯(cuò)的問題解析

    最近看到有一些網(wǎng)友討論關(guān)于:瑞薩RA單片機(jī)e2 studio環(huán)境下printf編譯出錯(cuò)的問題。
    的頭像 發(fā)表于 05-24 15:51 ?1758次閱讀
    瑞薩RA單片機(jī)<b class='flag-5'>在</b>e2 studio環(huán)境下<b class='flag-5'>printf</b>編譯出錯(cuò)的問題解析
    泾川县| 电白县| 读书| 吉木萨尔县| 昭觉县| 古田县| 徐闻县| 靖江市| 涡阳县| 德化县| 庄浪县| 桐乡市| 册亨县| 张北县| 益阳市| 四子王旗| 贵定县| 措美县| 海门市| 砚山县| 广西| 六盘水市| 富顺县| 长丰县| 小金县| 高淳县| 荃湾区| 涿州市| 陆河县| 阜康市| 玛沁县| 右玉县| 澳门| 奎屯市| 清水河县| 灯塔市| 涿鹿县| 桑日县| 越西县| 信丰县| 沾益县|