智能车制作

标题: 各位帮我看下这段Coldfire MCF52255的通用定时器GPT模块的计时程序有什么问题啊 [打印本页]

作者: 啊变变变    时间: 2013-11-27 20:13
标题: 各位帮我看下这段Coldfire MCF52255的通用定时器GPT模块的计时程序有什么问题啊
  1. void GPT_Init(GPTSet setinfo)
  2. {
  3.     //1、禁止GPT
  4.     DisableGPT;
  5.     //2、设置GPT时钟
  6.     MCF_GPT_GPTSCR2 |= MCF_GPT_GPTSCR2_PR(setinfo.PR);
  7.     //3、设置GPT中断级别并清GPT溢出中断屏蔽标志
  8.     MCF_INTC0_ICR41 = MCF_INTC_ICR_IL(setinfo.IL)
  9.                     | MCF_INTC_ICR_IP(setinfo.IP);
  10.     MCF_INTC0_IMRH &= ~MCF_INTC_IMRH_INT_MASK41;
  11.     MCF_INTC0_IMRL &= ~MCF_INTC_IMRL_MASKALL;
  12.     //4、清GPT计数器
  13.     MCF_GPT_GPTCNT = 0x0000;
  14.    
  15. }

  16. void GPT_init(void)
  17. {
  18.        
  19.     GPTSet setinfo =
  20.     {
  21.         3,   
  22.         3,   
  23.         3,   
  24.             
  25.    
  26.     };
  27.     GPT_Init(setinfo);
  28.    
  29. }

  30. __declspec(interrupt) void GPTTO_Interrupt(void)
  31. {
  32.     DisableInterrupts;    //关总中断
  33.    
  34.     TimeOverCount++;
  35.     if (TimeOverCount >= 7)
  36.     {
  37.         secend++;      //秒加1
  38.         TimeOverCount = 0;
  39.     }
  40.    
  41.     MCF_GPT_GPTFLG2 |= MCF_GPT_GPTFLG2_TOF;  //清GPT溢出中断标志
  42.    
  43.     EnableInterrupts;     //开总中断       
  44. }
复制代码

作者: 啊变变变    时间: 2013-11-27 20:18
中断向量也配置了,怎么就进不去中断呢?
作者: 啊变变变    时间: 2013-11-27 20:31
问题已经解决,没有对MCF_GPT_GPTSCR2操作使其允许计时器溢出中断 只要在初始化中加上MCF_GPT_GPTSCR2 |= 0x80 即可
作者: ww2811    时间: 2014-7-5 23:20
GPTCNT寄存器可以手动清零么?




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2