H8-3069ネット対応マイコンにMESを入れる > 基本編4.ブラウザから入力した文字列を液晶に表示させる | |
4.ブラウザ入力した文字列を液晶に表示 | |
予め配列に入れた文字を表示前回の「3.DIPスイッチの入力確認」が出来たら、今度はその斜め左下に付いている液晶(SC1602BS*B)に文字列を表示するプログラムを作ってみようと思います。このページでの目標は、ブラウザ画面から入力した文字列を液晶画面に表示させることです。しかし、その前に簡単なのからやっていきます。まずはあらかじめ配列に入れておいた文字列を液晶に表示させる、というのをやります。
上のプログラムをlcd1.cという名前で保存します。保存先はC:\mes\lcd1フォルダの中にします(lcd1フォルダをmesフォルダの中に新規作成する)。
動きました。でも、このプログラムで、まだちょっと不明点があります(自分で書いたくせに)。それは、strlenという文字列の長さを調べる関数を使うために書いたヘッダファイル「string.h」です。この#include <string.h>は書かなくても動くようなのです。これはコンパイルの関係だとは思うのですが、とても不思議です。もし、エラーであれば、コンパイル時にエラーが出るはずですよね?このようにincludeせずに使ってエラーが出ないということは、うまくstrlenが使えるように読み出されている、ということになります。 | |
ハイパーターミナルから入力した文字列を表示次は、ハイパーターミナルから入力した文字列を液晶に表示します。
このlcd2.cはこちらにおきます。ダウンロードして使ってください。保存先はC:\mes\lcd2フォルダの中にします(lcd2フォルダをmesフォルダの中に新規作成する)。そして、コンパイル、RAMに転送します。そして下のようにlcd2.elfを実行します。
ハイパーターミナルの画面に「入力してください:」と出たら、何か適当な文字列(半角英数字または半角カタカナ)を打ち込み、Enterキーを押します。ここでは「mendori Happy!」と打ち込んでEnterキーを押しました。すると次のような表示になります。
ここでのポイントは2つ。まずはseekを使って液晶画面を消す(というか空白で埋めた)ところ。このseekの使い方はこれで合ってるのかな?まあ消せたので良いことにします。 | |
ブラウザから入力した文字列を表示次はブラウザを使って文字列を表示します。先ほどのハイパーターミナルのプログラムより分かりやすいですね。
このlcd3.cはこちらにおきます。ダウンロードして使ってください(上のをコピペすると、改行の関係でエラーになります)。保存先はC:\mes\lcd3フォルダの中にします(lcd3フォルダをmesフォルダの中に新規作成する)。そして、コンパイル、RAMに転送します。そしてhttp.elfを実行し、ブラウザを立ち上げてhttp://192.168.10.2/lcd3.elfを開きます。下のような表示になります。
まだ入力してないので*(argv+1)は何も表示されません。液晶の表示も下のように何も出ていません。
ここで、ブラウザから「Happy!!!」と打ち込んでSubmitボタンを押します。するとブラウザと液晶の画面は次のようになります。
できました。%21が!(感嘆符)のアスキーコードですね。このブラウザからの表示は「基本編3.LEDの点灯消灯プログラム」をいじっただけです。理屈は同じなので説明は割愛します。 次は5.8*8ドットマトリックスLEDを使ってみるです。>> | |