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 | ||
|  | ******************************************************************************/ |