AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: int32_t AG903_I2CMgrMasterWrite(AG903_I2CMgrHandle* handle, AG903_I2CMgrWriteParam* param) 2: { 3: AG903_I2CMgrQue que; 4: int32_t retval = AG903_ENONE; 5: int32_t result; 6: uint32_t hdlnum; 7: uint8_t ch; 8: 9: result = I2CMgr_CheckHandle(handle, &ch, &hdlnum); 10: if(AG903_ENONE != result) { 11: return -AG903_EINVAL; 12: } 13: if(NULL == param) { 14: return -AG903_EINVAL; 15: } 16: if( (NULL == param->buf) || 17: (0 == param->size) ) { 18: return -AG903_EINVAL; 19: } 20: if(0xFF00 & param->addr) { 21: if( (AG903_I2C_10BITADDR_SIG != (param->addr>>11)) || 22: (0x0100 & param->addr) ) { 23: return -AG903_EINVAL; 24: } 25: } 26: else { 27: if(0x0001 & param->addr) { 28: return -AG903_EINVAL; 29: } 30: } 31: 32: que.proc = AG903_I2C_PROC_MASTER_WRITE; 33: que.hdlnum = hdlnum; 34: que.arg.wr = (*param); 35: retval = I2CMgr_SetQue(ch, &que); 36: if(AG903_ENONE == retval) { 37: I2cHandleStat[ch][hdlnum].stat = AG903_I2C_HANDLE_QUEUING; 38: I2CMgr_MainProcess(ch); 39: } 40: 41: return retval; 42: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.