掌握:1)2进制、8进制、16进制的相互转换 2)位运算(或、与运算、异或,取反,左移,右移) 3)结构体的使用及参数传递 了解:静态变量(static)、extern变量,关键字const
进制转换:
二进制0B 十六进制0X 例如:十进制15 0B1111 0X0F
一位十六进制数等于4位二进制数,通过8421码来计算,不够位数添加零
例如:001011011110 所对应的842184218421,得出0X2DE
另一种方法使用电脑计算器,程序员
结构体:
枚举是在一个数据类型中只选择一部分需要的数据,结构体是把多个不同类型的数据集合在一个类型之中,数组是相同类型数据的集合
定义结构体的关键字struct +name(结构体的名字){
int a; 结构体的成员
char b;
float c;
}x; 定义的变量
流程:
先定义结构体,再写入数据,数据调用
例子:
typedef struct //定义结构体
{
uint16_t GPIO_Pin;
GPIOSpeed TypeDef GPIO_Speed;
GPIOMode_TypeDef GPIO_Mode;
}GPIO_InitTypeDef;
void LED_Init(void){
GPIO_InitTypeDef GPIO_InitStrecture; //相当于X Y
....
}
位运算符(与,或,异或,取反,左移,右移)
异或:公式a = a ^ b
左移:整数n乘以2的N次方,“<<”右边的数是N,左边的数为n
右移:整数n除以2的N次方,“>>”右边的数是N,左边的数是n
取反:~a = -(a + 1) 遇到0结果为1,遇到1结果为0
static变量 用来修饰变量和函数
1.全局变量属于静态存储方式,但并不是静态变量。全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,全局变量在各个源文件中都是有效的。
当全局变量仅限于在本源文件中使用,在其他源文件中不能引用,可以通过在全局变量之前加上关键字 static 来实现,使全局变量被定义成为一个静态全局变量。
2.当函数中局部变量的值在函数调用结束之后不会消失,而仍然保留其原值,将该局部变量用关键字 static 声明为“静态局部变量”。
extern——关键字 用在变量名前或函数名前,作用是用来说明“此变量/函数是在别处定义的,要在此处引用”
const关键字 定义只读变量的关键字,或者说 const 是定义常变量的关键字,它定义的是只读变量。这也就意味着必须在定义的时候就给它赋初值。
const定义的是变量,而define定义的是常量。
指针常量指向的地址不能改变,但是地址中保存的数值是可以改变的,可以通过其他指向改地址的指针来修改。 int *const n;
【洋桃电子】洋桃补习班(为0基础的初学者补足基础知识)STM32入门100步系列视频_哔哩哔哩_bilibili