- 博客(11)
- 收藏
- 关注
原创 嵌入式软件面试题
插入和删除效率:数组在中间位置插入或删除元素时,需要进行元素的整体移动,平均时间复杂度为O(n)。而链表在任意位置插入或删除节点时,只需要修改指针的指向,时间复杂度为O(1);访问效率:数组可以通过索引快速访问数据,时间复杂度为O(1),而链表需要从头节点一个个逐点访问,时间复杂度为O(n)(n为链表的长度),所以数组的访问效率更高;而链表是由节点组成的,每个节点包含一个值和一个指向下一个节点的指针;动态性:数组是静态的,而链表可以动态的添加和删除节点,灵活调整大小;
2023-09-01 14:53:59
98
1
原创 stm32和Arduino超声波测距
1.工作原理:直接给Trig高电平,提供一个 10uS 以上脉冲触发信号,该模块内部将发出 8 个 40kHz 周期电平并检测回波。然后读取Echo引脚是否为高电平,若为高电平,则开启定时器,然后继续检测等待其为低电平的时候,获取计数器值,然后进行计算。
2023-05-14 16:12:15
258
原创 IIC协议
应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。CPU 向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU 接收到应答信号后,根据实际情况作出是否继续传递信号的判断。IIC的工作原理,简单点说,就是SCL=0时,把SDA的高低电平传输出去,for循环八次,组成八位数据,比如:0x10110100,0x00~0xff共256种组合。开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。
2023-03-05 17:48:01
354
2
原创 pid算法(平衡车+风力摆)
前段时间做了一辆平衡车,移植学长的代码,虽然做出来了,但是对于其中的pid控制还是不熟,这几天又重新研究了一下,现在来做一个总结,也供大家学习。
2023-01-01 21:59:37
2142
原创 指针输出数字和字符串的区别
例1:输出字符串#include <stdio.h>int main (){ char a[]="I am a student"; char *q; q=a; printf("%s",q); } 运行结果:I am a student--------------------------------Process exited after 0.2772 seconds with return value 0请按任意键继续. . .例2:输出数字#incl
2022-02-20 17:12:37
463
原创 使用结构体输出学生成绩
使用结构体输出学生成绩例:输入学生成绩和信息,然后输出最高分学生信息。#include<stdio.h>struct student{ int number; char name[20]; float score[3]; float sum;}s[3];int main(){ int i,k; float max=0; printf("请输入学生: 学号 姓名 分数1 分数2 分数3\n"); for(i=0;i<3;i++) { printf("%d
2022-02-19 20:28:40
7338
原创 用指针复制数组
用指针复制数组#include <stdio.h>int main(){ int a[5],b[5],*x,*y,i; //定义*x,*y两个指针分别指向a,b两个数组 x=a; y=b; for(i=0;i<5;i++) { a[i]=2*i; } for(x=a;x<=&a[4];x++,y++) //把指针x的数复制给y { *y=*x; } for(i=0;i<5;i++) { printf
2022-02-19 20:20:32
2329
原创 冒泡法和遍历法排序
例:对n个数进行从小到大排序1.冒泡法#include <stdio.h>int main (){ int temp,i,j,a[10],n; //数组a[10]进行储存数据 ,n为要排序的个数 printf("请问要对几个数进行排序:"); scanf("%d",&n); printf("请输入%d个整数:\n",n); for(i=0;i<n;i++) { scanf("%d",&a[i]); //输入要排序的数据
2022-02-17 17:12:11
604
原创 自定义函数的调用
这是我开通的第一个博客哈,想在这里记录一下我每天的学习成果,希望能和大家一起进步。C语言求n! ,运用自定义函数和递归调用实现。#include <stdio.h>int main (){ int factorial(int number); int number,temp; printf("Please input the number:"); scanf("%d",&number); temp=factorial(number); if(number>=0
2022-02-12 20:42:35
3148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人