打印

为何还加了一个判断?

[复制链接]
4920|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dingy|  楼主 | 2021-7-4 10:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
PIC定时器中断服务函数清标志位后

使用特权

评论回复
沙发
stly| | 2021-7-4 10:55 | 只看该作者
还有什么现象?能再详细描述下吗?

使用特权

评论回复
板凳
dingy|  楼主 | 2021-7-4 10:57 | 只看该作者
void TMR2_ISR(void)
{

    // clear the TMR2 interrupt flag
    PIR1bits.TMR2IF = 0;

    if(TMR2_InterruptHandler)
    {
        TMR2_InterruptHandler();
    }
}

使用特权

评论回复
地板
zyf部长| | 2021-7-4 10:59 | 只看该作者
关键词

使用特权

评论回复
5
dingy|  楼主 | 2021-7-4 11:01 | 只看该作者
只找到这个:void (*TMR2_InterruptHandler)(void);
因为不熟悉XDE的开发环境,所有应该就只有着吧。

使用特权

评论回复
6
yszong| | 2021-7-4 11:02 | 只看该作者
你有什么打算呢?或者你想知道什么?

使用特权

评论回复
7
dingy|  楼主 | 2021-7-4 12:05 | 只看该作者

使用特权

评论回复
8
zwll| | 2021-7-4 12:07 | 只看该作者
那个是中断处理吧

使用特权

评论回复
9
stly| | 2021-7-4 12:09 | 只看该作者
那是个函数指针,先判断是否有效

使用特权

评论回复
10
renyaq| | 2021-7-4 12:11 | 只看该作者

嗯,如果有效则调用,否则不能调用(会导致未知错误)

使用特权

评论回复
11
dingy|  楼主 | 2021-7-4 12:13 | 只看该作者
那怎么知道有没有效,调用的话,调用的是哪个?或者说指向了哪里?????? 似乎都是空的哎

使用特权

评论回复
12
houcs| | 2021-7-4 12:15 | 只看该作者

if就是判断有没有效的;
你想指向那都可以,只要函数不带参数就可以;

使用特权

评论回复
13
jiajs| | 2021-7-4 12:17 | 只看该作者
当然是指向你需要的中断处理函数

使用特权

评论回复
14
dingy|  楼主 | 2021-7-4 12:19 | 只看该作者

那没有效,还 if 它干什么?
不是浪费时间,浪费的代码。

使用特权

评论回复
15
lium| | 2021-7-4 12:21 | 只看该作者
那到底指向哪里去?

使用特权

评论回复
16
xxmmi| | 2021-7-4 12:23 | 只看该作者
那本来就是中断函数,就在中断里面加程序段就好了呀。

使用特权

评论回复
17
dingy|  楼主 | 2021-7-4 12:24 | 只看该作者
干嘛还要搞去另外一个地方?

使用特权

评论回复
18
chenho| | 2021-7-4 12:26 | 只看该作者
这很正常,这就是回调机制,框架不需要改动,又可以满足不同应用的需求

使用特权

评论回复
19
dingy|  楼主 | 2021-7-4 12:31 | 只看该作者
还是不懂~~~~~~

使用特权

评论回复
20
chenjunt| | 2021-7-4 12:33 | 只看该作者
好的程序驱动框架一般不改动,但又要满足不同的需求,所以一般采用回调机制,回调函数一般都是函数指针,这是用户需要定制的功能,由用户去定义

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

10920

帖子

6

粉丝