搜索
bottom↓
回复: 18

傻孩子,#define SEI() asm("sei")是什么意思呢,可以解释下嘛?

[复制链接]

出0入0汤圆

发表于 2009-5-7 00:34:16 | 显示全部楼层 |阅读模式
是不是汇编语言,asm("")这种格式可以解释下嘛,还有上面两个宏定义,所完成的是什么功能?
具体是对AVR寄存器中的哪一个位进行操作吗?

出0入0汤圆

发表于 2009-5-7 15:38:13 | 显示全部楼层
就是说当程序中使用SEI();时 表示 执行 asm("sei");  开中断

出0入0汤圆

发表于 2009-5-7 16:18:12 | 显示全部楼层
这种DATASHEETS都讲的很清楚的
全局中断使能       SREG寄存器 I位置1

出0入0汤圆

发表于 2009-5-13 11:03:08 | 显示全部楼层
功能确实是二楼说的没错,但我觉得二楼是答非所问.楼主的意思是这句语法啥理解?sei是汇编全局中断使能,要将它用在C里,就加个asm();意思是在C里使用汇编指令.

出0入0汤圆

 楼主| 发表于 2009-5-17 08:37:36 | 显示全部楼层
谢谢,明白了。

出0入0汤圆

发表于 2010-6-10 00:49:24 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-4 15:12:45 | 显示全部楼层
就是方便你嵌入汇编啦,#define SEI() asm("sei")、#define CLI() asm("cli")分别是总中断允许位置位/清除。用宏就是免得让你嵌入汇编时出错,而且更方便而已

出0入0汤圆

发表于 2012-3-29 14:13:10 | 显示全部楼层
enterout123 发表于 2009-5-13 11:03
功能确实是二楼说的没错,但我觉得二楼是答非所问.楼主的意思是这句语法啥理解?sei是汇编全局中断使能,要将 ...

太感谢你了!我的问题解决了,可是我不明白为什么既然是宏定义了,为什么用SEI()不行呢?我用SEI(),报的错误是:
      !ERROR file 'main.o': undefined symbol '_SEI';奇怪了,我包含了头文件 macros.h啊,里面有对于这个位操作指令的定义:
#define _asm asm    /* old style */
#define WDR()   asm("wdr")
#define SEI()   asm("sei")
#define CLI()   asm("cli")
#define NOP()   asm("nop")
#define _WDR()   asm("wdr")
#define _SEI()   asm("sei")
#define _CLI()   asm("cli")
#define _NOP()   asm("nop")

为什么还要报错呢?

  该为asm("sei")的时候就对了!

出0入0汤圆

发表于 2012-3-29 14:32:39 | 显示全部楼层
Kidult 发表于 2012-3-29 14:13
太感谢你了!我的问题解决了,可是我不明白为什么既然是宏定义了,为什么用SEI()不行呢?我用SEI(),报的 ...

你的macro.h里面,后面那些#是全角字符么?

出0入0汤圆

发表于 2012-3-29 15:06:58 | 显示全部楼层
可以使用的,楼主再检查一下哈。

出0入0汤圆

发表于 2012-3-29 15:22:03 | 显示全部楼层
Hunter 发表于 2012-3-29 15:06
可以使用的,楼主再检查一下哈。

真的不行呀...试过很多遍了

出0入296汤圆

发表于 2012-3-29 22:48:32 | 显示全部楼层
全角字符……

出0入0汤圆

发表于 2012-5-5 18:08:02 | 显示全部楼层

#define _asm asm    /* old style */
#define WDR()   asm("wdr")
#define SEI()   asm("sei")
#define CLI()   asm("cli")
#define NOP()   asm("nop")
#define _WDR()   asm("wdr")
#define _SEI()   asm("sei")
#define _CLI()   asm("cli")
#define _NOP()   asm("nop")


把见面的#号该了,这样就可以用了

出200入2554汤圆

发表于 2012-5-6 12:46:27 | 显示全部楼层
全角神马的最讨厌了
,;#!+-=    <-------------- 全角
, ; # ! + - =     <-------------- 半角

出0入0汤圆

发表于 2012-6-11 23:24:25 | 显示全部楼层
有道理,应该是这样

出0入0汤圆

发表于 2012-6-12 07:37:09 | 显示全部楼层
还有全角半角这一出,学习了

出0入0汤圆

发表于 2012-7-3 16:33:36 | 显示全部楼层
学习了

出0入0汤圆

发表于 2012-7-26 09:39:20 | 显示全部楼层
hhhhhhhhhhhhhhh
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 18:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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