Commit 86563f11 authored by 何锐's avatar 何锐

feat:优化代码

parent be88bac5
......@@ -62,6 +62,7 @@
"display_info.h": "c",
"can_communication_matrix.h": "c",
"analog_signals.h": "c",
"key.h": "c"
"key.h": "c",
"can_app.h": "c"
}
}
\ No newline at end of file
#ifndef _CAN_APP_H_
#define _CAN_APP_H_
typedef enum
{
SWOUT_READ = 0,
HWOUT_READ,
SWIN_READ,
HWIN_READ,
PN_READ,
TIME_READ,
Finish_READ,
}CAN_MSG_READ_STEP_t;
extern uint8_t PortNumberStep;
void Can_Abort_All(void);
void CAN_QuickTimer_Init(void);
void Can_Write_Fun_APP(void);
......@@ -46,18 +59,22 @@ void Can_BusOffRecover(void);
uint8_t CrcCheckSum(uint8_t *data, uint8_t len);
void can_submit(void);
void Get_ID_0x794_Msg(void);
void Send_UDS_fuc(void);
extern uint8_t ruanjianbanbenhao[8];
void Get_PN_msg(void);
extern void UDS_Process_Service(void);
extern void Get_UID_msg(void);
extern void Diagnostic_Init(void);
void change_UDS_DID(void);
void UIDWrite(void);
extern void Get_SW_msg(void);
extern void Get_SWIN_msg(void);
extern void Get_HW_msg(void);
extern void UIDRead(void);
extern void uidreset(void);
extern void CAN_Service(void);
extern void UDS_Message_Get(void);
extern uint8_t MCU_SWversion_Get(void);
extern uint8_t MCU_HWversion_Get(void);
extern uint8_t tyw_MCU_SWversion_Get(void);
extern uint8_t tyw_MCU_HWversion_Get(void);
extern uint8_t MCU_PartNumbers_Get(void);
extern uint8_t SW_Release_Time_Get(void);
extern uint8_t UDS_DisableFlag;
extern uint8_t UIDcode1[33];
extern uint8_t UIDcode2[33];
extern uint8_t UIDNumber[19];
......@@ -74,4 +91,11 @@ extern uint8_t SWINtestresult;
extern uint8_t SWtestresult;
extern uint8_t HWtestresult;
extern uint8_t resettime;
extern uint8_t SWOUTENable;
extern uint8_t HWOUTENable;
extern uint8_t SWINENable;
extern uint8_t HWINENable;
extern uint8_t PNENable;
extern uint8_t TIMEable;
#endif
......@@ -244,6 +244,38 @@ uint8_t Get_CAN_CH0_ID_7A9_byte7_Sig(void)
uint8_t Get_CAN_CH0_ID_UDS_byte0_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_Msg_Count, 0u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_UDS_byte1_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_Msg_Count, 1u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_UDS_byte2_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_Msg_Count, 2u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_UDS_byte3_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_Msg_Count, 3u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_UDS_byte4_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_Msg_Count, 4u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_UDS_byte5_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_Msg_Count, 5u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_UDS_byte6_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_Msg_Count, 6u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_UDS_byte7_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_Msg_Count, 7u) >> 0u) & 0xFFu));
}
......@@ -278,8 +310,8 @@ uint8_t Co_Can_ConvertSubID(uint32_t MsgID)
case CAN_CH0_ID_Send0x794_Msg:
u8Result = CAN_CH0_ID_0x794_Msg_Count;
break;
case CAN_CH0_ID_Send0x7A9_Msg:
u8Result = CAN_CH0_ID_0x7A9_Msg_Count;
case CAN_CH0_ID_Send0xUDS_Msg:
u8Result = CAN_CH0_ID_UDS_Msg_Count;
break;
default :
u8Result = CAN_CH0_ID_TOTAL_MAX;
......
......@@ -4,6 +4,9 @@
#include "TYW_stdint.h"
#include "CAN_Lib.h"
#define CAN_CH0_ID_UDS_Msg_Count CAN_CH0_ID_0x789_Msg_Count
#define CAN_CH0_ID_Send0xUDS_Msg 0x789ul
typedef enum
{
CAN_CH0_ID_Send10FF4117_Msg_Count,
......@@ -14,6 +17,7 @@ typedef enum
CAN_CH0_ID_Send18FEFC17_Msg_Count,
CAN_CH0_ID_0x794_Msg_Count,
CAN_CH0_ID_0x7A9_Msg_Count,
CAN_CH0_ID_UDS_Msg_Count,
CAN_CH0_ID_TOTAL_MAX,
} CAN_MSG_ID_t;
......@@ -35,7 +39,6 @@ extern const st_CAN_SendAttribute st_CANSendAttr[ID_SEND_TOTAL] ;
#define CAN_CH0_ID_Send0CFE6CEE_Msg 0x0CFE6CEEul
#define CAN_CH0_ID_Send18FEFC17_Msg 0x18FEFC17ul
#define CAN_CH0_ID_Send0x794_Msg 0x794ul
#define CAN_CH0_ID_Send0x7A9_Msg 0x7A9ul
extern uint32_t Get_ID_ODO(void);
extern uint32_t Get_ID_FUEL(void);
......@@ -69,6 +72,14 @@ extern uint8_t Get_CAN_CH0_ID_7A9_byte5_Sig(void);
extern uint8_t Get_CAN_CH0_ID_7A9_byte6_Sig(void);
extern uint8_t Get_CAN_CH0_ID_7A9_byte7_Sig(void);
extern uint8_t Get_CAN_CH0_ID_UDS_byte0_Sig(void);
extern uint8_t Get_CAN_CH0_ID_UDS_byte1_Sig(void);
extern uint8_t Get_CAN_CH0_ID_UDS_byte2_Sig(void);
extern uint8_t Get_CAN_CH0_ID_UDS_byte3_Sig(void);
extern uint8_t Get_CAN_CH0_ID_UDS_byte4_Sig(void);
extern uint8_t Get_CAN_CH0_ID_UDS_byte5_Sig(void);
extern uint8_t Get_CAN_CH0_ID_UDS_byte6_Sig(void);
extern uint8_t Get_CAN_CH0_ID_UDS_byte7_Sig(void);
......
......@@ -25,25 +25,13 @@
/*==============================================================================
αʵʱ����
------------------------------------------------------------------------------*/
#define CAN_SEND_TIME 2 //*10ms
#define CAN_SEND_BEGIN_TIME 100 //*10ms
void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void)
{
SD_FMQ = 1;
// DoCAN_Communication_Service( );
// UDS_Server_Application_Service( );
TFT_LCD_Display_Update_Service( );
Get_PN_msg();
if(SWINtestresult == 1)
{
Get_SWIN_msg();
}
if(SWtestresult == 1)
{
Get_SW_msg();
}
if(HWtestresult == 1)
{
Get_HW_msg();
}
}
/*============================================================================*/
......@@ -75,6 +63,8 @@ extern uint8_t fuelreset1;
extern uint8_t fuelreset2;
extern uint8_t fuelreset3;
extern uint8_t fuelreset4;
uint8_t UDS_DisableFlagnumber;
uint8_t IGtinmed;
void Sys_Run_Mode_10ms_Tasks_Group(void)
{
if((resettime < 250) && (writeflag == 0))
......@@ -128,7 +118,6 @@ void Sys_Run_Mode_10ms_Tasks_Group(void)
{
if(begin714 == 0)
{
Send_UDS_fuc();
send0x714time = 0;
}
}
......@@ -145,7 +134,23 @@ void Sys_Run_Mode_10ms_Tasks_Group(void)
UIDWrite();
}
if(IGtinmed <= CAN_SEND_BEGIN_TIME)
{
IGtinmed++;
}
else
{
// if(UDS_DisableFlag == 0)
// {
UDS_DisableFlagnumber++;
if(UDS_DisableFlagnumber >= CAN_SEND_TIME)
{
UDS_DisableFlagnumber = 0;
UDS_Process_Service();
CAN_Service();
}
// }
}
//刷数字、刷英文拼写。
......
......@@ -2058,6 +2058,8 @@ void RSCAN0_CH4_RX_ISR(void)
}
}
Get_UID_msg();
UDS_Message_Get();
PortNumberStep += MCU_PartNumbers_Get();
}
void RSCAN0_CH5_RX_ISR(void)
......
......@@ -147,7 +147,7 @@ static uint8_t TFT_LCD_Insert_Draw_Traffic_Bmp_Handler ( TFTLCDDrawingReqStruct
void TFT_LCD_Draw_Traffic_Bmp ( uint16_t StartX, uint16_t StartY, uint8_t * pBmp );
static uint8_t TFT_LCD_Insert_Draw_Bmp_Handler ( TFTLCDDrawingReqStruct *pReq );
void TFT_LCD_Draw_Bmp ( uint16_t StartX, uint16_t StartY, uint8_t * pBmp );
extern void TFT_LCD_Draw_Bmp ( uint16_t StartX, uint16_t StartY, uint8_t * pBmp );
void TFT_LCD_Draw_Transparent_Bmp ( uint16_t StartX, uint16_t StartY, uint8_t * pBmp, uint8_t Type );
void TFT_LCD_Draw_Pixel ( uint16_t PosX, uint16_t PosY, uint8_t Type );
void TFT_LCD_Draw_Horizontal_Line ( uint16_t StartX, uint16_t EndX, uint16_t PosY, uint8_t Type );
......
......@@ -38,7 +38,7 @@ void LCD_Init(void)
Sim_8080_Data_Write ( 0x0C );
Sim_8080_Data_Write ( 0x26 );
Sim_8080_Command_Write ( 0x21 );
Sim_8080_Data_Write ( 0x01 ); //翻转,正反面翻转 00 01
Sim_8080_Data_Write ( 0x00 ); //翻转,正反面翻转 00 01
Sim_8080_Data_Write ( 0xA5 );
Sim_8080_Data_Write ( 0xA5 );
Sim_8080_Data_Write ( 0xA5 );
......@@ -58,7 +58,7 @@ void LCD_Init(void)
Sim_8080_Data_Write ( 0x00 );
Sim_8080_Data_Write ( 0xA5 );
Sim_8080_Command_Write ( 0xA2 );
Sim_8080_Data_Write ( 0x00 ); //180度翻转;00 10
Sim_8080_Data_Write ( 0x10 ); //180度翻转;00 10
Sim_8080_Data_Write ( 0xA5 );
Sim_8080_Data_Write ( 0xA5 );
Sim_8080_Data_Write ( 0xA5 );
......
......@@ -82,6 +82,7 @@ void Sys_Startup_Init(void)
Display_Title_Info( );
Key_Init( );
Buzzer_Init();
Diagnostic_Init();
UIDdelay = 0;
POWER_CTRL_KL30 = 1u; //B+
POWER_CTRL_KL15 = 1u; //KL15
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment