CAN总线使用总结

时间:2024.5.2

CAN总线使用总结

一,CAN总线是由德国BOSCH公司提出,目的是为了解决汽车内部硬件信号线的复杂走线

二,CAN:controller area area:控制器局域网络

三,CAN总线的特点:

与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。

1,CAN为多主方式工作,网络上任一节均可在任意时刻主动向网络上其他节点发送信息,不分主从

2,CAN节节点只需通过对报文的标志符进行滤波就可以方便的实现点对点,点对多点及全局广播等

几种传送接收方式;

3,CAN总线采用非破坏总线仲裁技术。当发生冲突时,优先级低的节点自动退出发送,而优先级高

的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其是在负载很重的情况下,也不

会出现瘫痪情况(以太网则可能)。

4,在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据

最多可在134us内得到传输;

5,CAN的直接通信距离最远可达10KM(速率在5kbps以下),通信速率最高可达1Mbps,

(此时通信距离最长为40m);

6,CAN上的节点数主要取决于总线驱动电路,目前可达110个; 7,报文采用短帧结构,传输时间短,受干扰概率低,保证了数据出错率极低;

8,CAN的每帧信息都在CRC校验及其他检错措施,具有极好的检错效果;

9,CAN的通信介质为双绞线、同轴电缆或光纤,选择灵活;

10,CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响;

11,CAN总线具有较高的性价比。

四,CAN总线的系统构成及数据传输原理

(一),系统构成

1,CAN控制器:接收来自微控制器的数据,并处理发送给收发器,同时,也接收来自收发器的数据,处理传给微控制器。

2,CAN收发器:总线驱动

四,CAN总线的的通信协议

(一),网络层次结构

可分为三个层:目标层,传送层,物理层,如下图所示

物理层:规定了信号的传输过程中的电气特性(如传输方式及传输介质)及信号特性;

传送层:帧组织,总线仲裁,错误检测等;

目标层:信息识别,为应用层提供接口;

CAN总线使用总结

其上述分层按iso/osi也可以分为两层:物理层,数据链路层(即目标层和传送层)。

(二),位表达

CAN协议中有两种逻辑位表达方式

1.当总线线上发送的都是弱位时,总线的状态就是弱位(逻辑1);

2.当总线上有强位出现时,弱位信号让位于强位信号,即总线上显示强位信号(逻辑0);

(三),帧类型

1.数据帧:传送数据,携带数据从一个节点到另一个节点或多个节点,结构如下图(标准格式)所示。

CAN总线使用总结

数据帧由7种不同的位域组成:起始域,仲裁域,控制域,数据据域,CRC域,

应答域,帧结束域。

起始域:表示数据帧或远程帧的开始,它由一个强位组成,主要用于接收状态下的CAN控制器的硬同

步。

仲裁域:由信息标志符及RTR位组成,当多个CAN控制器同时发送数据时,在仲裁域要进行面向位的

冲突仲裁。对于标准格式里,标志符由11位组成,用于提供信息地址和优先级,其发送的顺序为ID28~ID18

(注:高7位不允许均为弱的现象);对于扩展格式,仲裁域由11位的基本ID(ID28~ID18)和18位

的扩展ID(ID17~ID0)组成,格式与标准格式略有不同,详见书P25。RTR为:远地请求发

送位,数据帧里为显性,远程帧里为隐性。当CAN总线上接收节点想请求某节点发送数据时,就向网络上发

送一远程帧,用标志符指出节点地址,同时置RTR位为高。如果寻址节点立即发送数据,则使用相同的标

志符,总线不会产生冲突,因为此时数据帧的RTR位为低(数据强位)。在扩展帧里SRR位取代了RTR

位。

控制域:由6个位组成,包括2个保留位(IDE,ro)用于CAN协议扩展,4位数据长度码,允许数据的

长度值为0~8。

数据域:发送缓冲区按照长度码指示的数据长度进行发送,接收的数据同样如此,第一个字节的最高有

效位第一个被发送/接收。

循环冗余校验域(CRC):由CRC序列位(15位)和一个CRC边界符(1个弱位)组成。CRC的范围

包括起始域、仲裁域、控制域、数据域、CRC序列。之所以选用这种帧校验方式,因为:这种CRC码对于

少于127位的帧最佳。

应答域:应答域由发送方发送的两位弱位组成(应答空隙和应答分界位),当接收器正确地接收到有

效的报文时,接收器就会在应答间隙期间(发送ACK信号)向发送器发送一显性位以示应答。因此发送节

点一直监测总线信号以确认网络中至少有一个节点正确接收到发信息。应答分界位是应答域中的第二个弱

位,有此可见,应答空隙两边有两个弱位:CRC分界位和应答分界位。 帧结束域:每一个数据帧或远程帧一串7位的弱位帧结束域结束。

2.远程帧:请求数据

远程帧由6个域组成:起始域、仲裁域、控制域、CRC域、应答域、帧结束域。 远程帧与数据帧不同之处在于:RTR位为高,无数据域。

3.错误指示帧:用于指示传送过程中的错误信息

错误指示帧由两个不同的域组成:第一个域反映来自控制器的错误标志,第二个域为错误分界符。

错误标志:有两种,一个由6个强位组成的主动错误标志;另一个由6个弱位组成的被动错误标志,

它是被其他CAN控制器强位改写。 处于主动错误状态的CAN节点检测到错误发出主动错误标志,该错误标

志不满足位填充规则,或者是破坏应答域或结束域固定格式,所有其他节点都检测到错误状态,并发出该错

误标志。因此,这些从总线上监测到的强位串是不同节点发出错误标志的结果,这一标志最短为6个,最长

为12个。被动错误标志(不太理解。。。后续)

错误分界:它由8个弱位组成,与过载分界有相同的格式,当错误标志发生后,每一个CAN节点监测

总线,直到检测到一个强位出现,这表明所有CAN节点已经完成错误标志的发送,并开始发送8个弱位的分

界符,之后网络上的主动错误节点便可同时开始其他的发送。如果数据帧或远程帧在发送过程中发现错误

后,当前的信息作废,并启动重新发送。如果CAN节点发现错误指示帧错误,则重发,当连续多次出现此错

误时,则相应的节点变为被动错误节点。为正确结束错误标志,被动态节点需要至少3个位周期。

4.过载帧:用于后续帧的延时

