Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiancetai
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
陈家乐
jiancetai
Commits
4e57820f
Commit
4e57820f
authored
Nov 20, 2024
by
陈家乐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat:完事儿
parent
7f310018
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
119 additions
and
188 deletions
+119
-188
API_CAN.c
Test_Bench/Api_Sources/API_CAN.c
+19
-19
API_RTC.c
Test_Bench/Api_Sources/API_RTC.c
+1
-1
APP_CAN.c
Test_Bench/Api_Sources/APP_CAN.c
+38
-38
APP_Test.c
Test_Bench/Api_Sources/APP_Test.c
+44
-127
APP_Test.h
Test_Bench/App_Headers/APP_Test.h
+15
-1
USBDM.ini
Test_Bench/USBDM.ini
+2
-2
No files found.
Test_Bench/Api_Sources/API_CAN.c
View file @
4e57820f
...
...
@@ -4,7 +4,7 @@
/*-------------------------------------------------------------------------
* Function Name : Api_CAN_Init
* Description : CAN
初始化
* Description : CAN
��ʼ��
* Input : None
* Output : None
* Return : None
...
...
@@ -13,12 +13,12 @@
void
Api_CAN_Init
(
void
)
{
INT16U
b
=
null
;
CANCTL0_INITRQ
=
Enable
;
//准
备初始化
CANCTL0_INITRQ
=
Enable
;
//
����ʼ��
while
(
!
CANCTL1_INITAK
);
//
等待进入初始化模式
while
(
!
CANCTL1_INITAK
);
//
�ȴ������ʼ��ģʽ
CANCTL1
=
CANCTL1_CANE_MASK
|
CANCTL1_BORM_MASK
;
CANCTL1_WUPM
=
Disable
;
//
所有显性唤醒
CANCTL1_WUPM
=
Disable
;
//
�������Ի���
/*
SYNC_SEG + (PROP_SEG + PHASE_SEG1) + (PHASE_SEG2)
1 Tq 4--16 Tq 2--8 Tq
...
...
@@ -26,13 +26,13 @@ void Api_CAN_Init(void)
CANBTR1_TSEG_10
=
Seg1_5Tq
;
//351page 75% 75<= sp<=83
CANBTR1_TSEG_20
=
Seg2_2Tq
;
CANBTR0_SJW
=
SJW_1Tq
;
//
重新同步
CANBTR0_SJW
=
SJW_1Tq
;
//
����ͬ��
CANBTR1_SAMP
=
SAMP_1
;
CANBTR0_BRP
=
0x0
1
;
//0 500K 1 250K
CANBTR0_BRP
=
0x0
0
;
//0 500K 1 250K
CANIDAC_IDAM
=
IDAM_2_32Bit
;
CANIDAC_IDHIT
=
IDHIT0
;
//
滤波器 0 有
效
CANIDAC_IDHIT
=
IDHIT0
;
//
�˲��� 0 ��Ч
CANIDAR0
=
null
;
//
CANIDAR1
=
null
;
...
...
@@ -53,22 +53,22 @@ void Api_CAN_Init(void)
CANIDMR7
=
0xFF
;
//
CANTIER
=
null
;
CANCTL0_INITRQ
=
Disable
;
//
完成初始化
while
(
CANCTL1_INITAK
);
//
等待确认
CANCTL0_INITRQ
=
Disable
;
//
��ɳ�ʼ��
while
(
CANCTL1_INITAK
);
//
�ȴ�ȷ��
CANRFLG_RXF
=
ClearFlag
;
CANRIER_RXFIE
=
Enable
;
//使
能接收中断
CANTIER_TXEIE
=
Disable
;
//
禁止发送中断
CANRIER_RXFIE
=
Enable
;
//ʹ
�ܽ����ж�
CANTIER_TXEIE
=
Disable
;
//
��ֹ�����ж�
CANCTL0_TIME
=
Enable
;
//使
能时间戳
CANCTL0_CSWAI
=
WaitRun
;
//
等待模式下可以运行
CANCTL0_TIME
=
Enable
;
//ʹ
��ʱ���
CANCTL0_CSWAI
=
WaitRun
;
//
�ȴ�ģʽ�¿�������
CANCTL0_WUPE
=
Enable
;
}
/*-------------------------------------------------------------------------
* Function Name : GET_STAND_ID
* Description :
提取标
准ID
* Input : IDR0_Add ->
对应的IDR0的地
址
* Description :
��ȡ��I
D
* Input : IDR0_Add ->
��Ӧ��IDR0�ĵ�ַ
* Output : None
* Return : dwPGN
* onther :
...
...
@@ -178,8 +178,8 @@ INT8U Api_CANSendFrame(CAN_message * CanMessage)
/*-------------------------------------------------------------------------
* Function Name : Api_CAN_Rev_isr
* Description :
提取标
准ID
* Input : IDR0_Add ->
对应的IDR0的地
址
* Description :
��ȡ��I
D
* Input : IDR0_Add ->
��Ӧ��IDR0�ĵ�ַ
* Output : None
* Return : dwPGN
* onther :
...
...
@@ -194,13 +194,13 @@ interrupt void Api_CAN_Rev_isr(void)
switch
(
stand_id
)
{
case
0x18DAF917
:
//
车速
case
0x18DAF917
:
//
����
if
(
m_dlc
==
8
)
{
UDS_Receive_Main
(
&
CANRXDSR0
);
}
break
;
break
;
default:
;
...
...
Test_Bench/Api_Sources/API_RTC.c
View file @
4e57820f
...
...
@@ -499,7 +499,7 @@ interrupt void Api_RTC_isr(void)
Key
.
CAN_Step
++
;
if
(
Key
.
CAN_Step
>
10
)
{
Key
.
CAN_Step
=
1
;
Key
.
CAN_Step
=
0
;
}
}
}
...
...
Test_Bench/Api_Sources/APP_CAN.c
View file @
4e57820f
...
...
@@ -178,35 +178,35 @@ void App_Can_Proc(void)
if
(
GetCtrlTime
(
CANMsgSend_10ms
)
>=
10
){
// ClearCtrlTime(CANMsgSend_10ms);
//
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_101);
//
Clear_CAN_Msg((CAN_message *)&CanMsg_101);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_101
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_101
);
//
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_111);
// Clear_CAN_Msg((CAN_message *)&CanMsg_111);
//
//
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_37B);
//
Clear_CAN_Msg((CAN_message *)&CanMsg_37B);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_37B
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_37B
);
//
//bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_12B);
// Clear_CAN_Msg((CAN_message *)&CanMsg_12B);
//
//
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_402);
//
Clear_CAN_Msg((CAN_message *)&CanMsg_402);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_18202922
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_18202922
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_125
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_125
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_157
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_157
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_SOC
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_SOC
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_SOC1
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_SOC1
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_SOC2
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_SOC2
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_38E
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_38E
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_402
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_402
);
//
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_18202922);
//
Clear_CAN_Msg((CAN_message *)&CanMsg_18202922);
//
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_125);
//
Clear_CAN_Msg((CAN_message *)&CanMsg_125);
//
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_157);
//
Clear_CAN_Msg((CAN_message *)&CanMsg_157);
//
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_SOC);
//
Clear_CAN_Msg((CAN_message *)&CanMsg_SOC);
//
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_SOC1);
//
Clear_CAN_Msg((CAN_message *)&CanMsg_SOC1);
//
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_SOC2);
//
Clear_CAN_Msg((CAN_message *)&CanMsg_SOC2);
//
bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_38E);
//
Clear_CAN_Msg((CAN_message *)&CanMsg_38E);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDCD5);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDED5);
...
...
@@ -271,25 +271,25 @@ void App_Can_Proc(void)
//CurValueStr[ENUM_VSpeed ].val = 0;
CurValueStr
[
ENUM_RSpeed
].
val
=
0
;
CurValueStr
[
ENUM_WaterTemp
].
val
=
0
;
CurValueStr
[
TCS_Warning_Lamp
].
val
=
0
;
CurValueStr
[
TCS_Work_Mode
].
val
=
0
;
CurValueStr
[
ISG_Power
].
val
=
0
;
CurValueStr
[
ISG_Power_Enable
].
val
=
0
;
CurValueStr
[
ECU_Warning_Lamp
].
val
=
0
;
CurValueStr
[
MMCU_PowerMode
].
val
=
0
;
//
CurValueStr[ENUM_RSpeed ].val = 0;
//
CurValueStr[ENUM_WaterTemp ].val = 0;
//
CurValueStr[TCS_Warning_Lamp ].val = 0;
//
CurValueStr[TCS_Work_Mode ].val = 0;
//
CurValueStr[ISG_Power ].val = 0;
//
CurValueStr[ISG_Power_Enable ].val = 0;
//
CurValueStr[ECU_Warning_Lamp ].val = 0;
//
CurValueStr[MMCU_PowerMode ].val = 0;
//
//
CurValueStr
[
ENUM_VSpeed
].
fval
=
Value_Plus
;
CurValueStr
[
ENUM_RSpeed
].
fval
=
Value_Plus
;
CurValueStr
[
ENUM_WaterTemp
].
fval
=
Value_Plus
;
CurValueStr
[
TCS_Warning_Lamp
].
fval
=
Value_Plus
;
CurValueStr
[
TCS_Work_Mode
].
fval
=
Value_Plus
;
CurValueStr
[
ISG_Power
].
fval
=
Value_Plus
;
CurValueStr
[
ISG_Power_Enable
].
fval
=
Value_Plus
;
CurValueStr
[
ECU_Warning_Lamp
].
fval
=
1
;
CurValueStr
[
MMCU_PowerMode
].
fval
=
1
;
//
CurValueStr[ENUM_WaterTemp ].fval = Value_Plus;
//
CurValueStr[TCS_Warning_Lamp ].fval = Value_Plus;
//
CurValueStr[TCS_Work_Mode ].fval = Value_Plus;
//
CurValueStr[ISG_Power ].fval = Value_Plus;
//
CurValueStr[ISG_Power_Enable ].fval = Value_Plus;
//
CurValueStr[ECU_Warning_Lamp ].fval = 1;
//
CurValueStr[MMCU_PowerMode ].fval = 1;
...
...
Test_Bench/Api_Sources/APP_Test.c
View file @
4e57820f
This diff is collapsed.
Click to expand it.
Test_Bench/App_Headers/APP_Test.h
View file @
4e57820f
...
...
@@ -39,6 +39,13 @@ typedef struct{
enum
{
ENUM_VSpeed
=
0
,
//����
ENUM_RSpeed
,
ECU_Warning_Lamp
,
TCS_Warning_Lamp
,
CAN_List_Num
,
#if 0
ENUM_VSpeed = 0,//����
ENUM_RSpeed ,//�??�??
ENUM_WaterTemp ,// 温度
...
...
@@ -70,12 +77,19 @@ enum
BMCU_Moto1_Locked_RotorFault,
CAN_List_Num ,
#endif
};
EXTERN_APP_TEST
volatile
s_CurValue
CurValueStr
[
CAN_List_Num
];
static
const
s_CAN_List
CAN_List
[]
=
{
{
&
CanMsg_101
,
2
,
0
,
8
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
ENUM_VSpeed
],
Motorola
},
{
&
CanMsg_101
,
1
,
0
,
16
,
0
,
Offset_Plus
,
100
,
25
,
&
CurValueStr
[
ENUM_RSpeed
],
Motorola
},
{
&
CanMsg_402
,
7
,
7
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
ECU_Warning_Lamp
],
Motorola
},
{
&
CanMsg_37B
,
3
,
2
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
TCS_Warning_Lamp
],
Motorola
}
#if 0
{&CanMsg_101, 2, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[ENUM_VSpeed ], Motorola},
{&CanMsg_101, 1, 0, 16, 0, Offset_Plus, 100, 25, &CurValueStr[ENUM_RSpeed ], Motorola},
{&CanMsg_101, 5, 0, 16, 273, Offset_Minus, 10, 1, &CurValueStr[ENUM_WaterTemp ], Motorola},
...
...
@@ -109,7 +123,7 @@ static const s_CAN_List CAN_List[] =
{&CanMsg_SOC, 4, 0, 8, 0, Offset_Plus, 1, 1, &CurValueStr[MBMS_StatSoc ], Motorola},
{&CanMsg_38E, 1, 0, 1, 0, Offset_Plus, 1, 1, &CurValueStr[BMCU_Moto1_Locked_RotorFault ], Motorola},
#endif
};
...
...
Test_Bench/USBDM.ini
View file @
4e57820f
...
...
@@ -10,7 +10,7 @@ Target=USBDM
Layout
=
C_layout.hwl
LoadDialogOptions
=
AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main"
CPU
=
HC12
MainFrame
=
0,1,-1,-1,-1,-1,
1368,-956,2520,-291
MainFrame
=
0,1,-1,-1,-1,-1,
-634,-383,518,282
TOOLBAR
=
57600 57601 32795 0 57635 57634 57637 0 57671 57669 0 32777 32776 32782 32780 32781 32778 0 32806
AEFWarningDialog
=
FALSE
...
...
@@ -45,7 +45,7 @@ NV_AUTO_ID=1
[USBDM]
COMSETTINGS
=
SETCOMM DRIVER NOPROTOCOL NOPERIODICAL
NV_PARAMETER_FILE
=
C:
\P
rogram Files (x86)
\F
reescale
\C
WS12v5.1
\p
rog
\F
PP
\m
cu02F2.fpp
NV_PARAMETER_FILE
=
NV_SAVE_WSP
=
0
NV_AUTO_ID
=
1
...
...
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