X



トップページ電気・電子
1002コメント364KB
初めてのPIC 0x0e
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2018/02/13(火) 21:26:39.79ID:06sF7iiY
.
  _       _    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
0396774ワット発電中さん
垢版 |
2018/03/25(日) 22:29:50.54ID:t37WBRqO
>>395
1年前に別件でPLCのスレにお世話になったときも、LabView勧められましたねえ…
結局melsecシーケンサの勉強しましたけれども。
食わず嫌いです。
0397774ワット発電中さん
垢版 |
2018/03/25(日) 23:28:55.45ID:mqMOiI01
シーケンサで組むより再利用性やら考えたらLabVIEWの方が良いだろう
値段も変わらん
0399774ワット発電中さん
垢版 |
2018/03/26(月) 01:04:32.11ID:TpPCMX3F
別に答えなくて良いや
人が書いた文章をまともに読んでないようだし
態度を改める気が無いようなので
以降相手にしないことにする
0400774ワット発電中さん
垢版 |
2018/03/26(月) 11:09:35.62ID:z/k+RBka
>>399
だね、自分も同様に思います。
ここの自称初心者はこんなのばっかり。実は一人なのかもしれないけど。
0401774ワット発電中さん
垢版 |
2018/03/26(月) 22:10:38.50ID:o/7TBoHK
>>324
XC16の標準の奴はunixに近い仕様だから、逆に使い勝手悪い。
俺はXC8の doprnt(printfの中身)を、修正して使ってる。
0403774ワット発電中さん
垢版 |
2018/03/30(金) 12:06:23.72ID:TtqRajwT
dspicをいじるのにxc16を使っていますが割り込みの中で関数呼び出すのは禁止なの?
誰か教えて
0405774ワット発電中さん
垢版 |
2018/03/30(金) 13:56:40.47ID:bYUEiBib
>>403
その関数を実行中に、割り込み入って、さらに、その関数が呼ばれる とか無ければ、問題はない。
0407774ワット発電中さん
垢版 |
2018/03/30(金) 14:10:37.37ID:TtqRajwT
ありがとうございます 了解しました
割込み処理中に割込みが入らないようにして
実験してみます
推奨されないだけで禁止ではないのですね
0408774ワット発電中さん
垢版 |
2018/03/30(金) 14:57:40.37ID:Hk1hShmS
推奨の有無とかの話じゃない
何が起こっているか/起こるか理解しておいて使えというだけの話
0409774ワット発電中さん
垢版 |
2018/03/30(金) 15:07:35.78ID:Jew2ADlE
8bitならともかく、DsPICとかなら、割込み内部からの関数呼び出しでスタックやらバンクやらの問題は
かなり大丈夫になってるんだろ?
0411774ワット発電中さん
垢版 |
2018/03/30(金) 15:21:21.38ID:c47EPklB
何をやって良くて何をやってはいけないか
わかってないなら割り込み自体使うべきではないよ
0412774ワット発電中さん
垢版 |
2018/03/30(金) 18:11:41.00ID:V7anWke4
まあまあ、お仕事でも無いなら、しくじって覚えてもよいでは無いか。
0413774ワット発電中さん
垢版 |
2018/03/30(金) 18:30:30.47ID:hJjphv5U
覚えたことは、失敗からばかり
0418774ワット発電中さん
垢版 |
2018/03/30(金) 19:15:44.33ID:JgyHx4KZ
いや、真面目に知らない
今までまったく気にしたことがなかったけど
8bitだとなにか制約があるの?
0419774ワット発電中さん
垢版 |
2018/03/30(金) 19:51:28.68ID:Hk1hShmS
一般の8bitCPUなら特に制約は無い
旧来のPICだとスタックが小さいので割り込みとかネストに制約がある
dsPICと比較しているからそういうことを言いたかったのだと思う
0422774ワット発電中さん
垢版 |
2018/03/30(金) 22:39:33.97ID:3xWMaBoE
>>419
確かにスタックは小さいけど、大規模なプログラム組むわけではないので
インライン展開などコンパイラが自動でやってくれるので
バグになるようなことは少ないと思うし、スタック使い切るようなくらい
ネストさせなければならないプログラムを書く必要性ってあるのかな??
プログラム能力で回避可能だと思うけどね。
PIC程度の速度なら割り込みを多用するよりポーリングの方が応答速度が
速い場合があると思うよ
(過去の納入実績での話なのですべてが当てはまるわけではないけど)
0423774ワット発電中さん
垢版 |
2018/03/30(金) 22:43:00.27ID:JPMr2dYa
割り込みよりポーリングの方が応答速度が速いってどんな場合?
0424774ワット発電中さん
垢版 |
2018/03/30(金) 23:10:27.04ID:Jew2ADlE
>>422
そういうことをわかっていればいいんだけど、という話でしょ。
mainで関数コール(下手すれば多重)の中から、割り込み呼ばれる可能性もあるわけだからさ。
0425774ワット発電中さん
垢版 |
2018/03/31(土) 03:51:37.50ID:N+dmJ0g7
>>423
よこからだが、こんなん割り込みより早いだべさ
 BTFSS GPIO,0
 GOTO $-1
 BSF GPIO,1
 BTFSC GPIO,0
 GOTO $-1
 BCF GPIO,1
 GOTO $-6
