弱弱问一个关于51 的中断 嵌套问题,困扰一晚上了...

2020-01-30 14:17发布

RT,

CPU 用C8051

外设用到了 串口Uart0 和 SMBus总线口 SMBus0

查手册,串口优先级是4 SMBus优先级是7,因此串口优先级高于SMBus(硬件优先级)

然后我想实现:

串口监听指令,收到指令后经过判断 指令内容,然后执行相应的 I2C指令(SMBus)

我在串口中断中调用到了 I2C的发送指令,但是经测试貌似无法进入到 I2C的中断,即SMBUS的中断,,,

是否是因为SMBus的优先级较低而且串口的中断还没执行完毕,所以无法执行?

我通过软件修改优先级的方式 将串口优先级设为低, SMBUS设为高,,还是没反应



高手们,,能不能给我个思路~~谢谢!!!我承认关于中断嵌套我学的不够.....

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
pldjn
1楼-- · 2020-01-30 16:26
没太看明白,你是不是想实现中断嵌套?
ayuanshop
2楼-- · 2020-01-30 20:53
pldjn 发表于 2013-1-21 23:30
没太看明白,你是不是想实现中断嵌套?

是的!

就是想在串口中断中执行 SMBUS相关的函数~而此函数又涉及到SMBUS的中断,,,,,所以我傻了...
SUNZHILIANG
3楼-- · 2020-01-30 23:37
这个不会解答。。
pldjn
4楼-- · 2020-01-31 03:27
 精彩回答 2  元偷偷看……
i_kkyu
5楼-- · 2020-01-31 08:23
SMBus ,没整过哦.
876192514
6楼-- · 2020-01-31 10:10
关了串口中断 清除相关标志位试试

一周热门 更多>