Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
TianYing_ty100
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
TY
TianYing_ty100
Commits
81f0baa7
Commit
81f0baa7
authored
Feb 20, 2025
by
陈家乐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
🐞
fix:软件变更,优化自检显示效果,上电外发有效值时间,版本号改为1.31 250220
parent
2675ee42
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
97 additions
and
58 deletions
+97
-58
GpioUser.c
Firmware/Source/Application/GPIO_USER/GpioUser.c
+1
-1
BU98R10.c
Firmware/Source/Component/BU98R10/BU98R10.c
+17
-17
Simulated_IIC_2_Master.c
...ware/Source/Component/LED_Driver/Simulated_IIC_2_Master.c
+59
-22
Simulated_IIC_2_Master.h
...ware/Source/Component/LED_Driver/Simulated_IIC_2_Master.h
+1
-1
Services_Mileage_User.c
Firmware/Source/Component/Mileage/Services_Mileage_User.c
+10
-10
PowerManag_user.c
Firmware/Source/Component/PowerManagement/PowerManag_user.c
+5
-3
UDS_ISO14229_Services.h
Firmware/Source/UDS/UDS_ISO14229_Services.h
+4
-4
No files found.
Firmware/Source/Application/GPIO_USER/GpioUser.c
View file @
81f0baa7
...
@@ -163,7 +163,7 @@ void Gpio_Init(_GpioUser_Enum InitMode)
...
@@ -163,7 +163,7 @@ void Gpio_Init(_GpioUser_Enum InitMode)
/*为满足I2C时序要求*/
/*为满足I2C时序要求*/
RTE_GPIO_Config
(
RTE_GPIO_PORT12_PIN00
,
GpioOut_High
);
//5V切电
RTE_GPIO_Config
(
RTE_GPIO_PORT12_PIN00
,
GpioOut_High
);
//5V切电
RTE_GPIO_Config
(
RTE_GPIO_PORT06_PIN02
,
GpioOut_Low
);
//EE存储SCL
RTE_GPIO_Config
(
RTE_GPIO_PORT06_PIN02
,
GpioOut_Low
);
//EE存储SCL
Gen_TimeDelay
(
100
*
1000u
,
50u
);
//
Gen_TimeDelay(100 * 1000u, 50u);
for
(
i
=
0
;
i
<
Gpio_Max
;
i
++
)
for
(
i
=
0
;
i
<
Gpio_Max
;
i
++
)
{
{
RTE_GPIO_Config
(
KL30_Init_GpioConfig
[
i
].
u16PinNum
,
KL30_Init_GpioConfig
[
i
].
u16PinMode
);
RTE_GPIO_Config
(
KL30_Init_GpioConfig
[
i
].
u16PinNum
,
KL30_Init_GpioConfig
[
i
].
u16PinMode
);
...
...
Firmware/Source/Component/BU98R10/BU98R10.c
View file @
81f0baa7
...
@@ -90,7 +90,7 @@ void BU98R10_CHIP0_SET_SD_LEVEL(uint8_t Level)
...
@@ -90,7 +90,7 @@ void BU98R10_CHIP0_SET_SD_LEVEL(uint8_t Level)
PORT
->
PM0
&=
~
(
1
<<
2
);
PORT
->
PM0
&=
~
(
1
<<
2
);
PORT
->
PSET0
=
(
1
<<
2
);
PORT
->
PSET0
=
(
1
<<
2
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
else
else
{
{
...
@@ -100,7 +100,7 @@ void BU98R10_CHIP0_SET_SD_LEVEL(uint8_t Level)
...
@@ -100,7 +100,7 @@ void BU98R10_CHIP0_SET_SD_LEVEL(uint8_t Level)
// PORT->PM0 &= ~(1<<2);
// PORT->PM0 &= ~(1<<2);
PORT
->
PM0
&=
~
(
1
<<
2
);
PORT
->
PM0
&=
~
(
1
<<
2
);
PORT
->
PCLR0
=
(
1
<<
2
);
PORT
->
PCLR0
=
(
1
<<
2
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
}
}
void
BU98R10_CHIP1_SET_SD_LEVEL
(
uint8_t
Level
);
void
BU98R10_CHIP1_SET_SD_LEVEL
(
uint8_t
Level
);
...
@@ -114,7 +114,7 @@ void BU98R10_CHIP1_SET_SD_LEVEL(uint8_t Level)
...
@@ -114,7 +114,7 @@ void BU98R10_CHIP1_SET_SD_LEVEL(uint8_t Level)
// PORT->PM7 &= ~(1<<2);
// PORT->PM7 &= ~(1<<2);
PORT
->
PM7
&=
~
(
1
<<
2
);
PORT
->
PM7
&=
~
(
1
<<
2
);
PORT
->
PSET7
=
(
1
<<
2
);
PORT
->
PSET7
=
(
1
<<
2
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
else
else
{
{
...
@@ -124,7 +124,7 @@ void BU98R10_CHIP1_SET_SD_LEVEL(uint8_t Level)
...
@@ -124,7 +124,7 @@ void BU98R10_CHIP1_SET_SD_LEVEL(uint8_t Level)
// PORT->PM7 &= ~(1<<2);
// PORT->PM7 &= ~(1<<2);
PORT
->
PM7
&=
~
(
1
<<
2
);
PORT
->
PM7
&=
~
(
1
<<
2
);
PORT
->
PCLR7
=
(
1
<<
2
);
PORT
->
PCLR7
=
(
1
<<
2
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
}
}
void
BU98R10_CHIP0_SET_CSB_LEVEL
(
uint8_t
Level
);
void
BU98R10_CHIP0_SET_CSB_LEVEL
(
uint8_t
Level
);
...
@@ -138,7 +138,7 @@ void BU98R10_CHIP0_SET_CSB_LEVEL(uint8_t Level)
...
@@ -138,7 +138,7 @@ void BU98R10_CHIP0_SET_CSB_LEVEL(uint8_t Level)
// PORT->PM0 &= ~(1<<3);
// PORT->PM0 &= ~(1<<3);
PORT
->
PM0
&=
~
(
1
<<
3
);
PORT
->
PM0
&=
~
(
1
<<
3
);
PORT
->
PSET0
=
(
1
<<
3
);
PORT
->
PSET0
=
(
1
<<
3
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
else
else
{
{
...
@@ -148,7 +148,7 @@ void BU98R10_CHIP0_SET_CSB_LEVEL(uint8_t Level)
...
@@ -148,7 +148,7 @@ void BU98R10_CHIP0_SET_CSB_LEVEL(uint8_t Level)
// PORT->PM0 &= ~(1<<3);
// PORT->PM0 &= ~(1<<3);
PORT
->
PM0
&=
~
(
1
<<
3
);
PORT
->
PM0
&=
~
(
1
<<
3
);
PORT
->
PCLR0
=
(
1
<<
3
);
PORT
->
PCLR0
=
(
1
<<
3
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
}
}
void
BU98R10_CHIP1_SET_CSB_LEVEL
(
uint8_t
Level
);
void
BU98R10_CHIP1_SET_CSB_LEVEL
(
uint8_t
Level
);
...
@@ -162,7 +162,7 @@ void BU98R10_CHIP1_SET_CSB_LEVEL(uint8_t Level)
...
@@ -162,7 +162,7 @@ void BU98R10_CHIP1_SET_CSB_LEVEL(uint8_t Level)
// PORT->PM7 &= ~(1<<1);
// PORT->PM7 &= ~(1<<1);
PORT
->
PM7
&=
~
(
1
<<
1
);
PORT
->
PM7
&=
~
(
1
<<
1
);
PORT
->
PSET7
=
(
1
<<
1
);
PORT
->
PSET7
=
(
1
<<
1
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
else
else
{
{
...
@@ -172,7 +172,7 @@ void BU98R10_CHIP1_SET_CSB_LEVEL(uint8_t Level)
...
@@ -172,7 +172,7 @@ void BU98R10_CHIP1_SET_CSB_LEVEL(uint8_t Level)
// PORT->PM7 &= ~(1<<1);
// PORT->PM7 &= ~(1<<1);
PORT
->
PM7
&=
~
(
1
<<
1
);
PORT
->
PM7
&=
~
(
1
<<
1
);
PORT
->
PCLR7
=
(
1
<<
1
);
PORT
->
PCLR7
=
(
1
<<
1
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
}
}
void
BU98R10_CHIP0_SET_SCL_LEVEL
(
uint8_t
Level
);
void
BU98R10_CHIP0_SET_SCL_LEVEL
(
uint8_t
Level
);
...
@@ -186,7 +186,7 @@ void BU98R10_CHIP0_SET_SCL_LEVEL(uint8_t Level)
...
@@ -186,7 +186,7 @@ void BU98R10_CHIP0_SET_SCL_LEVEL(uint8_t Level)
// PORT->PM0 &= ~(1<<4);
// PORT->PM0 &= ~(1<<4);
PORT
->
PM0
&=
~
(
1
<<
4
);
PORT
->
PM0
&=
~
(
1
<<
4
);
PORT
->
PSET0
=
(
1
<<
4
);
PORT
->
PSET0
=
(
1
<<
4
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
else
else
{
{
...
@@ -196,7 +196,7 @@ void BU98R10_CHIP0_SET_SCL_LEVEL(uint8_t Level)
...
@@ -196,7 +196,7 @@ void BU98R10_CHIP0_SET_SCL_LEVEL(uint8_t Level)
// PORT->PM0 &= ~(1<<4);
// PORT->PM0 &= ~(1<<4);
PORT
->
PM0
&=
~
(
1
<<
4
);
PORT
->
PM0
&=
~
(
1
<<
4
);
PORT
->
PCLR0
=
(
1
<<
4
);
PORT
->
PCLR0
=
(
1
<<
4
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
}
}
void
BU98R10_CHIP1_SET_SCL_LEVEL
(
uint8_t
Level
);
void
BU98R10_CHIP1_SET_SCL_LEVEL
(
uint8_t
Level
);
...
@@ -210,7 +210,7 @@ void BU98R10_CHIP1_SET_SCL_LEVEL(uint8_t Level)
...
@@ -210,7 +210,7 @@ void BU98R10_CHIP1_SET_SCL_LEVEL(uint8_t Level)
// PORT->PM7 &= ~(1<<0);
// PORT->PM7 &= ~(1<<0);
PORT
->
PM7
&=
~
(
1
<<
0
);
PORT
->
PM7
&=
~
(
1
<<
0
);
PORT
->
PSET7
=
(
1
<<
0
);
PORT
->
PSET7
=
(
1
<<
0
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
else
else
{
{
...
@@ -220,7 +220,7 @@ void BU98R10_CHIP1_SET_SCL_LEVEL(uint8_t Level)
...
@@ -220,7 +220,7 @@ void BU98R10_CHIP1_SET_SCL_LEVEL(uint8_t Level)
// PORT->PM7 &= ~(1<<0);
// PORT->PM7 &= ~(1<<0);
PORT
->
PM7
&=
~
(
1
<<
0
);
PORT
->
PM7
&=
~
(
1
<<
0
);
PORT
->
PCLR7
=
(
1
<<
0
);
PORT
->
PCLR7
=
(
1
<<
0
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
}
}
void
BU98R10_CHIP0_SET_SD_DIR
(
uint8_t
Dir
);
void
BU98R10_CHIP0_SET_SD_DIR
(
uint8_t
Dir
);
...
@@ -233,14 +233,14 @@ void BU98R10_CHIP0_SET_SD_DIR(uint8_t Dir)
...
@@ -233,14 +233,14 @@ void BU98R10_CHIP0_SET_SD_DIR(uint8_t Dir)
// PORT->PM0 &= ~(1<<2);
// PORT->PM0 &= ~(1<<2);
// RTE_GPIO_Config(BU98R10_CHIP0_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH);
// RTE_GPIO_Config(BU98R10_CHIP0_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH);
PORT
->
PSET0
=
(
1
<<
2
);
PORT
->
PSET0
=
(
1
<<
2
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
else
else
{
{
//RTE_GPIO_Config(BU98R10_CHIP0_SD, RTE_GPIO_DIR_IN);
//RTE_GPIO_Config(BU98R10_CHIP0_SD, RTE_GPIO_DIR_IN);
// PORT->PM0 |= (1<<2);
// PORT->PM0 |= (1<<2);
PORT
->
PCLR0
=
(
1
<<
2
);
PORT
->
PCLR0
=
(
1
<<
2
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
}
}
void
BU98R10_CHIP1_SET_SD_DIR
(
uint8_t
Dir
);
void
BU98R10_CHIP1_SET_SD_DIR
(
uint8_t
Dir
);
...
@@ -253,14 +253,14 @@ void BU98R10_CHIP1_SET_SD_DIR(uint8_t Dir)
...
@@ -253,14 +253,14 @@ void BU98R10_CHIP1_SET_SD_DIR(uint8_t Dir)
// PORT->P7 |= (1<<2);
// PORT->P7 |= (1<<2);
// PORT->PM7 &= ~(1<<2);
// PORT->PM7 &= ~(1<<2);
PORT
->
PSET7
=
(
1
<<
2
);
PORT
->
PSET7
=
(
1
<<
2
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
else
else
{
{
//RTE_GPIO_Config(BU98R10_CHIP1_SD, RTE_GPIO_DIR_IN);
//RTE_GPIO_Config(BU98R10_CHIP1_SD, RTE_GPIO_DIR_IN);
// PORT->PM7 |= (1<<2);
// PORT->PM7 |= (1<<2);
PORT
->
PCLR7
=
(
1
<<
2
);
PORT
->
PCLR7
=
(
1
<<
2
);
NOP_DelayTime
(
BU98R10_NOP_TIME
);
//
NOP_DelayTime(BU98R10_NOP_TIME);
}
}
}
}
...
@@ -284,7 +284,7 @@ void BU98R10_Init(void)
...
@@ -284,7 +284,7 @@ void BU98R10_Init(void)
#if BU98R10_WRITE_AT_SAME_TIME
#if BU98R10_WRITE_AT_SAME_TIME
#if BU98R10_COLORFUL_LCD_MODE
#if BU98R10_COLORFUL_LCD_MODE
Gen_TimeDelay
(
120
*
1000u
,
50u
);
//
Gen_TimeDelay(120 * 1000u, 50u);
BU98R10_All_Command_Write
(
BU98R10_CMD_SWRST
);
BU98R10_All_Command_Write
(
BU98R10_CMD_SWRST
);
...
...
Firmware/Source/Component/LED_Driver/Simulated_IIC_2_Master.c
View file @
81f0baa7
...
@@ -20,14 +20,16 @@ unsigned char u8SimulatedIIC2ReceivedACK;
...
@@ -20,14 +20,16 @@ unsigned char u8SimulatedIIC2ReceivedACK;
******************************************************************************/
******************************************************************************/
void
Simulated_IIC_2_Init
(
void
)
void
Simulated_IIC_2_Init
(
void
)
{
{
// Gen_TimeDelay(100 * 1000u, 1000u);
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_IN
);
// RTE_GPIO_Config(IIC_SCL_27030,RTE_GPIO_DIR_IN);
PORT
->
PM6
|=
(
1
<<
2
);
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
RTE_GPIO_Config
(
IIC_SDA_27030
,
RTE_GPIO_DIR_IN
);
// RTE_GPIO_Config(IIC_SDA_27030,RTE_GPIO_DIR_IN);
PORT
->
PM6
|=
(
1
<<
3
);
//SIMULATED_IIC_2_SDA_DIR = 0; //SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
//SIMULATED_IIC_2_SDA_DIR = 0; //SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
...
@@ -45,23 +47,29 @@ void Simulated_IIC_2_Start(void)
...
@@ -45,23 +47,29 @@ void Simulated_IIC_2_Start(void)
{
{
u8SimulatedIIC2ReceivedACK
=
SIMULATED_IIC_2_INVALID_ACK
;
u8SimulatedIIC2ReceivedACK
=
SIMULATED_IIC_2_INVALID_ACK
;
RTE_GPIO_Config
(
IIC_SDA_27030
,
RTE_GPIO_DIR_IN
);
// RTE_GPIO_Config(IIC_SDA_27030,RTE_GPIO_DIR_IN);
PORT
->
PM6
|=
(
1
<<
3
);
//SIMULATED_IIC_2_SDA_DIR = 0; //SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
//SIMULATED_IIC_2_SDA_DIR = 0; //SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_IN
);
// RTE_GPIO_Config(IIC_SCL_27030,RTE_GPIO_DIR_IN);
PORT
->
PM6
|=
(
1
<<
2
);
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
RTE_GPIO_Config
(
IIC_SDA_27030
,
RTE_GPIO_DIR_OUT
|
RTE_GPIO_LEVEL_LOW
);
// RTE_GPIO_Config(IIC_SDA_27030, RTE_GPIO_DIR_OUT|RTE_GPIO_LEVEL_LOW);
PORT
->
PM6
&=
~
(
1
<<
3
);
PORT
->
PCLR6
=
(
1
<<
3
);
//SIMULATED_IIC_2_SDA_DIR = 1; //SDA输出0,此时SDA = 0
//SIMULATED_IIC_2_SDA_DIR = 1; //SDA输出0,此时SDA = 0
//SIMULATED_IIC_2_OUT_SDA = 0;
//SIMULATED_IIC_2_OUT_SDA = 0;
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_OUT
|
RTE_GPIO_LEVEL_LOW
);
// RTE_GPIO_Config(IIC_SCL_27030, RTE_GPIO_DIR_OUT|RTE_GPIO_LEVEL_LOW);
PORT
->
PM6
&=
~
(
1
<<
2
);
PORT
->
PCLR6
=
(
1
<<
2
);
//SIMULATED_IIC_2_SCL_DIR = 1; //SCL输出0,此时SCL = 0
//SIMULATED_IIC_2_SCL_DIR = 1; //SCL输出0,此时SCL = 0
//SIMULATED_IIC_2_SCL = 0;
//SIMULATED_IIC_2_SCL = 0;
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
...
@@ -77,18 +85,22 @@ void Simulated_IIC_2_Stop(void)
...
@@ -77,18 +85,22 @@ void Simulated_IIC_2_Stop(void)
{
{
u8SimulatedIIC2ReceivedACK
=
SIMULATED_IIC_2_INVALID_ACK
;
u8SimulatedIIC2ReceivedACK
=
SIMULATED_IIC_2_INVALID_ACK
;
RTE_GPIO_Config
(
IIC_SDA_27030
,
RTE_GPIO_DIR_OUT
|
RTE_GPIO_LEVEL_LOW
);
// RTE_GPIO_Config(IIC_SDA_27030, RTE_GPIO_DIR_OUT|RTE_GPIO_LEVEL_LOW);
PORT
->
PM6
&=
~
(
1
<<
3
);
PORT
->
PCLR6
=
(
1
<<
3
);
//SIMULATED_IIC_2_SDA_DIR = 1; //SDA输出0,此时SDA = 0
//SIMULATED_IIC_2_SDA_DIR = 1; //SDA输出0,此时SDA = 0
//SIMULATED_IIC_2_OUT_SDA = 0;
//SIMULATED_IIC_2_OUT_SDA = 0;
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_IN
);
// RTE_GPIO_Config(IIC_SCL_27030,RTE_GPIO_DIR_IN);
PORT
->
PM6
|=
(
1
<<
2
);
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
RTE_GPIO_Config
(
IIC_SDA_27030
,
RTE_GPIO_DIR_IN
);
// RTE_GPIO_Config(IIC_SDA_27030,RTE_GPIO_DIR_IN);
PORT
->
PM6
|=
(
1
<<
3
);
//SIMULATED_IIC_2_SDA_DIR = 0; //SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
//SIMULATED_IIC_2_SDA_DIR = 0; //SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
...
@@ -109,24 +121,33 @@ void Simulated_IIC_2_Transmit_Data(unsigned char Data)
...
@@ -109,24 +121,33 @@ void Simulated_IIC_2_Transmit_Data(unsigned char Data)
//主机发送器件地址
//主机发送器件地址
for
(
i
=
0
;
i
<
8
;
i
++
)
for
(
i
=
0
;
i
<
8
;
i
++
)
{
{
/* 49:有提高效率的方法么 */
if
(
Data
&
0x80
)
if
(
Data
&
0x80
)
RTE_GPIO_Config
(
IIC_SDA_27030
,
RTE_GPIO_DIR_IN
);
//sda线上是1
// RTE_GPIO_Config(IIC_SDA_27030,RTE_GPIO_DIR_IN);//sda线上是1;
PORT
->
PM6
|=
(
1
<<
3
);
//SIMULATED_IIC_2_SDA_DIR = 0; //SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
//SIMULATED_IIC_2_SDA_DIR = 0; //SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
else
else
{
{
RTE_GPIO_Config
(
IIC_SDA_27030
,
RTE_GPIO_DIR_OUT
|
RTE_GPIO_LEVEL_LOW
);
//sda线上是0
PORT
->
PM6
&=
~
(
1
<<
3
);
PORT
->
PCLR6
=
(
1
<<
3
);
// RTE_GPIO_Config(IIC_SDA_27030, RTE_GPIO_DIR_OUT|RTE_GPIO_LEVEL_LOW);//sda线上是0
//SIMULATED_IIC_2_SDA_DIR = 1; //SDA输出0,此时SDA = 0
//SIMULATED_IIC_2_SDA_DIR = 1; //SDA输出0,此时SDA = 0
//SIMULATED_IIC_2_OUT_SDA = 0;
//SIMULATED_IIC_2_OUT_SDA = 0;
}
}
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_IN
);
//读取sda上的数据
PORT
->
PM6
|=
(
1
<<
2
);
// RTE_GPIO_Config(IIC_SCL_27030,RTE_GPIO_DIR_IN);//读取sda上的数据
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_OUT
|
RTE_GPIO_LEVEL_LOW
);
//拉低scl,允许sda变化
// PORT->PM6 &= ~(1<<3);
// PORT->PCLR6 = (1<<3);
// RTE_GPIO_Config(IIC_SCL_27030, RTE_GPIO_DIR_OUT|RTE_GPIO_LEVEL_LOW);//拉低scl,允许sda变化
PORT
->
PM6
&=
~
(
1
<<
2
);
PORT
->
PCLR6
=
(
1
<<
2
);
//SIMULATED_IIC_2_SCL_DIR = 1; //SCL输出0,此时SCL = 0
//SIMULATED_IIC_2_SCL_DIR = 1; //SCL输出0,此时SCL = 0
//SIMULATED_IIC_2_SCL = 0;
//SIMULATED_IIC_2_SCL = 0;
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
...
@@ -135,12 +156,16 @@ void Simulated_IIC_2_Transmit_Data(unsigned char Data)
...
@@ -135,12 +156,16 @@ void Simulated_IIC_2_Transmit_Data(unsigned char Data)
}
}
//主机接收应答
//主机接收应答
RTE_GPIO_Config
(
IIC_SDA_27030
,
RTE_GPIO_DIR_IN
);
//主机释放总线,从机在sda发送数据
// PORT->PM6 = (1<<3);
// RTE_GPIO_Config(IIC_SDA_27030,RTE_GPIO_DIR_IN);//主机释放总线,从机在sda发送数据
PORT
->
PM6
|=
(
1
<<
3
);
//SIMULATED_IIC_2_SDA_DIR = 0; //设置SDA为输入状态
//SIMULATED_IIC_2_SDA_DIR = 0; //设置SDA为输入状态
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_IN
);
//scl高电平,为了读取从机应答
// PORT->PM6 = (1<<3);
// RTE_GPIO_Config(IIC_SCL_27030,RTE_GPIO_DIR_IN);//scl高电平,为了读取从机应答
PORT
->
PM6
|=
(
1
<<
2
);
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
...
@@ -148,6 +173,8 @@ void Simulated_IIC_2_Transmit_Data(unsigned char Data)
...
@@ -148,6 +173,8 @@ void Simulated_IIC_2_Transmit_Data(unsigned char Data)
u8SimulatedIIC2ReceivedACK
=
RTE_GPIO_Get_Level
(
IIC_SDA_27030
);
//读取从机应答
u8SimulatedIIC2ReceivedACK
=
RTE_GPIO_Get_Level
(
IIC_SDA_27030
);
//读取从机应答
//u8SimulatedIIC2ReceivedACK = SIMULATED_IIC_2_IN_SDA;
//u8SimulatedIIC2ReceivedACK = SIMULATED_IIC_2_IN_SDA;
// PORT->PM6 &= ~(1<<3);
// PORT->PCLR6 = (1<<3);
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_OUT
|
RTE_GPIO_LEVEL_LOW
);
//拉低scl,允许sda变化
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_OUT
|
RTE_GPIO_LEVEL_LOW
);
//拉低scl,允许sda变化
//SIMULATED_IIC_2_SCL_DIR = 1; //SCL输出0,此时SCL = 0
//SIMULATED_IIC_2_SCL_DIR = 1; //SCL输出0,此时SCL = 0
//SIMULATED_IIC_2_SCL = 0;
//SIMULATED_IIC_2_SCL = 0;
...
@@ -167,7 +194,8 @@ unsigned char Simulated_IIC_2_Receive_Data(void)
...
@@ -167,7 +194,8 @@ unsigned char Simulated_IIC_2_Receive_Data(void)
Data
=
0
;
Data
=
0
;
RTE_GPIO_Config
(
IIC_SDA_27030
,
RTE_GPIO_DIR_IN
);
//主机释放总线,从机在sda发送数据
// RTE_GPIO_Config(IIC_SDA_27030,RTE_GPIO_DIR_IN);//主机释放总线,从机在sda发送数据
PORT
->
PM6
|=
(
1
<<
3
);
//SIMULATED_IIC_2_SDA_DIR = 0; //设置SDA为输入状态
//SIMULATED_IIC_2_SDA_DIR = 0; //设置SDA为输入状态
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
...
@@ -176,7 +204,8 @@ unsigned char Simulated_IIC_2_Receive_Data(void)
...
@@ -176,7 +204,8 @@ unsigned char Simulated_IIC_2_Receive_Data(void)
{
{
Data
<<=
1
;
Data
<<=
1
;
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_IN
);
////scl拉高,读取从机发送到总线的数据
// RTE_GPIO_Config(IIC_SCL_27030,RTE_GPIO_DIR_IN);////scl拉高,读取从机发送到总线的数据
PORT
->
PM6
|=
(
1
<<
2
);
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
...
@@ -185,7 +214,9 @@ unsigned char Simulated_IIC_2_Receive_Data(void)
...
@@ -185,7 +214,9 @@ unsigned char Simulated_IIC_2_Receive_Data(void)
Data
|=
RTE_GPIO_Get_Level
(
IIC_SDA_27030
);
//读取从机数据
Data
|=
RTE_GPIO_Get_Level
(
IIC_SDA_27030
);
//读取从机数据
//Data |= SIMULATED_IIC_2_IN_SDA;
//Data |= SIMULATED_IIC_2_IN_SDA;
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_OUT
|
RTE_GPIO_LEVEL_LOW
);
//拉低scl,允许sda变化
// RTE_GPIO_Config(IIC_SCL_27030, RTE_GPIO_DIR_OUT|RTE_GPIO_LEVEL_LOW);//拉低scl,允许sda变化
PORT
->
PM6
&=
~
(
1
<<
2
);
PORT
->
PCLR6
=
(
1
<<
2
);
//SIMULATED_IIC_2_SCL_DIR = 1; //SCL输出0,此时SCL = 0
//SIMULATED_IIC_2_SCL_DIR = 1; //SCL输出0,此时SCL = 0
//SIMULATED_IIC_2_SCL = 0;
//SIMULATED_IIC_2_SCL = 0;
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
...
@@ -210,22 +241,28 @@ void Simulated_IIC_2_Transmit_ACK(unsigned char ACK)
...
@@ -210,22 +241,28 @@ void Simulated_IIC_2_Transmit_ACK(unsigned char ACK)
return
;
return
;
if
(
ACK
)
if
(
ACK
)
RTE_GPIO_Config
(
IIC_SDA_27030
,
RTE_GPIO_DIR_IN
);
//用参数来确定是否发送应答信号
// RTE_GPIO_Config(IIC_SDA_27030,RTE_GPIO_DIR_IN);//用参数来确定是否发送应答信号
PORT
->
PM6
|=
(
1
<<
3
);
//SIMULATED_IIC_2_SDA_DIR = 0; //SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
//SIMULATED_IIC_2_SDA_DIR = 0; //SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
else
else
{
{
RTE_GPIO_Config
(
IIC_SDA_27030
,
RTE_GPIO_DIR_OUT
|
RTE_GPIO_LEVEL_LOW
);
//用参数来确定是否发送应答信号
// RTE_GPIO_Config(IIC_SDA_27030, RTE_GPIO_DIR_OUT|RTE_GPIO_LEVEL_LOW);//用参数来确定是否发送应答信号
PORT
->
PM6
&=
~
(
1
<<
3
);
PORT
->
PCLR6
=
(
1
<<
3
);
//SIMULATED_IIC_2_SDA_DIR = 1; //SDA输出0,此时SDA = 0
//SIMULATED_IIC_2_SDA_DIR = 1; //SDA输出0,此时SDA = 0
//SIMULATED_IIC_2_OUT_SDA = 0;
//SIMULATED_IIC_2_OUT_SDA = 0;
}
}
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_IN
);
//scl高电平,为了读取从机应答
// RTE_GPIO_Config(IIC_SCL_27030,RTE_GPIO_DIR_IN);//scl高电平,为了读取从机应答
PORT
->
PM6
|=
(
1
<<
2
);
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
//SIMULATED_IIC_2_SCL_DIR = 0; //SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_OUT
|
RTE_GPIO_LEVEL_LOW
);
//拉低scl,允许sda变化
RTE_GPIO_Config
(
IIC_SCL_27030
,
RTE_GPIO_DIR_OUT
|
RTE_GPIO_LEVEL_LOW
);
//拉低scl,允许sda变化
PORT
->
PM6
&=
~
(
1
<<
2
);
PORT
->
PCLR6
=
(
1
<<
2
);
//SIMULATED_IIC_2_SCL_DIR = 1; //SCL输出0,此时SCL = 0
//SIMULATED_IIC_2_SCL_DIR = 1; //SCL输出0,此时SCL = 0
//SIMULATED_IIC_2_SCL = 0;
//SIMULATED_IIC_2_SCL = 0;
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
...
...
Firmware/Source/Component/LED_Driver/Simulated_IIC_2_Master.h
View file @
81f0baa7
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
/******************************************************************************
/******************************************************************************
1us延时校准
1us延时校准
******************************************************************************/
******************************************************************************/
#define SIMULATED_IIC_2_FREQ_CALIBRATION
4
0U
#define SIMULATED_IIC_2_FREQ_CALIBRATION
1
0U
/******************************************************************************
/******************************************************************************
确认信号
确认信号
...
...
Firmware/Source/Component/Mileage/Services_Mileage_User.c
View file @
81f0baa7
...
@@ -261,16 +261,16 @@ uint32_t Data_User_EEPROM_Read(uint16_t u16BlockID, uint32_t u32Data[], uint16_t
...
@@ -261,16 +261,16 @@ uint32_t Data_User_EEPROM_Read(uint16_t u16BlockID, uint32_t u32Data[], uint16_t
while
(
trip_writeState
!=
WRITE_COMPLETE
)
while
(
trip_writeState
!=
WRITE_COMPLETE
)
{
{
//eeprom_comm_DelayUs(5000);
//eeprom_comm_DelayUs(5000);
trip_writeState
=
eeprom_WriteRecord
(
EEPROM_BLOCK_03
,
(
uint8_t
*
)
u32Data
,
u16Len
*
4
);
trip_writeState
=
eeprom_WriteRecord
(
EEPROM_BLOCK_03
,
(
uint8_t
*
)
u32Data
,
u16Len
*
4
);
timeout
++
;
timeout
++
;
if
(
trip_writeState
==
WRITE_COMPLETE
)
if
(
trip_writeState
==
WRITE_COMPLETE
)
{
{
break
;
break
;
}
}
if
(
timeout
>=
3
)
if
(
timeout
>=
3
)
{
{
return
;
return
;
}
}
}
}
break
;
break
;
...
...
Firmware/Source/Component/PowerManagement/PowerManag_user.c
View file @
81f0baa7
...
@@ -42,7 +42,6 @@ void PwrMemInit(void)
...
@@ -42,7 +42,6 @@ void PwrMemInit(void)
{
{
PowerMemInit
(
&
g_stPwrTasks
);
PowerMemInit
(
&
g_stPwrTasks
);
}
}
extern
uint8_t
Power_KL30_Init_flag
;
extern
uint8_t
Power_KL30_Init_flag
;
extern
uint8_t
AliveCount_KL30_ResettingFlag
;
extern
uint8_t
AliveCount_KL30_ResettingFlag
;
static
void
Power_KL30_Init
(
void
)
static
void
Power_KL30_Init
(
void
)
...
@@ -50,6 +49,8 @@ static void Power_KL30_Init(void)
...
@@ -50,6 +49,8 @@ static void Power_KL30_Init(void)
CAN_TX_Flag_Init
();
CAN_TX_Flag_Init
();
ClearODO_Flag
=
0
;
ClearODO_Flag
=
0
;
Gpio_Init
(
Gpio_KL30_Init
);
Gpio_Init
(
Gpio_KL30_Init
);
Analog_Signal_Conv_Init
();
Sys_KL30_Init
();
Simulated_IIC_2_Init
();
Simulated_IIC_2_Init
();
eeprom_StoreInfo_Init
();
eeprom_StoreInfo_Init
();
...
@@ -59,12 +60,12 @@ static void Power_KL30_Init(void)
...
@@ -59,12 +60,12 @@ static void Power_KL30_Init(void)
//CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
//CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
DFlash_init
();
DFlash_init
();
Data_Read_DiagPara
();
Data_Read_DiagPara
();
Analog_Signal_Conv_Init
();
BU98R10_Init
();
BU98R10_Init
();
//Uart0_Init(115200);
//Uart0_Init(115200);
//Protocol_KL30_Wakeup_Init();
//Protocol_KL30_Wakeup_Init();
//BlueTooth_KL30_KL15_Wakeup_Init();
//BlueTooth_KL30_KL15_Wakeup_Init();
Sys_KL30_Init
();
Checkself_Init
();
Checkself_Init
();
Data_Vehicle_Speed_KL30_Init
();
Data_Vehicle_Speed_KL30_Init
();
Data_Engine_Speed_KL30_Wakeup_Init
();
Data_Engine_Speed_KL30_Wakeup_Init
();
...
@@ -112,6 +113,7 @@ static void Power_Wakeup_Init(void)
...
@@ -112,6 +113,7 @@ static void Power_Wakeup_Init(void)
PowerIgnOffTimeLine
=
0
;
PowerIgnOffTimeLine
=
0
;
//RTE_CLOCK_Select_Start();
//RTE_CLOCK_Select_Start();
Gpio_Init
(
Gpio_WakeUp_Init
);
Gpio_Init
(
Gpio_WakeUp_Init
);
Gen_TimeDelay
(
100
*
1000u
,
50u
);
Simulated_IIC_2_Init
();
Simulated_IIC_2_Init
();
Can_Init
();
Can_Init
();
...
...
Firmware/Source/UDS/UDS_ISO14229_Services.h
View file @
81f0baa7
...
@@ -312,13 +312,13 @@
...
@@ -312,13 +312,13 @@
#define CheckSumErr 7 // Checksum Error
#define CheckSumErr 7 // Checksum Error
#define UnknownPartID 8 // Unknown Part ID
#define UnknownPartID 8 // Unknown Part ID
#define SWV 0x13
0
// 0x100 = 1.00 software version 软件版本号
#define SWV 0x13
1
// 0x100 = 1.00 software version 软件版本号
#define HWV 0x103 // 0x100 = 1.00 hardware version 硬件版本号
#define HWV 0x103 // 0x100 = 1.00 hardware version 硬件版本号
#define BTV 0x100 // 0x100 = 1.00 bootloader version boot程序版本号
#define BTV 0x100 // 0x100 = 1.00 bootloader version boot程序版本号
#define INTLV 0x13
0
// 0x100 = 1.00 internal version 内部版本号
#define INTLV 0x13
1
// 0x100 = 1.00 internal version 内部版本号
#define PROG_Y 0x25 // 0x24 = 2024年, program year
#define PROG_Y 0x25 // 0x24 = 2024年, program year
#define PROG_M 0x0
1
// 0x03 = 3月, program month
#define PROG_M 0x0
2
// 0x03 = 3月, program month
#define PROG_D 0x
07
// 0x19 = 19日, program day
#define PROG_D 0x
10
// 0x19 = 19日, program day
/******************************************************************************
/******************************************************************************
Bootloader Variable
Bootloader Variable
...
...
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