自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 getopt函数的使用

f是强制删除文件或目录。optstring:选项字符串,一个字母表示一个短参数,如果字母后带有“:”,表示这个参数必须带有参数。在实际调用中,可以写成'-2 -a -b hello -c',或者 '-2 -a -b bhello -cchello', 或者'-2a -bhello -cchello'。这里用"2ab:c::"作为样例说明,其中的2,a是不带值的参数,b是必须带值的参数,c是可选值的参数。1)不带值的参数可以连写,像2和a是不带值的参数,它们可以-2 -a分开写,也可以-2a或-a2连写。

2024-05-08 09:51:55 645

原创 Shell脚本引号和括号的使用

1.(代码段)结构: 代表命令组,可用括号外定义的变量,但括号中的变量定义和赋值只能在括号中生效。2.$(cmd)结构: 代表命令替换,先将括号中命令执行一次,将其标准输出代替其在原语句中的值。3.$((算术表达式))结构: 此处表达式包括三目运算,返回值为运算出的实际结果。①:为算术表达式: 若算术表达式结果为0,退出码则为1;②:为逻辑判断表达式: 为真退出码为0,为假退出码为1。

2023-09-27 10:35:05 215

原创 VMware打不开:

(虚拟磁盘(.vmdk)本身有一个磁盘保护机制,为了防止多台虚拟机同时访问同一个虚拟磁盘(.vmdk)带来的数据丢失和性能削减方面的隐患,每次启动虚拟机的时候虚拟机会使用扩展名为 .lck(磁盘锁)文件对虚拟磁盘(.vmdk)进行锁定保护。同时要上图红框中“ffffff”改为此处的“c689a040”,(儿子的父亲就是我们查到的文件的CID啊),不过儿子的CID我们并不知道,暂且和父ID相同,保存后启动即可开机,但是开机以后的画面我还搞不懂。保存后就可以启动了,这样的方式是用原来磁盘文件的父亲去启动的。

2023-05-31 17:38:54 1154

原创 内存Rank的概念

n\n“模组构成”中的“×8”是颗粒的位宽(bit width),有×4、×8和×16三种\n\n2.如何根据模组的编号计算模组的RANK数?例如,当颗粒位宽是8b时,模组用了8个颗粒,8×8b=64b,就是一个RANK;但是,可以很明确地说:内存标签中的“R”是表示RANK,不是表示面数,内存“面”的英文字是Side,如果表示两个面的话面,应该是“2S”才是呀!因为1个RANK是64bit,两个RANK就是128bit,因此,符号“2R×8”就表示这个模组有2个RANK,颗粒的位宽是8b。

2023-03-16 16:19:31 1623

原创 BPP 像素深度

在用32位表示一个像素时,若R,G,B分别用8位表示, 剩下的8位常称为α通道(alpha channel)位 ,或称为覆盖(overlay)位、中断位、属性位。假如一个像素(A,R,G,B)的四个分量都用规一化的数值表示,(A,R,G,B)为(1,1,0,0)时显示红色。例如,一幅彩色图像的每个像素用R,G,B三个分量表示,若每个分量用8位,那么一个像素共用24位表示, 就说像素的深度为24,每个像素可以是16 777 216(2的24次方)种颜色中的一种。此外,像素深度越深,所占用的存储空间越大。

2023-03-16 16:16:54 299 1

原创 内存Rank的概念

1:什么是RANK?答:CPU与内存之间的接口位宽是64bit,也就意味着CPU在一个时钟周期内会向内存发送或从内存读取64bit的数据。可是,单个内存颗粒的位宽仅有4bit、8bit或16bit,个别也有32bit的。因此,必须把多个颗粒并联起来,组成一个位宽为64bit的数据集合,才可以和CPU互连。生产商把64bit集合称为一个物理BANK(Physical BANK),简写为P-BANK。为了和逻辑BANK相区分,也经常把P-BANK称为RANK或Physical RANK,把L-BANK则简称

2022-12-09 14:52:50 2293 1

原创 GPIO

1.GPIO的输入模式(1)浮空输入:(Floating Input)此时 I/O 引脚浮空,读取的电平是不确定的,外部信号是什么电平,引脚就输入什么电平,芯片复位上电后,默认为浮空输入模式(2)模拟输入:(Analog mode)引脚信号直接连接模拟输入,实现对外部信号的采集,可以收集 0~Vss 的电压值(3)上拉输入:(Input Pull Up:IPU)当没有外界信号输入时,默认为高电平。最典型的案例是按键,为上拉输入时,当没有按键按下,默认为高电平,有按键按下,则变为低电平。

2022-09-16 18:57:01 3414 2

原创 sprintf函数

目录一.sprintf 函数简介二.sprintf 函数使用三.sprintf/fprintf/printf 函数区别四.猜你喜欢零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门一.sprintf 函数简介sprintf 函数用于将格式化的数据写入字符串,其原型为:#include <stdio.h>/**描述:将格式化的数据写入字符串**参数:* [out] str: 输出缓冲区,得到格式化之后的字符串;

2022-09-14 15:40:11 2230

原创 查看串口设备

linux查看所有串口和usb设备方法1、查看串口是否可用可以对串口发送数据比如对com1口,echo/dev/ttyS02、查看串口名称使用ls -l /dev/ttyS*一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev下的ttyS*,一般ttyS0对应com1,ttyS1对应com2,当然也不一定是必然的;3、查看串口驱动cat/proc/tty/drivers/serial4、查看串口设备dmesg | grep

2022-09-02 18:21:20 2679

原创 Linux下修改MAC值

Linux下修改MAC地址方法一:1.关闭网卡设备ifconfig eth0 down2.修改MAC地址ifconfig eth0 hw ether MAC地址3.重启网卡ifconfig eth0 up方法二:以上方法一修改后linux重启后MAC又恢复为原来的,为了下次启动时修改后的MAC仍有效,我们可以修改文件file:/etc/rc.d/rc.sysinit(RedFlagLinux为这个文件,其他版本的linux应该不同)的内容,在该文件末尾加以下内

2022-07-27 14:59:43 8035

原创 基础的git用法

1、最常用的 git 命令有#git help add 添加文件内容至索引 bisect 通过二分查找定位引入 bug 的变更 branch 列出、创建或删除分支 checkout 检出一个分支或路径到工作区 clone 克隆一个版本库到一个新目录 commit 记录变更到版本库 diff 显示提交之间、提交和工作区之间等的差异 fetch 从另外一个版本库下载对象和引用 gre...

2022-07-08 18:11:13 92

原创 linux下的查找用法

1.which命令查找命令是否在目录中:$which gcc //显示出GNC的C编译器安装在哪个目录返回:/usr/bin/gcc注意:如果which没有找到要找的命令,可以试试whereis,该命令搜索更大的范围的系统目录。有些系统上的which命令不显示用户没有执行权限的文件。$which ipppd/usr/bin/which :no ipppd in (/bin: /usr/bin: /sbin:/usr/sbin)$whereis ipppdipppd: /usr/sb

2022-07-08 15:03:02 146

原创 md5sum

md5sum命令用于生成和校验文件的md5值。它会逐位对文件的内容进行校验。是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同。md5值是一个128位的二进制数据,转换成16进制则是32(128/4)位的进制值。md5校验,有很小的概率不同的文件生成的md5可能相同。比md5更安全的校验算法还有SHA*系列的。在网络传输时,我们校验源文件获得其md5sum,传输完毕后,校验其目标文件,并对比如果源文件和目标文件md5 一致的话,则表示文件传输无异常。否则说明文件在传输过程...

2022-07-06 10:53:43 6682

原创 Vim中使用鼠标

1、最近在使用vim,忽然发现vim也能使用鼠标,本章主要说明如何使用鼠标功能。2、打开鼠标功能:set mouse=a3、关闭鼠标功能:set mouse-=a4、鼠标模式‘mouse’的参数说明// n 普通模式// v 可视模式// i 插入模式// c 命令行模式// h 在帮助文件里,以上所有模式// a 以上所有模式// r 跳过|lit-enter|提示// A 在可是模式下自动选择'mouse' 的缺省值为空,即不使用鼠标。通常你会用::set m..

2022-07-01 17:38:57 3602

原创 MIPS指令集

【空操作】nop、ssnop(不能和其他指令同时,至少需要一个时钟周期)【寄存器间的数据传送指令】move、movf、movt、movn、movz(后四个为条件传递指令)【常数加载指令】dla、la(获取某些标号地址或程序中变量地址的宏指令);dli、li(加载常数立即数指令);lui(加载高位立即数指令)【算术/逻辑操作指令】addu、addiu、daddu,daddiu(加法指令);dsub、sub(会触发溢出陷入的减法操作);dsubu、subu(普通减法指

2022-06-30 16:07:04 3580

原创 NOR和NAND flash 区别

1、操作速度在写数据和擦除大量数据时,由于NAND flash 支持整块操作,因此NAND比NOR快得多,两者相差近千倍;但是数据量小的时候,比如几个字节,Nor Flash比NAND flash 擦写速度快,因为对NAND flash的读写操作,虽然只是几个字节的操作,也需要重写整个数据块;由于NOR地址线和数据线分开,所以NOR芯片可以像SRAM一样连在数据线上。读取数据时,NOR比NAND快,NOR以字或字节为单位进行读取,NAND要先向芯片发送地址信息进行寻址,才能开始读数据。2、容量和

2022-06-29 14:44:20 2836

原创 模拟I2C传输数率

在查看数据手册时,经常回会看到类似这种的最高传输速率,如:而在配置寄存器实现I2C中也是需要配置I2C的传输速率,如:但模拟I2C的速率该如何计算?首先一般I2C速率的单位是kbit/s,I2C传输速率的定义:每秒传输的比特位数。先把代码贴出来:#define I2C_DELAY() I2CSysCtlDelay(30) //!<I2C速率约为237Kb/s(若为40,则速率约为178Kb/s)/** @brief SysCtlDelay* @par...

2022-06-28 17:21:36 1069

原创 SEMAPHORE信号量

信号量相当于红灯,是在多线程多进程下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其他想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量,需要将sem_wait()放在每个关键代码的首端,做减减操作,将sem_post()放在段尾,做加加操作。举个生活中的例子:假设停车场只有三个车位,一开始三个车位都是空的。此时如果同时来了五辆车,看门人允

2022-06-28 17:03:20 134

原创 iopl和outb函数

iopl是linux系统函数,调用的头文件为 #include <sys/io.h>函数主要功能介绍:int iopl(int level);iopl()更改调用进程的I/O特权级别,由级别中两个最不重要的位指定。为了允许兼容8514的X服务器在Linux下运行,这个调用是必要的。由于这些X服务器需要访问所有65536 I/O端口,因此ioperm(2)调用是不够的。除了授予不受限制的I/O端口访问权之外,在更高的I/O特权级别上运行还允许进程禁用中断。这很可能会导致系统崩溃,并且

2022-06-20 15:26:05 1773

原创 const的用法

C语言里const的用法分为三种:const int *p; 只读不能修改其指向的值int *const p; 可修改其指向的值但是不能改指向 const int* const p; 不仅不能修改其值也不能更改指向见下图。1.通过测试我们发现,当我们修改其指向的时候,是成功的。但是修改其值的时候,出现报错现象,错误说明这个指向是能读取其数值,故当我们不想要其指向的数据发现变化的时候便可以使用这种方法,可以提高数据的安全性2.这个测试我们可以看到可以修...

2022-06-07 15:07:06 74

原创 CPU与外设间数据传输方式

主要有程序传送方式、中断传送方式和直接存储器存取(DMA)传送方式,分别介绍如下。 1.程序传送方式程序传送方式是指直接在程序控制下进行数据的输入/输出操作。程序查询方式分为无条件传送方式和查询方式(条件传送方式)两种。一. 无条件传送方式微机系统中的一些简单的外设,如开关、继电器、数码管、发光二极管等,在它们工作时,可以认为输入设备已随时准备好向CPU提供数据,而输出设备也随时准备好接收CPU送来的数据,这样,在CPU需要同外设交换信息时,就能够用IN或OU...

2022-05-31 15:43:45 10330

原创 Proc文件

1./proc文件简介proc文件系统是由内核创建的虚拟文件系统,被内核用来向用户导出信息,通过它可以在Linux内核空间和用户空间之间进行通信。2./proc目录介绍/proc目录下有很多目录、文件,下面对一些常见的进行介绍:/proc/buddyinfo--每个内存区中的每个order有多少块可用,和内存碎片问题有关/proc/cmdline--启动时传递给kernel的参数信息/proc/cpuinfo--cpu的信息/proc/crypto--内...

2022-05-25 16:41:28 714

原创 uubuntu中文无法显示,显示为方框

问题分析  今天一打开Ubuntu系统,竟然不支持中文显示了。开始时以为是搜狗拼音的问题,然后重装了一遍fcitx,然后用重装了一遍搜狗输入法。可是重装后问题根本没有解决,在language suport下“汉语(中国)”还是用框框表示,系统的中文也都是一律用框框,头大死了。  然后我就一直在网上搜“Ubuntu系统不支持中文”,“Ubuntu系统中文显示乱码”等问题,殊不知已经查找错了方向。  直到看到一篇帖子说这不是中文乱码或者不支持中文的问题,而 是字体的问题,抱着试试的态度,添加了字体库,重

2022-05-17 13:03:47 1498 1

原创 串口工具minicom

打开终端,输入安装命令:sudo apt-get install minicom安装好后打开minicomsudo minicom按下ctrl-a x 或者ctrl-a q可以退出minicom配置输入sudo minicom -s,注意前边一定要加sudo阿,否则在咱们配置完后会出现cannot write to /etc/minicom/minirc.dfl的权限问题!弹出下图设置界面使用方向键 选择 Seri...

2022-05-17 10:02:35 774

原创 static的作用

它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容复制代码代码如下:char a = 'A'; // global variablevoid msg(){printf("Hello\n");}下面是main.c的内容复制代码代码如下:int main(v...

2022-05-10 14:20:27 4088

原创 dd if of

一、dd命令的解释dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2参数注释:1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file>2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file>3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。..

2022-05-06 16:38:24 2125

原创 Linux防火墙

linux防火墙状态查看的方法1、基本操作# 查看防火墙状态service iptables status# 停止防火墙service iptables stop# 启动防火墙service iptables start# 重启防火墙service iptables restart# 永久关闭防火墙chkconfig iptables off# 永久关闭后重启chkconfig iptables on推荐:Linux自学视频2、开启80端口vim /e

2022-05-06 14:50:16 71

原创 iperf3

iperf3使用方法简介一、介绍iperf3是用来测量一个网络最大带宽的工具。它支持调节各种参数比如发送持续时间,发送/接收缓存,通信协议。每次测试,它都会报告网络带宽,丢包率和其他参数。更多信息请登陆官网:https://iperf.fr/二、安装操作系统:centos7.0软件下载网址:https://iperf.fr/iperf-download.php(选择对应的发行版)软件名称:iperf3-3.1.3-1.fc24.x86_64.rpm在终端中输入命令:rpm -i ipe

2022-04-29 14:34:03 2686

原创 tar命令

tar -zcvf a.tar.gz a1.txt a2.txt //将a1.txt和a2.txt打包成a.tar.gztar -zcvf myhome.tar.gz /home/tar -zxvf a.tar.gz //解压到当前目录tar -zxvf myhome.tar.gz -C /opt/ //解压到指定目录,该目录要存在才能成功,不要忘了-C...

2022-04-29 13:50:56 72

原创 同步时钟命令

hwclockhwclock -s 将硬件时间同步到系统时间hwclock -w 将系统时间同步到硬件时间hwclock -v 查看版本datedate 查看系统时间date -s 设置系统时间查看当前硬件时间yu@ubuntu:~$hwclockhwclock: Cannot access the Hardware Clock via any known method.hwclock: Use the --debug option to see the details of o.

2022-04-29 13:48:44 3715

原创 modprobe命令

modprobe命令用于智能地向内核中加载模块或者从内核中移除模块。modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。语法modprobe(选项)(参数)选项 -a或--all:载入全部的模块; -c或--show-conf:显示所有模块的设置信息; -d或--debug:使用排错模式; -l或--li.

2022-04-29 13:39:25 8471

原创 df使用命令

df命令是用来查看linux系统服务器文件系统的磁盘使用情况。可以用该命令来查看已经使用了多少空间,还有多少空间可用。 df命令格式为 df [选线] [文件名] df命令功能:显示指定磁盘文件的使用情况。如果没有指定文件,则显示所有挂载的文件系统的磁盘使用情况 选项可以有 -a:全部文件系统列表,包含虚拟文件系统 -B:指定显示scale size,比如以M,G为单位显示...

2022-04-29 09:37:38 14376

原创 systemctl命令(简洁版)

Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。常用命令1.查看版本号systemctl –-version2.管理服务(unit)systemctl [command] [unit]3.常用 command 命令start:立刻启动后面接的 unit。stop:立刻关闭后面接的 unit。restart:立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思。reload:不关闭 unit 的情况下,重.

2022-04-27 14:25:31 463

原创 Linux下的apt

文章目录linux中的apt命令 什么是apt apt需求的权限 需要sudo权限的apt命令 更新软件包索引`apt update` 升级软件包版本`apt upgrade` 完全升级`apt full-upgrade` 安装软件包`apt install` 移除软件包`apt remove` 自动移除未使用的包`apt autoremove` 无需sudo权限的apt命令 下载软件包`apt download` 显示软件

2022-04-27 14:11:23 624

原创 不同进制间的转换

今天来总结一下各种进制转换问题,详细齐全易于理解,希望对你有帮助哦!各种进制之间的相互转换一、十进制转换为二进制、八进制、十六进制 整数转换 1、十进制转二进制 2、十进制转八进制 3、十进制转十六进制 小数部分转换 1、十进制转二进制 2、十进制转八进制 3、十进制转十六进制 二、 二进制、八进制、十六进制转换为十进制 整数转换 小数部分转换 1、二进制转十进制 2、八进制转十进制 3、十六进制

2022-04-26 17:06:32 11783

原创 指针作为参数传入函数

使用指针变量作为函数参数|地址传递与指针传递实例总结地址传递 值传递 错误写法1 错误写法2 地址传递指针类型可以作为函数参数的类型,这时视为把变量的地址传入函数。如果在函数中对这个地址的元素进行改变,原先的数据就会确实地被改变。#include <stdio.h> void change(int *p){ *p = 233;} int main() { int a = 1; int *p = &a; ...

2022-04-26 10:53:47 4188 4

空空如也

空空如也

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

TA关注的人

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