fix:修改UDP通讯中,取电变化上报机制
1、问题点:当RCU网络状态异常的情况下,网络还处于协商状态下,还未进入正常通讯环节时,取电变化不会进行判断。这会导致取电变化上报与实际产生取电状态时间点对不上。 2、将BLV_C1F_Module代码上传至Gitea,之前代码修改记录请查看 .\BasicCode\Readme.txt
This commit is contained in:
506
BasicCode/Drive/KEY/key.c
Normal file
506
BasicCode/Drive/KEY/key.c
Normal file
@@ -0,0 +1,506 @@
|
||||
#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 : <20><><EFBFBD><EFBFBD>IO<49><4F>ʼ<EFBFBD><CABC>
|
||||
* 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 : <20><><EFBFBD><EFBFBD>IO<49><4F><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 : <20><>ȡIO<49><4F><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 : <20><><EFBFBD><EFBFBD>IO<49><4F><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10ms ,Ȼ<><C8BB><EFBFBD>л<EFBFBD><D0BB><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
|
||||
|
||||
Reference in New Issue
Block a user