Browse Source

带计量统计

zzw 11 months ago
parent
commit
1bef134a7b
100 changed files with 215043 additions and 99872 deletions
  1. BIN
      Projects/macro/switch_ota_V1.0_20240319_完整样机版本.zip
  2. 0 1062
      Projects/macro/switch_ota_V1.0_P30P31/Listings/main.lst
  3. 0 2087
      Projects/macro/switch_ota_V1.0_P30P31/Listings/protocol.lst
  4. 0 207
      Projects/macro/switch_ota_V1.0_P30P31/Listings/uart.lst
  5. BIN
      Projects/macro/switch_ota_V1.0_P30P31/Objects/HSW_6KEY.tenx.bin
  6. BIN
      Projects/macro/switch_ota_V1.0_P30P31/Objects/HSW_6KEY_bin.bin
  7. BIN
      Projects/macro/switch_ota_V1.0_P30P31/Objects/main.obj
  8. BIN
      Projects/macro/switch_ota_V1.0_P30P31/Objects/protocol.obj
  9. BIN
      Projects/macro/switch_ota_V1.0_P30P31/Objects/sTimeout.obj
  10. BIN
      Projects/macro/switch_ota_V1.0_P30P31/Objects/system.obj
  11. 0 371
      Projects/macro/switch_ota_V1.0_P30P31/protocol.h
  12. BIN
      Projects/macro/switch_ota_app_V1.0.1.zip
  13. 1 1
      Projects/macro/switch_ota_app_V1.0.1/Listings/CRC.lst
  14. 4 4
      Projects/macro/switch_ota_app_V1.0.1/Listings/EEPROM.lst
  15. 3 3
      Projects/macro/switch_ota_app_V1.0.1/Listings/GLOBAL.lst
  16. 4191 4072
      Projects/macro/switch_ota_app_V1.0.1/Listings/HSW_6KEY_APP_V104.m51
  17. 5 5
      Projects/macro/switch_ota_app_V1.0.1/Listings/STARTUP_TENX52.lst
  18. 3 3
      Projects/macro/switch_ota_app_V1.0.1/Listings/TM52F1386_bsp.lst
  19. 20 20
      Projects/macro/switch_ota_app_V1.0.1/Listings/gpio_ctrl.lst
  20. 6 6
      Projects/macro/switch_ota_app_V1.0.1/Listings/iap.lst
  21. 1011 1007
      Projects/macro/switch_ota_app_V1.0.1/Listings/main.lst
  22. 11 11
      Projects/macro/switch_ota_app_V1.0.1/Listings/mcu_api.lst
  23. 40 40
      Projects/macro/switch_ota_app_V1.0.1/Listings/protocol.lst
  24. 1 1
      Projects/macro/switch_ota_app_V1.0.1/Listings/sTimeout.lst
  25. 13 13
      Projects/macro/switch_ota_app_V1.0.1/Listings/system.lst
  26. 2 2
      Projects/macro/switch_ota_app_V1.0.1/Listings/time2.lst
  27. 151 161
      Projects/macro/switch_ota_app_V1.0.1/Listings/uart.lst
  28. 235 0
      Projects/macro/switch_ota_app_V1.0.1/Listings/uart2.lst
  29. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/CRC.obj
  30. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/EEPROM.obj
  31. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/GLOBAL.obj
  32. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104
  33. 12 5
      Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.build_log.htm
  34. 1590 1575
      Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.hex
  35. 1 0
      Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.lnp
  36. 1400 1400
      Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.tenx
  37. 32769 32769
      Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.tenx.crc
  38. 22305 22115
      Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.tenx.crc16_WriterVerify
  39. 32801 32801
      Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.tenx.crc2
  40. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/STARTUP_TENX52.obj
  41. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/TM52F1386_bsp.obj
  42. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/gpio_ctrl.obj
  43. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/iap.obj
  44. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/main.obj
  45. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/mcu_api.obj
  46. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/protocol.obj
  47. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/sTimeout.obj
  48. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/system.obj
  49. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/time2.obj
  50. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/uart.obj
  51. BIN
      Projects/macro/switch_ota_app_V1.0.1/Objects/uart2.obj
  52. 2 0
      Projects/macro/switch_ota_app_V1.0.1/main.c
  53. 72 54
      Projects/macro/switch_ota_app_V1.0.1/main.uvgui.CHENSIR
  54. 66 48
      Projects/macro/switch_ota_app_V1.0.1/main.uvgui_CHENSIR.bak
  55. 18 5
      Projects/macro/switch_ota_app_V1.0.1/main.uvopt
  56. 5 0
      Projects/macro/switch_ota_app_V1.0.1/main.uvproj
  57. 17 4
      Projects/macro/switch_ota_app_V1.0.1/main_uvopt.bak
  58. 1 1
      Projects/macro/switch_ota_app_V1.0.1/main_uvproj.bak
  59. 1 11
      Projects/macro/switch_ota_app_V1.0.1/uart.c
  60. 13 0
      Projects/macro/switch_ota_app_V1.0.1/uart.h
  61. 197 0
      Projects/macro/switch_ota_app_V1.0.1/uart2.c
  62. 30 0
      Projects/macro/switch_ota_app_V1.0.1/uart2.h
  63. BIN
      Projects/macro/switch_ota_app_V1.0.1_20240409.zip
  64. 27 0
      Projects/macro/switch_ota_app_V1.0.3/CRC.c
  65. 7 0
      Projects/macro/switch_ota_app_V1.0.3/CRC.h
  66. 0 0
      Projects/macro/switch_ota_app_V1.0.3/EEPROM.c
  67. 0 0
      Projects/macro/switch_ota_app_V1.0.3/EEPROM.h
  68. 0 0
      Projects/macro/switch_ota_app_V1.0.3/GLOBAL.c
  69. 2 0
      Projects/macro/switch_ota_V1.0_P30P31/GLOBAL.h
  70. 1215 0
      Projects/macro/switch_ota_app_V1.0.3/HLW8110.c
  71. 99 0
      Projects/macro/switch_ota_app_V1.0.3/HLW8110.h
  72. 51 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/CRC.lst
  73. 4 4
      Projects/macro/switch_ota_V1.0_P30P31/Listings/EEPROM.lst
  74. 4 4
      Projects/macro/switch_ota_V1.0_P30P31/Listings/GLOBAL.lst
  75. 1377 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HLW8110.lst
  76. 0 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY.m51
  77. 5468 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP.m51
  78. 5469 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP_V101.m51
  79. 5420 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP_V101_.m51
  80. 5472 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP_V102.m51
  81. 5469 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP_V102_test.m51
  82. 5426 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP_V103.m51
  83. 5426 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP_V104.m51
  84. 0 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY.m51
  85. 5468 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP.m51
  86. 5469 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP_V101.m51
  87. 5421 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP_V101_.m51
  88. 5453 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP_V102.m51
  89. 5469 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP_V102_test.m51
  90. 5453 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP_V103.m51
  91. 5477 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP_V104.m51
  92. 0 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY.m51
  93. 5468 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY_APP.m51
  94. 5469 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY_APP_V101.m51
  95. 5472 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY_APP_V102.m51
  96. 5469 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY_APP_V102_test.m51
  97. 5477 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY_APP_V103.m51
  98. 5888 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY_APP_V104.m51
  99. 5657 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_6KEY.m51
  100. 0 0
      Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_6KEY_APP.m51

BIN
Projects/macro/switch_ota_V1.0_20240319_完整样机版本.zip


File diff suppressed because it is too large
+ 0 - 1062
Projects/macro/switch_ota_V1.0_P30P31/Listings/main.lst


File diff suppressed because it is too large
+ 0 - 2087
Projects/macro/switch_ota_V1.0_P30P31/Listings/protocol.lst


+ 0 - 207
Projects/macro/switch_ota_V1.0_P30P31/Listings/uart.lst