0426774ワット発電中さん
垢版 |
2018/03/31(土) 06:38:05.00ID:DgWsKJPG
>>425
それならマイコンなんか使わずにバッファでいいだろ
どうやっても「割り込みを多用」するようなコードに置き換わらないし

実際の使い方でだよ
ポーリング間隔の最悪値が割り込み応答速度より短いって
ほとんど何も処理出来ないぞ
>>425レベルのコードくらい
0427774ワット発電中さん
垢版 |
2018/03/31(土) 06:42:46.29ID:DgWsKJPG
>>422
スタックオーバーフローしないように
なんてのはPICに限ったことじゃないし割り込みに限ったことでもない
0429774ワット発電中さん
垢版 |
2018/03/31(土) 07:22:00.44ID:DgWsKJPG
>>425
こんなベッタリボーリングでも12〜20クロックもかかるのか
やっぱりPICは遅い

ちなみに割り込みを使うと16〜20クロックで
>>425の動作が出来るので
こんなあり得ない処理でも同等

実際の処理でポーリングの方が速いってどんな処理????
0430774ワット発電中さん
垢版 |
2018/03/31(土) 07:26:58.82ID:zz458Btw
>>427
PICのスタックはすぐにオーバーフローするから問題なんだよ。
そもそもPICは「周辺・入出力・制御器」であって、
スタックが深くなるような複雑な処理、用途には向いていないw
0431774ワット発電中さん
垢版 |
2018/03/31(土) 07:32:50.86ID:DgWsKJPG
すぐにオーバーフローするって
いつの時代のPICの話をしてるの?
0432774ワット発電中さん
垢版 |
2018/03/31(土) 07:33:18.29ID:zz458Btw
>>425
確かにサンプルの処理なら割込みと同等程度に早いとは思うけど、
そのかわりポーリングの処理にかかりっきりで、他には何も出来ない。
複雑な処理、用途には向いていない「周辺・入出力・制御器」だから当たり前かw
0436774ワット発電中さん
垢版 |
2018/03/31(土) 08:13:10.45ID:mwtwLSSM
一番売れている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

むう。意外なぐらいにコンサバティブであるな。
0437774ワット発電中さん
垢版 |
2018/03/31(土) 08:29:55.36ID:DgWsKJPG
秋月の人気順て売れてる順なの?
実は売りたい順とかだったり

それにしても、
84Aに300円も出す物好きがいるのか
0438774ワット発電中さん
垢版 |
2018/03/31(土) 08:50:55.03ID:mwtwLSSM
>>437
PIC16F84Aは教材需要と、それに引っ張られて「それなら使える」という需要が今でもあるのかな。
0440774ワット発電中さん
垢版 |
2018/03/31(土) 09:57:10.38ID:DgWsKJPG
デバッグも出来ないようなマイコンを教材にか
教える気が無いとしか思えないなあ

