初めてのPIC 0x0e

1774ワット発電中さん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

58774ワット発電中さん2018/02/18(日) 08:20:09.77ID:MZkAGnSR
アマチュアでやりがちなのが
xc.hで定義されてるフラグにそのまま代入しちゃうこと

IFS1bits.U1RXIF = 0;

とかやっちゃうといずれ問題が起こる

59774ワット発電中さん2018/02/18(日) 09:59:01.27ID:iVcmOy1M
>>58
R/Oのビットに書いても?

60774ワット発電中さん2018/02/18(日) 11:02:20.59ID:rxWZ1N52
>>58
何で?

61774ワット発電中さん2018/02/18(日) 11:38:29.71ID:FBWGsWaz
>>60
8bit 単位でしか読み書きされない。

62774ワット発電中さん2018/02/18(日) 11:54:03.05ID:rxWZ1N52
>>61
えっ? 1bit単位で読み書きする方法があるの?

リードモディファイなんとかライトだから、
読み出してから書き戻す間に、
ハードウェアによって変えられても、
古い情報で上書きされてしまう、
と言うことじゃないの?

63774ワット発電中さん2018/02/18(日) 14:12:45.76ID:ZTRlx6J8
>>54
PICのADCはつなぐ相手の出力インピーダンス10kΩ以下を推奨してた気がする。

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

絵入りでわかりやすく説明してるページがあった気がする。

64774ワット発電中さん2018/02/18(日) 14:14:37.05ID:ZJMZ6R97
>>58
それ、いつもやってる。
>いずれ問題が起こる
とても心配なので詳細を教えてください。

>>61
へえ、どうやって回避すればいいの?

65774ワット発電中さん2018/02/18(日) 14:32:13.00ID:kcHnvZhj
>>58
僕もやってる。教えてください。

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

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


で、外部回路や応答性に問題がない範囲で、青のコンデンサを付けておくと
抵抗が大きくても外付けコンデンサが内部コンデンサへのチャージを助けてくれるよ。

67774ワット発電中さん2018/02/18(日) 14:42:05.71ID:vT9inFFA
>>58
はやくみんなの疑問に答えてください。
場合によってはMicrochipに報告しとかないと世界中に影響が出ると思うんで、
よろしくお願いします。

68774ワット発電中さん2018/02/18(日) 15:06:50.22ID:bJet/2q0
ピン変化割込IOCIFレジスタはIOCAFレジスタでないとクリア出来ないトラップに
はまって一週間くらい悩んだ…マニュアルはちゃんと読まないとダメだね

69774ワット発電中さん2018/02/18(日) 16:37:51.47ID:MZkAGnSR
>>60
>>65
>>67
わからないならスクラッチで組もうとせずに
素直にMCCやHarmonyを使いなさい

70774ワット発電中さん2018/02/18(日) 16:43:20.10ID:PH7trzwK
>>69
MCCやHarmonyはあなたがダメ出ししたコードを吐く。
全く答えになってないね。
まあ、回答できないんだろうけど。

71774ワット発電中さん2018/02/18(日) 17:00:26.52ID:MZkAGnSR
>>70
MCCやHarmonyが >>58 のようなコードを吐いてるMCUは大丈夫
決して >>58 のようなコードを吐かないMCUがある
それだと>>58のコードはNG

72774ワット発電中さん2018/02/18(日) 17:07:29.49ID:i4Jzt5MU
>>71
>決して >>58 のようなコードを吐かないMCUがある
具体的にPICの型番でお願いします。

73774ワット発電中さん2018/02/18(日) 17:08:57.91ID:i4Jzt5MU
あと
>それだと>>58のコードはNG
の理由もね。
そっちが元の質問なんで、いいかげん話をそらさず、よろしく。

74774ワット発電中さん2018/02/18(日) 17:18:15.74ID:MZkAGnSR

75774ワット発電中さん2018/02/18(日) 17:23:30.67ID:i+dkFIgb
結局、大丈夫な理由もNGな理由も出ずじまいか。
予想通りだな。