过载帧由两个域组成:过载标志和过载分界。

以下情况可以导致过载帧发送:

(1).接收未准备好即接收方需要过多的时间处理当前的数据;

(2).在帧间空隙的第一位或第二位发现显性位信号;

过载帧发送条件:

(1).在帧间空隙域的第一个位周期;

(2).在帧间空隙域中检测到强位信号一个位周期后,方可启动过载帧发送。

过载标志:由6个显性位组成,与错误标志格式相同,当超载标志发生后,每个节点监测总线状态,当发

现线上有弱位后,此时所有节点已完成超载标志的发送,并开始发8个弱位串; 过载分界符:由8个隐性位组成,与错误分界符格式相同;

----------------------------------------------------------------------------------------------------------------------------------- 英飞凌(infineon)单片机XC800之CAN总线

CAN内部硬件结构,如下图所示

CAN总线使用总结

CAN总线使用总结

一,CAN处理机制

发送:根据报文缓存中的报文对象,由位流处理器产生的通过CAN总线发送的数据帧和过程帧,即从报

文缓存中取出的报文对象,位流处理器给它加上起始域,结束域和CRC校验数据,组成一个完整的数据帧

和远程帧,此时位流控制器还在对总线进行监测,当发现总线空闲时,就启动数据的传送,传送过程中监测

总线的信息,当发现与传送的信息不相符时,就会产生一个“最近错误”中断请

求。

接收:数据帧或远程帧通过总结接口,到CAN节点,位流控制器对其进行CRC域进行检测,验证数据的

一致性,当检测到错误时,产生一个“最近错误”中断请求,并产生一个错误帧,发送到总线上。对一个无

错误的帧,位流处理器将它分解成数据部分和标识符部分,列表控制器将其以链表的形式存储于报文缓存

中,执行远程帧或数据帧处理。

在上述数据传送和处理过程中,会出现一些状态字,指示操作完成或出现错误,这些状态字或引发中

断,进行中断处理。

二,从上述结构框图可以看出,主要包括:CAN节点,报文控制器,中断处理单元

(一),CAN节点

(1),位流控制器(Bitstream Prosessor)

主要任务:处理数据帧,远程帧,错误帧和过载帧,同时还进行串行数据流与输入/输出寄存器之间

转换工作(Perform data frame ,remote frame ,error frame and

overload,conversion thd seiral data

stream and the input/output register)。

详述:位流控制器:对于发送:根据报文缓存中的报文对象,由位流处理器产生通过CAN总线的数据

帧和远程帧。该的控制器控制CRC产生器,且给新的远程帧和数据帧加上校验和信息。在加入‘帧起始

位’和‘帧

结束域’之后,位流处理器开始CAN总线仲裁过程,且当发现总线空闲时连续进行帧发送。进行数据发送

的同时,位流控制器连续地监测I/O线的的电平和发送移位寄存器当前送出位的逻辑状态之间检测到失配,

产生一个‘最近错误’中断请求,错误码由位域NSRX.LEC给出。

对于接收:通过验证CRC相关域,确定接收到的帧是否有问题,或有问题,产生一个‘最近错

误’中断请求,同时产生一个错误帧,并发送到总线上。若接收的帧无错误,将接收到的帧分解成标志符和

数据部分,并将接收到的信息传给报文缓存,执行远程帧或数据帧处理,中断产生和状态处理。

(2),位时序单元(Bit timing unit)

考虑到传播延迟和相移,根据用户设置确定采样点和位时间长度,同时也处理再同步操作(define a

length of a bit time and the location of the sample point according to the user settings,takeing into

accout propration delays and phase shift errors and re-sychronization).

(3),错误处理单元(error handling unit)

对发送和接收过程中错误进行计数,当计数值达到一定时,进入不同

的错误指示状态:错误激活,错

误认可,关闭总线。

(4),节点控制单元(Node control unit) A,使能/禁止节点的传送

B,使能/禁止可引发中断的特定节点事件 C帧计数管理

(5),中断控制单元(interrupt control unit) 控制CAN产生的不同类型的事件的中断

(二),报文控制器

(三),列表控制器

(四),中断处理单元


第二篇:GY8501 CAN232BPC-CAN总线接口卡使用说明书


GY8501 CAN232B PC-CAN总线接口卡――武汉吉阳光电科技有限公司

GY8501 CAN232B

PC-CAN总线接口卡使用说明书

说明书版本:V5.00

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

目 录

目 录.................................................................2

第一章 产品简介..........................................................3

1.1 概述...............................................................3

1.2 性能与技术指标.....................................................3

1.3 典型应用...........................................................3

1.4 产品销售清单.......................................................4

1.5 技术支持与服务.....................................................4

第二章 使用方法与接口描述................................................5

2.1 硬件接口描述.......................................................5

2.2 出厂配置...........................................................6

2.3 产品自测试.........................................................6

2.4 CANTools测试软件功能介绍..........................................9

第三章 用户编程.........................................................11

4.1函数库中的数据结构定义.............................................11

4.2 接口函数说明......................................................15

3.3 接口库函数使用方法................................................21

3.3.1 VC 调用动态库的方法...........................................21

3.3.2 VB 调用动态库的方法...........................................21

第四章 附录.............................................................23

附录1:CAN2.0B协议帧格式(可参考SJA1000 CAN控制器).................23

2

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

第一章 产品简介

1.1 概述

GY8501 CAN232B智能PC-CAN总线接口卡是带有1路CAN接口和一路RS232接口的智能型CAN总线接口卡,可进行双向传送。采用该接口卡,PC(或其他RS232设备)可以通过RS232接口连接一个标准CAN网络,构建现场总线测试实验室、工业控制、智能楼宇、汽车电子等领域中数据处理、数据采集、数据通讯网络的CAN核心控制单元。

CAN232B智能PC-CAN总线接口卡可以被作为一个标准的CAN节点,是CAN总线产品开发、CAN总线设备测试、数据分析的强大工具;同时,CAN232B智能CAN总线接口卡具有体积小、方便安装等特点,也是便携式系统用户的最佳选择。

CAN232B智能PC-CAN总线接口卡产品可以利用开发商提供的CANTools工具软件,直接进行CAN总线的配置,发送和接收。用户也可以参考我公司提供的DLL动态连接库、例程编写自己的应用程序,方便的开发出CAN系统应用软件产品。

