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

UARTnDLL/UARTnDLM,UARTnPSRのレジスタWrite

Syntax
C++
void AG903_UARTPrmSetDivisor(uint8_t ch, uint8_t pscale, uint16_t div);
引数 
説明 
uint8_t ch 
[in] UARTチャネル 
uint8_t pscale 
[in] Prescaler設定値 
uint16_t div 
[in] Divisor設定値 

void

UARTnDLL/UARTnDLM,UARTnPSRのレジスタWrite

UARTnLCRレジスタのDLABビットを操作します。

1: void AG903_UARTPrmSetDivisor(uint8_t ch, uint8_t pscale, uint16_t div) 2: { 3: ASSERT(AG903_UART_CH_NUM > ch); 4: ASSERT(AG903_UART_PSR_MAXNUM >= pscale); 5: 6: AG903_UART_SET_REG(ch,LCR,(1<<AG903_UARTn_LCR_DLAB_POS)); 7: 8: AG903_UART_WRITE_REG(ch,PSR,pscale); 9: AG903_UART_WRITE_REG(ch,DLL,div); 10: AG903_UART_WRITE_REG(ch,DLM,(div>>8)); 11: 12: AG903_UART_CLR_REG(ch,LCR,(1<<AG903_UARTn_LCR_DLAB_POS)); 13: return; 14: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.