为什么学C语言?
对嵌入式软件而言,能接触到的最底层就是寄存器,而使用C语言的指针能够方便的访问寄存器。例如在STM32单片机程序开发过程中,想把一个LED灯点亮,查看图纸如下:
如上图,需要将PC1管脚拉高即可,这里假设PC端口的输出寄存器地址为0x4001100C,如下图:
通过以下方法读该寄存器:
Val = *(volatile uint32_t *)(0x4001100C);
写该寄存器:
*(volatile uint32_t *)(0x4001100C) = Val;
此外C语言虽然不支持继承、派生,但支持结构体,可以以面向对象的思维来规划各个功能模块达到 ,层次化、结构化、模块化的效果。所以目前在嵌入式软件开发特别是在小型化资源受限的设备上,C语言任然占据主导地位。
C语言在嵌入式开发工作中到底扮演的是什么角色?
对于单片机程序开发,C语言是最主要的编码语言。作为有10+年开发经验的工程师,日常的编码就是用C语言,可以说拿下了C语言就可以上手做单片机软件开发。
C语言的发展史又是怎样的?
对于刚接触C语言和嵌入式的同学而言,这些问题如果不解决,像是如鲠在喉!
咽不下去,也吐不出来!
索性,就借着《C Primer Plus》这本书,来一个彻底全面的了解!
扫清嵌入式入门的第一道障碍。
这篇文章仅供嵌入式小白或者打算入行嵌入式的你参考,嵌入式大拿可以飘过。
是Stephen Prata编写的一本广泛认可的C语言编程入门教材。这本书以深入浅出的方式介绍C语言,适合初学者和有一定编程基础的学习者。
由于篇幅和社会的快节奏,为了不占用太多大家内耗的时间,将分章节的分享给大家。
《C Primer Plus》的内容可以概括为以下7部分,接下来会给大家一一分享各部分内容,敬请期待。
第一部分:C语言入门包括的章节有第一章 初识C语言、第二章 C语言概述,目录如下,如有想要学习和了解相关章节,可点击文章结尾处的下载链接随意下载。
第一章 初识C语言
1.1 C语言的起源
1.2选择C语言的理由
1.2.1 设计特性
1.2.2 高效性
1.2.3 可移植性
1.2.4 强大而灵活
1.2.5 面向程序员
1.2.6 缺点
1.3 C语言的应用范围
1.4 计算机能做什么
1.5 高级计算机语言和编译器
1.6 语言标准
1.6.1 第1个ANSI/ISO C标准
1.6.2 C99标准
1.6.3 CII标准
1.7 使用C语言的7个步骤
1.7.1 第1步:定义程序的目标
1.7.2 第2步:设计程序
1.7.3 第3步:编写代码
1.7.4 第4步:编译
1.7.5 第5步:运行程序
1.7.6 第6步:测试和调试程序
1.7.7 第7步:维护和修改代码
1.7.8 说明
1.8 编程机制
1.8.1 目标代码文件、可执行文件和库
1.8.2 UNIX系统
1.8.3 GNU编译器集合和LLVM项目
1.8.4 Linux系统
1.8.5 PC的命令行编译器
1.8.6 集成开发环境(Windows)
1.8.7 Windows/Linux
1.8.8 Macintosh中的C
1.9 本书的组织结构
1.10 本书的约定
1.10.1 字体
1.10.2 程序输出
1.10.3 特殊元素
1.11 本章小结
1.12 复习题
1.13 编程练习
第2章 C语言概述
2.1 简单的C程序示例
2.2 示例解释
2.2.1 第1遍:快速概要
2.2.2 第2遍:程序细节
2.3 简单程序的结构
2.4 提高程序可读性的技巧
2.5 进一步使用C
2.5.1 程序说明
2.5.2 多条声明
2.5.3 乘法
2.5.4 打印多个值
2.6 多个函数
2.7 调试程序
2.7.1 语法错误
2.7.2 语义错误
2.7.3 程序状态
2.8 关键字和保留标识符
2.9 关键概念
2.10本章小结
2.11 复习题
2.12 编程练习
相关章节下载地址:
链接:https://pan.baidu.com/s/1JTBlkQ5U5_sX00omA2IH9w
提取码:s7a0