在CAN232B智能PC-CAN总线接口卡设备中,CAN总线电路采用独立的DCDC电源模块,进行光电隔离,使该接口卡具有很强的抗干扰能力,大大提高了系统在恶劣环境中使用的可靠性。

1.2 性能与技术指标

RS232与CAN总线的协议转换;

支持CAN2.0A和CAN2.0B协议,支持标准帧和扩展帧;

支持双向传输,CAN发送、CAN接收;

支持数据帧,远程帧格式;

支持CAN卡自收发测试;

CAN控制器波特率在5Kbps-1Mbps之间可软件设置;

CAN总线接口采用光电隔离、DC-DC电源隔离;

RS232工作在最大57600bps时,每秒钟最大流量为300帧CAN总线数据;

外部直流工作电源:+5V;

隔离模块绝缘电压:1000Vrms;

工作温度:0~70℃;

外壳尺寸:100mm*70mm,支持DIN导轨安装方式。

产品兼容性:兼容广州周立功公司ZLG-CAN232智能CAN总线接口卡,但以本手册说明为准。

1.3 典型应用

通过PC或笔记本的RS232接口实现对CAN总线网络的发送和接收;

慢速CAN网络数据采集、数据分析;

CAN总线产品替代现有RS232接口的产品;

CAN网络取代RS232网络;

RS232网络与CAN网络接口;

扩展标准RS232网络通讯长度;

工业现场网络数据监控。

3

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

1.4 产品销售清单

1)GY8501 CAN232B智能CAN总线接口卡。(原型号名称QZ-CAN232B)

2)DB9串口线缆一根。

3)光盘1张。(CAN总线通信测试软件CANTools,以及Visual C++的CANTools软件的源代码、 DLL,LIB等开发文件,用户手册,CAN总线相关资料等);

4)可以提供USB接口+5V电源线一根。(非标配,需另外购买)

1.5 技术支持与服务

货到10日内无条件退货;一年内免费维修或更换;终身维修服务。

技术支持及购买信息请查阅 .cn

Email:

4

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

第二章 使用方法与接口描述

2.1 硬件接口描述

CAN232B智能接口卡共有两组对外接口。一个标准的RS232接口;一个10pin的排线座,具体如下图所示。。

红色LED-Power灯指示电源;当CAN总线数据接收或发送时,绿色LED-CAN灯会闪烁。当接收串口RS232数据时,绿色LED-232灯会闪烁。

如果随卡提供了USB供电线缆,请务必确认不要将+5V和GND接反了。红色接头为+5V,黄色为GND。为确认您的PC或笔记本电脑能提供+5V,请先用万用表测量一下。

接口布局如下:

GY8501CAN232BPCCAN总线接口卡使用说明书

图1 CAN232B外观与接口描述图

Pin脚描述:

电源输入

电源地

与GND相连,则恢复

出厂参数。

信号地

终端电阻R+

终端电阻R-

5

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

CANL信号

CANH信号

工作方式:

接口卡接收到CAN网络的数据,则保存在缓冲区,当PC发送请求时,回发这些数据到串口。 接口卡接收到从RS232(PC或者其他微控制器)发过来的数据流,则先识别是发送包还是配置包,若是发送包,则立即向CAN网络发送CAN帧。若是配置或查询包,则进行CAN总线控制器相关配置或处理。

2.2 出厂配置

产品出厂时的配置如下:串口波特率57600bps;CAN总线波特率1Mbps;验收屏蔽寄存器都是0xFF,可以接收任意ID的CAN帧。

设置终端电阻:用导线将Res+和Res-短接,即为接上终端电阻120欧。

2.3 产品自测试

第一步,用户拿到CAN232B接口卡后,可先测试本卡是否工作正常,采用本卡的CAN总线自发自收测试功能。同时体验本工具软件的使用方法。

具体操作过程如下:

请将Res+与Res-用导线短接,因为自测试模式也需要终端电阻。

通过串口线缆将本设备与PC的RS232接口相连;笔记本电脑用户若没有串口,可以在市面上购买USB-RS232的转接线即可。

请给CAN卡供+5V电;(注意不要接反)

请运行工具软件CANTools.exe测试程序,如下图4所示。

6

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

图4 运行工具软件CANTools.exe

在菜单“设备选择”栏勾选CAN232B。(不选也可以,默认选择是CAN232B),如下图5所示。

GY8501CAN232BPCCAN总线接口卡使用说明书

图5

打开菜单“设备操作”->"启动设备",选择您的串口号(请确认选择正确),波特率选默认的57600,点击“打开设备”按钮。操作完成后会有成功或失败提示。如下图6所示。

GY8501CAN232BPCCAN总线接口卡使用说明书

7

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

图6

打开菜单“查看”->“设备信息”。在弹出的对话框中会有本产品的型号,序列号,本号等信息。如下图7所示。

GY8501CAN232BPCCAN总线接口卡使用说明书

图7

打开菜单“查看”->“当前配置”。在弹出的对话框中会看到当前设备运行的各种常规参数配置情况。请注意工作模式:出厂一般为正常工作。如下图8所示。

GY8501CAN232BPCCAN总线接口卡使用说明书

GY8501CAN232BPCCAN总线接口卡使用说明书

8

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

图8

第二步,将工作模式设置成自发自收模式。

打开菜单“参数配置”->“CAN参数配置”在弹出的对话框中将工作模式选择为“自发自收”,然后点“设置”,成功会有提示信息。如下图9所示。

GY8501CAN232BPCCAN总线接口卡使用说明书

图9

第三步,打开CAN总线接收功能,在主界面的上的启动接收栏打勾,这样同时开启了接收线程。

现在就可以测试自发自收了,在主界面上点“发送”按钮,即可观察到发送的信息显示在数据框里面了,同时该信息也被成功的收回来了。如上图4主界面所示。

如果以上自测试操作不成功,请检查是否已按上述步骤操作,如仍然不行,请联系厂家咨询。

用户自测试成功后,请务必将工作模式改回正常发送工作模式,以免影响您在后面的使用。 另外注意:因为串口操作的特殊性,如您需要操作菜单栏的功能,请务必先将主界面的”启动接收“的勾选去掉。否则将造成您对菜单栏的所有操作都失败,因为所有返回的串口信息都被串口接收线程给抢走了。您对菜单栏的操作完成后,需要进行CAN总线接收时,可以打开CAN接收前的勾选。

