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):はじめに読む(リンク)
- 電気回路:はじめに読む(リンク)
- 実験シリーズ:はじめに読む(リンク)
更新方針
このページは、実験が進むにつれて「必要になった項目」を追記していきます。
最初から全部そろえず、ロボット開発の進行に合わせて整備します。