ラベル マイコン の投稿を表示しています。 すべての投稿を表示
ラベル マイコン の投稿を表示しています。 すべての投稿を表示

2023年8月8日火曜日

MPLAB X IDEでProjectがLoadingのまま動かない場合

Projectが読み込めない!

 今回も超ニッチなネタです。PICの開発環境であるMPLAB Xで特定のプロジェクトが読み込めない現象に出くわし、(消極的方法で)自力解決できたので記します。
 PC新調に伴い環境を入れ直したのですが、なぜかPIC32系のプロジェクトがLoading...で固まって読込みできなくなりました。PIC16系は読み込めるので謎です。環境はMPLAB X 6.10です。
 

2022年12月17日土曜日

TB62709をArduinoで動かす

TB62709とは

 TB62709は7セグメントLEDのコントローラ及びデコーダとして機能する東芝のICです。アノードコモンの最大4セグメントまでを制限抵抗なく1チップでドライブできます。データシートを見るに2008年かそれ以前に生産されたICで、今や単体では手に入らないと思われるものですが、このIC(TB62709NG)が搭載された7セグメントLEDボードを某所で入手したので動かしてみます。ポンバシのあの店です。
 

ICシリーズ

 今回入手したのはTB62709NGですが、非常にシリーズが多くややこしいです。調べてわかった範囲で記します。

TB62709

N, NG, F, FGがあります。GがついているとDINのみならずDOUTが使え、カスケード接続できるようですが詳細不明。NとFはパッケージ違いです。鉛フリー。

TB62785

パッケージ違いでNG, FTGがあります。TB62709と酷似しており、絶対Vddがやや低いことと、鉛フリーが記載されていない点しか違いが見つけられませんでした。少なくとも通信フォーマットはTB62709と同じなので、同一ライブラリで動くと思われます。

TB62705

パッケージ違いでCP, CF, CFNがあります。
8ビットシフトレジスタ+ラッチ+定電流のみです。62709のようにデコード機能や明度変更といった便利機能はありません。ロジックICらしく、CLK, DIN, LAT, ENピンがあります。

TB62706

16ビットシフトレジスタであり、それ以外は62705と同じ。
 

通信

 通信はCLK、DIN、LOADの3本。電源は5Vです。通信規格はI2CでもSPIでもないですが至極シンプル…というか古き良き普通のシフトレジスタ+ラッチです。当然ACKもエラー訂正もないので、向こうが正しくリッスンしてくれていると信じて一方的に送りつけるだけです。まあ古いICですし。
 お陰でクロックは16MHzまでOKらしいです。
 

Arduinoライブラリ

 マイコンは何で開発してもいいのですが、ライブラリ化することを考えてArduinoとしました。TB62709とTB62785に対応しています。カスケード接続には非対応です。
 
 
 大して複雑な操作もないので、Exampleで使い方を察してください。それなりに使える関数を作ったつもりです。
 
 

2022年2月24日木曜日

PIC32MX210F016BでUSBデバイスは作れるか

PIC32MX210F016BとHarmony

 秋月で190円(2022年1月現在)で売っている、USB搭載最安PICです。半導体不足の影響か、PICが軒並み値上げになっているので昔はもっと安かったと思います。ともかく、この値段で32bitアーキテクチャであり、ハードウェア乗算機を積んでいる超賢い石がこの値段で手に入るのはすごいですね。
 さて、USB積んでるならUSB機器作れて当たり前だろという感じですが、210F016Bはメモリ4kB, フラッシュ19kB という(PIC32としては)地を這うようなリソースの制限があります。加えて、Microchip社はPIC32、特にMXシリーズ以上でHarmonyというフレームワークを使用して開発することを想定しており、FreeRTOSが否応なしに走るのでリソースを馬鹿食いします。
 MHC(Microchip Harmony Configurator)を使ってプロジェクトを作った方なら分かると思いますが、USBの適当なクラス(HIDとかCDCなど)を搭載したプロジェクトを作ると、メモリアロケーションできずにビルドが通りません。ヒープとかスタックのサイズを調整してもどこかしらのアロケーションエラーが出ます。少なくともフリー版XC32では最適化レベルを変更してもどうやっても通りません。
 使っていない機能の変数割当をエラーが出なくなるまで削るといいんでしょうが、本当に使っていない変数ならコンパイル時に除去されるので、いい感じに容量削減するのは骨が折れそうです。
 いくらググっても32MX210でUSB機器開発した情報が出てこないので、今回はこれをなんとかしてみたいと思います。

2022年2月19日土曜日

XC32 ver4.00 Free版でMIPS16コードが生成できる

