60 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/****************************************************************************
							 | 
						||
| 
								 | 
							
								 *   $Id:: timer16.h 6956 2011-03-23 23:03:25Z usb00423                     $
							 | 
						||
| 
								 | 
							
								 *   Project: NXP LPC13Uxx software example
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 *   Description:
							 | 
						||
| 
								 | 
							
								 *     This file contains definition and prototype for 16-bit timer 
							 | 
						||
| 
								 | 
							
								 *     configuration.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 ****************************************************************************
							 | 
						||
| 
								 | 
							
								 * 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.
							 | 
						||
| 
								 | 
							
								****************************************************************************/
							 | 
						||
| 
								 | 
							
								#ifndef __TIMER16_H 
							 | 
						||
| 
								 | 
							
								#define __TIMER16_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* The test is either MAT_OUT or CAP_IN. Default is MAT_OUT. */
							 | 
						||
| 
								 | 
							
								#define TIMER_MATCH		0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define EMC0	4
							 | 
						||
| 
								 | 
							
								#define EMC1	6
							 | 
						||
| 
								 | 
							
								#define EMC2	8
							 | 
						||
| 
								 | 
							
								#define EMC3	10
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define MATCH0	(1<<0)
							 | 
						||
| 
								 | 
							
								#define MATCH1	(1<<1)
							 | 
						||
| 
								 | 
							
								#define MATCH2	(1<<2)
							 | 
						||
| 
								 | 
							
								#define MATCH3	(1<<3)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								///* For 16-bit timer, make sure that TIME_INTERVAL should be no
							 | 
						||
| 
								 | 
							
								//greater than 0xFFFF. */
							 | 
						||
| 
								 | 
							
								#ifndef TIME_INTERVAL
							 | 
						||
| 
								 | 
							
								#define TIME_INTERVAL	(SystemCoreClock/1000 - 1)
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void delayMs(uint8_t timer_num, uint32_t delayInMs);
							 | 
						||
| 
								 | 
							
								void CT16B0_IRQHandler(void);
							 | 
						||
| 
								 | 
							
								void CT16B1_IRQHandler(void);
							 | 
						||
| 
								 | 
							
								void enable_timer16(uint8_t timer_num);
							 | 
						||
| 
								 | 
							
								void disable_timer16(uint8_t timer_num);
							 | 
						||
| 
								 | 
							
								void reset_timer16(uint8_t timer_num);
							 | 
						||
| 
								 | 
							
								void set_timer16_capture(uint8_t timer_num, uint8_t location );
							 | 
						||
| 
								 | 
							
								void set_timer16_match(uint8_t timer_num, uint8_t match_enable, uint8_t location);
							 | 
						||
| 
								 | 
							
								void init_timer16(uint8_t timer_num, uint32_t timerInterval);
							 | 
						||
| 
								 | 
							
								void init_timer16PWM(uint8_t timer_num, uint32_t period, uint8_t match_enable, uint8_t cap_enabled);
							 | 
						||
| 
								 | 
							
								void setMatch_timer16PWM (uint8_t timer_num, uint8_t match_nr, uint32_t value);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* end __TIMER16_H */
							 | 
						||
| 
								 | 
							
								/*****************************************************************************
							 | 
						||
| 
								 | 
							
								**                            End Of File
							 | 
						||
| 
								 | 
							
								******************************************************************************/
							 |