我正试图使用不同于固件中预编程序的电机来控制 BLDC_Shield。 这意味着我需要按照
SetParameter()方法重新刷新 Shield。 当尝试在 uVision 中执行此操作时,需要花费大量精力使用 ARM::CMSIS 5.9.0 而不是 ARM::CMSIS 6.0.0 或更高版本的旧软件包。 唯一的方法是在 Bootloader 和 FOC 中注释掉下面几行,这样就能构建项目了:
命令.c
第 26 行、第 32 行和第 43 行:SSC2->CON.PRG_bit.EN = 0;
ERROR:
compiling commands.c...
appcommands.c(26): 错误:#136: union"" has no field"PRG_bit"
SSC2->CON.PRG_bit.EN = 0;
port.c
第 47、48、49 行和第 82、83、84 行
SCU->P0_POCON0.reg = (uint8)SCU_P0_POCON0;
SCU->P0_POCON1.reg = (uint8)SCU_P0_POCON1;
SCU->P0_POCON2.reg = (uint8)SCU_P0_POCON2;
错误
正在编译 port.c...
RTE/Device/TLE9879QXA40/port.c(47): 错误:#20:标识符“SCU_P0_POCON0”未定义
SCU->P0_POCON0.reg = (uint8)SCU_P0_POCON0;
并且仅在 FOC 中:
82,83行
BDRV->CTRL1.reg = (uint32) BDRV_CTRL1;
BDRV->CTRL2.reg = (uint32) BDRV_CTRL2;
错误:
正在编译 bdrv.c...
RTE/Device/TLE9879QXA40/bdrv.c(82): 错误:#20:标识符“BDRV_CTRL1”未定义
BDRV->CTRL1.reg = (uint32) BDRV_CTRL1;
RTE/Device/TLE9879QXA40/bdrv.c(83): 错误:#20:标识符“BDRV_CTRL2”未定义
BDRV->CTRL2.reg = (uint32) BDRV_CTRL2;
如果我注释掉所有这些行。 我可以创建并上传文件,但当我试图命令 arduino 进入 FOC 模式时,却得到了如下结果:
15:13:35.816 -> INFO: Star
ting initialization
15:13:36.336 -> INFO: Sending reset request to all boards
15:13:37.847 -> INFO: Board 1 was successfully initialized
15:13:37.880 -> INFO: Done initializing
15:13:40.047 -> WARNING: Board[1]; Action[mode control]; failed -> from Bootloader to FOC; Answer: 1110
15:13:40.112 -> INFO: mode change complete -> Board: 1; FOC
15:13:40.178 -> WARNING: Board[1]; Action[change parameter]; action cannot be performed in bootloader
15:13:40.277 -> INFO: parameter change complete -> Board: 1; parameter: 54; value: 6.00
我希望能得到一些帮助,了解如何在不注释的情况下解决这些问题,或者找到合适的值将其定义为这些值。