自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

打滚dě土豆 专栏

其实什么也不懂,什么也不会。。。

  • 博客(83)
  • 资源 (16)
  • 收藏
  • 关注

转载 SAE J1939学习笔记(五)

请求PGN    对于特定目标地址的请求,目标地址必须做出响应。如果目标地址不支持请求的PGN,也必须发出一个NACK 的响应以表明它不支持该PGN。有些PGN 是多包的,因此一个单帧请求的响应可能有多个CAN 数据帧。如果是全局请求,当一个节点不支持某个PGN 时,不能发出NACK 响应。附:

2014-04-26 23:18:05 5273 3

转载 SAE J1939学习笔记(四)

多包通信1.pgn60416 – ConnectionManagement2.pgn60160 – Data Transfer3.举例Note:The Data Packets may not follow immediately after the Broadcast message1)管理包解释2)数据包解释

2014-04-26 23:15:53 6407

转载 SAE J1939学习笔记(三)

J1939故障代码种类J1939 由几个不同的诊断信息:   –诊断信息 1 - DM1 – 现行故障代码   –诊断信息 2 - DM2 – 非现行故障代码   –诊断信息 3 - DM3 – 清除非现行故障代码通常地,用户会用 DM1 信息来读取现行故障码。DM1 信息是 PGN 65226 or FECAh。相关的信息请参考J1939-73标准。PGN 65226

2014-04-26 20:18:42 26944 4

转载 SAE J1939学习笔记(二)