@@ -1,207 +0,0 @@
-C51 COMPILER V9.53.0.0   UART                                                              03/26/2024 11:03:43 PAGE 1   
-
-
-C51 COMPILER V9.53.0.0, COMPILATION OF MODULE UART
-OBJECT MODULE PLACED IN .\Objects\uart.obj
-COMPILER INVOKED BY: C:\Keil_v5_51\C51\BIN\C51.EXE uart.c LARGE OPTIMIZE(8,SPEED) BROWSE INCDIR(..\..\..\Drivers) DEBUG 
-                    -OBJECTEXTEND PRINT(.\Listings\uart.lst) TABS(2) OBJECT(.\Objects\uart.obj)
-
-line level    source
-
-   1          /*********************************************************************************************************
-             -**
-   2            功能:
-   3            Uart1(9600)Uart2(9600),采用time1定时器
-   4            Uart1选用P30,P31作为通信口,Uart2选用P17,P36作为通信口
-   5          
-   6            8位数据位,无校验位,1位停止位。
-   7          **********************************************************************************************************
-             -*/
-   8          #include <REGtenxTM52F1386.h>
-   9          #include "TM52F1386_bsp.h"
-  10          #include <intrins.h>
-  11          #include "uart.h"
-  12          #include "zigbee.h"
-  13          
-  14          // 波特率=(SMOD+1) x F SYSCLK /(32 x 2 x (256 – TH1))
-  15          #define SMOD_PRICE 1
-  16          #define FRC_HZ 18432000
-  17          #define FRC_DIV 2
-  18          
-  19          #define BAUD4800 4800
-  20          #define BAUD9600 9600
-  21          #define BAUD19200 19200
-  22          #define BAUD38400 38400
-  23          #define BAUD57600 57600
-  24          #define BAUD115200 115200 // 必须在系统一分频下
-  25          
-  26          #define UART0_BAUD_RATE BAUD9600
-  27          
-  28          #define TIM_NUM (unsigned int)(256 - ((((FRC_HZ / FRC_DIV) * (SMOD_PRICE + 1)) / 2) / 32 / BAUD9600)); // 
-             -计算不同波特率下的定时器值
-  29          /*
-  30          系统频率设置为二分频
-  31          */
-  32          
-  33          unsigned char txrx_buf[8] = {0x55};
-  34          char busy;
-  35          char setuart;
-  36          /*********************************************************************************************************
-             -*
-  37          **函数名称 :uart1_gpio_init
-  38          **函数描述 :串口IO初始化
-  39          **输    入 :None
-  40          **输    出 :None
-  41          **********************************************************************************************************
-             -/
-  42          void uart0_gpio_init()
-  43          {
-  44   1        // RXD p30 --p4.4
-  45   1        // TXD p31  --p4.5
-  46   1      
-  47   1        SET_REG(PORTIDX, PORT3);
-  48   1        SET_REG_BITS(PINMOD10, PINMOD1, PIN_MODE_PP);
-  49   1        SET_REG_BITS(PINMOD10, PINMOD0, PIN_MODE_OD_IPU);
-C51 COMPILER V9.53.0.0   UART                                                              03/26/2024 11:03:43 PAGE 2   
-
-  50   1        
-  51   1        ////modified by  zzw  修改串口为P4.4和P4.5
-  52   1      /*  SET_REG(PORTIDX, PORT4);
-  53   1        SET_REG_BITS(PINMOD54, PINMOD5, PIN_MODE_PP);
-  54   1        SET_REG_BITS(PINMOD54, PINMOD4, PIN_MODE_OD_IPU);
-  55   1      
-  56   1        setuart = GET_REG(PINMODE) | 0x02;
-  57   1        SET_REG(PINMODE, setuart); // 设置UART0PS为10,将P4.4/P4.5用作RXD0/TXD0*/
-  58   1        ////modified by  zzw  修改串口为P4.4和P4.5
-  59   1      }
-  60          /*********************************************************************************************************
-             -*
-  61          **函数名称 :uart1_timer2_init
-  62          **函数描述 :uart1在timer2下配置
-  63          **输    入 :None
-  64          **输    出 :None
-  65          **********************************************************************************************************
-             -/
-  66          void uart0_timer1_init()
-  67          {
-  68   1        /*uart1_gpio_init();
-  69   1        SM0 = 0;
-  70   1        SM1 = 1;             // SM0\SM1=01   UART mode=1;8位数据传送
-  71   1        SM2 = 0;             // Mode 1, 3    波特率采用9600 = (SMOD+1) x Fsysclk / (32 x 2 x (256-TH1)) --- 若使用Timer
-             -1 自动重载模式
-  72   1        SET_REG_BITS(PCON, SMOD, 1);   // SMOD=1允许UART1双波特率控制
-  73   1        SET_REG_BITS(OPTION, UART1W, 0); // UART1禁止一线UART模式
-  74   1        // Mode 1   波特率采用115200 =  Fsysclk / (32 x (65536-TH1)) --- 若使用Timer1 自动重载模式
-  75   1        // 假如我用7.3728MHZ晶体通过计算 65536-TH1应等于2,
-  76   1        SET_REG_BITS(TMOD, TMOD1, 2); // 选择8位自动重载计数器/定时器
-  77   1        TL1 = 256 - 24;
-  78   1        TH1 = 256 - 24; // 9600
-  79   1      
-  80   1        TCLK = 0; // UART1模式1&3发送时钟源:0-timer1   1-timer2
-  81   1        RCLK = 0; // UART1模式1&3接收时钟源:0-timer1   1-timer2
-  82   1        TR1 = 1;
-  83   1        REN = 1; // UART1接收收据使能
-  84   1        ES = 1;  // 允许串口Uart1中断*/
-  85   1        SET_REG_BITS(PCON, SMOD, SMOD_PRICE); // 双波特率控制位
-  86   1      
-  87   1        /*SET_REG(PORTIDX, PORT3);
-  88   1        SET_REG_BITS(PINMOD10, PINMOD1, PIN_MODE_PP);
-  89   1        SET_REG_BITS(PINMOD10, PINMOD0, PIN_MODE_OD_IPU);*/
-  90   1      
-  91   1        uart0_gpio_init();
-  92   1      
-  93   1        SM0 = 0;
-  94   1        SM1 = 1; // 模式1
-  95   1        SM2 = 0;
-  96   1        REN = 1; // 允许接收
-  97   1      
-  98   1        SET_REG_BITS(TMOD, TMOD1, 2); // 8 位自动重载定时器/计数器(TL1),溢出时从 TH1 重新装载。
-  99   1      
- 100   1        TL1 = TIM_NUM;
- 101   1        TH1 = TIM_NUM;
- 102   1      
- 103   1        TI = 0;  // 先清发送中断 标志
- 104   1        RI = 0;  // 先清接收中断 标志
- 105   1        TR1 = 1; // TIMER1 运行
- 106   1        REN = 1; // UART接收收据使能
- 107   1      
- 108   1        ES = 1; // 允许串口Uart1中断
-C51 COMPILER V9.53.0.0   UART                                                              03/26/2024 11:03:43 PAGE 3   
-
- 109   1      
- 110   1        busy = 0; // 初始化
- 111   1      }
- 112          
- 113          /*********************************************************************************************************
-             -*
- 114          **函数名称 :uart1_irq
- 115          **函数描述 :uart1中断入口
- 116          **输    入 :None
- 117          **输    出 :None
- 118          **********************************************************************************************************
-             -/
- 119          void uart0_irq() interrupt 4
- 120          {
- 121   1        unsigned char temp;
- 122   1        if (RI)
- 123   1        {
- 124   2          temp = SBUF;
- 125   2          uart_receive_input(temp); // zigbee函数
- 126   2          RI = 0;
- 127   2        }
- 128   1        /*  if (TI)
- 129   1          {
- 130   1            TI = 0;
- 131   1            busy = 0; // 清除忙标志
- 132   1          }*/
- 133   1        // 不是方式0,不采用中断请标志位
- 134   1      }
- 135          /*********************************************************************************************************
-             -*
- 136          **函数名称 UART1_send
- 137          **函数描述 :uart1发送单字节数据
- 138          **输    入 char
- 139          **输    出 :None
- 140          **********************************************************************************************************
-             -/
- 141          void UART1_send(unsigned char c) // 发送单字节
- 142          {
- 143   1        // while (busy)
- 144   1        //  ;
- 145   1        // busy = 1;
- 146   1        SBUF = c; // 发送单字节
- 147   1        while (TI == 0)
- 148   1          ; // 等待发送完成
- 149   1        TI = 0; //
- 150   1      }
- 151          /*********************************************************************************************************
-             -*
- 152          **函数名称 UART1_send_buf
- 153          **函数描述 :uart1发送字符串
- 154          **输    入 char
- 155          **输    出 :None
- 156          **********************************************************************************************************
-             -/
- 157          void UART1_send_buf(char *s) // 发送字符串
- 158          {
- 159   1        while (*s)
- 160   1        {
- 161   2          UART1_send(*s++);
- 162   2        }
- 163   1      }
-
-C51 COMPILER V9.53.0.0   UART                                                              03/26/2024 11:03:43 PAGE 4   
-
-
-MODULE INFORMATION:   STATIC OVERLAYABLE
-   CODE SIZE        =    189    ----
-   CONSTANT SIZE    =   ----    ----
-   XDATA SIZE       =     10       3
-   PDATA SIZE       =   ----    ----
-   DATA SIZE        =   ----    ----
-   IDATA SIZE       =   ----    ----
-   BIT SIZE         =   ----    ----
-END OF MODULE INFORMATION.
-
-
-C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

BIN
Projects/macro/switch_ota_V1.0_P30P31/Objects/HSW_6KEY.tenx.bin


BIN
Projects/macro/switch_ota_V1.0_P30P31/Objects/HSW_6KEY_bin.bin


BIN
Projects/macro/switch_ota_V1.0_P30P31/Objects/main.obj


BIN
Projects/macro/switch_ota_V1.0_P30P31/Objects/protocol.obj


BIN
Projects/macro/switch_ota_V1.0_P30P31/Objects/sTimeout.obj


BIN
Projects/macro/switch_ota_V1.0_P30P31/Objects/system.obj


+ 0 - 371
Projects/macro/switch_ota_V1.0_P30P31/protocol.h

@@ -1,371 +0,0 @@
-/**
-* @file  protocol.h
-* @brief declaration of fuction in  protocol.c
-* @author qinlang
-* @date 2022.05.06
-* @par email:
-* @par email:qinlang.chen@tuya.com
-* @copyright HANGZHOU TUYA INFORMATION TECHNOLOGY CO.,LTD
-* @par company
-* http://www.tuya.com
-*/
-#ifndef __PROTOCOL_H_
-#define __PROTOCOL_H_
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/******************************************************************************
-                                配置产品类别须知:
-1:根据实际设计电路板,设置产品SKU,必须修改参数“switchSKU”为对应产品类别
-2:根据涂鸦ZigBee固件类别,需设置对应的宏定义
-
-
-
-                                OTA设置须知:
-1.开启OTA(需先下载“BootLoader”程序),宏定义“SUPPORT_MCU_OTA”打开,并设置编译下载环境参数
-2.关闭OTA, 注释宏定义“SUPPORT_MCU_OTA”,并设置编译下载环境参数
-******************************************************************************/
-#define  REALSE  1    //生产模式,看门狗打开
-//#define  DEBUG  1    //研发调试用
-
-//#define BEACON_TEST 1 //开启信标产测
-//#define  switchSKU  0x01//////产品SKU, 混合面板bit7=1;纯场景面板,bit3=1;--del by zzw 20240319,取消SKU设计以宏定义类别为准
-//01:ZIGBEE-1键,02:ZIGBEE-2键,03:ZIGBEE-3键,06:ZIGBEE-6键(纯开关+混合场景)
-
-//6键轻触系列 --通用定义
-//#define  ZIGBEE_ZTU_T1_SW  1//一路开关,产品ID: 20bwwjts
-//#define  ZIGBEE_ZTU_T2_SW  1//二路开关,产品ID: qjy7kox3
-//#define  ZIGBEE_ZTU_T3_SW  1//三路开关,产品ID: rereby5a
-#define  ZIGBEE_ZTU_T6_SCENCE_SW  1//6路混合场景,产品ID: m757kw7n
-
-
-///< product INFORMATION
-///< mcu version 
-#ifdef ZIGBEE_ZTU_T3_SW            // 希智账户,3键零火开关
-#define PRODUCT_KEY "rereby5a" //开发平台创建产品后生成的16位字符产品唯一标识
-#define MCU_VER "1.0.0" // MAX 3.3.15   BIT 7~0  XX.XX.XXXX   
-#endif
-
-#ifdef ZIGBEE_ZTU_T2_SW            // 希智账户,3键零火开关
-#define PRODUCT_KEY "qjy7kox3" //开发平台创建产品后生成的16位字符产品唯一标识
-#define MCU_VER "1.0.0" // MAX 3.3.15   BIT 7~0  XX.XX.XXXX   
-#endif
-
-#ifdef ZIGBEE_ZTU_T1_SW            // 希智账户,3键零火开关
-#define PRODUCT_KEY "20bwwjts" //开发平台创建产品后生成的16位字符产品唯一标识
-#define MCU_VER "1.0.0" // MAX 3.3.15   BIT 7~0  XX.XX.XXXX   
-#endif
-
-
-#ifdef ZIGBEE_ZTU_T6_SCENCE_SW            //希智账户,6键零火开关
-#define PRODUCT_KEY "m757kw7n" //开发平台创建产品后生成的16位字符产品唯一标识
-#define MCU_VER "1.0.0" // MAX 3.3.15   BIT 7~0  XX.XX.XXXX   
-#endif
-
-#ifdef DEBUG
-#ifdef ZIGBEE_ZTU_T6_SCENCE_SW            //希智账户,6键零火开关
-#define PRODUCT_KEY "gulwpbcg" //开发平台创建产品后生成的16位字符产品唯一标识
-#define MCU_VER "1.0.0" // MAX 3.3.15   BIT 7~0  XX.XX.XXXX   
-#endif
-#endif
-
-
-#define ZIGBEE_UART_QUEUE_LMT             256             // using to save data received from uart
-//modified by zzw  20240126 256->128,OTA恢复
-#define ZIGBEE_UART_RECV_BUF_LMT          128             //
-#define ZIGBEE_UART_SEND_BUF_LMT          128             //
-
-
-typedef enum
-{
-    MCU_TYPE_DC_POWER = 1,
-    MCU_TYPE_LOWER_POWER,
-    MCU_TYPE_SCENE
-}MCU_TYPE_E;
-
-/**
- * if mcu need to support the time function, this macro definition should be opened
- * and need complete mcu_write_rtctime function 
- * 
- */
- 
-//#define    SUPPORT_MCU_RTC_CHECK             //start time calibration
-
-/**
- * if mcu need to support OTA, this macro definition should be opened
- */
-#define    SUPPORT_MCU_OTA                  //support mcu ota
-//modify by zzw 20240302 开启MCU OTA功能
-
-/**
- * if mcu need to support mcu type checking, this macro definition should be opened
- * 
- */
-//#define    CHECK_MCU_TYPE               //support mcu type check 
-
-
-/**
- * if mcu need to support zigbee network parameter setting, this macro definition should be opened
- * 
- */
-//#define  SET_ZIGBEE_NWK_PARAMETER        //support zigbee nwk parameter setting 
-
-
-/**
- * if mcu need to send a broadcast data, this macro definition should be opened
- * 
- */
-//#define  BROADCAST_DATA_SEND           //support broadcast data sending
-
-
-
-/**
- * DP data list,this code will be generate by cloud platforms
- */
-#if (defined ZIGBEE_ZTU_T3_SW) || (defined ZIGBEE_ZTU_T2_SW) || (defined ZIGBEE_ZTU_T1_SW)
-//#ifdef ZIGBEE_ZTU_T3_SW            // 希智账户,3键零火开关
-//开关 1(可下发可上报)
-//备注:
-#define DPID_SWITCH_1 1
-//开关 2(可下发可上报)
-//备注:
-#define DPID_SWITCH_2 2
-//开关 3(可下发可上报)
-//备注:
-#define DPID_SWITCH_3 3
-
-//开关上电状态设置(可下发可上报)
-//备注:
-#define DPID_RELAY_STATUS 14
-//指示灯亮度(可下发可上报)
-//备注:
-#define DPID_LIGHT_MODE 15
-//人感开关(可下发可上报)
-//备注:
-#define DPID_BACKLIGHT_SWITCH 16
-//点动开关(延时关)(可下发可上报)
-//备注:/#1通道号(bit--0开关,bit7-bit1--通道号)
-///#2#3点动倒计时时间
-#define DPID_SWITCH_INCHING 19
-//开关1上电状态设置(可下发可上报)
-//备注:
-#define DPID_RELAY_STATUS_1 29
-//开关2上电状态设置(可下发可上报)
-//备注:
-#define DPID_RELAY_STATUS_2 30
-//开关3上电状态设置(可下发可上报)
-//备注:
-#define DPID_RELAY_STATUS_3 31
-#endif
-
-#ifdef ZIGBEE_ZTU_T6_SCENCE_SW            //希智账户,6键零火开关
-
-//场景1(可下发可上报)
-//备注:
-#define DPID_SCENE_1 1
-//场景2(可下发可上报)
-//备注:
-#define DPID_SCENE_2 2
-//场景3(可下发可上报)
-//备注:
-#define DPID_SCENE_3 3
-//场景4(可下发可上报)
-//备注:
-#define DPID_SCENE_4 4
-//场景5(可下发可上报)
-//备注:
-#define DPID_SCENE_5 5
-//场景6(可下发可上报)
-//备注:
-#define DPID_SCENE_6 6
-//模式1(可下发可上报)
-//备注:
-#define DPID_MODE_1 18
-//模式2(可下发可上报)
-//备注:
-#define DPID_MODE_2 19
-//模式3(可下发可上报)
-//备注:
-#define DPID_MODE_3 20
-//开关1(可下发可上报)
-//备注:
-#define DPID_SWITCH_1 24
-//开关2(可下发可上报)
-//备注:
-#define DPID_SWITCH_2 25
-//开关3(可下发可上报)
-//备注:
-#define DPID_SWITCH_3 26
-//人感开关(可下发可上报)
-//备注:
-#define DPID_BACKLIGHT_SWITCH 36
-//指示灯亮度(可下发可上报)
-//备注:
-#define DPID_LIGHT_MODE 37
-//上电状态设置(可下发可上报)
-//备注:
-#define DPID_RELAY_STATUS 38
-//开关1上电状态设置(可下发可上报)
-//备注:
-#define DPID_RELAY_STATUS_1 39
-//开关2上电状态设置(可下发可上报)
-//备注:
-#define DPID_RELAY_STATUS_2 40
-//开关3上电状态设置(可下发可上报)
-//备注:
-#define DPID_RELAY_STATUS_3 41
-//点动开关(延时关)(可下发可上报)
-//备注:
-#define DPID_SWITCH_INCHING 101
-
-
-
-#endif
-
-void base64_decode_three_bytes(const char input[4], unsigned char output[3]);
-
-/**
-* @brief encapsulates a generic send function, developer should use their own function to completing this fuction 
-* @param[in] {value} send signle data 
-* @return  void
-*/
-void uart_transmit_output(unsigned char value);
-
-/**
-* @brief Upload all dp information of the system, and realize the synchronization of APP and muc data
-* @param[in] {void}
-* @return  void
-*/
-void all_data_update(void);
-
-/**
-* @brief mcu check local RTC time 
-* @param[in] {time} timestamp
-* @return  void
-*/
-void mcu_write_rtctime(unsigned char time[]);
-
-/**
-* @brief Zigbee functional test feedback
-* @param[in] {void} 
-* @return  void
-*/
-void zigbee_test_result(void);
-
-/**
-* @brief this function will handle uart received frame data  
-* @param[in] {dpid}   dp id
-* @param[in] {value}  dp data 
-* @param[in] {length} lenght of dp data 
-* @return  handle result 
-*/
-unsigned char dp_download_handle(unsigned char dpid,const unsigned char value[], unsigned short length);
-
-/**
-* @brief get received cmd total number
-* @param[in] {void}   
-* @return  received cmd total number
-*/
-unsigned char get_download_cmd_total(void);
-
-/**
-* @brief received zigbee net_work state handle 
-* @param[in] {zigbee_work_state}  zigbee current network state
-* @return  void 
-*/
-void zigbee_work_state_event(unsigned char zigbee_work_state);
-/**
-* @brief received reset zigbee response 
-* @param[in] {state} response state 
-* @return  void 
-*/
-void mcu_reset_zigbee_event(unsigned char state);
-
-/**
-* @brief check mcu version response
-* @param[in] {void}
-* @return  void 
-*/
-void response_mcu_ota_version_event(void);
-
-
-#ifdef SUPPORT_MCU_OTA 
-/**
-* @brief mcu ota update notify response
-* @param[in] {offset} offset of file 
-* @return  void 
-*/
-void response_mcu_ota_notify_event(unsigned char offset);
-/**
-* @brief received mcu ota data request response
-* @param[in] {fw_offset}  offset of file 
-* @param[in] {data}  received data  
-* @return  void 
-*/
-//void reveived_mcu_ota_data_handle(unsigned int fw_offset,char *data);
-
-/**
-* @brief mcu send ota data request 
-* @param[in] {offset} offset of file 
-* @return  void 
-*/
-void mcu_ota_fw_request_event(unsigned char offset);
-
-/**
-* @brief mcu ota data result notify
-* @param[in] {offset} offset of file 
-* @return  void 
-*/
-void mcu_ota_result_event(unsigned char offset);
-
-
-/**
-* @brief mcu ota data handle 
-* @param[in] {fw_offset} frame offset 
-* @param[in] {data} received data
-* @return  void 
-*/
-void ota_fw_data_handle(unsigned int fw_offset,char *data1,unsigned char data_len);//modified by zzw 51不允许用“data”做变量名
-#endif
-
-
-#ifdef  BEACON_TEST
-/**
-* @brief beacon test notify,which used in testing
-* @param[in] {void} 
-* @return  void 
-*/
-void mcu_received_beacon_test_handle(void);
-#endif
-
-#ifdef  CHECK_ZIGBEE_NETWORK
-/**
-* @brief check zigbee nwkstate,before start join nwk, check nwk if state is not 0x02,can start jion,
-* else delay 5s 
-*
-* @param[in] {void} 
-* @return  void 
-*/
-void mcu_check_zigbee_nwk_state(void);
-#endif
-
-#ifdef READ_DP_DATA_NOTIFY
-/**
-* @brief when gateway repower or relink clould, or zigbee module join sucess, repower, this commod will notify 
-* mcu, to sys dp data, mcu itself decide whether report.
-*
-* @param[in] {void} 
-* @return  void 
-*/
-void read_dp_data_notify_hanlde(void);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
-
-

BIN
Projects/macro/switch_ota_app_V1.0.1.zip


+ 1 - 1
Projects/macro/switch_ota_app_V1.0.1/Listings/CRC.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   CRC                                                               04/13/2024 10:12:29 PAGE 1   
+C51 COMPILER V9.53.0.0   CRC                                                               04/27/2024 11:38:09 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE CRC

+ 4 - 4
Projects/macro/switch_ota_app_V1.0.1/Listings/EEPROM.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   EEPROM                                                            04/13/2024 10:12:28 PAGE 1   
+C51 COMPILER V9.53.0.0   EEPROM                                                            04/27/2024 11:38:08 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE EEPROM
@@ -62,7 +62,7 @@ line level    source
   43          ** 函数描述: iap_EEPROM写数据配置函数  
   44          ** 输入参数: addr:存储地址,范围0~127
   45                       buf:数据的首地址
