初めてのPIC 0x0e
■ このスレッドは過去ログ倉庫に格納されています
.
_ _ PICをさわるのは今日が初めて、という超初心者のためのスレです。
(O>――<O) PIC選び、PICを使った回路は、誰でも最初は不安なものです。
/ (・) (・) ヽ 恥ずかしがらずに何でも聞いてください。速攻で教えてくれますよ。
○ /▼\ ○ 質問のしかたは、初心者質問スレの発言1を見てくださいね。
|(ヽ二フ ) |
/  ̄ ̄ ̄ ヽ
f ヽ / | PIC関係のスレは、レベルに合わせて以下のスレもありますので、活用しましょう。
ヽ \ / ノ ・PIC専用のスレ
| \_ )(_/ ! 本家本元のPICスレです。口の悪い人もいますが、楽しくやってるみたい。
| | ここの話がわかるようになれば、あなたはもう一人前のPICerです。
| | ・マイコンソフト 悩み事相談室
| | ̄ ̄| | マイコンソフトやツールの質問は、こちらでどうぞ。的確な回答があります。
(_ノ ヽ_)
質問する時のコツ
・性格の悪い回答者はスルーしよう(相手すると逆効果)
・素人玄人などと 上から目線の回答者は、無視してください。相手してはいけません。
・そこそこ良い回答が出るまでしばらく再発言しないのもあり(良回答は後に出やすい)
・回答者のアドバイスで後日解決したら、結果報告しよう(とても喜ばれる)
・回答者は、僕たち初心者に優しくしてください。あなたも通ってきた道のはずです。
必要なソフトなど(基本無料)
統合開発環境 MPLAB X ttp://www.microchip.com/mplab/mplab-x-ide
コンパイラ (XC8 XC16 XC32) ttp://www.microchip.com/mplab/compilers (高機能版は有料)
コード生成プラグイン (MCC) ttp://www.microchip.com/mplab/mplab-code-configurator
マイクロチップ ライブラリ (MLA) ttp://www.microchip.com/mplab/microchip-libraries-for-applications
必要なハードなど
初心者はPIC16F1、PIC18F1以降の型番で始めると無理なく始められます。
プログラムの書き込みには書き込み器が必要です。持っていない場合はPICkit3(中華クローンでもまず大丈夫)を使いましょう。
PIC一覧、スペック検索 ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1005
さ、質問どうぞ〜っ
0x0d 2017/10/25〜 ttp://rio2016.5ch.net/test/read.cgi/denki/1508935254/
0X0C 2017/07/27〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1501157324/
0x0B 2017/05/08〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1494235320/
0x0A 2017/01/04〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1483498857/
0x09 2016/09/07〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1473238791/
0x08 2016/04/30〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1461994030/
0x07 2016/02/05〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1454648249/
0x06 2015/07/18〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1437151298/
0x05 2015/04/07〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1428391368
0x04 2015/01/02〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1420205108 化学は畑が違うとはいえ こんなことがあった
発振回路の水晶に薄膜が着くと周波数変わる、というセンサにしたかったらしい
それが発振しないというので見てくれと化学科の人間が持ち込んだ代物は
水晶片から配線が約1mピローンと伸びて駆動回路に繋がっていた
これでまともに動作するわけないよと言っても、なんで?というので
・・・以下略 化学の人が水晶発振器を使ったセンサを考えた
すごいじゃないか QCMと言うんだよね
うちの会社でも物性屋が研究してた。
ナノグラムの変化を周波数変化で見るって。
経年変化が問題だった。 ちょっと教えてほしいのですが、16F1705にてUARTを使用しようと思っています。
そのために、RX、TXの設定をしたののですが、PPSにて設定する場合、下記の書きかたで問題ないでしょうか?
(うまく動作しなくて一つ一つ原因を追究中の状態です。)
//TXピンをRC4とし、RXピンをRC5に割り当てる場合は?
RC4PPS= 0b10100 ; // 出力(TXを割当てる)
RXPPS = 0b10101 ; // 入力(RC5を割当てる)
TRISA = 0b00000000 ; // ピン(RA)は全て出力に割当てる(RA3は入力専用)
TRISC = 0b00100000 ; // RC5(RX)だけ入力その他のピンは出力に割当てる >>365
シリアルの変動に対する出力変化の追従やジッタをどうするかということだよ
16ビットのアナログ値の精度の取得と発生を簡単に言う奴に、ちゃんとしたやつはいないと思ってる >>372
受信間隔がせいぜい秒だって言ってるんだから
追従性やジッタなんてどうでもいいだろ
気にすべきところはそこじゃない >>373
どうでもいいことはないだろ、出力変化点の仕様を決めてなければ回路含めた低レベルの設計ができず
動いたからいい、たまにロガーがおかしなデータを受信して、運用のデータ処理でデータ廃棄するという
汎用のない代物が出来上がる 何を心配してるのかさっぱりわからん
DACの出力が秒遅れても問題ない機器だぞ
シリアルの入力パルスの影響でDACの出力が変動することを心配してる?
そんな事よりもっと心配する事があるだろ >>375
だから、
DACの出力や変動が秒遅れても問題ない機器
ということを仕様に書けよ、ということ。
もっと心配することは大量にあるが、そこのところをきちんと書くのが仕様というもの。
書けないやつは永遠に書けないし、このスレの趣旨でもないのでもういいよ。 遅延がどうでもいいことは今までの書き込みでわかるだろ
非線形性
温度特性
まず気になるのはこの辺だ
これもスペックに書いてないからどうでもいいんだろうけど 変化がわかればいいって可能性もあるので
ビット数が有れば精度はどうでもいいって可能性もある まあでももう何の反応も無いから
やっぱり作り話かな? デジタルで入力されてんならデジタルのまま処理しなよ。
チャンチャン♬ 自分が想定したストーリーに合わないときに「作り話」って言うのが好きな人がいるね。 >>377
シリアル入力をそのまま整流して、ローパス通して、適当にオペアンプでバイアスと増幅すればいいんじゃね? そりゃPIC好きな時点でヘンに決ってるよ、
ジーチャンに限らずニーチャンだってオジチャンだって。 >>388
久しぶりに声出して笑ってしまったじゃねえか ガベージインガベージアウト
ゴミ仕様からはゴミしか生まれないってこった ヘンとヘンを集めて もっとヘンにしましょう
タイヘンだダダ みなさま遅くなりました。3日放置してて申し訳ないです。平に謝ります。マジで。
>>356
3.3V…ええ、それでいいです。大丈夫です。
でも、勉強のために5V出力するためにはどうすればいいか教えていただけると
なおうれしいです。
>> 357
ほへー。そんな手が。失礼しました。 >>378
その通りです。絶対値の精度は問題じゃなくて、変化の具合が重要なのです。
どんな塩梅で遅くなったか、とか。だからこそデータロガーでデータをとる
意味があるのです。
>>372
無意味に16bitを指定してるわけじゃないです。
確かに天秤に乗せた容器に少しずつ、400 gまで(つまりレンジいっぱいまで)
液体入れていくなら、16bitもいらないです。
でも同じ天秤で、最終的に40 gまでしか液体入れないときもあるわけです。
しかもそれを3時間かけてゆっくりゆっくり入れていく、といったときもあるわけです。
そういうときに必要な分解能は、400 gをちゃっちゃと入れる時よりも
(重量単位では)小さくなります。
測定レンジは必要最大値で、分解能は必要最小値で、という仕様にすると、
必然的に16bitが欲しいなあ、となります。 >>377
ご指摘ありがとうございます。
温度特性はだいたい常温付近でしか使いませんから、
あまり気にしなくていいと思っています。
非線形性は気にはなります。
maxisのDAC見たところ、チップのグレードによって
線形性が変わるようでしたので、基本的な回路をご教示いただければ、
あとは私のほうでグレードを選べばいい、と理解しています。
(間違ってますか?) >>395
1年前に別件でPLCのスレにお世話になったときも、LabView勧められましたねえ…
結局melsecシーケンサの勉強しましたけれども。
食わず嫌いです。 シーケンサで組むより再利用性やら考えたらLabVIEWの方が良いだろう
値段も変わらん 別に答えなくて良いや
人が書いた文章をまともに読んでないようだし
態度を改める気が無いようなので
以降相手にしないことにする >>399
だね、自分も同様に思います。
ここの自称初心者はこんなのばっかり。実は一人なのかもしれないけど。 >>324
XC16の標準の奴はunixに近い仕様だから、逆に使い勝手悪い。
俺はXC8の doprnt(printfの中身)を、修正して使ってる。 俺はlight weight printfつかってる dspicをいじるのにxc16を使っていますが割り込みの中で関数呼び出すのは禁止なの?
誰か教えて >>403
その関数を実行中に、割り込み入って、さらに、その関数が呼ばれる とか無ければ、問題はない。 ありがとうございます 了解しました
割込み処理中に割込みが入らないようにして
実験してみます
推奨されないだけで禁止ではないのですね 推奨の有無とかの話じゃない
何が起こっているか/起こるか理解しておいて使えというだけの話 8bitならともかく、DsPICとかなら、割込み内部からの関数呼び出しでスタックやらバンクやらの問題は
かなり大丈夫になってるんだろ? 何をやって良くて何をやってはいけないか
わかってないなら割り込み自体使うべきではないよ まあまあ、お仕事でも無いなら、しくじって覚えてもよいでは無いか。 割り込みからはできる限り速やかに戻った方がいいよ。 いや、真面目に知らない
今までまったく気にしたことがなかったけど
8bitだとなにか制約があるの? 一般の8bitCPUなら特に制約は無い
旧来のPICだとスタックが小さいので割り込みとかネストに制約がある
dsPICと比較しているからそういうことを言いたかったのだと思う >>419
確かにスタックは小さいけど、大規模なプログラム組むわけではないので
インライン展開などコンパイラが自動でやってくれるので
バグになるようなことは少ないと思うし、スタック使い切るようなくらい
ネストさせなければならないプログラムを書く必要性ってあるのかな??
プログラム能力で回避可能だと思うけどね。
PIC程度の速度なら割り込みを多用するよりポーリングの方が応答速度が
速い場合があると思うよ
(過去の納入実績での話なのですべてが当てはまるわけではないけど) 割り込みよりポーリングの方が応答速度が速いってどんな場合? >>422
そういうことをわかっていればいいんだけど、という話でしょ。
mainで関数コール(下手すれば多重)の中から、割り込み呼ばれる可能性もあるわけだからさ。 >>423
よこからだが、こんなん割り込みより早いだべさ
BTFSS GPIO,0
GOTO $-1
BSF GPIO,1
BTFSC GPIO,0
GOTO $-1
BCF GPIO,1
GOTO $-6 >>425
それならマイコンなんか使わずにバッファでいいだろ
どうやっても「割り込みを多用」するようなコードに置き換わらないし
実際の使い方でだよ
ポーリング間隔の最悪値が割り込み応答速度より短いって
ほとんど何も処理出来ないぞ
>>425レベルのコードくらい >>422
スタックオーバーフローしないように
なんてのはPICに限ったことじゃないし割り込みに限ったことでもない >>425
こんなベッタリボーリングでも12〜20クロックもかかるのか
やっぱりPICは遅い
ちなみに割り込みを使うと16〜20クロックで
>>425の動作が出来るので
こんなあり得ない処理でも同等
実際の処理でポーリングの方が速いってどんな処理???? >>427
PICのスタックはすぐにオーバーフローするから問題なんだよ。
そもそもPICは「周辺・入出力・制御器」であって、
スタックが深くなるような複雑な処理、用途には向いていないw すぐにオーバーフローするって
いつの時代のPICの話をしてるの? >>425
確かにサンプルの処理なら割込みと同等程度に早いとは思うけど、
そのかわりポーリングの処理にかかりっきりで、他には何も出来ない。
複雑な処理、用途には向いていない「周辺・入出力・制御器」だから当たり前かw 一番売れているPIC、なんて、ワールドワイドな統計資料なんて公開はされていないだろう。
筆がすべっただけだろうし、>>435も無理なことを要求してはいけない。
ここはひとつ、秋月の人気順を見てみてはどうだろう。
ハードウェアスタックの段数が問題になるようなPICは今は人気も落ちてるに違いない。
8位入賞圏内のPICは…。(2018/3/31 8:01現在)
1. PIC12F629
2. PIC16F873A
3. PIC16F1827
4. PIC12F683
5. PIC16F88
6. PIC16F84A
7. PIC12F1822
8. PIC16F887
むう。意外なぐらいにコンサバティブであるな。 秋月の人気順て売れてる順なの?
実は売りたい順とかだったり
それにしても、
84Aに300円も出す物好きがいるのか >>437
PIC16F84Aは教材需要と、それに引っ張られて「それなら使える」という需要が今でもあるのかな。 作例の数はGoogleの件数って訳にも行かんなぁ・・・ デバッグも出来ないようなマイコンを教材にか
教える気が無いとしか思えないなあ
特殊で癖のあるアーキテクチャーを教材に
ってだけで違和感満載なのに 割り込みの応答速度と割込み処理時間の区別がつかないで、
ポーリングと速い遅い言ってる人がいるスレはここですか? >>440
ガッコの授業なんてそんなものだろ
指導要領に書いてあることが教えられればそれでいいんだから
そもそもアーキテクチャの良し悪しを語れる教師なんてそんなにいない >>441
>>429は処理まで含んだ実測値ですよ
入力ポートが変化してから出力ポートが変化するまでの時間をオシロスコープで測った値
当然入力ポートへ入れるパルスはマイコンとは非同期 あ、
割り込みじゃない方は測ってないけど
大体そんなもんでしょ OSも無く、いきなり割り込み処理を書くなら、
そんなに変わらんでしょう。
普通のCPUとOSだと、本来の処理以外に
環境保存、割込識別、要因除去や再設定、環境復元
が必要で、GHzのCPIでも数μ秒かかってしまう。 8bitでOS?突然何の話?
比較対象は>>425だぞ 普通のCPUやOSなら尚更>>425なんてコードはあり得ない
当然応答性能も割り込みよりはるかに悪いし
CPUも占有する
最悪のコード >>448
そりゃ間違いだよ
高性能計算(スパコン等)で最も高速に通信する際、
割り込みなしのポーリング処理が普通。
そういう使い方もあるってことね。 スパコンでの高速通信でCPU?
相変わらず作り話の多いスレだ 「普通のCPUやOSなら」という条件が
発言全体にかかっているのかいないのか不明瞭な
最悪の日本語 >>450
今時のスパコンはインテルのxeonでOSはlinuxがほとんどだよ
自分の無知を晒さない方がいいよ >>454
ほんとpicのスレは耄碌した無知な井の蛙
呆れるばかり >>443
つまりメインでたいしたことやってませんということを言いたかったということでOK? >>454
xeon, linux の環境でCPUがポーリングで高速通信
相変わらず作り話が多いスレだ >>457
あなたは救いようのないバカですね。
自分の知らないことを間違っていると言い張るのは
学びを放棄する愚か者です
こんな年寄りにならないように心がけなきゃ。 >>454
スパコンで計算や演算用の演算装置が通信までやってると思ってるのか?
しかも割り込みやらポーリングで?
スパコンの構造とPC同じだと思ってる人がいるんだね >>459
低レイテンシ通信のためDMA完了をpollingでチェックする。
終了割り込みは、かったるいから使わないんだよ。
本気で勉強したいんならlow latency communication Infiniband MPI
あたりのキーワードで探してごらん そりゃ単位の大きな待ちならCPUを使うことも当然あるだろうね
ていうか、元の話題は理解してる?
>>422だぞ
話題は8bit PIC
>>425は1bit単位の処理
割り込みを多用するよりポーリングの方が速い処理って何?
って話
意図的に作った実用性の皆無な>>425でも同等
>>429が実測 >>422から読むと>>445がいかにトンチンカンかがわかるでしょ
自演までしてwww >>410
デフォルト設定では、関数の再帰呼び出し不可。 ■ このスレッドは過去ログ倉庫に格納されています