<!--
 * @Description: file content
 * @Author: CK.Zh
 * @Date: 2020-02-20 11:39:38
 * @LastEditors: CK.Zh
 * @LastEditTime: 2020-04-30 10:15:25
 -->
# NaviKit_stm32
 PM1导航套件中电源控制板源码，STM32F107VCT6，开发环境STM32CubeIDE
# 特性

## 1.电池管理统计功能（基于IIC协议的库仑计）
## 2.负载的启动顺序编辑和软件改变/查询负载状态


# 串口通信协议
* TODO

 `STM32作为CDC Device接入到USB2.0-HUB的Downsteam 7端口下`

 * 负载开关部分
|  位置  |  字节0  | 字节1  | 字节2  | 字节3  | 字节4  | 字节5  | 字节6  | 字节7  |
|  ----  |  ----  |  ----  |  ----  |  ----  |  ----  |  ----  | ----  |  ----  |
| 功能  | 帧头 | 读写 | 指令 | 
| 示例  | 0xA5 | 0x80 读 </br> 0x81 写 </br> 0x7f 返回 |

* 电池管理部分

# Note
 在使用usb的时候，
 `stm32f1xx_hal_pcd.c文件内`
 `void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd)函数内` 
 `HAL_PCD_SuspendCallback(hpcd) 代码段` 务必屏蔽，否则导致枚举失败，提示获取设备描述符失败。


* 开关机
 开机：关机状态下，长按电源按钮1s，滴声后松开
 关机：开机/DFU状态下，长按电源按钮1s，滴声后松开
 DFU：关机状态下，先按住重启按钮，然后按住电源按钮，滴声后松开两个按钮
