自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python学习笔记

Python学习笔记:开发环境搭建一、Python -- 基础语法二、Python -- 循环语句三、Python -- 字符串四、Python常用数据结构--列表五、Python常用数据结构--元组六、Python常用数据结构--字典七、Python常用数据结构 -- 集合八、Python -- 函数               Python -- 日期时...

2018-10-04 10:46:23 1706 1

原创 利用Eclipse + PyDev 开发第一个Python程序

1、首先启动Eclipse,然后点击 File --> New --> Other (快捷键:Ctrl + N):*********************************************************************************************************************************

2018-01-27 21:55:30 12530 3

原创 2、Eclipse + PyDev 开发python程序

前面安装了Anaconda,可以进行python程序的开发,但是如果要开发大型的python项目,就要采用Eclipse + PyDev的这种方式。下面就开始搭建开发环境: 一、JDK安装 (1)、下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html  到下载页面的最下方,Java

2018-01-27 21:00:58 806

原创 1、Python(Anaconda)集成开发环境搭建

Anaconda里面集成了很多关于python科学计算的第三方库,安装方便。由于接下来要使用开源的Python科学计算库NumPy。所以选择了Anaconda(一个开源的Python发行版本)。 Anaconda安装步骤如下:(1)、到官网下载Anaconda安装包。包含Windows/Mac/Linux三个版本,可以根据自己需要进行选择。 https://www.anaconda...

2018-01-26 21:58:45 7883

转载 FLASH文件系统设计需考虑FLASH固有特性

具体是这样工作的:在对元数据(Metadata,定义文件系统中数据的数据,即数据的数据)做任何改变以前,文件系统驱动程序会向日志中写入一个条目,这个条目描述了它将要做些什么,然后,它继续并修改元数据[6]。由于 NAND Flash 先擦后写的物理特性(写的时候只能由1变成0),NAND Flash一般采用异位更新,即将要更新的数据读入RAM中修改后写入其他空闲空间,在适当的时候擦除修改前数据所在块,修改逻辑地址到新的物理地址映射[2]。(还有体积、功耗、成本因素),显然不适合作为嵌入式设备的存储器。

2023-11-26 08:06:50 93

转载 Flash相关理论知识:SLC与MLC、NOR与NAND FLASH、闪存卡

如果晶体管的源极接地而漏极接位线,在无偏置电压的情况下,检测晶体管的导通状态就可以获得存储单元中的数据,如果位线上的电平为低,说明晶体管处于导通状态,读取的数据为0,如果位线上为高电平,则说明晶体管处于截止状态,读取的数据为1。NAND器件中的坏块是随机分布的。两种闪存都是用三端器件作为存储单元,分别为源极、漏极和栅极,与场效应管的工作原理相同,主要是利用电场的效应来控制源极与漏极之间的通断,栅极的电流消耗极小,不同的是场效应管为单栅极结构,而FLASH为双栅极结构,在栅极与硅衬底之间增加了一个浮置栅极。

2023-11-26 08:03:46 657

转载 Python使用第三方库之【yaml】

【环境】Ubuntu 16.04 LTSPython【正文】1、入门基础Python生态中成千上万的第三方库,yaml就是其中之一。1.1 概念YAML is a human friendly data serialization standard for all programming languages.译作 YAML是一个对所有编程语言都很友好的数据序列化标准YAML,是YAML Ain’t Markup Language的缩写,译作 YAML不是一种标记语言。但为了强调该

2021-04-20 21:14:34 620

原创 深入理解TAILQ队列以及源码分析

TAILQ是linux内核对双向队列操作的一种抽象,能实现操作队列需要的各种操作:插入元素,删除元素,遍历队列等,其封装是对应的宏定义,下面详细说明tailq的操作,从定义,初始化,插入,删除和遍历这几个API来介绍。宏名称 操作 TAILQ_INIT 队列初始化 TAILQ_FOREACH 对队列进行遍历 TAILQ_INSERT_BEFORE 在指定元素前插入元素 TAILQ_INSERT_AFTER 在指定元素后插入元素 TAILQ...

2021-02-09 15:37:39 1547 1

转载 Curl的移植编译以及注意事项

最近需要用curl来发送http请求,遇到了不少问题,查了不少资料,都是零零散散的,现在总结下。 1、移植编译./configure --prefix=$(PWD)/build --host=arm-XXX-linux; make; make install 这步基本都没有问题,生成的动态链接库libcurl.a,可以直接给应用程序去使用。2、API使用 1)全局初始化 curl_global_init(CURL_GLOBAL_ALL); ...

2021-02-05 15:29:55 1244

原创 门禁系统中门磁的工作原理

