430头文件里这些函数是什么意思?

[复制链接]
 楼主| ihafd 发表于 2012-9-26 23:00 | 显示全部楼层 |阅读模式
本帖最后由 ihafd 于 2012-9-26 23:08 编辑

我在430的头文件里找到一些函数.
我也在某些示例程序里面见过这些,但还是不很了解,
__intrinsic void __no_operation(void);
__intrinsic void __enable_interrupt(void);
__intrinsic void __disable_interrupt(void);
__intrinsic istate_t __get_interrupt_state(void);
__intrinsic void __set_interrupt_state(istate_t);
__intrinsic void __op_code(unsigned short);
__intrinsic unsigned short __swap_bytes(unsigned short);
__intrinsic void __bic_SR_register(unsigned short);
__intrinsic void __bis_SR_register(unsigned short);
__intrinsic unsigned short __get_SR_register(void);
__intrinsic void __bic_SR_register_on_exit(unsigned short);
__intrinsic void __bis_SR_register_on_exit(unsigned short);
__intrinsic unsigned short __get_SR_register_on_exit(void);

还有
__intrinsic unsigned short _BIS_SR(unsigned short);
__intrinsic unsigned short _BIC_SR(unsigned short);
__intrinsic unsigned short _BIS_SR_IRQ(unsigned short);
__intrinsic unsigned short _BIC_SR_IRQ(unsigned short);
__intrinsic unsigned short _BIS_NMI_IE1(unsigned short);

还有
#define _DINT() __disable_interrupt()
#define _EINT() __enable_interrupt()
#define _NOP() __no_operation()
#define _OPC(x) __op_code(x)
#define _SWAP_BYTES(x) __swap_bytes(x)

它们是什么意思?怎样用的?
forgot 发表于 2012-9-27 08:30 | 显示全部楼层
一些定义和申明而已  你想问什么?
就好比把你命个名:ihafd
程序中写:ihafd,就指的是你
wjzx111056 发表于 2012-9-27 19:51 | 显示全部楼层
#define _DINT() __disable_interrupt()
#define _EINT() __enable_interrupt()
#define _NOP() __no_operation()
#define _OPC(x) __op_code(x)
#define _SWAP_BYTES(x) __swap_bytes(x)
这几个是宏定义,是为了在程序中方便、简洁地使用。
figo20042005 发表于 2012-9-28 10:04 | 显示全部楼层
各种定义,声明,利于自己的编程习惯和规范
hawksabre 发表于 2012-9-28 19:21 | 显示全部楼层
多用用   慢慢就习惯了  呵呵  这个刚开始都有一点不习惯   时间长了就好了   一个熟悉的过程
 楼主| ihafd 发表于 2012-9-29 12:18 | 显示全部楼层
我知道是些定义。
我主是想知道它们是怎用使用的。
我只知道如下是怎样用的,别的都不知道啊
#define _DINT() __disable_interrupt()   //关总中断
#define _EINT() __enable_interrupt()   //开总中断
#define _NOP() __no_operation()        // 空操作。
zhl100 发表于 2012-10-6 19:22 | 显示全部楼层
多看看就知道了,封装好的入口
MrWang_ 发表于 2012-10-9 19:39 | 显示全部楼层
6# ihafd 直接由他的宏定义啊,比如_DINT();语句就是关总中断了...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

294

主题

858

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部