自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 记一次ubuntu系统libc.so.6库文件被误删的修复经历

libc.so.6是linux系统运行的重要文件,误删后很多命令都无法使用,此时系统没有蹦.但重启主机导致无法进入系统,在系统中通过命令方式修复成功的可能性不大.思路:通过u盘进入系统,进入系统后不安装,直接点击“Try ubuntu”修复.libc.so.6是一个软连接,所以通过某种方式重新建立一个软连接即可,,如下介绍如何修复.

2022-11-28 11:23:45 4502 2

原创 16.OpenWrt-rootfs扩容

使用的OpenWrt开发板搭载16M的flash,无法安装一些大型的软件,这时候就需要通过TF卡或者U盘给板子扩容,让板子从TF卡或U盘启动.

2022-11-27 17:57:24 2137

原创 15.OpenWrt-U盘和TF卡存储

OpenWrt开发板可以外接U盘和TF卡等大容量存储设备,其中MT7628an芯片的SD接口和网口复用,板子实际复用为网口,TF卡在硬件上通过SD接口转为USB接口,相当于在板子上集成了一个TF卡读卡器,在系统上识别到的U盘和TF卡没有太大差别.支持EXT4和NTFS格式.

2022-11-27 17:56:03 2350

原创 08.OpenWrt-连接wifi网络

如上是在界面设置连接其他wifi热点,也可以通过修改如下文件手动修改.然后重启网络.

2022-11-27 17:52:03 4361

原创 07.OpenWrt-luCI界面

luCI是OpenWrt的配置接口,也就是路由管理界面,网络设备例如电脑连接了OpenWrt的lan口或者与OpenWrt在同一局域网下,在电脑浏览器上输入板子ip地址就可以登录OpenWrt的路由管理界面.

2022-11-27 17:48:26 2889

原创 12.OpenWrt-OPKG包管理

Android系统手机都有应用商店,苹果手机也有app store,用来下载安装各种app.在OpenWrt系统中也有自己的应用商店,OpenWrt是通过OPKG(Open/OpenWrt Package)来管理软件包,OPKG是一个轻量快速的软件包管理系统,用来管理软件包的下载、安装、升级、卸载和查询等,并处理软件包的依赖关系.OPKG不光可以安装应用程序也可以安装驱动程序等,安装的软件可以是编译出来的ipk安装包,也可以是从互联网下载的安装包.

2022-11-25 15:11:46 7299

原创 11.OpenWrt-uci命令接口

config后面的interface是一个config的type,由自己定义,可以重复出现type后面是section,需要单引号括起,也由自己定义,在同一个文件中不可以重复出现搜索该section下的配置时需要用到这个section名option一般放具体配置名,value是该配置对应的值,一般由单引号括起list是一个列表名,可以包含多个值。

2022-11-25 15:02:30 1290

原创 10.OpenWrt-flash分区结构

OpenWrt开发板使用16M的flash作为存储设备,系统将flash分为4个主要分区,分别是u-boot、u-boot-env、factory、firmware.u-boot:存放系统引导uboot固件u-boot-env:存放uboot中设置的环境变量factory:存放有线网络、wifi的mac地址和wifi射频校准数据.

2022-11-25 15:00:26 2343

原创 09.OpenWrt-防火墙

防火墙是OPenWrt非常重要的一部分,基础篇只说防火墙的配置和一些常用的命令.

2022-11-25 14:57:18 2788

原创 06.OpenWrt-系统定制

学完了这么多你一定想更加深入的定制属于自己的固件,使用自己个性化的logo等,如下说明如何跟换banner、主机名称等.

2022-11-25 14:49:49 883

原创 05.OpenWrt-写入mac地址

一般连接网络设备都有mac地址,电脑连接到路由器网络,只要网络环境不改变,电脑的ip地址就不会变化.这是因为路由器识别到这台电脑的mac地址,会把同一个ip再次分配给这台电脑.比如在使用vmware安装ubuntu虚拟机的时候,在桥接模式下,每次开机ip地址都会改变,这是由于虚拟机的mac地址每次开机都随机生成.网络上有很多方法固定虚拟机的ip地址,但是没有从本质上了解ip变化的原因,只要给虚拟机设置一个固定的mac地址,ip地址每次都变化的问题就迎刃而解.

