打印
[PIC®/AVR®/dsPIC®产品]

PIC18F67K22_OSA_RTOS项目测试(重发)

[复制链接]
5899|44
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xfcjava2|  楼主 | 2015-1-15 23:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pzsh 于 2022-4-17 09:12 编辑

PIC18F67K22_OSA_RTOS项目测试:

   说明:

    1、OSA RTOS说明:

        1)、OSA是一个支持多种MCU架构的紧凑型RTOS。
        2)、OSA是一个非占先式的RTOS,支持任务优先级,
        3)、支持PIC10, PIC12, PIC16, PIC18, PIC24, dsPIC, AVR, STM8等多种MCU。
        4)、它使用简单,占用资源少,非常适合一些小资源的MCU使用。

    2、PIC单片机选择:PIC18F67K22

    3、OSA的使用比较简单,使用步骤:
       1).调用函数OS_Init()进行OS初始化
       2).使用OS_Task_Create创建任务
       3).设置硬件定时器,并将OS_Timer()放入定时器中断。
           OSA可以使用任何一个硬件定时器进行OS调度,调度周期也可以自己定义。
       4).使用OS_EI()允许系统中断
       5).使用OS_Run()启动调度器

  附件: 1、编译环境选择、设置等等:
               PIC18F67KSS_OSA_Test_文档.rar (786.09 KB)
         2、工程项目文件:
                PIC18F67KSS_OSA_Test.rar (177.66 KB)
            
沙发
xfcjava2|  楼主 | 2015-1-15 23:51 | 只看该作者
    现在一直在玩ARM,根本就不用什么8位机的芯片了。

是朋友找到我,他们原来的一个项目是用的PIC单片机搞的。

原来的项目文件,写得比较乱,没有使用嵌入式操作系统,是裸奔的,问题多多!!

就找到我,看看能不能重新改写原来的项目文档,就玩起了PIC单片机。
     
    从来没有玩过PIC单片机,但就用几天的零碎时间,搞了一下,现在用这个RTOS,

运行测试,非常理想。就发这个帖子了,看看能不能帮到大家。

    实际的工程项目文件,比我发的帖子中的内容复杂多了。

使用特权

评论回复
板凳
xfcjava2|  楼主 | 2015-1-16 00:04 | 只看该作者
实际的工程项目文件,大致如下所示。内部的注释都删除了。

/*
************************************************************************************************
*
*  File:          MCtrl_OSA.c
*
*  Compilers:     Microchip C18
*
*  Controller:    PIC18F67k22
*----------------------------------------------------------------------------------------------  
*
*  Description:   This program written with RTOS OSA.  
*
************************************************************************************************
*/


#include <osa.h>
#include <p18f67k22.h>
#include "includes.h"


/********************************************************************************
*                                                                              *
*  Function:       main                                                        *
*                                                                              *
*------------------------------------------------------------------------------*
*                                                                              *
********************************************************************************/

void main (void)
{
    PIC18F_Init();  
   

    OS_Init();      

    OS_Bsem_Set(BS_TM1628_FREE);
    OS_Bsem_Set(BS_ADC_FREE);   
    OS_Bsem_Set(BS_KEY_EFFECT);  

    OS_Flag_Create(F_Homing);   
    OS_Flag_Create(F_Nozzel);   
    OS_Flag_Create(F_CrValve);   

    OS_Flag_Init(F_Nozzel ,0x00);
    OS_Flag_Init(F_CrValve,0x00);

    OS_Task_Create(0, Task_Nozzle_Ctrl);  
    OS_Task_Create(0, Task_StepMT_Ctrl);
    OS_Task_Create(0, Task_Temp_Getting);
   
    OS_Task_Create(1, Task_Seat_Detect);  
    OS_Task_Create(1, Task_ADC_TempCtrl);
    OS_Task_Create(1, Task_Light_Detect);
    OS_Task_Create(1, Task_Flow_Detect);   
     
    OS_Task_Create(2, Task_KeyScan);     
    OS_Task_Create(2, Task_LED_Flash);   

    OS_Task_Create(3, Task_IRKey_Scan);   

    OS_EI();
  

    ClrWdt();
    WDTCONbits.SWDTEN =1;

    OS_Run();         
}

