2024.1.1
前へ
次へ
ホームページトップへ戻る


PICBASICコンパイラ

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
まるでインタプリタ。でもコンパイラです。超カンタン超シンプルです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第122回]



●SDカードIF(42)SDカードをWindows7に接続(15)CSVファイル(13)BINBITD

あけましておめでとうございます。
旧年中は拙文にお付き合いいただき有難うございました。
本年もよろしくお願いいたします。

前回はバイナリデータファイルを読んでそれをBIT表現に変換するプログラムを作りました。
作成したプログラムはBINBIT.EXEとBINBIT2.EXEの2本です。
前者は出力したデータファイルをTeraPadやExcelで開いたときにデータが横一列に表示されます。
後者はデータが縦一列に表示されます。
十進数データに変換するプログラムや16進数データに変換するプログラムを作成したときはTeraPadやExcelで開いたときに1行に任意のデータ数が表示されるように1行あたりのデータ数を指定できるプログラムも作成しました。
前回はBIT表現に変換するプログラムとしては行当たりのデータ数を指定できるプログラムについては作成しないことにします、と書きました。
1バイトのデータをBIT表現で表示すると8文字にもなってしまうため複数データを横一列に表示しても見にくいだけではないかと思ったからです。
しかしそういう表示も必要になる場合もあるかもしれないと後になって思い直しました。
十進数データや16進数データではそういうプログラムも作ったことでもありますから、BIT表現の場合でも同様のプログラムを作ってもよいではないかと思いました。
そんな調子であれこれ考えていると作るプログラムがどんどん増えていってしまいます。
ですけれど。
既に作成済みのプログラムの一部を変形するだけですからそれほど手間がかかるわけではありません。
まあいいかという感じです。
実際のところこうして記事として書くのが一番手間がかかります。

それはともかく、そういうことで結局作ってしまったプログラムはBINBITD.EXEです。
BINBITD.EXEを実行しました。

いままでと同じようにTEST31.BINを読み込んでBIT表現のデータに変換します。
1行あたりのデータ数の指定では、データ数が余り多いと見にくくなりますから10データを指定しました。
bites/line=の表示に10[Enter]と入力しました。
TEST31.CSVが作成されました。
そのあとDEBUGコマンドでTEST31.CSVの内容を確認しました。
前回と同じように8ビットのデータが0と1(ASCIIコードの30と31)だけのデータ列に変換されましたが10データ目の区切りのところは改行コード(0D 0A)になっています(下から3行目)。
ここでは表示されていませんが10データごとの区切りには改行コードが入っています。
そのほかのところのデータ区切りは2C(「,」のASCIIコード)です。

そのように作成されたTEST31.CSVをTeraPadで開きました。

なかなかに壮観であります。

今度はExcelで開きました。

第1行から第7行の途中までのデータは左側の0が全部省略されてしまっています。
先頭(一番左のビット)が1のデータは8ビット全部が表示されています。
やっぱりBIT表現の場合にはこれはちょっといただけませんでしょう。

Excelのこの問題については次回でもう少し探求してみることにいたします。

PICBASICコンパイラ[第122回]
2024.1.1upload

前へ
次へ
ホームページトップへ戻る