91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

STM32串口格式化輸出的幾種方法介紹

冬至子 ? 來源:紛紜雜談 ? 作者:CY_CHEN ? 2023-07-22 10:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在前兩天介紹的串口輸出中,函數Usart1_SendStr只能輸出字符串,如果想輸出一個整型或者其他類型的數據,單獨用這個函數是不能實現的。今天跟大家簡單介紹下格式化輸出,讓輸出不再只有字符串。

格式化輸出有****3種方法 :sprintf結合usart輸出;使用MicroLIB調用printf輸出;重定向輸出。

1、sprintf結合usart輸出

sprintf指的是字符串格式化命令,主要功能是把格式化的數據寫入某個字符串中。sprintf 是個變參函數。

函數原型

int sprintf( char *buffer, const char *format, [ argument] … );

參數列表:

buffer :char型指針,指向將要寫入的字符串的緩沖區。

format :格式化字符串。

[argument]... :可選參數,可以是任何類型的數據。

通過sprintf把想要輸出的數據格式化為字符串數據,再調用Usart1_SendStr就能輸出任意想要輸出的數據了。

2、使用MicroLIB調用printf輸出

圖片

勾選Use MicroLIB,調用printf,再開啟半主機模式,就可以輸出數據了。但是使用MicroLIB存在bug,在跑操作系統時偶爾會出現死機的現象,所以這種方法不推薦使用。

3、重定向輸出

圖片

Keil的下載路徑下找到Retarget.c文件,打開并復制整個文件,粘貼到串口源文件中,做一定的修改,如下所示。

#pragma import(__use_no_semihosting_swi)


struct __FILE { int handle; /* Add whatever you need here */ };
FILE __stdout;


int fputc(int ch, FILE *f) {
  while((USART1- >SR & (1< 7)) == 0);
  USART1- >DR = ch;
  return ch;
}


int ferror(FILE *f) {
  /* Your implementation of ferror */
  return EOF;
}


void _sys_exit(int return_code) {
  while (1);    /* endless loop */
}

