AG903ライブラリリファレンス
Body Source
eqsctl.c
本文ソース
コピコード
1: 9: 10: 14: 15: 16:
#include
"AG903_common.h" 17: 18:
#include
"eqs/eqsprm.h" 19:
#include
"eqs/eqsctl.h" 20: 21: 33: int32_t
AG903_EQSCtlInit
(uint16_t div, uint16_t cnt) 34: { 35: int32_t rc =
AG903_ENONE
; 36:
const
uint32_t clk3KHz = (
AG903_EQS_SYS_CLK
/ (3 * 1000)); 37:
const
uint32_t clk100MHz = (
AG903_EQS_SYS_CLK
/ (100 * 1000 * 1000)); 38: 39:
if
((div > clk3KHz) || (div < clk100MHz)) { 40: 41: rc = -
AG903_EINVAL
; 42: } 43: 44:
if
(rc ==
AG903_ENONE
) { 45:
AG903_EQSPrmSetMOD
(AG903_EQS_MODE_NORM); 46:
AG903_EQSPrmSetDivide
(div); 47:
AG903_EQSPrmSetWaitCycle
(cnt); 48: } 49: 50:
return
rc; 51: } 52: 53: 62: int32_t
AG903_EQSCtlSetMode
(uint8_t mode) 63: { 64: int32_t rc =
AG903_ENONE
; 65: 66:
if
(mode > AG903_EQS_MODE_QUAD) { 67: rc = -
AG903_EINVAL
; 68: } 69: 70:
if
(rc ==
AG903_ENONE
) { 71:
AG903_EQSPrmSetMOD
((mode & 0x1)); 72: } 73: 74:
return
rc; 75: } 76: 77: 86: int32_t
AG903_EQSCtlGetAddress
(uint8_t area, uint32_t *addr) 87: { 88: int32_t rc =
AG903_ENONE
; 89: 90:
if
((area >= AG903_EQS_AREA_NUM) || (addr == NULL)) { 91: rc = -
AG903_EINVAL
; 92: } 93: 94:
if
(rc ==
AG903_ENONE
) { 95:
AG903_EQSPrmGetAddress
(area, addr); 96: } 97: 98:
return
rc; 99: } 100: 101: 111: int32_t
AG903_EQSCtlSetup
(uint8_t area, uint8_t dir,
AG903_EQSCtlFormat
*format) 112: { 113:
AG903_EQSPrmFormat
param; 114: int32_t rc =
AG903_ENONE
; 115: 116:
if
((area >= AG903_EQS_AREA_NUM) || (format == NULL)) { 117: rc = -
AG903_EINVAL
; 118: } 119: 120:
if
(rc ==
AG903_ENONE
) { 121:
if
(AG903_EQS_DIR_READ == dir) { 122: param.command = format->command; 123: param.wait = format->wait; 124: param.data_len = 0; 125: param.addr_len = format->addr_len; 126: param.flow = format->flow; 127:
AG903_EQSPrmSetRdFORMAT
(area, ¶m); 128: } 129:
else
{ 130: param.command = format->command; 131: param.wait = format->wait; 132: param.data_len = format->data_len; 133: param.addr_len = format->addr_len; 134: param.flow = format->flow; 135:
AG903_EQSPrmSetWrFORMAT
(area, ¶m); 136: } 137: } 138: 139:
return
rc; 140: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.
内容
|
インデックス
|
ホーム