打印

IAR问题

[复制链接]
1536|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

粉丝