-C51 COMPILER V9.53.0.0   EEPROM                                                            04/13/2024 10:12:28 PAGE 2   
+C51 COMPILER V9.53.0.0   EEPROM                                                            04/27/2024 11:38:08 PAGE 2   
 
   46                len:数据长度(addr+len不要超过128)
   47          ** 输出参数: 无 
@@ -126,7 +126,7 @@ line level    source
  102   2          IAPTE_6P4_MS;        //设置IAP看门狗复位时间
  103   2          eeprom_address_write_backup[addr + i] = *buf;//
  104   2          buf++;
-C51 COMPILER V9.53.0.0   EEPROM                                                            04/13/2024 10:12:28 PAGE 3   
+C51 COMPILER V9.53.0.0   EEPROM                                                            04/27/2024 11:38:08 PAGE 3   
 
  105   2        }
  106   1        
@@ -190,7 +190,7 @@ line level    source
  160            gpio_init();
  161            write_mileage[0] = 0x22;
  162            write_mileage[1] = 0x33;
-C51 COMPILER V9.53.0.0   EEPROM                                                            04/13/2024 10:12:28 PAGE 4   
+C51 COMPILER V9.53.0.0   EEPROM                                                            04/27/2024 11:38:08 PAGE 4   
 
  163            write_mileage[2] = 0x44;
  164            write_mileage[3] = 0x55;

+ 3 - 3
Projects/macro/switch_ota_app_V1.0.1/Listings/GLOBAL.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   GLOBAL                                                            04/13/2024 10:12:28 PAGE 1   
+C51 COMPILER V9.53.0.0   GLOBAL                                                            04/27/2024 11:38:08 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE GLOBAL
@@ -62,7 +62,7 @@ line level    source
   52          byte burn_in_test_start=0;//产测标志位
   53          u32 burn_in_test_counter=0;//产测计数器
   54          u32 burn_in_test_timeout=0;//产测开机30秒内收到信标才有效
-C51 COMPILER V9.53.0.0   GLOBAL                                                            04/13/2024 10:12:28 PAGE 2   
+C51 COMPILER V9.53.0.0   GLOBAL                                                            04/27/2024 11:38:08 PAGE 2   
 
   55          
   56          
@@ -126,7 +126,7 @@ line level    source
  114   2          for (j=0; j<64; j++)
  115   2              {
  116   3            if (ps8Source[i] == g_sas8Base64digits[j])
-C51 COMPILER V9.53.0.0   GLOBAL                                                            04/13/2024 10:12:28 PAGE 3   
+C51 COMPILER V9.53.0.0   GLOBAL                                                            04/27/2024 11:38:08 PAGE 3   
 
  117   3            {
  118   4                      as8ValuePre[i%4] = j;

File diff suppressed because it is too large
+ 4191 - 4072
Projects/macro/switch_ota_app_V1.0.1/Listings/HSW_6KEY_APP_V104.m51


+ 5 - 5
Projects/macro/switch_ota_app_V1.0.1/Listings/STARTUP_TENX52.lst

@@ -1,4 +1,4 @@
-A51 MACRO ASSEMBLER  STARTUP_TENX52                                                       04/13/2024 10:12:28 PAGE     1
+A51 MACRO ASSEMBLER  STARTUP_TENX52                                                       04/27/2024 11:38:08 PAGE     1
 
 
 MACRO ASSEMBLER A51 V8.02b
@@ -65,7 +65,7 @@ LOC  OBJ            LINE     SOURCE
                       54     ; <o> PDATASTART: PDATA memory start address <0x0-0xFFFF> 
                       55     ;     <i> The absolute start address of PDATA memory
   0000                56     PDATASTART      EQU     0H              ; the absolute start-address of PDATA memory
-A51 MACRO ASSEMBLER  STARTUP_TENX52                                                       04/13/2024 10:12:28 PAGE     2
+A51 MACRO ASSEMBLER  STARTUP_TENX52                                                       04/27/2024 11:38:08 PAGE     2
 
                       57     ;
                       58     ; <o> PDATALEN: PDATA memory size <0x0-0xFF> 
@@ -133,7 +133,7 @@ LOC  OBJ            LINE     SOURCE
                      120     
                      121     ; Standard SFR Symbols 
   00E0               122     ACC     DATA    0E0H
-A51 MACRO ASSEMBLER  STARTUP_TENX52                                                       04/13/2024 10:12:28 PAGE     3
+A51 MACRO ASSEMBLER  STARTUP_TENX52                                                       04/27/2024 11:38:08 PAGE     3
 
   00F0               123     B       DATA    0F0H
   0081               124     SP      DATA    81H
@@ -201,7 +201,7 @@ LOC  OBJ            LINE     SOURCE
                                              CLR     A
                              PDATALOOP:      MOVX    @R0,A
                                              INC     R0
-A51 MACRO ASSEMBLER  STARTUP_TENX52                                                       04/13/2024 10:12:28 PAGE     4
+A51 MACRO ASSEMBLER  STARTUP_TENX52                                                       04/27/2024 11:38:08 PAGE     4
 
                                              DJNZ    R7,PDATALOOP
                              ENDIF
@@ -238,7 +238,7 @@ LOC  OBJ            LINE     SOURCE
 0009 020000   F      221                     LJMP    ?C_START    ;call main() function in the C code
                      222     
                      223                     END
-A51 MACRO ASSEMBLER  STARTUP_TENX52                                                       04/13/2024 10:12:28 PAGE     5
+A51 MACRO ASSEMBLER  STARTUP_TENX52                                                       04/27/2024 11:38:08 PAGE     5
 
 SYMBOL TABLE LISTING
 ------ ----- -------

+ 3 - 3
Projects/macro/switch_ota_app_V1.0.1/Listings/TM52F1386_bsp.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   TM52F1386_BSP                                                     04/13/2024 10:12:29 PAGE 1   
+C51 COMPILER V9.53.0.0   TM52F1386_BSP                                                     04/27/2024 11:38:09 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE TM52F1386_BSP
@@ -62,7 +62,7 @@ line level    source
   47          **函数名称  bsp_SXT_clock_init()
   48          **函数描述 :设置SXT外部慢速晶体振荡器/2为系统时钟
   49          **输    入 :无
-C51 COMPILER V9.53.0.0   TM52F1386_BSP                                                     04/13/2024 10:12:29 PAGE 2   
+C51 COMPILER V9.53.0.0   TM52F1386_BSP                                                     04/27/2024 11:38:09 PAGE 2   
 
   50          **输    出 :无
   51          **说    明 :注意 P20 P21需要配置为接外部快速晶振
@@ -126,7 +126,7 @@ line level    source
  104   3            delay_10nop();
  105   3            delay_10nop();
  106   3            delay_10nop();
-C51 COMPILER V9.53.0.0   TM52F1386_BSP                                                     04/13/2024 10:12:29 PAGE 3   
+C51 COMPILER V9.53.0.0   TM52F1386_BSP                                                     04/27/2024 11:38:09 PAGE 3   
 
  107   3          }
  108   2        }

+ 20 - 20
Projects/macro/switch_ota_app_V1.0.1/Listings/gpio_ctrl.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 1   
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE GPIO_CTRL
@@ -62,7 +62,7 @@ line level    source
   48           else
   49           {
   50             CTRL2=0;
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 2   
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 2   
 
   51           }
   52          }
@@ -126,7 +126,7 @@ line level    source
  110          {
  111   1        REL1_OFF = 0;
  112   1      } // gpio_bit_write(GPIOA, GPIO_PIN_6, RESET)
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 3   
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 3   
 
  113          
  114          /*********************************************************************************************************
@@ -190,7 +190,7 @@ line level    source
  170   4              // write_mileage[0] = switchState.relay_new_status[0];
  171   4              // iap_eeprom_write(10, write_mileage, 1); // 写入1字节
  172   4              iap_eeprom_read(0, write_mileage, 30); // 读取30字节
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 4   
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 4   
 
  173   4              write_mileage[10] = switchState.relay_new_status[0];
  174   4              iap_eeprom_write(0, write_mileage, 30); // 写入1字节
@@ -254,7 +254,7 @@ line level    source
  232   4              // add by zzw 20240302
  233   4      
  234   4              mcu_dp_bool_update(DPID_SWITCH_2, 0);
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 5   
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 5   
 
  235   4            }
  236   3          }
@@ -318,7 +318,7 @@ line level    source
  294   2        }
  295   1        else
  296   1        {
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 6   
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 6   
 
  297   2          mRelayPulseTimer1 = 0;
  298   2          mRelayPulseTimer2 = 0;
@@ -382,7 +382,7 @@ line level    source
  353   1        /*if(state)
  354   1        {
  355   1          LED2=1;
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 7   
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 7   
 
  356   1        }
  357   1        else
@@ -446,7 +446,7 @@ line level    source
  411   1      
  412   1        LED1 = 0;
  413   1        LED2 = 0;
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 8   
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 8   
 
  414   1        LED3 = 0; // 默认低电平,全灭
  415   1      
@@ -510,7 +510,7 @@ line level    source
              -/
  470          void gpio_control_init()
  471          {
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 9   
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 9   
 
  472   1        // p27,TK8
  473   1        SET_REG(PORTIDX, 2);
@@ -574,7 +574,7 @@ line level    source
  530   2          if (onCycle == ledCycle)
  531   2          {
  532   3            if (onCycle == 0) // 灭
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 10  
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 10  
 
  533   3            {
  534   4              /*key1_led_control(0);
@@ -638,7 +638,7 @@ line level    source
  591   2          // ledTimer[n].ticket++;//modified by zzw 20240207 放入定时器,使闪烁准确
  592   2          if (ledTimer[n].ticket == ledTimer[n].ledOnTime)
  593   2          {
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 11  
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 11  
 
  594   3            // led off
  595   3            /*  key1_led_control(0);
@@ -702,7 +702,7 @@ line level    source
  653   3            {
  654   4              pwm_set_duty(i, 255);
  655   4            }
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 12  
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 12  
 
  656   3            ledTimerAll.ticket = 0;
  657   3          }
@@ -766,7 +766,7 @@ line level    source
  714   5                {
  715   6                  switchState.step[ledn] = 0x03; // 继电器开按键灯全亮
  716   6                }
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 13  
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 13  
 
  717   5                else
  718   5                {
@@ -830,7 +830,7 @@ line level    source
  773   5              }
  774   4              else if (switchState.led_level == 0x01)
  775   4              {
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 14  
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 14  
 
  776   5                pwmLevelNew = PWMLEVEL2;
  777   5                // pwm_set_duty(ledn, PWMLEVEL2); // 根据APP设置亮度
@@ -894,7 +894,7 @@ line level    source
  832          **函数描述 :pwm1 初始化配
  833          **输    入 :None
  834          **输    出 :None
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 15  
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 15  
 
  835          **********************************************************************************************************
              -/
@@ -958,7 +958,7 @@ line level    source
  889          ** 函数描述: pwm0时钟源配置函数
  890          ** 输入参数: value   0:FSYSCLK  1:FSYSCLK  2:FRC    3:FRC*2
  891          ** 输出参数: 无
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 16  
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 16  
 
  892          *******************************************************************************************/
  893          void pwm1_clock_config(unsigned char value) // PWM时钟源模式
@@ -1022,7 +1022,7 @@ line level    source
  949   1      
  950   1        // pwm_config_init(18432, duty, ch);//设置周期为1ms
  951   1        /*if (ledprd == 255) // 设置255表示最大值65535,统一配置
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 17  
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 17  
 
  952   1        {
  953   1          pwmprd = 18432;
@@ -1086,7 +1086,7 @@ line level    source
 1008          Return:     no
 1009          Others:     no
 1010          ********************************************************************************/
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 18  
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 18  
 
 1011          volatile sKey KeyCodeBuf[KEYBUFLENGTH];
 1012          volatile UCHAR KeyCodeHead, KeyCodeTail;
@@ -1150,7 +1150,7 @@ line level    source
 1070   2          else
 1071   2          {
 1072   3            sScanKey[i].KeyPrsTurn = 0;
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 19  
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 19  
 
 1073   3            sScanKey[i].KeyPrsed = 1;
 1074   3            sScanKey[i].KeyInpush = sScanKey[i].KeyIn;
@@ -1214,7 +1214,7 @@ line level    source
 1130   1        {
 1131   2          return (NO_KEY_MSG);
 1132   2        }
-C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/13/2024 10:12:28 PAGE 20  
+C51 COMPILER V9.53.0.0   GPIO_CTRL                                                         04/27/2024 11:38:08 PAGE 20  
 
 1133   1      }
 

+ 6 - 6
Projects/macro/switch_ota_app_V1.0.1/Listings/iap.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   IAP                                                               04/13/2024 10:12:29 PAGE 1   
+C51 COMPILER V9.53.0.0   IAP                                                               04/27/2024 11:38:09 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE IAP
@@ -62,7 +62,7 @@ line level    source
   52   1        {
   53   2          iap_flag = 1;        //iap_flag标志置位
   54   2        }
-C51 COMPILER V9.53.0.0   IAP                                                               04/13/2024 10:12:29 PAGE 2   
+C51 COMPILER V9.53.0.0   IAP                                                               04/27/2024 11:38:09 PAGE 2   
 
   55   1        
   56   1        AUX2 = AUX2&0xF9;      //关闭IAP看门狗
@@ -126,7 +126,7 @@ line level    source
  114   1        {
  115   2          *p_info_addr = buf[i];//触发写
  116   2          p_info_addr++;
-C51 COMPILER V9.53.0.0   IAP                                                               04/13/2024 10:12:29 PAGE 3   
+C51 COMPILER V9.53.0.0   IAP                                                               04/27/2024 11:38:09 PAGE 3   
 
  117   2        }
  118   1        
@@ -190,7 +190,7 @@ line level    source
  176          void user_read_INFO_byte(unsigned int addr, unsigned char *buf, unsigned int len)
  177          {
  178   1        read_INFO_byte(addr, buf,len);  
-C51 COMPILER V9.53.0.0   IAP                                                               04/13/2024 10:12:29 PAGE 4   
+C51 COMPILER V9.53.0.0   IAP                                                               04/27/2024 11:38:09 PAGE 4   
 
  179   1      }
  180          
@@ -254,7 +254,7 @@ line level    source
  238   1        p_read_app_addr =(unsigned char*)addr;
  239   1        
  240   1        for(i = 0; i<len; i++)
-C51 COMPILER V9.53.0.0   IAP                                                               04/13/2024 10:12:29 PAGE 5   
+C51 COMPILER V9.53.0.0   IAP                                                               04/27/2024 11:38:09 PAGE 5   
 
  241   1        {
  242   2          buf[i] = *p_read_app_addr;
@@ -318,7 +318,7 @@ line level    source
  300          ** 函数名称: user_write_APP_byte
  301          ** 函数描述: 存储APP数据的函数,供用户使用
  302          ** 输入参数: 地址 数组的首地址、长度 
-C51 COMPILER V9.53.0.0   IAP                                                               04/13/2024 10:12:29 PAGE 6   
+C51 COMPILER V9.53.0.0   IAP                                                               04/27/2024 11:38:09 PAGE 6   
 
  303          ** 输出参数: 状态:0 正常, 1 异常
  304          *******************************************************************************************/

File diff suppressed because it is too large
+ 1011 - 1007
Projects/macro/switch_ota_app_V1.0.1/Listings/main.lst


+ 11 - 11
Projects/macro/switch_ota_app_V1.0.1/Listings/mcu_api.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   MCU_API                                                           04/13/2024 10:12:28 PAGE 1   
+C51 COMPILER V9.53.0.0   MCU_API                                                           04/27/2024 11:38:08 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE MCU_API
@@ -62,7 +62,7 @@ line level    source
   52          /**
   53          * @brief get string len 
   54          * @param[in] {str} higher bits data 
-C51 COMPILER V9.53.0.0   MCU_API                                                           04/13/2024 10:12:28 PAGE 2   
+C51 COMPILER V9.53.0.0   MCU_API                                                           04/27/2024 11:38:08 PAGE 2   
 
   55          * @return string len 
   56          */
@@ -126,7 +126,7 @@ line level    source
  114   2          for(i = count; i > 0; i --){  
  115   3            pdest[i - 1] = psrc[i - 1];  
  116   3          }  
-C51 COMPILER V9.53.0.0   MCU_API                                                           04/13/2024 10:12:28 PAGE 3   
+C51 COMPILER V9.53.0.0   MCU_API                                                           04/27/2024 11:38:08 PAGE 3   
 
  117   2        }  
  118   1        
