| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /* 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);
- }
- }
|