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

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

3天內(nèi)不再提示

ARM嵌入式學習-C語言入門系列文章

嵌入式星球 ? 2020-09-23 14:38 ? 次閱讀

想要做ARM開發(fā),C語言絕對是重中之重,在這方面是是沒有捷徑可以走的,這篇文章為大家收集了論壇的優(yōu)秀C語言初級文章,希望對新人有所幫助。

1、嵌入式應用程序的C編程語言簡介
按照現(xiàn)代技術(shù)的標準,C是一種相當古老的語言。最初的開發(fā)發(fā)生在70年代初,隨后在70年代后期進行了修訂,并在80年代實現(xiàn)了標準化。但是,我認為它沒有失去活力。對于嵌入式應用程序而言,它仍然是一門偉大的語言,以我的經(jīng)驗,它是適用于從簡單的基于微控制器的設(shè)備到復雜的數(shù)字信號處理等所有內(nèi)容的編程環(huán)境。

2、了解C編程中的變量
我們中的許多人早在對計算機編程了解甚多之前就已經(jīng)在數(shù)學課上聽說過“變量”一詞。數(shù)學變量是其值未知或不限于一個數(shù)值的數(shù)量。這種用法類似于C變量的概念,盡管不盡相同。兩個重要的區(qū)別是:首先,在數(shù)學中,我們通常使用諸如xy之類的字母表示變量,而在C中,我們經(jīng)常使用諸如temperature,MaxValueNumber_of_Samples之類的描述性單詞或短語。其次,在某些情況下,我們使用C變量來標識一個既已知又無意與原始值不同的數(shù)量。

3、了解C編程中的數(shù)組
嵌入式系統(tǒng)經(jīng)常處理自然屬于一個組而不是獨立變量集合的數(shù)據(jù)。一個容易想到的例子是一系列與模擬波形的數(shù)字化版本相對應的值。其他示例包括將被串行化并發(fā)送到液晶顯示器的字節(jié),必須分析或傳輸到不同設(shè)備進行處理的一連串測量結(jié)果,以及構(gòu)成UART消息的一小組ASCII字符。


在某些情況下,盡管很尷尬,還是有可能將此數(shù)據(jù)存儲在單獨的變量中,例如ADC_value1,ADC_value2,ADC_value3等。但是,通常使用單個變量是完全不切實際的。幸運的是,C語言提供了一種簡單而高效的方式來處理大型(或小型)變量組。我在這里指的功能稱為數(shù)組。

4、C編程中的指針:什么是指針,它做什么?
什么是指針?指針是變量。像其他變量一樣,它具有數(shù)據(jù)類型和標識符。但是,使用指針的方式與使用“普通”變量的方式根本不同,并且必須使用星號告訴編譯器應該將變量視為指針。


5、C編程中的函數(shù)是什么?
每個C程序都有一個main()函數(shù)。當然,有可能編寫一個成功的程序,其中唯一的功能是main()。我的猜測是已經(jīng)做過很多次了,確實在某些簡單的應用程序中不需要其他功能。

但是,功能的廣泛使用表明編寫代碼的人是經(jīng)驗豐富的固件開發(fā)人員。為什么?因為函數(shù)使我們能夠更快地編寫更好的代碼,從而減少工作量并減少錯誤。對于那些花費大量時間編寫固件的人來說,這些優(yōu)勢是不容忽視的。即使我們起初因為似乎需要更多工作而拒絕使用功能,但經(jīng)驗逐漸告訴我們,好處遠大于成本。

6、如何將功能整合到嵌入式固件中
像各種其他形式的組織一樣,職能最初需要付出額外的努力和深謀遠慮。但是,從長遠來看,如果我們養(yǎng)成編寫包括大量使用函數(shù)的代碼的習慣,那么我們將節(jié)省時間和精力,更不用說增加壓力了。

毫無疑問,拿走我收到的每份文件并將其放在散落在我辦公桌上的幾堆紙中的其中一堆上,感覺很“容易”。最終,盡管堆砌得很整齊并用便簽貼了標簽,但這種簡單的組織方案最終會帶來各種困難。同樣,當我考慮固件項目時,似乎到工作原型的最直接,最輕松的途徑是一個相對“無功能”的源文件,它完全可以滿足我的需要,而沒有其他任何作用。有時,這種方法很有意義,但總的來說,我認為這是一種短視的解決方案。


7、如何在C語言固件中使用指針
在本文中,我們將討論指針運算符,指針算術(shù),以及兩種可以改善代碼的情況。

8、在C語言固件中使用功能的五個技巧
在本文中,我們將通過一些附加信息和一些有用的實現(xiàn)技術(shù)來結(jié)束對C函數(shù)的探索。
基本的C函數(shù)(例如,一個或兩個參數(shù)和一個返回值)并不復雜。但是,C函數(shù)非常靈活,通過超越基礎(chǔ)知識,您可以更輕松地編寫代碼,并將一些有益的特性引入固件。


