/******************************************************************************* * Function Name: Cy_WDT_SetIgnoreBits ****************************************************************************//** * * Configures the number of the most significant bits of the Watchdog timer that * are not checked against the match. Unlock the Watchdog timer before * ignoring the bits setting. Call the Cy_WDT_Unlock() API to unlock the WDT. * * \param bitsNum * The number of the most significant bits. The valid range is [0-15]. * The bitsNum over 12 are considered as 12. * * \details The value of bitsNum controls the time-to-reset of the Watchdog timer * This happens after 3 successive matches. * * \warning This function changes the WDT interrupt period, therefore * the device can go into an infinite WDT reset loop. This may happen * if a WDT reset occurs faster that a device start-up. * *******************************************************************************/ void Cy_WDT_SetIgnoreBits(uint32_t bitsNum) { if (false == Cy_WDT_Locked()) { SRSS->WDT_MATCH = _CLR_SET_FLD32U((SRSS->WDT_MATCH), SRSS_WDT_MATCH_IGNORE_BITS, bitsNum); } }
/******************************************************************************* * Function Name: Cy_WDT_SetMatch ****************************************************************************//** * * Configures the WDT counter match comparison value. The Watchdog timer * should be unlocked before changing the match value. Call the Cy_WDT_Unlock() * function to unlock the WDT. * * \param match * The valid valid range is [0-65535]. The value to be used to match * against the counter. * *******************************************************************************/ void Cy_WDT_SetMatch(uint32_t match) { if (false == Cy_WDT_Locked()) { SRSS->WDT_MATCH = _CLR_SET_FLD32U((SRSS->WDT_MATCH), SRSS_WDT_MATCH_MATCH, match); } }
/******************************************************************************* * Function Name: Cy_SCB_EZI2C_SetAddress1 ****************************************************************************//** * * Sets the primary EZI2C slave address. * * \param base * The pointer to the EZI2C SCB instance. * * \param addr * The 7-bit right justified slave address. * * \param context * The pointer to the context structure \ref cy_stc_scb_ezi2c_context_t * allocated by the user. The structure is used during the EZI2C operation for * internal configuration and data retention. The user must not modify anything * in this structure. * *******************************************************************************/ void Cy_SCB_EZI2C_SetAddress1(CySCB_Type *base, uint8_t addr, cy_stc_scb_ezi2c_context_t *context) { CY_ASSERT_L2(CY_SCB_IS_I2C_ADDR_VALID(addr)); CY_ASSERT_L2(addr != context->address2); context->address1 = addr; base->RX_MATCH = _CLR_SET_FLD32U(base->RX_MATCH, SCB_RX_MATCH_ADDR, ((uint32_t)((uint32_t) addr << 1UL))); UpdateAddressMask(base, context); }
static void Cy_TCPWM_PWM_SetPrescaler(TCPWM_Type *base, uint32_t cntNum, uint32_t prescaler) { base->CNT[cntNum].CTRL = _CLR_SET_FLD32U(base->CNT[cntNum].CTRL, TCPWM_CNT_CTRL_GENERIC, prescaler); }