使用特权

评论回复
地板
xfcjava2|  楼主 | 2015-1-16 00:06 | 只看该作者
给出这些,是给大家看看,这个RTOS是可以干很多事情的,测试也是很满意的。

望大家喜欢,谢谢!!!

使用特权

评论回复
5
xfcjava2|  楼主 | 2015-1-16 00:12 | 只看该作者
还有就是需要补充的就是:
  
   我使用的开发环境是:
          MPLAB IDE v8.90
   请安装: MMPLAB-C18-Full-v3_30.exe  [文件大小:42.2M]

   然后安装升级文件:mplabc18-v3.47-windows-upgrade-installer.exe
                    [文件大小:83.2M]

   文件有些大,大家可以到网上去下载。

使用特权

评论回复
6
wangtao478552| | 2015-1-16 15:45 | 只看该作者
谢谢楼主分享

使用特权

评论回复
7
huarana| | 2015-1-16 16:09 | 只看该作者
有空研究下,不知道好移植不,暂时用pic16得多一些。   环境是MPLAB X IDE  ,PICC或 XC8

使用特权

评论回复
8
xfcjava2|  楼主 | 2015-4-19 23:55 | 只看该作者
顶顶,让大家看看,望大家试试这个RTOS,非常好用,不要再裸奔了!!!

使用特权

评论回复
9
2850151772| | 2015-4-21 10:31 | 只看该作者
推荐:victory:

使用特权

评论回复
10
perry_peng| | 2015-4-21 10:53 | 只看该作者
谢谢分享。

使用特权

评论回复
11
perry_peng| | 2015-4-21 14:15 | 只看该作者
谢谢分享。

使用特权

评论回复
12
chuankay| | 2015-5-4 00:37 | 只看该作者
太好了,准备在PIC上用一下RTOS,多谢分享!!

使用特权

评论回复
13
dsoyy| | 2015-5-9 22:55 | 只看该作者
必须顶。当期按照PIC上的OS,也是花了一些时间最终还是放弃了。
下次不怕了。

使用特权

评论回复
14
liangjn| | 2016-1-28 13:26 | 只看该作者
谢谢~

使用特权

评论回复
15
zhiqianlin| | 2016-5-13 09:11 | 只看该作者
谢谢分享,正需要这方面的资料呢,不知道在XC8上面会怎样?

使用特权

评论回复
16
zhanzr21| | 2016-5-16 20:42 | 只看该作者
8位片子 跑OS基本上就是調OS 得不償失

使用特权

评论回复
17
xfcjava2|  楼主 | 2016-5-16 22:10 | 只看该作者
16楼,是没有感受到嵌入式OS的好处,尽是在瞎说!

磨刀不误砍柴工,有了快刀,不怕砍不动柴啊!

你也去磨磨刀吧!

使用特权

评论回复
18
xfcjava2|  楼主 | 2016-5-16 22:14 | 只看该作者
有了快刀,可以砍好柴,多砍柴!

使用特权

评论回复
19
dongshan| | 2016-5-17 10:58 | 只看该作者
xfcjava2 发表于 2016-5-16 22:10
16楼,是没有感受到嵌入式OS的好处,尽是在瞎说!

磨刀不误砍柴工,有了快刀,不怕砍不动柴啊!

我倒觉得说的没错,8位机根本没必要上os.

使用特权

评论回复
20
xfcjava2|  楼主 | 2016-5-17 19:52 | 只看该作者
19楼,你是没有做过大项目,所以没有体会啊。
使用8位机,也是可以做大项目的,使用OS做项目,那是高效、快捷啊!

使用特权

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

本版积分规则

26

主题

449

帖子

42

粉丝