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
9cc199a3
Commit
9cc199a3
authored
Feb 24, 2025
by
薛晓虎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat:添加一线通功能
parent
574f6c86
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
175 additions
and
123 deletions
+175
-123
settings.json
.vscode/settings.json
+5
-1
Application.gpj
YueJin_test_bench/ghs/group/Application.gpj
+3
-0
Check_Ctrl.c
YueJin_test_bench/source/Appliciation/Check_Ctrl.c
+8
-0
Task.c
YueJin_test_bench/source/Appliciation/Task.c
+1
-120
api_RS485.c
YueJin_test_bench/source/Appliciation/api_RS485.c
+2
-2
app_lsdn.c
YueJin_test_bench/source/Appliciation/app_lsdn.c
+136
-0
app_lsdn.h
YueJin_test_bench/source/Appliciation/app_lsdn.h
+11
-0
init.c
YueJin_test_bench/source/System/init.c
+7
-0
main.c
YueJin_test_bench/source/System/main.c
+2
-0
No files found.
.vscode/settings.json
View file @
9cc199a3
...
@@ -55,5 +55,9 @@
...
@@ -55,5 +55,9 @@
"C_Cpp_Runner.useLeakSanitizer"
:
false
,
"C_Cpp_Runner.useLeakSanitizer"
:
false
,
"C_Cpp_Runner.showCompilationTime"
:
false
,
"C_Cpp_Runner.showCompilationTime"
:
false
,
"C_Cpp_Runner.useLinkTimeOptimization"
:
false
,
"C_Cpp_Runner.useLinkTimeOptimization"
:
false
,
"C_Cpp_Runner.msvcSecureNoWarnings"
:
false
"C_Cpp_Runner.msvcSecureNoWarnings"
:
false
,
"files.associations"
:
{
"api_rs485.h"
:
"c"
,
"tyw_stdint.h"
:
"c"
}
}
}
\ No newline at end of file
YueJin_test_bench/ghs/group/Application.gpj
View file @
9cc199a3
...
@@ -61,3 +61,6 @@ Check_Ctrl.c
...
@@ -61,3 +61,6 @@ Check_Ctrl.c
key.c
key.c
Key_user.c
Key_user.c
Key.h
Key.h
app_lsdn.c
app_lsdn.h
\ No newline at end of file
YueJin_test_bench/source/Appliciation/Check_Ctrl.c
View file @
9cc199a3
...
@@ -9,6 +9,8 @@
...
@@ -9,6 +9,8 @@
#include "COM_CAN.h"
#include "COM_CAN.h"
#include "GenDelay.h"
#include "GenDelay.h"
#include "TFT_LCD.h"
#include "TFT_LCD.h"
#include "app_lsdn.h"
uint32_t
NO_IPK_EXIST_Status
;
uint32_t
NO_IPK_EXIST_Status
;
uint32_t
NO_IPK_EXIST
;
uint32_t
NO_IPK_EXIST
;
//uint32_t NO_IPK_EXIST_Back;
//uint32_t NO_IPK_EXIST_Back;
...
@@ -241,6 +243,7 @@ uint8_t yibiaoshuju[34];
...
@@ -241,6 +243,7 @@ uint8_t yibiaoshuju[34];
memcpy
(
erweima
,
barcode_Msg
,
34
);
memcpy
(
erweima
,
barcode_Msg
,
34
);
erweima
[
34
]
=
0xFF
;
erweima
[
34
]
=
0xFF
;
General_Number_Disp
(
erweima
,
3
,
90
);
General_Number_Disp
(
erweima
,
3
,
90
);
break
;
break
;
case
1
:
case
1
:
...
@@ -592,6 +595,9 @@ void Function_Check_Ctrl(uint32_t cmd)
...
@@ -592,6 +595,9 @@ void Function_Check_Ctrl(uint32_t cmd)
RELAY_VBAT_MCU
=
1
;
RELAY_VBAT_MCU
=
1
;
RELAY_DC12V_MCU
=
1
;
RELAY_DC12V_MCU
=
1
;
RELAY_KEY_MCU
=
1
;
RELAY_KEY_MCU
=
1
;
Aima_SLF
(
1u
,
0x03
,
0x1
,
1u
);
break
;
break
;
}
}
...
@@ -602,6 +608,7 @@ void Function_Check_Ctrl(uint32_t cmd)
...
@@ -602,6 +608,7 @@ void Function_Check_Ctrl(uint32_t cmd)
RELAY_KEY_MCU
=
0
;
RELAY_KEY_MCU
=
0
;
// ABC_OUT = 1;
// ABC_OUT = 1;
left_turn
=
0
;
left_turn
=
0
;
break
;
break
;
}
}
case
2
:
case
2
:
...
@@ -651,6 +658,7 @@ void Function_Check_Ctrl(uint32_t cmd)
...
@@ -651,6 +658,7 @@ void Function_Check_Ctrl(uint32_t cmd)
FULL_BEAM
=
1
;
FULL_BEAM
=
1
;
ZXSW_12V
=
0
;
ZXSW_12V
=
0
;
left_turn
=
0
;
left_turn
=
0
;
break
;
break
;
}
}
...
...
YueJin_test_bench/source/Appliciation/Task.c
View file @
9cc199a3
...
@@ -478,133 +478,14 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
...
@@ -478,133 +478,14 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
/*==============================================================================
/*==============================================================================
��ȷ��50us��ʱ���� ��ֹ�������б��е�����
��ȷ��50us��ʱ���� ��ֹ�������б��е�����
------------------------------------------------------------------------------*/
------------------------------------------------------------------------------*/
uint8_t
flag_sync
;
uint8_t
flag_1
;
uint8_t
flag_0
;
uint8_t
flag_fin
;
void
Sys_Exact_50us_Tasks
(
void
)
void
Sys_Exact_50us_Tasks
(
void
)
{
{
static
uint8_t
flag1_count
=
0
;
static
uint8_t
flag1_flag
=
0
;
static
uint8_t
flag0_count
=
0
;
static
uint8_t
flag0_flag
=
0
;
static
uint16_t
flag_fin_count
=
0
;
static
uint8_t
sync_flag
=
0
;
static
uint16_t
sync_count
=
0
;
if
(
flag_sync
==
1
)
{
if
(
sync_count
<
220
)
{
sync_count
++
;
}
else
{
sync_count
=
0
;
flag_sync
=
0
;
}
if
(
sync_count
<
200
)
{
TX_OUT
=
1
;
}
else
if
(
sync_count
<
20
)
{
TX_OUT
=
0
;
}
return
;
}
if
(
flag_1
==
1
)
{
if
(
flag1_count
<
40
)
{
flag1_count
++
;
}
else
{
flag1_count
=
0
;
flag_1
=
0
;
}
if
(
flag1_count
<
30
)
{
TX_OUT
=
1
;
}
else
if
(
flag1_count
<
40
)
{
TX_OUT
=
0
;
}
}
if
(
flag_0
==
1
)
{
if
(
flag0_count
<
40
)
{
flag0_count
++
;
}
else
{
flag0_count
=
0
;
flag_0
=
0
;
}
if
(
flag0_count
<
10
)
{
TX_OUT
=
1
;
}
else
if
(
flag0_count
<
40
)
{
TX_OUT
=
0
;
}
}
if
(
flag_fin
==
1
)
{
if
(
flag_fin_count
<
100
)
{
flag_fin_count
++
;
}
else
{
flag_fin_count
=
0
;
flag_fin
=
0
;
}
if
(
flag_fin_count
<
10
)
{
TX_OUT
=
1
;
}
else
if
(
flag_fin_count
<
40
)
{
TX_OUT
=
0
;
}
}
GenDelay_Tick
(
);
GenDelay_Tick
(
);
DoCAN_Timer_Update
(
50u
);
DoCAN_Timer_Update
(
50u
);
}
}
// 发送单个比特(逻辑"1"或"0")
void
send_bit
(
uint8_t
bit
)
{
if
(
bit
)
{
flag_1
=
1
;
}
else
{
flag_0
=
1
;
}
}
// 发送完整数据(按字节发送,高位优先)
void
send_data
(
const
uint8_t
*
data
,
uint32_t
len
)
{
flag_sync
==
1
;
// 发送同步信号
for
(
uint32_t
i
=
0
;
i
<
len
;
i
++
)
{
uint8_t
byte
=
data
[
i
];
for
(
int
j
=
7
;
j
>=
0
;
j
--
)
{
// 高位先发
send_bit
((
byte
>>
j
)
&
0x01
);
}
}
flag_fin
==
1
;
// 发送停止信号
}
/*============================================================================*/
/*============================================================================*/
...
...
YueJin_test_bench/source/Appliciation/api_RS485.c
View file @
9cc199a3
...
@@ -445,9 +445,9 @@ void R485_Timer_Handel(void)
...
@@ -445,9 +445,9 @@ void R485_Timer_Handel(void)
// else
// else
// {
// {
// set_pin_high();
// set_pin_high();
//
delay_m
s(0.5); // 高电平0.5ms (逻辑"0"的T8)
//
lsdn_delay_u
s(0.5); // 高电平0.5ms (逻辑"0"的T8)
// set_pin_low();
// set_pin_low();
//
delay_m
s(1.5); // 低电平1.5ms (逻辑"0"的T7)
//
lsdn_delay_u
s(1.5); // 低电平1.5ms (逻辑"0"的T7)
// }
// }
// }
// }
...
...
YueJin_test_bench/source/Appliciation/app_lsdn.c
0 → 100644
View file @
9cc199a3
#include "app_lsdn.h"
#include "RTE_GPIO.h"
#include "GenDelay.h"
// 假设的GPIO操作函数
void
set_pin_high
(
uint8_t
mode
)
{
// GPIO_DIR_PORT00_PIN08 = 0;
// TX_OUT = 0;
if
(
mode
==
0
)
{
TX_OUT
=
0
;
}
else
{
ONE_START
=
0
;
}
}
void
set_pin_low
(
uint8_t
mode
)
{
// GPIO_DIR_PORT00_PIN08 = 0;
// TX_OUT = 1;
if
(
mode
==
0
)
{
TX_OUT
=
1
;
}
else
{
ONE_START
=
1
;
}
}
void
lsdn_delay_us
(
uint32_t
us
)
{
Gen_TimeDelay
(
us
,
50u
);
}
// 发送同步信号
void
send_sync
(
uint8_t
mode
)
{
set_pin_low
(
mode
);
lsdn_delay_us
(
10000
);
// 高电平1ms (T2)
set_pin_high
(
mode
);
lsdn_delay_us
(
1000
);
// 低电平10ms (T1≥10ms)
}
// 发送单个比特(逻辑"1"或"0")
void
send_bit
(
uint8_t
mode
,
uint8_t
bit
)
{
if
(
bit
)
{
set_pin_low
(
mode
);
lsdn_delay_us
(
500
);
// 低电平0.5ms (逻辑"1"的T5)
set_pin_high
(
mode
);
lsdn_delay_us
(
1500
);
// 高电平1.5ms (逻辑"1"的T6)
}
else
{
set_pin_low
(
mode
);
lsdn_delay_us
(
1500
);
// 低电平1.5ms (逻辑"0"的T7)
set_pin_high
(
mode
);
lsdn_delay_us
(
500
);
// 高电平0.5ms (逻辑"0"的T8)
}
}
// 发送停止信号
void
send_stop
(
uint8_t
mode
)
{
set_pin_low
(
mode
);
lsdn_delay_us
(
5000
);
// 低电平50ms (N>50,取最小值50ms)
set_pin_high
(
mode
);
lsdn_delay_us
(
50000
);
// 高电平5ms (T9)
}
// 发送完整数据(按字节发送,高位优先)
void
lsdn_send_data
(
uint8_t
mode
,
const
uint8_t
*
data
,
uint32_t
len
)
{
send_sync
(
mode
);
// 发送同步信号
for
(
uint32_t
i
=
0
;
i
<
len
;
i
++
)
{
uint8_t
byte
=
data
[
i
];
for
(
int
j
=
0
;
j
<
8
;
j
++
)
{
// 高位先发
send_bit
(
mode
,
(
byte
>>
j
)
&
0x01
);
}
}
send_stop
(
mode
);
// 发送停止信号
}
uint8_t
c_YXT_sum
(
uint8_t
*
buf
,
uint8_t
len
)
{
uint8_t
i
=
0
;
uint16_t
ret
=
0
;
for
(
i
=
0
;
i
<
len
;
i
++
)
{
ret
+=
buf
[
i
];
}
return
ret
;
}
uint8_t
Aima_SLF_DataBuf
[
50
];
uint8_t
flag1
=
0
;
// mode = 0,485接口;mode=1,一键启动接口
void
Aima_SLF
(
uint8_t
mode
,
uint8_t
cmd
,
uint8_t
data
,
uint8_t
data_len
)
{
// if(flag1 == onoff)
// {
// return;
// }
Aima_SLF_DataBuf
[
0
]
=
0x55
;
Aima_SLF_DataBuf
[
1
]
=
0xaa
;
Aima_SLF_DataBuf
[
2
]
=
cmd
;
Aima_SLF_DataBuf
[
3
]
=
data
;
Aima_SLF_DataBuf
[
4
]
=
c_YXT_sum
(
Aima_SLF_DataBuf
,
data_len
+
3
);
lsdn_send_data
(
mode
,
Aima_SLF_DataBuf
,
data_len
+
4
);
// flag1 = onoff;
}
YueJin_test_bench/source/Appliciation/app_lsdn.h
0 → 100644
View file @
9cc199a3
#ifndef _APP_LSDN_
#define _APP_LSDN_
#include "TYW_stdint.h"
void
Aima_SLF
(
uint8_t
mode
,
uint8_t
cmd
,
uint8_t
data
,
uint8_t
data_len
);
#endif
\ No newline at end of file
YueJin_test_bench/source/System/init.c
View file @
9cc199a3
...
@@ -69,9 +69,16 @@ void Sys_Startup_Init(void)
...
@@ -69,9 +69,16 @@ void Sys_Startup_Init(void)
{
{
RTC_Pre_Init
(
);
//首次上电
RTC_Pre_Init
(
);
//首次上电
WDT_Init
(
);
WDT_Init
(
);
GenDelay_Init
(
WDT__Clear
);
Sys_Tick_Timer_Call_Back_Reg
(
Sys_Process_ISR
);
Sys_Tick_Timer_Call_Back_Reg
(
Sys_Process_ISR
);
RTE_GPIO_Init
(
);
RTE_GPIO_Init
(
);
// GPIO_DIR_PORT00_PIN08 = 1;
// TX_OUT = 0;
ONE_START
=
0
;
GPIO_SET_KEPP
(
);
GPIO_SET_KEPP
(
);
RTE_ADC_Init
(
);
RTE_ADC_Init
(
);
// COM_CAN_Init( );
// COM_CAN_Init( );
...
...
YueJin_test_bench/source/System/main.c
View file @
9cc199a3
...
@@ -13,6 +13,8 @@ int main(void)
...
@@ -13,6 +13,8 @@ int main(void)
Sys_Task_Init
();
Sys_Task_Init
();
Sys_Startup_Init
();
Sys_Startup_Init
();
while
(
1U
)
while
(
1U
)
{
{
Sys_Scheduling_Service
();
Sys_Scheduling_Service
();
...
...
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