自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (3)
  • 收藏
  • 关注

原创 qt kde gtk gnome xlib x11之间的关系

##基本概念

2018-11-09 09:48:40 2303

转载 Ethercat解析(五)之初始化流程

一、EtherCAT入口 源代码执行命令sudo /etc/init.d/ethercat start,将会从文件module.c文件中的ec_init_module函数中开始往下执行初始化流程。二、初始化大致过程(1) ec_init_module 主要用于生成/dev/EtherCAT设备,并且调用ec_master_init初始化主机相关信息。ec_master...

2018-09-03 16:58:08 4474

转载 Ethercat解析(四)主站运行阶段

由主站驱动提供的EtherCAT主站可运行在如下图中几个阶段:孤儿阶段:主站等待以太网连接。空闲阶段:主站已经连接了以太网,但是应用空间没有对主站请求。在此阶段,主站会自动扫描从站总线并等待应用空间的操作。在此阶段,命令行工具可以访问总线,但是由于缺少总线配置,不能进行过程数据的交换。可操作阶段:主站被应用层请求,此时可对总线进行配置也可进行过程数据的交换...

2018-09-03 16:49:17 1030

转载 Ethercat解析(三)之命令行工具的使用

说明:EtherCAT为了方便用户空间对主站进行调试,因此提供一套用户空间使用的工具来设置从站参数,观察调试信息等等。正常情况下,每个主站的实例都会生成一个字符设备,名字为:/dev/EtherCATx。欲想深入了解其他命令,可通过执行ethercat –help命令来查看详细使用方法。下面具体的介绍了一下各参数及命令的使用,其中[ ]中为必选参数,< >为可选参数。1...

2018-09-03 16:42:43 5508 3

转载 Ethercat解析(二)之基础答疑

(1) 为什么要将EtherCAT主站整合在内核空间?答:一方面考虑到内核空间相比于用户空间函数的延迟时间短且内核空间可直接操控硬件;另一方面,由于主站大多是周期工作,而内核定时器执行周期工作较为精准。 EtherCAT-1.5.2理论上支持任何实时性(rtai,xenomai)或者非实时内核(linux-2.6以上的版本)(2) EtherCAT本地化网卡与通用网卡优劣分析答...

2018-09-03 16:29:04 2430

原创 Etherlab解析(一)之获取、编译、安装(Ubuntu14.04)

前言:EtherCAT(以太网控制自动化技术)是一个开放架构,以以太网为基础的现场总线系统,其名称的CAT为控制自动化技术(Control Automation Technology)字首的缩写。EtherCAT是确定性的工业以太网,最早是由德国的Beckhoff公司研发。优势:免费、开源、稳定性能良好、支持实时扩展。 环境:Ubuntu14.04 一、获取(1) 从EtherC...

2018-09-03 16:25:40 2556

原创 Linux 库的使用

1 基本概念1.1 什么是库  一种可执行代码的二进制形式,可以被操作系统载入内存执行。 1.2 库的种类  静态库:静态库的代码在编译过程中已经被载入可执行程序,因此体积较大。  动态库:可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小。 1.3 库的命名  静态库的名字一般为libxxxx.a,其中 xxxx 是该lib的名称。  动态库的名字一般为l...

2018-08-28 00:16:37 260

原创 git简单使用

1.windows下安装git1.1下载原文件并安装git服务端下载 git客户端下载1.2生成SSH密钥右键鼠标,选中 “Git Bash here”,打开git终端: 输入如下指令,然后一路回车生成密钥。ssh-keygen -t rsa -C "your_email@example.com"查看密钥生成 1.3添加密钥

2018-08-24 15:27:55 210

原创 Linux内核进程睡眠和唤醒

对于 TASK_INTERRUPTIBLE 和 TASK_UNINTERRUPTIBLE 补充说明一下: 值 含义 状态 TASK_RUNNING 可执行状态(执行状态、执行等待状态)。 执行态或就绪态 TASK_INTERRUPTIBLE 可打断睡眠,可以接受信号并被唤醒,也可以在等待条件全部达成后被显式唤醒(比如wake_up()函数)。 ...