2022-11-25 14:44:30 1675

原创 04.OpenWrt-连接有线网络

路由器作为重要的网络设备不光可以连接网络,也可是通过有线或者无线的方式给其他设备连接网络.

2022-11-25 14:41:11 1781

原创 03.OpenWrt-系统固件烧录

这种方法多用于工厂批量烧录,在一个空白的flash中烧录uboot和kernel,所以前面三种方法的前提都是先通过编程器烧录了uboot或者uboot和kernel的完整固件.这种方法需要将flash芯片拆下来放入编程器中烧录比较麻烦,除非固件已经损坏,否者不适用这个方法.这种方法和tftp烧录类似,OpenWrt开发板和Iwndows主机可以直连也可以在同一局域网下,在浏览器中输入板子的IP地址,在界面中调用sysupgrade升级.在OpenWrt开发板上电的2s左右按下键盘的数字。

2022-11-25 14:18:54 1362

原创 02.OpenWrt-进入开发板系统

一起学OPenWrt是教你从入门到精通的系列教程,基础篇的定位是玩转开发板的功能,包括进入板子的shell、系统烧录、软件的安装、uci配置、基本外设使用、4G热点等.

2022-11-25 14:12:17 1471

原创 01.OpenWrt-写在前面

一起学OPenWrt是教你从入门到精通的系列教程,基础篇的定位是玩转开发板的功能,包括进入板子的shell、系统烧录、软件的安装、uci配置、基本外设使用、4G热点等.

2022-11-25 12:01:40 636

原创 OpenWRT系统简介

OpenWRT智能路由

2022-09-28 12:22:09 4749

原创 ubuntu安装samba,实现windows访问

什么是samba?Samba能够为选定的Unix目录(包括所有子目录)建立网络共享。该功能使得Windows用户可以像访问普通Windows下的文件夹那样来通过网络访问这些Unix目录。简而言之,将linux服务器中的文件共享到windows,映射成为类似D、E盘这样的本地磁盘来访问。1.软件安装以linux的发行版Ubuntu为例,演示安装软件#安装samba服务端以及samba客户端软件sudo apt-get install sambasudo apt-get install smbc

2021-10-26 18:55:24 490

原创 老版本ubuntu换源

老版本ubuntu换源老版本的ubuntu在执行sudo apt-get update命令时无法找到镜像源,老版本的ubuntu的镜像源都被放置在old这个源中,因此下面的操作步骤与普通的ubuntu换源没有差别,只不过需要根据自己的ubuntu版本换版本代号就可以了!1.备份ubuntu 源列表#使用cp命令将sources.list备份为sources.list.baksudo cp /etc/apt/sources.list /etc/apt/sources.list.bak2.修改/

2021-10-19 19:03:18 1931 2

原创 C陷阱与缺陷-疑难问题理解02

第一章 词法“陷阱”​ 当我们阅读一个句子时,我们并不去考虑组成这个句子的单词中单个字母的 含义,而是把单词作为一个整体来理解。字母本身并没有什么意义,我们总是将字母组成单词,然后给单词赋予一定的意义。​ 对于用C语言或其他语言编写的程序,道理也是一样的。程序中的单个字符孤立来看并没有什么意义,只有结合上下文才有意义。因此,在p->s = “->”;这个语句中,两处出现的’-'字符的意义大相径庭。​ 术语“符号”指的是程序的一个基本组成单元,其作用相当于一个句子中的单词。编译器中负责

2021-07-06 23:05:02 129

原创 C陷阱与缺陷-疑难问题理解11

第7章 可移植性缺陷​ C语言在许多不同的系统平台上都有实现。的确,使用C语言编写程序的一 个首要原因就是,C程序能够方便地在不同的编程环境中移植。​ 然而,由于C语言实现是如此之多,各个实现之间有着或多或少的细微差别, 以至于没有两个实现是完全相同的。即使是写得最早的两个C语言编译器,它们 之间也有着很大区别。此外,不同的系统有不同的需求,因此我们应该能够料到, 机器不同则其上的C语言实现也有细微差别。ANSI C标准的发布能够在一定程 度上解决问题,但并不是万验灵药。​ 早期的C语言实现都

