自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一次学校实训总结

总结前言1、Linux基本命令;2、编程开发经验3、一点MQTT协议的小知识点4、学习中遇到的一些问题5、遗忘的知识点与待解决的疑惑:写在后面的话前言好久不见,本来说好要更哈工大那一版的操作系统的,现在看来要食言了(正在准备考研啦,希望可以一战上岸,也希望正在努力备考的程序员们能考上自己心仪的学校)。这次能有这样一篇笔记是因为学校组织了为期五天的一次来自华清远见的校内实训,有一些收获,所以特地来记录一下。好了话不多说,来看看内容吧,如果能对你也有所帮助的话那就更好。今天是参加华清远见实训的最后一天,进

2022-04-20 21:12:02 1682

原创 操作系统笔记(三)——系统调用的实现(System Call)

系统调用的实现前言系统调用的直观实现内核(用户)态,内核(用户)段处理器保护环将其分为了四部分对于内核段代码的处理用段寄存器来进行解决硬件提供了“主动进入内核的方法”系统调用的核心 int 0x80前言前面的文章说了什么是系统调用,就是系统提供给上层用户的一些函数,如open,read,write…,表面上是一些函数,背后是如何实现的呢?这一篇文章就会记录系统调用是如何实现的。系统调用的直观实现反正所想要打印的代码与系统代码都在内存里,直接跳转,直接调用不可以吗?答:肯定是不能的。不能随意的

2022-02-06 18:07:09 2126

原创 操作系统笔(二)——操作系统接口 OS Interface