提示:CAN232卡重启以后,如果收不到数据,可能需要重启CANTools测试软件。

如您在使用过程中,发现CANTools工具软件的问题或觉得有可以改进的地方,欢迎告诉我们。

2.4 CANTools测试软件功能介绍

2.4.1打开设备

吉阳光电CAN232B接口卡是一款CAN总线的PC适配器,进行CAN总线与RS232接口的协议转换。所以需要连接此卡到PC的串口上。一般PC机都有COM1,COM2。用户选择好所连接的端口及串口通信速率,就可以与CAN232B卡进行通信测试了。

注:当CAN网络发送或接收的速度较高时,为保证快速数据传输的可靠性,建议都采用57600的速率进行通信。串口波特率19200可以满足每秒小于50帧的速率。

9

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

2.4.2设置报文滤波器

出厂配置ACR为16进制的07 88 88 88,AMR为FF FF FF FF。用户可以通过测试程序的读取配置按钮获取当前信息。该滤波器的值可以被用户修改,修改后会被保存在E2PROM中,下次上电将采用E2PROM中的值初始化。滤波方式出场设置的是单滤波,用户也可以编程修改。

CAN总线验收滤波器和屏蔽寄存器均针对于CAN接收而言。注:当AMR为全0xFF时, 表示屏蔽ACR的所有滤波位,即可以接收所有的信息。

关于验收滤波器ACR0-3和屏蔽寄存器AMR0-3具体信息,用户可参考SJA1000数据手册。

2.4.3设置工作模式

工作模式分“正常发送”和“自发自收”。接口卡上电后的默认配置均为正常发送。用户可以将其设置成自发自收进行测试。该方式下,发送的信息将被自己接收,当然其他ID发过来的信息也是可以接收的。

2.4.4发送数据

发送数据时,需要选择扩展帧/标准帧,远程帧/数据帧,帧ID,数据长度,数据等信息。在CAN测试软件中ID编辑框和数据编辑框的内容请输入16进制格式的值,并且每个值之间需要有空格。发送时ID最多取前4个值,数据最多取前8个值。如果发送的是标准帧,ID信息取前面2个值。

2.4.5发送和接收的ID格式

发送和接收的ID值输入和显示有2种格式:CAN2.0B格式(ID的最高位从第一个ID字节的Bit7开始)和直接ID号格式(ID的最低位在第四个ID字节的Bit0),用户可以自由选择,极大的方便了用户对ID的观察。

每次的数据将显示在界面上的list编辑框中。

2.4.6关闭/启动CAN接收

若执行关闭CAN接收, CAN232B接口卡将不再接收CAN总线上的数据。上电默认配置为关闭CAN接收。每次接收的数据将显示在界面上的list编辑框中。

注意:因为串口操作的特殊性,如您需要操作菜单栏的功能,请务必先将主界面的“启动接收”的勾选去掉。否则将造成您对菜单栏的所有操作都失败,因为所有返回的串口信息都被串口接收线程给抢走了。您对菜单栏的操作完成后,需要进行CAN总线接收时,可以打开CAN接收前的勾选。

2.4.7读取当前配置

用户可通过该功能查看当前CAN232B设备的配置。其中滤波方式:1表示单滤波,0表示双滤波。是否接收:1表示允许接收,0表示关闭接收。工作模式:0表示正常工作,1表示自发自收。波特率:读出的结果为索引号1-15,可根据本手册的2.2.2的对照表对应波特率。注:用户进行读配置操作时接收都是关闭的。

2.4.8读取设备信息

可以获取设备的硬件,固件,驱动的版本号,以及厂商信息等。

10

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

第三章 用户编程

用户如果只是利用CAN232B/USB-CAN/NET-CAN接口适配器进行CAN总线通信测试,可以直接利用随本卡提供的CANTools工具软件,进行收发数据的测试。

如果用户打算编写自己产品的软件程序。请认真阅读以下说明,并参考我们提供的CANTools软件的源代码。

4.1函数库中的数据结构定义

4.1.1 接口适配器类型定义

#define DEV_CAN232B 1

#define DEV_USBCAN 2

#define DEV_USBCAN2 3

#define DEV_NETCAN 4

#define DEV_NETCAN2 5

#define DEV_PCICAN2 6

4.1.2 接口适配器配置类型编码定义

#define REFTYPE_MODE 0

#define REFTYPE_FILTER 1

#define REFTYPE_ACR0 2

#define REFTYPE_ACR1 3

#define REFTYPE_ACR2 4

#define REFTYPE_ACR3 5

#define REFTYPE_AMR0 6

#define REFTYPE_AMR1 7

#define REFTYPE_AMR2 8

#define REFTYPE_AMR3 9

#define REFTYPE_kCANBAUD 10 //CAN波特率序号,设置NET-CAN设备波特率输入参数

#define REFTYPE_TIMING0 11

#define REFTYPE_TIMING1 12

#define REFTYPE_CANRX_EN 13

#define REFTYPE_UARTBAUD 14

#define REFTYPE_ALL 15

#define REFTYPE_DEVICE_IP0 16

#define REFTYPE_DEVICE_IP1 17

#define REFTYPE_DEVICE_IP2 18

#define REFTYPE_DEVICE_IP3 19

11

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

#define REFTYPE_HOST_IP0

#define REFTYPE_HOST_IP1

#define REFTYPE_HOST_IP2

#define REFTYPE_HOST_IP3 20 21 22 23

4.1.3 VCI_BOARD_INFO

描述 VCI_BOARD_INFO 结构体包含GY85XX 系列接口适配器的设备信息,共32个字节。结构体将在VCI_ReadBoardInfo 函数中被填充。

typedef struct _VCI_BOARD_INFO {

USHORT hw_Version;

USHORT fw_Version;

USHORT dr_Version;

USHORT in_Version;

USHORT irq_Num;

BYTE can_Num;

BYTE reserved;

CHAR str_Serial_Num[8];

CHAR str_hw_Type[16];

} VCI_BOARD_INFO, *PVCI_BOARD_INFO;

成员

hw_Version 硬件版本号,用16 进制表示。比如0x0100 表示V1.00 。

