修复开关控制组控的控制异常问题

修改PB开关状态组控处理,解决后32路的开关状态会复用上前32个回路的数据
This commit is contained in:
yanghongfeng
2026-01-19 15:32:11 +08:00
commit f25132cbe3
292 changed files with 44556 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
/*
******************************************************************************
* @file apt32f102_gpio.c
* @author APT AE Team
* @version V1.24
* @date 2018/10/15
******************************************************************************
*THIS SOFTWARE WHICH IS FOR ILLUSTRATIVE PURPOSES ONLY WHICH PROVIDES
*CUSTOMER WITH CODING INFORMATION REGARDING THEIR PRODUCTS.
*APT CHIP SHALL NOT BE HELD RESPONSIBILITY ADN LIABILITY FOR ANY DIRECT,
*INDIRECT DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF
*SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
*CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.AND APT CHIP RESERVES
*THE RIGHT TO MAKE CHANGES IN THE SOFTWARE WITHOUT NOTIFICATION
******************************************************************************
*/
/* Includes ------------------------------------------------------------------*/
#include "apt32f102_hwdiv.h"
/* define --------------------------------------------------------------------*/
/* externs--------------------------------------------------------------------*/
/*************************************************************/
//HWDIV RESET CLEAR ALL REGISTER
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void HWDIV_DeInit(void)
{
HWD->DIVIDENT = HWDIV_RESET_VALUE;
HWD->DIVISOR = HWDIV_RESET_VALUE;
HWD->QUOTIENT = HWDIV_RESET_VALUE;
HWD->REMAIN = HWDIV_RESET_VALUE;
HWD->CR = HWDIV_RESET_VALUE;
}
/*************************************************************/
//HWDIV UNSIGN Configure
//EntryParameter:NewState
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/
void HWDIV_UNSIGN_CMD(FunctionalStatus NewState)
{
if (NewState != DISABLE)
{
HWD->CR |= HWDIV_UNSIGN_BIT;
}
else
{
HWD->CR &= ~HWDIV_UNSIGN_BIT;
}
}
/*************************************************************/
//HWDIV Calculate
//EntryParameter:NewState
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/
void HWDIV_Calc_UNSIGN(U32_T DIVIDENDx,U32_T DIVISOR_x)
{
HWD->DIVIDENT=DIVIDENDx;
HWD->DIVISOR=DIVISOR_x;
}
/*************************************************************/
//HWDIV Calculate result
//EntryParameter:NewState
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/
U32_T HWDIV_Calc_Quotient(void)
{
return HWD->QUOTIENT;
}
/*************************************************************/
//HWDIV Calculate result
//EntryParameter:NewState
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/
U32_T HWDIV_Calc_Remain(void)
{
return HWD->REMAIN;
}
/*************************************************************/
void HWDIV_Calc_SIGN(long DIVIDENDx,long DIVISOR_x)
{
HWD->DIVIDENT=DIVIDENDx;
HWD->DIVISOR=DIVISOR_x;
}