希望上面八篇文章,對大家學習C語言有所幫助,怕什么知識無窮,進一寸有一寸的歡喜!

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

    關(guān)注

    134

    文章

    9027

    瀏覽量

    366439
  • c編程
    +關(guān)注

    關(guān)注

    0

    文章

    94

    瀏覽量

    29336
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式學習建議

    原理的嵌入式操作系統(tǒng)進行學習。不要一開始就學習幾種操作系統(tǒng),理解了基本原理,實踐中確有實際需要再學習也不遲。人總是要不斷學習的。 ⑨關(guān)于匯
    發(fā)表于 10-22 11:41

    ARMxy ARM嵌入式計算機搭載 1 TOPS NPU支持深度學習

    ARMxy ARM嵌入式計算機BL410系列內(nèi)置了1TOPS算力 NPU,它每秒可以執(zhí)行高達一萬億次的浮點運算,這為復雜的圖像處理和深度學習任務提供了充足的計算資源。在產(chǎn)品缺陷檢測領(lǐng)域
    的頭像 發(fā)表于 08-20 11:53 ?255次閱讀
    ARMxy <b class='flag-5'>ARM</b><b class='flag-5'>嵌入式</b>計算機搭載 1 TOPS NPU支持深度<b class='flag-5'>學習</b>

    嵌入式系統(tǒng)怎么學?

    系列課程和技術(shù),包括但不限于以下內(nèi)容: 1、基礎(chǔ)知識:學習計算機組成原理、數(shù)字電路、模擬電路等基礎(chǔ)知識,建立對計算機硬件的認知與理解。 2、編程語言:掌握至少一種嵌入式系統(tǒng)常用的
    發(fā)表于 07-02 10:10

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統(tǒng)是當今科技領(lǐng)域的核心,而C語言則是
    發(fā)表于 04-07 16:03

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統(tǒng)是當今科技領(lǐng)域的核心,而C語言則是
    發(fā)表于 03-25 14:12

    嵌入式學習步驟

    開發(fā)。 嵌入式學習步驟總結(jié)如下: (1).確定目標平臺:選擇適合您要開發(fā)的嵌入式系統(tǒng)的硬件平臺。這取決于您要控制的設(shè)備以及您需要執(zhí)行的任務。 (2).選擇編程語言
    發(fā)表于 02-02 15:24

    聊一聊嵌入式C語言

    作為一名嵌入式軟件開發(fā)者,熟練掌握嵌入式C語言對我的日常工作至關(guān)重要。
    的頭像 發(fā)表于 01-22 09:28 ?509次閱讀

    嵌入式自學好書推薦

    工作經(jīng)驗的薪資可達10-15k;而擁有3年以上工作經(jīng)驗的薪資可在15-25k范圍內(nèi)。 嵌入式開發(fā)的前期入門知識主要包括以下四個方面: 1.電路知識:學習基礎(chǔ)的電路、模擬電路和數(shù)字電路,了解基礎(chǔ)器件、放大
    發(fā)表于 01-11 15:13

    C語言構(gòu)建高效的嵌入式程序

    嵌入式工程師在編寫C語言程序時,需要注重效率和清晰的思路。本文將通過解析經(jīng)典問題“猴子選大王”來展示如何用C語言思維方式構(gòu)建高效、清晰的程序
    的頭像 發(fā)表于 12-21 09:27 ?582次閱讀

    嵌入式C語言高手煉成之內(nèi)存操作篇

    嵌入式系統(tǒng)的編程中,常常要求在特定的內(nèi)存單元讀寫內(nèi)容,匯編有對應的MOV指令,而除C/C++以外的其它編程語言基本沒有直接訪問絕對地址的能力。在
    的頭像 發(fā)表于 12-11 17:20 ?475次閱讀

    嵌入式C語言的結(jié)構(gòu)特點

    過程中,不論是基于寄存器開發(fā)還是基于庫開發(fā),深入理解和掌握嵌入式C語言的函數(shù)、指針、結(jié)構(gòu)體是學習STM32的關(guān)鍵。嵌入式
    的頭像 發(fā)表于 11-24 16:16 ?616次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>的結(jié)構(gòu)特點

    嵌入式系統(tǒng)的C語言

    電子發(fā)燒友網(wǎng)站提供《嵌入式系統(tǒng)的C語言.doc》資料免費下載
    發(fā)表于 11-18 14:39 ?2次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)的<b class='flag-5'>C</b><b class='flag-5'>語言</b>

    C語言進階之嵌入式系統(tǒng)高級C語言編程

    電子發(fā)燒友網(wǎng)站提供《C語言進階之嵌入式系統(tǒng)高級C語言編程.rar》資料免費下載
    發(fā)表于 11-18 10:32 ?1次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>進階之<b class='flag-5'>嵌入式</b>系統(tǒng)高級<b class='flag-5'>C</b><b class='flag-5'>語言</b>編程

    嵌入式系統(tǒng)的原理(簡介與入門)

    電子發(fā)燒友網(wǎng)站提供《嵌入式系統(tǒng)的原理(簡介與入門).pdf》資料免費下載
    發(fā)表于 11-17 14:36 ?2次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)的原理(簡介與<b class='flag-5'>入門</b>)

    c語言嵌入式開發(fā)

    電子發(fā)燒友網(wǎng)站提供《c語言嵌入式開發(fā).zip》資料免費下載
    發(fā)表于 11-17 14:11 ?2次下載
    <b class='flag-5'>c</b><b class='flag-5'>語言</b><b class='flag-5'>嵌入式</b>開發(fā)