2018-08-22 17:22:36 3985

转载 linux内核中list用法

                                      

2018-08-16 14:42:08 4258

原创 Linux内核同步方法

当多个进程、线程或中断、正常用户程序同时访问同一个资源,可能导致错误,因此内核需要提供并发控制机制,对公共资源的访问进行同步控制,确保共享资源的安全访问。 linux中包含了众多的互斥与同步机制,包括信号量、互斥体、自旋锁、原子操作、读写锁等。在讨论之前我们引入几个概念: 进程上下文:应用程序陷入内核运行时所处的内核环境。 中断上下文:中断服务程序执行时所处的内核环境。 ...

2018-08-16 14:07:13 797

转载 为什么linux内核函数出现错误,返回值是一个负数

该疑问出现与我看《linux内核设计与实现》这本书的12.3.2这节中下面一段代码:page = __get_free_pages(GFP_KERNEL,3);if (!page){ /*没有足够的内存:你必须处理这种错误!*/ return -ENOMEM; }1.如何理解函数返回指针内核中的函数通常以返回指针的形式来传递调用函数后执...

2018-08-15 15:51:47 2319

转载 为什么在宏定义中会用到do-while(0)

宏定义中使用do{}while(0)的好处1 空的宏定义避免warning:#define foo() do{}while(0)2 存在一个独立的block,可以用来进行变量定义,进行比较复杂的实现。3 如果出现在判断语句过后的宏,这样可以保证作为一个整体来是实现:#define SAFE_DELETE(p) do{ delete p; p = NULL} whil...

2018-08-15 11:46:13 617

转载 C++中Operator类型强制转换成员函数解析

转换函数定义了由<类型说明符1>到<类型说明符2>之间的映射关系。可见,转换函数是用来将一种类型的数据转换成为另一种类型类型转换操作符(type conversion operator)是一种特殊的类成员函数,它定义将类类型值转变为其他类型值的转换。转换操作符在类定义体内声明,在保留字 operator 之后跟着转换的目标类型。转换函数又称类型强制转换成员函数,...

2018-07-17 14:16:45 2667

转载 Vmware虚拟机三种网络模式详解

原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 我怕链接会失效,故转载此篇文章由于Linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有vmware ...

2018-04-27 15:50:56 154

原创 android Ble通信

你好

2017-12-18 14:27:10 630

原创 android camera2 拍照流程

正文camera2 API 的加入是从AndroidV5.0(21)开始的,因此我们使用Camera2应该是在Android 5.0(含5.0)之后。同时,对于Android6.0我们需要有动态权限的管理。这两点应该是使用Camera2使用前的最基本认知。Android 5.0对拍照API进行了全新的设计,新增了全新设计的Camera v2 API,这些API不仅大幅提高了Android系统拍照的功

2017-12-04 16:22:08 4880 2

原创 抽象类与接口区别

看到这个问题,自己想起来以前痛苦的学习过程。简单的回答一下。接口和抽象类之间有没有区别?可以肯定的回答:有区别。那既然有区别,我们不妨带着疑问去探索一下,语言设计者们在设计接口和抽象类时为什么要设计出区别,他们的目的何在。编程语言的设计其实也是一门哲学。首先接口和抽象类的设计目的就是不一样的。接口是对动作的抽象,而抽象类是对根源的抽象。对于抽象类,比如男人,女人这两个类,那我们可以为这

2017-11-30 14:17:53 179

转载 Android模拟器Genymotion安装使用教程详解

一、注册\登录打开Genymotion官网,https://www.genymotion.com/ ,首先点击右上角的Sign in进行登录操作。如何登录就不细讲了,下面讲一下如何注册(备注:注册按钮在登录界面中)。注册如果没有账号,则需要先注册。在登录界面,点击Create an account按钮打开注册界面。注册界面如下:(使用谷歌浏览器翻译后

2017-11-16 19:50:59 282

转载 变量命令规则

