自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python之网络编程

一、套接字套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。它们允许程序接受并进行连接,如发送和接受数据。为了建立通信通道,网络通信的每个端点拥有一个套接字对象极为重要。套接字为BSD UNIX系统核心的一部分,而且他们也被许多其他类似UNIX的操作系统包括Linux所采纳。许多非BSD UNIX系统(如ms-d

2015-04-30 15:33:37 1266

原创 Python之异常处理

一、什么是异常?异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,在Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。二、异常处理捕捉异常可以使用try/except语句。try/except语句用来检测try语句块中的错误,从而让ex

2015-04-30 11:34:08 1228 1

原创 python之类方法的重载

Python类的特殊方法Python 类可以定义专用方法,专用方法是在特殊情况下或当使用特别语法时由 Python 替你调用的,而不是在代码中直接调用(象普通的方法那样)。.1    __init__类似于构造函数#!/usr/local/bin/pythonclass Study:        def __init__(self,name=None):       

2015-04-29 15:23:17 11570

转载 Python之类(Class)的学习

定义Python 的 Class 比较特别,和我们习惯的静态语言类型定义有很大区别。1. 使用一个名为 __init__ 的方法来完成初始化。2. 使用一个名为 __del__ 的方法来完成类似析购操作。3. 所有的实例方法都拥有一个 self 参数来传递当前实例,类似于 this。4. 可以使用 __class__ 来访问类型成员>>>>>> class MyCl

2015-04-29 15:03:24 695

原创 gdb调试之重要命令

一、GDB改变程序的执行一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。修改变量值修改被调试程序运行时的变量值,在GDB中很容易实现,使用GDB的print命令即可完成。如: (gdb) print

2015-04-27 19:06:15 777

转载 gdb调试命令

第一部分牛刀小试:启动GDB开始调试GDB中的命令可以分为八类:别名(aliases)、断点(breakpoints)、数据(data)、文件(files)、内部(internals)、隐含(obscure)、运行(running)、栈(stack)、状态(status)、支持(support)、跟踪点(tracepoints)和用户自定义(user-defined)。he

2015-04-27 18:52:32 848

转载 常用技术网站

http://sourceforge.net/开源软件开发者进行开发管理的集中式场所,也是全球最大开源软件开发平台和仓库http://www.oschina.net/目前中国最大的开源技术社区http://www.kernel.org/Linux内核官网http://www.linuxeden.com/24小时滚动更新开源资讯http://g

2015-04-27 17:00:18 519

转载 gdb查看内存地址和栈中的值

gdb查看指定地址的内存地址的值:examine 简写 x-----使用gdb> help x 来查看使用方式     x/ (n,f,u为可选参数) n: 需要显示的内存单元个数,也就是从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义 f:显示格式               x(hex) 按十六进制格式显示变量。               d(decima

2015-04-27 16:48:22 1891

原创 栈让我用完了

问题:从事一个项目的开发已经好几个月了,多了一个模块就task_create()一下。昨天当我将串口的代码加入到项目工程文件中进行编译的时候,(还没有调用串口驱动程序,知识初始化一下),但是导致的结果是程序运行不是预期的效果。解决方法:靠人品本来想从系统的__start处,彻底的想追踪一下代码的运行情况,但是我潜意识告诉我,随便从app层来下个断点试试,我就在不同的任务创建处,

2015-04-16 17:01:15 1146

原创 python之文件的读写和文件目录以及文件夹的操作

为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用的文件对象占用内存。举个例子,对文本文件读取:file_object = open('thefile.txt') try: all_the_text = file_object.read( ) finally: file_object.close( )Python读写

2015-04-16 10:52:38 64362 1

原创 UART和RS232、RS485的基础知识

UART和RS232、RS485的关系:  通讯问题,和交通是一样的。串口通信,我们这里可以用公交来类比。       公交运行可以简单分成两个部分:       1、车站       2、公路       其中车站决定了车上装什么(人),怎么发送(班次)等。       当汽车跑在路上,就要遵守公路交通的规则,过桥有过桥的规则,高速有高速的规则,和车站没有关系

2015-04-15 10:08:05 27940 4

转载 UART接口

本文转自:http://blog.chinaunix.net/uid-24148050-id-170849.html1.UART    UART(Universal Asynchronous Receiver and Transmitter)通用异步收发器(异步串行通信口),是一种通用的数据通信协议,它包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和

2015-04-14 19:32:10 1210

原创 C语言getopt()函数

相关函数表头文件         #include定义函数         int getopt(int argc,char * const argv[ ],const char * optstring);函数说明该函数的argc和argv参数通常直接从main()的参数直接传递而来。optstring是选项字母组成的字串。如果该字串里的任一字符后面有冒号,那么这个选项

2015-04-13 16:16:50 1524

转载 在Linux中使用matplotlib进行科学画图

如果你想要在Linxu中获得一个高效、自动化、高质量的科学画图的解决方案,应该考虑尝试下matplotlib库。Matplotlib是基于python的开源科学测绘包,基于python软件基金会许可证发布。大量的文档和例子、集成了Python和Numpy科学计算包、以及自动化能力,是作为Linux环境中进行科学画图的可靠选择的几个原因。这个教程将提供几个用matplotlib画图的例子。特性

2015-04-10 11:37:54 3225

转载 matplotlib绘制动画的示例

matplotlib绘制动画的示例matplotlib从1.1.0版本以后就开始支持绘制动画下面是几个的示例:第一个例子使用generator,每隔两秒,就运行函数data_gen:# -*- coding: utf-8 -*- import numpy as npimport matplotlib.pyplot as pltimport matplotlib.an

2015-04-10 10:08:48 834

原创 使用matplotlib绘制图表

我们先来看什么是Figure和Axes对象。在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个,或者多个Axes对象。每个Axes对象都是一个拥有自己坐标系统的绘图区域。其逻辑关系如下:                                                       以下整个图像是fig对象。我们的绘图中只有一个坐标系

2015-04-09 18:17:03 3082

转载 linux下安装numpy and matplotlib

安装numpy相对简单,以下命令可以完成 apt-get install python-numpyapt-get install python-scipy安装matplotlib相对复杂一些需要先安装其依赖的包libpng和freetype安装libpng: sudo apt-get install libpng-dev安装freetype: cd ~/D

2015-04-09 13:43:20 3590

转载 Modbus通讯协议

Modbus协议 Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控

2015-04-08 18:43:19 741

转载 ModBus通讯协议简介

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

2015-04-08 18:25:15 1146

转载 gcc编译器 CFLAGS 标志参数说明

CFLAGS = -g -O2  -Wall -Werror -Wno-unused 编译出现警告性错误unused-but-set-variable,变量定义但没有使用,解决方法: 增加CFLAGS 或CPPFLAGS参数如下:  CPPFLAGS=" -Werror -Wno-unused-but-set-variable" || exit 1         

2015-04-07 15:13:51 1744

转载 dup和dup2函数

在linux下,通过open打开以文件后,会返回一个文件描述符,文件描述符会指向一个文件表,文件表中的节点指针会指向节点表。看下图:                                                                                                                                  

2015-04-03 18:19:52 585

转载 mount 函数

本文转自:http://blog.csdn.net/ypist/article/details/8181766当我们在Linux系统的板子上挂载U盘时,会出现,原本在windows上显示正常的文件名,在Linux下全部显示为问号?. 如果需要显示出中文,需要使用uft8模式挂载U盘。  解决中文字符显示问号的方法:  mount /dev/sdb4 /mnt/ho1 -o

2015-04-03 16:12:26 9623

原创 linux下使用优盘的方法

步骤如下:root@debian:/home# fdisk -l   Device Boot      Start         End      Blocks   Id  System/dev/sdc1            8064    15646719     7819328    b  W95 FAT32root@debian:/home# mount

2015-04-03 15:34:05 774

转载 ftok()函数

系统建立IPC通讯(如消息队列、共享内存时)必须指定一个ID值。通常情况下,该id值通过ftok函数得到。ftok原型如下:key_t ftok( char * fname, int id )fname就时你指定的文件名,id是子序号。在一般的UNIX实现中,是将文件的索引节点号取出,前面加上子序号得到key_t的返回值。如指定文件的索引节点号为65538,换算成16进

2015-04-03 15:02:18 934

转载 linux select函数用法

select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,对应的FILE *结构的表示就是stdin、stdout、stderr。       int select(

2015-04-03 14:41:44 1212

原创 ioctl函数详解

大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件控制的能力。一、在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,unsigned long cmd,...);/*fd:文件描述符cmd:控制命令...:可选参数:插入*argp,具体内容依赖于cmd*/用户程序所作的只是通过命令码告诉驱动程序它想做什么,至于怎么解释这些

2015-04-03 10:23:56 10337

原创 fstat、stat和lstat用法

stat系统调用系列包括了fstat、stat和lstat,它们都是用来返回“相关文件状态信息”的,三者的不同之处在于设定源文件的方式不同。首先介绍的是一个非常重要的结构体类型,名字叫做struct stat。可以说,没有这个struct stat的支持,上述三个系统调用将寸步难行。这个struct stat结构体在不同的UNIX/Linux系统中的定义是有小的区别的,但你完全不用担心,这并不会影

2015-04-03 09:44:14 3695

转载 Linux "零拷贝" sendfile函数

Sendfile函数说明#include ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count);sendfile()是作用于数据拷贝在两个文件描述符之间的操作函数.这个拷贝操作是内核中操作的,所以称为"零拷贝".sendfile函数比起read和write函数高效得多,因为read和write是要把

2015-04-02 17:25:14 4999

转载 fstatfs/statfs详解

【fstatfs/statfs系统调用】#include     /* 或者 */ int statfs(const char *path, struct statfs *buf); int fstatfs(int fd, struct statfs *buf); 功能描述:查询文件系统相关的信息。参数:   path: 位于需要查询信息的文件系统的文

2015-04-02 17:00:00 1729

转载 Linux文件系统简介02

本文转自:http://www.iteye.com/topic/8162681.Linux磁盘分区和目录   Linux发行版本之间的差别很少,差别主要表现在系统管理的特色工具以及软件包管理方式的不同。目录结构基本上都是一样的。 Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如:C,D,E,F等。Linux的文件结构是单个的树状结构.可以用tree进行

2015-04-02 15:56:16 529

转载 Linux文件系统01

本文转自:http://blog.csdn.net/dog250/article/details/6347504/总论:linux的文件系统设计非常优秀,总的来讲有两大部分,第一部分就是树形的组织结构,第二部分就是vfs,树形的组织结构组织了文件系统的表象,用户很方便的使用,而vfs是文件系统的实现机理,它处于内核态,不但实现了树形结构的mount机制,而且还提供了一个统一的接口用来访

2015-04-02 15:33:45 463

转载 Python标准库——走马观花

作者:Vamei 出处:http://www.cnblogs.com/vameiPython有一套很有用的标准库(standard library)。标准库会随着Python解释器,一起安装在你的电脑中的。它是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让编程事半功倍。 我将根据我个人的使用经验中,挑选出标准库三个方面的包(package)介绍

2015-04-01 14:22:08 688

转载 Python补充05 字符串格式化

作者:Vamei 出处:http://www.cnblogs.com/vamei在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出。Python中内置有对字符串进行格式化的操作%。 模板格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式。Pyt

2015-04-01 14:07:30 538

转载 Python补充03 Python内置函数清单

作者:Vamei 出处:http://www.cnblogs.com/vameiPython内置(built-in)函数随着python解释器的运行而创建。在Python的程序中,你可以随时调用这些函数,不需要定义。最常见的内置函数是:print("Hello World!")在Python教程中,我们已经提到下面一些内置函数:基本数据类型 type()

2015-04-01 13:35:43 497

转载 Python补充02 Python小技巧

import模块在Python经常使用import声明,以使用其他模块(也就是其它.py文件)中定义的对象。1) 使用__name__当我们编写Python库模块的时候,我们往往运行一些测试语句。当这个程序作为库被import的时候,我们并不需要运行这些测试语句。一种解决方法是在import之前,将模块中的测试语句注释掉。Python有一种更优美的解决方法,就是使用__name

2015-04-01 13:25:37 607

转载 Python补充01 序列的方法

作者:Vamei 出处:http://www.cnblogs.com/vamei在快速教程中,我们了解了最基本的序列(sequence)。回忆一下,序列包含有定值表(tuple)和表(list)。此外,字符串(string)是一种特殊的定值表。表的元素可以更改,定值表一旦建立,其元素不可更改。 任何的序列都可以引用其中的元素(item)。 下面的内建函数(built

2015-04-01 13:23:10 547

转载 Python进阶09 动态类型

作者:Vamei 出处:http://www.cnblogs.com/vamei动态类型(dynamic typing)是Python另一个重要的核心概念。我们之前说过,Python的变量(variable)不需要声明,而在赋值时,变量可以重新赋值为任意值。这些都与动态类型的概念相关。 动态类型在我们接触的对象中,有一类特殊的对象,是用于存储数据的。常见的该类对象包括各

2015-04-01 11:17:47 476

转载 Python进阶08 异常处理

异常处理在项目开发中,异常处理是不可或缺的。异常处理帮助人们debug,通过更加丰富的信息,让人们更容易找到bug的所在。异常处理还可以提高程序的容错性。我们之前在讲循环对象的时候,曾提到一个StopIteration的异常,该异常是在循环对象穷尽所有元素时的报错。我们以它为例,来说明基本的异常处理。一个包含异常的程序:re = iter(range(5))for i

2015-04-01 11:01:13 531

转载 Python进阶07 函数对象

作者:Vamei 出处:http://www.cnblogs.com/vamei秉承着一切皆对象的理念,我们再次回头来看函数(function)。函数也是一个对象,具有属性(可以使用dir()查询)。作为对象,它还可以赋值给其它对象名,或者作为参数传递。 lambda函数在展开之前,我们先提一下lambda函数。可以利用lambda函数的语法,定义函数。lambda

2015-04-01 10:46:53 461

转载 Python进阶06 循环对象

作者:Vamei 出处:http://www.cnblogs.com/vamei这一讲的主要目的是为了大家在读Python程序的时候对循环对象有一个基本概念。循环对象的并不是随着Python的诞生就存在的,但它的发展迅速,特别是Python 3x的时代,循环对象正在成为循环的标准形式。 什么是循环对象循环对象是这样一个对象,它包含有一个next()方法(__next

2015-04-01 10:11:46 523

空空如也

空空如也

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

TA关注的人

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