@@ -190,7 +190,7 @@ line level    source
  176   1        nubmer = (unsigned long)value[0];
  177   1        nubmer <<= 8;
  178   1        nubmer |= (unsigned long)value[1];
-C51 COMPILER V9.53.0.0   MCU_API                                                           04/13/2024 10:12:28 PAGE 4   
+C51 COMPILER V9.53.0.0   MCU_API                                                           04/27/2024 11:38:08 PAGE 4   
 
  179   1        nubmer <<= 8;
  180   1        nubmer |= (unsigned long)value[2];
@@ -254,7 +254,7 @@ line level    source
  238   1      }
  239          
  240          
-C51 COMPILER V9.53.0.0   MCU_API                                                           04/13/2024 10:12:28 PAGE 5   
+C51 COMPILER V9.53.0.0   MCU_API                                                           04/27/2024 11:38:08 PAGE 5   
 
  241          /**
  242          * @brief report bitmap type DP data to zigbee module 
@@ -318,7 +318,7 @@ line level    source
  300   2          length = set_zigbee_uart_byte(length,value >> 8);
  301   2          length = set_zigbee_uart_byte(length,value & 0xff);
  302   2        }
-C51 COMPILER V9.53.0.0   MCU_API                                                           04/13/2024 10:12:28 PAGE 6   
+C51 COMPILER V9.53.0.0   MCU_API                                                           04/27/2024 11:38:08 PAGE 6   
 
  303   1        else{
  304   2          length = set_zigbee_uart_byte(length,4);
@@ -382,7 +382,7 @@ line level    source
  362   1      }
  363          
  364          /**
-C51 COMPILER V9.53.0.0   MCU_API                                                           04/13/2024 10:12:28 PAGE 7   
+C51 COMPILER V9.53.0.0   MCU_API                                                           04/27/2024 11:38:08 PAGE 7   
 
  365          * @brief report raw type DP data to zigbee module 
  366          * @param[in]  {dpid}  dp id
@@ -446,7 +446,7 @@ line level    source
 *** WARNING C280 IN LINE 418 OF mcu_api.c: 'len': unreferenced local variable
  422          
  423          
-C51 COMPILER V9.53.0.0   MCU_API                                                           04/13/2024 10:12:28 PAGE 8   
+C51 COMPILER V9.53.0.0   MCU_API                                                           04/27/2024 11:38:08 PAGE 8   
 
  424          /**
  425          * @brief mcu start zigbee module test 
@@ -510,7 +510,7 @@ line level    source
  483          
  484          
  485          /**
-C51 COMPILER V9.53.0.0   MCU_API                                                           04/13/2024 10:12:28 PAGE 9   
+C51 COMPILER V9.53.0.0   MCU_API                                                           04/27/2024 11:38:08 PAGE 9   
 
  486          * @brief init paramter and set rx_buf with zero
  487          * @param[in]  {void}
@@ -574,7 +574,7 @@ line level    source
  545   1          while((rx_in < sizeof(zigbee_uart_rx_buf)) && (with_data_rxbuff() > 0)){
  546   2              zigbee_uart_rx_buf[rx_in++] = Queue_Read_Byte();
  547   2          }
-C51 COMPILER V9.53.0.0   MCU_API                                                           04/13/2024 10:12:28 PAGE 10  
+C51 COMPILER V9.53.0.0   MCU_API                                                           04/27/2024 11:38:08 PAGE 10  
 
  548   1      
  549   1          if(rx_in < PROTOCOL_HEAD){
@@ -638,7 +638,7 @@ MODULE INFORMATION:   STATIC OVERLAYABLE
    CODE SIZE        =   3430    ----
    CONSTANT SIZE    =   ----    ----
    XDATA SIZE       =      2     106
-C51 COMPILER V9.53.0.0   MCU_API                                                           04/13/2024 10:12:28 PAGE 11  
+C51 COMPILER V9.53.0.0   MCU_API                                                           04/27/2024 11:38:08 PAGE 11  
 
    PDATA SIZE       =   ----    ----
    DATA SIZE        =   ----    ----

+ 40 - 40
Projects/macro/switch_ota_app_V1.0.1/Listings/protocol.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 1   
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE PROTOCOL
@@ -62,7 +62,7 @@ line level    source
              -�新请求的处�,和存储image
   45          处�,校验和�以自行设计或者使用�考。
   46          ******************************************************************************/
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 2   
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 2   
 
   47          
   48          /******************************************************************************
@@ -126,7 +126,7 @@ line level    source
  106                  {DPID_MODE_2, DP_TYPE_ENUM},
  107                  {DPID_MODE_3, DP_TYPE_ENUM},
  108                  {DPID_SWITCH_1, DP_TYPE_BOOL},
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 3   
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 3   
 
  109                  {DPID_SWITCH_2, DP_TYPE_BOOL},
  110                  {DPID_SWITCH_3, DP_TYPE_BOOL},
@@ -190,7 +190,7 @@ line level    source
  167           * @return  void
  168           */
  169          #ifdef ZIGBEE_ZTU_T1_SW
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 4   
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 4   
 
               // #ifdef ZIGBEE_ZTU_T3_SW
               void all_data_update(void)
@@ -254,7 +254,7 @@ line level    source
                   mcu_dp_enum_update(DPID_LIGHT_MODE, switchState.led_level);         // 枚举型数�上报;
                   mcu_dp_enum_update(DPID_RELAY_STATUS, switchState.relay_allstatus); // 枚举型数�上报;
               
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 5   
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 5   
 
                   /*
                       mcu_dp_string_update(DPID_SWITCH_INCHING,当å‰�点动开关(延时关)指针,当å‰�点动开å…
@@ -318,7 +318,7 @@ line level    source
              -‹æ•°æ�®ä¸ŠæŠ¥;
               }
               #endif
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 6   
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 6   
 
  282          
  283          #ifdef ZIGBEE_ZTU_T6_SCENCE_SW
@@ -382,7 +382,7 @@ line level    source
  337                                      2:所有数�上报处�
  338          自动化代�模�函数,具体请用户自行实现数�处�
  339          ******************************************************************************/
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 7   
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 7   
 
  340          
  341          ///> this will realize by  cloud platform
@@ -446,7 +446,7 @@ line level    source
  399   1      
  400   1          // There should be a report after processing the DP
  401   1          ret = mcu_dp_enum_update(DPID_SCENE_2, scene_2);
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 8   
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 8   
 
  402   1          if (ret == SUCCESS)
  403   1              return SUCCESS;
@@ -510,7 +510,7 @@ line level    source
  461   2              break;
  462   2          }
  463   1      
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 9   
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 9   
 
  464   1          // There should be a report after processing the DP
  465   1          ret = mcu_dp_enum_update(DPID_SCENE_4, scene_4);
@@ -574,7 +574,7 @@ line level    source
  523   2          default:
  524   2      
  525   2              break;
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 10  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 10  
 
  526   2          }
  527   1      
@@ -638,7 +638,7 @@ line level    source
  585   1              return SUCCESS;
  586   1          else
  587   1              return ERROR;
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 11  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 11  
 
  588   1      }
  589          /*****************************************************************************
@@ -702,7 +702,7 @@ line level    source
  647                  : length:数�长度
  648          返回�数 : �功返回:SUCCESS/失败返回:ERROR
  649          使用说明 : �下��上报类型,需�在处�完数��上报处�结果至app
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 12  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 12  
 
  650          *****************************************************************************/
  651          static unsigned char dp_download_mode_3_handle(const unsigned char value[], unsigned short length)
@@ -766,7 +766,7 @@ line level    source
  709          {
  710   1          // 示例:当�DP类型为BOOL
  711   1          unsigned char ret;
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 13  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 13  
 
  712   1          // 0:off/1:on
  713   1          unsigned char switch_1;
@@ -830,7 +830,7 @@ line level    source
  771   2              gRelayOnOff &= (~0x02);
  772   2              gLedState = gLedState & (~0x02); // 按键1清除
  773   2          }
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 14  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 14  
 
  774   1          else
  775   1          {
@@ -894,7 +894,7 @@ line level    source
  833   2              {
  834   3                  gRadarKeepTimer = 100; // 10s
  835   3              }
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 15  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 15  
 
  836   2      
  837   2              if (switchState.plus_mod[2] == 0x01) // 点动开�
@@ -958,7 +958,7 @@ line level    source
  895   1          write_mileage[2] = relay_status;
  896   1          write_mileage[3] = relay_status;
  897   1          write_mileage[4] = relay_status;
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 16  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 16  
 
  898   1          iap_eeprom_write(0, write_mileage, 30); // 写入1字节
  899   1          // add by zzw 20240302
@@ -1022,7 +1022,7 @@ line level    source
  957   2              break;
  958   2          }
  959   1      
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 17  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 17  
 
  960   1          iap_eeprom_read(0, write_mileage, 30); // 读�30字节
  961   1          write_mileage[5] = switchState.led_level;
@@ -1086,7 +1086,7 @@ line level    source
 1018   1      
 1019   1          // add by zzw 20240312  增加eeprom�数�置区
 1020   1          iap_eeprom_read_backup(0, write_mileage_backup, 30); // 读�30字节
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 18  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 18  
 
 1021   1          switchState.led_level = write_mileage_backup[5];     // �新读�刷新背光亮度值
 1022   1          write_mileage_backup[9] = switchState.human;
@@ -1150,7 +1150,7 @@ line level    source
 1078   2              write_mileage_backup[27] = 0;
 1079   2              write_mileage_backup[28] = 0; // �次清空数�,�新赋值
 1080   2      
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 19  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 19  
 
 1081   2              switchState.plus_mod[0] = 0;
 1082   2              switchState.plus_mod[1] = 0;
@@ -1214,7 +1214,7 @@ line level    source
                       {
                           switchState.plus_mod[2] = 1;
                           switchState.plus_auto_time[2] = (hex_data[4] * 256 + hex_data[5]) * 10; // 高字节在�,秒
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 20  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 20  
 
              -转100ms为基数
                           write_mileage_backup[26] = switchState.plus_mod[2];
@@ -1278,7 +1278,7 @@ line level    source
 1193   2              else if (hex_data[3] == 0x00) // 开关2关闭
 1194   2              {
 1195   3                  switchState.plus_mod[1] = 0;
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 21  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 21  
 
 1196   3                  switchState.plus_auto_time[1] = (hex_data[4] * 256 + hex_data[5]) * 10; // 高字节在�,秒
              -转100ms为基数
@@ -1342,7 +1342,7 @@ line level    source
 1252   2              write_mileage_backup[25] = 0;
 1253   2              write_mileage_backup[26] = 0;
 1254   2              write_mileage_backup[27] = 0;
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 22  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 22  
 
 1255   2              write_mileage_backup[28] = 0; // �次清空数�,�新赋值
 1256   2      
@@ -1406,7 +1406,7 @@ line level    source
              -¨å‰�,秒转100ms为基数
 1312   5                          write_mileage_backup[26] = switchState.plus_mod[2];
 1313   5                          write_mileage_backup[27] = hex_data[1];
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 23  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 23  
 
 1314   5                          write_mileage_backup[28] = hex_data[2];
 1315   5                      }
@@ -1470,7 +1470,7 @@ line level    source
 1372   2                  //  switchState.relay_status[0]=2;
 1373   2              break;
 1374   2      
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 24  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 24  
 
 1375   2          default:
 1376   2      
@@ -1534,7 +1534,7 @@ line level    source
 1434   2          case 2:
 1435   2              break;
 1436   2      
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 25  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 25  
 
 1437   2          default:
 1438   2      
@@ -1598,7 +1598,7 @@ line level    source
 1496   2      
 1497   2              break;
 1498   2          }
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 26  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 26  
 
 1499   1          // add by zzw 20240207
 1500   1          switchState.relay_status[2] = relay_status_3;
