99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

ARM嵌入式學(xué)習(xí)-C語言入門系列文章

嵌入式星球 ? 2020-09-23 14:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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


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

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


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

但是,功能的廣泛使用表明編寫代碼的人是經(jīng)驗(yàn)豐富的固件開發(fā)人員。為什么?因?yàn)楹瘮?shù)使我們能夠更快地編寫更好的代碼,從而減少工作量并減少錯(cuò)誤。對(duì)于那些花費(fèi)大量時(shí)間編寫固件的人來說,這些優(yōu)勢(shì)是不容忽視的。即使我們起初因?yàn)樗坪跣枰喙ぷ鞫芙^使用功能,但經(jīng)驗(yàn)逐漸告訴我們,好處遠(yuǎn)大于成本。

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

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


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

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


希望上面八篇文章,對(duì)大家學(xué)習(xí)C語言有所幫助,怕什么知識(shí)無窮,進(jìn)一寸有一寸的歡喜!

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

    關(guān)注

    134

    文章

    9353

    瀏覽量

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

    關(guān)注

    0

    文章

    94

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    : 單片機(jī)嵌入式 :開發(fā)環(huán)境相對(duì)簡單,通常使用C語言或匯編語言進(jìn)行編程,開發(fā)工具包括Keil、IAR等。 Linux嵌入式 :開發(fā)環(huán)境較
    發(fā)表于 06-20 09:46

    嵌入式開發(fā)入門指南:從零開始學(xué)習(xí)嵌入式

    特定功能的計(jì)算機(jī)系統(tǒng),廣泛應(yīng)用于智能家居、工業(yè)控制、醫(yī)療設(shè)備、車載系統(tǒng)等領(lǐng)域。 2. 學(xué)習(xí)嵌入式開發(fā)的前置知識(shí)熟悉C語言編程掌握基本的數(shù)據(jù)結(jié)構(gòu)與算法了解數(shù)字電路與微控制器原理熟悉Lin
    發(fā)表于 05-15 09:29

    入行嵌入式難度大不大?

    入行嵌入式難度大不大?根據(jù)不同的情況來分析下。 (一)零基礎(chǔ)入行 對(duì)于零基礎(chǔ)的初學(xué)者來說,嵌入式領(lǐng)域可能會(huì)有一定的門檻。需要從基礎(chǔ)的電子電路知識(shí)、編程語言(如C
    發(fā)表于 04-17 10:14

    嵌入式開發(fā):高門檻的系統(tǒng)性工程與 996 的行業(yè)困局

    嵌入式開發(fā)的門檻,往往被培訓(xùn)機(jī)構(gòu)和表象所掩蓋。許多人誤以為 “用 C 語言寫個(gè)跑在 ARM 上的程序” 就是嵌入式,實(shí)則連皮毛都未觸及。真正
    的頭像 發(fā)表于 04-09 11:06 ?350次閱讀
    <b class='flag-5'>嵌入式</b>開發(fā):高門檻的系統(tǒng)性工程與 996 的行業(yè)困局

    入門必看】從菜鳥到大牛,嵌入式系統(tǒng)完整學(xué)習(xí)路線!看這篇就夠了!

    ?嵌入式Linux”的順序幫助您從入門到進(jìn)階,掌握嵌入式開發(fā)的精髓。第一階段單片機(jī)單片機(jī)是嵌入式學(xué)習(xí)的基石,因?yàn)樗闪颂幚砥?、存?chǔ)器和輸入
    的頭像 發(fā)表于 02-20 10:53 ?2343次閱讀
    【<b class='flag-5'>入門</b>必看】從菜鳥到大牛,<b class='flag-5'>嵌入式</b>系統(tǒng)完整<b class='flag-5'>學(xué)習(xí)</b>路線!看這篇就夠了!

    嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開發(fā)環(huán)境

    作者:DigiKey Editor 在許多嵌入式系統(tǒng)中,必須采用嵌入式機(jī)器學(xué)習(xí)(Embedded Machine Learning)技術(shù),這是指將機(jī)器學(xué)習(xí)模型部署在資源受限的設(shè)備(如微
    的頭像 發(fā)表于 01-25 17:05 ?670次閱讀
    <b class='flag-5'>嵌入式</b>機(jī)器<b class='flag-5'>學(xué)習(xí)</b>的應(yīng)用特性與軟件開發(fā)環(huán)境

    ARM架構(gòu)嵌入式主板特點(diǎn)

    極其廣泛。ARM架構(gòu)嵌入式主板有什么特點(diǎn)呢?一、工作時(shí)間及環(huán)境:ARM主板不受時(shí)間限制,可常開機(jī),無需人員維護(hù)。在有電源調(diào)節(jié)的情況下,只要接通電源,就會(huì)自動(dòng)啟動(dòng),
    的頭像 發(fā)表于 12-31 16:03 ?1034次閱讀
    <b class='flag-5'>ARM</b>架構(gòu)<b class='flag-5'>嵌入式</b>主板特點(diǎn)

    ARM嵌入式通信協(xié)議及應(yīng)用

    隨著科技的飛速發(fā)展,嵌入式系統(tǒng)在各個(gè)領(lǐng)域扮演著越來越重要的角色。ARM處理器因其高性能、低功耗的特點(diǎn),在嵌入式系統(tǒng)中得到了廣泛應(yīng)用。通信協(xié)議作為嵌入式系統(tǒng)的重要組成部分,對(duì)于實(shí)現(xiàn)設(shè)備間
    的頭像 發(fā)表于 12-28 09:18 ?965次閱讀

    ARM嵌入式實(shí)時(shí)操作系統(tǒng)比較

    嵌入式系統(tǒng)領(lǐng)域,實(shí)時(shí)操作系統(tǒng)(RTOS)是確保任務(wù)按時(shí)完成的關(guān)鍵技術(shù)。ARM架構(gòu)因其低功耗、高性能的特點(diǎn),在嵌入式系統(tǒng)中得到了廣泛應(yīng)用。本文將對(duì)幾款流行的ARM
    的頭像 發(fā)表于 12-28 09:15 ?1429次閱讀

    新手怎么學(xué)嵌入式?

    。但面對(duì)這個(gè)復(fù)雜的領(lǐng)域,很多人可能會(huì)感到迷茫,不知從何處入手。別擔(dān)心,本文將為你提供一些入門學(xué)習(xí)嵌入式技術(shù)的建議。 新手入門學(xué)習(xí)
    發(fā)表于 12-12 10:51

    零基礎(chǔ)嵌入式開發(fā)學(xué)習(xí)路線

    嵌入式開發(fā)”沒有接觸過的同學(xué)可能會(huì)不明覺厲,但是只要你了解了,感興趣并且有一個(gè)正確的學(xué)習(xí)路線的話,零基礎(chǔ)也能入門。給大家介紹一個(gè)簡單易懂的學(xué)習(xí)路線,讓你能夠從零開始
    發(fā)表于 10-25 15:55

    嵌入式學(xué)習(xí)建議

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

    如何學(xué)習(xí)ARM?

    ARM 處理器的歷史和發(fā)展: 了解 ARM 處理器的歷史背景和發(fā)展軌跡可以幫助你更好地理解其設(shè)計(jì)理念和應(yīng)用領(lǐng)域。了解 ARM 公司的發(fā)展歷程以及其在移動(dòng)設(shè)備、嵌入式系統(tǒng)等領(lǐng)域的廣泛應(yīng)
    發(fā)表于 10-11 10:42

    如何利用ARMxy ARM嵌入式計(jì)算機(jī)的NPU進(jìn)行深度學(xué)習(xí)模型的訓(xùn)練和優(yōu)化?

    在正文開始前,我們先大致了解鋇錸的ARMxy ARM嵌入式計(jì)算機(jī),再來說說我們?nèi)绾卫肁RMxy ARM嵌入式計(jì)算機(jī)的NPU來實(shí)現(xiàn)深度學(xué)習(xí)
    的頭像 發(fā)表于 08-20 13:43 ?769次閱讀
    如何利用ARMxy <b class='flag-5'>ARM</b><b class='flag-5'>嵌入式</b>計(jì)算機(jī)的NPU進(jìn)行深度<b class='flag-5'>學(xué)習(xí)</b>模型的訓(xùn)練和優(yōu)化?

    ARMxy ARM嵌入式計(jì)算機(jī)搭載 1 TOPS NPU支持深度學(xué)習(xí)

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