• 等级
  • 43852 访问
  • 17 原创
  • 15 转发
  • 89874 排名
  • 21 评论
  • 10 获赞

浅谈14229协议

本篇文章主要介绍基于ISO14229的DCM模块的理解。 阅读本篇文章希望达到的目的是: UDS是干什么的, ISO14229是如何定义规则的,   希望接下来的阅读让你不虚此行。   1. UDS是干什么的? UDS全称是Unified Diagnostic Services,即 统一诊断服务。其最重要的作用就是用来诊断汽车的故障的,当然不仅仅是这个用处,它还可以用来进行汽车的下...

2018-08-30 18:55:09

VIM的常用配置

花了很长时间整理的,感觉用起来很方便,共享一下。 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试 2.自动插入文件头 ,新建C、C++源文件时自动插入表头:包括文件名、作者、联系方式、建立时间等,读者可根据需求自行更改 3.映射“Ctrl + A”为全选并复制快捷键,方便复制代码 4.按“F...

2018-08-29 22:34:06

AUTOSAR架构概述

                                    AUTOSAR整体思路概述 一、总体概述 AUTOSAR是Automotive Open System Architecture(汽车开放系统架构)的首字母缩写,是一家致力于制定汽车电子软件标准的联盟。AUTOSAR是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系。自200...

2018-08-12 13:33:07

Tkinter-Text控件常用功能示例

简介及简例 Text 控件用来显示多行文本. Tkinter 的 Text 控件很强大, 很灵活, 可以实现很多功能. 虽然这个控件的主要用途是显示多行文本, 但其还可以被用作简单的文本编辑器, 甚至是网页浏览器.  Text 控件可以显示网页链接, 图片, HTML页面, 甚至 CSS 样式表.  在其他的各种教程中, 很难找到一个关于 Text 控件的简单例子. 这也是我们写这一章教程的主要...

2018-07-24 08:16:05

嵌入式C编码规范

0规范制定说明 0.1箴言 技术人员设计程序的首要目的是用于技术人员沟通和交流,其次才是用于机器执行。程序的生命力在于用户使用,程序的成长在于后期的维护及根据用户需求更新和升级功能。如果你的程序只能由你来维护,当你离开这个程序时,你的程序也和你一起离开了,这将给公司和后来接手的技术人员带来巨大的痛苦和损失。因此,为了程序可读、易理解、好维护,你的程序需要遵守一定的规范,你的程序需要设计。 “...

2018-07-23 08:28:21

如何编写优质嵌入式C程序

前言:这是一年前我为公司内部写的一个文档,旨在向年轻的嵌入式软件工程师们介绍如何在裸机环境下编写优质嵌入式C程序。感觉是有一定的参考价值,所以拿出来分享,抛砖引玉。 转载请注明出处:http://blog.csdn.net/zhzht19861011/article/details/45508029   摘要:本文首先分析了C语言的陷阱和缺陷,对容易犯错的地方进行归纳整理;分析了编译器语义检...

2018-07-23 08:25:45

Tkinter-Grid的用法