@@ -1662,7 +1662,7 @@ line level    source
 1558           */
 1559          void zigbee_test_result(void)
 1560          {
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 27  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 27  
 
 1561   1          // #error "this test is makesure the rf fuction of zigbee module, if test pass or not should do someth
              -ing, mcu should realize"
@@ -1726,7 +1726,7 @@ line level    source
                       break;
                   case DPID_LIGHT_MODE:
                       // 指示�状�设置处�函数
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 28  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 28  
 
                       ret = dp_download_light_mode_handle(value, length);
                       break;
@@ -1790,7 +1790,7 @@ line level    source
                       ret = dp_download_light_mode_handle(value, length);
                       break;
                   case DPID_BACKLIGHT_SWITCH:
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 29  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 29  
 
                       // 背光开关处�函数
                       ret = dp_download_backlight_switch_handle(value, length);
@@ -1854,7 +1854,7 @@ line level    source
                       // 指示�状�设置处�函数
                       ret = dp_download_light_mode_handle(value, length);
                       break;
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 30  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 30  
 
                   case DPID_BACKLIGHT_SWITCH:
                       // 背光开关处�函数
@@ -1918,7 +1918,7 @@ line level    source
 1805   2              break;
 1806   2          case DPID_MODE_1:
 1807   2              // 模�1处�函数
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 31  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 31  
 
 1808   2              ret = dp_download_mode_1_handle(value, length);
 1809   2              break;
@@ -1982,7 +1982,7 @@ line level    source
 1867           * @brief get received cmd total number
 1868           * @param[in] {void}
 1869           * @return  received cmd total number
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 32  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 32  
 
 1870           */
 1871          unsigned char get_download_cmd_total(void)
@@ -2046,7 +2046,7 @@ line level    source
 1925   1          {
 1926   2          case RESET_ZIGBEE_OK:
 1927   2      
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 33  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 33  
 
 1928   2              break;
 1929   2      
@@ -2110,7 +2110,7 @@ line level    source
 1987   2              update = 1;                                  // 校验通过,�进行固件�级
 1988   2          }
 1989   1          else
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 34  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 34  
 
 1990   1          {
 1991   2              length = set_zigbee_uart_byte(length, 0x01); // error
@@ -2174,7 +2174,7 @@ line level    source
 2047           * @param[in] {void}
 2048           * @return  void
 2049           */
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 35  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 35  
 
 2050          void mcu_ota_fw_request_event(unsigned char offset)
 2051          {
@@ -2238,7 +2238,7 @@ line level    source
 2107   3                  while (i < last_package_len)
 2108   3                  {
 2109   4                      fw_data[i] = zigbee_uart_rx_buf[offset + DATA_START + 14 + i];
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 36  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 36  
 
 2110   4                      current_checksum += fw_data[i];
 2111   4                      i++;
@@ -2302,7 +2302,7 @@ line level    source
              -—¶åŒº
 2168   2               delay_1ms(20);
 2169   2               flash_word_write (OTA_STATE_DATA_ADD,IAPUpdateFlag);
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 37  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 37  
 
 2170   2               delay_1ms(500);
 2171   2               NVIC_SystemReset(); // add by  zzw 系统��函数
@@ -2366,7 +2366,7 @@ line level    source
 2225   2              temp = data_len % 4;
 2226   2              if (temp == 0)
 2227   2              {
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 38  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 38  
 
 2228   3                  // zzw  ota must  add
 2229   3                  /*for (i = 0; i < (data_len / 4); i++)
@@ -2430,7 +2430,7 @@ line level    source
                   unsigned short length = 0;
                   zigbee_uart_write_frame(CHECK_ZIGBEE_NETWORK_CMD, length);
                   // then start test
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 39  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 39  
 
               }
               #endif
@@ -2494,7 +2494,7 @@ line level    source
 2345   2              {
 2346   3                  buf[0] = c0 - 10 + 'a';
 2347   3              }
-C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/13/2024 10:12:28 PAGE 40  
+C51 COMPILER V9.53.0.0   PROTOCOL                                                          04/27/2024 11:38:08 PAGE 40  
 
 2348   2              c1 = *src++ & 0x0F;
 2349   2              if (c1 >= 0x0 && c1 <= 0x9)

+ 1 - 1
Projects/macro/switch_ota_app_V1.0.1/Listings/sTimeout.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   STIMEOUT                                                          04/13/2024 10:12:28 PAGE 1   
+C51 COMPILER V9.53.0.0   STIMEOUT                                                          04/27/2024 11:38:09 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE STIMEOUT

+ 13 - 13
Projects/macro/switch_ota_app_V1.0.1/Listings/system.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 1   
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE SYSTEM
@@ -62,7 +62,7 @@ line level    source
                 nwk_paremeter.rejion_period = 0xfffe;
                 nwk_paremeter.poll_period = 0xfffe;
                 nwk_paremeter.fast_poll_period = 0xfffe;
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 2   
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 2   
 
                 nwk_paremeter.poll_failure_times = 0xfe;
                 nwk_paremeter.rejoin_try_times = 0xfe;
@@ -126,7 +126,7 @@ line level    source
  114          */
  115          void zigbee_uart_write_data(unsigned char *in, unsigned short len)
  116          {
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 3   
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 3   
 
  117   1        if((NULL == in) || (0 == len)){
  118   2          return;
@@ -190,7 +190,7 @@ line level    source
  176   1      }
  177          
  178          /**
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 4   
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 4   
 
  179          * @brief send product info and mcu version 
  180          * @param[in] {void} 
@@ -254,7 +254,7 @@ line level    source
  237   2        }
  238   1        
  239   1        return ret;
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 5   
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 5   
 
  240   1      }
  241          
@@ -318,7 +318,7 @@ line level    source
  298   4              i += (dp_len + 4);  
  299   4            } 
  300   3          }   
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 6   
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 6   
 
  301   2          break;
  302   2          case DATA_DATA_RES_CMD:{
@@ -382,7 +382,7 @@ line level    source
  360   2      #ifdef  BEACON_TEST
                   case SEND_BEACON_NOTIFY_CMD:{
                     mcu_received_beacon_test_handle();
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 7   
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 7   
 
                   }
                   break;
@@ -446,7 +446,7 @@ line level    source
                 unsigned short length = 0;
                 length = set_zigbee_uart_byte(length,mcu_type);
                 zigbee_uart_write_frame(CHECK_MCU_TYPE_CMD, length);
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 8   
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 8   
 
               }   
               #endif
@@ -510,7 +510,7 @@ line level    source
                       else{
                         break;
                       }
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 9   
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 9   
 
                     }
                     else
@@ -574,7 +574,7 @@ line level    source
               }
               #endif
  548          
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 10  
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 10  
 
  549          #ifdef SET_ZIGBEE_NWK_PARAMETER
               /**
@@ -638,7 +638,7 @@ line level    source
  608   1        return current_mcu_fw_ver;*/
  609   1        //modified by zzw ÓÅ»¯°æ±¾²éѯº¯Êý
  610   1        //unsigned char *fw_ver = (unsigned char*) MCU_VER; //Current version
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 11  
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 11  
 
  611   1          unsigned char fw_ver[10];//modified by zzw 20240326
  612   1        unsigned char current_mcu_fw_ver = 0;
@@ -702,7 +702,7 @@ line level    source
  670          * @brief mcu ota offset requset 
  671          * @param[in] {packet_offset}  packet offset 
  672          * @return  viod
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 12  
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 12  
 
  673          */
  674          //when call this function, should set timeout event, if not received zigbee send response should res
@@ -766,7 +766,7 @@ line level    source
  731   3            return -1; //str1 < str2
  732   3          }
  733   2          else if(str1[i] > str2[i]){ 
-C51 COMPILER V9.53.0.0   SYSTEM                                                            04/13/2024 10:12:28 PAGE 13  
+C51 COMPILER V9.53.0.0   SYSTEM                                                            04/27/2024 11:38:09 PAGE 13  
 
  734   3            return 1; //str1 > str2
  735   3          }

+ 2 - 2
Projects/macro/switch_ota_app_V1.0.1/Listings/time2.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   TIME2                                                             04/13/2024 10:12:29 PAGE 1   
+C51 COMPILER V9.53.0.0   TIME2                                                             04/27/2024 11:38:09 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE TIME2
@@ -62,7 +62,7 @@ line level    source
   48   1        int i=0;
   49   1        if (TF2)
   50   1        {
-C51 COMPILER V9.53.0.0   TIME2                                                             04/13/2024 10:12:29 PAGE 2   
+C51 COMPILER V9.53.0.0   TIME2                                                             04/27/2024 11:38:09 PAGE 2   
 
   51   2          TF2 = 0; // 除了用作串口的时基外,其他应用必须清零
   52   2          

+ 151 - 161
Projects/macro/switch_ota_app_V1.0.1/Listings/uart.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   UART                                                              04/13/2024 10:12:29 PAGE 1   
+C51 COMPILER V9.53.0.0   UART                                                              04/27/2024 11:38:09 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE UART
@@ -23,187 +23,177 @@ line level    source
   11          #include "uart.h"
   12          #include "zigbee.h"
   13          
-  14          // 波特率=(SMOD+1) x F SYSCLK /(32 x 2 x (256 – TH1))
-  15          #define SMOD_PRICE 1
-  16          #define FRC_HZ 18432000
-  17          #define FRC_DIV 2
-  18          
-  19          #define BAUD4800 4800
-  20          #define BAUD9600 9600
-  21          #define BAUD19200 19200
-  22          #define BAUD38400 38400
-  23          #define BAUD57600 57600
-  24          #define BAUD115200 115200 // 必须在系统一分频下
-  25          
-  26          #define UART0_BAUD_RATE BAUD9600
-  27          
-  28          #define TIM_NUM (unsigned int)(256 - ((((FRC_HZ / FRC_DIV) * (SMOD_PRICE + 1)) / 2) / 32 / BAUD9600)); // 
+  14          
+  15          
+  16          #define UART0_BAUD_RATE BAUD9600
+  17          
+  18          #define TIM_NUM (unsigned int)(256 - ((((FRC_HZ / FRC_DIV) * (SMOD_PRICE + 1)) / 2) / 32 / BAUD9600)); // 
              -计算不同波特率下的定时器值
-  29          /*
-  30          系统频率设置为二分频
-  31          */
-  32          
-  33          unsigned char txrx_buf[8] = {0x55};
-  34          char busy;
-  35          char setuart;
-  36          /*********************************************************************************************************
+  19          /*
+  20          系统频率设置为二分频
+  21          */
+  22          
+  23          unsigned char txrx_buf[8] = {0x55};
+  24          char busy;
+  25          char setuart;
+  26          /*********************************************************************************************************
              -*
-  37          **函数名称 :uart1_gpio_init
-  38          **函数描述 :串口IO初始化
-  39          **输    入 :None
-  40          **输    出 :None
-  41          **********************************************************************************************************
+  27          **函数名称 :uart1_gpio_init
+  28          **函数描述 :串口IO初始化
+  29          **输    入 :None
+  30          **输    出 :None
+  31          **********************************************************************************************************
              -/
-  42          void uart0_gpio_init()
-  43          {
-  44   1        // RXD p30 --p4.4
-  45   1        // TXD p31  --p4.5
-  46   1      
-  47   1        /*SET_REG(PORTIDX, PORT3);
-  48   1        SET_REG_BITS(PINMOD10, PINMOD1, PIN_MODE_PP);
-  49   1        SET_REG_BITS(PINMOD10, PINMOD0, PIN_MODE_OD_IPU);*/
-C51 COMPILER V9.53.0.0   UART                                                              04/13/2024 10:12:29 PAGE 2   
+  32          void uart0_gpio_init()
+  33          {
+  34   1        // RXD p30 --p4.4
+  35   1        // TXD p31  --p4.5
+  36   1      
+  37   1        /*SET_REG(PORTIDX, PORT3);
+  38   1        SET_REG_BITS(PINMOD10, PINMOD1, PIN_MODE_PP);
+  39   1        SET_REG_BITS(PINMOD10, PINMOD0, PIN_MODE_OD_IPU);*/
+  40   1      
+  41   1        ////modified by  zzw  修改串口为P4.4和P4.5
+  42   1        SET_REG(PORTIDX, PORT4);
+  43   1        SET_REG_BITS(PINMOD54, PINMOD5, PIN_MODE_PP);
+  44   1        SET_REG_BITS(PINMOD54, PINMOD4, PIN_MODE_OD_IPU);
+  45   1      
+  46   1        setuart = GET_REG(PINMODE) | 0x02;
+  47   1        SET_REG(PINMODE, setuart); // 设置UART0PS为10,将P4.4/P4.5用作RXD0/TXD0
+  48   1                       ////modified by  zzw  修改串口为P4.4和P4.5
+  49   1      }
+C51 COMPILER V9.53.0.0   UART                                                              04/27/2024 11:38:09 PAGE 2   
 
-  50   1      
-  51   1        ////modified by  zzw  修改串口为P4.4和P4.5
-  52   1        SET_REG(PORTIDX, PORT4);
-  53   1        SET_REG_BITS(PINMOD54, PINMOD5, PIN_MODE_PP);
-  54   1        SET_REG_BITS(PINMOD54, PINMOD4, PIN_MODE_OD_IPU);
-  55   1      
-  56   1        setuart = GET_REG(PINMODE) | 0x02;
-  57   1        SET_REG(PINMODE, setuart); // 设置UART0PS为10,将P4.4/P4.5用作RXD0/TXD0
-  58   1                       ////modified by  zzw  修改串口为P4.4和P4.5
-  59   1      }
-  60          /*********************************************************************************************************
+  50          /*********************************************************************************************************
              -*
-  61          **函数名称 :uart1_timer2_init
-  62          **函数描述 :uart1在timer2下配置
-  63          **输    入 :None
-  64          **输    出 :None
-  65          **********************************************************************************************************
+  51          **函数名称 :uart1_timer2_init
+  52          **函数描述 :uart1在timer2下配置
+  53          **输    入 :None
+  54          **输    出 :None
+  55          **********************************************************************************************************
              -/
-  66          void uart0_timer1_init()
-  67          {
-  68   1      
-  69   1        /*SET_REG(PORTIDX, PORT3);
-  70   1        SET_REG_BITS(PINMOD10, PINMOD1, PIN_MODE_PP);
-  71   1        SET_REG_BITS(PINMOD10, PINMOD0, PIN_MODE_OD_IPU);*/
+  56          void uart0_timer1_init()
+  57          {
+  58   1      
+  59   1        /*SET_REG(PORTIDX, PORT3);
+  60   1        SET_REG_BITS(PINMOD10, PINMOD1, PIN_MODE_PP);
+  61   1        SET_REG_BITS(PINMOD10, PINMOD0, PIN_MODE_OD_IPU);*/
+  62   1      
+  63   1        uart0_gpio_init();
+  64   1      
+  65   1        SET_REG_BITS(PCON, SMOD, SMOD_PRICE); // 双波特率控制位
+  66   1        SM0 = 0;
+  67   1        SM1 = 1; // 模式1
+  68   1        SM2 = 0;
+  69   1        REN = 1; // 允许接收
+  70   1      
+  71   1        SET_REG_BITS(TMOD, TMOD1, 2); // 8 位自动重载定时器/计数器(TL1),溢出时从 TH1 重新装载。
   72   1      
-  73   1        uart0_gpio_init();
-  74   1      
-  75   1        SET_REG_BITS(PCON, SMOD, SMOD_PRICE); // 双波特率控制位
-  76   1        SM0 = 0;
-  77   1        SM1 = 1; // 模式1
-  78   1        SM2 = 0;
-  79   1        REN = 1; // 允许接收
+  73   1        TL1 = TIM_NUM;
+  74   1        TH1 = TIM_NUM;
+  75   1      
+  76   1        TI = 0;  // 先清发送中断 标志
+  77   1        RI = 0;  // 先清接收中断 标志
+  78   1        TR1 = 1; // TIMER1 运行
+  79   1        REN = 1; // UART接收收据使能
   80   1      
-  81   1        SET_REG_BITS(TMOD, TMOD1, 2); // 8 位自动重载定时器/计数器(TL1),溢出时从 TH1 重新装载。
+  81   1        ES = 1; // 允许串口Uart1中断
   82   1      
-  83   1        TL1 = TIM_NUM;
-  84   1        TH1 = TIM_NUM;
+  83   1        ////boot uart,前提一倍频下计算////
+  84   1        /*UART0CON = UART0CON & ~0x80; // UART0BRS清零,波特率设置同标准 8051
   85   1      
-  86   1        TI = 0;  // 先清发送中断 标志
-  87   1        RI = 0;  // 先清接收中断 标志
-  88   1        TR1 = 1; // TIMER1 运行
-  89   1        REN = 1; // UART接收收据使能
-  90   1      
-  91   1        ES = 1; // 允许串口Uart1中断
-  92   1      
-  93   1        ////boot uart,前提一倍频下计算////
-  94   1        /*UART0CON = UART0CON & ~0x80; // UART0BRS清零,波特率设置同标准 8051
-  95   1      
-  96   1        SM0 = 0;
-  97   1        SM1 = 1;           // SM0\SM1=01   UART mode=1;8位数据传送  ,01:模式 1:8 位 UART0,波特率可变
-  98   1        SM2 = 0;           // Mode 1, 3    波特率采用9600 = (SMOD+1) x Fsysclk / (32 x 2 x (256-TH1)) --- 若使用Timer1
+  86   1        SM0 = 0;
+  87   1        SM1 = 1;           // SM0\SM1=01   UART mode=1;8位数据传送  ,01:模式 1:8 位 UART0,波特率可变
+  88   1        SM2 = 0;           // Mode 1, 3    波特率采用9600 = (SMOD+1) x Fsysclk / (32 x 2 x (256-TH1)) --- 若使用Timer1
              - 自动重载模式
-  99   1        PCON = (PCON & 0x7F) | 0x80; // SMOD=1允许UART双波特率控制//波特率= (SMOD + 1) x F SYSCLK / (32 x 2 x (25
+  89   1        PCON = (PCON & 0x7F) | 0x80; // SMOD=1允许UART双波特率控制//波特率= (SMOD + 1) x F SYSCLK / (32 x 2 x (25
              -6 – TH1))
- 100   1        // Fsysclk = 波特率 * 32 * (256 - TH1)
- 101   1        // TH1 = 256-Fsysclk/(波特率*32)
- 102   1        // 115200  :TH1 =256- 18432000/115200/32=256-5
- 103   1        // 9600  : TH1 =256- 18432000/9600/32=256- 60
+  90   1        // Fsysclk = 波特率 * 32 * (256 - TH1)
+  91   1        // TH1 = 256-Fsysclk/(波特率*32)
+  92   1        // 115200  :TH1 =256- 18432000/115200/32=256-5
+  93   1        // 9600  : TH1 =256- 18432000/9600/32=256- 60
+  94   1      
+  95   1        TMOD = TMOD & ~0X30 | 0x20;
+  96   1        TL1 = 256 - 5;
+  97   1        TH1 = 256 - 5; // 115200
+  98   1      
+  99   1        //TL1 = 256 - 60;
+ 100   1        //TH1 = 256 - 60; // 9600
+ 101   1      
+ 102   1        TCLK = 0; // UART1模式1&3发送时钟源:0-timer1   1-timer2
+ 103   1        RCLK = 0; // UART1模式1&3接收时钟源:0-timer1   1-timer2
  104   1      
- 105   1        TMOD = TMOD & ~0X30 | 0x20;
- 106   1        TL1 = 256 - 5;
- 107   1        TH1 = 256 - 5; // 115200
-C51 COMPILER V9.53.0.0   UART                                                              04/13/2024 10:12:29 PAGE 3   
+ 105   1        ES = 1;  // 允许串口Uart中断
+ 106   1        TI = 0;  // 先清发送中断 标志
+ 107   1        RI = 0;  // 先清接收中断 标志
+C51 COMPILER V9.53.0.0   UART                                                              04/27/2024 11:38:09 PAGE 3   
 
- 108   1      
- 109   1        //TL1 = 256 - 60;
- 110   1        //TH1 = 256 - 60; // 9600
+ 108   1        TR1 = 1; // TIMER1 运行
+ 109   1        REN = 1; // UART接收使能*/
+ 110   1        ////boot uart///
  111   1      
- 112   1        TCLK = 0; // UART1模式1&3发送时钟源:0-timer1   1-timer2
- 113   1        RCLK = 0; // UART1模式1&3接收时钟源:0-timer1   1-timer2
- 114   1      
- 115   1        ES = 1;  // 允许串口Uart中断
- 116   1        TI = 0;  // 先清发送中断 标志
- 117   1        RI = 0;  // 先清接收中断 标志
- 118   1        TR1 = 1; // TIMER1 运行
- 119   1        REN = 1; // UART接收使能*/
- 120   1        ////boot uart///
- 121   1      
- 122   1        busy = 0; // 初始化
- 123   1      }
- 124          
- 125          /*********************************************************************************************************
+ 112   1        busy = 0; // 初始化
+ 113   1      }
+ 114          
+ 115          /*********************************************************************************************************
              -*
- 126          **函数名称 :uart1_irq
- 127          **函数描述 :uart1中断入口
- 128          **输    入 :None
- 129          **输    出 :None
- 130          **********************************************************************************************************
+ 116          **函数名称 :uart1_irq
+ 117          **函数描述 :uart1中断入口
+ 118          **输    入 :None
+ 119          **输    出 :None
+ 120          **********************************************************************************************************
              -/
- 131          void uart0_irq() interrupt 4
- 132          {
- 133   1        unsigned char temp;
- 134   1        if (RI)
- 135   1        {
- 136   2          temp = SBUF;
- 137   2          uart_receive_input(temp); // zigbee函数
- 138   2          RI = 0;
- 139   2        }
- 140   1        /*  if (TI)
- 141   1          {
- 142   1            TI = 0;
- 143   1            busy = 0; // 清除忙标志
- 144   1          }*/
- 145   1        // 不是方式0,不采用中断请标志位
- 146   1      }
- 147          /*********************************************************************************************************
+ 121          void uart0_irq() interrupt 4
+ 122          {
+ 123   1        unsigned char temp;
+ 124   1        if (RI)
+ 125   1        {
+ 126   2          temp = SBUF;
+ 127   2          uart_receive_input(temp); // zigbee函数
+ 128   2          RI = 0;
+ 129   2        }
+ 130   1        /*  if (TI)
+ 131   1          {
+ 132   1            TI = 0;
+ 133   1            busy = 0; // 清除忙标志
+ 134   1          }*/
+ 135   1        // 不是方式0,不采用中断请标志位
+ 136   1      }
+ 137          /*********************************************************************************************************
              -*
- 148          **函数名称 UART1_send
- 149          **函数描述 :uart1发送单字节数据
- 150          **输    入 char
- 151          **输    出 :None
- 152          **********************************************************************************************************
+ 138          **函数名称 UART1_send
+ 139          **函数描述 :uart1发送单字节数据
+ 140          **输    入 char
+ 141          **输    出 :None
+ 142          **********************************************************************************************************
              -/
- 153          void UART1_send(unsigned char c) // 发送单字节
- 154          {
- 155   1        // while (busy)
- 156   1        //  ;
- 157   1        // busy = 1;
- 158   1        SBUF = c; // 发送单字节
- 159   1        while (TI == 0)
- 160   1          ; // 等待发送完成
- 161   1        TI = 0; //
- 162   1      }
- 163          /*********************************************************************************************************
+ 143          void UART1_send(unsigned char c) // 发送单字节
+ 144          {
+ 145   1        // while (busy)
+ 146   1        //  ;
+ 147   1        // busy = 1;
+ 148   1        SBUF = c; // 发送单字节
+ 149   1        while (TI == 0)
+ 150   1          ; // 等待发送完成
+ 151   1        TI = 0; //
+ 152   1      }
+ 153          /*********************************************************************************************************
              -*
- 164          **函数名称 UART1_send_buf
-C51 COMPILER V9.53.0.0   UART                                                              04/13/2024 10:12:29 PAGE 4   
-
- 165          **函数描述 :uart1发送字符串
- 166          **输    入 char
- 167          **输    出 :None
- 168          **********************************************************************************************************
+ 154          **函数名称 UART1_send_buf
+ 155          **函数描述 :uart1发送字符串
+ 156          **输    入 char
+ 157          **输    出 :None
+ 158          **********************************************************************************************************
              -/
- 169          void UART1_send_buf(char *s) // 发送字符串
- 170          {
- 171   1        while (*s)
- 172   1        {
- 173   2          UART1_send(*s++);
- 174   2        }
- 175   1      }
+ 159          void UART1_send_buf(char *s) // 发送字符串
+ 160          {
+ 161   1        while (*s)
+ 162   1        {
+ 163   2          UART1_send(*s++);
+C51 COMPILER V9.53.0.0   UART                                                              04/27/2024 11:38:09 PAGE 4   
+
+ 164   2        }
+ 165   1      }
 
 
 MODULE INFORMATION:   STATIC OVERLAYABLE

+ 235 - 0
Projects/macro/switch_ota_app_V1.0.1/Listings/uart2.lst

@@ -0,0 +1,235 @@
+C51 COMPILER V9.53.0.0   UART2                                                             04/27/2024 11:38:09 PAGE 1   
+
+
+C51 COMPILER V9.53.0.0, COMPILATION OF MODULE UART2
+OBJECT MODULE PLACED IN .\Objects\uart2.obj
+COMPILER INVOKED BY: C:\Keil_v5_51\C51\BIN\C51.EXE uart2.c LARGE OPTIMIZE(8,SPEED) BROWSE INCDIR(..\..\..\Drivers) DEBUG
+                    - OBJECTEXTEND PRINT(.\Listings\uart2.lst) TABS(2) OBJECT(.\Objects\uart2.obj)
+
+line level    source
+
+   1          /******************************************************************************************************
+   2            IC : TM52F1386
+   3            
+   4            演示效果  :
+   5                通过USB将开发板与电脑,打开电脑中的串口助手,设置对应端口,
+   6              9600波特率,8位数据位,无校验位,1位停止位。向学习板发送任
+   7              意1个字节数据,学习板会回传1个相同字节数据。
+   8              
+   9              注意:
+  10                   需要将底板的OP4端子的TX与RX跳线帽接好
+  11                   
+  12            时钟 : 
+  13              快时钟系统主频为 18.432M/2 = 9.216M 
+  14              分给定时器的时钟频率为9.216M/2 = 4.608M
+  15          *********************************************************************************************************/
+  16          
+  17          #include <REGtenxTM52F1386.h>
+  18          #include "TM52F1386_bsp.h"
+  19          #include <intrins.h>
+  20          #include "uart2.h"
+  21          
+  22          // 波特率=(SMOD+1) x F SYSCLK /(32 x 2 x (256 – TH1))
+  23          #define SMOD_PRICE 1
+  24          #define FRC_HZ 18432000
+  25          #define FRC_DIV 2
+  26          
+  27          #define BAUD4800 4800
+  28          #define BAUD9600 9600
+  29          #define BAUD19200 19200
+  30          #define BAUD38400 38400
+  31          #define BAUD57600 57600
+  32          #define BAUD115200 115200 // 必须在系统一分频下
+  33          
+  34          
+  35          #define UART2BRP  (unsigned int)(FRC_HZ/FRC_DIV/32/BAUD9600)    //计算不同波特率下的UART2BRP
+  36          /*********************************************************************************************************
+             -*
+  37          **函数名称 :uart1_gpio_init
+  38          **函数描述 :串口IO初始化
+  39          **输    入 :None
+  40          **输    出 :None
+  41          **********************************************************************************************************
+             -/
+  42          void uart2_gpio_init()
+  43          {
+  44   1        PORTIDX = PORT1;
+  45   1        PINMOD10 = PINMOD10&0x00 | PIN_L_MODE_OD_IPU | PIN_H_MODE_PP;
+  46   1        P1_1 = 1;     // tx
+  47   1        P1_0 = 1;     // rx
+  48   1      
+  49   1          
+  50   1          // p55,54
+  51   1        SET_REG(PORTIDX, 5);
+  52   1        SET_REG_BITS(PINMOD54, PINMOD5, PIN_MODE_PP); // 配置为CMOS推挽输出
+C51 COMPILER V9.53.0.0   UART2                                                             04/27/2024 11:38:09 PAGE 2   
+
+  53   1        P5_5 = 0;
+  54   1      
+  55   1        SET_REG(PORTIDX, 5);
+  56   1        SET_REG_BITS(PINMOD54, PINMOD4, PIN_MODE_PP); // 配置为CMOS推挽输出
+  57   1        P5_5 = 0;
+  58   1      }
+  59          /******************************************************************************************
+  60          ** 函数名称: uart2_init
+  61          ** 函数描述: uart初始化函数  9600-8-1 无校验(轮询接收)
+  62          ** 输入参数: 无
+  63          ** 输出参数: 无
+  64          *******************************************************************************************/
+  65          void uart2_init(void)
+  66          {
+  67   1          uart2_gpio_init();
+  68   1      
+  69   1        UART2_8Bits;
+  70   1        SCON2 = (SCON2&~SCON2_REN2_MASK) | 1 <<SCON2_REN2_POS;     //允许接收,REN2=1
+  71   1        UART2CON = (UART2CON &~ UART2CON_UART2BRP_MASK) | (UART2BRP << UART2CON_UART2BRP_POS);
+  72   1      
+  73   1      
+  74   1        SCON2 = (SCON2 & ~RI2);                  //UART2 接收中断标志
+  75   1        SCON2 = (SCON2 & ~TI2);                 // UART2 发送中断标志
+  76   1          
+  77   1      
+  78   1        UART2_RECEPTION_ENABLE;             //UART接收使能
+  79   1        INTE1 = (INTE1 &~ INTE1_ES2_MASK) | 1 <<INTE1_ES2_POS;  //ES2=1
+  80   1      
+  81   1      
+  82   1      }
+  83          
+  84          /******************************************************************************************
+  85          ** 函数名称: uart_recv
+  86          ** 函数描述: uart2接收函数
+  87          ** 输入参数: 无
+  88          ** 输出参数: 无
+  89          *******************************************************************************************/
+  90          /*void uart_recv (unsigned char *buf, unsigned char len)
+  91          {
+  92            unsigned char i;
+  93            for (i = 0; i < len; i++)
+  94            {
+  95              while ( (SCON2 & RI2) == 0);
+  96              *buf = SBUF2;
+  97              SCON2 = SCON2 & ~RI2;                   //清除标志位
+  98              buf++;
+  99            }
+ 100          }*/
+ 101          /******************************************************************************************
+ 102          ** 函数名称: uart_send
+ 103          ** 函数描述: uart2发送函数
+ 104          ** 输入参数: 无
+ 105          ** 输出参数: 无
+ 106          *******************************************************************************************/
+ 107          /*void uart_send (unsigned char *buf, unsigned char len)
+ 108          {
+ 109            unsigned char i;
+ 110            for (i = 0; i < len; i++)
+ 111            {
+ 112              SBUF2 = *buf;
+ 113              buf++;
+ 114              while ((SCON2 & TI2) == 0);
+C51 COMPILER V9.53.0.0   UART2                                                             04/27/2024 11:38:09 PAGE 3   
+
+ 115              SCON2 = SCON2 & ~TI2;                   //清除标志位
+ 116            }
+ 117          }*/
+ 118          
+ 119          /*********************************************************************************************************
+             -*
+ 120          **函数名称 :uart1_irq
+ 121          **函数描述 :uart1中断入口
+ 122          **输    入 :None
+ 123          **输    出 :None
+ 124          **********************************************************************************************************
+             -/
+ 125          void uart2_irq() interrupt 12
+ 126          {
+ 127   1        unsigned char temp;
+ 128   1        if(SCON2&RI2)
+ 129   1        {
+ 130   2          temp = SBUF2;
+ 131   2          //uart_receive_input(temp); // zigbee函数
+ 132   2          SCON2 = SCON2&~SCON2_RI2_MASK;
+ 133   2        }
+ 134   1        /*  if (TI)
+ 135   1          {
+ 136   1            TI = 0;
+ 137   1            busy = 0; // 清除忙标志
+ 138   1          }*/
+ 139   1        // 不是方式0,不采用中断请标志位
+ 140   1      }
+ 141          
+ 142          /*********************************************************************************************************
+             -*
+ 143          **函数名称 UART1_send
+ 144          **函数描述 :uart1发送单字节数据
+ 145          **输    入 char
+ 146          **输    出 :None
+ 147          **********************************************************************************************************
+             -/
+ 148          void UART2_send(unsigned char c) // 发送单字节
+ 149          {
+ 150   1        // while (busy)
+ 151   1        //  ;
+ 152   1        // busy = 1;
+ 153   1        SBUF2 = c; // 发送单字节
+ 154   1        while((SCON2&TI2) == 0);// 等待发送完成
+ 155   1        SCON2 = SCON2&~SCON2_TI2_MASK;
+ 156   1      }
+ 157          
+ 158          /*********************************************************************************************************
+             -*
+ 159          **函数名称 UART1_send_buf
+ 160          **函数描述 :uart1发送字符串
+ 161          **输    入 char
+ 162          **输    出 :None
+ 163          **********************************************************************************************************
+             -/
+ 164          void UART2_send_buf(char *s) // 发送字符串
+ 165          {
+ 166   1        while (*s)
+ 167   1        {
+ 168   2          UART2_send(*s++);
+ 169   2        }
+ 170   1      }
+C51 COMPILER V9.53.0.0   UART2                                                             04/27/2024 11:38:09 PAGE 4   
+
+ 171          /******************************************************************************************
+ 172          ** 函数名称: main
+ 173          ** 函数描述: main函数
+ 174          ** 输入参数: 无
+ 175          ** 输出参数: 无
+ 176          *******************************************************************************************/
+ 177          /*void main (void)
+ 178          {
+ 179            bsp_clock_init();         // 系统快钟18.432 div 2 =  9.216Mhz
+ 180          
+ 181            uart2_init();
+ 182          
+ 183            while (1)
+ 184            {
+ 185              uart_recv (txrx_buf, 1);
+ 186              uart_send (txrx_buf, 1);
+ 187          //    bsp_delay_ms(1000);
+ 188            }
+ 189          }*/
+ 190          
+ 191          
+ 192          
+ 193          
+ 194          
+ 195          
+ 196          
+ 197          
+
+
+MODULE INFORMATION:   STATIC OVERLAYABLE
+   CODE SIZE        =    171    ----
+   CONSTANT SIZE    =   ----    ----
+   XDATA SIZE       =   ----       4
+   PDATA SIZE       =   ----    ----
+   DATA SIZE        =   ----    ----
+   IDATA SIZE       =   ----    ----
+   BIT SIZE         =   ----    ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/CRC.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/EEPROM.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/GLOBAL.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104


+ 12 - 5
Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.build_log.htm

@@ -21,8 +21,8 @@ Target DLL:      C:\Keil_v5_51\SampTarg.DLL V1.06.44.75.R
 Dialog DLL:      TP51.DLL V2.58
  
 <h2>Project:</h2>
-D:\Work\SVN\workspaces\branch\ZB_SW4_TM52F1386_SDK_v0_0_1\Projects\macro\switch_ota_app_V1.0.1\main.uvproj
-Project File Date:  04/12/2024
+D:\Work\SVN\workspaces\branch\GIT_Luxon\ZB_SW4_TM52F1386_SDK_v0_0_1\Projects\macro\switch_ota_app_V1.0.1\main.uvproj
+Project File Date:  04/22/2024
 
 <h2>Output:</h2>
 Rebuild target 'Target 1'
@@ -55,6 +55,7 @@ compiling time2.c...
 compiling uart.c...
 compiling CRC.c...
 compiling iap.c...
+compiling uart2.c...
 compiling TM52F1386_bsp.c...
 linking...
 *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
@@ -112,16 +113,22 @@ linking...
 *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
     SEGMENT: ?PR?_USER_WRITE_APP_BYTE?IAP
 *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
+    SEGMENT: ?PR?_UART2_SEND_BUF?UART2
+*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
     SEGMENT: ?PR?BSP_FXT_CLOCK_INIT?TM52F1386_BSP
 *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
     SEGMENT: ?PR?BSP_SXT_CLOCK_INIT?TM52F1386_BSP
 *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
     SEGMENT: ?PR?_BSP_DELAY_100US?TM52F1386_BSP
-Program Size: data=9.3 xdata=2388 code=22179
+Program Size: data=9.3 xdata=2392 code=22356
 creating hex file from ".\Objects\HSW_6KEY_APP_V104"...
 User command #1: .\_MakeTenx_main\run.bat
-D:\Work\SVN\workspaces\branch\ZB_SW4_TM52F1386_SDK_v0_0_1\Projects\macro\switch_ota_app_V1.0.1>".\_MakeTenx_main\CallKeilDll.exe"
-".\Objects\HSW_6KEY_APP_V104" - 0 Error(s), 46 Warning(s).
+D:\Work\SVN\workspaces\branch\GIT_Luxon\ZB_SW4_TM52F1386_SDK_v0_0_1\Projects\macro\switch_ota_app_V1.0.1>".\_MakeTenx_main\CallKeilDll.exe"
+".\Objects\HSW_6KEY_APP_V104" - 0 Error(s), 47 Warning(s).
+Load "D:\\Work\\SVN\\workspaces\\branch\\GIT_Luxon\\ZB_SW4_TM52F1386_SDK_v0_0_1\\Projects\\macro\\switch_ota_app_V1.0.1\\Objects\\HSW_6KEY_APP_V104" 
+Flash Write Done: 22296 bytes programmed.
+Flash Verify Done: 22296 bytes verified.
+Code checksum: 0xC07C.
 </pre>
 </body>
 </html>

File diff suppressed because it is too large
+ 1590 - 1575
Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.hex


+ 1 - 0
Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.lnp

@@ -11,6 +11,7 @@
 ".\Objects\uart.obj",
 ".\Objects\CRC.obj",
 ".\Objects\iap.obj",
+".\Objects\uart2.obj",
 ".\Objects\TM52F1386_bsp.obj" 
 TO ".\Objects\HSW_6KEY_APP_V104" 
 PRINT(".\Listings\HSW_6KEY_APP_V104.m51") RAMSIZE(256) 

File diff suppressed because it is too large
+ 1400 - 1400
Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.tenx


File diff suppressed because it is too large
+ 32769 - 32769
Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.tenx.crc


File diff suppressed because it is too large
+ 22305 - 22115
Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.tenx.crc16_WriterVerify


File diff suppressed because it is too large
+ 32801 - 32801
Projects/macro/switch_ota_app_V1.0.1/Objects/HSW_6KEY_APP_V104.tenx.crc2


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/STARTUP_TENX52.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/TM52F1386_bsp.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/gpio_ctrl.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/iap.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/main.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/mcu_api.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/protocol.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/sTimeout.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/system.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/time2.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/uart.obj


BIN
Projects/macro/switch_ota_app_V1.0.1/Objects/uart2.obj


+ 2 - 0
Projects/macro/switch_ota_app_V1.0.1/main.c

@@ -18,6 +18,7 @@
 #include "time2.h"
 #include "sTimeout.h"
 #include "uart.h"
+#include "uart2.h"
 #include "gpio_ctrl.h"
 #include "zigbee.h"
 #include "EEPROM.h"
@@ -386,6 +387,7 @@ void sysInit(void)
 	tim2_init(); // 1ms定时器,定时器2
 
 	uart0_timer1_init(); // Uart1(9600),采用time1定时器
+	uart2_init(); // Uart2(9600)2
 
 	zigbee_protocol_init(); // zigbee初始化
 }

File diff suppressed because it is too large
+ 72 - 54
Projects/macro/switch_ota_app_V1.0.1/main.uvgui.CHENSIR


File diff suppressed because it is too large
+ 66 - 48
Projects/macro/switch_ota_app_V1.0.1/main.uvgui_CHENSIR.bak


+ 18 - 5
Projects/macro/switch_ota_app_V1.0.1/main.uvopt

@@ -312,7 +312,7 @@
       <GroupNumber>1</GroupNumber>
       <FileNumber>5</FileNumber>
       <FileType>1</FileType>
-      <tvExp>1</tvExp>
+      <tvExp>0</tvExp>
       <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
@@ -338,7 +338,7 @@
       <GroupNumber>1</GroupNumber>
       <FileNumber>7</FileNumber>
       <FileType>1</FileType>
-      <tvExp>1</tvExp>
+      <tvExp>0</tvExp>
       <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
@@ -364,7 +364,7 @@
       <GroupNumber>1</GroupNumber>
       <FileNumber>9</FileNumber>
       <FileType>1</FileType>
-      <tvExp>1</tvExp>
+      <tvExp>0</tvExp>
       <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
@@ -390,7 +390,7 @@
       <GroupNumber>1</GroupNumber>
       <FileNumber>11</FileNumber>
       <FileType>1</FileType>
-      <tvExp>0</tvExp>
+      <tvExp>1</tvExp>
       <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
@@ -425,6 +425,19 @@
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>14</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>1</tvExp>
+      <Focus>0</Focus>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>.\uart2.c</PathWithFileName>
+      <FilenameWithoutPath>uart2.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
   </Group>
 
   <Group>
@@ -435,7 +448,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>14</FileNumber>
+      <FileNumber>15</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>

+ 5 - 0
Projects/macro/switch_ota_app_V1.0.1/main.uvproj

@@ -427,6 +427,11 @@
               <FileType>1</FileType>
               <FilePath>.\iap.c</FilePath>
             </File>
+            <File>
+              <FileName>uart2.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\uart2.c</FilePath>
+            </File>
           </Files>
         </Group>
         <Group>

+ 17 - 4
Projects/macro/switch_ota_app_V1.0.1/main_uvopt.bak

@@ -338,7 +338,7 @@
       <GroupNumber>1</GroupNumber>
       <FileNumber>7</FileNumber>
       <FileType>1</FileType>
-      <tvExp>1</tvExp>
+      <tvExp>0</tvExp>
       <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
@@ -364,7 +364,7 @@
       <GroupNumber>1</GroupNumber>
       <FileNumber>9</FileNumber>
       <FileType>1</FileType>
-      <tvExp>1</tvExp>
+      <tvExp>0</tvExp>
       <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
@@ -390,7 +390,7 @@
       <GroupNumber>1</GroupNumber>
       <FileNumber>11</FileNumber>
       <FileType>1</FileType>
-      <tvExp>0</tvExp>
+      <tvExp>1</tvExp>
       <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
@@ -425,6 +425,19 @@
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>14</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>.\uart2.c</PathWithFileName>
+      <FilenameWithoutPath>uart2.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
   </Group>
 
   <Group>
@@ -435,7 +448,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>14</FileNumber>
+      <FileNumber>15</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>

+ 1 - 1
Projects/macro/switch_ota_app_V1.0.1/main_uvproj.bak

@@ -45,7 +45,7 @@
             <InvalidFlash>1</InvalidFlash>
           </TargetStatus>
           <OutputDirectory>.\Objects\</OutputDirectory>
-          <OutputName>HSW_3KEY_APP_V104</OutputName>
+          <OutputName>HSW_6KEY_APP_V104</OutputName>
           <CreateExecutable>1</CreateExecutable>
           <CreateLib>0</CreateLib>
           <CreateHexFile>1</CreateHexFile>

+ 1 - 11
Projects/macro/switch_ota_app_V1.0.1/uart.c

@@ -11,17 +11,7 @@
 #include "uart.h"
 #include "zigbee.h"
 
-// 波特率=(SMOD+1) x F SYSCLK /(32 x 2 x (256 – TH1))
-#define SMOD_PRICE 1
-#define FRC_HZ 18432000
-#define FRC_DIV 2
-
-#define BAUD4800 4800
-#define BAUD9600 9600
-#define BAUD19200 19200
-#define BAUD38400 38400
-#define BAUD57600 57600
-#define BAUD115200 115200 // 必须在系统一分频下
+
 
 #define UART0_BAUD_RATE BAUD9600
 

+ 13 - 0
Projects/macro/switch_ota_app_V1.0.1/uart.h

@@ -12,6 +12,19 @@
 #if !defined(__UART_H__)
 #define __UART_H__
 
+// 波特率=(SMOD+1) x F SYSCLK /(32 x 2 x (256 – TH1))
+#define SMOD_PRICE 1
+#define FRC_HZ 18432000
+#define FRC_DIV 2
+
+#define BAUD4800 4800
+#define BAUD9600 9600
+#define BAUD19200 19200
+#define BAUD38400 38400
+#define BAUD57600 57600
+#define BAUD115200 115200 // 必须在系统一分频下
+
+
 void uart0_gpio_init();
 void uart0_timer1_init();
 //void uart2_gpio_init();

+ 197 - 0
Projects/macro/switch_ota_app_V1.0.1/uart2.c

@@ -0,0 +1,197 @@
+/******************************************************************************************************
+	IC : TM52F1386
+	
+	演示效果 	:
+			通过USB将开发板与电脑,打开电脑中的串口助手,设置对应端口,
+		9600波特率,8位数据位,无校验位,1位停止位。向学习板发送任
+		意1个字节数据,学习板会回传1个相同字节数据。
+		
+		注意:
+		     需要将底板的OP4端子的TX与RX跳线帽接好
+				 
+	时钟 :	
+		快时钟系统主频为 18.432M/2 = 9.216M 
+		分给定时器的时钟频率为9.216M/2 = 4.608M
+*********************************************************************************************************/
+
+#include <REGtenxTM52F1386.h>
+#include "TM52F1386_bsp.h"
+#include <intrins.h>
+#include "uart2.h"
+
+// 波特率=(SMOD+1) x F SYSCLK /(32 x 2 x (256 – TH1))
+#define SMOD_PRICE 1
+#define FRC_HZ 18432000
+#define FRC_DIV 2
+
+#define BAUD4800 4800
+#define BAUD9600 9600
+#define BAUD19200 19200
+#define BAUD38400 38400
+#define BAUD57600 57600
+#define BAUD115200 115200 // 必须在系统一分频下
+
+
+#define UART2BRP  (unsigned int)(FRC_HZ/FRC_DIV/32/BAUD9600)    //计算不同波特率下的UART2BRP
+/**********************************************************************************************************
+**函数名称 :uart1_gpio_init
+**函数描述 :串口IO初始化
+**输    入 :None
+**输    出 :None
+**********************************************************************************************************/
+void uart2_gpio_init()
+{
+	PORTIDX = PORT1;
+	PINMOD10 = PINMOD10&0x00 | PIN_L_MODE_OD_IPU | PIN_H_MODE_PP;
+	P1_1 = 1;     // tx
+	P1_0 = 1;     // rx
+
+    
+  	// p55,54
+	SET_REG(PORTIDX, 5);
+	SET_REG_BITS(PINMOD54, PINMOD5, PIN_MODE_PP); // 配置为CMOS推挽输出
+	P5_5 = 0;
+
+	SET_REG(PORTIDX, 5);
+	SET_REG_BITS(PINMOD54, PINMOD4, PIN_MODE_PP); // 配置为CMOS推挽输出
+	P5_5 = 0;
+}
+/******************************************************************************************
+** 函数名称: uart2_init
+** 函数描述: uart初始化函数  9600-8-1 无校验(轮询接收)
+** 输入参数: 无
+** 输出参数: 无
+*******************************************************************************************/
+void uart2_init(void)
+{
+    uart2_gpio_init();
+
+	UART2_8Bits;
+	SCON2 = (SCON2&~SCON2_REN2_MASK) | 1 <<SCON2_REN2_POS;     //允许接收,REN2=1
+	UART2CON = (UART2CON &~ UART2CON_UART2BRP_MASK) | (UART2BRP << UART2CON_UART2BRP_POS);
+
+
+	SCON2 = (SCON2 & ~RI2);                  //UART2 接收中断标志
+	SCON2 = (SCON2 & ~TI2);                 // UART2 发送中断标志
+    
+
+	UART2_RECEPTION_ENABLE;             //UART接收使能
+	INTE1 = (INTE1 &~ INTE1_ES2_MASK) | 1 <<INTE1_ES2_POS; 	//ES2=1
+
+
+}
+
+/******************************************************************************************
+** 函数名称: uart_recv
+** 函数描述: uart2接收函数
+** 输入参数: 无
+** 输出参数: 无
+*******************************************************************************************/
+/*void uart_recv (unsigned char *buf, unsigned char len)
+{
+	unsigned char i;
+	for (i = 0; i < len; i++)
+	{
+		while ( (SCON2 & RI2) == 0);
+		*buf = SBUF2;
+		SCON2 = SCON2 & ~RI2;                   //清除标志位
+		buf++;
+	}
+}*/
+/******************************************************************************************
+** 函数名称: uart_send
+** 函数描述: uart2发送函数
+** 输入参数: 无
+** 输出参数: 无
+*******************************************************************************************/
+/*void uart_send (unsigned char *buf, unsigned char len)
+{
+	unsigned char i;
+	for (i = 0; i < len; i++)
+	{
+		SBUF2 = *buf;
+		buf++;
+		while ((SCON2 & TI2) == 0);
+		SCON2 = SCON2 & ~TI2;                   //清除标志位
+	}
+}*/
+
+/**********************************************************************************************************
+**函数名称 :uart1_irq
+**函数描述 :uart1中断入口
+**输    入 :None
+**输    出 :None
+**********************************************************************************************************/
+void uart2_irq() interrupt 12
+{
+	unsigned char temp;
+	if(SCON2&RI2)
+	{
+		temp = SBUF2;
+		//uart_receive_input(temp); // zigbee函数
+		SCON2 = SCON2&~SCON2_RI2_MASK;
+	}
+	/*	if (TI)
+		{
+			TI = 0;
+			busy = 0; // 清除忙标志
+		}*/
+	// 不是方式0,不采用中断请标志位
+}
+
+/**********************************************************************************************************
+**函数名称 UART1_send
+**函数描述 :uart1发送单字节数据
+**输    入 char
+**输    出 :None
+**********************************************************************************************************/
+void UART2_send(unsigned char c) // 发送单字节
+{
+	// while (busy)
+	//	;
+	// busy = 1;
+	SBUF2 = c; // 发送单字节
+	while((SCON2&TI2) == 0);// 等待发送完成
+	SCON2 = SCON2&~SCON2_TI2_MASK;
+}
+
+/**********************************************************************************************************
+**函数名称 UART1_send_buf
+**函数描述 :uart1发送字符串
+**输    入 char
+**输    出 :None
+**********************************************************************************************************/
+void UART2_send_buf(char *s) // 发送字符串
+{
+	while (*s)
+	{
+		UART2_send(*s++);
+	}
+}
+/******************************************************************************************
+** 函数名称: main
+** 函数描述: main函数
+** 输入参数: 无
+** 输出参数: 无
+*******************************************************************************************/
+/*void main (void)
+{
+	bsp_clock_init();         // 系统快钟18.432 div 2 =  9.216Mhz
+
+	uart2_init();
+
+	while (1)
+	{
+		uart_recv (txrx_buf, 1);
+		uart_send (txrx_buf, 1);
+//		bsp_delay_ms(1000);
+	}
+}*/
+
+
+
+
+
+
+
+

+ 30 - 0
Projects/macro/switch_ota_app_V1.0.1/uart2.h

@@ -0,0 +1,30 @@
+/*******************************************************************************
+*
+*   scheduler 
+*   Soft version:   switch V1.00
+*   File Name:      uart2.h
+*   Author   :      zzw (zhangzw_3@163.com)
+*   creation date:  2024-01-17
+*	module description: time2 1ms
+*   Copyright (C) reserve
+*
+********************************************************************************/
+#if !defined(__UART2_H__)
+#define __UART2_H__
+
+
+
+#define A_HLW  P5_5 //A
+#define B_HLW  P5_4 //B
+
+
+
+void uart2_gpio_init();
+void uart2_init(void);
+
+
+void UART2_send(unsigned char c);
+void UART2_send_buf(char *s);
+
+#endif
+/* EOF */

BIN
Projects/macro/switch_ota_app_V1.0.1_20240409.zip


+ 27 - 0
Projects/macro/switch_ota_app_V1.0.3/CRC.c

@@ -0,0 +1,27 @@
+#include <REGtenxTM52F1386.H>
+#include <intrins.h>
+
+/*******************************************************************
+** 函数名称: crc_calcu
+** 函数描述: 数据CRC校验
+** 输入参数: 无
+** 输出参数: ret   CRC的校验值
+*******************************************************************/
+unsigned int crc_calcu(unsigned char *p,unsigned int len)
+{
+	unsigned int ret=0;
+	unsigned int i=0;
+	CRCIN = 0;
+	CRCDH = 0xff;
+	CRCDL = 0xff;
+	for(i = 0;i<len;i++)
+	{
+		CRCIN = p[i];   //将要检验的数据送入到CRCIN寄存器里
+	}
+
+	ret = CRCDH;
+	ret = ret<<8;
+	ret = ret|CRCDL;
+	return ret;    //返回校验值
+}
+

+ 7 - 0
Projects/macro/switch_ota_app_V1.0.3/CRC.h

@@ -0,0 +1,7 @@
+#ifndef CRC_H
+#define CRC_H
+
+unsigned int crc_calcu(unsigned char *p,unsigned int len);
+
+
+#endif

Projects/macro/switch_ota_V1.0_P30P31/EEPROM.c → Projects/macro/switch_ota_app_V1.0.3/EEPROM.c


Projects/macro/switch_ota_V1.0_P30P31/EEPROM.h → Projects/macro/switch_ota_app_V1.0.3/EEPROM.h


Projects/macro/switch_ota_V1.0_P30P31/GLOBAL.c → Projects/macro/switch_ota_app_V1.0.3/GLOBAL.c


+ 2 - 0
Projects/macro/switch_ota_V1.0_P30P31/GLOBAL.h

@@ -104,6 +104,8 @@ typedef struct SW_Parameters
 	
 	u08  KeyPress;			     //1号按键状态,0未被按下,1被按下
   u32  buttonPressTime;
+
+  u32  add_ele;//数值范围:0-50000,间距:100,单位:kW·h
 } SWParameters;
 
 

