www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 原創(chuàng) > 振南技術干貨集(風云錄)
[導讀]在實際項目中,我們經常需要提取一個數值的某些位的數碼,比如用數碼管來顯示數值或將一個數值轉成字符串,都會涉及到這一操作。

一、取出數值的各位數碼

在實際項目中,我們經常需要提取一個數值的某些位的數碼,比如用數碼管來顯示數值或將一個數值轉成字符串,都會涉及到這一操作。

那如何實現這一操作呢?雖然這個問題看似很簡單,但提出這一問題的人還不在少數。請看下面的函數。

它的主要操作就是除法和取余。這個函數只是取出一個整型數各位的數碼,那浮點呢?其實一樣的道理,請看下面函數(我們默認整數與小數部分均取4位)。

有人說,我更喜歡用sprintf函數,直接將數值格式化打印到字符串里,各位數碼自然就得到了。

沒問題。但是在嵌入式平臺上使用sprintf函數,通常代價是較大的。作為嵌入式工程師,一定要惜字如金,尤其是在硬件資源相對較為緊張的情況下。sprintf非常強大,我們只是一個簡單的提取數值數碼或將數值轉為相應的字符串的操作,使用它有些暴殄天物。這種時候,我通常選擇寫一個小函數或者宏來自己實現。

二、printf的實質與使用技巧

上面說到spintf,那我們順便提一下printf。printf是我們非常熟悉的一個入門級的標準庫函數,每當我們說出計算機金句”Hello World!”時,其實無意中就提到了它:printf(“hello world!”);

它可以某種特定的格式、進制或形式輸出任何變量、常量和字符串,為我們提供了極大的方便,甚至成為了很多人調試程序時重要的Debug手段。我們并不太了解printf函數的具體實現細節(jié),并認為無需關心這些。但是在嵌入式中,我們就需要剖析一下它的實質了。

printf函數的底層是基于一個fputc的函數,它用于實現單個字符的具體輸出方式,比如是將字符顯示到顯示器上,或是存儲到某個數組中(類似sprintf),或者是通過串口發(fā)送出去,甚至不是串口,而是以太網、CAN、I2C等接口。

以下是一個STM32項目中fputc函數的實現:

fputc中將ch通過USART1發(fā)出。這樣,我們在調用printf的時候,相應的信息就會從USART1打印出來。

“上面你說的這些,我都知道,有什么新鮮的!”確實,通過串口打印信息是我們司空見慣的。那么下面的fputc你見過嗎?

這個fputc將字符顯示在了液晶上(同時維護了字符的顯示位置信息),這樣當我們調用printf的時候,信息會直接顯示在液晶上。

說白了,fputc 就是對數據進行了定向輸出。這樣我們可以把printf變得更靈活,來應對更多樣的應用需求。

在振南經歷的項目中,曾經有過這樣的情況:單片機有多個串口,串口1用于打印調試信息,串口2與ESP8266 WIFI模塊通信,串口3與SIM800 GPRS模塊通信。3個串口都需要格式化輸出,但是printf只有一個,這該怎么辦?我們解決方法是,修改fputc使得printf可以由3個串口分時復用。具體實現如下。

在調用的時候,根據需要將us賦以不同的值,printf就歸誰所用了。

聲明:該篇文章為本站原創(chuàng),未經授權不予轉載,侵權必究。
換一批
延伸閱讀

北京 2025年7月3日 /美通社/ -- 6月28日,國際獨立第三方檢測、檢驗和認證機構德國萊茵TÜV大中華區(qū)(簡稱"TÜV萊茵"...

關鍵字: 顯示技術 電子電氣 數碼 顯示屏

香港 2025年5月30日 /美通社/ -- 建造業(yè)議會“未來建造中心”昨日正式開幕,標志著香港建造業(yè)寫下數碼化發(fā)展的重要里程碑。開幕典禮假香港建造學院-九龍灣院校舉行,由發(fā)展局項目策略及管控處處長羅國權工程師、建造業(yè)...

關鍵字: 工程師 人工智能 數碼 模擬

香港 2025年5月30日 /美通社/ -- 建造業(yè)議會“未來建造中心”昨日正式開幕,標志著香港建造業(yè)寫下數碼化發(fā)展的重要里程碑。開幕典禮今早假香港建造學院-九龍灣院校舉行,由發(fā)展局項目策略及管控處處長羅國權工程師、建...

關鍵字: 工程師 人工智能 數碼 模擬

顛覆傳統,安全出行 深圳2025年4月15日 /美通社/ -- 近日,深圳電魔術科技有限公司旗下數碼品牌馬拉松(以下簡稱“馬拉松數碼”)正式宣布,全球首款量產固態(tài)電池充電寶于4月25日全面登陸京東、天貓、抖音等國內主流...

關鍵字: 充電寶 固態(tài)電池 數碼 能量密度

帶領香港步入中醫(yī)科學大健康新時代 香港2025年3月28日 /美通社/ -- 香港中醫(yī)藥業(yè)先驅位元堂(0897.HK)宣布,即日起于銅鑼灣波斯富街、旺角彌敦道、尖沙咀金馬倫道、沙田新城市廣場及九龍灣德福廣場,共5間核心...

關鍵字: 數碼 AI BSP 大數據

香港2024年10月30日 /美通社/ -- 由建造業(yè)議會及發(fā)展局合辦的“2024建造業(yè)議會國際建造數碼化論壇暨展覽”(GCDFE)假香港會議展覽中心于10月29日及30日舉行,并由發(fā)展局局長甯漢豪女士、建造業(yè)議會主席何...

關鍵字: 數碼 CD 工程師 智慧工地

在 20 世紀 90 年代,在實際硬件上調試嵌入式軟件主要有兩種基于工具的解決方案:一種是監(jiān)控調試器,它是在嵌入式系統內存中編程的軟件,可響應來自外部的調試器軟件的請求。另一種是在線仿真器,它是一塊(大型)硬件,可通過適...

關鍵字: 硬件調試 printf

上海2024年8月12日 /美通社/ -- 在政府和企事業(yè)單位的辦公用品采購領域,打印機是重要且較特殊的品類。一方面隨著國產操作系統的普及,對于其的適配性成為打印產品重要指標...

關鍵字: 打印機 數碼 CD 操作系統

上海2024年7月31日 /美通社/ -- 7月24日,由富士膠片(中國)投資有限公司、云集數科集團、雅藝云印聯合主辦、至一科技協辦的"印無限,贏未來"Jet Press 750S 成都數碼中心啟動儀...

關鍵字: PRESS 數碼 富士 印刷機
關閉