分享一个UCOS-atmega128程序

51hei · 电子工程世界·2020-09-17 00:00

1.3k

单片机源程序如下:



#include "includes.h"

#define        F_OSC        8000000                /* Crystal frequence 10Mhz*/


#define        LED_ON()        { DDRF = 0xff; PORTF = 0x0; }

#define        LED_OFF()        ( PORTF = 0xff )


/* ***********************************

*                         TimerInit()

* Fun: Initial the system timer for os, using timer 0

* ************************************ */

void        TimerInit( void )

{

TCCR2 = 1<<3;                /* work in CTC mode */

OCR2 = 98;                        /* 100 hz */

TCNT2 = 0;

TIMSK |= 1<<7;     /* Enable CTC interrupt */

TCCR2 |= 3;                   /* start timer, F_OSC/1024 */

}


OS_EVENT * mbox;

OS_STK stk0[80], stk1[80];

void        task0( void * pdata )

{

INT8U error;

while(1)

{

OSMboxPend( mbox, 0, &error );

LED_ON();

OSTimeDly(400);

OSMboxPost( mbox, (void *)1 );

}

}


void        task1( void * pdata )

{

INT8U error;

TimerInit();

while(1)

{

OSMboxPend( mbox, 0, &error );

LED_OFF();

OSTimeDly(400);

OSMboxPost( mbox, (void *)1 );

}

}


int        main()

{

INT8U        error;

OSInit();

mbox = OSMboxCreate( (void *)1 );

OSTaskCreate( task0, (void *)0, &stk0[99], 2 );

OSTaskCreate( task1, (void *)0, &stk1[99], 3 );

OSStart();

return        0;


……………………


关键字: UCOS atmega128 程序 编辑:什么鱼 引用地址: http://news.eeworld.com.cn/mcu/ic510508.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

广告

51hei · 电子工程世界·2020-09-17 00:00

1.3k
  • 单片机
  • ST
  • 用户热评
    打开摩尔芯球APP,查看更多评论

    重大事件及时推送,更流畅的沉浸式阅读体验

    参与评论

    0/200字

    登录后即可发布评论

    发布评论

    请使用浏览器自带的分享按钮,
    将你这篇文章分享出去吧。
    +86
    获取验证码
    登 录

    邮箱登录

    未注册过的用户将直接为你创建摩尔账号