C51 COMPILER V9.54 TTSS_TICK 09/06/2024 11:24:47 PAGE 1 C51 COMPILER V9.54, COMPILATION OF MODULE TTSS_TICK OBJECT MODULE PLACED IN ..\out\TTSS_tick.obj COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\ctask\TTSS_tick.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOI -NTPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;.. -\source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRIN -T(..\out\TTSS_tick.lst) TABS(2) OBJECT(..\out\TTSS_tick.obj) line level source 1 /***************************************************************************** 2 * uart.h: Header file for NXP LPC17xx Family Microprocessors 3 * 4 * Copyright (c) 2023 CCSENS 5 * All rights reserved. 6 * 7 * History 8 * 2009.05.27 ver 1.00 Prelimnary version, first Release 9 *2017.01.10 ver 1.10 rename TTSS_tick.h tick.c 10 2019.03.11 ver 1.30 定时时间更改为25ms 解决串口接收受干扰的情况 11 *2021.12.12 ver 2.10 detail 12 ****************************************************************************************/ 13 /***************************************************** 14 *============================================================================ 15 * HISTORY 16 * Below this line, this part is controlled by TSTS. DO NOT MODIFY!! 17 伪时间片嵌入式平台(Task Step by Step Turn by Turn Structure,简称TSTS) 18 *============================================================================ 19 ****************************************************************************/ 20 21 #include "TTSS_tick.h" *** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" 22 23 #include "msp_uart1.h" 24 ///#include "msp_uart2.h" 25 ///#include "msp_uart3.h" 26 ///#include "msp_uart4.h" 27 28 TS_nos_tick_ s_nos_tick; 29 #ifdef D_use_tick_fum 30 void L1_task_tick_init(void) 31 { 32 1 s_nos_tick.uart1_overtime_callback = L2_uart1_overtime_callback; 33 1 s_nos_tick.uart2_overtime_callback = L2_uart1_overtime_callback; 34 1 s_nos_tick.uart2_overtime_callback = L2_uart1_overtime_callback;///保护使用防止误删 容易崩溃 35 1 36 1 s_nos_tick.t_1s = 0; 37 1 s_nos_tick.jiffies = 0; 38 1 s_nos_tick.t1s_heartbeat= 0; 39 1 40 1 s_nos_tick.uart1_overtime_callback = L2_uart1_overtime_callback;///必备步骤1(method step 3) 41 1 //// s_nos_tick.uart2_overtime_callback = L2_uart2_overtime_callback;///必备步骤1(method step 3) 42 1 //// s_nos_tick.uart3_overtime_callback = L2_uart3_overtime_callback;///必备步骤1(method step 3) 43 1 // s_nos_tick.uart4_overtime_callback = L2_uart4_overtime_callback;///必备步骤1(method step 3) 44 1 ///s_nos_tick.uart3_overtime_fun = NULL;///必备步骤1(method step 3) 45 1 ///s_nos_tick.uart4_overtime_fun = NULL;///必备步骤1(method step 3) 46 1 /***** 47 1 s_nos_tick.t1s_flag[0] = 0; 48 1 s_nos_tick.t1s_flag[1] = 0; 49 1 s_nos_tick.t1s_flag[2] = 0; 50 1 s_nos_tick.t1s_flag[3] = 0; 51 1 s_nos_tick.t1s_flag[4] = 0; C51 COMPILER V9.54 TTSS_TICK 09/06/2024 11:24:47 PAGE 2 52 1 s_nos_tick.t1s_flag[5] = 0; 53 1 if(L2_tick_time_interval(n_stamp,7*D_Tdelay_1s)) 54 1 {// 时间溢出 55 1 L2_tick_time_stamp(s->t_stamp); 56 1 s_nos_tick.t_10ms = 0; 57 1 s_nos_tick.tp_count = 0; 58 1 s_nos_tick.n_stamp = 0; 59 1 s_nos_tick.t1s_heartbeat= 0; 60 1 ********/ 61 1 62 1 /// s_nos_tick.flag_1s = 0; 63 1 /// s_nos_tick.t_n = 0; 64 1 //s_nos_tick.tmp = 0; 65 1 //L0_timer0_ONF(1); 66 1 } 67 //JIFFIES回绕问题没有解决 参见 linux time_after宏定义 68 void L1_task_tick_callback (void) 69 { 70 1 ///65535*65535/3600/24/365=139nian/s=1.39nian/10ms 71 1 ///相当于1.39年后t_10ms 溢出,对于电池供电的系统而言 完全可以满足 72 1 // 4,294,836,225 = 65535*65535 ;3600*24*60*60 = 31,536,000秒/年 73 1 //s_nos_tick.t_50ms ++;//D_led_D1_REV(); 20160522验证 74 1 s_nos_tick.jiffies++; 75 1 if(s_nos_tick.jiffies % HZ == 0) 76 1 { 77 2 // 65535*65535/24/60/60/356/10 =12.7年 78 2 s_nos_tick.t_1s ++; 79 2 s_nos_tick.t1s_heartbeat = 1; 80 2 } 81 1 s_nos_tick.uart1_overtime_callback();////必备步骤1(method step 1) 82 1 // s_nos_tick.uart2_overtime_callback();////必备步骤1(method step 2)// 83 1 // s_nos_tick.uart3_overtime_callback();////必备步骤1(method step 1) 84 1 // s_nos_tick.uart4_overtime_callback();////必备步骤1(method step 1) 85 1 } 86 87 88 89 #else #endif 92 93 #if 0 /// 定时器调用 10ms 一个中断 /// 定时器调用 25ms 一个中断 void L1_tick_tick (void) { /// 65535*65535 /3600/24/365=139nian/s=1.39nian/10ms ///相当于1.39年后t_10ms 溢出,对于电池供电的系统而言 完全可以满足 // 4,294,836,225 = 65535*65535 ;3600*24*60*60 = 31,536,000秒/年 s_nos_tick.tp_count++; s_nos_tick.t_10ms ++;//D_led_D1_REV(); 20160522 验证 if(s_nos_tick.t_10ms%D_TIMER0_1S_COUNT == 0) {// 65535*65535/24/60/60/356/10 =12.7年 s_nos_tick.t_1s ++;//// 65535*65535/24/60/60/356/10 =12.7年 /// s_nos_tick.flag_1s2 = 1; s_nos_tick.t1s_heartbeat = 1; /// LED1 = !LED1; } //<<<<<<<<<<<<<<<<<<<<<< } C51 COMPILER V9.54 TTSS_TICK 09/06/2024 11:24:47 PAGE 3 void L1_tick_tick (void) { s_nos_tick.t_n++; if (s_nos_tick.t_n >= D_TIMER0_10MS_COUNT)// 5500--- 100 10s--556 /// s 5ms 65535*65535 /3600/24/365=139nian/s // 4,294,836,225 = 65535*65535 ;3600*24*60*60 = 31,536,000秒/年 // fixme:此处 保留了一个百年bug:) { s_nos_tick.t_10ms ++;//D_led_D1_REV(); 20160522 验证 if(s_nos_tick.t_10ms%D_TIMER0_1S_COUNT == 0) {// 65535*65535/24/60/60/356/10 =12.7年 s_nos_tick.t_1s ++;// // led_red =~led_red; //s_nos_tick.t1s_flag[0] = 1; //s_nos_tick.t1s_flag[1] = 1; //s_nos_tick.t1s_flag[2] = 1; //s_nos_tick.t1s_flag[3] = 1; //s_nos_tick.t1s_flag[4] = 1; //s_nos_tick.t1s_flag[5] = 1; s_nos_tick.flag_1s = 1; s_nos_tick.t1s_heatbeart = 1; } s_nos_tick.t_n = 0; } /******************* // 0.2mm 4/0.2 = 20 20/60s = 333ms/maicong // 0.2mm 60s 60 100 ms // 0.2 6000ms // 平时为1 水满一次为0 // rain = 1;必须要做的初始化 if(0 == rain) { if(1 == s_rain.temp) {// ````\___ s_rain.pool = s_rain.t; s_rain.all ++; s_rain.t = 0; } s_rain.temp = 0; }else { s_rain.temp = 1; } s_rain.t ++; ******/ //<<<<<<<<<<<<<<<<<<<<<< } #endif 167 MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 175 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = 26 ---- PDATA SIZE = ---- ---- DATA SIZE = ---- ---- C51 COMPILER V9.54 TTSS_TICK 09/06/2024 11:24:47 PAGE 4 IDATA SIZE = ---- ---- BIT SIZE = ---- ---- EDATA SIZE = ---- ---- HDATA SIZE = ---- ---- XDATA CONST SIZE = ---- ---- FAR CONST SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)