搜索
bottom↓
回复: 6

关于网站提供的SMALL RTOS应用中遇到的问题

[复制链接]

出0入0汤圆

发表于 2005-8-31 11:56:39 | 显示全部楼层 |阅读模式
1:中断函数中的变量不能被任务识别

2:中断发送信号给任务,单片机不工作,处于死机状态

3:任务也不能想另外一个任务发送信号
-----此内容被lcqqcl于2005-08-31,16:38:08编辑过

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2005-9-3 22:38:05 | 显示全部楼层
挂在这里,居然没有一个发言的,不知道怎么回事?!



哈哈,熬了几个通宵到晚上两点,问题解决了,碰到同样问提的来找我!
头像被屏蔽

出0入0汤圆

发表于 2005-9-3 23:58:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2006-8-13 18:29:31 | 显示全部楼层
我觉得是 Os_Enter_Sum 在作怪,在os_cpu_a.c 的最后:

        if(Os_Enter_Sum==0)

        {

                sei();

        }

GCC 用了        :POPALL();   /*  全部寄存器堆出栈   */



出栈后的 R24作为Os_Enter_Sum // 错误

现在 在os_core.c 的设Os_Enter_Sum 变量的地方用了volatile 可以了:

volatile uint8 Os_Enter_Sum = 0;        // 原来只是简单的重复使用R24 , 错误

还有os.h 的  extern volatile uint8 Os_Enter_Sum; 这个不改好像也不行



请大虾试试。

顺便感谢 创   建   人: 徐宝田  

佩服!!

出0入0汤圆

发表于 2006-12-29 19:51:50 | 显示全部楼层
只在51用过SMALL RTOS。

出0入0汤圆

发表于 2006-12-30 11:30:31 | 显示全部楼层
任务之间可以发送信号,

中断也可以发信号给任务,只能用OSIntSendSignal(),

如果是非系统管理中断,必须注意如下设置,



1.非系统管理中断优先级要设置成最高;

2.将Os_cpu.h中EN_SP2定义为1

3.将Os_cpu.h中Sp2Space定义为适当大小,为非系统管理中断堆栈提供空间;

4.重写三个宏OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()和SET_EA,

   比如51单片机系统时钟中断用T2,另外使用非系统管理中断T0,设置时这样的:

#define  OS_ENTER_CRITICAL()  IE&=~0x20,Os_Enter_Sum++   //关闭系统时钟中断和系统管理中断,不要关闭非系统管理中断;

#define  OS_EXIT_CRITICAL()   if (--Os_Enter_Sum==0)IE|=0xa0  //打开系统时钟中断和系统管理中断,这里千万不能把不受系统管理的中断打开(否则,系统就会崩溃);

SET_EA   MACRO

ORL   IE,#0A0H    ;打开系统时钟中断和系统管理中断,这里千万不能把不受系;

ENDM                    ;管理的中断打开(否则,系统就会崩溃)

5.非系统管理中断不允许调用OS_INT_ENTER()和OSIntExit();但可以调用OSIntSendSignal()发送信号,使某个任务就绪。

6.在合适的时候打开非系统管理中断。

我是用一个单独的任务控制非系统管理中断,这个任务是由其他任务OSIntSendSignal()发送信号就绪的,任务之间发送信号没问题。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-20 19:14

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

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