debugging STM32 F302- printf()中的SWV具有不同的字符

xxb16uws  于 2022-11-14  发布在  其他
关注(0)|答案(2)|浏览(146)

我找到了一些答案,但没有解决我的STM32F302问题。我在SWV ITM数据控制台中将调试运行配置为printf(),如下所示:
IMG-Debug_Config
我实现了如下_write函数:

int _write(int file, char *ptr, int len)
{
     int DataIdx;
     for (DataIdx = 0; DataIdx < len; DataIdx++)
     {
         ITM_SendChar((*ptr++));
     }
     return len;
}

并试图为“异步跟踪”和“串行线”设置系统时钟,没有一个工作,我一直得到相同的输出(SWV图也不工作):
IMG-SWV_Output
关于这个问题有什么建议吗?我只是想调试变量,以确保我得到正确的测量。

  • PS.只是我的项目的一个简短:用于光传感器的ADC。我需要通过激光样品测量生成图形。使用STM32和光电二极管进行测量,完成测量并将.csv或.txt从USB发送到计算机以分析数据。*
5w9g7ksd

5w9g7ksd1#

我发现了我的问题所在:
我的“核心时钟(MHz)",在调试设置,是错误的,这就是为什么我的SWV不能正常工作

wsxa1bj1

wsxa1bj12#

如果没有SWV数据-您需要将SWO引脚连接到ST-LINKV 2。SWV数据传输在SWO引脚上。在我的STM32 F3 DISCOVERY上,SB 10没有焊接,SB 10将PB 3 SWO引脚连接到T_SWO调试器网络。焊接后,SB 10 SWV工作正常。

相关问题