文字列の反転

それでは、次はサーバーをもっとおもしろくしましょう。送信されたデータを反転したテキストをクライアントに返信します。 サーバーは、ENTERキーが押されるたびに、クライアントに返信します。 サーバーの各返信は、新しい行になります。

今回は、バッファが必要になります。heapless::Vecが使えます。スターターコードは次の通りです。

#![deny(unsafe_code)]
#![no_main]
#![no_std]

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

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

    // 32バイト容量のバッファ
    let mut buffer: Vec<u8, consts::U32> = Vec::new();

    loop {
        buffer.clear();

        // TODO ユーザーリクエストを受信します。各ユーザーリクエストはENTERで終わります。
        // 注記 `buffer.push`は、`Result`を返します。
        // エラーメッセージを返信することで、エラーを処理して下さい。

        // TODO 反転した文字列を送り返します
    }
}