修复中文注释乱码:22个GBK源文件统一转换为UTF-8,并更新Keil调试配置

This commit is contained in:
2026-09-04 15:03:52 +08:00
parent 8200e7b8aa
commit 41021cf95c
24 changed files with 1058 additions and 1044 deletions
File diff suppressed because it is too large Load Diff
+62 -62
View File
@@ -55,27 +55,27 @@ void vcom_Send( char *format, ... )
va_end(args);
}
// 定义一个函数vcom_Print,用于打印字符串
// 定义一个函数vcom_Print,用于打印字符串
void vcom_Print(uint8_t sLen)
{
// 定义一个字符指针CurChar
// 定义一个字符指针CurChar
char* CurChar;
// 初始化ir
// 初始化ir
ir = 0;
// 当ir小于sLen时,循环执行
// 当ir小于sLen时,循环执行
while(ir < sLen)
{
// 获取字符指针CurChar
// 获取字符指针CurChar
CurChar = &buff[ir++];
// 调用DebugUartSend函数,发送CurChar指向的字符,次数为1
// 调用DebugUartSend函数,发送CurChar指向的字符,次数为1
DebugUartSend((uint8_t*)CurChar, 1);
}
}
// 定义一个函数vcom_Send2,用于发送字符串
// 定义一个函数vcom_Send2,用于发送字符串
void vcom_Send2(uint8_t *sData, uint16_t len)
{
// 遍历sData,将每个元素发送到DebugUartSend
// 遍历sData,将每个元素发送到DebugUartSend
for(int i = 0; i < len; i++) {
DebugUartSend(&sData[i], 1);
}
@@ -90,7 +90,7 @@ void DebugLoopHandler(void)
return;
//for(argv[argc] = strtok(RxBuff, " "); argv[argc] != NULL; argv[++argc] = strtok(NULL, " "));
// 解析字符串,将参数放入argv数组中
// 解析字符串,将参数放入argv数组中
argp = strtok(RxBuff, " ");
for(int i = 0; i < 10; i++) {
if(argp != NULL) {
@@ -103,19 +103,19 @@ void DebugLoopHandler(void)
}
}
// 获取第一个参数,并将其赋值给argp
// 获取第一个参数,并将其赋值给argp
argp = strtok(argv[argc], "'\r'");
// 如果argp不为空,则将argp的值赋值给argv[argc],并将argc加1
// 如果argp不为空,则将argp的值赋值给argv[argc],并将argc加1
if(argp != NULL) {
argv[argc++] = argp;
}
// 否则,将RxLen设置为0,并返回
// 否则,将RxLen设置为0,并返回
else {
RxLen = 0;
return;
}
// 遍历DebugFun数组,查找argv[0]是否与DBGCmd匹配,若匹配则调用DBGExec函数
// 遍历DebugFun数组,查找argv[0]是否与DBGCmd匹配,若匹配则调用DBGExec函数
for(int i = 0; i < DEBUG_CMD_CNT; i++) {
if(strcmp(argv[0], DebugFun[i].DBGCmd) == 0)
DebugFun[i].DBGExec(argc, argv);
@@ -130,54 +130,54 @@ void DebugLoopHandler(void)
uint32_t RxTimeCurrent;
uint32_t RxTimeLast = 0;
// 函数:Dbg1msRoutine
// 功能:1ms调试时钟routine
// 函数:Dbg1msRoutine
// 功能:1ms调试时钟routine
void Dbg1msRoutine(void)
{
// 如果1ms调试时钟计数器大于0
// 如果1ms调试时钟计数器大于0
if(DebugRxTimeOut1mSCnt > 0)
// 1ms调试时钟计数器减1
// 1ms调试时钟计数器减1
DebugRxTimeOut1mSCnt--;
}
// 定义函数DbgUsartRxIrqCallback,用于处理串口接收中断
// 定义函数DbgUsartRxIrqCallback,用于处理串口接收中断
void DbgUsartRxIrqCallback(void)
{
// 如果1分钟超时计数器为0,则清空RxLen
// 如果1分钟超时计数器为0,则清空RxLen
if(DebugRxTimeOut1mSCnt == 0)
RxLen = 0;
// 重置1分钟超时计数器
// 重置1分钟超时计数器
DebugRxTimeOut1mSCnt = 3;
// 读取串口接收到的数据
// 读取串口接收到的数据
uint8_t Data = DbgUartRec();
// 如果RxLen小于128,则将数据添加到RxBuff中
// 如果RxLen小于128,则将数据添加到RxBuff中
if(RxLen < 128) {
RxBuff[RxLen++] = Data;
}
// DBG_LOG("RxBuff = %s\n", RxBuff);
// RS485_Flag=1;//接收标志为置1
// RS485_Flag=1;//接收标志为置1
}
void DebugTest(int argc, char *argv[])
{
// 如果参数个数小于2,则返回
// 如果参数个数小于2,则返回
if(argc < 2)
return;
// 如果参数为“?”,则打印帮助信息
// 如果参数为“?”,则打印帮助信息
if(strcmp(argv[1], "?") == 0)
{
DBG_LOG("Debug Cmd:\r\n\
disp task on/off -->Open the task display.\r\n");
return;
}
// 如果参数为“on”,则打印“Test ON”
// 如果参数为“on”,则打印“Test ON”
if(strcmp(argv[1], "on") == 0)
{
// TestOn();
DBG_LOG("Test ON\r\n");
}
// 如果参数为“off”,则打印“Test OFF”
// 如果参数为“off”,则打印“Test OFF”
else if(strcmp(argv[1], "off") == 0)
{
// TestOFF();
@@ -221,51 +221,51 @@ void DebugCmdHelp(int argc, char *argv[])
}
#if 0
//// 定义一个无参函数DebugReadData,用于读取数据
//// 定义一个无参函数DebugReadData,用于读取数据
//void DebugReadData(int argc, char *argv[])
//{
// // 定义一个无符号32位整数ADReadStart,初始值为0
// // 定义一个无符号32位整数ADReadStart,初始值为0
// uint32_t ADReadStart = 0;
// // 定义一个ADData_t类型的数组ADBuff,大小为640
// // 定义一个ADData_t类型的数组ADBuff,大小为640
// ADData_t ADBuff[640];
//
// // 当ADReadStart小于SDCARD_BLOCK_MAX时,循环执行
// // 当ADReadStart小于SDCARD_BLOCK_MAX时,循环执行
// while(ADReadStart < SDCARD_BLOCK_MAX) {
// // 使用SDCardReadBlocks函数读取数据,从ADReadStart开始,读取10个块,数据存储在ADBuff中
// // 使用SDCardReadBlocks函数读取数据,从ADReadStart开始,读取10个块,数据存储在ADBuff中
// SDCardReadBlocks(ADReadStart, 10, (uint8_t *)ADBuff);
// // 遍历ADBuff数组,将每个元素打印出来
// // 遍历ADBuff数组,将每个元素打印出来
// for(int i = 0; i < 640; i++) {
// DBG_LOG("%d\t%d\t%d\t%d\r\n", ADBuff[i].AD0, ADBuff[i].AD1, ADBuff[i].AD2, ADBuff[i].AD3);
// }
// // ADReadStart加10
// // ADReadStart加10
// ADReadStart += 10;
// }
//}
//// 定义一个函数SetTime,参数为int argc和char *argv[]
//// 定义一个函数SetTime,参数为int argc和char *argv[]
//void SetTime(int argc, char *argv[])
//{
// // 定义一个字符数组test,并初始化为0
// // 定义一个字符数组test,并初始化为0
// char test[10] = 0;
// // 定义一个整数num,并初始化为0
// // 定义一个整数num,并初始化为0
// int num = 0;
// // 如果argc小于2,则返回
// // 如果argc小于2,则返回
// if(argc < 2)
// return;
// // 如果argv[1]等于"?",则打印提示信息
// // 如果argv[1]等于"?",则打印提示信息
// if(strcmp(argv[1], "?") == 0)
// {
// DBG_LOG("SetTime Cmd:\r\n\
// disp task on/off -->Open the task display.\r\n");
// return;
// }
// // 将argv[1]的值复制到test
// // 将argv[1]的值复制到test
// memcpy(test, (char *)argv[1], 10);
// // 将test转换为整数
// // 将test转换为整数
// num = atoi(test);
// // 调用TimeSync函数,并将num作为参数传入
// // 调用TimeSync函数,并将num作为参数传入
// TimeSync(num);
//}
#endif
@@ -274,24 +274,24 @@ extern uint8_t KeyBSta;
extern uint8_t RunSta;
void MotorSwitch(int argc, char *argv[])
{
// 如果参数个数小于2,则返回
// 如果参数个数小于2,则返回
if(argc < 2)
return;
// 如果第一个参数为?,则打印帮助信息
// 如果第一个参数为?,则打印帮助信息
if(strcmp(argv[1], "?") == 0)
{
DBG_LOG("DCMotor Cmd:\r\n\
motor F/R/S -->Turn the motor on or off.\r\n");
return;
}
// 如果第一个参数为on,则开启SonarWork
// 如果第一个参数为on,则开启SonarWork
if(strcmp(argv[1], "R") == 0)
{
KeyASta = true;
Motor_Control(MOTOR_CMD_REVERSE);
DBG_LOG("Motor FORWARD\r\n");
}
// 如果第一个参数为off,则关闭SonarWork
// 如果第一个参数为off,则关闭SonarWork
else if(strcmp(argv[1], "F") == 0)
{
KeyBSta = true;
@@ -309,56 +309,56 @@ void MotorSwitch(int argc, char *argv[])
extern void GradeControl(ControlLevel_m level);
void LevelSwitch(int argc, char *argv[])
{
// 如果参数个数小于2,则返回
// 如果参数个数小于2,则返回
if(argc < 2)
return;
// 如果参数为“?”,则打印帮助信息
// 如果参数为“?”,则打印帮助信息
if(strcmp(argv[1], "?") == 0)
{
DBG_LOG("level Cmd:\r\n\
level 1/2/3/4/5 -->Select control level.\r\n");
return;
}
// 如果参数为“1”,则打印“Set control level: 1”
// 如果参数为“1”,则打印“Set control level: 1”
if(strcmp(argv[1], "1") == 0)
{
App.Para.Layout.ControlLevel = LEVEL_1;//等级1
App.Para.Layout.ControlLevel = LEVEL_1;//等级1
SAVE_APP_PARA((uint32_t *)&App.Para);
DBG_LOG("Set control level: 1\r\n");
DBG_LOG("SystemReset...\r\n");
NVIC_SystemReset();
}
// 如果参数为“2”,则打印“Set control level: 2”
// 如果参数为“2”,则打印“Set control level: 2”
else if(strcmp(argv[1], "2") == 0)
{
App.Para.Layout.ControlLevel = LEVEL_2;//等级2
App.Para.Layout.ControlLevel = LEVEL_2;//等级2
SAVE_APP_PARA((uint32_t *)&App.Para);
DBG_LOG("Set control level: 2\r\n");
DBG_LOG("SystemReset...\r\n");
NVIC_SystemReset();
}
// 如果参数为“3”,则打印“Set control level: 1”
// 如果参数为“3”,则打印“Set control level: 1”
else if(strcmp(argv[1], "3") == 0)
{
App.Para.Layout.ControlLevel = LEVEL_3;//等级3
App.Para.Layout.ControlLevel = LEVEL_3;//等级3
SAVE_APP_PARA((uint32_t *)&App.Para);
DBG_LOG("Set control level: 3\r\n");
DBG_LOG("SystemReset...\r\n");
NVIC_SystemReset();
}
// 如果参数为“4”,则打印“Set control level: 4”
// 如果参数为“4”,则打印“Set control level: 4”
else if(strcmp(argv[1], "4") == 0)
{
App.Para.Layout.ControlLevel = LEVEL_4;//等级4
App.Para.Layout.ControlLevel = LEVEL_4;//等级4
SAVE_APP_PARA((uint32_t *)&App.Para);
DBG_LOG("Set control level: 4\r\n");
DBG_LOG("SystemReset...\r\n");
NVIC_SystemReset();
}
// 如果参数为“5”,则打印“Set control level: 5”
// 如果参数为“5”,则打印“Set control level: 5”
else if(strcmp(argv[1], "5") == 0)
{
App.Para.Layout.ControlLevel = LEVEL_5;//等级5
App.Para.Layout.ControlLevel = LEVEL_5;//等级5
SAVE_APP_PARA((uint32_t *)&App.Para);
DBG_LOG("Set control level: 5\r\n");
DBG_LOG("SystemReset...\r\n");
@@ -368,24 +368,24 @@ void LevelSwitch(int argc, char *argv[])
void DBGWave_on_off(int argc, char *argv[])
{
// 如果参数个数小于2,则返回
// 如果参数个数小于2,则返回
if(argc < 2)
return;
// 如果参数为“?”,则打印帮助信息
// 如果参数为“?”,则打印帮助信息
if(strcmp(argv[1], "?") == 0)
{
DBG_LOG("wave Cmd:\r\n\
wave on/off -->Turn on or off waveform output.\r\n");
return;
}
// 如果参数为“on”,则打印“Test ON”
// 如果参数为“on”,则打印“Test ON”
if(strcmp(argv[1], "on") == 0)
{
App.Para.Layout.DBGWaveOut = true;
SAVE_APP_PARA((uint32_t *)&App.Para);
DBG_LOG("Waveform output on.\r\n");
}
// 如果参数为“off”,则打印“Test OFF”
// 如果参数为“off”,则打印“Test OFF”
else if(strcmp(argv[1], "off") == 0)
{
App.Para.Layout.DBGWaveOut = false;
@@ -1,6 +1,6 @@
#include "Encryption.h"
//从机加密表
//从机加密表
const unsigned char EPT_Table[32][6] = {
{1, 6, 4, 2, 3, 5}, {2, 4, 6, 3, 5, 1}, {3, 5, 6, 2, 1, 4}, {5, 3, 2, 1, 4, 6},
{4, 2, 3, 1, 5, 6}, {6, 3, 5, 1, 4, 2}, {3, 5, 2, 6, 4, 1}, {2, 5, 4, 3, 1, 6},
@@ -12,7 +12,7 @@ const unsigned char EPT_Table[32][6] = {
{3, 6, 5, 4, 2, 1}, {1, 2, 6, 3, 5, 4}, {4, 6, 5, 3, 2, 1}, {5, 3, 4, 2, 6, 1}
};
//从机解密表:
//从机解密表:
const unsigned char DPT_Table[32][5] ={
{1, 4, 2, 3, 5}, {2, 4, 3, 5, 1}, {3, 5, 2, 1, 4}, {5, 3, 2, 1, 4},
{4, 2, 3, 1, 5}, {3, 5, 1, 4, 2}, {3, 5, 2, 4, 1}, {2, 5, 4, 3, 1},
@@ -24,7 +24,7 @@ const unsigned char DPT_Table[32][5] ={
{3, 5, 4, 2, 1}, {1, 2, 3, 5, 4}, {4, 5, 3, 2, 1}, {5, 3, 4, 2, 1}
};
//数据位加密表:
//数据位加密表:
const unsigned char EPT_D[32] = {
0x23, 0x4c, 0x92, 0x38, 0x52, 0xa4, 0x9a, 0x61,
0x86, 0xc8, 0x70, 0x16, 0x32, 0x58, 0x62, 0x83,
@@ -33,11 +33,11 @@ const unsigned char EPT_D[32] = {
};
/****************************************************************/
/* 加密函数 */
/* 加密函数 */
/* */
/*函数入口: *data,未加密的普通协议数据 */
/*函数入口: *data,未加密的普通协议数据 */
/* */
/*函数出口: *EPT_data,生成的加密协议 */
/*函数出口: *EPT_data,生成的加密协议 */
/****************************************************************/
void Encrypt_Code(unsigned char *data, unsigned char *EPT_data) {
unsigned char Edata[6];
@@ -60,11 +60,11 @@ void Encrypt_Code(unsigned char *data, unsigned char *EPT_data) {
}
/****************************************************************/
/* 解密函数 */
/* 解密函数 */
/* */
/*函数入口: *EPT_data,需要解密的加密协议 */
/*函数入口: *EPT_data,需要解密的加密协议 */
/* */
/*函数出口: *DPT_data,生成的普通协议 */
/*函数出口: *DPT_data,生成的普通协议 */
/****************************************************************/
void Decrypt_Code(unsigned char *EPT_data,unsigned char *DPT_data) {
unsigned char data[5];
+106 -106
View File
@@ -133,10 +133,10 @@ void FeedDog(void)
}
/*****************************************************************************************
* 函数名称: Xtal32_ClockConfig
* 功能描述: 外部低速时钟配置
* 参 数: 无
* 返 回 值: 无
* 函数名称: Xtal32_ClockConfig
* 功能描述: 外部低速时钟配置
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
static void Xtal32_ClockConfig(void)
{
@@ -166,10 +166,10 @@ void delay_5ns(uint32_t ns)
}
#if(USE_RS485 == 1)
/*****************************************************************************************
* 函数名称: RS485Uart_Config
* 功能描述: RS485串口初始化
* 参 数: BaudRate 波特率
* 返 回 值: 无
* 函数名称: RS485Uart_Config
* 功能描述: RS485串口初始化
* 参 数: BaudRate 波特率
* 返 回 值: 无
*****************************************************************************************/
static void RS485Uart_Config(uint32_t BaudRate)
{
@@ -507,11 +507,11 @@ static void GPIO_Config(void)
MEM_ZERO_STRUCT(stcPortInit);
/********************************** GPIO输出 ****************************************/
/********************************** GPIO输出 ****************************************/
stcPortInit.enPinMode = Pin_Mode_Out;
stcPortInit.enPinOType = Pin_OType_Cmos;
stcPortInit.enPinDrv = Pin_Drv_H;
stcPortInit.enPullUp = Disable;//无上拉
stcPortInit.enPullUp = Disable;//无上拉
PORT_Init(LEFTUP_CS1237_SCLK_PORTx, LEFTUP_CS1237_SCLK_PINx, &stcPortInit);
PORT_Init(LEFTLOW_CS1237_SCLK_PORTx, LEFTLOW_CS1237_SCLK_PINx, &stcPortInit);
@@ -523,20 +523,20 @@ static void GPIO_Config(void)
LED_GREEN_OFF();
LED_RED_OFF();
stcPortInit.enPullUp = Enable;//上拉
stcPortInit.enPullUp = Enable;//上拉
}
void Bit0AndBit1_OUT(void)
{
stc_port_init_t stcPortInit;
MEM_ZERO_STRUCT(stcPortInit);
/********************************** GPIO输出 ****************************************/
/********************************** GPIO输出 ****************************************/
stcPortInit.enPinMode = Pin_Mode_Out;
stcPortInit.enPinOType = Pin_OType_Cmos;
stcPortInit.enPinDrv = Pin_Drv_H;
stcPortInit.enPullUp = Disable;//无上拉
stcPortInit.enPullUp = Disable;//无上拉
stcPortInit.enPullUp = Enable;//上拉
stcPortInit.enPullUp = Enable;//上拉
PORT_Init(TWIN_BIT0_PORTx, TWIN_BIT0_PINx, &stcPortInit);
PORT_Init(TWIN_BIT1_PORTx, TWIN_BIT1_PINx, &stcPortInit);
SET_TWIN_BIT0();
@@ -547,14 +547,14 @@ void Bit0AndBit1_IN(void)
stc_port_init_t stcPortInit;
MEM_ZERO_STRUCT(stcPortInit);
/********************************** GPIO输入 ****************************************/
/********************************** GPIO输入 ****************************************/
stcPortInit.enPinMode = Pin_Mode_In;
stcPortInit.enPullUp = Disable;//无上拉
stcPortInit.enPullUp = Disable;//无上拉
PORT_Init(TWIN_BIT0_PORTx, TWIN_BIT0_PINx, &stcPortInit);
PORT_Init(TWIN_BIT1_PORTx, TWIN_BIT1_PINx, &stcPortInit);
}
/*********************************左上传感器
/*********************************左上传感器
*******************************************************************************
** \brief ExtInt00 callback function
**
@@ -626,7 +626,7 @@ void ExtInt10IntDisable(void)
/* Disable NVIC */
NVIC_DisableIRQ(LEFTUP_CS1237_IRQn);
}
/*******************************左下传感器
/*******************************左下传感器
*******************************************************************************
** \brief ExtInt01 callback function
**
@@ -698,7 +698,7 @@ void ExtInt01IntDisable(void)
/* Disable NVIC */
NVIC_DisableIRQ(LEFTLOW_CS1237_IRQn);
}
/*******************************右上传感器
/*******************************右上传感器
*******************************************************************************
** \brief ExtInt04 callback function
**
@@ -770,7 +770,7 @@ void ExtInt04IntDisable(void)
/* Disable NVIC */
NVIC_DisableIRQ(RIGHTUP_CS1237_IRQn);
}
/*******************************右下传感器
/*******************************右下传感器
*******************************************************************************
** \brief ExtInt04 callback function
**
@@ -1039,12 +1039,12 @@ uint16_t Spi3SendReceive(uint8_t sData)
/**
******************************************************************************
** \brief SPI 读/写一字节函数
** \brief SPI 读/写一字节函数
**
** \param [in] SPIx 通道选择
** \param [in] u8Data 发送一字节数据
** \param [in] SPIx 通道选择
** \param [in] u8Data 发送一字节数据
**
** \retval 接收一字节数据
** \retval 接收一字节数据
**
******************************************************************************/
uint8_t Spi3_RWByte(M4_SPI_TypeDef *SPIx, uint8_t u8Data)
@@ -1070,10 +1070,10 @@ uint8_t Spi3_RWByte(M4_SPI_TypeDef *SPIx, uint8_t u8Data)
#if(USE_RTC == 1)
/*****************************************************************************************
* 函数名称: Rtc_Config
* 功能描述: RTC配置
* 参 数: 无
* 返 回 值: 无
* 函数名称: Rtc_Config
* 功能描述: RTC配置
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
static void Rtc_Config(void)
{
@@ -1116,10 +1116,10 @@ static void Rtc_Config(void)
}
/*****************************************************************************************
* 函数名称: TimeGet
* 功能描述: 获取系统时间
* 参 数: tm 读取时间入口
* 返 回 值: 无
* 函数名称: TimeGet
* 功能描述: 获取系统时间
* 参 数: tm 读取时间入口
* 返 回 值: 无
*****************************************************************************************/
void TimeGet(struct tm *cTime)
{
@@ -1136,10 +1136,10 @@ void TimeGet(struct tm *cTime)
}
/*****************************************************************************************
* 函数名称: TimeTs
* 功能描述: 系统时间转换时间戳
* 参 数: 无
* 返 回 值: 返回时间戳
* 函数名称: TimeTs
* 功能描述: 系统时间转换时间戳
* 参 数: 无
* 返 回 值: 返回时间戳
*****************************************************************************************/
int TimeTs(void)
{
@@ -1152,10 +1152,10 @@ int TimeTs(void)
}
/*****************************************************************************************
* 函数名称: TimeShow
* 功能描述: 将时间输出到DBG串口
* 参 数: 无
* 返 回 值: 无
* 函数名称: TimeShow
* 功能描述: 将时间输出到DBG串口
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
void TimeShow(uint32_t dwStamp)
{
@@ -1170,10 +1170,10 @@ void TimeShow(uint32_t dwStamp)
}
/*****************************************************************************************
* 函数名称: TimeSync
* 功能描述: 通过时间戳同步
* 参 数: ts 时间入口
* 返 回 值: 无
* 函数名称: TimeSync
* 功能描述: 通过时间戳同步
* 参 数: ts 时间入口
* 返 回 值: 无
*****************************************************************************************/
void TimeSync(time_t ts)
{
@@ -1200,10 +1200,10 @@ void TimeSync(time_t ts)
#endif
#if(USE_AD == 1)
/*****************************************************************************************
* 函数名称: AdcInitConfig
* 功能描述: ADC初始化配置
* 参 数: 无
* 返 回 值: 无
* 函数名称: AdcInitConfig
* 功能描述: ADC初始化配置
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
static void AdcInitConfig(void)
{
@@ -1223,10 +1223,10 @@ static void AdcInitConfig(void)
}
/*****************************************************************************************
* 函数名称: AdcSetChannelPinMode
* 功能描述: ADC通道引脚配置
* 参 数: 无
* 返 回 值: 无
* 函数名称: AdcSetChannelPinMode
* 功能描述: ADC通道引脚配置
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
static void AdcSetChannelPinMode(uint32_t u32Channel)
{
@@ -1262,10 +1262,10 @@ static void AdcSetChannelPinMode(uint32_t u32Channel)
}
/*****************************************************************************************
* 函数名称: AdcChannelConfig
* 功能描述: ADC通道配置
* 参 数: 无
* 返 回 值: 无
* 函数名称: AdcChannelConfig
* 功能描述: ADC通道配置
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
static void AdcChannelConfig(void)
{
@@ -1286,17 +1286,17 @@ static void AdcChannelConfig(void)
ADC_AddAdcChannel(M4_ADC1, &stcChCfg);
/* 3. Configure the average channel if you need. */
ADC_ConfigAvg(M4_ADC1, AdcAvcnt_2); //平均通道配置,多次采样后输出平均值
ADC_ConfigAvg(M4_ADC1, AdcAvcnt_2); //平均通道配置,多次采样后输出平均值
/* 4. Add average channel if you need. */
ADC_AddAvgChannel(M4_ADC1, stcChCfg.u32Channel);
}
/*****************************************************************************************
* 函数名称: Adc1_Config
* 功能描述: ADC1配置
* 参 数: 无
* 返 回 值: 无
* 函数名称: Adc1_Config
* 功能描述: ADC1配置
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
static void Adc1_Config(void)
{
@@ -1306,10 +1306,10 @@ static void Adc1_Config(void)
}
/*****************************************************************************************
* 函数名称: AdcDmaConfig
* 功能描述: ADC DMA配置
* 参 数: 无
* 返 回 值: 无
* 函数名称: AdcDmaConfig
* 功能描述: ADC DMA配置
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
static void AdcDmaConfig(void)
{
@@ -1353,11 +1353,11 @@ static void AdcDmaConfig(void)
#endif
#if(USE_DMA == 1)
/*****************************************************************************************
* 函数名称: DmaIrqRegister
* 功能描述: DMA中断寄存器配置
* 参 数: pstcCfg 中断参数
u32Priority 中断优先级
* 返 回 值: 无
* 函数名称: DmaIrqRegister
* 功能描述: DMA中断寄存器配置
* 参 数: pstcCfg 中断参数
u32Priority 中断优先级
* 返 回 值: 无
*****************************************************************************************/
static void DmaIrqRegister(stc_irq_regi_conf_t *pstcCfg, uint32_t u32Priority)
{
@@ -1379,10 +1379,10 @@ static void DmaIrqRegister(stc_irq_regi_conf_t *pstcCfg, uint32_t u32Priority)
}
/*****************************************************************************************
* 函数名称: DmaIrqRegister
* 功能描述: DMA中断配置
* 参 数: 无
* 返 回 值: 无
* 函数名称: DmaIrqRegister
* 功能描述: DMA中断配置
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
static void DmaIrqConfig(void)
{
@@ -1396,10 +1396,10 @@ static void DmaIrqConfig(void)
}
/*****************************************************************************************
* 函数名称: DmaIrqRegister
* 功能描述: DMA配置
* 参 数: 无
* 返 回 值: 无
* 函数名称: DmaIrqRegister
* 功能描述: DMA配置
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
static void Dma_Config(void)
{
@@ -1408,10 +1408,10 @@ static void Dma_Config(void)
}
#endif
/*****************************************************************************************
* 函数名称: ReadAdcValue
* 功能描述: 读取AD值
* 参 数: 无
* 返 回 值: AD值
* 函数名称: ReadAdcValue
* 功能描述: 读取AD值
* 参 数: 无
* 返 回 值: AD值
*****************************************************************************************/
uint16_t *GetADCBuffPoint(void)
{
@@ -1419,10 +1419,10 @@ uint16_t *GetADCBuffPoint(void)
}
/*****************************************************************************************
* 函数名称: ADC_Start
* 功能描述: 启动ADC转换
* 参 数: 无
* 返 回 值: AD值
* 函数名称: ADC_Start
* 功能描述: 启动ADC转换
* 参 数: 无
* 返 回 值: AD值
*****************************************************************************************/
void ADC_Start(void)
{
@@ -1434,10 +1434,10 @@ void ADC_Stop(void)
ADC_StopConvert(M4_ADC1);
}
/*****************************************************************************************
* 函数名称: ReadAdcValue
* 功能描述: 读取AD值
* 参 数: 无
* 返 回 值: AD值
* 函数名称: ReadAdcValue
* 功能描述: 读取AD值
* 参 数: 无
* 返 回 值: AD值
*****************************************************************************************/
void ReadAdcValue(uint16_t *ADValue)
{
@@ -1483,10 +1483,10 @@ void BSP_Init(void)
}
/*****************************************************************************************
* 函数名称: EnterStop
* 功能描述: 进入低功耗状态
* 参 数: SleepStatus 设备低功耗状态
* 返 回 值: 无
* 函数名称: EnterStop
* 功能描述: 进入低功耗状态
* 参 数: SleepStatus 设备低功耗状态
* 返 回 值: 无
*****************************************************************************************/
void EnterStop(void)
{
@@ -1526,10 +1526,10 @@ void EnterStop(void)
extern uint8_t BDRxData[256];
/*****************************************************************************************
* 函数名称: Wakeup
* 功能描述: 设备唤醒
* 参 数: 无
* 返 回 值: 无
* 函数名称: Wakeup
* 功能描述: 设备唤醒
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
void Wakeup(void)
{
@@ -1629,10 +1629,10 @@ __WEAK void Usart3_RxPinIntCallBack(void)
}
#endif
/*****************************************************************************************
* 函数名称: RtcPeriod_IrqCallback
* 功能描述: RTC中断回调
* 参 数: 无
* 返 回 值: 无
* 函数名称: RtcPeriod_IrqCallback
* 功能描述: RTC中断回调
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
__WEAK void RtcPeriod_IrqCallback(void)
{
@@ -1640,10 +1640,10 @@ __WEAK void RtcPeriod_IrqCallback(void)
}
/*****************************************************************************************
* 函数名称: Dma1Btc0_IrqHandler
* 功能描述: DMA中断外部重定向回调函数
* 参 数: 无
* 返 回 值: 无
* 函数名称: Dma1Btc0_IrqHandler
* 功能描述: DMA中断外部重定向回调函数
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
extern void ADC_DMA_CallBack(void);
//int test = 0;
+51 -51
View File
@@ -15,8 +15,8 @@
#define MAIN_DBG_LOG(...) DBG_LOG(__VA_ARGS__)
#define MAIN_DBG_ARRAY(ARRAY, SIZE) DBG_ARRAY(ARRAY,SIZE)
#define SOFTWARE_VERSION 11 //软件版本
#define HARDWARE_VERSION 20 //硬件版本
#define SOFTWARE_VERSION 11 //软件版本
#define HARDWARE_VERSION 20 //硬件版本
AppDetect_t App;
@@ -290,25 +290,25 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
App.LeftRunFalg = false;
App.RightRunFalg = false;
App.CentreRunFalg = false;
if(((lu_ad[0] < App.ADTrack.LeftUp_Org_AdZero-CENTRE_VPT)//判断中间操作
if(((lu_ad[0] < App.ADTrack.LeftUp_Org_AdZero-CENTRE_VPT)//判断中间操作
&& (ru_ad[0] < App.ADTrack.RightUp_Org_AdZero-CENTRE_VPT)
&& (lu_ad[1] < App.ADTrack.LeftUp_Org_AdZero-CENTRE_VPT)
&& (ru_ad[1] < App.ADTrack.RightUp_Org_AdZero-CENTRE_VPT)
&& (lu_ad[2] < App.ADTrack.LeftUp_Org_AdZero-CENTRE_VPT)
&& (ru_ad[2] < App.ADTrack.RightUp_Org_AdZero-CENTRE_VPT)
&& (ll_ad[0] > App.ADTrack.LeftLow_Org_AdZero+CENTRE_VPT)//判断中间操作
&& (ll_ad[0] > App.ADTrack.LeftLow_Org_AdZero+CENTRE_VPT)//判断中间操作
&& (rl_ad[0] > App.ADTrack.RightLow_Org_AdZero+CENTRE_VPT)
&& (ll_ad[1] > App.ADTrack.LeftLow_Org_AdZero+CENTRE_VPT)
&& (rl_ad[1] > App.ADTrack.RightLow_Org_AdZero+CENTRE_VPT)
&& (ll_ad[2] > App.ADTrack.LeftLow_Org_AdZero+CENTRE_VPT)
&& (rl_ad[2] > App.ADTrack.RightLow_Org_AdZero+CENTRE_VPT))
|| ((lu_ad[0] > App.ADTrack.LeftUp_Org_AdZero+CENTRE_VPT)//判断中间操作
|| ((lu_ad[0] > App.ADTrack.LeftUp_Org_AdZero+CENTRE_VPT)//判断中间操作
&& (ru_ad[0] > App.ADTrack.RightUp_Org_AdZero+CENTRE_VPT)
&& (lu_ad[1] > App.ADTrack.LeftUp_Org_AdZero+CENTRE_VPT)
&& (ru_ad[1] > App.ADTrack.RightUp_Org_AdZero+CENTRE_VPT)
&& (lu_ad[2] > App.ADTrack.LeftUp_Org_AdZero+CENTRE_VPT)
&& (ru_ad[2] > App.ADTrack.RightUp_Org_AdZero+CENTRE_VPT)
&& (ll_ad[0] < App.ADTrack.LeftLow_Org_AdZero-CENTRE_VPT)//判断中间操作
&& (ll_ad[0] < App.ADTrack.LeftLow_Org_AdZero-CENTRE_VPT)//判断中间操作
&& (rl_ad[0] < App.ADTrack.RightLow_Org_AdZero-CENTRE_VPT)
&& (ll_ad[1] < App.ADTrack.LeftLow_Org_AdZero-CENTRE_VPT)
&& (rl_ad[1] < App.ADTrack.RightLow_Org_AdZero-CENTRE_VPT)
@@ -318,10 +318,10 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
{
App.CentreRunFalg = true;
App.CentCollDelay1mSCnt = CENT_TIME_MS;
if(LeftDiff > RightDiff)//判断偏左
if(LeftDiff > RightDiff)//判断偏左
{
App.LeftRunFalg = true;
if(((Olu_diff1+Oru_diff1) > (App.ADTrack.Stop_VPT))//判断上拉
if(((Olu_diff1+Oru_diff1) > (App.ADTrack.Stop_VPT))//判断上拉
&& ((Olu_diff2+Oru_diff2) > (App.ADTrack.Stop_VPT))
&& ((Olu_diff3+Oru_diff3) > (App.ADTrack.Stop_VPT))
&& ((Oll_diff1+Orl_diff1) < -(App.ADTrack.Stop_VPT))
@@ -329,7 +329,7 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
&& ((Oll_diff3+Orl_diff3) < -(App.ADTrack.Stop_VPT))
)
{
// if(App.CaliZeroFlag == true)//判断是否校零
// if(App.CaliZeroFlag == true)//判断是否校零
{
if(App.MotorPara.Current_height < 1195)
{
@@ -343,7 +343,7 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
}
}
}
else if(((Olu_diff1+Oru_diff1) < -(App.ADTrack.Stop_VPT))//判断下拉
else if(((Olu_diff1+Oru_diff1) < -(App.ADTrack.Stop_VPT))//判断下拉
&& ((Olu_diff2+Oru_diff2) < -(App.ADTrack.Stop_VPT))
&& ((Olu_diff3+Oru_diff3) < -(App.ADTrack.Stop_VPT))
&& ((Oll_diff1+Orl_diff1) > (App.ADTrack.Stop_VPT))
@@ -351,7 +351,7 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
&& ((Oll_diff3+Orl_diff3) > (App.ADTrack.Stop_VPT))
)
{
// if(App.CaliZeroFlag == true)//判断是否校零
// if(App.CaliZeroFlag == true)//判断是否校零
{
if(App.MotorPara.Current_height > 725)
{
@@ -366,10 +366,10 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
}
}
}
else if(RightDiff > LeftDiff)//判断偏右
else if(RightDiff > LeftDiff)//判断偏右
{
App.RightRunFalg = true;
if(((Olu_diff1+Oru_diff1) > (App.ADTrack.Stop_VPT))//判断上拉
if(((Olu_diff1+Oru_diff1) > (App.ADTrack.Stop_VPT))//判断上拉
&& ((Olu_diff2+Oru_diff2) > (App.ADTrack.Stop_VPT))
&& ((Olu_diff3+Oru_diff3) > (App.ADTrack.Stop_VPT))
&& ((Oll_diff1+Orl_diff1) < -(App.ADTrack.Stop_VPT))
@@ -377,7 +377,7 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
&& ((Oll_diff3+Orl_diff3) < -(App.ADTrack.Stop_VPT))
)
{
// if(App.CaliZeroFlag == true)//判断是否校零
// if(App.CaliZeroFlag == true)//判断是否校零
{
if(App.MotorPara.Current_height < 1195)
{
@@ -391,7 +391,7 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
}
}
}
else if(((Olu_diff1+Oru_diff1) < -(App.ADTrack.Stop_VPT))//判断下拉
else if(((Olu_diff1+Oru_diff1) < -(App.ADTrack.Stop_VPT))//判断下拉
&& ((Olu_diff2+Oru_diff2) < -(App.ADTrack.Stop_VPT))
&& ((Olu_diff3+Oru_diff3) < -(App.ADTrack.Stop_VPT))
&& ((Oll_diff1+Orl_diff1) > (App.ADTrack.Stop_VPT))
@@ -399,7 +399,7 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
&& ((Oll_diff3+Orl_diff3) > (App.ADTrack.Stop_VPT))
)
{
// if(App.CaliZeroFlag == true)//判断是否校零
// if(App.CaliZeroFlag == true)//判断是否校零
{
if(App.MotorPara.Current_height > 725)
{
@@ -415,17 +415,17 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
}
}
}
else if((LeftSlopeSum > RightSlopeSum && LeftDiffSum > RightDiffSum && App.CentCollDelay1mSCnt <= 0))//判断左边操作
else if((LeftSlopeSum > RightSlopeSum && LeftDiffSum > RightDiffSum && App.CentCollDelay1mSCnt <= 0))//判断左边操作
{
App.LeftRunFalg = true;
if((Olu_diff1 >= (App.ADTrack.LeftUpVPT*5/6)) //通过差值判断上下拉方向
if((Olu_diff1 >= (App.ADTrack.LeftUpVPT*5/6)) //通过差值判断上下拉方向
&& (Olu_diff2 >= (App.ADTrack.LeftUpVPT*5/6))
&& (Olu_diff3 >= (App.ADTrack.LeftUpVPT*5/6))
&& (Oll_diff1 <= -(App.ADTrack.LeftLowVPT*5/6))
&& (Oll_diff2 <= -(App.ADTrack.LeftLowVPT*5/6))
&& (Oll_diff3 <= -(App.ADTrack.LeftLowVPT*5/6)))
{
if(((App.LeftUpCS1237_SlopeArray[0] <= -PRESS_VPT)//判断是否不是正面压
if(((App.LeftUpCS1237_SlopeArray[0] <= -PRESS_VPT)//判断是否不是正面压
&& (App.LeftUpCS1237_SlopeArray[1] <= -PRESS_VPT)
&& (App.LeftUpCS1237_SlopeArray[2] <= -PRESS_VPT)
&& (App.LeftLowCS1237_SlopeArray[0] >= PRESS_VPT)
@@ -433,9 +433,9 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
&& (App.LeftLowCS1237_SlopeArray[2] >= PRESS_VPT))
)
{
// if(App.CaliZeroFlag == true)//判断是否校零
// if(App.CaliZeroFlag == true)//判断是否校零
{
if((abs(Olu_diff1) > abs(Oru_diff1) * SHIELD_VPT)//判断是否不是侧面推拉
if((abs(Olu_diff1) > abs(Oru_diff1) * SHIELD_VPT)//判断是否不是侧面推拉
&& (abs(Olu_diff2) > abs(Oru_diff2) * SHIELD_VPT)
&& (abs(Olu_diff3) > abs(Oru_diff3) * SHIELD_VPT)
&& (abs(Oll_diff1) > abs(Orl_diff1) * SHIELD_VPT)
@@ -457,7 +457,7 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
}
}
}
else if(((Olu_diff1 <= -(App.ADTrack.LeftUpVPT*5/6))//通过差值判断上下拉方向
else if(((Olu_diff1 <= -(App.ADTrack.LeftUpVPT*5/6))//通过差值判断上下拉方向
&& (Olu_diff2 <= -(App.ADTrack.LeftUpVPT*5/6))
&& (Olu_diff3 <= -(App.ADTrack.LeftUpVPT*5/6))
&& (Oll_diff1 >= (App.ADTrack.LeftLowVPT*5/6))
@@ -465,7 +465,7 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
&& (Oll_diff3 >= (App.ADTrack.LeftLowVPT*5/6)))
)
{
if(((App.LeftUpCS1237_SlopeArray[0] >= PRESS_VPT) //判断是否不是正面压
if(((App.LeftUpCS1237_SlopeArray[0] >= PRESS_VPT) //判断是否不是正面压
&& (App.LeftUpCS1237_SlopeArray[1] >= PRESS_VPT)
&& (App.LeftUpCS1237_SlopeArray[2] >= PRESS_VPT)
&& (App.LeftLowCS1237_SlopeArray[0] <= -PRESS_VPT)
@@ -473,9 +473,9 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
&& (App.LeftLowCS1237_SlopeArray[2] <= -PRESS_VPT))
)
{
// if(App.CaliZeroFlag == true)//判断是否校零
// if(App.CaliZeroFlag == true)//判断是否校零
{
if((abs(Olu_diff1) > abs(Oru_diff1) * SHIELD_VPT)//判断是否不是侧面推拉
if((abs(Olu_diff1) > abs(Oru_diff1) * SHIELD_VPT)//判断是否不是侧面推拉
&& (abs(Olu_diff2) > abs(Oru_diff2) * SHIELD_VPT)
&& (abs(Olu_diff3) > abs(Oru_diff3) * SHIELD_VPT)
&& (abs(Oll_diff1) > abs(Orl_diff1) * SHIELD_VPT)
@@ -498,17 +498,17 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
}
}
}
else if(LeftSlopeSum < RightSlopeSum && LeftDiffSum < RightDiffSum && App.CentCollDelay1mSCnt <= 0)//判断右边操作
else if(LeftSlopeSum < RightSlopeSum && LeftDiffSum < RightDiffSum && App.CentCollDelay1mSCnt <= 0)//判断右边操作
{
App.RightRunFalg = true;
if((Oru_diff1 >= (App.ADTrack.RightUpVPT*5/6)) //通过差值判断上下拉方向
if((Oru_diff1 >= (App.ADTrack.RightUpVPT*5/6)) //通过差值判断上下拉方向
&& (Oru_diff2 >= (App.ADTrack.RightUpVPT*5/6))
&& (Oru_diff3 >= (App.ADTrack.RightUpVPT*5/6))
&& (Orl_diff1 <= -(App.ADTrack.RightLowVPT*5/6))
&& (Orl_diff2 <= -(App.ADTrack.RightLowVPT*5/6))
&& (Orl_diff3 <= -(App.ADTrack.RightLowVPT*5/6)))
{
if(((App.RightUpCS1237_SlopeArray[0] <= -PRESS_VPT) //判断是否不是正面压
if(((App.RightUpCS1237_SlopeArray[0] <= -PRESS_VPT) //判断是否不是正面压
&& (App.RightUpCS1237_SlopeArray[1] <= -PRESS_VPT)
&& (App.RightUpCS1237_SlopeArray[2] <= -PRESS_VPT)
&& (App.RightLowCS1237_SlopeArray[0] >= PRESS_VPT)
@@ -516,9 +516,9 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
&& (App.RightLowCS1237_SlopeArray[2] >= PRESS_VPT))
)
{
// if(App.CaliZeroFlag == true)//判断是否校零
// if(App.CaliZeroFlag == true)//判断是否校零
{
if((abs(Oru_diff1) > abs(Olu_diff1) * SHIELD_VPT)//判断是否不是侧面推拉
if((abs(Oru_diff1) > abs(Olu_diff1) * SHIELD_VPT)//判断是否不是侧面推拉
&& (abs(Oru_diff2) > abs(Olu_diff2) * SHIELD_VPT)
&& (abs(Oru_diff3) > abs(Olu_diff3) * SHIELD_VPT)
&& (abs(Orl_diff1) > abs(Oll_diff1) * SHIELD_VPT)
@@ -540,14 +540,14 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
}
}
}
else if((Oru_diff1 <= -(App.ADTrack.RightUpVPT*5/6)) //通过差值判断上下拉方向
else if((Oru_diff1 <= -(App.ADTrack.RightUpVPT*5/6)) //通过差值判断上下拉方向
&& (Oru_diff2 <= -(App.ADTrack.RightUpVPT*5/6))
&& (Oru_diff3 <= -(App.ADTrack.RightUpVPT*5/6))
&& (Orl_diff1 >= (App.ADTrack.RightLowVPT*5/6))
&& (Orl_diff2 >= (App.ADTrack.RightLowVPT*5/6))
&& (Orl_diff3 >= (App.ADTrack.RightLowVPT*5/6)))
{
if(((App.RightUpCS1237_SlopeArray[0] >= PRESS_VPT) //判断是否不是正面压
if(((App.RightUpCS1237_SlopeArray[0] >= PRESS_VPT) //判断是否不是正面压
&& (App.RightUpCS1237_SlopeArray[1] >= PRESS_VPT)
&& (App.RightUpCS1237_SlopeArray[2] >= PRESS_VPT)
&& (App.RightLowCS1237_SlopeArray[0] <= -PRESS_VPT)
@@ -555,9 +555,9 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
&& (App.RightLowCS1237_SlopeArray[2] <= -PRESS_VPT))
)
{
// if(App.CaliZeroFlag == true)//判断是否校零
// if(App.CaliZeroFlag == true)//判断是否校零
{
if((abs(Oru_diff1) > abs(Olu_diff1) * SHIELD_VPT)//判断是否不是侧面推拉
if((abs(Oru_diff1) > abs(Olu_diff1) * SHIELD_VPT)//判断是否不是侧面推拉
&& (abs(Oru_diff2) > abs(Olu_diff2) * SHIELD_VPT)
&& (abs(Oru_diff3) > abs(Olu_diff3) * SHIELD_VPT)
&& (abs(Orl_diff1) > abs(Oll_diff1) * SHIELD_VPT)
@@ -821,13 +821,13 @@ static void AppInit(void)
READ_APP_PARA((uint32_t *)&App.Para);
if(App.Para.FactoryFlag != 0x00){
App.Para.FactoryFlag = 0x00;
/*参数初始化*/
App.Para.Layout.ControlLevel = LEVEL_3;//出厂默认等级3
/*参数初始化*/
App.Para.Layout.ControlLevel = LEVEL_3;//出厂默认等级3
App.Para.Layout.DBGWaveOut = false;
SAVE_APP_PARA((uint32_t *)&App.Para);
}
if(App.Para.Layout.ControlLevel > 5 || App.Para.Layout.ControlLevel < 1){
App.Para.Layout.ControlLevel = LEVEL_3;//出厂默认等级3
App.Para.Layout.ControlLevel = LEVEL_3;//出厂默认等级3
SAVE_APP_PARA((uint32_t *)&App.Para);
}
DBG_LOG("\r\n\r\n");
@@ -852,7 +852,7 @@ static void AppInit(void)
App.Status = APP_STATUS_START_BEEP;
App.MotorPara.InitialFlag = false;
App.RStatus = READ_STATUS_START;
GradeControl(App.Para.Layout.ControlLevel);//等级控制
GradeControl(App.Para.Layout.ControlLevel);//等级控制
App.WaitFlag = false;
}
@@ -1226,10 +1226,10 @@ int main(void)
}
}
/*****************************************************************************************
* 函数名称: SysTick_IrqHandler
* 功能描述: 系统滴答中断
* 参 数: 无
* 返 回 值: 无
* 函数名称: SysTick_IrqHandler
* 功能描述: 系统滴答中断
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
void SysTick_IrqHandler(void)
{
@@ -1246,10 +1246,10 @@ void SysTick_IrqHandler(void)
}
/*****************************************************************************************
* 函数名称: DBG_RxPinIntCallBack
* 功能描述: DBG接收中断回调函数
* 参 数: 无
* 返 回 值: 无
* 函数名称: DBG_RxPinIntCallBack
* 功能描述: DBG接收中断回调函数
* 参 数: 无
* 返 回 值: 无
*****************************************************************************************/
void DBG_RxPinIntCallBack(void)
{
@@ -1259,17 +1259,17 @@ void DBG_RxPinIntCallBack(void)
#if(USE_USART3 == 1)
// 定义函数Usart3RxIrqCallback,用于处理串口接收中断
// 定义函数Usart3RxIrqCallback,用于处理串口接收中断
void Usart3RxIrqCallback(void)
{
// 如果1分钟超时计数器为0,则清空RxLen
// 如果1分钟超时计数器为0,则清空RxLen
if(App.Uart3RxTimeOut1mSCnt == 0)
{
App.RxUart3Data.HeaderFrame = false;
App.RxUart3Data.RxLen = 0;
}
App.Uart3RxTimeOut1mSCnt = 5;
// 读取串口接收到的数据
// 读取串口接收到的数据
uint8_t Data = Uart3Rec();
if(App.RxUart3Data.HeaderFrame == false)
{
@@ -1293,7 +1293,7 @@ void Usart3RxIrqCallback(void)
// App.RxUart3Data.HeaderFrame = false;
// return;
// }
// 如果RxLen小于128,则将数据添加到RxBuff中
// 如果RxLen小于128,则将数据添加到RxBuff中
if(App.RxUart3Data.RxLen < 128) {
App.RxUart3Data.RxBuff[App.RxUart3Data.RxLen++] = Data;
}
@@ -1312,7 +1312,7 @@ void Usart3RxIrqCallback(void)
App.MotorPara.Current_height = h;
}
if(App.MotorPara.InitialFlag == true && h >=720 && h <= 1200)
{//缓存每个高度点对于零点应力的差值,对不同高度点的应力进行补偿
{//缓存每个高度点对于零点应力的差值,对不同高度点的应力进行补偿
if(App.MotorPara.LU_HeightStress[(App.MotorPara.Current_height)-720] == 0
|| App.MotorPara.LL_HeightStress[(App.MotorPara.Current_height)-720] == 0
|| App.MotorPara.RU_HeightStress[(App.MotorPara.Current_height)-720] == 0