Commit 61c24ba5 authored by 郑萍's avatar 郑萍

Merge branch 'dev' of http://tyw-server.synology.me:12345/shihao/haojin750tft into zhengping

parents 827204a9 31721fa2
......@@ -20,7 +20,7 @@ User definitions
typedef unsigned short MD_STATUS;
#define HAS_BOOTLOADER (0u) // 仅仿真App时设置为0
#define HAS_BOOTLOADER (1u) // 仅仿真App时设置为0
#define APP_BASE (0x0000C400ul)
/* Status list definition */
......
......@@ -22,6 +22,7 @@ void EXTI8_IRQHandler(void *msg);
void EXTI9_IRQHandler(void *msg);
void EXTI10_IRQHandler(void *msg);
void EXTI11_IRQHandler(void *msg);
void EXTI17_IRQHandler(void *msg);
typedef enum {
INTP0_Channel = 0x0001,
......@@ -75,6 +76,7 @@ const RTE_GPIO_INTP_Table_st_t INTP_Table[] =
{RTE_GPIO_PORT07_PIN07, GPIO_P77, GROUP_AF_INTP11, INTP11_IRQn, INTP11_Channel, (void *)EXTI11_IRQHandler},
{RTE_GPIO_PORT13_PIN06, GPIO_P136, GROUP_AF_ODEFAULT, INTP0_IRQn, INTP0_Channel, (void *)EXTI0_IRQHandler},
{RTE_GPIO_PORT14_PIN06, GPIO_P146, GROUP_AF_INTP4, INTP4_IRQn, INTP4_Channel, (void *)EXTI4_IRQHandler},
{RTE_GPIO_PORT00_PIN00, GPIO_P00, GROUP_AF_ODEFAULT, TM00_IRQn, INTP4_Channel, (void *)EXTI17_IRQHandler},
};
......@@ -202,7 +204,7 @@ int32_t RTE_GPIO_Config(uint16_t u16Pin, uint8_t u8Mode)
if ((u8Mode & RTE_GPIO_DIR_MASK) == RTE_GPIO_DIR_IN)
{
stInit.GPIO_Mode =(GPIOMode_TypeDef) 1U; //IN
stInit.GPIO_Mode = GPIO_Mode_IN; //IN
if ((u8Mode & RTE_GPIO_PULL_MASK) == RTE_GPIO_PULL_UP)
{
stInit.GPIO_PuPd =(GPIOPuPd_TypeDef) RTE_GPIO_PULL_UP;
......@@ -252,7 +254,7 @@ int32_t RTE_GPIO_Config(uint16_t u16Pin, uint8_t u8Mode)
stInit.GPIO_Level = GPIO_Level_HIGH;
}
GPIO_Init(RTE_GPIO_Port_Get(u16PortIndex), &stInit);
GPIO_Init((GPIO_Port_t)u16PortIndex, &stInit);
}
i32Result = 0;
......@@ -325,9 +327,9 @@ int32_t RTE_GPIO_Set_Level(uint16_t u16Pin, uint8_t u8Level)
u16PinIndex = 1 << u16PinIndex;
if(u8Level==0)
{GPIO_ResetBits(RTE_GPIO_Port_Get(u16PortIndex), u16PinIndex);}
{GPIO_ResetBits((GPIO_Port_t)u16PortIndex, u16PinIndex);}
else
{GPIO_SetBits(RTE_GPIO_Port_Get(u16PortIndex), u16PinIndex);}
{GPIO_SetBits((GPIO_Port_t)u16PortIndex, u16PinIndex);}
i32Result = 0;
}
......@@ -534,7 +536,6 @@ int32_t RTE_GPIO_Interrupt_Enable(RTE_GPIO_IRQ_Desc_st_t *pstIRQDesc)
uint16_t u16PortIndex;
uint16_t u16PinIndex;
INTP_InitTypeDef stEXTICfg;
GPIO_InitTypeDef GPIO_InitStruct;
i32Result = -1;
if (pstIRQDesc != NULL)
......@@ -553,11 +554,11 @@ int32_t RTE_GPIO_Interrupt_Enable(RTE_GPIO_IRQ_Desc_st_t *pstIRQDesc)
break;
}
}
GPIO_PinAFConfig(RTE_GPIO_Port_Get(u16PortIndex), 1 << u16PinIndex, INTP_Table[u8Index].PinSource, INTP_Table[u8Index].u16AFt);
GPIO_PinAFConfig((GPIO_Port_t)u16PortIndex, 1 << u16PinIndex, INTP_Table[u8Index].PinSource, INTP_Table[u8Index].u16AFt);
INTP_Stop(INTP_Table[u8Index].INTP_Channel); /* 修改前先确保中断是已禁用状�? */
stEXTICfg.INTP_Select = (uint16_t)INTP_Table[u8Index].INTP_Channel;
stEXTICfg.INTP_Select = INTP_Table[u8Index].INTP_Channel;
stEXTICfg.EXTI_Trigger = pstIRQDesc->u16Type;
pstIRQDesc->i32Flag = 0;
......@@ -597,7 +598,6 @@ int32_t RTE_GPIO_Interrupt_Disable(RTE_GPIO_IRQ_Desc_st_t *pstIRQDesc)
int32_t i32Result;
uint16_t u16PortIndex;
uint16_t u16PinIndex;
////uint32_t u32Active;
INTP_InitTypeDef stEXTICfg;
i32Result = -1;
......@@ -1017,6 +1017,28 @@ void EXTI11_IRQHandler(void *msg)
}
void EXTI17_IRQHandler(void *msg)
{
uint8_t u8Level;
RTE_GPIO_IRQ_Desc_st_t *pstDesc;
RTE_GPIO_Int_Handler_Func_ptr_t pfnIRQHandler;
/* 清除中断标志 */
INTC_ClearPendingIRQ(TM00_IRQn);
/* 读取中断发生时端口的电平并执行回调函�??? */
pstDesc = g_pstRTEGPIOIRQDesc[4];
if (pstDesc != NULL)
{
u8Level = RTE_GPIO_Get_Level(pstDesc->u16Pin);
pstDesc->i32Flag = 1;
if (pstDesc->pvHandler != NULL)
{
pfnIRQHandler = (RTE_GPIO_Int_Handler_Func_ptr_t)(pstDesc->pvHandler);
pfnIRQHandler(pstDesc->u16Pin, u8Level);
}
}
}
GPIO_Port_t RTE_GPIO_Port_Get(uint16_t u16PortIndex)
{
GPIO_Port_t enGPIO_Port;
......
......@@ -37,6 +37,15 @@ typedef struct
#define RTE_GPIO_PIN_NUM_05 (0x05U)
#define RTE_GPIO_PIN_NUM_06 (0x06U)
#define RTE_GPIO_PIN_NUM_07 (0x07U)
#define RTE_GPIO_PIN_NUM_09 (0x09U)
#define RTE_GPIO_PIN_NUM_010 (0x10U)
#define RTE_GPIO_PIN_NUM_012 (0x12U)
#define RTE_GPIO_PIN_NUM_023 (0x23U)
#define RTE_GPIO_PIN_NUM_015 (0x15U)
#define RTE_GPIO_PIN_NUM_021 (0x21U)
#define RTE_GPIO_PIN_NUM_022 (0x22U)
#define RTE_GPIO_PORT00_PIN00 (((uint16_t)RTE_GPIO_PORT_GROUP_00 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_00)
#define RTE_GPIO_PORT00_PIN01 (((uint16_t)RTE_GPIO_PORT_GROUP_00 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_01)
......@@ -45,6 +54,13 @@ typedef struct
#define RTE_GPIO_PORT00_PIN04 (((uint16_t)RTE_GPIO_PORT_GROUP_00 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_04)
#define RTE_GPIO_PORT00_PIN05 (((uint16_t)RTE_GPIO_PORT_GROUP_00 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_05)
#define RTE_GPIO_PORT00_PIN06 (((uint16_t)RTE_GPIO_PORT_GROUP_00 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_06)
#define RTE_GPIO_PORT00_PIN09 (((uint16_t)RTE_GPIO_PORT_GROUP_00 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_09)
#define RTE_GPIO_PORT00_PIN10 (((uint16_t)RTE_GPIO_PORT_GROUP_00 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_010)
#define RTE_GPIO_PORT00_PIN12 (((uint16_t)RTE_GPIO_PORT_GROUP_00 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_012)
#define RTE_GPIO_PORT00_PIN15 (((uint16_t)RTE_GPIO_PORT_GROUP_00 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_015)
#define RTE_GPIO_PORT00_PIN23 (((uint16_t)RTE_GPIO_PORT_GROUP_00 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_023)
#define RTE_GPIO_PORT00_PIN22 (((uint16_t)RTE_GPIO_PORT_GROUP_00 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_022)
#define RTE_GPIO_PORT00_PIN21 (((uint16_t)RTE_GPIO_PORT_GROUP_00 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_021)
#define RTE_GPIO_PORT01_PIN00 (((uint16_t)RTE_GPIO_PORT_GROUP_01 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_00)
#define RTE_GPIO_PORT01_PIN01 (((uint16_t)RTE_GPIO_PORT_GROUP_01 << 8) | (uint16_t)RTE_GPIO_PIN_NUM_01)
......
......@@ -70,11 +70,14 @@ uint32_t aaa = 0;
void Sys_100ms_Tasks(void)
{
ODOtest = Data_ODO_Read();
Triptest = Data_Read_Trip(0);
S3_ServerCNTT();
Get_DisTime_Service();
Fuel_Cal_Sevice(100u);
Coolant_Cal_Sevice(100u);
Services_Mileage_Callback();
//Data_Mileage_Clear();
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN04, GpioOut_High);
......
......@@ -6,6 +6,7 @@
�� ��;2016.11.1
******************************************************************************/
#include "UDS_ISO14229_Services.h"
#include "UDS_ISO14229_Server.h"
#include "flash.h"
#include "CAN_Signal\CAN_Lib.h"
#include "CAN_CH0_CAN_Communication_Matrix.h"
......@@ -16,12 +17,10 @@ typedef struct
uint8_t u8_Platform[32];
uint8_t u8_Communication_Type[32];
uint32_t u8_Diagnostic_ID[4];
} program_info_t;
} project_info_t;
extern void UDS_Service_Response(uint8_t si, uint8_t RspType, uint16_t A_TA_type, uint16_t A_Length, uint8_t *A_Data);
/* 豪进750TFT仪表信息, 诊断使用, 禁止修改 */
extern const program_info_t program_info __attribute__((section(".ARM.__at_0x0000C200"))) =
/* 豪进750TFT仪表 */
extern const project_info_t project_info __attribute__((section(".ARM.__at_0x0000C200"))) =
{
"HJ_750_TFT",
"HJYB-7500TFT",
......
# 2024.08.08
修复一级Boot失效的问题
项目信息统一
内部版本号更新(1.01_20240808)
# 2024.08.03
第一版Boot程序, 实现CAN升级APP功能
\ No newline at end of file
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