This commit is contained in:
sunbeam 2025-02-19 16:33:45 +08:00
parent 9df68e778f
commit 9629d0d5df
8 changed files with 86 additions and 23 deletions

View File

@ -685,7 +685,7 @@
<data> <data>
<extensions></extensions> <extensions></extensions>
<cmdline></cmdline> <cmdline></cmdline>
<hasPrio>232</hasPrio> <hasPrio>1</hasPrio>
<buildSequence>inputOutputBased</buildSequence> <buildSequence>inputOutputBased</buildSequence>
</data> </data>
</settings> </settings>
@ -1112,6 +1112,9 @@
<file> <file>
<name>$PROJ_DIR$\..\Src\bstim32.c</name> <name>$PROJ_DIR$\..\Src\bstim32.c</name>
</file> </file>
<file>
<name>$PROJ_DIR$\..\Src\hwctrl.c</name>
</file>
<file> <file>
<name>$PROJ_DIR$\..\Src\iwdt.c</name> <name>$PROJ_DIR$\..\Src\iwdt.c</name>
</file> </file>

View File

@ -1448,6 +1448,9 @@
<file> <file>
<name>$PROJ_DIR$\..\Src\bstim32.c</name> <name>$PROJ_DIR$\..\Src\bstim32.c</name>
</file> </file>
<file>
<name>$PROJ_DIR$\..\Src\hwctrl.c</name>
</file>
<file> <file>
<name>$PROJ_DIR$\..\Src\iwdt.c</name> <name>$PROJ_DIR$\..\Src\iwdt.c</name>
</file> </file>

View File

@ -150,8 +150,8 @@
<MemConfigValue>E:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\config\debugger\FMSH\FM33LG02x.ddf</MemConfigValue> <MemConfigValue>E:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\config\debugger\FMSH\FM33LG02x.ddf</MemConfigValue>
</PlDriver> </PlDriver>
<ArmDriver> <ArmDriver>
<EnableCache>0</EnableCache>
<EnforceMemoryConfiguration>1</EnforceMemoryConfiguration> <EnforceMemoryConfiguration>1</EnforceMemoryConfiguration>
<EnableCache>0</EnableCache>
</ArmDriver> </ArmDriver>
<Jet> <Jet>
<JetConnSerialNo>CMSIS-DAP v2:000000800671FF515256656767161348A5A5A5A597969908</JetConnSerialNo> <JetConnSerialNo>CMSIS-DAP v2:000000800671FF515256656767161348A5A5A5A597969908</JetConnSerialNo>

File diff suppressed because one or more lines are too long

View File

@ -22,7 +22,8 @@
******************************************************************************/ ******************************************************************************/
typedef enum typedef enum
{ {
DCF1, DCF2, DCF3, DCF4, DCF5, DCF6, DCF7, DCF8, DCF9, DCF10 DCF1, DCF2, DCF3, DCF4, DCF5, DCF6, DCF7, DCF8, DCF9, DCF10,
DCF_NUM
}DCFCH_TypeDef; }DCFCH_TypeDef;

View File

@ -158,7 +158,7 @@ typedef struct {
#define LIN_SLP_DISABLE() FL_GPIO_SetOutputPin(LIN_SLP_GPIO, LIN_SLP_PIN) #define LIN_SLP_DISABLE() FL_GPIO_SetOutputPin(LIN_SLP_GPIO, LIN_SLP_PIN)
/* 用户处理 */ /* 用户处理 */
#define LIN_CMD0_LENGTH 8 #define LIN_CMD0_LENGTH 2
#define LIN_CMD1_LENGTH 8 #define LIN_CMD1_LENGTH 8
#define LIN_CMD2_LENGTH 8 #define LIN_CMD2_LENGTH 8

View File

@ -38,6 +38,10 @@ uint8_t Txbuf[8] = {0};
/******************************************************************************* /*******************************************************************************
* the functions * the functions
******************************************************************************/ ******************************************************************************/
static void MsgCtrlIO_task(void);
/** /**
* @brief * @brief
@ -80,7 +84,7 @@ void appTaskInit(void)
V2_12V_control(V2_12V_OFF); V2_12V_control(V2_12V_OFF);
AP_control(AP_OFF); AP_control(AP_OFF);
for (uint8_t i = 0; i < count; i++) for (uint8_t i = 0; i < DCF_NUM; i++)
{ {
DCF_control(i, DCF_OFF); DCF_control(i, DCF_OFF);
} }
@ -95,9 +99,9 @@ void appTask(void)
gSystick1msEvent--; gSystick1msEvent--;
gSystick1msCnt++; gSystick1msCnt++;
if (gSystick1msCnt % 2 == 0) if (gSystick1msCnt % 5 == 0)
{ {
MsgCtrlIO_task();
} }
if (gSystick1msCnt % 1000 == 0) if (gSystick1msCnt % 1000 == 0)
@ -107,13 +111,13 @@ void appTask(void)
gSystick1SCnt++; gSystick1SCnt++;
Txbuf[0] = gSystick1SCnt; Txbuf[0] = gSystick1SCnt;
SetSlaveData(Txbuf); SetSlaveData(Txbuf);
LED1_TOG(); //LED1_TOG();
} }
if (gSystick1msCnt % 100 == 0) if (gSystick1msCnt % 100 == 0)
{ {
LED0_TOG(); //LED0_TOG();
/* 清狗 */ /* 清狗 */
IWDT_Clr(); IWDT_Clr();
@ -134,8 +138,47 @@ void appTask(void)
} }
} }
} }
uint8_t msgRxBuf[8] = {0};
void MsgCtrlIO_task(void) static void MsgCtrlIO_task(void)
{ {
MsgCtrlIO(); GetMasterData(msgRxBuf);
for (uint8_t i = 0; i < 8; i++)
{
if (msgRxBuf[0] & (0x01<<i))
{
DCF_control(i,DCF_ON);
}
else
{
DCF_control(i,DCF_OFF);
}
}
for (uint8_t i = 0; i < 2; i++)
{
if (msgRxBuf[1] & (0x01<<i))
{
DCF_control(i+8,DCF_ON);
}
else
{
DCF_control(i+8,DCF_OFF);
}
}
if (msgRxBuf[1] & 0x80)
{
V2_12V_control(V2_12V_ON);
}
else
{
V2_12V_control(V2_12V_OFF);
}
if (msgRxBuf[1] & 0x40)
{
AP_control(AP_ON);
}
else
{
AP_control(AP_OFF);
}
} }

View File

@ -24,9 +24,9 @@
#define DCF8_GPIO GPIOB #define DCF8_GPIO GPIOB
#define DCF8_PIN FL_GPIO_PIN_9 #define DCF8_PIN FL_GPIO_PIN_9
#define DCF9_GPIO GPIOA #define DCF9_GPIO GPIOA
#define DCF9_PIN FL_GPIO_PIN_2 #define DCF9_PIN FL_GPIO_PIN_15
#define DCF10_GPIO GPIOA #define DCF10_GPIO GPIOA
#define DCF10_PIN FL_GPIO_PIN_15 #define DCF10_PIN FL_GPIO_PIN_2
#define V2_12V_CTRL_GPIO GPIOB #define V2_12V_CTRL_GPIO GPIOB
#define V2_12V_CTRL_PIN FL_GPIO_PIN_12 #define V2_12V_CTRL_PIN FL_GPIO_PIN_12
@ -65,7 +65,7 @@
void hw_gpio_init(void) void hw_gpio_init(void)
{ {
FL_GPIO_InitTypeDef GPIO_InitStruct = {0};
FL_GPIO_ResetOutputPin(DCF1_GPIO, DCF1_PIN); FL_GPIO_ResetOutputPin(DCF1_GPIO, DCF1_PIN);
FL_GPIO_ResetOutputPin(DCF2_GPIO, DCF2_PIN); FL_GPIO_ResetOutputPin(DCF2_GPIO, DCF2_PIN);
FL_GPIO_ResetOutputPin(DCF3_GPIO, DCF3_PIN); FL_GPIO_ResetOutputPin(DCF3_GPIO, DCF3_PIN);
@ -76,6 +76,10 @@ void hw_gpio_init(void)
FL_GPIO_ResetOutputPin(DCF8_GPIO, DCF8_PIN); FL_GPIO_ResetOutputPin(DCF8_GPIO, DCF8_PIN);
FL_GPIO_ResetOutputPin(DCF9_GPIO, DCF9_PIN); FL_GPIO_ResetOutputPin(DCF9_GPIO, DCF9_PIN);
FL_GPIO_ResetOutputPin(DCF10_GPIO, DCF10_PIN); FL_GPIO_ResetOutputPin(DCF10_GPIO, DCF10_PIN);
FL_GPIO_ResetOutputPin(V2_12V_CTRL_GPIO, V2_12V_CTRL_PIN);
FL_GPIO_ResetOutputPin(V2_12V_DEN_GPIO, V2_12V_DEN_PIN);
FL_GPIO_ResetOutputPin(AP_CTRL_GPIO, AP_CTRL_PIN);
FL_GPIO_ResetOutputPin(AP_DEN_GPIO, AP_DEN_PIN);
GPIO_InitStruct.pin = DCF1_PIN; GPIO_InitStruct.pin = DCF1_PIN;
GPIO_InitStruct.mode = FL_GPIO_MODE_OUTPUT; GPIO_InitStruct.mode = FL_GPIO_MODE_OUTPUT;
@ -104,6 +108,15 @@ void hw_gpio_init(void)
GPIO_InitStruct.pin = DCF10_PIN; GPIO_InitStruct.pin = DCF10_PIN;
FL_GPIO_Init(DCF10_GPIO, &GPIO_InitStruct); FL_GPIO_Init(DCF10_GPIO, &GPIO_InitStruct);
GPIO_InitStruct.pin = V2_12V_CTRL_PIN;
FL_GPIO_Init(V2_12V_CTRL_GPIO, &GPIO_InitStruct);
GPIO_InitStruct.pin = V2_12V_DEN_PIN;
FL_GPIO_Init(V2_12V_DEN_GPIO, &GPIO_InitStruct);
GPIO_InitStruct.pin = AP_CTRL_PIN;
FL_GPIO_Init(AP_CTRL_GPIO, &GPIO_InitStruct);
GPIO_InitStruct.pin = AP_DEN_PIN;
FL_GPIO_Init(AP_DEN_GPIO, &GPIO_InitStruct);
} }
void DCF_control(DCFCH_TypeDef channel, uint8_t state) void DCF_control(DCFCH_TypeDef channel, uint8_t state)