AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
AG903_OSPPrmEnableEvent 関数

イベント制御

Syntax
C++
void AG903_OSPPrmEnableEvent(const uint8_t evt, const uint8_t en, const uint8_t cnt);
引数 
説明 
const uint8_t evt 
[in] イベント番号 
const uint8_t en 
[in] イベントイネーブル 
const uint8_t cnt 
[in] イベントカウンタ 

void

各イベントの制御設定を変更します.

イベントカウンタが不要な場合は0を指定してください. カウンタのオーバーフローはクリアされます.

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.