2021-07-06 22:59:59 130

原创 C陷阱与缺陷-疑难问题理解12

7.7 除法运算时发生的截断假定我们让a除以b,商为q,余数为r :q = a / b;r = a % b;这里,不妨假定b大于0。我们希望a、b、q、r之间维持怎样的关系呢?最重要的一点,我们希望q*b + r==a,因为这是定义余数的关系。如果我们改变a的正负号,我们希望这会改变q的符号,但这不会改变q 的绝对值。当b>0时,我们希望保证r>=0且r<b。例如,如果余数用于哈希表的索引, 确保它是一个有效的索引值很重要。这三条性质是我们认为整数除

2021-07-06 22:59:41 140

原创 C陷阱与缺陷-疑难问题理解10

第6章 预处理器在严格意义上的编译过程开始之前,C语言预处理器首先对程序代码作了必 要的转换处理。因此,我们运行的程序实际上并不是我们所写的程序。预处理器 使得编程者可以简化某些工作,它的重要性可以由两个主要的原因说明(当然还 有一些次要原因,此处就不赘述了)。第一个原因是,我们也许会遇到这样的情况,需要将某个特定数量(例如, 某个数据表的大小)在程序中出现的所有实例统统加以修改。我们希望能够通过 在程序中只改动一处数值,然后重新编译就可以实现。预处理器要做到这一点可 以说是轻而易举,即使这个数值在程

2021-07-05 14:13:40 151

原创 C陷阱与缺陷-疑难问题理解09

第5章 库函数​ C语言中没有定义输入/输出语句,任何一个有用的C程序(起码必须接受零个或多个输入,生成一个或多个输出)都必须调用库函数来完成最基本的输入/ 输出操作。ANSI C标准毫无疑问地意识到了这一点,因而定义了一个包含大量标准库函数的集合。从理论上说,任何一个C语言实现都应该提供这些标准库函数。ANSI C中定义的标准库函数集合并不完备。例如,基本上所有的C语言实现都包括了执行“底层”I/O操作的read和write函数,但是这些函数却并没有出现在 ANSI C标准中。而且,并非所有的C语言

2021-07-05 14:12:54 151

原创 C陷阱与缺陷-疑难问题理解08

第4章 连接​ 一个C程序可能是由多个分别编译的部分组成,这些不同部分通过一个通常叫做连接器(也叫连接编辑器,或载入器)的程序合并成一个整体。因为编译器一般每次只处理一个文件,所以它不能检测出那些需要一次了解多个源程序文件才能察觉的错误。而且,在许多系统中连接器是独立于C语言实现的,因此如果前述错误的原因是与C语言相关的,连接器对此同样束手无策。​ 某些C语言实现提供了一个称为lint的程序,可以捕获到大量的此类错误, 但遗憾的是并非全部的C语言实现都提供了该程序。如果能够找到诸如lint的程 序

2021-07-05 14:11:58 180

原创 C陷阱与缺陷-疑难问题理解07

1.7 求值顺序运算符优先级是关于诸如表达式a + b * c应该被解释成a + (b * c)而不是(a + b) * c的这样一类规则。求值顺序是另一类规则,可以保证像下面的语句if(count != 0 && sum/count < smallaverage) printf("average <%g\n",smallaverage);即使当变量count为0时,也不会产生一个“用0作除数”的错误。C语言中的某些运算符总是以一种已知的、规定

2021-07-05 14:11:35 104

原创 C陷阱与缺陷-疑难问题理解06

3.4 避免”举隅 [yú] 法”“举隅法”(synecdoche)是一种文学修辞上的手段,有点类似于以微笑表示喜悦、赞许之情,或以隐喻表示指代物与被指物的相互关系。在《牛津英语辞典》 中,对“举隅法”(synecdoche)是这样解释的:“以含义更宽泛的词语来代替含 义相对较窄的词语,或者相反;例如,以整体代表部分,或者以部分代表整体, 以生物的类来代表生物的种,或者以生物的种来代表生物的类,等等。”《牛津英语辞典》中这一词条的说明,倒是恰如其份地描述了 C语言中一个 常见的“陷阱”:混淆指针与指