76774ワット発電中さん2018/02/18(日) 17:27:43.59ID:mhwGHXO2
初心者さんには気の毒だけど
幾度かつついても具体的な回答を出せない>>ID:MZkAGnSRのようなヤツは無視
知識のあるヤツだけが回答してるわけではないから時間の無駄

77774ワット発電中さん2018/02/18(日) 22:26:59.38ID:F32S9xcM
>>71
吐いてるMCUと吐かないMCUの型番マダー?
みんな待ってるよ

78774ワット発電中さん2018/02/19(月) 02:57:01.91ID:wFRp/YEr
質問者です。
みなさん、貴重なご意見ありがとうございました。

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

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

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

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

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

ありがとうございました。

79774ワット発電中さん2018/02/19(月) 03:13:23.91ID:8bV+LUHj
勝手に決めるな、書いてある。
アンタが読んでないだけ。

80774ワット発電中さん2018/02/19(月) 03:26:48.79ID:H6YmXlV3
データシートに全部書いてある
なんて時代は終わったのだよ

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

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

FIFO付きでもFIFO4, FIFO8 でその辺が異なる

81774ワット発電中さん2018/02/19(月) 03:28:26.32ID:H6YmXlV3
USBのデータシートを見たことがある?
レジスタが書いてあるだけ
あんなんで設計なんて出来ない

82774ワット発電中さん2018/02/19(月) 03:31:53.92ID:H6YmXlV3
8bitのUARTはエラッタシートに載ってないエラッタがあるから注意
タイミングによって送信がダブる

83774ワット発電中さん2018/02/19(月) 03:34:44.85ID:H6YmXlV3
>>77
Harmonyって書いてるんだからわかるだろうに
コードを検索すればたくさんヒットするよ

なぜ>>58がマズいか?
それは自分で考えなさい

84774ワット発電中さん2018/02/19(月) 03:42:47.43ID:H6YmXlV3
いやでも、PIC32のCLR, SET, INVは非常に便利だよな
他のマイコンも真似してほしいくらい

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

まあそういうことを一生気にしない人もいる
ごく稀に問題が発生してもノイズのせいにしたり
趣味の電子工作ならそれでも良いのかもしれない

85774ワット発電中さん2018/02/19(月) 05:39:17.27ID:MQpbjCwa
自分のスキルを誇示して詳細は語らないいつもの御仁ですか

86774ワット発電中さん2018/02/19(月) 06:17:41.54ID:DndN49x6
ID:H6YmXlV3の見ているデータシート(とID:H6YmXlV3が呼んでいる何か)と
私が見ているデータシートは別物だということが分かった。
したがってID:H6YmXlV3 から何かを得るのは不可能。
どうもお疲れでした>>ID:H6YmXlV3

87774ワット発電中さん2018/02/19(月) 06:31:00.34ID:bcmvJ8GZ
>>83
>なぜ>>58がマズいか?
>それは自分で考えなさい

説明出来ないなら出てこなければいいのに。

88774ワット発電中さん2018/02/19(月) 15:06:22.85ID:wFRp/YEr
>>87
苦労して会得したんだから、
簡単には教えたくないんだと思いますよ。
知っていても教えない
知らないから教えられない
黙っていれば、どっちかわからないから、
都合よく振舞っているんだと思うよ。

