极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15536|回复: 4

求助,timerone函数库与外部中断冲突的现象

[复制链接]
发表于 2014-11-3 09:48:46 | 显示全部楼层 |阅读模式
我在最近一个步进电机控制项目中,使用了timerone函数库,在200us的周期中输出脉冲来驱动步进电机,这个实现了,然后我想利用外部中断源0(Arduino UNO 2# PIN)作为步进电机的接近开关检测,做作为步进电机的限位检测,但是发现只要开启了外部中断,那么timerone函数就失效了,无法输出脉冲,请问大家遇到过这种情况吗?

或者请教各位高手,如何实现定时器与外部中断的有效共存的方法?

先谢谢各位!!!
回复

使用道具 举报

发表于 2014-11-3 12:10:09 | 显示全部楼层
中断的权限太高,直接接管cpu了,依赖cpu的timer肯定要完蛋啊~
既然用定时器了,干嘛还要用中断,直接定时器轮询呗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 13:05:19 | 显示全部楼层
ourutopia 发表于 2014-11-3 12:10
中断的权限太高,直接接管cpu了,依赖cpu的timer肯定要完蛋啊~
既然用定时器了,干嘛还要用中断,直接定时 ...

首先非常感谢您的回复。

您的意思是这两种中断方式存在优先级的问题吗?只是按照我以前用C51的经验来看,定时器中断和外部中断是不应该存在冲突的(优先级是存在的)。

我目前的解决方法确实也是如你所说,把限位检测代码也放到了定时器中断里,定时器中断中一方面去检测限位,如果不到限位点,就继续发送脉冲。



回复 支持 反对

使用道具 举报

发表于 2014-11-3 13:23:59 | 显示全部楼层
novelcrab 发表于 2014-11-3 13:05
首先非常感谢您的回复。

您的意思是这两种中断方式存在优先级的问题吗?只是按照我以前用C51的经验来看 ...

呃~我觉得我的理解可能不对,我是做高层编程的,太底层的我也不懂……别被我干扰啊~



回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 13:33:26 | 显示全部楼层
我不是嵌入式开发工程师,所以arduino的底层也了解不多,呵呵
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-18 05:39 , Processed in 0.036983 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表