梅科尔工作室-IoT-南向开发第二次培训笔记 原创
一.嵌入式C语言
1.二进制,十六进制,运位算
(1)二进制
二进制由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头
(2)八进制
八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o)
(3)十六进制
十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或 0X(不区分大小写)开头
(4)二进制数、八进制数和十六进制数的输出
(5)运算规则
2.静态变量以及函数static
(1)在修饰变量的时候,static 修饰的静态局部变量只执行初始化一次, 而且延长了局部变量的生命周期,直到程序运行结束以后才释放。
(2) static 修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extem外部声明也不可以
(3) static 修饰一个函数, 则这个函数的只能在本文件中调用,不能被其他文件调用。static 修饰的变量存放在全局数据区的静态变量区,包括全局静态变量和局部静态变量,都在全局数据区分配内存。初始化的时候自动初始化为0。
(4) 不想被释放的时候,可以使用static修饰。 比如修饰函数中存放在栈空间的数组。如果不想让这个数组在函数调用结束释放可以使用static修饰。
(5) 考虑到数据安全性(当程序想要使用全局变量的时候应该先考虑使用static。
4.Typedef
typedef unsigned char BYTE;
在这个类型定义之后,标识符 BYTE 可作为类型 unsigned char 的缩写,例如:
BYTE b1, b2;
按照惯例,定义时会大写字母,以便提醒用户类型名称是一个象征性的缩写,但您也可以使用小写字母,如下:
typedef unsigned char byte;
5.Typedef结构体
四个用途:
(1)
(2)
(3)
(4)
6.结构体指针
1. 预编译(预处理)主要操作 test.c——>test.i
① 包含头文件
② 删除注释(使用空格替代)
③ 替换#define 中的内容
注意: #define 的使用 一定是 替换!
二.Linux基础
1.Linux内核
Linux内核是操作系统内部操作和控制硬件设备的核心程序,它是由芬兰,人林纳斯开发的。
2.常用Linux版
Ubuntu
CentOS
Redhat
3.搭建环境
双系统 优点:运行速度快 缺点:系统崩溃,重新安装
虚拟环境 虚拟机软件+ubuntu镜像 优点:可以创建多个环境
4.操作流程
5.命令
1.查看目录下文件信息:ls
2.切换工作目录:cd
3.显示当前路径:pwd
显示当前的工作目录
4.创建文件:touch
touch hello.txt
说明:
1.则会在当前路径下创建名字为hello.txt的空文件
2.Linux系统中没有严格的后缀(格式),所以创建文件时可以命名为任意的文件名
5.创建目录:mkdir
mkdir TestDir mkdir -p a/b/c/d
1.通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。
2.需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。
6.删除文件:rm
可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。
删除文件:(可一次删除多个)
rm xxx.txt aaa.txt
删除目录:
rm -r test_dir
7.拷贝:cp
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令
8.移动、重命名:mv
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。