AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
timrprm.h

TIMR Primitive Header

TIMR Primitive提供ヘッダ。 

TIMR Primitive使用時にincludeして下さい。 

none

AXELL CORPORATION

2017_02_22 初版 

2017_10_26 Ver2.0

1: 9: 10: 14: 15: #ifndef _TIMRPRM_H_ 16: #define _TIMRPRM_H_ 17: 18: 19: #include <stdint.h> 20: #include "lib_common/AG903_common.h" 21: #include "register/AG903_timreg.h" 22: 23: #ifdef __cplusplus 24: extern "C" { 25: #endif 26: 27: #if AG903_LIB_USE_GVD 28: 30: #define AG903_TIMR_CH_NUM (7) 31: #else 32: 33: #define AG903_TIMR_CH_NUM (8) 34: #endif 35: 36: 37: #define AG903_TIMR_EVENT_NUM (64) 38: 39: 40: #define AG903_TIMR_EXTOUT_NUM (4) 41: 42: 46: enum _AG903_TimrInmodResType { 47: AG903_TIMR_RES_SYSCLK = 0, 48: AG903_TIMR_RES_RESEVE, 49: AG903_TIMR_RES_TICK0, 50: AG903_TIMR_RES_TICK1, 51: }; 52: 53: 54: enum _AG903_TimrTIMnCtrlMod { 55: AG903_TIMR_CTRLMOD_STOP = 0, 56: AG903_TIMR_CTRLMOD_REIN, 57: AG903_TIMR_CTRLMOD_PWMIN, 58: AG903_TIMR_CTRLMOD_RESEVE, 59: AG903_TIMR_CTRLMOD_TICKCNT, 60: AG903_TIMR_CTRLMOD_EVENTCNT, 61: AG903_TIMR_CTRLMOD_PLUSECNT, 62: AG903_TIMR_CTRLMOD_LEVELCNT, 63: AG903_TIMR_CTRLMOD_MODENUM, 64: }; 65: 66: 67: enum _AG903_TimrOutMod { 68: AG903_TIMR_OUTMOD_DISABLE = 0, 69: AG903_TIMR_OUTMOD_PWM, 70: AG903_TIMR_OUTMOD_PLUSE, 71: AG903_TIMR_OUTMOD_LEVEL, 72: AG903_TIMR_OUTMOD_MODENUM, 73: }; 74: 75: 76: enum _AG903_TimrRstBoot { 77: AG903_TIMR_RSTBOOT_TICKCNT = 0, 78: AG903_TIMR_RSTBOOT_EVENTCNT, 79: AG903_TIMR_RSTBOOT_PLUSECNT, 80: AG903_TIMR_RSTBOOT_LEVELCNT, 81: AG903_TIMR_RSTBOOT_MODENUM, 82: }; 83: 84: 85: enum _AG903_TimrRstEn { 86: AG903_TIMR_RSTEN_DISABLE = 0, 87: AG903_TIMR_RSTEN_RESEVE, 88: AG903_TIMR_RSTEN_EXTPORT, 89: AG903_TIMR_RSTEN_EVENT, 90: AG903_TIMR_RSTEN_MODENUM, 91: }; 92: 93: #define AG903_TIMR_INTMSK_CM_BIT (1<<AG903_TIMn_INTMASK_CM_POS) 94: #define AG903_TIMR_INTMSK_OVF_BIT (1<<AG903_TIMn_INTMASK_OVF_POS) 95: 96: #define AG903_TIMR_TRIGGER_CM_BIT (1<<AG903_TIMn_TRIGGER_CM_POS) 97: #define AG903_TIMR_TRIGGER_OVF_BIT (1<<AG903_TIMn_TRIGGER_OVF_POS) 98: 99: #define AG903_TIMR_DMAREQ_CM_BIT (1<<AG903_TIMn_DMAREQ_CM_POS) 100: #define AG903_TIMR_DMAREQ_OVF_BIT (1<<AG903_TIMn_DMAREQ_OVF_POS) 101: 102: #define AG903_TIMR_STAT_CM_BIT (1<<AG903_TIMn_STAT_CM_POS) 103: #define AG903_TIMR_STAT_OVF_BIT (1<<AG903_TIMn_STAT_OVF_POS) 104: 105: 106: typedef struct _AG903_TIMRPrmInModeParam{ 107: uint8_t eve; 108: uint8_t lo; 109: uint8_t ch; 110: uint8_t pol; 111: uint8_t res; 112: }AG903_TIMRPrmInModeParam; 113: 114: 115: typedef struct _AG903_TIMRPrmOutModeParam{ 116: uint8_t cm; 117: uint8_t ovf; 118: uint8_t ch; 119: uint8_t pol; 120: uint8_t mod; 121: }AG903_TIMRPrmOutModeParam; 122: 123: 124: typedef struct _AG903_TIMRPrmResetTriggerParam{ 125: uint8_t eve; 126: uint8_t lo; 127: uint8_t ch; 128: uint8_t pol; 129: uint8_t res; 130: uint8_t boot; 131: uint8_t en; 132: }AG903_TIMRPrmResetTriggerParam; 133: 134: 135: void AG903_TIMRPrmSetInMode(uint8_t ch, AG903_TIMRPrmInModeParam* param); 136: void AG903_TIMRPrmSetOutMode(uint8_t ch, AG903_TIMRPrmOutModeParam* param); 137: void AG903_TIMRPrmSetResetTrigger(uint8_t ch, AG903_TIMRPrmResetTriggerParam* param); 138: void AG903_TIMRPrmEnableOneshot(uint8_t ch); 139: void AG903_TIMRPrmDisableOneshot(uint8_t ch); 140: void AG903_TIMRPrmSetCntMode(uint8_t ch, uint8_t mode); 141: void AG903_TIMRPrmGetCntMode(uint8_t ch, uint8_t* mode); 142: void AG903_TIMRPrmSetCount(uint8_t ch, uint32_t count); 143: void AG903_TIMRPrmGetCount(uint8_t ch, uint32_t* count); 144: void AG903_TIMRPrmSetPeriod(uint8_t ch, uint32_t period); 145: void AG903_TIMRPrmGetPeriod(uint8_t ch, uint32_t* period); 146: void AG903_TIMRPrmSetMatch(uint8_t ch, uint32_t match); 147: void AG903_TIMRPrmGetMatch(uint8_t ch, uint32_t* match); 148: void AG903_TIMRPrmSetPluseWidth(uint8_t ch, uint32_t width); 149: void AG903_TIMRPrmGetPluseWidth(uint8_t ch, uint32_t* width); 150: void AG903_TIMRPrmEnableMask(uint8_t ch, uint32_t setbit); 151: void AG903_TIMRPrmDisableMask(uint8_t ch, uint32_t clrbit); 152: void AG903_TIMRPrmEnableEventTrigger(uint8_t ch, uint32_t setbit); 153: void AG903_TIMRPrmDisableEventTrigger(uint8_t ch, uint32_t clrbit); 154: void AG903_TIMRPrmEnableDmaRequest(uint8_t ch, uint32_t setbit); 155: void AG903_TIMRPrmDisableDmaRequest(uint8_t ch, uint32_t clrbit); 156: void AG903_TIMRPrmGetStatus(uint8_t ch, uint32_t* status); 157: void AG903_TIMRPrmClearStatus(uint8_t ch, uint32_t setbit); 158: void AG903_TIMRPrmSetBootTrigger(uint8_t chbit); 159: 160: #ifdef __cplusplus 161: } 162: #endif 163: #endif
 
名前 
説明 
 
TIMnINMOD/TIMnRSTTRG RES設定値 
 
TIMnOUTMOD MOD設定値 
 
TIMnRSTTRG BOOT設定値 
 
TIMnRSTTRG EN設定値 
 
TIMnCTRL MOD設定値 
名前 
説明 
TIMRチャンネル数 
TIMnDMAREQ CM-bit 
TIMnDMAREQ OVF-bit 
TIMRイベント数 
TIMR出力端子数 
TIMnINTMASK CM-bit 
TIMnINTMASK OVF-bit 
出力パルス幅(Max値) 
TIMnSTAT CM-bit 
TIMnSTAT OVF-bit 
TIMnTRIGGER CM-bit 
TIMnTRIGGER OVF-bit 
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.