[技术问题解答] 关于KE04全局中断与看门狗喂狗问题

[复制链接]
2547|5
 楼主| liangliangbing 发表于 2014-9-11 16:00 | 显示全部楼层 |阅读模式
1、KE04单片机设置定时器500us中断一次,而看门狗喂狗需要关全局中断喂狗后再开启中断,这样不是会影响到定时时间的准确度?
2、KE04没有DisableInterrupt和EnableInterrupt,那要开启全局中断和关闭时要怎么设置?
FSL_TICS_Robin 发表于 2014-9-11 16:18 | 显示全部楼层
喂狗操作的代码执行时间不长,看你对于这个500us定时时间的精确度要求了。
 楼主| liangliangbing 发表于 2014-9-11 17:02 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-9-11 16:18
喂狗操作的代码执行时间不长,看你对于这个500us定时时间的精确度要求了。
...

喂狗大概会执行多少时钟周期呢?
还有全局中断的问题,中断有默认优先级吗?我用PE出来的程序都会在各个模块(如定时器、ADC等)的初始化中设置优先级和开启中断:
/* NVIC_IPR4: PRI_19=0x80 */
        NVIC_IPR4 = (uint32_t)((NVIC_IPR4 & (uint32_t)~(uint32_t)(
                        NVIC_IP_PRI_18(0x7F)
                        )) | (uint32_t)(
                        NVIC_IP_PRI_18(0x80)
                        ));*/
        /* NVIC_ISER: SETENA|=0x00040000 */
        NVIC_ISER |= NVIC_ISER_SETENA(0x00040000);        //FTM1中断使能

中断优先级一定要设置吗?有没有默认优先顺序?我能直接用NVIC_ISER使能所有中断,不设定优先级吗?
NVIC_ISER = 0xFFFFFFFF;
FSL_TICS_Robin 发表于 2014-9-11 17:08 | 显示全部楼层
liangliangbing 发表于 2014-9-11 17:02
喂狗大概会执行多少时钟周期呢?
还有全局中断的问题,中断有默认优先级吗?我用PE出来的程序都会在各个 ...

喂狗的时间,你可以通过在喂狗操作代码的前后加Systick语句来测试具体消耗了多少Core Cycle.
至于如何使用Systick可以参考:【经验分享】KL25 16位ADC最高转换率代码效率测试及采样测试 “三,     ADC中断中代码效率测试” 部分描述。

 楼主| liangliangbing 发表于 2014-9-12 09:01 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-9-11 17:08
喂狗的时间,你可以通过在喂狗操作代码的前后加Systick语句来测试具体消耗了多少Core Cycle.
至于如何使 ...

谢谢!我去研究研那个Systick,那全局中断呢?
FSL_TICS_Robin 发表于 2014-9-12 11:23 | 显示全部楼层
楼主你好
刚用PE10.4建了一个工程测试,可以通过右键使能生成开、关中断函数,以供你调用的。
KE04 enable int.jpg

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

本版积分规则

1

主题

16

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部