查看: 3371|回复: 5

[已解决] MKL25Z128PIT定时器进不了中断(已解决)

[复制链接]

该用户从未签到

6

主题

17

帖子

0

新手上路

Rank: 1

积分
36
最后登录
1970-1-1
发表于 2013-7-9 17:36:44 | 显示全部楼层 |阅读模式
 
我的代码如下,求各位大侠解惑
void PIT_Init(void)
{
 SIM_SCGC6 |= SIM_SCGC6_PIT_MASK;
 PIT_MCR &= ~PIT_MCR_MDIS_MASK;
 PIT_LDVAL0 = 5;
 PIT_TFLG0 &= ~(PIT_TCTRL_TIE_MASK | PIT_TCTRL_TEN_MASK);
 printf(&quotIT_TFLG0 = %d\n\r",PIT_TFLG0);
}
void PIT_Time_Length(INT8U clock,INT32U time)
{
 time = time * clock;
 PIT_LDVAL0 = time;
}
void PIT_Open(void)
{
 PIT_TFLG0 |= PIT_TCTRL_TIE_MASK | PIT_TCTRL_TEN_MASK;
 printf(&quotIT_TFLG0 = %d\n\r",2);
}
void PIT_Close(void)
{
 PIT_TFLG0 &= ~(PIT_TCTRL_TIE_MASK | PIT_TCTRL_TEN_MASK);
}
 
int  main (void)
{
    SystemCoreClockUpdate();                                            /* ʱÖÓÅäÖà                    */
  delay_init(48);
  PORT_ENABLE_CLK(MKL_PORTA);                                         /* GPIOʱÖÓʹÄÜ                 */
    PORT_ENABLE_CLK(MKL_PORTB);
    PORT_ENABLE_CLK(MKL_PORTC);
  PORT_ENABLE_CLK(MKL_PORTD);
    PORT_ENABLE_CLK(MKL_PORTE);
   
    uart1Init(9600,0,0,8,1);                                            /* UART1³õʼ»¯                 */
  printf("systemclock = %d\n\r",SystemCoreClock); 
  // PWM_Init(24,38000);
  // PMW_OPEN(100);
  PIT_Init();
  PIT_Open();
  NVIC_EnableIRQ(PIT_IRQn);                                           /* PITÖжÏʹÄÜ                  */
    NVIC_SetPriority(PIT_IRQn,3);                                       /* ÉèÖÃPITÖжÏÓÅÏȼ¶            */
    __enable_irq();                                                     /* ʹÄÜ×ÜÖжϠ                  */
    while(1){
  
    }   
}
void PIT_IRQHandler(void)
{
 printf("IM HELLO");
    PIT_TFLG0 |= PIT_TFLG_TIF_MASK;                                     /* ±ê־λÇå¿Õ                   */
    ledSet(ucLed);
    ucLed++;
  printf("IM HELLO");
    if(ucLed > 7) {
        ucLed = 0;
    }
}
 
我知道答案 目前已有4人回答
回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2013-7-9 18:22:49 | 显示全部楼层

回复:MKL25Z128PIT定时器进不了中断

从你贴出的代码上看,没有发现错误,可以把你的工程整个上传吗?我帮你检查一下。
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

17

帖子

0

新手上路

Rank: 1

积分
36
最后登录
1970-1-1
 楼主| 发表于 2013-7-10 10:01:09 | 显示全部楼层

RE:MKL25Z128PIT定时器进不了中断(正解)

谢谢你!我现在已经解决了。将一个寄存器的名字写错了。写成了另外一个。都是粗心犯的错
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2013-7-10 10:18:09 | 显示全部楼层

回复:MKL25Z128PIT定时器进不了中断

回复第 3 楼 于2013-07-10 10:01:09发表:
谢谢你!我现在已经解决了。将一个寄存器的名字写错了。写成了另外一个。都是粗心犯的错 

不客气!
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

12

帖子

0

新手上路

Rank: 1

积分
14
最后登录
1970-1-1
发表于 2013-7-18 14:53:48 | 显示全部楼层

回复:MKL25Z128PIT定时器进不了中断

我想问一下,NVIC_EnableIRQ(PIT_IRQn); NVIC_SetPriority(PIT_IRQn,3);  这些都是在哪定义的?自带的吗?我手头有一个开发板,还有一些PE的程序,感觉很乱,我想编一个定时器1ms中断函数,中断服务程序格式是怎么样啊?                                    
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2013-7-18 15:20:47 | 显示全部楼层

RE:MKL25Z128PIT定时器进不了中断

NVIC_EnableIRQ(PIT_IRQn); NVIC_SetPriority(PIT_IRQn,3);应该是库函数自带好的,如果你想做一个定时器1ms中断函数,你最好一开始决定用PE生成函数呢还是用第三方提供的库函数做。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 08:11 , Processed in 0.096576 second(s), 26 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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