89774ワット発電中さん2018/02/19(月) 15:46:41.30ID:tY/Ur2KG
バカ「その問題間違っていまーす」
生徒「え?何処?何処?俺解いちゃったよ」
先生「何処が間近っているのかな?」
バカ「それは自分で考えなさい(キリッ」

どう考えてもコミュニケーションがとれないキチガイだろw

90774ワット発電中さん2018/02/19(月) 15:57:52.26ID:ZIehodQh
教える気も無いのに初心者スレでホラを吹く。
これ、品性の問題だからどうしようもないね。

91774ワット発電中さん2018/02/19(月) 16:06:34.82ID:S4jdMVGt
だって、ここ、5chですよ。

92774ワット発電中さん2018/02/19(月) 16:33:39.40ID:ZIehodQh
ん?
場所と品性は関係ない。
どこだからどう振舞うかとかぶれること自体が品性の無さの表れ。

93774ワット発電中さん2018/02/19(月) 16:51:58.44ID:S4jdMVGt
>場所と品性は関係ない。
だからですよ。ここ、5chですよ。

94774ワット発電中さん2018/02/19(月) 17:48:02.84ID:QpfBqJzH
だって
だから
の続きを書けよ、馬鹿なのか?

95774ワット発電中さん2018/02/19(月) 18:23:26.98ID:S4jdMVGt
判らないですか?
ここ、5chですよ 馬鹿も居ますよ

96774ワット発電中さん2018/02/19(月) 18:40:51.93ID:IHIY6N6t
最近のゆとりは、ただ反駁したいだけで中身が無い。
なので、「だって〜」「だから〜」と幼児並み。

97774ワット発電中さん2018/02/19(月) 18:41:51.09ID:IHIY6N6t
あ、そうそう、返す言葉は必ず「判らないですか〜」と決まってる。

98774ワット発電中さん2018/02/19(月) 19:20:43.08ID:syRRnBkO
PICスレは民度が低い

99774ワット発電中さん2018/02/19(月) 20:59:12.38ID:NHBNS5dY
あぁ、そうだった。
少し前に馬鹿と阿呆の罵り合いに飽きてこのスレ見限っていたのに。
ちょっと怖いもの見たさで除いたら、結構有用な情報があったものでズルズルと見続けてしまっていた。
データ削除します。

100774ワット発電中さん2018/02/19(月) 21:10:28.02ID:S4jdMVGt
計画通り

101774ワット発電中さん2018/02/19(月) 21:59:51.80ID:bQDWMg4C
PICスレには残念な人が居座っているから諦めた方がいい。

102774ワット発電中さん2018/02/19(月) 22:18:57.56ID:SdcYFQFk
>>66
直結で期待通りだけどRssば1K位でセンサーの出力インピーダンスは1K位で分圧されないのはキャパシタがチャージするからでしょうか?

103774ワット発電中さん2018/02/19(月) 22:35:51.75ID:HHl9kwzK
>>102
追加する抵抗R1は信号源抵抗Rsに直列に入るだけですので、分圧というのは違うように思います。
センサーの直列抵抗が大きくなっていても大丈夫なのは、サンプリングのスイッチが短い時間だけ
ONしたときに、CHに一気にチャージするときに流れる電流をC1から供給できるからですし。

>>44で書かれていた「分圧」は右下の赤の回路ですよね?

104774ワット発電中さん2018/02/20(火) 04:33:46.67ID:/M/GSoNH
>>103
>サンプリングのスイッチが短い時間だけONしたときに

ちょっと認識が違う気がする。
サンプリングのスイッチは常にオンになっていてGO/DONEビットを
セットするとオフになってからA/D変換が開始される。
前回A/D変換したときにチャンネルセレクトを切り替えておけば
ずっとチャージしたままになる。

105774ワット発電中さん2018/02/20(火) 04:42:32.21ID:2hNtigHx
>>103
レスありがとうございます。
直結前の回路は赤色の通りです。
勉強になりました。

106774ワット発電中さん2018/02/20(火) 07:15:06.07ID:4WDdPvvS
>>104
あーっ。ご指摘の通りです。別のA/Dと混ざっていました。
PICのA/Dの場合は、サンプルスイッチはチャンネルセレクトを切り替えてから
変換開始までどれぐらい待つかを決定するために信号源抵抗(とコンデンサ)を考慮するのでしたね…。

チャンネルを切り替えてから変換開始までに時間的余裕がある場合で、変化も遅い信号をサンプルするときに
信号源抵抗を考慮する理由は端子のリーク電流でした。

>>105
…ということでして、おはずかしい。
チャンネルを切り替える必要がなく、変化の小さい信号源なら外付けコンデンサにあまり意味ありません。

107774ワット発電中さん2018/02/20(火) 11:38:09.84ID:7dokJcOd
アホの知りたがりは必要悪
アホの教えたがりは社会悪

108774ワット発電中さん2018/02/20(火) 14:26:52.71ID:sxwSGI4s
教えたがりでも知りたがりでも無いと思いますし、
少なくとも「>>107 アホの意味の無いイヤがらせ悪」よりはずっとマシだと思いまぁす。

新着レスの表示
レスを投稿する