C言語:はじめに読む

2足歩行ロボを作るには、マイコン(RA8M2)を動かすための「C言語」が必要です。
ただし、最初から全部覚える必要はありません。ここでは、まず、評価ボードで最初の実験(LED点滅)を動かすための最低限に絞って案内します。

※実験シリーズは、評価ボード RTK7EKA8M2S00001BE を前提に進めます。
(別ボードでも考え方は同じですが、コードや手順が一部異なることがあります)

このページでやること

  • C言語の「最低限」を 読む順番で案内します
  • 最初に詰まりやすい “Cの形が分からない”問題 を先に潰します
  • 困ったら戻ってこれる“入口”にします

まずはここから(最初の1本)

1. C言語の最小セット(main / ループ / 関数 / 変数:LED点滅で使う形だけ)

最初のLED点滅に必要なのは、C言語のうち本当に一部だけです。
この1本のゴール(まだボード不要でもOK):

  • main() が入口だと分かる
  • 組み込みでは while(1) のようにずっと回すのが普通だと分かる
  • 関数を呼ぶ(func();)が読める
  • 変数で「状態」を持つ意味が分かる(カウンタ、フラグ)

→ C言語の最小セット(リンク)

最低限の道具(最初はこれだけでOK)

  • e² studio(環境は「組み込み開発:はじめに読む」側で用意済みの前提)
  • プロジェクト(FSPプロジェクト。コードが書ける状態になっている)

※このカテゴリ(C言語)では、環境構築の細部は扱いません。
 ビルドできない/書き込めない場合は、組み込み開発カテゴリ側に戻る方針です。

次に読む(必要になったらでOK)

※ここから先は、実験を進める中で「困ったら読む」で十分です。

2. (予定)Cの型と数値(int / uint32_t / ビット:GPIOの値が読めるようになる)

  • 0/1 だけでなく「ビット」「16進数」が出てきても止まらないため
  • GPIOやレジスタの値が“数字の表現”として読めるようになります
    → Cの型と数値(リンク)

3. (予定)if / switch(条件で分岐する:ボタンや状態で動作を変える)

  • LED点滅の次で「条件」が必ず出ます
    → 分岐(リンク)

4. (予定)配列・構造体(複数のサーボ/センサを扱う入口)

  • ロボットは「複数個」を扱うので必須になります
    → 配列・構造体(リンク)

5. (予定)ポインタ入門(“避けて通れない”けど、最初は最小で)

  • FSPやドライバで必ず出るため
    → ポインタ最小入門(リンク)

よくあるつまずき(先に読んでおくと時間が減ります)

ビルドエラーが出て、何も分からない

  • エラーの「最初の1つ」だけ読む(1個のミスが雪だるま式にエラーを増やすことが多い)
  • まずは セミコロン ;、波かっこ {}、括弧 () を疑う
    → C言語の最小セット(リンク)

書いたはずのコードが動いていない気がする

  • 書く場所が違う可能性(変更する必要のないコードまで編集してしまう)
  • 最初は 「自分が触るファイル/触らないファイル」 を決めます
    → 生成コードとの付き合い方(リンク)

“待ち”を書いたのに点滅が速すぎる/変わらない

  • ループでの待ちは、最適化で“消える/短くなる”ことがあります
  • 最初の実験では 確実に効く待ち方 を使う方針にします
    → delayの最小理解(リンク)

エラーは消えたけど、意味が分からないまま進んで不安

最初のLED点滅では、次だけで十分です。

  • main() が読める
  • 無限ループが読める
  • 関数呼び出しが読める
  • 変数が「状態」だと分かる

他カテゴリの内容が必要になったら(リンクだけ案内)

このカテゴリでは深掘りしません。必要になったときだけ、各カテゴリの「はじめに読む」へ進んでください。

  • 組み込み開発:はじめに読む(リンク)
  • マイコン(RA8M2):はじめに読む(リンク)
  • 電気回路:はじめに読む(リンク)
  • 実験シリーズ:はじめに読む(リンク)

更新方針

このページは、実験が進むにつれて「必要になった項目」を追記していきます。
最初から全部そろえず、ロボット開発の進行に合わせて整備します。