TI中文支持网
TI专业的中文技术问题搜集分享网站

MotorWare中的驱动部分外设没有操作方法(如只有can.h,没有can.c)

学习使用motorware开发过程中,需要使用到CAN。但仔细查找HAL之后发现,居然没有CAN的操作方法。回头又查了一下drivers and moduls,发现除了CAN之外,还有CLA,I2C,LIN都没有相关操作方法。烦请解释。另外,motorware基于开发板做了一些特别针对开发板的drivers,如我们自已设的控制板,针对我们自已的板的drivers如何编写?谢谢!

Martin Yu:

Motorware主要包含的是InstaSPIN的算法,电机驱动部分,CAN等片内外设的使用请参考controlsuite中的例程,但两个程序的风格不一样,保持lab程序的软件架构,添加CAN等使用在应用层。

学习使用motorware开发过程中,需要使用到CAN。但仔细查找HAL之后发现,居然没有CAN的操作方法。回头又查了一下drivers and moduls,发现除了CAN之外,还有CLA,I2C,LIN都没有相关操作方法。烦请解释。另外,motorware基于开发板做了一些特别针对开发板的drivers,如我们自已设的控制板,针对我们自已的板的drivers如何编写?谢谢!

kegan zhu:

回复 Martin Yu:

motorware的作用,就是将面向过程的编程方法,变成面向过程的方法。所谓抽象层,就是将硬件及其操作函数进行抽象(类定义),利用类来定义不同的对象。编制程序时,只需对每个对象进行必须的操作即可。

这样问题就来了,CONTROLSUIT里的CAN示例基本上都是面向过程的,如果我们利用motorware进行开发时,岂不是成为一个混合体:即要面向对象编程,又要面向过程编程?

实际测试了一下,将can.h包含在LAB中进行混合编程是可行的;对Can的相关寄存器及操作函数进行封装(类定义),再定义一些适当的对象,采用LAB示例的方式,对CAN进行编程也是可行的。只是对CAN的相关寄存器及操作函数进行封装,比较麻烦。

赞(0)
未经允许不得转载:TI中文支持网 » MotorWare中的驱动部分外设没有操作方法(如只有can.h,没有can.c)
分享到: 更多 (0)