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

如何添加eCan模块的库函数文件到TMS320F28069F的电机控制程序中。

想在FAST例程中添加can通讯。。找不到eCan模块的库函数文件。只能找到controlsuite中的寄存器文件。

囧:

在motorware的以下目录有ECAN的寄存器定义和一些内联库函数C:\TI\motorware\motorware_1_01_00_16\sw\drivers\can\src\32b\f28x\f2806x

想在FAST例程中添加can通讯。。找不到eCan模块的库函数文件。只能找到controlsuite中的寄存器文件。

ming chen3:

回复 囧:

该目录下只有can.h头文件,假如使用controlsuit中的历程,不同的编程风格是否支持。

想在FAST例程中添加can通讯。。找不到eCan模块的库函数文件。只能找到controlsuite中的寄存器文件。

Kancheng Huang:

回复 ming chen3:

如果你看一下ControlSuit和Motorware里的can.h,会发现两边是一样的,Motorware只是照抄了ControlSuit而已,你直接参照ControlSuit的例程写一个can.c就好了。

想在FAST例程中添加can通讯。。找不到eCan模块的库函数文件。只能找到controlsuite中的寄存器文件。

ming chen3:

回复 Kancheng Huang:

我使用controlduite中的can历程,

C:\ti\controlSUITE\device_support\f2806x\v150\F2806x_examples_ccsv5\ecan_back2back

在f2806x_ECan.c作如下修改:满足 90 MHz SYSCLKOUT,45 MHz CAN module clock Bit rate = 500 kbps

/* The following block is for 90 MHz SYSCLKOUT. (45 MHz CAN module clock Bit rate = 500 kbps See Note at end of file. */

ECanaShadow.CANBTC.bit.BRPREG = 4;//45M/5/(13+2+3)=500k ECanaShadow.CANBTC.bit.TSEG2REG = 2; ECanaShadow.CANBTC.bit.TSEG1REG = 13;

运行程序,死在

for(;;) {

ECanaRegs.CANTRS.all = 0x0000FFFF; // Set TRS for all transmit mailboxes while(ECanaRegs.CANTA.all != 0x0000FFFF ) {} // Wait for all TAn bits to be set..//程序死在这里 ECanaRegs.CANTA.all = 0x0000FFFF; // Clear all TAn MessageReceivedCount++;

这是什么原因,历程有问题吗?谢谢~

想在FAST例程中添加can通讯。。找不到eCan模块的库函数文件。只能找到controlsuite中的寄存器文件。

Kancheng Huang:

回复 ming chen3:

你把CANBTC改到适应90Mhz,那实际上你的SYSCLK那一段代码也改了么? 你动过这个函数了么 InitSysCtrl();

想在FAST例程中添加can通讯。。找不到eCan模块的库函数文件。只能找到controlsuite中的寄存器文件。

ming chen3:

回复 Kancheng Huang:

谢谢你的回答。是的,我在改了。10M*18/2 = 90M.

只改了这两个位置。

打开USB转CAN,程序运行没有数据刷新。

不知道问题出在哪里

想在FAST例程中添加can通讯。。找不到eCan模块的库函数文件。只能找到controlsuite中的寄存器文件。

deping long:

回复 ming chen3:

您好,不好意思打扰了。最近我也在做往motorware的程序中添加CAN通信的内容,也遇到了相同的问题,不知道您当时是怎么解决的?

我将controlsuite中CAN通信例程中关于ECan模块的寄存器初始化、设置、位域结构定义文件(F2806x_GlobalVariableDefs.c,只保留CAN的部分), 寄存器内存分配的cmd文件(F2806x_Headers_nonBIOS.cmd,只保留Can的部分)都添加到lab20中,GIPO设置使用的是原来motorware中的hal.c文件。测试通信时也程序也是卡在确认发送成功这一部分。改成自测试模式后也是卡在发送确认部分。感觉是设置的寄存器值并没有生效。但又不知道是什么原因。

请问您当时是怎么解决的呢?谢谢了!

想在FAST例程中添加can通讯。。找不到eCan模块的库函数文件。只能找到controlsuite中的寄存器文件。

user1303469:

回复 deping long:

我想用28027 外加一个can模块,有参考吗?

赞(0)
未经允许不得转载:TI中文支持网 » 如何添加eCan模块的库函数文件到TMS320F28069F的电机控制程序中。
分享到: 更多 (0)