回调函数的写法!

 

在adc.h中这样写:

 

typedef void(*ADC0_FUNC)(void);                               //将指针函数声明为一个类型
extern ADC0_FUNC adc0_set_func(ADC0_FUNC func);    //中断设定函数的声明

 

 

在adc.c中这样写:

 

//定义一个routine函数,他将利用adc0_set_func()函数将自己指向用户定义的中断函数
ADC0_FUNC adc0_routine; 

 

//设定adc0 的中断函数
ADC0_FUNC adc0_set_func(ADC0_FUNC func)  
{
          adc0_routine = func;
          return adc0_routine;  
}

//adc0 的中断函数

void adc0_intrrupt() interrupt INTERRUPT_ADC0_EOC
{
           if(adc0_routine)
          {
                   adc0_routine();
          }
          return;

 

在你写的主函数里面这样写:

//中断函数的定义

void usr_adc0_interrupt(void)

{

             /*你自己的中断处理函数*/

}

//将自己写的中断函数设置为真正的中断函数

adc0_set_func(usr_adc0_interrupt) ;

 

 

                               如果你感觉着篇文章对你有用,给我留个言吧!

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值