特殊で癖のあるアーキテクチャーを教材に
ってだけで違和感満載なのに
0441774ワット発電中さん
垢版 |
2018/03/31(土) 10:21:20.81ID:Dj8Xbm/k
割り込みの応答速度と割込み処理時間の区別がつかないで、
ポーリングと速い遅い言ってる人がいるスレはここですか?
0442774ワット発電中さん
垢版 |
2018/03/31(土) 10:25:36.79ID:0DirhQP0
>>440
ガッコの授業なんてそんなものだろ
指導要領に書いてあることが教えられればそれでいいんだから
そもそもアーキテクチャの良し悪しを語れる教師なんてそんなにいない
0443774ワット発電中さん
垢版 |
2018/03/31(土) 10:36:18.06ID:ujlWTUfh
>>441
>>429は処理まで含んだ実測値ですよ

入力ポートが変化してから出力ポートが変化するまでの時間をオシロスコープで測った値
当然入力ポートへ入れるパルスはマイコンとは非同期
0444774ワット発電中さん
垢版 |
2018/03/31(土) 10:43:17.49ID:ujlWTUfh
あ、
割り込みじゃない方は測ってないけど
大体そんなもんでしょ
0445774ワット発電中さん
垢版 |
2018/03/31(土) 11:13:51.45ID:NwTWqg8M
OSも無く、いきなり割り込み処理を書くなら、
そんなに変わらんでしょう。
普通のCPUとOSだと、本来の処理以外に
環境保存、割込識別、要因除去や再設定、環境復元
が必要で、GHzのCPIでも数μ秒かかってしまう。
0448774ワット発電中さん
垢版 |
2018/03/31(土) 11:31:40.95ID:ujlWTUfh
普通のCPUやOSなら尚更>>425なんてコードはあり得ない

当然応答性能も割り込みよりはるかに悪いし
CPUも占有する
最悪のコード
0449774ワット発電中さん
垢版 |
2018/03/31(土) 11:46:01.30ID:NwTWqg8M
>>448
そりゃ間違いだよ
高性能計算(スパコン等)で最も高速に通信する際、
割り込みなしのポーリング処理が普通。
そういう使い方もあるってことね。
0450774ワット発電中さん
垢版 |
2018/03/31(土) 11:50:23.78ID:ujlWTUfh
スパコンでの高速通信でCPU?
相変わらず作り話の多いスレだ
0451774ワット発電中さん
垢版 |
2018/03/31(土) 11:53:57.03ID:N+dmJ0g7
「普通のCPUやOSなら」という条件が
発言全体にかかっているのかいないのか不明瞭な
最悪の日本語
0454774ワット発電中さん
垢版 |
2018/03/31(土) 12:12:38.59ID:NwTWqg8M
>>450
今時のスパコンはインテルのxeonでOSはlinuxがほとんどだよ
自分の無知を晒さない方がいいよ
0456774ワット発電中さん
垢版 |
2018/03/31(土) 13:07:49.47ID:Dj8Xbm/k
>>443
つまりメインでたいしたことやってませんということを言いたかったということでOK?
0457774ワット発電中さん
垢版 |
2018/03/31(土) 13:10:46.75ID:ujlWTUfh
>>454
xeon, linux の環境でCPUがポーリングで高速通信
相変わらず作り話が多いスレだ
0458774ワット発電中さん
垢版 |
2018/03/31(土) 13:20:28.46ID:NwTWqg8M
>>457
あなたは救いようのないバカですね。

自分の知らないことを間違っていると言い張るのは
学びを放棄する愚か者です

こんな年寄りにならないように心がけなきゃ。
0460774ワット発電中さん
垢版 |
2018/03/31(土) 13:38:50.47ID:Dj8Xbm/k
>>454
スパコンで計算や演算用の演算装置が通信までやってると思ってるのか?
しかも割り込みやらポーリングで?
スパコンの構造とPC同じだと思ってる人がいるんだね
0461774ワット発電中さん
垢版 |
2018/03/31(土) 13:39:36.26ID:NwTWqg8M
>>459
低レイテンシ通信のためDMA完了をpollingでチェックする。
終了割り込みは、かったるいから使わないんだよ。