操作系统接口前言概念接口(Interface)什么是操作系统接口?操作系统接口都是命令吗?用户如何使用计算机?命令行是怎么回事?图形按钮又是怎么回事?再回到那个问题 什么时操作系统接口?常见的系统调用(操作系统接口)前言上一章讲到,操作系统引导启动的时候将操作系统在磁盘中载入到了内存中的0地址处,取指执行,就可以将操作系统的代码从内存中取出来,在内存中除了有操作系统的代码,还有一些基础信息的数据结构,比如说GDT表,IDT表,mem_map位图(内存有多少,是否为0,哪些内存被使用过等等来负责管理硬件。

2022-02-03 23:07:33 1500 1

原创 操作系统笔记(一)初识操作系统——启动过程

操作系统前言什么是操作系统揭盖钢琴的盖子前言一台计算机可以简单的认为成三部分,即一个CPU、一个内存条、一个硬盘。比如说我们想打印“hello”,并显示出来。这里假设h的地址是300,即300H:0x68(68为h的ASCII码值),CPU把这个内存地址下的变量mov到显存GPU上去。这样依次把这一字符串打印,就完成了操作。显然这样的操作对于我们来说太麻烦了,那么就有了操作系统的出现。什么是操作系统操作系统是位于应用软件(如Word、Matlab…)与计算机硬件(如CPU、内存、显存…)之间的一

2022-02-03 00:05:58 1197

原创 stm32与esp8266连接,将数据上传到OneNet(MQTT)

文章目录前言一、所用器件(1)STM32F103C8T6(2)转串口模块(CH340)(3)esp8266-01s(4)气体检测模块_MQ二、代码分析(1)接线(2)代码三、OneNet创建一个设备(1)百度搜索onenet(2)进入官网(3)右上角:“登录”,之后点击“控制台”,进入之后把鼠标放到 “全部产品服务” 选项上 选择多协议接入(4)进入之后点击添加产品(5)填写信息(6)创建好产品之后会出现这个界面(7)点击设备列表 ->添加设备(8)设备信息随便填就行(9)创建好之后的界面(10.

2021-11-01 23:30:49 19865 41

原创 STM32小项目 小小智能婴儿床

文章目录前言一、所用器件(1)STM32F103ZET6(2) MQ_烟雾传感器(3)声音传感器(5)sg90舵机(5)DHT11 温湿度传感器(6)OLED显示屏二、代码分析1.接线2.代码分析3.注意事项总结前言本篇文章用于记录在进行32学习时的一些记录,以便个人回顾,个人能力有限,如有发现错误,欢迎各位大佬指点。一起加油!一、所用器件(1)STM32F103ZET6主控开发板(2) MQ_烟雾传感器通过ADC外设进行数据采集。(3)声音传感器通过外部中断来进行操作。(..

2021-11-01 22:04:52 1532 1

原创 基于框架编写设备驱动

基于框架编写设备驱动前言设备驱动是如何被调用的代码段例程底层驱动应用层小知识点总结前言想要对设备进行读写等操作,首先要求该设备在内核中已经添加了该设备的设备驱动。设备驱动是如何被调用的首先在应用层,用户调用api 比如说 open()应用层 open(); | 产生了一个软中断,由应用层即用户态进入到内核态 中断号 0x80------------------------------------------------------------------内核

2021-11-01 20:43:54 110

原创 单片机实训(2021/7/8~2021/7/16)第二天

@[TOC]()前面的话几经波折,来到这里的第二天晚上遇到了超级大雨,停电了。。。现在一切恢复正常,把前几天的记录都补回来。今日内容实现了用数码管显示数字,并用按键来控制加减。所用器件1、51单片机(带四个按键)(STC15W4K56S4_LQFP64)2、四位显示数码管所需基础知识1、如何代码实现按键加减2、tm1650数码管驱动显示(LED驱动专用电路)3、I2C通信协议TM1650数码管驱动(一)电路原理图驱动介绍(笔者是根据TM1650的开发手册来进行学习的,

2021-07-15 13:49:21 342

原创 单片机实训(2021/7/8~2021/7/16)第一天

@TOC写在前面的话沉寂了这么长时间,我终于回来了。复习周结束了,我又可以继续学我喜欢的东西了。这次的记录和以往不太一样,考完放假后我和系里的一部分同学来到中兴协力实训基地进行了十天的单片机培训。之前已经来过一次,感觉很不错,尤其是培训老师让我久久不能忘~ 老师非常耐心,很专业,上次没和老师合个影太遗憾了,于是这次我又来了。哈哈 ~~这次实训主要是学习单片机的编程以及串口的各种常用的通信协议,我打算将其放在单片机的小专栏里,一是当做留念,二来可以当做笔记回顾,思考。keil(pj版)安装这里本来不

2021-07-08 20:22:00 420 11

原创 Linux内核驱动笔记

后面会进行文字补充

2021-06-18 20:32:36 105

原创 Linux文件系统简单认识学习笔记

Linux文件系统简单认识ReadMe1. 什么是文件系统?2. 文件系统(文件管理系统的方法)的种类有哪些?3. 什么是分区?4. 什么是文件系统目录结构?5. 什么虚拟文件系统Virtual File System ?6. 虚拟文件系统有什么作用?ReadMe此文章全部为学习笔记的摘录。以便于后面学习回顾。1. 什么是文件系统? 常规认知: 根目录 文件系统是操作系统用于明确存储设备组织文件的方法。 以上说的方法:就是文件管理系统(程序),简称文件系统 2. 文件系统(文件管理系统的方

2021-06-15 18:43:01 99

原创 基于树莓派对Linux内核简单认识

基于树莓派对Linux内核简单认识树莓派等芯片带操作系统的启动过程Linux 内核源码Linux 内核源码目录树安装tree命令目录树结构Linux根目录下 \树莓派Linux源码配置 替换内核为什么要配置如何配置**方法实操1****方法实操2**树莓派Linux内核编译安装必要的库:编译内核查看编译是否成功打包zImage文件挂载树莓派sd卡并安装编译出的DIRECTLY 到sd卡插入内存卡数据拷贝安装modules安装更新kernel.img文件查看文件有没有烤坏拷贝其他相关文件更新完成替换内核后

2021-06-14 17:23:33 414 1

原创 Ubuntu挂起再次启动时失败有大佬知道咋回事吗?

之前挂起了虚拟机,现在要启用虚拟机出现了以下问题这里尝试了点击帮助里的支持经过一些列上传之后出现了以下情况之后尝试了所说的WorkStation文件夹运行脚本的方法,但是由于没有找到该文件夹,最后由于急着用,试着直接重启虚拟机结果看样子可以使用了。...

2021-06-14 09:51:25 167

原创 新建一个Linux虚拟机之后需要安装哪些功能

新建一个Linux虚拟机之后需要安装哪些功能以Ubuntu为例安装 vim文本编辑器查看网络配置安装 ifconfig安装 gcc编译工具共享内存这里搭配树莓派的学习进行说明如何查看自己树莓派的版本?以Ubuntu为例安装 vim文本编辑器sudo apt-get install vim(记录一个快捷键 shift + g 跳到最后一行)查看网络配置我用的桥接模式安装 ifconfigsudo apt install net-tools安装 gcc编译工具sudo apt i

2021-06-14 09:50:03 755

原创 基于树莓派 带wiringPi库如何交叉编译

带wiringPi库如何交叉编译 1. 正常我们先要交叉编译wiringPi库,编译出的库适合树莓派,这时候交叉编译可执行程序的试试,链接库的格式也是正确的。 2. 通过-I -L来指定 因为链接的库的格式不对,是宿主机的平台,出现以下错误 arm-linux-gnueabihf-gcc demo2.c -I /home/CLC/lessonPI/WiringPi/wiringPi -lwiringPi /home/CLC/lessonPI/tools-master/arm-b

2021-06-13 17:34:16 143

原创 交叉编译工具链的安装及使用

交叉编译工具链的安装前言工具链的安装安装地址配置环境变量配置环境变量的作用前言在上文中讲了交叉编译工具链,现在再来安装交叉编译工具链,这个工具链是安装树莓派,由树莓派来使用的。打比方说在使用Keil软件的时候,需要选择是C51还是Stm32;这其实就是在选择使用哪一种交叉编译工具链。所以说不同的平台所使用的交叉编译工具链是不一样的。工具链的安装安装地址交叉编译工具链的安装https://github.com/raspberrypi/Tool -> Code -> DownLoa

2021-06-13 09:39:14 1159

原创 交叉编译 概念

交叉编译什么是交叉编译?为什么要交叉编译宿主机与目标机交叉编译需要用到的工具什么是交叉编译?交叉编译是一个动作。交叉编译是在一个平台上生成另一个平台上的可执行代码。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。编译:在

2021-06-12 18:05:18 255 1

原创 Sourceinsight 使用教程

Sourceinsight如何新建一个工程Project file文件框在界面中消失如何查找文件打开之后,中文乱码如何解决一、临时解决方法,只对当前打开有效二、永久解决方法,任何时候打开都有效如何改变字体大小1、文件字体2、Project file框中的字体如何让添加的代码文件之间有关联快捷键如何新建一个工程首先点击New project第一个空是对这个工程起名字第二个空是填写把这个工程放到什么位置(小技巧)一般我们习惯在我们需要添加的文件所在的位置上新建一个文件夹,这样方便后续寻找。以

2021-06-06 10:22:46 1076

原创 树莓派和电脑之间串口通信编程

树莓派和电脑之间串口通信编程串口配置为什么要进行配置什么是调试串口\普通串口串口编程串口配置在前文有说过如何在树莓派上进行串口登录,并进行了相关的配置,那么现在再来进行串口的通信编程。在进行编程之前也需要进行相关的配置:/* 修改 cmdline.txt文件 */>cd /boot/>sudo vim cmdline.txt删除【】之间的部分dwc_otg.lpm_enable=0 【console=ttyAMA0,115200】 kgdboc=ttyAMA0,115200 c

2021-06-05 16:48:11 273

原创 串口通信UART

串口通信UART前言通信方式全双工\半双工串口通信协议串口通信需要配置什么数据格式数据位停止位奇偶校验位波特率前言串口是一种非常通用的设备通信的协议(不要与 通用串行总线Universal Serial Bus(USB)混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的 通信协议;很多GPIB兼容的设备也带有RS-232口。同时, 串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按 字节(byte)的 并行通信

2021-06-03 21:13:33 514

原创 FLASH及其相关知识

FLASH及其相关知识READMEFlash动画什么是FlashFlash动画简单介绍Adobe Flash什么是Adobe Flash支持格式Adobe Flash PlayerFlash插件什么是Flash插件什么是swf什么是插件(plugin)Flash存储芯片什么是Flash存储芯片什么是NVRAMNVRAM概述README这篇文章是答主在查找flash相关资料的时候,在百度百科搜集到的一些资料,进行的汇总,方便一起浏览,对比学习。Flash动画什么是FlashFlash是美国的MAC

2021-05-28 09:02:36 827 1

原创 树莓派外设开发笔记

树莓派外设开发WiringPi1、树莓派的接口2、对于树莓派WiringPi库的一些操作如何查看自己的树莓派是否安装了wiringpi库,指令如下如何在编译代码的时候调用wiringpi库查看树莓派的指针功能wiringPi 库(动态库.so,静态库.a)wiringPi库就是说厂家做了很多接口做了很多API放到这个库里面,叫做Wiringpi库(特定平台,特定功能接口)。WiringPi库包含上层API和底层驱动。标准C库 printf1、树莓派的接口IO口: Input、Output

2021-05-27 21:47:38 157

原创 Linux静态库与动态库

Linux动态库与静态库前言Linux动态库与静态库介绍静态库与动态库的优缺点代码说明静态库演示**静态库的命名规则:****静态库的制作步骤:****静态库的使用:**动态库演示**动态库的命名规则:****动态库的制作步骤:****动态库的使用:**静态库与动态库的使用不同之处前言上一篇文章提到了再写程序的时候会有代码的分专,会按功能等来划分不同的代码块,等到整合的时候会给你这些代码。而在有些时候,在购买厂家的芯片等时,厂家不希望你看到其中的源码。有句话说,代码就相当于程序员的秘密不允许别人观看,程

2021-05-27 00:06:17 215

原创 linux库引入之分文件编程

分文件编程分模块编程的思想Linux分库调用示例原函数代码 caculment.c引入库函数后的代码主函数 calcumentMain.c分装函数代码 calcumentDemo.c分装库函数 calcumentDemo.h编译运行结果为什么要include分模块编程的思想优点:功能划分明确便于调试主函数整洁明了Linux分库调用示例原函数代码 caculment.c#include <stdio.h>int add(int data1,int data2){ ret

2021-05-25 20:43:49 77

原创 用FIlezilla实现树莓派与Windows之间的文件互传

用FIlezilla实现树莓派与Windows之间的文件互传FILEZILLA如何在linux虚拟机中与windows共享文件?使用Filezilla实现树莓派与Windows间的文件互传FILEZILLA之前用虚拟机的时候经常需要实现windows与Linux之间的文件互传,那么树莓派应该怎么办呢?可以用Fillezilla来实现。如何在linux虚拟机中与windows共享文件?小提示如何在linux虚拟机中与windows共享文件?首先安装Vmware Tool找到Ubuntu中点

2021-05-25 08:52:18 440

原创 树莓派vim更新安装(SecureCRT)

将VIM更新到好用的版本默认的源是国外的,apt-get 安装的时候失败,我们更新成国内的源。1、编辑sources.list打开终端 输入sudo nano /etc/apt/sources.list2、用#注释或直接删除原有的内容,并新增一条指令。deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi3、配置完成之后,输入更新指令;更新源。sudo apt

2021-05-24 20:33:30 262

原创 认识树莓派及树莓派登录配置(SecureCRT)

树莓派学习什么是树莓派树莓派展示图在学习树莓派时需要使用到的软件在学习树莓派前的准备工作树莓派刷机树莓派登录**登录方式**Serial串口登录配置(设备破解)SSH网络登录配置如何固定树莓派的IP地址什么是树莓派它是一款 基于ARM的微型电脑主板,以SD卡为内存硬盘,卡片主板周围有两个USB接口和一个网口,可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上, 具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、

2021-05-24 20:33:10 357 1

原创 SecureCRT配合树莓派 使用教程

SecureCRT使用教程如何建立连接串口连接串口配置界面调整终端外观字体串口协议网络连接网络配置界面调整终端外观字体图形方式登录如何建立连接串口连接打开 SecureCRT这里需要提前安装一个USB转TTL驱动需要修改波特率 根据修改树莓派的文档”cmdline.txt“的操作我当时修改的是115200dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 e

2021-05-24 20:27:39 764 1

原创 ARM架构简单认识

什么是ARM架构定义ARM架构,曾称进阶精简指令集机器(Advanced RISC Machine)更早称作Acorn RISC Machine,是一个32位精简指令集(RISC)处理器架构。还有基于ARM设计的派生产品,重要产品包括Marvell的XScale架构和德州仪器的OMAP系列。...

2021-05-24 10:20:08 898 2

原创 Java之 关键字、标识符、常量、数据类型

一、关键字的特点;1、完全小写的字母2、在增强版的记事本中(如Notepad++)有特殊的颜色。//第一行的第三个单词必须和所在文件名完全一样,大小写也要一样。//public class 后面代表定义一个类的名称,类是Java当中所有源代码的基本组织单位。public class HelloWorld{ // 第二行的内容是万年不变的固定写法,代表main方法 //这一行代表程序执行的起点。 public static void main(String[] arg

2021-05-02 23:44:12 196

原创 命令提示符(cmd)的一些常用指令操作

READ ME一般写Java程序可以直接写在记事本里,在cmd里调用Java命令运行,所以先简单学习以下常用的cmd命令。命令提示符(cmd)的一些常用指令操作启动 WIN+R切换盘符 盘符名称:进入文件夹 cd 文件夹名称进入多级文件夹 cd 文件夹1\文件夹2\文件夹3返回上一级 cd ..直接回根路径 cd \查看当前内容 dir清空 cls退出 .

2021-04-27 16:51:24 997 1

原创 eclipse安装教程(2021最新版)超级易懂到吐血

第一步:下载JDK(下载地址)http://www.oracle.com/technetwork/java/javase/downloads/index.html第二步 根据自己电脑的系统,选择相应的版本x64代表64位,x86代表32位。点击相应的JDK进行下载点击之后会出现一个对话框同意之后下载。(记住下载到哪,打开之后一路同意安装即可)记住你把JDK安装到哪里,文件路径不要有中文,不然会无法识别,我安装的时候把JDK装到了F盘第三步:配置环境变量这里解释一下什么是环境.

2021-04-26 10:09:34 166195 70

原创 JAVA初步认识

Java可以分为三个版本:JAVASE、 JAVAEE、 JAVAME简单来说:JavaSE(标准版)就是标准版的java开发版本,与C语言的使用十分类似。JavaEE(企业版)是在JavaSE的基础上增加了一些面向于web服务器的API,可以用来搭建网站。JavaME(微型版)则是面向于嵌入式设备的,用来开发软件等等。认识JRE和JDKJRE又叫做JAVA运行环境,是一个软件。其功能是可以让计算机系统运行Java应用程序,为什么说Java的可以执行比较强,就是因为它,如果在手机上下载了它,

2021-04-26 08:40:18 95

原创 线程(一)

一、线程的基本认识线程与进程进程是程序进行执行时的一个实例,是担当系统分配(CPU时间、内存)的基本单元,在面向线程设计的系统时,进程本身不是执行的基本运行单位,而是线程执行的容器。线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的使劲运作单位,一个进程可以并发多个线程,每条线程执行不同的任务,线程包含了进程内执行环境必需的信息。每个进程都是相互独立的,即使是父子进程,而一个进程的所有信息对于该进程的所有线程都是共享的。线程与进程的区别创建一个进程需要再另外开辟内存空间,而创

2021-04-26 08:04:38 96

原创 Linux指令笔记

**READ ME**这篇文章写下来的初衷主要是记录在学习的过程中遇到的一些对我目前来说不常用的或者容易忘的一些指令,方便日后回顾。data指令 看时间whereis data 看data在Linux中的路径echo指令 export指令 改变环境变量ipcs -m 查看共享内存ipcrm -m id号 删除共享内存kill -l .

2021-04-26 08:03:54 76

原创 函数strcmp strstr strtok fflush popen fread chdir access 的简单介绍

1、strcmp 字符串比较函数原型:int strcmp(const char *s1, const char *s2);头文件:#include <string.h>功能:用来比较两个字符串参数:s1、s2为两个进行比较的字符串返回值:若s1、s2字符串相等,则返回零;若s1大于s2,则返回大于零的数;否则,则返回小于零的数。说明:strcmp()函数是根据ACSII码的值来比较两个字符串的;strcmp()函数首先将s1字符串的第一个字符值减去s2第一个字符,若差值

2021-04-19 00:06:17 193

原创 单片机基础之汇编语言入门学习(十一) 串操作指令 转移指令 处理器控制指令

一、串操作类指令”串“就是内存中一段地址相连的字节或字;串操作,也叫数据块操作;可实现存储器数据间的直接传送;8086有5中基本串操作:MOVS 串传送指令CMPS 串比较指令SCAS 串扫描指令LODS 取串指令STOS 存串指令1.串传送指令 MOVS串传送有2种格式:(1)MOVSB字节传送;把数据段中SI寻址的数据传送到附加段种DI寻址的存储区域中;然后修改SI、DI。MOVSW 字传送(ES:DI)<-(DS:SI)(SI)<-(SI) +/.

2021-04-03 19:06:35 1021

原创 单片机基础之汇编语言入门学习(十) 逻辑运算和移位运算

位操作类指令一、逻辑运算指令有以下五种指令:AND 逻辑”与“指令TEST 测试指令OR 逻辑”或“指令XOR 逻辑”异或“指令NOT 逻辑”非“指令那么什么是位?其实就是我们的二进制 0或者1。一个字节是8位,对于0001 0010来说,如果用16进制表示就是 12H。1、”与“指令 AND格式:AND dest,src;功能: (dest)<-(dest)^(src)src:立即数、通用寄存器、存储器。dest:通用寄存器、存储器两操作数不能同为存储器操作数.

2021-04-03 17:39:16 2126

原创 单片机基础之汇编语言入门学习(九) 算术运算类指令

算术运算类指令包括以下四种指令加法指令减法指令乘法指令除法指令1、加法指令8086具有5条加法指令:ADD 加法指令ADC 带进位加法指令INC 加1指令AAA 加法ASCII调整指令DAA 加法十进制调整指令1.(1)无进位加法指令 ADD指令格式: ADD dest,src;功能:(dest)<-(dest)+(src) src: 立即数,通用寄存器,存储器 dest:通用寄存器,存储器例如: ADD CL,10 ADD DX,SI.

2021-04-03 11:53:01 2598

原创 单片机基础之汇编语言入门学习(八) 数据传送指令

常见的汇编指令可以分为以下六类数据传送指令算术运算指令逻辑运算和移位指令串操作指令转移指令处理器控制指令数据传送类指令包括: 通用传送指令; 累加器专用传送指令 地址传送指令; 标志传送指令;1、通用传送指令①基本传送指令(MOV)指令格式:MOV DST,SRC;源操作数和目的操作数可用前述6种寻址方式的任何一种。操作:将SRC内容付给、、赋给DST。所有通用传送指令都不影响标志位。注意:不能用MOV指令实现以下传递(1)储存器操作数之间不能直接.

2021-04-03 00:47:42 1542

空空如也

空空如也

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

TA关注的人

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