PICマイコン
2025.09.08
 近頃あまり話題にものぼらないPICマイコンですが、活躍の場は多いです。

■1.昔からの疑問

 たとえば16F88x
 同シリーズで883とか886、887とか、28ピンや40ピンが有るけど、
 ひょっとして中身は同じなのだろうか? という疑問

 PICマイコンといっても多くのシリーズにそれぞれの型番とパッケージ種別がある。
 こんなゴチャゴチャで管理が大変だなと他人事ながら思ったわけ。
 そこで、ひょっとしたら中身は同じじゃないかと?
 何種類もそれぞれ生産するより、同じチップを大量に生産して共用したほうが合理的な気がする。

 (1)メモリ容量の違い
 仕様書では何キロバイトまでですと書いてあるけど、じつはそれ以上に(上位型番)使えたりして? チップを共用化しているなら上位型番の仕様ではないかと。
 何キロバイトまでしか使えないというのは、そう思わされているだけじゃないかと。
 あるいは、883、886、887で容量を設定するために配線を焼き切るとか、ボンディングで設定してるとか?

 (2)40ピンに有るけど28ピンに無いポート
 たとえばRD、REは40ピンに有るけど、28ピンには無い。
 でも試してみたら、そのレジスタにはアクセスできたりして?
 これは昔から試してみようと思っているけど、忘れてしまっていまだに確認できていない。
 忘れっぽいのと、すぐできるのにやらない先延ばしグセ、自分の欠点。

■2.Arduino対応

 Arduinoが対応しているマイコンは数多くある。
 なぜかPICは入ってないようだ。
 PIC用のブートローダは有るけど、Arduino用ではないと思う。(試してないので知らない)

■3.価格

 新しい品種ほど安い。古い品種はどんどん値上がりしていく。
 古い品種を継続的に使っていると、原価が上がってくる。
 できれば動いている物に手を入れたくないのが正直なところ。
 新しい品種に移植してテストする手間も時間もそれなりにかかる。
新しいマイコンの試食
2025.09.05
新しいマイコン、というのは新製品というよりも、自分的に経験のないマイコンという意味で・・・

レトロマイコンで楽しみつつも、仕事では条件によって様々なマイコンを選ぶ必要に迫られます。
そんな時に「持ち駒」ができるだけたくさんあると助かります。

そこで、使った事のないマイコンを積極的に試しておく必要があるなと思いました。

全く使った事がないマイコンは、初めて使う時に何らかのつまずきが有ったりするものです。あとから振り返ってみれば当たり前のことだったなと思うけど、最初は全く知らずに罠にはまったりします。

何となく定番マイコンばかり使ってしまいます。慣れているものが一番だからです。

たまに、それだと性能や仕様が合わない場合があります。そこから改めて探し回ると時間がかかるので、持ち駒があったらと思うのです。

UARTがもう一組欲しいってのは有りがちですが、SPIが2組無いかという要求も実際あります。いや一組でいいでしょう、と考えますが、高速のクロックで動かす為に配線を短くして、他のデバイスを並列にしたくない(負荷が増えて波形が乱れる)という理由もあります。

開発環境にも慣れておき、できればすぐに使える状態にしておくのがベターでしょう。

自分はハードウェアもやりますから、そのマイコンに有った評価ボードを実際に設計して作る所までです。最初のお手本としては市販のボードでも良いが、いずれ製品を作るのだから自分で把握しておく必要があります。
順番がある
2025.08.14
仕事上での出来事ですが、

開発環境として複数のソフトをインストールする必要がありました。

ところが、そのうちのひとつのソフトがインストールできない。途中でエラーを出して終わってしまう。

エラーメッセージは、ファイル使用中につき云々・・・なんだそりゃ?

結果から書くと、タイトルに書いたように「インストールする順番」がある。

どうやらソフト同士で共用のファイルが有るみたい。
先にインストールしたソフトは常駐する。
そのあとに別のソフトをインストールしようとすると、(常駐で)ファイル使用中なので書き込みできないからエラーになる。

そんなのわかんねえよって言いたくなるが、説明書には順番が書いてある。だけど順番とは思わなかった。要するにこれだけ入れれば良いのかと思い、片っ端から入れていっただけ。

なんというか、たとえば・・・プラモを説明書も読まずに好きな所から適当に組み立てて失敗するタイプ
先にそこを接着したら、説明書の最初で作る部品が組み込めなくなるでしょう!! という感じか。(だって読むのがかったるいもん、めんどくさー)

結局、全てをアンインストールして、最初から順番にひとつずつ入れ直して・・・ようやくうまくいったというわけ。

まあ、でも、こういう遠回りをするのは貴重な経験ができた、知識が増えたと前向きに受け止めよう。
stray '\357' なんとかエラー
2025.03.26
Arduinoで出てくるナゾのエラー。
ご存知の方は読まなくても構いません。

コンパイルすると、こんなエラーが出て中断。
stray '\357' in program

※円マークは実際にはバックスラッシュ。

私も初めて出くわした時には、わけがわからなくて困りました。

これは全角などの文字コードがソースに紛れ込んでいる為に起こります。


自分の経験で覚えているのは、Webサイトに掲載されたソースをコピー・ペーストしてきたときです。
簡単なプログラムだから通るだろうと思ったら、コンパイルが中断してしまう。
あれっおかしいなあ・・・

それで、いくらソースを隅々まで見てもわからない時があったのです。

全角スペースだったら、テキストエディタでソースを開いてみると(スペースも表示されるようにしておく)全角スペースを見つける事ができました。

先日経験した例では、それではありませんでした。

ソースの先頭から見ていこうとして、一番最初のところにカーソルを持ってきた。
カーソルキーを右へ移動しようとしても、なぜか引っかかったような感じでした。数回押すとやっと右へ1文字移動した。
ひょっとしてコレか!

見えない文字(コード)が挟まっていたわけですね。

その見えない文字相手に、DELキーを数回押して、それから改めてコンパイル・・・ようやく通りました。

こういうのってArduinoに限らず、自分の記憶ではかなり昔から有りました。

高校生の頃でした。COBOLのコンパイルが通らないのです。テキストエディタを開いてみてもどこにも誤りは無さそうです。
先生いわく、コントロールコード等が紛れ込んでいて、その見えない敵が悪さをしているということでした。
だから1行ずつ見ていって、あちこちでDELを押してみたりして挟まっている見えないコードを削除していったのです。
TABで区切られたところは、一旦TABを消して文字を詰めてから改めてTABを押し直す。
行末で改行を消し、次の行とくっつけてから改めて改行を押す。
こんなことを延々続けて、コンパイルしてみたら通ったのでした(笑)。

そういえばMSX-DOS2上のテキストエディタもおかしい時があったな。AKIDだったっけ。見えない文字が入っていると思って、カンでそのあたりを消してみたらアセンブルが通った。

- CafeLog -