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

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

3天內不再提示

stm32中printf要做哪些配置

ss ? 來源:嵌入式工程師、CSDN ? 作者:嵌入式工程師、 ? 2021-07-22 11:50 ? 次閱讀

在調試代碼時,我們經常用printf函數(shù)來輸出一些打印信息,那么你的UART串口不夠用,還要用printf要怎么辦?

其實很簡單,就是:使用SWO/SWV。

SWO:Serial Wire Output,串行線輸出

SWD:Serial Wire Viewer,串行線查看器

使用printf要做哪些配置?

一、對工程屬性進行配置,詳細步驟如下

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

2、在main文件中重定義《fputc》函數(shù)

3、在工程屬性的 “Target“ -》 ”Code Generation“ 選項中勾選 ”Use MicroLIB“”

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

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

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

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

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

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

int SendChar (int ch) {

while (?。║SART1-》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));

}

整合自:嵌入式工程師、CSDN

編輯:jq

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

    關注

    0

    文章

    81

    瀏覽量

    13608
收藏 人收藏

    評論

    相關推薦

    stm32用串口燒錄怎么設置

    準備工作 確保您擁有STM32開發(fā)板和相應的硬件設備,如USB轉串口模塊。 安裝STM32CubeMX和STM32CubeProgrammer軟件,這些是ST官方提供的工具,用于配置
    的頭像 發(fā)表于 08-22 09:33 ?1070次閱讀

    還不會嗎?三分鐘讓你速通Printf~

    Printf要做兩件事:第一件是將參數(shù)字符串以及可變參數(shù)進行解析,格式化成一串字符串。第二件事就是將格式化的字符串一個字節(jié)一個字節(jié)的輸出出去(至于以什么樣的方式輸出那
    的頭像 發(fā)表于 07-27 08:11 ?234次閱讀
    還不會嗎?三分鐘讓你速通<b class='flag-5'>Printf</b>~

    STM32CubeIDE printf浮點數(shù),浮點數(shù)丟失數(shù)值的原因?

    1、芯片:STM32F103C8T62、環(huán)境:STM32CubeIDE3、問題:printf浮點數(shù),浮點數(shù)數(shù)值丟失如 float A=25.6666;float B=24.7777;實際打印
    發(fā)表于 06-03 07:07

    AIROC-Wi-Fi-Bluetooth-STM32-release-v1.4.0如何將設備配置為AP?

    了 wifi-bt-tester 項目。 但是,我想將設備配置為 AP 而不是 STA。 我試著將 console_task() 功能的 wcm_config.interface
    發(fā)表于 05-29 06:39

    STM32CubeIde生成的工程,使用printf函數(shù)沒有調用_write和__io_putchar函數(shù),為什么?

    最近使用STM32CubeIde生成工程,就先做一個簡單的串口工程,使用NUCLEO-WBA52CG板子進行調試。 在初始化完畢后,使用printf打印log,重寫了int io_putchar
    發(fā)表于 05-24 06:13

    在macos下SW4STM32編譯,調用printf異常怎么解決?

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

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

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

    STM32CubeIDE生成STM32F4Discovery的RTOS工程無法運行的原因?怎么解決?

    test407.ioc, 配置Midleware, 使能RTOS, 并配置接口為CMSIS V2, 然后保存生成代碼 4. 啟動編譯/調試選項, 此時選擇調試其為: stlink-
    發(fā)表于 04-11 06:16

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

    。Printf要做兩件事:第一件是將參數(shù)字符串以及可變參數(shù)進行解析,格式化成一串字符串。第二件事就是將格式化的字符串一個字節(jié)一個字節(jié)的輸出出去(至于以什么樣的方式輸出那
    的頭像 發(fā)表于 04-02 08:09 ?3217次閱讀
    <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

    stm32使用AD5762配置程序

    如何使用STM32配置AD5762。 首先,我們需要確保STM32的開發(fā)環(huán)境已經搭建好,并且熟悉STM32的編程方式。接下來,我們將按照以下步驟來
    的頭像 發(fā)表于 01-09 11:10 ?638次閱讀

    解決printf無法打印輸出的問題

    包含float型的輸出!你沒辦法printf出浮點數(shù)。2、使用優(yōu)化過的printf,這個能輸出float型,但是在中斷如果使用float輸出,就會莫名其妙的整個程
    的頭像 發(fā)表于 01-04 08:00 ?1631次閱讀
    解決<b class='flag-5'>printf</b>無法打印輸出的問題

    AWorksLP應用筆記:重定向printf函數(shù)

    printf函數(shù)作為標準庫定義的格式化輸出方式,本文將介紹其在AWorksLP下默認適配以及重映射至熱拔插設備端口的實現(xiàn)。默認適配AWorksLP默認已經對printf函數(shù)完成相關適配工作,且默認
    的頭像 發(fā)表于 11-25 08:24 ?583次閱讀
    AWorksLP應用筆記:重定向<b class='flag-5'>printf</b>函數(shù)

    C語言printf函數(shù)族學習筆記

    printf 應該是學習C語言的第一個函數(shù),我們都知道它是用于字符串格式化輸出的。但是它的用法你真正了解了嗎?
    的頭像 發(fā)表于 11-24 11:15 ?888次閱讀
    C語言<b class='flag-5'>printf</b>函數(shù)族學習筆記

    c語言printf輸出空格間隔

    C語言中,需要在printf輸出添加空格間隔可以通過多種方式實現(xiàn)。這個空格間隔可以用于對輸出進行格式化使其更加易讀、美觀。在接下來的文章,我將詳細介紹如何使用空格來間隔輸出以及如何控制輸出的對齊
    的頭像 發(fā)表于 11-24 09:56 ?6068次閱讀