全てを折りたたみ
AG903ライブラリリファレンス
AG903_SSCPrmSetTdmSetup 関数
sscprm.c
SSC Primitive
Body Source
SSCTDMn_SETUPのレジスタWrite
Syntax
C++
void
AG903_SSCPrmSetTdmSetup
(uint8_t
ch
,
AG903_SSCPrmTdmParam
*
param
);
ファイル
sscprm.c
引数
引数
説明
uint8_t ch
[in] SSPチャネル
pram
[in] 設定パラメータ
返値
void
説明
SSCTDMn_SETUPのレジスタWrite
注意
設定パラメータの各値が対応するレジスタビットにそのままWriteされます。
本文ソース
コピコード
1:
void
AG903_SSCPrmSetTdmSetup(uint8_t ch,
AG903_SSCPrmTdmParam
* param) 2: { 3: uint32_t val = 0; 4: 5:
ASSERT
(
AG903_SSP_CH_NUM
> ch); 6:
ASSERT
(NULL != param); 7: 8:
switch
(ch) { 9:
case
0: 10: val |= (param->enable <<
AG903_SSC_TDM0_SETUP_TDM_EN_POS
) &
AG903_SSC_TDM0_SETUP_TDM_EN_MSK
; 11: val |= (param->sclk_pol <<
AG903_SSC_TDM0_SETUP_SCLK_POL_POS
) &
AG903_SSC_TDM0_SETUP_SCLK_POL_MSK
; 12: val |= (param->fs_pol <<
AG903_SSC_TDM0_SETUP_FS_POL_POS
) &
AG903_SSC_TDM0_SETUP_FS_POL_MSK
; 13: val |= (param->fs_txpw <<
AG903_SSC_TDM0_SETUP_FS_TXPW_POS
) &
AG903_SSC_TDM0_SETUP_FS_TXPW_MSK
; 14: val |= (param->fs_dist <<
AG903_SSC_TDM0_SETUP_FS_DIST_POS
) &
AG903_SSC_TDM0_SETUP_FS_DIST_MSK
; 15: val |= (param->dir_tx <<
AG903_SSC_TDM0_SETUP_DIR_TX_POS
) &
AG903_SSC_TDM0_SETUP_DIR_TX_MSK
; 16: val |= (param->tdm_n <<
AG903_SSC_TDM0_SETUP_TDM_N_POS
) &
AG903_SSC_TDM0_SETUP_TDM_N_MSK
; 17: val |= (param->sclk_n <<
AG903_SSC_TDM0_SETUP_SCLK_N_POS
) &
AG903_SSC_TDM0_SETUP_SCLK_N_MSK
; 18:
AG903_SSC
->TDM0_SETUP = val; 19:
break
; 20:
case
1: 21: val |= (param->enable <<
AG903_SSC_TDM1_SETUP_TDM_EN_POS
) &
AG903_SSC_TDM1_SETUP_TDM_EN_MSK
; 22: val |= (param->sclk_pol <<
AG903_SSC_TDM1_SETUP_SCLK_POL_POS
) &
AG903_SSC_TDM1_SETUP_SCLK_POL_MSK
; 23: val |= (param->fs_pol <<
AG903_SSC_TDM1_SETUP_FS_POL_POS
) &
AG903_SSC_TDM1_SETUP_FS_POL_MSK
; 24: val |= (param->fs_txpw <<
AG903_SSC_TDM1_SETUP_FS_TXPW_POS
) &
AG903_SSC_TDM1_SETUP_FS_TXPW_MSK
; 25: val |= (param->fs_dist <<
AG903_SSC_TDM1_SETUP_FS_DIST_POS
) &
AG903_SSC_TDM1_SETUP_FS_DIST_MSK
; 26: val |= (param->dir_tx <<
AG903_SSC_TDM1_SETUP_DIR_TX_POS
) &
AG903_SSC_TDM1_SETUP_DIR_TX_MSK
; 27: val |= (param->tdm_n <<
AG903_SSC_TDM1_SETUP_TDM_N_POS
) &
AG903_SSC_TDM1_SETUP_TDM_N_MSK
; 28: val |= (param->sclk_n <<
AG903_SSC_TDM1_SETUP_SCLK_N_POS
) &
AG903_SSC_TDM1_SETUP_SCLK_N_MSK
; 29:
AG903_SSC
->TDM1_SETUP = val; 30:
break
; 31:
case
2: 32: val |= (param->enable <<
AG903_SSC_TDM2_SETUP_TDM_EN_POS
) &
AG903_SSC_TDM2_SETUP_TDM_EN_MSK
; 33: val |= (param->sclk_pol <<
AG903_SSC_TDM2_SETUP_SCLK_POL_POS
) &
AG903_SSC_TDM2_SETUP_SCLK_POL_MSK
; 34: val |= (param->fs_pol <<
AG903_SSC_TDM2_SETUP_FS_POL_POS
) &
AG903_SSC_TDM2_SETUP_FS_POL_MSK
; 35: val |= (param->fs_txpw <<
AG903_SSC_TDM2_SETUP_FS_TXPW_POS
) &
AG903_SSC_TDM2_SETUP_FS_TXPW_MSK
; 36: val |= (param->fs_dist <<
AG903_SSC_TDM2_SETUP_FS_DIST_POS
) &
AG903_SSC_TDM2_SETUP_FS_DIST_MSK
; 37: val |= (param->dir_tx <<
AG903_SSC_TDM2_SETUP_DIR_TX_POS
) &
AG903_SSC_TDM2_SETUP_DIR_TX_MSK
; 38: val |= (param->tdm_n <<
AG903_SSC_TDM2_SETUP_TDM_N_POS
) &
AG903_SSC_TDM2_SETUP_TDM_N_MSK
; 39: val |= (param->sclk_n <<
AG903_SSC_TDM2_SETUP_SCLK_N_POS
) &
AG903_SSC_TDM2_SETUP_SCLK_N_MSK
; 40:
AG903_SSC
->TDM2_SETUP = val; 41:
break
; 42:
case
3: 43: val |= (param->enable <<
AG903_SSC_TDM3_SETUP_TDM_EN_POS
) &
AG903_SSC_TDM3_SETUP_TDM_EN_MSK
; 44: val |= (param->sclk_pol <<
AG903_SSC_TDM3_SETUP_SCLK_POL_POS
) &
AG903_SSC_TDM3_SETUP_SCLK_POL_MSK
; 45: val |= (param->fs_pol <<
AG903_SSC_TDM3_SETUP_FS_POL_POS
) &
AG903_SSC_TDM3_SETUP_FS_POL_MSK
; 46: val |= (param->fs_txpw <<
AG903_SSC_TDM3_SETUP_FS_TXPW_POS
) &
AG903_SSC_TDM3_SETUP_FS_TXPW_MSK
; 47: val |= (param->fs_dist <<
AG903_SSC_TDM3_SETUP_FS_DIST_POS
) &
AG903_SSC_TDM3_SETUP_FS_DIST_MSK
; 48: val |= (param->dir_tx <<
AG903_SSC_TDM3_SETUP_DIR_TX_POS
) &
AG903_SSC_TDM3_SETUP_DIR_TX_MSK
; 49: val |= (param->tdm_n <<
AG903_SSC_TDM3_SETUP_TDM_N_POS
) &
AG903_SSC_TDM3_SETUP_TDM_N_MSK
; 50: val |= (param->sclk_n <<
AG903_SSC_TDM3_SETUP_SCLK_N_POS
) &
AG903_SSC_TDM3_SETUP_SCLK_N_MSK
; 51:
AG903_SSC
->TDM3_SETUP = val; 52:
break
; 53:
default
: 54: 55:
break
; 56: } 57: 58:
return
; 59: }
グループ
SSC Primitive
リンク
sscprm.c
,
SSC Primitive
,
Body Source
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.
内容
|
インデックス
|
ホーム