2021-07-05 14:10:31 249

原创 C陷阱与缺陷-疑难问题理解05

第3章 语义“陷阱”​ 一个句子哪怕其中的每个单词都拼写正确,而且语法也无懈可击,仍然可能有歧义或者并非书写者希望表达的意思。程序也有可能表面看上去是一个意思,而实 际上的意思却相去甚远。本章考察了若干种可能引起上述歧义的程序书写方式。​ 这一章中还讨论了这样的情形:如果只是肤浅地考察,一切都“显得”合情 合理,而事实上这种情况在所有的C语言实现中给出的结果却都是未定义的。在 某些C语言实现中能够正常工作,而在另一些C语言实现中却又不能工作的情形, 这属于可移植性方面的问题,将在第7章中给予论述。

2021-07-05 14:09:48 146

原创 C陷阱与缺陷-疑难问题理解04

2.3 注意作为语句结束标志的分号​ 在c程序中如果不小心多写了一个分号可能不会造成什么不良后果:这个分号也许会被视作一个不会产生任何实际效果的空语句;或者编译器会因为这个多余的分号而产生一条警告信息,根据警告信息的提示能够很容易去掉这个分号。一个重要的例外情形是在if或者while语句之后需要紧跟一条语句时,如果此时多了一个分号,那么原来紧跟在if或者while子句之后的语句就是一条单独的语句,与条件判断部分没有了任何关系。考虑下面的这个例子;if (x[i] > big);big =

2021-07-05 14:09:11 124

原创 C陷阱与缺陷-疑难问题理解03

第2章 语法“陷阱”​ 要理解一个C程序,仅仅理解组成该程序的符号是不够的。程序员还必须理解这些符号是如何组合成声明、表达式、语句和程序的。虽然这些组合方式的定 义都很完备,几乎无懈可击,但有时这些定义与人们的直觉相悖,或者容易引起混淆。本章将讨论一些用法和意义与我们想当然的认识不一致的语法结构。2.1 理解函数声明​ 当计算机启动时,硬件将调用首地址为0位置的子例程。为了模拟开机启动时的情形,我们必须设计出一个C语句,以显式调用该子 例程。经过一段时间的思考,我们最后得到的语句如下:(*

2021-07-05 14:08:10 132

原创 C陷阱与缺陷-疑难问题理解02

第一章 词法“陷阱”​ 当我们阅读一个句子时,我们并不去考虑组成这个句子的单词中单个字母的 含义,而是把单词作为一个整体来理解。字母本身并没有什么意义,我们总是将字母组成单词,然后给单词赋予一定的意义。​ 对于用C语言或其他语言编写的程序,道理也是一样的。程序中的单个字符孤立来看并没有什么意义,只有结合上下文才有意义。因此,在p->s = “->”;这个语句中,两处出现的’-'字符的意义大相径庭。​ 术语“符号”指的是程序的一个基本组成单元,其作用相当于一个句子中的单词。编译器中负责

2021-07-05 14:05:46 96

原创 C陷阱与缺陷-疑难问题理解01

概述​ 课程“C陷阱与缺陷-疑难问题理解”是笔者在学习《C陷阱与缺陷》这本书时的读书记录,进行二次创作而成。通过“讲义+视频”方式帮助大家在短时间内学习《 C陷阱与缺陷》这本书,进而提升对C语言的理解。同时也是对自己学习成果的巩固。讲义和视频免费获取并且全部开源。​ 不知道你有没有这种感觉!总是觉得自己对C语言基本的语法和使用很了解,但是涉及到C语言的高级用法有总是感觉似懂非懂。另外通过视频方式自学C语言知识也感觉不完整,如果没有看书像是缺了点什么!认为看书才算是系统的学习。​ 通过在网上查找资

2021-07-05 14:03:20 144 1

原创 图书-管理系统

占坑!!!!!!!!!!!!方案:STM32+RC522+mySQL+Qt开源正在肝,敬请期待

2021-04-25 15:05:54 580 1

原创 【树莓派Pico学习笔记】-软件安装

教程敬请期待

2021-01-27 15:58:14 1934 2

原创 【arduino从入门到放肆】⑫Arduino 智能垃圾桶

????Arduino智能垃圾桶????前面学习过超声波传感器和舵机相关知识,通过超声波传感器检测到有人靠近时候驱动舵机控制垃圾桶开盖,当人远离的时候就合上盖子????准备知识话不多说上图????编写代码#include <Servo.h>#define TRIG_PIN (2) //触发产生超声波#define ECHO_PIN (3) //输出产生超声波到接收反射超声波持续时间#define OPEN_ACT

2021-01-12 15:47:23 3272 2

原创 【arduino从入门到放肆]⑪Arduino超声波测距