门磁是用来检测门是否关闭的一个小型感应器,有很多电锁是带了门磁功能的,建议客户如果门禁系统中用到门磁,最好是采购带门磁功能(门状态反馈功能)的电锁。如果电锁没有带门磁功能,可以自行选购门磁,门磁大小比一元硬币略大,价格在几块钱左右。现在市面上常见的暗装式门磁,是不带电线的一端内藏磁铁,带电线的低端内部藏有干簧管等元器件,当磁铁接近时,电线输出闭合信号,当磁铁远离时,两条电线输出开路信号。不带电线的一端装在门的顶部,带电线的一端装在门框上。门关好时,两端正好重叠接近。市面上还有一些门磁是方形的,适用于明装场

2021-01-22 17:23:00 5283 1

转载 四种常见的 POST 提交数据方式

HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行请求行、请求头、消息主体。类似于下面这样:BASH<method> <request-URL> &lt

2020-12-29 15:36:13 288 1

转载 OPENSSL 学习整理-介绍

Openssl目录名以及功能描述 目录名 功能描述 Crypto 存放OpenSSL所有加密算法源码文件和相关标注如X.509源码文件,是OpenSSL中最重要的目录,包含了OpenSSL密码算法库的所有内容。 SSL 存放OpenSSL中SSL协议各个版本和TLS 1.0协议源码文件,包含了OpenSSL协议库的所有内容。 Apps 存...

2020-12-12 10:12:01 355

转载 OPENSSL编程入门学习

相关学习资料http://bbs.pediy.com/showthread.php?t=92649https://www.openssl.orghttps://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CDoQFjAD&url=http%3a%2f%2fidning-ebook%2egooglecode%2ecom%2fsvn%2ftrunk%2fopens

2020-12-12 10:07:21 929 1

转载 WebSocket介绍和Socket的区别

WebSocket介绍与原理WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。一开始的握手需要借助HTTP请求完成。——百度百科目的:即时通讯,替代轮询网站上的即时通讯是很常见的,比如网页的QQ,聊天系统等。按照以往的技术能力通常是采用轮询、Comet技术解决。HTTP协议是非持久化的,单向的网络协议,在建立连接后只允许浏览器向服务器发出请求后,服务器才能返回相应的数据。当需要即时通讯时,通过轮询在特定的时间间

2020-11-02 21:39:34 1726

转载 Makefile中的匹配符%

一、匹配符%Make命令允许对文件名,进行类似正则运算的匹配,主要用到的匹配符是%。比如,假定当前目录下有 f1.c 和 f2.c 两个源码文件,需要将它们编译为对应的对象文件。%.o: %.c等同于下面的写法。f1.o: f1.cf2.o: f2.c使用匹配符%,可以将大量同类型的文件,只用一条规则就完成构建。看到这你可能一头雾水,到底怎么用别急,往下看。二、使用介绍以前不用匹配符%的Makefile这么写:all:test1.o test2.otest1.o:t

2020-09-14 21:13:20 757

转载 shell脚本字符串截取的8种方法

假设有变量 var=http://www.aaa.com/123.htm.1. # 号截取,删除左边字符,保留右边字符。 1 echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm2. ## 号截取,删除左边字符,保留右边字符。 1 echo ${var##*/} .

2020-08-19 17:37:18 351

转载 关于hi3516ev100调试zbar二维码和链接wifi问题

