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

调用SFO()出现的问题

上传了附件,如果可以请查看一下什么地方有问题。

在自己的程序中,添加SFO_TI_Build_V6B.lib文件。

文件放在工程目录下,在main程序中

#include "SFO_V6.h"

int MEP_ScaleFactor;

另外在library option in the File Search Path options中 添加了Lib文件也添加了Lib文件路径。

可是在调用SFO()函数时出现以下错误提示:

1.#10010 errors encountered during linking;"charger.out"not built

2.#10234_D unresolved symbols remain

3.unresolved symbol _ePWM,first regerenced in d:/sxd28035a/byheshuai/Charger/SFO_TI_Build_V6b.lib<SFO_V6b.obj>

其中点开2错误的提示操作就是讲将LIB文件和路径添加以下。的确添加了。

请帮忙解答一下。

PS:在自己工程中曾经调用过flash_api的lib,按照方法在file search path options中添加了Lib文件和路径就可以用了。

不知道为什么SFO不行。

我的PWM配置的分开配置的。不像例程中是用结构体数组来循环配置初始化。

另外再28035的HRPWM例程中

volatile struct EPWM_REGS *ePWM[PWM_CH] =
{ &EPwm1Regs, &EPwm1Regs, &EPwm2Regs, &EPwm3Regs, &EPwm4Regs};

定义的这个结构体数组里面,数组0和1都是Epwm1Regs,这是为什么呢?

Victor Zheng:

//====================================================================// The following declarations are required in order to use the SFO// library functions:

首先在你的程序里必须定义下面的内容

//int MEP_ScaleFactor[PWM_CH]; // Global variable used by teh SFO library                     // Result can be used for all HRPWM channels                     // This variable is also copied to HRMSTEP                     // register by SFO() function.

// Array of pointers to EPwm register structures:// *ePWM[0] is defined as dummy value not used in the examplevolatile struct EPWM_REGS *ePWM[PWM_CH] =             {  &EPwm1Regs,&EPwm1Regs};

//====================================================================

 

另外你需要在SFO_V6.h中定义,注意这里的值要和上面volatile struct EPWM_REGS的定义对应。

//============================================================================// USER MUST UPDATE THIS CONSTANT FOR NUMBER OF HRPWM CHANNELS USED//============================================================================#define PWM_CH  2   // Equal # of HRPWM channels PLUS 1                    // i.e. PWM_CH is 9 for 8 channels, 7 for 6 channels, etc.//============================================================================

上传了附件,如果可以请查看一下什么地方有问题。

在自己的程序中,添加SFO_TI_Build_V6B.lib文件。

文件放在工程目录下,在main程序中

#include "SFO_V6.h"

int MEP_ScaleFactor;

另外在library option in the File Search Path options中 添加了Lib文件也添加了Lib文件路径。

可是在调用SFO()函数时出现以下错误提示:

1.#10010 errors encountered during linking;"charger.out"not built

2.#10234_D unresolved symbols remain

3.unresolved symbol _ePWM,first regerenced in d:/sxd28035a/byheshuai/Charger/SFO_TI_Build_V6b.lib<SFO_V6b.obj>

其中点开2错误的提示操作就是讲将LIB文件和路径添加以下。的确添加了。

请帮忙解答一下。

PS:在自己工程中曾经调用过flash_api的lib,按照方法在file search path options中添加了Lib文件和路径就可以用了。

不知道为什么SFO不行。

我的PWM配置的分开配置的。不像例程中是用结构体数组来循环配置初始化。

另外再28035的HRPWM例程中

volatile struct EPWM_REGS *ePWM[PWM_CH] =
{ &EPwm1Regs, &EPwm1Regs, &EPwm2Regs, &EPwm3Regs, &EPwm4Regs};

定义的这个结构体数组里面,数组0和1都是Epwm1Regs,这是为什么呢?

he code:

回复 Victor Zheng:

就是说HRPWM必须定义成结构体数组

#define PWM_CH 3

volatile struct  EPWM_REGS *ePWM[PWM_CH]={ &EPwm1Regs,&EPwm1Regs,&EPwm2Regs};

