全てを折りたたみ
AG903ライブラリリファレンス
AG903_SSCPrmGetSspSetup 関数
sscprm.c
SSC Primitive
Body Source
SSCSSP_SETUPのレジスタRead
Syntax
C++
void
AG903_SSCPrmGetSspSetup
(uint8_t
ch
,
AG903_SSCPrmSspSetup
*
param
);
ファイル
sscprm.c
引数
引数
説明
uint8_t ch
[in] SSPチャネル
AG903_SSCPrmSspSetup* param
[out] 設定パラメータ
返値
void
説明
SSCSSP_SETUPのレジスタRead
本文ソース
コピコード
1:
void
AG903_SSCPrmGetSspSetup(uint8_t ch,
AG903_SSCPrmSspSetup
* param) 2: { 3: uint32_t val; 4: 5:
ASSERT
(NULL != param); 6:
ASSERT
(
AG903_SSP_CH_NUM
> ch); 7: 8: val =
AG903_SSC
->SSP_SETUP; 9: 10:
switch
(ch) { 11:
case
0: 12: param->mclk_div = (uint8_t)((val &
AG903_SSC_SSP_SETUP_SSP0_MCLK_DIV_MSK
) >>
AG903_SSC_SSP_SETUP_SSP0_MCLK_DIV_POS
); 13:
if
(
AG903_SSC_SSP_SETUP_SSP0_MCLK_DIR_MSK
& val) { 14: param->mclk_dir =
AG903_SSC_PINDIR_OUTPUT
; 15: } 16:
else
{ 17: param->mclk_dir =
AG903_SSC_PINDIR_INPUT
; 18: } 19:
if
(
AG903_SSC_SSP_SETUP_SSP0_MODE_MSK
& val) { 20: param->mode =
AG903_SSC_SSPMODE_HLFDPLX
; 21: } 22:
else
{ 23: param->mode =
AG903_SSC_SSPMODE_FLLDPLX
; 24: } 25:
if
(
AG903_SSC_SSP_SETUP_SSP0_DIR_MSK
& val) { 26: param->dir =
AG903_SSC_PINDIR_OUTPUT
; 27: } 28:
else
{ 29: param->dir =
AG903_SSC_PINDIR_INPUT
; 30: } 31:
break
; 32:
case
1: 33: param->mclk_div = (uint8_t)((val &
AG903_SSC_SSP_SETUP_SSP1_MCLK_DIV_MSK
) >>
AG903_SSC_SSP_SETUP_SSP1_MCLK_DIV_POS
); 34:
if
(
AG903_SSC_SSP_SETUP_SSP1_MCLK_DIR_MSK
& val) { 35: param->mclk_dir =
AG903_SSC_PINDIR_OUTPUT
; 36: } 37:
else
{ 38: param->mclk_dir =
AG903_SSC_PINDIR_INPUT
; 39: } 40:
if
(
AG903_SSC_SSP_SETUP_SSP1_MODE_MSK
& val) { 41: param->mode =
AG903_SSC_SSPMODE_HLFDPLX
; 42: } 43:
else
{ 44: param->mode =
AG903_SSC_SSPMODE_FLLDPLX
; 45: } 46:
if
(
AG903_SSC_SSP_SETUP_SSP1_DIR_MSK
& val) { 47: param->dir =
AG903_SSC_PINDIR_OUTPUT
; 48: } 49:
else
{ 50: param->dir =
AG903_SSC_PINDIR_INPUT
; 51: } 52:
break
; 53:
case
2: 54: param->mclk_div = (uint8_t)((val &
AG903_SSC_SSP_SETUP_SSP2_MCLK_DIV_MSK
) >>
AG903_SSC_SSP_SETUP_SSP2_MCLK_DIV_POS
); 55:
if
(
AG903_SSC_SSP_SETUP_SSP2_MCLK_DIR_MSK
& val) { 56: param->mclk_dir =
AG903_SSC_PINDIR_OUTPUT
; 57: } 58:
else
{ 59: param->mclk_dir =
AG903_SSC_PINDIR_INPUT
; 60: } 61:
if
(
AG903_SSC_SSP_SETUP_SSP2_MODE_MSK
& val) { 62: param->mode =
AG903_SSC_SSPMODE_HLFDPLX
; 63: } 64:
else
{ 65: param->mode =
AG903_SSC_SSPMODE_FLLDPLX
; 66: } 67:
if
(
AG903_SSC_SSP_SETUP_SSP2_DIR_MSK
& val) { 68: param->dir =
AG903_SSC_PINDIR_OUTPUT
; 69: } 70:
else
{ 71: param->dir =
AG903_SSC_PINDIR_INPUT
; 72: } 73:
break
; 74:
case
3: 75: param->mclk_div = (uint8_t)((val &
AG903_SSC_SSP_SETUP_SSP3_MCLK_DIV_MSK
) >>
AG903_SSC_SSP_SETUP_SSP3_MCLK_DIV_POS
); 76:
if
(
AG903_SSC_SSP_SETUP_SSP3_MCLK_DIR_MSK
& val) { 77: param->mclk_dir =
AG903_SSC_PINDIR_OUTPUT
; 78: } 79:
else
{ 80: param->mclk_dir =
AG903_SSC_PINDIR_INPUT
; 81: } 82:
if
(
AG903_SSC_SSP_SETUP_SSP3_MODE_MSK
& val) { 83: param->mode =
AG903_SSC_SSPMODE_HLFDPLX
; 84: } 85:
else
{ 86: param->mode =
AG903_SSC_SSPMODE_FLLDPLX
; 87: } 88:
if
(
AG903_SSC_SSP_SETUP_SSP3_DIR_MSK
& val) { 89: param->dir =
AG903_SSC_PINDIR_OUTPUT
; 90: } 91:
else
{ 92: param->dir =
AG903_SSC_PINDIR_INPUT
; 93: } 94:
break
; 95:
default
: 96: 97:
break
; 98: } 99: 100:
return
; 101: }
グループ
SSC Primitive
リンク
sscprm.c
,
SSC Primitive
,
Body Source
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.
内容
|
インデックス
|
ホーム