本気で勉強したいんならlow latency communication Infiniband MPI
あたりのキーワードで探してごらん
0462774ワット発電中さん
垢版 |
2018/03/31(土) 13:53:12.65ID:ujlWTUfh
そりゃ単位の大きな待ちならCPUを使うことも当然あるだろうね
ていうか、元の話題は理解してる?
>>422だぞ
話題は8bit PIC
>>425は1bit単位の処理

割り込みを多用するよりポーリングの方が速い処理って何?
って話
意図的に作った実用性の皆無な>>425でも同等
>>429が実測
0466774ワット発電中さん
垢版 |
2018/03/31(土) 13:58:43.74ID:G3namCFP
>>415
デフォルト設定だと、ローカル変数も、リンク時にアドレス確定するから速いが、再帰呼び出し可の設定にすると、ソフト的にスタック処理されるから、かなり速度落ちる。
0468774ワット発電中さん
垢版 |
2018/03/31(土) 13:59:52.61ID:dTFUArjf
>>460
あんたTop500って言うスパコンのランキングサイト見たことあるか?
どんなシステムかCPUかも書いてあるから上位100システムぐらい見てみな。
DellだのHPEだの聞き覚えのあるインテルサーバーの名前がいっぱい出てくる。
これが今のスパコンの姿だよ

ちなみに京だってTofuって変な名前のネットワークだけど
通信完了はポーリングだよ。

あんた単に攻撃するだけで学びもせず相手にならん
これで終わり。
0470774ワット発電中さん
垢版 |
2018/03/31(土) 15:05:22.59ID:zz458Btw
どんなCPUだろうと、それが持っている最高の速度で動かしたい、
という要望を私は持っているし、努力している。
(なぁんちゃって。 どう? 決った?)w
0471774ワット発電中さん
垢版 |
2018/03/31(土) 17:21:31.86ID:gKNDfxnt
ここはPICのスレなのにスパコンでは・・・
という「出羽之守」が出てくるから話がおかしくなる
もとよりお呼びじゃないんだよ

割り込み使うと応答時間の最低量が必然的にCPUのメカニズムで
取られるから(PCの退避etc)それ以上の応答時間が必要な場合、
あえてポーリングで使用してキリキリチューニングすることもあるし
スタック使えないときもポーリングで処理することもある
(昔RAM無しのZ80でそうやったな)
なにも特にスパコンだけに関係した話じゃないし
説明するのにスパコン引っ張り出す必要もない
0473774ワット発電中さん
垢版 |
2018/03/31(土) 17:48:45.36ID:ujlWTUfh
もちろんポーリング処理にすることはある
PIC32MM-GPLでSPIを50MHzで動作させたければ
ポーリングしかない
ただしブロッキング処理になって(割り込み以外は)処理が止まってしまう

もっとも、SPIマスターの場合は遅延はまったく問題ないのだが
0474774ワット発電中さん
垢版 |
2018/03/31(土) 18:10:09.23ID:ujlWTUfh
50MHzはSPIモジュールへ投入するクロックの周波数で
SPIのクロックは最大25MHzですね

平均8クロック以内でデータのセット、データの取得、各種判断を行わなきゃならないので
ポーリングでも多少の工夫が必要なのだが
0475774ワット発電中さん
垢版 |
2018/04/01(日) 16:33:49.75ID:E2IKJSBf
最近は8ビットPICの話しで始まっても、必ず最後には32ビットPICになるね。
0476774ワット発電中さん
垢版 |
2018/04/01(日) 17:27:20.22ID:uTEl5Mu7
大は小を兼ねるからな

だが人類はいまだに膀胱と肛門が分離している
0477774ワット発電中さん
垢版 |
2018/04/01(日) 17:59:16.31ID:mp9cbnsT
価格、消費電力、処理能力、入手性、開発のための情報、自分の持ってる情報やスキル、パッケージその他いろいろの
総合の「合目的さ」に大小の評価がつけられるのなら、大は小を兼ねる、で良いのですけど、
PIC32がPIC16をカバーする「大」って単純すぎますね。