File diff suppressed because it is too large
+ 1215 - 0
Projects/macro/switch_ota_app_V1.0.3/HLW8110.c


+ 99 - 0
Projects/macro/switch_ota_app_V1.0.3/HLW8110.h

@@ -0,0 +1,99 @@
+#ifndef __HLW8110_H
+#define __HLW8110_H	 
+#include "sys.h"
+#include "core_cm3.h"
+#include "stdio.h"
+#include "iap.h" 
+
+//8112/8110 reg define
+#define REG_SYSCON_ADDR         0x00
+#define REG_EMUCON_ADDR         0x01
+#define REG_HFCONST_ADDR        0x02
+#define REG_EMUCON2_ADDR        0x13
+#define REG_ANGLE_ADDR        	0x22			//相角寄存器
+#define REG_UFREQ_ADDR          0x23     	//市电线性频率地址
+#define REG_RMSIA_ADDR          0x24
+#define REG_RMSIB_ADDR          0x25
+#define REG_RMSU_ADDR           0x26
+#define REG_PF_ADDR             0x27
+#define REG_ENERGY_PA_ADDR			0x28
+#define REG_ENERGY_PB_ADDR			0x29
+#define REG_POWER_PA_ADDR       0x2C
+#define REG_POWER_PB_ADDR       0x2D
+
+#define REG_POWER_PS_ADDR       0x2E
+
+
+#define REG_SAGCYC_ADDR         0x17
+#define REG_SAGLVL_ADDR         0x18
+#define REG_OVLVL_ADDR          0x19
+#define REG_OIALVL_ADDR          0x1a
+
+#define REG_INT_ADDR          	0x1D
+#define REG_IE_ADDR          		0x40
+#define REG_IF_ADDR          		0x41
+#define REG_RIF_ADDR          	0x42
+
+#define REG_RDATA_ADDR          0x44
+
+
+#define REG_CHECKSUM_ADDR				0x6f
+#define REG_RMS_IAC_ADDR				0x70
+#define REG_RMS_IBC_ADDR				0x71
+#define REG_RMS_UC_ADDR					0x72
+#define REG_POWER_PAC_ADDR			0x73
+#define REG_POWER_PBC_ADDR			0x74
+#define REG_POWER_SC_ADDR				0x75
+#define REG_ENERGY_AC_ADDR			0x76
+#define REG_ENERGY_BC_ADDR			0x77
+
+
+//宏定义
+#define FALSE	0
+#define TRUE	0
+
+#define D_TIME1_50MS	50
+
+
+
+void Init_HLW8110(unsigned char nun);
+void Calculate_HLW8110_MeterData(unsigned char nun);
+void Init_HLW8112(void);
+void HLW8112_Measure(void);
+void Read_Power_Data_handle(void);
+	
+extern unsigned char HLW8110Msg;		   //程序状态机
+enum HLW8110_TASK
+{
+	HLW8110_int = 0,
+	HLW8110_1,//第一路
+	HLW8110_2,    //第二路
+	HLW8110_3,     //第三路
+  HLW8110_IDEL,//空闲任务
+	HLW8110_ERR
+};
+
+typedef struct hlw8110_power
+{
+	float F_AC_V[3];                                                            
+  float F_AC_I[3];                                                      
+  float F_AC_P[3]; 
+  float F_AC_E[3]; 
+}hlw8110_power_t;
+
+extern hlw8110_power_t hlw8110_power_data;
+extern long int SystemTimer;
+extern unsigned char power_data[50];
+
+extern unsigned char	u8_TxBuf[10]; 
+extern unsigned char	u8_RxBuf[10];
+extern unsigned char	u8_TX_Length;
+extern unsigned char	u8_RX_Length;
+extern unsigned char	u8_RX_Index;
+//unsigned char	B_ReadReg_Time_EN;			// 串口读取寄存器数据,时间计数器标志位,1--开启计数,0--关闭计数
+//unsigned char	B_Tx_Finish;
+extern unsigned char	B_Rx_Finish;
+extern unsigned char	B_Rx_Data_ING;					// 接收数据标志位	,		< 1:接收数据中,0:未接收到数据 >
+extern unsigned char	B_Read_Error;			
+
+#endif

