金牌会员
- 积分
- 1972
- 威望
- 973
- 贡献
- 439
- 兑换币
- 394
- 注册时间
- 2012-11-20
- 在线时间
- 280 小时
|
/******************** (C) COPYRIGHT 2011 野火嵌入式开发工作室 ********************
* 文件名 :main.c
* 描述 :EXTI外部中断实验
*
* 实验平台 :野火kinetis开发板
* 库版本 :
* 嵌入系统 :
*
* 作者 :野火嵌入式开发工作室
**********************************************************************************/
#include "common.h"
#include "include.h"
void main()
{
LED_INIT(); //初始化LED,PORTA_IRQHandler中断用到LED
gpio_init(PORTA, 27, GPO, 1); //初始化gpio , PTA27设为输出,以便产生方波
exti_init(PORTA, 26, rising_down); //PORTA26 端口外部中断初始化 ,上升沿触发中断,内部下拉
while(1)
{
GPIO_TURN(PORTA, 27); //翻转PTA27,即产生方波
time_delay_ms(500); //延时0.5s
}
}
isr.h如下:
#ifndef __ISR_H#define __ISR_H 1
#include "include.h"
#undef VECTOR_103 //取消中断号的定义
#define VECTOR_103 PORTA_IRQHandler //PORTA中断
extern void PORTA_IRQHandler(); //PORTA中断服务函数
#endif //__ISR_H
/* End of "isr.h" */
isr.c如下:
#include "common.h"
#include "include.h"
void PORTA_IRQHandler()
{
u8 n = 0; //引脚号
n = 26;
if(PORTA_ISFR & (1 << n)) //PTA26触发中断
{
PORTA_ISFR |= (1 << n); //写1清中断标志位
/* 以下为用户任务 */
LED_turn(LED0); //LED0反转
/* 以上为用户任务 */
}
}
程序烧进去后,跳线帽安好后,led0没有任何现象啊!
并且以前烧写进去的程序仍在运行!
想问问火哥这怎么解决...
|
|