Python
2025.03.24
近頃はプログラミング言語といったらPythonをよく耳にするように思います。

私自身は数年前の年末から年始にかけて、仕事で初めて取り組みました。
ラズパイ上でPythonのテストプログラムをいくつも作って試していました。
その時は集中的にやっていたので、ずいぶん覚えたと思ったのですが、ずっとやってないとだめですね。今ではすっかり忘れています。

ゲームセンターあらしの「こんにちはPython」本を読みながら、ああ、昭和のあの頃はBASICだったなと・・・

もうC言語ならC言語でいいのに、個人的にはCで統一したいのです。過去のプログラムの移植なんかもCで書いたものがあるからそのままひっぱって来れるじゃないかと。

これからの入門者ならともかく・・・

まあ、こんなふうに新しい事を脳が受け付けにくくなっているところが老化なのかもしれません(笑)

そう思うと悔しくなって、かえって頑張って勉強するようになるでしょう。

いずれにしても英語ベースじゃないですか。どうも欧米に支配されているような気がしてなりません。

日本語BASICみたいなものがあれば覚えやすいのに。(ぴゅう太とか)

ニイケ
ヲヨベ
マワレ カラ カンカク トジル
カケ
ジツコウ
トマレ
オワリ
モシ ナラバ
シキ
セル
アニメ
キイ

ああ、やっぱり、PRINTとかGOTOでいいや。

日本独自のプログラミング言語なんかできたら、やっぱり日本はガラパゴスだとか言われるんだろうか。
近頃のPICマイコン
2025.03.24
マイコンひとつとっても、ここ20年以上で色々と変遷がありました。

AKI-80からH8/3048Fへ、その前に川鉄Z80・・・

PICマイコンが雑誌記事などで知られるようになったのは1995年頃ではなかったかと思います。
製品自体はずっと前から世の中に存在していました。Macintoshのマウスの中に入っていたのを覚えています。
ただEEPROMやFlashで書換ができるやつは割と新しいでしょう。16F84以前は16C84でした。12C508は最初ワンタイムで、開発時は窓付きを使っていました。

2010年代になってからArduinoが出回ってきて、

自分はその前にArduinoじゃないけどMEGA128や168をAVR Studioから使っていました。この開発環境は名前が変わって、ATMEL Studioだったっけ、また名前が変わったような。もう10年以上使ってない。

Arduinoの流れでは、ESPなども有る。

ほかにMbedが有って、それからラズパイが有って、これはマイコンというよりパソコンだろうけど、

ラズパイは初代が出た時に買った。だけどあんまり使わないまま、まだどこかに眠ってる。

コロコロ変わらないでほしいですね。特に産業用で使っているユーザーが多いので、いまでも3B+じゃないと困るとか言われたって・・・

あのキーボード一体型のやつが個人的にはお気に入り。放熱の仕組みも良い。


ところでPICの話に戻って、



これですよ。一昨年のトラ技の付録が目についた。

型番わけわからんです。PIC16F18857 って、無計画に番号を振っているような気がする。何らかの規則性があるのかどうか。なさそうな感じ。

84があって、628があって、628Aになって、
8ピンは12C508、12F629に675、
ピン数が多いのは873で877で、
その次の世代で883とか887になり・・・
dsPICとか24もあったけど、それと18Fシリーズ、ろくに使わないまま通過してしまった。

あまり品種を色々使いたくないのは、新しく使い始めるたびにワナにかかってしまうからね。
おかしいなあ、出力が出ない、なんでだろう。全然わからん。
あっそうか、このレジスタをこうすれば・・・まだダメだ。おかしいなあ。
・・・あれこれ調べて、まさかこれか。・・・ああっ、動いた。
こんなことをそのたびに繰り返しますからね。

18Fシリーズは直接アドレッシング範囲が拡大されて、16Fシリーズで頭の痛かったバンクから開放されたけれど、
それはアセンブラで使っていればメリットは感じられるけど、結局C言語になればバンクもあまり関係ない。

バンクといえばずいぶん苦労した。他人がアセンブラで作ったプログラム。かなりの容量。よく作るなと感心した。
感心している場合ではない。これに追加をしてくれと。そういう仕事。

それで追加のプログラムを作った。ところが・・・暴走した。バンクをまたいだせいだ。どこかに分割して置いてやるしかない。
そのジャンプは、いちいちバンク指定して、それを頭に置きながら・・・あれっまたおかしいなあ。ああそうか、これをこうして・・・もうコレ以上何か増やせって言われても困るぞ。そんな感じ。

余計な話になってしまったけど、これからワンチップマイコンを使いたいという時に何を勧めたらいいんだろう。

ライブラリが充実しているからArduino系は手放せない。
PICの頃はライブラリが無いから自作していた。誰かが作ったものがあれば使わせてもらっていたけど、最初は何もないから外付けしたいICのデータシートを見ながら手作りして試行錯誤。
たとえば最初の頃、RTCが読み書きできるようになるまで相当な時間をかけて、これじゃ本来の目的が果たせない。

ちょっとした簡単な制御ならPICだろうと思う。入力があって、出力があって、入力に対して出力を色々な組み合わせで操作したり時間的な遅延とか引きのばしとか。

'90年代までさかのぼれば、あの頃にZ80のワンチップでフラッシュROMまで内蔵したものが有れば、PICのワナにはまって遠回りしなくて済んだのに、という思いがいまでも心の片隅でホコリをかぶっている。

無いことも無い。だけど特殊だった。パチンコのV2チップが自分の理想としていた物で、だけど一般に出回らない。(出回ってはいけない。裏物が作られるから)
V2のROMをフラッシュにして、ROMとRAM容量がもっと大きかったら、Z80需要の大部分はそれで間に合ったかもしれないのに。

川鉄Z80(KL5C80A12)を使った時は結局ROMは外付けだったし、内蔵RAMじゃ足りないから外付けして、結局AKI-80(Z84C015)とあまり変わらなかった。Z84C015のほうが慣れた周辺ICを内蔵しているから使い慣れていた。

Z84C015+フラッシュROM+RAM これが自分の理想だった。

TLCS-90ってのがあって一時使ったけど、これもZ80のワンチップみたいなもの。ROMは8Kバイトあったけどワンタイムで、書き間違ったら捨てるしか無い。1個千円以上したと思う。
RAMは256バイトだったっけ。忘れた。とっくにデータブックも捨てたから。
Z80とバイナリコンパチではなかったが、命令は拡張されていて、こんな記述もできるなんて!と、面白いマイコンだった。
これに慣れた後でZ80に戻ると、Z80に存在しない命令を使いそうになって失敗したりしたわけだが・・・

なんだ、PICの話じゃなくてZ80の話になってしまって・・・

- CafeLog -