+ 51 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/CRC.lst

@@ -0,0 +1,51 @@
+C51 COMPILER V9.53.0.0   CRC                                                               04/27/2024 13:04:31 PAGE 1   
+
+
+C51 COMPILER V9.53.0.0, COMPILATION OF MODULE CRC
+OBJECT MODULE PLACED IN .\Objects\CRC.obj
+COMPILER INVOKED BY: C:\Keil_v5_51\C51\BIN\C51.EXE CRC.c LARGE OPTIMIZE(8,SPEED) BROWSE INCDIR(..\..\..\Drivers) DEBUG O
+                    -BJECTEXTEND PRINT(.\Listings\CRC.lst) TABS(2) OBJECT(.\Objects\CRC.obj)
+
+line level    source
+
+   1          #include <REGtenxTM52F1386.H>
+   2          #include <intrins.h>
+   3          
+   4          /*******************************************************************
+   5          ** 函数名称: crc_calcu
+   6          ** 函数描述: 数据CRC校验
+   7          ** 输入参数: 无
+   8          ** 输出参数: ret   CRC的校验值
+   9          *******************************************************************/
+  10          unsigned int crc_calcu(unsigned char *p,unsigned int len)
+  11          {
+  12   1        unsigned int ret=0;
+  13   1        unsigned int i=0;
+  14   1        CRCIN = 0;
+  15   1        CRCDH = 0xff;
+  16   1        CRCDL = 0xff;
+  17   1        for(i = 0;i<len;i++)
+  18   1        {
+  19   2          CRCIN = p[i];   //将要检验的数据送入到CRCIN寄存器里
+  20   2        }
+  21   1      
+  22   1        ret = CRCDH;
+  23   1        ret = ret<<8;
+  24   1        ret = ret|CRCDL;
+  25   1        return ret;    //返回校验值
+  26   1      }
+  27          
+
+
+MODULE INFORMATION:   STATIC OVERLAYABLE
+   CODE SIZE        =    114    ----
+   CONSTANT SIZE    =   ----    ----
+   XDATA SIZE       =   ----       7
+   PDATA SIZE       =   ----    ----
+   DATA SIZE        =   ----    ----
+   IDATA SIZE       =   ----    ----
+   BIT SIZE         =   ----    ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

