找回密码
 立即注册
楼主: tzz***

uC/OS-II@STC8H, 51核移植版本!杨教授:51核上激动人心的RTOS生态已具备

[复制链接]

该用户从未签到

20

主题

587

回帖

1301

积分

荣誉版主

积分
1301
 楼主| 发表于 2024-5-11 09:20:45 | 显示全部楼层
杨为民 发表于 2024-5-10 21:45
(1)本来等待的CosyOS-II for M3/M4以及熊仔的新版本一时半会儿等不到了,你的这个移植版的特性先自己测 ...

发给您的测试代码,有TIM3中断的使用, 一楼的代码,有串口中断的使用,都可以参照。无需另外发中断使用的例子了
回复 支持 反对 送花

使用道具 举报

该用户从未签到

66

主题

719

回帖

1万

积分

荣誉版主

积分
11017
发表于 2024-5-11 16:35:27 | 显示全部楼层
tzz1983 发表于 2024-5-11 09:07
使用中断,和祼机完全一样, (就是以前是要在中断里 OSIntNesting++ 和 OSIntExit(), 现在不需要了)

中 ...

这一楼的说明写得不错。去看看我对你作品的点评
单片机RTOS实时响应时间排行榜重大宣布:STC32G12K128单片机 全面碾压 STM32F103C》(https://www.stcaimcu.com/forum.php?mod=viewthread&tid=7724&extra=page%3D1
的121楼。





回复 支持 反对 送花

使用道具 举报

该用户从未签到

66

主题

719

回帖

1万

积分

荣誉版主

积分
11017
发表于 2024-5-12 17:15:49 | 显示全部楼层
tzz1983 发表于 2024-5-11 09:09
您说写得过于奇怪的地方,是哪里?  可以贴出代码,我愿意为您单独解释

(1)我的排行榜测试程序设计的是1秒钟进行一次产生中断调用。当然STC8H/32G的定时器3产生不了1秒钟的延迟,看看你的招数:

oid Timer3_ISR_Handler (void) interrupt 19
{
        T4T3M &= ~0x08;     //定时器3停止计数
    IE2 &= ~0X20;       //关闭定时器3中断   
    P00 = ~P00;   
    P01 = 1;            //开始唤醒任务
    OSTaskResume_FROM_ISR(APP_CFG_START_TASK_PRIO);
}
void START_TASK(void *p_arg)

{
    while(OSRunning)

    {
       Timer3_Init();      //定时200微秒后产生中断
        OSTaskSuspend(APP_CFG_START_TASK_PRIO);  //任务挂起自己, 200微秒后被中断唤醒

        P01=0;              //任务被中断解除挂起  32uS      
        OSTimeDly(77);
        P02=~P02;
        P23=~P23;
    }
    if(p_arg);
}
其中,每次中断调用要在停止定时器3,然后在任务中又初始化它,这是什么招数?你至今不知道STC8H/32G的定时器3有预分频的功能吗?

(2)这是第一轮排行榜我帮你写的测试程序
// ==== 定时器3 初始化 ===========
                        Timer3_Init();       
      ET3=1;         //允许中断
                TM3PS=99;
void Timer3_ISR_Handler (void) interrupt 19        
{
    OSIntNesting++;     //单指令加 OSIntNesting
                P00=~P00;
       
// ---- 中断启动等待任务 ------------       
                        P01=1;
                        OSTaskResume(2);                       
   
    OSIntExit();        //退出中断
}
其中只一行“TM3PS=99;”程序就将10毫秒的定时器3的中断周期变为1秒了。
(3)我帮你写得测试程序你本尊架子大到没有从网上下载下来具体看看吗?然后你本尊写你移植FreeRTOS的测试程序就给出了这种烂招数,当时我就觉得你真是那种只会挑毛病不肯学习的主!我怕再打你的脸,忍住没有说。这次你又用这种烂招数,还要盯着问,我也忍着不说了,留给你学习排行榜其他作品的机会。但是,现在尾巴被人揪住了,打脸不?
但愿没有下一次






点评

杨老师教训的对, 我当时只是想用最短的时间完成这个简单测试的功能代码, 并没有想这么周全, 其实初始化代码也是ISP工具生成的哈. 其实我还想说, 与其定时, 还不如关掉妥当, 这里就是要这个单次的效果呀 可以理解  详情 回复 发表于 2024-5-12 17:58
回复 支持 反对 送花

使用道具 举报

该用户从未签到

565

主题

9940

回帖

1万

积分

管理员

积分
14442
发表于 2024-5-12 17:24:05 | 显示全部楼层
截图202405121723382313.jpg

截图202405121724021170.jpg

回复 支持 反对 送花

使用道具 举报

该用户从未签到

565

主题

9940

回帖

1万

积分

管理员

积分
14442
发表于 2024-5-12 17:32:42 | 显示全部楼层
楼主大侠能否将STC32上曾经移植的:
GUI/uGFX, 文件系统,
也在STC8H上测试通过,一并放上来

点评

暂时不做这些了, 需要用到的, 可以自己整合, 难度不大.  详情 回复 发表于 2024-5-12 18:12
回复 支持 反对 送花

使用道具 举报

该用户从未签到

20

主题

587

回帖

1301

积分

荣誉版主

积分
1301
 楼主| 发表于 2024-5-12 17:58:29 | 显示全部楼层
本帖最后由 tzz1983 于 2024-5-12 18:18 编辑
杨为民 发表于 2024-5-12 17:15
(1)我的排行榜测试程序设计的是1秒钟进行一次产生中断调用。当然STC8H/32G的定时器3产生不了1秒钟的延 ...

杨老师教训的对,
我当时只是想用最短的时间完成这个简单测试的功能代码,
并没有想这么周全, 初始化代码也是ISP工具生成的哈.

其实我还想说, 与其定时, 还不如关掉妥当, 这里就是要这个单次的效果呀
可以理解为任务单次启定硬件定时器.

其次是我定的这 200微秒也不是随变定的,  因为滴答为1000微秒,
延时200毫秒可以自动的让TIM3中断避开滴答中断,
让这两个最低优中断不能相互影响, 从而保证测量准确度
回复 支持 反对 送花

使用道具 举报

该用户从未签到

20

主题

587

回帖

1301

积分

荣誉版主

积分
1301
 楼主| 发表于 2024-5-12 18:12:29 | 显示全部楼层
神农鼎 发表于 2024-5-12 17:32
楼主大侠能否将STC32上曾经移植的:
GUI/uGFX, 文件系统,
也在STC8H上测试通过,一并放上来

暂时不做这些了,  需要用到的, 可以自己整合, 难度不大.
回复 支持 反对 送花

使用道具 举报

该用户从未签到

66

主题

719

回帖

1万

积分

荣誉版主

积分
11017
发表于 2024-5-13 00:23:13 | 显示全部楼层
本帖最后由 杨为民 于 2024-5-13 00:25 编辑
tzz1983 发表于 2024-5-12 18:12
暂时不做这些了,  需要用到的, 可以自己整合, 难度不大.

我原来给你的点评结论看来“零中断延迟”一词的发明人有不同意见,所以我负责任地重新做点评结论

楼主的“uC/OS-II@STC8H确实是一个能在高优先级用户中断中调用系统服务的RTOS
并且是一个主流的优秀的单片机的RTOS(uC/OS-II)在STC8H单片机上的移植版

这个点评结论与CosyOS无关,不需要得到他的批准。


回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    奋斗
    7 小时前
  • 签到天数: 110 天

    [LV.6]常住居民II

    12

    主题

    508

    回帖

    1540

    积分

    荣誉版主

    积分
    1540
    发表于 2024-5-13 01:19:43 | 显示全部楼层
    一声不吭的下载了.

    点评

    帮在您的实际应用中多带头推广下 RTOS  详情 回复 发表于 2024-5-13 14:05
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    5

    主题

    101

    回帖

    499

    积分

    中级会员

    积分
    499
    发表于 2024-5-13 12:10:34 | 显示全部楼层
    fanxsp 发表于 2024-5-7 09:45
    “OS切换上下文时,不关中断,中断可以快速响应”,你这个特性,非常好,我也考虑一下,能不能实现,至少不要 ...

    对的,我也很期待,早上开车还在想,EA关多短,有可能不丢信号
    后来想明白了,只要EA关一会,等运行到EA再打开,一定有机会丢信号
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-6-14 17:24 , Processed in 0.072986 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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