在 20 世紀(jì) 90 年代,在實際硬件上調(diào)試嵌入式軟件主要有兩種基于工具的解決方案:一種是監(jiān)控調(diào)試器,它是在嵌入式系統(tǒng)內(nèi)存中編程的軟件,可響應(yīng)來自外部的調(diào)試器軟件的請求。另一種是在線仿真器,它是一塊(大型)硬件,可通過適配替換和仿真位于目標(biāo)硬件中的微控制器/處理器。
在實際項目中,我們經(jīng)常需要提取一個數(shù)值的某些位的數(shù)碼,比如用數(shù)碼管來顯示數(shù)值或?qū)⒁粋€數(shù)值轉(zhuǎn)成字符串,都會涉及到這一操作。
最近在忙活搞別的事情(太難受了),嚴重影響了硪那一顆自由飛翔的芯~~所以今天打算分享一個麻省理工小伙寫的printf家族的函數(shù)~說是號稱目前網(wǎng)上嵌入式最好的printf喔.在嵌入式中printf這種功能強大的函數(shù)可謂是c語言庫函數(shù)的中的一股清流!也就是太好用了吧!網(wǎng)上最好的pri...
大伙估計在多任務(wù)程序中使用printf打印一些信息是非常歡樂的一件事,運氣不錯的話偶爾錯幾個數(shù)據(jù)、亂幾個碼也不是什么大問題,倒霉點的可能就直接掛機、卡死了,那這些到底是什么原因?qū)е碌哪兀?/p>
SWO串行線輸出是單引腳、異步串行通信,可在Cortex-M3/M4/M7上使用,并由主調(diào)試器探測支持,它是利用Cortex內(nèi)核中ITM模塊來實現(xiàn)此功能。
關(guān)注、星標(biāo)公眾號 ,直達精彩內(nèi)容 拋磚引玉 C語言負數(shù)除以正數(shù),與正數(shù)除以負數(shù)或者負數(shù)除以負數(shù)的余數(shù)和商,正負有誰定呢? -3 / 2 = ?; -3 % 2 = ?; 3 / (-2) = ?; 3 % (-2) = ?; (-3) / (-2) = ?; (-3) % (-2) = ?; 前提假設(shè) 假定我們讓 a 除以 b,商為 q
昨晚在微信群看到一個讀者發(fā)的面試題目,從網(wǎng)上截圖出來的,我百思不得其解,題目如圖。 幸好,我學(xué)過棧 棧,C語言實現(xiàn) 然后我寫了個小程序 第一個方法比較笨,當(dāng)我寫完自己的代碼后,看到有同學(xué)發(fā)了自己的代碼,我趕緊就發(fā)了個紅包,一個是為了鼓勵大家多討
來自公眾號:筑夢編程 c語言入門 C語言一經(jīng)出現(xiàn)就以其功能豐富、表達能力強、靈活方便、應(yīng)用面廣等特點迅速在全世界普及和推廣。C語言不但執(zhí)行效率高而且可移植性好,可以用來開發(fā)應(yīng)用軟件、驅(qū)動、操作系統(tǒng)等。C語言也是其它眾多高級語言的鼻祖語言,所以說學(xué)
昨晚在微信群看到一個讀者發(fā)的面試題目,從網(wǎng)上截圖出來的,我百思不得其解,題目如圖。 幸好,我學(xué)過棧 然后我寫了個小程序 第一個方法比較笨,當(dāng)我寫完自己的代碼后,看到有同學(xué)發(fā)了自己的代碼,我趕緊就發(fā)了個紅包,一個是為了鼓勵大家多討論問題,一個是
1. 什么是回調(diào)函數(shù)? 回調(diào)函數(shù),光聽名字就比普通函數(shù)要高大上一些,那到底什么是回調(diào)函數(shù)呢?恕我讀得書少,沒有在那本書上看到關(guān)于回調(diào)函數(shù)的定義。我在百度上搜了一下,發(fā)現(xiàn)眾說紛紜,有很大一部分都是使用類似這么一個場景來說明:A君去B君店里買東西,恰
大小端的問題在很多面試筆試中都會遇到,最直接的考察是,筆試的時候,讓你寫一個代碼,如何確定當(dāng)前系統(tǒng)是大端還是小端的。 什么是大端和小端呢? 大端: 高位字節(jié)排放在內(nèi)存的低地址端,低位字節(jié)排放在內(nèi)存的高地址端。(CPU對操作數(shù)的存放方式是從高字節(jié)到
· ?正 ?· ?文 ?· ?來 ?· ?啦 ?· 前言 ------在上篇文章里面,我們分析了預(yù)處理的一個完整過程,這能夠讓我們理解一個寫好的程序,在生成一個可執(zhí)行文件,到底發(fā)生了什么,對我們在大型工程項目里面有助于對程序的理解;今天我們繼續(xù)接著上篇文章的基礎(chǔ)上
貪吃蛇是個非常經(jīng)典的游戲,用C語言來實現(xiàn)也是一個好玩的事情。這個游戲我寫完后放在知乎,竟然點贊的人數(shù)超級多。我覺得大家喜歡,一個方面是因為寫得簡單,大家都能看得懂,一個可擴展性還是非常強的。 我試了說一下這個代碼 核心的三個函數(shù) menu();
很多人在用 printf 函數(shù)進行串口打印的時候,都會被告知需要重定向 fputc 函數(shù)(別的平臺可能不是這個函數(shù)),讓字符串?dāng)?shù)據(jù)輸出到指定串口,按照網(wǎng)上的教程也能很快解決。但是卻沒人告訴你為什么可以被重定向,為什么明明使用的是 printf 函數(shù),重定向的卻是
作者:Jung_zhang 鏈接:https://www.cnblogs.com/jungzhang/p/5547348.html 今天給大家分享幾個C語言中的坑。 一、帶參數(shù)的宏展開順序 #include? #define?f(a,b)?a##b #define?g(a)?#a #define?h(a)?g(a) int?main(void) { ?????printf("%s\n",h(f(
作者:Jung_zhang 鏈接:https://www.cnblogs.com/jungzhang/p/5547348.html 今天給大家分享幾個C語言中的坑。 一、帶參數(shù)的宏展開順序 #include? #define?f(a,b)?a##b #define?g(a)?#a #define?h(a)?g(a) int?main(void) { ?????printf("%s\n",h(f(
作者:Harris Wilde,http://www.techzone.ltd/post/CPointer/ 說到指針,估計還是有很多小伙伴都還是云里霧里的,有點“知其然,而不知其所以然”。但是,不得不說,學(xué)了指針,C語言才能算是入門了。指針是C語言的「精華」,可以說,對對指針的掌握程度,「
1. ANSI escape code 最近在研究日志打印組件easylogger,玩轉(zhuǎn)各種彩色日志打印不亦樂乎,好奇心越來越重,遂深入研究,發(fā)現(xiàn)了一個非常神奇的東西:ANSI escape code! escape ?sequence code 全稱叫做 escape sequence code,即 Escape 序列屏幕控制碼,其實
「本文目錄」 結(jié)構(gòu)體的聲明與定義 聲明 定義 訪問結(jié)構(gòu)體成員 初始化結(jié)構(gòu)體 對齊 結(jié)構(gòu)體嵌套 結(jié)構(gòu)體數(shù)組 結(jié)構(gòu)體指針 傳遞結(jié)構(gòu)體信息 傳遞結(jié)構(gòu)體變量 傳遞指向結(jié)構(gòu)體變量的指針 動態(tài)申請結(jié)構(gòu)體 實戰(zhàn):建立一個圖書館數(shù)據(jù)庫 單鏈表 在單鏈表中插入元素 搜索單鏈
作為嵌入式工程師,寫一個效率高效,思路清晰的C語言程序是我們的終極目標(biāo),那么,怎么才能寫好這樣的程序呢?首先,我們要用C語言的思維方式來進行程序的構(gòu)架構(gòu)建;其次,要有良好的C語言算法基礎(chǔ),以此來實現(xiàn)程序的邏輯構(gòu)架;最后,靈活運用C語言的指針操作。