fw_Version 固件版本号,用16 进制表示。

dr_Version 驱动程序版本号,用16 进制表示。

in_Version 接口库版本号,用16 进制表示。

irq_Num 板卡所使用的中断号。

can_Num 表示有几路CAN 通道。

str_Serial_Num 此板卡的序列号。

str_hw_Type 硬件型号信息。

Reserved 系统保留。

4.1.4 VCI_CAN_OBJ

描述 VCI_CAN_OBJ 结构体在VCI_Transmit 和VCI_Receive 函数中被用来传送CAN 信息帧。

typedef struct _VCI_CAN_OBJ {

BYTE ID[4];

UINT TimeStamp;

BYTE TimeFlag;

BYTE SendType;

BYTE RemoteFlag;

BYTE ExternFlag;

BYTE DataLen;

BYTE Data[8];

BYTE Reserved[3];} VCI_CAN_OBJ, *PVCI_CAN_OBJ;

成员

ID 报文ID,共4字节。

TimeStamp目前不支持。

12

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

TimeFlag目前不支持。

SendType 保留未用。

RemoteFlag 是否是远程帧。

ExternFlag 是否是扩展帧。

DataLen 数据长度(<=8),即Data 的长度。

Data 报文的数据。

Reserved 系统保留。

4.1.5 VCI_CAN_STATUS

描述 VCI_CAN_STATUS 结构体包含CAN 控制器状态信息。结构体将在VCI_ReadCanStatus 函数中被填充。 typedef struct _VCI_CAN_STATUS {

UCHAR ErrInterrupt;

UCHAR regMode;

UCHAR regStatus;

UCHAR regALCapture;

UCHAR regECCapture;

UCHAR regEWLimit;

UCHAR regRECounter;

UCHAR regTECounter;

DWORD Reserved;

} VCI_CAN_STATUS, *PVCI_CAN_STATUS;

成员

ErrInterrupt 中断记录,读操作会清除。

regMode CAN 控制器模式寄存器。

regStatus CAN 控制器状态寄存器。

regALCapture CAN 控制器仲裁丢失寄存器。

regECCapture CAN 控制器错误寄存器。

regEWLimit CAN 控制器错误警告限制寄存器。

regRECounter CAN 控制器接收错误寄存器。

regTECounter CAN 控制器发送错误寄存器。

Reserved 系统保留

4.1.6 VCI_INIT_CONFIG

描述 VCI_INIT_CONFIG 结构体定义了初始化CAN 的配置。结构体将在VCI_InitCan 函数中被填充。 typedef struct _INIT_CONFIG {

DWORD AccCode;

DWORD AccMask;

DWORD Reserved;

UCHAR Filter;

UCHAR kCanBaud;

UCHAR Timing0;

UCHAR Timing1;

UCHAR Mode;

} VCI_INIT_CONFIG, *PVCI_INIT_CONFIG;

成员

13

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司 AccCode 验收码。 AccMask 屏蔽码。 Reserved 保留。 Filter 滤波方式。

Timing0 定时器0(BTR0)。 Timing1 定时器1(BTR1)。

Mode 模式。0表示正常工作,1表示自测试。

备注Timing0 和Timing1 用来设置CAN 波特率,15种常见的波特率(针对CAN232B, USB-CAN卡)设置如下表。 CAN232B, USB-CAN接口适配器波特率设定 索引号kCanBaud 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CAN 波特率 5Kbps 10Kbps 20Kbps 40Kbps 50Kbps 80Kbps 100Kbps 125Kbps 200Kbps 250Kbps 400Kbps 500Kbps 666Kbps 800Kbps 1000Kbps

Timing0 0xBF 0x31 0x18 0x87 0x09 0x83 0x04 0x03 0x81 0x01 0x80 0x00 0x80 0x00 0x00

Timing1 0xFF 0x1C 0x1C 0xFF 0x1C 0Xff 0x1C 0x1C 0xFA 0x1C 0xFA 0x1C 0xB6 0x16 0x14

