- 博客(14)
- 收藏
- 关注
原创 GPIO_Pin_9与GPIO_PinSource9的区别
GPIO_Pin_9:这个宏定义通常表示GPIO端口的第9号引脚,在配置GPIO引脚的基本属性(如输入输出模式、模拟输入模式等)时会用到。它的值是一个16位的无符号整数,具体数值由STM32的官方库定义,如。这个值用于标识特定的引脚,以便在配置GPIO时指定哪个引脚被配置。:这个宏定义则通常用于在配置GPIO引脚的复用功能时指定引脚。它是根据端口各脚位的位置按顺序从0开始依次递增编号的,可以理解为该管脚在该端口的序号。其值是一个8位的无符号整数,如。
2024-07-29 10:50:34 227
原创 10。联合体和枚举
1.枚举第一个值默认为0比如mon为0,后面的大小依以此类推 1,2,3,42.如果枚举变量里面某个成员设置了数值,往后的其它成员的数值在它基础上进行累加3.枚举常量实际就是一个整型,首个枚举常量默认为04.枚举在c语言的作用是增加代码的可读性。
2024-07-11 21:12:57 858 1
原创 9.结构体
组合类型: 把一个物体的属性组合到一个数据类型中去描述该物体。这个数据类型称为组合类型。C语言允许程序员定义自己的组合类型:结构体共用体(联合体)枚举C语言提供了众多的基本数据类型,但现实生活中的对象一般都不是单纯的整型、浮点型或字符串,而是这些基本类型的综合体。比如一个学生,典型的应该拥有学号(整型)、姓名(字符串)、分数(浮点型)、性别(枚举)等不同侧面的属性,这些所有的属性都不应该被拆分开来,而是应该组成要一个整体,代表一个完整的学生。
2024-07-11 21:11:54 703
原创 8.进阶指针
任何数组a,除了定义语句和sizeof表达式之外,都会被一律视为一个指向其首元素的指针,因此,除非该数组的元素类型本身恰好是指针,即一维指针数组在运算时会被视为二级指针,但题目中提到的二维数组,其元素显然应该是一维数组,因此二维数组在运算时会被视为指向数组的指针,即数组指针。char型指针实际上跟别的类型的指针并无本质区别,但是由于C语言中的字符串以字符数组的方式存储,而数组在大多数场合又会表现为指针,因此字符串在绝大多数场合就表现为char型指针。常目标指针在实际应用中广泛可见,用来限制指针的读写权限。
2024-07-11 21:09:28 537
原创 8.初级指针
首先需要明确,指针通常指指针变量,是一块专用于装载地址的内存,因此指针跟别的普通变量没什么本质区别,别的变量可以取地址,那么指针变量当然也可以取地址。地址:系统为了便于区分每一个字节而对它们逐一进行的编号,称为内存地址,简称地址,系统通过对应的内存地址从而定位内存的位置。不同的地址虽然形式上看起来是一样的,但由于他们代表的内存尺寸和类型都不同,因此它们在逻辑上是严格区分的。虽然不同的变量的尺寸是不同的,但是他们的地址的尺寸确实一样的,在32为系统为4字节,64位系统为8字节。地址的地址是什么意思?
2024-07-11 21:07:40 910
原创 7.进阶数组
/ 此处 "abcd" 代表匿名数组的首元素地址。// 此处,a 代表首元素 a[0] 的地址,等价 &a[0]// 此处,a 代表首元素 a[0] 的地址,等价于 &a[0]// 此处,a 代表首元素 a[0] 的地址,等价于 &a[0]// 此处,a 代表首元素 a[0] 的地址,等价于 &a[0]// 此处,a 代表整个数组,此处为整个数组的地址。// 数组元素个数 len 是变量,因此数组 a 是变长数组。// 此处,a 代表整个数组。
2024-07-11 21:06:09 277
原创 5.学习函数
函数头:函数对外的公共接口函数名称:命名规则与变量一致,一般取与函数实际功能相符合的、顾名思义的名称。参数列表:即黑箱的输入数据列表,一个函数可有一个或多个参数,也可以不需要参数。返回类型:即黑箱的输入数据类型,一个函数可不返回数据,但最多只能返回一个数据函数体:函数功能的内部实现语法说明返回值类型 函数名称(输入参数列表)C语句,函数功能的具体的实现(函数体)...函数返回值类型:C语言任意合法的类型都可以函数名: C标识符的规定输入参数列表:
2024-07-11 21:03:48 559
原创 4.循环结构
一个正整数有可能可以被表示 为n(n>=2)个连续的正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写一个程序,根据输入的任何一个正整数,找出所有 可能的序列(也有可能没有).当(while)“表达式”的值为非0,则执行“语句”,执行完“语句”后,则跳转到上面,继续判断。当(while)“表达式”的值为非0,则执行“语句”,执行完“语句”后,则跳转到上面,继续判断。则回到上面,继续执行“循环体语句”,然后再判断"表达式"的值,如果"表达式"的值非0,
2024-07-11 21:02:36 715
原创 3.分支结构
利润大于100000元,小于200000元(100000<I≤200000)时, 低于100000元的部分按10%提成,高于100000元的部分,可提成7.5%;运行规则:假如"表达式1"的值为真(非0), 则执行“语句1”否则(else,否定前面的条件,看表达式2的值),如果 表达式2的值为真,则执行“语句2” ,否则(else,否定前面的条件,看表达式3的值),如果 表达式2的值为真,则执行“语句3” ... 一直往下,直到表达式m的为假。表达式:进行选择的条件,任意C语言中合法的表达式都可以。
2024-07-11 21:01:49 769
原创 运算符与表达式
sizeof:求一个对象或类型所占空间的字节数 sizeof(x) sizeof 不要求x存在,但是要求x的类型是确定的 因为只要你的类型是确定,那么我就可以知道你所占内存大小。用逻辑表达式来判断y(年份)是否为闰年: (1) 能被4整除,但不能被100整除 (2) 能被4整除,又能被400整除 满足上述条件之一,则为闰年。位运算符是指按bit位来进行的运算。In a word, 如果事先知道表达式的值啦,那么后面的运算符(或表达式)就不需要执行啦,这就是C语言运算符的“惰性”.return -1;
2024-07-11 21:00:52 518 1
原创 1.数据类型
整数类型=》整型 用来表示整数的数据类型char/unsigned char short/unsigned short int/unsigned int long/unsigned long ... 上面这些基本都是用来保存整数的, 有什么区别呢?signed/unsigned 有符号(signed): 符号位(最高位) + 数值位 1 -> 负数 0 -> 0或正数 无符号(unsigned): 数值位。
2024-07-11 20:59:15 879
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人