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

Portデータ書込み

Syntax
C++
int32_t AG903_GPIOMgrSetPortData(uint8_t portch, uint32_t data, uint32_t target);
引数 
説明 
uint8_t portch 
[in] Portチャネル番号(0~3) 
uint32_t data 
[in] Portデータ(32ビット) 
uint32_t target 
[in] ターゲット指定(0:無変更, 1: dataを反映) 

Portデータ書込み結果

返値の詳細 
説明 
正常終了 
-AG903_EINVAL 
引数異常 

Portチャネル(32bit)単位でデータを書き込みます。 target で1を指定したbitのみ data の内容が反映されます。

1: int32_t AG903_GPIOMgrSetPortData(uint8_t portch, uint32_t data, uint32_t target) 2: { 3: int32_t retval = AG903_ENONE; 4: uint32_t set; 5: uint32_t clr; 6: 7: if(AG903_GPIO_CH_NUM <= portch) { 8: return -AG903_EINVAL; 9: } 10: 11: set = (data&target); 12: clr = (~data&target); 13: 14: #if AG903_GPIO_USE_LDREX 15: AG903_GPIOPrmModifyBit(portch, set, clr, true); 16: #else 17: AG903_GPIOPrmModifyBit(portch, set, clr, false); 18: #endif 19: 20: return retval; 21: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.