IAR问题

[复制链接]
2125|3
 楼主| baidudz 发表于 2012-12-31 15:14 | 显示全部楼层 |阅读模式
#define __bsp_ISTATE_T__            istate_t

#define __bsp_ENABLE_INTERRUPTS__()       __enable_interrupt()
#define __bsp_DISABLE_INTERRUPTS__()      __disable_interrupt()
#define __bsp_INTERRUPTS_ARE_ENABLED__()  (__get_SR_register() & GIE)

#define __bsp_GET_ISTATE__()              __get_interrupt_state()
#define __bsp_RESTORE_ISTATE__(x)         __set_interrupt_state(x)


typedef __bsp_ISTATE_T__  bspIState_t;

#define BSP_ENTER_CRITICAL_SECTION(x)   st( x = __bsp_GET_ISTATE__(); __bsp_DISABLE_INTERRUPTS__(); )
#define BSP_EXIT_CRITICAL_SECTION(x)    __bsp_RESTORE_ISTATE__(x)
#define BSP_CRITICAL_STATEMENT(x)       st( bspIState_t s;                    \
                                            BSP_ENTER_CRITICAL_SECTION(s);    \
                                            x;                                \
                                            BSP_EXIT_CRITICAL_SECTION(s); )

这里的istate_t 好像是IAR内部定义的类型,请问在IAR中是个什么类型, 这里的x 是GIE的状态吗 还是其它什么的状态?
有时候会这样用到:
       bspIState_t intState;
      BSP_ENTER_CRITICAL_SECTION(intState);
      sJoinSem--;
      BSP_EXIT_CRITICAL_SECTION(intState);
火箭球迷 发表于 2012-12-31 15:26 | 显示全部楼层
看一下编译器的帮助手册,查一下istate_t 这个关键字,里面肯定有详细的说明的。看看什么功能。
xsgy123 发表于 2012-12-31 15:51 | 显示全部楼层
我也用IAR也刚刚接触
但是安装好了后 没有看到编译的图标
是不是连接到硬件才能看到?
秋天落叶 发表于 2012-12-31 15:55 | 显示全部楼层
火箭球迷 发表于 2012-12-31 15:26
看一下编译器的帮助手册,查一下istate_t 这个关键字,里面肯定有详细的说明的。看看什么功能。 ...

学会用帮助手册
您需要登录后才可以回帖 登录 | 注册

本版积分规则

239

主题

2284

帖子

0

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