我找到了一些答案,但没有解决我的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发送到计算机以分析数据。*
2条答案
按热度按时间5w9g7ksd1#
我发现了我的问题所在:
我的“核心时钟(MHz)",在调试设置,是错误的,这就是为什么我的SWV不能正常工作
wsxa1bj12#
如果没有SWV数据-您需要将SWO引脚连接到ST-LINKV 2。SWV数据传输在SWO引脚上。在我的STM32 F3 DISCOVERY上,SB 10没有焊接,SB 10将PB 3 SWO引脚连接到T_SWO调试器网络。焊接后,SB 10 SWV工作正常。