NET-CAN卡波特率参数设定需要自行根据我们提供的如下算法计算:(也可以参考Bosch_CAN_User's_Guide) int i; int kBaud;

unsigned int CanBaudrate[16]={5,5,10,20,40,50,80,100,125,200,250,400,500,666,800,1000}; unsigned int sumtq,pro_seg,phase,phase1,phase2,SJW,SJWP,BRPE,TSEG1,TSEG2; unsigned int BaudrateValue; BYTE RegTiming0,RegTiming1; unsigned char BRP; float fsys=22.1184; float tsys;

kBaud=kCanBaud;//索引号 if(kBaud<=8)//5-125k 修改内部频率

{ } {

14

fsys=3.0625; else//200k以上,修改内部频率

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

fsys=22.1184;

} { for(BRP=1;BRP<1023;BRP++)

tsys=1000*1.0/fsys; //ns

sumtq=(fsys*1000/(BRP*CanBaudrate[kBaud]))+0.5;

pro_seg=(450*1.0/tsys)+0.5;

phase= sumtq-pro_seg-1;

if(phase<=16)

} break;

if((phase%2)==1)//????

phase2=phase/2 +1;

else phase2=phase/2;

if(phase2<2)

phase2=2;

phase1=phase-phase2;

if(phase1>4)

else SJW=phase1; SJW=4; BRPE=BRP-1; SJWP=SJW-1;

TSEG1=pro_seg+phase1-1;

TSEG2=phase2-1;

BaudrateValue=TSEG2*(0x1000)+ TSEG1*(0x0100)+SJWP*(0x0040)+BRPE;

RegTiming0=BaudrateValue>>8;

RegTiming1=BaudrateValue;

4.2 接口函数说明

4.2.1 VCI_OpenDevice

描述此函数用以打开设备。

DWORD __stdcall VCI_OpenDevice(DWORD DevType, DWORD DevIndex, DWORD Reserved);

参数

DevType 备类型号。

DevIndex 设备索引号, 当为CAN232 时,0 表示要打开的是COM1,1 表示要打开的是COM2

当为NET-CAN 时,DevIndex表示目标NET-CAN卡的IP地址。注意顺序,低位在前。

如:192.168.0.10的表示方法是0x0A00A8C0

当为USB-CAN 时,DevIndex表示目标第几个USB-CAN设备,一般填入1。

Reserved 当设备为CAN232 时,此参数表示为用以打开串口的波特率,可以为9600, 19200, 38400,57600。

当为NET-CAN,USB-CAN时保留未用。

返回值:为1 表示操作成功,0 表示操作失败,-1表示设备未打开。

如果是NET-CAN,返回值不为0,也不为1,则表示DevtoHost IP地址,设备可接受的主机IP地址,即主机需设置成该IP地址。字节顺序是高位在前。

15

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

示例#include "ControlCan.h"

if(VCI_OpenDevice(DEV_CAN232B,m_ DevIndex,0)!=1)

{

MessageBox("?打开失败");

return;

}

4.2.2 VCI_CloseDevice

描述此函数用以关闭设备。

DWORD __stdcall VCI_CloseDevice(DWORD DevType, DWORD DevIndex);

参数

DevType 设备类型号。

DevIndex 设备索引号, 当为CAN232 时,0 表示要打开的是COM1,1 表示要打开的是COM2

当为NET-CAN 时,DevIndex表示目标NET-CAN卡的IP地址。注意顺序,低位在前。

如:192.168.0.10的表示方法是0x0A00A8C0

当为USB-CAN 时,DevIndex表示目标第几个USB-CAN设备,一般填入1。

返回值:为1 表示操作成功,0 表示操作失败,-1表示设备未打开。

示例

#include "ControlCan.h"

UpdateData(TRUE);

if(VCI_CloseDevice(DEV_CAN232B,DeviceIndex)!=1)

{

MessageBox("关闭失败");

return;

}

4.2.3 VCI_InitCan

描述此函数用以初始化指定的CAN。

DWORD __stdcall VCI_InitCan(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_INIT_CONFIG pInitConfig);

参数

DevType 设备类型号。

DevIndex 设备索引号, 当为CAN232 时,0 表示要打开的是COM1,1 表示要打开的是COM2

当为NET-CAN 时,DevIndex表示目标NET-CAN卡的IP地址。注意顺序,低位在前。

如:192.168.0.10的表示方法是0x0A00A8C0

当为USB-CAN 时,DevIndex表示目标第几个USB-CAN设备,一般填入1。

返回值:为1 表示操作成功,0 表示操作失败,-1表示设备未打开。

CANIndex 第几路CAN。

pInitConfig 初始化参数结构。 成员 功能描述

pInitConfig->AccCode AccCode 对应SJA1000 中的四个寄存器ACR0,ACR1,ACR2,ACR3, pInitConfig->AccMask 其中高字节对应ACR0, 低字节对应ACR3;AccMask 对应SJA1000 中 的四个寄存器AMR0,AMR1,AMR2,AMR3,其中高字节对应AMR0, 低字节对应AMR3 。(请看表后说明)

pInitConfig->Reserved 保留

16

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

pInitConfig->Filter

pInitConfig->kCanBaud

pInitConfig->Timing0

pInitConfig->Timing1

pInitConfig->Mode 滤波方式,1 表示单滤波,0 表示双滤波 CAN波特率索引号 定时器0 定时器1 模式,0 表示正常模式,1 自发自收测试模式

注:CAN23B型号的卡在上电时会自动初始化,按照上次工作保留的配置信息。

4.2.4 VCI_ReadBoardInfo

描述此函数用以获取设备信息。

DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType, DWORD DevIndex, PVCI_BOARD_INFO pInfo);

参数

DevType 设备类型号。

DevIndex 设备索引号, 当为CAN232 时,0 表示要打开的是COM1,1 表示要打开的是COM2

当为NET-CAN 时,DevIndex表示目标NET-CAN卡的IP地址。注意顺序,低位在前。

如:192.168.0.10的表示方法是0x0A00A8C0

当为USB-CAN 时,DevIndex表示目标第几个USB-CAN设备,一般填入1。

返回值:为1 表示操作成功,0 表示操作失败,-1表示设备未打开。

pInfo 用来存储设备信息的VCI_BOARD_INFO 结构指针。

示例

VCI_BOARD_INFO pData[1]; if(VCI_ReadBoardInfo(m_DevIndex,m_DevIndex,pData)!=1) { } MessageBox("读取失败"); return;

4.2.5 VCI_ReadCanStatus

描述此函数用以获取CAN 状态。

DWORD __stdcallVCI_ReadCanStatus(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_STATUS pCANStatus);

参数

DevType 设备类型号。

DevIndex 设备索引号, 当为CAN232 时,0 表示要打开的是COM1,1 表示要打开的是COM2

当为NET-CAN 时,DevIndex表示目标NET-CAN卡的IP地址。注意顺序,低位在前。

如:192.168.0.10的表示方法是0x0A00A8C0

当为USB-CAN 时,DevIndex表示目标第几个USB-CAN设备,一般填入1。

返回值:为1 表示操作成功,0 表示操作失败,-1表示设备未打开。

注:NET-CAN卡目前不支持此功能。

CANIndex 第几路CAN。

pCANStatus 用来存储CAN 状态的VCI_CAN_STATUS 结构指针。返回值为1 表示操作成功,0 表示操作失败。 示例

#include "ControlCan.h"

VCI_CAN_STATUS vcs;

VCI_ReadCANStatus(nDeviceType, nDeviceInd, nCANInd, &vcs);

17

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

4.2.6 VCI_GetReference

描述此函数用以获取设备的相应参数。

DWORD __stdcall VCI_GetReference(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,DWORD Reserved,BYTE *pData);

参数

DevType 设备类型号。

DevIndex 设备索引号, 当为CAN232 时,0 表示要打开的是COM1,1 表示要打开的是COM2

当为NET-CAN 时,DevIndex表示目标NET-CAN卡的IP地址。注意顺序,低位在前。

如:192.168.0.10的表示方法是0x0A00A8C0

当为USB-CAN 时,DevIndex表示目标第几个USB-CAN设备,一般填入1。

CANIndex 第几路CAN。

RefType 参数类型。目前只支持REFTYPE_ALL,即将所有的配置信息都读取出来

pData 用来存储参数有关数据缓冲区地址首指针。

4.2.7 VCI_SetReference

描述此函数用以设置设备的相应参数,主要处理不同设备的特定操作。

DWORD __stdcall VCI_SetReference(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,DWORD RefType,BYTE *pData);

参数

DevType 设备类型号。

