OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7413|回复: 4

一个定时器中断的特殊问题

[复制链接]

181

主题

311

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1055
金钱
1055
注册时间
2012-8-26
在线时间
52 小时
发表于 2012-10-17 21:58:14 | 显示全部楼层 |阅读模式

我在编程要用到定时器和按键,

意思就是启动后开启定时器中断 1秒,如果在一秒钟之内按键被按下了,那么关闭中断,  然后当按键放开后定时器中断开启 并且!!重新计数(1秒) !!!

程序我写了但是一个地方我不会改,就是让定时器中断重新载入计数值。现在我的程序在放开按钮之后会定时器会接着上一次的计数值上再计数,也就是时间会少于1秒 ,这个怎么办?

加一句什么代码可以让他重新载入???
while{

 

LCD_ShowNum(156,0,zuo,10,16);//显示ADC的值
     if(KEY0==0)
     {
      TIM2->CR1&=0x0Fe;
        //在这里加上什么可以让它从新计数?

       }
  else TIM2->CR1|=0x01;


 

}

为了雅典娜?为了爱与正义
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

85

帖子

0

精华

初级会员

Rank: 2

积分
163
金钱
163
注册时间
2011-3-3
在线时间
12 小时
发表于 2012-10-17 22:00:59 | 显示全部楼层
直接将计数器清零  前提禁能影子寄存器 立即更新  好久没用Stm32了 可能是这个样子
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-10-17 22:05:09 | 显示全部楼层
TIM2->CNT=0
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

181

主题

311

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1055
金钱
1055
注册时间
2012-8-26
在线时间
52 小时
 楼主| 发表于 2012-10-18 13:07:31 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
在问一下,定时器2,3,4可以正常使用   但是5,6,7却不能用   
为了雅典娜?为了爱与正义
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-10-18 15:13:12 | 显示全部楼层
回复【4楼】wsnfly:
---------------------------------
先确定你的芯片有没有TIM567。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 11:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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