打印

[求助]Small RTOS中断写法

[复制链接]
2025|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ATmega8515|  楼主 | 2007-3-4 11:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#if EN_OS_INT_ENTER >0     
#pragma disable   
始终搞不明白这两行代码什么意思。

#if EN_OS_INT_ENTER >0  //是允许系统管理中断嵌套???????
#pragma disable 禁止中断????????? 
如果是禁止中断,又怎么实现的中断嵌套呢???? 
 
以下是陈明计提供的串口中断实例:
/*********************************************************************************************************
** 函数名称: comm
** 功能描述: 串口中断处理程序
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 陈明计
** 日 期: 2002年12月4日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if EN_OS_INT_ENTER >0     
#pragma disable                                        /* 除非最高优先级中断,否则,必须加上这一句                 */
#endif
        void comm(void) interrupt 4
{
    uint8 data temp;
    if (RI == 1)
    {
#if EN_OS_INT_ENTER >0
        OS_INT_ENTER();
#endif
        RI = 0;
        OSQIntPost(SerialInData,SBUF);
        OSIntExit();
        return;
    }
    if (TI == 1)
    {
        TI = 0;
        if (OSQAccept(&temp,SerialOutData) == OS_Q_OK)
        {
            SBUF = temp;
        }
        else
        {
            SerialCanSend = 1;
        }
    }
}

相关帖子

沙发
lixun00| | 2007-3-5 14:33 | 只看该作者

我买了他的一本书,说的挺详细。建议你也买一本

使用特权

评论回复
板凳
ATmega8515|  楼主 | 2007-3-5 22:26 | 只看该作者

楼上讲一下两行代码有什么用?

楼上讲一下两行代码有什么用?

使用特权

评论回复
地板
lixun00| | 2007-3-8 08:36 | 只看该作者

正在整理,将来比较忙

使用特权

评论回复
5
lixun00| | 2007-3-9 10:25 | 只看该作者

重新看了一下,发现想写清楚又写不清楚,看样子俺也没理解透

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

59

帖子

0

粉丝