DevIndex 设备索引号, 当为CAN232 时,0 表示要打开的是COM1,1 表示要打开的是COM2

当为NET-CAN 时,DevIndex表示目标NET-CAN卡的IP地址。注意顺序,低位在前。

如:192.168.0.10的表示方法是0x0A00A8C0

当为USB-CAN 时,DevIndex表示目标第几个USB-CAN设备,一般填入1。

CANIndex 第几路CAN。

RefType 参数类型。

pData 用来存储参数有关数据缓冲区地址首指针。

返回值:为1 表示操作成功,0 表示操作失败,-1表示设备未打开。

VCI_SetReference 和VCI_GetReference 这两个函数是用来针对各个不同设备的一些特定操作的。比如

CAN232 的更改波特率,设置报文滤波等等。

可以设置的参数及REFTYPE码如下:

#define REFTYPE_kCANBAUD 长度3

#define REFTYPE_MODE 长度1

#define REFTYPE_FILTER 长度1

#define REFTYPE_ACR0 长度4

#define REFTYPE_AMR0 长度4

#define REFTYPE_CANRX_EN 长度1

#define REFTYPE_UARTBAUD 长度1

#define REFTYPE_DEVICE_IP0 长度4

#define REFTYPE_HOST_IP0 长度4

#define REFTYPE_ALL 表示所有参数都要配置

注意:如果更改了串口波特率,则下次板卡上电新值生效。请记住更改后的值。

4.2.8 VCI_ResumeConfig

DWORD __stdcall VCI_ResumeConfig(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd);

18

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

参数

DevType 设备类型号。

DevIndex 设备索引号, 当为CAN232 时,0 表示要打开的是COM1,1 表示要打开的是COM2

当为NET-CAN 时,DevIndex表示目标NET-CAN卡的IP地址。注意顺序,低位在前。

如:192.168.0.10的表示方法是0x0A00A8C0

当为USB-CAN 时,DevIndex表示目标第几个USB-CAN设备,一般填入1。

CANIndex 第几路CAN。

返回值:为1 表示操作成功,0 表示操作失败,-1表示设备未打开。

调用该函数将对CAN卡恢复到出厂参数。

举例:

if(VCI_ResumeConfig(DEV_CAN232B, dlg->m_DevIndex, 1)!=1)

{

MessageBox("恢复出厂设置失败");

return;

}

MessageBox("已恢复为出厂设置!");

4.2.9 VCI_StartCAN

DWORD __stdcall VCI_StartCAN(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd); 参数

DevType 设备类型号。

DevIndex 设备索引号, 当为CAN232 时,0 表示要打开的是COM1,1 表示要打开的是COM2

当为NET-CAN 时,DevIndex表示目标NET-CAN卡的IP地址。注意顺序,低位在前。

如:192.168.0.10的表示方法是0x0A00A8C0

当为USB-CAN 时,DevIndex表示目标第几个USB-CAN设备,一般填入1。

CANIndex 第几路CAN。

返回值:为1 表示操作成功,0 表示操作失败,-1表示设备未打开。

注:此函数执行完成后,CAN控制器会被启动,并允许CAN中断接收。

举例:

if(VCI_OpenDevice(DEV_CAN232B,m_nComPort,nComBaud)!=1)

{

MessageBox("打开失败");

return;

}

CCANTestDlg *dlg=(CCANTestDlg*) AfxGetApp()->GetMainWnd();

dlg->m_DevIndex=m_nComPort;

if(VCI_StartCAN(DEV_CAN232B,dlg->m_DevIndex, 1)!=1)

{

MessageBox("启动CAN失败");

return;

}

4.2.10 VCI_ResetCAN

DWORD __stdcall VCI_ResetCAN(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd); 参数

19

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

DevType 设备类型号。

DevIndex 设备索引号, 当为CAN232 时,0 表示要打开的是COM1,1 表示要打开的是COM2。

CANIndex 第几路CAN。

返回值:为1 表示操作成功,0 表示操作失败,-1表示设备未打开。

注:此函数执行完成后,CAN控制器会以当前的参数重新初始化,并关断接收,等待打开。

4.2.11 VCI_Transmit

DWORD __stdcallVCI_Transmit(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pSend); 参数

DevType 设备类型号。

DevIndex 设备索引号, 当为CAN232 时,0 表示要打开的是COM1,1 表示要打开的是COM2

当为NET-CAN 时,DevIndex表示目标NET-CAN卡的IP地址。注意顺序,低位在前。

如:192.168.0.10的表示方法是0x0A00A8C0

当为USB-CAN 时,DevIndex表示目标第几个USB-CAN设备,一般填入1。

CANIndex 第几路CAN。

pSend 要发送的数据帧数组的首指针。注:每次调用只能发送1帧

返回值:为1 表示操作成功,0 表示操作失败,-1表示设备未打开。

示例

VCI_CAN_OBJ sendbuf[1];

int flag;

flag=VCI_Transmit(DEV_CAN232B,DeviceIndex,1,sendbuf,1);//CAN????·???

if(flag!=1)

{

if(flag==-1)

MessageBox("?设备未打开");

else if(flag==0)

MessageBox("发送失败");

return;

}

3.2.12 VCI_Receive

描述此函数从指定的设备读取数据。

ULONG __stdcallVCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive);

参数DevType

设备类型号 DevIndex

DevIndex 设备索引号, 当为CAN232 时,0 表示要打开的是COM1,1 表示要打开的是COM2

当为NET-CAN 时,DevIndex表示目标NET-CAN卡的IP地址。注意顺序,低位在前。

如:192.168.0.10的表示方法是0x0A00A8C0

当为USB-CAN 时,DevIndex表示目标第几个USB-CAN设备,一般填入1。

CANIndex 第几路CAN。

pReceive 用来接收的数据帧数组的首指针。

返回值:返回实际读取到的帧数。

如果返回值为0表示未收到,-1表示设备未打开。

示例

20

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

#include "ControlCan.h"

VCI_CAN_OBJ databuf[300];

Value=VCI8501_CanReceive(1, databuf);

3.3 接口库函数使用方法

首先,把库函数文件都放在工作目录下。总共有三个文件VCI8501_CAN232.H,

VCI8501_CAN232.LIB,VCI8501_CAN232.DLL。

上述3个库文件同时也支持采用VC,VB,PB,Delphi,C++Builder等工具进行编程。

