- 博客(44)
- 收藏
- 关注

原创 SPI知识大全
SPI(Serial Peripheral Interface)是一种常用的通信接口,用于在两个设备之间进行数据传输。它通常用于板级通信,具有高速、简单和低成本的特点,广泛应用于各种电子设备中。MISO 主设备数据输入,从设备数据输出。MOSI 主设备数据输出,从设备数据输入。SCLK 时钟信号,由主设备产生。SS 从设备片选信号,由主设备控制(CS、NSS)。
2024-01-06 14:10:00
2207

原创 51循迹小车
51循迹小车材料:1.两个亚克力板2.4个轮子3.4个电机4.51最小系统5.2个L298N6.两个红外对管7.杜邦线第一步按图所示将电机,轮子,亚克力板安装好第二步了解学习并安装L298N模块L298N模块的样式有很多种但是性质都是一样的,它的作用是驱动电机 他所需的电源电压需要7V到12V效果甚佳,需要注意的是电压在5v左右或者更小是驱动不了电机的电压太大车速过快容易出轨然后是连线L298N上写MOTORA/B,或者写OUT的为连接电机的口,对于电机的正负极不同的接入可以用来
2021-05-23 09:38:43
5428
19
原创 计算机网络-各层协议
OSI七层模型由ISO国际标准化组织提出的通信标准。TCP/IP四层模型是OSI七层模型的简化版,OSI在它被官方完善之前,民间TCP/IP早已实际使用,所以只存在于理论五层协议的体系结构是专门为介绍网络原理而设计的,与TCP/IP四层模型唯一不同的就是将网络接口层分为了数据链路层和物理层,在实际的应用中还是使用TCP/IP四层模型的。这里我们着重讲解网络协议,因此在这里我们对照七层协议进行讲解。
2024-01-09 14:03:54
4905
5
原创 STM32F103GPIO工作模式及原理
GPIO,全称为通用输入输出端口,是STM32系列微控制器中的一个重要概念。STM32芯片的GPIO引脚可以被配置为输入模式或输出模式,实现与外部设备的通信、控制以及数据采集功能。
2024-01-08 11:56:02
1691
原创 C语言宏定义大全
需要注意的是,由于宏只是简单的文本替换,不进行语法检查,因此在使用带参数的宏时需要特别小心,以避免出现替换错误或逻辑错误。在这个例子中,如果宏MAX被定义为大于50的数,则会输出“MAX is greater than 50”,否则输出“MAX is less than or equal to 50”。如果“整型常量表达式1”的值为真,则编译“程序段1”,否则继续判断“整型常量表达式2”,依此类推。0表示假,1表示真。在后续的代码中,可以使用SQUARE(x)来代替(x) * (x),其中x是一个参数。
2024-01-06 17:56:47
1371
原创 串口数据接收
通常我们在串口中断接收一字节的数据后便将其存入到数组中,注意的是数组的设定容量一定要大于数据接收的容量,然后我们搭配一个变量flag,flag=0,他的作用是记录当前是第几个字节,然后我们使用if进行判断和比较,用以下格式进行接收即可。帧头确定长度确定、帧头确定帧尾确定满足以上任意条件都可以,只有那些帧头确定然后没有其他任何有效信息情况使用空闲中段。像什么数据帧头帧尾固定的,帧头长度固定,帧头固定等等,除了那些比较极端的像只有帧头固定这种使用空闲中断其他情况便可以使用下面讲述的方法。
2023-10-03 21:40:44
272
原创 静态循环队列
队列就是先进先出存储方式的数组(静态前提),我们在尾部插入,头部取出,我的理解是因为其结构稳定,易操作所以使用超级超级多。在公司里呢肯定不会这么简单,因为这种储存结构我们定义一次肯定要多次使用,在宏观上可能会同时接收多个地方的数据,例如同时接收串口1或者串口2的数据,因此我们必须要做一个兼容性。也就是结构体里套一个结构体,假如存在三个串口。在我们最开始学习C语言的时候,要让一个数据在一个范围内循环赋值通常使用对总长度求余,那么循环队列也是使用该方法,让他在一定长度的数组内不停的循环,并保持先进先出的顺序。
2023-10-02 17:54:55
268
2
原创 二叉树的创建
二叉树是一种比较特殊的数据结构,他的节点最多有两棵子树(不存在大于2的时候),所以我们定义数据类型的时候给他定义一个左节点和右节点即可,梦开始的地方为根节点,我们通过为他建立左节点和右节点即可。最后变可以变成一颗大树。
2023-06-05 16:55:46
96
原创 树莓派控制总线舵机控制器
填充运行动作组命令,第四位填充要运行的动作组号,第五位取得要运行次数的低八位,第六位取得要运行次数的高八位。一共六位数据,头两位是头数据包,第三位是数据长度,数据帧除帧头部分数据字节数,此命令固定为5。然后通过extend函数将要发送的数据传送出去。我们先看一下总线舵机控制器的通信协议。
2023-05-06 20:22:59
798
2
原创 uboot移植网络驱动配置
删掉NXP自带的网络引脚和相关函数(如果你跟NXP是一个芯片型号那就不用了)定义完事之后将其添加到对应网络复位引脚驱动中,然后在写网络IO初始化代码并且复位一下 PHY 芯片。不管你用什么板子第一步我们需要修改PHY地址,不同的板子使用不同的芯片对应的地址是不同的,我们需要打开开发板原理图进行确认然后对ENET1与ENET2的PHY地址进行赋值。我们通过改变引脚的高低电平让其复位一下,最后延时150ms,该板子使用的SR8210F,这个延时是有明确要求的,要不让将无法识别SR8210F。
2023-04-09 11:39:36
1177
原创 uboot开发移植
这是因为nxp写的LCD与我们的屏幕是不适配的,我们去找到控制LCD的代码,这个可以想像成32工程文件,一个LED需要一个LED.c与LED.h文件。生产.config文件,uboot 配置文件,如果是内核,就是内核的配置文件,在配置 uboot时候生成,所有的 Makefile 文件(包括顶层目录及各级子目录)都是根据 .config 来决定使用哪些文件。更改的参数要与你的屏幕型号对应,我的屏幕为整点原子的TFT4384。我们需要将编译生成的bin文件烧录到SD卡中。将bin文件烧录到SD卡,上电查看。
2023-04-07 19:40:08
386
原创 链表归并排序
首先我们建立一个长度为10、存有10个随机数的链表,函数rand()%100表示产生一个0~99的随机数。我们使用归并排序对其进行重小到大的排序,归并排序经历两个阶段,拆分、合并,与数组相差无几。拆分我们令中间的节点后一位为NULL,则将该链表一分为二,通过不断递归将其一直拆分。然后将其合并,重小到大。
2023-03-26 22:52:49
137
原创 操作系统——死锁
死锁,是指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态。
2022-11-05 12:28:27
436
原创 【51单片机交通灯仿真】
交通灯设计与仿真题量: 1 满分: 100 分 创建者:王老师 截止时间:2022-04-24 11:54一.简答题(共1 题,100.0分)1查看书中第六章的交通灯实例,设计并进行仿真,将原程序中倒计时20秒改为倒计时15秒。要求Proteus绘制电路图中体现学号姓名,并录制仿真效果。填写答案#include "reg51.h"sbit in1 = P2^1;sbit in2 = P2^2;sbit in3 = P2^3;sbit in4 = P2^4;sbit in5 = P2^
2022-04-22 15:38:31
330
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人