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

SSCSSP_SETUPのレジスタRead

Syntax
C++
void AG903_SSCPrmGetSspSetup(uint8_t ch, AG903_SSCPrmSspSetup* param);
引数 
説明 
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: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.