3612|11

136

帖子

3

TA的资源

一粒金砂(中级)

楼主
 

MSP430f149定时问题,请教各位 [复制链接]

一直弄不懂怎么准确定时啊,比如说我设置Mclk是8M,smclk=mclk,定时器A的也用smclk,定时1s的话CCR0=8000
(CCR0=1s/(1/800M));
不知道这样计算的值对吗.

最新回复

这个我还真不知道,听管理员的就对了  详情 回复 发表于 2014-8-20 10:06
 
点赞 关注

回复
举报

420

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
公式有个小问题,可能是你的笔误。CCR0=1s / (1 / 8M) = 8M = 8000 000.从这个结果来看,延时一秒需要的定时器数值已经超过定时器的能力了(定时器为16位,最大数为0xFFFF)。要想实现1S的定时,分段实现吧,比如分成1000个1ms的定时。

点评

嗯写错了呵呵 ,按您说的应该是这样1ms=0.001s. CCR0=0.001s / ( 1 / 8M )=8000,然后呢我在中断里面循环1000次 CCR0=60000;//60ms CCTL0=CCIE; TACTL=TASSEL_2+ID_3+MC_1+TACLR;//定时器A时钟为smclk,8分  详情 回复 发表于 2014-8-19 15:28
目前常见单片机的定时器在内部都具有时钟分频功能的,所以设置一下分频就可以了  详情 回复 发表于 2014-8-18 19:54
 
 

回复

6040

帖子

197

TA的资源

版主

板凳
 
armcu 发表于 2014-8-18 18:36
公式有个小问题,可能是你的笔误。CCR0=1s / (1 / 8M) = 8M = 8000 000.从这个结果来看,延时一秒需要的定 ...

目前常见单片机的定时器在内部都具有时钟分频功能的,所以设置一下分频就可以了

点评

设置成8分频,1秒的话我没算错的话,CCR0为1000 000,还是不行吧  详情 回复 发表于 2014-8-19 15:30
 
 
 

回复

136

帖子

3

TA的资源

一粒金砂(中级)

4
 
armcu 发表于 2014-8-18 18:36
公式有个小问题,可能是你的笔误。CCR0=1s / (1 / 8M) = 8M = 8000 000.从这个结果来看,延时一秒需要的定 ...

嗯写错了呵呵 ,按您说的应该是这样1ms=0.001s. CCR0=0.001s / ( 1 / 8M  )=8000,然后呢我在中断里面循环1000次

  CCR0=60000;//60ms
  CCTL0=CCIE;
  TACTL=TASSEL_2+ID_3+MC_1+TACLR;//定时器A时钟为smclk,8分频,增计数模式,TAR清零

这样对吧

点评

对的  详情 回复 发表于 2014-8-19 15:42
 
 
 

回复

136

帖子

3

TA的资源

一粒金砂(中级)

5
 
lcofjp 发表于 2014-8-18 19:54
目前常见单片机的定时器在内部都具有时钟分频功能的,所以设置一下分频就可以了

设置成8分频,1秒的话我没算错的话,CCR0为1000 000,还是不行吧
 
 
 

回复

420

帖子

0

TA的资源

一粒金砂(高级)

6
 
hanwenli123 发表于 2014-8-19 15:28
嗯写错了呵呵 ,按您说的应该是这样1ms=0.001s. CCR0=0.001s / ( 1 / 8M  )=8000,然后呢我在中断里面循环1 ...

对的

点评

楼上说的分频,那我设置成8分频,1秒的话我没算错的话,CCR0为1000 000,还是不行吧  详情 回复 发表于 2014-8-19 16:23
 
 
 

回复

136

帖子

3

TA的资源

一粒金砂(中级)

7
 

楼上说的分频,那我设置成8分频,1秒的话我没算错的话,CCR0为1000 000,还是不行吧

点评

恩,是的,不行。1000 000 也超出了 16位寄存器所能表示的最大数。在需要长时间定时时,我一般都是每隔10ms中断一次,某些特殊情况则每隔1ms中断一次。然后累计判断。  详情 回复 发表于 2014-8-19 17:12
 
 
 

回复

420

帖子

0

TA的资源

一粒金砂(高级)

8
 
hanwenli123 发表于 2014-8-19 16:23
楼上说的分频,那我设置成8分频,1秒的话我没算错的话,CCR0为1000 000,还是不行吧

恩,是的,不行。1000 000 也超出了 16位寄存器所能表示的最大数。在需要长时间定时时,我一般都是每隔10ms中断一次,某些特殊情况则每隔1ms中断一次。然后累计判断。
 
 
 

回复

1973

帖子

1

TA的资源

五彩晶圆(初级)

9
 
使用8M的时钟,定时1ms对于一个16位定时器来说也不可行,因为定时值已经超过定时器能单次定时的范围,因此要么对时钟进行分频,要么分段计时,楼上说的都很清楚了,相信楼主能搞定了

点评

我想问下怎么结贴  详情 回复 发表于 2014-8-20 08:48
 
 
 

回复

136

帖子

3

TA的资源

一粒金砂(中级)

10
 
bobde163 发表于 2014-8-20 00:02
使用8M的时钟,定时1ms对于一个16位定时器来说也不可行,因为定时值已经超过定时器能单次定时的范围,因此 ...

我想问下怎么结贴

点评

已经解决了呃?目前论坛没有结贴流程,如果有必要结贴,联系管理员即可。  详情 回复 发表于 2014-8-20 10:02
 
 
 

回复

2万

帖子

71

TA的资源

管理员

11
 
hanwenli123 发表于 2014-8-20 08:48
我想问下怎么结贴

已经解决了呃?目前论坛没有结贴流程,如果有必要结贴,联系管理员即可。
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

1973

帖子

1

TA的资源

五彩晶圆(初级)

12
 
这个我还真不知道,听管理员的就对了
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表