Commit 4c2bb47e authored by 赵康弘's avatar 赵康弘

perf: 一个简陋的模拟IIC已经能成功控制TCA9539-Q1芯片

parent 1154922a
{
"files.associations": {
"tca9539.h": "c",
"tyw_stdint.h": "c",
"simulated_iic_2_master.h": "c"
}
}
\ No newline at end of file
......@@ -62,11 +62,11 @@
** Input File **
***********************************************************************************************************************/
/*
* INPUT FILE: D:\sharedir\Test_MCAL_U2A8_292_43.03_240129_canfd\Test_MCAL_U2A8_292_43.03_240129\Config\Config292\Config\ECUC\test_Port_Port_ecuc.arxml
* D:\sharedir\Test_MCAL_U2A8_292_43.03_240129_canfd\Test_MCAL_U2A8_292_43.03_240129\Config\Config292\generator\BSWMDT\R431_PORT_U2A8_BSWMDT.arxml
* D:\sharedir\Test_MCAL_U2A8_292_43.03_240129_canfd\Test_MCAL_U2A8_292_43.03_240129\Config\Config292\stubs\Dem\xml\Dem_Port.arxml
* D:\sharedir\Test_MCAL_U2A8_292_43.03_240129_canfd\Test_MCAL_U2A8_292_43.03_240129\Config\Config292\Translation.trxml
* GENERATED ON: 27 Apr 2025 - 14:14:05
* INPUT FILE: E:\Test_MCAL_U2A8_292_43.03_240129_canfd\Test_MCAL_U2A8_292_43.03_240129\Config\Config292\Config\ECUC\test_Port_Port_ecuc.arxml
* E:\Test_MCAL_U2A8_292_43.03_240129_canfd\Test_MCAL_U2A8_292_43.03_240129\Config\Config292\generator\BSWMDT\R431_PORT_U2A8_BSWMDT.arxml
* E:\Test_MCAL_U2A8_292_43.03_240129_canfd\Test_MCAL_U2A8_292_43.03_240129\Config\Config292\stubs\Dem\xml\Dem_Port.arxml
* E:\Test_MCAL_U2A8_292_43.03_240129_canfd\Test_MCAL_U2A8_292_43.03_240129\Config\Config292\Translation.trxml
* GENERATED ON: 09 May 2025 - 17:06:53
*/
......@@ -2536,7 +2536,7 @@ CONST(Port_Pin_Config, PORT_CONFIG_DATA) Port_GaaPinConfig[] =
/* Index: 103 - PortConfigSet_0_PortGroup22_PortPin3 */
{
/* usChangeable */
0x0000U,
0x0001U,
/* usPortType */
0x0001U,
......@@ -2559,7 +2559,7 @@ CONST(Port_Pin_Config, PORT_CONFIG_DATA) Port_GaaPinConfig[] =
/* Index: 104 - PortConfigSet_0_PortGroup22_PortPin4 */
{
/* usChangeable */
0x0000U,
0x0001U,
/* usPortType */
0x0001U,
......@@ -5320,7 +5320,7 @@ CONST(Port_Reg_Init, PORT_CONFIG_DATA) Port_GaaPortConfig[] =
/* Index: 0 - Register Value */
{
/* PMC */
0x001FU,
0x0007U,
/* PM */
0xFFEAU,
......@@ -5332,13 +5332,13 @@ CONST(Port_Reg_Init, PORT_CONFIG_DATA) Port_GaaPortConfig[] =
0x0000U,
/* PFC */
0x001FU,
0x0007U,
/* PFCE */
0x001FU,
0x0007U,
/* PFCAE */
0x0008U,
0x0000U,
/* Reserve */
0x0000U,
......@@ -5398,10 +5398,10 @@ CONST(Port_Reg_Init, PORT_CONFIG_DATA) Port_GaaPortConfig[] =
0x0000U,
/* PDSC */
0x0000U,
0x0018U,
/* PUCC */
0x0013U,
0x001BU,
/* PINV */
0x0000U,
......@@ -5520,7 +5520,7 @@ CONST(Port_Reg_Init, PORT_CONFIG_DATA) Port_GaaPortConfig[] =
0x0000U,
/* P */
0x3800U,
0x2800U,
/* Reserve */
0x0000U,
......
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Settings>
<Settings Name="CFG5_GUI_SETTING">
<Settings Name="com.vector.cfg.gui.app.dvcfg.views.validation.validationview.hideack">
<Setting Value="false" Name="buttonStateAck"/>
</Settings>
<Settings Name="com.vector.cfg.gui.app.dvcfg.views.validation.validationview.hideerror">
<Setting Value="false" Name="buttonStateError"/>
</Settings>
<Settings Name="com.vector.cfg.gui.app.dvcfg.views.validation.validationview.hideinfo">
<Setting Value="false" Name="buttonStateInfo"/>
</Settings>
<Settings Name="com.vector.cfg.gui.app.dvcfg.views.validation.validationview.hidewarn">
<Setting Value="false" Name="buttonStateWarn"/>
</Settings>
<Settings Name="com.vector.cfg.gui.app.views.validation.table.ValidationViewTable">
<Setting Value="0,1,2," Name="nattable.BODY.columnIndexOrder"/>
<Setting Value="0" Name="nattable.BODY.columnWidth.defaultMinSize"/>
<Setting Value="false" Name="nattable.BODY.columnWidth.distributeRemainingSpace"/>
<Setting Value="0:250,1:500,2:250," Name="nattable.BODY.columnWidth.sizes"/>
<Setting Value="0" Name="nattable.COLUMN_HEADER.columnWidth.defaultMinSize"/>
<Setting Value="false" Name="nattable.COLUMN_HEADER.columnWidth.distributeRemainingSpace"/>
<Setting Value="0" Name="nattable.CORNER.columnWidth.defaultMinSize"/>
<Setting Value="false" Name="nattable.CORNER.columnWidth.distributeRemainingSpace"/>
<Setting Value="0" Name="nattable.ROW_HEADER.columnWidth.defaultMinSize"/>
<Setting Value="false" Name="nattable.ROW_HEADER.columnWidth.distributeRemainingSpace"/>
</Settings>
<Settings Name="com.vector.cfg.gui.danglingreference.view.DanglingReferencesView"/>
</Settings>
<Settings Name="com.vector.cfg.consistency.internal.executer.BackgroundValidationExecuter">
<Setting Value="674" Name="InitialBackgroundValidationExecutionTimeMs"/>
<Setting Value="rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVz&#xA;aG9sZHhwP0AAAAAAABh3CAAAACAAAAAVdAA1Y29tLnZlY3Rvci5jZmcuZG9tLmlvLnVpLnZhbGlk&#xA;YXRpb25zLkRpby5EaW9DaGFubmVsSWRzcgAOamF2YS5sYW5nLkxvbmc7i+SQzI8j3wIAAUoABXZh&#xA;bHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAAIAAAB0AD1jb20udmVjdG9y&#xA;LmNmZy52YWxpZGF0aW9uLmJhc2ljcnVsZXMubXNyLmltcGwuRGVmaW5pdGlvbkNoZWNrc3EAfgAD&#xA;AAAAABAAAAB0ADxjb20udmVjdG9yLmNmZy5kb20uYmFzZS51aS5kZXQudmFsaWRhdGlvbi5EZXRB&#xA;Y3RpdmF0aW9uQ2hlY2tzcQB+AAMAAAAACgAAAHQAVWNvbS52ZWN0b3IuY2ZnLnZhbGlkYXRpb24u&#xA;YmFzaWNydWxlcy5tc3IuaW1wbC5tdWx0aXBsaWNpdHkuTXVsdGlwbGljaXR5Q2hlY2tDb250YWlu&#xA;ZXJzcQB+AAMAAAAABgAAAHQAM2NvbS52ZWN0b3IuY2ZnLmRvbS5pby51aS52YWxpZGF0aW9ucy5B&#xA;ZGMuQWRjR3JvdXBJZHNxAH4AAwAAAAABAAAAdAA+Y29tLnZlY3Rvci5jZmcuZG9tLmlvLnVpLnZh&#xA;bGlkYXRpb25zLlBvcnQuUG9ydE51bWJlck9mUG9ydFBpbnNzcQB+AAMAAAAAAQAAAHQAaGNvbS52&#xA;ZWN0b3IuY2ZnLm1vZGVsLnNlcnZpY2VzLmludGVybmFsLmJzd2ludGJlaGF2aW9yLmRhdGFkZXNj&#xA;LnZhbGlkYXRpb24uT2Jzb2xldGVNY1N1cHBvcnREYXRhVmFsaWRhdG9yc3EAfgADAAAAAA8AAAB0&#xA;AD5jb20udmVjdG9yLmNmZy5kb20uaW8udWkudmFsaWRhdGlvbnMuRGlvLkRpb0NoYW5uZWxHcm91&#xA;cE9mZnNldHNxAH4AAwAAAAACAAAAdAA2Y29tLnZlY3Rvci5jZmcuZG9tLmJhc2UudWkuZ3B0LnZh&#xA;bGlkYXRpb24uR3B0Q2hhbm5lbElkc3EAfgADAAAAAAEAAAB0AExjb20udmVjdG9yLmNmZy52YWxp&#xA;ZGF0aW9uLmJhc2ljcnVsZXMubXNyLmltcGwucmVmZXJlbmNlY2hlY2suUmVmZXJlbmNlQ2hlY2sy&#xA;c3EAfgADAAAAAAIAAAB0AEtjb20udmVjdG9yLmNmZy52YWxpZGF0aW9uLmJhc2ljcnVsZXMubXNy&#xA;LmltcGwuYmFzZXZhbHVlY2hlY2suQmFzZVZhbHVlQ2hlY2tzcQB+AAMAAAAACgAAAHQAVWNvbS52&#xA;ZWN0b3IuY2ZnLnZhbGlkYXRpb24uYmFzaWNydWxlcy5tc3IuaW1wbC5tdWx0aXBsaWNpdHkuTXVs&#xA;dGlwbGljaXR5Q2hlY2tQYXJhbWV0ZXJzcQB+AAMAAAAACwAAAHQAPWNvbS52ZWN0b3IuY2ZnLnZh&#xA;bGlkYXRpb24uYmFzaWNydWxlcy5tc3IuaW1wbC5TdHJpbmdQYXJhbWV0ZXJzcQB+AAMAAAAAAQAA&#xA;AHQAM2NvbS52ZWN0b3IuY2ZnLnZhbGlkYXRpb24uYmFzaWNydWxlcy5pbXBsLlNob3J0bmFtZXNx&#xA;AH4AAwAAAAAFAAAAdAA6Y29tLnZlY3Rvci5jZmcudmFsaWRhdGlvbi5iYXNpY3J1bGVzLm1zci5p&#xA;bXBsLkxpbmtlclN5bWJvbHNxAH4AAwAAAAABAAAAdAA1Y29tLnZlY3Rvci5jZmcuZG9tLmlvLnVp&#xA;LnZhbGlkYXRpb25zLkFkYy5BZGNDaGFubmVsSWRzcQB+AAMAAAAAAgAAAHQAMmNvbS52ZWN0b3Iu&#xA;Y2ZnLmRvbS5pby51aS52YWxpZGF0aW9ucy5EaW8uRGlvUG9ydElkc3EAfgADAAAAAAIAAAB0AFBj&#xA;b20udmVjdG9yLmNmZy52YWxpZGF0aW9uLmJhc2ljcnVsZXMubXNyLmltcGwuT3B0aW9uYWxTeW1i&#xA;b2xpY05hbWVWYWx1ZVZhbGlkYXRvcnNxAH4AAwAAAAALAAAAdAA1Y29tLnZlY3Rvci5jZmcuZG9t&#xA;LmlvLnVpLnZhbGlkYXRpb25zLkljdS5JY3VDaGFubmVsSWRzcQB+AAMAAAAAAgAAAHQAQWNvbS52&#xA;ZWN0b3IuY2ZnLmRvbS5ydW50aW1lc3lzLnJ0ZXNldHVwLmludGVybmFsLkF1dG9tYXRpY1J0ZVNl&#xA;dHVwc3EAfgADAAAAAAQAAAB0AE9jb20udmVjdG9yLmNmZy52YWxpZGF0aW9uLmJhc2ljcnVsZXMu&#xA;bXNyLmltcGwuVW5pcXVlU3ltYm9saWNOYW1lVmFsdWVWYWxpZGF0aW9uc3EAfgADAAAAAAgAAAB4&#xA;" Name="ValidationRuleExecutionTimes"/>
</Settings>
</Settings>
#!gbuild
[Subproject]
TCA9539.c
TCA9539.h
CAN_APP\RTE_CAN.c
CAN_APP\RTE_CAN.h
CAN_APP\CAN_CH0_APP.c
......
#include "TCA9539.h"
#include "Simulated_IIC_2_Master.h"
/*发送*/
void TCA9539_IIC_Send(uint8_t Address,uint8_t Register,uint8_t Function)
{
uint8_t u8Ack;
/*开始*/
Simulated_IIC_2_Start();
/*地址*/
Simulated_IIC_2_Transmit_Data(Address);
/*ACK*/
u8Ack=Simulated_IIC_2_Receive_ACK();
/*寄存器*/
Simulated_IIC_2_Transmit_Data(Register);
/*控制数据*/
Simulated_IIC_2_Transmit_Data(Function);
/*停止*/
Simulated_IIC_2_Stop();
}
/*接收*/
void TCA9539_IIC_Receive(void)
{
;
}
#include "TYW_stdint.h"
void TCA9539_IIC_Send(uint8_t Address,uint8_t Register,uint8_t Function);
#!gbuild
[Subproject]
Simulated_IIC_2_Master.c
Simulated_IIC_2_Master.h
CAN\Rscan.c
CAN\Rscan.h
CAN\RSCAN_Table.c
......
/******************************************************************************
文 件 名:Simulated_IIC_Master.c
功能描述:IO端口模拟的IIC(I2C)主机函数库文件
作 者:张暄
版 本:V1.0
日 期:2016.12.21
******************************************************************************/
#include "Simulated_IIC_2_Master.h"
#include "Port_Cfg.h"
#include "Port.h"
#include "Dio.h"
uint8_t u8SimulatedIIC2ReceivedACK;
// #define SIMULATED_IIC_2_SCL SDB_LED_SCL // SCL信号
// #define SIMULATED_IIC_2_SCL_DIR SDB_LED_SCL_DIR // SCL方向
// #define SIMULATED_IIC_2_OUT_SDA SDB_LED_SDA // SDA信号
// #define SIMULATED_IIC_2_IN_SDA SDB_LED_SDA_IN
// #define SIMULATED_IIC_2_SDA_DIR SDB_LED_SDA_DIR // SDA方向
/*
SDA:P22-3
SCL:P22-4
*/
/*时钟输入*/
void TCA9539_Clock_Input(void)
{
Port_SetPinDirection(Port_Config_PortGroup22_PortPin4, PORT_PIN_IN);
}
/*时钟输出低*/
void TCA9539_Clock_Output(void)
{
Port_SetPinDirection(Port_Config_PortGroup22_PortPin4, PORT_PIN_OUT);
Dio_WriteChannel(DioConf_DioChannel_P22_04, STD_LOW);
}
/*数据设置输入*/
void TCA9539_Data_Input(void)
{
Port_SetPinDirection(Port_Config_PortGroup22_PortPin3, PORT_PIN_IN);
}
/*数据输入高低电平*/
uint8_t TCA9539_Data_Input_Value(void)
{
uint8_t Data;
Data= Dio_ReadChannel(Port_Config_PortGroup22_PortPin3);
return Data;
}
/*数据输出低*/
void TCA9539_Data_Output_Low(void)
{
Port_SetPinDirection(Port_Config_PortGroup22_PortPin3, PORT_PIN_OUT);
Dio_WriteChannel(DioConf_DioChannel_P22_03, STD_LOW);
}
/******************************************************************************
函数名:IIC_Init
功 能:初始化IIC总线
参 数:无
返回值:无
******************************************************************************/
void Simulated_IIC_2_Init(void)
{
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
TCA9539_Clock_Input();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
TCA9539_Data_Input();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
u8SimulatedIIC2ReceivedACK = SIMULATED_IIC_2_INVALID_ACK;
}
/******************************************************************************
函数名:IIC_Start
功 能:在IIC总线上发送起始信号,发起一次IIC通信
参 数:无
返回值:无
******************************************************************************/
void Simulated_IIC_2_Start(void)
{
u8SimulatedIIC2ReceivedACK = SIMULATED_IIC_2_INVALID_ACK;
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
TCA9539_Data_Input();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
TCA9539_Clock_Input();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_2_OUT_SDA = 0;
TCA9539_Data_Output_Low();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL = 0;
TCA9539_Clock_Output();
Simulated_IIC_2_Delay( );
}
/******************************************************************************
函数名:IIC_Stop
功 能:在IIC总线上发送停止信号,终止当前IIC通信
参 数:无
返回值:无
******************************************************************************/
void Simulated_IIC_2_Stop(void)
{
u8SimulatedIIC2ReceivedACK = SIMULATED_IIC_2_INVALID_ACK;
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_2_OUT_SDA = 0;
TCA9539_Data_Output_Low();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
TCA9539_Clock_Input();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
TCA9539_Data_Input();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
}
/******************************************************************************
函数名:IIC_Transmit_Data
功 能:向IIC总线上发送1字节数据
参 数:Data:发送的数据
返回值:总线上器件的确认(ACK) 0 - ACK 1 - NAK
******************************************************************************/
void Simulated_IIC_2_Transmit_Data(uint8_t Data)
{
uint8_t i;
u8SimulatedIIC2ReceivedACK = SIMULATED_IIC_2_INVALID_ACK;
for ( i = 0; i < 8; i++ )
{
if ( (Data & 0x80) != 0U )
{
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
TCA9539_Data_Input();
}
else
{
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_2_OUT_SDA = 0;
TCA9539_Data_Output_Low();
}
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
TCA9539_Clock_Input();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL = 0;
TCA9539_Clock_Output();
Simulated_IIC_2_Delay( );
Data <<= 1;
}
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // 设置SDA为输入状态
TCA9539_Data_Input();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
TCA9539_Clock_Input();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
// u8SimulatedIIC2ReceivedACK = SIMULATED_IIC_2_IN_SDA;
u8SimulatedIIC2ReceivedACK = TCA9539_Data_Input_Value();
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL = 0;
TCA9539_Clock_Output();
Simulated_IIC_2_Delay( );
}
/******************************************************************************
函数名:IIC_Receive_Data
功 能:从IIC总线上接收1字节数据
参 数:无
返回值:接收到的数据
******************************************************************************/
uint8_t Simulated_IIC_2_Receive_Data(void)
{
uint8_t i;
uint8_t Data;
Data = 0;
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // 设置SDA为输入状态
TCA9539_Data_Input();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
for ( i = 0; i < 8; i++ )
{
Data <<= 1;
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
TCA9539_Clock_Input();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
// Data |= SIMULATED_IIC_2_IN_SDA;
Data |= TCA9539_Data_Input_Value();
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL = 0;
TCA9539_Clock_Output();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
}
return Data;
}
/******************************************************************************
函数名:IIC_Transmit_ACK
功 能:向IIC总线上发送确认信号
参 数:ACK:确认信号的类型: SIMULATED_IIC_2_ACK 肯定应答
IIC_NAK 否定应答
返回值:无
******************************************************************************/
void Simulated_IIC_2_Transmit_ACK(uint8_t ACK)
{
u8SimulatedIIC2ReceivedACK = SIMULATED_IIC_2_INVALID_ACK;
if ( ACK > SIMULATED_IIC_2_NAK )
{
return;
}
if ( ACK != 0U )
{
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_IN; // SDA被设置为输入,IO口为高阻状态,总线上SDA信号由上拉电阻拉高,此时SDA = 1
TCA9539_Data_Input();
}
else
{
// SIMULATED_IIC_2_SDA_DIR = GPIO_DIR_OUT; // SDA输出0,此时SDA = 0
// SIMULATED_IIC_2_OUT_SDA = 0;
TCA9539_Data_Output_Low();
}
Simulated_IIC_2_Delay( );
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_IN; // SCL被设置为输入,IO口为高阻状态,总线上SCL信号由上拉电阻拉高,此时SCL = 1
TCA9539_Clock_Input();
Simulated_IIC_2_Delay( );
Simulated_IIC_2_Delay( );
// SIMULATED_IIC_2_SCL_DIR = GPIO_DIR_OUT; // SCL输出0,此时SCL = 0
// SIMULATED_IIC_2_SCL = 0;
TCA9539_Clock_Output();
Simulated_IIC_2_Delay( );
}
/******************************************************************************
函数名:IIC_Receive_ACK
功 能:获取从总线上接收到的确认信号
参 数:无
返回值:总线上器件的确认信号类型:Simulated_IIC_ACK 肯定应答
SIMULATED_IIC_2_NAK 否定应答
IIC_INVALID_ACK 无效的应答信号(应答信号还未收到)
******************************************************************************/
uint8_t Simulated_IIC_2_Receive_ACK(void)
{
uint8_t ACK;
ACK = u8SimulatedIIC2ReceivedACK;
u8SimulatedIIC2ReceivedACK = SIMULATED_IIC_2_INVALID_ACK;
return ACK;
}
/******************************************************************************
函数名:IIC_Delay
功 能:延时5us,用于收发过程中的时序控制
注意:必须调整IIC_5us_DELAY_CALIBRATION参数校准延时时间在5us左右
参 数:ACK:确认信号的类型 0 - ACK 1 - NAK
返回值:无
******************************************************************************/
void Simulated_IIC_2_Delay(void)
{
uint8_t i;
for ( i = 0; i < SIMULATED_IIC_2_FREQ_CALIBRATION; i++ )
{
NOP( );
}
}
/******************************************************************************
文 件 名:Simulated_IIC_Master.h
功能描述:IO端口模拟的IIC(I2C)主机函数库头文件
作 者:张暄
版 本:V1.0
日 期:2016.12.21
******************************************************************************/
#ifndef SIMULATED_IIC_2_MASTER_H__
#define SIMULATED_IIC_2_MASTER_H__
#include "TYW_stdint.h"
/******************************************************************************
1us延时校准
******************************************************************************/
#define SIMULATED_IIC_2_FREQ_CALIBRATION 80U
/******************************************************************************
确认信号
******************************************************************************/
#define SIMULATED_IIC_2_ACK 0U //肯定应答
#define SIMULATED_IIC_2_NAK 1U //否定应答
#define SIMULATED_IIC_2_INVALID_ACK 2U //无效的应答信号(应答信号还未收到)
/******************************************************************************
函数声明
******************************************************************************/
void Simulated_IIC_2_Init(void);
void Simulated_IIC_2_Start(void);
void Simulated_IIC_2_Stop(void);
void Simulated_IIC_2_Transmit_Data(uint8_t Data);
uint8_t Simulated_IIC_2_Receive_Data(void);
void Simulated_IIC_2_Transmit_ACK(uint8_t ACK);
uint8_t Simulated_IIC_2_Receive_ACK(void);
void Simulated_IIC_2_Delay(void);
/*void Simulated_IIC_2_Slave_Service(void);*/
#endif
\ No newline at end of file
No preview for this file type
RH850U2A_Demo: Startup\App_Common_Sample.ld \
C:\ghs\comp_rh850\lib\rh850_compat\crt0.o objs\RH850U2A_Demo\RTE_CAN.o \
objs\RH850U2A_Demo\CAN_CH0_APP.o \
C:\ghs\comp_rh850\lib\rh850_compat\crt0.o objs\RH850U2A_Demo\TCA9539.o \
objs\RH850U2A_Demo\RTE_CAN.o objs\RH850U2A_Demo\CAN_CH0_APP.o \
objs\RH850U2A_Demo\CAN_CH0_CAN_Communication_Matrix.o \
objs\RH850U2A_Demo\CAN_CH1_APP.o \
objs\RH850U2A_Demo\CAN_CH1_CAN_Communication_Matrix.o \
......@@ -63,12 +63,12 @@ RH850U2A_Demo: Startup\App_Common_Sample.ld \
objs\RH850U2A_Demo\Interrupt_VectorTable_PE0.o \
objs\RH850U2A_Demo\Interrupt_VectorTable_PE1.o \
objs\RH850U2A_Demo\U2Ax_startup_PE0.o objs\RH850U2A_Demo\U2Ax_startup_PEn.o \
objs\RH850U2A_Demo\Rscan.o objs\RH850U2A_Demo\RSCAN_Table.o \
objs\RH850U2A_Demo\r_pic.o objs\RH850U2A_Demo\r_tsg3.o \
objs\RH850U2A_Demo\Sys_Scheduler.o objs\RH850U2A_Demo\Sys_Scheduler_Lib.o \
objs\RH850U2A_Demo\Sys_Task_List.o objs\RH850U2A_Demo\init.o \
objs\RH850U2A_Demo\main.o objs\RH850U2A_Demo\main_pe0.o \
objs\RH850U2A_Demo\main_pe1.o \
objs\RH850U2A_Demo\Simulated_IIC_2_Master.o objs\RH850U2A_Demo\Rscan.o \
objs\RH850U2A_Demo\RSCAN_Table.o objs\RH850U2A_Demo\r_pic.o \
objs\RH850U2A_Demo\r_tsg3.o objs\RH850U2A_Demo\Sys_Scheduler.o \
objs\RH850U2A_Demo\Sys_Scheduler_Lib.o objs\RH850U2A_Demo\Sys_Task_List.o \
objs\RH850U2A_Demo\init.o objs\RH850U2A_Demo\main.o \
objs\RH850U2A_Demo\main_pe0.o objs\RH850U2A_Demo\main_pe1.o \
Z:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\App\CAN_APP\CAN_Lib.a \
C:\ghs\comp_rh850\lib\rh850_compat\libarena_malloc.a \
C:\ghs\comp_rh850\lib\rh850_compat\libwchar_s32.a \
......@@ -83,8 +83,8 @@ RH850U2A_Demo: Startup\App_Common_Sample.ld \
:cmdList=ccv850 $(FILETYPEOPTIONS) $(OBJECTS) -MD -I.\App -I.\Startup -I.\System -I.\Device -I.\Driver -I.\Mcal\general -I.\Mcal\stubs -I.\Mcal\stubs\CanGeneral\include -I.\Mcal\stubs\CanIf\include -I.\Mcal\stubs\Dem\include -I.\Mcal\stubs\Det\include -I.\Mcal\stubs\EcuM\include -I.\Mcal\stubs\LinGeneral\include -I.\Mcal\stubs\LinIf\include -I.\Mcal\stubs\MemIf\include -I.\Mcal\stubs\Os\include -I.\Mcal\stubs\Rte\include -I.\Mcal\stubs\WdgIf\include -I..\Config\Config292\Output\Mcu_Output\include -I..\Config\Config292\Output\Port_Output\include -I..\Config\Config292\Output\Dio_Output\include -I..\Config\Config292\Output\Gpt_Output\include -I..\Config\Config292\Output\Pwm_Output\include -I..\Config\Config292\Output\Icu_Output\include -I..\Config\Config292\Output\Adc_Output\include -I..\Config\Config292\Output\Spi_Output\include -I..\Config\Config292\Output\Can_Output\include -I..\Config\Config292\Output\Wdg_OutPut\include -I.\Mcal\modules\mcu\include -I.\Mcal\modules\mcu\include\U2Ax -I.\Mcal\modules\mcu\include\U2Ax\CLK -I.\Mcal\modules\mcu\include\U2Ax\ECM -I.\Mcal\modules\mcu\include\U2Ax\RAM -I.\Mcal\modules\mcu\include\U2Ax\VMON -I.\Mcal\modules\port\include -I.\Mcal\modules\port\include\U2A8_BGA292 -I.\Mcal\modules\dio\include -I.\Mcal\modules\gpt\include -I.\Mcal\modules\gpt\include\HWIP -I.\Mcal\modules\gpt\include\HWIP\ATU -I.\Mcal\modules\gpt\include\HWIP\OSTM -I.\Mcal\modules\gpt\include\HWIP\TAUD -I.\Mcal\modules\gpt\include\HWIP\TAUJ -I.\Mcal\modules\adc\include -I.\Mcal\modules\adc\include\ADCH -I.\Mcal\modules\adc\include\ADCJ -I.\Mcal\modules\adc\include\PIC -I.\Mcal\modules\adc\include\sDMAC -I.\Mcal\modules\can\include -I.\Mcal\modules\can\include\U2Ax -I.\Mcal\modules\icu\include -I.\Mcal\modules\icu\include\HWIP -I.\Mcal\modules\icu\include\HWIP\ATU -I.\Mcal\modules\icu\include\HWIP\PIN -I.\Mcal\modules\icu\include\HWIP\TAU -I.\Mcal\modules\icu\include\HWIP\TAU\TAUD -I.\Mcal\modules\icu\include\HWIP\TAU\TAUJ -I.\Mcal\modules\pwm\include -I.\Mcal\modules\pwm\include\HWIP -I.\Mcal\modules\pwm\include\HWIP\ATU -I.\Mcal\modules\pwm\include\HWIP\TAU -I.\Mcal\modules\pwm\include\HWIP\TAU\TAUD -I.\Mcal\modules\pwm\include\HWIP\TAU\TAUJ -I.\Mcal\modules\spi\include -I.\Mcal\modules\spi\include\CSIX -I.\Mcal\modules\spi\include\HSPI -I.\Mcal\modules\spi\include\MSPI -I.\Mcal\modules\spi\include\sDMAC -I.\Mcal\modules\wdg\include -I.\Mcal\modules\wdg\include\WDTB -IZ:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\App\CAN_APP -IZ:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\Driver\CAN -bsp generic -cpu=rh850g4mh -e _RESET -g --no_commons -sda=all -large_sda -large_zda -shorten_moves -gsize -prepare_dispose -inline_prologue -Wundef -no_callt -reserve_r2 --short_enum --prototype_errors -Wshadow -ignore_callt_state_in_interrupts -delete -additional_sda_reg=0 -rh850_abi=ghs2014 -DDEVICE=U2x -Onone -object_dir=objs\RH850U2A_Demo -srec -top_project Z:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\default.gpj -o RH850U2A_Demo ;
:cmdHash=0x8da64aba
:objList=objs\RH850U2A_Demo\RTE_CAN.o objs\RH850U2A_Demo\CAN_CH0_APP.o objs\RH850U2A_Demo\CAN_CH0_CAN_Communication_Matrix.o objs\RH850U2A_Demo\CAN_CH1_APP.o objs\RH850U2A_Demo\CAN_CH1_CAN_Communication_Matrix.o objs\RH850U2A_Demo\CAN_CH2_CAN_Communication_Matrix.o objs\RH850U2A_Demo\COM_CAN.o objs\RH850U2A_Demo\r_intc.o objs\RH850U2A_Demo\r_stbc.o objs\RH850U2A_Demo\SchM_Can.o objs\RH850U2A_Demo\EcuM.o objs\RH850U2A_Demo\CanIf_Cbk.o objs\RH850U2A_Demo\SchM_Adc.o objs\RH850U2A_Demo\SchM_Dio.o objs\RH850U2A_Demo\SchM_Gpt.o objs\RH850U2A_Demo\SchM_Icu.o objs\RH850U2A_Demo\SchM_Pwm.o objs\RH850U2A_Demo\SchM_Spi.o objs\RH850U2A_Demo\SchM_Mcu.o objs\RH850U2A_Demo\SchM_Port.o objs\RH850U2A_Demo\Dem.o objs\RH850U2A_Demo\Det.o objs\RH850U2A_Demo\Os.o objs\RH850U2A_Demo\Adc_sDMAC_LLDriver.o objs\RH850U2A_Demo\Adc_PBcfg.o objs\RH850U2A_Demo\Adc_PIC_LLDriver.o objs\RH850U2A_Demo\Adc_ADCJ_LLDriver.o objs\RH850U2A_Demo\Adc.o objs\RH850U2A_Demo\Adc_Irq.o objs\RH850U2A_Demo\Adc_LLDriver.o objs\RH850U2A_Demo\Adc_Ram.o objs\RH850U2A_Demo\Adc_Version.o objs\RH850U2A_Demo\Gpt_PBcfg.o objs\RH850U2A_Demo\Gpt_OSTM_Irq.o objs\RH850U2A_Demo\Gpt_OSTM_LLDriver.o objs\RH850U2A_Demo\Gpt_OSTM_Ram.o objs\RH850U2A_Demo\Gpt.o objs\RH850U2A_Demo\Gpt_Ram.o objs\RH850U2A_Demo\Gpt_Version.o objs\RH850U2A_Demo\Icu_TAUJ_Irq.o objs\RH850U2A_Demo\Icu_TAUJ_LLDriver.o objs\RH850U2A_Demo\Icu_TAUJ_Ram.o objs\RH850U2A_Demo\Icu_PBCfg.o objs\RH850U2A_Demo\Icu_TAUD_Irq.o objs\RH850U2A_Demo\Icu_TAUD_LLDriver.o objs\RH850U2A_Demo\Icu_TAUD_Ram.o objs\RH850U2A_Demo\Icu_TAU_LLDriver.o objs\RH850U2A_Demo\Icu_TAU_Ram.o objs\RH850U2A_Demo\Icu_PIN_Irq.o objs\RH850U2A_Demo\Icu_PIN_LLDriver.o objs\RH850U2A_Demo\Icu_PIN_Ram.o objs\RH850U2A_Demo\Icu_LLDriver.o objs\RH850U2A_Demo\Icu.o objs\RH850U2A_Demo\Icu_Ram.o objs\RH850U2A_Demo\Icu_Version.o objs\RH850U2A_Demo\Pwm_PBcfg.o objs\RH850U2A_Demo\Pwm_TAUD_Irq.o objs\RH850U2A_Demo\Pwm_TAUD_LLDriver.o objs\RH850U2A_Demo\Pwm_TAUD_Ram.o objs\RH850U2A_Demo\Pwm.o objs\RH850U2A_Demo\Pwm_Ram.o objs\RH850U2A_Demo\Pwm_Version.o objs\RH850U2A_Demo\Spi_Lcfg.o objs\RH850U2A_Demo\Spi_PBcfg.o objs\RH850U2A_Demo\Spi_sDMAC_Irq.o objs\RH850U2A_Demo\Spi_sDMAC_LLDriver.o objs\RH850U2A_Demo\Spi_MSPI_Irq.o objs\RH850U2A_Demo\Spi_MSPI_LLDriver.o objs\RH850U2A_Demo\Spi_CSIX_Irq.o objs\RH850U2A_Demo\Spi_CSIX_LLDriver.o objs\RH850U2A_Demo\Spi.o objs\RH850U2A_Demo\Spi_Ram.o objs\RH850U2A_Demo\Spi_Scheduler.o objs\RH850U2A_Demo\Spi_Version.o objs\RH850U2A_Demo\Can_Lcfg.o objs\RH850U2A_Demo\Can_PBcfg.o objs\RH850U2A_Demo\Can.o objs\RH850U2A_Demo\Can_Irq.o objs\RH850U2A_Demo\Can_MainServ.o objs\RH850U2A_Demo\Can_ModeCntrl.o objs\RH850U2A_Demo\Can_Ram.o objs\RH850U2A_Demo\Can_Version.o objs\RH850U2A_Demo\Can_Write.o objs\RH850U2A_Demo\Dio_Lcfg.o objs\RH850U2A_Demo\Dio.o objs\RH850U2A_Demo\Dio_Version.o objs\RH850U2A_Demo\Mcu_LLDriver.o objs\RH850U2A_Demo\Mcu.o objs\RH850U2A_Demo\Mcu_Irq.o objs\RH850U2A_Demo\Mcu_Ram.o objs\RH850U2A_Demo\Mcu_Version.o objs\RH850U2A_Demo\Mcu_VMON_LLDriver.o objs\RH850U2A_Demo\Mcu_RAM_LLDriver.o objs\RH850U2A_Demo\Mcu_ECM_LLDriver.o objs\RH850U2A_Demo\Mcu_CLK_LLDriver.o objs\RH850U2A_Demo\Mcu_PBcfg.o objs\RH850U2A_Demo\Port_Device.o objs\RH850U2A_Demo\Port_PBcfg.o objs\RH850U2A_Demo\Port.o objs\RH850U2A_Demo\Port_LLDriver.o objs\RH850U2A_Demo\Port_Ram.o objs\RH850U2A_Demo\Port_Version.o objs\RH850U2A_Demo\Wdg_PBcfg.o objs\RH850U2A_Demo\Wdg.o objs\RH850U2A_Demo\Wdg_Ram.o objs\RH850U2A_Demo\Wdg_Version.o objs\RH850U2A_Demo\Wdg_WDTB_Irq.o objs\RH850U2A_Demo\Wdg_WDTB_LLDriver.o objs\RH850U2A_Demo\Interrupt_Handler.o objs\RH850U2A_Demo\Interrupt_VectorTable_PE2.o objs\RH850U2A_Demo\Interrupt_VectorTable_PE3.o Startup\App_Common_Sample.ld objs\RH850U2A_Demo\coldreset.o objs\RH850U2A_Demo\Interrupt_VectorTable_PE0.o objs\RH850U2A_Demo\Interrupt_VectorTable_PE1.o objs\RH850U2A_Demo\U2Ax_startup_PE0.o objs\RH850U2A_Demo\U2Ax_startup_PEn.o objs\RH850U2A_Demo\Rscan.o objs\RH850U2A_Demo\RSCAN_Table.o objs\RH850U2A_Demo\r_pic.o objs\RH850U2A_Demo\r_tsg3.o objs\RH850U2A_Demo\Sys_Scheduler.o objs\RH850U2A_Demo\Sys_Scheduler_Lib.o objs\RH850U2A_Demo\Sys_Task_List.o objs\RH850U2A_Demo\init.o objs\RH850U2A_Demo\main.o objs\RH850U2A_Demo\main_pe0.o objs\RH850U2A_Demo\main_pe1.o Z:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\App\CAN_APP\CAN_Lib.a ;
:objHash=0xc8ab3fca
:objList=objs\RH850U2A_Demo\TCA9539.o objs\RH850U2A_Demo\RTE_CAN.o objs\RH850U2A_Demo\CAN_CH0_APP.o objs\RH850U2A_Demo\CAN_CH0_CAN_Communication_Matrix.o objs\RH850U2A_Demo\CAN_CH1_APP.o objs\RH850U2A_Demo\CAN_CH1_CAN_Communication_Matrix.o objs\RH850U2A_Demo\CAN_CH2_CAN_Communication_Matrix.o objs\RH850U2A_Demo\COM_CAN.o objs\RH850U2A_Demo\r_intc.o objs\RH850U2A_Demo\r_stbc.o objs\RH850U2A_Demo\SchM_Can.o objs\RH850U2A_Demo\EcuM.o objs\RH850U2A_Demo\CanIf_Cbk.o objs\RH850U2A_Demo\SchM_Adc.o objs\RH850U2A_Demo\SchM_Dio.o objs\RH850U2A_Demo\SchM_Gpt.o objs\RH850U2A_Demo\SchM_Icu.o objs\RH850U2A_Demo\SchM_Pwm.o objs\RH850U2A_Demo\SchM_Spi.o objs\RH850U2A_Demo\SchM_Mcu.o objs\RH850U2A_Demo\SchM_Port.o objs\RH850U2A_Demo\Dem.o objs\RH850U2A_Demo\Det.o objs\RH850U2A_Demo\Os.o objs\RH850U2A_Demo\Adc_sDMAC_LLDriver.o objs\RH850U2A_Demo\Adc_PBcfg.o objs\RH850U2A_Demo\Adc_PIC_LLDriver.o objs\RH850U2A_Demo\Adc_ADCJ_LLDriver.o objs\RH850U2A_Demo\Adc.o objs\RH850U2A_Demo\Adc_Irq.o objs\RH850U2A_Demo\Adc_LLDriver.o objs\RH850U2A_Demo\Adc_Ram.o objs\RH850U2A_Demo\Adc_Version.o objs\RH850U2A_Demo\Gpt_PBcfg.o objs\RH850U2A_Demo\Gpt_OSTM_Irq.o objs\RH850U2A_Demo\Gpt_OSTM_LLDriver.o objs\RH850U2A_Demo\Gpt_OSTM_Ram.o objs\RH850U2A_Demo\Gpt.o objs\RH850U2A_Demo\Gpt_Ram.o objs\RH850U2A_Demo\Gpt_Version.o objs\RH850U2A_Demo\Icu_TAUJ_Irq.o objs\RH850U2A_Demo\Icu_TAUJ_LLDriver.o objs\RH850U2A_Demo\Icu_TAUJ_Ram.o objs\RH850U2A_Demo\Icu_PBCfg.o objs\RH850U2A_Demo\Icu_TAUD_Irq.o objs\RH850U2A_Demo\Icu_TAUD_LLDriver.o objs\RH850U2A_Demo\Icu_TAUD_Ram.o objs\RH850U2A_Demo\Icu_TAU_LLDriver.o objs\RH850U2A_Demo\Icu_TAU_Ram.o objs\RH850U2A_Demo\Icu_PIN_Irq.o objs\RH850U2A_Demo\Icu_PIN_LLDriver.o objs\RH850U2A_Demo\Icu_PIN_Ram.o objs\RH850U2A_Demo\Icu_LLDriver.o objs\RH850U2A_Demo\Icu.o objs\RH850U2A_Demo\Icu_Ram.o objs\RH850U2A_Demo\Icu_Version.o objs\RH850U2A_Demo\Pwm_PBcfg.o objs\RH850U2A_Demo\Pwm_TAUD_Irq.o objs\RH850U2A_Demo\Pwm_TAUD_LLDriver.o objs\RH850U2A_Demo\Pwm_TAUD_Ram.o objs\RH850U2A_Demo\Pwm.o objs\RH850U2A_Demo\Pwm_Ram.o objs\RH850U2A_Demo\Pwm_Version.o objs\RH850U2A_Demo\Spi_Lcfg.o objs\RH850U2A_Demo\Spi_PBcfg.o objs\RH850U2A_Demo\Spi_sDMAC_Irq.o objs\RH850U2A_Demo\Spi_sDMAC_LLDriver.o objs\RH850U2A_Demo\Spi_MSPI_Irq.o objs\RH850U2A_Demo\Spi_MSPI_LLDriver.o objs\RH850U2A_Demo\Spi_CSIX_Irq.o objs\RH850U2A_Demo\Spi_CSIX_LLDriver.o objs\RH850U2A_Demo\Spi.o objs\RH850U2A_Demo\Spi_Ram.o objs\RH850U2A_Demo\Spi_Scheduler.o objs\RH850U2A_Demo\Spi_Version.o objs\RH850U2A_Demo\Can_Lcfg.o objs\RH850U2A_Demo\Can_PBcfg.o objs\RH850U2A_Demo\Can.o objs\RH850U2A_Demo\Can_Irq.o objs\RH850U2A_Demo\Can_MainServ.o objs\RH850U2A_Demo\Can_ModeCntrl.o objs\RH850U2A_Demo\Can_Ram.o objs\RH850U2A_Demo\Can_Version.o objs\RH850U2A_Demo\Can_Write.o objs\RH850U2A_Demo\Dio_Lcfg.o objs\RH850U2A_Demo\Dio.o objs\RH850U2A_Demo\Dio_Version.o objs\RH850U2A_Demo\Mcu_LLDriver.o objs\RH850U2A_Demo\Mcu.o objs\RH850U2A_Demo\Mcu_Irq.o objs\RH850U2A_Demo\Mcu_Ram.o objs\RH850U2A_Demo\Mcu_Version.o objs\RH850U2A_Demo\Mcu_VMON_LLDriver.o objs\RH850U2A_Demo\Mcu_RAM_LLDriver.o objs\RH850U2A_Demo\Mcu_ECM_LLDriver.o objs\RH850U2A_Demo\Mcu_CLK_LLDriver.o objs\RH850U2A_Demo\Mcu_PBcfg.o objs\RH850U2A_Demo\Port_Device.o objs\RH850U2A_Demo\Port_PBcfg.o objs\RH850U2A_Demo\Port.o objs\RH850U2A_Demo\Port_LLDriver.o objs\RH850U2A_Demo\Port_Ram.o objs\RH850U2A_Demo\Port_Version.o objs\RH850U2A_Demo\Wdg_PBcfg.o objs\RH850U2A_Demo\Wdg.o objs\RH850U2A_Demo\Wdg_Ram.o objs\RH850U2A_Demo\Wdg_Version.o objs\RH850U2A_Demo\Wdg_WDTB_Irq.o objs\RH850U2A_Demo\Wdg_WDTB_LLDriver.o objs\RH850U2A_Demo\Interrupt_Handler.o objs\RH850U2A_Demo\Interrupt_VectorTable_PE2.o objs\RH850U2A_Demo\Interrupt_VectorTable_PE3.o Startup\App_Common_Sample.ld objs\RH850U2A_Demo\coldreset.o objs\RH850U2A_Demo\Interrupt_VectorTable_PE0.o objs\RH850U2A_Demo\Interrupt_VectorTable_PE1.o objs\RH850U2A_Demo\U2Ax_startup_PE0.o objs\RH850U2A_Demo\U2Ax_startup_PEn.o objs\RH850U2A_Demo\Simulated_IIC_2_Master.o objs\RH850U2A_Demo\Rscan.o objs\RH850U2A_Demo\RSCAN_Table.o objs\RH850U2A_Demo\r_pic.o objs\RH850U2A_Demo\r_tsg3.o objs\RH850U2A_Demo\Sys_Scheduler.o objs\RH850U2A_Demo\Sys_Scheduler_Lib.o objs\RH850U2A_Demo\Sys_Task_List.o objs\RH850U2A_Demo\init.o objs\RH850U2A_Demo\main.o objs\RH850U2A_Demo\main_pe0.o objs\RH850U2A_Demo\main_pe1.o Z:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\App\CAN_APP\CAN_Lib.a ;
:objHash=0xb35a10ca
:installDir=c:\ghs\comp_rh850
:installDirHash=0xfc38da0d
No preview for this file type
------------------------------------------------
dle output started at: Wed Aug 05 13:51:08 2020
dle output started at: Wed Aug 05 14:34:10 2020
------------------------------------------------
dblink = "C:\ghs\comp_rh850\dblink"
------------------------------------------------
......@@ -7,7 +7,7 @@ argv[0] = "C:\ghs\comp_rh850\dblink.exe"
argv[1] = "-dbopath=objs\RH850U2A_Demo"
argv[2] = "-a"
argv[3] = "-nm=gnm"
argv[4] = "C:\Users\ADMINI~1\AppData\Local\Temp\gh_00002v01.nm"
argv[4] = "C:\Users\ADMINI~1\AppData\Local\Temp\gh_00002no1.nm"
argv[5] = "-o"
argv[6] = "RH850U2A_Demo.dnm"
argv[7] = "-top_project"
......
No preview for this file type
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -9,15 +9,15 @@ RH850U2A_Demo .CONST_ROM_8BIT 105
RH850U2A_Demo .CONST_ROM_16BIT 240
RH850U2A_Demo .CONST_ROM_32BIT 224
RH850U2A_Demo .CONST_ROM_UNSPECIFIED 5164
RH850U2A_Demo .text 12482
RH850U2A_Demo .DIO_PUBLIC_CODE_ROM 288
RH850U2A_Demo .text 13586
RH850U2A_Demo .DIO_PUBLIC_CODE_ROM 360
RH850U2A_Demo .DIO_PRIVATE_CODE_ROM 90
RH850U2A_Demo .GPT_PUBLIC_CODE_ROM 466
RH850U2A_Demo .GPT_PRIVATE_CODE_ROM 950
RH850U2A_Demo .GPT_FAST_CODE_ROM 300
RH850U2A_Demo .ICU_PRIVATE_CODE_ROM 2878
RH850U2A_Demo .PORT_PUBLIC_CODE_ROM 218
RH850U2A_Demo .PORT_PRIVATE_CODE_ROM 1350
RH850U2A_Demo .PORT_PUBLIC_CODE_ROM 420
RH850U2A_Demo .PORT_PRIVATE_CODE_ROM 2346
RH850U2A_Demo .PWM_PRIVATE_CODE_ROM 4040
RH850U2A_Demo .SPI_PUBLIC_CODE_ROM 126
RH850U2A_Demo .SPI_PRIVATE_CODE_ROM 9256
......@@ -25,14 +25,15 @@ RH850U2A_Demo .WDG_FAST_CODE_ROM 58
RH850U2A_Demo .CAN_PUBLIC_CODE_ROM 1128
RH850U2A_Demo .CAN_PRIVATE_CODE_ROM 4604
RH850U2A_Demo .CAN_FAST_CODE_ROM 1074
RH850U2A_Demo .ADC_PRIVATE_CODE_ROM 672
RH850U2A_Demo .ADC_FAST_CODE_ROM 2158
RH850U2A_Demo .ADC_PUBLIC_CODE_ROM 588
RH850U2A_Demo .ADC_PRIVATE_CODE_ROM 2880
RH850U2A_Demo .ADC_FAST_CODE_ROM 2236
RH850U2A_Demo .MCU_PUBLIC_CODE_ROM 156
RH850U2A_Demo .MCU_PRIVATE_CODE_ROM 3514
RH850U2A_Demo .secinfo 1416
RH850U2A_Demo .syscall 6
RH850U2A_Demo .romdata 49
RH850U2A_Demo .romsdata 552
RH850U2A_Demo .romsdata 586
RH850U2A_Demo .ROM.RAM_1BIT 6
RH850U2A_Demo .ROM.RAM_8BIT 2
RH850U2A_Demo .ROM.RAM_UNSPECIFIED 128
......@@ -60,5 +61,4 @@ RH850U2A_Demo .ADC_CFG_DATA_UNSPECIFIED 264
RH850U2A_Demo .ADC_CFG_DATA_PTR 12
RH850U2A_Demo .MCU_CFG_DBTOC_UNSPECIFIED 36
RH850U2A_Demo .MCU_CFG_DATA_UNSPECIFIED 996
RH850U2A_Demo .MCU_CFG_DBTOC_UNSPECIFIED 36
RH850U2A_Demo .MCU_CFG_DATA_UNSPECIFIED 1076
......@@ -5,6 +5,7 @@
#include "Port.h"
#include "CAN_CH0_CAN_Communication_Matrix.h"
#include "Adc.h"
#include "TCA9539.h"
void Sys_50us_Tasks(void)
{
COM_TX_Process();
......@@ -75,6 +76,9 @@ uint16_t ADC_Input_Voltage_Calc(uint16_t u16ADCSample, uint16_t u16ADCRes, uint1
return u16Result;
}
uint8_t aaaaaaData;
uint8_t abbaaaData;
uint8_t sdfa=0;
void Sys_100ms_Tasks(void)
{
// Dio_FlipChannel(DioConf_DioChannel_P56DioChannel);
......@@ -98,4 +102,20 @@ void Sys_100ms_Tasks(void)
{
g_u16ADCValue[i] = ADC_Input_Voltage_Calc(g_u16ADCValue[i], 4096, 5000);
}
if (sdfa==0)
{
sdfa=1;
TCA9539_IIC_Send(0xEA,0x06,0);
TCA9539_IIC_Send(0xEA,0x02,0xFF);
}
// aaaaaaData= Dio_ReadChannel(Port_Config_PortGroup22_PortPin4);
// abbaaaData= Dio_ReadChannel(Port_Config_PortGroup22_PortPin3);
// Port_SetPinDirection(Port_Config_PortGroup22_PortPin3, PORT_PIN_IN);
// Port_SetPinDirection(Port_Config_PortGroup22_PortPin4, PORT_PIN_IN);
// Port_SetPinDirection(Port_Config_PortGroup22_PortPin4, PORT_PIN_OUT);
// Port_SetPinDirection(Port_Config_PortGroup22_PortPin3, PORT_PIN_OUT);
}
\ No newline at end of file
#include "init.h"
#include "Sys_Scheduler.h"
#include "Simulated_IIC_2_Master.h"
#define ADC_MODULE_SAMPLE//sophia add
/* Registers base adrress */
......@@ -445,6 +446,8 @@ void Sys_Startup_Init(void)
/*****************************************************************************
************************** SPI module test ***********************************
*****************************************************************************/
Simulated_IIC_2_Init( );
#ifdef SPI_MODULE_SAMPLE
/* This service is for initializing the SPI Driver. */
......
......@@ -11,7 +11,13 @@ objs\RH850U2A_Demo\Sys_Task_List.o: System\Sys_Task_List.c \
..\Config\Config292\Output\Port_Output\include\Port_Cfg.h \
.\Mcal\modules\port\include\Port_Types.h .\Mcal\general\Port_MemMap.h \
Z:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\App\CAN_APP\CAN_CH0_CAN_Communication_Matrix.h \
Z:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\App\CAN_APP\CAN_Lib.h
Z:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\App\CAN_APP\CAN_Lib.h \
.\Mcal\modules\adc\include\Adc.h \
.\Mcal\modules\adc\include\Adc_MultiInstance.h \
..\Config\Config292\Output\Adc_Output\include\Adc_Cfg.h \
.\Mcal\modules\adc\include\Adc_Types.h \
.\Mcal\modules\adc\include\Adc_Mapping.h .\Mcal\general\Adc_MemMap.h \
.\App\TCA9539.h
:cmdList=ccv850 -c -MD -I.\App -I.\Startup -I.\System -I.\Device -I.\Driver -I.\Mcal\general -I.\Mcal\stubs -I.\Mcal\stubs\CanGeneral\include -I.\Mcal\stubs\CanIf\include -I.\Mcal\stubs\Dem\include -I.\Mcal\stubs\Det\include -I.\Mcal\stubs\EcuM\include -I.\Mcal\stubs\LinGeneral\include -I.\Mcal\stubs\LinIf\include -I.\Mcal\stubs\MemIf\include -I.\Mcal\stubs\Os\include -I.\Mcal\stubs\Rte\include -I.\Mcal\stubs\WdgIf\include -I..\Config\Config292\Output\Mcu_Output\include -I..\Config\Config292\Output\Port_Output\include -I..\Config\Config292\Output\Dio_Output\include -I..\Config\Config292\Output\Gpt_Output\include -I..\Config\Config292\Output\Pwm_Output\include -I..\Config\Config292\Output\Icu_Output\include -I..\Config\Config292\Output\Adc_Output\include -I..\Config\Config292\Output\Spi_Output\include -I..\Config\Config292\Output\Can_Output\include -I..\Config\Config292\Output\Wdg_OutPut\include -I.\Mcal\modules\mcu\include -I.\Mcal\modules\mcu\include\U2Ax -I.\Mcal\modules\mcu\include\U2Ax\CLK -I.\Mcal\modules\mcu\include\U2Ax\ECM -I.\Mcal\modules\mcu\include\U2Ax\RAM -I.\Mcal\modules\mcu\include\U2Ax\VMON -I.\Mcal\modules\port\include -I.\Mcal\modules\port\include\U2A8_BGA292 -I.\Mcal\modules\dio\include -I.\Mcal\modules\gpt\include -I.\Mcal\modules\gpt\include\HWIP -I.\Mcal\modules\gpt\include\HWIP\ATU -I.\Mcal\modules\gpt\include\HWIP\OSTM -I.\Mcal\modules\gpt\include\HWIP\TAUD -I.\Mcal\modules\gpt\include\HWIP\TAUJ -I.\Mcal\modules\adc\include -I.\Mcal\modules\adc\include\ADCH -I.\Mcal\modules\adc\include\ADCJ -I.\Mcal\modules\adc\include\PIC -I.\Mcal\modules\adc\include\sDMAC -I.\Mcal\modules\can\include -I.\Mcal\modules\can\include\U2Ax -I.\Mcal\modules\icu\include -I.\Mcal\modules\icu\include\HWIP -I.\Mcal\modules\icu\include\HWIP\ATU -I.\Mcal\modules\icu\include\HWIP\PIN -I.\Mcal\modules\icu\include\HWIP\TAU -I.\Mcal\modules\icu\include\HWIP\TAU\TAUD -I.\Mcal\modules\icu\include\HWIP\TAU\TAUJ -I.\Mcal\modules\pwm\include -I.\Mcal\modules\pwm\include\HWIP -I.\Mcal\modules\pwm\include\HWIP\ATU -I.\Mcal\modules\pwm\include\HWIP\TAU -I.\Mcal\modules\pwm\include\HWIP\TAU\TAUD -I.\Mcal\modules\pwm\include\HWIP\TAU\TAUJ -I.\Mcal\modules\spi\include -I.\Mcal\modules\spi\include\CSIX -I.\Mcal\modules\spi\include\HSPI -I.\Mcal\modules\spi\include\MSPI -I.\Mcal\modules\spi\include\sDMAC -I.\Mcal\modules\wdg\include -I.\Mcal\modules\wdg\include\WDTB -IZ:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\App\CAN_APP -IZ:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\Driver\CAN -bsp generic -cpu=rh850g4mh -g --no_commons -sda=all -large_sda -large_zda -shorten_moves -prepare_dispose -inline_prologue -passsource -Wundef -no_callt -reserve_r2 --short_enum --prototype_errors -Wshadow -ignore_callt_state_in_interrupts -additional_sda_reg=0 -rh850_abi=ghs2014 -DDEVICE=U2x -Onone -object_dir=objs\RH850U2A_Demo -filetype.c System\Sys_Task_List.c -o objs\RH850U2A_Demo\Sys_Task_List.o ;
:cmdHash=0x5a928bf7
......
......@@ -48,7 +48,8 @@ objs\RH850U2A_Demo\init.o: System\init.c System\init.h .\Device\device.h \
.\Mcal\stubs\WdgIf\include\WdgIf_Types.h \
.\Mcal\modules\wdg\include\Wdg_Types.h \
.\Mcal\modules\wdg\include\Wdg_Mapping.h .\Mcal\general\Wdg_MemMap.h \
System\Sys_Scheduler.h System\Sys_Scheduler_Lib.h
System\Sys_Scheduler.h System\Sys_Scheduler_Lib.h \
.\Driver\Simulated_IIC_2_Master.h
:cmdList=ccv850 -c -MD -I.\App -I.\Startup -I.\System -I.\Device -I.\Driver -I.\Mcal\general -I.\Mcal\stubs -I.\Mcal\stubs\CanGeneral\include -I.\Mcal\stubs\CanIf\include -I.\Mcal\stubs\Dem\include -I.\Mcal\stubs\Det\include -I.\Mcal\stubs\EcuM\include -I.\Mcal\stubs\LinGeneral\include -I.\Mcal\stubs\LinIf\include -I.\Mcal\stubs\MemIf\include -I.\Mcal\stubs\Os\include -I.\Mcal\stubs\Rte\include -I.\Mcal\stubs\WdgIf\include -I..\Config\Config292\Output\Mcu_Output\include -I..\Config\Config292\Output\Port_Output\include -I..\Config\Config292\Output\Dio_Output\include -I..\Config\Config292\Output\Gpt_Output\include -I..\Config\Config292\Output\Pwm_Output\include -I..\Config\Config292\Output\Icu_Output\include -I..\Config\Config292\Output\Adc_Output\include -I..\Config\Config292\Output\Spi_Output\include -I..\Config\Config292\Output\Can_Output\include -I..\Config\Config292\Output\Wdg_OutPut\include -I.\Mcal\modules\mcu\include -I.\Mcal\modules\mcu\include\U2Ax -I.\Mcal\modules\mcu\include\U2Ax\CLK -I.\Mcal\modules\mcu\include\U2Ax\ECM -I.\Mcal\modules\mcu\include\U2Ax\RAM -I.\Mcal\modules\mcu\include\U2Ax\VMON -I.\Mcal\modules\port\include -I.\Mcal\modules\port\include\U2A8_BGA292 -I.\Mcal\modules\dio\include -I.\Mcal\modules\gpt\include -I.\Mcal\modules\gpt\include\HWIP -I.\Mcal\modules\gpt\include\HWIP\ATU -I.\Mcal\modules\gpt\include\HWIP\OSTM -I.\Mcal\modules\gpt\include\HWIP\TAUD -I.\Mcal\modules\gpt\include\HWIP\TAUJ -I.\Mcal\modules\adc\include -I.\Mcal\modules\adc\include\ADCH -I.\Mcal\modules\adc\include\ADCJ -I.\Mcal\modules\adc\include\PIC -I.\Mcal\modules\adc\include\sDMAC -I.\Mcal\modules\can\include -I.\Mcal\modules\can\include\U2Ax -I.\Mcal\modules\icu\include -I.\Mcal\modules\icu\include\HWIP -I.\Mcal\modules\icu\include\HWIP\ATU -I.\Mcal\modules\icu\include\HWIP\PIN -I.\Mcal\modules\icu\include\HWIP\TAU -I.\Mcal\modules\icu\include\HWIP\TAU\TAUD -I.\Mcal\modules\icu\include\HWIP\TAU\TAUJ -I.\Mcal\modules\pwm\include -I.\Mcal\modules\pwm\include\HWIP -I.\Mcal\modules\pwm\include\HWIP\ATU -I.\Mcal\modules\pwm\include\HWIP\TAU -I.\Mcal\modules\pwm\include\HWIP\TAU\TAUD -I.\Mcal\modules\pwm\include\HWIP\TAU\TAUJ -I.\Mcal\modules\spi\include -I.\Mcal\modules\spi\include\CSIX -I.\Mcal\modules\spi\include\HSPI -I.\Mcal\modules\spi\include\MSPI -I.\Mcal\modules\spi\include\sDMAC -I.\Mcal\modules\wdg\include -I.\Mcal\modules\wdg\include\WDTB -IZ:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\App\CAN_APP -IZ:\E\Git\ͨ\ZhongTong-ZR5-A\GHS\Driver\CAN -bsp generic -cpu=rh850g4mh -g --no_commons -sda=all -large_sda -large_zda -shorten_moves -prepare_dispose -inline_prologue -passsource -Wundef -no_callt -reserve_r2 --short_enum --prototype_errors -Wshadow -ignore_callt_state_in_interrupts -additional_sda_reg=0 -rh850_abi=ghs2014 -DDEVICE=U2x -Onone -object_dir=objs\RH850U2A_Demo -filetype.c System\init.c -o objs\RH850U2A_Demo\init.o ;
:cmdHash=0x62834379
......
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