3.3.1 VC 调用动态库的方法

(1)在.CPP 中包含ControlCAN.h 头文件;

(2)在工程文件中加入ControlCAN.lib 文件。

3.3.2 VB 调用动态库的方法

通过以下方法进行声明后就可以调用了。

语法:

[Public | Private] Declare Function name Lib "libname" [Alias "aliasname"] [([arglist])]

[As type]

Declare 语句的语法包含下面部分:

Public (可选)用于声明在所有模块中的所有过程都可以使用的函数。

Private(可选),用于声明只能在包含该声明的模块中使用的函数。

Name(必选),任何合法的函数名。动态链接库的入口处(entry points)区分大小写。 Libname(必选),包含所声明的函数动态链接库名或代码资源名。

Alias(可选),表示将被调用的函数在动态链接库 (DLL) 中还有另外的名称。当外部函数名与某个函数重

名时,就可以使用这个参数。当动态链接库的函数与同一范围内的公用变量、常数或任何其它过程的名称

相同时,也可以使用 Alias。如果该动态链接库函数中的某个字符不符合动态链接库的命名约定时,也可

以使用 Alias。

Aliasname(可选)动态链接库。如果首字符不是数字符号 (#),则 aliasname 是动态链接库中该函数入

口处的名称。如果首字符是 (#),则随后的字符必须指定该函数入口处的顺序号。

Arglist(可选),代表调用该函数时需要传递参数的变量表。

Type(可选),Function 返回值的数据类型;可以是 Byte、Boolean、Integer、Long、Currency、Single、

Double、Decimal(目前尚不支持)、Date、String(只支持变长)或 Variant,用户定义类型,或对象类

型。

arglist 参数的语法如下:

[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type]

部分描述:

Optional(可选),表示参数不是必需的。如果使用该选项,则 arglist 中的后续参数都必需是可选

的,而且必须都使用 Optional 关键字声明。如果使用了 ParamArray,则任何参数都不能使用 21

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

Optional。

ByVal(可选),表示该参数按值传递。

ByRef(可选),表示该参数按地址传递。

例如:Public Declare Function VCI_OpenDevice Lib "ControlCAN" (ByVal devicetype As Long, ByVal deviceind

As Long, ByVal reserved As Long) As Long

22

GY8501 CAN232B PC-CAN总线接口卡 武汉吉阳光电科技有限公司

第四章 附录

关于ACR0-ACR3,AMR0-AMR4等寄存器的设置请参考SJA1000数据手册的相关部分,仅了解相关部分即可。

附录1:CAN2.0B协议帧格式(可参考SJA1000 CAN控制器)

GY8501CAN232BPCCAN总线接口卡使用说明书

23

更多相关推荐:
客户关系管理使用总结

客户关系管理软件使用总结随着市场竞争的日益激烈,提供相同产品服务的企业,就产品服务本身而言,差异化越来越小。未来谁能掌握客户的需求趋势、保持与客户的关系,扩展自己的客户渠道,谁就能取得市场优势。今天,尽管大多数…

Java集合框架使用总结

前言:本文是对Java集合框架做了一个概括性的解说,目的是对Java集合框架体系有个总体认识,如果你想学习具体的接口和类的使用方法,请参看JavaAPI文档。一、概述数据结构对程序设计有着深远的影响,在面向过程…

毕业答辩必看ppt幻灯片使用总结

毕业答辩必看ppt幻灯片使用总结本文来自:安庆大学论坛作者:lala20xx日期:20xx-9-919:04阅读:76人打印收藏大中小技巧,读者,幻灯片,模板一、幻灯片的模板下面向读者简单介绍一些关于幻灯模板的…

ppt幻灯片使用总结

研究生毕业答辩必看ppt幻灯片使用总结一、幻灯片的模板下面向读者简单介绍一些关于幻灯模板的使用技巧。1.页面大小的选择此为幻灯片模板选择的第一步(许多人从来没有用过这个设置)。打开“文件”→“页面设置”→选择“…

ppt幻灯片使用总结

毕业答辩必看ppt幻灯片使用总结--部分摘录一、幻灯片的模板下面向读者简单介绍一些关于幻灯模板的使用技巧。1.页面大小的选择此为幻灯片模板选择的第一步(许多人从来没有用过这个设置)。打开“文件”→“页面设置”→…

究生毕业答辩必看ppt幻灯片使用总结

究生毕业答辩必看ppt幻灯片使用总结一、幻灯片模板的使用技巧。1.页面大小的选择打开“文件”→“页面设置”→选择“幻灯片大小”。默认设置是屏幕大小,可根据需要更改设置。2.幻灯片的通用模板大家可以通过搜索引擎可…

毕业答辩必看ppt幻灯片使用总结

毕业答辩必看ppt幻灯片使用总结一、幻灯片的模板下面向读者简单介绍一些关于幻灯模板的使用技巧。1.页面大小的选择此为幻灯片模板选择的第一步(许多人从来没有用过这个设置)。打开“文件”→“页面设置”→选择“幻灯片…

MSComm控件使用总结

MSComm控件在VS20xx和VC6中是不同的下面以VS20xx中为例说明该控件的使用1打开串口并初始化voidCSMommTestDlgOnBnClickedBtn位TODO在此添加控件通知处理程序代码if...

Extjs4.1的使用总结

ExtJs使用总结一获取元素GettingElements1ExtgetvarelExtget39myElementId39获取元素等同于documentgetElementById39myElementId3...

Ansoftlinks初次使用总结

1选择需要导出的部分如果全部导出记得显示所有层2导入后首先检查layers然后在toolsgtExportoptions里选择就是模型建立时对圆的一些近似处理3确定电源地netsEditgtselectgrou...

安卓应用总结

安卓应用总结一Activity类1生命周期Android定义了一系列与生命周期相关的方法在我们自己的Activity中只是根据需要复写需要的方法Java的多态性会保证我们自己的方法被虚拟机调用即回调方法publ...

护士试用期总结

护士试用期总结转眼间作为新聘用护士的试用期已经过去一半了我收获颇丰也感悟良多经过这样紧张有序的一个多月我感觉自己工作技能上了一个新台阶做每一项工作都有了明确的计划和步骤行动有了方向工作有了目标心中真正有了底基本...

使用总结(166篇)