123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- /*""FILE COMMENT""*******************************************************
- * System Name : Timer TMR API for RX62Nxx
- * File Name : r_pdl_tmr.h
- * Version : 1.02
- * Contents : Timer TMR API header
- * Customer :
- * Model :
- * Order :
- * CPU : RX
- * Compiler : RXC
- * OS : Nothing
- * Programmer :
- * Note :
- ************************************************************************
- * Copyright, 2011. Renesas Electronics Corporation
- * and Renesas Solutions Corporation
- ************************************************************************
- * History : 2011.04.08
- * : Ver 1.02
- * : CS-5 release.
- *""FILE COMMENT END""**************************************************/
- #ifndef R_PDL_TMR_H
- #define R_PDL_TMR_H
- #include "r_pdl_common_defs_RX62Nxx.h"
- /* Function prototypes */
- bool R_TMR_Set(
- uint8_t
- );
- bool R_TMR_CreateChannel(
- uint8_t,
- uint32_t,
- uint8_t,
- uint8_t,
- uint8_t,
- uint8_t,
- void *,
- void *,
- void *,
- uint8_t
- );
- bool R_TMR_CreateUnit(
- uint8_t,
- uint32_t,
- uint8_t,
- uint16_t,
- uint16_t,
- uint16_t,
- void *,
- void *,
- void *,
- uint8_t
- );
- bool R_TMR_CreatePeriodic(
- uint8_t,
- uint32_t,
- float,
- float,
- void *,
- void *,
- uint8_t
- );
- bool R_TMR_CreateOneShot(
- uint8_t,
- uint32_t,
- float,
- void *,
- uint8_t
- );
- bool R_TMR_Destroy(
- uint8_t
- );
- bool R_TMR_ControlChannel(
- uint8_t,
- uint32_t,
- uint8_t,
- uint8_t,
- uint8_t
- );
- bool R_TMR_ControlUnit(
- uint8_t,
- uint32_t,
- uint16_t,
- uint16_t,
- uint16_t
- );
- bool R_TMR_ControlPeriodic(
- uint8_t,
- uint32_t,
- float,
- float
- );
- bool R_TMR_ReadChannel(
- uint8_t,
- uint8_t *,
- uint8_t *,
- uint8_t *,
- uint8_t *
- );
- bool R_TMR_ReadUnit(
- uint8_t,
- uint8_t *,
- uint16_t *,
- uint16_t *,
- uint16_t *
- );
- /* Pin selection */
- #define PDL_TMR_PIN_TMR0_A 0x01u
- #define PDL_TMR_PIN_TMR0_B 0x02u
- #define PDL_TMR_PIN_TMR1_A 0x04u
- #define PDL_TMR_PIN_TMR1_B 0x08u
- #define PDL_TMR_PIN_TMR2_A 0x10u
- #define PDL_TMR_PIN_TMR2_B 0x20u
- #define PDL_TMR_PIN_TMR3_A 0x40u
- #define PDL_TMR_PIN_TMR3_B 0x80u
- /* Counter clock sources */
- #define PDL_TMR_CLK_OFF 0x00000001ul
- #define PDL_TMR_CLK_EXT_RISING 0x00000002ul
- #define PDL_TMR_CLK_EXT_FALLING 0x00000004ul
- #define PDL_TMR_CLK_EXT_BOTH 0x00000008ul
- #define PDL_TMR_CLK_PCLK_DIV_1 0x00000010ul
- #define PDL_TMR_CLK_PCLK_DIV_2 0x00000020ul
- #define PDL_TMR_CLK_PCLK_DIV_8 0x00000040ul
- #define PDL_TMR_CLK_PCLK_DIV_32 0x00000080ul
- #define PDL_TMR_CLK_PCLK_DIV_64 0x00000100ul
- #define PDL_TMR_CLK_PCLK_DIV_1024 0x00000200ul
- #define PDL_TMR_CLK_PCLK_DIV_8192 0x00000400ul
- #define PDL_TMR_CLK_TMR1_OVERFLOW 0x00000800ul
- #define PDL_TMR_CLK_TMR3_OVERFLOW 0x00001000ul
- #define PDL_TMR_CLK_TMR0_CM_A 0x00002000ul
- #define PDL_TMR_CLK_TMR2_CM_A 0x00004000ul
- /* A/D trigger control */
- #define PDL_TMR_ADC_TRIGGER_DISABLE 0x00008000ul
- #define PDL_TMR_ADC_TRIGGER_ENABLE 0x00010000ul
- /* Counter clearing options */
- #define PDL_TMR_CLEAR_DISABLE 0x00020000ul
- #define PDL_TMR_CLEAR_CM_A 0x00040000ul
- #define PDL_TMR_CLEAR_CM_B 0x00080000ul
- #define PDL_TMR_CLEAR_RESET_RISING 0x00100000ul
- #define PDL_TMR_CLEAR_RESET_HIGH 0x00200000ul
- /* DTC CMA trigger control */
- #define PDL_TMR_CM_A_DTC_TRIGGER_DISABLE 0x00400000ul
- #define PDL_TMR_CM_A_DTC_TRIGGER_ENABLE 0x00800000ul
- /* DTC CMB trigger control */
- #define PDL_TMR_CM_B_DTC_TRIGGER_DISABLE 0x01000000ul
- #define PDL_TMR_CM_B_DTC_TRIGGER_ENABLE 0x02000000ul
- /* Output control options */
- #define PDL_TMR_OUTPUT_IGNORE_CM_A 0x01u
- #define PDL_TMR_OUTPUT_LOW_CM_A 0x02u
- #define PDL_TMR_OUTPUT_HIGH_CM_A 0x04u
- #define PDL_TMR_OUTPUT_INV_CM_A 0x08u
- #define PDL_TMR_OUTPUT_IGNORE_CM_B 0x10u
- #define PDL_TMR_OUTPUT_LOW_CM_B 0x20u
- #define PDL_TMR_OUTPUT_HIGH_CM_B 0x40u
- #define PDL_TMR_OUTPUT_INV_CM_B 0x80u
- /* Channels and units */
- #define PDL_TMR_TMR0 0
- #define PDL_TMR_TMR1 1
- #define PDL_TMR_TMR2 2
- #define PDL_TMR_TMR3 3
- #define PDL_TMR_UNIT0 4
- #define PDL_TMR_UNIT1 5
- /* Period or frequency selection */
- #define PDL_TMR_PERIOD 0x00000001ul
- #define PDL_TMR_FREQUENCY 0x00000002ul
- /* Output pin control */
- #define PDL_TMR_OUTPUT_HIGH 0x00000004ul
- #define PDL_TMR_OUTPUT_LOW 0x00000008ul
- #define PDL_TMR_OUTPUT_OFF 0x00000010ul
- #define PDL_TMR_OUTPUT_ENABLE 0x00000020ul
- #define PDL_TMR_OUTPUT_DISABLE 0x00000040ul
- /* ADC trigger control */
- #define PDL_TMR_ADC_TRIGGER_ON 0x00000080ul
- #define PDL_TMR_ADC_TRIGGER_OFF 0x00000100ul
- /* Pulse DTC trigger control */
- #define PDL_TMR_PULSE_DTC_TRIGGER_DISABLE 0x00000200ul
- #define PDL_TMR_PULSE_DTC_TRIGGER_ENABLE 0x00000400ul
- /* Period DTC trigger control */
- #define PDL_TMR_PERIOD_DTC_TRIGGER_DISABLE 0x00000800ul
- #define PDL_TMR_PERIOD_DTC_TRIGGER_ENABLE 0x00001000ul
- /* CPU control */
- #define PDL_TMR_CPU_ON 0x00002000ul
- #define PDL_TMR_CPU_OFF 0x00004000ul
- /* Timer counter control */
- #define PDL_TMR_STOP 0x00008000ul
- #define PDL_TMR_START 0x00010000ul
- /* Register selections */
- #define PDL_TMR_COUNTER 0x00020000ul
- #define PDL_TMR_TIME_CONSTANT_A 0x00040000ul
- #define PDL_TMR_TIME_CONSTANT_B 0x00080000ul
- #endif
- /* End of file */
|