Обновление

This commit is contained in:
cfif 2025-11-21 13:18:04 +03:00
parent 6ec572587e
commit 3a01b031b5
2 changed files with 23 additions and 16 deletions

28
Lins.c
View File

@ -6,18 +6,20 @@
#include "fc7xxx_driver_gpio.h" #include "fc7xxx_driver_gpio.h"
#include "Lins.h" #include "Lins.h"
tLins LINS; tLinPorts LIN_PORTS;
void LinCallbackHandler(uint8_t u8LinIndex, void *state) { static void Lin0CallbackHandler(uint8_t u8LinIndex, void *state) {
GetLinCallbackHandler(&LINS.lin, u8LinIndex, state); LIN_PORTS.lin0.LinExtCallbackHandler(LIN_PORTS.lin0.envCallExtBack, u8LinIndex, state);
} }
void FCUART4_RxTx_IRQHandler(void) { void FCUART4_RxTx_IRQHandler(void) {
LIN_DrvIRQHandler(LINS.lin.UART_INDEX); LIN_DrvIRQHandler(LIN_PORTS.lin0.UART_INDEX);
} }
void Lins_Init() { tLinData* Lin0_Init(lin_callback_ext_t Lin_ExtCallbackHandler,
tLins *env = &LINS; void *Lin_envCallExtBack) {
tLinPorts *env = &LIN_PORTS;
PORT_InitType tInitStruct = {0}; PORT_InitType tInitStruct = {0};
GPIO_InitType tGpioInitStruct = {0}; GPIO_InitType tGpioInitStruct = {0};
@ -29,7 +31,7 @@ void Lins_Init() {
tInitStruct.ePullSel = PORT_PULL_UP; tInitStruct.ePullSel = PORT_PULL_UP;
PORT_InitPins(PORT_D, &tInitStruct); PORT_InitPins(PORT_D, &tInitStruct);
tGpioInitStruct.u32GpioPins = GPIO_PIN_12; tGpioInitStruct.u32GpioPins = GPIO_PIN_12;
tGpioInitStruct.ePinDirection = GPIO_IN; tGpioInitStruct.ePinDirection = GPIO_IN;
GPIO_InitPins(GPIO_D, &tGpioInitStruct); GPIO_InitPins(GPIO_D, &tGpioInitStruct);
@ -54,17 +56,21 @@ void Lins_Init() {
//GPIO_InitPins(GPIO_D, &tGpioInitStruct); //GPIO_InitPins(GPIO_D, &tGpioInitStruct);
LIN_Initial( LIN_Initial(
&env->lin, &env->lin0,
FCUART4, FCUART4,
19200, 9600,
4, // UART0 = 0 ... UART7 = 7 4, // UART0 = 0 ... UART7 = 7
FCUART4_IRQn, // FCUART0_IRQn ... FCUART7_IRQn FCUART4_IRQn, // FCUART0_IRQn ... FCUART7_IRQn
0xFF, 0xFF,
NULL, NULL,
LinCallbackHandler Lin0CallbackHandler,
Lin_ExtCallbackHandler,
Lin_envCallExtBack
); );
env->linIo = vLinGetIo(&env->lin); env->lin0_Io = vLinGetIo(&env->lin0);
return &env->lin0.linData;
} }

11
Lins.h
View File

@ -8,12 +8,13 @@
#include "LinFlagchip.h" #include "LinFlagchip.h"
typedef struct { typedef struct {
tLinFlagchip lin; tLinFlagchip lin0;
tLinIO linIo; tLinIO lin0_Io;
} tLins; } tLinPorts;
extern tLins LINS; extern tLinPorts LIN_PORTS;
void Lins_Init(); tLinData* Lin0_Init(lin_callback_ext_t Lin_ExtCallbackHandler,
void *Lin_envCallExtBack);
#endif //FLAG_LINS_H #endif //FLAG_LINS_H