打印

想作个确认,关于中断的

[复制链接]
1707|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kuangcheng100|  楼主 | 2013-3-1 16:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
和同事了理解不同,虽然我很肯定,但是还是保险下,确认如下问题:PSOC的中断和其他单片机一样的吧,就是只有一个中断,然后通过中断标志位,跳入相应定好的中断入口地址,没错吧,还有,也不能嵌入中断,也就是在一个中断程序运行时,其他一个更高级的中断来了,就会进入高级的中断(虽然经我查看来说,应该也没什么中断优先权)里面也是不行的吧。。。
沙发
PSoC小子| | 2013-3-1 18:07 | 只看该作者
楼上的理解不太对哦。
1. PSoC1 并非只有一个中断,每个中断源都对应一个独立的中断,这些中断信号最后被送到优先级编码器然后指向不同的中断向量。
2.因为优先级编码器的存在,中断还是有优先级的。 楼主可能看过 boot.sam 的源码。里面定义了所有中断向量的入口地址,中断向量越靠前终端的优先级越高。

使用特权

评论回复
板凳
PSoC小子| | 2013-3-1 18:08 | 只看该作者
楼主第一下 PSoC1 TRM 中的中断那一章,TRM讲的挺详细的

使用特权

评论回复
地板
kuangcheng100|  楼主 | 2013-3-1 18:56 | 只看该作者
PSoC小子 发表于 2013-3-1 18:08
楼主第一下 PSoC1 TRM 中的中断那一章,TRM讲的挺详细的

谢谢啊,我技术手册都有看的,可能我英文不好吧,我没看到中断优先权可以在哪个寄存器修改,还有按这理论,我从BOOT.ASM修改其中断向量入口地址,就可以改变优先权了是吗?

使用特权

评论回复
5
PSoC小子| | 2013-3-4 15:55 | 只看该作者
kuangcheng100 发表于 2013-3-1 18:56
谢谢啊,我技术手册都有看的,可能我英文不好吧,我没看到中断优先权可以在哪个寄存器修改,还有按这理论 ...

楼上说的没错,没有修改中断优先级的寄存器。
这么说吧, PSoC1 里面的中断是有优先级的,但是这个优先级是固定的,客户不可以更改。每个中断在哪个优先级是由中断控制器里面的硬件(优先编码器模块)决定的,没有办法通过寄存器修改。

虽然各个中断的中断优先级是固定的,比如在 CY8C22545 中 Reset>LVD>Analog Column 0>Analog Column 1>Analog Column 2>Analog Column 3>GPIO>DBC00>DBC01>DCC02>DCC03>DBC10 >DBC11>DCC12>DCC13.... 但是在一定范围内我们可以通过调整数字/模拟模块的放置位置来调整中断优先级。 比如我有两个PWM8 模块, 我希望 PWM8_1 的中断优先级高于 PWM8_2. 因为 DBC00 的中断优先级高于DBC01, 那么我可以选择将PWM8_1 放置在 DBC00, PWM8_2 放置在 DBC01。

使用特权

评论回复
6
landelixulin| | 2014-7-19 23:04 | 只看该作者
请问,清中断的标志位,怎么清啊?

使用特权

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

本版积分规则

29

主题

72

帖子

0

粉丝