Files

507 lines
20 KiB
C
Raw Permalink Normal View History

#include "includes.h"
#include "BLV_Nor_Dev_LVoutputFun.h"
#include "BLV_485_Dev_C12DimFun.h"
#include "BLV_Nor_Dev_HVoutFun.h"
///************2022.11.22 <20>ֿ<EFBFBD><D6BF><EFBFBD> <20><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD>ʼ************/
//#define SIDE_KEY_INIT 0x80 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define C12_SIDE_KEY 0x40 //C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define C5_SIDE_KEY 0x20 //C5<43><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define SIDE_KEY_FUNCTION 0x60 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
///*******************************************************************************
//* Function Name : Side_Key_C12
//* Description : C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//* Input : lvoutput_addr - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
// c12dimming_addr - C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
// relay_addr - ǿ<><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
//* Return : none
//*******************************************************************************/
//void Side_Key_C12(uint32_t lvoutput_addr,uint32_t c12dimming_addr,uint32_t relay_addr)
//{
// static uint8_t press = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD>
// uint8_t lvoutput_write_flag = 0, c12dimming_write_flag = 0, relay_write_flag = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C12<31><32><EFBFBD>⣬ǿ<E2A3AC><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>д<EFBFBD><D0B4>SRAM<41><4D>־ 0<><30><EFBFBD><EFBFBD>д<EFBFBD><D0B4> 1<><31>д<EFBFBD><D0B4>
// Device_Public_Information_G LVOUTPUT_public_info; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// NOR_LVOUTPUT_INFO LVOUTPUT_private_info; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// Device_Public_Information_G C12DIMMING_public_info; //C12<31><32><EFBFBD><EFBFBD><E2B9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// RS485_LED_INFO C12DIMMING_private_info; //C12<31><32><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// Device_Public_Information_G RELAY_public_info; //<2F>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// NOR_HVOUT_INFO RELAY_private_info; //<2F>̵<EFBFBD><CCB5><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//
// memset(&LVOUTPUT_public_info, 0, sizeof(Device_Public_Information_G)); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// memset(&LVOUTPUT_private_info, 0, sizeof(NOR_LVOUTPUT_INFO)); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// SRAM_DMA_Read_Buff((uint8_t *)&LVOUTPUT_public_info, sizeof(Device_Public_Information_G), lvoutput_addr); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// SRAM_DMA_Read_Buff((uint8_t *)&LVOUTPUT_private_info, sizeof(NOR_LVOUTPUT_INFO), lvoutput_addr + Dev_Privately); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//
// memset(&C12DIMMING_public_info, 0, sizeof(Device_Public_Information_G)); //<2F><>ʼ<EFBFBD><CABC>C12<31><32><EFBFBD><EFBFBD><E2B9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// memset(&C12DIMMING_private_info, 0, sizeof(RS485_LED_INFO)); //<2F><>ʼ<EFBFBD><CABC>C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
// SRAM_DMA_Read_Buff((uint8_t *)&C12DIMMING_public_info, sizeof(Device_Public_Information_G), c12dimming_addr); //<2F><>ȡC12<31><32><EFBFBD><EFBFBD><E2B9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// SRAM_DMA_Read_Buff((uint8_t *)&C12DIMMING_private_info, sizeof(RS485_LED_INFO), c12dimming_addr + Dev_Privately); //<2F><>ȡC12<31><32><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//
// memset(&RELAY_public_info, 0, sizeof(Device_Public_Information_G)); //<2F><>ʼ<EFBFBD><CABC><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// memset(&RELAY_private_info, 0, sizeof(NOR_HVOUT_INFO)); //<2F><>ʼ<EFBFBD><CABC><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
// SRAM_DMA_Read_Buff((uint8_t *)&RELAY_public_info, sizeof(Device_Public_Information_G), relay_addr); //<2F><>ȡ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// SRAM_DMA_Read_Buff((uint8_t *)&RELAY_private_info, sizeof(NOR_HVOUT_INFO), relay_addr + Dev_Privately); //<2F><>ȡ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// press++;
// if(press > 27) press = 1; //<2F><><EFBFBD><EFBFBD>27<32>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>27<32>Σ<EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ1
// if(press > 0 && press <= 12) //<2F><><EFBFBD><EFBFBD>C12<31><32><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>
// {
// if(press > 0 && press <= 6) //ǰ5<C7B0>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>
// {
// LVOUTPUT_private_info.DevLVoutputState[0] = 0x00;
// LVOUTPUT_private_info.DevLVoutputState[1] = 0x00;
// LVOUTPUT_private_info.DevLVoutputState[2] = 0x00;
// LVOUTPUT_private_info.DevLVoutputState[3] = 0x00;
// LVOUTPUT_private_info.DevLVoutputState[4] = 0x00;
// if(press != 6) UINT64DATACONVER(LVOUTPUT_private_info.DevLVoutputState) |= (0x01<<(press-1)); //<2F><>1~5<>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0~4״̬
// lvoutput_write_flag = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
// }
// memset(C12DIMMING_private_info.DevSendBuf, 0x00, 12); //C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȸ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ0<D6B5><EFBFBD>ڹأ<DAB9>
// C12DIMMING_private_info.DevSendBuf[press-1] = 0x50; //C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȸ<EFBFBD>ֵ
// c12dimming_write_flag = 1; //C12<31><32><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
// }
// if(press > 12 && press <= 25) //<2F><><EFBFBD><EFBFBD>C12<31><32><EFBFBD>ϼ̵<CFBC><CCB5><EFBFBD>
// {
// if(press == 13)
// {
// memset(C12DIMMING_private_info.DevSendBuf, 0x00, 12); //C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȸ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ0<D6B5><EFBFBD>ڹأ<DAB9>
// c12dimming_write_flag = 1; //C12<31><32><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
// }
// UINT64DATACONVER(RELAY_private_info.DevHVoutState) &= ~(0x1FFF); //<2F>رռ̵<D5BC><CCB5><EFBFBD>0~11
// UINT64DATACONVER(RELAY_private_info.DevHVoutState) |= (0x01<<(press - 13)); //<2F>򿪼̵<F2BFAABC><CCB5><EFBFBD>
// relay_write_flag = 1; //ǿ<><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>д<EFBFBD><D0B4>
// }
// if(press == 26) //C12<31><32><EFBFBD><EFBFBD><EFBFBD>ͼ̵<CDBC><CCB5><EFBFBD>ȫ<EFBFBD><C8AB>
// {
// UINT64DATACONVER(LVOUTPUT_private_info.DevLVoutputState) |= 0x1F; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0~4״̬
// memset(C12DIMMING_private_info.DevSendBuf, 0x50, 12); //C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȸ<EFBFBD>ֵ
// UINT64DATACONVER(RELAY_private_info.DevHVoutState) |= 0x1FFF; //<2F>򿪼̵<F2BFAABC><CCB5><EFBFBD>
// lvoutput_write_flag = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
// c12dimming_write_flag = 1; //C12<31><32><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
// relay_write_flag = 1; //ǿ<><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>д<EFBFBD><D0B4>
// }
// if(press == 27) //C12<31><32><EFBFBD><EFBFBD><EFBFBD>ͼ̵<CDBC><CCB5><EFBFBD>ȫ<EFBFBD><C8AB>
// {
// UINT64DATACONVER(LVOUTPUT_private_info.DevLVoutputState) &= ~(0x1F); //<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0~4״̬
// memset(C12DIMMING_private_info.DevSendBuf, 0x00, 12); //C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȸ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ0<D6B5><EFBFBD>ڹأ<DAB9>
// UINT64DATACONVER(RELAY_private_info.DevHVoutState) &= ~(0x1FFF); //<2F>رռ̵<D5BC><CCB5><EFBFBD>0~11
// lvoutput_write_flag = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
// c12dimming_write_flag = 1; //C12<31><32><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
// relay_write_flag = 1; //ǿ<><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>д<EFBFBD><D0B4>
// }
// if(lvoutput_write_flag == 1) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>SRAM
// {
// LVOUTPUT_public_info.check = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>0
// LVOUTPUT_public_info.check = DoubleData_CheckSum((uint8_t *)&LVOUTPUT_public_info, sizeof(Device_Public_Information_G), \
// (uint8_t *)&LVOUTPUT_private_info, sizeof(NOR_LVOUTPUT_INFO)); //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>
// SRAM_DMA_Write_Buff((uint8_t *)&LVOUTPUT_public_info, sizeof(Device_Public_Information_G), lvoutput_addr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>SRAM
// SRAM_DMA_Write_Buff((uint8_t *)&LVOUTPUT_private_info, sizeof(NOR_LVOUTPUT_INFO), lvoutput_addr + Dev_Privately); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>SRAM
// }
// if(c12dimming_write_flag == 1) //C12<31><32><EFBFBD><EFBFBD>д<EFBFBD><D0B4>SRAM
// {
// C12DIMMING_public_info.check = 0x00; //C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>0
// C12DIMMING_public_info.check = DoubleData_CheckSum((uint8_t *)&C12DIMMING_public_info, sizeof(Device_Public_Information_G), \
// (uint8_t *)&C12DIMMING_private_info, sizeof(RS485_LED_INFO)); //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>
// SRAM_DMA_Write_Buff((uint8_t *)&C12DIMMING_public_info, sizeof(Device_Public_Information_G), c12dimming_addr); //<2F><><EFBFBD><EFBFBD>C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>SRAM
// SRAM_DMA_Write_Buff((uint8_t *)&C12DIMMING_private_info, sizeof(RS485_LED_INFO), c12dimming_addr + Dev_Privately); //<2F><><EFBFBD><EFBFBD>C12˽<32><CBBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>SRAM
// }
// if(relay_write_flag == 1) //ǿ<><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>д<EFBFBD><D0B4>SRAM
// {
// RELAY_public_info.check = 0x00; //<2F>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>0
// RELAY_public_info.check = DoubleData_CheckSum((uint8_t *)&RELAY_public_info, sizeof(Device_Public_Information_G), \
// (uint8_t *)&RELAY_private_info, sizeof(NOR_HVOUT_INFO)); //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>
// SRAM_DMA_Write_Buff((uint8_t *)&RELAY_public_info, sizeof(Device_Public_Information_G), relay_addr); //<2F><><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>SRAM
// SRAM_DMA_Write_Buff((uint8_t *)&RELAY_private_info, sizeof(NOR_HVOUT_INFO), relay_addr + Dev_Privately); //<2F><><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>SRAM
// }
// Dbg_Print(DBG_BIT_LOGIC_STATUS_bit,"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD>Ϊ<EFBFBD><CEAA>%d",press);
//}
///*******************************************************************************
//* Function Name : Side_Key_C5
//* Description : C5<43><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//* Input : lvoutput_addr - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
// hvout_addr - ǿ<><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
//* Return : none
//*******************************************************************************/
//void Side_Key_C5(uint32_t lvoutput_addr,uint32_t relay_addr)
//{
// static uint8_t press = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD>
// uint8_t lvoutput_write_flag = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>SRAM<41><4D>־ 0<><30><EFBFBD><EFBFBD>д<EFBFBD><D0B4> 1<><31>д<EFBFBD><D0B4>
// Device_Public_Information_G LVOUTPUT_public_info; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// NOR_LVOUTPUT_INFO LVOUTPUT_private_info; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// Device_Public_Information_G RELAY_public_info; //<2F>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// NOR_HVOUT_INFO RELAY_private_info; //<2F>̵<EFBFBD><CCB5><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//
// memset(&LVOUTPUT_public_info, 0, sizeof(Device_Public_Information_G)); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// memset(&LVOUTPUT_private_info, 0, sizeof(NOR_LVOUTPUT_INFO)); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// SRAM_DMA_Read_Buff((uint8_t *)&LVOUTPUT_public_info, sizeof(Device_Public_Information_G), lvoutput_addr); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// SRAM_DMA_Read_Buff((uint8_t *)&LVOUTPUT_private_info, sizeof(NOR_LVOUTPUT_INFO), lvoutput_addr + Dev_Privately); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//
// memset(&RELAY_public_info, 0, sizeof(Device_Public_Information_G)); //<2F><>ʼ<EFBFBD><CABC><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// memset(&RELAY_private_info, 0, sizeof(NOR_HVOUT_INFO)); //<2F><>ʼ<EFBFBD><CABC><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// SRAM_DMA_Read_Buff((uint8_t *)&RELAY_public_info, sizeof(Device_Public_Information_G), relay_addr); //<2F><>ȡ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// SRAM_DMA_Read_Buff((uint8_t *)&RELAY_private_info, sizeof(NOR_HVOUT_INFO), relay_addr + Dev_Privately); //<2F><>ȡ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// press++;
// if(press > 26) press = 1; //<2F><><EFBFBD><EFBFBD>26<32>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>26<32>Σ<EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ1
// if(press > 0 && press <= 24) //C5<43><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ̵<CDBC><CCB5><EFBFBD>
// {
// if(press > 0 && press <= 6) //ǰ5<C7B0>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>
// {
// UINT64DATACONVER(LVOUTPUT_private_info.DevLVoutputState) &= ~(0x1F); //<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0~4״̬
// if(press != 6) UINT64DATACONVER(LVOUTPUT_private_info.DevLVoutputState) |= (0x01<<(press-1)); //<2F><>1~5<>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0~4״̬
// lvoutput_write_flag = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
// }
// UINT64DATACONVER(RELAY_private_info.DevHVoutState) &= ~(0xFFFFFF); //<2F>رռ̵<D5BC><CCB5><EFBFBD>0~23
// UINT64DATACONVER(RELAY_private_info.DevHVoutState) |= (0x01<<(press-1)); //<2F>򿪼̵<F2BFAABC><CCB5><EFBFBD>
// }
// if(press == 25) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ̵<CDBC><CCB5><EFBFBD>ȫ<EFBFBD><C8AB>
// {
// UINT64DATACONVER(LVOUTPUT_private_info.DevLVoutputState) |= 0x1F; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0~4״̬
// UINT64DATACONVER(RELAY_private_info.DevHVoutState) |= 0xFFFFFF; //<2F>򿪼̵<F2BFAABC><CCB5><EFBFBD>0~23
// lvoutput_write_flag = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
// }
// if(press == 26) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ̵<CDBC><CCB5><EFBFBD>ȫ<EFBFBD><C8AB>
// {
// UINT64DATACONVER(LVOUTPUT_private_info.DevLVoutputState) &= ~(0x1F); //<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0~4״̬
// UINT64DATACONVER(RELAY_private_info.DevHVoutState) &= ~(0xFFFFFF); //<2F>رռ̵<D5BC><CCB5><EFBFBD>0~23
// lvoutput_write_flag = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
// }
// if(lvoutput_write_flag == 1) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>SRAM
// {
// LVOUTPUT_public_info.check = 0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>0
// LVOUTPUT_public_info.check = DoubleData_CheckSum((uint8_t *)&LVOUTPUT_public_info, sizeof(Device_Public_Information_G), \
// (uint8_t *)&LVOUTPUT_private_info, sizeof(NOR_LVOUTPUT_INFO)); //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>
// SRAM_DMA_Write_Buff((uint8_t *)&LVOUTPUT_public_info, sizeof(Device_Public_Information_G), lvoutput_addr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>SRAM
// SRAM_DMA_Write_Buff((uint8_t *)&LVOUTPUT_private_info, sizeof(NOR_LVOUTPUT_INFO), lvoutput_addr + Dev_Privately); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>SRAM
// }
// RELAY_public_info.check = 0x00; //<2F>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>0
// RELAY_public_info.check = DoubleData_CheckSum((uint8_t *)&RELAY_public_info, sizeof(Device_Public_Information_G), (uint8_t *)&RELAY_private_info, \
// sizeof(NOR_HVOUT_INFO)); //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>
// SRAM_DMA_Write_Buff((uint8_t *)&RELAY_public_info, sizeof(Device_Public_Information_G), relay_addr); //<2F><><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>SRAM
// SRAM_DMA_Write_Buff((uint8_t *)&RELAY_private_info, sizeof(NOR_HVOUT_INFO), relay_addr + Dev_Privately); //<2F><><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>SRAM
// Dbg_Print(DBG_BIT_LOGIC_STATUS_bit,"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD>Ϊ<EFBFBD><CEAA>%d",press);
//}
///*******************************************************************************
//* Function Name : Side_Key_Fun
//* Description : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C5<43><35>C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//* Input : none
//* Return : none
//*******************************************************************************/
//void Side_Key_Fun(void)
//{
// static uint8_t side_key = 0x00; //bit7<74><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B0B4><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־ bit6~5<><35>C5<43><35>C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bit4~0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD>
// static uint32_t lvoutput_addr = 0x00, c12dimming_addr = 0x00, relay_addr = 0x00; //<2F><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C12<31><32><EFBFBD>⣬ǿ<E2A3AC><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ڴ<EFBFBD><DAB4>ŵ<EFBFBD>SRAM<41><4D>ַ
//
// if((side_key & SIDE_KEY_INIT) == 0x00) //ֻ<>ж<EFBFBD>һ<EFBFBD><D2BB>
// {
// uint8_t data[7]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĵװ<C4B5><D7B0>ͺ<EFBFBD>
//
// side_key |= SIDE_KEY_INIT; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// memset(data,0,7); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// Flash_Read(&data[0],7,FLASH_MCU_Control_Revision_ADDRESS); //<2F><><EFBFBD>װ<EFBFBD><D7B0><EFBFBD>Ϣ
// if(strcmp((const char *)data,"BLV-C12") == 0) //C12<31>װ<EFBFBD>
// {
// side_key |= C12_SIDE_KEY; //C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// Dbg_Print(DBG_BIT_LOGIC_STATUS_bit,"C12<31>װ<EFBFBD>");
// for(uint8_t i = 0; i < (SRAM_Read_DW(SRAM_BUS_Device_List_Addr) / SRAM_Device_List_Size); i++) //<2F><>BUS<55><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// if((SRAM_Read_Byte(SRAM_Device_List_Start_Addr + (i * SRAM_Device_List_Size) + Dev_Type) == DEV_RS485_PWM) && \
// (SRAM_Read_Byte(SRAM_Device_List_Start_Addr + (i * SRAM_Device_List_Size) + Dev_Protocol) == 0x05))
// {
// c12dimming_addr = SRAM_Device_List_Start_Addr+(i*SRAM_Device_List_Size); //<2F><><EFBFBD><EFBFBD>C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ŵ<EFBFBD>ַ
// }
// if((SRAM_Read_Byte(SRAM_Device_List_Start_Addr + (i * SRAM_Device_List_Size) + Dev_Type) == Dev_Host_HVout) && \
// (SRAM_Read_Byte(SRAM_Device_List_Start_Addr + (i * SRAM_Device_List_Size) + Dev_Protocol) == 0x01))
// {
// relay_addr = SRAM_Device_List_Start_Addr+(i*SRAM_Device_List_Size); //<2F><><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ŵ<EFBFBD>ַ
// }
// }
// for(uint8_t i = (SRAM_Read_DW(SRAM_ACTIVE_Device_List_Addr) / SRAM_Device_List_Size); \
// i < (SRAM_Read_DW(SRAM_NORMAL_Device_List_Addr) / SRAM_Device_List_Size); i++) //<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// if((SRAM_Read_Byte(SRAM_Device_List_Start_Addr + (i * SRAM_Device_List_Size) + Dev_Type) == Dev_Host_LVoutput) && \
// (SRAM_Read_Byte(SRAM_Device_List_Start_Addr + (i * SRAM_Device_List_Size) + Dev_Protocol) == 0x00))
// {
// lvoutput_addr = SRAM_Device_List_Start_Addr + (i * SRAM_Device_List_Size); //<2F><><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ŵ<EFBFBD>ַ
// break; //<2F>ҵ<EFBFBD><D2B5><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>˳<EFBFBD>
// }
// }
// }
// if(strcmp((const char *)data,"BLV-C5") == 0) //C5<43>װ<EFBFBD>
// {
// side_key |= C5_SIDE_KEY; //C5<43><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// Dbg_Print(DBG_BIT_LOGIC_STATUS_bit,"C5<43>װ<EFBFBD>");
// for(uint8_t i = 0; i < (SRAM_Read_DW(SRAM_BUS_Device_List_Addr) / SRAM_Device_List_Size); i++) //<2F><>BUS<55><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// if((SRAM_Read_Byte(SRAM_Device_List_Start_Addr + (i * SRAM_Device_List_Size) + Dev_Type) == Dev_Host_HVout) && \
// (SRAM_Read_Byte(SRAM_Device_List_Start_Addr + (i * SRAM_Device_List_Size) + Dev_Protocol) == 0x01))
// {
// relay_addr = SRAM_Device_List_Start_Addr+(i*SRAM_Device_List_Size); //<2F><><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ŵ<EFBFBD>ַ
// break;
// }
// }
// for(uint8_t i = (SRAM_Read_DW(SRAM_ACTIVE_Device_List_Addr) / SRAM_Device_List_Size); \
// i < (SRAM_Read_DW(SRAM_NORMAL_Device_List_Addr) / SRAM_Device_List_Size); i++) //<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// if((SRAM_Read_Byte(SRAM_Device_List_Start_Addr + (i * SRAM_Device_List_Size) + Dev_Type) == Dev_Host_LVoutput) && \
// (SRAM_Read_Byte(SRAM_Device_List_Start_Addr + (i * SRAM_Device_List_Size) + Dev_Protocol) == 0x00))
// {
// lvoutput_addr = SRAM_Device_List_Start_Addr + (i * SRAM_Device_List_Size); //<2F><><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ŵ<EFBFBD>ַ
// break; //<2F>ҵ<EFBFBD><D2B5><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>˳<EFBFBD>
// }
// }
// }
// }
// if(((side_key & SIDE_KEY_INIT) == SIDE_KEY_INIT) && ((side_key & SIDE_KEY_FUNCTION) != 0x00)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// switch(side_key & SIDE_KEY_FUNCTION) //C12<31><32>C5<43><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
// {
// case C12_SIDE_KEY: //C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// Side_Key_C12(lvoutput_addr, c12dimming_addr, relay_addr); //C12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// break;
// case C5_SIDE_KEY:
// Side_Key_C5(lvoutput_addr, relay_addr); //C5<43><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// break;
// }
// }
//}
/************2022.11.22 <20>ֿ<EFBFBD><D6BF><EFBFBD> <20><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>************/
/*<2A><><EFBFBD><EFBFBD>BLV-C5-V05,BLV-C12-V04Ӳ<34><D3B2><EFBFBD>汾֮<E6B1BE><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>԰<EFBFBD><D4B0><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>԰<EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>BUS485<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>BUS<EFBFBD>˿<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>485<EFBFBD><EFBFBD><EFBFBD>ſճ<EFBFBD>PB11<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
#ifndef MCU_Local_Test_Button_EN
void Multipexing_IO_Init(void)
{
}
void Multipexing_IO_Task(void)
{
}
#else
/*2022-05-10 <20><><EFBFBD><EFBFBD>*/
MultIO_State_t g_mult_io;
/*******************************************************************************
* Function Name : Multipexing_IO_Init
* Description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
* Input :
* Return : None
*******************************************************************************/
void Multipexing_IO_Init(void)
{
memset(&g_mult_io,0,sizeof(MultIO_State_t));
MultIO_Pin1_ModeCfg(MultIO_INPUT);
MultIO_Pin1_H;
}
/*******************************************************************************
* Function Name : Multipexing_IO_Output
* Description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
*******************************************************************************/
void Multipexing_IO_Output(uint8_t CHx,uint8_t state)
{
switch(CHx)
{
case MultIO_CH1:
if(state == MultIO_Pin_High)
{
MultIO_Pin1_H;
}else if(state == MultIO_Pin_Low){
MultIO_Pin1_L;
}
break;
}
}
/*******************************************************************************
* Function Name : Multipexing_Get_IO_State
* Description : <EFBFBD><EFBFBD>ȡIO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
*******************************************************************************/
uint8_t Multipexing_Get_IO_State(uint8_t CHx)
{
uint8_t rev = 0;
switch(CHx)
{
case MultIO_CH1:
if(MultIO_Pin1_Read != 0x00)
{
rev = MultIO_Pin_High;
}else {
rev = MultIO_Pin_Low;
}
break;
}
return rev;
}
void Multipexing_IO_Scan_Task(void)
{
// for(uint8_t i=0; i<MultIO_CHN_Max; i++)
// {
// switch(g_mult_io.input_state[i])
// {
// case INPUT_STA_S0:
// if( Multipexing_Get_IO_State(i) == MultIO_Input_PRESS )
// {
// if(g_mult_io.delayCnt[i] < MultIO_Input_DELAY_COUNT)
// {
// g_mult_io.delayCnt[i]++;
// }
// else
// {
// g_mult_io.input_state[i] = INPUT_STA_S1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// g_mult_io.input_time[i] = 0;
// g_mult_io.delayCnt[i] = 0;
// }
// }
// else
// {
// g_mult_io.delayCnt[i] = 0;
// g_mult_io.input_state[i] = INPUT_STA_S0;
// g_mult_io.input_val[i] = INPUT_NOT;
// }
// break;
// case INPUT_STA_S1:
// g_mult_io.input_time[i] ++;
// if( g_mult_io.input_time[i] < MultIO_Input_DELAY_COUNT_LONG )
// {
// if( Multipexing_Get_IO_State(i) == MultIO_Input_LOOSEN ) //<2F>ɿ<EFBFBD>
// {
// g_mult_io.input_val[i] = INPUT_SHORT_PRESS; //<2F>̰<EFBFBD><CCB0>ɿ<EFBFBD>
// g_mult_io.input_time[i] = 0;
// g_mult_io.input_state[i] = INPUT_STA_S0;
// }
// }
// else
// {
// g_mult_io.input_state[i] = INPUT_STA_S2;
// g_mult_io.input_time[i] = 0;
// g_mult_io.input_val[i] = INPUT_CONT_LONG_PRESS; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// }
// break;
//
// case INPUT_STA_S2:
// if( Multipexing_Get_IO_State(i) == MultIO_Input_LOOSEN )
// {
// g_mult_io.input_state[i] = INPUT_STA_S0;
// g_mult_io.input_val[i] = INPUT_LONG_PRESS_LOOSEN; //<2F><><EFBFBD><EFBFBD><EFBFBD>ɿ<EFBFBD>
// }
// break;
// }
// }
/*Ӳ<><D3B2><EFBFBD><EFBFBD>ţ<EFBFBD>BLV-C5-V08 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<49><4F>Ϊ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2025-03-24*/
for(uint8_t i=0; i<MultIO_CHN_Max; i++)
{
if( Multipexing_Get_IO_State(i) == MultIO_Input_PRESS )
{
g_mult_io.delayCnt[i]++;
g_mult_io.delayOffCnt[i] = 0x00;
if(g_mult_io.delayCnt[i] >= MultIO_Input_DELAY_COUNT)
{
g_mult_io.delayCnt[i] = 0x00;
g_mult_io.input_val[i] = INPUT_SHORT_PRESS;
}
}
else
{
g_mult_io.delayCnt[i] = 0x00;
g_mult_io.delayOffCnt[i]++;
if(g_mult_io.delayOffCnt[i] >= MultIO_Input_DELAY_COUNT)
{
g_mult_io.delayOffCnt[i] = 0x00;
g_mult_io.input_val[i] = INPUT_NOT;
}
}
}
}
/*******************************************************************************
* Function Name : Multipexing_IO_Task
* Description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10ms ,Ȼ<EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ40ms
*******************************************************************************/
void Multipexing_IO_Task(void)
{
static uint32_t Multipexing_test_tick = 0;
switch(g_mult_io.State)
{
case MultIO_IDLE: //<2F><><EFBFBD><EFBFBD>״̬
if(SysTick_1ms - g_mult_io.wait_tick >= MultIO_OutPut_Time)
{
g_mult_io.State = MultIO_Input_Mode;
}
break;
case MultIO_Input_Mode: //<2F><><EFBFBD><EFBFBD>ģʽ
MultIO_Pin1_ModeCfg(MultIO_INPUT);
Multipexing_IO_Scan_Task();
g_mult_io.State = MultIO_Output_Mode;
g_mult_io.wait_tick = SysTick_1ms;
break;
case MultIO_Output_Mode: //<2F><><EFBFBD><EFBFBD>ģʽ
g_mult_io.State = MultIO_IDLE;
g_mult_io.wait_tick = SysTick_1ms;
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
for(uint8_t i=0;i<MultIO_CHN_Max;i++)
{
MultIO_Pin1_ModeCfg(MultIO_OUTPUT);
Multipexing_IO_Output(i,g_mult_io.output_state[i]);
}
break;
}
if(SysTick_1ms - Multipexing_test_tick >= 1000)
{
Multipexing_test_tick = SysTick_1ms;
if(g_mult_io.output_state[0] == MultIO_Pin_High)
{
g_mult_io.output_state[0] = MultIO_Pin_Low;
}else {
g_mult_io.output_state[0] = MultIO_Pin_High;
}
}
if(g_mult_io.input_val[0] != g_mult_io.last_input_val[0] ){
g_mult_io.last_input_val[0] = g_mult_io.input_val[0];
if(g_mult_io.input_val[0] == INPUT_SHORT_PRESS)
{
Dbg_Println(DBG_BIT_SYS_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><>Դ<EFBFBD>Ѷϵ<D1B6>");
}else if(g_mult_io.input_val[0] == INPUT_NOT){
Dbg_Println(DBG_BIT_SYS_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><>Դ<EFBFBD>ѻָ<D1BB>");
}
}
}
#endif