JZsdk_Hal.c
3.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#include <stdio.h>
#include "JZsdkLib.h"
#include "Hal_Recv/HalRecv.h"
#include "Hal_Send/HalSend.h"
#include "JZsdk_Hal.h"
#include "BaseConfig.h"
#include "JZsdk_uart/JZsdk_Uart.h"
/******************
*
* 用来记录端口使用情况的结构体
* JZ_FLAGCODE_OFF 关闭
* JZ_FLAGCODE_ON 开启
* ********************/
typedef struct s_JZsdk_Hal_PortUseFlag
{
int UartDev_DEV1 ;
int UartDev_DEV2 ;
int UartDev_DEV3 ;
int UartDev_DEV4 ;
int UartDev_4G ;
int Data_Dransmisson;
}s_JZsdk_Hal_PortUseFlag;
static s_JZsdk_Hal_PortUseFlag g_PortUseFlag = {JZ_FLAGCODE_OFF};
/**************
*
* jzsdk hal的端口使用标志位
*
*
* *********************/
int JZsdk_HalPort_UseFlag(int PortName)
{
if (PortName == UART_DEV_1)
{
return g_PortUseFlag.UartDev_DEV1;
}
else if (PortName == UART_DEV_2)
{
return g_PortUseFlag.UartDev_DEV2;
}
else if (PortName == UART_DEV_3)
{
return g_PortUseFlag.UartDev_DEV3;
}
else if (PortName == UART_DEV_4)
{
return g_PortUseFlag.UartDev_DEV4;
}
else if (PortName == UART_4G)
{
return g_PortUseFlag.UartDev_4G;
}
else if (PortName == HAL_DATA_TRANSMISSION)
{
return g_PortUseFlag.Data_Dransmisson;
}
}
T_JZsdkReturnCode JZsdk_HalPort_SetUseFlag(int PortName,int UseFlag)
{
if (PortName == UART_DEV_1)
{
g_PortUseFlag.UartDev_DEV1 = UseFlag;
}
else if (PortName == UART_DEV_2)
{
g_PortUseFlag.UartDev_DEV2 = UseFlag;
}
else if (PortName == UART_DEV_3)
{
g_PortUseFlag.UartDev_DEV3 = UseFlag;
}
else if (PortName == UART_DEV_4)
{
g_PortUseFlag.UartDev_DEV4 = UseFlag;
}
else if (PortName == UART_4G)
{
g_PortUseFlag.UartDev_4G = UseFlag;
}
else if (PortName == HAL_DATA_TRANSMISSION)
{
g_PortUseFlag.Data_Dransmisson = UseFlag;
}
else
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/**********************
*
* hal端口 重初始化函数
*
*
* ******************/
T_JZsdkReturnCode JZsdk_HalPort_ReInit(int PortName, int Value[])
{
switch (PortName)
{
case UART_DEV_1:
JZsdk_Uart_ReInit(PortName, Value[0]);
break;
case UART_DEV_2:
JZsdk_Uart_ReInit(PortName, Value[0]);
break;
case UART_DEV_3:
JZsdk_Uart_ReInit(PortName, Value[0]);
break;
case UART_DEV_4:
JZsdk_Uart_ReInit(PortName, Value[0]);
break;
case UART_4G:
JZsdk_Uart_ReInit(PortName, Value[0]);
break;
default:
break;
}
}
/**********************
*
* hal端口 使用默认参数初始化函数
*
* ******************/
T_JZsdkReturnCode JZsdk_HalPort_Init_WithDefault(int PortName)
{
int value[5] = {0, 0, 0, 0, 0};
if (PortName == UART_DEV_1)
{
value[0] = UART_DEV1_BITRATE;
}
else if (PortName == UART_DEV_2)
{
value[0] = UART_DEV2_BITRATE;
}
else if (PortName == UART_4G)
{
value[0] = COMM_4G_UART_BITRATE;
}
return JZsdk_HalPort_ReInit(PortName, value);
}