+ 4 - 4
Projects/macro/switch_ota_V1.0_P30P31/Listings/EEPROM.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   EEPROM                                                            03/26/2024 11:03:42 PAGE 1   
+C51 COMPILER V9.53.0.0   EEPROM                                                            04/27/2024 13:04:30 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE EEPROM
@@ -62,7 +62,7 @@ line level    source
   43          ** 函数描述: iap_EEPROM写数据配置函数  
   44          ** 输入参数: addr:存储地址,范围0~127
   45                       buf:数据的首地址
-C51 COMPILER V9.53.0.0   EEPROM                                                            03/26/2024 11:03:42 PAGE 2   
+C51 COMPILER V9.53.0.0   EEPROM                                                            04/27/2024 13:04:30 PAGE 2   
 
   46                len:数据长度(addr+len不要超过128)
   47          ** 输出参数: 无 
@@ -126,7 +126,7 @@ line level    source
  102   2          IAPTE_6P4_MS;        //设置IAP看门狗复位时间
  103   2          eeprom_address_write_backup[addr + i] = *buf;//
  104   2          buf++;
-C51 COMPILER V9.53.0.0   EEPROM                                                            03/26/2024 11:03:42 PAGE 3   
+C51 COMPILER V9.53.0.0   EEPROM                                                            04/27/2024 13:04:30 PAGE 3   
 
  105   2        }
  106   1        
@@ -190,7 +190,7 @@ line level    source
  160            gpio_init();
  161            write_mileage[0] = 0x22;
  162            write_mileage[1] = 0x33;
-C51 COMPILER V9.53.0.0   EEPROM                                                            03/26/2024 11:03:42 PAGE 4   
+C51 COMPILER V9.53.0.0   EEPROM                                                            04/27/2024 13:04:30 PAGE 4   
 
  163            write_mileage[2] = 0x44;
  164            write_mileage[3] = 0x55;

+ 4 - 4
Projects/macro/switch_ota_V1.0_P30P31/Listings/GLOBAL.lst

@@ -1,4 +1,4 @@
-C51 COMPILER V9.53.0.0   GLOBAL                                                            03/26/2024 11:03:42 PAGE 1   
+C51 COMPILER V9.53.0.0   GLOBAL                                                            04/27/2024 13:04:30 PAGE 1   
 
 
 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE GLOBAL
@@ -62,7 +62,7 @@ line level    source
   52          byte burn_in_test_start=0;//产测标志位
   53          u32 burn_in_test_counter=0;//产测计数器
   54          u32 burn_in_test_timeout=0;//产测开机30秒内收到信标才有效
-C51 COMPILER V9.53.0.0   GLOBAL                                                            03/26/2024 11:03:42 PAGE 2   
+C51 COMPILER V9.53.0.0   GLOBAL                                                            04/27/2024 13:04:30 PAGE 2   
 
   55          
   56          
@@ -126,7 +126,7 @@ line level    source
  114   2          for (j=0; j<64; j++)
  115   2              {
  116   3            if (ps8Source[i] == g_sas8Base64digits[j])
-C51 COMPILER V9.53.0.0   GLOBAL                                                            03/26/2024 11:03:42 PAGE 3   
+C51 COMPILER V9.53.0.0   GLOBAL                                                            04/27/2024 13:04:30 PAGE 3   
 
  117   3            {
  118   4                      as8ValuePre[i%4] = j;
@@ -171,7 +171,7 @@ line level    source
 MODULE INFORMATION:   STATIC OVERLAYABLE
    CODE SIZE        =   1289    ----
    CONSTANT SIZE    =   ----    ----
-   XDATA SIZE       =    203      30
+   XDATA SIZE       =    207      30
    PDATA SIZE       =   ----    ----
    DATA SIZE        =   ----    ----
    IDATA SIZE       =   ----    ----

File diff suppressed because it is too large
+ 1377 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HLW8110.lst


Projects/macro/switch_ota_V1.0_P30P31/Listings/HSW_1KEY.m51 → Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY.m51


File diff suppressed because it is too large
+ 5468 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP.m51


File diff suppressed because it is too large
+ 5469 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP_V101.m51


File diff suppressed because it is too large
+ 5420 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP_V101_.m51


File diff suppressed because it is too large
+ 5472 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP_V102.m51


File diff suppressed because it is too large
+ 5469 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP_V102_test.m51


File diff suppressed because it is too large
+ 5426 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP_V103.m51


File diff suppressed because it is too large
+ 5426 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_1KEY_APP_V104.m51


Projects/macro/switch_ota_V1.0_P30P31/Listings/HSW_2KEY.m51 → Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY.m51


File diff suppressed because it is too large
+ 5468 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP.m51


File diff suppressed because it is too large
+ 5469 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP_V101.m51


File diff suppressed because it is too large
+ 5421 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP_V101_.m51


File diff suppressed because it is too large
+ 5453 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP_V102.m51


File diff suppressed because it is too large
+ 5469 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP_V102_test.m51


File diff suppressed because it is too large
+ 5453 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP_V103.m51


File diff suppressed because it is too large
+ 5477 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_2KEY_APP_V104.m51


Projects/macro/switch_ota_V1.0_P30P31/Listings/HSW_3KEY.m51 → Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY.m51


File diff suppressed because it is too large
+ 5468 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY_APP.m51


File diff suppressed because it is too large
+ 5469 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY_APP_V101.m51


File diff suppressed because it is too large
+ 5472 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY_APP_V102.m51


File diff suppressed because it is too large
+ 5469 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY_APP_V102_test.m51


File diff suppressed because it is too large
+ 5477 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY_APP_V103.m51


File diff suppressed because it is too large
+ 5888 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_3KEY_APP_V104.m51


File diff suppressed because it is too large
+ 5657 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_6KEY.m51


+ 0 - 0
Projects/macro/switch_ota_app_V1.0.3/Listings/HSW_6KEY_APP.m51


Some files were not shown because too many files changed in this diff