主题中讨论的其他部件:LUNCHXL-F28.0049万C, C2000WARE, DRV8353
您好,
我有 一个带电机控制固件的LAUNCHXL-F28.0049万C (从x0025处理器移植)。
将此代码加载到处理器时,2个LED针脚(GPIO23和34符合数据表)保持高阻抗状态。
加载另一个程序时,LED将打开/关闭(紧跟在main()之后)
这可能是什么问题? 链接程序文件已损坏?
此致,
Ruud
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好,
我有 一个带电机控制固件的LAUNCHXL-F28.0049万C (从x0025处理器移植)。
将此代码加载到处理器时,2个LED针脚(GPIO23和34符合数据表)保持高阻抗状态。
加载另一个程序时,LED将打开/关闭(紧跟在main()之后)
这可能是什么问题? 链接程序文件已损坏?
此致,
Ruud
您好,Gus,
我已移植并正在使用电机控制固件(部分)。 在调试器运行到main()时,我配置了端口并检查LED是否打开/关闭(在霍尔斜化之前)。 IO针脚配置与我的其他固件一样,工作正常。 加载另一个程序时,LED工作正常,因此此处没有硬件问题。
我使用 GPIO写入引脚(23,1);和GPIO切换引脚(23);函数。
与我的另一个proram不同的是我在那里使用driverlib。 因此,只需删除src_driver中的所有文件并包含driverlib。 仍然不工作。
但是,当使用切换寄存器时,LED将切换。
###
只需将优化级别从Off (关)设置为0 (Register Optimizations (配准优化))。 现在,引脚将切换,但不可能存在断点(在 GPIO _TogglePin函数上),调试中的代码步进实际上不可能实现。
在我的其他固件中,可以在“优化关闭”和“0”(注册优化)中使用断点和代码步进。
这两个代码都是从闪存运行的,并且使用编译器21.6LTS
此致,
Ruud
Ruud,
当代码从Flash运行时,调试器将使用硬件断点。 限制为2个HW断点。 您可能需要 检查 “查看”>“CCS中的断点”以查看是否启用了太多的HW断点。 有关硬件断点的更多信息,请参阅以下内容。
https://software-dl.ti.com/ccs/esd/documents/ccs_breakpoint_watchpoint_c2000.html
我买了一个Launchpad f28.0025万C,重新安装了电机控制软件,导入了一个新项目 ,正如 教程所解释的那样。 已将f28.0025万C板连接至DRV8352RS-EVM板。 完全按照教程操作。
调试器将遇到指示灯的代码:
if(systemVars.counterLED > (uint16_t)(LED_BLINK_FREQ_Hz * 1000))
{
HAL_toggleLED(halHandle, HAL_GPIO_LED2C);
systemVars.counterLED = 0;
}
HAL_ToggleLED行上不能有断点,但这可能是由于优化级别。 在 systemVars.counterLED =0上设置断点;调试器停止。 没有指示灯 切换。
LED1打开(3V3)。
有什么想法吗?