AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: void AG903_DMACPrmSetCTRL_REG(uint8_t unit, DMACPrmParamCTRL *ctrl) 2: { 3: ASSERT(ctrl != NULL); 4: ASSERT(unit < DMAC_UNIT_MAX); 5: 6: uint32_t reg = 0; 7: reg |= (ctrl->ChWEvent << AG903_DMACn_CTRL_REG_ChWEvent_POS) & AG903_DMACn_CTRL_REG_ChWEvent_MSK; 8: reg |= (ctrl->WSync << AG903_DMACn_CTRL_REG_WSync_POS ) & AG903_DMACn_CTRL_REG_WSync_MSK; 9: reg |= (ctrl->ChSEvent << AG903_DMACn_CTRL_REG_ChSEvent_POS) & AG903_DMACn_CTRL_REG_ChSEvent_MSK; 10: reg |= (ctrl->SEventEn << AG903_DMACn_CTRL_REG_SEventEn_POS) & AG903_DMACn_CTRL_REG_SEventEn_MSK; 11: reg |= (ctrl->WEventEn << AG903_DMACn_CTRL_REG_WEventEn_POS) & AG903_DMACn_CTRL_REG_WEventEn_MSK; 12: reg |= (ctrl->DEn << AG903_DMACn_CTRL_REG_DEn_POS ) & AG903_DMACn_CTRL_REG_DEn_MSK; 13: reg |= (ctrl->ExpEn << AG903_DMACn_CTRL_REG_ExpEn_POS ) & AG903_DMACn_CTRL_REG_ExpEn_MSK; 14: reg |= (ctrl->ChEn << AG903_DMACn_CTRL_REG_ChEn_POS ) & AG903_DMACn_CTRL_REG_ChEn_MSK; 15: reg |= (ctrl->WDTEn << AG903_DMACn_CTRL_REG_WDTEn_POS ) & AG903_DMACn_CTRL_REG_WDTEn_MSK; 16: reg |= (ctrl->DstCtrl << AG903_DMACn_CTRL_REG_DstCtrl_POS ) & AG903_DMACn_CTRL_REG_DstCtrl_MSK; 17: reg |= (ctrl->SrcCtrl << AG903_DMACn_CTRL_REG_SrcCtrl_POS ) & AG903_DMACn_CTRL_REG_SrcCtrl_MSK; 18: reg |= (ctrl->DstWidth << AG903_DMACn_CTRL_REG_DstWidth_POS) & AG903_DMACn_CTRL_REG_DstWidth_MSK; 19: reg |= (ctrl->SrcWidth << AG903_DMACn_CTRL_REG_SrcWidth_POS) & AG903_DMACn_CTRL_REG_SrcWidth_MSK; 20: reg |= (ctrl->TCMsk << AG903_DMACn_CTRL_REG_TCMsk_POS ) & AG903_DMACn_CTRL_REG_TCMsk_MSK; 21: reg |= (ctrl->SrcTcnt << AG903_DMACn_CTRL_REG_SrcTcnt_POS ) & AG903_DMACn_CTRL_REG_SrcTcnt_MSK; 22: AG903_DMACn(unit)->CTRL_REG = reg; 23: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.