- 博客(12)
- 收藏
- 关注
原创 STM32 通信
框图的下部分,在接收移位寄存器、发送移位寄存器都还有一个进入的箭头,分别连接到接收器控制、发送器控制。这里的交叉连接的意思就是,芯片1的RxD连接芯片2的TXD,芯片2的RXD连接芯片1的TXD。校验方法除了奇校验(odd)、偶校验(even)之外,还可以有:0 校验(space)、1 校验(mark)以及无校验(noparity)。0/1校验:不管有效数据中的内容是什么,校验位总为0或者1。UART串口通信的数据包以帧为单位,常用的帧结构为:1位起始位+8位数据位+1位奇偶校验位(可选)+1位停止位。
2025-03-15 02:51:15
153
原创 STM32 GPIO输入
用结构体的参数初始化GPIO口的值,先定义一个结构体的变量,给结构体赋值,再调用这个函数,这个函数内部自动读取结构体的值,然后自动把外设的各个参数配置好。GPIO_Mode_IN_FLOATING = 0x04,浮空输入。GPIO_Mode_Out_OD = 0x14,开漏输出。GPIO_Mode_Out_PP = 0x10,推挽输出。GPIO_Mode_AF_OD = 0x1C,复用开漏。GPIO_Mode_AF_PP = 0x18,复用推免。GPIO_Mode_IPU = 0x48,上拉输入。
2025-03-07 23:00:43
161
原创 51单片机 定时器
由内部寄存器 TRO控制,当TRO=1时,脉冲计数器开始计数,TRO-0时,停止计数。3.初值寄存器:TH0和TL0,TH0是高八位,TL0是低八位,初值均为00H。时,外部引脚(INTO,P3.2)生效,此时只有当内部寄存器 TRO和外部引。启动定时器后,每个机器周期到来,初值寄存器自动力加1,直到计满溢出。TF0溢出标志,溢出后自动置1,需要手动清零TF0=0.脚NTO都为1时,脉冲计数器才开始计数,否则停止计数。时,外部引脚(INTO,P3.2)无效,此时只能。决定模式,共有四种模式。
2025-03-04 17:48:49
126
原创 51单片机 中断
高优先级的中断还可以打断低优先级的中断,也就是说当 CPU正在处理一个中断时,又发生了另外一个优先级比它还高的中断,此时 CPU会暂停原来中断的服务程序,转而去处理这个高优先级的中断,处理完之后,再回到原来低优先级的中断服务程序。若多个中断同时发生,优先级高的会被优先处理;若两个中断的优先级相同,则根据其中断号决定处理顺序,中断号越小越优先高。4个IO口(P0,P1,P2,P3),每个口8个引脚。使用中断,打开总开关,并打开中断的分开关。0:中断号,每个中断源都有唯一的中断号。同时使用T1和T2的中断。
2025-03-02 22:17:19
133
原创 C语言 数组
实际上传递是数组的首地址,如果要在函数中对数组进行遍历的话,一定要把数组的长度一起传递过去。函数中的arr:只是一个变量,用来记录数组的首地址。长度省略:数据值的个数就是数组长度。定义处:arr表示的就是完整的数组。长度未省略:数据值的个数<=长度。字符串:NULL(什么都没有):依次获取数组中的每一个元素。数据类型 数组名 长度。:内存中每一个小格子的编号。作用:快速的管理内存空间。1.数组作为函数的参数。未赋值的部分有默认值。
2025-02-26 00:08:26
133
原创 C语言:函数
6.函数的返回值类型为void,表示没有返回值,return可以省略不写。5.return下面,不能编写代码,永远执行不到,属于无效的代码。如果书写了return,后面不能跟具体的数据,仅表示结束函数。4.自定义函数写在main函数的下面,需要在上方申明。3.函数与函数之间是平级关系,不能嵌套定义。ceil() 向上取整。floor() 向下取整。abs() 绝对值。sgrt() 平方根。函数:程序中独立的功能。1.函数不调用就不执行。pow() 幂。
2025-02-25 00:16:34
121
原创 C语言:循环高级
原理:会根据前面字母的个数在后面补空格,让整体的长度达到8或者8的倍数,最少补1个,最多补8个。continue:只能写在循环中,表示跳过本次循环,继续执行下次循环。break:只能写在switch,循环中,表示结束整个语句。张\t 补6个。abc\t 补5个。:结合标号,可以调到代码中的任意地方。作用:打印表格数据的时候,可以对齐。zhangsan\t 补8个。一般只用于跳出循环嵌套。: 长度可变的大空格。
2025-02-24 13:34:40
160
原创 C语言 流程控制语句
3.如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后结束整个switch语句。2.依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。switch: 适用于有限个 case 进行匹配的情况,通常在有大约 10 个左右的 case 时使用。while循环:不知道循环的次数和范围,只知道循环的结束条件。2.case:值只能是(字符/整数)的字面量,不能是变量。初始化语句,条件判断语句,条件控制语句。
2025-02-23 00:14:16
545
原创 C语言 运算符
= 减后赋值(a-=b,将a-b的值给a)*= 乘后赋值(a*=b,将a×b的值给a)/= 除后赋值(a/=b,将a÷b的商给a)%= 取余赋值(a%=b,将a÷b的余数给a)+= 加后赋值(a+=b,将a+b的值给a)=b 判断a是否不等于b。== a==b 判断a是否等于b。
2025-02-21 15:35:31
384
原创 C语言 标识符
scanf的作用:接受用户键盘输入的数据并赋值给对应的变量。标识符:代码中自己起的名字,如变量名,函数名等。例如scanf("%d", &a)1.由字母,数字,下划线(-)组成。scanf("占位符",&变量名)1.占位符和后面的变量要一一对应。2.第一个参数中不写换行。
2025-02-20 17:22:30
92
原创 C语言,整数类型
后缀:long(L) long long(LL) float(F)与unsigned组合,定义无符号整数,打印时占位符用%u。范围和内存大小:short<=int<=long<=long long。整数类型:short int long long long。小数类型:float double。不能与unsigned组合。默认double类型。
2025-02-19 22:28:22
80
原创 c语言,常量
常量的分类 说明。字符串 %s。字符常量 单引号引起来的数字,英文符号,字母。实数常量 所有带小数点的数字。字符串 双引号引起来的。字符 %c。
2025-02-18 22:48:16
136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人