注册 登录
查看: 464|回复: 20

[K60] 关于外部中断

[复制链接]
发表于 2014-9-18 23:21:30 | 显示全部楼层 |阅读模式
今天看了几个别的店提供的K60+OV7620的采集程序,里面都标注了用了野火的库,看了几个后有点感觉了想自己写一个。那几个程序都在初始化的时候调用了  “   exti_init(PORTA,29,rising_down); //行中断,PORTA29 端口外部中断初始化 ,上升沿触发中断,内部下拉 ”这个函数,是用来配置行中断和场中断的,我自己写的时候也调用了一下,结果出错了找不到这个函数,想问下如果写给摄像头配置的话该调用哪个函数代替那个呢?
来自安卓客户端来自安卓客户端
回复

使用道具 举报

发表于 2014-9-18 23:23:26 | 显示全部楼层
如果你是用新库(一天攻破K60),改成了 port_init。你可以自行看看 port_key 的例程,就是用外部中断
回复 支持 反对

使用道具 举报

发表于 2014-9-18 23:31:15 | 显示全部楼层
用port_init函数
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-18 23:33:29 | 显示全部楼层
汤静云 发表于 2014-9-18 23:23
如果你是用新库(一天攻破K60),改成了 port_init。你可以自行看看 port_key 的例程,就是用外部中断

好的   谢谢啦
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-18 23:33:52 | 显示全部楼层
汤静云 发表于 2014-9-18 23:23
如果你是用新库(一天攻破K60),改成了 port_init。你可以自行看看 port_key 的例程,就是用外部中断

嗯嗯  谢谢啦
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-19 00:38:25 | 显示全部楼层
汤静云 发表于 2014-9-18 23:23
如果你是用新库(一天攻破K60),改成了 port_init。你可以自行看看 port_key 的例程,就是用外部中断

对了还有个问题,调用GPIO口实现外部中断是PORTA到E的所有引脚都可以吗?
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-9-19 00:41:06 | 显示全部楼层
六步上篮 发表于 2014-9-19 00:38
对了还有个问题,调用GPIO口实现外部中断是PORTA到E的所有引脚都可以吗?

k60每个io口都可以。kl26就不一定。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-19 10:50:56 | 显示全部楼层
虚竹 发表于 2014-9-19 00:41
k60每个io口都可以。kl26就不一定。

好的  我配置成这样 “port_init(PTA29,IRQ_RISING|PF|ALT1|PULLDOWN);”现在的功能是外部中断初始化 ,上升沿触发中断,内部下拉,但是相比之前那个函数多了个“复用功能为GPIO ”,这个影响使用吗?
回复 支持 反对

使用道具 举报

发表于 2014-9-19 10:53:32 | 显示全部楼层
六步上篮 发表于 2014-9-19 10:50
好的  我配置成这样 “port_init(PTA29,IRQ_RISING|PF|ALT1|PULLDOWN);”现在的功能是外部中断初始化 , ...

io中断,都是复用为gpio输入,不影响使用的。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-19 11:15:07 | 显示全部楼层
虚竹 发表于 2014-9-19 10:53
io中断,都是复用为gpio输入,不影响使用的。

谢谢了   还有个问题  我用  disable_irq(87);   这个函数禁止PORTA的中断的话是不是PORTA的32个引脚的中断都被禁止了?还是可以单独禁止某个管脚的中断?
回复 支持 反对

使用道具 举报

发表于 2014-9-19 11:27:44 | 显示全部楼层
六步上篮 发表于 2014-9-19 11:15
谢谢了   还有个问题  我用  disable_irq(87);   这个函数禁止PORTA的中断的话是不是PORTA的32个引脚的中 ...

不可以单独屏蔽某个管脚。你可以中断里不处理某个管脚,或者用port_init 配置不要中断就好。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-19 12:00:19 | 显示全部楼层
山外メ雲ジ 发表于 2014-9-19 11:27
不可以单独屏蔽某个管脚。你可以中断里不处理某个管脚,或者用port_init 配置不要中断就好。

好的。这个是怎么回事,之前PIT的时候调用这个函数没问题,现在换成中断就不行了,实在找不出原因了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-9-19 14:25:01 | 显示全部楼层
六步上篮 发表于 2014-9-19 12:00
好的。这个是怎么回事,之前PIT的时候调用这个函数没问题,现在换成中断就不行了,实在找不出原因了

你要把最前面的错误报告也发上啦,不然很难看错误原因。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-19 14:56:04 | 显示全部楼层
汤静云 发表于 2014-9-19 14:25
你要把最前面的错误报告也发上啦,不然很难看错误原因。

