芯片解密,芯片破解,IC解密,单片机解密,MCU解密,STM解密

飞芯科技提供芯片解密,芯片破解,IC解密,单片机解密,MCU解密,STM解密逆向服务

芯片解密STM32H杀菌等多功能智能健康鞋柜设计

芯片解密#include <stm32f10x.h>
芯片解密#include "hal_uart.h"
芯片解密#include "hal_key.h"
//#include "hal_rgb_led.h"
//#include "hal_motor.h"
#include "hal_temp_hum.h"
#include "protocol.h"
//#include "hal_infrared.h"

#include "led.h"
#include "lcd.h"
#include "adc.h"
#include "ds18b20.h"
#include "chinese.h"
#include "pwm.h"
#include "timer.h"
#include "rtc.h"


uint8_t                                                                         get_one_package;                                                        //判断是否接收到一个完整的串口数据包
uint8_t                                                                         uart_buf[256];                                                                 //串口缓冲区
uint16_t                                                                         uart_Count=0;                                                                        //串口缓冲区数据长度
uint8_t                                                                         cmd_flag =0;                                                                       
uint16_t                                                                         cmd_len =0 ;               
uint8_t                                                                         wait_ack_time;                                                               
uint8_t                                                                         check_status_time;
uint8_t                                                                         report_status_idle_time;
uint32_t                                                                        SN;
uint8_t                                                                         cmd_flag1, cmd_flag2;
uint32_t                                                                        wait_wifi_status;

pro_commonCmd                                                        m_pro_commonCmd;                                                        //通用命令,心跳、ack等可以复用此帧
m2w_returnMcuInfo                                        m_m2w_returnMcuInfo;                                        //返回mcu信息帧
m2w_setModule                                                        m_m2w_setModule;                                                        //配置模块帧
w2m_controlMcu                                                m_w2m_controlMcu;                                                        //控制命令帧
m2w_mcuStatus                                                        m_m2w_mcuStatus;                                                        //当前最新的mcu状态帧
m2w_mcuStatus                                                        m_m2w_mcuStatus_reported;                        //上次发送的mcu状态,当与最新的mcu状态不同时,需要上报;
w2m_reportModuleStatus                m_w2m_reportModuleStatus;                        //wifi模块上报状态帧
pro_errorCmd                                                        m_pro_errorCmd;                                                                //错误命令帧



u8                                                        Cleanliness_Data;
u8                                                  DHT11_Read_Data_temperature;
u8                                                         DHT11_Read_Data_humidity;
u16                                     DS18B20_Data;
u16                    Gas_Data;
float              voltage;
float              voltage1;

extern  vu16  ADC_ConvertedValue[1];
                                                               

int        McuStatusInit()
{
        SN = 0;
        cmd_flag1 = 0;
        cmd_flag2 = 0;
        get_one_package = 0;
        uart_Count = 0;
        cmd_flag = 0;
        cmd_len = 0 ;       
        wait_wifi_status = 0;
       
        memset(uart_buf, 0, 256);
       
        //初始化通用命令帧,命令字和sn需要传入,校验和发送前计算,其他信息相同;
        memset(&m_pro_commonCmd, 0, sizeof(pro_commonCmd));
        m_pro_commonCmd.head_part.head[0] = 0xFF;
        m_pro_commonCmd.head_part.head[1] = 0xFF;
        m_pro_commonCmd.head_part.len = exchangeBytes(sizeof(pro_commonCmd) - 4);

        //初始化返回mcu信息帧,sn和校验和需要根据实际填写;
        memset(&m_m2w_returnMcuInfo, 0, sizeof(m2w_returnMcuInfo));
        m_m2w_returnMcuInfo.head_part.head[0] = 0xFF;
        m_m2w_returnMcuInfo.head_part.head[1] = 0xFF;
        //长度值不包含包头和长度字段,所以要减去4个字节;
        m_m2w_returnMcuInfo.head_part.len = exchangeBytes(sizeof(m2w_returnMcuInfo) - 4);                       
        m_m2w_returnMcuInfo.head_part.cmd = CMD_GET_MCU_INFO_ACK;
        memcpy(m_m2w_returnMcuInfo.pro_ver, PRO_VER, 8);
        memcpy(m_m2w_returnMcuInfo.p0_ver, P0_VER, 8);
        memcpy(m_m2w_returnMcuInfo.hard_ver, HARD_VER, 8);
        memcpy(m_m2w_returnMcuInfo.soft_ver, SOFT_VER, 8);
        memcpy(m_m2w_returnMcuInfo.product_key, PRODUCT_KEY, 32);
        //binable_time默认0,可以随时被绑定;
        m_m2w_returnMcuInfo.binable_time = 0;                                                                                                                                               
               
        //初始化mcu状态帧,sn和校验和需要根据实际填写;
        memset(&m_m2w_mcuStatus, 0, sizeof(m2w_mcuStatus));
        m_m2w_mcuStatus.head_part.head[0] = 0xFF;
        m_m2w_mcuStatus.head_part.head[1] = 0xFF;
        m_m2w_mcuStatus.head_part.len = exchangeBytes(sizeof(m2w_mcuStatus) - 4);
//        DHT11_Read_Data((uint8_t *)&(m_m2w_mcuStatus.status_r.temputure), (uint8_t *)&(m_m2w_mcuStatus.status_r.humidity));
//        m_m2w_mcuStatus.status_w.motor_speed = 5;
   DS18B20_Data=DS18B20_Get_Temp();

       
        //初始化配置wifi模块帧,sn和校验和需要根据实际填写;
        memset(&m_m2w_setModule, 0, sizeof(m2w_setModule));
        m_m2w_setModule.head_part.head[0] = 0xFF;
        m_m2w_setModule.head_part.head[1] = 0xFF;
        m_m2w_setModule.head_part.cmd = CMD_SET_MODULE_WORKMODE;
        m_m2w_setModule.head_part.len = exchangeBytes(sizeof(m2w_setModule) - 4);

        //初始化错误命令帧,sn和校验和需要根据实际填写;
        memset(&m_pro_errorCmd, 0, sizeof(pro_errorCmd));
        m_pro_errorCmd.head_part.head[0] = 0xFF;
        m_pro_errorCmd.head_part.head[1] = 0xFF;
        m_pro_errorCmd.head_part.cmd = CMD_MODULE_CMD_ERROR_ACK;
        m_pro_errorCmd.head_part.len = exchangeBytes(sizeof(pro_errorCmd) - 4);
       
        return 0;
}


联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.taihedz.cn
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信