PIC専用のスレ Part 56 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
______ /Microchip ./| / ( ゚∀゚) / | アセンブラのアの字もわからない |~ ̄ ̄ ̄ ̄ ̄| /. 超初心者からHEXが読めてしまう |/Z./Z./Z./Z_|/ || 鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ ||. ||. ||. || 大人気のPICマイコンのスレ なんといっても情報が豊富だし、開発環境も多いし、パッケージも豊富 使いやすくて、しかも安い。やっぱりPICだよね 例の如く基本リンクだ http://www.microchip.com/ マイクロチップ本社(Microchip Technology Inc. ) http://www.microchip.co.jp/ マイクロチップ テクノロジー ジャパン 株式会社 http://www.microchip.com/maps/microcontroller.aspx Microchip Advanced Part Selector (Maps) またーりやっておくんなまし 種類が多くてワカランって奴は上記パーツセレクタで、機能から最適製品を絞り込め! 教えて君はとりあえずGoogle( http://www.google.co.jp/ ) くらい使おう テンプレ内の秋月小売価格も在庫が捌ければ、次の仕入れからは昨今の為替相場変動にならって 適宜価格改定されてます。ここの表記価格とは違うかもしれないのでそのつもりで 回答者する人の注意 . 最初に回答したい気持ちは分かるけど、質問者の内容を、落ち着いてよく読もう。 質問者する人の注意 . あなたの周囲しか通じない変な省略語は使わずに、なるべく詳しく説明してね 前スレ: PIC専用のスレ Part55 https://rio2016.2ch.net/test/read.cgi/denki/1491255154 MICRELのICのデータシートを見ると、すでにMIcrochipの様式に変わってるものもある。 AVRも時間の問題。 AVRのドキュメントがPICなみに日本語化されるとちょっとうれしい AVRのデバッガにPICKIT使えるとだいぶうれしい PIC(8)にGCC移植されるともっとうれしい pic32mx270を購入してMLA入れてみたけど サンプルがなくて2013年のMLAにはサンプルがあったのでいれてみたけど コンパイルが通らない でpic32ならハーモニーかなと入れてみたけど これもコンパイルが通らない うーん疲れた MLAのPIC32のサポートはMMシリーズだけだよ MX以上はHarmony 使ってねって話 warning: (373) implicit signed to unsigned conversion やたらと出るな xc8、やりすぎじゃないかこれ こんなんでも出るぞ↓ static u8 a=0, b=1, c=2; a = b + c; a = (u8)(b + c); <- いちいち こんな書き方しなきゃならんわけ? 本家のForamでも苦情が出てたけど 未だそのままだから、どうも直す気無いみたいだな >>158 で、当方も似たようなプロジェクトの作りかけがあるのですが、 手っ取り早いのはharmonyで型枠になるようなコードを 発生させてから MLAのロジックを移植していくという手法と思います。 難しいかもしれませんが頑張りましょう DOS窓でコマンドラインコンパイルの方がマシじゃね? >>164 ? 同じだよ。 むしろ、Java環境としては、Ubuntuの方が安定している。 MXやMZを基板に実装して問題なく動いてるけどなぁ >>170 そりゃーな 千円ぐらいで基板が作れる時代だもの。 KiCAD使えるのが常識になっちまった。 >>172 Elecrowでも良いけど秋月で窓口やってくれると便利かもね >>172 スイッチサイエンスでもいいんじゃないかな でも結構簡単に海外に頼めるよ (きっとクレジットカード無い人なんだよ察してあげて) クレカなくてもVプリカを使って払うか VプリカをPaypalに登録して払うこともできるよ >>172 そういえば昔、ラジオデパートのマルカってパーツ屋が 回路図からPCB用のフィルムを作ってくれてたな。 後はサンハヤトの感光剤塗布の基板を使って自作してもいいし、 専門のPCB屋に頼んでもいい。 回路図からってことはパターン図作成もやってくれるのか なんぼやったんか知らんけど儲かるのか心配になるわ >>178 大昔の事ではっきりと記憶していないけど、アートワーク込みだったと思う。 1回しか頼まなかったけど、その理由は、多分、値段と言うよりもパターンの引き回しが 不満だったのかな? (製作途中の「これで進めていいですか?」は無かった) >>179 それってもしかしたら、透明樹脂フィルムにランドのインレタとか黒テープで作られたものだったんでしょうか。(しかも原寸) おれが就職した頃にはまだ会社でそんな作業をしてました。(倍寸だったけど) それともCADのプリント出力? PIC18F14K50でどなたかご存知でしたら教えて頂けないでしょうか。 外部割り込みINT0〜2,ポートチェンジ割り込みRA0,RA1,RA4,RA5,RB4〜RB7にスイッチを 付けて、どれかのスイッチを押したらSLEEPから抜けるようにしようとしています。 RA0,RA1,INT0〜INT2は外部にプルアップ、他は内部プルアップにしています。 RA3は内部プルアップでポートチェンジ割り込み禁止で未使用です。RC3〜RC7はすべて 出力です。この状態でスリープさせず、割り込み制御だけの状態であれば問題なく動作 するのですが、スリープ命令を入れるとスリープで停止せず、すぐ抜けてしまいます。 ポートの空読み、フラグのクリア等は一通りやっています。 原因を絞って行った結果、RA5,RB4のポートチェンジ割り込み設定を以下のように 無効にすると問題なくスリープします。 IOCAbits.IOCA5 = 0; IOCBbits.IOCB4 = 0; 周辺モジュールが動作しているのでは無いかと色々フラグクリアや、モジュール無効 を試しましたが、解決せず、行き詰まってしまいました。 以下のサイトでPIC18F14K50で検索すると似た内容が有るのですが若干異なるようで も有ります。 http://airvariable.bbs.fc2.com/ 他の同ピン数のマイコンより割り込みで使用出来るピンが多いため採用してみました がハマってしまいました。基板おこしてしまった・・・。 どなたか情報お持ちの方、御教授して頂けると助かります。 問題が発生する一番単純な形にして、 回路図とソースをアップ SLEEPの後にはNOP入れるんだったかな?理由は忘れた。 ↓のErrata 絡みだと、考えるだけ無駄だと思うぞ PIC18(L)F1XK50 Silicon Errata and Data Sheet Clarification http://ww1.microchip.com/downloads/en/DeviceDoc/80000411L.pdf 7. Module: IOC (Interrupt-on-Change) 7.1 IOC (Interrupt-on-Change) False Wake-up When IOC is enabled for multiple pins to wake-up the processor from Sleep, invalid interrupts or wake-ups may occur. Work around Use only one pin as IOC with Sleep. アーキテクチャ コマンド ステートメント エラッタを学んでから使う 人は試されている PICのエラッタを見ずに基板を起こすとか チャレンジャーだな というか、どんな回路構成だとこんなエラッタ作りこめるんだろうw エラッタってのはそういうもんだろ ソフトのバグと同じ 機能に影響があるのに直さないで データシートもスペックも宣伝文句も変えずに そのまま売っちゃうのが問題 使い慣れた熟練者はエラッタなんてなんでもない日常 初心者には大きな壁 今流行りの「既得権益」ていうやつですかい >>190 それはPIC熟練者限定だな 他はPICほどひどくない チップのエラッタではなく 仕様、データシートのエラッタと考えるのです 皆様有難うございます。>>181 です。 諦めて、RA3のポートチェンジ割り込みは大丈夫だったため、 ダイオード2個使用し、割り込みが入るようにしました。 具体的には ・RA3にアノードを2本接続 ・RA5,RB4にカソードをそれぞれ接続。 とりあえず、これで凌ぎます。 >>196 WhiteDogのタイマでは駄目ですか? 初めまして、PIC初心者です。車の仕事でPICアナログ出力を担当する事になりました。 OBD2からエンジン回転をELM327(Bluetooth版)で010CをATコマンドで送信し HC-05(これでいいのか?)受け取った回転数をアナログ出力しようと考えています。 (4096rpm/4.096Vとか!) ダメダメおやじさんのHPで動かそうとして中々動作せず、基盤ショートさせて諦め OBD2コマンドを吐き出すELM327を購入してPICで通信しようと考えました。(安直) アナログ出力は、MCP4822を使って0〜4.096V出力はmikrocで実現出来ました。 ELM327(Bluetooth版)とHC-05でペアリングしてUART通信させればELM327から エンジン回転受信出来るのでしょうか?(PCでのteratermは動作済) よろしくお願いします。 >>204 仕事なら上司に聞きなよ elm327のBluetoothとか、暗電流大丈夫なの? 自分もCAN内蔵のPICで回転数とか取ってるけど、いい感じにスリープモードに落とすのに苦労した >>204 車の仕事でこんなところに質問した時点でクビ確定 ご存知の方教えて欲しいです。 12F1822ではうまく行きます。 SleepからPort変化割り込みで復帰プログラムですが、 12F1822のコードをコピーしても12F1501ではうまく動きません。 Sleepから復帰しません。 正確には一度復帰しSleepに入ると、Portを変化させても復帰しません。 12F1822では、2回目以降のSleepに入ってもPort変化毎に復帰します。 while()内にSleepがあります。復帰したら一度だけwhile()内を実行しSleepに入るだけの単純なものです。 コンパイラはXC8です。 12FL1822ですがPICKIT2で書き込む方法は有るでしょうか? 12F1822との違いを確認したく購入したのですが書き込めなくて困っています。 アドバイスよろしくお願いいたします。 ちゃんと型番指定してる? FLとFは区別が必要だったと思う。 えっと、結局のところ何だったの? 今のところ>>216 がアホだということしか分からんね。 PICのリセットピンを、直接5Vに繋がずに、抵抗を入れているものがありました。 なぜ抵抗を入れるのですが? また、抵抗の他にコンデンサがGNDと繋がっているものもあります。 さらに違う回路では、5V----抵抗10k----ダイオード----MCLRピン というものもあります。 どんな目的があるのでしょうか? ノイズ取りのコンデンサ、逆流防止でしょうか? >>223 リセットピンにRCでつなぐのは、電源ON時にVDDがチャタリングを起こすような場合でも ディレイをかけて確実にリセット解除できるようにするため ダイオードは電源OFF時にコンデンサに溜まった電荷を素早く抜いてリセット端子がVDD よりも過電圧とならないようにするためと、一旦OFFしてすぐにONする場合でもリセットが かかるようにするため Rだけ繋ぐのは浮遊容量によるRCディレイを期待しているのと推測 >>224 ダイオードの接続が違うから、その解説は間違いと思うけど パワーアップタイマーがあるので、特にCRはいらないと思う。 その接続とやらが、正しく表現されているなら MCLRピンには、書き込む時にVppとして13Vが加わりますので、 ダイオードにより、VccにVppが影響無いようにします。 843 名前:774ワット発電中さん[] 投稿日:2017/10/08(日) 06:26:07.09 ID:k9jHk/DL 質問します。 PICのリセットピン(MCLR)の接続ですが、以前に以下のような接続を見ました。 +5V----10k---(A)ダイオード(K)----(a)----MCLRピン。 (a)-----ICSP用の6pinコネクタ この回路接続で問題ないでしょうか? ICSP端子に何も繋がない状態だと、+5V----10k----(A)D(K)----MLRの、 MCLRの電圧が、ダイオードのおかげで、Hにならないのではと思うのです。 ICSPの説明図ではダイオードのアノードとグランド間に0.1uFのコンデンサが 付いていて、Vppの立ち上がりを妨げないようにショットキーダイオードか 470Ωを入れるようになってたね。 ダイオードが入っていても0.8VddならHレベルは足りると思うけど、コンデ ンサを付けないならダイオードは要らないね。 Vppが10kΩ経由でVddに漏れるという心配をするかもしれないけど、PICkit の内部ではVddとグランド間に低抵抗が入っているのでその心配はない。 ICSPの説明図の10kΩと0.1uFではパワーオンリセットとしては時間が短す ぎるし、MCLRが強制内部プルアップになる品種ではMCLRのほうが先に立ち 上がってしまうし、内部プルアップがなければダイオードの漏れ電流に 頼るしかないし、よく分からない回路だった。 >ダイオードの漏れ電流に 頼るしかないし、よく分からない回路だった。 まるで 「ダイオードがオンしていないので、HでもないしLでもない気がするな」 と同じようなことを言ってる。 https://rio2016.5ch.net/test/read.cgi/denki/1501157324/845 でも>>230 は、その質問に、的確に回答出来ないんでしょ。 まさかダイオードが、オンしているとでも言うのか? シミュレーションして確認してから書き込んだ方がいいな >>233 「ダイオードがオン」って感覚から離れないとダメだと思う。 そのせいで、この回路では、あたかもダイオードがスイッチオフの状態に見えてしまって、MCLRがフローティングになっているように見えるんじゃないでしょうか。 シミュレーション環境があるならシミュレーションしてみてください。 そもそもなんでそんなとこにダイオード入れてんだっけ... >>235 本当はダイオードなんて要らないんだけど、 Cがあるために、書き込み器のリセットが思うようにいかないからでしょう。 あるいは、5V側の消費が、大変少ないとか。 >>237 オンかオフかで単純化すると間違ってしまいます。 オンかオフかで考えて良い場合もありますが、いつもそうじゃありません。 まずはそこから自由になる方が良いと思いますよ。 ぜひこんな回路でシミュレーションしてみてください。 シミュレーション前に予想するべきです。 「ダイオードがOFF」という考え方だったら、10MΩでプルダウンしているから0Vでしょうか? でもそれっておかしいですね。 ※の抵抗とコンデンサは、C-MOS ICの入力の代わりです。 その抵抗値とコンデンサの値がC-MOS ICの入力の代わりとして不適当だと思うなら、 別の値や回路で試してみていただいて良いのですが、まずは、この回路でシミュレーションしてください。 ダイオードがOFFという考え方が変わるはずです。 なお、念のため、ですが、LTspiceの場合、10MΩは、10meg か 10000k と設定しないといけません。 10Mとすると、10ミリΩになります。 32MXではI2Cできたのに 32MZでI2Cできないんだけどなんでなん? I2C3でうんともすんともいわなかったからI2C1にかえたらスタートビットだけ出るような感じになった なんでなの? デバッグにより自己解決 すんまそ I2C1CONbits.ON = 1;のあとにすぐ I2C1CON.ONを操作してなんかエラー出てたみたい >>238 10kΩとダイオードの間とグランド間にコンデンサがつながっている ときに、コンデンサが充電前の0VのときMCLRがフローティングという 話なんだけど。 MCLRが内部プルアップされてればコンデンサに関係なくMCLRがHレベル になってしまうし、内部プルアップされてなければダイオードの漏れ 電流とMCLRの漏れ電流のどちらが強いかということになる。 MCLRの漏れ電流はシンクかソースか分からない。 >>241 >10kΩとダイオードの間とグランド間にコンデンサがつながっている >ときに、コンデンサが充電前の0VのときMCLRがフローティングという >話なんだけど。 これまで描いてきた図と違う話ですか? >>241 その回路ですが、MCLRをリセットにする目的としては謎です。 書かれているようにRC回路でLに引っ張れません。 こんな経緯でしょうかね… MCLRを禁止できないタイプで内部のパワーオンリセットを使うことが前提。 (1)内部プルアップはある。でもオープンにするのは不安。 (2)10kΩとかの低抵抗でプルアップしよう。でもノイズでリセットがかかったら嫌だからコンデンサも付けておこう。 (3)ICSPでコンデンサがじゃまになる。 (4)ダイオードを付けておこう。 >>245 そんなところだと思うけど、元になったと思われるマイクロチップの 資料をみてもコンデンサの目的ははっきりしない。 マイクロチップの資料が先にあって、コンデンサを省いたがダイオード が取り残された、かな。 ダイオードの代わりに470Ωを入れる例があって、これならすっきり するんだけど。 https://i.imgur.com/L6nHx7f.jpg >>238 電線で0Ωの時は、10kとCの並列合成抵抗のインピーダンス、 ダイオードが入ると、ダイオードの逆電流の逆数の抵抗値に上昇してしまい、 MCLRのネットのインピーダンスが高くなって、ノイズに弱くなりませんか? >>247 「ここは何Vかな」のポイントがとても高い電圧になっているときには、まったくもって 書かれている通りだと思います。 で、ノイズに弱くなるというのは、つまりMCLRが反応する、ということですね。 その電圧のときのインピーダンスはどんなものでしょ。 >>248 に補足 >>247 をよく読んだら、 >ダイオードの逆電流の逆数の抵抗値に上昇し ここでは順電流ですよね… >>249 いや、MCLRから見れば、逆方向もあるよ >>250 >>247 さんが書いているように、これはノイズに弱くなるのでは、という観点での話ですが、 ダイオードに逆バイアスがかかるような形でノイズに弱くなるとしたら、どんなふうに弱くなるシナリオなんでしょうか。 Dは高電圧書き込みモードでVPPからVDDに逆流するのを阻止するんじゃない? Cはパワーオン時MCLRをLにする。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる