硬汉嵌入式论坛

 找回密码
 立即注册
查看: 8346|回复: 7
收起左侧

[有问必答] M3的DWT怎么使用?

[复制链接]

8

主题

21

回帖

8

积分

新手上路

积分
8
发表于 2014-10-23 18:44:18 | 显示全部楼层 |阅读模式
在看ucos例程的时候,好像在时间戳函数中用到了DWT。但是很多手册对此好像没有详细介绍,有资料吗?
  1. void bsp_Init(void)
  2. {
  3.     NVIC_Configuration();  /* 中断优先级分组配置 */
  4.    
  5.     bsp_InitUart();        /* 初始化串口 */
  6.     bsp_InitLed();            /* 初始LED指示灯端口 */
  7. //    bsp_InitKey();            /* 按键初始化 */   
  8. #ifdef TRACE_EN                                                 /* See project / compiler preprocessor options.         */
  9.     BSP_CPU_REG_DBGMCU_CR |=  BSP_DBGMCU_CR_TRACE_IOEN_MASK;    /* Enable tracing (see Note #2).                        */
  10.     BSP_CPU_REG_DBGMCU_CR &= ~BSP_DBGMCU_CR_TRACE_MODE_MASK;    /* Clr trace mode sel bits.                             */
  11.     BSP_CPU_REG_DBGMCU_CR |=  BSP_DBGMCU_CR_TRACE_MODE_SYNC_04; /* Cfg trace mode to synch 4-bit.                       */
  12. #endif
  13. }
复制代码


  1. #define  BSP_REG_DEM_CR                       (*(CPU_REG32 *)0xE000EDFC)
  2. #define  BSP_REG_DWT_CR                       (*(CPU_REG32 *)0xE0001000)
  3. #define  BSP_REG_DWT_CYCCNT                   (*(CPU_REG32 *)0xE0001004)
  4. #define  BSP_REG_DBGMCU_CR                    (*(CPU_REG32 *)0xE0042004)
复制代码
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107415
QQ
发表于 2014-10-23 18:51:15 | 显示全部楼层
这个没有资料。仅有的资料就是权威指南。
回复

使用道具 举报

8

主题

21

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2014-10-23 20:19:49 | 显示全部楼层

回 eric2013 的帖子

eric2013:这个没有资料。仅有的资料就是权威指南。 (2014-10-23 18:51) 
我看到ucos的例程里面是用这个作为时间戳的,那么不会怕溢出吗?50MHz的话86s就溢出了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107415
QQ
发表于 2014-10-23 20:54:37 | 显示全部楼层

回 12lyc 的帖子

12lyc:我看到ucos的例程里面是用这个作为时间戳的,那么不会怕溢出吗?50MHz的话86s就溢出了。 (2014-10-23 20:19) 
这个时间戳大部分时间是做差值用的,基本没有溢出问题,还有一点就是现在的UCOS是评估板,不知道为什么它的这个时间不准,比embOS里面的要差。
回复

使用道具 举报

8

主题

21

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2014-10-23 21:53:27 | 显示全部楼层

回 eric2013 的帖子

eric2013:这个时间戳大部分时间是做差值用的,基本没有溢出问题,还有一点就是现在的UCOS是评估板,不知道为什么它的这个时间不准,比embOS里面的要差。 (2014-10-23 20:54) 
怎么个不准法
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107415
QQ
发表于 2014-10-25 11:27:22 | 显示全部楼层

回 12lyc 的帖子

12lyc:怎么个不准法 (2014-10-23 21:53) 
可以用示波器做个测试的。
回复

使用道具 举报

8

主题

21

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2014-10-25 12:53:19 | 显示全部楼层

回 eric2013 的帖子

eric2013:可以用示波器做个测试的。 (2014-10-25 11:27) 
我延时了100ms后,测得是99996us啊,还可以,怎么会不准?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107415
QQ
发表于 2014-10-25 12:55:13 | 显示全部楼层

回 12lyc 的帖子

12lyc:我延时了100ms后,测得是99996us啊,还可以,怎么会不准? (2014-10-25 12:53) 
这么准,可以啊,后面我再试试,感谢告知。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-30 12:53 , Processed in 0.168250 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表