AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: void AG903_OSPPrmEnableEvent(const uint8_t evt, const uint8_t en, const uint8_t cnt) 2: { 3: uint8_t evtno, regno, ecnt, ovf; 4: 5: ASSERT(evt < AG903_OSP_EVENT_NUM); 6: 7: regno = evt / 4; 8: evtno = evt % 4; 9: 10: uint8_t *reg = (uint8_t *)&EVENTn(regno) + evtno; 11: if (en == 0) { 12: ecnt = (*reg & AG903_OSP_EVENT0_VAL0_MSK) >> AG903_OSP_EVENT0_VAL0_POS; 13: ovf = (*reg & AG903_OSP_EVENT0_OVF0_MSK) >> AG903_OSP_EVENT0_OVF0_POS; 14: } else { 15: ecnt = cnt; 16: ovf = 0; 17: } 18: *reg = ((en << AG903_OSP_EVENT0_EN0_POS) & AG903_OSP_EVENT0_EN0_MSK )| 19: ((ovf << AG903_OSP_EVENT0_OVF0_POS) & AG903_OSP_EVENT0_OVF0_MSK )| 20: ((ecnt << AG903_OSP_EVENT0_VAL0_POS) & AG903_OSP_EVENT0_VAL0_MSK ); 21: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.