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
0002774ワット発電中さん
垢版 |
2018/02/14(水) 00:03:27.90ID:b+HUIkYe
(())))(())()(())((())()((()))))((()())()))(((()((()()()()))((())()(()()))(()
)(((((()())(())(((())()())()())())(()()())(())))())))((()))(()))))((()(((()(
()))()((()()())((()((()())())()(()((()))(())))))(()()()((()(())((())())))()(
))()((())))()(((()()()((())))()))))()((())())()()((()())((()()(()))))(()((((
(()))())))))()())))))((((()(()(((())())()((()))))()()())()())()((()(((()((((
()((((()))((((()())(()(()(()()()()())))())(()((())()(()))))())(()(())()())))
())))(())(((()(((((()))(((())(((()())()())()((()(()()))()))()))())((())())))
))()(((())((()))((()(())))((((()()()())(())()(()))()())(())))))))((((()()()(
()()()((())()))()(()((((())()()))))((()()()((())()()())))()()(())))()()(((()
)()()))()))((())(()))))()))()))(((((()))((()(()(((((()()()(()())(()())())(()
(((()((()((((()(()))()()((())())))))(())(())))())(()()(())))())(()(()((())))
)((())(())((()(()))))())()(()((()()((()((()()()))))())()((())(())(())))(()()
)()))(((()()()))()(()()())))((((()())()()())(()()))))(()))))(((((())()(((()(
))(()()))()()(((((((()(()(()))))))(((((())))()))(()()((()(((()))(()(()))))))
()())((()(()))(())))()()))))())()(()())))()(((())()((()(())()(()(((()())(()(
))()()(()((())((()))(())(()(()(()))()()((()()(((())()()))()()())()))(()))(()
()))())()()()(()(()))))))(((((()((()()))()(((((()))(()()(())))())()())((()()
)((((()))((()((())())(()())())))((())))()))))))(()(())))()))(()()((((()(((((
((()))))()()))(()(()()(())(((()))())())()(((()))))()())((()()))((())(((()(()
)(())()()))))()())())(()))))(()((()((()(()((()()(((())((((()()())())(()))))(
)((()(())))())(()()()))((())()(((())(((())))())((()))())())))()(()(((()())((
))(())((((())((()(()))()))(())(((()())))()()()())))(((()))(()()())((()(()())
))((())))(((((()()()))))())))()))()((()))((((((()())))())(())(())((()()(()((
()((((()())(()((()())((())())((((()((()))))())(((()())())())(()))()))()))())
()))))())))()())(()(()()(())(((()))())))(())))((()()))(()()()((()())((((((((
)()())()((())))(()()())())(()(()))))((())()()()())())(()(())(()(()()()()((((
(((())())))()))((())()))())(()(()(()(((()())()(())(()()()(((()))())))))(()((
())((())(())))()()()()))(((()()()(()())))((()((((((())))()))()((((())))))(()
()())(()))()((((()((())())(()))))()()())))(()))()()(()((((()(())()((())))()(
)))(())()())()()()))(()(()(((((()())(()((()))((())()()())(())))(()((()()()))
(()(((()(()()((((())))()(((((()))(()))((())(())(())()(())))))))()()))))(())(
))(((()())(((()))))((((()())()())))(((())(()(()()()(()))())()(()())()())))((
)((((())))))(()(()(()())((()())())())())(()(()((()(()((())))))(((()))(()()))
()(((()(()()))(())(()(()()((())()))((()))((())(())(()((())())())(()())))()))
()))())(()((((((((()))((((()())())()()))(())(()()))(()(()))((()))((()))))())
())))(((()((()()((()()(((()(()))))()))())(())())(())((())))())()()(()(())(()
))))))))())()((()))(((()()(())((((()(((()()())()(((((((())(())()))(()())))))
()(((())(())(())))(()((()()(()()))()(((((())()())())()(())(())(()())))()))()
((((((()))(()())()())()()))))()()))(())()()))()(()((((()((()())))()(()())()(
(()))))))))()(()))()(())(()))((((()(())(())(((()))(())())())())(((())(()((((
)()(())()(((((())())))(())(((()))((())(()())))())())()))(()))(())(()()(((()(
(((())()()()))())(()(()(()(((((()()))(()((()))((((())()()((())()))))))()))))
)(()()()()())))())((())((()))()(()()()))())()()))))(((((())()())()((((())(((
)()(()(()())))))()())(((()(())((()()(())())((((())()))(())))(((((()))(()))()
)()))(()()((())((())((()()))()()))((()((()()((())()()((()(())())()))(()))))(
(((()))()()(()(()))())))())))())((()((()())()()()(())((()(()()(())()()))()((
)()))))))))))(())(()))(((()(()())(()(()))))((()((((())(((())())(()))(()(((((
))()()((())(()))(()((()())())))(()(())((())()())))))()))())(()()((((()(()(((
))))(())))(()))()(()()(()((())()()()))())(()((())((()((()()())))(()()()()(((
(())()())))(())(())(((()(()()(())(()()()()(())))))())(()((())()()()))()(((()
0003774ワット発電中さん
垢版 |
2018/02/14(水) 07:47:13.44ID:g/WLC13y
電電板でこのスレだけが16進数表記なんやね…
MPASM的にはH'0E'なんだろうけど
0004774ワット発電中さん
垢版 |
2018/02/14(水) 13:47:34.74ID:o7WHpV/0
Cでは、0x0e だけど、
MPASMでは、
H'0e' と、最後にも ' が要るの?
0006774ワット発電中さん
垢版 |
2018/02/15(木) 12:50:23.71ID:JQ4h6iRH
MPLAB の、Mはマイクロチップ、LABはラボですよね。
Pは何の略でしょうか?
0008774ワット発電中さん
垢版 |
2018/02/15(木) 13:15:33.44ID:ebb6ECd4
PicのPじゃね?
0012774ワット発電中さん
垢版 |
2018/02/15(木) 17:49:19.13ID:JQ4h6iRH
なるほど、PICのPですね。
ありがとうございました。
0013774ワット発電中さん
垢版 |
2018/02/15(木) 20:10:14.15ID:FRlGlX/E
12LF1822を使って赤外線リモコン送信機を作りたいと思い調べてみました
PWMを1ピンで出力すると20-30mAしか取れませんが数ピン並列にすることで電流を稼ぐとWebで見たのですが
SinglePWM(CCP1)の出力を複数ピンに同じ内容で出すにはどのような方法があるのでしょうか?
Trなどの部品数を減らせないものか、アイデアをご教授ください
001512
垢版 |
2018/02/16(金) 16:26:41.32ID:ugA1Zy6Z
>>9 >>14
マジレスすると、adult 。。。

>>12のご指南お待ちしております
0016774ワット発電中さん
垢版 |
2018/02/16(金) 20:34:33.40ID:BEQQfq9b
PICの割り込みフラグについて教えてください。

たとえば、Timer1割り込みが発生すると、PIR1のTMR1IF=1になると思うのですが、
このTMR1IFは、処理後に自分でクリアしないといけないようです。
でも、UARTのFERRなどは、次の受信をすれば自動的にクリアされます。

PICが フラグセットしてくれるのはいいのですが、
処理後に自分でクリアしなければならないフラグなのか
自動的にクリアされるフラグなのかの区別がわからなくて、躓いています。

データシートを見たのですが、例えばTMR1IFの説明では
   割り込みフラグビットは、INTCONレジスタの対応するイネーブルビットまたは
   グローバルイネーブルビット(GIE)の状態にかかわらず、
   割り込み条件が発生するとセットされます。
   ユーザーソフトウェアは、割り込みを有効にする前に
   適切な割り込みフラグビットがクリアされていることを確認する必要があります。
と書いてあって「自分でクリアしなければなりません」とは書いてありません。

クリアされる要因や、あるいはフラグセットされた後に、私がしなければならないこと
の区別は、データシートのどこかに書いてありますでしょうか?

宜しくお願いします。
0017774ワット発電中さん
垢版 |
2018/02/16(金) 20:50:30.46ID:rXaqvpzD
あー
データシートと喧嘩しちゃうタイプね
僕はそういうの面倒だから関わらない様にしてるんだ
0018774ワット発電中さん
垢版 |
2018/02/16(金) 21:08:16.03ID:fBLmHgha
俺面倒だから理由や根拠を考えずにMCCに書かせちゃうから、データシートをしっかり調べるのは偉いと思う!
0019774ワット発電中さん
垢版 |
2018/02/16(金) 21:14:37.36ID:EGLFosmG
>>16
the TMR1IF bit should be cleared before enabling interrupts
と書いてあるな、手元のデータシートには。
0020774ワット発電中さん
垢版 |
2018/02/16(金) 22:04:21.74ID:sFzvFpRO
>>16
データシートの「割り込み」の説明にクリアしろと書いてあるよ。
TMR1IF説明の部分じゃなくて。
0022774ワット発電中さん
垢版 |
2018/02/17(土) 01:20:01.11ID:aEG5HgQm
>>19
そうです。それが>>16で書いた、
>ユーザーソフトウェアは、割り込みを有効にする前に
>適切な割り込みフラグビットがクリアされていることを確認する必要があります。
なんですが、割り込みを有効にする前に というのが、初回に有効にする前のことなのか、
毎回のことなのか、はっきりわからないんです。

>>20
ありがとうございます。
>「割り込み」の説明にクリアしろと書いてあるよ。
それば「次の割り込みを知りたいなら、クリアしなさいよ」と言うことでしょうか。
初期設定のGIE=1の前に、xxIF=0にしてからGIE=1にしないと、
いきなり割り込み処理が走り出すよ、という意味にもとれてしまうのですが。

>>21
>勝手にリセットされる割り込みフラグってあったっけ?
そうなんですよ。そういうことがデータシートに一覧で書いてないかな、と思ったんです。

xxxIF セットはPIC クリアは 1)○○が△△した時に自動クリアされる  2) ユーザーが毎回クリアする
などと書かれていると嬉しいのですが。

割り込みばかりでなく、FERRやOVERRでのエラー復旧のサンプルを探したんですが、
どれもFERRはdummy read、OVERRはCREN=0, CREN=1するだけでした。
本当にそれだけで良いのか、チップを設計したMicroChipがお手本を示してくれないかな、
と いつも思っています。
0024774ワット発電中さん
垢版 |
2018/02/17(土) 09:36:29.80ID:+8+s/ZuQ
データシートにその辺の仕様が十分に載って無かったりするからな
0025774ワット発電中さん
垢版 |
2018/02/17(土) 09:52:06.83ID:9cuRQ2Mi
割り込みはちょっと手を出してない範囲なので「明確に載ってなかったら全部手動でクリアしたらいいのでは?」と思うんだが。
チップごとにとか、機能ごとに挙動が違うとか言われても相手PICの専門家じゃないからは分からんと思うよ。
0026774ワット発電中さん
垢版 |
2018/02/17(土) 09:56:17.59ID:dhX5LMHE
>>16
基本、割り込みフラグが立ってたら、割り込み禁止にしてない限りは、割り込みが発生する。

おおむねだが、検出されたら立つ 奴はクリアが必須。
タイマーとか、コンパレータとか。

処理の結果で立つ 奴は、自動的にクリアされるのが多い。
受信完了なら、データを読み出すだけでクリアされるとか。
0028774ワット発電中さん
垢版 |
2018/02/17(土) 10:08:02.48ID:+8+s/ZuQ
>>26
何の情報にもなってない
データシートの方がはるかに多くの情報がある
そのデータシートにも十分な情報が無かったりする
0029774ワット発電中さん
垢版 |
2018/02/17(土) 10:09:25.42ID:9cuRQ2Mi
>>27
そうなんか?
XCは使う予定はないんだが、CCSCでもだめ?
どういう所で弊害出るん?
0030774ワット発電中さん
垢版 |
2018/02/17(土) 10:48:50.53ID:b3vSYT5L
>データシートの方がはるかに多くの情報がある
情報が多くて読み切れないことはわりとある話。

しかし、他人の書き込みに対して「何の情報にもなっていない」という人が
「データシートにも十分な情報が無かったりする」ことの具体例を
書かないのはおかしくないか?
0031774ワット発電中さん
垢版 |
2018/02/17(土) 11:59:10.59ID:k1QjAGA8
皆さんありがとうございます。
結局のところ、それぞれのプラグに対して、どのように後始末しなければならないか、
どこかに書いてあるものでしょうか?

また、皆さんはどのようにして対処しているよでしょうか?
とにかく使用後は、クリアしまくるのでしょうか?
りーどおんりーでもクリアしてるのを見たことありますが、
訳もわからずやってるな、って感じです
0032774ワット発電中さん
垢版 |
2018/02/17(土) 11:59:11.00ID:k1QjAGA8
皆さんありがとうございます。
結局のところ、それぞれのプラグに対して、どのように後始末しなければならないか、
どこかに書いてあるものでしょうか?

また、皆さんはどのようにして対処しているよでしょうか?
とにかく使用後は、クリアしまくるのでしょうか?
りーどおんりーでもクリアしてるのを見たことありますが、
訳もわからずやってるな、って感じです
0034774ワット発電中さん
垢版 |
2018/02/17(土) 12:09:06.78ID:3mpB2w4P
ほんとに載ってないかなと思ってデータシートみたが、ブロック図とかみればわかるじゃん
0035774ワット発電中さん
垢版 |
2018/02/17(土) 12:15:39.36ID:JtXFoNF6
同じ用途で上手く動くソースを探して、何でそうなってるか考える
0036774ワット発電中さん
垢版 |
2018/02/17(土) 13:29:53.78ID:Nh6q+2d1
>>32
素直にプログラムを書けば、割込み関連のフラグのセット/リセットでそんなに悩む事は無いと思うけどナ。
割込み要求フラグの大原則は
「割込みを使えば自動的にリセットされ、使わないときは自分でリセットする」
です。

通信ハードエラー(フレーミング、オーバーラン、パリティ)発生フラグに関しては、
受信完了フラグが立ったら、通信エラーフラグが立っていないかどうかをチェックし、
立っていれば必要なエラー回復処理を行う。
立っていなければ受信データを読み取って処理する。
かな。

割込み開始時に、すでに割込み要求が発生しているなら(例えば通信でデータを受信済みなら)、
そのデータを捨てるか取り込むかはプログラムの仕様次第です。
不要なら要求フラグをクリアしてから割込みを許可します。
0037774ワット発電中さん
垢版 |
2018/02/17(土) 15:00:00.93ID:Hqp8Qiv4
枝葉末節が気になって仕方ないヤツを相手したって仕方ないだろ。
何がしたくて、それが分からないとどういう支障が出るのかって話。
たぶん、そいつの脳内を除けば何も困ってないはず。
0038774ワット発電中さん
垢版 |
2018/02/17(土) 16:52:38.62ID:aEG5HgQm
>>34
ありがとうございます。

>ほんとに載ってないかなと思ってデータシートみたが、ブロック図とかみればわかるじゃん
ありがたい情報、ありがとうございます。
ちなみにこれは、どの型番のデータシートのどのブロック図でしょうか、よかったら教えてください。

僕が見たデータシートPIC16F193x で、例えばUART受信のブロック図では、
割り込みで言えば、事前に僕がRCIEを1にしてあれば、
RCREGに受信データが入ったらRCIF=1になる(?)ようなので、and結果で割り込みがかかります。
割り込みはかかりますが、andの先は→で書かれていて、
誰が記憶を消すかは書かれていないみたいです。
0039774ワット発電中さん
垢版 |
2018/02/17(土) 16:56:47.84ID:aEG5HgQm
>>36
ありがとうございます。
>「割込みを使えば自動的にリセットされ、使わないときは自分でリセットする」です。
この場合の"使えば"とは、具体的にどのようにすることでしょうか?
・割り込みを設定すること
・割り込みが発生すること
・割り込み結果を参照すること
ありがとうございます。
0040774ワット発電中さん
垢版 |
2018/02/17(土) 17:26:30.98ID:3t2hmt/h
ISRから帰ればだろJK

実機持ってるんだろ?
不明点があれば仮説を立ててそれを検証すればいい
イミフな説明書いてエスパーの返事を待つよりずっと早いぞ
0041774ワット発電中さん
垢版 |
2018/02/17(土) 17:28:57.10ID:HnClfFt9
割り込みがかかったことを知りたかった奴が、
また次に割り込みがかかったことを知りたきゃクリアする。
そんだけのこと。
アンタが何をしたいかだよ問題は。
0042774ワット発電中さん
垢版 |
2018/02/17(土) 17:55:57.31ID:Nh6q+2d1
>>39
「割込みを使えば」とは
割込み処理ルーチンを書き、割込みを許可して、発生した処理要求(例えばUARTの1バイト受信など)を
割込み処理ルーチンで処理することです。
UART受信割込み要求フラグはCPUが割込み受付け時に自動的にリセットします。

「割込みを使わない」場合
割込みを使わないときは、1バイト受信フラグ(UART受信割込み要求フラグ)を
必要に応じてプログラマがチェックし(これをポーリングと言います)、
オンになっていれば必要な処理を行います。
受信割込み要求フラグはプログラマが適切にリセットしなければいけません。

なお、CPUによってはハードウェアで(プログラムの介在無しで)入出力処理が可能です(DMA)
で、ここで細かく聞くよりも >>40 の言うように実践を!
0043774ワット発電中さん
垢版 |
2018/02/17(土) 17:58:24.54ID:3t2hmt/h
>アンタが何をしたいかだよ問題は。

もしかして: 本人にもわかっていない
0044774ワット発電中さん
垢版 |
2018/02/17(土) 18:52:12.24ID:Ls+lkq/6
流量センサーの電圧出力(1V〜5V)をPIC(5V,PIC18F46K22)でA/Dして取り込んでいますが、最大出力が5Vなのでセンサーの方が僅かにVDDを越えるかも知れないと思って抵抗で分圧入力しているのですが、VDDをどれくらい超えたらPICは壊れるのでしょうか?
0045774ワット発電中さん
垢版 |
2018/02/17(土) 19:08:55.73ID:3mpB2w4P
>>38
お前みたいな粘着系のめんどくさそうなやつに教えて、良かったと思うわけないだろ。
ちなみに俺が見たのは12F1822と16F87Xだが、ちゃんと書いてある。
0046774ワット発電中さん
垢版 |
2018/02/17(土) 19:24:19.13ID:b3vSYT5L
>>44
>VDDをどれくらい超えたらPICは壊れるのでしょうか?
I/Oが壊れるのは大きい要因として
(1)電圧による破壊(をふせぐために決められた上限)
(2)内部の保護ダイオードや内部配線の限界
があります。

データシートの Absolute Maximum Ratings にI/Oピンの電圧限界として、

Voltage on any pin with respect to VSS…-0.3V to (VDD + 0.3V)

と書かれています。VDDが5Vなら5.3Vが上限ってことになりますが、
こういう表現は、たいていの場合、(2)のダイオードにでかい電流が流れないようにする電圧範囲です。
これを遵守するのが望ましいのですけど

Input clamp current, (VI < 0 or VI > VDD) …±20mA

とも書かれています。ダイオードのVFが0.6Vなら、電圧が高くなって(2)の電流が流れ始めるのは
5.6Vになってから。この時点で上の5.3Vは超えているのですが、これでは実際のところ壊れません。
偶発的に電圧が上がった場合でも(2)のダイオードに流れる電流を抑えるようになっていれば大丈夫。
たとえばセンサーとPICのあいだに入れておけば、
PIC5Vのとき、センサー出力が間違って6Vまで上がっても、クランプダイオードに流れる電流は
(6V-5.6V)/1k=0.4mAに抑えられます。
PICに電源を供給せずに、センサーだけに電源が供給される場合でセンサーが6Vまで上がっても、流入は5.4mAにとどまります。
どちらの場合もクランプダイオードを通じてセンサーから流れ込んだ電流をPIC側の電源ラインが吸収できることも必要ですが。
0047774ワット発電中さん
垢版 |
2018/02/17(土) 19:30:19.68ID:b3vSYT5L
>>38
http://www.microchip.jp/docs/41364B_JP.pdf
77ページにRCIFがいつクリアされるか書いてありますぞ。

↓コツ
・PDFを開いたときに、RDIFで検索して見つかったところの前後を集中的に読むといい。
・日本語データシートがあるなら、無理に英語に拘らずにとりあえず頼ってみる。
・日本語データシートは古かったり翻訳に間違いもあったりする。見つかった役に立ちそうな情報は、英語の最新データシートでも確認してみる。
0048774ワット発電中さん
垢版 |
2018/02/17(土) 20:18:31.37ID:HnClfFt9
この調子で、PICのすべてのフラグについて、延々と質問が続くのであった…。
0050774ワット発電中さん
垢版 |
2018/02/17(土) 21:12:56.79ID:GpAlRBtJ
>>39
単純に考えればいいと思う
・割り込み要求は勝手にリセットされないからプログラマが自分でリセットする
・シリアル送受信のフラグは明確に書き込み/読み取りの動作でリセットされる
0052774ワット発電中さん
垢版 |
2018/02/18(日) 03:37:37.59ID:rxWZ1N52
>>51
PICは、16Fならほとんど同じだからね。

よく分かって回答しているのは一部の人だけで、
他の人は適当にやって動いたから良し、
あるいは全然分からずにやってるみたいだね。
質問者が叩かれてるので、まさか自分もわからないと言えなくてね。
0053774ワット発電中さん
垢版 |
2018/02/18(日) 04:00:32.78ID:Eo7FJdme
>>52
へえ、そうなんだね。
良く分かっている人のレスとそうでない人のレスを
具体的にレス番で教えて、参考にするから。
0054774ワット発電中さん
垢版 |
2018/02/18(日) 06:49:23.36ID:n3/G2TVC
>>46
詳しくありがとう。
センサーのアンプ出力に約1K抵抗が内蔵されているから大丈夫だね。
分圧抵抗入れて、100と1000で何故半分しか出てこないのか悩んでいて内蔵1Kに気付いた。
出力短絡保護と思うが、分圧抵抗を撤去してダイレクトに入力する事にします。
0055774ワット発電中さん
垢版 |
2018/02/18(日) 07:24:52.29ID:lKFrYRZW
割込処理ルーチンの入口でフラグクリアするのがよいのか
出口でフラグクリアするのがよいのか何時も迷うぜ
0056774ワット発電中さん
垢版 |
2018/02/18(日) 07:47:30.81ID:MZkAGnSR
迷う?
どちらですべきか考えれば迷うことなんか無い気がするが

割り込み要因を取り除かないとクリアしても即セットされる物は要因を取り除いてからクリア

処理後、クリアまでに再度割り込み要因が発生する場合はクリアしてから処理
0057774ワット発電中さん
垢版 |
2018/02/18(日) 07:52:57.50ID:MZkAGnSR
よく考えずに適当な場所でクリアすると
いずれ問題が起こる

多重割り込みが有効な場合は
クリア方法もよく考えないと
0058774ワット発電中さん
垢版 |
2018/02/18(日) 08:20:09.77ID:MZkAGnSR
アマチュアでやりがちなのが
xc.hで定義されてるフラグにそのまま代入しちゃうこと

IFS1bits.U1RXIF = 0;

とかやっちゃうといずれ問題が起こる
0060774ワット発電中さん
垢版 |
2018/02/18(日) 11:02:20.59ID:rxWZ1N52
>>58
何で?
0062774ワット発電中さん
垢版 |
2018/02/18(日) 11:54:03.05ID:rxWZ1N52
>>61
えっ? 1bit単位で読み書きする方法があるの?

リードモディファイなんとかライトだから、
読み出してから書き戻す間に、
ハードウェアによって変えられても、
古い情報で上書きされてしまう、
と言うことじゃないの?
0063774ワット発電中さん
垢版 |
2018/02/18(日) 14:12:45.76ID:ZTRlx6J8
>>54
PICのADCはつなぐ相手の出力インピーダンス10kΩ以下を推奨してた気がする。

1kなら大丈夫と思うけど。

絵入りでわかりやすく説明してるページがあった気がする。
0064774ワット発電中さん
垢版 |
2018/02/18(日) 14:14:37.05ID:ZJMZ6R97
>>58
それ、いつもやってる。
>いずれ問題が起こる
とても心配なので詳細を教えてください。

>>61
へえ、どうやって回避すればいいの?
0065774ワット発電中さん
垢版 |
2018/02/18(日) 14:32:13.00ID:kcHnvZhj
>>58
僕もやってる。教えてください。
0066774ワット発電中さん
垢版 |
2018/02/18(日) 14:40:41.02ID:PX2SWeDW
>>54
わりと多くのマイコン内蔵A/Dコンバータが図のような構成になっていて、
変換直前に一瞬だけスイッチをONにしてCにチャージしてから変換を行う。
この一瞬でCをチャージして、誤差が分解能の1LSB以内に収まる。
ソースの直列抵抗が小さいほどチャージの収束が速くなる。

それゆえ、分解能が高くなれば、ソースの抵抗は小さくないと性能を引き出せなくなるし、
逆に、要求分解能が低いなら、ソースの抵抗は大きくてもよくなる。


で、外部回路や応答性に問題がない範囲で、青のコンデンサを付けておくと
抵抗が大きくても外付けコンデンサが内部コンデンサへのチャージを助けてくれるよ。
0067774ワット発電中さん
垢版 |
2018/02/18(日) 14:42:05.71ID:vT9inFFA
>>58
はやくみんなの疑問に答えてください。
場合によってはMicrochipに報告しとかないと世界中に影響が出ると思うんで、
よろしくお願いします。
0068774ワット発電中さん
垢版 |
2018/02/18(日) 15:06:50.22ID:bJet/2q0
ピン変化割込IOCIFレジスタはIOCAFレジスタでないとクリア出来ないトラップに
はまって一週間くらい悩んだ…マニュアルはちゃんと読まないとダメだね
0070774ワット発電中さん
垢版 |
2018/02/18(日) 16:43:20.10ID:PH7trzwK
>>69
MCCやHarmonyはあなたがダメ出ししたコードを吐く。
全く答えになってないね。
まあ、回答できないんだろうけど。
0071774ワット発電中さん
垢版 |
2018/02/18(日) 17:00:26.52ID:MZkAGnSR
>>70
MCCやHarmonyが >>58 のようなコードを吐いてるMCUは大丈夫
決して >>58 のようなコードを吐かないMCUがある
それだと>>58のコードはNG
0072774ワット発電中さん
垢版 |
2018/02/18(日) 17:07:29.49ID:i4Jzt5MU
>>71
>決して >>58 のようなコードを吐かないMCUがある
具体的にPICの型番でお願いします。
0073774ワット発電中さん
垢版 |
2018/02/18(日) 17:08:57.91ID:i4Jzt5MU
あと
>それだと>>58のコードはNG
の理由もね。
そっちが元の質問なんで、いいかげん話をそらさず、よろしく。
0075774ワット発電中さん
垢版 |
2018/02/18(日) 17:23:30.67ID:i+dkFIgb
結局、大丈夫な理由もNGな理由も出ずじまいか。
予想通りだな。
0076774ワット発電中さん
垢版 |
2018/02/18(日) 17:27:43.59ID:mhwGHXO2
初心者さんには気の毒だけど
幾度かつついても具体的な回答を出せない>>ID:MZkAGnSRのようなヤツは無視
知識のあるヤツだけが回答してるわけではないから時間の無駄
0078774ワット発電中さん
垢版 |
2018/02/19(月) 02:57:01.91ID:wFRp/YEr
質問者です。
みなさん、貴重なご意見ありがとうございました。

やはり、全部のフラグについて、データシートにも
はっきりと書かれていないみたいですね。

また、みなさん先輩の中でも十分な理解でなく使って
いらっしゃる方も、いるようです。
そういう特性のことかもしれませんね。

みなさんのご意見を参考に、
フラグは、ReadOnlyも含めて、全部自分で上げ下げする
という自分なりの決まりを持つことにしました。

みなさん、どうもありがとうございました。

>>58の発言は、気になるところですが、>>77のような執拗な言動も
どうかと思いました。

ありがとうございました。
0079774ワット発電中さん
垢版 |
2018/02/19(月) 03:13:23.91ID:8bV+LUHj
勝手に決めるな、書いてある。
アンタが読んでないだけ。
0080774ワット発電中さん
垢版 |
2018/02/19(月) 03:26:48.79ID:H6YmXlV3
データシートに全部書いてある
なんて時代は終わったのだよ

例えば非常にシンプルなUART
8bit, 16bit, 32bitで割り込みの仕様はまったく異なるのだが
データシートに1行書いてあるだけ
ここに十分な仕様が記述されているわけがない

条件が整っている時にセットされ続けるのか
条件が整った瞬間に1回セットされるのか

FIFO付きでもFIFO4, FIFO8 でその辺が異なる
0081774ワット発電中さん
垢版 |
2018/02/19(月) 03:28:26.32ID:H6YmXlV3
USBのデータシートを見たことがある?
レジスタが書いてあるだけ
あんなんで設計なんて出来ない
0082774ワット発電中さん
垢版 |
2018/02/19(月) 03:31:53.92ID:H6YmXlV3
8bitのUARTはエラッタシートに載ってないエラッタがあるから注意
タイミングによって送信がダブる
0083774ワット発電中さん
垢版 |
2018/02/19(月) 03:34:44.85ID:H6YmXlV3
>>77
Harmonyって書いてるんだからわかるだろうに
コードを検索すればたくさんヒットするよ

なぜ>>58がマズいか?
それは自分で考えなさい
0084774ワット発電中さん
垢版 |
2018/02/19(月) 03:42:47.43ID:H6YmXlV3
いやでも、PIC32のCLR, SET, INVは非常に便利だよな
他のマイコンも真似してほしいくらい

他のマイコンだと
クリアのみ可能
とかにすることで問題が発生しないようにしてたりするね

まあそういうことを一生気にしない人もいる
ごく稀に問題が発生してもノイズのせいにしたり
趣味の電子工作ならそれでも良いのかもしれない
0085774ワット発電中さん
垢版 |
2018/02/19(月) 05:39:17.27ID:MQpbjCwa
自分のスキルを誇示して詳細は語らないいつもの御仁ですか
0086774ワット発電中さん
垢版 |
2018/02/19(月) 06:17:41.54ID:DndN49x6
ID:H6YmXlV3の見ているデータシート(とID:H6YmXlV3が呼んでいる何か)と
私が見ているデータシートは別物だということが分かった。
したがってID:H6YmXlV3 から何かを得るのは不可能。
どうもお疲れでした>>ID:H6YmXlV3
0087774ワット発電中さん
垢版 |
2018/02/19(月) 06:31:00.34ID:bcmvJ8GZ
>>83
>なぜ>>58がマズいか?
>それは自分で考えなさい

説明出来ないなら出てこなければいいのに。
0088774ワット発電中さん
垢版 |
2018/02/19(月) 15:06:22.85ID:wFRp/YEr
>>87
苦労して会得したんだから、
簡単には教えたくないんだと思いますよ。
知っていても教えない
知らないから教えられない
黙っていれば、どっちかわからないから、
都合よく振舞っているんだと思うよ。
0089774ワット発電中さん
垢版 |
2018/02/19(月) 15:46:41.30ID:tY/Ur2KG
バカ「その問題間違っていまーす」
生徒「え?何処?何処?俺解いちゃったよ」
先生「何処が間近っているのかな?」
バカ「それは自分で考えなさい(キリッ」

どう考えてもコミュニケーションがとれないキチガイだろw
0090774ワット発電中さん
垢版 |
2018/02/19(月) 15:57:52.26ID:ZIehodQh
教える気も無いのに初心者スレでホラを吹く。
これ、品性の問題だからどうしようもないね。
0092774ワット発電中さん
垢版 |
2018/02/19(月) 16:33:39.40ID:ZIehodQh
ん?
場所と品性は関係ない。
どこだからどう振舞うかとかぶれること自体が品性の無さの表れ。
0093774ワット発電中さん
垢版 |
2018/02/19(月) 16:51:58.44ID:S4jdMVGt
>場所と品性は関係ない。
だからですよ。ここ、5chですよ。
0096774ワット発電中さん
垢版 |
2018/02/19(月) 18:40:51.93ID:IHIY6N6t
最近のゆとりは、ただ反駁したいだけで中身が無い。
なので、「だって〜」「だから〜」と幼児並み。
0097774ワット発電中さん
垢版 |
2018/02/19(月) 18:41:51.09ID:IHIY6N6t
あ、そうそう、返す言葉は必ず「判らないですか〜」と決まってる。
0099774ワット発電中さん
垢版 |
2018/02/19(月) 20:59:12.38ID:NHBNS5dY
あぁ、そうだった。
少し前に馬鹿と阿呆の罵り合いに飽きてこのスレ見限っていたのに。
ちょっと怖いもの見たさで除いたら、結構有用な情報があったものでズルズルと見続けてしまっていた。
データ削除します。
■ このスレッドは過去ログ倉庫に格納されています

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