ただ単にPIC16ユーザーを煽りたいだけとちゃうんか、みたいな気がすることもあります。
煽っても好きで使っている人は、のってくれませんよね。
0478774ワット発電中さん
垢版 |
2018/04/01(日) 20:03:13.13ID:yKosKuwf
24F、他のメーカーならNRND扱いされる。
0479774ワット発電中さん
垢版 |
2018/04/01(日) 20:13:57.00ID:RnCh+Nh2
ドアセンサー張り巡らし中・・・
スイッチ1つをSPIやI2Cへ乗せるのに、マイコンは大袈裟だなぁ
0480774ワット発電中さん
垢版 |
2018/04/01(日) 20:36:43.28ID:mp9cbnsT
できないことはないけど、いくら家の中といっても SPI、I2Cを張り巡らせるものなのか…。
0481774ワット発電中さん
垢版 |
2018/04/01(日) 20:40:32.13ID:UUZHpCP3
センサー+BLE+PICマイコンを1チップで実現できんもんかの?
Atmel買収したんだから
0483774ワット発電中さん
垢版 |
2018/04/01(日) 22:58:48.18ID:6snLc5vM
SPIやI2Cを長距離伸ばすのは不便過ぎる。元々そういう規格じゃ無いしな。
俺は電源、信号込みの2線式で独自プロトコルにしてる。マスタがスレーブを呼び出すまでスレーブは送信しないから100個でも200個でもスレーブを繋げられる。
0484774ワット発電中さん
垢版 |
2018/04/02(月) 04:20:06.15ID:6uYbTdn0
>>479
PIC 関係ないけど、我が家では X1800 の LED 信号 (ダイナミック点灯してやがる)
をフォトカプラ経由で PC で受け、異常を検出するようにしたな。例えばトイレから
長時間出てこないとか。複数センサーあると移動方向も把握できる。
0486774ワット発電中さん
垢版 |
2018/04/02(月) 13:46:22.65ID:6CxeyCA2
>>483
我が家のオートロック付きインターフォンは0-24Vの2線式。
たまにエラーになるので(玄関ドアの開表示LEDが点灯しない)、
電源と信号を分離し、ノイズ対策目的でRS485で通信したいと考えて、
とりあえず玄関外で操作する解錠キースイッチの4線式制御部を作った。
将来はマスター・スレーブ方式で解錠スイッチを増やす予定だけど、何時になるやら。
0487774ワット発電中さん
垢版 |
2018/04/02(月) 22:40:38.53ID:o9MP9z9u
なるほど、通信方法も考えないとダメですな・・・
没ttp://www.odnir.com/cgi/src/nup79151.jpg
昔、偉い人の「工場にパソコンを置くな」で
RS-232Cが文字化けしまくったのを思い出した。

>484
最終防衛線(玄関)はX830です(;ω;)
0489774ワット発電中さん
垢版 |
2018/04/03(火) 08:38:35.23ID:8ku8J7LK
家の中でも、いや通線しにくい家の中だから、10m以上かつ3台以上の場合はLANですね
0492774ワット発電中さん
垢版 |
2018/04/03(火) 12:25:30.97ID:gc+nuo+6
>>491
lanは配線が必要だから美的に面倒。
もしPLC付きACアダプタなんてのが1000円ちょっとで
買えれば良いのに。
0493774ワット発電中さん
垢版 |
2018/04/03(火) 13:19:12.77ID:8ku8J7LK
>>492
松下利権で固まってるガラパゴス機器がそんな値段で買えるようになる訳ないだろ
POEのLANの簡易型を自分で作るか、無線LANにしたほうがうんと簡単。
0495774ワット発電中さん
垢版 |
2018/04/03(火) 20:42:01.00ID:Y6OU8VrX
有線の長距離インターフェースってLANくらいしか無いんだなぁ
CANとか見ないし・・・
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況