• 大小: 38KB
    文件类型: .c
    金币: 2
    下载: 1 次
    发布日期: 2021-05-21
  • 语言: 其他
  • 标签: STM32  BMS  C代码  

资源简介

STM32控制BQ76940的BMS的保护部分源代码C程序,底层用的是TI的例程IIC通讯,初始化部分大家自己设置好就应该可以用的。

资源截图

代码片段和文件信息

/**
  ******************************************************************************
  * @file    Project/STM32F10x_StdPeriph_Template/stm32f10x_it.c 
  * @author  MCD Application Team
  * @version V3.5.0
  * @date    08-April-2011
  * @brief   Main Interrupt Service Routines.
  *          This file provides template for all exceptions handler and 
  *          peripherals interrupt service routine.
  ******************************************************************************
  * @attention
  *
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  * TIME. AS A RESULT STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  * DIRECT INDIRECT OR CONSEQUENTI
  
  AL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  *
  * 

© COPYRIGHT 2011 STMicroelectronics


  ******************************************************************************
  */

/* Includes ------------------------------------------------------------------*/
#include “stm32f10x_it.h“
#include “i2c_ee.h“
#include “main.h“
#include “Temper.h“
#include “can.h“

volatile uint16_t Tempa1[4]={0000};
volatile uint16_t Sum_Tempa1=0;
volatile uint16_t Avg_Tempa1=0;
volatile int8_t  Real_T1=0;
volatile uint16_t Avg_Real_CC=0;
volatile uint32_t Sum_Real_CC=0;
volatile int16_t Real_BatTemp=0; //用于CAN传输

volatile uint16_t Read_State=0;
volatile uint16_t  NTC1=0;
volatile uint16_t  NTC2=0;
volatile uint16_t  NTC3=0;
volatile int16_t   Real_NTC1=0;
volatile int16_t   Real_NTC2=0;
volatile int16_t   Real_NTC3=0;
volatile uint16_t  Flag_Fault_IIC=0;
volatile uint16_t  Avg_CC=0;
volatile int16_t   Real_CC=0;
volatile uint16_t  ABS_CC=0;
volatile uint16_t  Flag_CC=0;
volatile int16_t  Offset_CC=0;
volatile int16_t  Avg_CC_NF=0;
volatile uint16_t  State_BMS=0;   //0==待机  1==充电  2==放电
volatile uint16_t InitFlag=0;
volatile uint16_t InitCount=0;
volatile uint16_t InitState=0;
//滤波变量
volatile uint16_t Count_Fault_Read=0;
volatile uint16_t Count_Fault_Read1=0;
volatile uint16_t Count_Fault_ReadCC=0;
volatile uint16_t Count_Fault_IIC=0;
volatile uint16_t Count_CellUV[15];
volatile uint16_t Count_CellUV1[15];
volatile uint16_t Count_CellOV[15];
volatile uint16_t Count_CellOV1[15];
volatile uint16_t Count_CellUVRE[15];
volatile uint16_t Count_CellUVRE1[15];
volatile uint16_t Count_CellOVRE[15];
volatile uint16_t Count_CellOVRE1[15];
volatile uint16_t Count_BATUV=0;
volatile uint16_t Count_BATUV1=0;
volatile uint16_t Count_BATOV=0;
volatile uint16_t Count_BATOV1=0;
volatile uint16_t Count_BATUVRE=0;
volatile uint16_t Count_BATUVRE1=0;
volatile uint16_t Count_BATOVRE=0;
volatile uint16_t Count_BATOVRE1=0;
volatile uint16_t Count_OCC=0;
volatile uint16

评论

共有 条评论