识别二维码是在vpss通道使用海思提供的API接口HI_MPI_VPSS_SetDepth、HI_MPI_VPSS_GetChnFrame来获得图像,并进行二维码识别(这里的二维码是wifi二维码,用于板子和wifi连接的)总体流程如下:在海思进行mpp初始化等一系列初始化之后,在vpss通道获得yuv数据,并调用zbar接口对获得的图形数据进行解析,如果捕捉到含有wifi图片并能成功的进行解析,并将解析到的wifi信息的ssid和psk更新到wifi的配置文件当中(我这里是板端/etc/wpa.conf

2020-08-12 11:14:51 396

转载 libzbar移植到海思平台

1.下载并解压zbar源码包http://zbar.sourceforge.net/download.htmlzbar-0.10.tar.bz2tar -xvjf zbar-0.10.tar.bz22. 编译zbar由于自己是自定义安装到指定目录的,所以先创建一个安装目录,此处我在/opt/hisi-linux/创建了zbar-0.10目录。./configure --prefix=/opt/hisi-linux/zbar-0.10 --host=arm-his...

2020-08-12 11:10:50 596

原创 Linux进程间通信:消息队列

消息队列函数由msgget、msgctl、msgsnd、msgrcv四个函数组成。下面的表格列出了这四个函数的函数原型及其具体说明。1. msgget函数原型 msgget(得到消息队列标识符或创建一个消息队列对象) 所需头文件 #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> 函数说明 .

2020-08-04 16:24:08 175

转载 wpa_supplicant交叉编译

wpa_supplicant 的编译依赖 libnl 库、libssl库,因此需要先编译这两个库。1 libssl编译1.1下载下载链接:https://www.openssl.org/source/下载文件openssl-1.0.2r.tar.gz1.2编译解压文件,进入主目录,使用如下命令编译#mkdir _install#./config no-asm shared --prefix=$PWD/_install --cross-compile-prefix=arm...

2020-07-13 20:28:03 797 7

转载 能ping通ip但无法ping通域名和localhost //ping: bad address ‘www.baidu.com‘

错误描述:~ # ping localhostping: bad address 'localhost'原因,在/etc目录下缺少hosts文件,将linux中的/etc hosts文件拷入即可~ # ping localhostPING localhost (127.0.0.1): 56 data bytes64 bytes from 127.0.0.1: seq=0 ttl=64 time=0.506 ms64 bytes from 127.0.0.1: seq=1 ttl=6

2020-07-06 08:59:07 3646

转载 cJSON 源码分析

JSON入门教程 JSON官方介绍 cJSON源码下载一、cJSON概述cJSON是一个非常轻量的C语言库,构建在ANSI C标准之上,用来解析JSON格式的数据。说其轻量是因为该库只包含了一个头文件和一个源文件,总的代码量不到一千行,源码可以在这里下载。本篇博客对cJSON库源码进行分析,旨在弄懂其实现原理和相关技术。我认为可以从以下三个问题入手: 1. 如何表示JSON数据 2. 如何生成JSON数据 3. 如何解析JSON数据...

2020-06-14 10:45:28 1092 2

转载 linux内核数据结构之kfifo

一、前言  最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的。缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。例如一个进程A产生数据发给另外一个进程B,进程B需要对进程A传的数据进行处理并写入文件,如果B没有处理完,则A要延迟发送。为了保证进程A减少等待时间,可以在A和B之间采用一个缓冲区,A每次将数据存放在缓冲区中,...

2020-04-07 19:41:49 230

转载 【流媒体基础知识】AAC 音频格式详解

1.ADTS是个啥ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式。记得第一次做demux的时候,把AAC音频的ES流从FLV封装格式中抽出来送给硬件解码器时,不能播;保存到本地用pc的播放器播时,我靠也不能播。当时崩溃了,后来通过查找资料才知道。一般的AAC解码器都需要把AAC的ES流打包成ADTS的格式,一般是在AAC ES流前...

2020-03-25 08:57:30 1079

转载 【流媒体基础知识】关于ES、PES、PS以及TS码流

一、根本见解1)ESES--Elementary Streams (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流颠末PES打包器之后,被转换成PES包。ES是只包罗一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频ES的PES,只含音频ES的PES等。每个ES...

2020-03-24 08:49:54 803

原创 【SDL入门教程】1.Windows/Linux下开发环境的搭建

一、SDL简介SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。SDL库分为 Video、Audio、CD...

2020-03-19 20:14:17 975 1

原创 Linux下,程序中怎么配置,才可以自动生成core文件

这个就直接上代码了。#include<stdio.h>#include <sys/time.h>#include <sys/resource.h>#define CORE_SIZE 1024 * 1024 * 500int core_file_start(){ struct rlimit rlmt; if (getrl...

2020-03-17 08:51:06 661

转载 Linux下gdb调试生成core文件并调试core文件

1.什么是core文件?有问题的程序运行后,产生“段错误 (核心已转储)”时生成的具有堆栈信息和调试信息的文件。编译时需要加 -g 选项使程序生成调试信息: gcc -g core_test.c -o core_test2.怎样配置生成 core 文件(1)core文件开关①使用 ulimit -c 查看core开关,如果为0表示关闭,不会生成core文件;②使用...

2020-03-16 18:33:29 377

转载 Linux生成core文件、core文件路径设置

一、设置core文件大小列出所有资源的限制:ulimit -a或者查看core file size:ulimit -ccore file size:unlimited:core文件的大小不受限制0:程序出错时不会产生core文件1024:代表1024k,core文件超出该大小就不能生成了设置core文件大小:ulimit -c fileSize注意:尽量将这...

2020-03-16 18:30:32 3029

原创 【FFMPEG】7. ffmpeg命令提取音视频数据

一、保留封装格式1. 保留原始的视频流封装格式ffmpeg -i test.mp4 -acodec copy -vn audio.mp42.保留原始的音频流封装格式ffmpeg -i test.mp4 -vcodec copy -an video.mp4二、提取视频1.保留编码格式ffmpeg -i test.mp4 -vcodec...

2020-03-08 21:34:14 1991

原创 【FFMPEG】6. ffmpeg命令参数说明

一、主要参数◼ -i 设定输入流◼ -f 设定输出格式(format)◼ -ss 开始时间◼ -t 时间长度二、音频参数:◼ -aframes 设置要输出的音频帧数◼ -b:a 音频码率◼ -ar 设定采样率◼ -ac 设定声音的Channel数◼ -acodec 设定声音编解码器,如果用copy表示原始编解码数据必须被拷贝。◼ -an 不处理音频◼ -af 音频过滤器...

2020-03-08 20:42:28 3740

原创 【FFMPEG】5. ffplay播放控制

2020-03-08 14:56:56 532

原创 【FFMPEG】4. ffmpeg命令分类查询

1. ffmpeg -version2.ffmpeg -buildconf3.ffmpeg -formats分页显示:ffmpeg -formats | more使用ffmpeg转码,有时候可能遇到无法解析的视频文件或者无法生成的视频文件,报错提示不支持生成对应的视频文件,这个时候就需要查看当前使用的ffmpeg是否支持对应文件的视频格式,需要使用ffmpeg ...

2020-03-08 14:54:37 265

原创 【FFMPEG】3. ffmpeg音视频处理流程

-i:指定输入文件;demuxer:解复用;即将音视频分离出来,上图中的视频流是AVC(H264)格式,音频流是AAC格式。decoder:解码器;filter:帧处理,这里将原始1920*1080转换为1280*720encoder:编码器,这里是H265的视频格式muxer:复用,将音频和视频同步进行同步。注:-acodec copy,说明音频采...

2020-03-08 08:28:30 588

原创 【FFMPEG】2. 如何查看帮助文档

在讲如何查看帮助文档之前,先介绍下ffmpeg/ffplay/ffprobe区别。ffmpeg: Hyper fast Audio and Video encoder 超快音视频编码器(类似爱剪辑)ffplay: Simple media player简单媒体播放器ffprobe: Simple multimedia streams analy...

2020-03-08 08:11:06 621

原创 【FFMPEG】1. Windows中ffmpeg命令行环境的搭建

一、FFMPEG下载首先去FFMPEG官网下载编译好的包。按如下方式下载。二、拷贝可执行文件到C:\Windows三、拷贝动态链接库到C:\Windows\SysWOW64四、打开cmd命令行窗口输入ffmpeg -version测试,打印版本号4.0.2即可。五、测试...

2020-03-07 23:15:09 635

原创 《QT学习笔记 —— 18. QT中定时器的使用》

定时器是用来处理周期性事件的一种对象,类似于硬件定时器。例如设置一个定时器的定时周期为 1000 毫秒,那么每 1000 毫秒就会发射定时器的 timeout() 信号,在信号关联的槽函数里就可以做相应的处理。Qt 中的定时器类是 QTimer。QTimer 不是一个可见的界面组件,在 UI 设计器的组件面板里找不到它下面通过一个实例来了解定时器的使用。实例主要功能是实现每隔1S触发一次定时器...

2020-02-15 10:54:06 767

转载 《QT学习笔记 —— 17. QT中消息处理机制和事件处理方式》

1、图形界面应用程序的消息处理模型特点:基于操作系统才能运行;GUI应用程序提供的功能必须由用户触发;用户操作界面时操作系统是第一个感知的 ;系统内核的消息通过事件处理转变成QT的信号。2. Qt中的事件处理(1)在Qt中,事件被封装成一个个对象,所有的事件均继承自抽象类QEvent. 事件处理的核心包括事件产生、分发、接受和处理。①事件的产生问题:谁来产生事件?...

2020-02-15 09:05:37 262

原创 《QT学习笔记 —— 16. QT中自定义控件》

在搭建Qt窗口界面的时候,在一个项目中很多窗口,或者是窗口中的某个模块会被经常性的重复使用。一般遇到这种情况我们都会将这个窗口或者模块拿出来做成一个独立的窗口类,以备以后重复使用。在使用Qt的ui文件搭建界面的时候,工具栏栏中只为我们提供了标准的窗口控件,如果我们想使用自定义控件怎么办?下面通过一个实例实现自定义控件先创建好一个工程,工程的创建可以参考《QT学习笔记 —— 2. 使用向...

2020-02-14 17:00:38 265

原创 《QT学习笔记 —— 15. QT中消息对话框和文件对话框》

一、消息对话框在实际的程序开发过程中,经常会用到各种各样的消息框来为用户提供一些提示或提醒,Qt提供了QMessageBox类用于实现此功能。常用的消息对话框包括 Question 消息框、Information 消息框、Warning 消息框、Critical 消息框、About(关于)消息框、Custom(自定义)消息框。这些消息框通常包含为用户提供一些提醒或一些简单询问用的一个图标、...

2020-02-14 09:49:43 268

ChangeWin.zip

QT中通过自定义信号的方式实现两个窗口的切换。实现这样一个功能,当点击主窗口中的按钮后,主窗口自己隐藏并显示子窗口;当点击子窗口中的按钮后,子窗口自己隐藏并显示主窗口。

2020-02-07

空空如也

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

TA关注的人

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