H8+C言語入門:第1章 講座の条件
第1章では、本講座を開設するにあたり、プログラムを動かす為の環境のことや、C言語の
機能面で触れていないところを明確にします。
この講座では、C言語について、これだけの文法や作法を知っておけば、更に、プログラ
ミング対象であるH8について、これだけの機能を知っておけば、高校生ものつくり熊本県
大会の課題に取り組むことができる(はず)プログラミング技能の習得を目標としています。
本C言語の講座に入る前に、C言語に関するプログラミングの授業を受けて、基本的な理解
があると取り組み易いかもしれません。
1.1 動作確認環境
この講座で紹介するプログラムを動作確認する際、下記環境が必要となります。
・開発環境:HEW+H8用コンパイラ(ルネサス社)
・CPU:H8
・制御対象回路:kumamoto Ver.1
・設計製作回路:熊本県大会2010課題
1.2 C言語:触れない機能
この講座では、C言語の全ての機能を紹介するわけではありませんので、予め、ご承知置
きください。
高校生ものづくり熊本県大会に参加する為に、必要最小限のC言語機能を紹介することが、
この講座の使命と位置づけしています。他にもいろいろな機能があり、本講座で触れない
機能は次の通りです。
C言語として、
標準入出力関数
列挙型
構造体
構造体
Typedef
共用体
ポインタ
ポインタ
多次元配列
プリプロセッサ
C言語のコンパイル環境として、
分割コンパイル
ライブラリ
勿論、これらの学習を進めて、自己のプログラミング技能を向上させ、高度なプログラミ
ングをすることには、何ら支障はありません。できれば、チャレンジして、自分の腕を磨
きましょう。
1.3 H8:触れない機能
この講座では、H8のいくつかの基本的な機能を使って、高校生ものつくり熊本県大会の
課題を解いていくが、H8の機能の中で触れていないものもある。その機能は次の通りで
ある。
PWM
割り込み
DA変換
非同期式通信
勿論、これらの学習を進めて、H8の制御をより自分のものにすることには、何ら制限を
呈しない。
勿論、これらの学習を進めて、H8の制御をより自分のものにすることには、何ら支障は
ありません。できれば、チャレンジして、自分の腕を磨きましょう。
1.4 プログラミングが上達するには
一番重要なのは、
自分で何かを作る楽しみを見つけることができる。
ということです。
何はともあれ、ものづくりが楽しいか?というところで、楽しくないと、ちょっと辛いか
もしれませんね。でも、結構、作り始めて、それが進む中で完成していく様を見ていくの
は楽しいものですし、完成したら、やった〜という達成感もいくばくかを感じることがで
きると思います。
そこで”もの”を作り上げるということと、プログラムをするということは、少し別のもの
ではありますが、”もの”をある意図を持って、その為に動かすには、プログラムをすると
いうのが最近の流れですので、”もの”+プログラミングというのが一つのセットになって
いるのが多いでしょうね。
プログラムは、特別な技能ではありません。誰にでもできる技能です。
只、ひたすら”もの”を作り込むことが好きな人もいるでしょうし、プログラムをすること
が好きという人もいるでしょう。でも、ものづくりをするということでは、同じことなの
ではないかと思います。
「高校生ものづくり」の大会では、”もの”を作り上げる技能と、それを課題という目標に
添って動かすプログラムを組み上げる技能の両方が求められます。
この講座でC言語というプログラミングの技能を少しでもいいので、自分のものにして、
プログラミングの楽しさも掴めたらいいなと思います。
ものづくりを支えるのは、好奇心です。これは、”もの”を作るということにも当てはまり
ますし、プログラムをするということにも当てはまります。好奇心が次の疑問を呼び寄せ、
その疑問を乗り越える度に、自分に技能という無形の財産がたまっていきます。好奇心〜
疑問〜解決〜好奇心〜疑問・・という繰り返しです。これを、繰り返せば、繰り返す程、
好奇心の幅や深さは、広く、深くなっていきます。でも、それらの一つひとつを積み重ね
ていくことで、最初は非常に困難に思えたことも、実は単純なことの積み重ねで構成され
ている事実を見つけることができれば、しめたもの。そして、できる自分を少し褒めつつ、
続けていけるといいですね。
1.5 プログラムの作成手順
これからプログラムを作るにあたって、基本的にやらなくてはならないことを、ざっくり
と書き出してみます。既に知っていることばかりでしょうが、お復習いということで、見
てください。以下の説明で出てくる用語は、重要なものを含んでいますし、プログラムを
するということでは、基本となっている言葉もありますので、(タイトルだけでもいいの
で)しっかりと記憶しておきましょう。ま、何かそういえば・・という程度でもよろしい
です。その時に、以前買った本を見直す、インターネットで調べ直す・・そういうことを
積み重ねて、自分の記憶を強くしていきましょう。
■プログラム言語
”もの”を動かすには、それを制御するものがいるわけですが、制御するものの代表格
がコンピュータです。この講座では、後で、H8というものを使いますが、これがコン
ピュータですね。
このコンピュータに、どのように動いてもらいたいかを示す必要があります。
それをプログラミングといいます。そして、これから学ぶ「C言語」は、そのプログラ
ミングに使う言語の一種です。プログラム言語の多くは、人間が分かりやすいようにな
っていますが、英単語がベースになっています。
(英語がちょっと苦手だなと思う人もいらっしゃるでしょうが、単純な単語が多いので、
結構、無理なく覚えることができますよ)
このような人間が見て分かる状態のもの、どのように動いてもらいたいかを記述したも
のを「ソースコード」と言います。
ここでは、C言語で説明しています。他にもいろいろなものがあります。
そこは、インターネットや図書館、本屋さんにお任せするとして、ここではC言語に特
化しています。
■ソースコード
そのソースコードというものは、テキストファイルとして保存します。
テキストファイルとは、簡単に言えば、純粋に文字だけからなるファイルのことです。
テキストファイルとして保存するには、エディタ(編集用のソフトウェア)を使います。
UNIXなら、viエディタが有名ですし、Windowsでは、標準で添付されているメモ帳や
WordPadなどがあります。
テキストファイルの名前は、C言語の場合は「file.c」のように、最後に「.c」を付ける
のが一般的です。
■コンパイル
しかし、人間に分かる英単語を基本に書かれたソースコードは、コンピュータには、何
のことだか、そのままではまるで分かりません。コンピュータが分かる「形」にしてあ
げる必要があります。それを機械語といいますが、機械語の形式に変換する作業が必要
になります。その変換作業をコンパイルといいます。
つまりコンパイルとは、人間の使う言葉=ソースコードから、コンピュータが使う言葉
=機械語へ変換=翻訳=コンパイルする作業といえます。この翻訳をするのもプログラ
ム、つまりソフトウェアなわけですが、これを「コンパイラ」と言います。
コンパイルの具体的な方法は、コンパイラによって違います。
ここでは、ルネサス社のHEWと同社のH8用のコンパイラを使います。
ここではコンパイルの仕方を詳しく説明しません。それらのの取扱説明書を読んでくだ
さい。
■プログラミング
プログラムを作るということは、
テキストファイルで保存したソースコードを、
コンパイラでコンパイルし、
ソフトウェ アを作る
ということでしょうか。
このC言語入門講座では、C言語を理解するのが目的です。
また、この講座で考えている環境は、前項に記載しておりますので、ご参照ください。
また、それらをどう使うか、どういう方法で作るのかは、詳しそうな人に聞くか、自分
で調べてみてください。
1.6 宣言と定義
言葉の使い方です。
「定義」とは、変数が実際に作られ、或いは、記憶が割り当てられたことを示します。
「宣言」とは、変数の性質が指定されているが、記憶の割り当てがまだされていないこと
を示します。
ううん、ちょっとまどろっこしい・・もう少し他の章を書き進めてから、説明の仕方を再
考してみようと思います。