Commit 7066719f authored by hu's avatar hu

更换3236驱动调整为与21036 兼容驱动

parent b87ecfd3
...@@ -30,8 +30,9 @@ ...@@ -30,8 +30,9 @@
.\Sys_Tick\Sys_Tick.c .\Sys_Tick\Sys_Tick.c
.\WDT\Watchdog.c .\WDT\Watchdog.c
.\Timer\TimerB.c .\Timer\TimerB.c
.\IS31FL3236\IS31FL3236.c .\IS31FL3236\LED_Driver_Interface.c
.\IS31FL3236\Simulated_IIC_2_Master.c .\IS31FL3236\Simulated_IIC_2_Master.c
.\IS31FL3236\LED_Driver_V1.2.a
.\CD4051\CD4051.c .\CD4051\CD4051.c
.\BU98R10\BU98R10.c .\BU98R10\BU98R10.c
.\Buzzer\Buzzer.c .\Buzzer\Buzzer.c
......
...@@ -37,7 +37,8 @@ ...@@ -37,7 +37,8 @@
#include "GaugesInterface.h" #include "GaugesInterface.h"
#include "DisplaySch_user.h" #include "DisplaySch_user.h"
#include "Data_FuelConsump.h" #include "Data_FuelConsump.h"
#include "IS31FL3236.h" #include "LED_Driver.h"
#include "LED_Driver_Interface.h"
#include "GUI.h" #include "GUI.h"
#include "Data_Fuel_User.h" #include "Data_Fuel_User.h"
...@@ -113,8 +114,7 @@ Power_Status_t Power_KL30_Init ( void ) ...@@ -113,8 +114,7 @@ Power_Status_t Power_KL30_Init ( void )
ACC5V_LED_PWM_MCU = 1u; ACC5V_LED_PWM_MCU = 1u;
BUZZER_ACC_OUT_EN = 1u; BUZZER_ACC_OUT_EN = 1u;
IS31_Init(); LED_Driver_Init();
Sound_Scheduler_Init(); Sound_Scheduler_Init();
Sound_Player_Init(); Sound_Player_Init();
RTE_PWM_Init(); RTE_PWM_Init();
...@@ -147,7 +147,7 @@ void Power_Sleep_Init(void) ...@@ -147,7 +147,7 @@ void Power_Sleep_Init(void)
/*外设*/ /*外设*/
Seg_Display_OFF(); Seg_Display_OFF();
IS31_Shutdown();
UART_Sleep_Init(); UART_Sleep_Init();
Buzzer_Shutdown(); /*蜂鸣器*/ Buzzer_Shutdown(); /*蜂鸣器*/
TimerB_PWM_Channel_Sleep(TIMERB_0_CH15); TimerB_PWM_Channel_Sleep(TIMERB_0_CH15);
...@@ -206,8 +206,7 @@ Power_Status_t Power_Wakeup_Init ( void ) ...@@ -206,8 +206,7 @@ Power_Status_t Power_Wakeup_Init ( void )
AIR_5V_OUT_EN = 1u; /*气压 5V*/ AIR_5V_OUT_EN = 1u; /*气压 5V*/
ACC5V_LED_PWM_MCU = 1u; ACC5V_LED_PWM_MCU = 1u;
BUZZER_ACC_OUT_EN = 1u; BUZZER_ACC_OUT_EN = 1u;
LED_Driver_Init();
IS31_Init();
/*报警调度初始化*/ /*报警调度初始化*/
Popup_Scheduler_Init(); Popup_Scheduler_Init();
/*报警调度初始化*/ /*报警调度初始化*/
......
...@@ -483,9 +483,9 @@ ...@@ -483,9 +483,9 @@
#define SCL1_MCU_OUT GPIO_OUT_PORT17_PIN10 #define SCL1_MCU_OUT GPIO_OUT_PORT17_PIN10
#define SD1_MCU_OUT GPIO_OUT_PORT17_PIN11 #define SD1_MCU_OUT GPIO_OUT_PORT17_PIN11
#define T7_LED_OUT GPIO_OUT_PORT22_PIN10 #define T7_LED_OUT GPIO_OUT_PORT22_PIN10
#define I2C2_3236SDA_MCU GPIO_OUT_PORT42_PIN00 //#define I2C2_3236SDA_MCU GPIO_OUT_PORT42_PIN00
#define I2C2_3236SCL_MCU GPIO_OUT_PORT42_PIN01 //#define I2C2_3236SCL_MCU GPIO_OUT_PORT42_PIN01
#define D_3236SDB_MCU GPIO_OUT_PORT42_PIN02 //#define D_3236SDB_MCU GPIO_OUT_PORT42_PIN02
#define Water_Temp_Led_R_MCU_OUT GPIO_OUT_PORT42_PIN04 #define Water_Temp_Led_R_MCU_OUT GPIO_OUT_PORT42_PIN04
#define TRAILER_ABS_LED_MCU_OUT GPIO_OUT_PORT42_PIN05 #define TRAILER_ABS_LED_MCU_OUT GPIO_OUT_PORT42_PIN05
#define ACC5V_LED_PWM_MCU GPIO_OUT_PORT42_PIN06 #define ACC5V_LED_PWM_MCU GPIO_OUT_PORT42_PIN06
......
This diff is collapsed.
#ifndef IS31FL3236_H__
#define IS31FL3236_H__
#include "r_typedefs.h"
/*-------------------------------------------------------------------------------------------*/
/*芯片数量*/
#define IS31_CHIP_NUM 1U
/*灯的数量*/
#define IS31_LED_NUM 36U
#define IS31_CHIP1_ADDRESS 0X78U
#define IS31_CHIP2_ADDRESS 0X7EU
#define IS31_CHIP3_ADDRESS 0X7AU
#define IS31_CHIP4_ADDRESS 0X7CU
/*-------------------------------------------------------------------------------------------*/
#define IS31_CHANNEL_NUM 36U
extern uint8_t u8IS31Data[IS31_CHIP_NUM][IS31_CHANNEL_NUM];
extern uint8_t LED_Read[72];
/*-------------------------------------------------------------------------*/
#if (IS31_CHIP_NUM >= 1U)
#define IS31_CHIP0_CHANNEL01 u8IS31Data[0U][0U]
#define IS31_CHIP0_CHANNEL02 u8IS31Data[0U][1U]
#define IS31_CHIP0_CHANNEL03 u8IS31Data[0U][2U]
#define IS31_CHIP0_CHANNEL04 u8IS31Data[0U][3U]
#define IS31_CHIP0_CHANNEL05 u8IS31Data[0U][4U]
#define IS31_CHIP0_CHANNEL06 u8IS31Data[0U][5U]
#define IS31_CHIP0_CHANNEL07 u8IS31Data[0U][6U]
#define IS31_CHIP0_CHANNEL08 u8IS31Data[0U][7U]
#define IS31_CHIP0_CHANNEL09 u8IS31Data[0U][8U]
#define IS31_CHIP0_CHANNEL10 u8IS31Data[0U][9U]
#define IS31_CHIP0_CHANNEL11 u8IS31Data[0U][10U]
#define IS31_CHIP0_CHANNEL12 u8IS31Data[0U][11U]
#define IS31_CHIP0_CHANNEL13 u8IS31Data[0U][12U]
#define IS31_CHIP0_CHANNEL14 u8IS31Data[0U][13U]
#define IS31_CHIP0_CHANNEL15 u8IS31Data[0U][14U]
#define IS31_CHIP0_CHANNEL16 u8IS31Data[0U][15U]
#define IS31_CHIP0_CHANNEL17 u8IS31Data[0U][16U]
#define IS31_CHIP0_CHANNEL18 u8IS31Data[0U][17U]
#define IS31_CHIP0_CHANNEL19 u8IS31Data[0U][18U]
#define IS31_CHIP0_CHANNEL20 u8IS31Data[0U][19U]
#define IS31_CHIP0_CHANNEL21 u8IS31Data[0U][20U]
#define IS31_CHIP0_CHANNEL22 u8IS31Data[0U][21U]
#define IS31_CHIP0_CHANNEL23 u8IS31Data[0U][22U]
#define IS31_CHIP0_CHANNEL24 u8IS31Data[0U][23U]
#define IS31_CHIP0_CHANNEL25 u8IS31Data[0U][24U]
#define IS31_CHIP0_CHANNEL26 u8IS31Data[0U][25U]
#define IS31_CHIP0_CHANNEL27 u8IS31Data[0U][26U]
#define IS31_CHIP0_CHANNEL28 u8IS31Data[0U][27U]
#define IS31_CHIP0_CHANNEL29 u8IS31Data[0U][28U]
#define IS31_CHIP0_CHANNEL30 u8IS31Data[0U][29U]
#define IS31_CHIP0_CHANNEL31 u8IS31Data[0U][30U]
#define IS31_CHIP0_CHANNEL32 u8IS31Data[0U][31U]
#define IS31_CHIP0_CHANNEL33 u8IS31Data[0U][32U]
#define IS31_CHIP0_CHANNEL34 u8IS31Data[0U][33U]
#define IS31_CHIP0_CHANNEL35 u8IS31Data[0U][34U]
#define IS31_CHIP0_CHANNEL36 u8IS31Data[0U][35U]
#endif
#if (IS31_CHIP_NUM >= 2U)
#define IS31_CHIP1_CHANNEL01 u8IS31Data[1U][0U]
#define IS31_CHIP1_CHANNEL02 u8IS31Data[1U][1U]
#define IS31_CHIP1_CHANNEL03 u8IS31Data[1U][2U]
#define IS31_CHIP1_CHANNEL04 u8IS31Data[1U][3U]
#define IS31_CHIP1_CHANNEL05 u8IS31Data[1U][4U]
#define IS31_CHIP1_CHANNEL06 u8IS31Data[1U][5U]
#define IS31_CHIP1_CHANNEL07 u8IS31Data[1U][6U]
#define IS31_CHIP1_CHANNEL08 u8IS31Data[1U][7U]
#define IS31_CHIP1_CHANNEL09 u8IS31Data[1U][8U]
#define IS31_CHIP1_CHANNEL10 u8IS31Data[1U][9U]
#define IS31_CHIP1_CHANNEL11 u8IS31Data[1U][10U]
#define IS31_CHIP1_CHANNEL12 u8IS31Data[1U][11U]
#define IS31_CHIP1_CHANNEL13 u8IS31Data[1U][12U]
#define IS31_CHIP1_CHANNEL14 u8IS31Data[1U][13U]
#define IS31_CHIP1_CHANNEL15 u8IS31Data[1U][14U]
#define IS31_CHIP1_CHANNEL16 u8IS31Data[1U][15U]
#define IS31_CHIP1_CHANNEL17 u8IS31Data[1U][16U]
#define IS31_CHIP1_CHANNEL18 u8IS31Data[1U][17U]
#define IS31_CHIP1_CHANNEL19 u8IS31Data[1U][18U]
#define IS31_CHIP1_CHANNEL20 u8IS31Data[1U][19U]
#define IS31_CHIP1_CHANNEL21 u8IS31Data[1U][20U]
#define IS31_CHIP1_CHANNEL22 u8IS31Data[1U][21U]
#define IS31_CHIP1_CHANNEL23 u8IS31Data[1U][22U]
#define IS31_CHIP1_CHANNEL24 u8IS31Data[1U][23U]
#define IS31_CHIP1_CHANNEL25 u8IS31Data[1U][24U]
#define IS31_CHIP1_CHANNEL26 u8IS31Data[1U][25U]
#define IS31_CHIP1_CHANNEL27 u8IS31Data[1U][26U]
#define IS31_CHIP1_CHANNEL28 u8IS31Data[1U][27U]
#define IS31_CHIP1_CHANNEL29 u8IS31Data[1U][28U]
#define IS31_CHIP1_CHANNEL30 u8IS31Data[1U][29U]
#define IS31_CHIP1_CHANNEL31 u8IS31Data[1U][30U]
#define IS31_CHIP1_CHANNEL32 u8IS31Data[1U][31U]
#define IS31_CHIP1_CHANNEL33 u8IS31Data[1U][32U]
#define IS31_CHIP1_CHANNEL34 u8IS31Data[1U][33U]
#define IS31_CHIP1_CHANNEL35 u8IS31Data[1U][34U]
#define IS31_CHIP1_CHANNEL36 u8IS31Data[1U][35U]
#endif
#if (IS31_CHIP_NUM >= 3U)
#define IS31_CHIP2_CHANNEL01 u8IS31Data[2U][0U]
#define IS31_CHIP2_CHANNEL02 u8IS31Data[2U][1U]
#define IS31_CHIP2_CHANNEL03 u8IS31Data[2U][2U]
#define IS31_CHIP2_CHANNEL04 u8IS31Data[2U][3U]
#define IS31_CHIP2_CHANNEL05 u8IS31Data[2U][4U]
#define IS31_CHIP2_CHANNEL06 u8IS31Data[2U][5U]
#define IS31_CHIP2_CHANNEL07 u8IS31Data[2U][6U]
#define IS31_CHIP2_CHANNEL08 u8IS31Data[2U][7U]
#define IS31_CHIP2_CHANNEL09 u8IS31Data[2U][8U]
#define IS31_CHIP2_CHANNEL10 u8IS31Data[2U][9U]
#define IS31_CHIP2_CHANNEL11 u8IS31Data[2U][10U]
#define IS31_CHIP2_CHANNEL12 u8IS31Data[2U][11U]
#define IS31_CHIP2_CHANNEL13 u8IS31Data[2U][12U]
#define IS31_CHIP2_CHANNEL14 u8IS31Data[2U][13U]
#define IS31_CHIP2_CHANNEL15 u8IS31Data[2U][14U]
#define IS31_CHIP2_CHANNEL16 u8IS31Data[2U][15U]
#define IS31_CHIP2_CHANNEL17 u8IS31Data[2U][16U]
#define IS31_CHIP2_CHANNEL18 u8IS31Data[2U][17U]
#define IS31_CHIP2_CHANNEL19 u8IS31Data[2U][18U]
#define IS31_CHIP2_CHANNEL20 u8IS31Data[2U][19U]
#define IS31_CHIP2_CHANNEL21 u8IS31Data[2U][20U]
#define IS31_CHIP2_CHANNEL22 u8IS31Data[2U][21U]
#define IS31_CHIP2_CHANNEL23 u8IS31Data[2U][22U]
#define IS31_CHIP2_CHANNEL24 u8IS31Data[2U][23U]
#define IS31_CHIP2_CHANNEL25 u8IS31Data[2U][24U]
#define IS31_CHIP2_CHANNEL26 u8IS31Data[2U][25U]
#define IS31_CHIP2_CHANNEL27 u8IS31Data[2U][26U]
#define IS31_CHIP2_CHANNEL28 u8IS31Data[2U][27U]
#define IS31_CHIP2_CHANNEL29 u8IS31Data[2U][28U]
#define IS31_CHIP2_CHANNEL30 u8IS31Data[2U][29U]
#define IS31_CHIP2_CHANNEL31 u8IS31Data[2U][30U]
#define IS31_CHIP2_CHANNEL32 u8IS31Data[2U][31U]
#define IS31_CHIP2_CHANNEL33 u8IS31Data[2U][32U]
#define IS31_CHIP2_CHANNEL34 u8IS31Data[2U][33U]
#define IS31_CHIP2_CHANNEL35 u8IS31Data[2U][34U]
#define IS31_CHIP2_CHANNEL36 u8IS31Data[2U][35U]
#endif
#if (IS31_CHIP_NUM >= 4U)
#define IS31_CHIP3_CHANNEL01 u8IS31Data[3U][0U]
#define IS31_CHIP3_CHANNEL02 u8IS31Data[3U][1U]
#define IS31_CHIP3_CHANNEL03 u8IS31Data[3U][2U]
#define IS31_CHIP3_CHANNEL04 u8IS31Data[3U][3U]
#define IS31_CHIP3_CHANNEL05 u8IS31Data[3U][4U]
#define IS31_CHIP3_CHANNEL06 u8IS31Data[3U][5U]
#define IS31_CHIP3_CHANNEL07 u8IS31Data[3U][6U]
#define IS31_CHIP3_CHANNEL08 u8IS31Data[3U][7U]
#define IS31_CHIP3_CHANNEL09 u8IS31Data[3U][8U]
#define IS31_CHIP3_CHANNEL10 u8IS31Data[3U][9U]
#define IS31_CHIP3_CHANNEL11 u8IS31Data[3U][10U]
#define IS31_CHIP3_CHANNEL12 u8IS31Data[3U][11U]
#define IS31_CHIP3_CHANNEL13 u8IS31Data[3U][12U]
#define IS31_CHIP3_CHANNEL14 u8IS31Data[3U][13U]
#define IS31_CHIP3_CHANNEL15 u8IS31Data[3U][14U]
#define IS31_CHIP3_CHANNEL16 u8IS31Data[3U][15U]
#define IS31_CHIP3_CHANNEL17 u8IS31Data[3U][16U]
#define IS31_CHIP3_CHANNEL18 u8IS31Data[3U][17U]
#define IS31_CHIP3_CHANNEL19 u8IS31Data[3U][18U]
#define IS31_CHIP3_CHANNEL20 u8IS31Data[3U][19U]
#define IS31_CHIP3_CHANNEL21 u8IS31Data[3U][20U]
#define IS31_CHIP3_CHANNEL22 u8IS31Data[3U][21U]
#define IS31_CHIP3_CHANNEL23 u8IS31Data[3U][22U]
#define IS31_CHIP3_CHANNEL24 u8IS31Data[3U][23U]
#define IS31_CHIP3_CHANNEL25 u8IS31Data[3U][24U]
#define IS31_CHIP3_CHANNEL26 u8IS31Data[3U][25U]
#define IS31_CHIP3_CHANNEL27 u8IS31Data[3U][26U]
#define IS31_CHIP3_CHANNEL28 u8IS31Data[3U][27U]
#define IS31_CHIP3_CHANNEL29 u8IS31Data[3U][28U]
#define IS31_CHIP3_CHANNEL30 u8IS31Data[3U][29U]
#define IS31_CHIP3_CHANNEL31 u8IS31Data[3U][30U]
#define IS31_CHIP3_CHANNEL32 u8IS31Data[3U][31U]
#define IS31_CHIP3_CHANNEL33 u8IS31Data[3U][32U]
#define IS31_CHIP3_CHANNEL34 u8IS31Data[3U][33U]
#define IS31_CHIP3_CHANNEL35 u8IS31Data[3U][34U]
#define IS31_CHIP3_CHANNEL36 u8IS31Data[3U][35U]
#endif
/*-------------------------------------------------------------------------------------------*/
typedef struct
{
uint8_t u8IS31Init;
uint8_t u8IS31Operation;
uint8_t u8IS31Step;
uint8_t u8IS31Refresh;
uint8_t u8IS31ChipCount;
uint8_t u8IS31ChannelCount;
uint8_t u8IS31ChannelBegin;
uint8_t u8IS31ChannelEnd;
uint8_t u8IS31ChannelWriteCount;
uint8_t u8IS31ChannelDataUpdate;
} IS31_Ctr_st_t;
/*------------------------------------------------------*/
extern IS31_Ctr_st_t stIS31Ctr;
extern void IS31_Set_SDB_Pin(uint8_t u8Level);
extern void IS31_Init(void);
extern void IS31_Shutdown(void);
/*主循环实时调用*/
extern void IS31_Service(void);
void IS31_Scan_Refresh_Test(void);
/*50ms调用一次*/
extern void IS31_Scan_Refresh(void);
void LED_OFF_Init(void);
void LED_ON_Init(void);
/*被打断时调用*/
extern void IS31_Break(void);
#endif
#ifndef LED_DRIVER_H__
#define LED_DRIVER_H__
#include "Simulated_IIC_2_Master.h"
/*
说明:
该LDE驱动兼容IS31FL3236和AW21036。
*/
#define LED_DRIVER_PLATFORM_16BIT 0U
#define LED_DRIVER_PLATFORM_32BIT 1U
#define LED_DRIVER_PLATFORM_SELECT LED_DRIVER_PLATFORM_32BIT
#if (LED_DRIVER_PLATFORM_SELECT == LED_DRIVER_PLATFORM_16BIT)
typedef unsigned char LED_Driver_uint8_t;
typedef unsigned int LED_Driver_uint16_t;
typedef unsigned long LED_Driver_uint32_t;
#define LED_DRIVER_INT_SIZE 2U
#define LED_DRIVER_ENUM_SIZE 2U
#elif (LED_DRIVER_PLATFORM_SELECT == LED_DRIVER_PLATFORM_32BIT)
typedef unsigned char LED_Driver_uint8_t;
typedef unsigned short LED_Driver_uint16_t;
typedef unsigned int LED_Driver_uint32_t;
#define LED_DRIVER_INT_SIZE 4U
#define LED_DRIVER_ENUM_SIZE 4U
#else
#error platform select error!!!
#endif
/*-------------------------------------------------------------------------------------------*/
typedef void (*LEDDriver_ShutdownPin_Set)(LED_Driver_uint8_t u8Level);
typedef struct
{
/*芯片数量*/
LED_Driver_uint8_t u8LEDDriverChipNum;
/*shutdown 引脚控制函数*/
LEDDriver_ShutdownPin_Set pfnLEDDriverShutdownPinSetCallBack;
/*3236芯片地址数组*/
const LED_Driver_uint8_t *pu8IS31ChipAddress;
/*21036芯片地址数组*/
const LED_Driver_uint8_t *pu8AW21036ChipAddress;
} LED_Driver_Par_st_t;
/*-------------------------------------------------------------------------------------------*/
/*芯片数量*/
#define LED_DRIVER_CHIP_NUM 1U
#define LED_DRIVER_FIXED_PART_LEN 40U
#define LED_DRIVER_VARIABLE_PART_LEN 36U
#define LED_DRIVER_RAM_LEN (LED_DRIVER_CHIP_NUM * LED_DRIVER_VARIABLE_PART_LEN * 2U + LED_DRIVER_FIXED_PART_LEN)
/*21036 芯片地址 */
#define AW21036_CHIP1_ADDRESS 0X68U /* AD_PIN~GND*/
#define AW21036_CHIP2_ADDRESS 0X6AU /* AD_PIN~VDD*/
#define AW21036_CHIP3_ADDRESS 0X6CU /* AD_PIN~SCL*/
#define AW21036_CHIP4_ADDRESS 0X6EU /* AD_PIN~SDA*/
/*3236 芯片地址 */
#define IS31_CHIP1_ADDRESS 0X78U /* AD_PIN~GND*/
#define IS31_CHIP2_ADDRESS 0X7EU /* AD_PIN~VDD*/
#define IS31_CHIP3_ADDRESS 0X7AU /* AD_PIN~SCL*/
#define IS31_CHIP4_ADDRESS 0X7CU /* AD_PIN~SDA*/
/*-------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------*/
/*-------------以下为提供的接口函数--------------------------------------*/
/*上30电调用*/
extern void LED_Driver_Init_KL30(LED_Driver_uint8_t *pu8LEDDriverRamData, LED_Driver_Par_st_t *pstLEDInitPar);
/*唤醒时调用*/
extern void LED_Driver_Init_Wakeup(LED_Driver_uint8_t *pu8LEDDriverRamData, LED_Driver_Par_st_t *pstLEDInitPar);
/*休眠时调用*/
extern void LED_Driver_Init_Sleep(void);
/*主函数内实时调用*/
extern void LED_Driver_Service(void);
/*50ms调用一次*/
extern void LED_Driver_Scan_Refresh(void);
/*初始建议1S调用一次。如发生故障时恢复较慢,可更改为500ms,200ms,100ms均可。不建议更低*/
extern void LED_Driver_Work_Check(void);
/*具体操作函数,亮度设置
u8Chip:选择操作的芯片 0~~(LED_DRIVER_CHIP_NUM-1U)
u8Channel: 选择操作的通道 0~~35
u8Brightness:选择亮度 0:熄灭 , 255:最亮 。(根据具体灯选择一个合适的数值)
*/
extern void LED_Driver_Channel_Set(LED_Driver_uint8_t u8Chip, LED_Driver_uint8_t u8Channel, LED_Driver_uint8_t u8Brightness);
/*获取亮度,参数同上*/
extern LED_Driver_uint8_t LED_Driver_Channel_Get(LED_Driver_uint8_t u8Chip, LED_Driver_uint8_t u8Channel);
/*获取芯片当前状态 1表示已经进入休眠状态,0还没进入*/
extern LED_Driver_uint8_t LED_Driver_Status_Get(void);
/*-----------------------------------------------------------*/
extern LED_Driver_uint8_t u8LEDDriverRamData[LED_DRIVER_RAM_LEN];
extern const LED_Driver_uint8_t u8AW21036ChipAddress[LED_DRIVER_CHIP_NUM];
extern const LED_Driver_uint8_t u8IS31ChipAddress[LED_DRIVER_CHIP_NUM];
extern void LED_Driver_Shutdown_Pin_Set(LED_Driver_uint8_t u8Level);
#endif
#include "LED_Driver.h"
#include "GPIO.h"
#include <string.h>
/*注意需将u8LEDDriverRamData定义在休眠唤醒后不会被清空的RAM区域*/
LED_Driver_uint8_t u8LEDDriverRamData[LED_DRIVER_RAM_LEN];
const LED_Driver_uint8_t u8AW21036ChipAddress[LED_DRIVER_CHIP_NUM] = {
#if (LED_DRIVER_CHIP_NUM >= 1U)
AW21036_CHIP1_ADDRESS,
#endif
#if (LED_DRIVER_CHIP_NUM >= 2U)
AW21036_CHIP2_ADDRESS,
#endif
#if (LED_DRIVER_CHIP_NUM >= 3U)
AW21036_CHIP3_ADDRESS,
#endif
#if (LED_DRIVER_CHIP_NUM >= 4U)
AW21036_CHIP4_ADDRESS,
#endif
};
const LED_Driver_uint8_t u8IS31ChipAddress[LED_DRIVER_CHIP_NUM] = {
#if (LED_DRIVER_CHIP_NUM >= 1U)
IS31_CHIP1_ADDRESS,
#endif
#if (LED_DRIVER_CHIP_NUM >= 2U)
IS31_CHIP2_ADDRESS,
#endif
#if (LED_DRIVER_CHIP_NUM >= 3U)
IS31_CHIP3_ADDRESS,
#endif
#if (LED_DRIVER_CHIP_NUM >= 4U)
IS31_CHIP4_ADDRESS,
#endif
};
/*设置shutdown引脚*/
void LED_Driver_Shutdown_Pin_Set(LED_Driver_uint8_t u8Level)
{
SDB_LED_DRIVER = u8Level;
}
GPIO_Config_st_t YZHDstGPIOConfig1;
void LED_Driver_Init(void)
{
uint8_t i=0;
LED_Driver_Par_st_t stLEDDriverPar;
/*
YZHDstGPIOConfig1.enGPIOPort = GPIO_PORT_GROUP_42;
YZHDstGPIOConfig1.enGPIOPIN = GPIO_PIN_0;
YZHDstGPIOConfig1.enGPIODrive = GPIO_Drive_Slow;
YZHDstGPIOConfig1.enGPIOCharacter = GPIO_Char_CMOS1;
YZHDstGPIOConfig1.enGPIOPull = GPIO_PULL_NONE;
YZHDstGPIOConfig1.enGPIOOutputValue = GPIO_Level_Low;
YZHDstGPIOConfig1.enGPIOMode = GPIO_MODE_PORT;
YZHDstGPIOConfig1.enGPIODir = GPIO_DIR_OUT;
YZHDstGPIOConfig1.enGPIOAltFun = GPIO_ALTER_FUN_1;
GPIO_Config(&YZHDstGPIOConfig1);
YZHDstGPIOConfig1.enGPIOPort = GPIO_PORT_GROUP_42;
YZHDstGPIOConfig1.enGPIOPIN = GPIO_PIN_1;
GPIO_Config(&YZHDstGPIOConfig1);
YZHDstGPIOConfig1.enGPIOPort = GPIO_PORT_GROUP_42;
YZHDstGPIOConfig1.enGPIOPIN = GPIO_PIN_2;
GPIO_Config(&YZHDstGPIOConfig1);
*/
stLEDDriverPar.pfnLEDDriverShutdownPinSetCallBack = LED_Driver_Shutdown_Pin_Set;
stLEDDriverPar.u8LEDDriverChipNum = LED_DRIVER_CHIP_NUM;
stLEDDriverPar.pu8IS31ChipAddress = u8IS31ChipAddress;
stLEDDriverPar.pu8AW21036ChipAddress = u8AW21036ChipAddress;
memset(u8LEDDriverRamData, 0, sizeof(u8LEDDriverRamData));
Simulated_IIC_2_Init();
LED_Driver_Init_KL30(u8LEDDriverRamData, &stLEDDriverPar);
}
#ifndef LED_DRIVER_INTERFACE_H
#define LED_DRIVER_INTERFACE_H
extern void LED_Driver_Init(void);
#endif
\ No newline at end of file
/****************************************************************************** /******************************************************************************
�� �� ����Simulated_IIC_Master.h 文 件 名:Simulated_IIC_Master.h
����������IO�˿�ģ���IIC(I2C)����������ͷ�ļ� 功能描述:IO端口模拟的IIC(I2C)主机函数库头文件
�� �ߣ����� 作 者:张暄
�� ����V1.0 版 本:V1.0
�� �ڣ�2016.12.21 日 期:2016.12.21
******************************************************************************/ ******************************************************************************/
#ifndef SIMULATED_IIC_2_MASTER_H__ #ifndef SIMULATED_IIC_2_MASTER_H__
#define SIMULATED_IIC_2_MASTER_H__ #define SIMULATED_IIC_2_MASTER_H__
#include "GPIO.h" #include "TYW_stdint.h"
#include "r_typedefs.h" //#include "GPIO.h"
/****************************************************************************** /******************************************************************************
1us��ʱУ׼ 1us延时校准
******************************************************************************/ ******************************************************************************/
#define SIMULATED_IIC_2_FREQ_CALIBRATION 40U #define SIMULATED_IIC_2_FREQ_CALIBRATION 80U
/****************************************************************************** /******************************************************************************
ȷ���ź� 确认信号
******************************************************************************/ ******************************************************************************/
#define SIMULATED_IIC_2_ACK 0U //�϶�Ӧ�� #define SIMULATED_IIC_2_ACK 0U //肯定应答
#define SIMULATED_IIC_2_NAK 1U //��Ӧ�� #define SIMULATED_IIC_2_NAK 1U //否定应答
#define SIMULATED_IIC_2_INVALID_ACK 2U //��Ч��Ӧ���ź�(Ӧ���źŻ�δ�յ�) #define SIMULATED_IIC_2_INVALID_ACK 2U //无效的应答信号(应答信号还未收到)
/****************************************************************************** /******************************************************************************
���Ŷ��� 引脚定义
******************************************************************************/ ******************************************************************************/
#define SIMULATED_IIC_2_SCL GPIO_OUT_PORT42_PIN01 //SCL�ź� #define SDB_LED_DRIVER GPIO_OUT_PORT42_PIN02
#define SIMULATED_IIC_2_SCL_DIR GPIO_DIR_PORT42_PIN01 //SCL���� #define SDB_LED_SDA GPIO_OUT_PORT42_PIN00
#define SIMULATED_IIC_2_OUT_SDA GPIO_OUT_PORT42_PIN00 //SDA�ź� #define SDB_LED_SDA_IN GPIO_IN_PORT42_PIN00
#define SIMULATED_IIC_2_IN_SDA GPIO_IN_PORT42_PIN00 #define SDB_LED_SDA_DIR GPIO_DIR_PORT42_PIN00
#define SIMULATED_IIC_2_SDA_DIR GPIO_DIR_PORT42_PIN00 //SDA���� #define SDB_LED_SCL_DIR GPIO_DIR_PORT42_PIN01
#define SDB_LED_SCL GPIO_OUT_PORT42_PIN01
#define SDB_LED_SCL_IN GPIO_IN_PORT42_PIN01
/****************************************************************************** /******************************************************************************
�������� 函数声明
******************************************************************************/ ******************************************************************************/
extern void Simulated_IIC_2_Init(void); void Simulated_IIC_2_Init(void);
extern void Simulated_IIC_2_Start(void); void Simulated_IIC_2_Start(void);
extern void Simulated_IIC_2_Stop(void); void Simulated_IIC_2_Stop(void);
extern void Simulated_IIC_2_Transmit_Data(uint8_t Data); void Simulated_IIC_2_Transmit_Data(uint8_t Data);
extern uint8_t Simulated_IIC_2_Receive_Data(void); uint8_t Simulated_IIC_2_Receive_Data(void);
extern void Simulated_IIC_2_Transmit_ACK(uint8_t ACK); void Simulated_IIC_2_Transmit_ACK(uint8_t ACK);
extern uint8_t Simulated_IIC_2_Receive_ACK(void); uint8_t Simulated_IIC_2_Receive_ACK(void);
extern void Simulated_IIC_2_Delay(void); void Simulated_IIC_2_Delay(void);
/*void Simulated_IIC_2_Slave_Service(void);*/
#endif #endif
\ No newline at end of file
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
#include "Maintenance.h" #include "Maintenance.h"
#include "Data_FuelConsump.h" #include "Data_FuelConsump.h"
#include "IS31FL3236.h" #include "LED_Driver.h"
#include "TimerB.h" #include "TimerB.h"
#include "BU98R10.h" #include "BU98R10.h"
...@@ -111,10 +111,9 @@ void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void) ...@@ -111,10 +111,9 @@ void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void)
Power_Management_Service(); Power_Management_Service();
DoCAN_Communication_Service(); DoCAN_Communication_Service();
UDS_Server_Application_Service(); UDS_Server_Application_Service();
IS31_Service(); LED_Driver_Service();
BU98R10_Update_Service(); BU98R10_Update_Service();
Diagnosis_main(); Diagnosis_main();
} }
/*============================================================================*/ /*============================================================================*/
...@@ -228,7 +227,7 @@ void Sys_Run_Mode_50ms_Tasks(void) ...@@ -228,7 +227,7 @@ void Sys_Run_Mode_50ms_Tasks(void)
Speed_PPK_Processing(); Speed_PPK_Processing();
Sound_Scheduling_Service(); Sound_Scheduling_Service();
// BGTask(); // BGTask();
IS31_Scan_Refresh(); LED_Driver_Scan_Refresh();
Drive_Info_IC1_STATUS_Rx(); Drive_Info_IC1_STATUS_Rx();
Drive_Info_IC3_STATUS_Rx(); Drive_Info_IC3_STATUS_Rx();
...@@ -255,6 +254,7 @@ void Sys_Run_Mode_100ms_Tasks(void) ...@@ -255,6 +254,7 @@ void Sys_Run_Mode_100ms_Tasks(void)
// External_Influence_ENERGY_RECOVERY_LEVEL_Select(); // External_Influence_ENERGY_RECOVERY_LEVEL_Select();
// LongTimeNoKey_Operation(); // LongTimeNoKey_Operation();
// Menu_Get_Battery_Sts_Exist(); // Menu_Get_Battery_Sts_Exist();
LED_Driver_Work_Check();
Popups_Management_Service(); Popups_Management_Service();
Popup_Scheduling_Service(); Popup_Scheduling_Service();
Popup_Alone_Sound_Server(); Popup_Alone_Sound_Server();
......
...@@ -481,9 +481,9 @@ ...@@ -481,9 +481,9 @@
#define SCL1_MCU_OUT GPIO_OUT_PORT17_PIN10 #define SCL1_MCU_OUT GPIO_OUT_PORT17_PIN10
#define SD1_MCU_OUT GPIO_OUT_PORT17_PIN11 #define SD1_MCU_OUT GPIO_OUT_PORT17_PIN11
#define T7_LED_OUT GPIO_OUT_PORT22_PIN10 #define T7_LED_OUT GPIO_OUT_PORT22_PIN10
#define I2C2_3236SDA_MCU GPIO_OUT_PORT42_PIN00 //#define I2C2_3236SDA_MCU GPIO_OUT_PORT42_PIN00
#define I2C2_3236SCL_MCU GPIO_OUT_PORT42_PIN01 //#define I2C2_3236SCL_MCU GPIO_OUT_PORT42_PIN01
#define D_3236SDB_MCU GPIO_OUT_PORT42_PIN02 //#define D_3236SDB_MCU GPIO_OUT_PORT42_PIN02
#define Water_Temp_Led_R_MCU_OUT GPIO_OUT_PORT42_PIN04 #define Water_Temp_Led_R_MCU_OUT GPIO_OUT_PORT42_PIN04
#define TRAILER_ABS_LED_MCU_OUT GPIO_OUT_PORT42_PIN05 #define TRAILER_ABS_LED_MCU_OUT GPIO_OUT_PORT42_PIN05
#define ACC5V_LED_PWM_MCU GPIO_OUT_PORT42_PIN06 #define ACC5V_LED_PWM_MCU GPIO_OUT_PORT42_PIN06
......
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