智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1670|回复: 2
打印 上一主题 下一主题

[编程类] PIT1的中断,死活进不去,照着PIT0的写的

[复制链接]

3

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
318
威望
178
贡献
90
兑换币
98
注册时间
2014-3-2
在线时间
25 小时
毕业学校
南华大学
跳转到指定楼层
1#
发表于 2014-4-20 17:24:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
代码如下
main.c



/*
* main implementation: use this sample to create your own application
*
*/
#include "support_common.h" /* include peripheral declarations and more */
#if (CONSOLE_IO_SUPPORT || ENABLE_UART_SUPPORT)
/* Standard IO is only possible if Console or UART support is enabled. */
#include <stdio.h>
#endif
#include "PIT1.h"
#define uchar unsigned char
uchar count1=0;
uchar count2=0;
uchar i;
void main(void)
{
PIT1_init;
EnableInterrupts;
PIT1_start(9999);
while(1)
{
   i=count2;
}
       
}



PIT1.c




#include "PIT1.h"
extern count2;

uchar con_PIT1;

/**********************************PIT1初始化*****************************/
void PIT1_init()
{

               
        MCF_PIT_PCSR(1)=MCF_PIT_PCSR_RLD   
                                   |MCF_PIT_PCSR_PIF
                                   |MCF_PIT_PCSR_PIE
                                   |MCF_PIT_PCSR_OVW
                                   |MCF_PIT_PCSR_PRE(4);//fPIT=fsys/2/2^PER
                                                                                    //at 80MHz
                                                                                                //0- 40000000Hz
                                                                                                //1- 20000000Hz
                                                                                                //2- 10000000Hz
                                                                                                //3- 5000000Hz
                                                                                                //4- 2500000Hz -0.4us
                                                                                                //5- 1250000Hz
                                                                                                //6- 625000Hz
                                                                                                //7- 312500Hz
                                                                                                //8- 156250Hz
                                                                                                //9- 78125Hz   -12.8us
                                                                                                //10-39062.5Hz _25.6us
                                                                                                //11-19531.25Hz
                                                                                                //12-9765.625Hz
                                                                                                //13-4882.8125Hz
                                                                                                //14-2441.40625Hz
                                                                                                //15-1220.703125Hz
                                   //|MCF_PIT_PCSR_DBG;
                                   //|MCF_PIT_PCSR_DOZE
                                  
        MCF_PIT_PMR(1)=9999;



        MCF_INTC1_IMRL&=~MCF_INTC_IMRL_MASKALL;
        MCF_INTC1_IMRH&=~MCF_INTC_IMRH_INT_MASK56;//PIT1
       
        MCF_INTC1_ICR56=MCF_INTC_ICR_IP(6)+MCF_INTC_ICR_IL(2);//PIT1
}

/*******************************************************************************************/
void PIT1_start(uint x)
{
        MCF_PIT_PMR(1)=x;

        MCF_PIT_PCSR(1)|=MCF_PIT_PCSR_EN;
}

/********************************************************************************************/
void PIT1_stop(void)
{

        MCF_PIT_PCSR(1)&=~MCF_PIT_PCSR_EN;
}
/********************************************************************************************/

__declspec(interrupt) void PIT1_handler(void)//interrupt source 56
{

        MCF_PIT_PCSR(1)|=MCF_PIT_PCSR_PIF;//清除PIT标志位
if(con_PIT1++==500)
{
con_PIT1=0;
count2++;  
   }
}




  中断死活进不去,中断向量表已经改好了。求高手指点错误的地方。

回复

使用道具 举报

0

主题

8

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
威望
135
贡献
69
兑换币
78
注册时间
2014-3-12
在线时间
16 小时
毕业学校
湖师院
2#
发表于 2014-4-20 19:30:37 | 只看该作者
什么单片机?
回复

使用道具 举报

3

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
318
威望
178
贡献
90
兑换币
98
注册时间
2014-3-2
在线时间
25 小时
毕业学校
南华大学
3#
 楼主| 发表于 2014-4-20 20:04:19 | 只看该作者
减、、 发表于 2014-4-20 19:30
什么单片机?

冷火的MCF52255
回复

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-29 05:32 , Processed in 0.039122 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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