OpenEdv-开源电子网

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

定时器程序的一些问题

[复制链接]

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2011-7-25
在线时间
0 小时
发表于 2011-7-25 20:29:14 | 显示全部楼层 |阅读模式
#include "timer.h" 
#include "led.h" 
//Mini STM32 开发板 
//通用定时器  驱动代码     
//正点原子@ALIENTEK  
 
//定时器3 中断服务程序 
//2ms 中断 1 次 
void TIM3_IRQHandler(void) 
{                   
 if(TIM3->SR&0X0001)//溢出中断 
 { 
  LED1=!LED1;    
 }        
 TIM3->SR&=~(1<<0);//清除中断标志位     

我把溢出中断的那个判断给省了,软件仿真的时候led的高低电平可以正常变化,但是下载到板子上的时候就没有现象,不知这是为什么?

而且我在这个中断服务函数里加一个delay_ms(5000)在 LED1=!LED1;这句话后,也不能正常延时,求解。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-7-25 22:44:25 | 显示全部楼层
这里我也有疑问.确实如果不先判断TIM3->SR的话,会出现无法进入中断的情况.但是仿真又可以进入(不论软件仿真还是硬件仿真).
同求解答.呵呵.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2011-7-25
在线时间
0 小时
 楼主| 发表于 2011-7-26 09:22:15 | 显示全部楼层
嘿嘿,原子哥也被难住了。
作为新手,想问一下,造成这种情况的可能性有哪些呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-7-26 10:29:34 | 显示全部楼层
你那个延时,不应该放到中断里面的.这样大大影响函数效率.
至于为什么要先判断TIM3->SR,我也很头大.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2011-7-25
在线时间
0 小时
 楼主| 发表于 2011-7-26 10:39:44 | 显示全部楼层
哦,我再钻研下,希望能找到答案。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 18:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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