STMCU小助手
发布时间:2022-1-20 21:39
|
I.STM32 DWT时间戳功能实现 1.m3、m4实测可用。 2.精度:1/内核频率(s)。 3.实现流程: a.先使能DWT外设,由内核调试寄存器DEM_CR的位24控制,写1使能。 b.使能CYCCNT寄存器之前,先清0。 c.使能CYCCNT寄存器,由DWT_CTRL的位0控制,写1使能。 4.实现代码如下:
5.使用场景: a.可用来实现延时功能。 b.测量程序运行时间。 c.。。。。。 II.STM32 ITM调试功能实现 1.概念:ITM是一应用驱动的跟踪源,它支持printf类的调试手段来跟踪操作系统和应用事件, 并发布判定的系统信息。ITM以包的形式发布跟踪信息。 2.实际应用:当调试时需要打印出信息,而又不能占用串口时,ITM就派上用场了。 3.m3、m4实测可用。 4.配置步骤: a.配置TPIU并使能I/IO_TRACEN以使能TRACE的引脚 b.向Trace Lock Access寄存器写入0xC5ACCE55,以允许写其他ITM寄存器 c.向Trace Control寄存器写入0x00010005,使能TPIU的同步包并使能整个ITM功能, 寄存器中的ATB ID为0x01 d.向ITM Trace Enable寄存器写入0x01,以使能触发端口0 e.向ITM Trace Privilege寄存器写入0x01,关闭对触发端口7:0的屏蔽 f.把需要输出的值写入触发端口0寄存器,这个步骤可以通过软件完成(使用printf功能) 5.注意事项: a.只能使用SWD方式调试 b.需要使用到TRACESWO引脚,正常为PB3 6.代码实现:
7.功能窗口: 可使用以下两种方式查看打印信息: a.使用keil debug功能。
![]() ![]() |
STM32G0 系列 I2C 通信异常典型案例分析与解决方案总结
经验分享 | LAT1490 两个STM32G0 I2C 通信异常的案例分析
经验分享 | STM32G0 I2C bootloader Go 命令后调试连接失败:DBG_SWEN 位复位修复
经验分享 | STM32G0B1 待机模式意外唤醒深度解析:RTC 结构体未初始化的隐形坑
经验分享 | STM32G0B1 待机模式意外唤醒深度解析:RTC 结构体未初始化的隐形坑
如何在STM32和Arduino上实现卷积神经网络
STM32与51单片机差异一文速览
STM32芯片命名规则
STM32 引脚到底有多少?为什么一个引脚能当好几个用?
【STM32入门学习路径指南】(四步走)
微信公众号
手机版