123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522 |
- /*""FILE COMMENT""*******************************************************
- * System Name : Multi-function Timer Pulse Unit API for RX62N
- * File Name : r_pdl_mtu2.h
- * Version : 1.02
- * Contents : MTU2 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_MTU2_H
- #define R_PDL_MTU2_H
- #include "r_pdl_common_defs_RX62Nxx.h"
- /* Function prototypes */
- bool R_MTU2_Set(
- uint16_t
- );
- bool R_MTU2_Create(
- uint8_t,
- void *
- );
- bool R_MTU2_Destroy(
- uint8_t
- );
- bool R_MTU2_ControlChannel(
- uint8_t,
- void *
- );
- bool R_MTU2_ControlUnit(
- uint8_t,
- void *
- );
- bool R_MTU2_ReadChannel(
- uint8_t,
- uint8_t *,
- uint16_t *,
- uint16_t *,
- uint16_t *,
- uint16_t *,
- uint16_t *,
- uint16_t *,
- uint16_t *
- );
- bool R_MTU2_ReadUnit(
- uint8_t,
- uint16_t *,
- uint8_t *
- );
- /* Pin selection */
- #define PDL_MTU2_PIN_3C_A 0x0001u
- #define PDL_MTU2_PIN_3C_B 0x0002u
- #define PDL_MTU2_PIN_3BD_A 0x0004u
- #define PDL_MTU2_PIN_3BD_B 0x0008u
- #define PDL_MTU2_PIN_4AC_A 0x0010u
- #define PDL_MTU2_PIN_4AC_B 0x0020u
- #define PDL_MTU2_PIN_4BD_A 0x0040u
- #define PDL_MTU2_PIN_4BD_B 0x0080u
- #define PDL_MTU2_PIN_5UVW_A 0x0100u
- #define PDL_MTU2_PIN_5UVW_B 0x0200u
- #define PDL_MTU2_PIN_CLKABCD_A 0x0400u
- #define PDL_MTU2_PIN_CLKABCD_B 0x0800u
- #define PDL_MTU2_PIN_11UVW_A 0x1000u
- #define PDL_MTU2_PIN_11UVW_B 0x2000u
- #define PDL_MTU2_PIN_CLKEFGH_A 0x4000u
- #define PDL_MTU2_PIN_CLKEFGH_B 0x8000u
- /* Operation mode */
- #define PDL_MTU2_MODE_NORMAL 0x00000001u
- #define PDL_MTU2_MODE_PWM1 0x00000002u
- #define PDL_MTU2_MODE_PWM2 0x00000004u
- #define PDL_MTU2_MODE_PHASE1 0x00000008u
- #define PDL_MTU2_MODE_PHASE2 0x00000010u
- #define PDL_MTU2_MODE_PHASE3 0x00000020u
- #define PDL_MTU2_MODE_PHASE4 0x00000040u
- #define PDL_MTU2_MODE_PWM_RS 0x00000080u
- #define PDL_MTU2_MODE_PWM_COMP1 0x00000100u
- #define PDL_MTU2_MODE_PWM_COMP2 0x00000200u
- #define PDL_MTU2_MODE_PWM_COMP3 0x00000400u
- /* Synchronous mode control */
- #define PDL_MTU2_SYNC_DISABLE 0x00000800u
- #define PDL_MTU2_SYNC_ENABLE 0x00001000u
- /* TGRA DMAC / DTC trigger control */
- #define PDL_MTU2_TGRA_DMAC_DTC_TRIGGER_DISABLE 0x00002000u
- #define PDL_MTU2_TGRA_DMAC_TRIGGER_ENABLE 0x00004000u
- #define PDL_MTU2_TGRA_DTC_TRIGGER_ENABLE 0x00008000u
- /* TGRB DTC trigger control */
- #define PDL_MTU2_TGRB_DTC_TRIGGER_DISABLE 0x00010000u
- #define PDL_MTU2_TGRB_DTC_TRIGGER_ENABLE 0x00020000u
- /* TGRC DTC trigger control */
- #define PDL_MTU2_TGRC_DTC_TRIGGER_DISABLE 0x00040000u
- #define PDL_MTU2_TGRC_DTC_TRIGGER_ENABLE 0x00080000u
- /* TGRD DTC trigger control */
- #define PDL_MTU2_TGRD_DTC_TRIGGER_DISABLE 0x00100000u
- #define PDL_MTU2_TGRD_DTC_TRIGGER_ENABLE 0x00200000u
- /* TGRU DTC trigger control */
- #define PDL_MTU2_TGRU_DTC_TRIGGER_DISABLE 0x00400000u
- #define PDL_MTU2_TGRU_DTC_TRIGGER_ENABLE 0x00800000u
- /* TGRV DTC trigger control */
- #define PDL_MTU2_TGRV_DTC_TRIGGER_DISABLE 0x01000000u
- #define PDL_MTU2_TGRV_DTC_TRIGGER_ENABLE 0x02000000u
- /* TGRW DTC trigger control */
- #define PDL_MTU2_TGRW_DTC_TRIGGER_DISABLE 0x04000000u
- #define PDL_MTU2_TGRW_DTC_TRIGGER_ENABLE 0x08000000u
- /* TCIV DTC trigger control */
- #define PDL_MTU2_TCIV_DTC_TRIGGER_DISABLE 0x10000000u
- #define PDL_MTU2_TCIV_DTC_TRIGGER_ENABLE 0x20000000u
- /* TCNT counter clock sources */
- #define PDL_MTU2_CLK_PCLK_DIV_1 0x00000001ul
- #define PDL_MTU2_CLK_PCLK_DIV_4 0x00000002ul
- #define PDL_MTU2_CLK_PCLK_DIV_16 0x00000004ul
- #define PDL_MTU2_CLK_PCLK_DIV_64 0x00000008ul
- #define PDL_MTU2_CLK_PCLK_DIV_256 0x00000010ul
- #define PDL_MTU2_CLK_PCLK_DIV_1024 0x00000020ul
- #define PDL_MTU2_CLK_MTCLKA 0x00000040ul
- #define PDL_MTU2_CLK_MTCLKB 0x00000080ul
- #define PDL_MTU2_CLK_MTCLKC 0x00000100ul
- #define PDL_MTU2_CLK_MTCLKD 0x00000200ul
- #define PDL_MTU2_CLK_MTCLKE 0x00000400ul
- #define PDL_MTU2_CLK_MTCLKF 0x00000800ul
- #define PDL_MTU2_CLK_MTCLKG 0x00001000ul
- #define PDL_MTU2_CLK_MTCLKH 0x00002000ul
- #define PDL_MTU2_CLK_CASCADE 0x00004000ul
- /* TNCT counter clock edge selection */
- #define PDL_MTU2_CLK_RISING 0x00008000ul
- #define PDL_MTU2_CLK_FALLING 0x00010000ul
- #define PDL_MTU2_CLK_BOTH 0x00020000ul
- /* TCNT counter clearing options */
- #define PDL_MTU2_CLEAR_DISABLE 0x00040000ul
- #define PDL_MTU2_CLEAR_TGRA 0x00080000ul
- #define PDL_MTU2_CLEAR_TGRB 0x00100000ul
- #define PDL_MTU2_CLEAR_SYNC 0x00200000ul
- #define PDL_MTU2_CLEAR_TGRC 0x00400000ul
- #define PDL_MTU2_CLEAR_TGRD 0x00800000ul
- /* TCNTU counter clock sources */
- #define PDL_MTU2_CLKU_PCLK_DIV_1 0x00000001ul
- #define PDL_MTU2_CLKU_PCLK_DIV_4 0x00000002ul
- #define PDL_MTU2_CLKU_PCLK_DIV_16 0x00000004ul
- #define PDL_MTU2_CLKU_PCLK_DIV_64 0x00000008ul
- /* TCNTV counter clock sources */
- #define PDL_MTU2_CLKV_PCLK_DIV_1 0x00000010ul
- #define PDL_MTU2_CLKV_PCLK_DIV_4 0x00000020ul
- #define PDL_MTU2_CLKV_PCLK_DIV_16 0x00000040ul
- #define PDL_MTU2_CLKV_PCLK_DIV_64 0x00000080ul
- /* TCNTW counter clock sources */
- #define PDL_MTU2_CLKW_PCLK_DIV_1 0x00000100ul
- #define PDL_MTU2_CLKW_PCLK_DIV_4 0x00000200ul
- #define PDL_MTU2_CLKW_PCLK_DIV_16 0x00000400ul
- #define PDL_MTU2_CLKW_PCLK_DIV_64 0x00000800ul
- /* U,V,W counter clearing options */
- #define PDL_MTU2_CLEAR_TGRU_DISABLE 0x00001000ul
- #define PDL_MTU2_CLEAR_TGRU_ENABLE 0x00002000ul
- #define PDL_MTU2_CLEAR_TGRV_DISABLE 0x00004000ul
- #define PDL_MTU2_CLEAR_TGRV_ENABLE 0x00008000ul
- #define PDL_MTU2_CLEAR_TGRW_DISABLE 0x00010000ul
- #define PDL_MTU2_CLEAR_TGRW_ENABLE 0x00020000ul
- /* ADC conversion trigger control */
- #define PDL_MTU2_ADC_TRIG_TGRA_DISABLE 0x00000001ul
- #define PDL_MTU2_ADC_TRIG_TGRA_ENABLE 0x00000002ul
- #define PDL_MTU2_ADC_TRIG_TROUGH_DISABLE 0x00000004ul
- #define PDL_MTU2_ADC_TRIG_TROUGH_ENABLE 0x00000008ul
- /* ADC trigger interrupt skipping */
- #define PDL_MTU2_ADC_TRIG_A_TROUGH_INT_SKIP_DISABLE 0x00000010ul
- #define PDL_MTU2_ADC_TRIG_A_TROUGH_INT_SKIP_ENABLE 0x00000020ul
- #define PDL_MTU2_ADC_TRIG_B_TROUGH_INT_SKIP_DISABLE 0x00000040ul
- #define PDL_MTU2_ADC_TRIG_B_TROUGH_INT_SKIP_ENABLE 0x00000080ul
- #define PDL_MTU2_ADC_TRIG_A_CREST_INT_SKIP_DISABLE 0x00000100ul
- #define PDL_MTU2_ADC_TRIG_A_CREST_INT_SKIP_ENABLE 0x00000200ul
- #define PDL_MTU2_ADC_TRIG_B_CREST_INT_SKIP_DISABLE 0x00000400ul
- #define PDL_MTU2_ADC_TRIG_B_CREST_INT_SKIP_ENABLE 0x00000800ul
- /* ADC trigger control */
- #define PDL_MTU2_ADC_TRIG_A_DOWN_DISABLE 0x00001000ul
- #define PDL_MTU2_ADC_TRIG_A_DOWN_ENABLE 0x00002000ul
- #define PDL_MTU2_ADC_TRIG_B_DOWN_DISABLE 0x00004000ul
- #define PDL_MTU2_ADC_TRIG_B_DOWN_ENABLE 0x00008000ul
- #define PDL_MTU2_ADC_TRIG_A_UP_DISABLE 0x00010000ul
- #define PDL_MTU2_ADC_TRIG_A_UP_ENABLE 0x00020000ul
- #define PDL_MTU2_ADC_TRIG_B_UP_DISABLE 0x00040000ul
- #define PDL_MTU2_ADC_TRIG_B_UP_ENABLE 0x00080000ul
- /* Cycle set buffer transfer timing */
- #define PDL_MTU2_CSB_DISABLE 0x0001u
- #define PDL_MTU2_CSB_CREST 0x0002u
- #define PDL_MTU2_CSB_TROUGH 0x0004u
- #define PDL_MTU2_CSB_BOTH 0x0008u
- /* Buffer operation */
- #define PDL_MTU2_BUFFER_AC_DISABLE 0x0010u
- #define PDL_MTU2_BUFFER_AC_ENABLE 0x0020u
- #define PDL_MTU2_BUFFER_BD_DISABLE 0x0040u
- #define PDL_MTU2_BUFFER_BD_ENABLE 0x0080u
- #define PDL_MTU2_BUFFER_EF_DISABLE 0x0100u
- #define PDL_MTU2_BUFFER_EF_ENABLE 0x0200u
- /* Buffer data transfer */
- #define PDL_MTU2_BUFFER_AC_CM_A 0x0400u
- #define PDL_MTU2_BUFFER_AC_TCNT_CLR 0x0800u
- #define PDL_MTU2_BUFFER_BD_CM_B 0x1000u
- #define PDL_MTU2_BUFFER_BD_TCNT_CLR 0x2000u
- #define PDL_MTU2_BUFFER_EF_CM_E 0x4000u
- #define PDL_MTU2_BUFFER_EF_TCNT_CLR 0x8000u
- /* TGRA options */
- #define PDL_MTU2_A_OC_DISABLED 0x00000001ul
- #define PDL_MTU2_A_OC_LOW 0x00000002ul
- #define PDL_MTU2_A_OC_LOW_CM_HIGH 0x00000004ul
- #define PDL_MTU2_A_OC_LOW_CM_INV 0x00000008ul
- #define PDL_MTU2_A_OC_HIGH_CM_LOW 0x00000010ul
- #define PDL_MTU2_A_OC_HIGH 0x00000020ul
- #define PDL_MTU2_A_OC_HIGH_CM_INV 0x00000040ul
- #define PDL_MTU2_A_IC_RISING_EDGE 0x00000080ul
- #define PDL_MTU2_A_IC_FALLING_EDGE 0x00000100ul
- #define PDL_MTU2_A_IC_BOTH_EDGES 0x00000200ul
- #define PDL_MTU2_A_IC_COUNT 0x00000400ul
- #define PDL_MTU2_A_IC_CM_IC 0x00000800ul
- /* TGRB options */
- #define PDL_MTU2_B_OC_DISABLED 0x00001000ul
- #define PDL_MTU2_B_OC_LOW 0x00002000ul
- #define PDL_MTU2_B_OC_LOW_CM_HIGH 0x00004000ul
- #define PDL_MTU2_B_OC_LOW_CM_INV 0x00008000ul
- #define PDL_MTU2_B_OC_HIGH_CM_LOW 0x00010000ul
- #define PDL_MTU2_B_OC_HIGH 0x00020000ul
- #define PDL_MTU2_B_OC_HIGH_CM_INV 0x00040000ul
- #define PDL_MTU2_B_IC_RISING_EDGE 0x00080000ul
- #define PDL_MTU2_B_IC_FALLING_EDGE 0x00100000ul
- #define PDL_MTU2_B_IC_BOTH_EDGES 0x00200000ul
- #define PDL_MTU2_B_IC_COUNT 0x00400000ul
- #define PDL_MTU2_B_IC_CM_IC 0x00800000ul
- /* Cascade input capture control */
- #define PDL_MTU2_CASCADE_AL_IC_EXC_H 0x01000000ul
- #define PDL_MTU2_CASCADE_AL_IC_INC_H 0x02000000ul
- #define PDL_MTU2_CASCADE_BL_IC_EXC_H 0x04000000ul
- #define PDL_MTU2_CASCADE_BL_IC_INC_H 0x08000000ul
- #define PDL_MTU2_CASCADE_AH_IC_EXC_L 0x10000000ul
- #define PDL_MTU2_CASCADE_AH_IC_INC_L 0x20000000ul
- #define PDL_MTU2_CASCADE_BH_IC_EXC_L 0x40000000ul
- #define PDL_MTU2_CASCADE_BH_IC_INC_L 0x80000000ul
- /* TGRC options */
- #define PDL_MTU2_C_OC_DISABLED 0x00000001ul
- #define PDL_MTU2_C_OC_LOW 0x00000002ul
- #define PDL_MTU2_C_OC_LOW_CM_HIGH 0x00000004ul
- #define PDL_MTU2_C_OC_LOW_CM_INV 0x00000008ul
- #define PDL_MTU2_C_OC_HIGH_CM_LOW 0x00000010ul
- #define PDL_MTU2_C_OC_HIGH 0x00000020ul
- #define PDL_MTU2_C_OC_HIGH_CM_INV 0x00000040ul
- #define PDL_MTU2_C_IC_RISING_EDGE 0x00000080ul
- #define PDL_MTU2_C_IC_FALLING_EDGE 0x00000100ul
- #define PDL_MTU2_C_IC_BOTH_EDGES 0x00000200ul
- #define PDL_MTU2_C_IC_COUNT 0x00000400ul
- /* TGRD options */
- #define PDL_MTU2_D_OC_DISABLED 0x00000800ul
- #define PDL_MTU2_D_OC_LOW 0x00001000ul
- #define PDL_MTU2_D_OC_LOW_CM_HIGH 0x00002000ul
- #define PDL_MTU2_D_OC_LOW_CM_INV 0x00004000ul
- #define PDL_MTU2_D_OC_HIGH_CM_LOW 0x00008000ul
- #define PDL_MTU2_D_OC_HIGH 0x00010000ul
- #define PDL_MTU2_D_OC_HIGH_CM_INV 0x00020000ul
- #define PDL_MTU2_D_IC_RISING_EDGE 0x00040000ul
- #define PDL_MTU2_D_IC_FALLING_EDGE 0x00080000ul
- #define PDL_MTU2_D_IC_BOTH_EDGES 0x00100000ul
- #define PDL_MTU2_D_IC_COUNT 0x00200000ul
- /* TGRU options */
- #define PDL_MTU2_U_CM 0x00000001ul
- #define PDL_MTU2_U_IC_RISING_EDGE 0x00000002ul
- #define PDL_MTU2_U_IC_FALLING_EDGE 0x00000004ul
- #define PDL_MTU2_U_IC_BOTH_EDGES 0x00000008ul
- #define PDL_MTU2_U_IC_PWM_LOW_TROUGH 0x00000010ul
- #define PDL_MTU2_U_IC_PWM_LOW_CREST 0x00000020ul
- #define PDL_MTU2_U_IC_PWM_LOW_BOTH 0x00000040ul
- #define PDL_MTU2_U_IC_PWM_HIGH_TROUGH 0x00000080ul
- #define PDL_MTU2_U_IC_PWM_HIGH_CREST 0x00000100ul
- #define PDL_MTU2_U_IC_PWM_HIGH_BOTH 0x00000200ul
- /* TGRV options */
- #define PDL_MTU2_V_CM 0x00000400ul
- #define PDL_MTU2_V_IC_RISING_EDGE 0x00000800ul
- #define PDL_MTU2_V_IC_FALLING_EDGE 0x00001000ul
- #define PDL_MTU2_V_IC_BOTH_EDGES 0x00002000ul
- #define PDL_MTU2_V_IC_PWM_LOW_TROUGH 0x00004000ul
- #define PDL_MTU2_V_IC_PWM_LOW_CREST 0x00008000ul
- #define PDL_MTU2_V_IC_PWM_LOW_BOTH 0x00010000ul
- #define PDL_MTU2_V_IC_PWM_HIGH_TROUGH 0x00020000ul
- #define PDL_MTU2_V_IC_PWM_HIGH_CREST 0x00040000ul
- #define PDL_MTU2_V_IC_PWM_HIGH_BOTH 0x00080000ul
- /* TGRW options */
- #define PDL_MTU2_W_CM 0x00100000ul
- #define PDL_MTU2_W_IC_RISING_EDGE 0x00200000ul
- #define PDL_MTU2_W_IC_FALLING_EDGE 0x00400000ul
- #define PDL_MTU2_W_IC_BOTH_EDGES 0x00800000ul
- #define PDL_MTU2_W_IC_PWM_LOW_TROUGH 0x01000000ul
- #define PDL_MTU2_W_IC_PWM_LOW_CREST 0x02000000ul
- #define PDL_MTU2_W_IC_PWM_LOW_BOTH 0x04000000ul
- #define PDL_MTU2_W_IC_PWM_HIGH_TROUGH 0x08000000ul
- #define PDL_MTU2_W_IC_PWM_HIGH_CREST 0x10000000ul
- #define PDL_MTU2_W_IC_PWM_HIGH_BOTH 0x20000000ul
- /* Counter stop / re-start */
- #define PDL_MTU2_STOP 0x01u
- #define PDL_MTU2_START 0x02u
- #define PDL_MTU2_STOP_U 0x04u
- #define PDL_MTU2_START_U 0x08u
- #define PDL_MTU2_STOP_V 0x10u
- #define PDL_MTU2_START_V 0x20u
- #define PDL_MTU2_STOP_W 0x40u
- #define PDL_MTU2_START_W 0x80u
- /* The registers to be modified (n = 0 to 4 or 6 to 10) */
- #define PDL_MTU2_REGISTER_COUNTER 0x0001u
- #define PDL_MTU2_REGISTER_TGRA 0x0002u
- #define PDL_MTU2_REGISTER_TGRB 0x0004u
- #define PDL_MTU2_REGISTER_TGRC 0x0008u
- #define PDL_MTU2_REGISTER_TGRD 0x0010u
- #define PDL_MTU2_REGISTER_TGRE 0x0020u
- #define PDL_MTU2_REGISTER_TGRF 0x0040u
- #define PDL_MTU2_REGISTER_TADCOBRA 0x0080u
- #define PDL_MTU2_REGISTER_TADCOBRB 0x0100u
- /* The registers to be modified (n = 5 or 11) */
- #define PDL_MTU2_REGISTER_COUNTER_U 0x01u
- #define PDL_MTU2_REGISTER_COUNTER_V 0x02u
- #define PDL_MTU2_REGISTER_COUNTER_W 0x04u
- #define PDL_MTU2_REGISTER_TGRU 0x08u
- #define PDL_MTU2_REGISTER_TGRV 0x10u
- #define PDL_MTU2_REGISTER_TGRW 0x20u
- /* Simultaneous stop control */
- #define PDL_MTU2_STOP_CH_0 0x0001u
- #define PDL_MTU2_STOP_CH_1 0x0002u
- #define PDL_MTU2_STOP_CH_2 0x0004u
- #define PDL_MTU2_STOP_CH_3 0x0008u
- #define PDL_MTU2_STOP_CH_4 0x0010u
- #define PDL_MTU2_STOP_CH_6 PDL_MTU2_STOP_CH_0
- #define PDL_MTU2_STOP_CH_7 PDL_MTU2_STOP_CH_1
- #define PDL_MTU2_STOP_CH_8 PDL_MTU2_STOP_CH_2
- #define PDL_MTU2_STOP_CH_9 PDL_MTU2_STOP_CH_3
- #define PDL_MTU2_STOP_CH_10 PDL_MTU2_STOP_CH_4
- /* Simultaneous start control */
- #define PDL_MTU2_START_CH_0 0x0020u
- #define PDL_MTU2_START_CH_1 0x0040u
- #define PDL_MTU2_START_CH_2 0x0080u
- #define PDL_MTU2_START_CH_3 0x0100u
- #define PDL_MTU2_START_CH_4 0x0200u
- #define PDL_MTU2_START_CH_6 PDL_MTU2_START_CH_0
- #define PDL_MTU2_START_CH_7 PDL_MTU2_START_CH_1
- #define PDL_MTU2_START_CH_8 PDL_MTU2_START_CH_2
- #define PDL_MTU2_START_CH_9 PDL_MTU2_START_CH_3
- #define PDL_MTU2_START_CH_10 PDL_MTU2_START_CH_4
- /* Output control */
- #define PDL_MTU2_OUT_P_PHASE_1_ENABLE 0x00000001ul
- #define PDL_MTU2_OUT_P_PHASE_1_DISABLE 0x00000002ul
- #define PDL_MTU2_OUT_N_PHASE_1_ENABLE 0x00000004ul
- #define PDL_MTU2_OUT_N_PHASE_1_DISABLE 0x00000008ul
- #define PDL_MTU2_OUT_P_PHASE_2_ENABLE 0x00000010ul
- #define PDL_MTU2_OUT_P_PHASE_2_DISABLE 0x00000020ul
- #define PDL_MTU2_OUT_N_PHASE_2_ENABLE 0x00000040ul
- #define PDL_MTU2_OUT_N_PHASE_2_DISABLE 0x00000080ul
- #define PDL_MTU2_OUT_P_PHASE_3_ENABLE 0x00000100ul
- #define PDL_MTU2_OUT_P_PHASE_3_DISABLE 0x00000200ul
- #define PDL_MTU2_OUT_N_PHASE_3_ENABLE 0x00000400ul
- #define PDL_MTU2_OUT_N_PHASE_3_DISABLE 0x00000800ul
- #define PDL_MTU2_OUT_P_PHASE_ALL_ENABLE (PDL_MTU2_OUT_P_PHASE_1_ENABLE | PDL_MTU2_OUT_P_PHASE_2_ENABLE | PDL_MTU2_OUT_P_PHASE_3_ENABLE)
- #define PDL_MTU2_OUT_P_PHASE_ALL_DISABLE (PDL_MTU2_OUT_P_PHASE_1_DISABLE | PDL_MTU2_OUT_P_PHASE_2_DISABLE | PDL_MTU2_OUT_P_PHASE_3_DISABLE)
- #define PDL_MTU2_OUT_N_PHASE_ALL_ENABLE (PDL_MTU2_OUT_N_PHASE_1_ENABLE | PDL_MTU2_OUT_N_PHASE_2_ENABLE | PDL_MTU2_OUT_N_PHASE_3_ENABLE)
- #define PDL_MTU2_OUT_N_PHASE_ALL_DISABLE (PDL_MTU2_OUT_N_PHASE_1_DISABLE | PDL_MTU2_OUT_N_PHASE_2_DISABLE | PDL_MTU2_OUT_N_PHASE_3_DISABLE)
- /* Inversion control */
- #define PDL_MTU2_OUT_P_PHASE_ALL_HIGH_LOW 0x00001000ul
- #define PDL_MTU2_OUT_P_PHASE_ALL_LOW_HIGH 0x00002000ul
- #define PDL_MTU2_OUT_N_PHASE_ALL_HIGH_LOW 0x00004000ul
- #define PDL_MTU2_OUT_N_PHASE_ALL_LOW_HIGH 0x00008000ul
- #define PDL_MTU2_OUT_P_PHASE_1_HIGH_LOW 0x00010000ul
- #define PDL_MTU2_OUT_P_PHASE_1_LOW_HIGH 0x00020000ul
- #define PDL_MTU2_OUT_N_PHASE_1_HIGH_LOW 0x00040000ul
- #define PDL_MTU2_OUT_N_PHASE_1_LOW_HIGH 0x00080000ul
- #define PDL_MTU2_OUT_P_PHASE_2_HIGH_LOW 0x00100000ul
- #define PDL_MTU2_OUT_P_PHASE_2_LOW_HIGH 0x00200000ul
- #define PDL_MTU2_OUT_N_PHASE_2_HIGH_LOW 0x00400000ul
- #define PDL_MTU2_OUT_N_PHASE_2_LOW_HIGH 0x00800000ul
- #define PDL_MTU2_OUT_P_PHASE_3_HIGH_LOW 0x01000000ul
- #define PDL_MTU2_OUT_P_PHASE_3_LOW_HIGH 0x02000000ul
- #define PDL_MTU2_OUT_N_PHASE_3_HIGH_LOW 0x04000000ul
- #define PDL_MTU2_OUT_N_PHASE_3_LOW_HIGH 0x08000000ul
- /* Write access control */
- #define PDL_MTU2_OUT_LOCK_ENABLE 0x10000000ul
- /* Toggle output control */
- #define PDL_MTU2_OUT_TOGGLE_ENABLE 0x20000000ul
- #define PDL_MTU2_OUT_TOGGLE_DISABLE 0x40000000ul
- /* Output level buffer control */
- #define PDL_MTU2_OUT_BUFFER_P_PHASE_1_LOW 0x00000001ul
- #define PDL_MTU2_OUT_BUFFER_P_PHASE_1_HIGH 0x00000002ul
- #define PDL_MTU2_OUT_BUFFER_N_PHASE_1_LOW 0x00000004ul
- #define PDL_MTU2_OUT_BUFFER_N_PHASE_1_HIGH 0x00000008ul
- #define PDL_MTU2_OUT_BUFFER_P_PHASE_2_LOW 0x00000010ul
- #define PDL_MTU2_OUT_BUFFER_P_PHASE_2_HIGH 0x00000020ul
- #define PDL_MTU2_OUT_BUFFER_N_PHASE_2_LOW 0x00000040ul
- #define PDL_MTU2_OUT_BUFFER_N_PHASE_2_HIGH 0x00000080ul
- #define PDL_MTU2_OUT_BUFFER_P_PHASE_3_LOW 0x00000100ul
- #define PDL_MTU2_OUT_BUFFER_P_PHASE_3_HIGH 0x00000200ul
- #define PDL_MTU2_OUT_BUFFER_N_PHASE_3_LOW 0x00000400ul
- #define PDL_MTU2_OUT_BUFFER_N_PHASE_3_HIGH 0x00000800ul
- /* Transfer timing (complementary PWM) */
- #define PDL_MTU2_OUT_BUFFER_TRANSFER_DISABLE 0x00001000ul
- #define PDL_MTU2_OUT_BUFFER_TRANSFER_CREST 0x00002000ul
- #define PDL_MTU2_OUT_BUFFER_TRANSFER_TROUGH 0x00004000ul
- #define PDL_MTU2_OUT_BUFFER_TRANSFER_BOTH 0x00008000ul
- /* Transfer timing (reset-synchronised PWM) */
- #define PDL_MTU2_OUT_BUFFER_TRANSFER_CLEAR PDL_MTU2_OUT_BUFFER_TRANSFER_CREST
- /* Buffer transfer to temporary transfer control */
- #define PDL_MTU2_BUFFER_TRANSFER_DISABLE 0x00020000ul
- #define PDL_MTU2_BUFFER_TRANSFER_ENABLE 0x00040000ul
- #define PDL_MTU2_BUFFER_TRANSFER_LINK 0x00080000ul
- /* Brushless DC motor waveform control */
- #define PDL_MTU2_BDCM_ENABLE 0x0001u
- #define PDL_MTU2_BDCM_DISABLE 0x0002u
- #define PDL_MTU2_BDCM_P_PHASE_ENABLE 0x0004u
- #define PDL_MTU2_BDCM_P_PHASE_DISABLE 0x0008u
- #define PDL_MTU2_BDCM_N_PHASE_ENABLE 0x0010u
- #define PDL_MTU2_BDCM_N_PHASE_DISABLE 0x0020u
- #define PDL_MTU2_BDCM_OPS_FB 0x0040u
- #define PDL_MTU2_BDCM_OPS_000 0x0080u
- #define PDL_MTU2_BDCM_OPS_001 0x0100u
- #define PDL_MTU2_BDCM_OPS_010 0x0200u
- #define PDL_MTU2_BDCM_OPS_011 0x0400u
- #define PDL_MTU2_BDCM_OPS_100 0x0800u
- #define PDL_MTU2_BDCM_OPS_101 0x1000u
- #define PDL_MTU2_BDCM_OPS_110 0x2000u
- #define PDL_MTU2_BDCM_OPS_111 0x4000u
- /* Interrupt skipping control */
- #define PDL_MTU2_INT_SKIP_TROUGH_DISABLE 0x00000001ul
- #define PDL_MTU2_INT_SKIP_TROUGH_1 0x00000002ul
- #define PDL_MTU2_INT_SKIP_TROUGH_2 0x00000004ul
- #define PDL_MTU2_INT_SKIP_TROUGH_3 0x00000008ul
- #define PDL_MTU2_INT_SKIP_TROUGH_4 0x00000010ul
- #define PDL_MTU2_INT_SKIP_TROUGH_5 0x00000020ul
- #define PDL_MTU2_INT_SKIP_TROUGH_6 0x00000040ul
- #define PDL_MTU2_INT_SKIP_TROUGH_7 0x00000080ul
- #define PDL_MTU2_INT_SKIP_CREST_DISABLE 0x00000100ul
- #define PDL_MTU2_INT_SKIP_CREST_1 0x00000200ul
- #define PDL_MTU2_INT_SKIP_CREST_2 0x00000400ul
- #define PDL_MTU2_INT_SKIP_CREST_3 0x00000800ul
- #define PDL_MTU2_INT_SKIP_CREST_4 0x00001000ul
- #define PDL_MTU2_INT_SKIP_CREST_5 0x00002000ul
- #define PDL_MTU2_INT_SKIP_CREST_6 0x00004000ul
- #define PDL_MTU2_INT_SKIP_CREST_7 0x00008000ul
- /* Dead time generation control */
- #define PDL_MTU2_DEAD_TIME_DISABLE 0x00010000ul
- #define PDL_MTU2_DEAD_TIME_ENABLE 0x00020000ul
- /* Waveform retention control */
- #define PDL_MTU2_WAVEFORM_RETAIN_DISABLE 0x00040000ul
- #define PDL_MTU2_WAVEFORM_RETAIN_ENABLE 0x00080000ul
- /* Compare match clearing control */
- #define PDL_MTU2_CNT_CLEAR_CM_A_DISABLE 0x00100000ul
- #define PDL_MTU2_CNT_CLEAR_CM_A_ENABLE 0x00200000ul
- /* Reset-synchronised or complementary PWM control */
- #define PDL_MTU2_PWM_RS_COMP_ENABLE 0x00400000ul
- /* Register protection */
- #define PDL_MTU2_ACCESS_DISABLE 0x00800000ul
- #define PDL_MTU2_ACCESS_ENABLE 0x01000000ul
- /* Unit registers to be modified */
- #define PDL_MTU2_REGISTER_DEAD_TIME 0x01u
- #define PDL_MTU2_REGISTER_CYCLE_DATA 0x02u
- #define PDL_MTU2_REGISTER_CYCLE_BUFFER 0x04u
- #endif
- /* End of file */
|