ついに解禁か?

 最近ずっと32MXの開発をしていて、XC32 v3.01 フリー版ではMIPS16コード作成オプションを使えないことを確認していました。v4.00が2022年1月に出たのでアップデートしてみたところ、なんとMIPS16オプションが効いて、実際かなりのサイズダウンができているではありませんか!

2021年11月7日日曜日

CH32F103C8T6やCS32F103C8T6とは

みんな大好きblue pill

 STM32の激安開発ボードと言えば、そう、blue pillがありますね。32bitマイコンのSTM32F103C8T6が載っているのに格安の1~2ドルで大変重宝していました。亜種としてはblack pillとかもあります。
 しかし昨今は世界的半導体不足の影響か、Aliexpressでも5ドル以上と、お手軽さがなくなってしまいました。そこでショップ側も対策すべく、STM32と並んで、CH32F103C8T6が載ったblue pill的なもの(type-Cにアップグレードされていることが多い)を3ドル程度で売っているのをよく見るようになりました。ではこのCH32F103C8T6とは何なのでしょう。

2021年10月26日火曜日

MPLABのシステムドライブ圧迫を回避する

MPLABさんの困った仕様

MPLABは"C:\Users\ユーザー名"に勝手にDFPのデータやらMCCのデータやらを置いてくれます。(※Windowsの想定です)
環境によりますが、数GBあるので知らぬ間にCドライブを圧迫してくれる困った仕様です。当然保存先を指定できるオプションはありません。
肥大しがちなフォルダは".mchp_packs" ".mcc"なので、こいつらをなんとかしたいと思います。

2021年6月17日木曜日

MPLABのシミュレーターで"No source code lines..."が出る場合の対処法

 No source code lines were found at current PC 0x0

PIC向け統合開発環境MPLAB Xのv5.40, v5.50ともに出くわしたエラーです。
シミュレータを起動すると初回は正常に動くものの、2~3回デバッグを繰り返すと上記エラーが出てMPLABを再起動するまで直りません。エラーの内容は文字通りプログラムカウンタの0番地にコードが見当たらないというものですが、コードは正常ですし、そもそも初回は成功しているのでMPLAB側の問題としか思えません。
同じ問題で困っている人がいないのかググっても情報は見つかりませんでしたが、自力で原因と解決法を見つけたので記します。

2021年3月18日木曜日

PICのパワーアップタイマーとスリープ

 PICに昔からあるConfigurationにパワーアップタイマー(PWRTEビット)があります。クロックが安定するまで自動でリセットを掛ける代物ですが、果たしてこれはスリープからの復帰では動作するのでしょうか。スリープ復帰は恐らく「パワーアップ」ではないので、パワーアップタイマーは動かないと思われますが、自信がなかったので調べました。

2021年2月28日日曜日

PICのDozeモードと消費電力

(新しめの)PICの消費電力を下げる手段は主に3つあり、Sleep(DeepSleep含む)、Idle、Dozeが選べます。消費電力もこの順に高くなっており、SleepはCPU/Peripheralクロック共に停止、IdelはCPUクロックのみ停止、Dozeはクロック停止なし(分周で遅くする)となっています。

2019年3月13日水曜日

ArduinoでBME280とBH1750を使う

BME280

BME280は温度、湿度、気圧が測れるセンサーです。Aliexpressにて2.23ドルで買いました。
Amazonでも日本発送のPrime対象商品が売っているので、Aliに抵抗があったり直ぐに欲しい場合はAmazonでもいいかもしれません。
似たような名前ですが、BMP280には湿度センサーが付属していないので注意してください。値段がぜんぜん違うので調べててわかるとは思いますが。BMPの方だと0.75ドルくらいです。

2019年2月28日木曜日

自作植物育成ライト 調査編

←前回

最適な光源

光源としては植物育成用のLEDを使うこととします。
しかしこれをただただ点灯するだけでいいのでしょうか?もっと効率的な方法は無いのでしょうか?

実はこんな報告があります。
http://www.mext.go.jp/b_menu/shingi/gijyutu/gijyutu3/toushin/attach/1333537.htm
なんと.go.jpドメインです。文部科学省です。

2018年12月5日水曜日

自作植物育成ライト 構想編

窓際ガーデニング


私はガーデニングが好きで、ベランダながらいろいろ育ててきました。しかしここ数年は、なぜかハダニの被害が酷く、育成規模は年々縮小傾向にあります。対して、害虫の被害が皆無という意味では、室内栽培はとても優秀です。とはいえなにぶん窓際でも光量が不足気味。窓際でチランジアを十数個育てていますが、花が咲いて子株をつけても、100%一子相伝になってます。心苦しいばかりですが、栄養が足りないようです。ということで、チランジアを育て始めて今年で5年目で、今更感はありますが、補助光源を用意することとしました。
(実際のところ、育成ライトは今年の8月には完成し、4ヶ月程度安定運用できていることを確認しています)