如果不是结构体的初始化就无法使用SFO()?

那如果我要求PWM2与PWM1的相位相差180度

采用例程中的那种初始化方式怎么设置呢?

初始化过程中可以根据通道的不同设置不一样的参数吗?

上传了附件,如果可以请查看一下什么地方有问题。

在自己的程序中,添加SFO_TI_Build_V6B.lib文件。

文件放在工程目录下,在main程序中

#include "SFO_V6.h"

int MEP_ScaleFactor;

另外在library option in the File Search Path options中 添加了Lib文件也添加了Lib文件路径。

可是在调用SFO()函数时出现以下错误提示:

1.#10010 errors encountered during linking;"charger.out"not built

2.#10234_D unresolved symbols remain

3.unresolved symbol _ePWM,first regerenced in d:/sxd28035a/byheshuai/Charger/SFO_TI_Build_V6b.lib<SFO_V6b.obj>

其中点开2错误的提示操作就是讲将LIB文件和路径添加以下。的确添加了。

请帮忙解答一下。

PS:在自己工程中曾经调用过flash_api的lib,按照方法在file search path options中添加了Lib文件和路径就可以用了。

不知道为什么SFO不行。

我的PWM配置的分开配置的。不像例程中是用结构体数组来循环配置初始化。

另外再28035的HRPWM例程中

volatile struct EPWM_REGS *ePWM[PWM_CH] =
{ &EPwm1Regs, &EPwm1Regs, &EPwm2Regs, &EPwm3Regs, &EPwm4Regs};

定义的这个结构体数组里面,数组0和1都是Epwm1Regs,这是为什么呢?

Victor Zheng:

回复 he code:

volatile struct  EPWM_REGS *ePWM[PWM_CH]={ &EPwm1Regs,&EPwm1Regs,&EPwm2Regs};

这个只是给SFO用的,你配置PWM时用正常的头文件中的结构体。SFO是个单独的东西,和你的其他PWM配置无关。

上传了附件,如果可以请查看一下什么地方有问题。

在自己的程序中,添加SFO_TI_Build_V6B.lib文件。

文件放在工程目录下,在main程序中

#include "SFO_V6.h"

int MEP_ScaleFactor;

另外在library option in the File Search Path options中 添加了Lib文件也添加了Lib文件路径。

可是在调用SFO()函数时出现以下错误提示:

1.#10010 errors encountered during linking;"charger.out"not built

2.#10234_D unresolved symbols remain

3.unresolved symbol _ePWM,first regerenced in d:/sxd28035a/byheshuai/Charger/SFO_TI_Build_V6b.lib<SFO_V6b.obj>

其中点开2错误的提示操作就是讲将LIB文件和路径添加以下。的确添加了。

请帮忙解答一下。

PS:在自己工程中曾经调用过flash_api的lib,按照方法在file search path options中添加了Lib文件和路径就可以用了。

不知道为什么SFO不行。

我的PWM配置的分开配置的。不像例程中是用结构体数组来循环配置初始化。

另外再28035的HRPWM例程中

volatile struct EPWM_REGS *ePWM[PWM_CH] =
{ &EPwm1Regs, &EPwm1Regs, &EPwm2Regs, &EPwm3Regs, &EPwm4Regs};

定义的这个结构体数组里面,数组0和1都是Epwm1Regs,这是为什么呢?

he code:

回复 Victor Zheng:

也就是说程序中只需要定义volatile struct  EPWM_REGS *ePWM[PWM_CH]={ &EPwm1Regs,&EPwm1Regs,&EPwm2Regs};就可以了。

具体的PWM初始化我还用以前文件来初始化?

如果没有volatile struct  EPWM_REGS *ePWM[PWM_CH]={ &EPwm1Regs,&EPwm1Regs,&EPwm2Regs};

程序中SFO就无法使用了?

是这个意思吗?

赞(0)
未经允许不得转载:TI中文支持网 » 调用SFO()出现的问题
分享到: 更多 (0)