修改完成后,就可以直接調用printf輸出任意類型的數據了。這種方法跑操作系統時不會有bug,為了避免后期跑操作系統出現死機或其它bug,推薦使用這種重定向輸出的方法。

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

    關注

    2293

    文章

    11032

    瀏覽量

    365085
  • printf函數
    +關注

    關注

    0

    文章

    31

    瀏覽量

    6117
  • USART串口
    +關注

    關注

    0

    文章

    32

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    介紹stm32串口isp實現方法

    這里介紹stm32串口isp實現方法,包含st官方協議整理和實現代碼。已提交到github 。概述stm32
    發表于 08-05 07:15

    使用STM32 BSP中的串口驅動在串口輸出HelloWorld

    目錄前言串口初始重定向C庫的printf函數到串口在main中添加測試代碼完整的main.c代碼編譯下載程序效果擴展實驗1:格式化字符
    發表于 08-11 06:22

    怎樣將stm32串口格式化打印字符的函數進行封裝呢

    怎樣將stm32串口格式化打印字符的函數進行封裝呢?
    發表于 11-26 06:38

    基于RTOS的STM32串口通信有哪幾種方法

    串行端口的通信方式是指什么?基于RTOS的STM32串口通信有哪幾種方法呢?
    發表于 12-07 08:03

    有什么方法可以實現stm32串口接受不定長數據呢

    有什么方法可以實現stm32串口接受不定長數據呢?有哪幾種方法
    發表于 12-08 06:59

    2.6 python字符格式化

    2.6 python字符格式化格式化輸出,主要有三種方式使用 % 進行格式化使用 format 函數進行
    發表于 02-21 16:28

    格式化硬盤

    格式化硬盤 軟盤只需要一次格式化,硬盤卻需要兩級,即低級格式化和高級格式化。  硬盤的低級格式化在每個磁片上劃分
    發表于 12-25 15:40 ?1144次閱讀

    格式化是什么

    格式化(format)是指對磁盤或磁盤中的分區(partition)進行初始的一種操作,這種操作通常會導致現有的磁盤或分區中所有的文件被清除。格式化通常分為低級格式化和高級
    的頭像 發表于 01-09 15:20 ?8.7w次閱讀

    STM32串口下載軟件FLYMCU免費下載

    本文檔的主要內容詳細介紹的是STM32串口下載軟件FLYMCU免費下載。
    發表于 12-16 08:00 ?33次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>串口</b>下載軟件FLYMCU免費下載

    計算機擴展RS-232串口的三種方法和區別及應用

    計算機擴展串口的三種方法現在的計算機,特別是筆記本計算機基本上沒有帶RS-232串口了,但是在許多工業通信的場合需要用到RS-232和RS-485
    的頭像 發表于 01-21 17:14 ?1.3w次閱讀

    剖析提升字符格式化效率的小技巧

    一、前言 在嵌入式項目開發中,字符格式化是很常見的操作,我們一般都會使用 C 庫中的 sprintf 系列函數來完成格式化。 從功能上來說,這是沒有問題的,但是在一些時間關鍵場合,字符
    的頭像 發表于 04-30 13:43 ?1881次閱讀
    剖析提升字符<b class='flag-5'>串</b><b class='flag-5'>格式化</b>效率的小技巧

    stm32串口代碼詳解

    stm32串口
    發表于 12-24 18:38 ?52次下載
    <b class='flag-5'>stm32</b><b class='flag-5'>串口</b>代碼詳解

    python字符格式化

    python字符格式化 格式化輸出,主要有三種方式 使用 % 進行格式化 使用 format 函數進行
    的頭像 發表于 02-21 16:28 ?1860次閱讀
    python字符<b class='flag-5'>串</b><b class='flag-5'>格式化</b>

    格式化字符常量f-strings一些不常見的特性

    【導語】:本文介紹了“格式化字符常量”f-strings一些不常見的特性,包括:格式化日期和時間、同時打印變量名和變量值等,嵌套使用f-strings等,此外與其他
    的頭像 發表于 08-15 12:00 ?1416次閱讀

    STM32串口輸出字符串幾種方法

    C語言中有個很好用的函數:printf()。printf()是格式化輸出函數,可以按照規定格式輸出消息。相信每個工程師開始學習的C語言第一課都會遇到printf(“Hello Worl
    的頭像 發表于 07-22 10:44 ?7114次閱讀
    <b class='flag-5'>STM32</b>—<b class='flag-5'>串口</b><b class='flag-5'>輸出字符串</b>的<b class='flag-5'>幾種方法</b>
    主站蜘蛛池模板: 性69交片免费看 | 国产91色综合久久免费分享 | 五月婷六月 | 日本午夜片成年www 日本午夜三级 | 亚洲黄色三级 | 久久久噜噜噜久久中文字幕色伊伊 | www.色天使| 一级免费视频 | 日韩一级片在线免费观看 | 成人午夜网址 | 人人揉揉香蕉大免费不卡 | 又黄又粗暴的120秒免费gif视频 | 免费午夜视频在线观看 | 国产亚洲精品成人a在线 | 四虎精品免费国产成人 | 男人j桶进女人j的视频 | 午夜男人天堂 | 欧美一级特黄aaaaaa在线看片 | 黑色丝袜美女被视频网站 | 99国产精品农村一级毛片 | 91色在线视频 | 婷婷亚洲综合五月天小说在线 | 全免费a级毛片免费看不卡 全日本爽视频在线 | 亚洲欧美一区二区三区图片 | 欧美色视频日本片免费高清 | 欧美日韩精品乱国产538 | 阿v视频在线观看免费播放 爱爱视频天天干 | 四虎永久在线精品国产免费 | 免费a网址 | 国产一区二区三区免费大片天美 | 69xxxxx日本护士 | 久久久午夜毛片免费 | 夜夜澡人人爽人人喊_欧美 夜夜综合网 | 韩国床戏合集三小时hd中字 | 91久久婷婷国产综合精品青草 | 二区视频在线 | 亚洲2020天天堂在线观看 | 色女人在线视频 | 伊人网大香 | 午夜手机看片 | 亚洲一区亚洲二区 |