复习day1

1.C语言数据结构的顺序表,链表,栈,队列相关结构类型

       1)顺序表

                 顺序表是在计算机内存中以数组的形式保存的线性表,顺序存储,用一组连续的存储单元来表示 

       2)链表

概念

  • 指针指向下一个结点(后继)指针,就叫做后继指针next---->单链表
  • 指向下一个结点,另一个指针上一个结点(前驱),指向前驱指针称为prev,既有前驱指针又有后继指针的结构--->双链表
  • 用单链表实现逆序

public static void reverseList(Node head) {
        //如果当前链表为空,或者只有一个节点,无需反转,直接返回
        if(head.next == null || head.next.next == null) {
            return ;
        }

        //定义一个辅助的指针(变量),帮助我们遍历原来的链表
        Node cur = head.next;
        Node next = null;// 指向当前节点[cur]的下一个节点
        Node reverseHead = new Node(0);
        //遍历原来的链表,每遍历一个节点,就将其取出,并放在新的链表reverseHead 的最前端
        
        while(cur != null) {
            next = cur.next;//先暂时保存当前节点的下一个节点,因为后面需要使用
            cur.next = reverseHead.next;//将cur的下一个节点指向新的链表的最前端
            reverseHead.next = cur; //将cur 连接到新的链表上
            cur = next;//让cur后移
        }
        //将head.next 指向 reverseHead.next , 实现单链表的反转
        head.next = reverseHead.next;

    }         

       3)栈

概念

栈是只允许在一端进行插入或删除的线性表,先进后出,

       4)队列

概念

队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First In First Out)的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。

2.熟悉掌握STM32开发,懂得GPIO,IIC,UART,SPI,定时器,中断驱动开发、

IIC

1)概念

一根SCL,一根SDA,两根线,串行,同步,半双工通信(解决片内的通信)

2)IIC通信时序

设备地址:0x8a                ox55

1000 1010                        cpu--》外设(写设备)

高位先出,低送高取        0101 0101

1.SCL一直是高电平低电平,直到结束输出高电平

2,SDA先发送一个起始位型号(一个高电平,1个低电平);然后发送设备地址0x8a;然后发送一个ack检测;发送数据位0x55;发送一个nack;发送停止信号(一个低电平,一个高电平),然后拉高,持续高电平。

UART

1)概念

异步、串行、全双工,通信接口,一根数据线,一根

TX:发送引脚
RX:接收引脚

2)UART通信协议

低位先出

起始位+ 数据位 + 校验位 + 停止位

起始位:1位,逻辑’0’
数据位:5~8位,可以在MCU中设置
校验位:0~1位, 无校验/奇校验/偶校验
奇校验:在数据位中有奇数个逻辑‘1’时,该位为0;否则为1
偶校验:在数据位中有偶数个逻辑‘1’时,该位为0;否则为1
停止位:0.5~2位,(传输每个都会占用固定时长),逻辑‘1’
数据传输顺序:先传送数据的低位
通信速度(波特率baud):在单片机应用,常用通信速度有2400、4800、9600、19200、115200 bit/s

SPI

1)概念

串行、同步、全双工高速总线 ,两根数据线MISO(主设备输入,从设备输出)和MOSI(主设备输出,从设备输入),1根片选线CS,1根时钟线SCLK

2)4种模式

4种模式决定以什么样的方式读数据

管道,共享内存,消息队列,信号量集,socket套接字
1)管道是用来进程之间通信,具有亲缘关系
2)共享内存是需要将内核分配的共享内存空间 分别映射到不同进程的虚拟地址空间 
3)消息队列是
4)信号量集是多进程竞争资源的时候, 如果想要同步 可以采用信号量集的机制
5)socket套接字
包括多线程以及多进程 继承,多肽的
1)多进程

    for (i = START; i < END ; i++) {
        pid = fork();
        //开200个进程
        if (-1 == pid) {
            perror("pid()");
            return -1;
        }    
        if (0 == pid) {
            //子进程
            //里面进行筛选
            if (isprime (i)){
                printf ("%d是质数 " , i);
            }
            exit(0);
        }
    }
    
        //收尸
    for (i = START; i < END; i++){
        wait (NULL);    
2)多线程
pthread_create(3)  pthread_exit(3)

3)继承,多肽

子类继承父类的所有函数,多肽

TCP/IP,UDP/IP
1)TCP 三次握手 ,四次挥手
2)udp 不面向连接, 它是面向数据包的, 所以不需要三次握手的过程 
    直接使用recvfrom 阻塞等待客户端的数据的请求 处理完之后直接发给客户端
悉信号与槽机制
1)类中的信号和槽函数是通过继承QT中顶层基类QObject的connect函数实现链接 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值