/* MAIN.C file * * Copyright (c) 2002-2016 LCG */ #define _MAIN_C #include "main.h" #include "iwdg.h" #include "tasks.h" #include "timer1.h" #include "timer2.h" #include "timer4.h" #include "gpio.h" #include "iic.h" #include "adc.h" // xxddq.h的时间变量 volatile unsigned short timers[MAXTASKS]; // BZY_STM8版本号 uchar version = 2; void main() { int i = 0,j=0; CLK_CKDIVR = 0x08; //设置系统时钟为8MHZ //CLK_CKDIVR = 0x00; //设置系统时钟为16MHZ CLK_ICKR = 0x08; //打开低速时钟源 CFG_GCR |= 0x01; //禁止SWIM,复用PD1 GPIO_INIT(); /* //PC7通过蜂鸣器测试看门狗,测试stm8复位用; TEST_OUT_DDR = 1; TEST_OUT_CR1 = 1; TEST_OUT_CR2 = 1; TEST_OUT_ODR = 1; delay_ms(2000); TEST_OUT_ODR = 0; delay_ms(2000); TEST_OUT_ODR = 1; delay_ms(2000); TEST_OUT_ODR = 0; */ IWDG_INIT(); //TIM1_INIT(); TIM1_PWM_INIT(); TIM4_INIT(); TIM2_INIT(); ADC_INIT(); IIC_Init(); _asm("rim"); //开总中断 stm8_data.version = version; IIC_Init(); INITTASKS(); //初始化任务函数 while (1) { RUNTASK(safeTask,0); RUNTASK(safeIot,1); RUNTASK(getvbat,2); RUNTASK(control_task,3); RUNTASK(fsl_task,4); } }