
前言 客户在使用 ST FOC4.3 库文件控制电机过程中,当使用了 STM32F30x 芯片时,如果使用的是 ICS(Isolated Current Sensor)采样电流信号时会遇到无法编译通过报错问题,本文用以说明如果修正这个问题。 问题描述 使用芯片为 STM32F303RCT6,当用到 FOC4.3 库进行电机控制时,如果使用了 ICS 作为电流采样,会遇到编译报错,如下提示: ![]() 具体位置在 MCTask.c 的下面程序段:
看到上的错误提示是没有定义 ICS_DDParamsM1 和 IF3XX_NewObject 所用的形参 pICS_F30xParams_t 没有匹配。察看库中调用的根源在 pICS_F30XParams_t 与 ICS_DDParamsM1 是不同的,有个别的地方需要调整,因此根源在于没有在头文件中定义相应的参数表。
解决方法 1. 在...\web\SystemDriveParams 中增加支持 STM32F30x 的 ICS 采样的参数定义 ICS_F30XParams_t ICS_F30XParamsM1 = {……} ; 2. 该参数表需要对应于 pICS_F30XParams_t 结构体中的定义,新增文件见附件文件; ![]() 3. 修改 MCTask.c 中的形参,改 ICS_DDParamsM1 为 ICS_F30XParamsM1 ![]() |