变量命名规范本节内容主要参考自代码大全(第二版)1、变量命名的注意事项变量命名最关键的一点就是:名字要能准确的描述出该变量所代表的事物 变量名长度最好控制在10~16个字符之间 对位于全局命名空间中的名字加以限定词,并且应该一般加在后面 常见的限定词:Total, Sum, Average, Max, Min, Record, String, Pointer Num比较特殊,...

2017-11-07 17:24:03 704

转载 QT5帮助文档使用

学习图形界面开发,肯定离不开帮助文档的使用,因为它不像 C 语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必要去记,用到什么就去帮助文档查看用法。我们使用 Qt 帮助文档,主要分为这么几步:1)类使用的相关介绍2)查看所用部件(类)的相应成员函数(功能,参数,返回值)3)查看部件的信号4)查看部件的事件(所对应的

2017-10-16 11:02:11 896

原创 TortoiseSVN 安装及使用

TortoiseSVN是windows平台下Subversion的免费开源客户端。     一般我们都是先讲讲服务器的配置,然后再讲客户端的使用,但是在TortoiseSVN上,却可以反过来。因为,如果你的要求不高,只是想在本机,或者是可信任的局域网络中使用SVN版本控制,可以不需要安装VisualSVN Server,而只使用TortoiseSVN即可。一.接下来就来讲讲Tort

2017-10-11 15:51:49 367

原创 将CPP文件移植成C文件方法和注意的问题

一:将类转换为结构体第一步:将类当中的所有变量转换为结构体变量(结构体变量公有访问)// 映射点class CMappingPoint{public:    __int64        m_nCoordinate;            //     __int64        m_nMeasurement;            //};转换后typedef str...

2017-10-11 15:42:25 6948

转载 QT中QWidget、QDialog及QMainWindow的区别

QT中QWidget、QDialog及QMainWindow的区别    QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。     QMainWindow 类提供一个有菜单条、锚接

2017-10-11 15:30:50 331

转载 C++继承:公有,私有,保护

C++继承:公有,私有,保护公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。1. 公有继承(public)公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。2. 私有继承(private)私有继承的特点是基类的公有成员和保护成员都...

2017-10-11 15:18:36 221

原创 使用QT调试ROS工程

配置qt环境,调试ros工程1. 向Qt Creator里添加工程从 Dash home 里启动Qt Creator,将看到下面的Welcome界面:  这里我们导入 dgps_ros 包,使之成为Qt Creator的C++工程。点击 Open Project 按钮,在弹出的对话框中选择 /home/ros/ros-project/dgps/src/dgps_ros/路径下的 ...

2017-10-11 14:49:25 5403

原创 ROS系统下创建msg与srv文件过程

1. 创建msg和srv文件1.介绍msg和srv文件msg:msg文件是简单的文本文件,描述ROS的字段信息,他们是用于在不同的语言生成源代码信息。srv:srv文件描述一个服务。它是由两部分组成:一个请求和一个响应。2.msg常用类型boolint8, int16, int32, int64 (plus uint*) float32, float64 str

2017-10-11 14:45:58 1410

原创 ubuntu14.04 安装ros 开发环境

#!/bin/bash#    一:ubuntu14.04.1安装ROS 开发环境 if false; then    echo "第一步:配置source.list文件"    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sourc

2017-10-11 14:16:24 912

QT5.12Samp2019.zip

Qt5.12 c++开发指南配套资源 Qt5.12 c++开发指南配套资源 Qt5.12 c++开发指南配套资源 Qt5.12 c++开发指南配套资源 Qt5.12 c++开发指南配套资源

2020-01-08

CE6.0 TMP122流驱动

s5pv210 ce6.0系统一个温度传感器tmp122的流驱动程序,已调试OK,只需修改注册表和BIB文件就可用了

2013-07-09

串口应用测试程序

绝对好用的Wince 6.0平台下串口测试应用程序-Wince 6.0 the absolute-to-use platform for applications under the serial test

2013-07-09

空空如也

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

TA关注的人

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