Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
HaoJin232
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
时昊
HaoJin232
Commits
b768d65a
Commit
b768d65a
authored
Feb 21, 2024
by
高士达
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
🎉
init:整理燃油相关,初步测试无问题
parent
d880c932
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
318 additions
and
218 deletions
+318
-218
CAN_User.c
HJ232_Source/source/Application/APPCan/CAN_User.c
+4
-4
Fuel.c
HJ232_Source/source/Application/Fuel/Fuel.c
+249
-209
Fuel.h
HJ232_Source/source/Application/Fuel/Fuel.h
+55
-4
tasks.c
HJ232_Source/source/System/tasks.c
+10
-1
No files found.
HJ232_Source/source/Application/APPCan/CAN_User.c
View file @
b768d65a
...
...
@@ -139,10 +139,10 @@ void Can_Set_Buff_510(uint8_t CopyData[])
temp16
=
FuelR
/
10
;
if
(
FuelR
>
3100
){
temp16
=
320
;
}
//
temp16 = FuelR/10;
//
if(FuelR>3100){
//
temp16 = 320;
//
}
CopyData
[
2
]
=
(
temp16
>>
8
)
&
0xff
;
CopyData
[
3
]
=
temp16
&
0xff
;
...
...
HJ232_Source/source/Application/Fuel/Fuel.c
View file @
b768d65a
This diff is collapsed.
Click to expand it.
HJ232_Source/source/Application/Fuel/Fuel.h
View file @
b768d65a
#ifndef FUEL_H
#define FUEL_H
typedef
enum
{
#include "common.h"
#define Fuel_Short_Value 0
/* 燃油短路值 精度0.1ohm */
#define Fuel_Open_Value 1100
/* 燃油开路值 精度0.1ohm */
#define Fuet_Short_Dealy_Timer 3000
/* 燃油从正常进入短路的延迟时间 单位ms*/
#define Fuel_Open_Dealy_Timer 3000
/* 燃油从正常进入开路的延迟时间 单位ms*/
#define Fuel_Normal_Dealy_Timer 3000
/* 燃油从异常状态进入正常的延迟时间 单位ms*/
#define FUEL_DATA_TIME 25u
/*这里填写多长时间采集一个数据,单位ms*/
#define FUEL_DATA_NUM 20u
/*燃油电阻采集数据总数 最大255*/
#define FUEL_CAL_START 5u
/*数据排序后取中间部分计算平均:起始*/
#define FUEL_CAL_END 15u
/*数据排序后取中间部分计算平均:结束*/
#define RETURN_DIFFERENCE 25u
/*判断上升或下降的回差,精度0.1*/
#define Creep_Down_Up_Timer 10000
/* 一个格的时间 单位ms */
typedef
enum
{
Up_Dir
=
0
,
Down_Dir
=
1
,
Unvalid
=
0XFF
,
}
_FuelDir
;
typedef
enum
{
FuelSensorNormal
=
0
,
FuelSensorShortCircuit
,
FuelSensorOpenCircuit
,
}
FuelSensorSts_t
;
}
FuelSensorSts_t
;
typedef
struct
{
uint8_t
u8FuelDataCount
;
/* 燃油采集计数 */
uint8_t
u8FuelCollectCount
;
/* 多久采集一次燃油数据 */
uint16_t
FuelDataBuffer
[
FUEL_DATA_NUM
];
/* 存储燃油数据buffer */
uint8_t
u8FuelInitState
;
/* 燃油传感器初始化状态 */
uint8_t
u8FuelInitFlag
;
/* 燃油初始化标志 */
uint16_t
FuelDataArray
[
7
];
/* 数组下标0用于存储短路值,1~5用于存储当前对应格数阻值,6用于存储开路阻值 */
uint16_t
Fuel_Res
;
/* 进行滤波处理后的燃油阻值 */
uint16_t
Fuel_Res_Back
;
/* 历史燃油阻值 */
uint16_t
u16SensorShortTimer
;
/* 传感器进入短路时间 */
uint16_t
u16SensorOpenTimer
;
/* 传感器进入开路时间 */
uint16_t
u16SensorNormalTimer
;
/* 传感器进入正常时间 */
uint8_t
u8FuelADCompleteFlg
;
/* 一组数据采集完成标志 */
_FuelDir
FuelDir
;
/* 燃油方向 */
FuelSensorSts_t
FuelSensorState
;
/* 燃油传感器状态 */
}
_FuelData
;
typedef
struct
{
uint8_t
u8Curseg
;
/* 当前格 */
uint8_t
u8DestSeg
;
/* 目标格 */
uint16_t
u16Down_Timer
;
/* 上升延迟时间 */
uint16_t
u16Up_Timer
;
/* 下降延迟时间 */
}
_Fuel_Dis
;
extern
_Fuel_Dis
FuelDis
;
extern
_FuelData
Fuel_Data
;
extern
void
Fuel_KL15_Init
(
void
);
extern
void
Fuel_KL30_Init
(
void
);
extern
void
Fuel_Cal_Sevice
(
uint8_t
deltaTime
);
extern
uint8_t
Get_Fuel_Disp_Byte
(
void
);
extern
uint8_t
Get_CurFuelSetp
(
void
);
extern
FuelSensorSts_t
Get_Fuel_Sensor_State
(
void
);
void
Fuel_Res_Call
(
uint8_t
deltaTime
);
#endif
HJ232_Source/source/System/tasks.c
View file @
b768d65a
...
...
@@ -91,6 +91,7 @@ void Sys_Run_Mode_10ms_Tasks(void)
Data_Mileage_Write_EEPROM
();
Fuel_Res_Call
(
10u
);
}
/*============================================================================*/
...
...
@@ -147,7 +148,9 @@ void Sys_Run_Mode_100ms_Tasks_Group2(void)
void
Sys_Run_Mode_100ms_Tasks_Group3
(
void
)
{
Services_Mileage_Callback
();
Data_Trip_Processing
();
Data_ODO_Processing
();
}
void
Sys_Run_Mode_100ms_Tasks_Group4
(
void
)
...
...
@@ -156,8 +159,14 @@ void Sys_Run_Mode_100ms_Tasks_Group4(void)
RTC_Service
();
}
uint32_t
TRIPATEST
=
0
;
uint32_t
ODOTEST
=
0
;
uint32_t
MileageTest
=
0
;
void
Sys_Run_Mode_100ms_Tasks_Group5
(
void
)
{
TRIPATEST
=
Data_Read_Trip
(
EM_TRIP_A
);
ODOTEST
=
Data_ODO_Read
();
MileageTest
=
Data_Mileage_Read
();
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment