自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Linux中修改系统启动项grub

修改Linux系统默认内核启动顺序时,要参考配置文件/boot/grub/grub.cfg定义的grub,从而修改/etc/default/grub中的GRUB_DEFAULT配置项。

2023-04-25 18:22:24 6595

原创 Linux内核调试环境(centos+gdb+qemu)

Linux内核调试环境(centos+gdb+qemu)

2022-07-19 18:13:01 1831 1

原创 Keil5界面配置

配置一:绿色# Specification for text selection and caret lineselection.fore=#00FFFFselection.back=#004000caret.fore=#FF0000caret.back=#CDF0D0 font.monospace.cpp=Courier Newstyle.cpp.32=font:Courier New,size:11,fore:#000000,back:#CCE8CFstyle.cpp.4=font

2022-03-21 23:32:23 1856

原创 C语言知识——定义、声明、初始化、赋值概念

定义:确定变量在内存中的位置和大小,即在定义时为变量分配空间声明:向程序表明变量的类型和名字初始化:定义变量时赋给变量的值赋值:给变量赋新的值int i; //定义性声明,即使定义也是声明int i=9; //初始化extern int i; //引用性声明i=7; //赋值变量的声明与定义的区别: 声明有两种情况:可以在多处声明同一个变量1)定义性声明:建立存储空间的声明,此时即是声明也是定义 ...

2021-07-26 20:09:46 891

原创 物联网平台的认识

物联网平台的核心功能:设备接入,可再细分为设备管理、协议转换、数据分发等基本功能,其中协议转换针对设备,数据转发针对应用,设备管理将设备和ying'y

2021-06-18 09:47:11 399

原创 Modbus通讯协议

1、Modbus协议简介 Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议。通过此协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信。 Modbus协议使用的是主从通讯技术,即由主设备主动查询和操作从设备。一般将主控设备方所使用的协议称为Modbus Master,从设备方使用的协议称为Modbus Slave。典型的主设备包括工控机和工业控制器等;典型的从设备如PLC可编程控制器等。 Modbus通讯物理接口可以选用串口(...

2021-06-18 09:16:05 2679

原创 排序算法——3直接插入排序算法

插入排序:每一步将一个待排序的数据插入到前面已经排好序的有序序列中,直到插完所有元素为止。时间复杂度:平均时间复杂度是O(n^2)。算法步骤: a[5]={3,7,1,8,5}1)将待排序序列第一个元素看成有序序列,将其他元素当成待排序序列; 3 7,1,8,5 有序序列 待排序序列 2)取出待排序序列第一个元素[7],与有序序列的元素[3]从后向前扫描比较。如果有序序列中的元素[3]大于该待排元素,则将有序元素[3]移到下一位置(即待排元素[7]位置...

2021-06-01 18:25:08 688

原创 排序算法——2简单选择排序算法

选择排序:时间复杂度:无论什么数据排序,时间复杂度都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。

2021-06-01 13:38:45 487

原创 排序算法——1冒泡排序算法

如上例:第一趟比较之后,排在最后的一个数一定是最大的一个数,第二趟排序的时候,只需要比较除了最后一个数以外的其他的数,同样也能找出一个最大的数排在参与第二趟比较的数后面,第三趟比较的时候,只需要比较除了最后两个数以外的其他的数,以此类推……在上述算法中,需要逐趟逐次的比较相邻元素的大小,如果待排序的数组中的元素大部分已经是有序的,仍然逐次比较就会比较浪费时间了,所以需要在判断当在某次比较中,各元素的位置没有发生交换时,就说明当前数组元素次序已经是有序的,不用再比较,可以结束冒泡排序。(1)N个元素排序,

2021-05-31 21:24:11 5166

原创 嵌入式中的通讯协议——UART、I2C、SPI、DMA

目录一、通讯的基本概念二、USART——串口通讯三、I2C通讯协议四、SPI通讯协议五、DMA——直接存储器存取六、USART/I2C/SPI比较一、通讯的基本概念1、串行通讯与并行通讯(按数据的传送方式)串行通讯:指设备之间通过少量数据信号线(一般是 8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。并行通讯:指使用 8、16、32 及 64 根或更多的数据线进行传输的通讯方式,同时传输多个数据位的数据。两者比较:在数据传输速率相同时,

2021-05-30 19:21:37 11662 4

原创 C语言系列——const关键字与sprintf()函数

C语言系列——const关键字与sprintf()函数const关键字可以修饰变量、数组、指针、函数参数等。1、修饰变量与数组:C语言中采用const修饰变量,功能是对变量声明为只读特性,并保护变量值以防被修改。const int i=10;const int arry[4]={1,2,3,4,5};变量i具有只读特性,不能够被更改;若在之后的程序中对i重新赋值,如i = 10;是不被允许的。数组arry[]同样如此。值得注意的是,定义变量的同时,必须初始化。此外,co.

2021-01-05 18:20:49 273

原创 RGB888转换为RGB565格式

RGB888转换为RGB565格式RGB888用unsigned int 32位字节存储0 0 0 0 0 0 0 0 R7 R6 R5 R4 R3 R2 R1 R0 G7 G6 G5 G4 G3 G2 G1 G0 B7 B6 B5 B4 B3 B2 B1 B0 ...

2020-12-31 17:52:55 3411 5

原创 C语言系列——static关键字

C语言系列——static关键字常见用法有三种:1:用于局部变量的修饰符;2:用于全局变量的修饰符;3:用于函数的修饰符。1、用于局部变量的修饰符当 static 用于修饰局部变量时,通常是在某个函数体内,只能在该函数内被调用,这样的变量称为局部静态变量。它的值不会因为函数调用的结束而被清除,当函数再次被调用时,它的值是上一次调用结束后的值。 变量在程序加载时创建,在程序终止时结束。 只在编译时初始化一次。如果没有显式初始化,默认初始化为0。#include <st

2020-12-30 20:14:11 181

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除