| /********************************************************************** | |
| * $Id$ lpc18xx_sct.c 2011-06-02 | |
| *//** | |
| * @file lpc18xx_sct.c | |
| * @brief Contains all functions support for SCT firmware library on LPC18xx | |
| * @version 1.0 | |
| * @date 02. June. 2011 | |
| * @author NXP MCU SW Application Team | |
| * | |
| * Copyright(C) 2011, NXP Semiconductor | |
| * All rights reserved. | |
| * | |
| *********************************************************************** | |
| * Software that is described herein is for illustrative purposes only | |
| * which provides customers with programming information regarding the | |
| * products. This software is supplied "AS IS" without any warranties. | |
| * NXP Semiconductors assumes no responsibility or liability for the | |
| * use of the software, conveys no license or title under any patent, | |
| * copyright, or mask work right to the product. NXP Semiconductors | |
| * reserves the right to make changes in the software without | |
| * notification. NXP Semiconductors also make no representation or | |
| * warranty that such application will be suitable for the specified | |
| * use without further testing or modification. | |
| **********************************************************************/ | |
| /* Peripheral group ----------------------------------------------------------- */ | |
| /** @addtogroup SCT | |
| * @{ | |
| */ | |
| /* Includes ------------------------------------------------------------------- */ | |
| #include "lpc18xx_sct.h" | |
| /* If this source file built with example, the LPC18xx FW library configuration | |
| * file in each example directory ("lpc18xx_libcfg.h") must be included, | |
| * otherwise the default FW library configuration file must be included instead | |
| */ | |
| #ifdef __BUILD_WITH_EXAMPLE__ | |
| #include "lpc18xx_libcfg.h" | |
| #else | |
| #include "lpc18xx_libcfg_default.h" | |
| #endif /* __BUILD_WITH_EXAMPLE__ */ | |
| #ifdef _SCT | |
| /* Public Functions ----------------------------------------------------------- */ | |
| /** @addtogroup SCT_Public_Functions | |
| * @{ | |
| */ | |
| /*********************************************************************//** | |
| * @brief Select 16/32 bit SCT counter | |
| * @param[in] value configuration value for SCT | |
| * - SCT_CONFIG_16BIT_COUNTER :16-bit counter | |
| * - SCT_CONFIG_32BIT_COUNTER :32-bit counter | |
| * @return None | |
| **********************************************************************/ | |
| void SCT_Config(uint32_t value) | |
| { | |
| CHECK_PARAM(PARAM_SCT_CONFIG_COUNTER_TYPE(value)); | |
| LPC_SCT->CONFIG = value; | |
| } | |
| /*********************************************************************//** | |
| * @brief Setting SCT control | |
| * @param[in] value setting value | |
| * @param[in] ena Enable/disable status | |
| * - ENABLE | |
| * - DISABLE | |
| * @return None | |
| **********************************************************************/ | |
| void SCT_ControlSet(uint32_t value, FunctionalState ena) | |
| { | |
| uint32_t tem; | |
| CHECK_PARAM(PARAM_FUNCTIONALSTATE(ena)); | |
| tem = LPC_SCT->CTRL_U; | |
| if(ena == ENABLE) | |
| { | |
| tem |= value; | |
| } | |
| else | |
| { | |
| tem &= (~value); | |
| } | |
| LPC_SCT->CTRL_U = tem; | |
| } | |
| /*********************************************************************//** | |
| * @brief Set start mode for ADC | |
| * @param[in] outnum number of SCT output, should be: 0..15 | |
| * @param[in] value solution value, should be | |
| * - SCT_RES_NOCHANGE :No change | |
| * - SCT_RES_SET_OUTPUT :Set output | |
| * - SCT_RES_CLEAR_OUTPUT :Clear output | |
| * - SCT_RES_TOGGLE_OUTPUT :Toggle output | |
| * @return None | |
| *********************************************************************/ | |
| void SCT_ConflictResolutionSet(uint8_t outnum, uint8_t value) | |
| { | |
| uint32_t tem; | |
| CHECK_PARAM(PARAM_SCT_OUTPUT_NUM(outnum)); | |
| CHECK_PARAM(PARAM_SCT_RES(value)); | |
| tem = LPC_SCT->RES; | |
| tem &= ~(0x03 << (2*outnum)); | |
| tem |= (value << (2*outnum)); | |
| LPC_SCT->RES = tem; | |
| } | |
| /*********************************************************************//** | |
| * @brief Clear SCT event generating interrupt request | |
| * @param[in] even_num SCT event number, should be: 0..15 | |
| * @return None | |
| *********************************************************************/ | |
| void SCT_EventFlagClear(uint8_t even_num) | |
| { | |
| CHECK_PARAM(PARAM_SCT_EVENT(even_num)); | |
| LPC_SCT->EVFLAG = (1 << (even_num)); | |
| } | |
| /** | |
| * @} | |
| */ | |
| #endif /* _SCT */ | |
| /** | |
| * @} | |
| */ | |
| /* --------------------------------- End Of File ------------------------------ */ | |