Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Z
ZhongTong-ZR5-A
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
赵康弘
ZhongTong-ZR5-A
Commits
afdc20fa
Commit
afdc20fa
authored
Sep 24, 2025
by
赵康弘
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
perf: 高边输出驱动控制
parent
f6475d94
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
2322 additions
and
354 deletions
+2322
-354
SGM4591Q.c
GHS/App/SGM4591Q.c
+436
-67
SGM4591Q.h
GHS/App/SGM4591Q.h
+53
-10
TPS2HB35AQPWPRQ1.c
GHS/App/TPS2HB35AQPWPRQ1.c
+788
-237
Driver.gpj
GHS/Driver/Driver.gpj
+8
-2
Simulated_IIC_1_Master.c
GHS/Driver/Simulated_IIC_1_Master.c
+299
-0
Simulated_IIC_1_Master.h
GHS/Driver/Simulated_IIC_1_Master.h
+32
-0
Simulated_IIC_2_Master.c
GHS/Driver/Simulated_IIC_2_Master.c
+37
-37
Simulated_IIC_3_Master.c
GHS/Driver/Simulated_IIC_3_Master.c
+299
-0
Simulated_IIC_3_Master.h
GHS/Driver/Simulated_IIC_3_Master.h
+32
-0
Simulated_IIC_4_Master.c
GHS/Driver/Simulated_IIC_4_Master.c
+299
-0
Simulated_IIC_4_Master.h
GHS/Driver/Simulated_IIC_4_Master.h
+32
-0
Sys_Task_List.c
GHS/System/Sys_Task_List.c
+1
-1
init.c
GHS/System/init.c
+6
-0
No files found.
GHS/App/SGM4591Q.c
View file @
afdc20fa
#include "SGM4591Q.h"
#include "SGM4591Q.h"
#include "Simulated_IIC_1_Master.h"
#include "Simulated_IIC_2_Master.h"
#include "Simulated_IIC_2_Master.h"
#include "Simulated_IIC_3_Master.h"
/*PIN端口控制命令*/
#include "Simulated_IIC_4_Master.h"
uint8_t
SGM4591Q_Chip1_1_PIN0
=
0
;
uint8_t
SGM4591Q_Chip1_1_PIN1
=
0
;
uint8_t
SGM4591Q_Chip1_2_PIN0
=
0
;
uint8_t
SGM4591Q_Chip1_2_PIN1
=
0
;
uint8_t
SGM4591Q_Chip1_3_PIN0
=
0
;
uint8_t
SGM4591Q_Chip1_3_PIN1
=
0
;
uint8_t
SGM4591Q_Chip1_4_PIN0
=
0
;
uint8_t
SGM4591Q_Chip1_4_PIN1
=
0
;
uint8_t
SGM4591Q_Chip2_1_PIN0
=
0
;
uint8_t
SGM4591Q_Chip2_1_PIN1
=
0
;
uint8_t
SGM4591Q_Chip2_2_PIN0
=
0
;
uint8_t
SGM4591Q_Chip2_2_PIN1
=
0
;
uint8_t
SGM4591Q_Chip2_3_PIN0
=
0
;
uint8_t
SGM4591Q_Chip2_3_PIN1
=
0
;
uint8_t
SGM4591Q_Chip2_4_PIN0
=
0
;
uint8_t
SGM4591Q_Chip2_4_PIN1
=
0
;
uint8_t
SGM4591Q_Chip3_1_PIN0
=
0
;
uint8_t
SGM4591Q_Chip3_1_PIN1
=
0
;
uint8_t
SGM4591Q_Chip3_2_PIN0
=
0
;
uint8_t
SGM4591Q_Chip3_2_PIN1
=
0
;
uint8_t
SGM4591Q_Chip3_3_PIN0
=
0
;
uint8_t
SGM4591Q_Chip3_3_PIN1
=
0
;
uint8_t
SGM4591Q_Chip3_4_PIN0
=
0
;
uint8_t
SGM4591Q_Chip3_4_PIN1
=
0
;
uint8_t
SGM4591Q_Chip4_1_PIN0
=
0
;
uint8_t
SGM4591Q_Chip4_1_PIN1
=
0
;
uint8_t
SGM4591Q_Chip4_2_PIN0
=
0
;
uint8_t
SGM4591Q_Chip4_2_PIN1
=
0
;
uint8_t
SGM4591Q_Chip4_3_PIN0
=
0
;
uint8_t
SGM4591Q_Chip4_3_PIN1
=
0
;
uint8_t
SGM4591Q_Chip4_4_PIN0
=
0
;
uint8_t
SGM4591Q_Chip4_4_PIN1
=
0
;
/*发送*/
/*发送*/
void
SGM4591Q_IIC_Send
(
uint8_t
Address
,
uint8_t
Register
,
uint8_t
Function
)
void
SGM4591Q_IIC1_Send
(
uint8_t
Address
,
uint8_t
Register
,
uint8_t
Function
)
{
uint8_t
u8Ack
;
/*开始*/
Simulated_IIC_1_Start
();
/*地址*/
Simulated_IIC_1_Transmit_Data
(
Address
);
/*ACK*/
u8Ack
=
Simulated_IIC_1_Receive_ACK
();
/*寄存器*/
Simulated_IIC_1_Transmit_Data
(
Register
);
/*控制数据*/
Simulated_IIC_1_Transmit_Data
(
Function
);
/*停止*/
Simulated_IIC_1_Stop
();
}
/*发送*/
void
SGM4591Q_IIC2_Send
(
uint8_t
Address
,
uint8_t
Register
,
uint8_t
Function
)
{
{
uint8_t
u8Ack
;
uint8_t
u8Ack
;
/*开始*/
/*开始*/
...
@@ -57,6 +41,40 @@ void SGM4591Q_IIC_Send(uint8_t Address, uint8_t Register, uint8_t Function)
...
@@ -57,6 +41,40 @@ void SGM4591Q_IIC_Send(uint8_t Address, uint8_t Register, uint8_t Function)
/*停止*/
/*停止*/
Simulated_IIC_2_Stop
();
Simulated_IIC_2_Stop
();
}
}
/*发送*/
void
SGM4591Q_IIC3_Send
(
uint8_t
Address
,
uint8_t
Register
,
uint8_t
Function
)
{
uint8_t
u8Ack
;
/*开始*/
Simulated_IIC_3_Start
();
/*地址*/
Simulated_IIC_3_Transmit_Data
(
Address
);
/*ACK*/
u8Ack
=
Simulated_IIC_3_Receive_ACK
();
/*寄存器*/
Simulated_IIC_3_Transmit_Data
(
Register
);
/*控制数据*/
Simulated_IIC_3_Transmit_Data
(
Function
);
/*停止*/
Simulated_IIC_3_Stop
();
}
/*发送*/
void
SGM4591Q_IIC4_Send
(
uint8_t
Address
,
uint8_t
Register
,
uint8_t
Function
)
{
uint8_t
u8Ack
;
/*开始*/
Simulated_IIC_4_Start
();
/*地址*/
Simulated_IIC_4_Transmit_Data
(
Address
);
/*ACK*/
u8Ack
=
Simulated_IIC_4_Receive_ACK
();
/*寄存器*/
Simulated_IIC_4_Transmit_Data
(
Register
);
/*控制数据*/
Simulated_IIC_4_Transmit_Data
(
Function
);
/*停止*/
Simulated_IIC_4_Stop
();
}
/*接收*/
/*接收*/
void
SGM4591Q_IIC_Receive
(
void
)
void
SGM4591Q_IIC_Receive
(
void
)
{
{
...
@@ -71,28 +89,100 @@ void SGM4591Q_Init(void);
...
@@ -71,28 +89,100 @@ void SGM4591Q_Init(void);
void
SGM4591Q_Init
(
void
)
void
SGM4591Q_Init
(
void
)
{
{
/*U59:A0低,A1低*/
/*U59:A0低,A1低*/
SGM4591Q_IIC_Send
(
0xE8
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC
1
_Send
(
0xE8
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC_Send
(
0xE8
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC
1
_Send
(
0xE8
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC_Send
(
0xE8
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC
1
_Send
(
0xE8
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC_Send
(
0xE8
,
0x09
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC
1
_Send
(
0xE8
,
0x09
,
0xFF
);
/*推挽输出*/
/*U71:A0低,A1高*/
/*U71:A0低,A1高*/
SGM4591Q_IIC_Send
(
0xEC
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC
1
_Send
(
0xEC
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC_Send
(
0xEC
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC
1
_Send
(
0xEC
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC_Send
(
0xEC
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC
1
_Send
(
0xEC
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC_Send
(
0xEC
,
0x09
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC
1
_Send
(
0xEC
,
0x09
,
0xFF
);
/*推挽输出*/
/*U72:A0高,A1低*/
/*U72:A0高,A1低*/
SGM4591Q_IIC_Send
(
0xEA
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC
1
_Send
(
0xEA
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC_Send
(
0xEA
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC
1
_Send
(
0xEA
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC_Send
(
0xEA
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC
1
_Send
(
0xEA
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC_Send
(
0xEA
,
0x09
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC
1
_Send
(
0xEA
,
0x09
,
0xFF
);
/*推挽输出*/
/*U69:A0高,A1高*/
/*U69:A0高,A1高*/
SGM4591Q_IIC_Send
(
0xEE
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC1_Send
(
0xEE
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC_Send
(
0xEE
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC1_Send
(
0xEE
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC_Send
(
0xEE
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC1_Send
(
0xEE
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC_Send
(
0xEE
,
0x09
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC1_Send
(
0xEE
,
0x09
,
0xFF
);
/*推挽输出*/
/***********************************************************/
/*U62:A0低,A1低*/
SGM4591Q_IIC2_Send
(
0xE8
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC2_Send
(
0xE8
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC2_Send
(
0xE8
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC2_Send
(
0xE8
,
0x09
,
0xFF
);
/*推挽输出*/
/*U64:A0低,A1高*/
SGM4591Q_IIC2_Send
(
0xEC
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC2_Send
(
0xEC
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC2_Send
(
0xEC
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC2_Send
(
0xEC
,
0x09
,
0xFF
);
/*推挽输出*/
/*U70:A0高,A1低*/
SGM4591Q_IIC2_Send
(
0xEA
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC2_Send
(
0xEA
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC2_Send
(
0xEA
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC2_Send
(
0xEA
,
0x09
,
0xFF
);
/*推挽输出*/
/*U76:A0高,A1高*/
SGM4591Q_IIC2_Send
(
0xEE
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC2_Send
(
0xEE
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC2_Send
(
0xEE
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC2_Send
(
0xEE
,
0x09
,
0xFF
);
/*推挽输出*/
/***********************************************************/
/*U61:A0低,A1低*/
SGM4591Q_IIC3_Send
(
0xE8
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC3_Send
(
0xE8
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC3_Send
(
0xE8
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC3_Send
(
0xE8
,
0x09
,
0xFF
);
/*推挽输出*/
/*U74:A0低,A1高*/
SGM4591Q_IIC3_Send
(
0xEC
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC3_Send
(
0xEC
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC3_Send
(
0xEC
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC3_Send
(
0xEC
,
0x09
,
0xFF
);
/*推挽输出*/
/*U67:A0高,A1低*/
SGM4591Q_IIC3_Send
(
0xEA
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC3_Send
(
0xEA
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC3_Send
(
0xEA
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC3_Send
(
0xEA
,
0x09
,
0xFF
);
/*推挽输出*/
/*U66:A0高,A1高*/
SGM4591Q_IIC3_Send
(
0xEE
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC3_Send
(
0xEE
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC3_Send
(
0xEE
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC3_Send
(
0xEE
,
0x09
,
0xFF
);
/*推挽输出*/
/***********************************************************/
/*U60:A0低,A1低*/
SGM4591Q_IIC4_Send
(
0xE8
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC4_Send
(
0xE8
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC4_Send
(
0xE8
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC4_Send
(
0xE8
,
0x09
,
0xFF
);
/*推挽输出*/
/*U75:A0低,A1高*/
SGM4591Q_IIC4_Send
(
0xEC
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC4_Send
(
0xEC
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC4_Send
(
0xEC
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC4_Send
(
0xEC
,
0x09
,
0xFF
);
/*推挽输出*/
/*U77:A0高,A1低*/
SGM4591Q_IIC4_Send
(
0xEA
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC4_Send
(
0xEA
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC4_Send
(
0xEA
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC4_Send
(
0xEA
,
0x09
,
0xFF
);
/*推挽输出*/
/*U65:A0高,A1高*/
SGM4591Q_IIC4_Send
(
0xEE
,
0x06
,
0
);
/*P0组引脚为输出*/
SGM4591Q_IIC4_Send
(
0xEE
,
0x07
,
0
);
/*P1组引脚为输出*/
SGM4591Q_IIC4_Send
(
0xEE
,
0x08
,
0xFF
);
/*推挽输出*/
SGM4591Q_IIC4_Send
(
0xEE
,
0x09
,
0xFF
);
/*推挽输出*/
}
}
uint8_t
SGM4591Q_U7_Out_P0
=
0xFF
;
uint8_t
SGM4591Q_U7_Out_P0
=
0xFF
;
...
@@ -127,94 +217,373 @@ void SGM4591Q_Control(void)
...
@@ -127,94 +217,373 @@ void SGM4591Q_Control(void)
// if (SGM4591Q_U7_Out_Keep_P0 != SGM4591Q_U7_Out_P0)
// if (SGM4591Q_U7_Out_Keep_P0 != SGM4591Q_U7_Out_P0)
// {
// {
// SGM4591Q_IIC_Send(0xEA, 0x02, SGM4591Q_U7_Out_P0);
// SGM4591Q_IIC
2
_Send(0xEA, 0x02, SGM4591Q_U7_Out_P0);
// SGM4591Q_U7_Out_Keep_P0 = SGM4591Q_U7_Out_P0;
// SGM4591Q_U7_Out_Keep_P0 = SGM4591Q_U7_Out_P0;
// }
// }
// if (SGM4591Q_U7_Out_Keep_P1 != SGM4591Q_U7_Out_P1)
// if (SGM4591Q_U7_Out_Keep_P1 != SGM4591Q_U7_Out_P1)
// {
// {
// SGM4591Q_IIC_Send(0xEA, 0x03, SGM4591Q_U7_Out_P1);
// SGM4591Q_IIC
2
_Send(0xEA, 0x03, SGM4591Q_U7_Out_P1);
// SGM4591Q_U7_Out_Keep_P1 = SGM4591Q_U7_Out_P1;
// SGM4591Q_U7_Out_Keep_P1 = SGM4591Q_U7_Out_P1;
// }
// }
if
(
SGM4591Q_U9_Out_Keep_P0
!=
SGM4591Q_U9_Out_P0
)
if
(
SGM4591Q_U9_Out_Keep_P0
!=
SGM4591Q_U9_Out_P0
)
{
{
/*设置端口输出电平高低*/
/*设置端口输出电平高低*/
SGM4591Q_IIC_Send
(
0xE8
,
0x02
,
SGM4591Q_U9_Out_P0
);
SGM4591Q_IIC
2
_Send
(
0xE8
,
0x02
,
SGM4591Q_U9_Out_P0
);
SGM4591Q_U9_Out_Keep_P0
=
SGM4591Q_U9_Out_P0
;
SGM4591Q_U9_Out_Keep_P0
=
SGM4591Q_U9_Out_P0
;
}
}
if
(
SGM4591Q_U9_Out_Keep_P1
!=
SGM4591Q_U9_Out_P1
)
if
(
SGM4591Q_U9_Out_Keep_P1
!=
SGM4591Q_U9_Out_P1
)
{
{
/*设置端口输出电平高低*/
/*设置端口输出电平高低*/
SGM4591Q_IIC_Send
(
0xE8
,
0x03
,
SGM4591Q_U9_Out_P1
);
SGM4591Q_IIC
2
_Send
(
0xE8
,
0x03
,
SGM4591Q_U9_Out_P1
);
SGM4591Q_U9_Out_Keep_P1
=
SGM4591Q_U9_Out_P1
;
SGM4591Q_U9_Out_Keep_P1
=
SGM4591Q_U9_Out_P1
;
}
}
}
}
uint8_t
SGM4591Q_Chip1_1_Segment0_Last
;
uint8_t
SGM4591Q_Chip1_1_Segment1_Last
;
uint8_t
SGM4591Q_Chip1_2_Segment0_Last
;
uint8_t
SGM4591Q_Chip1_2_Segment1_Last
;
uint8_t
SGM4591Q_Chip1_3_Segment0_Last
;
uint8_t
SGM4591Q_Chip1_3_Segment1_Last
;
uint8_t
SGM4591Q_Chip1_4_Segment0_Last
;
uint8_t
SGM4591Q_Chip1_4_Segment1_Last
;
uint8_t
SGM4591Q_Chip2_1_Segment0_Last
;
uint8_t
SGM4591Q_Chip2_1_Segment1_Last
;
uint8_t
SGM4591Q_Chip2_2_Segment0_Last
;
uint8_t
SGM4591Q_Chip2_2_Segment1_Last
;
uint8_t
SGM4591Q_Chip2_3_Segment0_Last
;
uint8_t
SGM4591Q_Chip2_3_Segment1_Last
;
uint8_t
SGM4591Q_Chip2_4_Segment0_Last
;
uint8_t
SGM4591Q_Chip2_4_Segment1_Last
;
uint8_t
SGM4591Q_Chip3_1_Segment0_Last
;
uint8_t
SGM4591Q_Chip3_1_Segment1_Last
;
uint8_t
SGM4591Q_Chip3_2_Segment0_Last
;
uint8_t
SGM4591Q_Chip3_2_Segment1_Last
;
uint8_t
SGM4591Q_Chip3_3_Segment0_Last
;
uint8_t
SGM4591Q_Chip3_3_Segment1_Last
;
uint8_t
SGM4591Q_Chip3_4_Segment0_Last
;
uint8_t
SGM4591Q_Chip3_4_Segment1_Last
;
uint8_t
SGM4591Q_Chip4_1_Segment0_Last
;
uint8_t
SGM4591Q_Chip4_1_Segment1_Last
;
uint8_t
SGM4591Q_Chip4_2_Segment0_Last
;
uint8_t
SGM4591Q_Chip4_2_Segment1_Last
;
uint8_t
SGM4591Q_Chip4_3_Segment0_Last
;
uint8_t
SGM4591Q_Chip4_3_Segment1_Last
;
uint8_t
SGM4591Q_Chip4_4_Segment0_Last
;
uint8_t
SGM4591Q_Chip4_4_Segment1_Last
;
/*多次对引脚的控制,后面的操作不能影响之前的控制*/
/*多次对引脚的控制,后面的操作不能影响之前的控制*/
/*
/*
Chip:片选
Chip:片选
Segment:段P0/P1
Segment:段P0/P1
PIN:端口0--7
PIN:端口0--7
*/
*/
void
SGM4591Q_Global_Control
(
uint8_t
Chip
,
uint8_t
Segment
,
uint8_t
PIN
)
void
SGM4591Q_Global_Control
(
uint8_t
Chip
,
uint8_t
Segment
)
{
{
switch
(
Chip
)
switch
(
Chip
)
{
{
case
SGM4591Q_Chip1_1
:
case
SGM4591Q_Chip1_1
:
if
(
Segment
==
SGM4591Q_Segment0
)
if
(
Segment
==
SGM4591Q_Segment0
)
{
{
SGM4591Q_IIC_Send
(
0xE8
,
0x02
,
SGM4591Q_U9_Out_P0
);
if
(
SGM4591Q_Chip1_1_Segment0
.
UINT8
!=
SGM4591Q_Chip1_1_Segment0_Last
)
}
{
else
SGM4591Q_IIC2_Send
(
0xE8
,
0x02
,
SGM4591Q_Chip1_1_Segment0
.
UINT8
);
{
SGM4591Q_Chip1_1_Segment0_Last
=
SGM4591Q_Chip1_1_Segment0
.
UINT8
;
SGM4591Q_IIC_Send
(
0xE8
,
0x02
,
SGM4591Q_U9_Out_P0
);
}
}
}
else
{
if
(
SGM4591Q_Chip1_1_Segment1
.
UINT8
!=
SGM4591Q_Chip1_1_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xE8
,
0x03
,
SGM4591Q_Chip1_1_Segment1
.
UINT8
);
SGM4591Q_Chip1_1_Segment1_Last
=
SGM4591Q_Chip1_1_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip1_2
:
case
SGM4591Q_Chip1_2
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip1_2_Segment0
.
UINT8
!=
SGM4591Q_Chip1_2_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xEC
,
0x02
,
SGM4591Q_Chip1_2_Segment0
.
UINT8
);
SGM4591Q_Chip1_2_Segment0_Last
=
SGM4591Q_Chip1_2_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip1_2_Segment1
.
UINT8
!=
SGM4591Q_Chip1_2_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xEC
,
0x03
,
SGM4591Q_Chip1_2_Segment1
.
UINT8
);
SGM4591Q_Chip1_2_Segment1_Last
=
SGM4591Q_Chip1_2_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip1_3
:
case
SGM4591Q_Chip1_3
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip1_3_Segment0
.
UINT8
!=
SGM4591Q_Chip1_3_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xEA
,
0x02
,
SGM4591Q_Chip1_3_Segment0
.
UINT8
);
SGM4591Q_Chip1_3_Segment0_Last
=
SGM4591Q_Chip1_3_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip1_3_Segment1
.
UINT8
!=
SGM4591Q_Chip1_3_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xEA
,
0x03
,
SGM4591Q_Chip1_3_Segment1
.
UINT8
);
SGM4591Q_Chip1_3_Segment1_Last
=
SGM4591Q_Chip1_3_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip1_4
:
case
SGM4591Q_Chip1_4
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip1_4_Segment0
.
UINT8
!=
SGM4591Q_Chip1_4_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xEE
,
0x02
,
SGM4591Q_Chip1_4_Segment0
.
UINT8
);
SGM4591Q_Chip1_4_Segment0_Last
=
SGM4591Q_Chip1_4_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip1_4_Segment1
.
UINT8
!=
SGM4591Q_Chip1_4_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xEE
,
0x03
,
SGM4591Q_Chip1_4_Segment1
.
UINT8
);
SGM4591Q_Chip1_4_Segment1_Last
=
SGM4591Q_Chip1_4_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip2_1
:
case
SGM4591Q_Chip2_1
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip2_1_Segment0
.
UINT8
!=
SGM4591Q_Chip2_1_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xE8
,
0x02
,
SGM4591Q_Chip2_1_Segment0
.
UINT8
);
SGM4591Q_Chip2_1_Segment0_Last
=
SGM4591Q_Chip2_1_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip2_1_Segment1
.
UINT8
!=
SGM4591Q_Chip2_1_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xE8
,
0x03
,
SGM4591Q_Chip2_1_Segment1
.
UINT8
);
SGM4591Q_Chip2_1_Segment1_Last
=
SGM4591Q_Chip2_1_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip2_2
:
case
SGM4591Q_Chip2_2
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip2_2_Segment0
.
UINT8
!=
SGM4591Q_Chip2_2_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xEC
,
0x02
,
SGM4591Q_Chip2_2_Segment0
.
UINT8
);
SGM4591Q_Chip2_2_Segment0_Last
=
SGM4591Q_Chip2_2_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip2_2_Segment1
.
UINT8
!=
SGM4591Q_Chip2_2_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xEC
,
0x03
,
SGM4591Q_Chip2_2_Segment1
.
UINT8
);
SGM4591Q_Chip2_2_Segment1_Last
=
SGM4591Q_Chip2_2_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip2_3
:
case
SGM4591Q_Chip2_3
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip2_3_Segment0
.
UINT8
!=
SGM4591Q_Chip2_3_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xEA
,
0x02
,
SGM4591Q_Chip2_3_Segment0
.
UINT8
);
SGM4591Q_Chip2_3_Segment0_Last
=
SGM4591Q_Chip2_3_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip2_3_Segment1
.
UINT8
!=
SGM4591Q_Chip2_3_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xEA
,
0x03
,
SGM4591Q_Chip2_3_Segment1
.
UINT8
);
SGM4591Q_Chip2_3_Segment1_Last
=
SGM4591Q_Chip2_3_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip2_4
:
case
SGM4591Q_Chip2_4
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip1_4_Segment0
.
UINT8
!=
SGM4591Q_Chip1_4_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xEE
,
0x02
,
SGM4591Q_Chip1_4_Segment0
.
UINT8
);
SGM4591Q_Chip1_4_Segment0_Last
=
SGM4591Q_Chip1_4_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip1_4_Segment1
.
UINT8
!=
SGM4591Q_Chip1_4_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xEE
,
0x03
,
SGM4591Q_Chip1_4_Segment1
.
UINT8
);
SGM4591Q_Chip1_4_Segment1_Last
=
SGM4591Q_Chip1_4_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip3_1
:
case
SGM4591Q_Chip3_1
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip3_1_Segment0
.
UINT8
!=
SGM4591Q_Chip3_1_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xE8
,
0x02
,
SGM4591Q_Chip3_1_Segment0
.
UINT8
);
SGM4591Q_Chip3_1_Segment0_Last
=
SGM4591Q_Chip3_1_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip3_1_Segment1
.
UINT8
!=
SGM4591Q_Chip3_1_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xE8
,
0x03
,
SGM4591Q_Chip3_1_Segment1
.
UINT8
);
SGM4591Q_Chip3_1_Segment1_Last
=
SGM4591Q_Chip3_1_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip3_2
:
case
SGM4591Q_Chip3_2
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip3_2_Segment0
.
UINT8
!=
SGM4591Q_Chip3_2_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xEC
,
0x02
,
SGM4591Q_Chip3_2_Segment0
.
UINT8
);
SGM4591Q_Chip3_2_Segment0_Last
=
SGM4591Q_Chip3_2_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip3_2_Segment1
.
UINT8
!=
SGM4591Q_Chip3_2_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xEC
,
0x03
,
SGM4591Q_Chip3_2_Segment1
.
UINT8
);
SGM4591Q_Chip3_2_Segment1_Last
=
SGM4591Q_Chip3_2_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip3_3
:
case
SGM4591Q_Chip3_3
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip3_3_Segment0
.
UINT8
!=
SGM4591Q_Chip3_3_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xEA
,
0x02
,
SGM4591Q_Chip3_3_Segment0
.
UINT8
);
SGM4591Q_Chip3_3_Segment0_Last
=
SGM4591Q_Chip3_3_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip3_3_Segment1
.
UINT8
!=
SGM4591Q_Chip3_3_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xEA
,
0x03
,
SGM4591Q_Chip3_3_Segment1
.
UINT8
);
SGM4591Q_Chip3_3_Segment1_Last
=
SGM4591Q_Chip3_3_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip3_4
:
case
SGM4591Q_Chip3_4
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip1_4_Segment0
.
UINT8
!=
SGM4591Q_Chip1_4_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xEE
,
0x02
,
SGM4591Q_Chip1_4_Segment0
.
UINT8
);
SGM4591Q_Chip1_4_Segment0_Last
=
SGM4591Q_Chip1_4_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip1_4_Segment1
.
UINT8
!=
SGM4591Q_Chip1_4_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xEE
,
0x03
,
SGM4591Q_Chip1_4_Segment1
.
UINT8
);
SGM4591Q_Chip1_4_Segment1_Last
=
SGM4591Q_Chip1_4_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip4_1
:
case
SGM4591Q_Chip4_1
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip4_1_Segment0
.
UINT8
!=
SGM4591Q_Chip4_1_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xE8
,
0x02
,
SGM4591Q_Chip4_1_Segment0
.
UINT8
);
SGM4591Q_Chip4_1_Segment0_Last
=
SGM4591Q_Chip4_1_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip4_1_Segment1
.
UINT8
!=
SGM4591Q_Chip4_1_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xE8
,
0x03
,
SGM4591Q_Chip4_1_Segment1
.
UINT8
);
SGM4591Q_Chip4_1_Segment1_Last
=
SGM4591Q_Chip4_1_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip4_2
:
case
SGM4591Q_Chip4_2
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip4_2_Segment0
.
UINT8
!=
SGM4591Q_Chip4_2_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xEC
,
0x02
,
SGM4591Q_Chip4_2_Segment0
.
UINT8
);
SGM4591Q_Chip4_2_Segment0_Last
=
SGM4591Q_Chip4_2_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip4_2_Segment1
.
UINT8
!=
SGM4591Q_Chip4_2_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xEC
,
0x03
,
SGM4591Q_Chip4_2_Segment1
.
UINT8
);
SGM4591Q_Chip4_2_Segment1_Last
=
SGM4591Q_Chip4_2_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip4_3
:
case
SGM4591Q_Chip4_3
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip4_3_Segment0
.
UINT8
!=
SGM4591Q_Chip4_3_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xEA
,
0x02
,
SGM4591Q_Chip4_3_Segment0
.
UINT8
);
SGM4591Q_Chip4_3_Segment0_Last
=
SGM4591Q_Chip4_3_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip4_3_Segment1
.
UINT8
!=
SGM4591Q_Chip4_3_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xEA
,
0x03
,
SGM4591Q_Chip4_3_Segment1
.
UINT8
);
SGM4591Q_Chip4_3_Segment1_Last
=
SGM4591Q_Chip4_3_Segment1
.
UINT8
;
}
}
break
;
break
;
case
SGM4591Q_Chip4_4
:
case
SGM4591Q_Chip4_4
:
if
(
Segment
==
SGM4591Q_Segment0
)
{
if
(
SGM4591Q_Chip1_4_Segment0
.
UINT8
!=
SGM4591Q_Chip1_4_Segment0_Last
)
{
SGM4591Q_IIC2_Send
(
0xEE
,
0x02
,
SGM4591Q_Chip1_4_Segment0
.
UINT8
);
SGM4591Q_Chip1_4_Segment0_Last
=
SGM4591Q_Chip1_4_Segment0
.
UINT8
;
}
}
else
{
if
(
SGM4591Q_Chip1_4_Segment1
.
UINT8
!=
SGM4591Q_Chip1_4_Segment1_Last
)
{
SGM4591Q_IIC2_Send
(
0xEE
,
0x03
,
SGM4591Q_Chip1_4_Segment1
.
UINT8
);
SGM4591Q_Chip1_4_Segment1_Last
=
SGM4591Q_Chip1_4_Segment1
.
UINT8
;
}
}
break
;
break
;
...
...
GHS/App/SGM4591Q.h
View file @
afdc20fa
...
@@ -28,16 +28,59 @@ typedef enum
...
@@ -28,16 +28,59 @@ typedef enum
SGM4591Q_Segment1
,
SGM4591Q_Segment1
,
}
SGM4591Q_Segment
;
}
SGM4591Q_Segment
;
/*SGM4591Q端口*/
typedef
struct
#define SGM4591Q_PIN0 0x01u
{
#define SGM4591Q_PIN1 0x02u
uint8_t
PIN_0
:
1
;
#define SGM4591Q_PIN2 0x04u
uint8_t
PIN_1
:
1
;
#define SGM4591Q_PIN3 0x08u
uint8_t
PIN_2
:
1
;
#define SGM4591Q_PIN4 0x10u
uint8_t
PIN_3
:
1
;
#define SGM4591Q_PIN5 0x20u
uint8_t
PIN_4
:
1
;
#define SGM4591Q_PIN6 0x40u
uint8_t
PIN_5
:
1
;
#define SGM4591Q_PIN7 0x80u
uint8_t
PIN_6
:
1
;
uint8_t
PIN_7
:
1
;
}
SGM4591Q_Bit_st
;
typedef
union
{
uint8_t
UINT8
;
SGM4591Q_Bit_st
BIT
;
}
SGM4591Q_Pin_en
;
/*PIN端口控制命令*/
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip1_1_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip1_1_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip1_2_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip1_2_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip1_3_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip1_3_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip1_4_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip1_4_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip2_1_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip2_1_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip2_2_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip2_2_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip2_3_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip2_3_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip2_4_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip2_4_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip3_1_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip3_1_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip3_2_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip3_2_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip3_3_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip3_3_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip3_4_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip3_4_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip4_1_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip4_1_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip4_2_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip4_2_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip4_3_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip4_3_Segment1
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip4_4_Segment0
;
extern
volatile
SGM4591Q_Pin_en
SGM4591Q_Chip4_4_Segment1
;
extern
uint16_t
ADC_4
;
extern
uint16_t
ADC_4
;
void
SGM4591Q_
IIC_Send
(
uint8_t
Address
,
uint8_t
Register
,
uint8_t
Function
);
void
SGM4591Q_
Global_Control
(
uint8_t
Chip
,
uint8_t
Segment
);
void
SGM4591Q_Control
(
void
);
void
SGM4591Q_Control
(
void
);
GHS/App/TPS2HB35AQPWPRQ1.c
View file @
afdc20fa
#include "TPS2HB35AQPWPRQ1.h"
#include "TPS2HB35AQPWPRQ1.h"
#include "SGM4591Q.h"
#include "SGM4591Q.h"
/*3A外发12片*2路*/
/*3A外发12片*2路*/
/*3A_OUT1*/
/*3A_OUT1*/
void
TPS2HB35_SetOutput3A_OUT1
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT1
(
uint8_t
state
)
{
{
static
Output3A_OUT1
=
0
;
static
uint8_t
Output3A_OUT1
=
0
;
if
(
Output3A_OUT1
!=
state
)
if
(
Output3A_OUT1
!=
state
)
{
{
if
(
state
==
1
)
if
(
state
==
1
)
{
{
SGM4591Q_
IIC_Send
(
0xE8
,
0x02
,
SGM4591Q_U9_Out_P0
)
;
SGM4591Q_
Chip2_1_Segment1
.
BIT
.
PIN_2
=
1
;
}
}
else
else
{
{
SGM4591Q_
IIC_Send
(
0xE8
,
0x02
,
SGM4591Q_U9_Out_P0
)
;
SGM4591Q_
Chip2_1_Segment1
.
BIT
.
PIN_2
=
0
;
}
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_1
,
SGM4591Q_Segment1
);
Output3A_OUT1
=
state
;
Output3A_OUT1
=
state
;
}
}
}
}
/*3A_OUT2*/
/*3A_OUT2*/
void
TPS2HB35_SetOutput3A_OUT2
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT2
(
uint8_t
state
)
{
{
static
Output3A_OUT2
=
0
;
static
uint8_t
Output3A_OUT2
=
0
;
if
(
Output3A_OUT2
!=
state
)
if
(
Output3A_OUT2
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_1_Segment0
.
BIT
.
PIN_0
=
1
;
}
else
{
SGM4591Q_Chip2_1_Segment0
.
BIT
.
PIN_0
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_1
,
SGM4591Q_Segment0
);
Output3A_OUT2
=
state
;
Output3A_OUT2
=
state
;
}
}
}
}
/*3A_OUT3*/
/*3A_OUT3*/
void
TPS2HB35_SetOutput3A_OUT3
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT3
(
uint8_t
state
)
{
{
static
Output3A_OUT3
=
0
;
static
uint8_t
Output3A_OUT3
=
0
;
if
(
Output3A_OUT3
!=
state
)
if
(
Output3A_OUT3
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_1_Segment0
.
BIT
.
PIN_3
=
1
;
}
else
{
SGM4591Q_Chip2_1_Segment0
.
BIT
.
PIN_3
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_1
,
SGM4591Q_Segment0
);
Output3A_OUT3
=
state
;
Output3A_OUT3
=
state
;
}
}
}
}
/*3A_OUT4*/
/*3A_OUT4*/
void
TPS2HB35_SetOutput3A_OUT4
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT4
(
uint8_t
state
)
{
{
static
Output3A_OUT4
=
0
;
static
uint8_t
Output3A_OUT4
=
0
;
if
(
Output3A_OUT4
!=
state
)
if
(
Output3A_OUT4
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_1_Segment0
.
BIT
.
PIN_6
=
1
;
}
else
{
SGM4591Q_Chip2_1_Segment0
.
BIT
.
PIN_6
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_1
,
SGM4591Q_Segment0
);
Output3A_OUT4
=
state
;
Output3A_OUT4
=
state
;
}
}
}
}
/*3A_OUT5*/
/*3A_OUT5*/
void
TPS2HB35_SetOutput3A_OUT5
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT5
(
uint8_t
state
)
{
{
static
Output3A_OUT5
=
0
;
static
uint8_t
Output3A_OUT5
=
0
;
if
(
Output3A_OUT5
!=
state
)
if
(
Output3A_OUT5
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_1_Segment1
.
BIT
.
PIN_2
=
1
;
}
else
{
SGM4591Q_Chip4_1_Segment1
.
BIT
.
PIN_2
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_1
,
SGM4591Q_Segment1
);
Output3A_OUT5
=
state
;
Output3A_OUT5
=
state
;
}
}
}
}
/*3A_OUT6*/
/*3A_OUT6*/
void
TPS2HB35_SetOutput3A_OUT6
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT6
(
uint8_t
state
)
{
{
static
Output3A_OUT6
=
0
;
static
uint8_t
Output3A_OUT6
=
0
;
if
(
Output3A_OUT6
!=
state
)
if
(
Output3A_OUT6
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_1_Segment1
.
BIT
.
PIN_4
=
1
;
}
else
{
SGM4591Q_Chip4_1_Segment1
.
BIT
.
PIN_4
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_1
,
SGM4591Q_Segment1
);
Output3A_OUT6
=
state
;
Output3A_OUT6
=
state
;
}
}
}
}
/*3A_OUT7*/
/*3A_OUT7*/
void
TPS2HB35_SetOutput3A_OUT7
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT7
(
uint8_t
state
)
{
{
static
Output3A_OUT7
=
0
;
static
uint8_t
Output3A_OUT7
=
0
;
if
(
Output3A_OUT7
!=
state
)
if
(
Output3A_OUT7
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_1_Segment1
.
BIT
.
PIN_5
=
1
;
}
else
{
SGM4591Q_Chip2_1_Segment1
.
BIT
.
PIN_5
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_1
,
SGM4591Q_Segment1
);
Output3A_OUT7
=
state
;
Output3A_OUT7
=
state
;
}
}
}
}
/*3A_OUT8*/
/*3A_OUT8*/
void
TPS2HB35_SetOutput3A_OUT8
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT8
(
uint8_t
state
)
{
{
static
Output3A_OUT8
=
0
;
static
uint8_t
Output3A_OUT8
=
0
;
if
(
Output3A_OUT8
!=
state
)
if
(
Output3A_OUT8
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_2_Segment0
.
BIT
.
PIN_1
=
1
;
}
else
{
SGM4591Q_Chip2_2_Segment0
.
BIT
.
PIN_1
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_2
,
SGM4591Q_Segment0
);
Output3A_OUT8
=
state
;
Output3A_OUT8
=
state
;
}
}
}
}
/*3A_OUT9*/
/*3A_OUT9*/
void
TPS2HB35_SetOutput3A_OUT9
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT9
(
uint8_t
state
)
{
{
static
Output3A_OUT9
=
0
;
static
uint8_t
Output3A_OUT9
=
0
;
if
(
Output3A_OUT9
!=
state
)
if
(
Output3A_OUT9
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_2_Segment0
.
BIT
.
PIN_2
=
1
;
}
else
{
SGM4591Q_Chip2_2_Segment0
.
BIT
.
PIN_2
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_2
,
SGM4591Q_Segment0
);
Output3A_OUT9
=
state
;
Output3A_OUT9
=
state
;
}
}
}
}
/*3A_OUT10*/
/*3A_OUT10*/
void
TPS2HB35_SetOutput3A_OUT10
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT10
(
uint8_t
state
)
{
{
static
Output3A_OUT10
=
0
;
static
uint8_t
Output3A_OUT10
=
0
;
if
(
Output3A_OUT10
!=
state
)
if
(
Output3A_OUT10
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_2_Segment0
.
BIT
.
PIN_7
=
1
;
}
else
{
SGM4591Q_Chip2_2_Segment0
.
BIT
.
PIN_7
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_2
,
SGM4591Q_Segment0
);
Output3A_OUT10
=
state
;
Output3A_OUT10
=
state
;
}
}
}
}
/*3A_OUT11*/
/*3A_OUT11*/
void
TPS2HB35_SetOutput3A_OUT11
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT11
(
uint8_t
state
)
{
{
static
Output3A_OUT11
=
0
;
static
uint8_t
Output3A_OUT11
=
0
;
if
(
Output3A_OUT11
!=
state
)
if
(
Output3A_OUT11
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_2_Segment1
.
BIT
.
PIN_0
=
1
;
}
else
{
SGM4591Q_Chip2_2_Segment1
.
BIT
.
PIN_0
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_2
,
SGM4591Q_Segment1
);
Output3A_OUT11
=
state
;
Output3A_OUT11
=
state
;
}
}
}
}
/*3A_OUT12*/
/*3A_OUT12*/
void
TPS2HB35_SetOutput3A_OUT12
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT12
(
uint8_t
state
)
{
{
static
Output3A_OUT12
=
0
;
static
uint8_t
Output3A_OUT12
=
0
;
if
(
Output3A_OUT12
!=
state
)
if
(
Output3A_OUT12
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_2_Segment1
.
BIT
.
PIN_4
=
1
;
}
else
{
SGM4591Q_Chip2_2_Segment1
.
BIT
.
PIN_4
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_2
,
SGM4591Q_Segment1
);
Output3A_OUT12
=
state
;
Output3A_OUT12
=
state
;
}
}
}
}
/*3A_OUT13*/
/*3A_OUT13*/
void
TPS2HB35_SetOutput3A_OUT13
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT13
(
uint8_t
state
)
{
{
static
Output3A_OUT13
=
0
;
static
uint8_t
Output3A_OUT13
=
0
;
if
(
Output3A_OUT13
!=
state
)
if
(
Output3A_OUT13
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_2_Segment1
.
BIT
.
PIN_7
=
1
;
}
else
{
SGM4591Q_Chip2_2_Segment1
.
BIT
.
PIN_7
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_2
,
SGM4591Q_Segment1
);
Output3A_OUT13
=
state
;
Output3A_OUT13
=
state
;
}
}
}
}
/*3A_OUT14*/
/*3A_OUT14*/
void
TPS2HB35_SetOutput3A_OUT14
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT14
(
uint8_t
state
)
{
{
static
Output3A_OUT14
=
0
;
static
uint8_t
Output3A_OUT14
=
0
;
if
(
Output3A_OUT14
!=
state
)
if
(
Output3A_OUT14
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_3_Segment0
.
BIT
.
PIN_3
=
1
;
}
else
{
SGM4591Q_Chip2_3_Segment0
.
BIT
.
PIN_3
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_3
,
SGM4591Q_Segment0
);
Output3A_OUT14
=
state
;
Output3A_OUT14
=
state
;
}
}
}
}
/*3A_OUT15*/
/*3A_OUT15*/
void
TPS2HB35_SetOutput3A_OUT15
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT15
(
uint8_t
state
)
{
{
static
Output3A_OUT15
=
0
;
static
uint8_t
Output3A_OUT15
=
0
;
if
(
Output3A_OUT15
!=
state
)
if
(
Output3A_OUT15
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_3_Segment0
.
BIT
.
PIN_4
=
1
;
}
else
{
SGM4591Q_Chip2_3_Segment0
.
BIT
.
PIN_4
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_3
,
SGM4591Q_Segment0
);
Output3A_OUT15
=
state
;
Output3A_OUT15
=
state
;
}
}
}
}
/*3A_OUT16*/
/*3A_OUT16*/
void
TPS2HB35_SetOutput3A_OUT16
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT16
(
uint8_t
state
)
{
{
static
Output3A_OUT16
=
0
;
static
uint8_t
Output3A_OUT16
=
0
;
if
(
Output3A_OUT16
!=
state
)
if
(
Output3A_OUT16
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_3_Segment1
.
BIT
.
PIN_1
=
1
;
}
else
{
SGM4591Q_Chip2_3_Segment1
.
BIT
.
PIN_1
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_3
,
SGM4591Q_Segment1
);
Output3A_OUT16
=
state
;
Output3A_OUT16
=
state
;
}
}
}
}
/*3A_OUT17*/
/*3A_OUT17*/
void
TPS2HB35_SetOutput3A_OUT17
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT17
(
uint8_t
state
)
{
{
static
Output3A_OUT17
=
0
;
static
uint8_t
Output3A_OUT17
=
0
;
if
(
Output3A_OUT17
!=
state
)
if
(
Output3A_OUT17
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_2_Segment0
.
BIT
.
PIN_5
=
1
;
}
else
{
SGM4591Q_Chip3_2_Segment0
.
BIT
.
PIN_5
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_2
,
SGM4591Q_Segment0
);
Output3A_OUT17
=
state
;
Output3A_OUT17
=
state
;
}
}
}
}
/*3A_OUT18*/
/*3A_OUT18*/
void
TPS2HB35_SetOutput3A_OUT18
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT18
(
uint8_t
state
)
{
{
static
Output3A_OUT18
=
0
;
static
uint8_t
Output3A_OUT18
=
0
;
if
(
Output3A_OUT18
!=
state
)
if
(
Output3A_OUT18
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_2_Segment0
.
BIT
.
PIN_6
=
1
;
}
else
{
SGM4591Q_Chip3_2_Segment0
.
BIT
.
PIN_6
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_2
,
SGM4591Q_Segment0
);
Output3A_OUT18
=
state
;
Output3A_OUT18
=
state
;
}
}
}
}
/*3A_OUT19*/
/*3A_OUT19*/
void
TPS2HB35_SetOutput3A_OUT19
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT19
(
uint8_t
state
)
{
{
static
Output3A_OUT19
=
0
;
static
uint8_t
Output3A_OUT19
=
0
;
if
(
Output3A_OUT19
!=
state
)
if
(
Output3A_OUT19
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_4_Segment0
.
BIT
.
PIN_6
=
1
;
}
else
{
SGM4591Q_Chip3_4_Segment0
.
BIT
.
PIN_6
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_4
,
SGM4591Q_Segment0
);
Output3A_OUT19
=
state
;
Output3A_OUT19
=
state
;
}
}
}
}
/*3A_OUT20*/
/*3A_OUT20*/
void
TPS2HB35_SetOutput3A_OUT20
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT20
(
uint8_t
state
)
{
{
static
Output3A_OUT20
=
0
;
static
uint8_t
Output3A_OUT20
=
0
;
if
(
Output3A_OUT20
!=
state
)
if
(
Output3A_OUT20
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_4_Segment0
.
BIT
.
PIN_5
=
1
;
}
else
{
SGM4591Q_Chip3_4_Segment0
.
BIT
.
PIN_5
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_4
,
SGM4591Q_Segment0
);
Output3A_OUT20
=
state
;
Output3A_OUT20
=
state
;
}
}
}
}
/*3A_OUT21*/
/*3A_OUT21*/
void
TPS2HB35_SetOutput3A_OUT21
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT21
(
uint8_t
state
)
{
{
static
Output3A_OUT21
=
0
;
static
uint8_t
Output3A_OUT21
=
0
;
if
(
Output3A_OUT21
!=
state
)
if
(
Output3A_OUT21
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_4_Segment1
.
BIT
.
PIN_7
=
1
;
}
else
{
SGM4591Q_Chip3_4_Segment1
.
BIT
.
PIN_7
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_4
,
SGM4591Q_Segment1
);
Output3A_OUT21
=
state
;
Output3A_OUT21
=
state
;
}
}
}
}
/*3A_OUT22*/
/*3A_OUT22*/
void
TPS2HB35_SetOutput3A_OUT22
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT22
(
uint8_t
state
)
{
{
static
Output3A_OUT22
=
0
;
static
uint8_t
Output3A_OUT22
=
0
;
if
(
Output3A_OUT22
!=
state
)
if
(
Output3A_OUT22
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_2_Segment0
.
BIT
.
PIN_0
=
1
;
}
else
{
SGM4591Q_Chip3_2_Segment0
.
BIT
.
PIN_0
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_2
,
SGM4591Q_Segment0
);
Output3A_OUT22
=
state
;
Output3A_OUT22
=
state
;
}
}
}
}
/*3A_OUT23*/
/*3A_OUT23*/
void
TPS2HB35_SetOutput3A_OUT23
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT23
(
uint8_t
state
)
{
{
static
Output3A_OUT23
=
0
;
static
uint8_t
Output3A_OUT23
=
0
;
if
(
Output3A_OUT23
!=
state
)
if
(
Output3A_OUT23
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_2_Segment1
.
BIT
.
PIN_6
=
1
;
}
else
{
SGM4591Q_Chip3_2_Segment1
.
BIT
.
PIN_6
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_2
,
SGM4591Q_Segment1
);
Output3A_OUT23
=
state
;
Output3A_OUT23
=
state
;
}
}
}
}
/*3A_OUT24*/
/*3A_OUT24*/
void
TPS2HB35_SetOutput3A_OUT24
(
uint8_t
state
)
void
TPS2HB35_SetOutput3A_OUT24
(
uint8_t
state
)
{
{
static
Output3A_OUT24
=
0
;
static
uint8_t
Output3A_OUT24
=
0
;
if
(
Output3A_OUT24
!=
state
)
if
(
Output3A_OUT24
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_2_Segment1
.
BIT
.
PIN_2
=
1
;
}
else
{
SGM4591Q_Chip3_2_Segment1
.
BIT
.
PIN_2
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_2
,
SGM4591Q_Segment1
);
Output3A_OUT24
=
state
;
Output3A_OUT24
=
state
;
}
}
}
}
/*5A外发10片*2路*/
/*5A外发10片*2路*/
/*5A_OUT1*/
/*5A_OUT1*/
void
TPS2HB35_SetOutput5A_OUT1
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT1
(
uint8_t
state
)
{
{
static
Output5A_OUT1
=
0
;
static
uint8_t
Output5A_OUT1
=
0
;
if
(
Output5A_OUT1
!=
state
)
if
(
Output5A_OUT1
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_1_Segment0
.
BIT
.
PIN_4
=
1
;
}
else
{
SGM4591Q_Chip3_1_Segment0
.
BIT
.
PIN_4
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_1
,
SGM4591Q_Segment0
);
Output5A_OUT1
=
state
;
Output5A_OUT1
=
state
;
}
}
}
}
/*5A_OUT2*/
/*5A_OUT2*/
void
TPS2HB35_SetOutput5A_OUT2
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT2
(
uint8_t
state
)
{
{
static
Output5A_OUT2
=
0
;
static
uint8_t
Output5A_OUT2
=
0
;
if
(
Output5A_OUT2
!=
state
)
if
(
Output5A_OUT2
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_1_Segment1
.
BIT
.
PIN_7
=
1
;
}
else
{
SGM4591Q_Chip3_1_Segment1
.
BIT
.
PIN_7
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_1
,
SGM4591Q_Segment1
);
Output5A_OUT2
=
state
;
Output5A_OUT2
=
state
;
}
}
}
}
/*5A_OUT3*/
/*5A_OUT3*/
void
TPS2HB35_SetOutput5A_OUT3
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT3
(
uint8_t
state
)
{
{
static
Output5A_OUT3
=
0
;
static
uint8_t
Output5A_OUT3
=
0
;
if
(
Output5A_OUT3
!=
state
)
if
(
Output5A_OUT3
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_1_Segment1
.
BIT
.
PIN_5
=
1
;
}
else
{
SGM4591Q_Chip3_1_Segment1
.
BIT
.
PIN_5
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_1
,
SGM4591Q_Segment1
);
Output5A_OUT3
=
state
;
Output5A_OUT3
=
state
;
}
}
}
}
/*5A_OUT4*/
/*5A_OUT4*/
void
TPS2HB35_SetOutput5A_OUT4
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT4
(
uint8_t
state
)
{
{
static
Output5A_OUT4
=
0
;
static
uint8_t
Output5A_OUT4
=
0
;
if
(
Output5A_OUT4
!=
state
)
if
(
Output5A_OUT4
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_1_Segment0
.
BIT
.
PIN_0
=
1
;
}
else
{
SGM4591Q_Chip3_1_Segment0
.
BIT
.
PIN_0
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_1
,
SGM4591Q_Segment0
);
Output5A_OUT4
=
state
;
Output5A_OUT4
=
state
;
}
}
}
}
/*5A_OUT5*/
/*5A_OUT5*/
void
TPS2HB35_SetOutput5A_OUT5
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT5
(
uint8_t
state
)
{
{
static
Output5A_OUT5
=
0
;
static
uint8_t
Output5A_OUT5
=
0
;
if
(
Output5A_OUT5
!=
state
)
if
(
Output5A_OUT5
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_3_Segment1
.
BIT
.
PIN_3
=
1
;
}
else
{
SGM4591Q_Chip2_3_Segment1
.
BIT
.
PIN_3
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_3
,
SGM4591Q_Segment1
);
Output5A_OUT5
=
state
;
Output5A_OUT5
=
state
;
}
}
}
}
/*5A_OUT6*/
/*5A_OUT6*/
void
TPS2HB35_SetOutput5A_OUT6
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT6
(
uint8_t
state
)
{
{
static
Output5A_OUT6
=
0
;
static
uint8_t
Output5A_OUT6
=
0
;
if
(
Output5A_OUT6
!=
state
)
if
(
Output5A_OUT6
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip2_3_Segment1
.
BIT
.
PIN_5
=
1
;
}
else
{
SGM4591Q_Chip2_3_Segment1
.
BIT
.
PIN_5
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip2_3
,
SGM4591Q_Segment1
);
Output5A_OUT6
=
state
;
Output5A_OUT6
=
state
;
}
}
}
}
/*5A_OUT7*/
/*5A_OUT7*/
void
TPS2HB35_SetOutput5A_OUT7
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT7
(
uint8_t
state
)
{
{
static
Output5A_OUT7
=
0
;
static
uint8_t
Output5A_OUT7
=
0
;
if
(
Output5A_OUT7
!=
state
)
if
(
Output5A_OUT7
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_4_Segment0
.
BIT
.
PIN_1
=
1
;
}
else
{
SGM4591Q_Chip3_4_Segment0
.
BIT
.
PIN_1
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_4
,
SGM4591Q_Segment0
);
Output5A_OUT7
=
state
;
Output5A_OUT7
=
state
;
}
}
}
}
/*5A_OUT8*/
/*5A_OUT8*/
void
TPS2HB35_SetOutput5A_OUT8
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT8
(
uint8_t
state
)
{
{
static
Output5A_OUT8
=
0
;
static
uint8_t
Output5A_OUT8
=
0
;
if
(
Output5A_OUT8
!=
state
)
if
(
Output5A_OUT8
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_1_Segment1
.
BIT
.
PIN_3
=
1
;
}
else
{
SGM4591Q_Chip3_1_Segment1
.
BIT
.
PIN_3
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_1
,
SGM4591Q_Segment1
);
Output5A_OUT8
=
state
;
Output5A_OUT8
=
state
;
}
}
}
}
/*5A_OUT9*/
/*5A_OUT9*/
void
TPS2HB35_SetOutput5A_OUT9
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT9
(
uint8_t
state
)
{
{
static
Output5A_OUT9
=
0
;
static
uint8_t
Output5A_OUT9
=
0
;
if
(
Output5A_OUT9
!=
state
)
if
(
Output5A_OUT9
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_4_Segment1
.
BIT
.
PIN_5
=
1
;
}
else
{
SGM4591Q_Chip3_4_Segment1
.
BIT
.
PIN_5
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_4
,
SGM4591Q_Segment1
);
Output5A_OUT9
=
state
;
Output5A_OUT9
=
state
;
}
}
}
}
/*5A_OUT10*/
/*5A_OUT10*/
void
TPS2HB35_SetOutput5A_OUT10
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT10
(
uint8_t
state
)
{
{
static
Output5A_OUT10
=
0
;
static
uint8_t
Output5A_OUT10
=
0
;
if
(
Output5A_OUT10
!=
state
)
if
(
Output5A_OUT10
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_4_Segment1
.
BIT
.
PIN_4
=
1
;
}
else
{
SGM4591Q_Chip3_4_Segment1
.
BIT
.
PIN_4
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_4
,
SGM4591Q_Segment1
);
Output5A_OUT10
=
state
;
Output5A_OUT10
=
state
;
}
}
}
}
/*5A_OUT11*/
/*5A_OUT11*/
void
TPS2HB35_SetOutput5A_OUT11
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT11
(
uint8_t
state
)
{
{
static
Output5A_OUT11
=
0
;
static
uint8_t
Output5A_OUT11
=
0
;
if
(
Output5A_OUT11
!=
state
)
if
(
Output5A_OUT11
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_4_Segment1
.
BIT
.
PIN_1
=
1
;
}
else
{
SGM4591Q_Chip1_4_Segment1
.
BIT
.
PIN_1
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_4
,
SGM4591Q_Segment1
);
Output5A_OUT11
=
state
;
Output5A_OUT11
=
state
;
}
}
}
}
/*5A_OUT12*/
/*5A_OUT12*/
void
TPS2HB35_SetOutput5A_OUT12
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT12
(
uint8_t
state
)
{
{
static
Output5A_OUT12
=
0
;
static
uint8_t
Output5A_OUT12
=
0
;
if
(
Output5A_OUT12
!=
state
)
if
(
Output5A_OUT12
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_4_Segment0
.
BIT
.
PIN_4
=
1
;
}
else
{
SGM4591Q_Chip1_4_Segment0
.
BIT
.
PIN_4
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_4
,
SGM4591Q_Segment0
);
Output5A_OUT12
=
state
;
Output5A_OUT12
=
state
;
}
}
}
}
/*5A_OUT13*/
/*5A_OUT13*/
void
TPS2HB35_SetOutput5A_OUT13
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT13
(
uint8_t
state
)
{
{
static
Output5A_OUT13
=
0
;
static
uint8_t
Output5A_OUT13
=
0
;
if
(
Output5A_OUT13
!=
state
)
if
(
Output5A_OUT13
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_4_Segment0
.
BIT
.
PIN_3
=
1
;
}
else
{
SGM4591Q_Chip1_4_Segment0
.
BIT
.
PIN_3
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_4
,
SGM4591Q_Segment0
);
Output5A_OUT13
=
state
;
Output5A_OUT13
=
state
;
}
}
}
}
/*5A_OUT14*/
/*5A_OUT14*/
void
TPS2HB35_SetOutput5A_OUT14
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT14
(
uint8_t
state
)
{
{
static
Output5A_OUT14
=
0
;
static
uint8_t
Output5A_OUT14
=
0
;
if
(
Output5A_OUT14
!=
state
)
if
(
Output5A_OUT14
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_3_Segment0
.
BIT
.
PIN_0
=
1
;
}
else
{
SGM4591Q_Chip1_3_Segment0
.
BIT
.
PIN_0
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_3
,
SGM4591Q_Segment0
);
Output5A_OUT14
=
state
;
Output5A_OUT14
=
state
;
}
}
}
}
/*5A_OUT15*/
/*5A_OUT15*/
void
TPS2HB35_SetOutput5A_OUT15
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT15
(
uint8_t
state
)
{
{
static
Output5A_OUT15
=
0
;
static
uint8_t
Output5A_OUT15
=
0
;
if
(
Output5A_OUT15
!=
state
)
if
(
Output5A_OUT15
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_3_Segment1
.
BIT
.
PIN_2
=
1
;
}
else
{
SGM4591Q_Chip3_3_Segment1
.
BIT
.
PIN_2
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_3
,
SGM4591Q_Segment1
);
Output5A_OUT15
=
state
;
Output5A_OUT15
=
state
;
}
}
}
}
/*5A_OUT16*/
/*5A_OUT16*/
void
TPS2HB35_SetOutput5A_OUT16
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT16
(
uint8_t
state
)
{
{
static
Output5A_OUT16
=
0
;
static
uint8_t
Output5A_OUT16
=
0
;
if
(
Output5A_OUT16
!=
state
)
if
(
Output5A_OUT16
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_3_Segment1
.
BIT
.
PIN_6
=
1
;
}
else
{
SGM4591Q_Chip3_3_Segment1
.
BIT
.
PIN_6
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_3
,
SGM4591Q_Segment1
);
Output5A_OUT16
=
state
;
Output5A_OUT16
=
state
;
}
}
}
}
/*5A_OUT17*/
/*5A_OUT17*/
void
TPS2HB35_SetOutput5A_OUT17
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT17
(
uint8_t
state
)
{
{
static
Output5A_OUT17
=
0
;
static
uint8_t
Output5A_OUT17
=
0
;
if
(
Output5A_OUT17
!=
state
)
if
(
Output5A_OUT17
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_3_Segment0
.
BIT
.
PIN_3
=
1
;
}
else
{
SGM4591Q_Chip4_3_Segment0
.
BIT
.
PIN_3
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_3
,
SGM4591Q_Segment0
);
Output5A_OUT17
=
state
;
Output5A_OUT17
=
state
;
}
}
}
}
/*5A_OUT18*/
/*5A_OUT18*/
void
TPS2HB35_SetOutput5A_OUT18
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT18
(
uint8_t
state
)
{
{
static
Output5A_OUT18
=
0
;
static
uint8_t
Output5A_OUT18
=
0
;
if
(
Output5A_OUT18
!=
state
)
if
(
Output5A_OUT18
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_3_Segment1
.
BIT
.
PIN_1
=
1
;
}
else
{
SGM4591Q_Chip4_3_Segment1
.
BIT
.
PIN_1
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_3
,
SGM4591Q_Segment1
);
Output5A_OUT18
=
state
;
Output5A_OUT18
=
state
;
}
}
}
}
/*5A_OUT19*/
/*5A_OUT19*/
void
TPS2HB35_SetOutput5A_OUT19
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT19
(
uint8_t
state
)
{
{
static
Output5A_OUT19
=
0
;
static
uint8_t
Output5A_OUT19
=
0
;
if
(
Output5A_OUT19
!=
state
)
if
(
Output5A_OUT19
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_3_Segment0
.
BIT
.
PIN_4
=
1
;
}
else
{
SGM4591Q_Chip3_3_Segment0
.
BIT
.
PIN_4
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_3
,
SGM4591Q_Segment0
);
Output5A_OUT19
=
state
;
Output5A_OUT19
=
state
;
}
}
}
}
/*5A_OUT20*/
/*5A_OUT20*/
void
TPS2HB35_SetOutput5A_OUT20
(
uint8_t
state
)
void
TPS2HB35_SetOutput5A_OUT20
(
uint8_t
state
)
{
{
static
Output5A_OUT20
=
0
;
static
uint8_t
Output5A_OUT20
=
0
;
if
(
Output5A_OUT20
!=
state
)
if
(
Output5A_OUT20
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_3_Segment1
.
BIT
.
PIN_0
=
1
;
}
else
{
SGM4591Q_Chip3_3_Segment1
.
BIT
.
PIN_0
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_3
,
SGM4591Q_Segment1
);
Output5A_OUT20
=
state
;
Output5A_OUT20
=
state
;
}
}
}
}
/*10A外发4片*2路*/
/*10A外发4片*2路*/
/*10A_OUT1*/
/*10A_OUT1*/
void
TPS2HB35_SetOutput10A_OUT1
(
uint8_t
state
)
void
TPS2HB35_SetOutput10A_OUT1
(
uint8_t
state
)
{
{
static
Output10A_OUT1
=
0
;
static
uint8_t
Output10A_OUT1
=
0
;
if
(
Output10A_OUT1
!=
state
)
if
(
Output10A_OUT1
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_1_Segment0
.
BIT
.
PIN_7
=
1
;
}
else
{
SGM4591Q_Chip1_1_Segment0
.
BIT
.
PIN_7
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_1
,
SGM4591Q_Segment0
);
Output10A_OUT1
=
state
;
Output10A_OUT1
=
state
;
}
}
}
}
/*10A_OUT2*/
/*10A_OUT2*/
void
TPS2HB35_SetOutput10A_OUT2
(
uint8_t
state
)
void
TPS2HB35_SetOutput10A_OUT2
(
uint8_t
state
)
{
{
static
Output10A_OUT2
=
0
;
static
uint8_t
Output10A_OUT2
=
0
;
if
(
Output10A_OUT2
!=
state
)
if
(
Output10A_OUT2
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_1_Segment1
.
BIT
.
PIN_0
=
1
;
}
else
{
SGM4591Q_Chip1_1_Segment1
.
BIT
.
PIN_0
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_1
,
SGM4591Q_Segment1
);
Output10A_OUT2
=
state
;
Output10A_OUT2
=
state
;
}
}
}
}
/*10A_OUT3*/
/*10A_OUT3*/
void
TPS2HB35_SetOutput10A_OUT3
(
uint8_t
state
)
void
TPS2HB35_SetOutput10A_OUT3
(
uint8_t
state
)
{
{
static
Output10A_OUT3
=
0
;
static
uint8_t
Output10A_OUT3
=
0
;
if
(
Output10A_OUT3
!=
state
)
if
(
Output10A_OUT3
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_1_Segment1
.
BIT
.
PIN_3
=
1
;
}
else
{
SGM4591Q_Chip1_1_Segment1
.
BIT
.
PIN_3
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_1
,
SGM4591Q_Segment1
);
Output10A_OUT3
=
state
;
Output10A_OUT3
=
state
;
}
}
}
}
/*10A_OUT4*/
/*10A_OUT4*/
void
TPS2HB35_SetOutput10A_OUT4
(
uint8_t
state
)
void
TPS2HB35_SetOutput10A_OUT4
(
uint8_t
state
)
{
{
static
Output10A_OUT4
=
0
;
static
uint8_t
Output10A_OUT4
=
0
;
if
(
Output10A_OUT4
!=
state
)
if
(
Output10A_OUT4
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_1_Segment1
.
BIT
.
PIN_7
=
1
;
}
else
{
SGM4591Q_Chip1_1_Segment1
.
BIT
.
PIN_7
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_1
,
SGM4591Q_Segment1
);
Output10A_OUT4
=
state
;
Output10A_OUT4
=
state
;
}
}
}
}
/*10A_OUT5*/
/*10A_OUT5*/
void
TPS2HB35_SetOutput10A_OUT5
(
uint8_t
state
)
void
TPS2HB35_SetOutput10A_OUT5
(
uint8_t
state
)
{
{
static
Output10A_OUT5
=
0
;
static
uint8_t
Output10A_OUT5
=
0
;
if
(
Output10A_OUT5
!=
state
)
if
(
Output10A_OUT5
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_4_Segment1
.
BIT
.
PIN_6
=
1
;
}
else
{
SGM4591Q_Chip1_4_Segment1
.
BIT
.
PIN_6
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_4
,
SGM4591Q_Segment1
);
Output10A_OUT5
=
state
;
Output10A_OUT5
=
state
;
}
}
}
}
/*10A_OUT6*/
/*10A_OUT6*/
void
TPS2HB35_SetOutput10A_OUT6
(
uint8_t
state
)
void
TPS2HB35_SetOutput10A_OUT6
(
uint8_t
state
)
{
{
static
Output10A_OUT6
=
0
;
static
uint8_t
Output10A_OUT6
=
0
;
if
(
Output10A_OUT6
!=
state
)
if
(
Output10A_OUT6
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_4_Segment1
.
BIT
.
PIN_3
=
1
;
}
else
{
SGM4591Q_Chip1_4_Segment1
.
BIT
.
PIN_3
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_4
,
SGM4591Q_Segment1
);
Output10A_OUT6
=
state
;
Output10A_OUT6
=
state
;
}
}
}
}
/*10A_OUT7*/
/*10A_OUT7*/
void
TPS2HB35_SetOutput10A_OUT7
(
uint8_t
state
)
void
TPS2HB35_SetOutput10A_OUT7
(
uint8_t
state
)
{
{
static
Output10A_OUT7
=
0
;
static
uint8_t
Output10A_OUT7
=
0
;
if
(
Output10A_OUT7
!=
state
)
if
(
Output10A_OUT7
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_3_Segment1
.
BIT
.
PIN_6
=
1
;
}
else
{
SGM4591Q_Chip4_3_Segment1
.
BIT
.
PIN_6
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_3
,
SGM4591Q_Segment1
);
Output10A_OUT7
=
state
;
Output10A_OUT7
=
state
;
}
}
}
}
/*10A_OUT8*/
/*10A_OUT8*/
void
TPS2HB35_SetOutput10A_OUT8
(
uint8_t
state
)
void
TPS2HB35_SetOutput10A_OUT8
(
uint8_t
state
)
{
{
static
Output10A_OUT8
=
0
;
static
uint8_t
Output10A_OUT8
=
0
;
if
(
Output10A_OUT8
!=
state
)
if
(
Output10A_OUT8
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_3_Segment0
.
BIT
.
PIN_5
=
1
;
}
else
{
SGM4591Q_Chip4_3_Segment0
.
BIT
.
PIN_5
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_3
,
SGM4591Q_Segment0
);
Output10A_OUT8
=
state
;
Output10A_OUT8
=
state
;
}
}
}
}
/*15A外发14片*1路*/
/*15A外发14片*1路*/
/*15A_OUT1*/
/*15A_OUT1*/
void
TPS2HB35_SetOutput15A_OUT1
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT1
(
uint8_t
state
)
{
{
static
Output15A_OUT1
=
0
;
static
uint8_t
Output15A_OUT1
=
0
;
if
(
Output15A_OUT1
!=
state
)
if
(
Output15A_OUT1
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_2_Segment0
.
BIT
.
PIN_0
=
1
;
}
else
{
SGM4591Q_Chip1_2_Segment0
.
BIT
.
PIN_0
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_2
,
SGM4591Q_Segment0
);
Output15A_OUT1
=
state
;
Output15A_OUT1
=
state
;
}
}
}
}
/*15A_OUT2*/
/*15A_OUT2*/
void
TPS2HB35_SetOutput15A_OUT2
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT2
(
uint8_t
state
)
{
{
static
Output15A_OUT2
=
0
;
static
uint8_t
Output15A_OUT2
=
0
;
if
(
Output15A_OUT2
!=
state
)
if
(
Output15A_OUT2
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_2_Segment1
.
BIT
.
PIN_2
=
1
;
}
else
{
SGM4591Q_Chip1_2_Segment1
.
BIT
.
PIN_2
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_2
,
SGM4591Q_Segment1
);
Output15A_OUT2
=
state
;
Output15A_OUT2
=
state
;
}
}
}
}
/*15A_OUT3*/
/*15A_OUT3*/
void
TPS2HB35_SetOutput15A_OUT3
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT3
(
uint8_t
state
)
{
{
static
Output15A_OUT3
=
0
;
static
uint8_t
Output15A_OUT3
=
0
;
if
(
Output15A_OUT3
!=
state
)
if
(
Output15A_OUT3
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_2_Segment1
.
BIT
.
PIN_7
=
1
;
}
else
{
SGM4591Q_Chip1_2_Segment1
.
BIT
.
PIN_7
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_2
,
SGM4591Q_Segment1
);
Output15A_OUT3
=
state
;
Output15A_OUT3
=
state
;
}
}
}
}
/*15A_OUT4*/
/*15A_OUT4*/
void
TPS2HB35_SetOutput15A_OUT4
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT4
(
uint8_t
state
)
{
{
static
Output15A_OUT4
=
0
;
static
uint8_t
Output15A_OUT4
=
0
;
if
(
Output15A_OUT4
!=
state
)
if
(
Output15A_OUT4
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip1_2_Segment0
.
BIT
.
PIN_1
=
1
;
}
else
{
SGM4591Q_Chip1_2_Segment0
.
BIT
.
PIN_1
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip1_2
,
SGM4591Q_Segment0
);
Output15A_OUT4
=
state
;
Output15A_OUT4
=
state
;
}
}
}
}
/*15A_OUT5*/
/*15A_OUT5*/
void
TPS2HB35_SetOutput15A_OUT5
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT5
(
uint8_t
state
)
{
{
static
Output15A_OUT5
=
0
;
static
uint8_t
Output15A_OUT5
=
0
;
if
(
Output15A_OUT5
!=
state
)
if
(
Output15A_OUT5
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_2_Segment0
.
BIT
.
PIN_5
=
1
;
}
else
{
SGM4591Q_Chip4_2_Segment0
.
BIT
.
PIN_5
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_2
,
SGM4591Q_Segment0
);
Output15A_OUT5
=
state
;
Output15A_OUT5
=
state
;
}
}
}
}
/*15A_OUT6*/
/*15A_OUT6*/
void
TPS2HB35_SetOutput15A_OUT6
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT6
(
uint8_t
state
)
{
{
static
Output15A_OUT6
=
0
;
static
uint8_t
Output15A_OUT6
=
0
;
if
(
Output15A_OUT6
!=
state
)
if
(
Output15A_OUT6
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_2_Segment1
.
BIT
.
PIN_0
=
1
;
}
else
{
SGM4591Q_Chip4_2_Segment1
.
BIT
.
PIN_0
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_2
,
SGM4591Q_Segment1
);
Output15A_OUT6
=
state
;
Output15A_OUT6
=
state
;
}
}
}
}
/*15A_OUT7*/
/*15A_OUT7*/
void
TPS2HB35_SetOutput15A_OUT7
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT7
(
uint8_t
state
)
{
{
static
Output15A_OUT7
=
0
;
static
uint8_t
Output15A_OUT7
=
0
;
if
(
Output15A_OUT7
!=
state
)
if
(
Output15A_OUT7
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_2_Segment1
.
BIT
.
PIN_5
=
1
;
}
else
{
SGM4591Q_Chip4_2_Segment1
.
BIT
.
PIN_5
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_2
,
SGM4591Q_Segment1
);
Output15A_OUT7
=
state
;
Output15A_OUT7
=
state
;
}
}
}
}
/*15A_OUT8*/
/*15A_OUT8*/
void
TPS2HB35_SetOutput15A_OUT8
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT8
(
uint8_t
state
)
{
{
static
Output15A_OUT8
=
0
;
static
uint8_t
Output15A_OUT8
=
0
;
if
(
Output15A_OUT8
!=
state
)
if
(
Output15A_OUT8
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_3_Segment0
.
BIT
.
PIN_2
=
1
;
}
else
{
SGM4591Q_Chip4_3_Segment0
.
BIT
.
PIN_2
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_3
,
SGM4591Q_Segment0
);
Output15A_OUT8
=
state
;
Output15A_OUT8
=
state
;
}
}
}
}
/*15A_OUT9*/
/*15A_OUT9*/
void
TPS2HB35_SetOutput15A_OUT9
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT9
(
uint8_t
state
)
{
{
static
Output15A_OUT9
=
0
;
static
uint8_t
Output15A_OUT9
=
0
;
if
(
Output15A_OUT9
!=
state
)
if
(
Output15A_OUT9
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip3_3_Segment0
.
BIT
.
PIN_3
=
1
;
}
else
{
SGM4591Q_Chip3_3_Segment0
.
BIT
.
PIN_3
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip3_3
,
SGM4591Q_Segment0
);
Output15A_OUT9
=
state
;
Output15A_OUT9
=
state
;
}
}
}
}
/*15A_OUT10*/
/*15A_OUT10*/
void
TPS2HB35_SetOutput15A_OUT10
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT10
(
uint8_t
state
)
{
{
static
Output15A_OUT10
=
0
;
static
uint8_t
Output15A_OUT10
=
0
;
if
(
Output15A_OUT10
!=
state
)
if
(
Output15A_OUT10
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_4_Segment0
.
BIT
.
PIN_7
=
1
;
}
else
{
SGM4591Q_Chip4_4_Segment0
.
BIT
.
PIN_7
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_4
,
SGM4591Q_Segment0
);
Output15A_OUT10
=
state
;
Output15A_OUT10
=
state
;
}
}
}
}
/*15A_OUT11*/
/*15A_OUT11*/
void
TPS2HB35_SetOutput15A_OUT11
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT11
(
uint8_t
state
)
{
{
static
Output15A_OUT11
=
0
;
static
uint8_t
Output15A_OUT11
=
0
;
if
(
Output15A_OUT11
!=
state
)
if
(
Output15A_OUT11
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_1_Segment0
.
BIT
.
PIN_4
=
1
;
}
else
{
SGM4591Q_Chip4_1_Segment0
.
BIT
.
PIN_4
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_1
,
SGM4591Q_Segment0
);
Output15A_OUT11
=
state
;
Output15A_OUT11
=
state
;
}
}
}
}
/*15A_OUT12*/
/*15A_OUT12*/
void
TPS2HB35_SetOutput15A_OUT12
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT12
(
uint8_t
state
)
{
{
static
Output15A_OUT12
=
0
;
static
uint8_t
Output15A_OUT12
=
0
;
if
(
Output15A_OUT12
!=
state
)
if
(
Output15A_OUT12
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_1_Segment1
.
BIT
.
PIN_0
=
1
;
}
else
{
SGM4591Q_Chip4_1_Segment1
.
BIT
.
PIN_0
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_1
,
SGM4591Q_Segment1
);
Output15A_OUT12
=
state
;
Output15A_OUT12
=
state
;
}
}
}
}
/*15A_OUT13*/
/*15A_OUT13*/
void
TPS2HB35_SetOutput15A_OUT13
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT13
(
uint8_t
state
)
{
{
static
Output15A_OUT13
=
0
;
static
uint8_t
Output15A_OUT13
=
0
;
if
(
Output15A_OUT13
!=
state
)
if
(
Output15A_OUT13
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_4_Segment1
.
BIT
.
PIN_0
=
1
;
}
else
{
SGM4591Q_Chip4_4_Segment1
.
BIT
.
PIN_0
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_4
,
SGM4591Q_Segment1
);
Output15A_OUT13
=
state
;
Output15A_OUT13
=
state
;
}
}
}
}
/*15A_OUT14*/
/*15A_OUT14*/
void
TPS2HB35_SetOutput15A_OUT14
(
uint8_t
state
)
void
TPS2HB35_SetOutput15A_OUT14
(
uint8_t
state
)
{
{
static
Output15A_OUT14
=
0
;
static
uint8_t
Output15A_OUT14
=
0
;
if
(
Output15A_OUT14
!=
state
)
if
(
Output15A_OUT14
!=
state
)
{
{
if
(
state
==
1
)
{
SGM4591Q_Chip4_4_Segment1
.
BIT
.
PIN_6
=
1
;
}
else
{
SGM4591Q_Chip4_4_Segment1
.
BIT
.
PIN_6
=
0
;
}
SGM4591Q_Global_Control
(
SGM4591Q_Chip4_4
,
SGM4591Q_Segment1
);
Output15A_OUT14
=
state
;
Output15A_OUT14
=
state
;
}
}
}
}
GHS/Driver/Driver.gpj
View file @
afdc20fa
#!gbuild
#!gbuild
[Subproject]
[Subproject]
Simulated_
SPI
_Master.c
Simulated_
IIC_1
_Master.c
Simulated_
SPI
_Master.h
Simulated_
IIC_1
_Master.h
Simulated_IIC_2_Master.c
Simulated_IIC_2_Master.c
Simulated_IIC_2_Master.h
Simulated_IIC_2_Master.h
Simulated_IIC_3_Master.c
Simulated_IIC_3_Master.h
Simulated_IIC_4_Master.c
Simulated_IIC_4_Master.h
Simulated_SPI_Master.c
Simulated_SPI_Master.h
CAN\Rscan.c
CAN\Rscan.c
CAN\Rscan.h
CAN\Rscan.h
CAN\RSCAN_Table.c
CAN\RSCAN_Table.c
...
...
GHS/Driver/Simulated_IIC_1_Master.c
0 → 100644
View file @
afdc20fa
#include "Simulated_IIC_1_Master.h"
#include "Port_Cfg.h"
#include "Port.h"
#include "Dio.h"
uint8_t
u8SimulatedIIC1ReceivedACK
;
/*
SDA:P22-3
SCL:P22-4
*/
/*时钟输入*/
void
SGM4591Q_Clock1_Input
(
void
)
{
Port_SetPinDirection
(
Port_Config_PortGroup22_PortPin4
,
PORT_PIN_IN
);
}
/*时钟输出低*/
void
SGM4591Q_Clock1_Output
(
void
)
{
Port_SetPinDirection
(
Port_Config_PortGroup22_PortPin4
,
PORT_PIN_OUT
);
Dio_WriteChannel
(
DioConf_DioChannel_P22_04
,
STD_LOW
);
}
/*数据设置输入*/
void
SGM4591Q_Data1_Input
(
void
)
{
Port_SetPinDirection
(
Port_Config_PortGroup22_PortPin3
,
PORT_PIN_IN
);
}
/*数据输入高低电平*/
uint8_t
SGM4591Q_Data1_Input_Value
(
void
)
{
uint8_t
Data
;
Data
=
Dio_ReadChannel
(
Port_Config_PortGroup22_PortPin3
);
return
Data
;
}
/*数据输出低*/
void
SGM4591Q_Data1_Output_Low
(
void
)
{
Port_SetPinDirection
(
Port_Config_PortGroup22_PortPin3
,
PORT_PIN_OUT
);
Dio_WriteChannel
(
DioConf_DioChannel_P22_03
,
STD_LOW
);
}
/******************************************************************************
函数名:IIC_Init
功 能:初始化IIC总线
参 数:无
返回值:无
******************************************************************************/
void
Simulated_IIC_1_Init
(
void
)
{
// SIMULATED_IIC_1_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock1_Input
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
// SIMULATED_IIC_1_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data1_Input
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
u8SimulatedIIC1ReceivedACK
=
SIMULATED_IIC_1_INVALID_ACK
;
}
/******************************************************************************
函数名:IIC_Start
功 能:在IIC总线上发送起始信号,发起一次IIC通信
参 数:无
返回值:无
******************************************************************************/
void
Simulated_IIC_1_Start
(
void
)
{
u8SimulatedIIC1ReceivedACK
=
SIMULATED_IIC_1_INVALID_ACK
;
// SIMULATED_IIC_1_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data1_Input
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
// SIMULATED_IIC_1_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock1_Input
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
// SIMULATED_IIC_1_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_1_OUT_SDA = 0;
SGM4591Q_Data1_Output_Low
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
// SIMULATED_IIC_1_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_1_SCL = 0;
SGM4591Q_Clock1_Output
();
Simulated_IIC_1_Delay
();
}
/******************************************************************************
函数名:IIC_Stop
功 能:在IIC总线上发送停止信号,终止当前IIC通信
参 数:无
返回值:无
******************************************************************************/
void
Simulated_IIC_1_Stop
(
void
)
{
u8SimulatedIIC1ReceivedACK
=
SIMULATED_IIC_1_INVALID_ACK
;
// SIMULATED_IIC_1_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_1_OUT_SDA = 0;
SGM4591Q_Data1_Output_Low
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
// SIMULATED_IIC_1_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock1_Input
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
// SIMULATED_IIC_1_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data1_Input
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
}
/******************************************************************************
函数名:IIC_Transmit_Data
功 能:向IIC总线上发送1字节数据
参 数:Data:发送的数据
返回值:总线上器件的确认(ACK) 0 - ACK 1 - NAK
******************************************************************************/
void
Simulated_IIC_1_Transmit_Data
(
uint8_t
Data
)
{
uint8_t
i
;
u8SimulatedIIC1ReceivedACK
=
SIMULATED_IIC_1_INVALID_ACK
;
for
(
i
=
0
;
i
<
8
;
i
++
)
{
if
((
Data
&
0x80
)
!=
0U
)
{
// SIMULATED_IIC_1_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data1_Input
();
}
else
{
// SIMULATED_IIC_1_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_1_OUT_SDA = 0;
SGM4591Q_Data1_Output_Low
();
}
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
// SIMULATED_IIC_1_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock1_Input
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
// SIMULATED_IIC_1_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_1_SCL = 0;
SGM4591Q_Clock1_Output
();
Simulated_IIC_1_Delay
();
Data
<<=
1
;
}
// SIMULATED_IIC_1_SDA_DIR = GPIO_DIR_IN; // 设置SDA为输入状态
SGM4591Q_Data1_Input
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
// SIMULATED_IIC_1_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock1_Input
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
// u8SimulatedIIC1ReceivedACK = SIMULATED_IIC_1_IN_SDA;
u8SimulatedIIC1ReceivedACK
=
SGM4591Q_Data1_Input_Value
();
// SIMULATED_IIC_1_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_1_SCL = 0;
SGM4591Q_Clock1_Output
();
Simulated_IIC_1_Delay
();
}
/******************************************************************************
函数名:IIC_Receive_Data
功 能:从IIC总线上接收1字节数据
参 数:无
返回值:接收到的数据
******************************************************************************/
uint8_t
Simulated_IIC_1_Receive_Data
(
void
)
{
uint8_t
i
;
uint8_t
Data
;
Data
=
0
;
// SIMULATED_IIC_1_SDA_DIR = GPIO_DIR_IN; // 设置SDA为输入状态
SGM4591Q_Data1_Input
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
for
(
i
=
0
;
i
<
8
;
i
++
)
{
Data
<<=
1
;
// SIMULATED_IIC_1_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock1_Input
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
// Data |= SIMULATED_IIC_1_IN_SDA;
Data
|=
SGM4591Q_Data1_Input_Value
();
// SIMULATED_IIC_1_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_1_SCL = 0;
SGM4591Q_Clock1_Output
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
}
return
Data
;
}
/******************************************************************************
函数名:IIC_Transmit_ACK
功 能:向IIC总线上发送确认信号
参 数:ACK:确认信号的类型: SIMULATED_IIC_1_ACK 肯定应答
IIC_NAK 否定应答
返回值:无
******************************************************************************/
void
Simulated_IIC_1_Transmit_ACK
(
uint8_t
ACK
)
{
u8SimulatedIIC1ReceivedACK
=
SIMULATED_IIC_1_INVALID_ACK
;
if
(
ACK
>
SIMULATED_IIC_1_NAK
)
{
return
;
}
if
(
ACK
!=
0U
)
{
// SIMULATED_IIC_1_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data1_Input
();
}
else
{
// SIMULATED_IIC_1_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_1_OUT_SDA = 0;
SGM4591Q_Data1_Output_Low
();
}
Simulated_IIC_1_Delay
();
// SIMULATED_IIC_1_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock1_Input
();
Simulated_IIC_1_Delay
();
Simulated_IIC_1_Delay
();
// SIMULATED_IIC_1_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_1_SCL = 0;
SGM4591Q_Clock1_Output
();
Simulated_IIC_1_Delay
();
}
/******************************************************************************
函数名:IIC_Receive_ACK
功 能:获取从总线上接收到的确认信号
参 数:无
返回值:总线上器件的确认信号类型:Simulated_IIC_ACK 肯定应答
SIMULATED_IIC_1_NAK 否定应答
IIC_INVALID_ACK 无效的应答信号(应答信号还未收到)
******************************************************************************/
uint8_t
Simulated_IIC_1_Receive_ACK
(
void
)
{
uint8_t
ACK
;
ACK
=
u8SimulatedIIC1ReceivedACK
;
u8SimulatedIIC1ReceivedACK
=
SIMULATED_IIC_1_INVALID_ACK
;
return
ACK
;
}
/******************************************************************************
函数名:IIC_Delay
功 能:延时5us,用于收发过程中的时序控制
注意:必须调整IIC_5us_DELAY_CALIBRATION参数校准延时时间在5us左右
参 数:ACK:确认信号的类型 0 - ACK 1 - NAK
返回值:无
******************************************************************************/
void
Simulated_IIC_1_Delay
(
void
)
{
uint8_t
i
;
for
(
i
=
0
;
i
<
SIMULATED_IIC_1_FREQ_CALIBRATION
;
i
++
)
{
NOP
();
}
}
GHS/Driver/Simulated_IIC_1_Master.h
0 → 100644
View file @
afdc20fa
#ifndef SIMULATED_IIC_1_MASTER_H__
#define SIMULATED_IIC_1_MASTER_H__
#include "TYW_stdint.h"
/******************************************************************************
1us延时校准
******************************************************************************/
#define SIMULATED_IIC_1_FREQ_CALIBRATION 80U
/******************************************************************************
确认信号
******************************************************************************/
#define SIMULATED_IIC_1_ACK 0U // 肯定应答
#define SIMULATED_IIC_1_NAK 1U // 否定应答
#define SIMULATED_IIC_1_INVALID_ACK 2U // 无效的应答信号(应答信号还未收到)
/******************************************************************************
函数声明
******************************************************************************/
void
Simulated_IIC_1_Init
(
void
);
void
Simulated_IIC_1_Start
(
void
);
void
Simulated_IIC_1_Stop
(
void
);
void
Simulated_IIC_1_Transmit_Data
(
uint8_t
Data
);
uint8_t
Simulated_IIC_1_Receive_Data
(
void
);
void
Simulated_IIC_1_Transmit_ACK
(
uint8_t
ACK
);
uint8_t
Simulated_IIC_1_Receive_ACK
(
void
);
void
Simulated_IIC_1_Delay
(
void
);
/*void Simulated_IIC_1_Slave_Service(void);*/
#endif
\ No newline at end of file
GHS/Driver/Simulated_IIC_2_Master.c
View file @
afdc20fa
...
@@ -10,36 +10,36 @@ SDA:P22-3
...
@@ -10,36 +10,36 @@ SDA:P22-3
SCL:P22-4
SCL:P22-4
*/
*/
/*时钟输入*/
/*时钟输入*/
void
SGM4591Q_Clock_Input
(
void
)
void
SGM4591Q_Clock
2
_Input
(
void
)
{
{
Port_SetPinDirection
(
Port_Config_PortGroup2
2
_PortPin4
,
PORT_PIN_IN
);
Port_SetPinDirection
(
Port_Config_PortGroup2
1
_PortPin4
,
PORT_PIN_IN
);
}
}
/*时钟输出低*/
/*时钟输出低*/
void
SGM4591Q_Clock_Output
(
void
)
void
SGM4591Q_Clock
2
_Output
(
void
)
{
{
Port_SetPinDirection
(
Port_Config_PortGroup2
2
_PortPin4
,
PORT_PIN_OUT
);
Port_SetPinDirection
(
Port_Config_PortGroup2
1
_PortPin4
,
PORT_PIN_OUT
);
Dio_WriteChannel
(
DioConf_DioChannel_P2
2
_04
,
STD_LOW
);
Dio_WriteChannel
(
DioConf_DioChannel_P2
1
_04
,
STD_LOW
);
}
}
/*数据设置输入*/
/*数据设置输入*/
void
SGM4591Q_Data_Input
(
void
)
void
SGM4591Q_Data
2
_Input
(
void
)
{
{
Port_SetPinDirection
(
Port_Config_PortGroup2
2_PortPin3
,
PORT_PIN_IN
);
Port_SetPinDirection
(
Port_Config_PortGroup2
1_PortPin5
,
PORT_PIN_IN
);
}
}
/*数据输入高低电平*/
/*数据输入高低电平*/
uint8_t
SGM4591Q_Data_Input_Value
(
void
)
uint8_t
SGM4591Q_Data
2
_Input_Value
(
void
)
{
{
uint8_t
Data
;
uint8_t
Data
;
Data
=
Dio_ReadChannel
(
Port_Config_PortGroup2
2_PortPin3
);
Data
=
Dio_ReadChannel
(
Port_Config_PortGroup2
1_PortPin5
);
return
Data
;
return
Data
;
}
}
/*数据输出低*/
/*数据输出低*/
void
SGM4591Q_Data_Output_Low
(
void
)
void
SGM4591Q_Data
2
_Output_Low
(
void
)
{
{
Port_SetPinDirection
(
Port_Config_PortGroup2
2_PortPin3
,
PORT_PIN_OUT
);
Port_SetPinDirection
(
Port_Config_PortGroup2
1_PortPin5
,
PORT_PIN_OUT
);
Dio_WriteChannel
(
DioConf_DioChannel_P2
2_03
,
STD_LOW
);
Dio_WriteChannel
(
DioConf_DioChannel_P2
1_05
,
STD_LOW
);
}
}
/******************************************************************************
/******************************************************************************
...
@@ -51,12 +51,12 @@ void SGM4591Q_Data_Output_Low(void)
...
@@ -51,12 +51,12 @@ void SGM4591Q_Data_Output_Low(void)
void
Simulated_IIC_2_Init
(
void
)
void
Simulated_IIC_2_Init
(
void
)
{
{
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock_Input
();
SGM4591Q_Clock
2
_Input
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data_Input
();
SGM4591Q_Data
2
_Input
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
...
@@ -74,24 +74,24 @@ void Simulated_IIC_2_Start(void)
...
@@ -74,24 +74,24 @@ void Simulated_IIC_2_Start(void)
u8SimulatedIIC2ReceivedACK
=
SIMULATED_IIC_2_INVALID_ACK
;
u8SimulatedIIC2ReceivedACK
=
SIMULATED_IIC_2_INVALID_ACK
;
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data_Input
();
SGM4591Q_Data
2
_Input
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock_Input
();
SGM4591Q_Clock
2
_Input
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_2_OUT_SDA = 0;
// SIMULATED_IIC_2_OUT_SDA = 0;
SGM4591Q_Data_Output_Low
();
SGM4591Q_Data
2
_Output_Low
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL = 0;
// SIMULATED_IIC_2_SCL = 0;
SGM4591Q_Clock_Output
();
SGM4591Q_Clock
2
_Output
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
}
}
...
@@ -107,17 +107,17 @@ void Simulated_IIC_2_Stop(void)
...
@@ -107,17 +107,17 @@ void Simulated_IIC_2_Stop(void)
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_2_OUT_SDA = 0;
// SIMULATED_IIC_2_OUT_SDA = 0;
SGM4591Q_Data_Output_Low
();
SGM4591Q_Data
2
_Output_Low
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock_Input
();
SGM4591Q_Clock
2
_Input
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data_Input
();
SGM4591Q_Data
2
_Input
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
}
}
...
@@ -139,46 +139,46 @@ void Simulated_IIC_2_Transmit_Data(uint8_t Data)
...
@@ -139,46 +139,46 @@ void Simulated_IIC_2_Transmit_Data(uint8_t Data)
if
((
Data
&
0x80
)
!=
0U
)
if
((
Data
&
0x80
)
!=
0U
)
{
{
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data_Input
();
SGM4591Q_Data
2
_Input
();
}
}
else
else
{
{
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_2_OUT_SDA = 0;
// SIMULATED_IIC_2_OUT_SDA = 0;
SGM4591Q_Data_Output_Low
();
SGM4591Q_Data
2
_Output_Low
();
}
}
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock_Input
();
SGM4591Q_Clock
2
_Input
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL = 0;
// SIMULATED_IIC_2_SCL = 0;
SGM4591Q_Clock_Output
();
SGM4591Q_Clock
2
_Output
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Data
<<=
1
;
Data
<<=
1
;
}
}
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // 设置SDA为输入状态
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // 设置SDA为输入状态
SGM4591Q_Data_Input
();
SGM4591Q_Data
2
_Input
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock_Input
();
SGM4591Q_Clock
2
_Input
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// u8SimulatedIIC2ReceivedACK = SIMULATED_IIC_2_IN_SDA;
// u8SimulatedIIC2ReceivedACK = SIMULATED_IIC_2_IN_SDA;
u8SimulatedIIC2ReceivedACK
=
SGM4591Q_Data_Input_Value
();
u8SimulatedIIC2ReceivedACK
=
SGM4591Q_Data
2
_Input_Value
();
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL = 0;
// SIMULATED_IIC_2_SCL = 0;
SGM4591Q_Clock_Output
();
SGM4591Q_Clock
2
_Output
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
}
}
...
@@ -196,7 +196,7 @@ uint8_t Simulated_IIC_2_Receive_Data(void)
...
@@ -196,7 +196,7 @@ uint8_t Simulated_IIC_2_Receive_Data(void)
Data
=
0
;
Data
=
0
;
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // 设置SDA为输入状态
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // 设置SDA为输入状态
SGM4591Q_Data_Input
();
SGM4591Q_Data
2
_Input
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
...
@@ -205,17 +205,17 @@ uint8_t Simulated_IIC_2_Receive_Data(void)
...
@@ -205,17 +205,17 @@ uint8_t Simulated_IIC_2_Receive_Data(void)
Data
<<=
1
;
Data
<<=
1
;
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock_Input
();
SGM4591Q_Clock
2
_Input
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// Data |= SIMULATED_IIC_2_IN_SDA;
// Data |= SIMULATED_IIC_2_IN_SDA;
Data
|=
SGM4591Q_Data_Input_Value
();
Data
|=
SGM4591Q_Data
2
_Input_Value
();
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL = 0;
// SIMULATED_IIC_2_SCL = 0;
SGM4591Q_Clock_Output
();
SGM4591Q_Clock
2
_Output
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
}
}
...
@@ -242,24 +242,24 @@ void Simulated_IIC_2_Transmit_ACK(uint8_t ACK)
...
@@ -242,24 +242,24 @@ void Simulated_IIC_2_Transmit_ACK(uint8_t ACK)
if
(
ACK
!=
0U
)
if
(
ACK
!=
0U
)
{
{
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data_Input
();
SGM4591Q_Data
2
_Input
();
}
}
else
else
{
{
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_2_OUT_SDA = 0;
// SIMULATED_IIC_2_OUT_SDA = 0;
SGM4591Q_Data_Output_Low
();
SGM4591Q_Data
2
_Output_Low
();
}
}
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock_Input
();
SGM4591Q_Clock
2
_Input
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL = 0;
// SIMULATED_IIC_2_SCL = 0;
SGM4591Q_Clock_Output
();
SGM4591Q_Clock
2
_Output
();
Simulated_IIC_2_Delay
();
Simulated_IIC_2_Delay
();
}
}
...
...
GHS/Driver/Simulated_IIC_3_Master.c
0 → 100644
View file @
afdc20fa
#include "Simulated_IIC_3_Master.h"
#include "Port_Cfg.h"
#include "Port.h"
#include "Dio.h"
uint8_t
u8SimulatedIIC3ReceivedACK
;
/*
SDA:P22-3
SCL:P22-4
*/
/*时钟输入*/
void
SGM4591Q_Clock3_Input
(
void
)
{
Port_SetPinDirection
(
Port_Config_PortGroup21_PortPin6
,
PORT_PIN_IN
);
}
/*时钟输出低*/
void
SGM4591Q_Clock3_Output
(
void
)
{
Port_SetPinDirection
(
Port_Config_PortGroup21_PortPin6
,
PORT_PIN_OUT
);
Dio_WriteChannel
(
DioConf_DioChannel_P21_06
,
STD_LOW
);
}
/*数据设置输入*/
void
SGM4591Q_Data3_Input
(
void
)
{
Port_SetPinDirection
(
Port_Config_PortGroup21_PortPin7
,
PORT_PIN_IN
);
}
/*数据输入高低电平*/
uint8_t
SGM4591Q_Data3_Input_Value
(
void
)
{
uint8_t
Data
;
Data
=
Dio_ReadChannel
(
Port_Config_PortGroup21_PortPin7
);
return
Data
;
}
/*数据输出低*/
void
SGM4591Q_Data3_Output_Low
(
void
)
{
Port_SetPinDirection
(
Port_Config_PortGroup21_PortPin7
,
PORT_PIN_OUT
);
Dio_WriteChannel
(
DioConf_DioChannel_P21_07
,
STD_LOW
);
}
/******************************************************************************
函数名:IIC_Init
功 能:初始化IIC总线
参 数:无
返回值:无
******************************************************************************/
void
Simulated_IIC_3_Init
(
void
)
{
// SIMULATED_IIC_3_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock3_Input
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
// SIMULATED_IIC_3_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data3_Input
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
u8SimulatedIIC3ReceivedACK
=
SIMULATED_IIC_3_INVALID_ACK
;
}
/******************************************************************************
函数名:IIC_Start
功 能:在IIC总线上发送起始信号,发起一次IIC通信
参 数:无
返回值:无
******************************************************************************/
void
Simulated_IIC_3_Start
(
void
)
{
u8SimulatedIIC3ReceivedACK
=
SIMULATED_IIC_3_INVALID_ACK
;
// SIMULATED_IIC_3_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data3_Input
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
// SIMULATED_IIC_3_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock3_Input
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
// SIMULATED_IIC_3_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_3_OUT_SDA = 0;
SGM4591Q_Data3_Output_Low
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
// SIMULATED_IIC_3_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_3_SCL = 0;
SGM4591Q_Clock3_Output
();
Simulated_IIC_3_Delay
();
}
/******************************************************************************
函数名:IIC_Stop
功 能:在IIC总线上发送停止信号,终止当前IIC通信
参 数:无
返回值:无
******************************************************************************/
void
Simulated_IIC_3_Stop
(
void
)
{
u8SimulatedIIC3ReceivedACK
=
SIMULATED_IIC_3_INVALID_ACK
;
// SIMULATED_IIC_3_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_3_OUT_SDA = 0;
SGM4591Q_Data3_Output_Low
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
// SIMULATED_IIC_3_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock3_Input
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
// SIMULATED_IIC_3_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data3_Input
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
}
/******************************************************************************
函数名:IIC_Transmit_Data
功 能:向IIC总线上发送1字节数据
参 数:Data:发送的数据
返回值:总线上器件的确认(ACK) 0 - ACK 1 - NAK
******************************************************************************/
void
Simulated_IIC_3_Transmit_Data
(
uint8_t
Data
)
{
uint8_t
i
;
u8SimulatedIIC3ReceivedACK
=
SIMULATED_IIC_3_INVALID_ACK
;
for
(
i
=
0
;
i
<
8
;
i
++
)
{
if
((
Data
&
0x80
)
!=
0U
)
{
// SIMULATED_IIC_3_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data3_Input
();
}
else
{
// SIMULATED_IIC_3_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_3_OUT_SDA = 0;
SGM4591Q_Data3_Output_Low
();
}
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
// SIMULATED_IIC_3_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock3_Input
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
// SIMULATED_IIC_3_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_3_SCL = 0;
SGM4591Q_Clock3_Output
();
Simulated_IIC_3_Delay
();
Data
<<=
1
;
}
// SIMULATED_IIC_3_SDA_DIR = GPIO_DIR_IN; // 设置SDA为输入状态
SGM4591Q_Data3_Input
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
// SIMULATED_IIC_3_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock3_Input
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
// u8SimulatedIIC3ReceivedACK = SIMULATED_IIC_3_IN_SDA;
u8SimulatedIIC3ReceivedACK
=
SGM4591Q_Data3_Input_Value
();
// SIMULATED_IIC_3_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_3_SCL = 0;
SGM4591Q_Clock3_Output
();
Simulated_IIC_3_Delay
();
}
/******************************************************************************
函数名:IIC_Receive_Data
功 能:从IIC总线上接收1字节数据
参 数:无
返回值:接收到的数据
******************************************************************************/
uint8_t
Simulated_IIC_3_Receive_Data
(
void
)
{
uint8_t
i
;
uint8_t
Data
;
Data
=
0
;
// SIMULATED_IIC_3_SDA_DIR = GPIO_DIR_IN; // 设置SDA为输入状态
SGM4591Q_Data3_Input
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
for
(
i
=
0
;
i
<
8
;
i
++
)
{
Data
<<=
1
;
// SIMULATED_IIC_3_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock3_Input
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
// Data |= SIMULATED_IIC_3_IN_SDA;
Data
|=
SGM4591Q_Data3_Input_Value
();
// SIMULATED_IIC_3_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_3_SCL = 0;
SGM4591Q_Clock3_Output
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
}
return
Data
;
}
/******************************************************************************
函数名:IIC_Transmit_ACK
功 能:向IIC总线上发送确认信号
参 数:ACK:确认信号的类型: SIMULATED_IIC_3_ACK 肯定应答
IIC_NAK 否定应答
返回值:无
******************************************************************************/
void
Simulated_IIC_3_Transmit_ACK
(
uint8_t
ACK
)
{
u8SimulatedIIC3ReceivedACK
=
SIMULATED_IIC_3_INVALID_ACK
;
if
(
ACK
>
SIMULATED_IIC_3_NAK
)
{
return
;
}
if
(
ACK
!=
0U
)
{
// SIMULATED_IIC_3_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data3_Input
();
}
else
{
// SIMULATED_IIC_3_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_3_OUT_SDA = 0;
SGM4591Q_Data3_Output_Low
();
}
Simulated_IIC_3_Delay
();
// SIMULATED_IIC_3_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock3_Input
();
Simulated_IIC_3_Delay
();
Simulated_IIC_3_Delay
();
// SIMULATED_IIC_3_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_3_SCL = 0;
SGM4591Q_Clock3_Output
();
Simulated_IIC_3_Delay
();
}
/******************************************************************************
函数名:IIC_Receive_ACK
功 能:获取从总线上接收到的确认信号
参 数:无
返回值:总线上器件的确认信号类型:Simulated_IIC_ACK 肯定应答
SIMULATED_IIC_3_NAK 否定应答
IIC_INVALID_ACK 无效的应答信号(应答信号还未收到)
******************************************************************************/
uint8_t
Simulated_IIC_3_Receive_ACK
(
void
)
{
uint8_t
ACK
;
ACK
=
u8SimulatedIIC3ReceivedACK
;
u8SimulatedIIC3ReceivedACK
=
SIMULATED_IIC_3_INVALID_ACK
;
return
ACK
;
}
/******************************************************************************
函数名:IIC_Delay
功 能:延时5us,用于收发过程中的时序控制
注意:必须调整IIC_5us_DELAY_CALIBRATION参数校准延时时间在5us左右
参 数:ACK:确认信号的类型 0 - ACK 1 - NAK
返回值:无
******************************************************************************/
void
Simulated_IIC_3_Delay
(
void
)
{
uint8_t
i
;
for
(
i
=
0
;
i
<
SIMULATED_IIC_3_FREQ_CALIBRATION
;
i
++
)
{
NOP
();
}
}
GHS/Driver/Simulated_IIC_3_Master.h
0 → 100644
View file @
afdc20fa
#ifndef SIMULATED_IIC_3_MASTER_H__
#define SIMULATED_IIC_3_MASTER_H__
#include "TYW_stdint.h"
/******************************************************************************
1us延时校准
******************************************************************************/
#define SIMULATED_IIC_3_FREQ_CALIBRATION 80U
/******************************************************************************
确认信号
******************************************************************************/
#define SIMULATED_IIC_3_ACK 0U // 肯定应答
#define SIMULATED_IIC_3_NAK 1U // 否定应答
#define SIMULATED_IIC_3_INVALID_ACK 2U // 无效的应答信号(应答信号还未收到)
/******************************************************************************
函数声明
******************************************************************************/
void
Simulated_IIC_3_Init
(
void
);
void
Simulated_IIC_3_Start
(
void
);
void
Simulated_IIC_3_Stop
(
void
);
void
Simulated_IIC_3_Transmit_Data
(
uint8_t
Data
);
uint8_t
Simulated_IIC_3_Receive_Data
(
void
);
void
Simulated_IIC_3_Transmit_ACK
(
uint8_t
ACK
);
uint8_t
Simulated_IIC_3_Receive_ACK
(
void
);
void
Simulated_IIC_3_Delay
(
void
);
/*void Simulated_IIC_3_Slave_Service(void);*/
#endif
\ No newline at end of file
GHS/Driver/Simulated_IIC_4_Master.c
0 → 100644
View file @
afdc20fa
#include "Simulated_IIC_4_Master.h"
#include "Port_Cfg.h"
#include "Port.h"
#include "Dio.h"
uint8_t
u8SimulatedIIC4ReceivedACK
;
/*
SDA:P22-3
SCL:P22-4
*/
/*时钟输入*/
void
SGM4591Q_Clock4_Input
(
void
)
{
Port_SetPinDirection
(
Port_Config_PortGroup22_PortPin0
,
PORT_PIN_IN
);
}
/*时钟输出低*/
void
SGM4591Q_Clock4_Output
(
void
)
{
Port_SetPinDirection
(
Port_Config_PortGroup22_PortPin0
,
PORT_PIN_OUT
);
Dio_WriteChannel
(
DioConf_DioChannel_P22_00
,
STD_LOW
);
}
/*数据设置输入*/
void
SGM4591Q_Data4_Input
(
void
)
{
Port_SetPinDirection
(
Port_Config_PortGroup22_PortPin1
,
PORT_PIN_IN
);
}
/*数据输入高低电平*/
uint8_t
SGM4591Q_Data4_Input_Value
(
void
)
{
uint8_t
Data
;
Data
=
Dio_ReadChannel
(
Port_Config_PortGroup22_PortPin1
);
return
Data
;
}
/*数据输出低*/
void
SGM4591Q_Data4_Output_Low
(
void
)
{
Port_SetPinDirection
(
Port_Config_PortGroup22_PortPin1
,
PORT_PIN_OUT
);
Dio_WriteChannel
(
DioConf_DioChannel_P22_01
,
STD_LOW
);
}
/******************************************************************************
函数名:IIC_Init
功 能:初始化IIC总线
参 数:无
返回值:无
******************************************************************************/
void
Simulated_IIC_4_Init
(
void
)
{
// SIMULATED_IIC_4_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock4_Input
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
// SIMULATED_IIC_4_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data4_Input
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
u8SimulatedIIC4ReceivedACK
=
SIMULATED_IIC_4_INVALID_ACK
;
}
/******************************************************************************
函数名:IIC_Start
功 能:在IIC总线上发送起始信号,发起一次IIC通信
参 数:无
返回值:无
******************************************************************************/
void
Simulated_IIC_4_Start
(
void
)
{
u8SimulatedIIC4ReceivedACK
=
SIMULATED_IIC_4_INVALID_ACK
;
// SIMULATED_IIC_4_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data4_Input
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
// SIMULATED_IIC_4_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock4_Input
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
// SIMULATED_IIC_4_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_4_OUT_SDA = 0;
SGM4591Q_Data4_Output_Low
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
// SIMULATED_IIC_4_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_4_SCL = 0;
SGM4591Q_Clock4_Output
();
Simulated_IIC_4_Delay
();
}
/******************************************************************************
函数名:IIC_Stop
功 能:在IIC总线上发送停止信号,终止当前IIC通信
参 数:无
返回值:无
******************************************************************************/
void
Simulated_IIC_4_Stop
(
void
)
{
u8SimulatedIIC4ReceivedACK
=
SIMULATED_IIC_4_INVALID_ACK
;
// SIMULATED_IIC_4_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_4_OUT_SDA = 0;
SGM4591Q_Data4_Output_Low
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
// SIMULATED_IIC_4_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock4_Input
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
// SIMULATED_IIC_4_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data4_Input
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
}
/******************************************************************************
函数名:IIC_Transmit_Data
功 能:向IIC总线上发送1字节数据
参 数:Data:发送的数据
返回值:总线上器件的确认(ACK) 0 - ACK 1 - NAK
******************************************************************************/
void
Simulated_IIC_4_Transmit_Data
(
uint8_t
Data
)
{
uint8_t
i
;
u8SimulatedIIC4ReceivedACK
=
SIMULATED_IIC_4_INVALID_ACK
;
for
(
i
=
0
;
i
<
8
;
i
++
)
{
if
((
Data
&
0x80
)
!=
0U
)
{
// SIMULATED_IIC_4_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data4_Input
();
}
else
{
// SIMULATED_IIC_4_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_4_OUT_SDA = 0;
SGM4591Q_Data4_Output_Low
();
}
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
// SIMULATED_IIC_4_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock4_Input
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
// SIMULATED_IIC_4_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_4_SCL = 0;
SGM4591Q_Clock4_Output
();
Simulated_IIC_4_Delay
();
Data
<<=
1
;
}
// SIMULATED_IIC_4_SDA_DIR = GPIO_DIR_IN; // 设置SDA为输入状态
SGM4591Q_Data4_Input
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
// SIMULATED_IIC_4_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock4_Input
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
// u8SimulatedIIC4ReceivedACK = SIMULATED_IIC_4_IN_SDA;
u8SimulatedIIC4ReceivedACK
=
SGM4591Q_Data4_Input_Value
();
// SIMULATED_IIC_4_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_4_SCL = 0;
SGM4591Q_Clock4_Output
();
Simulated_IIC_4_Delay
();
}
/******************************************************************************
函数名:IIC_Receive_Data
功 能:从IIC总线上接收1字节数据
参 数:无
返回值:接收到的数据
******************************************************************************/
uint8_t
Simulated_IIC_4_Receive_Data
(
void
)
{
uint8_t
i
;
uint8_t
Data
;
Data
=
0
;
// SIMULATED_IIC_4_SDA_DIR = GPIO_DIR_IN; // 设置SDA为输入状态
SGM4591Q_Data4_Input
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
for
(
i
=
0
;
i
<
8
;
i
++
)
{
Data
<<=
1
;
// SIMULATED_IIC_4_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock4_Input
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
// Data |= SIMULATED_IIC_4_IN_SDA;
Data
|=
SGM4591Q_Data4_Input_Value
();
// SIMULATED_IIC_4_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_4_SCL = 0;
SGM4591Q_Clock4_Output
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
}
return
Data
;
}
/******************************************************************************
函数名:IIC_Transmit_ACK
功 能:向IIC总线上发送确认信号
参 数:ACK:确认信号的类型: SIMULATED_IIC_4_ACK 肯定应答
IIC_NAK 否定应答
返回值:无
******************************************************************************/
void
Simulated_IIC_4_Transmit_ACK
(
uint8_t
ACK
)
{
u8SimulatedIIC4ReceivedACK
=
SIMULATED_IIC_4_INVALID_ACK
;
if
(
ACK
>
SIMULATED_IIC_4_NAK
)
{
return
;
}
if
(
ACK
!=
0U
)
{
// SIMULATED_IIC_4_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
SGM4591Q_Data4_Input
();
}
else
{
// SIMULATED_IIC_4_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_4_OUT_SDA = 0;
SGM4591Q_Data4_Output_Low
();
}
Simulated_IIC_4_Delay
();
// SIMULATED_IIC_4_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
SGM4591Q_Clock4_Input
();
Simulated_IIC_4_Delay
();
Simulated_IIC_4_Delay
();
// SIMULATED_IIC_4_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_4_SCL = 0;
SGM4591Q_Clock4_Output
();
Simulated_IIC_4_Delay
();
}
/******************************************************************************
函数名:IIC_Receive_ACK
功 能:获取从总线上接收到的确认信号
参 数:无
返回值:总线上器件的确认信号类型:Simulated_IIC_ACK 肯定应答
SIMULATED_IIC_4_NAK 否定应答
IIC_INVALID_ACK 无效的应答信号(应答信号还未收到)
******************************************************************************/
uint8_t
Simulated_IIC_4_Receive_ACK
(
void
)
{
uint8_t
ACK
;
ACK
=
u8SimulatedIIC4ReceivedACK
;
u8SimulatedIIC4ReceivedACK
=
SIMULATED_IIC_4_INVALID_ACK
;
return
ACK
;
}
/******************************************************************************
函数名:IIC_Delay
功 能:延时5us,用于收发过程中的时序控制
注意:必须调整IIC_5us_DELAY_CALIBRATION参数校准延时时间在5us左右
参 数:ACK:确认信号的类型 0 - ACK 1 - NAK
返回值:无
******************************************************************************/
void
Simulated_IIC_4_Delay
(
void
)
{
uint8_t
i
;
for
(
i
=
0
;
i
<
SIMULATED_IIC_4_FREQ_CALIBRATION
;
i
++
)
{
NOP
();
}
}
GHS/Driver/Simulated_IIC_4_Master.h
0 → 100644
View file @
afdc20fa
#ifndef SIMULATED_IIC_4_MASTER_H__
#define SIMULATED_IIC_4_MASTER_H__
#include "TYW_stdint.h"
/******************************************************************************
1us延时校准
******************************************************************************/
#define SIMULATED_IIC_4_FREQ_CALIBRATION 80U
/******************************************************************************
确认信号
******************************************************************************/
#define SIMULATED_IIC_4_ACK 0U // 肯定应答
#define SIMULATED_IIC_4_NAK 1U // 否定应答
#define SIMULATED_IIC_4_INVALID_ACK 2U // 无效的应答信号(应答信号还未收到)
/******************************************************************************
函数声明
******************************************************************************/
void
Simulated_IIC_4_Init
(
void
);
void
Simulated_IIC_4_Start
(
void
);
void
Simulated_IIC_4_Stop
(
void
);
void
Simulated_IIC_4_Transmit_Data
(
uint8_t
Data
);
uint8_t
Simulated_IIC_4_Receive_Data
(
void
);
void
Simulated_IIC_4_Transmit_ACK
(
uint8_t
ACK
);
uint8_t
Simulated_IIC_4_Receive_ACK
(
void
);
void
Simulated_IIC_4_Delay
(
void
);
/*void Simulated_IIC_4_Slave_Service(void);*/
#endif
\ No newline at end of file
GHS/System/Sys_Task_List.c
View file @
afdc20fa
...
@@ -108,7 +108,7 @@ void Sys_100ms_Tasks(void)
...
@@ -108,7 +108,7 @@ void Sys_100ms_Tasks(void)
ADC_4
=
g_u16ADCValue
[
i
];
ADC_4
=
g_u16ADCValue
[
i
];
}
}
}
}
SGM4591Q_Control
();
//
SGM4591Q_Control();
// Port_SetPinDirection(Port_Config_PortGroup4_PortPin8, PORT_PIN_OUT);
// Port_SetPinDirection(Port_Config_PortGroup4_PortPin8, PORT_PIN_OUT);
Dio_WriteChannel
(
DioConf_DioChannel_P04_08
,
STD_LOW
);
Dio_WriteChannel
(
DioConf_DioChannel_P04_08
,
STD_LOW
);
...
...
GHS/System/init.c
View file @
afdc20fa
#include "init.h"
#include "init.h"
#include "Sys_Scheduler.h"
#include "Sys_Scheduler.h"
#include "Simulated_IIC_1_Master.h"
#include "Simulated_IIC_2_Master.h"
#include "Simulated_IIC_2_Master.h"
#include "Simulated_IIC_3_Master.h"
#include "Simulated_IIC_4_Master.h"
#include "MC33984EHFK.h"
#include "MC33984EHFK.h"
#define ADC_MODULE_SAMPLE//sophia add
#define ADC_MODULE_SAMPLE//sophia add
...
@@ -448,7 +451,10 @@ void Sys_Startup_Init(void)
...
@@ -448,7 +451,10 @@ void Sys_Startup_Init(void)
************************** SPI module test ***********************************
************************** SPI module test ***********************************
*****************************************************************************/
*****************************************************************************/
Simulated_IIC_1_Init
(
);
Simulated_IIC_2_Init
(
);
Simulated_IIC_2_Init
(
);
Simulated_IIC_3_Init
(
);
Simulated_IIC_4_Init
(
);
MC33984EHFK_Init
(
);
MC33984EHFK_Init
(
);
#ifdef SPI_MODULE_SAMPLE
#ifdef SPI_MODULE_SAMPLE
...
...
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