特殊的J1939信息(车辆控制)>pgn0 - TSC1>pgn65226 -DM1>pgn60160 & pgn60471 – TP.BAMpgn0 - TSC1   扭矩/速度控制TSC1 允许三种方式控制发动机:  - 扭矩控制 (0% -> 100%)  - 速度控制 (低怠速 ->高怠速)  - 扭矩/速度限制(两者之中的低

2014-04-26 20:14:16 11445 1

转载 SAE J1939学习笔记(一)

1.总线布局2.差分信号线J1939 通讯传输的是一系列的“1”或“0” 。 1 代表在J1939(+)与J1939(-)之间是高电压差。0 代表在J1939(+)与J1939(-)之间是低电压差250K波特率时,在J1939高、低导线间的电压从0到1每秒变化250K次是可能的。用一个高频示波器可以看到此电压变化。

2014-04-26 20:00:39 11992 11

转载 关于shutdown 和closesocket的彻底理解!

shutdown 和closesocket    来,咱们彻底的来讨论一下这个shutdown 和closesocket 从函数调用上来分析(msdn):一旦完成了套接字的连接,应当将套接字关闭,并且释放其套接字句柄所占用的所有资源。真正释放一个已经打开的套接字句柄的资源直接调用closesocket即可,但要明白closesocket的调用可能会带来负面影响,具体的影响和如何调用有关,最明显

2013-05-28 23:22:00 2971 1

转载 整形数据类型的大小

整形数据类型的大小 分类: C/C++int类型的大小是与编译器有关的下面讨论的是基于gcc的.1.3 Linux数据类型大小在Linux操作系统下使用GCC进行编程,目前一般的处理器为32位字宽,下面是/usr/include/limit.h文件对Linux下数据类型的限制及存储字节大小的说明。/* We don't have

2013-04-06 18:53:53 1577

转载 汽车电子通信协议解析

Internet让世界成了一个地球村,同样目前汽车内采用的各种通信协议使得汽车更加集成化一体化,理想状态下各种信息自由交互,实时到达并且准确无误。在汽车由机械化电气化向电子化过渡的过程中,针对具体应用的不同要求而出现了若干通信协议用于解决电子单元之间的信息交互问题,使用最广泛的是CAN总线,在主导汽车工业的欧美车系中它早已经得到大规模使用,近年来相继出现了LIN总线和flexray总线,由于LIN

2013-01-12 18:05:19 3443

转载 发动机ECU标定的基本知识

发动机ECU标定的基本知识  首先说一下我不是真正做标定工作的,我只是就我的理解,谈一下我的看法:     1)要进行国际上通用的标定工作,首先需要两个ECU的镜像文件ASAP2(*.a2l)和Hex(*.hex)文件,而这两个文件是由ECU供应商提供的。     sASAP2文件包含了控制单元程序的数据和参数的物理描述,主要包括: 1)­数据结构信息

2012-07-01 00:49:40 14717 4

转载 KWP2000协议分析

协议分析2008-11-19 15:591 前言在汽车故障诊断领域,针对诊断设备和汽车ECU之间的数据交换,各大汽车公司几乎都制订了相关的标准和协议。其中,欧洲汽车领域广泛使用的一种车载诊断协议标准是KWP2000(Keyword Protocol 2000),该协议实现了一套完整的车载诊断服务,并且满足E-OBD(European On Board Diagnose)

2012-04-23 23:50:33 6653 1

转载 一个c回调函数的例子

一个c回调函数的例子1人收藏此文章, 收藏此文章发表于8个月前 , 已有392次阅读 共0个评论 1人收藏此文章01#include02// 方法指针的格式为:int (*ptr)(char *p) 即:返回值(指针名)(参数列表)03

2012-01-15 19:05:49 1360

转载 探讨C语言中的回调函数

回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给调用者从而实现调用。回调函数使用是必要的,在我们想通过一个统一接口实现不同的内 容,这时用回掉函数非常合适。比如,我们为几个不同的设备分别写了不同的显示函数:void TVshow(); void ComputerShow(); void NoteBookShow()...等等。这是我们想用一个统一的显示函数,我们这时就可以用回掉函数

2012-01-15 18:59:53 630

转载 操作系统--虚拟内存、逻辑地址、线性地址、物理地址

逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段限长内

2012-01-15 17:52:10 481

转载 同步、异步、阻塞和非阻塞的概念

同步、异步、阻塞和非阻塞的概念在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。这些方式彼此概念并不好理解。下面是我对这些术语的理解。同步         所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、

2012-01-15 17:44:35 795

转载 Bit,Byte,WORD,DWORD区别和联系

Bit,Byte,WORD,DWORD区别和联系1人收藏此文章, 收藏此文章 发表于4个月前 , 已有86次阅读 共0个评论1人收藏此文章 基本概念:位(Bit):“位”或“比特”,是计算机运算的基础;字节(Byte):“字节”是通过网络传输信息(或在硬盘或内存中存储信息)的单位。字节是计算机信息技术用于计量存储容量和传输容量的一种计量单位,

2011-12-05 22:53:30 24873 1

转载 extern用法详解(转)

1 基本解释  extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。  另外,extern也可用来进行链接指定。2 问题:extern 变量  在一个源文件里定义了一个数组:char a[6

2011-09-18 22:08:46 515

转载 各种字符编码方式详解及由来(ANSI,UNICODE,UTF-8,GB2312,GBK)

一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们。Let's go!      很久很久以前,有一群人,他们决定用8个可以开合的晶

2011-09-18 18:56:43 537

转载 linux下制作发布自己的静态库

linux下制作发布自己的静态库目录1、linux的库library介绍2、库程序的编译使用3、例子libtest库4、小结1、linux的库library介绍编写程序,已经不再是起步

2011-08-14 21:15:42 402

转载 C语言宏定义技巧(常用宏定义)

C语言宏定义技巧(常用宏定义)写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。 1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H  //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数

2011-06-18 12:28:00 560

转载 环形缓冲区的实现原理

在通信程序中,经常使用环形缓冲区作为数据结构来存放通信中发送和接收的数据。环形缓冲区是一个先进先出的循环缓冲区,可以向通信程序提供对缓冲区的互斥访问。环形缓冲区的实现原理环形缓冲区通常有一个读指针和一个写指针。读指针指向环形缓冲区中可读的数据,写指针指向环形缓冲区中可写的缓冲区。通过移动读指针和写指针就可以实现缓冲区的数据读取和写入。在通常情况下,环形缓冲区的读用户仅仅会影响读指针,而写用

2011-06-18 11:09:00 1785

转载 Android 的相关文件类型

<br />Android 的相关文件类型:<br /> Java---应用程序源文件<br /><br />Android 本身相当一部分是由 java 编写而成,而且 android 应用必须使用 java 开发  Class---java 编译后的目标文件<br />是由 java 虚拟机编译而成一个字节码文件,在之前我们用所学的 j2ee 以及 j2se 它是一个可 <br />执行文件,但是在 Android 当中它只是一个目标文件即过渡文件 Dex---Android 平台可执行文件:<br /

2011-04-05 15:43:00 518

转载 Android 学习笔记(一) 系统构架

Android 学习笔记(一) 系统构架<br /><br />一、Aplications(应用层)<br />  应用是用Java语言编写的云新在虚拟机上的程序。<br />二、Application Framework(应用框架层)<br />  这一层是编写Google发布的核心应用时所使用的API框架,开发人员可以使用这些框架来开发自己的应用。<br />  View System:可以用来构建应用程序,它包括列表、网格、文本框、按钮以及可嵌入的Web浏览器。<br />  Content Prov

2011-04-05 15:32:00 653

转载 C语言中强制数据类型转换的总结

C语言中强制数据类型转换的总结<br /> <br /> <br /> <br />● 字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128~127,char型变量也可以加修饰符unsigned,则unsigned char 型变量的取值范围是0~255(有些机器把char型当做unsighed char型对待, 取值范围总是0~255)。<br />● 如果一个运算符两边的运算数类型不同,先要将其转换为相同的类型,即较低类型转换为较高类型,然后再参加运算,转换规则如下图所示。<br />do

2011-01-25 17:37:00 706

转载 嵌入式linux启动信息完全注释

<br /> <br />摘要<br />我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉。<br />嵌入式linux的启动信息是一个很值得我们去好好研究的东西,它能将一幅缩影图呈现在我们面前,来指导我们更加深入地理解linux内核。<br /> <br />关键字:linux,嵌入式,启动,bootloader<br />正文<br />作

2011-01-22 15:07:00 513

转载 嵌入式linux启动信息完全注释

<br /> <br />摘要<br />我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉。<br />嵌入式linux的启动信息是一个很值得我们去好好研究的东西,它能将一幅缩影图呈现在我们面前,来指导我们更加深入地理解linux内核。<br /> <br />关键字:linux,嵌入式,启动,bootloader<br />正文<br />作

2011-01-22 15:06:00 891

转载 嵌入式linux启动信息完全注释

<br /> <br />摘要<br />我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉。<br />嵌入式linux的启动信息是一个很值得我们去好好研究的东西,它能将一幅缩影图呈现在我们面前,来指导我们更加深入地理解linux内核。<br /> <br />关键字:linux,嵌入式,启动,bootloader<br />正文<br />作

2011-01-22 15:05:00 512

转载 Linux内核设计与实现读书笔记(8)-内核同步方法

<br />Linux内核设计与实现读书笔记(8)-内核同步方法    1、原子操作可以保证指令以原子的方式执行——执行过程不被打断。内核提供了两组原子操作接口,一组针对整数进行操作,一组针对单独的位进行操作。     2、针对整数的原子操作只能对atomic_t类型的数据进行处理。引入这个特殊数据类型主要是出于三个原因:首先,让原子函数只接受atomic_t类型的操作数可以确保原子操作只与这种特殊类型的数据一起使用。同时这也保证了该类型的数据不会被传递给其他任何非原子函数。其次,使用atomic_t类型确

2010-12-25 14:15:00 1314

转载 Linux内核设计与实现读书笔记(7)-内核同步介绍

<br />Linux内核设计与实现读书笔记(7)-内核同步介绍1、临界区(critical regions)就是访问和操作共享数据的代码段。多个执行线程并发访问同一个资源通常是不安全的,为了避免在临界区中并发访问,编程者必须保证这些代码原子地执行。也就是说,代码在执行结束前不可被打断,就如同整个临界区是一个不可分割的指令一样。 2、如果两个执行线程有可能处于同一个临界区中,我们就称他是竞争条件(race conditions)。避免并发和防止竞争条件被称为同步(synchronization)。 3、内核

2010-12-25 14:03:00 605

转载 Linux内核设计与实现读书笔记(6)-下半部和推后执行的工作

<br />Linux内核设计与实现读书笔记(6)-下半部和推后执行的工作1、中断处理程序的局限:中断处理程序以异步方式执行并且它有可能会打断其他重要代码的执行。因此,它们应该执行得越快越好。 如果当前有一个中断处理程序正在执行,在最好的情况下,与该中断同级的其他中断会被屏蔽,在最坏的情况下,所有其他中断都会被屏蔽。因此,仍应该让它们执行得越快越好。 由于中断处理程序往往需要对硬件进行操作,所以它们通常有很高的时限要求。 中断处理程序不在进程上下文中运行,所以它们不能阻塞。<br />2、下半部的任务就是执

2010-12-25 13:59:00 785

转载 Linux内核设计与实现读书笔记(5)-中断和中断处理程序

<br />Linux内核设计与实现读书笔记(5)-中断和中断处理程序   1、中断是一种电信号,由硬件设备生成,并直接送入中断控制器的输入引脚上。然后再由中断控制器向处理器发送相应的信号。处理器一经检测到此信号,便中断自己的当前工作转而处理中断。此后,处理器会通知操作系统已经产生中断,这样,操作系统就可以对这个中断进行适当的处理了。      2、不同的设备对应的中断不同,而每个中断都通过一个唯一的数字标识。中断值通常被称为中断请求(IRQ)线。有些中断值是指定的,有些是动态分配的。特定的中断总与特定的设

2010-12-25 13:40:00 590

转载 Linux内核设计与实现读书笔记(4)-系统调用

<br />Linux内核设计与实现读书笔记(4)-系统调用     1、系统调用的声明前都有asmlinkage限定词,用于通知编译器仅从栈中提取该函数的参数。系统调用的命名上都有sys_前缀。<br />    2、每个系统调用被赋予一个系统调用号。进程不会提及系统调用的名称,所以通过这个独一无二的号就可以关联系统调用。如果一个系统调用被删除,它所占用的系统调用号也不允许被回收利用,其一旦分配就不能再有任何变更。<br />    3、内核记录了系统调用表中的所有已注册过的系统调用的列表,存储在sy

2010-12-25 13:27:00 474

转载 Linux内核设计与实现读书笔记(3)-调度

Linux内核设计与实现读书笔记(3)-调度     1、进程分为I/O消耗型和处理器消耗型。前者指进程的大部分时间用来提交I/O请求或等待I/O请求。后者把时间大多用在执行代码上。Unix各种变体的调度策略倾向于I/O消耗型的进程。     2、调度算法基于优先级调度,Linux实现了一种基于动态优先级的调度方法。一开始,该方法先设置基本的优先级,然而它允许调度程序根据需要来加、减优先级。如果一个进程在I/O等待上耗费的时间多于其运行时间,那么该进程明显属于I/O消耗型进程,它的优先级会被动态提高。相

2010-12-25 13:25:00 468

转载 Linux内核设计与实现读书笔记(2)-进程管理

<br />Linux内核设计与实现读书笔记(2)-进程管理<br />    今天读了第二章,与大家分享一下我的心得。 <br />    1、linux系统中允许同时存在的进程的最大数目为32767,这是因为PID的最大值默认设置为32767(short int短整型的最大值)。如果需要更多进程,系统管理员可以通过修改/proc/sys/kernel/pid_max来提高上限。<br />    2、内核把进程存放在叫做任务队列(task list)的双向循环链表中。链表中的每一项都是类型为

2010-12-25 13:19:00 501

转载 Linux内核设计与实现读书笔记(1)-Linux内核简介

<br /> Linux内核设计与实现读书笔记(1)-Linux内核简介    我现在要做的科研项目涉及到内核编程的知识,所以在学校的图书馆借了一本《Linux内核设计与实现》(英文名:linux kernel development),打算通过这本书来了解一下linux内核各部分的原理。我选择这本书的原因很简单-薄。全书只有二百多页,但内容还是很全面的。翻译质量还可以,译者还在文中加了自己的解释。看译者序中说这本书适合内核初学者,看过后对内核各个核心子系统有个整体把握。这很好,符合我的要求,《Unders

2010-12-25 12:50:00 519

原创 BUSYBOX编译备忘录

<br /><br />BUSYBOX编译备忘录<br />编译busybox的组合:<br />busybox-1.0.0   arm-linux-gcc-2.95.3 (AT91rm9200开发板)<br />  <br />经典参考:<br />http://busybox.net/downloads/   下载busybox<br />http://husaberg.toby-churchill.com/balloon/releases/v0.7/roots/   文件系统制作 <br

2010-09-02 19:56:00 1861

转载 QString

<br /><br />     今天要说的是QString。之所以把QString单独拿出来,是因为string是很常用的一个数据结构,甚至在很多语言中,比如JavaScript,都是把string作为一种同int等一样的基本数据结构来实现的。<br />每一个GUI程序都需要string,这些string可以用在界面上的提示语,也可以用作一般的数据结构。C++语言提供了两种字符串的实现:C风格的字符串,以'/0‘结尾;std::string,即标准模版库中的类。Qt则提供了自己的字符串实现:QStrin

2010-08-14 20:05:00 459

原创 Linux下多线程编程简介(一)

<br />     最近在做移植,碰到了关于多线程操作方面的内容。由于之前没有太多的在Linux下面进行程序设计,所以得先从基础学起。下面先讲讲Linux下多线程编程的一些简单设计,完后将我移植中关于这一部分的情况介绍一下。          在LINUX中,一般pthread线程库是一套通用的线程库,是由POSIX提出的,因此他的移植性是非常好的。     创建线程实际上就是确定调用该线程函数的入口点,这里通常使用的函数是pthread_create。在线程创建之后,就开始运行相关的线程函数。在该函数运

2010-07-31 22:59:00 466

转载 gdb基本使用方法

<br />     程序代码中的错误可分为数类,除了最容易除错的语法错误,编译程序会告诉你错误所在外,大部分的错误都可以归类为执行时错误。<br />GDB 的功能便是寻找执行时错误。如果没有除错程序,我们只能在程序中加入输出变量值的指令来了解程序执行的状态。<br />有了 GDB 除错程序,我们可以设定在任何地方停止程序的执行,然后可以随意检视变量值及更动变量,并逐行执行程序。<br />一个除错程序执行的流程通常是这样的:1. 进入除错程序并指定可执行文件。<br />2. 指定程序代码所在目录。<

2010-06-09 22:59:00 423

转载 彻底明白IP地址(2)

彻底明白IP地址(1) IP地址的介绍 1、IP地址的表示方法IP地址 = 网络号+主机号    把整个Internet网堪称单一的网络,IP地址就是给每个连在Internet网的主机分配一个在全世界范围内唯一的标示符,Internet管理委员会定义了A、B、C、D、E五类地址,在每类地址中,还规定了网络编号和主机编号。在 TCP/IP协议中,IP地址是以二进制数字形式出现的,共32bit,1bi

2010-05-22 00:24:00 878

转载 彻底明白IP地址

通过IP地址和子网掩码与运算计算相关地址     知道ip地址和子网掩码后可以算出:     1、 网络地址     2、 广播地址     3、 地址范围     4、 本网有几台主机     例1:下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0。算出网络地址、广播地址、地址范围、主机数。    一)分步骤计算     1) 将IP地址和子网掩码换算为二进制,

2010-05-22 00:19:00 466

c c++ 程序员面试必备

c c++ 程序员 面试 题库 基本涵盖了目前的面试题目,很全,对于新人来说也是基础的检验

2013-04-06

华为内部程序设计培训

华为 内部 程序设计 培训 华为 内部 程序设计 培训

2010-02-27

软件开发过程文档(多年经验总结)

软件开发 过程文档 精品 包括详细流程 注意事项 多年经验的结晶

2010-02-27

怎样写testbench

testbench EDA 技术 testbench EDA 技术

2010-02-27

上海某公司Linux机密培训文件PPT

上海某公司Linux机密培训文件PPT Linux 机密 培训文件 PPT

2010-02-27

XML原理及应用 课件

老师上课用的课件,非常清楚易懂!XML原理及应用 课件

2010-01-02

Microsoft.NET技术内幕课件

NET 技术内幕 课件 包括 C# XML CLR ADO.NET

2010-01-01

你必须知道的.NET

你必须知道的. NET 你必须知道的. NET

2009-11-22

数据结构(C#语言版).

数据结构 C#语言版 数据结构 C#语言版

2009-11-15

QuartusII4.0 官方中文入门手册

QuartusII4.0 官方中文入门手册

2009-11-15

全球CPLD FPGA公司介绍

CPLD FPGA EDA 全球CPLD FPGA公司介绍

2009-11-15

modelsim使用教程

modelsim使用教程 modelsim EDA

2009-11-15

超级俄罗斯方块的源代码

俄罗斯 俄罗斯 源代码 设计文档 俄罗斯 俄罗斯 源代码 设计文档

2009-11-15

全国计算机等级考试——二级公共基础知识辅导讲义

全国计算机等级考试 二级公共基础知识 NERE 不载一定后悔!

2009-10-12

三级网络技术复习笔记

三级网络技术 复习笔记 NCRE 三级 三级网络技术 复习笔记 NCRE 三级

2009-10-12

网络工程师考试学习笔记(经典)

个人对于网络工程师考试的学习笔记,那出来跟大家分享一下!!

2009-02-03

空空如也

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

TA关注的人

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