📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 144行目: | 144行目: | ||
== UCB0RXBUF : USCI_B0受信バッファレジスタ == | == UCB0RXBUF : USCI_B0受信バッファレジスタ == | ||
受信したデータを読み出すレジスタである。<br> | 受信したデータを読み出すレジスタである。<br> | ||
新しいデータを受信すると、<code>UCB0RXIFG</code>フラグがセットされる。<br> | |||
<br> | |||
UCB0RXBUFレジスタは、I2C通信で受信したデータを格納するレジスタであり、8ビット幅を持つ。<br> | |||
I2C通信では、データは8ビット (1バイト) 単位で送受信される。<br> | |||
<br> | |||
マスターデバイスから1バイトのデータが送信されて、スレーブデバイス (MSP430G2553の場合) がそのデータを受信する時、以下の動作が行われる。<br> | |||
# 受信した1バイトのデータがUCB0RXBUFレジスタに格納される。 | |||
# <code>UCB0RXIFG</code> (USCI_B0受信割り込みフラグ) がセットされる。 | |||
<br> | <br> | ||
したがって、UCB0RXBUFレジスタは1バイト単位でデータを受信して、<code>UCB0RXIFG</code>フラグは1バイトの受信が完了したことを示す。<br> | |||
<br> | |||
<code>UCB0RXIFG</code>フラグがセットされることにより、新しいデータが受信されたことを示す。<br> | |||
このフラグは、ソフトウェアで明示的にクリアする必要がある。<br> | |||
<br> | |||
一般的に、<code>UCB0RXIFG</code>フラグがセットされたことを検出するには、以下に示す2つの方法がある。<br> | |||
* ポーリング方式 | |||
*: <code>UCB0RXIFG</code>フラグを定期的に確認して、セットされたらデータを読み出す。 | |||
* 割り込み方式 | |||
*: <code>UCB0RXIE</code> (USCI_B0受信割り込み有効ビット) を有効にしておき、<code>UCB0RXIFG</code>フラグがセットされたら割り込みが発生するようにする。 | |||
<br> | |||
どちらの方法を使用するかは、アプリケーションの要件や設計に依存する。<br> | |||
ただし、割り込み方式を使用する場合は、適切な割り込みハンドラを実装する必要がある。<br> | |||
<br><br> | <br><br> | ||