AD7190

Dependencies:   mbed

Committer:
peng103617
Date:
Thu Aug 06 06:51:32 2020 +0000
Revision:
0:e74e2fd7a61e
AD7190

Who changed what in which revision?

UserRevisionLine numberNew contents of line
peng103617 0:e74e2fd7a61e 1 /***************************************************************************//**
peng103617 0:e74e2fd7a61e 2 * @file TIME_AD.c
peng103617 0:e74e2fd7a61e 3 * @brief Implementation of TIME Driver.
peng103617 0:e74e2fd7a61e 4 * @author Dan Nechita
peng103617 0:e74e2fd7a61e 5 ********************************************************************************
peng103617 0:e74e2fd7a61e 6 * Copyright 2012(c) Analog Devices, Inc.
peng103617 0:e74e2fd7a61e 7 *
peng103617 0:e74e2fd7a61e 8 * All rights reserved.
peng103617 0:e74e2fd7a61e 9 *
peng103617 0:e74e2fd7a61e 10 * Redistribution and use in source and binary forms, with or without
peng103617 0:e74e2fd7a61e 11 * modification, are permitted provided that the following conditions are met:
peng103617 0:e74e2fd7a61e 12 * - Redistributions of source code must retain the above copyright
peng103617 0:e74e2fd7a61e 13 * notice, this list of conditions and the following disclaimer.
peng103617 0:e74e2fd7a61e 14 * - Redistributions in binary form must reproduce the above copyright
peng103617 0:e74e2fd7a61e 15 * notice, this list of conditions and the following disclaimer in
peng103617 0:e74e2fd7a61e 16 * the documentation and/or other materials provided with the
peng103617 0:e74e2fd7a61e 17 * distribution.
peng103617 0:e74e2fd7a61e 18 * - Neither the name of Analog Devices, Inc. nor the names of its
peng103617 0:e74e2fd7a61e 19 * contributors may be used to endorse or promote products derived
peng103617 0:e74e2fd7a61e 20 * from this software without specific prior written permission.
peng103617 0:e74e2fd7a61e 21 * - The use of this software may or may not infringe the patent rights
peng103617 0:e74e2fd7a61e 22 * of one or more patent holders. This license does not release you
peng103617 0:e74e2fd7a61e 23 * from the requirement that you obtain separate licenses from these
peng103617 0:e74e2fd7a61e 24 * patent holders to use this software.
peng103617 0:e74e2fd7a61e 25 * - Use of the software either in source or binary form, must be run
peng103617 0:e74e2fd7a61e 26 * on or directly connected to an Analog Devices Inc. component.
peng103617 0:e74e2fd7a61e 27 *
peng103617 0:e74e2fd7a61e 28 * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
peng103617 0:e74e2fd7a61e 29 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
peng103617 0:e74e2fd7a61e 30 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
peng103617 0:e74e2fd7a61e 31 * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
peng103617 0:e74e2fd7a61e 32 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
peng103617 0:e74e2fd7a61e 33 * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR
peng103617 0:e74e2fd7a61e 34 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
peng103617 0:e74e2fd7a61e 35 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
peng103617 0:e74e2fd7a61e 36 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
peng103617 0:e74e2fd7a61e 37 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
peng103617 0:e74e2fd7a61e 38 *
peng103617 0:e74e2fd7a61e 39 *******************************************************************************/
peng103617 0:e74e2fd7a61e 40
peng103617 0:e74e2fd7a61e 41 /******************************************************************************/
peng103617 0:e74e2fd7a61e 42 /***************************** Include Files **********************************/
peng103617 0:e74e2fd7a61e 43 /******************************************************************************/
peng103617 0:e74e2fd7a61e 44 #include "TIME_AD.h"
peng103617 0:e74e2fd7a61e 45 #include "mbed.h"
peng103617 0:e74e2fd7a61e 46 /******************************************************************************/
peng103617 0:e74e2fd7a61e 47 /************************ Variables Declarations ******************************/
peng103617 0:e74e2fd7a61e 48 /******************************************************************************/
peng103617 0:e74e2fd7a61e 49
peng103617 0:e74e2fd7a61e 50
peng103617 0:e74e2fd7a61e 51 /******************************************************************************/
peng103617 0:e74e2fd7a61e 52 /************************ Functions Definitions *******************************/
peng103617 0:e74e2fd7a61e 53 /******************************************************************************/
peng103617 0:e74e2fd7a61e 54
peng103617 0:e74e2fd7a61e 55 /***************************************************************************//**
peng103617 0:e74e2fd7a61e 56 * @brief Initializes the timer used in this driver.
peng103617 0:e74e2fd7a61e 57 *
peng103617 0:e74e2fd7a61e 58 * @return status - Result of the initialization procedure.
peng103617 0:e74e2fd7a61e 59 * Example: 1 - if initialization was successful;
peng103617 0:e74e2fd7a61e 60 * 0 - if initialization was unsuccessful.
peng103617 0:e74e2fd7a61e 61 *******************************************************************************/
peng103617 0:e74e2fd7a61e 62 unsigned char TIME_Init(void)
peng103617 0:e74e2fd7a61e 63 {
peng103617 0:e74e2fd7a61e 64 // Add your code here.
peng103617 0:e74e2fd7a61e 65 return 1;
peng103617 0:e74e2fd7a61e 66 }
peng103617 0:e74e2fd7a61e 67
peng103617 0:e74e2fd7a61e 68 /***************************************************************************//**
peng103617 0:e74e2fd7a61e 69 * @brief The timer begins to count in steps of microseconds(us) until the user
peng103617 0:e74e2fd7a61e 70 * calls a stop measurement function.
peng103617 0:e74e2fd7a61e 71 *
peng103617 0:e74e2fd7a61e 72 * @return None.
peng103617 0:e74e2fd7a61e 73 *******************************************************************************/
peng103617 0:e74e2fd7a61e 74 void TIME_StartMeasure(void)
peng103617 0:e74e2fd7a61e 75 {
peng103617 0:e74e2fd7a61e 76 // Add your code here.
peng103617 0:e74e2fd7a61e 77 }
peng103617 0:e74e2fd7a61e 78
peng103617 0:e74e2fd7a61e 79 /***************************************************************************//**
peng103617 0:e74e2fd7a61e 80 * @brief Stops the measurement process when the functions is called.
peng103617 0:e74e2fd7a61e 81 *
peng103617 0:e74e2fd7a61e 82 * @return Time(in microseconds) elapsed since the measurement began.
peng103617 0:e74e2fd7a61e 83 *******************************************************************************/
peng103617 0:e74e2fd7a61e 84 unsigned long TIME_StopMeasure(void)
peng103617 0:e74e2fd7a61e 85 {
peng103617 0:e74e2fd7a61e 86 // Add your code here.
peng103617 0:e74e2fd7a61e 87 return 0;
peng103617 0:e74e2fd7a61e 88 }
peng103617 0:e74e2fd7a61e 89
peng103617 0:e74e2fd7a61e 90 /***************************************************************************//**
peng103617 0:e74e2fd7a61e 91 * @brief Creates a delay of microseconds.
peng103617 0:e74e2fd7a61e 92 *
peng103617 0:e74e2fd7a61e 93 * @return None.
peng103617 0:e74e2fd7a61e 94 *******************************************************************************/
peng103617 0:e74e2fd7a61e 95 void TIME_DelayUs(unsigned short usUnits)
peng103617 0:e74e2fd7a61e 96 {
peng103617 0:e74e2fd7a61e 97 // Add your code here.
peng103617 0:e74e2fd7a61e 98 wait_us(usUnits);
peng103617 0:e74e2fd7a61e 99 }
peng103617 0:e74e2fd7a61e 100
peng103617 0:e74e2fd7a61e 101 /***************************************************************************//**
peng103617 0:e74e2fd7a61e 102 * @brief Creates a delay of milliseconds.
peng103617 0:e74e2fd7a61e 103 *
peng103617 0:e74e2fd7a61e 104 * @return None.
peng103617 0:e74e2fd7a61e 105 *******************************************************************************/
peng103617 0:e74e2fd7a61e 106 void TIME_DelayMs(unsigned short msUnits)
peng103617 0:e74e2fd7a61e 107 {
peng103617 0:e74e2fd7a61e 108 // Add your code here.
peng103617 0:e74e2fd7a61e 109 wait_ms(msUnits);
peng103617 0:e74e2fd7a61e 110 }