找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1366|回复: 7
打印 上一主题 下一主题
收起左侧

单片机中断优先级后面的using2是必要的吗?

[复制链接]
跳转到指定楼层
楼主
ID:871721 发表于 2024-9-10 22:33 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
下面是一个数码管动态显示0-999数字的程序,在程序的第62行“interrupt 1”后面跟着个“using 2”,这个“using 2”是必要的吗,不写会怎样
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:526108 发表于 2024-9-11 07:20 | 只看该作者
没必要,默认using0
回复

使用道具 举报

板凳
ID:235200 发表于 2024-9-11 08:27 | 只看该作者
如果只使用了一个中断,可以不要,但程序中使用了多个中断时,为了防止中断保护的寄存器R0 R1数据误覆盖,最好加上各中断的工作器选择,编程者如果能确认保护数据不会被覆盖,可省掉using
回复

使用道具 举报

地板
ID:68189 发表于 2024-9-11 08:27 | 只看该作者
建议不要使用 using x;  让编译器自己去处理,所以这个 using  2 可以不用写,,(意思是指定此函数使用R0-R7通用寄存器的 R2,我是这么理解的).
回复

使用道具 举报

5#
ID:235200 发表于 2024-9-11 08:55 | 只看该作者
wpppmlah 发表于 2024-9-11 08:27
建议不要使用 using x;  让编译器自己去处理,所以这个 using  2 可以不用写,,(意思是指定此函数使用R0-R7通 ...

你这理解错了,单片机把内存地址的00H至1FH的32个存储单元分为4组,称之为工作寄存器,每一组分别对应R0至R7,用于中断时保护R0-R7的数据不被覆盖,若中断多了,就需要选择使用哪一组工作寄存器。
回复

使用道具 举报

6#
ID:227818 发表于 2024-9-11 13:36 | 只看该作者
csmyldl 发表于 2024-9-11 08:55
你这理解错了,单片机把内存地址的00H至1FH的32个存储单元分为4组,称之为工作寄存器,每一组分别对应R0 ...

我也觉得您说的对,假设有4个以上的中断,就要好好考虑一下了。
回复

使用道具 举报

7#
ID:1109793 发表于 2024-9-11 14:27 | 只看该作者
不太懂,但是我试过,结果变的不稳定
回复

使用道具 举报

8#
ID:401564 发表于 2024-9-11 18:29 | 只看该作者
不要写using,多少个中断都不要用
using是优化的,不是必需的,你不用没多大事,用了反而容易出错
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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