5880|9

11

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

LPC1114的定时器与中断问题 [复制链接]

我想在定时器中断的理中改变中断触发条件,但是行不通,请问有什么办法可以解决吗
  1. void timer0Isr(void)
  2. {
  3.         flagALL = TMR32B0MCR;
  4.         if(flagALL == 0x01)
  5.         {
  6.                 TMR32B0IR=0x0f;                 //清除中断标志位
  7.                 flag30s=flag30s+1;
  8.                 TMR32B0MCR = 0x01;       
  9.                 if(flag30s==5)
  10.                 {
  11.                         TMR32B0MCR=0x01<<3;//记满150s后转换成匹配通道1匹配中断
  12.                 }
  13.                 if(flag30s==119)
  14.                 {
  15.                         TMR32B0MCR=0x01<<6;//记满3570s后转换成匹配通道2匹配中断
  16.                 }
  17.         }
  18.         if(flagALL == 0x08)
  19.         {
  20.                 TMR32B0IR=0x0f;                 //清除中断标志位
  21.                 flag30s=flag30s+1;
  22.                 flag3min=flag3min+1;
  23.                 TMR32B0MCR=0x01;//记满180s后转换成匹配通道0匹配中断
  24.         }
  25.         if(flagALL == 0x40)
  26.         {
  27.                 TMR32B0IR=0x0f;                 //清除中断标志位
  28.                 flag30s=flag30s+1;
  29.                 flag1h=flag1h+1;
  30.                 TMR32B0MCR=0x01;//记满3600s后转换成匹配通道0匹配中断
  31.         }
  32.         TMR32B0TCR=0x02; //复位定时器
  33.         return;
  34. }
复制代码
此帖出自NXP MCU论坛

最新回复

这个片子好头疼,谁帮下忙?1013021765我的qq谢谢先  详情 回复 发表于 2016-2-21 22:30
点赞 关注
 

回复
举报

1144

帖子

24

TA的资源

纯净的硅(高级)

沙发
 
LPC1114的官方库寄存器定义不是这样的啊,
你这是啥MCU啊?
此帖出自NXP MCU论坛

点评

用的是周公的TinyM0的板子  详情 回复 发表于 2014-10-28 17:12
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
fxyc87 发表于 2014-10-28 17:06
LPC1114的官方库寄存器定义不是这样的啊,
你这是啥MCU啊?

用的是周公的TinyM0的板子
此帖出自NXP MCU论坛
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

4
 
为什么要改变中断状态。你可以在定时器中断里设置一个标志,等这个标志置位后再在捕获中断里面响应相应的操作,没有职位的话捕获后不处理,进一下匹配中断判断一下标志就出来。如果对CPU利用的不是特别高的话完全可以满足实际需要!
此帖出自NXP MCU论坛

点评

当然版主大大的想法又让我学了一招  详情 回复 发表于 2014-10-29 16:24
版主大大,那如果说我现在用的是LPC1114定时器的捕获功能的话,只用一个定时器的话,既想要实现上升沿捕获又想要下降沿捕获(用来测量占空比),那就肯定要改变中断状态了啊。  详情 回复 发表于 2014-10-29 16:23
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

5
 
jishuaihu 发表于 2014-10-28 18:45
为什么要改变中断状态。你可以在定时器中断里设置一个标志,等这个标志置位后再在捕获中断里面响应相应的操 ...

版主大大,那如果说我现在用的是LPC1114定时器的捕获功能的话,只用一个定时器的话,既想要实现上升沿捕获又想要下降沿捕获(用来测量占空比),那就肯定要改变中断状态了啊。
此帖出自NXP MCU论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

6
 
jishuaihu 发表于 2014-10-28 18:45
为什么要改变中断状态。你可以在定时器中断里设置一个标志,等这个标志置位后再在捕获中断里面响应相应的操 ...

当然版主大大的想法又让我学了一招
此帖出自NXP MCU论坛
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

7
 
没有用过LPC1114在中断中改变中断触发条件,理论上应该是可以的,一般来说除了个别寄存器需要在特定条件下改写一般的都是可以随时改写的,最好看一下数据手册相应部分的说明。有可能是改写需要特定的条件,或者是顺序。我在玩430的时候遇到过在中断里改变中断触发条件的例程,这样的要求应该是可以实现。
另外看你捕获的周期很长啊。最短的也有150s,这样其实用个定时器,1毫秒或者0.5毫秒扫描一下也可以的,这么长的捕获周期估计精度也不会要求太高了吧。
此帖出自NXP MCU论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 
理论上应该可以的,好好查查是不是配置有问题。
此帖出自NXP MCU论坛
 
个人签名51嵌入式,嵌入式开发的家园!
 
 

回复

5

帖子

4

TA的资源

一粒金砂(初级)

9
 
看起来是个好东东哈
此帖出自NXP MCU论坛
 
 
 

回复

3

帖子

1

TA的资源

一粒金砂(中级)

10
 
这个片子好头疼,谁帮下忙?1013021765我的qq谢谢先
此帖出自NXP MCU论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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