STM32 SWO

swv是stlink自带的一个功能(SWO引脚 连接stm32的PB3),可以用来看LOG,从而减少一个UART的使用。相比jlink自带的RTT,jlink需要添加jlink目录下的几个文件,而STLINK的SWV功能就很简单了(一句代码)。

如果STLINK是20pin,那么直接接在stm32的板子上的20pin接口就可以

其实只是用到了 7 9 13 引脚,7 9 脚SWD 接在STM32的PA13、PA14引脚,13引脚SWO接在STM32的PB3引脚

打印所需的代码,本来使用的是uart1打印,现在屏蔽,换为stlink的打印,其实就一句代码ITM_SendChar(ch) 即可

//加入以下代码,支持printf函数,而不需要选择use MicroLIB              
struct __FILE 
{ 
    int handle; 

}; 
FILE __stdout;  

//重定义fputc函数 
//int fputc(int ch, FILE *f)
//{      
//    while((USART1->SR&0X40)==0){}//循环发送,直到发送完毕   
//    USART1->DR = (u8) ch;      
//    return ch;
//}

int fputc(int ch, FILE *f) 
{ 
    ITM_SendChar(ch); 
    return ch; 
}

main函数:

int main(void)
{
    static uint8_t i = 0;
    
    delay_init();     

     while(1)
    {
        printf("now is %d\n", i++);
        delay_ms(1000);
    }
}

效果如下图:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值