''Tkinter教程之Grid篇'''# Tkinter参考中最推荐使用的一个布局器。实现机制是将Widget逻辑上分割成表格,在指定的位置放置想要的Widget就可以了。'''1.第一个Grid例子'''# -*- coding: cp936 -*-# 使用grid来布局组件from Tkinter import *root = Tk()# 创建两个Labellb1 = Label(root,...

2018-07-22 21:23:40

Python,Pycharm,Anaconda三者的区别与联系、安装过程及其注意事项

1、致欢迎词 我将详细讲述在学Python初期的各种手忙脚乱的问题的解决,通过这些步骤的操作,让你的注意力集中在Python的语法上以及后面利用Python所解决的项目问题上。而我自己作为小白,很不幸的没有错过任何的坑,都跳了进去,所以在这里写下经验贴,一方面希望能给后来的学者能够高效的避开这些坑,另一方面也算是自己的总结与警告。 2、内容大纲 2.1 安装顺序 能够使用Python的安装...

2018-07-20 10:26:06

Python GUI编程实现方式优缺点对比

从 Python 语言的诞生之日起,就有许多优秀的 GUI 工具集整合到 Python 当中,这些优秀的 GUI 工具集,使得 Python 也可以在图形界面编程领域当中大展身手,由于 Python 的流行,许多应用程序都是由 Python 结合那些优秀的 GUI 工具集编写的。下面分别介绍 Python GUI 编程的各种实现,下面的许多内容都是来自维基百科(文章后面列出了参考),这里就当做是一...

2018-07-20 10:18:26

python IDLE常用快捷键

Ctrl + [ 、Ctrl + ] 缩进代码 Alt+3 Alt+4      注释、取消注释代码行 Alt+5 Alt+6      切换缩进方式 空格<=>Tab Alt+/               单词完成,只要文中出现过,就可以帮你自动补齐。多按几次可以循环选择 Alt+M              打开模块代码,先选中模块,然后按下此快捷键,会帮你打开改模块的py源码供...

2018-07-20 10:00:10

python官网某个版本安装包对应的3个下载文件的区别

Python 3.6.0a1 - 2016-05-17 Download Windows x86 web-based installer Download Windows x86 executable installer Download Windows x86 embeddable zip file Download Windows x86-64 web-based installer Down...

2018-07-20 08:34:39

基于UDS的CAN通信故障诊断

摘要:阐述一种诊断控制单元之间通信丢失故障的机制,通过基于UDS的诊断协议进行原理分析,并制定一种有效的诊断处理策略。     汽车故障诊断是利用ECU监测控制系统各组成部分的工作情况,发现故障后自动启动故障记录和处理逻辑。汽车故障诊断模块不仅能够存储记忆汽车故障,还能够实时提供汽车各种运行参数川。外部诊断设备通过一定的诊断通信规则与ECU建立诊断通信,并读取这些故障和参数,同时解析出来供外部测...

2018-07-19 13:30:50

CAN通信最常用的标定协议--CCP与XCP

CCP与XCPCCP协议(CAN Calibration Protocol)CAN标定协议,基于CAN总线的标定协议 XCP协议(Universal Measurement and Calibration Protocol)通用测试标定协议可以应用在许多总线上:XCP on CANXCP on EthernetXCP on FlexRayXCP on USBCCP与XCP的用途XCP/CCP主要应...

2018-07-14 09:01:35

ISO七层协议模型架构、各层的解析及其协议

什么是ISO?ISO是“国际标准化组织”的英文简称,其全称是International Organization for Standardization。ISO成立于1947年2月23日,是世界上最大的国际化标准组织。OSI七层协议模型OSI模型(Open System Interconnection Model)是一个由ISO提出得到概念模型,试图提供一个使各种不同的的计算机和网络在世界范围内实...

2018-07-08 22:21:43

AUTOSAR-CAN诊断功能实现、数据流的方向

  AUTOSAR是由全球汽车OEM和供货商共同推出的一种汽车电子嵌入式软件分层架构。该分层架构由微控制器抽象层、ECU抽象层、服务层、执行时环境(RTE)和应用层组成,前三层被统称为基础软件(BSW)。  AUTOSAR各层软件的通信通过三类接口实现,分别是标准接口、AUTOSAR接口和标准AUTOSAR接口。其中,标准接口用于BSW各个模块之间的通信,已用C语言定义,如void Adc_Ini...

2018-07-08 22:11:16

图解AUTOSAR(六)——服务层(Service Layer)、复杂驱动(Complex Drivers)

AUTOSAR的服务层包括系统服务、存储服务和通信服务,如下图黄色区域所示。一、系统服务系统服务是一组模块和函数,这些模块和函数可以被所有软件层模块使用。比如操作系统(包括定时器服务)和错误管理。系统服务的实现与单片机、ECU硬件以及应用程序有部分关联,其上层接口与单片机和ECU硬件无关。其内部结构如下图所示。...

2018-05-20 11:40:53

STM32库函数编程思路总结及其与寄存器编程的对比剖析

一、STM32库函数编程思路总结1、基于STM32库函数的开发过程进行具体的项目开发前,做好项目创建工作,通常包括如下步骤:(1)新建工程项目的文件夹和子文件夹(如user、output、listing等)(2)使用MDK新建(或打开项目),选择目标CPU、添加CMSIS核心、STM32启动代码和外设驱动程序,构成运行环境。(3)添加包含main()函数的主程序文件。(4)配置目标选项。这些项目创...

2018-05-19 21:54:58

图解嵌入式LINUX的内核结构

根据内核所完成的任务不同,LINUX内核可以分为以下5个部分。1、进程管理进程管理的主要任务是创建、销毁进程,并对进程与外部之间的联系进行处理。不同进程间的通信由进程调度(也叫CPU调度器)来处理,这本身也是进程管理的一部分。2、内存管理内存作为计算机主要资源之一,是否能高效管理内存是决定系统性能好坏的关键因素。LINUX允许多个进程安全地共享主内存区域,支持虚拟内存。内存管理从逻辑上分为硬件无关...

2018-05-17 16:08:59

嵌入式Linux底层系统的组成、举例对比WINDOWS和LINUX系统工作过程来说明各组成部分的功能

一、嵌入式LINUX底层系统主要包括引导加载程序、LINUX内核、设备驱动程序以及文件系统4部分。1、引导加载程序包括固化在固件(firmware)中的boot代码(可选)和BootLoader两部分。2、LINUX内核特定于嵌入式板子的定制内核以及内核启动参数。3、设备驱动程序设备驱动的作用是将各种设备硬件的复杂物理特性的细节屏蔽,向上提供一个通用的接口,挂接到虚拟文件系统上,向下和硬件设备进行...

2018-05-17 14:59:39

图解AUTOSAR(五)——微控制器抽象层(MCAL)

微控制器抽象层位于AUTOSAR分层模型中BSW最底层,包含内部驱动,可以直接访问微控制器和片内外设。更进一步地,MCAL又可以分为微控制器驱动、存储器驱动、通信驱动和I/O驱动四个部分,各部分又由具体的与微控制器硬件相对应的驱动模块组成。如下图所示。1、微控制器驱动微控制器驱动由通用定时器驱动(General Purpose Driver,GPT Driver)、看门狗驱动(Watchdog D...

2018-05-14 21:31:16

GavinChen-ED

关注
  • 嵌入式
  • 中国 上海 浦东新区