⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtos.c

📁 Counter
💻 C
字号:
// *********************************************************
//                             include
// *********************************************************
#define ENABLE_BIT_DEFINITIONS
#define _XTALL 7372000

#include <stdlib.h>
#include <iom128.h>
#include <inavr.h>

unsigned char masiv[50];
unsigned char MODBUSmasiv[15];
unsigned char MODBUScaunt=0,MODBUSsize = 10;
unsigned char Watch,EEpromEror;
unsigned char SedMas[50];
unsigned char u,caunt=0,size=0;
#include "oS.c"
#include "oS.h"
#include "oSdef.h"
#include "UART2_mega64.c"
#include "UART_mega128.c"


#include "i2ceeprom.c"
#include "i2cTimer.c"
#include "i2c.c"

//extern void USART_Init( unsigned int baud );
//extern void _putchar(unsigned char in_char);
void Init_Timer0 (void);
void MyFirstStart(void);
unsigned char MODBUSCODEC (unsigned char data1,unsigned char data2);
 unsigned char PodarokotTohi(unsigned char redat);
__no_init __eeprom unsigned char FirstStart @ 0x20;

unsigned char Old_day;    

unsigned char NewBufer [60];
unsigned char NewBufPoint;
unsigned char CauntNum = 5 ;
unsigned int  CauntMen = 1;

unsigned char MODBUSdeode[16]= {"0123456789ABCDEF"};
unsigned char CaunterStek[16]= {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
unsigned int CaunterActiv,CaunterActivtoPC;

unsigned char CaunterStekSize=16,CaunterStekPoint=0;

unsigned int MODBUS_timer;

unsigned int msec = 5,sec=60,min = 60;
unsigned char hour = 10;
unsigned char day = 1;
unsigned char month = 1;
unsigned char year = 6;

unsigned int people = 10;


#pragma vector = TIMER0_OVF_vect
__interrupt  void TIMER0_OVF(void)
    {
        if (MODBUS_timer) MODBUS_timer--;
        else
            {
                MODBUS_timer = 250;
                TaskOn (3);
               // PORTC ^= 0x01;
            }
            if (Watch) Watch--; 
            if (Watch == 1)
              {
                EEpromEror = 1;
                PORTG |= 1;
              } 
 } 
void main(void)
  {
    DDRC = 0xff;
    DDRA = 0xff;
    DDRG = 0x01;
    DDRD = 0xFD;
    PORTD = 0x00;

  __enable_interrupt();
    PORTC = 0xFF;
    PORTA = 0xFF;

     Init_Timer0();
     USART_Init(3);
     USART_Init_0(47);
     i2cInit();
MyFirstStart();
   //  TaskOn (3);
     TaskOn (7);
     // TaskOn (1);

i2cTimerRead(0xD0);
Old_day = NOW.Date; 

   while(1)
      {

        ISR();
        TaskRan();
      }
  }

void Task5(void)    // 青镨顸 溧眄

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -