HardwareSerial::HardwareSerial()

概要

HardwareSerial()は、シリアル通信を行うためのオブジェクト(C++の変数)を生成するコンストラクタです。Arduino Unoでは、Serialというオブジェクトが自動的に生成されます。

HardwareSerialクラスは、Streamクラスを継承しています。Streamクラスは文字列ベースのストリームを実現するためのクラスで、available()やread()、peek()、flush()という関数のひな形(これらは、Streamクラスを継承したクラスで実装する必要があります)や、find()、findUntil()、parseInt()などの関数を提供しています。

Streamクラスは、Printクラスを継承しています。Printクラスは、文字の表示に関する機能を実現しています。1文字表示のためのwrite()関数を継承したクラスで最低限実装する必要があります。print()やprintln()を利用することができます。

HarawareSerialのコンストラクタは、オブジェクト内のメンバ変数を初期化します。

ソースコード

HardwareSerial()は、hardware/arduino/avr/cores/arduino/HardwareSerial_private.hに定義されています。以下に全ソースコードを示します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
HardwareSerial::HardwareSerial(
  volatile uint8_t *ubrrh, volatile uint8_t *ubrrl,
  volatile uint8_t *ucsra, volatile uint8_t *ucsrb,
  volatile uint8_t *ucsrc, volatile uint8_t *udr) :
    _ubrrh(ubrrh), _ubrrl(ubrrl),
    _ucsra(ucsra), _ucsrb(ucsrb), _ucsrc(ucsrc),
    _udr(udr),
    _rx_buffer_head(0), _rx_buffer_tail(0),
    _tx_buffer_head(0), _tx_buffer_tail(0)
{
}

コンストラクタに与えられた引数で、HardwareSerialクラスに定義された、クラス変数を初期化します。

バージョン

Arduino AVR Boards 1.8.6

最終更新日

March 21, 2023

inserted by FC2 system