c1c0b6bfbf | ||
---|---|---|
.settings | ||
.vscode | ||
App | ||
Core | ||
Drivers | ||
Middlewares | ||
USB_DEVICE | ||
.cproject | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.mxproject | ||
.project | ||
NaviKit_EC_stm32 Debug.launch | ||
NaviKit_EC_stm32 Release.launch | ||
NaviKit_EC_stm32.ioc | ||
README.md | ||
STM32F107VCTX_FLASH.ld |
README.md
NaviKit_stm32
PM1导航套件中电源控制板源码,STM32F107VCT6,开发环境STM32CubeIDE
特性
1.电池管理统计功能(基于IIC协议的库仑计)
2.负载的启动顺序编辑和软件改变/查询负载状态
3.电源监控功能(多轨电源电压监控)
串口通信协议
- 在jetson nano系统中,找到串口ACM,发送数值(0-11),即可通过硬件重启12个usb口对应的设备
STM32作为CDC Device接入到USB2.0-HUB的Downsteam 7端口下
-
负载开关部分
位置 字节0 字节1 字节2 字节3 字节4 字节5 字节6 字节7 功能 帧头 读写 指令 示例 0xA5 0x80 读
0x81 写
0x7f 返回 -
电池管理部分
Note
在使用usb的时候,
文件stm32f1xx_hal_pcd.c
函数void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd)
代码段HAL_PCD_SuspendCallback(hpcd);
务必屏蔽,否则导致枚举失败,提示获取设备描述符失败。
EC日志输出口波特率为56000bps
维护指南
- 为提高可移植性、可维护性、可阅读性,开发(应用层)时尽量使用
CMSIS_OS2
的抽象接口,特殊情况时再考虑使用RTOS的原生接口 - 线程任务实例及属性、句柄的声明及定义,独立存放在
App
文件夹 - 线程、定时器、事件标志、互斥锁、信号量、消息队列等功能的初始化统一在
freertos.c
文件中进行初始化(内核启动前的预装载) freertos.c
中的任务实体只保留默认任务即可
勘误
硬件的v1.0以前版本中,SYS_RESET脚和MOD_SLEEP到单片机的实际连接与网络标号是相反的(问题发生在TXB0108PWR芯片附近),故代码中在GPIO处进行了相反的设置。