你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32G431 用DWT外设用来计时,DWT->CYCCNT的值一直固定不变,程序里面都使能了。还有别的寄存器要打开吗?

[复制链接]
张卫 提问时间:2024-10-20 17:28 / 未解决

CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk

DWT->CYCCNT=0;

DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk

收藏 评论2 发布时间:2024-10-20 17:28

举报

2个回答
xmshao 回答时间:2024-10-21 11:20:02
我找G4系列开发板测试了下,配置跟你似乎一样,我在寄存器窗口可以看到CNT变化。




void user_dly(uint16_t Delay)
{


  CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk;
  DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk;  //Enable DWT counter counting
  DWT->CYCCNT = 0;
  while(DWT->CYCCNT < Delay);
      
}
rrr.png

张卫 回答时间:2024-10-21 16:15:04

xmshao 发表于 2024-10-21 11:20
我找G4系列开发板测试了下,配置跟你似乎一样,我在寄存器窗口可以看到CNT变化。</p>
<p>

我用j-scope也看到了数据的变化,但是通过串口输出是就变成固定的1073741824了。

float A=DWT->CYCCNT

用串口把A输出到vofa+的时候就成了固定值了,找了相关资料DWT->CYCCNT是u32类型的,要怎么才能转换成float类型呢?我看了vofa接收到的数据,数据恒定是00 00 80 4E

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版