截图里面有最下面的编译结果啊,其他地方应该没错误了,就是这两个函数不对
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-9-19 15:03:53 | 显示全部楼层
六步上篮 发表于 2014-9-19 14:56
截图里面有最下面的编译结果啊,其他地方应该没错误了,就是这两个函数不对

最下面的,往往信息是没用的。需要最顶部的错误信息,才有用的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-19 16:57:01 | 显示全部楼层
山外メ雲ジ 发表于 2014-9-19 15:03
最下面的,往往信息是没用的。需要最顶部的错误信息,才有用的。

那我整个屏幕截图还是怎么办?
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-9-19 19:10:54 | 显示全部楼层
六步上篮 发表于 2014-9-19 16:57
那我整个屏幕截图还是怎么办?

你把底部的报错内容,全部文字复制上来就好
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-19 19:32:23 | 显示全部楼层
山外メ雲ジ 发表于 2014-9-19 19:10
你把底部的报错内容,全部文字复制上来就好

以下就是
Building configuration: fire_Kinetis - DZ10_Debug
Updating build tree...
main.c  
Fatal Error[Pe1696]: cannot open source file "MK60_dma.c" D:\野火初学123论坛客户端\野火K60参考代码_FX15_DN10\第六章\DMA_读取GPIO电平到内存\App\main.c 21
            searched: "D:\野火初学123论坛客户端\野火K60参考代码_FX15_DN10\第六章\DMA_读取GPIO电平到内存\App\"
            searched: "D:\野火初学123论坛客户端\野火K60参考代码_FX15_DN10\第六章\DMA_读取GPIO电平到内存\Prj\IAR\..\..\App\Inc\"
            searched: "D:\野火初学123论坛客户端\野火K60参考代码_FX15_DN10\第六章\DMA_读取GPIO电平到内存\Prj\IAR\..\..\Board\Inc\"
            searched: "D:\野火初学123论坛客户端\野火K60参考代码_FX15_DN10\第六章\DMA_读取GPIO电平到内存\Prj\IAR\..\..\Chip\inc\"
            searched: "D:\野火初学123论坛客户端\野火K60参考代码_FX15_DN10\第六章\DMA_读取GPIO电平到内存\Prj\IAR\..\..\Chip\inc\IAR\"
            searched: "D:\野火初学123论坛客户端\野火K60参考代码_FX15_DN10\第六章\DMA_读取GPIO电平到内存\Prj\IAR\..\..\Chip\inc\kinetis\"
            searched: "D:\野火初学123论坛客户端\野火K60参考代码_FX15_DN10\第六章\DMA_读取GPIO电平到内存\Prj\IAR\..\..\Lib\CMSIS\Inc\"
            searched: "D:\IAR\IAR7.2\software\arm\inc\"
            searched: "D:\IAR\IAR7.2\software\arm\inc\c\"
Error while running C/C++ Compiler
MK60_it.c  

Total number of errors: 1
Total number of warnings: 0

我有个疑问就是“set_vector_handler”这个函数,之前学习定时器的时候在主函数里调用他没事,今天早晨时调用就出错了,直接显示他有error,刚才改了下又不提示这个函数有错了,但是还有个error,我进入那个函数看的时候看到这样一句话“只有中断向量表位于icf指定的RAM区域时,此函数才有效”,想问下PORTA和PORTB的中断向量表在那个区域吗?可以调用“set_vector_handler”这个函数吗?
回复 支持 反对

使用道具 举报

发表于 2014-9-19 19:48:40 | 显示全部楼层
六步上篮 发表于 2014-9-19 19:32
以下就是
Building configuration: fire_Kinetis - DZ10_Debug
Updating build tree...

Fatal Error[Pe1696]: cannot open source file "MK60_dma.c"


我们的工程有这个文件的啊,为啥变成没的呢?是否删掉了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-19 19:57:14 | 显示全部楼层
山外メ雲ジ 发表于 2014-9-19 19:48
Fatal Error: cannot open source file "MK60_dma.c"


没有额  没删   刚才乱弄了一下,现在已经没有error了  谢谢
回复 支持 反对

使用道具 举报

发表于 2014-9-19 20:06:16 | 显示全部楼层
六步上篮 发表于 2014-9-19 19:57
没有额  没删   刚才乱弄了一下,现在已经没有error了  谢谢

不客气。出问题,一定要从最顶部报错的地方找起。
回复 支持 反对

使用道具 举报

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

本版积分规则

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