文章标题

1 篇文章 0 订阅

IAR -K60-外部中断

1.找到要检测中断信号的引脚(PTB3)
2.PORT初始化 (复用初始化)(在MK60_port.c)(在main处初始化)
eg:port_init(PTB3,IRQ_RISING|PF|PULLUP|ALT1);
(确定触发方式)
3.中断函数的编写void portb_handler(void)//可在MK60_it.c中编写,也可以在MK60_port.c
eg:

    void portb_handler(void)
    {
        uint8  n = 0;    //引脚号
        //PTB3
        n = 3;
        if(PORTB_ISFR & (1 << n))           //PTA6触发中断
        {
            PORTB_ISFR  = (1 << n);        //写1清中断标志位

            /*  以下为用户任务  */
            led_turn(LED4);//需include,led所在的.h文件
            /*  以上为用户任务  */
        }
    }

4.在common.h找到所需中断对应的
PORTB_IRQn = 88, // Port B interrupt
5.重定义中断向量表,在MK60_it.h中定义
eg:

#undef  VECTOR_088 
#define VECTOR_088    PORTB_IRQn
extern void portb_handler()//声明;

6.在vectors.c中断向量表中找到需要重定义的那个并将其注释
eg:

    //VECTOR_088,

7.在main中写中断服务的指向函数和使能函数

 set_vector_handler(PORTB_VECTORn,portb_handler);//指向
   //enable_irq (PORTB_IRQn);//旧的使能函数
   NVIC_EnableIRQ(PORTB_IRQn);//新的使能函数

PS:不明白为什么会使得下载有可能下载不到并且出现错误使得芯片下载不到程序
这里写图片描述
这里写图片描述

然后下载不到程序了,需要解锁
打开JlinkCommonder,然后按住复位键输入unlock kinetis 按回车,并且在此期间按住K60的复位键

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值