1バイト送信

最初のタスクは、シリアル接続経由で、マイクロコントローラからノートPCに1バイト送信することです。

ここでは、初期化済みのUSARTペリフェラルを提供します。 データの送受信に関連のあるレジスタの操作だけ、行う必要があります。

11-usartディレクトリに移動し、そこにあるスターターコードを実行しましょう。 minicom/PuTTYを開いていることを確認して下さい。

#![no_main]
#![no_std]

#[allow(unused_imports)]
use aux11::{entry, iprint, iprintln};

#[entry]
fn main() -> ! {
    let (usart1, _mono_timer, _itm) = aux11::init();

    // 1文字送信します
    usart1
        .tdr
        .write(|w| w.tdr().bits(u16::from(b'X')) );

    loop {}
}

このプログラムはTDRレジスタに書き込みます。このことにより、USARTペリフェラルがシリアルインタフェースを通じて、1バイトの情報を送信します。

受信側(ノートPC)では、Xの文字がminicom/PuTTYの端末に現れているはずです。