Commit c3ef0945 authored by 时昊's avatar 时昊

调通PWM输入输出功能,屏蔽掉线清屏函数

parent 6758b924
...@@ -53,3 +53,7 @@ Key_user.c ...@@ -53,3 +53,7 @@ Key_user.c
Key.h Key.h
Signal_Remap.c Signal_Remap.c
Signal_Remap.h Signal_Remap.h
FreIn.h
FreIn_User.c
FreIn_User.h
Fre_In_V2.30_16843.a
#include "RTE_CAN.h"
#include "CAN_Lib.h"
#include "CAN_APP.h"
#include "CAN_Communication_Matrix.h"
#include "Analog_Signals.h"
uint8_t CrcCheckSum(uint8_t *data, uint8_t len)
{
uint8_t crc = 0xff;
uint8_t CRC_POLY = 0x2f;
uint8_t crcxor = 0xff;
uint8_t bit_index = 0;
uint8_t byte_index = 0;
for ( byte_index = 0; byte_index < len; ++byte_index )
{
crc ^= data [ byte_index ];
for ( bit_index = 0; bit_index < 8; ++bit_index )
{
if ( (crc & 0x80) != 0 )
crc = (crc << 1) ^ CRC_POLY;
else
crc = (crc << 1);
}
}
crc = crc ^ crcxor;
return crc;
}
void Can_Write_Fun_APP(void)
{
}
void Can_Abort_Confirm(uint32_t Identifier, uint8_t TransferStatus)
{
}
void CAN_QuickTimer_Init(void)
{
}
void NODE_26D_SET_Confirm(void)
{
}
void Can_BusOff_Fun(void)
{
}
void Can_BusOffRecover(void)
{
}
void Can_Set_Buff_260(uint8_t CopyData [])
{
}
void Can_Set_Buff_280(uint8_t CopyData [])
{
}
void Can_Set_Buff_380(uint8_t CopyData [])
{
}
void Can_Set_Buff_385(uint8_t CopyData [])
{
}
void Can_Set_Buff_52E(uint8_t CopyData [])
{
}
void Can_Set_Buff_69B(uint8_t CopyData [])
{
}
void Can_Set_Buff_28A(uint8_t CopyData [])
{
}
void Can_Set_Buff_2E1(uint8_t CopyData [])
{
}
void Can_Set_Buff_228(uint8_t CopyData [])
{
}
void Can_Set_Buff_211(uint8_t CopyData [])
{
}
void Can_Set_Buff_341(uint8_t CopyData [])
{
}
void Can_Set_Buff_128(uint8_t CopyData [])
{
}
void Can_Set_Buff_24A(uint8_t CopyData [])
{
}
void Can_Set_Buff_35A(uint8_t CopyData [])
{
}
void Can_Set_Buff_135(uint8_t CopyData [])
{
}
void Can_Set_Buff_153(uint8_t CopyData [])
{
}
void Can_Set_Buff_131(uint8_t CopyData [])
{
}
void Can_Set_Buff_139(uint8_t CopyData [])
{
}
void Can_Set_Buff_431(uint8_t CopyData [])
{
}
void Can_Set_Buff_5e0(uint8_t CopyData [])
{
}
void Can_Set_Buff_236(uint8_t CopyData [])
{
}
void Can_Set_Buff_168(uint8_t CopyData [])
{
}
void Can_Set_Buff_0F6(uint8_t CopyData [])
{
}
void Can_Set_Buff_0E1(uint8_t CopyData [])
{
}
void Can_Set_Buff_036(uint8_t CopyData [])
{
}
void Can_Set_Buff_0B6(uint8_t CopyData [])
{
}
void Can_Set_Buff_320(uint8_t CopyData [])
{
}
void Can_Set_Buff_152(uint8_t CopyData [])
{
}
void Can_Set_Buff_1A1(uint8_t CopyData [])
{
}
void Can_Set_Buff_75F(uint8_t CopyData [])
{
}
void Can_Set_Buff_389(uint8_t CopyData [])
{
}
#ifndef _CAN_APP_H_
#define _CAN_APP_H_
void Can_Abort_All(void);
void CAN_QuickTimer_Init(void);
void Can_Write_Fun_APP(void);
void Can_BusOff_Fun(void);
void Can_Set_Buff_260(uint8_t CopyData []);
void Can_Set_Buff_280(uint8_t CopyData []);
void Can_Set_Buff_380(uint8_t CopyData []);
void Can_Set_Buff_385(uint8_t CopyData []);
void Can_Set_Buff_52E(uint8_t CopyData []);
void Can_Set_Buff_69B(uint8_t CopyData []);
void Can_Set_Buff_28A(uint8_t CopyData []);
void Can_Set_Buff_2E1(uint8_t CopyData []);
void Can_Set_Buff_0E1(uint8_t CopyData []);
void Can_Set_Buff_0F6(uint8_t CopyData []);
void Can_Set_Buff_036(uint8_t CopyData []);
void Can_Set_Buff_0B6(uint8_t CopyData []);
void Can_Set_Buff_320(uint8_t CopyData []);
void Can_Set_Buff_152(uint8_t CopyData []);
void Can_Set_Buff_153(uint8_t CopyData []);
void Can_Set_Buff_168(uint8_t CopyData []);
void Can_Set_Buff_128(uint8_t CopyData []);
void Can_Set_Buff_139(uint8_t CopyData []);
void Can_Set_Buff_131(uint8_t CopyData []);
void Can_Set_Buff_24A(uint8_t CopyData []);
void Can_Set_Buff_1A1(uint8_t CopyData []);
void Can_Set_Buff_389(uint8_t CopyData []);
void Can_Set_Buff_135(uint8_t CopyData []);
void Can_Set_Buff_35A(uint8_t CopyData []);
void Can_Set_Buff_341(uint8_t CopyData []);
void Can_Set_Buff_211(uint8_t CopyData []);
void Can_Set_Buff_228(uint8_t CopyData []);
void Can_Set_Buff_431(uint8_t CopyData []);
void Can_Set_Buff_5e0(uint8_t CopyData []);
void Can_Set_Buff_236(uint8_t CopyData []);
void Can_Set_Buff_75F(uint8_t CopyData []);
void Can_BusOffRecover(void);
uint8_t CrcCheckSum(uint8_t *data, uint8_t len);
#endif
...@@ -153,35 +153,6 @@ void COM_TX_Process(void) ...@@ -153,35 +153,6 @@ void COM_TX_Process(void)
CanFD_Write_Fun(&CANFD_CH0_CanFDMsgTxOp, 2u); CanFD_Write_Fun(&CANFD_CH0_CanFDMsgTxOp, 2u);
} }
// void Msg_Load_Init(void)
// {
// uint32_t i = 0u;
// uint32_t *addr;
// uint32_t Total_Msg;
// uint32_t Total_Msg_addr;
// PreLoad_Info = ( uint32_t *)FIX_LOAD_ADDRESS;
// g_Verify_Result = Check_Infordata_CRC_32(&PreLoad_Info->total_msg, 28);
// if ( g_Verify_Result == 1U )
// {
// Total_Msg = PreLoad_Info->total_msg.word;
// Total_Msg_addr = PreLoad_Info->total_msg_begin.word;
// addr = ( uint32_t *)Total_Msg_addr;
// for ( i = 0; i < Total_Msg; i++ )
// {
// Load_Attr [ i ].u32MsgID = (*(addr + i * 4)); // convert_0;
// Load_Attr [ i ].u32MsgCycle = (*(addr + 1 + i * 4)); // convert_1;
// Load_Attr [ i ].u8MsgPro = (*(addr + 2 + i * 4)); // convert_2;//通道
// Load_Attr [ i ].u8MsgDLC = (*(addr + 3 + i * 4)); // convert_3;
// }
// addr = ( uint32_t * )PreLoad_Info->sub_step_addr.word;
// for ( i = 0; i < PreLoad_Info->total_step.word; i++ )
// {
// Sub_Attr [ i ].Subaddr = (*(addr + 0 + i * 2));
// Sub_Attr [ i ].SubStep = (*(addr + 1 + i * 2));
// }
// }
// }
void Msg_Load_Init(void) void Msg_Load_Init(void)
{ {
...@@ -201,7 +172,7 @@ void Msg_Load_Init(void) ...@@ -201,7 +172,7 @@ void Msg_Load_Init(void)
if ( g_Verify_Result == 1U ) if ( g_Verify_Result == 1U )
{ {
Total_Msg_addr = (st_CAN_list*)PreLoad_Info->total_msg_begin.word; Total_Msg_addr = (st_CAN_list*)PreLoad_Info->total_msg_begin.word;
//addr = ( uint32_t *)Total_Msg_addr;
for ( i = 0; i < PreLoad_Info->total_msg.word; i++ ) for ( i = 0; i < PreLoad_Info->total_msg.word; i++ )
{ {
Load_Attr [ i ].u32MsgID = Total_Msg_addr[i].u16ID; //(*(addr + i * 4)); // convert_0; Load_Attr [ i ].u32MsgID = Total_Msg_addr[i].u16ID; //(*(addr + i * 4)); // convert_0;
...@@ -209,87 +180,9 @@ void Msg_Load_Init(void) ...@@ -209,87 +180,9 @@ void Msg_Load_Init(void)
Load_Attr [ i ].u8MsgPro = Total_Msg_addr[i].u8COM; //(*(addr + 2 + i * 4)); // convert_2; Load_Attr [ i ].u8MsgPro = Total_Msg_addr[i].u8COM; //(*(addr + 2 + i * 4)); // convert_2;
Load_Attr [ i ].u8MsgDLC = Total_Msg_addr[i].u8Len; //(*(addr + 3 + i * 4)); // convert_3; Load_Attr [ i ].u8MsgDLC = Total_Msg_addr[i].u8Len; //(*(addr + 3 + i * 4)); // convert_3;
//Total_Msg_addr[CAN_addr[i].nuber].u16ID;
//Total_Msg_addr[CAN_addr[i].nuber].u16Cycle;
//Total_Msg_addr[CAN_addr[i].nuber].u8COM;
//Total_Msg_addr[CAN_addr[i].nuber].u8Len;
// Total_Msg_addr[i].u8Mode;
// Total_Msg_addr[i].u8MsgSTD_EXT;
//printf("%04x %04X %02X %02X %02X %02X \r\n",Total_Msg_addr[i].u16ID
// ,Total_Msg_addr[i].u16Cycle
// ,Total_Msg_addr[i].u8COM
// ,Total_Msg_addr[i].u8Len
// ,Total_Msg_addr[i].u8Mode
// ,Total_Msg_addr[i].u8MsgSTD_EXT);
} }
//printf("\r\n");
step_list = (st_step_list*)PreLoad_Info->total_step_begin.word; step_list = (st_step_list*)PreLoad_Info->total_step_begin.word;
//for ( i = 0; i < PreLoad_Info->total_step.word; i++ )
//{
// printf("%08x %08X %08X %08X %08X %08X \r\n" ,step_list[i].u32Subaddr_CAN
// ,step_list[i].u32SubStep_CAN
// ,step_list[i].u32Subaddr_IO
// ,step_list[i].u32SubStep_IO
// ,step_list[i].u32Subaddr_PWM
// ,step_list[i].u32SubStep_PWM);
//}
//for ( k = 0; k < PreLoad_Info->total_step.word; k++ )
//{
// can_list = (st_CAN *)step_list[k].u32Subaddr_CAN;
// io_list = (st_IO *)step_list[k].u32Subaddr_IO;
// pwm_list = (st_PWM *)step_list[k].u32Subaddr_PWM;
// printf("\r\nNo.%d :\r\n CAN:\r\n",(k+1));
// for ( i = 0; i < step_list[k].u32SubStep_CAN; i++ )
// {
// printf("%08x :\r\n",can_list[i].nuber);
// for ( j = 0; j < 64; j++ )
// {
// printf("%02x",can_list[i].msg[j]);
// }
// printf("\r\n");
// }
// printf("\r\nIO:\r\n");
// for ( i = 0; i < step_list[k].u32SubStep_IO; i++ )
// {
// printf("%02X %02X %02X \r\n",io_list[i].pin
// ,io_list[i].level
// ,io_list[i].IN_OUT);
// }
//
// printf("\r\nPWM:\r\n");
// for ( i = 0; i < step_list[k].u32SubStep_PWM; i++ )
// {
// printf("%02x %02x %04x %04x\r\n",pwm_list[i].pin
// ,pwm_list[i].IN_OUT
// ,pwm_list[i].duty
// ,pwm_list[i].freq);
// }
//}
} }
} }
...@@ -297,7 +190,6 @@ void Msg_Load_Init(void) ...@@ -297,7 +190,6 @@ void Msg_Load_Init(void)
void Execute_Specify_Step(uint32_t step) void Execute_Specify_Step(uint32_t step)
{ {
uint32_t i = 0u; uint32_t i = 0u;
uint32_t j = 0u; uint32_t j = 0u;
static st_IO *IO_addr; static st_IO *IO_addr;
...@@ -306,19 +198,14 @@ void Execute_Specify_Step(uint32_t step) ...@@ -306,19 +198,14 @@ void Execute_Specify_Step(uint32_t step)
uint32_t buff_id; uint32_t buff_id;
uint8_t *pbuff; uint8_t *pbuff;
if ( g_Verify_Result == 1U ) if ( g_Verify_Result == 1U )
{ {
if ( step < PreLoad_Info->total_step.word ) if ( step < PreLoad_Info->total_step.word )
{ {
CAN_addr = (st_CAN *)step_list[step].u32Subaddr_CAN; CAN_addr = (st_CAN *)step_list[step].u32Subaddr_CAN;
for ( i = 0; i < step_list[step].u32SubStep_CAN; i++ ) for ( i = 0; i < step_list[step].u32SubStep_CAN; i++ )
{ {
// pbuff = ( void *)(CAN_addr[i].msg); for ( j = 0; j < 64; j++ )
for ( j = 0; j < /*CAN0_FD_DLC_ChangeTo_Register(Load_Attr [ i ].u8MsgDLC)*/64; j++ )
{ {
Load_AttrBuff [ CAN_addr[ i ].nuber ].sig.Msg [ j ] = CAN_addr[i].msg[ j ]; Load_AttrBuff [ CAN_addr[ i ].nuber ].sig.Msg [ j ] = CAN_addr[i].msg[ j ];
} }
...@@ -326,20 +213,7 @@ void Execute_Specify_Step(uint32_t step) ...@@ -326,20 +213,7 @@ void Execute_Specify_Step(uint32_t step)
CanFD_Msg_TX_SetMsgBuffer(&CANFD_CH0_CanFDMsgTxOp, CAN_addr[ i ].nuber , \ CanFD_Msg_TX_SetMsgBuffer(&CANFD_CH0_CanFDMsgTxOp, CAN_addr[ i ].nuber , \
CAN0_FD_DLC_ChangeTo_Register(Load_Attr [ i ].u8MsgDLC),\ CAN0_FD_DLC_ChangeTo_Register(Load_Attr [ i ].u8MsgDLC),\
Load_AttrBuff [ CAN_addr[ i ].nuber ].sig.Msg); Load_AttrBuff [ CAN_addr[ i ].nuber ].sig.Msg);
} }
/*IO_addr = (st_IO *)step_list[step].u32Subaddr_IO;
for ( i = 0; i < step_list[step].u32SubStep_IO; i++ )
{
F1KM_16843_Port_IO_P [IO_addr[i].pin].Set_Output(IO_addr[i].level);
}*/
} }
} }
} }
......
#include "COM_CAN.h"
#include "TYW_stdint.h"
#include "CAN_Communication_Matrix.h"
#include "RTE_CAN.h"
#include <string.h>
#pragma alignvar(8)
uint32_t pRXBuff [ CAN_RX_MSG_Block * ID_TOTAL_MAX ];
#pragma alignvar(8)
static uint32_t pTXBuff [ CAN_TX_MSG_Block * 300 ];
#pragma alignvar(8)
static st_CAN_SendAttribute Load_Attr [ 300 ] = {0};
st_CAN_MsgBuff Load_AttrBuff [ 300 ] = {0};
typedef struct
{
uint32_t Subaddr;
uint32_t SubStep;
} st_AutoCheckAttr;
typedef union _word_split
{
uint32_t word;
uint8_t byte [ 4 ];
} WORD_SPLIT_u;
typedef struct
{
WORD_SPLIT_u total_msg;
WORD_SPLIT_u total_step;
WORD_SPLIT_u total_msg_begin;
WORD_SPLIT_u total_step_begin;
WORD_SPLIT_u sub_step_addr;
uint32_t res2;
uint32_t res3;
uint32_t crc_result;
} st_CheckMessage;
st_CheckMessage *PreLoad_Info;
#define FIX_LOAD_ADDRESS 0x50000
st_AutoCheckAttr Sub_Attr [ 200 ] = {0};
uint32_t g_Verify_Result;
#define MAKE_U32(high, mid1, mid0, low) ((( uint8_t )(low)) | ((( uint8_t )(mid0)) << 8) | ((( uint8_t )(mid1)) << 16) | ((( uint8_t )(high)) << 24))
void Execute_Specify_Step(uint32_t step);
float double0;
float double1;
float double2;
float double3;
void COM_CAN_Init(void)
{
/*CAN APP BUFFER INIT*/
memset(pRXBuff, 0, sizeof(pRXBuff));
memset(pTXBuff, 0, sizeof(pTXBuff));
memset(Load_AttrBuff, 0, sizeof(Load_AttrBuff));
memset(Load_Attr, 0, sizeof(Load_Attr));
g_Verify_Result = 0;
Msg_Load_Init( );
Can_RX_BuffInit(( uint8_t * )pRXBuff, CAN_MSG_CONST_ARRAY, ID_TOTAL_MAX);
if ( g_Verify_Result == 1U )
{
Can_TX_BuffInit(( uint8_t * )pTXBuff, Load_Attr, PreLoad_Info->total_msg.word, Can_Write_FIFO);
}
CAN_RX_SetEnable(0x00);
if ( g_Verify_Result == 1U )
{
CAN_TX_SetEnable(0x55);
Execute_Specify_Step(0);
}
}
void COM_RX_Process(void)
{
CanMSg_XMS_Analysis(5u);
}
void Msg_Load_Init(void)
{
uint32_t i = 0u;
uint32_t *addr;
uint32_t Total_Msg;
uint32_t Total_Msg_addr;
PreLoad_Info = ( uint32_t *)FIX_LOAD_ADDRESS;
g_Verify_Result = Check_Infordata_CRC_32(&PreLoad_Info->total_msg, 28);
if ( g_Verify_Result == 1U )
{
Total_Msg = PreLoad_Info->total_msg.word;
Total_Msg_addr = PreLoad_Info->total_msg_begin.word;
addr = ( uint32_t *)Total_Msg_addr;
for ( i = 0; i < Total_Msg; i++ )
{
Load_Attr [ i ].u32MsgID = (*(addr + i * 4)); // convert_0;
Load_Attr [ i ].u32MsgCycle = (*(addr + 1 + i * 4)); // convert_1;
Load_Attr [ i ].u8MsgPro = (*(addr + 2 + i * 4)); // convert_2;
Load_Attr [ i ].u8MsgDLC = (*(addr + 3 + i * 4)); // convert_3;
}
addr = ( uint32_t * )PreLoad_Info->sub_step_addr.word;
for ( i = 0; i < PreLoad_Info->total_step.word; i++ )
{
Sub_Attr [ i ].Subaddr = (*(addr + 0 + i * 2));
Sub_Attr [ i ].SubStep = (*(addr + 1 + i * 2));
}
}
}
void Execute_Specify_Step(uint32_t step)
{
uint32_t i = 0u;
uint32_t j = 0u;
uint32_t *addr;
uint32_t buff_idx;
uint32_t buff_id;
uint8_t *pbuff;
if ( g_Verify_Result == 1U )
{
if ( step < PreLoad_Info->total_step.word )
{
addr = ( uint32_t * )Sub_Attr [ step ].Subaddr;
for ( i = 0; i < Sub_Attr [ step ].SubStep; i++ )
{
buff_idx = *(addr + 1 + i * 4);
pbuff = ( void *)(Sub_Attr [ step ].Subaddr + 8 + i * 16);
for ( j = 0; j < 8; j++ )
{
Load_AttrBuff [ buff_idx ].sig.Msg [ j ] = pbuff [ j ];
}
}
}
}
}
const uint32_t CRC32_Table [ 256 ] = {
0x00000000ul, 0x77073096ul, 0xEE0E612Cul, 0x990951BAul,
0x076DC419ul, 0x706AF48Ful, 0xE963A535ul, 0x9E6495A3ul,
0x0EDB8832ul, 0x79DCB8A4ul, 0xE0D5E91Eul, 0x97D2D988ul,
0x09B64C2Bul, 0x7EB17CBDul, 0xE7B82D07ul, 0x90BF1D91ul,
0x1DB71064ul, 0x6AB020F2ul, 0xF3B97148ul, 0x84BE41DEul,
0x1ADAD47Dul, 0x6DDDE4EBul, 0xF4D4B551ul, 0x83D385C7ul,
0x136C9856ul, 0x646BA8C0ul, 0xFD62F97Aul, 0x8A65C9ECul,
0x14015C4Ful, 0x63066CD9ul, 0xFA0F3D63ul, 0x8D080DF5ul,
0x3B6E20C8ul, 0x4C69105Eul, 0xD56041E4ul, 0xA2677172ul,
0x3C03E4D1ul, 0x4B04D447ul, 0xD20D85FDul, 0xA50AB56Bul,
0x35B5A8FAul, 0x42B2986Cul, 0xDBBBC9D6ul, 0xACBCF940ul,
0x32D86CE3ul, 0x45DF5C75ul, 0xDCD60DCFul, 0xABD13D59ul,
0x26D930ACul, 0x51DE003Aul, 0xC8D75180ul, 0xBFD06116ul,
0x21B4F4B5ul, 0x56B3C423ul, 0xCFBA9599ul, 0xB8BDA50Ful,
0x2802B89Eul, 0x5F058808ul, 0xC60CD9B2ul, 0xB10BE924ul,
0x2F6F7C87ul, 0x58684C11ul, 0xC1611DABul, 0xB6662D3Dul,
0x76DC4190ul, 0x01DB7106ul, 0x98D220BCul, 0xEFD5102Aul,
0x71B18589ul, 0x06B6B51Ful, 0x9FBFE4A5ul, 0xE8B8D433ul,
0x7807C9A2ul, 0x0F00F934ul, 0x9609A88Eul, 0xE10E9818ul,
0x7F6A0DBBul, 0x086D3D2Dul, 0x91646C97ul, 0xE6635C01ul,
0x6B6B51F4ul, 0x1C6C6162ul, 0x856530D8ul, 0xF262004Eul,
0x6C0695EDul, 0x1B01A57Bul, 0x8208F4C1ul, 0xF50FC457ul,
0x65B0D9C6ul, 0x12B7E950ul, 0x8BBEB8EAul, 0xFCB9887Cul,
0x62DD1DDFul, 0x15DA2D49ul, 0x8CD37CF3ul, 0xFBD44C65ul,
0x4DB26158ul, 0x3AB551CEul, 0xA3BC0074ul, 0xD4BB30E2ul,
0x4ADFA541ul, 0x3DD895D7ul, 0xA4D1C46Dul, 0xD3D6F4FBul,
0x4369E96Aul, 0x346ED9FCul, 0xAD678846ul, 0xDA60B8D0ul,
0x44042D73ul, 0x33031DE5ul, 0xAA0A4C5Ful, 0xDD0D7CC9ul,
0x5005713Cul, 0x270241AAul, 0xBE0B1010ul, 0xC90C2086ul,
0x5768B525ul, 0x206F85B3ul, 0xB966D409ul, 0xCE61E49Ful,
0x5EDEF90Eul, 0x29D9C998ul, 0xB0D09822ul, 0xC7D7A8B4ul,
0x59B33D17ul, 0x2EB40D81ul, 0xB7BD5C3Bul, 0xC0BA6CADul,
0xEDB88320ul, 0x9ABFB3B6ul, 0x03B6E20Cul, 0x74B1D29Aul,
0xEAD54739ul, 0x9DD277AFul, 0x04DB2615ul, 0x73DC1683ul,
0xE3630B12ul, 0x94643B84ul, 0x0D6D6A3Eul, 0x7A6A5AA8ul,
0xE40ECF0Bul, 0x9309FF9Dul, 0x0A00AE27ul, 0x7D079EB1ul,
0xF00F9344ul, 0x8708A3D2ul, 0x1E01F268ul, 0x6906C2FEul,
0xF762575Dul, 0x806567CBul, 0x196C3671ul, 0x6E6B06E7ul,
0xFED41B76ul, 0x89D32BE0ul, 0x10DA7A5Aul, 0x67DD4ACCul,
0xF9B9DF6Ful, 0x8EBEEFF9ul, 0x17B7BE43ul, 0x60B08ED5ul,
0xD6D6A3E8ul, 0xA1D1937Eul, 0x38D8C2C4ul, 0x4FDFF252ul,
0xD1BB67F1ul, 0xA6BC5767ul, 0x3FB506DDul, 0x48B2364Bul,
0xD80D2BDAul, 0xAF0A1B4Cul, 0x36034AF6ul, 0x41047A60ul,
0xDF60EFC3ul, 0xA867DF55ul, 0x316E8EEFul, 0x4669BE79ul,
0xCB61B38Cul, 0xBC66831Aul, 0x256FD2A0ul, 0x5268E236ul,
0xCC0C7795ul, 0xBB0B4703ul, 0x220216B9ul, 0x5505262Ful,
0xC5BA3BBEul, 0xB2BD0B28ul, 0x2BB45A92ul, 0x5CB36A04ul,
0xC2D7FFA7ul, 0xB5D0CF31ul, 0x2CD99E8Bul, 0x5BDEAE1Dul,
0x9B64C2B0ul, 0xEC63F226ul, 0x756AA39Cul, 0x026D930Aul,
0x9C0906A9ul, 0xEB0E363Ful, 0x72076785ul, 0x05005713ul,
0x95BF4A82ul, 0xE2B87A14ul, 0x7BB12BAEul, 0x0CB61B38ul,
0x92D28E9Bul, 0xE5D5BE0Dul, 0x7CDCEFB7ul, 0x0BDBDF21ul,
0x86D3D2D4ul, 0xF1D4E242ul, 0x68DDB3F8ul, 0x1FDA836Eul,
0x81BE16CDul, 0xF6B9265Bul, 0x6FB077E1ul, 0x18B74777ul,
0x88085AE6ul, 0xFF0F6A70ul, 0x66063BCAul, 0x11010B5Cul,
0x8F659EFFul, 0xF862AE69ul, 0x616BFFD3ul, 0x166CCF45ul,
0xA00AE278ul, 0xD70DD2EEul, 0x4E048354ul, 0x3903B3C2ul,
0xA7672661ul, 0xD06016F7ul, 0x4969474Dul, 0x3E6E77DBul,
0xAED16A4Aul, 0xD9D65ADCul, 0x40DF0B66ul, 0x37D83BF0ul,
0xA9BCAE53ul, 0xDEBB9EC5ul, 0x47B2CF7Ful, 0x30B5FFE9ul,
0xBDBDF21Cul, 0xCABAC28Aul, 0x53B39330ul, 0x24B4A3A6ul,
0xBAD03605ul, 0xCDD70693ul, 0x54DE5729ul, 0x23D967BFul,
0xB3667A2Eul, 0xC4614AB8ul, 0x5D681B02ul, 0x2A6F2B94ul,
0xB40BBE37ul, 0xC30C8EA1ul, 0x5A05DF1Bul, 0x2D02EF8Dul};
uint32_t Check_Infordata_CRC_32(uint8_t p [], uint32_t len)
{
uint8_t i;
uint32_t m32 = 0u;
uint32_t FlashCrcValue = 0xFFFFFFFF;
uint32_t result = 0;
if ( len < 0xff )
{
for ( i = 0; i < len; i++ )
{
FlashCrcValue = CRC32_Table [ (FlashCrcValue ^ p [ i ]) & 0xFF ] ^ ((FlashCrcValue >> 8) & 0x00ffffff);
}
FlashCrcValue ^= 0xffffffff;
}
m32 = ((( uint32_t )p [ i + 3 ] << 24) & 0xff000000) | ((( uint32_t )p [ i + 2 ] << 16) & 0x00ff0000) | ((( uint32_t )p [ i + 1 ] << 8) & 0x0000ff00) | ((( uint32_t )p [ i ]) & 0xff0000ff);
if ( (m32 == FlashCrcValue) && (FlashCrcValue != 0xFFFFFFFF) )
{
result = 1;
}
return result;
}
uint32_t Get_Total_CheckStep(void)
{
uint32_t ret = 0;
if ( g_Verify_Result == 1U )
{
ret = PreLoad_Info->total_step.word;
}
else
{
ret = 0;
}
return ret;
}
...@@ -1496,12 +1496,14 @@ void CHECK_IPK_COUNT(void) ...@@ -1496,12 +1496,14 @@ void CHECK_IPK_COUNT(void)
memset(Part_Version, 0xFF, sizeof(Part_Version)); memset(Part_Version, 0xFF, sizeof(Part_Version));
memset(Risk_Evade, 0xFF, sizeof(Risk_Evade)); memset(Risk_Evade, 0xFF, sizeof(Risk_Evade));
memset(Evade_ODO, 0xFF, sizeof(Evade_ODO)); memset(Evade_ODO, 0xFF, sizeof(Evade_ODO));
Display_Menu_Type = 0;
Display_TFT_Clear( ); //Display_Menu_Type = 0;
Display_Sch( ); //Display_TFT_Clear( );
MENU_CHECK_Init( ); //Display_Sch( );
//MENU_CHECK_Init( );
} }
} }
if(LINE_ODO_CLEAR_BEGIN == 1u) if(LINE_ODO_CLEAR_BEGIN == 1u)
{ {
if(VOICE_ODO_CLEAR_Retry != 0) if(VOICE_ODO_CLEAR_Retry != 0)
...@@ -1772,14 +1774,14 @@ void Read_IPK_Session_Type(void) ...@@ -1772,14 +1774,14 @@ void Read_IPK_Session_Type(void)
switch ( loc_Step ) switch ( loc_Step )
{ {
case 0: case 0: //UDS_Service_62_Indication() if(loc_Step == 0)则loc_Step = 1;
DIAG_BUFER [ 0 ] = 0x22; DIAG_BUFER [ 0 ] = 0x22;
DIAG_BUFER [ 1 ] = 0x62; DIAG_BUFER [ 1 ] = 0x62;
DIAG_BUFER [ 2 ] = 0x00; DIAG_BUFER [ 2 ] = 0x00;
UDS_S_Data_Request(DIAG_ID_Tx, DIAG_BUFER, 3); //天有为版本 UDS_S_Data_Request(DIAG_ID_Tx, DIAG_BUFER, 3); //天有为版本
break; break;
case 1: case 1: //UDS_Service_50_Indication() if(loc_Step == 1)则loc_Step = 2;
if ( Global_Session != 3 ) if ( Global_Session != 3 )
{ {
DIAG_BUFER [ 0 ] = 0x10; DIAG_BUFER [ 0 ] = 0x10;
......
...@@ -8,7 +8,16 @@ ...@@ -8,7 +8,16 @@
#include "Diag_ID_Def.h" #include "Diag_ID_Def.h"
#include "UDS_ISO14229_Server.h" #include "UDS_ISO14229_Server.h"
// clang-format off // clang-format off
uint32_t Display_Menu_Type; uint32_t Display_Menu_Type; //一级菜单步数
extern uint32_t Duty_VEHICLE;
extern uint32_t Duty_ENGINE;
extern uint32_t HZ_VEHICLE;
extern uint32_t HZ_ENGINE;
extern uint32_t Duty_VEHICLE_BackUp;
extern uint32_t Duty_ENGINE_BackUp;
extern uint32_t HZ_VEHICLE_BackUp;
extern uint32_t HZ_ENGINE_BackUp;
const unsigned char NO_0 [] = {24, 24,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XC0,0XE0,0X70,0X30,0X30,0X60,0XE0,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00,0X01,0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X07,0X0E,0X0C,0X18,0X18,0X0C,0X0F,0X07,0X00,0X00,0X00,0X00,0X00,0X00,0X00,}; const unsigned char NO_0 [] = {24, 24,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XC0,0XE0,0X70,0X30,0X30,0X60,0XE0,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00,0X01,0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X07,0X0E,0X0C,0X18,0X18,0X0C,0X0F,0X07,0X00,0X00,0X00,0X00,0X00,0X00,0X00,};
const unsigned char NO_1 [] = {24, 24,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0XE0,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0X01,0X00,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,}; const unsigned char NO_1 [] = {24, 24,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0XE0,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0X01,0X00,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,};
...@@ -902,7 +911,90 @@ void Display_FUNC_CHECK(void) ...@@ -902,7 +911,90 @@ void Display_FUNC_CHECK(void)
p [ 1 ] = 0; p [ 1 ] = 0;
p [ 2 ] = 0; p [ 2 ] = 0;
p [ 3 ] = 0xff; p [ 3 ] = 0xff;
General_Number_Disp(p, 40, 48 + 64); General_Number_Disp(p, 60, 48 + 30);
}
void Display_Freln_Vspeed_Duty_Hz(void)
{
uint8_t Vs_Duty [ 20 ];
uint8_t Vs_HZ [ 20 ];
uint8_t pbuff_Vspeed[] = "VSPEED";
uint8_t pbuff_Vs_Duty[] = "DUTY";
uint8_t pbuff_Vs_HZ[] = "HZ";
GeneralInfoDisp(pbuff_Vspeed, 1, 48 + 70);
GeneralInfoDisp(pbuff_Vs_Duty, 1, 48 + 100);
GeneralInfoDisp(pbuff_Vs_HZ, 1, 48 + 130);
Duty_VEHICLE /= 10;
Vs_Duty [ 0 ] = Duty_VEHICLE / 100;
Vs_Duty [ 1 ] = (Duty_VEHICLE / 10) % 10;
Vs_Duty [ 2 ] = (Duty_VEHICLE % 10);
Vs_Duty [ 3 ] = 0xff;
General_Number_Disp(Vs_Duty, 110, 48 + 100);
HZ_VEHICLE /= 10;
Vs_HZ [ 0 ] = HZ_VEHICLE / 10000;
Vs_HZ [ 1 ] = (HZ_VEHICLE / 1000) % 10;
Vs_HZ [ 2 ] = (HZ_VEHICLE / 100) % 10;
Vs_HZ [ 3 ] = (HZ_VEHICLE / 10) % 10;
Vs_HZ [ 4 ] = (HZ_VEHICLE % 10);
Vs_HZ [ 5 ] = 0xff;
General_Number_Disp(Vs_HZ, 110, 48 + 130);
/*if((Duty_VEHICLE != Duty_VEHICLE_BackUp)||(HZ_VEHICLE != HZ_VEHICLE_BackUp))
{
//TFT_LCD_Draw_Box(110, 145, 239, 210, TFT_LCD_FILL_FULL, TFT_LCD_TYPE_CLR);//VS清图
General_Number_Disp(Vs_Duty, 110, 48 + 100);
General_Number_Disp(Vs_HZ, 110, 48 + 130);
Duty_VEHICLE_BackUp = Duty_VEHICLE;
HZ_VEHICLE_BackUp = HZ_VEHICLE;
}
else
{
}*/
}
void Display_Freln_Espeed_Duty_Hz(void)
{
uint8_t Es_Duty [ 20 ];
uint8_t Es_HZ [ 20 ];
uint8_t pbuff_Espeed[] = "ESPEED";
uint8_t pbuff_Es_Duty[] = "DUTY";
uint8_t pbuff_Es_HZ[] = "HZ";
GeneralInfoDisp(pbuff_Espeed, 1, 48 + 170);
GeneralInfoDisp(pbuff_Es_Duty, 1, 48 + 200);
GeneralInfoDisp(pbuff_Es_HZ, 1, 48 + 230);
Duty_ENGINE /= 10;
Es_Duty [ 0 ] = Duty_ENGINE / 100;
Es_Duty [ 1 ] = (Duty_ENGINE / 10) % 10;
Es_Duty [ 2 ] = (Duty_ENGINE % 10);
Es_Duty [ 3 ] = 0xff;
General_Number_Disp(Es_Duty, 110, 48 + 200);
HZ_ENGINE /= 10;
Es_HZ [ 0 ] = HZ_ENGINE / 10000;
Es_HZ [ 1 ] = (HZ_ENGINE / 1000) % 10;
Es_HZ [ 2 ] = (HZ_ENGINE / 100) % 10;
Es_HZ [ 3 ] = (HZ_ENGINE / 10) % 10;
Es_HZ [ 4 ] = (HZ_ENGINE % 10);
Es_HZ [ 5 ] = 0xff;
General_Number_Disp(Es_HZ, 110, 48 + 230);
/*if((Duty_ENGINE != Duty_ENGINE_BackUp)||(HZ_ENGINE != HZ_ENGINE_BackUp))
{
General_Number_Disp(Es_Duty, 110, 48 + 200);
General_Number_Disp(Es_HZ, 110, 48 + 230);
//TFT_LCD_Draw_Box(110, 245, 239, 319, TFT_LCD_FILL_FULL, TFT_LCD_TYPE_CLR);//ES清图
Duty_ENGINE_BackUp = Duty_ENGINE;
HZ_ENGINE_BackUp = HZ_ENGINE;
}
else
{
}*/
} }
void Display_BACk_CheckResult(void) void Display_BACk_CheckResult(void)
...@@ -947,15 +1039,25 @@ void Display_Sch(void) ...@@ -947,15 +1039,25 @@ void Display_Sch(void)
Version_Info(0); Version_Info(0);
HW_CHECK_Ctrl(0); HW_CHECK_Ctrl(0);
Display_BACk_CheckResult( ); Display_BACk_CheckResult( );
Duty_VEHICLE = 0;
Duty_ENGINE = 0;
HZ_VEHICLE = 0;
HZ_ENGINE = 0;
break; break;
case 8: case 8:
HW_CHECK_Ctrl(0); HW_CHECK_Ctrl(0);
Display_FUNC_CHECK( ); Display_FUNC_CHECK( );
Display_Freln_Espeed_Duty_Hz();
Display_Freln_Vspeed_Duty_Hz();
break; break;
case 9: case 9:
Version_Info(0); Version_Info(0);
Display_Static_Current_CheckResult( ); Display_Static_Current_CheckResult( );
HW_CHECK_Ctrl(0); HW_CHECK_Ctrl(0);
Duty_VEHICLE = 0;
Duty_ENGINE = 0;
HZ_VEHICLE = 0;
HZ_ENGINE = 0;
break; break;
default: default:
Display_Menu_Type = 0; Display_Menu_Type = 0;
......
...@@ -66,4 +66,6 @@ void Version_Info(unsigned int ON_OFF); ...@@ -66,4 +66,6 @@ void Version_Info(unsigned int ON_OFF);
void Display_OIL_R_W(unsigned int type, unsigned int ret); void Display_OIL_R_W(unsigned int type, unsigned int ret);
void General_Number_Disp(unsigned char *p, unsigned short x, unsigned short y); void General_Number_Disp(unsigned char *p, unsigned short x, unsigned short y);
void Display_Sub(void); void Display_Sub(void);
void Display_Freln_Espeed_Duty_Hz(void);
void Display_Freln_Vspeed_Duty_Hz(void);
#endif #endif
#ifndef FRE_IN_H__
#define FRE_IN_H__
/**************************************************************************/
/**************************************************************************/
/**************************************************************************/
/**************************************************************************/
//#define FRE_IN_PLATFORM_16BIT
#ifdef FRE_IN_PLATFORM_16BIT
typedef unsigned char Fre_uint8_t;
typedef unsigned int Fre_uint16_t;
typedef unsigned long Fre_uint32_t;
#else
typedef unsigned char Fre_uint8_t;
typedef unsigned short Fre_uint16_t;
typedef unsigned int Fre_uint32_t;
typedef unsigned long long Fre_uint64_t;
#endif
/*所有需要采集的频率通道*/
typedef enum
{
FRE_VEHICLE = 0U,
FRE_ENGINE,
FRE_CHANNEL_MAX,
} Fre_Channel_en_t;
/**************************Do not modify the following********************/
/**************************Do not modify the following********************/
/**************************Do not modify the following********************/
#define FRE_RAM_DATA_LEN (FRE_CHANNEL_MAX * 24U)
typedef enum
{
FRE_SAMP_TIMER = 0U, /*使用定时器中断进行采集*/
FRE_SAMP_CAPTURE_ROLL, /*使用捕获功能,滚动计数*/
FRE_SAMP_CAPTURE_RESET, /*使用捕获功能,每次计数清零*/
FRE_SAMP_MAX,
} Fre_Sample_Type_en_t;
typedef enum
{
FRE_STATUS_INIT = 0U, /*初始状态,未采集判断完成*/
FRE_STATUS_TIME_OUT, /*输入信号异常,常高或者常低,*/
FRE_STATUS_VALID, /*采集完成有效*/
FRE_STATUS_MAX,
} Fre_Status_en_t;
typedef Fre_uint8_t (*Fre_Status_Read)(void);
typedef struct
{
/*不在设置的频率范围内(小于最小值或者大于最大值),认为信号无效。*/
Fre_uint32_t u32FreMinHZ; /*输入信号的最小频率,单位0.1HZ。不可填0*/
Fre_uint32_t u32FreMaxHZ; /*输入信号的最大频率,单位0.1HZ*/
unsigned int FreMinDuty; /*输入信号的最小占空比,单位千分之一*/
unsigned int FreMaxDuty; /*输入信号的最大占空比,单位千分之一*/
Fre_uint32_t u32FreTimeOutTime; /*输入信号异常检测时间 (ms)*/
Fre_Sample_Type_en_t enFreSampType; /*使用哪种采集方式 枚举类型 */
Fre_Status_Read pfnFreReadStatusCallBack; /*获取引脚实时电平状态*/
Fre_uint32_t u32FreClock; /*当使用捕获方式采集时,填写使用通道的时钟源频率 (HZ)。
当使用定时器采集功能时,此处填定时器中断时间(us)*/
} Fre_Attribute_st_t;
/**********************以下为使用定时器中断方式采集时需调用的函数*************************************/
/*使用定时器中断进行采集,传入通道号*/
extern void Fre_In_Timer_ISR(Fre_Channel_en_t enFreChannel);
/**********************以下为使用捕获方式,捕获计数器每次清零时需调用的函数*************************************/
/*中断标志外部自行清除*/
/*传入通道号,计数器数值*/
extern void Fre_In_Channel_Capture_ISR_Reset_Count(Fre_Channel_en_t enFreChannel, Fre_uint32_t u32Count);
/**********************以下为使用捕获方式,捕获计数器滚动计数时需调用的函数*************************************/
/*中断标志外部自行清除*/
/*传入通道号,计数器数值*/
extern void Fre_In_Channel_Capture_ISR_Rolling_Count(Fre_Channel_en_t enFreChannel, Fre_uint16_t u16Count);
extern void Fre_In_Channel_Overflow_ISR(Fre_Channel_en_t enFreChannel);
/**********************以下为通用函数*************************************/
extern void Fre_In_Init(Fre_uint8_t *pu8FreRamData, const Fre_Attribute_st_t *pstFreAttribute, Fre_uint8_t u8FreChannelNum);
extern void Fre_In_Sleep_Init(void);
/*频率采集服务函数,主循环内实时调用*/
extern void Fre_In_Service(Fre_Channel_en_t enFreChannel);
/* 在多少MS中调用就传入多少,用于掉线计时使用 */
extern void Fre_In_Time_Out_Handle(Fre_uint32_t Time_Base);
/*计算结果为实时值,获取后需要根据实际使用工况不同,可能需要增加滤波处理后方可使用。*/
/*计算结果为实时值,获取后需要根据实际使用工况不同,可能需要增加滤波处理后方可使用。*/
/*计算结果为实时值,获取后需要根据实际使用工况不同,可能需要增加滤波处理后方可使用。*/
/* 获取信号当前状态 只有信号有效时才可获取频率及占空比信息*/
extern Fre_Status_en_t Fre_In_Get_Channel_Status(Fre_Channel_en_t enFreChannel);
/* 获取高电平占空比,单位千分之一(仅表示单位,不代表采集精度)*/
extern unsigned int Fre_In_Get_Channel_Duty(Fre_Channel_en_t enFreChannel);
/*获取频率,单位0.1HZ(仅表示单位,不代表采集精度)*/
extern unsigned int Fre_In_Get_Channel_HZ(Fre_Channel_en_t enFreChannel);
/*强制设置某个通道进入无效状态,一般IGOFF时,或者IGON初始化时调用*/
extern void Fre_In_Set_Channel_Invalid(Fre_Channel_en_t enFreChannel);
/*获取输入信号数据更新标志
0:no update
1:update */
extern unsigned int Fre_In_Get_Update_Flag(Fre_Channel_en_t enFreChannel);
/*清除输入信号更新标志*/
extern void Fre_In_Reset_Update_Flag(Fre_Channel_en_t enFreChannel);
#endif
#include "FreIn.h"
#include "FreIn_User.h"
#include "r_typedefs.h"
#include "dr7f701684.dvf.h"
#include "GPIO.h"
#include "TimerB.h"
#include "RTE_GPIO.h"
#include "Display_Info.h"
#include "TFT_LCD.h"
Fre_uint8_t Fre_Status_Read_0(void)
{
Fre_uint8_t u8FrePin = 0 ;
if(GPIO_Vspeed_PWM_IN)
{
u8FrePin = 1;
}
return u8FrePin ;
}
Fre_uint8_t Fre_Status_Read_1(void)
{
Fre_uint8_t u8FrePin = 0 ;
if(GPIO_Espeed_PWM_IN)
{
u8FrePin = 1;
}
return u8FrePin;
}
Fre_uint8_t Fre_Status_Read_2(void)
{
Fre_uint8_t u8FrePin = 0 ;
/*if(GPIO_Temp_PWM_IN)
{
u8FrePin = 1;
}*/
return u8FrePin;
}
Fre_uint8_t Fre_Status_Read_3(void)
{
Fre_uint8_t u8FrePin = 0 ;
/*if(GPIO_Rader_PWM_IN)
{
u8FrePin = 1;
}*/
return u8FrePin;
}
/*在填完表格后,一定实测下所需采集信号的极大极小值,是否正确,精度是否满足需求!*/
/*在填完表格后,一定实测下所需采集信号的极大极小值,是否正确,精度是否满足需求!*/
/*在填完表格后,一定实测下所需采集信号的极大极小值,是否正确,精度是否满足需求!*/
const Fre_Attribute_st_t stFreAttribute[FRE_CHANNEL_MAX] =
{
{ 10U, 500000U, 100U, 1000U, 3000U, FRE_SAMP_CAPTURE_ROLL, Fre_Status_Read_0, 5000000UL},//车速 f= 5096*8(0~140km/h)/3600s
{ 10U, 500000U, 100U, 1000U, 3000U, FRE_SAMP_CAPTURE_ROLL, Fre_Status_Read_1, 5000000UL},//转速 f= (0~5000r/min)*4/60s
};
/************************************************/
Fre_uint8_t u8FreRamData[FRE_RAM_DATA_LEN];
void Fre_In_KL30_Wakeup_Init(void)
{
Fre_In_Init(&u8FreRamData[0], &stFreAttribute[0], FRE_CHANNEL_MAX);
TimerB_Input_Channel_Init(TIMERB_0_CH9, TIMERB_CLOCK_3, TIMERB_RISING_FALL);
TimerB_Input_Channel_Start(TIMERB_0_CH9);
TimerB_Input_Channel_Init(TIMERB_0_CH11, TIMERB_CLOCK_3, TIMERB_RISING_FALL);
TimerB_Input_Channel_Start(TIMERB_0_CH11);
}
uint8_t VEHICLE_Status = 0;
uint8_t ENGINE_Status = 0;
uint32_t Duty_VEHICLE = 0;
uint32_t Duty_ENGINE = 0;
uint32_t HZ_VEHICLE = 0;
uint32_t HZ_ENGINE = 0;
uint32_t Duty_VEHICLE_BackUp = 0;
uint32_t Duty_ENGINE_BackUp = 0;
uint32_t HZ_VEHICLE_BackUp = 0;
uint32_t HZ_ENGINE_BackUp = 0;
void Freln_Duty_HZ_Service(void)
{
VEHICLE_Status = Fre_In_Get_Channel_Status(FRE_VEHICLE);
ENGINE_Status = Fre_In_Get_Channel_Status(FRE_ENGINE);
if(Fre_In_Get_Update_Flag(FRE_VEHICLE))
{
Fre_In_Reset_Update_Flag(FRE_VEHICLE);
Duty_VEHICLE = Fre_In_Get_Channel_Duty(FRE_VEHICLE);
HZ_VEHICLE = Fre_In_Get_Channel_HZ(FRE_VEHICLE);
}
if(Fre_In_Get_Update_Flag(FRE_ENGINE))
{
Fre_In_Reset_Update_Flag(FRE_ENGINE);
Duty_ENGINE = Fre_In_Get_Channel_Duty(FRE_ENGINE);
HZ_ENGINE = Fre_In_Get_Channel_HZ(FRE_ENGINE);
}
}
#ifndef FRE_IN_USER_H__
#define FRE_IN_USER_H__
extern void Fre_In_KL30_Wakeup_Init(void);
void Freln_Duty_HZ_Service(void);
#endif
#include "RTE_CAN.h"
#include "RTE_GPIO.h"
#include "CAN_Communication_Matrix.h"
#include "Diag_ID_Def.h"
#include "DoCAN_ISO15765.h"
#include "RSCAN.h"
#include "RSCAN_Table.h"
#include "Check_Ctrl.h"
BusOffMonitorStruct BusOffMonitor; // BusOff监控结构体
static uint8_t BusOffCnt = 0u;
//初始化Bus Off监控结构体
void BusOff_Init(void)
{
//重置相关信息
BusOffMonitor.Status = BUS_OFF_STATUS_STABLE;
BusOffMonitor.Timer = 0;
BusOffMonitor.Cnt = 0;
BusOffCnt = 0;
}
// OSEK BusOff的判断,只需判断无需进行恢复操作
void BusOff_Service(void)
{
RSCAN0_CH4_Busoff_Recover( );
RSCAN0_CH1_Busoff_Recover( );
RSCAN0_CH2_Busoff_Recover( );
}
/***Middle***/
void Can_Init(void)
{
CAN_Frame_st_t stCANFrame;
RSCAN0_Config_st_t loc_can = {0};
loc_can.stRSCANCh2.u32RSCANChEn = 1U;
loc_can.stRSCANCh2.enRSCANChBps = RSCAN_Baud_Rate_500K;
loc_can.stRSCANCh2.u32RSCANChRuleSize = CANFD0_CH2_RX_RULE_SIZE;
loc_can.stRSCANCh2.pfnRSCANConfirmCallBack = Can_Confirm;
loc_can.stRSCANCh2.pfnRSCANReadMsgCallBack = Can_Read_Msg;
loc_can.stRSCANCh2.pfnRSCANAbortConfirmCallBack = 0;
loc_can.stRSCANCh4.u32RSCANChEn = 1U;
loc_can.stRSCANCh4.enRSCANChBps = RSCAN_Baud_Rate_500K;
loc_can.stRSCANCh4.u32RSCANChRuleSize = CANFD0_CH4_RX_RULE_SIZE;
loc_can.stRSCANCh4.pfnRSCANConfirmCallBack = Can_Confirm;
loc_can.stRSCANCh4.pfnRSCANReadMsgCallBack = Can_Read_Msg;
loc_can.stRSCANCh4.pfnRSCANAbortConfirmCallBack = 0;
RSCAN0_CH_Init(CANFD_RX_RULE_TABLE_LIST, &loc_can);
CAN_TX_SetEnable(0x55);
// stCANFrame.u32CANID=0x666;
// stCANFrame.u8CANFrameIDE=0;
// stCANFrame.u8CANLEN=8;
// stCANFrame.unCANData.u8CANData[0]=1;
// stCANFrame.unCANData.u8CANData[1]=2;
// stCANFrame.unCANData.u8CANData[2]=3;
// stCANFrame.unCANData.u8CANData[3]=4;
// stCANFrame.unCANData.u8CANData[4]=5;
// stCANFrame.unCANData.u8CANData[5]=6;
// stCANFrame.unCANData.u8CANData[6]=7;
// stCANFrame.unCANData.u8CANData[7]=8;
// RSCAN0_CH1_Set_FIFO0_Data(&stCANFrame);
// stCANFrame.u32CANID++;
// RSCAN0_CH2_Set_FIFO0_Data(&stCANFrame);
// stCANFrame.u32CANID++;
// RSCAN0_CH4_Set_FIFO0_Data(&stCANFrame);
// stCANFrame.u32CANID++;
// RSCAN0_CH1_Set_TXBUF_Data(0, &stCANFrame);
// stCANFrame.u32CANID++;
// RSCAN0_CH1_Set_TXBUF_Data(1, &stCANFrame);
// stCANFrame.u32CANID++;
// RSCAN0_CH2_Set_TXBUF_Data(0, &stCANFrame);
// stCANFrame.u32CANID++;
// RSCAN0_CH2_Set_TXBUF_Data(1, &stCANFrame);
// stCANFrame.u32CANID++;
// RSCAN0_CH4_Set_TXBUF_Data(0, &stCANFrame);
// stCANFrame.u32CANID++;
// RSCAN0_CH4_Set_TXBUF_Data(1, &stCANFrame);
// stCANFrame.u32CANID++;
// stCANFrame.u32CANID++;
}
void Can_DeInit(void)
{
}
uint8_t Can_Write(_CAN_Msg *Msg)
{
CAN_Frame_st_t m_msg;
uint32_t i;
uint32_t idx;
m_msg.u32CANID = Msg->MsgID;
m_msg.u8CANLEN = Msg->MsgDLC;
m_msg.u8CANFrameIDE = 0;
for ( i = 0; i < m_msg.u8CANLEN; i++ )
{
m_msg.unCANData.u8CANData [ i ] = Msg->Msg [ i ];
}
if(CAN_Msg_Tx_Enable == 0)
{
return 0;
}
RSCAN0_CH4_Set_TXBUF_Data(Msg->MsgPro, &m_msg);
return 0;
}
uint8_t Can_Write_FIFO(_CAN_Msg *Msg)
{
CAN_Frame_st_t m_msg;
uint32_t i;
uint32_t idx;
m_msg.u32CANID = Msg->MsgID;
m_msg.u8CANLEN = Msg->MsgDLC;
m_msg.u8CANFrameIDE = 0;
for ( i = 0; i < m_msg.u8CANLEN; i++ )
{
m_msg.unCANData.u8CANData [ i ] = Msg->Msg [ i ];
}
if(CAN_Msg_Tx_Enable == 0)
{
return 0;
}
RSCAN0_CH4_Set_FIFO0_Data(&m_msg);
return 0;
}
void Can_Sleep_Fun(void)
{
}
void Can_SleepController_Fun(void)
{
}
void Can_Wakeup_Fun(void)
{
}
void Can_Uds_Abort(void)
{
}
void Can_Abort_All(void)
{
}
/*****Lower*******/
void Can_Read_Msg(uint32_t m_id, uint8_t m_dlc, uint8_t m_Msg [])
{
Co_Can_Buff_Set(Co_Can_ConvertSubID(m_id), m_dlc, m_Msg);
if ( (m_id == DIAG_ID_Rx_FUN) || (m_id == DIAG_ID_Rx_PHY) )
{
DoCAN_L_Data_Indication(m_id, m_dlc, m_Msg);
}
}
void Can_Confirm(uint32_t Identifier, uint8_t TransferStatus)
{
uint32_t MSG_ID;
MSG_ID = 0ul;
switch ( Identifier )
{
case RSCAN_CHANNEL_BUF_2:
MSG_ID = 0x401ul;
break;
case RSCAN_CHANNEL_BUF_3:
MSG_ID = 0x260ul;
break;
case RSCAN_CHANNEL_BUF_4:
MSG_ID = 0x280ul;
break;
case RSCAN_CHANNEL_BUF_5:
MSG_ID = 0x380ul;
break;
case RSCAN_CHANNEL_BUF_6:
MSG_ID = 0x385ul;
break;
case RSCAN_CHANNEL_BUF_7:
MSG_ID = 0x69bul;
break;
case RSCAN_CHANNEL_BUF_8:
MSG_ID = 0x28Aul;
break;
case RSCAN_CHANNEL_BUF_1:
MSG_ID = 0x701ul;
break;
case RSCAN_CHANNEL_BUF_0:
MSG_ID = 0x701ul;
DoCAN_L_Data_Confirm(MSG_ID, TransferStatus);
break;
default:
break;
}
if ( TransferStatus == 0x00 )
{
DoCAN_L_Data_Confirm(Identifier, 1);
}
else
{
}
}
...@@ -53,6 +53,8 @@ ...@@ -53,6 +53,8 @@
#define KL30 GPIO_IN_APORT00_PIN09 #define KL30 GPIO_IN_APORT00_PIN09
#define GPIO_Vspeed_PWM_IN GPIO_IN_PORT10_PIN15
#define GPIO_Espeed_PWM_IN GPIO_IN_PORT11_PIN00
/****************************************************************************** /******************************************************************************
函数接口 函数接口
******************************************************************************/ ******************************************************************************/
......
...@@ -135,26 +135,26 @@ void SetIO_OUT_N_09(uint8_t val); ...@@ -135,26 +135,26 @@ void SetIO_OUT_N_09(uint8_t val);
void SetIO_OUT_N_10(uint8_t val); void SetIO_OUT_N_10(uint8_t val);
const st_Port_IO F1KM_16843_Port_IO_P [20] = { const st_Port_IO F1KM_16843_Port_IO_P [20] = {
&SetIO_OUT_P_01, &SetIO_OUT_P_01,//正控
&SetIO_OUT_P_02, &SetIO_OUT_P_02,//正控
&SetIO_OUT_P_03, &SetIO_OUT_P_03,//正控
&SetIO_OUT_P_04, &SetIO_OUT_P_04,//正控
&SetIO_OUT_P_05, &SetIO_OUT_P_05,//正控
&SetIO_OUT_P_06, &SetIO_OUT_P_06,//正控
&SetIO_OUT_P_07, &SetIO_OUT_P_07,//正控
&SetIO_OUT_P_08, &SetIO_OUT_P_08,//正控
&SetIO_OUT_P_09, &SetIO_OUT_P_09,//正控
&SetIO_OUT_P_10, &SetIO_OUT_P_10,//正控
&SetIO_OUT_N_01, &SetIO_OUT_N_01,//负控
&SetIO_OUT_N_02, &SetIO_OUT_N_02,//负控
&SetIO_OUT_N_03, &SetIO_OUT_N_03,//负控
&SetIO_OUT_N_04, &SetIO_OUT_N_04,//负控
&SetIO_OUT_N_05, &SetIO_OUT_N_05,//负控
&SetIO_OUT_N_06, &SetIO_OUT_N_06,//负控
&SetIO_OUT_N_07, &SetIO_OUT_N_07,//负控
&SetIO_OUT_N_08, &SetIO_OUT_N_08,//负控
&SetIO_OUT_N_09, &SetIO_OUT_N_09,//负控
&SetIO_OUT_N_10, &SetIO_OUT_N_10,//负控
}; };
void SetPWM_OUT_01(uint32_t Duty, uint32_t Freq) void SetPWM_OUT_01(uint32_t Duty, uint32_t Freq)
......
#include "FreIn_User.h"
#include "FreIn.h"
#include "main.h" #include "main.h"
#include "Task.h" #include "Task.h"
#include "TYW_stdint.h" #include "TYW_stdint.h"
...@@ -15,6 +17,7 @@ ...@@ -15,6 +17,7 @@
#include "Display_Info.h" #include "Display_Info.h"
#include "Key.h" #include "Key.h"
#include "Check_Ctrl.h" #include "Check_Ctrl.h"
#include "RTE_PWM.h"
/******************************************************************************* /*******************************************************************************
* * * *
* ϵͳ��������ģʽ(SYS_MODE_OFF / SYS_MODE_ON / SYS_MODE_STANDBY )�����б� * * ϵͳ��������ģʽ(SYS_MODE_OFF / SYS_MODE_ON / SYS_MODE_STANDBY )�����б� *
...@@ -31,6 +34,8 @@ void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void) ...@@ -31,6 +34,8 @@ void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void)
DoCAN_Communication_Service( ); DoCAN_Communication_Service( );
UDS_Server_Application_Service( ); UDS_Server_Application_Service( );
TFT_LCD_Display_Update_Service( ); TFT_LCD_Display_Update_Service( );
Fre_In_Service(FRE_VEHICLE);
Fre_In_Service(FRE_ENGINE);
} }
/*============================================================================*/ /*============================================================================*/
...@@ -60,6 +65,7 @@ void Sys_Run_Mode_10ms_Tasks_Group(void) ...@@ -60,6 +65,7 @@ void Sys_Run_Mode_10ms_Tasks_Group(void)
{ {
BusOff_Service( ); BusOff_Service( );
Key_Service( ); Key_Service( );
Fre_In_Time_Out_Handle(10);
} }
/*============================================================================== /*==============================================================================
...@@ -104,6 +110,11 @@ void Sys_Run_Mode_100ms_Tasks_Group(void) ...@@ -104,6 +110,11 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
} }
SET_ODO_Clear_F(); SET_ODO_Clear_F();
Get_ODO_Call(); Get_ODO_Call();
//PWM_Channel_Set_Freq(1, 40000);//1kHz
//PWM_Channel_Set_Duty(1, 600);//60%
Freln_Duty_HZ_Service();
} }
/*=================================================================*/ /*=================================================================*/
......
#include "main.h"
#include "Task.h"
#include "TYW_stdint.h"
#include "GenDelay.h"
#include "COM_CAN.h"
#include "RTE_GPIO.h"
#include "DoCAN_ISO15765.h"
#include "Flash_synchronizer.h"
#include "RTE_ADC.h"
#include "init.h"
#include "TFT_LCD.h"
#include "TM035HFZGZx.h"
#include "UDS_ISO14229_Server.h"
#include "CAN_Lib.h"
#include "Display_Info.h"
#include "Key.h"
#include "Check_Ctrl.h"
/*******************************************************************************
* *
* ϵͳ��������ģʽ(SYS_MODE_OFF / SYS_MODE_ON / SYS_MODE_STANDBY )�����б� *
* *
*******************************************************************************/
/*==============================================================================
αʵʱ����
------------------------------------------------------------------------------*/
void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void)
{
SD_FMQ = 1;
DoCAN_Communication_Service( );
UDS_Server_Application_Service( );
TFT_LCD_Display_Update_Service( );
}
/*============================================================================*/
/*==============================================================================
2ms����ִ������ ��0��
------------------------------------------------------------------------------*/
void Sys_Run_Mode_2ms_Tasks_Group(void)
{
Can_Write_Fun(2); //报文外发
COM_RX_Process( );
RTE_ADC_Services( );
}
/*==============================================================================
2ms����ִ������ ��0��
------------------------------------------------------------------------------*/
void Sys_Run_Mode_5ms_Tasks_Group(void)
{
}
/*==============================================================================
10ms����ִ������ ��0��
------------------------------------------------------------------------------*/
void Sys_Run_Mode_10ms_Tasks_Group(void)
{
BusOff_Service( );
Key_Service( );
}
/*==============================================================================
20ms����ִ������ ��0��
------------------------------------------------------------------------------*/
void Sys_Run_Mode_20ms_Tasks_Group0(void)
{
Total_Check( );
}
/*==============================================================================
50ms����ִ������ ��0��
------------------------------------------------------------------------------*/
void Sys_Run_Mode_50ms_Tasks_Group(void)
{
static uint32_t timer_100ms = 0;
timer_100ms++;
if ( timer_100ms == 1 )
{
Read_IPK_Session_Type( );
}
else if ( timer_100ms == 2 )
{
timer_100ms = 0;
}
}
/*==============================================================================
100ms����ִ������ ��0��
------------------------------------------------------------------------------*/
void Sys_Run_Mode_100ms_Tasks_Group(void)
{
static uint32_t loc_timer = 0;
loc_timer++;
if ( loc_timer >= 15 )
{
loc_timer = 0;
HW_CHECK_IPK_EXIST( );
}
SET_ODO_Clear_F();
Get_ODO_Call();
}
/*=================================================================*/
/*******************************************************************************
* *
* ��ȷ��50us��ʱ�����б� *
* *
*******************************************************************************/
/*==============================================================================
��ȷ��50us��ʱ���� ��ֹ�����޸��б��е�����
------------------------------------------------------------------------------*/
void Sys_Exact_50us_Tasks(void)
{
GenDelay_Tick( );
DoCAN_Timer_Update(50u);
}
/*============================================================================*/
/*******************************************************************************
* *
* ��ȷ��100ms��ʱ�����б� *
* *
*******************************************************************************/
/*==============================================================================
��ȷ��100ms��ʱ���� ��ֹ�����޸��б��е�����
------------------------------------------------------------------------------*/
void Sys_Exact_100ms_Tasks(void)
{
CHECK_IPK_COUNT( );
}
/*============================================================================*/
void Sys_Enter_Sleep_Mode(void)
{
// Sys_Sleep_Init( );
}
...@@ -83,14 +83,14 @@ const uint16_t g_u16GPIOConfigArray[56U][2U] = ...@@ -83,14 +83,14 @@ const uint16_t g_u16GPIOConfigArray[56U][2U] =
{0x0000u, 0x0000u}, {0x0000u, 0x0000u},
{0x0000u, 0x0000u}, {0x0000u, 0x0000u},
{0x0000u, 0x0000u}, {0x0000u, 0x0000u},
{0x0001u, 0x0000u}, {0x0005u, 0x0000u},
{0x0001u, 0x0000u}, {0x0005u, 0x0000u},
{0x0000u, 0x0000u}, {0x0000u, 0x0000u},
{0x0000u, 0x0000u}, {0x0000u, 0x0000u},
{0x0000u, 0x0080u}, {0x0000u, 0x0080u},
{0x0001u, 0x0000u}, {0x0005u, 0x0000u},
{0x0001u, 0x0005u}, {0x0001u, 0x0005u},
{0x00FEu, 0x00FFu}, {0x00FAu, 0x00FFu},
{0x8080u, 0x1000u}, {0x8080u, 0x1000u},
{0x000Fu, 0x673Fu}, {0x000Fu, 0x673Fu},
{0xFFFFu, 0xFFFFu}, {0xFFFFu, 0xFFFFu},
......
...@@ -473,10 +473,14 @@ static void TimerB_Input_Capture_Channel_Init(TIMERB_Channel_en_t enTimerBChanne ...@@ -473,10 +473,14 @@ static void TimerB_Input_Capture_Channel_Init(TIMERB_Channel_en_t enTimerBChanne
uint8_t u8TimerBChannel = enTimerBChannel % 16U; uint8_t u8TimerBChannel = enTimerBChannel % 16U;
uint16_t u16ClockSelectRe = (0x156U | (enTimerBClock << 14U)); uint16_t u16ClockSelectRe = (0x156U | (enTimerBClock << 14U));
uint16_t u16TimerBbit = (1U << u8TimerBChannel); uint16_t u16TimerBbit = (1U << u8TimerBChannel);
uint16_t u16TimerBbitBuf = (*((uint16_t *)(0xFFC30024UL)));
uint32_t u32TimerBRegBaseAddr = TIMERB_BASE_ADDRESSES + (u8TimerBIndex * 0X1000U); uint32_t u32TimerBRegBaseAddr = TIMERB_BASE_ADDRESSES + (u8TimerBIndex * 0X1000U);
uint32_t u32TimerBRegAddrChannel = 0U; uint32_t u32TimerBRegAddrChannel = 0U;
u16TimerBbitBuf |= u16TimerBbit;
(*((uint16_t *)(0xFFC30024UL))) = u16TimerBbitBuf;
//DNFATAUB0IENH5
/*control*/ /*control*/
u32TimerBRegAddrChannel = u32TimerBRegBaseAddr + 0X200U + (4U * u8TimerBChannel); u32TimerBRegAddrChannel = u32TimerBRegBaseAddr + 0X200U + (4U * u8TimerBChannel);
*((uint16_t *)u32TimerBRegAddrChannel) = u16ClockSelectRe; *((uint16_t *)u32TimerBRegAddrChannel) = u16ClockSelectRe;
...@@ -518,11 +522,17 @@ static void TimerB_Interval_Timer_Channel_Init(TIMERB_Channel_en_t enTimerBChann ...@@ -518,11 +522,17 @@ static void TimerB_Interval_Timer_Channel_Init(TIMERB_Channel_en_t enTimerBChann
void TimerB_Input_Channel_Init(TIMERB_Channel_en_t enTimerBChannel, TIMERB_Clock_en_t enTimerBClock, TIMERB_Edge_en_t enTimerBEdge) void TimerB_Input_Channel_Init(TIMERB_Channel_en_t enTimerBChannel, TIMERB_Clock_en_t enTimerBClock, TIMERB_Edge_en_t enTimerBEdge)
{ {
peripheral_IRQ_disable((enTimerBChannel) + INTTAUB0I0);
peripheral_IRQ_disable(((enTimerBChannel - 1U)) + INTTAUB0I0);
TimerB_Input_Capture_Channel_Init(enTimerBChannel, enTimerBClock, enTimerBEdge); TimerB_Input_Capture_Channel_Init(enTimerBChannel, enTimerBClock, enTimerBEdge);
TimerB_Interval_Timer_Channel_Init(enTimerBChannel - 1, enTimerBClock); TimerB_Interval_Timer_Channel_Init(enTimerBChannel - 1, enTimerBClock);
peripheral_IRQ_enable((enTimerBChannel * 2UL) + INTTAUB0I0); peripheral_IRQ_flag_clear((enTimerBChannel) + INTTAUB0I0);
peripheral_IRQ_enable(((enTimerBChannel - 1U) * 2UL) + INTTAUB0I0); peripheral_IRQ_flag_clear(((enTimerBChannel - 1U)) + INTTAUB0I0);
peripheral_IRQ_enable((enTimerBChannel) + INTTAUB0I0);
peripheral_IRQ_enable(((enTimerBChannel - 1U)) + INTTAUB0I0);
} }
void TimerB_Input_Channel_Start(TIMERB_Channel_en_t enTimerBChannel) void TimerB_Input_Channel_Start(TIMERB_Channel_en_t enTimerBChannel)
......
...@@ -854,22 +854,22 @@ ...@@ -854,22 +854,22 @@
#define INTTAUB0I7_ENABLE 0x00000000u #define INTTAUB0I7_ENABLE 0x00000000u
#endif #endif
// #define INTTAUB0I8_ENABLE (IRQ_TABLE_START + 0x00000258u) #define INTTAUB0I8_ENABLE (IRQ_TABLE_START + 0x00000258u)
#ifndef INTTAUB0I8_ENABLE #ifndef INTTAUB0I8_ENABLE
#define INTTAUB0I8_ENABLE 0x00000000u #define INTTAUB0I8_ENABLE 0x00000000u
#endif #endif
// #define INTTAUB0I9_ENABLE (IRQ_TABLE_START + 0x0000025Cu) #define INTTAUB0I9_ENABLE (IRQ_TABLE_START + 0x0000025Cu)
#ifndef INTTAUB0I9_ENABLE #ifndef INTTAUB0I9_ENABLE
#define INTTAUB0I9_ENABLE 0x00000000u #define INTTAUB0I9_ENABLE 0x00000000u
#endif #endif
// #define INTTAUB0I10_ENABLE (IRQ_TABLE_START + 0x00000260u) #define INTTAUB0I10_ENABLE (IRQ_TABLE_START + 0x00000260u)
#ifndef INTTAUB0I10_ENABLE #ifndef INTTAUB0I10_ENABLE
#define INTTAUB0I10_ENABLE 0x00000000u #define INTTAUB0I10_ENABLE 0x00000000u
#endif #endif
// #define INTTAUB0I11_ENABLE (IRQ_TABLE_START + 0x00000264u) #define INTTAUB0I11_ENABLE (IRQ_TABLE_START + 0x00000264u)
#ifndef INTTAUB0I11_ENABLE #ifndef INTTAUB0I11_ENABLE
#define INTTAUB0I11_ENABLE 0x00000000u #define INTTAUB0I11_ENABLE 0x00000000u
#endif #endif
...@@ -884,12 +884,12 @@ ...@@ -884,12 +884,12 @@
#define INTTAUB0I13_ENABLE 0x00000000u #define INTTAUB0I13_ENABLE 0x00000000u
#endif #endif
// #define INTTAUB0I14_ENABLE (IRQ_TABLE_START + 0x00000270u) #define INTTAUB0I14_ENABLE (IRQ_TABLE_START + 0x00000270u)
#ifndef INTTAUB0I14_ENABLE #ifndef INTTAUB0I14_ENABLE
#define INTTAUB0I14_ENABLE 0x00000000u #define INTTAUB0I14_ENABLE 0x00000000u
#endif #endif
// #define INTTAUB0I15_ENABLE (IRQ_TABLE_START + 0x00000274u) #define INTTAUB0I15_ENABLE (IRQ_TABLE_START + 0x00000274u)
#ifndef INTTAUB0I15_ENABLE #ifndef INTTAUB0I15_ENABLE
#define INTTAUB0I15_ENABLE 0x00000000u #define INTTAUB0I15_ENABLE 0x00000000u
#endif #endif
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include "Check_Ctrl.h" #include "Check_Ctrl.h"
#include "Key.h" #include "Key.h"
#include "Display_Info.h" #include "Display_Info.h"
#include "FreIn_User.h"
/* Private typedef -----------------------------------------------------------*/ /* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/
...@@ -80,14 +81,16 @@ void Sys_Startup_Init(void) ...@@ -80,14 +81,16 @@ void Sys_Startup_Init(void)
Display_Title_Info( ); Display_Title_Info( );
Key_Init( ); Key_Init( );
PWN_Init(); PWN_Init();
Fre_In_KL30_Wakeup_Init();
PWM_Channel_Init(1, 0, 0, 0, 0); PWM_Channel_Init(1, 0, 0, 0, 0);
PWM_Channel_Init(3, 0, 0, 0, 0); /*PWM_Channel_Init(3, 0, 0, 0, 0);
PWM_Channel_Init(5, 0, 0, 0, 0); PWM_Channel_Init(5, 0, 0, 0, 0);
PWM_Channel_Init(7, 0, 0, 0, 0); PWM_Channel_Init(7, 0, 0, 0, 0);
PWM_Channel_Init(9, 0, 0, 0, 0); PWM_Channel_Init(9, 0, 0, 0, 0);
PWM_Channel_Init(11, 0, 0, 0, 0); PWM_Channel_Init(11, 0, 0, 0, 0);
PWM_Channel_Init(13, 0, 0, 0, 0); PWM_Channel_Init(13, 0, 0, 0, 0);
PWM_Channel_Init(15, 0, 0, 0, 0); PWM_Channel_Init(15, 0, 0, 0, 0);*/
} }
/*********************************************************************** /***********************************************************************
......
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
#include "Sys_Tick.h" #include "Sys_Tick.h"
#include "Sys_Tick.h" #include "Sys_Tick.h"
#include "RSCAN.h" #include "RSCAN.h"
#include "FreIn.h"
#include "dr7f701684.dvf.h"
#if INTOSTM0_ENABLE #if INTOSTM0_ENABLE
#pragma ghs interrupt #pragma ghs interrupt
void INTOSTM0(void) void INTOSTM0(void)
...@@ -17,14 +18,14 @@ void INTOSTM0(void) ...@@ -17,14 +18,14 @@ void INTOSTM0(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN0TRX(void) void INTRCAN0TRX(void)
{ {
RSCAN0_CH0_TX_ISR(); //RSCAN0_CH0_TX_ISR();
} }
#endif #endif
#if INTRCAN1TRX_ENABLE #if INTRCAN1TRX_ENABLE
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN1TRX(void) void INTRCAN1TRX(void)
{ {
RSCAN0_CH1_TX_ISR(); //RSCAN0_CH1_TX_ISR();
} }
#endif #endif
#if INTRCAN2TRX_ENABLE #if INTRCAN2TRX_ENABLE
...@@ -38,7 +39,7 @@ void INTRCAN2TRX(void) ...@@ -38,7 +39,7 @@ void INTRCAN2TRX(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN3TRX(void) void INTRCAN3TRX(void)
{ {
RSCAN0_CH3_TX_ISR(); //RSCAN0_CH3_TX_ISR();
} }
#endif #endif
#if INTRCAN4TRX_ENABLE #if INTRCAN4TRX_ENABLE
...@@ -52,7 +53,7 @@ void INTRCAN4TRX(void) ...@@ -52,7 +53,7 @@ void INTRCAN4TRX(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN5TRX(void) void INTRCAN5TRX(void)
{ {
RSCAN0_CH5_TX_ISR(); //RSCAN0_CH5_TX_ISR();
} }
#endif #endif
...@@ -60,14 +61,14 @@ void INTRCAN5TRX(void) ...@@ -60,14 +61,14 @@ void INTRCAN5TRX(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN0REC(void) void INTRCAN0REC(void)
{ {
RSCAN0_CH0_RX_ISR(); //RSCAN0_CH0_RX_ISR();
} }
#endif #endif
#if INTRCAN1REC_ENABLE #if INTRCAN1REC_ENABLE
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN1REC(void) void INTRCAN1REC(void)
{ {
RSCAN0_CH1_RX_ISR(); //RSCAN0_CH1_RX_ISR();
} }
#endif #endif
#if INTRCAN2REC_ENABLE #if INTRCAN2REC_ENABLE
...@@ -81,7 +82,7 @@ void INTRCAN2REC(void) ...@@ -81,7 +82,7 @@ void INTRCAN2REC(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN3REC(void) void INTRCAN3REC(void)
{ {
RSCAN0_CH3_RX_ISR(); //RSCAN0_CH3_RX_ISR();
} }
#endif #endif
#if INTRCAN4REC_ENABLE #if INTRCAN4REC_ENABLE
...@@ -95,6 +96,54 @@ void INTRCAN4REC(void) ...@@ -95,6 +96,54 @@ void INTRCAN4REC(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN5REC(void) void INTRCAN5REC(void)
{ {
RSCAN0_CH5_RX_ISR(); //RSCAN0_CH5_RX_ISR();
}
#endif
#if INTTAUB0I8_ENABLE
#pragma ghs interrupt
void INTTAUB0I8(void)
{
Fre_In_Channel_Overflow_ISR( FRE_VEHICLE);
} }
#endif #endif
#if INTTAUB0I9_ENABLE
#pragma ghs interrupt
void INTTAUB0I9(void)
{
Fre_In_Channel_Capture_ISR_Rolling_Count( FRE_VEHICLE, TAUB0CDR9 );
}
#endif
#if INTTAUB0I10_ENABLE
#pragma ghs interrupt
void INTTAUB0I10(void)
{
Fre_In_Channel_Overflow_ISR( FRE_ENGINE);
}
#endif
#if INTTAUB0I11_ENABLE
#pragma ghs interrupt
void INTTAUB0I11(void)
{
Fre_In_Channel_Capture_ISR_Rolling_Count( FRE_ENGINE, TAUB0CDR11 );
}
#endif
#if INTTAUB0I14_ENABLE
#pragma ghs interrupt
void INTTAUB0I14(void)
{
}
#endif
#if INTTAUB0I15_ENABLE
#pragma ghs interrupt
void INTTAUB0I15(void)
{
}
#endif
\ No newline at end of file
This diff is collapsed.
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