0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ARM嵌入式学习-C语言入门系列文章

嵌入式星球 2020-09-23 14:38 次阅读

想要做ARM开发,C语言绝对是重中之重,在这方面是是没有捷径可以走的,这篇文章为大家收集了论坛的优秀C语言初级文章,希望对新人有所帮助。

1、嵌入式应用程序的C编程语言简介
按照现代技术的标准,C是一种相当古老的语言。最初的开发发生在70年代初,随后在70年代后期进行了修订,并在80年代实现了标准化。但是,我认为它没有失去活力。对于嵌入式应用程序而言,它仍然是一门伟大的语言,以我的经验,它是适用于从简单的基于微控制器的设备到复杂的数字信号处理等所有内容的编程环境。

2、了解C编程中的变量
我们中的许多人早在对计算机编程了解甚多之前就已经在数学课上听说过“变量”一词。数学变量是其值未知或不限于一个数值的数量。这种用法类似于C变量的概念,尽管不尽相同。两个重要的区别是:首先,在数学中,我们通常使用诸如xy之类的字母表示变量,而在C中,我们经常使用诸如temperatureMaxValueNumber_of_Samples之类的描述性单词或短语。其次,在某些情况下,我们使用C变量来标识一个既已知又无意与原始值不同的数量。

3、了解C编程中的数组
嵌入式系统经常处理自然属于一个组而不是独立变量集合的数据。一个容易想到的例子是一系列与模拟波形的数字化版本相对应的值。其他示例包括将被串行化并发送到液晶显示器的字节,必须分析或传输到不同设备进行处理的一连串测量结果,以及构成UART消息的一小组ASCII字符。


在某些情况下,尽管很尴尬,还是有可能将此数据存储在单独的变量中,例如ADC_value1,ADC_value2,ADC_value3等。但是,通常使用单个变量是完全不切实际的。幸运的是,C语言提供了一种简单而高效的方式来处理大型(或小型)变量组。我在这里指的功能称为数组。

4、C编程中的指针:什么是指针,它做什么?
什么是指针?指针是变量。像其他变量一样,它具有数据类型和标识符。但是,使用指针的方式与使用“普通”变量的方式根本不同,并且必须使用星号告诉编译器应该将变量视为指针。


5、C编程中的函数是什么?
每个C程序都有一个main()函数。当然,有可能编写一个成功的程序,其中唯一的功能是main()。我的猜测是已经做过很多次了,确实在某些简单的应用程序中不需要其他功能。

但是,功能的广泛使用表明编写代码的人是经验丰富的固件开发人员。为什么?因为函数使我们能够更快地编写更好的代码,从而减少工作量并减少错误。对于那些花费大量时间编写固件的人来说,这些优势是不容忽视的。即使我们起初因为似乎需要更多工作而拒绝使用功能,但经验逐渐告诉我们,好处远大于成本。

6、如何将功能整合到嵌入式固件中
像各种其他形式的组织一样,职能最初需要付出额外的努力和深谋远虑。但是,从长远来看,如果我们养成编写包括大量使用函数的代码的习惯,那么我们将节省时间和精力,更不用说增加压力了。

毫无疑问,拿走我收到的每份文件并将其放在散落在我办公桌上的几堆纸中的其中一堆上,感觉很“容易”。最终,尽管堆砌得很整齐并用便签贴了标签,但这种简单的组织方案最终会带来各种困难。同样,当我考虑固件项目时,似乎到工作原型的最直接,最轻松的途径是一个相对“无功能”的源文件,它完全可以满足我的需要,而没有其他任何作用。有时,这种方法很有意义,但总的来说,我认为这是一种短视的解决方案。


7、如何在C语言固件中使用指针
在本文中,我们将讨论指针运算符,指针算术,以及两种可以改善代码的情况。

8、在C语言固件中使用功能的五个技巧
在本文中,我们将通过一些附加信息和一些有用的实现技术来结束对C函数的探索。
基本的C函数(例如,一个或两个参数和一个返回值)并不复杂。但是,C函数非常灵活,通过超越基础知识,您可以更轻松地编写代码,并将一些有益的特性引入固件。


希望上面八篇文章,对大家学习C语言有所帮助,怕什么知识无穷,进一寸有一寸的欢喜!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9034

    浏览量

    366627
  • c编程
    +关注

    关注

    0

    文章

    94

    浏览量

    29337
收藏 人收藏

    评论

    相关推荐

    嵌入式学习建议

    原理的嵌入式操作系统进行学习。不要一开始就学习几种操作系统,理解了基本原理,实践中确有实际需要再学习也不迟。人总是要不断学习的。 ⑨关于汇
    发表于 10-22 11:41

    ARMxy ARM嵌入式计算机搭载 1 TOPS NPU支持深度学习

    ARMxy ARM嵌入式计算机BL410系列内置了1TOPS算力 NPU,它每秒可以执行高达一万亿次的浮点运算,这为复杂的图像处理和深度学习任务提供了充足的计算资源。在产品缺陷检测领域
    的头像 发表于 08-20 11:53 274次阅读
    ARMxy <b class='flag-5'>ARM</b><b class='flag-5'>嵌入式</b>计算机搭载 1 TOPS NPU支持深度<b class='flag-5'>学习</b>

    嵌入式系统怎么学?

    系列课程和技术,包括但不限于以下内容: 1、基础知识:学习计算机组成原理、数字电路、模拟电路等基础知识,建立对计算机硬件的认知与理解。 2、编程语言:掌握至少一种嵌入式系统常用的
    发表于 07-02 10:10

    如何成为一名嵌入式C语言高手?

    如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是
    发表于 03-25 14:12

    ARM嵌入式Linux 系统开发从入门到精通

    ARM嵌入式Linux 系统开发从入门到精通
    发表于 03-10 18:44

    嵌入式软件开发应该掌握哪些知识?

    和 Thumb 模式的区别,以及 ARM Cortex 系列处理器的特性。 嵌入式 ARM 开发:学习如何在
    发表于 02-19 11:23

    嵌入式学习步骤

    开发。 嵌入式学习步骤总结如下: (1).确定目标平台:选择适合您要开发的嵌入式系统的硬件平台。这取决于您要控制的设备以及您需要执行的任务。 (2).选择编程语言
    发表于 02-02 15:24

    聊一聊嵌入式C语言

    作为一名嵌入式软件开发者,熟练掌握嵌入式C语言对我的日常工作至关重要。
    的头像 发表于 01-22 09:28 518次阅读

    嵌入式自学好书推荐

    工作经验的薪资可达10-15k;而拥有3年以上工作经验的薪资可在15-25k范围内。 嵌入式开发的前期入门知识主要包括以下四个方面: 1.电路知识:学习基础的电路、模拟电路和数字电路,了解基础器件、放大
    发表于 01-11 15:13

    C语言构建高效的嵌入式程序

    嵌入式工程师在编写C语言程序时,需要注重效率和清晰的思路。本文将通过解析经典问题“猴子选大王”来展示如何用C语言思维方式构建高效、清晰的程序
    的头像 发表于 12-21 09:27 590次阅读

    嵌入式C语言高手炼成之内存操作篇

    嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力。在
    的头像 发表于 12-11 17:20 480次阅读

    嵌入式C语言的结构特点

    过程中,不论是基于寄存器开发还是基于库开发,深入理解和掌握嵌入式C语言的函数、指针、结构体是学习STM32的关键。嵌入式
    的头像 发表于 11-24 16:16 631次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b><b class='flag-5'>语言</b>的结构特点

    嵌入式系统的C语言

    电子发烧友网站提供《嵌入式系统的C语言.doc》资料免费下载
    发表于 11-18 14:39 2次下载
    <b class='flag-5'>嵌入式</b>系统的<b class='flag-5'>C</b><b class='flag-5'>语言</b>

    C语言进阶之嵌入式系统高级C语言编程

    电子发烧友网站提供《C语言进阶之嵌入式系统高级C语言编程.rar》资料免费下载
    发表于 11-18 10:32 1次下载
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>进阶之<b class='flag-5'>嵌入式</b>系统高级<b class='flag-5'>C</b><b class='flag-5'>语言</b>编程