微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式WinCE中CAN总线控制器的驱动设计与实现

嵌入式WinCE中CAN总线控制器的驱动设计与实现

时间:03-18 来源:互联网 点击:

  3.3CAN_IntrThread函数的设计实现

  在SJAl000控制器中,报文的发送和接收是采用中断方式来完成的。内核函数InterruptInitialize()外部中断事件和将逻辑中断号绑定,这一步就会使能该中断。当该中断发生时,ISR就触发该事件生效。完成以上工作后,驱动程序中的IST就可以使用WaitForsin-gleObject()函数等待中断的发生。中断处理结束后,IST需要调用InterruptDone()告诉操作系统中断处理结束。中断服务线程CAN_IntrThread函数程序流程图如图4所示。

  其他的流接口函数根据wincE流接口驱动程序模型进行编写。

  4驱动程序的封装及加载

 通过上面的工作,能够编译得到一个DLL函数,但它的接口函数还没有导出,还需要告诉链接程序需要输出什么样的函数。为此,必须建立一个def文件,使用WindoWS下自带的记事本程序编辑一个文件名为“Can.def”的文件:

  最后需要编写自己的CEC文件。主要是添加一个BuildMethod,任务是复制注册表到WinCE的系统目录下面。加一个bibFile,其主要功能是把编译的can.dll文件添加到系统内核中去。保存写好的CEC文件,在.PlatformBuildm中添加CEC特征到系统选项中去。生成系统时,添加自己的CEC特性,可以包含刚编写的can驱动程序。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top