????Arduino超声波测距????超声波传感器利用中学物理知识,声波在空气中传播速度大约340m/s,因此计算发射到接收在空中飞行时间,将飞行时间的一半乘以声波速度,就可以得到超声波传感器到障碍物的位置????准备知识话不多说上图????编写代码#define TRIG_PIN 2 //触发产生超声波#define ECHO_PIN 3 //输出产生超声波到接收反射超声波持续时间float distance;

2021-01-12 15:45:46 522

原创 【arduino从入门到放肆]⑩Arduino舵机控制

????Arduino舵机控制????舵机是一种常用的伺服电机,可以按照需要旋转不同角度。Arduino库已经为我们简化了舵机的使用,只需要根据需要设定不同的旋转角度值即可????准备知识使用的SG90舵机工作电压是4.8V,接到5V也是没有问题的,图中的黄色实际接近橙色连接信号脚D9????编写代码????attach()????write()????map()attach()指定信号线接在Arduino那个引脚write()写入舵机旋转角度的度数,0-180°map()数值映射函数

2021-01-12 15:43:37 1129

原创 【arduino从入门到放肆]⑨Arduino温湿度计

????Arduino温湿度计????之前编写的代码都相对简单,我们使用DHT11传感器也可以我们自己编写代码,如果有人已经编写好了直接拿来用是不是更简单,站在巨人的肩膀上才能看的更远????准备知识话不多说上图????编写代码#include "Arduino_SensorKit.h" //Arduino传感器包用到头文件void setup() { Environment.begin(); //传感器初始化 Oled.begin();

2021-01-12 15:41:35 538

原创 【arduino从入门到放肆】⑥Arduino 小台灯

????Arduino小台灯????通过前面两个实验能够点亮一盏LED灯同时能够通过按键控制LED的开灭,现在在之前的基础上通过电位器实现LED亮度可调的功能????准备知识????编写代码/* * LED亮度可调 */#define LED_PIN (13) //宏定义LED灯引脚为D13#define BUTTON_PIN (2) //宏定义按键引脚为D2#define POT_PIN (21)

2021-01-12 15:39:15 1931 2

原创 【arduino从入门到放肆】⑦Arduino OLED液晶显示

????Arduino串口控制LED灯????这一章我们学习Arduino 串口知识,通过串口发送"OPEN"或者"CLOSE"来控制LED的亮灭????准备知识简单理解串口是数据通信的一种方式,后面我们还会学习到I2C、单总线等通信方式。如下图串口有两个引脚RX和TX,RX即为接收,TX即为发送。我们使用的miniUSB数据线已经接好到RX、TX因此不需要额外的电路,还是使用板载LED灯[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4W89klWk-161041378

2021-01-12 15:38:03 2181 2

原创 【arduino从入门到放肆】⑧Arduino 温湿度打印

????Arduino温湿度传感器DHT11????之前编写的代码都相对简单,我们使用DHT11传感器也可以我们自己编写代码,如果有人已经编写好了直接拿来用是不是更简单,站在巨人的肩膀上才能看的更远????准备知识话不多说上图????编写代码#include "DHT.h"#define DHTPIN 2 // Digital pin connected to the DHT sensor#define DHTTYPE DHT11 // DHT 11DHT dht(DHTP

2021-01-12 15:34:20 212

IR_prontoHex协议.docx

prontoHex协议是用来进行红外设备与上层应用之间传输的协议,支持NEC、RC5、sony等多种红外遥控协议

2020-04-10

空空如也

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

TA关注的人

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