在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

關于 printf和scanf在開發(fā)STM32中的配置和應用

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-24 10:50 ? 次閱讀

Ⅰ、寫在前面

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

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

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

Ⅱ、printf和scanf的配置

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

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

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

1.使用微庫

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

MDK-ARM的使用微庫:

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

EWARM的使用微庫:

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

2.串口重定義

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

STM32工程中:

Ⅲ、printf和scanf的使用

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

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

在STM32工程代碼中簡單的應用:

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

char GetData;

While(1)

{

scanf("%c", &GetData);

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

}

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

基于Keil工具的代碼:

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

基于IAR工具的代碼:

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

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

    關注

    2272

    文章

    10924

    瀏覽量

    357608
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137739
  • Printf
    +關注

    關注

    0

    文章

    83

    瀏覽量

    13732
收藏 人收藏

    評論

    相關推薦

    STM32F1開發(fā)指南

    這本書詳細講述了STM32HAL庫開發(fā)配置流程,非常詳細
    發(fā)表于 01-21 15:33 ?1次下載

    試用報告1--關于PG2L100H開發(fā)板啟動選項配置的問題

    查閱開發(fā)板各種資料的過程中發(fā)現(xiàn)不同資料中關于芯片啟動選項的配置描述不統(tǒng)一,比如原理圖中通過QSPI Flash啟動的時候應該配置為0010(如圖1所示),但是
    發(fā)表于 12-29 21:13

    stdio.h實現(xiàn)了printf函數(shù)?

    printf 函數(shù),作用就是告訴編譯器,printf 是個函數(shù),編譯的時候不要報錯。 至于 printf 的實現(xiàn),
    的頭像 發(fā)表于 12-18 10:28 ?267次閱讀

    51單片機為什么很少出現(xiàn)printf的身影

    51單片機為什么很少出現(xiàn) printf 的身影?是用不了嗎? 不是的,51單片機可以用 printf,只是不建議使用。 平時我們操作系統(tǒng)上寫C語言代碼,使用
    的頭像 發(fā)表于 12-03 10:46 ?545次閱讀
    51單片機<b class='flag-5'>中</b>為什么很少出現(xiàn)<b class='flag-5'>printf</b>的身影

    HAL庫STM32開發(fā)的重要性

    HAL庫(Hardware Abstraction Layer Library,硬件抽象層庫)STM32開發(fā)扮演著至關重要的角色。以下是HAL庫
    的頭像 發(fā)表于 12-02 13:35 ?556次閱讀

    stm32 GPIO中斷配置教程

    嵌入式開發(fā)STM32微控制器因其高性能和豐富的外設而廣受歡迎。GPIO(通用輸入/輸出)中斷是STM32微控制器中常用的功能之一,它允
    的頭像 發(fā)表于 11-19 15:53 ?1258次閱讀

    關于使用DAVE 4開發(fā)XMC4200時UART打印的問題求解

    主題關于使用 DAVE 4 開發(fā) XMC4200 時 UART 打印問題的技術詢問 目前,我使用 DAVE 4 為 XMC4200 進行開發(fā)時遇到了一個問題。 按照論壇上提供的重定向
    發(fā)表于 05-21 06:35

    芯海通用 MCU應用筆記 : IAR 及 MDK 開發(fā)環(huán)境下使用 printf 函數(shù)重定向移植差異指南

    printf 函數(shù)支持的差異。并在本應用筆記結尾處給出可以一鍵移植到 Keil、IAR8.x、IAR9.x 版本下的通用重定向代碼。 Keil 和 IAR 都是常用的開發(fā)工具 IDE,實際項目
    發(fā)表于 05-16 11:56

    C語言嵌入式軟件開發(fā)常見誤解與誤區(qū)

    每個程序都有“scanf”和“printf”這兩個函數(shù),用于讀入和輸出數(shù)據(jù),大家用得是津津有味,如果哪個程序沒有這兩個函數(shù),反而會覺得奇怪。
    發(fā)表于 04-28 15:05 ?1045次閱讀
    C語言嵌入式軟件<b class='flag-5'>開發(fā)</b>常見誤解與誤區(qū)

    為何scanf函數(shù)的參數(shù)需要取地址?

    scanf的作用是從標準輸入緩沖區(qū)獲得一個數(shù)據(jù),放在對應的變量里面,假設我們獲取的是一個整數(shù)。
    的頭像 發(fā)表于 04-26 17:38 ?1632次閱讀

    macos下SW4STM32編譯,調(diào)用printf異常怎么解決?

    剛開始MACOS下開發(fā)STM32的程序,現(xiàn)在出現(xiàn)了一些很奇怪的問題,看是否大家有遇到這樣的問題。 開發(fā)配置如下 1.STM32cube42
    發(fā)表于 04-17 06:48

    使用cubeIDE配置的工程printfFreeRTOS線程任務無法使用怎么解決?

    使用cubeIDE配置完工程后,對printf進行了重映射,并且把例程的syscalls.c也拷貝到了工程,能夠使用printf輸出。但
    發(fā)表于 04-17 06:19

    stm32f103rct6 prinrf可以正常使用,但是無法使用getchar和scanf函數(shù),為什么?

    已使用如下代碼重定向,prinrf可以正常使用,但是無法使用getchar和scanf函數(shù),求大佬解答 #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int
    發(fā)表于 04-09 07:47

    STM32的疑難雜癥之一:Printf的使用

    一、Printf簡介Printf是一個標準的C庫API,用來打印信息顯示的。Printf的底層輸出調(diào)用,windows環(huán)境下是fputc函數(shù),
    的頭像 發(fā)表于 04-02 08:09 ?3979次閱讀
    <b class='flag-5'>STM32</b>的疑難雜癥之一:<b class='flag-5'>Printf</b>的使用

    求助,關于STM32CUBEIDE1.5.0使用Printf函數(shù)的疑問

    基于eclipse的,就把工程弄到STM32CUBEIDE,但怎么都不OK 自己從新從STM32CUBEMX到STM32CUBEIDE建工程,發(fā)現(xiàn)可以燒錄進去,LED跑起來了,但是
    發(fā)表于 03-22 06:47
    主站蜘蛛池模板: 俄罗斯美女69xxxxxx | 免费的日本网站 | 一级特黄aaa大片在线观看视频 | 91极品女神嫩模在线播放 | 网友偷自拍原创区 | 一区二区精品 | xxxx性欧美高清 | 欧美亚洲综合另类成人 | 色老久久精品偷偷鲁一区 | 性生生活三级视频在线观看 | 大学生毛片 | 欧美午夜精品久久久久久黑人 | 日本v片免费一区二区三区 日本www.色 日本wwwwww | 加勒比精品久久一区二区三区 | 69中国xxxxxxxx18 | 亚洲成a人伦理 | 色综合久久丁香婷婷 | 国产在线观看网址你懂得 | 国产精品人人爱一区二区白浆 | 日本一区二区在线视频 | 美女拍拍拍黄色 | 亚洲婷婷综合色高清在线 | 免费播放欧美毛片欧美aaaaa | 精品三级视频 | 免费一看一级毛片 | 天天躁日日躁狠狠躁一级毛片 | 丁香色综合 | 午夜欧美性视频在线播放 | 国产午夜免费一区二区三区 | 黄色大片视频在线观看 | videosxxoo18在线| 美女视频永久黄网站免费观看国产 | 美女视频永久黄网站在线观看 | 国产2021成人精品 | 天天干b| 亚洲天堂电影在线观看 | 国产成人啪午夜精品网站 | 亚洲精品91香蕉综合区 | 在线观看亚洲人成网站 | 亚洲一级免费视频 | 午夜免费视频 |