/********************************** (C) COPYRIGHT ******************************* * File Name : CH57x_SYS.c * Author : WCH * Version : V1.0 * Date : 2018/12/15 * Description *******************************************************************************/ #include "CH57x_common.h" /******************************************************************************* * Function Name : SYS_GetInfoSta * Description : 获取当前系统信息状态 * Input : i: refer to SYS_InfoStaTypeDef * Return : DISABLE - 关闭 ENABLE - 开启 *******************************************************************************/ UINT8 SYS_GetInfoSta( SYS_InfoStaTypeDef i ) { if(i == STA_SAFEACC_ACT) return (R8_SAFE_ACCESS_SIG & RB_SAFE_ACC_ACT); else return (R8_GLOB_CFG_INFO&(1<ISER[0]; NVIC->ICER[0] = 0xffffffff; } /******************************************************************************* * Function Name : SYS_RecoverIrq * Description : 恢复之前关闭的中断值 * Input : irq_status:当前保留中断值 * Return : None *******************************************************************************/ void SYS_RecoverIrq( UINT32 irq_status ) { NVIC->ISER[0] = irq_status; } /******************************************************************************* * Function Name : SYS_GetSysTickCnt * Description : 获取当前系统(SYSTICK)计数值 * Input : None * Return : 当前计数值 *******************************************************************************/ UINT32 SYS_GetSysTickCnt( void ) { return(SysTick->VAL ); } /******************************************************************************* * Function Name : WWDG_ITCfg * Description : 看门狗定时器溢出中断使能 * Input : DISABLE-溢出不中断 ENABLE-溢出中断 * Return : None *******************************************************************************/ void WWDG_ITCfg( UINT8 s ) { R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG1; R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG2; if(s == DISABLE) R8_RST_WDOG_CTRL&=~RB_WDOG_INT_EN; else R8_RST_WDOG_CTRL|=RB_WDOG_INT_EN; R8_SAFE_ACCESS_SIG = 0; } /******************************************************************************* * Function Name : WWDG_ResetCfg * Description : 看门狗定时器复位功能 * Input : DISABLE-溢出不复位 ENABLE-溢出系统复位 * Return : None *******************************************************************************/ void WWDG_ResetCfg( UINT8 s ) { R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG1; R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG2; if(s == DISABLE) R8_RST_WDOG_CTRL&=~RB_WDOG_RST_EN; else R8_RST_WDOG_CTRL|=RB_WDOG_RST_EN; R8_SAFE_ACCESS_SIG = 0; } /******************************************************************************* * Function Name : WWDG_ClearFlag * Description : 清除看门狗中断标志,重新加载计数值也可清除 * Input : None * Return : None *******************************************************************************/ void WWDG_ClearFlag( void ) { R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG1; R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG2; R8_RST_WDOG_CTRL |= RB_WDOG_INT_FLAG; R8_SAFE_ACCESS_SIG = 0; } /******************************************************************************* * Function Name : mDelayuS * Description : uS 延时 * Input : t: 时间参数 * Return : None *******************************************************************************/ void mDelayuS( UINT16 t ) { UINT16 i, j; for(j=0; j