chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

STM32中使用printf打印串口數據的實現原理及方法

ss ? 來源:CSDN塵埃世界、Foresights ? 作者:CSDN塵埃世界、Fo ? 2021-07-22 11:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

STM32中使用printf打印串口數據的實現原理

在C庫中,printf()等輸出流函數都是通過fputc()這個函數實現的,所以我們通過重映射的方式,修改這個函數的定義使它輸出在STM32的寄存器中,便可以實現使用printf()函數在STM32串口上輸出數據的功能。

盤點一下實現printf()函數打印字符串重定義到USART1的方法

方法一

1添加包含printf()函數的頭文件:#include “stdio.h”

2.重寫 stdio.h 頭文件中的 int fputc(int ch, FILE *f) 函數

3.將該函數” int fputc(int ch, FILE *f) “放在main()函數能夠調用到的文件中,KEIL-》Options for Target’xxx’-》Target-》Code Generation,勾選Use MicroLIB

方法二

//加入以下代碼,支持printf函數,而不需要選擇use MicroLIB

#if 1

#pragma import(__use_no_semihosting)

//標準庫需要的支持函數

struct __FILE

{

int handle;

};

FILE __stdout;

//定義_sys_exit()以避免使用半主機模式

_sys_exit(int x)

{

x = x;

}

//重定義fputc函數

int fputc(int ch, FILE *f)

{

while( !(USART1-》SR & (1 《《 7)) );

USART_SendData(USART1,(uint8_t)ch);

return ch;

}

#endif

整合自:CSDN塵埃世界、Foresights

編輯:jq

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

    關注

    0

    文章

    84

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    求助,關于C代碼printf打印的疑問求解

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

    NucleiStudio_IDE_201909串口打印浮點型數據時無數據輸出,軟件該如何配置串口才能打印浮點型數據?

    NucleiStudio_IDE_201909串口打印浮點型數據時無數據輸出,軟件該如何配置串口才能打印
    發(fā)表于 11-07 07:57

    Proteus配置STM32外部時鐘HSE如何配置

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

    printf函數在hbird SDK的應用

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

    【CPKCOR-RA8D1】基礎串口打印測試

    本文將演示如何為瑞薩CPKCOR-RA8D1開發(fā)板配置串口功能,并實現最簡單的“Hello World”數據打印。串口是嵌入式開發(fā)中最常用、
    發(fā)表于 10-30 15:23

    【CPKCOR-RA8D1】+ 基礎串口打印測試

    本文將演示如何為瑞薩CPKCOR-RA8D1開發(fā)板配置串口功能,并實現最簡單的“Hello World”數據打印。串口是嵌入式開發(fā)中最常用、
    發(fā)表于 10-30 09:40

    e203仿真helloworld例程printf能在終端顯示的原理

    pirntf可以直接輸出信息。而在嵌入式領域,想要實現printf需要做一點工作。 以蜂鳥e203為例,它沒有顯示器,沒有標準終端,想要實現printf最常見的方式是通過
    發(fā)表于 10-27 06:56

    GD32F103RCT6 rt_kprintf無法打印怎么解決?

    使用的芯片為GD32F103RCT6,文件夾board路徑里有一個不使用rt操作系統(tǒng)的串口打印配置,映射到printf,使用這個代碼配置的printf可以正常
    發(fā)表于 09-19 07:42

    【RA-Eco-RA6M4開發(fā)板評測】——2.串口打印

    上次講了LED點亮流水燈,這次來講解串口打印,首先打開原理圖 由圖可知,用到的串口是109和110 打開LED工程,直接在上面添加串口功能 生成代碼 打開KEIL 先編譯一遍 發(fā)現錯
    發(fā)表于 07-16 13:20

    【RA4L1-SENSOR】+ RA4L1-SENSOR開發(fā)版之使用Jlink的RTT打印功能代替串口

    上一篇帖子我已經實現了板子上的串口USART9進行輸出打印,這篇帖子我采用另外一種串口打印
    發(fā)表于 06-09 09:03

    【RA4L1-SENSOR】+ RA4L1-SENSOR開發(fā)版串口打印功能printf實現

    很高興收到瑞薩RA生態(tài)工作室給與試用的RA4L1-SENSOR開發(fā)板,本期就來講解使用RA4L1-SENSOR開發(fā)板實現串口打印功能! 1。打開原理圖 可以知道板載的USB串口使用的是
    發(fā)表于 06-08 15:01

    如何在熱敏打印實現圖片的灰階打印效果嗎?

    誰知道如何在熱敏打印實現圖片的灰階打印效果。 現在基本上文字打印,圖片打印功能都已開發(fā)結束,
    發(fā)表于 04-03 08:40

    PRINTF函數無法打印出浮點數內容是為什么?

    1、MCXN947低功耗adc,歷程中使用官方提供的PRINTF無法打印出浮點數內容。 2、同樣在mcuxpresso ide 也不可以打印浮點數,這是為什么呢? 3、使用的歷程是lp
    發(fā)表于 03-20 08:06

    【瑞薩RA2L1入門學習】02. 串口打印 ADC 檢測電壓

    來識別處理這些數據。 【串口打印打印最常用的方法printf,所以要解決的問題是將
    發(fā)表于 03-07 11:52

    STM32微控制器實現數據加密的方法

    STM32微控制器實現數據加密,可以通過多種方法和技術來確保數據的安全性。以下是一些常見的
    發(fā)表于 03-07 07:30