初めてのPIC 0x0e

レス数が1000を超えています。これ以上書き込みはできません。
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

2774ワット発電中さん2018/02/14(水) 00:03:27.90ID:b+HUIkYe
(())))(())()(())((())()((()))))((()())()))(((()((()()()()))((())()(()()))(()
)(((((()())(())(((())()())()())())(()()())(())))())))((()))(()))))((()(((()(
()))()((()()())((()((()())())()(()((()))(())))))(()()()((()(())((())())))()(
))()((())))()(((()()()((())))()))))()((())())()()((()())((()()(()))))(()((((
(()))())))))()())))))((((()(()(((())())()((()))))()()())()())()((()(((()((((
()((((()))((((()())(()(()(()()()()())))())(()((())()(()))))())(()(())()())))
())))(())(((()(((((()))(((())(((()())()())()((()(()()))()))()))())((())())))
))()(((())((()))((()(())))((((()()()())(())()(()))()())(())))))))((((()()()(
()()()((())()))()(()((((())()()))))((()()()((())()()())))()()(())))()()(((()
)()()))()))((())(()))))()))()))(((((()))((()(()(((((()()()(()())(()())())(()
(((()((()((((()(()))()()((())())))))(())(())))())(()()(())))())(()(()((())))
)((())(())((()(()))))())()(()((()()((()((()()()))))())()((())(())(())))(()()
)()))(((()()()))()(()()())))((((()())()()())(()()))))(()))))(((((())()(((()(
))(()()))()()(((((((()(()(()))))))(((((())))()))(()()((()(((()))(()(()))))))
()())((()(()))(())))()()))))())()(()())))()(((())()((()(())()(()(((()())(()(
))()()(()((())((()))(())(()(()(()))()()((()()(((())()()))()()())()))(()))(()
()))())()()()(()(()))))))(((((()((()()))()(((((()))(()()(())))())()())((()()
)((((()))((()((())())(()())())))((())))()))))))(()(())))()))(()()((((()(((((
((()))))()()))(()(()()(())(((()))())())()(((()))))()())((()()))((())(((()(()
)(())()()))))()())())(()))))(()((()((()(()((()()(((())((((()()())())(()))))(
)((()(())))())(()()()))((())()(((())(((())))())((()))())())))()(()(((()())((
))(())((((())((()(()))()))(())(((()())))()()()())))(((()))(()()())((()(()())
))((())))(((((()()()))))())))()))()((()))((((((()())))())(())(())((()()(()((
()((((()())(()((()())((())())((((()((()))))())(((()())())())(()))()))()))())
()))))())))()())(()(()()(())(((()))())))(())))((()()))(()()()((()())((((((((
)()())()((())))(()()())())(()(()))))((())()()()())())(()(())(()(()()()()((((
(((())())))()))((())()))())(()(()(()(((()())()(())(()()()(((()))())))))(()((
())((())(())))()()()()))(((()()()(()())))((()((((((())))()))()((((())))))(()
()())(()))()((((()((())())(()))))()()())))(()))()()(()((((()(())()((())))()(
)))(())()())()()()))(()(()(((((()())(()((()))((())()()())(())))(()((()()()))
(()(((()(()()((((())))()(((((()))(()))((())(())(())()(())))))))()()))))(())(
))(((()())(((()))))((((()())()())))(((())(()(()()()(()))())()(()())()())))((
)((((())))))(()(()(()())((()())())())())(()(()((()(()((())))))(((()))(()()))
()(((()(()()))(())(()(()()((())()))((()))((())(())(()((())())())(()())))()))
()))())(()((((((((()))((((()())())()()))(())(()()))(()(()))((()))((()))))())
())))(((()((()()((()()(((()(()))))()))())(())())(())((())))())()()(()(())(()
))))))))())()((()))(((()()(())((((()(((()()())()(((((((())(())()))(()())))))
()(((())(())(())))(()((()()(()()))()(((((())()())())()(())(())(()())))()))()
((((((()))(()())()())()()))))()()))(())()()))()(()((((()((()())))()(()())()(
(()))))))))()(()))()(())(()))((((()(())(())(((()))(())())())())(((())(()((((
)()(())()(((((())())))(())(((()))((())(()())))())())()))(()))(())(()()(((()(
(((())()()()))())(()(()(()(((((()()))(()((()))((((())()()((())()))))))()))))
)(()()()()())))())((())((()))()(()()()))())()()))))(((((())()())()((((())(((
)()(()(()())))))()())(((()(())((()()(())())((((())()))(())))(((((()))(()))()
)()))(()()((())((())((()()))()()))((()((()()((())()()((()(())())()))(()))))(
(((()))()()(()(()))())))())))())((()((()())()()()(())((()(()()(())()()))()((
)()))))))))))(())(()))(((()(()())(()(()))))((()((((())(((())())(()))(()(((((
))()()((())(()))(()((()())())))(()(())((())()())))))()))())(()()((((()(()(((
))))(())))(()))()(()()(()((())()()()))())(()((())((()((()()())))(()()()()(((
(())()())))(())(())(((()(()()(())(()()()()(())))))())(()((())()()()))()(((()

3774ワット発電中さん2018/02/14(水) 07:47:13.44ID:g/WLC13y
電電板でこのスレだけが16進数表記なんやね…
MPASM的にはH'0E'なんだろうけど

4774ワット発電中さん2018/02/14(水) 13:47:34.74ID:o7WHpV/0
Cでは、0x0e だけど、
MPASMでは、
H'0e' と、最後にも ' が要るの?

5774ワット発電中さん2018/02/14(水) 14:37:51.48ID:5IziNvwG
それでもいいし0x0eでもいい
MPASM/MPLINK User's Guideを読むべし

6774ワット発電中さん2018/02/15(木) 12:50:23.71ID:JQ4h6iRH
MPLAB の、Mはマイクロチップ、LABはラボですよね。
Pは何の略でしょうか?

7774ワット発電中さん2018/02/15(木) 13:15:11.76ID:gVRdw9vA
PICじゃねえの?

8774ワット発電中さん2018/02/15(木) 13:15:33.44ID:ebb6ECd4
PicのPじゃね?

9774ワット発電中さん2018/02/15(木) 13:52:39.05ID:EhjCurqa
Microchip Pic Love Adurt Boy

10774ワット発電中さん2018/02/15(木) 14:22:28.98ID:j4Z4MEWH
PIGのPだったらイヤだなw

11774ワット発電中さん2018/02/15(木) 17:25:03.04ID:byzWgtmN
さすがEngrishができる人は違うな

12774ワット発電中さん2018/02/15(木) 17:49:19.13ID:JQ4h6iRH
なるほど、PICのPですね。
ありがとうございました。

13774ワット発電中さん2018/02/15(木) 20:10:14.15ID:FRlGlX/E
12LF1822を使って赤外線リモコン送信機を作りたいと思い調べてみました
PWMを1ピンで出力すると20-30mAしか取れませんが数ピン並列にすることで電流を稼ぐとWebで見たのですが
SinglePWM(CCP1)の出力を複数ピンに同じ内容で出すにはどのような方法があるのでしょうか?
Trなどの部品数を減らせないものか、アイデアをご教授ください

14774ワット発電中さん2018/02/15(木) 20:57:20.47ID:XK8Sl7uO
adlut...

15122018/02/16(金) 16:26:41.32ID:ugA1Zy6Z
>>9 >>14
マジレスすると、adult 。。。

>>12のご指南お待ちしております

16774ワット発電中さん2018/02/16(金) 20:34:33.40ID:BEQQfq9b
PICの割り込みフラグについて教えてください。

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

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

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

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

宜しくお願いします。

17774ワット発電中さん2018/02/16(金) 20:50:30.46ID:rXaqvpzD
あー
データシートと喧嘩しちゃうタイプね
僕はそういうの面倒だから関わらない様にしてるんだ

18774ワット発電中さん2018/02/16(金) 21:08:16.03ID:fBLmHgha
俺面倒だから理由や根拠を考えずにMCCに書かせちゃうから、データシートをしっかり調べるのは偉いと思う!

19774ワット発電中さん2018/02/16(金) 21:14:37.36ID:EGLFosmG
>>16
the TMR1IF bit should be cleared before enabling interrupts
と書いてあるな、手元のデータシートには。

20774ワット発電中さん2018/02/16(金) 22:04:21.74ID:sFzvFpRO
>>16
データシートの「割り込み」の説明にクリアしろと書いてあるよ。
TMR1IF説明の部分じゃなくて。

21774ワット発電中さん2018/02/16(金) 22:32:22.78ID:2wqXZzm+
>>16
勝手にリセットされる割り込みフラグってあったっけ?

22774ワット発電中さん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がお手本を示してくれないかな、
と いつも思っています。

23774ワット発電中さん2018/02/17(土) 01:38:23.23ID:uokiUepy
勝手に思ってろよ。

24774ワット発電中さん2018/02/17(土) 09:36:29.80ID:+8+s/ZuQ
データシートにその辺の仕様が十分に載って無かったりするからな

25774ワット発電中さん2018/02/17(土) 09:52:06.83ID:9cuRQ2Mi
割り込みはちょっと手を出してない範囲なので「明確に載ってなかったら全部手動でクリアしたらいいのでは?」と思うんだが。
チップごとにとか、機能ごとに挙動が違うとか言われても相手PICの専門家じゃないからは分からんと思うよ。

26774ワット発電中さん2018/02/17(土) 09:56:17.59ID:dhX5LMHE
>>16
基本、割り込みフラグが立ってたら、割り込み禁止にしてない限りは、割り込みが発生する。

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

処理の結果で立つ 奴は、自動的にクリアされるのが多い。
受信完了なら、データを読み出すだけでクリアされるとか。

27774ワット発電中さん2018/02/17(土) 10:05:30.61ID:+8+s/ZuQ
>>25
クリア過剰もマズい

28774ワット発電中さん2018/02/17(土) 10:08:02.48ID:+8+s/ZuQ
>>26
何の情報にもなってない
データシートの方がはるかに多くの情報がある
そのデータシートにも十分な情報が無かったりする

29774ワット発電中さん2018/02/17(土) 10:09:25.42ID:9cuRQ2Mi
>>27
そうなんか?
XCは使う予定はないんだが、CCSCでもだめ?
どういう所で弊害出るん?

30774ワット発電中さん2018/02/17(土) 10:48:50.53ID:b3vSYT5L
>データシートの方がはるかに多くの情報がある
情報が多くて読み切れないことはわりとある話。

しかし、他人の書き込みに対して「何の情報にもなっていない」という人が
「データシートにも十分な情報が無かったりする」ことの具体例を
書かないのはおかしくないか?

31774ワット発電中さん2018/02/17(土) 11:59:10.59ID:k1QjAGA8
皆さんありがとうございます。
結局のところ、それぞれのプラグに対して、どのように後始末しなければならないか、
どこかに書いてあるものでしょうか?

また、皆さんはどのようにして対処しているよでしょうか?
とにかく使用後は、クリアしまくるのでしょうか?
りーどおんりーでもクリアしてるのを見たことありますが、
訳もわからずやってるな、って感じです

32774ワット発電中さん2018/02/17(土) 11:59:11.00ID:k1QjAGA8
皆さんありがとうございます。
結局のところ、それぞれのプラグに対して、どのように後始末しなければならないか、
どこかに書いてあるものでしょうか?

また、皆さんはどのようにして対処しているよでしょうか?
とにかく使用後は、クリアしまくるのでしょうか?
りーどおんりーでもクリアしてるのを見たことありますが、
訳もわからずやってるな、って感じです

33774ワット発電中さん2018/02/17(土) 12:05:10.07ID:VRCq/TNT
データシート
サンプルコード
実験

の順に情報を集める

34774ワット発電中さん2018/02/17(土) 12:09:06.78ID:3mpB2w4P
ほんとに載ってないかなと思ってデータシートみたが、ブロック図とかみればわかるじゃん

35774ワット発電中さん2018/02/17(土) 12:15:39.36ID:JtXFoNF6
同じ用途で上手く動くソースを探して、何でそうなってるか考える

36774ワット発電中さん2018/02/17(土) 13:29:53.78ID:Nh6q+2d1
>>32
素直にプログラムを書けば、割込み関連のフラグのセット/リセットでそんなに悩む事は無いと思うけどナ。
割込み要求フラグの大原則は
「割込みを使えば自動的にリセットされ、使わないときは自分でリセットする」
です。

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

割込み開始時に、すでに割込み要求が発生しているなら(例えば通信でデータを受信済みなら)、
そのデータを捨てるか取り込むかはプログラムの仕様次第です。
不要なら要求フラグをクリアしてから割込みを許可します。

37774ワット発電中さん2018/02/17(土) 15:00:00.93ID:Hqp8Qiv4
枝葉末節が気になって仕方ないヤツを相手したって仕方ないだろ。
何がしたくて、それが分からないとどういう支障が出るのかって話。
たぶん、そいつの脳内を除けば何も困ってないはず。

38774ワット発電中さん2018/02/17(土) 16:52:38.62ID:aEG5HgQm
>>34
ありがとうございます。

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

僕が見たデータシートPIC16F193x で、例えばUART受信のブロック図では、
割り込みで言えば、事前に僕がRCIEを1にしてあれば、
RCREGに受信データが入ったらRCIF=1になる(?)ようなので、and結果で割り込みがかかります。
割り込みはかかりますが、andの先は→で書かれていて、
誰が記憶を消すかは書かれていないみたいです。

39774ワット発電中さん2018/02/17(土) 16:56:47.84ID:aEG5HgQm
>>36
ありがとうございます。
>「割込みを使えば自動的にリセットされ、使わないときは自分でリセットする」です。
この場合の"使えば"とは、具体的にどのようにすることでしょうか?
・割り込みを設定すること
・割り込みが発生すること
・割り込み結果を参照すること
ありがとうございます。

40774ワット発電中さん2018/02/17(土) 17:26:30.98ID:3t2hmt/h
ISRから帰ればだろJK

実機持ってるんだろ?
不明点があれば仮説を立ててそれを検証すればいい
イミフな説明書いてエスパーの返事を待つよりずっと早いぞ

41774ワット発電中さん2018/02/17(土) 17:28:57.10ID:HnClfFt9
割り込みがかかったことを知りたかった奴が、
また次に割り込みがかかったことを知りたきゃクリアする。
そんだけのこと。
アンタが何をしたいかだよ問題は。

42774ワット発電中さん2018/02/17(土) 17:55:57.31ID:Nh6q+2d1
>>39
「割込みを使えば」とは
割込み処理ルーチンを書き、割込みを許可して、発生した処理要求(例えばUARTの1バイト受信など)を
割込み処理ルーチンで処理することです。
UART受信割込み要求フラグはCPUが割込み受付け時に自動的にリセットします。

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

なお、CPUによってはハードウェアで(プログラムの介在無しで)入出力処理が可能です(DMA)
で、ここで細かく聞くよりも >>40 の言うように実践を!

43774ワット発電中さん2018/02/17(土) 17:58:24.54ID:3t2hmt/h
>アンタが何をしたいかだよ問題は。

もしかして: 本人にもわかっていない

44774ワット発電中さん2018/02/17(土) 18:52:12.24ID:Ls+lkq/6
流量センサーの電圧出力(1V〜5V)をPIC(5V,PIC18F46K22)でA/Dして取り込んでいますが、最大出力が5Vなのでセンサーの方が僅かにVDDを越えるかも知れないと思って抵抗で分圧入力しているのですが、VDDをどれくらい超えたらPICは壊れるのでしょうか?

45774ワット発電中さん2018/02/17(土) 19:08:55.73ID:3mpB2w4P
>>38
お前みたいな粘着系のめんどくさそうなやつに教えて、良かったと思うわけないだろ。
ちなみに俺が見たのは12F1822と16F87Xだが、ちゃんと書いてある。

46774ワット発電中さん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側の電源ラインが吸収できることも必要ですが。

47774ワット発電中さん2018/02/17(土) 19:30:19.68ID:b3vSYT5L
>>38
http://www.microchip.jp/docs/41364B_JP.pdf
77ページにRCIFがいつクリアされるか書いてありますぞ。

↓コツ
・PDFを開いたときに、RDIFで検索して見つかったところの前後を集中的に読むといい。
・日本語データシートがあるなら、無理に英語に拘らずにとりあえず頼ってみる。
・日本語データシートは古かったり翻訳に間違いもあったりする。見つかった役に立ちそうな情報は、英語の最新データシートでも確認してみる。

48774ワット発電中さん2018/02/17(土) 20:18:31.37ID:HnClfFt9
この調子で、PICのすべてのフラグについて、延々と質問が続くのであった…。

49774ワット発電中さん2018/02/17(土) 20:30:43.65ID:3t2hmt/h
ここはサポセンじゃねぇ

50774ワット発電中さん2018/02/17(土) 21:12:56.79ID:GpAlRBtJ
>>39
単純に考えればいいと思う
・割り込み要求は勝手にリセットされないからプログラマが自分でリセットする
・シリアル送受信のフラグは明確に書き込み/読み取りの動作でリセットされる

51774ワット発電中さん2018/02/18(日) 00:56:21.65ID:ZoKmZSDn
型式も分かんないのによくアドバイスする気になるよね

52774ワット発電中さん2018/02/18(日) 03:37:37.59ID:rxWZ1N52
>>51
PICは、16Fならほとんど同じだからね。

よく分かって回答しているのは一部の人だけで、
他の人は適当にやって動いたから良し、
あるいは全然分からずにやってるみたいだね。
質問者が叩かれてるので、まさか自分もわからないと言えなくてね。

53774ワット発電中さん2018/02/18(日) 04:00:32.78ID:Eo7FJdme
>>52
へえ、そうなんだね。
良く分かっている人のレスとそうでない人のレスを
具体的にレス番で教えて、参考にするから。

54774ワット発電中さん2018/02/18(日) 06:49:23.36ID:n3/G2TVC
>>46
詳しくありがとう。
センサーのアンプ出力に約1K抵抗が内蔵されているから大丈夫だね。
分圧抵抗入れて、100と1000で何故半分しか出てこないのか悩んでいて内蔵1Kに気付いた。
出力短絡保護と思うが、分圧抵抗を撤去してダイレクトに入力する事にします。

55774ワット発電中さん2018/02/18(日) 07:24:52.29ID:lKFrYRZW
割込処理ルーチンの入口でフラグクリアするのがよいのか
出口でフラグクリアするのがよいのか何時も迷うぜ

56774ワット発電中さん2018/02/18(日) 07:47:30.81ID:MZkAGnSR
迷う?
どちらですべきか考えれば迷うことなんか無い気がするが

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

処理後、クリアまでに再度割り込み要因が発生する場合はクリアしてから処理

57774ワット発電中さん2018/02/18(日) 07:52:57.50ID:MZkAGnSR
よく考えずに適当な場所でクリアすると
いずれ問題が起こる

多重割り込みが有効な場合は
クリア方法もよく考えないと

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 アホの意味の無いイヤがらせ悪」よりはずっとマシだと思いまぁす。

109774ワット発電中さん2018/02/20(火) 20:20:04.03ID:7c0+pCZt
馬鹿なほど知ったかして、得意げに教えたつもりになってるから卯財

110774ワット発電中さん2018/02/20(火) 20:33:37.54ID:dkQW2qbr
>>106
別のA/Dとは?
参考にしたいので教えてください。

111774ワット発電中さん2018/02/20(火) 22:19:03.06ID:4WDdPvvS
>>110
TIのADS8320です。

112774ワット発電中さん2018/02/20(火) 23:43:08.01ID:/ZUUQyDj
ほお

113774ワット発電中さん2018/02/22(木) 06:50:18.72ID:6fmTcB4l
PICでSDIOがあるやつってある?

114774ワット発電中さん2018/02/22(木) 07:04:44.90ID:6fmTcB4l
PIC32MZ DAくらいか
う〜ん、いまいち

115774ワット発電中さん2018/02/22(木) 07:17:57.02ID:xwj9tnQA
>>114
16bit PIC なら、メモリー容量的にSPI モードで十分だしな。

116774ワット発電中さん2018/02/22(木) 20:12:01.96ID:6fmTcB4l
しょぼっ

117774ワット発電中さん2018/03/04(日) 02:53:04.42ID:rKuVWl1b
>>109
> 馬鹿なほど知ったかして、得意げに教えたつもりになってるから卯財


教えようとしてるだけエライじゃん
イヤなのは、なんにも教えず説教をたれたいだけのジジイ

118774ワット発電中さん2018/03/04(日) 05:04:41.45ID:ccecnhQm
>>109
お前はバカだ、知ったかだ。と言うなら
どこが間違っていて、正しくはこうだ。
と書かないと、
あなた自身が、馬鹿な知ったか、に見えるよ?

119774ワット発電中さん2018/03/04(日) 12:44:53.67ID:VAihGLUA
初心者です。教えてください。

2つあります。

MPLAB Xをダウンロードしてインストールして、ふー炉じぇくとを作って、コンパイル(ビルド?)をしました。
画面の下部にあるエラーとかワーニングが出る窓の文字が小さくて、とても使いにくいです。
この文字を大きくするのは、どこをさわればいいでしょうか?
Toolsのoptionsの中にfont設定があるようですが、
outputペインのfont設定までは見つけられませんでした。

今まではMPLAB IDE8.92を使っていたのですが、それに比べるとコンパイルに時間がかかります。
もっさりした感じです。これで正解なのでしょうか?

どうぞよろしくお願いします。

120774ワット発電中さん2018/03/04(日) 12:59:16.83ID:wcyHmwr3
>>119
マウスのホイール押しながらホイール回す。

デフォルトだと、一度に8つ?のファイルを同時にコンパイルしようとするから、非力なマシンだと、かえって遅くなる。

121774ワット発電中さん2018/03/04(日) 13:09:18.31ID:HTfd+MOU
シングルコアCPUマシンならMPLAB 8.92の一択
最近は安くて早いPC充実してるからMPLAB X使うなら買い替え

122774ワット発電中さん2018/03/04(日) 13:58:19.51ID:hs6s6gNO
そりゃPCがボロ過ぎる
サクサク条件は64bit4コア8ギガかな
今時中古ノートでも2万もあればそろえられる

ケチって買わないならコンパイルのんびり待ちましょう
待つのは無料だからね

123774ワット発電中さん2018/03/04(日) 14:14:25.15ID:rBIbtYiw
JAVAで開発された物って
開発は楽チンなんだろうけど
メモリバカ食いだよな

オイラもXの遅さに耐えられなくなって
去年PC新調した口
ついでにSSD化も
デュアルディスプレイ化もして超快適

124774ワット発電中さん2018/03/04(日) 14:19:24.14ID:ZfY1muoi
>>120さん
どうもありがとうございました。できました。
この設定は、どこかのプロパティを開いて調整できるものではないのでしょうか?
よろしかったら、教えてください。

>>121,122
みなさん、ありがとうございました。
僕のノートPCは、17インチ1920*1200で広いんですが、
コア2ディュオというCPUですので遅いです。もっさり感たっぷりです。

あと、もう一つ教えてくださいませんか。
文字を大きくしたoutput paineですが、エラーの表示はどこを見れば良いのでしょうか。
どうせ僕のプログラムミスなので、
○○行目にsyntax error ; が必要 とか出れば良いのですが、
いろいろと表示されすぎて、わからないです。

125774ワット発電中さん2018/03/04(日) 15:12:48.37ID:aOv8xU2P
まず 英語 And c言語の勉強かな

126774ワット発電中さん2018/03/04(日) 15:22:38.94ID:2IPbFxZi
英語のNotice Caution、コンパイル時のエラーメッセージなんかは、
同じ単語が結構出てくるので、一冊ノートを作ってわからない単語を書き出してその意味を書いておくといいよ
ノートの単語が増えてこなくなったら、アルファベット順に再編するとかなんかしておく
その頃にはだいたい意味がわかるようになってる。

PCにText文章で作ってもいいけど、書いたほうが覚える感じがする(個人的に

127774ワット発電中さん2018/03/04(日) 16:24:29.92ID:ZfY1muoi
みなさん、ありがとうございます。
ご親切にありがとうございました。
なんとか、プログラムが動き出しました。
outputペインの文字サイズは、outputペイン上で右クリックして、settingに行くとありました。

error表示は、英語を頑張って読むことにします。
ただ、makeとか知らない言葉が出てくるので、メモしておくことにします。
Syntax Error in 123 とか、色を変えて出てくれるとありがたいですね。

あと、ビルド成功の文字を、若草色から変えたいのですが、わかりません。
上記の右クリック...の画面で、Build Successの色を青にしたのに、
若草色のままです。

PCは遅いので、関数50行、main 20行くらいでも、1分くらいかかります。
なんだかなって感じです。

128774ワット発電中さん2018/03/04(日) 16:26:47.61ID:4xOFmycs
>>124
出力タブのウインドウでCtrl+Sで保存して、ここに貼り付けてみるのはどう。

129774ワット発電中さん2018/03/04(日) 16:32:24.18ID:hs6s6gNO
お金も無くて頭も無い半人前だけど
文句だけは一人前

なんだかなって感じです

130774ワット発電中さん2018/03/04(日) 19:59:41.22ID:ZfY1muoi
>>129
誰のことですか?

131774ワット発電中さん2018/03/04(日) 22:21:32.09ID:nC7YRyqn
>>127
makeも知らないのか
お前の組のことだよ。覚えとけ

132774ワット発電中さん2018/03/05(月) 02:43:39.95ID:5TFMyRQc
>>129
理系はアフォばっかりだから、挑発はやめろ
無視すればいいんだよ

133774ワット発電中さん2018/03/05(月) 03:00:53.46ID:oMx5/vfy
コンパイラの途中経過には興味はない。
Cで書いて、コンパイルして .hex が出来て、picに書き込んで動けばオーケーです。
途中のmakeでこけるとかはMPLABの都合なので、僕らには関係ないです。
makeとかリンカーとかを知らなければマイコンが動かせない訳ではないでしょう。

134774ワット発電中さん2018/03/05(月) 06:52:59.27ID:XBhytWfJ
立派な考えなので全部のコードをハンドアセンブルして手打ちでhexファイルまで作って下さい。
ライブラリなんて安直な考えはダメですよ

135774ワット発電中さん2018/03/05(月) 12:38:37.33ID:RLGC8AlE
非現実的な事を言って荒らすアホ、PICスレ名物?

136774ワット発電中さん2018/03/05(月) 12:59:42.15ID:u983ED6L
やりたいのはPICを動かすことだしね。

137774ワット発電中さん2018/03/05(月) 13:31:23.73ID:dgOXuntO
動かしたいだけなら全部、他人に作ってもらえばいいんじゃないの
仕事ならお金払って、趣味なら駄々こねれば。

138774ワット発電中さん2018/03/05(月) 18:04:12.08ID:Z0nJEbPv

139774ワット発電中さん2018/03/05(月) 21:57:40.66ID:qodsWXuS
C言語で組んで何が悪いのかね〜〜〜
出力されたアセンブラコード見て適正なコードが
出力されるようにCソース変更することでも結構
いい結果得られるし、だめなら直接アセンブラコードで
書けばいい。
ぐだぐだ言うやつはFreeエディション使ってるんだろ〜〜
Proモードでコンパイルすれば何の問題もない

140774ワット発電中さん2018/03/05(月) 22:22:32.04ID:u983ED6L
ていうか、メイクとかリンカーとか、知らないとpic使えないのか?
Cでソース書いて、コンパイルして、目的のことが出来たなら、それで充分。

141774ワット発電中さん2018/03/05(月) 23:10:53.31ID:H/riQ1ZS
そだね

142774ワット発電中さん2018/03/05(月) 23:57:39.45ID:bHHFUy5a
今確認したら MPLABX4.15 の javaw.exe で1.4GBも喰ってる
いつの間にこんな馬鹿喰いデブになってまったんだ、、、

あれ?なんか近くにそんな人居る、、、

4GB頭打ちの32bitOSだと修行僧とか忍耐力ある人じゃないと
運用無理じゃないの?

143774ワット発電中さん2018/03/06(火) 07:02:50.65ID:39r0fwtA
>>142
取り敢えずメモリー確保して置くってソフトは多いよ。

144774ワット発電中さん2018/03/06(火) 07:25:16.65ID:ERGvCWdB
>>143
存在するのはわかるけど、やだなあ、それ。

145774ワット発電中さん2018/03/06(火) 07:50:32.89ID:RWmgan4v
メモリ使用量は減らせるみたいだ

146774ワット発電中さん2018/03/06(火) 09:59:58.11ID:mAwLQXYd
クロムのことかー

147774ワット発電中さん2018/03/06(火) 11:10:53.33ID:ulzeaAAM
PCを更新したのでPIC環境も最新にと思い、X IDEの3.61から4.15を入れて、XC8は1.45Bを入れた。
しかし、X IDEのツールチェーンに登録されない???
入れたドライブとパスは、D:&#165;Microchipです。

148774ワット発電中さん2018/03/06(火) 12:27:42.51ID:8YmzIyeu
おれIDE使ってないから、適当なこと言うけど、
javawコマンドは最大メモリ量とか初期メモリ量をオプション指定できるよ。
下記のページ見て-Xmsとか-Xmxとか起動する場所に指定してみたら?

https://docs.oracle.com/javase/jp/1.3/tooldocs/win32/java.html
例えば、-Xmx1G とかやればいいと思うけど、自己責任でどうぞ

149774ワット発電中さん2018/03/06(火) 12:28:39.94ID:8YmzIyeu
あ、Gは小文字だった。
-Xmx1g

150774ワット発電中さん2018/03/06(火) 12:45:35.95ID:6XObS/eY
>>142
Harmonyを立ち上げるとそのくらい使うねえ
まあでもメモリたくさんあるから気にしたことない
それより、MPLABXを複数起動出来るようにして欲しい
他の多くのIDEは出来るのにMPLABXは出来ない

151774ワット発電中さん2018/03/06(火) 13:01:24.05ID:RWmgan4v
mplab_ide.confに書けるらしいぞ
MPLAB メモリ削減でググって2番目くらいに表示される記事参照

152774ワット発電中さん2018/03/06(火) 13:15:16.69ID:7H+ffYZ7
>>150
使われなければスワップアウトされるだけだしな。

153774ワット発電中さん2018/03/06(火) 13:33:08.79ID:/XiWlVVW
なんでこんなに重いんだ。

154774ワット発電中さん2018/03/06(火) 13:43:35.62ID:6XObS/eY
パフォーマンスや使用リソース量よりも開発効率や移植性を優先したから
つまりMicrochipが悪い

155774ワット発電中さん2018/03/06(火) 13:45:26.92ID:6XObS/eY
まあでも世の中全体がそういう流れ

156774ワット発電中さん2018/03/06(火) 15:38:51.16ID:rdaQ5C2I
>>142
32bitの4GBの限界もそうだが、
32bit Windowsでは通常、32bitアプリは1プロセスで2GB(実際は1.5から1.6GBくらい)までしか使えない
64bit Windowsでは32bitアプリでも
実行ファイルにLargeAddressAwareのフラグが立ってれば4GB(実際は3.5GB程度)まで使える

157774ワット発電中さん2018/03/06(火) 16:06:59.85ID:OvFzO8UW
>>156
32bitだから4Gしか使えないなんてのは、Windowsの64bit売るための言い訳仕様に過ぎない
Windowsはメモリ利用効率が何気に悪い
linuxもBSDもハードウェア限界まできちんと使えるし、MPLABもWindowsより多少はマシ。
java環境がマシなだけかもしれないが。

158774ワット発電中さん2018/03/06(火) 16:22:41.12ID:rdaQ5C2I
>>157
32bitのx86 Linuxでは1つの32bitプロセスが使えるメモリは3GBまでだよ

159774ワット発電中さん2018/03/06(火) 16:27:01.18ID:rdaQ5C2I
今時、32bit Windowsを使うメリットなど無いし今はもう64bit Windowsが主流
NVIDIAなんて32bit Windows用の新しいドライバは作らないと発表してる
LinuxだってUbuntuで18.04から32bitのUbuntu Desktopはサポートされなくなる
スマホもPCも64bitが当たり前の時代だよ

160774ワット発電中さん2018/03/06(火) 16:34:25.15ID:rdaQ5C2I
ごめん、17.10からUbuntu Desktopは廃止されてたわ

2017年9月28日 Ubuntu,Artful Aardvarkで32ビット版サポートを中止へ
http://gihyo.jp/admin/clip/01/linux_dt/201709/28

2017年12月21日 Canonical,Ubuntu 18.04 Serverでの32ビットデイリーイメージのサポートを中止へ
http://gihyo.jp/admin/clip/01/linux_dt/201712/21

161774ワット発電中さん2018/03/06(火) 16:38:21.22ID:3Di1dev6
あのーここはPICのスレなんですが

PICも32bitだとMIPSで様相が全然違うけど、
8bitのやつとなにか共通点ってあるの?
名前だけ?

162774ワット発電中さん2018/03/06(火) 17:06:57.31ID:6XObS/eY
16bitと32bitではペリフェラルの共通点はけっこうあるが、
8bitと32bitはそういうのもあまりない

もっとも、
8bitと32bitで同じペリフェラルだったとしたら、
8bitがよほどリッチか32bitがショボいか、
バランスが悪すぎると思う

開発環境は共通点が多い

163774ワット発電中さん2018/03/06(火) 17:32:52.77ID:skKFvcxQ
レジスタの名前とかは同じ名前をつけようとした痕跡があるな(よりリッチになってても)

164774ワット発電中さん2018/03/06(火) 18:22:24.38ID:7H+ffYZ7
>>161
周辺機能は共通化進んでる。

165774ワット発電中さん2018/03/06(火) 20:10:02.97ID:BlQ7L4jJ
進んでる?
どこが?

166774ワット発電中さん2018/03/06(火) 22:12:08.32ID:7H+ffYZ7
>>165
最近の8bitPICの周辺機能は、16bitPIC相当になってきてる

167774ワット発電中さん2018/03/06(火) 22:45:12.56ID:BlQ7L4jJ
どこが?

168774ワット発電中さん2018/03/06(火) 22:52:50.04ID:BlQ7L4jJ
UART, SPI
8bitはFIFO無し
16bit, 32bitはFIFO有り

169774ワット発電中さん2018/03/06(火) 22:53:48.48ID:BlQ7L4jJ
割り込み
8bitはハンドラ共通
16bit, 32bitは要因別ハンドラ

170774ワット発電中さん2018/03/07(水) 01:54:48.76ID:i/Ga9hKt
スレ民「開発効率や移植性、メンテナンス性が良いC使えや!アセンブラとか使ってる場合かよボケカス!」
スレ民「開発効率や移植性?知るかそんなもん!MPLABバカデカくしやがって!Microchip死ねやボケカス!」

どうしてこうなのか・・・

171774ワット発電中さん2018/03/07(水) 06:20:59.82ID:Q0bIgShr
>>169
PIC18の新しい奴は、割り込み要因別にベクタが有る。

172774ワット発電中さん2018/03/07(水) 07:58:19.14ID:snKX5HWx
他は?

173774ワット発電中さん2018/03/08(木) 11:48:04.45ID:+j+6ssDG
PIC18の羨ましいところは、AVRには無い10進演算補正命令がある事かな。
アセンブラだと<入力→16進変換→16進演算→10進変換→出力>より
早くて簡単な<入力→10進演算→出力>でやりたい場合がある。

174774ワット発電中さん2018/03/08(木) 12:43:02.14ID:H6qBBdgb
10進数演算
昔x86にもあったけど64bitで廃止された

加減算くらいしか使えないし、
10進の入出力は大抵遅くてもいい部分でしか使われないから

世の中のマイコンの性能も上がったし、
普通に気にせずC言語とライブラリでやればいいよ

175774ワット発電中さん2018/03/08(木) 12:46:30.42ID:H6qBBdgb
PICはCPUが遅いから色々と気を使う必要が出てきて大変だとは思う
いまだにオールアセンブラとかの人もいるし

時代的に30年前な感じ

176774ワット発電中さん2018/03/08(木) 16:46:36.12ID:+j+6ssDG
>10進の入出力は大抵遅くてもいい部分でしか使われないから
昔、秋月で売っていたDDSの8桁の発振周波数をロータリエンコーダで増減し、
(PCとの任意のタイミングのUART通信でも変更、増減できるようにしていた)
液晶にその発振周波数を表示する、というパルスジェネレータを作った。

ロータリエンコーダを最高速度で回しても、操作性(応答性)を良くするために
1クリックの時間内で、液晶表示とDDSの周波数の更新が出来るようにしたかったので、
後から色々と悩むよりも、最初から最高速を目指してアセンブラで作った。
もっとも、あらかじめ厳密に時間計算したわけでは無いので、
Cでも可能だったかもしれない。

ところで10進数演算命令ではなくて、10進数演算「補正」命令で十分。
PIC18では2命令(加算と補正)で済むのに、AVRではフラグの問題もあり、
2桁のBCD加算に21命令もかかる(参考AVR204)、残念っw

177774ワット発電中さん2018/03/08(木) 17:15:02.45ID:BTbCX1CD
>>174に書いたx86は10進数演算「補正」
使われなくて消えた命令

178774ワット発電中さん2018/03/08(木) 17:21:46.73ID:BTbCX1CD
>>176
さすがに液晶の表示よりは速いんじゃない?
2進数===>10進数 変換
10進数===>2進数への変換はいずれにしろ必要

ロータリーエンコーダーの処理と
液晶や実際のDDSへの設定は
同じタイミングである必要もないし

ていうか、
1クリックで毎回液晶更新してて間に合うのか?
ロータリーエンコーダーのパルス間隔は
瞬間的に速く回せばミリ秒オーダーになるが

179774ワット発電中さん2018/03/08(木) 17:50:05.02ID:ySfaEU+h
>>178
そんなこといいはじめたら最高速でまわすエンコーダーに追従するよりも
最高速で回さなくてもいい自動ステップなどの工夫を入れるべきだ、とか言い出すやつが出始めるぞ

180774ワット発電中さん2018/03/08(木) 18:28:07.89ID:2oTbJaeO
ソフト設計がおかしいって言ってるの
いかにも初心者が作った感じ

各要素どれだけの処理遅延が許されるかを考えて
それぞれ適した場所で処理するものだ

UART受信は1msの遅延で取りこぼす
エンコーダーは1ms遅延までは許容する
液晶表示は20ms遅延まで問題ない
DDS設定は50ms遅延まで許容
じゃあUART受信とエンコーダーのカウントは割り込みで処理
他は割り込みじゃない普通の処理で
UART取りこぼしよりはエンコーダー取りこぼしの方が影響が少ないから
割り込み優先順位はUART受信の方が上

とかって決めるもの

アセンブラを使った最適化なんてのはもっとずっと後

181774ワット発電中さん2018/03/08(木) 19:01:43.92ID:u+6gx7Gx
そだね

182774ワット発電中さん2018/03/08(木) 19:02:29.93ID:ySfaEU+h
>>180
初心者というか、いかにもフローチャートでしか考えられない感じだよね
非同期タイミングなイベント駆動のステートマシンで考えて欲しいところだ
まぁアセンブラで早くぶん回せばなんとかなるだろ的な設計にありがち

183774ワット発電中さん2018/03/08(木) 19:13:38.30ID:2oTbJaeO
言葉を覚えたての初心者?
使いたくてしょうがないんだね

まったくフェーズの違う話題が突然出てくるところが笑える

184774ワット発電中さん2018/03/08(木) 19:16:28.03ID:2oTbJaeO
ステートマシンとかフローチャートを使った設計とか
30年前の話題だ

さすがPICスレ

185774ワット発電中さん2018/03/08(木) 21:57:16.43ID:18W/N+Ra
手前に頼んでるわけじゃなし
空きにやればいいと思うよ
無駄な?カリカリチューンも趣味ならでは

186774ワット発電中さん2018/03/08(木) 21:59:21.34ID:18W/N+Ra
失敗った
&#10006;空きに
○好きに

コンパイルしてlstみて気に入らないとasmで書き直して
ほとんどasmになったりするけどw

187774ワット発電中さん2018/03/09(金) 06:55:36.55ID:yDCSAwnm
>>176
一桁を1バイトで表せばそんなに長くないだろうに?

188774ワット発電中さん2018/03/09(金) 06:56:53.81ID:yDCSAwnm
>>187
そもそも±1しかしないんだろ?

189774ワット発電中さん2018/03/09(金) 08:21:55.03ID:lN8CRpwv
そもそも、
遅くて良い処理を、
速くやらなきゃならないところでやってるから
問題なわけで

190774ワット発電中さん2018/03/09(金) 15:08:17.75ID:yua+ekel
プロファイル更新で手帳もらえるぞ。

1911762018/03/09(金) 15:41:45.00ID:kJqgdYVU
>>177
申し訳ありません、私の知識不足でした、調べればすぐに分った事なのに・・・。
Cが一般的な今、10進演算命令は不要だと思われるのは仕方が無いですね。
AVRで採用されなかったのもこれが理由だと思います。

>>180
もちろん各処理の許容時間を十分に検討して作ります。
でなければプログラムは作れません。
さっきこのDDS制御プログラムリストを見返したら、
使用している割込みはエンコーダ・パルス入力、
UARTの受信、タイマ2個の合計4つでした。
誰がどうやろうと、タイマ以外の割込みはこうなるのかな?

私の基本的な設計方針は、
<最速最短の処理プログラムをチャッチャッと書いて終わり、
 これで出来ないならソフトでは不可能でハードの追加が必要>
ですw

(一文入魂の作文に疲れたので他の方へのレスは謹んで省略)

192774ワット発電中さん2018/03/09(金) 15:53:52.02ID:kJqgdYVU
(どうしてももう1レスだけ)

>>187 一桁を1バイトで表せばそんなに長くないだろうに?
別の理由であまり深く考えなかったけど、今、検討してみたらかなり簡略化できそう。
もしもバージョンアップする機会があれば採用してみたいです。

193774ワット発電中さん2018/03/09(金) 16:13:55.44ID:CRRyc84+
じゃあ結局>>174の通りで>>176は間違いでしたってことだな

194774ワット発電中さん2018/03/09(金) 19:02:20.29ID:lN8CRpwv
命令数が少なくすんでも
2命令で8クロックだからなあ
PICは遅い

195774ワット発電中さん2018/03/10(土) 07:15:10.57ID:1/3YpyyM
>>194
何に使うかだろ?
Z80より速いだろ。

196774ワット発電中さん2018/03/10(土) 08:53:41.75ID:A417ifvs
何に使うって
>>176の話だよ

遅いからアセンブラでBCD命令を使ったんだろ
速けりゃそんなもん不要で
なにも気にせず標準ライブラリで済んだわけで

アセンブラじゃ開発期間も移植性も可読性も最悪

197774ワット発電中さん2018/03/11(日) 19:33:48.47ID:mur+4FNZ
質問です。

mplabxide+xc8の環境で、ビルドした際のチェックサムについてです。

ソースを変更した場合、チェックサムも変わるものですが、コードプロテクトをかけてビルドするとソースの内容によらずチェックサムが同じ値になります。
こういうもんなんでしょうか。
プロテクトをかけた時点でチェックサムも計算できなくなると言うことですかね。

198774ワット発電中さん2018/03/11(日) 21:51:09.68ID:0m/zw/2B
君がコードプロテクトと称してるのはconfig ビットの中の事?

1991972018/03/11(日) 23:25:53.01ID:mur+4FNZ
>>198
レスありがとうございます。
そうです、config内のCONFIG5LからCONFIG7Hまでの設定です。

200774ワット発電中さん2018/03/12(月) 16:29:47.14ID:V4y1r6qO
>コードプロテクトをかけてビルド
ソース中にconfig記述してるの?
結果が仕様なんだろうな
プロテクトしたら実物でもチェックサムに意味は無いのだから
気にしたら負け

2011972018/03/12(月) 18:45:02.96ID:ufCe4kXE
>>200
ソース内と言うか、
mplab x ideでコンフィグを設定→
吐き出されたコードをコピペしてconfiguration.hとして保存→
main.cでインクルード、とやってます。

コードプロテクトの方法としてもっとオーソドックスなやり方ってあるんでしょうかね。チェックサムの件はあまり気にしないことにしますが、今後のためにご教示いただけるとありがたいです。

202774ワット発電中さん2018/03/12(月) 19:23:42.34ID:V4y1r6qO
それだと設定(意図したところ)が重複しないか

203774ワット発電中さん2018/03/12(月) 19:28:07.38ID:v8E7meqC
>>197
チェックサムはコードが一致してるかの確認用。
プロテクトは外から内容を読み出せない様にするもの。

2041972018/03/12(月) 19:47:04.95ID:yYdA7ifp
>>202
mplabでコンフィグ設定すれば、インクルード不要と言うことですか!全然知りませんでした…今の状態でヘッダ無しでどうなるか確認してみます。
コンフィグ結果をテキストとして吐き出せるので、てっきりヘッダやソース内に記述するもんだと思いこんでました。

>>203
ありがとうございます。それは認識しているつもりですが、プロテクトをかけて中身は分からないにしても、チェックサムだけは確認できないものなのかなと思っていました。

皆さんレスありがとうございます。

2051972018/03/12(月) 20:13:18.11ID:yYdA7ifp
mplabでコンフィグ設定、ソース内にインクルードせずにビルドしたところ「コンフィグ設定されてないんで初期値を使う」旨のメッセージが出ました。
なので取りあえず今まで通りで進めます。ありがとうございました。

206774ワット発電中さん2018/03/12(月) 21:05:24.22ID:iBzqTVPc
何でヘッダ?
configuration.c だろ

2071972018/03/12(月) 21:56:50.72ID:yYdA7ifp
>>206
・configuration.hをmain.cの先頭でインクルード
・cofiguration.h内のインクルードガードを削除してconfigration.cとして保存、main.c内先頭のインクルードを削除
のどちらでもビルド出来ました。後者が通常の(正しい)方法なんでしょうか?何せ基本が分かってないため手探り状態なので…

208774ワット発電中さん2018/03/14(水) 20:59:08.25ID:wSaJEMkc
ヘッダは普通複数ソースからインクルードしても良い物に使う

209774ワット発電中さん2018/03/15(木) 09:55:08.62ID:RmyYwm9x
>>207
インクルードファイルは名を.cにする方が自然かもね。

2101972018/03/15(木) 18:27:45.62ID:IuQOYowf
ヘッダに書いてもソースに書いても動くようですが、複数のソースにインクルードされないのでソースに書いてmain.cの先頭でインクルードすることにします。
皆さんありがとうございました。

211774ワット発電中さん2018/03/15(木) 21:44:17.19ID:8+RfXAsX
スタイルの問題だけど
ふつうは宣言を.hにしないか
.cは記述
includeで.cを取り込むのは何となく気分が…
(一般に、コンパイラによってはソースレベルデバッグで混乱をきたすこともある)
実行コード含まない配列の中身dataを取り込むときとかには使うけど

212774ワット発電中さん2018/03/15(木) 21:56:23.43ID:prz2WnjG
型定義と構造体定義までかね…

2131972018/03/15(木) 22:06:36.54ID:IuQOYowf
コンフィグレーションビットの設定が何なのか(宣言?定義?それ以外?)と言う話なんでしょうかね。

取りあえず個人用にやってるもので移植する予定が無いのであまり気にしないことにします。

214774ワット発電中さん2018/03/15(木) 22:31:53.09ID:EhMxN+rl
公開不要な宣言や定義をグローバルヘッダに書く初心者が多いよな
迷惑

215774ワット発電中さん2018/03/16(金) 07:46:17.88ID:wz2bhdQy
>>211
.cをincludeするのは気分良くないけど、
.hに実行コードがあるよりマシだと思って使う。

216774ワット発電中さん2018/03/16(金) 07:50:29.84ID:gXmGhLz6
普通にconfiguration.cで何の問題もない

217774ワット発電中さん2018/03/16(金) 07:56:52.39ID:gXmGhLz6
#pragma config
は単なるアドレス指定のデータの実体

218774ワット発電中さん2018/03/16(金) 08:21:17.06ID:YjvFtJkr
そもそも複数ファイルにインクルードする必要があるのか?
configuration.cにして単にビルド対象に加えるだけで終わりじゃないの?

219774ワット発電中さん2018/03/16(金) 08:52:50.41ID:BgJY78NT
何度もそう言ってるのに通じてない

220774ワット発電中さん2018/03/16(金) 10:54:17.10ID:hQYlNRq4
>>213
データシートをちゃんと読めばそんな疑問は出てこないと思うが

221774ワット発電中さん2018/03/16(金) 12:41:56.72ID:BgJY78NT
なんでデータシートだよ
コンパイラの仕様だろうが

222774ワット発電中さん2018/03/16(金) 12:43:37.96ID:BgJY78NT
と思ったら違った

223774ワット発電中さん2018/03/16(金) 19:39:50.72ID:z19QItsd
ここはデータシート読まなくて大丈夫なスレだから大丈夫だよ

224774ワット発電中さん2018/03/16(金) 20:09:26.37ID:SRQSE7rR
そんな事言ってたアホがいたなwww

225774ワット発電中さん2018/03/16(金) 20:43:44.22ID:rNJWlb+f
最近のデバイスはconfig word 1 とword 2と設定が増えてるから
xc8の__configにどう記載すれば良いか悩むよね

226774ワット発電中さん2018/03/16(金) 21:24:55.32ID:w7CLA5wt
>>225
悩んでもどうせ分からないので検索サイトでサンプルを探してパクるのが早道

227774ワット発電中さん2018/03/17(土) 02:18:31.28ID:tyxt/r12
MPLABXにconfigのソースを自動生成する機能があるが

228774ワット発電中さん2018/03/17(土) 11:09:22.84ID:MLnrH9Vk
コンフィグレーションビットはPICに書き込むときにソースの通りに
書き込むかプログラマで指定した値を書き込むかを選択できる性質の
データだからコンパイルに影響するようなものではない。

229774ワット発電中さん2018/03/17(土) 11:23:24.36ID:tyxt/r12
突然何を語り出してんだ?

230774ワット発電中さん2018/03/17(土) 11:58:27.53ID:tyxt/r12
初心者が無理に語らなくて良いよ

231774ワット発電中さん2018/03/17(土) 16:22:15.47ID:OgEd5H08
良いんだよ、ここは初心者用なんだから。

232774ワット発電中さん2018/03/18(日) 17:44:46.44ID:W+rPlfbW
ど初心者です。アドバイスください。
定期的にRS232Cから文字列(数値を表したもの)出してる機器の信号を取り込んで、アナログ電圧として出力するだけのデバイスを作りたいと思い、PICを初めて触ろうと思います。

開発環境を作ろうと思ったところ、PICkit4なるものが出てるじゃないですか。PICkit3を買うべきか、PICkit4を買うべきか。
デモボードも買うべきか(そもそもデモボードって何ですか)。

よくわからないので、アドバイスください。お願いします。

233774ワット発電中さん2018/03/18(日) 18:06:43.55ID:h0qBs8bu
またエラッタ厨とかの好きそうな奴だな

PICkit3買っとけ。っていうか、この時代になぜPICを選ぶ?

デモボードってのは、安倍辞職とか書いて道路練り歩いてる連中が首からぶら下げてる奴のことだ

234774ワット発電中さん2018/03/18(日) 18:13:58.16ID:YVrjiomo
つまんね

235774ワット発電中さん2018/03/18(日) 18:37:50.67ID:W+rPlfbW
>>233
PIC以外にどんな選択肢あるですか?
必要なときだけ接続する、可搬デバイスを作りたいのです。
シーケンサはごついです。できるだけ小さなデバイスを作りたいです。

デモボードが飾りなのは理解しました。

236774ワット発電中さん2018/03/18(日) 19:33:22.28ID:AKwVmLzI
はじめまして、開発環境とコンパイラをDLしてみようと思ったのですが
HPにてエラーにたどりついてしまいます。

今は開発環境とコンパイラはダウンロードできないのでしょうか?

237774ワット発電中さん2018/03/18(日) 19:56:36.02ID:iJRualSf
URL貼らないの?

238774ワット発電中さん2018/03/18(日) 20:22:24.72ID:AKwVmLzI
>>237
返信ありがとうございます。

統合開発環境 MPLAB X ttp://www.microchip.com/mplab/mplab-x-ide
コンパイラ (XC8 XC16 XC32) ttp://www.microchip.com/mplab/compilers

ちなみにPC環境はwindows7 64bitです

239774ワット発電中さん2018/03/18(日) 20:50:10.56ID:PO47oFvg
>>232
pickit4にしとけ

240774ワット発電中さん2018/03/18(日) 20:54:38.08ID:W+rPlfbW
>>239, >>233
どっちっすか…

241774ワット発電中さん2018/03/18(日) 21:01:26.26ID:AKwVmLzI
>>238
すみません自己解決できました。

↓からDLできそうでした。
ありがとうございます

ttp://www.microchip.com/development-tools/downloads-archive

242774ワット発電中さん2018/03/18(日) 21:01:50.98ID:PO47oFvg
わざわざ古くて遅くて将来性が無いのを買うのはアホ

243774ワット発電中さん2018/03/18(日) 21:14:39.43ID:NdYfc15y
3が半額です、ってんでもない限り4

244774ワット発電中さん2018/03/19(月) 08:08:08.59ID:UMk23W5L
>>241
そこは古いのしか置いてないけど古いのでいいの?

245774ワット発電中さん2018/03/19(月) 08:10:14.69ID:UMk23W5L
>>238に最新がある

246774ワット発電中さん2018/03/19(月) 10:03:08.45ID:++Jr0i71
>>233
なるほど、その手があったか!LED100x200くらいで首から下げてメッセージ流すやつ
作るか。もっとも、できるころには総理大臣2人くらいは変わっていそう。

247774ワット発電中さん2018/03/19(月) 10:14:53.28ID:9dLlzwj/
ツマンネ

248774ワット発電中さん2018/03/19(月) 14:19:03.69ID:BfjJK1SW
>>232
arduinoでもつかえば ?
パチモンでよければ基板は数100円からあるし
開発環境無料だし

249774ワット発電中さん2018/03/19(月) 20:19:04.12ID:UMk23W5L
100円の基板じゃ無料で開発出来ないだろ

250774ワット発電中さん2018/03/19(月) 20:21:07.41ID:UMk23W5L
Nucleoだな
お勧めは

251774ワット発電中さん2018/03/19(月) 22:52:43.50ID:X1LWWvvN
>>232
arduinoにするほうが絶対に良いと思う。先人のサンプルも多いし、ハードも一つ買えば完結する。

252774ワット発電中さん2018/03/20(火) 06:54:02.38ID:2+FlTUIc
・基板は数100円からある
・開発環境無料

が、なぜ

「100円の基板じゃ無料で開発出来ない」

になるのか?
読解力以前の問題。

253774ワット発電中さん2018/03/20(火) 06:57:06.43ID:VCzbGWRh
数100円の基板じゃ無料で開発出来ない

254774ワット発電中さん2018/03/20(火) 07:12:11.62ID:VCzbGWRh
数100円で完結するというミスリードだし
初心者にパチモンを勧めるのもアホ

まあそもそも>>232自体いつもの作り話な感じもするが

255774ワット発電中さん2018/03/20(火) 07:19:10.24ID:2+FlTUIc
「開発環境無料」がなぜ「無料で開発出来ない」に変換されるのか?

256774ワット発電中さん2018/03/20(火) 07:21:57.24ID:VCzbGWRh
変換?
否定だよ

257774ワット発電中さん2018/03/20(火) 07:27:59.98ID:2+FlTUIc
初心者にパチモンを勧めるのはアホは言い過ぎな気がする。
根拠は何なんだろうね。

・道義的なもの?
Arduinoの互換品はルール的な問題はない。
Pickitの酷似商品よりはマシだと思う。

・問題が発生したときのよりどころの問題?純正なら切り分けができるから?
それだったら、ちょっと前まで初心者がよくやっていたライターを作ることもアホ。
からなずしもそうはならんよね?

258774ワット発電中さん2018/03/20(火) 07:33:45.30ID:2+FlTUIc
>>256
>否定だよ
ああ、そうだね。すまん。

なぜそういうズレた否定をするんだろう。
言いたいことは「数100円払っている段階で無料ではない」だろ?

でも元レスは「開発環境が無料」って言っているのであって「無料で開発出来る」って言ってるわけでもない。

それに、基板やチップ自体にお金がかかったとしても、
IDEが無料で使えて、特にライターも要らないのであれば、人口に膾炙した表現として「無料で開発できる」で
通じるだろね。

259774ワット発電中さん2018/03/20(火) 07:33:54.08ID:VCzbGWRh
どうせ作り話なのに
熱いねwww

260774ワット発電中さん2018/03/20(火) 07:39:30.43ID:2+FlTUIc
元の質問が作り話であっても、>>249>>248へのスカタンなコメントは作り話じゃないと思う。

261774ワット発電中さん2018/03/20(火) 07:46:33.88ID:VCzbGWRh
無料で開発出来る数100円のパチモンてどれだよ

262774ワット発電中さん2018/03/20(火) 07:52:19.88ID:2+FlTUIc
>>261
ここ、PICスレだから具体名をあげてまでの話はスレチだしやめておく。
知りたければAruduino互換スレで尋ねるか、UNO 互換 で検索すればよかろ。

263774ワット発電中さん2018/03/20(火) 07:59:10.65ID:2+FlTUIc
Aruduino… まさにパチ

264774ワット発電中さん2018/03/20(火) 07:59:21.67ID:VCzbGWRh
別に知りたいわけじゃないんだが
そんなもん無いだろアホが
ってこと

265774ワット発電中さん2018/03/20(火) 08:02:57.49ID:2+FlTUIc
>>264
>そんなもん無いだろアホが
と、過去に思っていた、という話だよな。>>262で、存在することはわかっただろ?
良かったじゃないか。自分がそれを使うことがないとしても、知らなかったことを知るようになったんだし。

266774ワット発電中さん2018/03/20(火) 10:20:39.97ID:R7qaD8dZ
井の中の蛙に教えてやろう
amazonでattiny85で検索すると出てくる274円
ハードはこれだけで開発できる
ソフトは無料のarduinoIDE
PICにもこういうのがあるといいね

267774ワット発電中さん2018/03/20(火) 10:28:48.56ID:R7qaD8dZ
ebayまで足を延ばせば ARM(STM32)環境だって数100円だ
ST-Link 239円
STM32F103C8T6 ボード226円
SW4STM32 IDE 無料

500円でおつりがくるな
大海を少しは知れたかな?

268774ワット発電中さん2018/03/20(火) 10:38:45.71ID:R7qaD8dZ
しかもARMの方はこれでソースレベルデバッグまでできる本格派
(PICでいえばICDあたりの環境?)

スレチと言われればそれまでだが不毛なカスの無価値な議論よりは
役に立つ情報だろうから書いてみた

269774ワット発電中さん2018/03/20(火) 11:06:15.59ID:7MQOtqGf
スレチ

270774ワット発電中さん2018/03/20(火) 13:22:34.49ID:eRuMmT7P
ところで
「PIC」で一括りにしているけど、8ビット、16ビット、32ビットでスレを分けた方が良くないか?
違いが大き過ぎる

271774ワット発電中さん2018/03/20(火) 13:45:39.69ID:bqoy12AH
良いよ分けなくて
どの話をしてるのかわかればそれでいい

ビット数で分けても
PIC10とPIC18じゃ大違いだし
MMとMZでも大違い

272774ワット発電中さん2018/03/20(火) 15:09:35.24ID:BvDHOU1C
叩きたい人は分けて有ろうが百羽一絡げに叩くから意味なし

273774ワット発電中さん2018/03/20(火) 15:10:31.37ID:6YSMAz4g
>>268
おまえがPICでデバッグしたことないのは良くわかった

274774ワット発電中さん2018/03/20(火) 15:50:22.05ID:soymXEfX
今北産業

275774ワット発電中さん2018/03/20(火) 15:58:14.88ID:soymXEfX
>>254
作り話じゃないです…
私企業の化学者でして、今後のことを見据えて少しずつ実験を機械化していきたいのです。
で、データロガーに取り込むときにはアナログ信号の方が都合がいいのですが、電子天秤の電送出力が軒並みシリアル通信でして。しかも十進数の測定値をそのままascii文字列で送るというクソ仕様。
しょうがないので自分で作るか、と。

276774ワット発電中さん2018/03/20(火) 16:19:29.45ID:it4R52vx
もういいってばw

277774ワット発電中さん2018/03/20(火) 16:57:32.35ID:R7qaD8dZ
そんなのをアナログのデータロガーで取ろうというのが前時代的
そのままパソコンのシリアルに繋いで記録取りゃいいじゃないか
後処理でそのデータからグラフでも何でも書けるだろうに
次にはPWMDACのキャリアとサンプリング定理とダイナミックレンジとノイズについて・・・
いや、なんでもない。

278774ワット発電中さん2018/03/20(火) 17:00:51.28ID:6YSMAz4g
企業の化学者がろくな精度も出ないそんなもの作ろうとして、それを5chで質問してる時点で
お前はむいてないからさっさと転職しろ

279774ワット発電中さん2018/03/20(火) 17:49:39.72ID:eRuMmT7P
ここの雰囲気はホントに殺伐としているね。
桜の便りもチラホラ聞かれる今日この頃なのに
  「物言えば唇寒し秋の風 」

280774ワット発電中さん2018/03/20(火) 18:25:36.64ID:XUVXSJRn
PICスレは民度が低く嫌味な人が多い。
その用途ならPIC関係なくArduinoかラズパイのスレの方が
優しく教えてくれるよ。

281774ワット発電中さん2018/03/20(火) 18:29:03.26ID:soymXEfX
>>277
いやいや、とりたいのは天秤データだけじゃないんですって。温度は基本的にK熱電対の電圧を直接取り込みますし、その他もろもろ、アナログ信号出す機械が多いんですって。
シリアルを直接PCに取り込むソフトならなんぼでもありますが、あの機械はこのソフト、その機械はあのソフト、温度はデータロガー…とかやってたら、後で時間揃えてデータを統合するのが死ぬほどめんどくさいでしょ?

だから全部アナログ信号に直して、1台のデータロガーでまとめて収集するのが一番楽なんです。

デジタルよりアナログの方が精度劣るのはわかりますが、この際気にしません。

282774ワット発電中さん2018/03/20(火) 18:31:22.41ID:soymXEfX
>>280
はーい。

お邪魔しました〜

283774ワット発電中さん2018/03/20(火) 18:31:46.00ID:LWFumlwH
匿名という保険を掛けつつマウント取りたがる人間には居心地がいいんだろ
普通に作って教え教えられてならSNSの方がいいのかも

284774ワット発電中さん2018/03/20(火) 18:37:53.00ID:+Xf+fuK9
>>281
目的を聞けば聞くほどarduinoを進めたくなる。
でもそれはマイコンを使う必要あるんだろうか
データ&#10145;rs232c&#10145;usbシリアル変換&#10145;usb&#10145;pc
pcでそれぞれのポートの固有番号がわかるから、番号ごとに定期的に時間とデータをエクセルにでも追記したら。適当なソフトは分からないけど他で質問したらどうでしょう

285774ワット発電中さん2018/03/20(火) 18:39:04.50ID:+Xf+fuK9
文字化けしてるけど、右矢印

286774ワット発電中さん2018/03/20(火) 19:13:34.60ID:R7qaD8dZ
概してマイコンのDAはADより貧弱(PWMでやるとか)なので、
出力をフィルタするとか必要ならオペアンプ類でデータロガーの電圧レンジに
合わせ込むとかしなきゃいけない キャリブレーション不要ってことは無いでしょう?
DCレベルだからオフセットの調整もある。
独立した用途に合ったDACを外付けしたほうがいいかもしれない
マイコン/アナログ両方の知識が要るから0からちょっと質問して出来るようなものではないと思うよ
既成品があるか知らないが、まずそういうものがあるかどうか調べたら?

287774ワット発電中さん2018/03/20(火) 19:28:51.32ID:dtsYvq2w
>>281
このスレに来たってことは、
PICでやるって決めてるって事だよな

シリアルのフォーマット、送信間隔
必要な出力チャンネル数
必要な電圧
必要なビット数

を書けば設計してやるから書いてみな

288774ワット発電中さん2018/03/20(火) 19:38:57.18ID:dtsYvq2w
交流成分だけで良ければアナログ音声出力を使うのが簡単だけど
そういうわけにはいかないよね?

289774ワット発電中さん2018/03/20(火) 19:40:38.15ID:R7qaD8dZ
>>287
アナログ出力インピーダンスと
電源電圧も

290774ワット発電中さん2018/03/20(火) 19:46:30.25ID:jQo3AtPb
おおう!さよならした途端にみなさん優しくなった!

>>284
arduinoも考えてみますね。聞きかじったところだとunixも動かせるとのことで、そりゃいくらなんでもオーバースペック…と考えておりました。

291774ワット発電中さん2018/03/20(火) 19:47:16.13ID:dtsYvq2w
熱電対を入力出来るから、
ロガーでいくらでも調整出来るとは思うけど...

まあわかることは出来るだけたくさん書いて

292774ワット発電中さん2018/03/20(火) 19:48:13.51ID:jQo3AtPb
>>286
データロガー側は±1V, ±5V, ±10Vのマルチレンジ対応です。オフセットはデータロガー側で設定できます。たしか。

DAC外付けはちょっと考えてました。分解能8bitじゃ足らんよなあ、と。
dsPIC33FJ64GP802 じゃだめですかね?
12bitでぎりぎり足りるかな…ってところですが、本音をいうとも少し欲しいので、16bitのDAC載ってるやつです。

293774ワット発電中さん2018/03/20(火) 19:51:25.24ID:jQo3AtPb
>>287
エクストリームありがとうございます!
明後日出社したときに、天秤の取説コピーしてきます。
んでもってやりたいことをもっと明確にしますので、少々お待ちくださいませ。

294774ワット発電中さん2018/03/20(火) 19:52:38.89ID:p+PUMRIX
>>281
うちの会社でも電子天秤はRS-232Cなので0-5Vに変換して圧力やら、Pt100Ωやらと一緒に記録計で記録してます
PICでやるより、Arduinoの方が簡単確実です
UNOには、D/Aが無いので、10bit I2CのD/AコンバーターICをつなげて、使ってます
そういう研究所やら、企業は結構在りますよね

295774ワット発電中さん2018/03/20(火) 20:01:06.52ID:jQo3AtPb
あと、四方から「PCでやれよ…」という幻聴が聞こえますので言い訳すると、
1. PC置くと作業スペースが減る。
2. PCを実験台上に置くと、1週間以内に有機溶媒をディスプレイやキーボードに垂らして( ;∀;)…

のため、あまりPCを近くに置きたくないのです。

296774ワット発電中さん2018/03/20(火) 20:03:25.77ID:jQo3AtPb
>>294
そのデバイスください。

297774ワット発電中さん2018/03/20(火) 20:45:10.80ID:R7qaD8dZ
8pinのPIC(PIC12F1822)とSPIのDAC(MCP4922)位か
DACの出力がシングルエンドで良いなら簡単にできそうだ

298774ワット発電中さん2018/03/20(火) 21:13:22.43ID:dtsYvq2w
なぜPIC12F1822?
8pinならPIC16F18313だな
秋月に無くていいなら15313でも

299774ワット発電中さん2018/03/20(火) 21:19:45.23ID:dtsYvq2w
http://logicpack.co.jp/product/cnv/cnvda.html

RS-232Cの書式は変えられないとは思うけど
1chで5万円

300774ワット発電中さん2018/03/20(火) 21:20:54.93ID:p+PUMRIX
>>296
私が作りましたが
4-20mA出力も可能です
部品代で2kくらいかな
ググってご自分で作って下さい
売るなら8万くらいかな

301774ワット発電中さん2018/03/20(火) 21:21:55.59ID:dtsYvq2w
必要なチャンネル数くらいすぐに書けると思うんだけど

302774ワット発電中さん2018/03/20(火) 21:22:32.38ID:R7qaD8dZ
PICはUARTがあれば何でもいいな
あとはMAX3232とかも要るかな
電源は5Vから3.3Vに安定化した方がいいか
あとはDACの出力をバッファするかどうかだが
秋月だとNJM27463辺りか これはSOPだが
もうこれで回路出来るな

303774ワット発電中さん2018/03/20(火) 21:24:40.00ID:R7qaD8dZ
基板上なら千円程度でおつりがくるな
まともなケースに入れるとケース代が一番かかる

304774ワット発電中さん2018/03/20(火) 21:25:41.43ID:R7qaD8dZ
X NJM27463
O NJM2746E

305774ワット発電中さん2018/03/20(火) 21:27:06.53ID:dtsYvq2w
なんでも良いのになぜPIC12F1822と書いたのか気になる

306774ワット発電中さん2018/03/20(火) 22:12:25.18ID:RQ1nnXIG
12F1822は、出た当初、結構人気があった。
今はもっと選択肢が増えているからそうでもないが、
未だに最初に頭に浮かぶ人は結構いそう。

という程度な意味くらいしかない。

307774ワット発電中さん2018/03/20(火) 23:08:09.45ID:vyiIY2G7
UARTもSPIもI2Cも使えて便利だから今でも1822を最初に選んでるな
ちょっとピン数が増えたりプログラムが大きくなりそうなときは14ピンの1825がセカンドチョイス

308774ワット発電中さん2018/03/21(水) 01:00:09.60ID:iqitEGF3
18313に対してメリットはどの辺?

309774ワット発電中さん2018/03/21(水) 01:03:36.31ID:nYIIkJFI
>>244
スマホからですみません

勉強用にとりあえず今使えればいいので、古いバージョンでやってみます

310774ワット発電中さん2018/03/21(水) 01:04:42.90ID:nYIIkJFI
>>245
スマホからですみません

僕が見たときはエラーだったんですが(泣)

とりあえず勉強で軽く触ってみたかったので、古いバージョンでやってみます

311774ワット発電中さん2018/03/21(水) 03:48:59.45ID:3YI1HzbE
PICで教えてください。

UARTを2ch使いたいのですが、XC8やXC16では、printf()はUART-No.1側に固定のようです。
fprintf(ch1, "hello");
fprintf(ch2, "hoge");
など、出力先を切り替えて使いたいのですが、どうしたら良いでしょうか?

312774ワット発電中さん2018/03/21(水) 03:52:27.81ID:peMLkDQ3
リレーで切り替え

313774ワット発電中さん2018/03/21(水) 07:28:38.59ID:iqitEGF3
stdoutとstderrで分けるとか
printfの出力先を切り替える関数を追加するとか
sprintfで文字列に変換してからUARTドライバを直接たたくとか

314774ワット発電中さん2018/03/21(水) 08:11:48.01ID:71n6I8dQ
>>311
printfはputc()に書くので、putcを自分で書いて、出力先を切り替えるようなフラグを盛り込めばOK

315774ワット発電中さん2018/03/21(水) 08:23:13.27ID:71n6I8dQ
>>281
おまえら研究レベルで、k熱の電圧直接取り込みとか言う時点で気づけ。
この手は、精度は関係ないとか言って、後から精度が出ないとか泥沼に引きずり込まれるパターンだね
しかも16bitアナログだってさ

316774ワット発電中さん2018/03/21(水) 09:58:23.15ID:L3kxIuo/
ここでアイデアを出したって、最終結果に責任を持つのは本人だよ。

>泥沼に引きずり込まれるパターンだね
協業した人に引きずりこまれた経験は誰しも大なり小なりあろだろね。
「自分だけが見通せているエライ人」みたいな振る舞いはどうなんだろう。

317774ワット発電中さん2018/03/21(水) 10:11:07.90ID:XIeFd2jj
>>315
アマチュアレベルだとそう考えるんだろうな
工業ようデータロガーがどんなものか知らないんだろう
PtじゃなくK熱でんついで測定だから
ラフでいんだよ
と、読めない
もっと幅広く勉強したらどうだ

318774ワット発電中さん2018/03/21(水) 14:36:57.44ID:LPbnR4Fy
御託はいいから早く仕様を出せ

319774ワット発電中さん2018/03/21(水) 18:23:11.80ID:71n6I8dQ
>ど初心者です。アドバイスください。

なんだ、やっぱりいつものパターンか

320774ワット発電中さん2018/03/21(水) 23:44:45.42ID:/fCwqdjE
熱電対のアナログ出力できるのを買えばいい

321774ワット発電中さん2018/03/21(水) 23:44:50.06ID:MKu+mT/j
>>312-314
ありがとうございます。
そのレベルで操作するのですか。
XC8, XC16では、fprintf(,)は使えないのでしょうか?

出口フラグ = 1;
printf("test\r\n");

void putc(unsigned char c)){
  if( 出口フラグ==0 ){ TXREG.0 = c; }else { TXREG.1 = c; }
}
こんな感じでしょうか?

322774ワット発電中さん2018/03/22(木) 01:24:20.26ID:hZKgHnm6
自分で_fprintfとか作って、その中でハードに合わせた処理を書けや

323774ワット発電中さん2018/03/22(木) 03:10:31.04ID:FBb5wsEu
それをやってくれるのがコンパイラーさんだと思うけど。

324774ワット発電中さん2018/03/22(木) 04:00:18.00ID:hZKgHnm6
fprintfは関数なのでコンパイラの仕事でなく関数を書く人間の仕事だ
予めコンパイラに関数が登録されている事もあるが、無ければユーザーが独自に書く必要があある

325774ワット発電中さん2018/03/22(木) 07:29:38.94ID:aL/o54vI
>>321
fprintf(stdout, ...)
fprintf(stderr, ...)

で切り替えろってこと

#define ch1 stdout
#define ch2 stderr
で希望通りになる

326774ワット発電中さん2018/03/22(木) 09:47:07.61ID:Q2bWqFe2
なるような気がしない。

327774ワット発電中さん2018/03/22(木) 10:32:09.55ID:rBoRj5nt
関数のオーバーライドできるの?
ライブラリのソースってあったっけ

328774ワット発電中さん2018/03/22(木) 10:58:10.29ID:FBb5wsEu
それなら、X Cコンパイラ作った人がサボったってこと?

329774ワット発電中さん2018/03/22(木) 12:57:02.31ID:nifxufJk
>>326 >>327
なるようにするんだよ
writeを自作するだけだ

330774ワット発電中さん2018/03/22(木) 13:09:15.02ID:FBb5wsEu
write って、何ですか?

331774ワット発電中さん2018/03/22(木) 16:05:50.50ID:hZKgHnm6
通常は関数名の前に_(アンダーライン)とか付けて同一の名前にならない様にするが、該当の.hファイルをincludeしなければ標準関数と同一の名前は作成出来る

標準関数はあくまで関数であって文法ではない

332774ワット発電中さん2018/03/22(木) 16:16:40.30ID:nifxufJk
トンチンカンが現れた
インクルードするかどうかとリンクするかどうかは関係無いし

ていうか、fprintfから自作するつもりか?

333774ワット発電中さん2018/03/22(木) 16:42:53.34ID:rBoRj5nt
リンカで指定しているライブラリ中のコードと自分のコードのシンボル名が重複したらどうなる?
ということだな
PICは良く知らんのだがarmとかだとweakと指定してあれば重複しても指定していない(強い方)
シンボル使ってリンクしてくれるのだが(C++とかのオーバライドのことではなく、リンカの機能)
こんな機構が処理系にあれば、気軽に低レベルI/O関数のwrite等をユーザー定義の関数に
すげ替えられる。
それが無いと標準ライブラリから特定のオブジェクト抜き出して使用するとかしなけりゃならない
(何らかのフック機構が用意されていればいいけど)
で、PICのXCの場合はどうなん?

334774ワット発電中さん2018/03/22(木) 17:37:57.06ID:nifxufJk
上書き出来ないわけが無いだろうが
組み込み初めてか?

あと、>>331に対する>>332の意味はわかるよな?

335774ワット発電中さん2018/03/22(木) 19:51:55.99ID:w8v+z8mE
グズグズいうまえにやってみればいいのに。
普通にできる。

336774ワット発電中さん2018/03/22(木) 22:02:29.18ID:ZDNVfmKP
>>317
さすがです。その通りです。
まあそもそも、化学業界でPtなんて、オーバースペックもいいところだと個人的には考えてますが。使いにくいし。
それこそ分野によるのでしょうが。

仕様はも少しお待ちくださいな。今帰宅中ですので。
飯食って風呂はいってから、、、疲れて寝るかもしれませんが。

337774ワット発電中さん2018/03/22(木) 22:07:54.17ID:aL/o54vI
自演www

338774ワット発電中さん2018/03/22(木) 22:18:31.36ID:I7+BH7Bq
>>336
化学プラントではPt100Ωが標準的に使われてるけど…
ラフな温水調節とかでは熱でんついが多い
医薬品プラントはほぼPtだよ
5chでこんなこと書いてるなんて
余程レベルが低い会社にお勤めなようで
俺もだが

339774ワット発電中さん2018/03/22(木) 22:28:21.08ID:aL/o54vI
なんでひらがな?

340774ワット発電中さん2018/03/22(木) 22:30:24.52ID:I7+BH7Bq
熱伝対
このスマホじゃ熱でんつい変換できんがや

341774ワット発電中さん2018/03/22(木) 22:32:08.14ID:npw4DaON
>>338
そりゃ知ってますよ。
Pt100はドリフトせず、断線するときは基本的に即死しますから、異常検知しやすいんです。壊れにくいしね。
K熱電対はドリフトしやすく、壊れやすい。異常検知が難しいのでプラント向きじゃないです。

ただ、精度の観点でいえば、Pt100じゃないと!ってのはダウトですね。Pt100とK熱電対の精度を語る前に、槽内循環改善しろって話です。

さて、ご飯食べてきますね。

342774ワット発電中さん2018/03/22(木) 22:35:21.70ID:LHlMV7G4
>精度の観点でいえば、Pt100じゃないと!ってのはダウト
熱電対と比較して?

343774ワット発電中さん2018/03/22(木) 22:37:39.30ID:aL/o54vI
>>340
漢字知らないだけかよwww

344774ワット発電中さん2018/03/22(木) 22:38:18.68ID:aL/o54vI
一応ここはPICのスレなんで
よろしく

345774ワット発電中さん2018/03/22(木) 23:33:45.20ID:wdvOp9ya
ヒント: 美咲フォント

346774ワット発電中さん2018/03/22(木) 23:45:10.53ID:aL/o54vI
誤爆?

347774ワット発電中さん2018/03/23(金) 00:12:51.38ID:F6ryq4Jd
>>287

お待たせしました。仕様書きました。よろしくお願いします。

【天秤仕様】
  ボーレート: 150, 300, 600,1200, 2400, 4800, 9600から選択可能
  パリティ/ビット: 8bit, 7bit/パリティなし, 偶数, 奇数から選択可能
  ハンドシェイク: 無し, ソフトウェア, ハードウェアから選択可能

【天秤からの伝文】
  "S" (スペース) [A-Z] (複数のスペース) (測定値) (スペース) "g" [CR] [LF]

  これがひたすら天秤から投げつけられ続けます。
  送信間隔は不明ですが、もともとプリンタへの出力を想定した端子なので、せいぜい1秒だと思います。

  (測定値)は小数点を含む数字です。負数の場合のみ"-"が付きます。
  浮動小数点数型みたいな気の利いた型ではなく、ただの文字列です。

なお、天秤のオーバーレンジ、アンダーレンジの場合はそれぞれ以下の伝文になります。
    "S" (スペース) "+"
    "S" (スペース) "-"


【DA変換仕様】
  分解能別に12bit, 14bit, 16bitの3ケース示します。もちろん高いほうが嬉しいです。

  12bit: 測定値の絶対値を返してください。出力レンジは0〜409.6g, 1LSB=0.1g
  14bit: 出力レンジ-409.6〜+409.6g, 1LSB=0.05g
  16bit: 出力レンジ-655.36〜+65536g, 1LSB=0.02g

  出力電圧は、12bitの場合0〜5V, 14/16bitの場合-5〜5Vでお願いします。

【その他】
  Ch: 1

PICkit4買いました。
よろしくお願いします。

348774ワット発電中さん2018/03/23(金) 00:13:08.94ID:F6ryq4Jd
>>344
さーせん。

349774ワット発電中さん2018/03/23(金) 00:30:30.66ID:IcAij/8Q
>>347
「選択可能」の意味は?
オーバーレンジ、アンダーレンジ、範囲外の場合の動作は?
ハンドシェイクの意味は?
(受信だけだし速度も遅いのでビジーにはならんでしょってこと)
レンジがおかしいので修正を

350774ワット発電中さん2018/03/23(金) 00:40:00.61ID:7Owb7XeU
>>287 はコテ使った方がいいんじゃね?

351774ワット発電中さん2018/03/23(金) 00:40:32.02ID:F6ryq4Jd
>>349
選択可能の意味は、天秤側は設定で変えられますんで、作る人がやり易い方法でお願いします、という意味です。ハンドシェイクも同様。…書かなかったら書かなかったで文句いうくせに。

オーバーレンジ、アンダーレンジ、範囲外の時は、近い方のレンジ端で出力してください。っていうかアナログ出力なんで、それ以外の表現方法ないですよね?

レンジがおかしいってのは、1ビット分多いぞごるあ!ってことですか?好きな方切っちゃってください。ユーザー側からしたら、どっち切っても同じことです。だってアナログですから。

よろしくお願いします。

352774ワット発電中さん2018/03/23(金) 07:09:37.91ID:c3/akbej
>…書かなかったら書かなかったで文句いうくせに。
「選択可能」という言葉を書かなかったら文句が出るでしょうけど、そうではなくて、
「選択可能」の意味を書かないといけないですよ。

>ボーレート: 150, 300, 600,1200, 2400, 4800, 9600から選択可能
は、少なくとも下の2つの解釈ができるのです。
・このうちのどれでも作りやすいのでいいです(>>351の説明でこれだとわかった)
・なんらかの設定で150, 300, 600,1200, 2400, 4800, 9600を任意に設定できるしくみになっている。

353774ワット発電中さん2018/03/23(金) 07:13:51.42ID:c3/akbej
>それ以外の表現方法ないですよね?
オーバーレンジ、アンダーレンジを受け側で判断できるようにしなければいけないようなもので
0-5Vの出力を持つもののとき、
正常測定範囲を0.5V〜4.5Vに振って、アンダー、オーバーその他トラブルのときに、範囲外電圧を出力する、
という要求は見たことがあります。 どれぐらいの意味があるかは用途次第ですけど。

354774ワット発電中さん2018/03/23(金) 09:08:31.95ID:jAicnpl1
やっぱりシリアルロガー作ってデータ編集はPCでやったほうが楽な気がする

355774ワット発電中さん2018/03/23(金) 10:59:42.30ID:FAT/pfiL
そだねー
全体的にラボのシステム見直すべきと思うな
PC置くと液体で汚れるからイヤだ?
データロガーなら汚れてもいいのか?

自分だったらアナログで統一なんて「大バカ」なことはせずに
デジタルで統一して記録するがな

356774ワット発電中さん2018/03/23(金) 11:03:10.69ID:brNNbOfq
>>351
あんまり態度が悪いと放置するぞ

PIC32MM0064GPL028 175円
PCM5102A 500円
ICL3232CPZ 130円

出力は±3Vで良ければDACからそのまま出せる
電源は3.3V単一
±5Vが必要なら追加の部品が必要
DACはオーディオ用なのでDCの質は未知

あとは基板、コネクタ、抵抗、コンデンサ、ケース、電源が必要

とりあえず、±3Vくらいで良いかどうか書いて

357774ワット発電中さん2018/03/23(金) 11:04:52.12ID:brNNbOfq
エラー通知の方法はいくらでも方法がある
アナログ出力からパルスを出すとか
別のポートから出すとか

358774ワット発電中さん2018/03/23(金) 11:23:08.72ID:FAT/pfiL
自分だったらESP8266でも使って隣室のPCにデータ飛ばすな
作れないなら売ってる

例えば、
>「Wi-Fi RS-232C 変換アダプター REX-WF60」
>離れた場所にある電子天秤などの計測系にもiPad・Android端末にも利用できる、
>WiFi to RS-232C 変換アダプター。

電子天秤が広告文面でてきてワロタ
まともなやつが使ってるのはこういうものだ

359774ワット発電中さん2018/03/23(金) 12:29:55.37ID:brNNbOfq
無線でPCに飛ばしてPCでアナログに変換すんの?

360774ワット発電中さん2018/03/23(金) 13:02:12.09ID:brNNbOfq
dsPIC33FJ64GP802 480円
でもいいか

0V〜3.3V出力で良ければそのまま出せるし
±5V必要なら出力段の回路が必要

361774ワット発電中さん2018/03/23(金) 16:34:41.23ID:FAT/pfiL
PWMのDACでいいなら8pinのPICでできるけどな
予算\500
コネクタ+基板+PIC+CR少々+ケースは100均のタッパ
ああ、RS232の12Vは適当にDi+抵抗で受ける

362774ワット発電中さん2018/03/23(金) 17:02:12.96ID:brNNbOfq
>>361
お前がやるならおれは引く

363774ワット発電中さん2018/03/23(金) 17:07:03.65ID:FAT/pfiL
誰もお前に頼んでいないし
俺も誰にも頼まれていない
気楽に行こうや
書きなぐりでも誰かの参考に僅かでもなるなら
それでいいじゃないか

364774ワット発電中さん2018/03/23(金) 23:18:25.91ID:4ZTmFeo6
さすがの企業の化学者さまは一味違った違うな
肝心の出力電圧の誤差とリップル、出力インピーダンスと交流応答特性が完全無視
こんな仕様で出した測定器でどんな代物ができるんだろう

100g中の重量誤差も温度許容差も無視の企業化学者様だぜ

365774ワット発電中さん2018/03/23(金) 23:28:32.56ID:IcAij/8Q
交流応答特性?
ほとんど直流でしょ

リップルもどうせロガーでローパスされるからあまり関係無い

熱電対も入力出来るんだから
ロガーの入力インピーダンスも非常に高い

と思った

精度は気にしないと言っておきながら
16bit欲しいってのがちょっと

366774ワット発電中さん2018/03/23(金) 23:51:58.46ID:FAT/pfiL
化学は畑が違うとはいえ こんなことがあった
発振回路の水晶に薄膜が着くと周波数変わる、というセンサにしたかったらしい
それが発振しないというので見てくれと化学科の人間が持ち込んだ代物は
水晶片から配線が約1mピローンと伸びて駆動回路に繋がっていた
これでまともに動作するわけないよと言っても、なんで?というので
・・・以下略

367774ワット発電中さん2018/03/24(土) 06:47:39.73ID:yxTaArxD
化学の人が水晶発振器を使ったセンサを考えた
すごいじゃないか

368774ワット発電中さん2018/03/24(土) 06:50:09.72ID:yxTaArxD
作り話が多いスレだな

369774ワット発電中さん2018/03/24(土) 07:27:06.18ID:gMnNXhRJ
QCMと言うんだよね
うちの会社でも物性屋が研究してた。
ナノグラムの変化を周波数変化で見るって。
経年変化が問題だった。

370774ワット発電中さん2018/03/24(土) 07:56:10.27ID:b8u8WUUR
ちょっと教えてほしいのですが、16F1705にてUARTを使用しようと思っています。

そのために、RX、TXの設定をしたののですが、PPSにて設定する場合、下記の書きかたで問題ないでしょうか?
(うまく動作しなくて一つ一つ原因を追究中の状態です。)


//TXピンをRC4とし、RXピンをRC5に割り当てる場合は?
   RC4PPS= 0b10100 ; // 出力(TXを割当てる)
   RXPPS = 0b10101 ; // 入力(RC5を割当てる)
TRISA = 0b00000000 ; // ピン(RA)は全て出力に割当てる(RA3は入力専用)
TRISC = 0b00100000 ; // RC5(RX)だけ入力その他のピンは出力に割当てる

371774ワット発電中さん2018/03/24(土) 08:54:00.85ID:yxTaArxD
ANSELC

372774ワット発電中さん2018/03/24(土) 14:25:06.59ID:Kty3MHA/
>>365
シリアルの変動に対する出力変化の追従やジッタをどうするかということだよ

16ビットのアナログ値の精度の取得と発生を簡単に言う奴に、ちゃんとしたやつはいないと思ってる

373774ワット発電中さん2018/03/24(土) 14:30:59.50ID:ZChT3Wwu
>>372
受信間隔がせいぜい秒だって言ってるんだから
追従性やジッタなんてどうでもいいだろ

気にすべきところはそこじゃない

374774ワット発電中さん2018/03/24(土) 14:37:47.05ID:Kty3MHA/
>>373
どうでもいいことはないだろ、出力変化点の仕様を決めてなければ回路含めた低レベルの設計ができず
動いたからいい、たまにロガーがおかしなデータを受信して、運用のデータ処理でデータ廃棄するという
汎用のない代物が出来上がる

375774ワット発電中さん2018/03/24(土) 14:57:44.64ID:ZChT3Wwu
何を心配してるのかさっぱりわからん
DACの出力が秒遅れても問題ない機器だぞ

シリアルの入力パルスの影響でDACの出力が変動することを心配してる?

そんな事よりもっと心配する事があるだろ

376774ワット発電中さん2018/03/24(土) 15:19:20.94ID:Kty3MHA/
>>375
だから、
DACの出力や変動が秒遅れても問題ない機器
ということを仕様に書けよ、ということ。

もっと心配することは大量にあるが、そこのところをきちんと書くのが仕様というもの。
書けないやつは永遠に書けないし、このスレの趣旨でもないのでもういいよ。

377774ワット発電中さん2018/03/24(土) 15:28:34.01ID:ZChT3Wwu
遅延がどうでもいいことは今までの書き込みでわかるだろ

非線形性
温度特性

まず気になるのはこの辺だ
これもスペックに書いてないからどうでもいいんだろうけど

378774ワット発電中さん2018/03/24(土) 15:32:14.12ID:ZChT3Wwu
変化がわかればいいって可能性もあるので
ビット数が有れば精度はどうでもいいって可能性もある

379774ワット発電中さん2018/03/24(土) 15:33:51.04ID:ZChT3Wwu
まあでももう何の反応も無いから
やっぱり作り話かな?

380774ワット発電中さん2018/03/24(土) 15:37:49.49ID:BlNTL06s
デジタルで入力されてんならデジタルのまま処理しなよ。
チャンチャン&#9836;

381774ワット発電中さん2018/03/24(土) 15:46:49.37ID:ZChT3Wwu
>>380
メリットは?

382774ワット発電中さん2018/03/24(土) 15:49:11.20ID:FAmVE2sl
自分が想定したストーリーに合わないときに「作り話」って言うのが好きな人がいるね。

383774ワット発電中さん2018/03/24(土) 15:50:21.64ID:FAmVE2sl
>>380は前が読めていない。

384774ワット発電中さん2018/03/24(土) 16:42:19.63ID:Kty3MHA/
>>377
シリアル入力をそのまま整流して、ローパス通して、適当にオペアンプでバイアスと増幅すればいいんじゃね?

385774ワット発電中さん2018/03/24(土) 17:31:51.95ID:yFlQbYi+
なんかさー
PIC好きな爺には変なのが多いな

386774ワット発電中さん2018/03/24(土) 18:26:07.33ID:3uyjN0aH
そりゃPIC好きな時点でヘンに決ってるよ、
ジーチャンに限らずニーチャンだってオジチャンだって。

387774ワット発電中さん2018/03/24(土) 19:36:30.50ID:ZChT3Wwu
私女だけど

388774ワット発電中さん2018/03/24(土) 19:39:07.09ID:Q/d0DLPB
女のジーチャンは変に決まってるだろ。

389774ワット発電中さん2018/03/25(日) 01:39:13.93ID:mWqzvsF5
>>388
久しぶりに声出して笑ってしまったじゃねえか

390774ワット発電中さん2018/03/25(日) 19:13:23.49ID:0oW+rPEI
ガベージインガベージアウト
ゴミ仕様からはゴミしか生まれないってこった

391774ワット発電中さん2018/03/25(日) 21:39:52.35ID:3ONxWJnp
ヘンとヘンを集めて もっとヘンにしましょう
タイヘンだダダ

392774ワット発電中さん2018/03/25(日) 21:45:05.85ID:t37WBRqO
みなさま遅くなりました。3日放置してて申し訳ないです。平に謝ります。マジで。

>>356
 3.3V…ええ、それでいいです。大丈夫です。
 でも、勉強のために5V出力するためにはどうすればいいか教えていただけると
 なおうれしいです。

>> 357
 ほへー。そんな手が。失礼しました。

393774ワット発電中さん2018/03/25(日) 21:58:16.94ID:t37WBRqO
>>378
 その通りです。絶対値の精度は問題じゃなくて、変化の具合が重要なのです。
 どんな塩梅で遅くなったか、とか。だからこそデータロガーでデータをとる
 意味があるのです。

>>372
 無意味に16bitを指定してるわけじゃないです。
 確かに天秤に乗せた容器に少しずつ、400 gまで(つまりレンジいっぱいまで)
 液体入れていくなら、16bitもいらないです。
 でも同じ天秤で、最終的に40 gまでしか液体入れないときもあるわけです。
 しかもそれを3時間かけてゆっくりゆっくり入れていく、といったときもあるわけです。
 そういうときに必要な分解能は、400 gをちゃっちゃと入れる時よりも
 (重量単位では)小さくなります。
 測定レンジは必要最大値で、分解能は必要最小値で、という仕様にすると、
 必然的に16bitが欲しいなあ、となります。

394774ワット発電中さん2018/03/25(日) 22:04:26.58ID:t37WBRqO
>>377
ご指摘ありがとうございます。
温度特性はだいたい常温付近でしか使いませんから、
あまり気にしなくていいと思っています。

非線形性は気にはなります。
maxisのDAC見たところ、チップのグレードによって
線形性が変わるようでしたので、基本的な回路をご教示いただければ、
あとは私のほうでグレードを選べばいい、と理解しています。
(間違ってますか?)

395774ワット発電中さん2018/03/25(日) 22:12:47.93ID:mqMOiI01
書き込み見てるとLabVIEW使えば楽だと思うぞ

396774ワット発電中さん2018/03/25(日) 22:29:50.54ID:t37WBRqO
>>395
1年前に別件でPLCのスレにお世話になったときも、LabView勧められましたねえ…
結局melsecシーケンサの勉強しましたけれども。
食わず嫌いです。

397774ワット発電中さん2018/03/25(日) 23:28:55.45ID:mqMOiI01
シーケンサで組むより再利用性やら考えたらLabVIEWの方が良いだろう
値段も変わらん

398774ワット発電中さん2018/03/26(月) 00:57:16.09ID:TpPCMX3F
>>392
>>356の質問の回答は?

399774ワット発電中さん2018/03/26(月) 01:04:32.11ID:TpPCMX3F
別に答えなくて良いや
人が書いた文章をまともに読んでないようだし
態度を改める気が無いようなので
以降相手にしないことにする

400774ワット発電中さん2018/03/26(月) 11:09:35.62ID:z/k+RBka
>>399
だね、自分も同様に思います。
ここの自称初心者はこんなのばっかり。実は一人なのかもしれないけど。

401774ワット発電中さん2018/03/26(月) 22:10:38.50ID:o/7TBoHK
>>324
XC16の標準の奴はunixに近い仕様だから、逆に使い勝手悪い。
俺はXC8の doprnt(printfの中身)を、修正して使ってる。

402774ワット発電中さん2018/03/27(火) 15:35:52.30ID:gq/fr8Du
俺はlight weight printfつかってる

403774ワット発電中さん2018/03/30(金) 12:06:23.72ID:TtqRajwT
dspicをいじるのにxc16を使っていますが割り込みの中で関数呼び出すのは禁止なの?
誰か教えて

404774ワット発電中さん2018/03/30(金) 12:35:37.84ID:5b4L7cah
まず、禁止と思った理由を書けよ

405774ワット発電中さん2018/03/30(金) 13:56:40.47ID:bYUEiBib
>>403
その関数を実行中に、割り込み入って、さらに、その関数が呼ばれる とか無ければ、問題はない。

406774ワット発電中さん2018/03/30(金) 14:09:04.78ID:WHReOaNl
staticな変数とか扱っているか判らないとなあ

407774ワット発電中さん2018/03/30(金) 14:10:37.37ID:TtqRajwT
ありがとうございます 了解しました
割込み処理中に割込みが入らないようにして
実験してみます
推奨されないだけで禁止ではないのですね

408774ワット発電中さん2018/03/30(金) 14:57:40.37ID:Hk1hShmS
推奨の有無とかの話じゃない
何が起こっているか/起こるか理解しておいて使えというだけの話

409774ワット発電中さん2018/03/30(金) 15:07:35.78ID:Jew2ADlE
8bitならともかく、DsPICとかなら、割込み内部からの関数呼び出しでスタックやらバンクやらの問題は
かなり大丈夫になってるんだろ?

410774ワット発電中さん2018/03/30(金) 15:19:05.92ID:c47EPklB
>>405
それのどの辺が問題?

411774ワット発電中さん2018/03/30(金) 15:21:21.38ID:c47EPklB
何をやって良くて何をやってはいけないか
わかってないなら割り込み自体使うべきではないよ

412774ワット発電中さん2018/03/30(金) 18:11:41.00ID:V7anWke4
まあまあ、お仕事でも無いなら、しくじって覚えてもよいでは無いか。

413774ワット発電中さん2018/03/30(金) 18:30:30.47ID:hJjphv5U
覚えたことは、失敗からばかり

414774ワット発電中さん2018/03/30(金) 18:54:26.43ID:JgyHx4KZ
それは効率がわるい

415774ワット発電中さん2018/03/30(金) 18:55:39.20ID:JgyHx4KZ
>>409
8bitだとどういう問題があるの?

416774ワット発電中さん2018/03/30(金) 18:58:34.30ID:8KdTfsLP
割り込みからはできる限り速やかに戻った方がいいよ。

417774ワット発電中さん2018/03/30(金) 18:58:42.03ID:0L7Z3qGR
知ってるくせに

418774ワット発電中さん2018/03/30(金) 19:15:44.33ID:JgyHx4KZ
いや、真面目に知らない
今までまったく気にしたことがなかったけど
8bitだとなにか制約があるの?

419774ワット発電中さん2018/03/30(金) 19:51:28.68ID:Hk1hShmS
一般の8bitCPUなら特に制約は無い
旧来のPICだとスタックが小さいので割り込みとかネストに制約がある
dsPICと比較しているからそういうことを言いたかったのだと思う

420774ワット発電中さん2018/03/30(金) 20:18:39.72ID:aSFJcQEX
ありがと!

421774ワット発電中さん2018/03/30(金) 21:50:29.24ID:JPMr2dYa

422774ワット発電中さん2018/03/30(金) 22:39:33.97ID:3xWMaBoE
>>419
確かにスタックは小さいけど、大規模なプログラム組むわけではないので
インライン展開などコンパイラが自動でやってくれるので
バグになるようなことは少ないと思うし、スタック使い切るようなくらい
ネストさせなければならないプログラムを書く必要性ってあるのかな??
プログラム能力で回避可能だと思うけどね。
PIC程度の速度なら割り込みを多用するよりポーリングの方が応答速度が
速い場合があると思うよ
(過去の納入実績での話なのですべてが当てはまるわけではないけど)

423774ワット発電中さん2018/03/30(金) 22:43:00.27ID:JPMr2dYa
割り込みよりポーリングの方が応答速度が速いってどんな場合?

424774ワット発電中さん2018/03/30(金) 23:10:27.04ID:Jew2ADlE
>>422
そういうことをわかっていればいいんだけど、という話でしょ。
mainで関数コール(下手すれば多重)の中から、割り込み呼ばれる可能性もあるわけだからさ。

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

426774ワット発電中さん2018/03/31(土) 06:38:05.00ID:DgWsKJPG
>>425
それならマイコンなんか使わずにバッファでいいだろ
どうやっても「割り込みを多用」するようなコードに置き換わらないし

実際の使い方でだよ
ポーリング間隔の最悪値が割り込み応答速度より短いって
ほとんど何も処理出来ないぞ
>>425レベルのコードくらい

427774ワット発電中さん2018/03/31(土) 06:42:46.29ID:DgWsKJPG
>>422
スタックオーバーフローしないように
なんてのはPICに限ったことじゃないし割り込みに限ったことでもない

428774ワット発電中さん2018/03/31(土) 06:59:42.09ID:DgWsKJPG
http://akizukidenshi.com/catalog/g/gI-10799/
これを使えば10円で超高速

429774ワット発電中さん2018/03/31(土) 07:22:00.44ID:DgWsKJPG
>>425
こんなベッタリボーリングでも12〜20クロックもかかるのか
やっぱりPICは遅い

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

実際の処理でポーリングの方が速いってどんな処理????

430774ワット発電中さん2018/03/31(土) 07:26:58.82ID:zz458Btw
>>427
PICのスタックはすぐにオーバーフローするから問題なんだよ。
そもそもPICは「周辺・入出力・制御器」であって、
スタックが深くなるような複雑な処理、用途には向いていないw

431774ワット発電中さん2018/03/31(土) 07:32:50.86ID:DgWsKJPG
すぐにオーバーフローするって
いつの時代のPICの話をしてるの?

432774ワット発電中さん2018/03/31(土) 07:33:18.29ID:zz458Btw
>>425
確かにサンプルの処理なら割込みと同等程度に早いとは思うけど、
そのかわりポーリングの処理にかかりっきりで、他には何も出来ない。
複雑な処理、用途には向いていない「周辺・入出力・制御器」だから当たり前かw

433774ワット発電中さん2018/03/31(土) 07:35:20.52ID:zz458Btw
>>432
一番売れているPICの話しだよ。

434774ワット発電中さん2018/03/31(土) 07:36:21.07ID:zz458Btw
>>432 → 431

435774ワット発電中さん2018/03/31(土) 07:37:29.32ID:DgWsKJPG
>>433
型番は?

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

むう。意外なぐらいにコンサバティブであるな。

437774ワット発電中さん2018/03/31(土) 08:29:55.36ID:DgWsKJPG
秋月の人気順て売れてる順なの?
実は売りたい順とかだったり

それにしても、
84Aに300円も出す物好きがいるのか

438774ワット発電中さん2018/03/31(土) 08:50:55.03ID:mwtwLSSM
>>437
PIC16F84Aは教材需要と、それに引っ張られて「それなら使える」という需要が今でもあるのかな。

439774ワット発電中さん2018/03/31(土) 09:47:43.68ID:FEfg/J59
作例の数はGoogleの件数って訳にも行かんなぁ・・・

440774ワット発電中さん2018/03/31(土) 09:57:10.38ID:DgWsKJPG
デバッグも出来ないようなマイコンを教材にか
教える気が無いとしか思えないなあ

特殊で癖のあるアーキテクチャーを教材に
ってだけで違和感満載なのに

441774ワット発電中さん2018/03/31(土) 10:21:20.81ID:Dj8Xbm/k
割り込みの応答速度と割込み処理時間の区別がつかないで、
ポーリングと速い遅い言ってる人がいるスレはここですか?

442774ワット発電中さん2018/03/31(土) 10:25:36.79ID:0DirhQP0
>>440
ガッコの授業なんてそんなものだろ
指導要領に書いてあることが教えられればそれでいいんだから
そもそもアーキテクチャの良し悪しを語れる教師なんてそんなにいない

443774ワット発電中さん2018/03/31(土) 10:36:18.06ID:ujlWTUfh
>>441
>>429は処理まで含んだ実測値ですよ

入力ポートが変化してから出力ポートが変化するまでの時間をオシロスコープで測った値
当然入力ポートへ入れるパルスはマイコンとは非同期

444774ワット発電中さん2018/03/31(土) 10:43:17.49ID:ujlWTUfh
あ、
割り込みじゃない方は測ってないけど
大体そんなもんでしょ

445774ワット発電中さん2018/03/31(土) 11:13:51.45ID:NwTWqg8M
OSも無く、いきなり割り込み処理を書くなら、
そんなに変わらんでしょう。
普通のCPUとOSだと、本来の処理以外に
環境保存、割込識別、要因除去や再設定、環境復元
が必要で、GHzのCPIでも数μ秒かかってしまう。

446774ワット発電中さん2018/03/31(土) 11:22:39.47ID:ujlWTUfh
8bitでOS?突然何の話?
比較対象は>>425だぞ

447774ワット発電中さん2018/03/31(土) 11:25:06.30ID:ujlWTUfh
元は>>422
逃げちゃったけど

448774ワット発電中さん2018/03/31(土) 11:31:40.95ID:ujlWTUfh
普通のCPUやOSなら尚更>>425なんてコードはあり得ない

当然応答性能も割り込みよりはるかに悪いし
CPUも占有する
最悪のコード

449774ワット発電中さん2018/03/31(土) 11:46:01.30ID:NwTWqg8M
>>448
そりゃ間違いだよ
高性能計算(スパコン等)で最も高速に通信する際、
割り込みなしのポーリング処理が普通。
そういう使い方もあるってことね。

450774ワット発電中さん2018/03/31(土) 11:50:23.78ID:ujlWTUfh
スパコンでの高速通信でCPU?
相変わらず作り話の多いスレだ

451774ワット発電中さん2018/03/31(土) 11:53:57.03ID:N+dmJ0g7
「普通のCPUやOSなら」という条件が
発言全体にかかっているのかいないのか不明瞭な
最悪の日本語

452774ワット発電中さん2018/03/31(土) 11:56:20.71ID:ujlWTUfh
日本人ならわかるから問題ないよ

453774ワット発電中さん2018/03/31(土) 12:04:17.57ID:N+dmJ0g7
ロジックが破綻してるよ

454774ワット発電中さん2018/03/31(土) 12:12:38.59ID:NwTWqg8M
>>450
今時のスパコンはインテルのxeonでOSはlinuxがほとんどだよ
自分の無知を晒さない方がいいよ

455774ワット発電中さん2018/03/31(土) 12:14:26.33ID:NwTWqg8M
>>454
ほんとpicのスレは耄碌した無知な井の蛙
呆れるばかり

456774ワット発電中さん2018/03/31(土) 13:07:49.47ID:Dj8Xbm/k
>>443
つまりメインでたいしたことやってませんということを言いたかったということでOK?

457774ワット発電中さん2018/03/31(土) 13:10:46.75ID:ujlWTUfh
>>454
xeon, linux の環境でCPUがポーリングで高速通信
相変わらず作り話が多いスレだ

458774ワット発電中さん2018/03/31(土) 13:20:28.46ID:NwTWqg8M
>>457
あなたは救いようのないバカですね。

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

こんな年寄りにならないように心がけなきゃ。

459774ワット発電中さん2018/03/31(土) 13:28:28.89ID:ujlWTUfh

460774ワット発電中さん2018/03/31(土) 13:38:50.47ID:Dj8Xbm/k
>>454
スパコンで計算や演算用の演算装置が通信までやってると思ってるのか?
しかも割り込みやらポーリングで?
スパコンの構造とPC同じだと思ってる人がいるんだね

461774ワット発電中さん2018/03/31(土) 13:39:36.26ID:NwTWqg8M
>>459
低レイテンシ通信のためDMA完了をpollingでチェックする。
終了割り込みは、かったるいから使わないんだよ。

本気で勉強したいんならlow latency communication Infiniband MPI
あたりのキーワードで探してごらん

462774ワット発電中さん2018/03/31(土) 13:53:12.65ID:ujlWTUfh
そりゃ単位の大きな待ちならCPUを使うことも当然あるだろうね
ていうか、元の話題は理解してる?
>>422だぞ
話題は8bit PIC
>>425は1bit単位の処理

割り込みを多用するよりポーリングの方が速い処理って何?
って話
意図的に作った実用性の皆無な>>425でも同等
>>429が実測

463774ワット発電中さん2018/03/31(土) 13:55:09.47ID:ujlWTUfh
>>422から読むと>>445がいかにトンチンカンかがわかるでしょ
自演までしてwww

464774ワット発電中さん2018/03/31(土) 13:56:15.69ID:G3namCFP
>>410
デフォルト設定では、関数の再帰呼び出し不可。

465774ワット発電中さん2018/03/31(土) 13:57:45.83ID:ujlWTUfh
>405は再帰呼び出しではないけど

466774ワット発電中さん2018/03/31(土) 13:58:43.74ID:G3namCFP
>>415
デフォルト設定だと、ローカル変数も、リンク時にアドレス確定するから速いが、再帰呼び出し可の設定にすると、ソフト的にスタック処理されるから、かなり速度落ちる。

467774ワット発電中さん2018/03/31(土) 13:59:39.36ID:ujlWTUfh
コンパイラの設定?
XC8の?

468774ワット発電中さん2018/03/31(土) 13:59:52.61ID:dTFUArjf
>>460
あんたTop500って言うスパコンのランキングサイト見たことあるか?
どんなシステムかCPUかも書いてあるから上位100システムぐらい見てみな。
DellだのHPEだの聞き覚えのあるインテルサーバーの名前がいっぱい出てくる。
これが今のスパコンの姿だよ

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

あんた単に攻撃するだけで学びもせず相手にならん
これで終わり。

469774ワット発電中さん2018/03/31(土) 14:02:56.60ID:ujlWTUfh
PCだろうがスパコンだろうが
CPUで高速通信なんかしない

470774ワット発電中さん2018/03/31(土) 15:05:22.59ID:zz458Btw
どんなCPUだろうと、それが持っている最高の速度で動かしたい、
という要望を私は持っているし、努力している。
(なぁんちゃって。 どう? 決った?)w

471774ワット発電中さん2018/03/31(土) 17:21:31.86ID:gKNDfxnt
ここはPICのスレなのにスパコンでは・・・
という「出羽之守」が出てくるから話がおかしくなる
もとよりお呼びじゃないんだよ

割り込み使うと応答時間の最低量が必然的にCPUのメカニズムで
取られるから(PCの退避etc)それ以上の応答時間が必要な場合、
あえてポーリングで使用してキリキリチューニングすることもあるし
スタック使えないときもポーリングで処理することもある
(昔RAM無しのZ80でそうやったな)
なにも特にスパコンだけに関係した話じゃないし
説明するのにスパコン引っ張り出す必要もない

472774ワット発電中さん2018/03/31(土) 17:41:04.92ID:ujlWTUfh
>>429が実測値なわけだけど

473774ワット発電中さん2018/03/31(土) 17:48:45.36ID:ujlWTUfh
もちろんポーリング処理にすることはある
PIC32MM-GPLでSPIを50MHzで動作させたければ
ポーリングしかない
ただしブロッキング処理になって(割り込み以外は)処理が止まってしまう

もっとも、SPIマスターの場合は遅延はまったく問題ないのだが

474774ワット発電中さん2018/03/31(土) 18:10:09.23ID:ujlWTUfh
50MHzはSPIモジュールへ投入するクロックの周波数で
SPIのクロックは最大25MHzですね

平均8クロック以内でデータのセット、データの取得、各種判断を行わなきゃならないので
ポーリングでも多少の工夫が必要なのだが

475774ワット発電中さん2018/04/01(日) 16:33:49.75ID:E2IKJSBf
最近は8ビットPICの話しで始まっても、必ず最後には32ビットPICになるね。

476774ワット発電中さん2018/04/01(日) 17:27:20.22ID:uTEl5Mu7
大は小を兼ねるからな

だが人類はいまだに膀胱と肛門が分離している

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

ただ単にPIC16ユーザーを煽りたいだけとちゃうんか、みたいな気がすることもあります。
煽っても好きで使っている人は、のってくれませんよね。

478774ワット発電中さん2018/04/01(日) 20:03:13.13ID:yKosKuwf
24F、他のメーカーならNRND扱いされる。

479774ワット発電中さん2018/04/01(日) 20:13:57.00ID:RnCh+Nh2
ドアセンサー張り巡らし中・・・
スイッチ1つをSPIやI2Cへ乗せるのに、マイコンは大袈裟だなぁ

480774ワット発電中さん2018/04/01(日) 20:36:43.28ID:mp9cbnsT
できないことはないけど、いくら家の中といっても SPI、I2Cを張り巡らせるものなのか…。

481774ワット発電中さん2018/04/01(日) 20:40:32.13ID:UUZHpCP3
センサー+BLE+PICマイコンを1チップで実現できんもんかの?
Atmel買収したんだから

482774ワット発電中さん2018/04/01(日) 21:11:17.96ID:6uDfeFTU
rfPICを使えばいい

483774ワット発電中さん2018/04/01(日) 22:58:48.18ID:6snLc5vM
SPIやI2Cを長距離伸ばすのは不便過ぎる。元々そういう規格じゃ無いしな。
俺は電源、信号込みの2線式で独自プロトコルにしてる。マスタがスレーブを呼び出すまでスレーブは送信しないから100個でも200個でもスレーブを繋げられる。

484774ワット発電中さん2018/04/02(月) 04:20:06.15ID:6uYbTdn0
>>479
PIC 関係ないけど、我が家では X1800 の LED 信号 (ダイナミック点灯してやがる)
をフォトカプラ経由で PC で受け、異常を検出するようにしたな。例えばトイレから
長時間出てこないとか。複数センサーあると移動方向も把握できる。

485774ワット発電中さん2018/04/02(月) 07:02:50.48ID:6CxeyCA2
>>476
「過ぎたるは及ばざるが如し」

486774ワット発電中さん2018/04/02(月) 13:46:22.65ID:6CxeyCA2
>>483
我が家のオートロック付きインターフォンは0-24Vの2線式。
たまにエラーになるので(玄関ドアの開表示LEDが点灯しない)、
電源と信号を分離し、ノイズ対策目的でRS485で通信したいと考えて、
とりあえず玄関外で操作する解錠キースイッチの4線式制御部を作った。
将来はマスター・スレーブ方式で解錠スイッチを増やす予定だけど、何時になるやら。

487774ワット発電中さん2018/04/02(月) 22:40:38.53ID:o9MP9z9u
なるほど、通信方法も考えないとダメですな・・・
没ttp://www.odnir.com/cgi/src/nup79151.jpg
昔、偉い人の「工場にパソコンを置くな」で
RS-232Cが文字化けしまくったのを思い出した。

>484
最終防衛線(玄関)はX830です(;ω;)

488774ワット発電中さん2018/04/03(火) 04:45:51.95ID:x8VPpL+t
スレチ

489774ワット発電中さん2018/04/03(火) 08:38:35.23ID:8ku8J7LK
家の中でも、いや通線しにくい家の中だから、10m以上かつ3台以上の場合はLANですね

490774ワット発電中さん2018/04/03(火) 11:32:19.76ID:gc+nuo+6
>>489
電源が必要だからPLC。と言いたいけど
世の中そうはならないね。

491774ワット発電中さん2018/04/03(火) 12:16:29.77ID:8ku8J7LK
>>490
LANなら電源送れるしな

492774ワット発電中さん2018/04/03(火) 12:25:30.97ID:gc+nuo+6
>>491
lanは配線が必要だから美的に面倒。
もしPLC付きACアダプタなんてのが1000円ちょっとで
買えれば良いのに。

493774ワット発電中さん2018/04/03(火) 13:19:12.77ID:8ku8J7LK
>>492
松下利権で固まってるガラパゴス機器がそんな値段で買えるようになる訳ないだろ
POEのLANの簡易型を自分で作るか、無線LANにしたほうがうんと簡単。

494774ワット発電中さん2018/04/03(火) 13:28:19.61ID:Vqi9pr7n
太陽電池+zigbeeがいいよ
日陰ならコイン電池で10年

495774ワット発電中さん2018/04/03(火) 20:42:01.00ID:Y6OU8VrX
有線の長距離インターフェースってLANくらいしか無いんだなぁ
CANとか見ないし・・・

496774ワット発電中さん2018/04/03(火) 21:15:24.15ID:yElxz9N5
カレントループ

497774ワット発電中さん2018/04/03(火) 21:48:18.46ID:Q0uPpAty
>>491
USBも

498774ワット発電中さん2018/04/04(水) 03:09:53.98ID:13CF5yNr
>>495
上の方でも出てるけどRS485
差動伝送で速度との見合いになるけど遅ければ電話線で1kmぐらいでも行ける
家屋内程度なら数百kbpsぐらいは大丈夫

UARTに485のドライバIC付けるだけで使える
汎用的なものだからドライバICも安く簡単に手に入る
ttp://akizukidenshi.com/catalog/c/crs422/

電気的な伝送規格だけなので、マルチマスター(送信元が複数)の場合のアービトレーションとかは自前で何とかしなきゃいけないけど

499774ワット発電中さん2018/04/04(水) 08:54:45.05ID:hL6owX7v
内蔵されてて便利だけど
USBって5mしか引けないジャン

500774ワット発電中さん2018/04/04(水) 08:57:50.58ID:oy3DGegN
タイマー割り込みを使わなくて、80マイクロ秒プラスマイナス5マイクロ秒の精度でピンにワンショットパルス出す方法ありますか?

501774ワット発電中さん2018/04/04(水) 09:58:15.25ID:2Sq0g5h+
>>500
アウトプットコンペア

502774ワット発電中さん2018/04/04(水) 10:12:29.42ID:tSmRIhc+
>>499
リピーター

503774ワット発電中さん2018/04/04(水) 10:32:05.48ID:R2OD2DZc
>>498
昔はよく使われていたが、ethernetに取って代わられて使われてないのはいろいろ使いにくい理由があることに気づけ。
ひょっとしてアセンブラマンセーで使い続けてる人かな?それならいまだに485推しとかわからんでもない。

504774ワット発電中さん2018/04/04(水) 10:33:22.59ID:R2OD2DZc
>>500
普通にタイマー使えば?割り込みとかソフト介在する意味なにかある?

505774ワット発電中さん2018/04/04(水) 11:16:58.55ID:+IcO7Jp9
>>501
ありがとうございます。
PIC18F46K22(秋月ボード)でTMR5とCCPR1でコンペアして、RC2に出力させました。
TMR5はFOSC/4の16MHzで1/8で2MHzカウントにしました。
CCP1はCCP1M=0x09のCompare ModeとTMR5を使うC1TSEL=0x02としました。
CCPR1に160をセットして、TMR5を0にセットして、
LATCbits.LC2 = 1 でRC2をHにして、T5CONbits.TMR5ON = 1としましたが、
出力は340μSくらいのHighパルスがでました。
80μSにならなかったけど結局コンペアマッチした時点でRSTかSETしかできないので、
最初にセットした時刻からTMR5起動までがソフトなのでタイマー割込みと同じですね。
TMR5でのタイマー割込みで約80μSパルスは作れていたのでCCP1は諦めます。
このパルスをFETゲートに入れて通信線を80μ秒短絡して、相手の過電流検知を働かせるものです。
出来るだけ正確にと思ったのです。

506774ワット発電中さん2018/04/04(水) 11:48:41.77ID:vdYFMDej
>>505
できるだけ正確に、というのであれば、まず水晶は交換しよう。
TCXOとかはいわないが周波数の分周くらいは割り切れるのにあわせるべきだ

507774ワット発電中さん2018/04/04(水) 16:40:34.15ID:25ixTeLW
>>503
8ピンの小さなRS485トランシーバーICを付加するだけで
マルチドロップで長距離通信出来るし、
制御プログラムも簡単で、PICやAVRの小さなCPUでも負担にならないし、
コストやスペースの点でもメリットがあると思う。
CPUのI/OにUARTが存在し続ける限り、
RS232規格と共にRS485規格も使われ続けるのでは?

508774ワット発電中さん2018/04/04(水) 19:36:56.63ID:vdYFMDej
>>507
それは設計屋の都合な。いまどき長距離なんて光だしな
現場に行って、LANと485のどっちが施工と保守しやすいか聞いてごらん
485を使うようなシチュで、製造単価とメンテ費用のどっちにウェイトが置かれるかってことだな

ま、俺も485はきらいじゃないがな。232同様、今後増えていく存在ではない

509774ワット発電中さん2018/04/04(水) 20:09:52.99ID:2Sq0g5h+
>>505
K22ならタイマーIC558見たいな機能のモジュールも入ってたはず。

510774ワット発電中さん2018/04/05(木) 00:58:41.42ID:sZQriHtm
FAでは485未だによく使うけどあとは422
アナログだけどカレントループはノイズに強くLANより優秀
連続なのが何より楽だ

511774ワット発電中さん2018/04/05(木) 04:33:13.19ID:HnaojImQ
そもそも485とLANをいっしょくたにしてるのが間違い
初期のLANで媒体として485使ってるものもあったが、485はLANのための規格じゃない
高速・大容量という志向に合わなかったからLANの媒体としては485が使われなくなっただけ
現在でも工場とか高ノイズ環境では使われてるし、舞台照明コントロールのDMX512Aとかでも使われてる

512774ワット発電中さん2018/04/05(木) 04:44:11.59ID:g/NRAUJb
スレチ

513774ワット発電中さん2018/04/05(木) 05:20:41.87ID:cMb4nxW8
ものの価値を価格でしか評価しない種類の人なんでしょうね。

514774ワット発電中さん2018/04/05(木) 06:55:55.47ID:yoc3R9Lv
>>503
キミは無能です。
適材適所があるのです。

515774ワット発電中さん2018/04/05(木) 07:10:58.05ID:6Qpawqwk
いくらかのプロトコルをハードウェアがやってくれるものと、そうでないものを比較するのもどうかと思うけど、
傾向としては、前者に移行していくものですかね。

516774ワット発電中さん2018/04/05(木) 09:10:26.16ID:kb/LuSR9
本来は
複雑なプロトコル処理→ハード・ソフトが複雑→高価
のはずなんだけど、

量産効果が効いて価格が下がり、情報豊富でソフト作成も容易。

シリコンもソフトも複雑度ではなく普及度で価格が決まり、
思いのほか差が出にくくなるという事。

517774ワット発電中さん2018/04/05(木) 10:38:32.05ID:ncA+hgur
>>516
複雑なロジックもシミュレーションが楽にできる様になったからな。
昔はちょっとした物でも一週間とか掛かってたから。

518774ワット発電中さん2018/04/05(木) 11:24:09.64ID:1oOZ9wVA
複雑なものってトラブったら交換しか手がないからなぁ
自己診断とか異常検知なんて健全な状態でしか使えない意味不明なバカ仕様がほとんどだし

519774ワット発電中さん2018/04/05(木) 13:08:05.49ID:HnaojImQ
一連の話の大元は>>479だぜ?
いくら昔に比べて安くなったとは言え、ドアセンサーのためにLAN引けとかファイバー引けとか頭沸いてんの?
そりゃ既にLAN張り巡らしてるならそれに乗っかるのはアリだけど、それだけのために引くのはアホだろ

520774ワット発電中さん2018/04/05(木) 13:10:40.74ID:0Tsu6/2W
話題が変わってきてる気がするが

521774ワット発電中さん2018/04/05(木) 14:40:27.46ID:/xlIKS6Q
ドアに鈴つければ解決なのにな

522774ワット発電中さん2018/04/05(木) 15:01:20.99ID:qMHs4RUc
>>519
普通にLAN引くな
ドアセンサーが必要ない鈴ですむようなところならともかく、普通は10m以上引っ張って、
さらにドア一つでなくて複数のセンシングするよな。

しかも一ヶ所センサーラインが短絡やノイズ、地絡で異常になっても他に影響することなく
切り分けとか確認できないと普通は困る。

でもって、最終的にランプつけるだけとかならともかく、Webで見たり、ログ取ったりするので、
24時間可動してるサーバ系PCなどに入力する

だったら最初からLAN引いてしまったほうがすべてが楽。

523774ワット発電中さん2018/04/05(木) 15:02:37.87ID:qMHs4RUc
ごめん、中学生がママがきたセンサー作るのなら、485/422.232で充分以上。

524774ワット発電中さん2018/04/05(木) 16:00:41.33ID:B5VbmGIn
無線リモコンの送信機にドアセンサーつなげるとか
https://www.amazon.co.jp/dp/B076T3M6FN

525774ワット発電中さん2018/04/05(木) 17:05:15.57ID:/xlIKS6Q
傾斜SW+315MHz送受モジュール
モジュールはebayで\200位で売っている
電波法は知らん

526774ワット発電中さん2018/04/05(木) 17:06:45.11ID:/xlIKS6Q
315MHz送受モジュール
電波法気にするなら秋月で\3000弱出して買うが良い

527774ワット発電中さん2018/04/05(木) 17:23:52.53ID:ZquSMI1b
私もRS485だな。
そもそも >>486 で書いてある「LEDの点灯エラー」の解消と、
「複数のセンシングする」とか「Webで見たり、ログ取ったりする」は関係無い。

528774ワット発電中さん2018/04/05(木) 18:28:34.43ID:qMHs4RUc
>>527
たしかにそうだけど、それならまずエラーになる原因を調べるのが先じゃないかしらね?
それやらずに他のアプローチって時点で問題解決能力レベルがわかっちゃう

529774ワット発電中さん2018/04/06(金) 07:27:22.38ID:WybIpi81
そういえば、昔、
AC100Vを50Hzクロック源とする時計が進むので、
調べたら、同じコンセントから取っている冷凍庫のコンプレッサーがオン・オフするときに
カウントが進むことを発見した。
コンセントを分けるのは難しいので、
冷凍庫と時計にクランプ式のフェライトのノイズフィルターを入れたらかなり改善された。
家庭用のAC電源なんてノイズだらけなんだろうな。

530774ワット発電中さん2018/04/06(金) 07:50:49.01ID:bAZ1IiN+
そんな頻繁にON/OFFするか?

531774ワット発電中さん2018/04/06(金) 09:22:06.58ID:07rZnEIx
ネタ臭ぇ

532774ワット発電中さん2018/04/06(金) 10:28:40.36ID:iIJmlYRN
>>529
無線の屋外運用で、AC100V発電機で動かしたら、時間がめちゃくちゃになったことはある

533774ワット発電中さん2018/04/06(金) 10:48:05.77ID:j9l/tBNc
>>530 >>531
オン/オフ時に火花が飛んで(もちろん設計が悪い)バーストノイズが発生すると、数十回分のパルスになってしまう。クランプ式フェライトコアで改善されるほどの高い周波数成分が影響してたんなら時計の方も設計不良だな。

534774ワット発電中さん2018/04/06(金) 12:49:03.69ID:ai9MFVve
いつもの作り話

535774ワット発電中さん2018/04/06(金) 12:49:46.29ID:azkaje/D
昔、会社の先輩に八丈でどうも時計が狂うから調べたら島内に発電所が1箇所でそこの周波数が狂ってたって聞いた

5365292018/04/06(金) 14:47:01.52ID:WybIpi81
オシロで見ていると、コンプレッサーがオンすると時計のAC電源ラインにノイズが乗る。
誤差は半月で数秒程度で、時計の電源を別のコンセントから取るとOK。
ノイズは時計の電源回路経由で回り込んでいるのか?
それとも、私が設計した時計用クロック・パルス検出回路がマズイのかな?
https://i.imgur.com/S9ywsye.jpg
飽きたし、きちんとは原因を究明せずに「結果オーライ」で放ったらかしだけど、
趣味の電子工作なので笑って許してw
7、8年前に作ったが、今は半年に1回ほど気が付いたときに、
誤差(1、2秒程度)を修正している。

537774ワット発電中さん2018/04/06(金) 16:40:59.02ID:eEJkXOVU
冷蔵庫のコンプレッサのオンオフ周期の例

シャープの家庭用
たぶんインバータじゃないやつ

https://i.imgur.com/ormTFn7.png

538774ワット発電中さん2018/04/06(金) 16:42:29.92ID:eEJkXOVU
家庭用冷凍庫のオンオフ周期の参考資料

シャープのインバータじゃないやつにロガー突っ込んだ

https://i.imgur.com/qoxehfl.jpg

539774ワット発電中さん2018/04/06(金) 16:59:06.74ID:eEJkXOVU
連発しちまった。

ノイズが10回/日だとして、
0.2秒/日余計に進む。

冷凍庫のオンオフが原因ならもっと激しく進む気がする。

540774ワット発電中さん2018/04/06(金) 17:45:26.28ID:3P9ao4FP
毎回綺麗に同じノイズが出るわけでもない
今なら高調波とか規制されているから少しは(まともな機器なら)
綺麗なのかな
いや、電灯線モデムPLC使っている友人は、ご飯炊く時間に決まって
回線速度が落ちるとかなんとか・・・

541774ワット発電中さん2018/04/06(金) 19:52:30.17ID:C4uUbRKX
無線PICモジュールとか出ないかなぁ・・・

542774ワット発電中さん2018/04/06(金) 20:07:41.40ID:JJ4NVrT8
そんなにPICに拘る必要ある?

543774ワット発電中さん2018/04/06(金) 20:52:01.88ID:WEyXgxll
rfPICがあるじゃない

544774ワット発電中さん2018/04/07(土) 01:28:51.70ID:7CUPM1RK
>>536
なんで入力側にツェナー使ってるの?
普通のdiでいいじゃない。

それとcrの後のインピーダンスが低くて入力のCrフィルタが
あまり効いてないね。
rを一本cとカプラの間に移した上でcを数倍大きくすると、ずいぶん違うと思うよ。

545774ワット発電中さん2018/04/07(土) 08:09:44.82ID:Kn/1zUG/
スパイクノイズのフィルタリングは、フォトカプラの出力側1本で良いと思う。
そのためのシュミットトリガでもあるし。

ツェナーはなんでなんだろな。このツェナーのカソード→アノードに電流が流れだす
ときには、すでにLEDは断線しているような気がする。

546774ワット発電中さん2018/04/07(土) 09:29:40.70ID:9TfMQncn
LEDを並列逆向きに付けるのが簡単でいいよね。

547774ワット発電中さん2018/04/07(土) 10:31:52.24ID:Kn/1zUG/
>>546
よね、と言われても…
ここでLEDを使うメリットって何なんでしょ。
あえて言えば、そこに通電していることのインジケータにもなる、ということですかね。
たいていは小信号シリコンダイオードよりも高価だし、
透明プライスチックパッケージは、実装時にちょっと注意が必要だし。

548774ワット発電中さん2018/04/07(土) 11:03:43.61ID:9TfMQncn
趣味で手持ちLEDを手ハンダ実装するし、見えるのは重要かな。

549774ワット発電中さん2018/04/07(土) 15:24:49.08ID:Jl5WvPpL
>>544
ツェナーダイオードにしたのは、ノイズやサージが入ってきたときの
LEDにかかる過渡的な順方向電圧を制限するため。

充放電時の積分回路の時定数は約0.1・0.15mSで、AC電源50Hzのオン・オフ時間は10mSだから
もう少し大きくしても構わないと思う。
ただし、ノイズ対策はソフトでやる、というのが私の基本的な設計方針であり、
ソフトのシフトレジスタ方式のノイズフィルタの時定数を色々と変更してトライするつもりだったので、
その効果がよく分るように、ハードの時定数はわざと小さくした。
(でも何年もたつのにまだソフトのフィルタは組み込んでいない)

なお、一つ思い出した事があり、製作後に追加したノイズ対策として、
トランス式のAC100Vアダプタから整流ダイオードと電解コンデンサを取り外してAC出力に変更し
交流パルス源とした。(入力側の47KΩの抵抗も変更)

550774ワット発電中さん2018/04/07(土) 17:56:10.08ID:phgeUKmM
>>549
>ノイズ対策はソフトでやる、というのが私の基本的な設計方針

えーそうなのか、俺はノイズはハードだけどな。
電源系のノイズや信号系のコモンモードとかソフトでどうやって取るんだ?
ノイズでなくてただのフィルタリングであって信号処理じゃないのか?
ハードで取りきれないノイズはソフト処理だが、極力ソフトでノイズ処理はしたくない

551774ワット発電中さん2018/04/07(土) 18:42:16.91ID:Fol4eziM
適した方でやる
当たり前

552774ワット発電中さん2018/04/07(土) 18:51:32.35ID:Fol4eziM
スローでいいADCは、ハードでノイズを取ってソフトで複数回サンプリング

通信系はハードでのノイズを取ってソフトで異常検出&再送

スイッチ類のゆっくりなチャタはソフトで複数回サンプリング

553774ワット発電中さん2018/04/07(土) 19:00:36.73ID:ZPuIbcZc
>>549
>ツェナーダイオードにしたのは、ノイズやサージが入ってきたときの
>LEDにかかる過渡的な順方向電圧を制限するため。

順方向の電流を押さえるなら電圧を制限してから抵抗を入れないと
効果がないと思う。
順方向電圧が5.6Vにもなったらアンペアオーダの電流が流れている
ことになる。

554774ワット発電中さん2018/04/07(土) 19:13:51.62ID:CjnUn2kP
ヤフオクで 100円で落札したトランジスタラジオのイヤフォンジャックの音声信号を
8pin 8bit PIC で AD 変換し、時報を認識するソフトを完成させたぞ。
時刻カウントの水晶の分周比も固定小数点で補正するのだ。
デバッグが大変だったぞ。

555774ワット発電中さん2018/04/07(土) 19:22:23.32ID:e+tPbaxO
ある意味電波時計だ!
昔のビデオデッキでNHKの時報に合わせる機能があった。
職場の放送設備も、チャイムの時刻合わせ用に、NHKFMの周波数をセットして、時報で時計を補正してた。

556774ワット発電中さん2018/04/07(土) 19:28:52.84ID:1i00zGM+
>デバッグが大変だったぞ。
そりゃ、1時間に1回しかテストできないからな

557774ワット発電中さん2018/04/07(土) 19:46:59.68ID:m+S1lpyq
>>553
そもそも47kの抵抗二本入っている回路で
例えば100mA流れるのは何ボルトの時だ?

答え
10kV

558774ワット発電中さん2018/04/07(土) 19:48:42.73ID:Mxfd8rpk
昔の時計はトリマが付いてたんだよなぁ・・・

559774ワット発電中さん2018/04/07(土) 19:53:20.39ID:4FwQaCvd
>>556
音声信号認識なんだから録音しときゃいつでもテストできるじゃん

560774ワット発電中さん2018/04/07(土) 19:53:49.68ID:Tk5+oxs2
今も付いてるよ
内部に

561774ワット発電中さん2018/04/07(土) 21:46:38.29ID:CjnUn2kP
>>559
そう。PC に WAV で録音して散々デバッグしたのでありますが、
御多分に漏れず、PC からの音声だと上手く時報を検出するように
なっても、ラジオからだとうまく検出しないとかでもはまりました。

562774ワット発電中さん2018/04/07(土) 22:42:41.67ID:NI1iOt9p
40/60khz デコードしたほうが正確じゃないか?

563774ワット発電中さん2018/04/08(日) 00:20:32.76ID:mERxy63L
一応以下の理由
・40/60kHzはコイルが面倒(というか設計ができない)
・40/60kHzが長期停波しても受信可能
・日時などの情報も得られるようだが面倒くさそう
・40/60kHzより部屋の奥まで電波が届く(場合もある?)
・正確さにそんな大差はないんじゃないか?
・時報の音声信号を 8pin PIC のソフト処理のみで検出できるか作ってみたかった

564774ワット発電中さん2018/04/08(日) 02:20:09.18ID:fCv0/IQ8
GPSはUSRT使ってASCIIコードで受けられるからJJYと比べたら超簡単。
JJYみたいに停波もないしね。
軍事衛星だから有事の時はどうなるか知らんが。

565774ワット発電中さん2018/04/08(日) 03:13:06.84ID:DXsu+Ji/
>>559
録音機のワウフラッターが悪いと、テストにならないよ

566774ワット発電中さん2018/04/08(日) 03:16:17.63ID:DXsu+Ji/
>>561
ラジオのイヤホンジャックから取り出すときは、ダミー負荷抵抗を付けて。
トランスでコモンを切るればばっちりだと思うけど、何にくろうしたの?

567774ワット発電中さん2018/04/08(日) 08:53:46.83ID:uYP1OeIr
AMラジオの帯域すべての周波数を直接サンプリングして時報検出する時代だろ?

568774ワット発電中さん2018/04/08(日) 11:48:58.19ID:Fw0M/EVb
>>567
帯域すべての周波数をサンプリングして、って書くあたりが
理屈分からず書いている感がよく出ていて微笑ましい。

569774ワット発電中さん2018/04/08(日) 12:43:50.81ID:uYP1OeIr
えっ?ダイレクトサンプリングしたSDR知らないわけじゃないよね?
日本語での表現はともかくとして。

570774ワット発電中さん2018/04/08(日) 14:16:33.51ID:iKDoXfBc
>>565
いつの時代だよwww

571774ワット発電中さん2018/04/08(日) 14:32:57.64ID:mERxy63L
>>566
ラジオの電源の GND (BAT-) とイヤホンジャックの GND に少し電位差が
あったが、それは抵抗でごまかして、トランス不使用。
それと、ラジオの電源を入れたままイヤホンジャックに PIC のアナログイン
をつなぐとうまく動くが、ラジオの電源を切って入れなおすとうまく動かない
だったけ。ご指摘の通りイヤホンジャックにダミー抵抗負荷付けて解決。

>>567
DSPラジオのご時世その通りなのだが、8bit PIC 君では歯が立ちませぬ。

572774ワット発電中さん2018/04/08(日) 14:38:01.31ID:mERxy63L
>>565
時報の周波数は±10% くらいで検出してるから、±1% くらいのワウフラッターはものともしないはず。

573774ワット発電中さん2018/04/08(日) 14:48:05.87ID:iKDoXfBc
1%のワウやフラッターってwww
いつの時代ですか?

574774ワット発電中さん2018/04/08(日) 15:22:18.68ID:ZrU6ShvQ
>>569
「周波数」はサンプリング対象じゃないよね
帯域内の信号はサンプリングするけどさ。

575774ワット発電中さん2018/04/08(日) 15:36:39.75ID:iKDoXfBc
日常生活に困るレベルの日本語読解力だな

576774ワット発電中さん2018/04/08(日) 17:24:38.06ID:r9HoWyO3
放送波がいろいろな周波数を持つことは話の前提であっていいわけだから、

帯域すべての周波数をサンプリングして



帯域すべての周波数(の信号、または放送波)をサンプリングして

と、普通は解釈できるよね…
そうじゃない解釈で書き手が書いていると、真面目に考えてるのかな?

577774ワット発電中さん2018/04/08(日) 18:06:10.52ID:E42MZBne
残念だが
このお粗末な書き方じゃ
文句言われても仕方ない。
高電圧が流れる。と同程度だな。

578774ワット発電中さん2018/04/08(日) 20:28:16.52ID:98rgoEX5
526.5kHz〜1606.5kHzか・・・
頑張れば丸ごと録音(記録)できそうだな

579774ワット発電中さん2018/04/08(日) 22:02:26.52ID:YLwCYsEz
ダイナミックレンジが16bitでも足りない 多分

580774ワット発電中さん2018/04/08(日) 22:35:30.96ID:mERxy63L
>>573
ワーストケースって意味分かる?

581774ワット発電中さん2018/04/08(日) 23:23:04.29ID:iKDoXfBc
ワーストケースにしてもデカすぎて現実味がない

582774ワット発電中さん2018/04/08(日) 23:54:08.49ID:mERxy63L
>>581
冗談交じりって意味分かる?

583774ワット発電中さん2018/04/08(日) 23:55:19.10ID:iKDoXfBc
www

584774ワット発電中さん2018/04/09(月) 07:15:39.08ID:AIvx1r+L
日本語読解力のある俺は>>567,>>572の書き方で問題ない
わからん奴は下らん煽りだけしてないで黙っとけば?

585774ワット発電中さん2018/04/09(月) 09:29:39.48ID:x0KpgzpJ
ある専門分野の人間は、その分野でありえない言葉が使われると敏感に反応する。
高電圧が流れると言った時、電気分野外の人達は普通に解釈し何が問題か理解しないだろう。
それと同じ。

586774ワット発電中さん2018/04/09(月) 09:40:47.30ID:L2xSUsvJ
お客さんやユーザが、高電圧が流れるとか言ったときに、本当にマジ顔で突っ込むやつがいるんだよ
しかも上司の横で。
またはじめやがったとかみんな下向いてニヤニヤしてるのに気がつかず得意顔

587774ワット発電中さん2018/04/09(月) 10:40:55.25ID:XeOsE7+A
意味/意図を汲み取れないという典型的なアスペだな
或いはただの悪ふざけ
或いはただの馬鹿

588774ワット発電中さん2018/04/09(月) 15:06:42.42ID:t27IPjHc
突っ込むのは首だな。挟むなら嘴。

589774ワット発電中さん2018/04/09(月) 15:09:48.38ID:QqlWuuZA
反射で突っ込むから
恥ずかしい

590774ワット発電中さん2018/04/09(月) 17:57:50.73ID:9NNDU/9J
最近は挟むのは抵抗らしいぞ

591774ワット発電中さん2018/04/10(火) 09:30:33.27ID:v8/o3Xig
>>157
技術系専門板では、専門用語の誤用に日本語読解力云々で開き直らず、素直に直せば良い。

592774ワット発電中さん2018/04/10(火) 09:39:25.04ID:ygzRX5TE
うーん…

593774ワット発電中さん2018/04/10(火) 15:55:17.27ID:Gii6iTro
おまえら、今月のトラ技は買えよ!

594774ワット発電中さん2018/04/10(火) 18:26:07.83ID:MO984M0P
PICネタ?

595774ワット発電中さん2018/04/11(水) 17:19:16.81ID:g3AVMNAC
トラ技と秋月はPICが好きみたいだな。

596774ワット発電中さん2018/04/11(水) 21:49:30.72ID:X9iWpdwf
入門と言いつつ、過去をおもいっきり引きずった内容だなwww

597774ワット発電中さん2018/04/12(木) 07:04:45.13ID:fcrygF4J
新しいことを始める前に過去のエラッタを何とかしてくれ。

598774ワット発電中さん2018/04/12(木) 07:11:38.15ID:FlE4YzpA
人生エラッタだらけ

599774ワット発電中さん2018/04/12(木) 07:17:50.93ID:5+P+2lPb
エラッタを回避出来ない技術力

600774ワット発電中さん2018/04/12(木) 08:14:59.33ID:01/JTKj4
せめてこれから出すやつのエラッタをどうにかしろ

あとエラッタのせいで使えない機能や性能をスペックとして語るな
詐欺だ

601774ワット発電中さん2018/04/12(木) 08:29:00.82ID:mKg+ZsUJ
影響がほとんどない、問題ないって判断だろ
設計やり直すとものすごい開発費かかるし
マイナーチェンジするだけのキャッシュカウに金は使えんだろ

602774ワット発電中さん2018/04/12(木) 08:58:13.41ID:r5AKB01G
金がかかるからスペック詐欺を続けると
最悪な会社だな

603774ワット発電中さん2018/04/12(木) 09:22:19.70ID:mKg+ZsUJ
損失を被ったならこんなところに書いてないで訴えればいいのでは?

604774ワット発電中さん2018/04/12(木) 10:01:40.55ID:x5CN6QBn
日本の裁判所は請求額を値切るのが仕事みたいになってるけど
懲罰的損害賠償が認められてるアメリカで訴訟起こせば何億とか取れる
かも知れないね。

605774ワット発電中さん2018/04/12(木) 10:04:35.15ID:cFOKPo7s
昔東芝がそれでやられたようだな・・・

606774ワット発電中さん2018/04/12(木) 10:07:25.26ID:5+P+2lPb
エラッタって何度も叫んでるの、1人なんだろうけど、
「わぁ、また相手してもらえたぁ!」的気分なの?

607774ワット発電中さん2018/04/12(木) 10:16:58.08ID:X6CNCLkr
USARTのエラッタなんて発現する使い方自体がセンス無いガキの使い方だし

608774ワット発電中さん2018/04/12(木) 11:23:43.16ID:x5CN6QBn
どうせ具体的な内容は書けないんでしょ?

609774ワット発電中さん2018/04/12(木) 12:43:24.91ID:r5AKB01G
エラッタを隠したくてしょうがない人がいるみたいだな

610774ワット発電中さん2018/04/12(木) 12:45:54.92ID:r5AKB01G
具体例なんて山ほど出てるけどねえ

611774ワット発電中さん2018/04/12(木) 12:48:02.08ID:r5AKB01G
特にPIC32MXとPIC32MZ ECはひどすぎる
MZ EFもI2Cは使えない

612774ワット発電中さん2018/04/12(木) 13:00:11.23ID:5+P+2lPb
いくら酷くても、初心者スレでする話じゃないな。

613774ワット発電中さん2018/04/12(木) 13:53:38.97ID:cqZr1bHJ
USART なんてそもそも通信でエラーを起こすもの。
初心者から脱却して、ECC や リトライ を勉強しましょう
という試練かもな

614774ワット発電中さん2018/04/12(木) 16:39:42.48ID:r5AKB01G
初心者にもエラッタの存在を教えておかないと

>>613
顧客に「マイコンのバグなんで」って言うのかね?
アホですね

615774ワット発電中さん2018/04/12(木) 16:55:46.55ID:fcrygF4J
プログラムがチャント動かないのは自分のバグか?
それともPUのエラッタか?なんて悩むのはツライな

616774ワット発電中さん2018/04/12(木) 17:00:22.51ID:fcrygF4J
ごめんよ、PU → CPU
パワーユニットではありません、セントラルプロセッシングユニットです

617774ワット発電中さん2018/04/12(木) 17:06:08.77ID:fcrygF4J
システム不調の原因がハードかソフトか切り分けられるだけでも追及の難易度がぐっと下がるのに。

618774ワット発電中さん2018/04/12(木) 18:52:35.26ID:01/JTKj4
ハードブロックがハングする問題が
ECCやリトライでなんとかなるとおもってる馬鹿がいるようだな

619774ワット発電中さん2018/04/12(木) 20:00:36.57ID:5+P+2lPb
誰もテメー固有の問題なんかに興味ないから前提知らなくて当たり前

620774ワット発電中さん2018/04/12(木) 21:57:32.35ID:01/JTKj4
PIC固有です

621774ワット発電中さん2018/04/13(金) 07:23:22.98ID:2p+SQdE6
万一未知のエラッタに当ったとしてもそこから仕様通りの動作に持ってくのが本当の技術力
ココで延々グダってんのは下の下。

622774ワット発電中さん2018/04/13(金) 07:30:22.12ID:B5cz3KH9
万一って率じゃないですねPICの場合
日常です
万一なんて言ってるのはまともに評価したことが無い証拠です
発見しやすいエラッタしか無いと思ってる所も初心者丸出しですね

623774ワット発電中さん2018/04/13(金) 07:48:45.66ID:2p+SQdE6
あ、下の下の方、おはよう。

624774ワット発電中さん2018/04/13(金) 07:52:06.02ID:B5cz3KH9
下の下ってPICのことかな?

625774ワット発電中さん2018/04/13(金) 08:01:46.35ID:QqX8JsEj
>>622
じゃあ使わなければいいとしか言いようがない
Microchipに直させることができないなら、切ればいいだけ
マイコンは他にもあるし、選択権は自分にあるんだから

626774ワット発電中さん2018/04/13(金) 08:25:57.28ID:VI22M6jW
欠点を欠点として認識出来ない
ラリ期ってやつですかね?

627774ワット発電中さん2018/04/13(金) 08:37:27.97ID:Qtzcf6RO
欠点がまったくないものだけを使ってればいいんじゃないかな?
お前の人生と同じだよ

628774ワット発電中さん2018/04/13(金) 09:32:03.99ID:TSN/HnWJ
「PICはエラッタが多い」
「エラッタが嫌な人はPICを使うな」
これだけ

629774ワット発電中さん2018/04/13(金) 15:26:52.92ID:Jq9YZFah
主イエス「Errataの存在しないマイコン信者だけが、まずPICに石を投げなさい」

630774ワット発電中さん2018/04/13(金) 15:55:34.02ID:BEXThcEr
エラッタが発生するのは、ある程度は仕方が無いことだと思うけど、
分らないのは
 なんでマイクロチップテクノロジのCPUにはエラッタが多いのか?
 なんでマイクロチップテクノロジはCPUのエラッタを放置するのか?

技術陣がアホで経営者が無責任野郎だから?

631774ワット発電中さん2018/04/13(金) 16:44:34.44ID:2pMj0I34
それでも売り上げ落ちないからじゃね
無責任だとは思うが
errataになっちゃえばある意味仕様だからな
昔インテルがバグで交換したけど
そんなことにはならないように予防線張ってるだろうし

632774ワット発電中さん2018/04/13(金) 18:50:13.93ID:Ceyaz2lL
「課長、PICのエラッタのせいで納期間に合いません!」なんて報告受けたらお前どうすんの?
「何とか回避しろ!」としか言わんよな。
その程度の事を何ヶ月も顔真っ赤っかにして書き続けるとか、余程の狂人

633774ワット発電中さん2018/04/13(金) 20:32:53.57ID:Osu7MW9s
>>632
無能な課長でかわいそうだな。

634774ワット発電中さん2018/04/13(金) 20:53:55.25ID:Jq9YZFah
トラブル起きてから泥縄式に調査するのはレベル低い
枯れたデバイスを選びエラッタ読み込んでから開発に着手するのがプロの姿

635774ワット発電中さん2018/04/13(金) 21:14:03.41ID:hqzWvNVe
「課長、ここは初めてスレです」

636774ワット発電中さん2018/04/13(金) 21:20:26.41ID:BEXThcEr
>>631 それでも売り上げ落ちないからじゃね
なぁるほど、たとえエラッタが多くて未修正でも、
PICはそんな欠点なんか問題にしないほど沢山売れ続ける、魅力的な素晴らしいCPUだからか。
技術陣も経営者も大したもんだ。
アトメルも少しは見習えば良かったのに。
(世の中、バカばっかり)w

637774ワット発電中さん2018/04/13(金) 22:29:37.24ID:dwX17wuu
>>631
社会を知らない奴だな
代理店経由で大手顧客にしかエラッタを教えないデバイスがほとんどだ。
マイクロチップは多く公開してくれているだけ。

638774ワット発電中さん2018/04/13(金) 22:31:10.41ID:dwX17wuu
>>632
お前が係長以下だということは良くわかった。
課長以上になることもないだろうとも思う。

639774ワット発電中さん2018/04/14(土) 03:32:26.19ID:Lj0R5/ZJ
そもそもエラッタ君の言ってるUARTのエラッタって、本来割り込み後に割り込み要因確認のために読むべきフラグを
ポーリングでブン回して読んだらタイミングが1クロック早かったってだけの事
要は使い方が悪いからおかしな事になってるだけなので、そりゃメーカも放置するわな

そういうエラッタがあるとわかってて、どうしてもポーリングで読みたきゃ、1クロックずれるだけってわかってんだから
フラグ確認後NOP一つ入れれば回避できる
何年も執着して掲示板荒らすネタにするようなもんじゃない

640774ワット発電中さん2018/04/14(土) 05:45:26.75ID:2o9L7hJs
>>639
知らない癖になぜ書く?

641774ワット発電中さん2018/04/14(土) 06:04:43.72ID:2o9L7hJs
使った事が無い
まともに評価検証したことが無い

という自己紹介?

642774ワット発電中さん2018/04/14(土) 06:58:10.97ID:gAWXjnUa
変な使い方しなければエラッタに遭遇しない。

643774ワット発電中さん2018/04/14(土) 07:02:43.66ID:2o9L7hJs
MCCは変な使い方

644774ワット発電中さん2018/04/14(土) 07:08:08.18ID:gAWXjnUa
最適化全面オフにすればMCCも使える。
以前、MCCでTMR0を16ビットにしたら上位が正しくセットされなかった。

645774ワット発電中さん2018/04/14(土) 07:08:23.92ID:E4Vg1Xg4
世間的に製品出荷を止めるぐらいに重大とみなされるエラッタなら製品出荷を止めてる、という当たり前の話。
重大な問題のために使い物にならないなどと言うが、それがずっと流通していることについての説明ができていない謎。せいぜいが「使う奴がバカ」だとか。
多いとか少ないという相対的表現を、比較対象もエビデンスもなしに使うのは論理的ではない、という基本。

646774ワット発電中さん2018/04/14(土) 07:10:19.87ID:2o9L7hJs
>>644
最適化OFFでは回避出来ません

647774ワット発電中さん2018/04/14(土) 07:11:50.19ID:E4Vg1Xg4
チップ固有の問題が存在する場合、回避方法を議論する方が前向きですね。

648774ワット発電中さん2018/04/14(土) 07:16:39.84ID:2o9L7hJs
>>642のような人がいるので議論になりませんね

649774ワット発電中さん2018/04/14(土) 07:19:25.90ID:E4Vg1Xg4
>>648
100%の人が協力的でなければ議論できない、と思うなら、5chで議論なんかできませんよ。
あなたには向いてないんじゃないですか?

650774ワット発電中さん2018/04/14(土) 07:19:55.24ID:2o9L7hJs
エラッタを報告しても
「ソフトのバグ」
「使い方が悪い」
という感じなので

一時期ここでも話題になったUARTの問題も>>639のような謝った認識の人が多いようです
意図的なミスリードかもしれません

651774ワット発電中さん2018/04/14(土) 07:21:28.65ID:2o9L7hJs
>>649
一人も協力的な人がいなければ議論になりません
そういうレベルのスレです

652774ワット発電中さん2018/04/14(土) 07:27:02.54ID:A2JSJwgd
UART送信ダブリのエラッタはPIC専用スレPart54-252で回避できるんやから
蒸し返さんでもええやろ

653774ワット発電中さん2018/04/14(土) 07:28:17.66ID:gAWXjnUa
同じPIC系統で今まで問題なかったが、エラッタのために異常動作したコードを披露するとかやってよ。

654774ワット発電中さん2018/04/14(土) 07:33:30.99ID:E4Vg1Xg4
>>650
>エラッタを報告しても
一般論ですが、ソースコードの開示と動作の説明をしないと意味ないですね。

655774ワット発電中さん2018/04/14(土) 07:34:18.91ID:2o9L7hJs
>>652
54-252にエラッタのことなど書かれてないけど

656774ワット発電中さん2018/04/14(土) 07:35:31.75ID:E4Vg1Xg4
>>651
>そういうレベルのスレです
なんて諦めたような見方をするぐらいなら、あなたがここにいる意味はないと思います。

657774ワット発電中さん2018/04/14(土) 07:37:48.24ID:2o9L7hJs
>>654
それはフェーズによります
いきなりソース開示なんてことは普通は行いません

658774ワット発電中さん2018/04/14(土) 07:39:37.14ID:gAWXjnUa
RX使っているけど、こいつもエラッタが結構です。
エラッタ回避のコードで対処するが、エラッタが修正されても何時生産ラインに紛れ込むかも知れないので回避コードのままだわ。

659774ワット発電中さん2018/04/14(土) 07:40:39.89ID:E4Vg1Xg4
>>655
議論としては、エラッタがある、ない、ソース出せよ、出さない、みたいな不毛なものと違って、面白いと思うけどな。
https://rio2016.5ch.net/test/read.cgi/denki/1470076841/252-

660774ワット発電中さん2018/04/14(土) 07:44:05.18ID:gAWXjnUa
貧乏なので過去ログ見えないです。

661774ワット発電中さん2018/04/14(土) 07:46:12.41ID:E4Vg1Xg4
>>657
1個目のレスでソースなしで「エラッタがある」はともかく、
それに対する応答として「ソース出せよ」のリクエストがあれば、その時点でソースを出すフェーズです。

そうでなければ掲示板で議論もできないですし、
ソースを出すつもりもないなら、デマと区別もできなくなる恐れのある掲示板に正当なエラッタ報告をする意味が薄くなります。
デマと区別ができるのは、第三者検証が可能なようにすることができてこそです。

662774ワット発電中さん2018/04/14(土) 07:48:30.87ID:E4Vg1Xg4
>>660
え? そうなんですか?
>>659のリンク先は普通にブラウザで見えてますが。

663774ワット発電中さん2018/04/14(土) 07:48:34.29ID:A2JSJwgd
文章だけだと判りにくいのでUART内部構造図と合わせて読むと理解しやすい

664774ワット発電中さん2018/04/14(土) 07:49:30.45ID:2o9L7hJs
>>659
あ、見れました
読めばわかるけど割り込みを使えないということですよ
使い方が大きく限定されます

業務コードでUARTをポーリングなんて普通しませんので

665774ワット発電中さん2018/04/14(土) 07:52:38.82ID:2o9L7hJs
実際MCCでも何の対策も出来ていません

666774ワット発電中さん2018/04/14(土) 07:55:26.30ID:E4Vg1Xg4
>>665
ぐるぐる回るな。

いつも具体例を出して議論をしましょう、って話なんですよ。
ソースコードが出てきているから、>>659のリンク先の議論もあとから評価もできるわけです。

667774ワット発電中さん2018/04/14(土) 07:56:04.04ID:gAWXjnUa
>>662
ごめんなさい、2chmateだと駄目だった。

668774ワット発電中さん2018/04/14(土) 07:57:58.08ID:gAWXjnUa
心配になったけど普通に送信割り込み使っていれば関係ないのね。
良かったわ。

669774ワット発電中さん2018/04/14(土) 08:05:45.17ID:2o9L7hJs
結局情報が上がってもこういうミスリードする人のせいで間違った情報に化けるんです

670774ワット発電中さん2018/04/14(土) 08:07:30.80ID:2o9L7hJs
普通に送信割り込みを使っても発生します

671774ワット発電中さん2018/04/14(土) 08:28:20.41ID:7QXlYNNg
>>669
掲示板でやれば不特定多数、玉石混淆なんで
意図するしないにかかわらずそりゃミスリードは発生するわ
自分でブログでもPDFでも何でもいいから文書にまとめて発表したら?

672774ワット発電中さん2018/04/14(土) 08:38:35.87ID:2o9L7hJs
UARTはまだマシですが
EFのI2Cは全く使い物になりませんね
皆さん気を付けましょう

673774ワット発電中さん2018/04/14(土) 09:07:22.06ID:7QXlYNNg
結局なんやかんや言ってるが自分の方が議論したりまともな情報を発信する気はないということだな
意図はわかったからNGにするわ

674774ワット発電中さん2018/04/14(土) 09:11:31.01ID:E4Vg1Xg4
>>672
>EFのI2Cは全く使い物になりませんね
ソースコードを出してください。有意義な話にしましょう。

675774ワット発電中さん2018/04/14(土) 10:05:32.00ID:DwN5R3IJ
>>670
具体的なコードよろ

676774ワット発電中さん2018/04/14(土) 10:07:26.68ID:2o9L7hJs
MCCの割り込みを使ったコードで発生する

677774ワット発電中さん2018/04/14(土) 10:10:36.34ID:2o9L7hJs
>>673
まともに聞く気が無い人に発信しても無駄
と言うことは今までの流れでもわかるでしょう

678774ワット発電中さん2018/04/14(土) 10:13:01.97ID:2o9L7hJs
本当に知りたいならそれ相応の態度で

まあ私なんかに聞かずにMicrochipや代理店に聞く方が良いとは思いますが

679774ワット発電中さん2018/04/14(土) 11:01:22.41ID:fR7j5vEr
バカバカしい (w

680774ワット発電中さん2018/04/14(土) 14:04:40.40ID:E4Vg1Xg4
>>678
で、何がしたいんです?

681774ワット発電中さん2018/04/14(土) 18:19:58.60ID:gAWXjnUa
>>670
そこ詳しく知りたいです。
割り込み発生でTXREGにライトした時点で二重送信になるの?

682774ワット発電中さん2018/04/14(土) 19:06:17.65ID:A2JSJwgd
>>681
TXIFで割込後にTXREG書くとごく稀にダブってしまう…
割込ルーチン入ったら1バイト送信時間分NOP()を並べるという対処療法で凌いだ

683774ワット発電中さん2018/04/14(土) 19:42:10.56ID:Pse3g9Ae
>1バイト送信時間分NOP()を並べる
これは酷い
タイマー使ってポーリングのほうがマシだな
タイマーが空いていればだが

684774ワット発電中さん2018/04/14(土) 20:50:41.22ID:gAWXjnUa
>>682
割り込み時点でそこそこクロック消費してるのにnopかよ?

685774ワット発電中さん2018/04/15(日) 00:14:27.18ID:70mkBdEy
>>681
TXREGに書いた時点で2重に書かれる
2重に書かれるかどうかは完全にタイミング依存
割り込みかどうかは関係無い

686774ワット発電中さん2018/04/15(日) 00:31:44.00ID:70mkBdEy
問題が発生するのは非常にシビアなタイミングであり
1命令サイクルでもズレれば問題は発生しないが
これを回避するのは難しく
何かしらを犠牲にする必要がある

何も犠牲にせずに簡単に回避出来ると主張する書き込みもあるが
その具体的方法について語られたとこは無い

687774ワット発電中さん2018/04/15(日) 00:33:38.57ID:70mkBdEy
ちなみに、私はタイマーを使って回避している

688774ワット発電中さん2018/04/15(日) 05:54:16.85ID:eeXYxng9
どのPICで起きるんだよ

689774ワット発電中さん2018/04/15(日) 07:10:52.56ID:nAVDJ7aP
報告があったのはPIC16F1459, PIC16F1454, PIC16F18313 だけど
PIC16Fで1で始まるもの全部という認識じゃなかったか

690774ワット発電中さん2018/04/15(日) 07:25:04.23ID:4MvPGSR+
いわゆるEnhanced mid rangeファミリーやね

691774ワット発電中さん2018/04/15(日) 08:56:21.29ID:nF4p1deg
>>682
これってハードの設計ミスでしょ。
ホビーとしては許容できても産業用には信頼性が低くて使えないな。

692774ワット発電中さん2018/04/15(日) 08:57:30.15ID:MbJiLjk4
エラッタ厨はTXREG以外のエラッタって何も話題にできないんだ?

693774ワット発電中さん2018/04/15(日) 09:00:01.20ID:FUo+WkZI
PICの数多くある設計ミスのうちの1個

694774ワット発電中さん2018/04/15(日) 09:05:16.52ID:4MvPGSR+
>>691
産業用ルネRL78でもSPI通信に爆弾抱えてるのだけど
代理店とやりとりして不具合回避して使った経験あるから
そんなもんだと諦めて使えばよろし

695774ワット発電中さん2018/04/15(日) 09:08:35.70ID:FUo+WkZI

696774ワット発電中さん2018/04/15(日) 09:09:20.44ID:FUo+WkZI

697774ワット発電中さん2018/04/15(日) 09:22:47.77ID:9SCRcghf
十年以上前にEMC試験やったことあるけどPIC16は優秀だったなー
他社8bitマイコンを最高クロックでぶん回すとノイズ撒き散らしてラジオ聴こえなくなったり
movaケータイ接近させるとレジスタ化けたり暴走したりとかあった
一方でPIC16は余裕で試験クリアしてた

698774ワット発電中さん2018/04/15(日) 09:32:01.18ID:AXpa383P
そんな試験するんだ。

699774ワット発電中さん2018/04/15(日) 10:10:22.66ID:nF4p1deg
>>694
ヘーッ、そうなんだ。
そう言うのは次のロットから回路パターンが修正されてるとかは無いの?

700774ワット発電中さん2018/04/15(日) 10:16:18.44ID:1oBlfLek
作り話にマジレス

701774ワット発電中さん2018/04/15(日) 11:17:35.48ID:nF4p1deg
>>700
えっ作り話ってホント?!

702774ワット発電中さん2018/04/15(日) 12:35:57.57ID:eeXYxng9
PIC18は大丈夫なんだ。
良かった。

703774ワット発電中さん2018/04/15(日) 12:59:35.34ID:WtSkbo8c
ラジオ聞こえなくなるとかご冗談を

704774ワット発電中さん2018/04/15(日) 13:08:32.53ID:gtNWIpDy
PIC32MXですが、IOをHi → Lo → Hiとタイマーカウンターでウエイト
いれてパルスを作ってみたのですが、どれだけ早くできるか
ウエイトを徐々に小さくしてみましたところ。500nsecが最速でした。
10MHz(100nsec)くらいまでいけると思ったのですが・・。

705774ワット発電中さん2018/04/15(日) 13:26:56.53ID:EL6eaFCk
そんなに無理させて、チンチンに熱くなったりしないの?

706774ワット発電中さん2018/04/15(日) 14:30:48.32ID:UvYIgKYn
>>702
なぜそう思うのか
謎だ

707774ワット発電中さん2018/04/15(日) 14:34:50.09ID:UvYIgKYn
>>704
プログラムのスキルと仕様次第

LATAINVにセットし続ければ
コアクロックの半分の周波数まで出せる

708774ワット発電中さん2018/04/15(日) 14:35:37.34ID:UvYIgKYn
>>705
チンチンはたまには熱くなった方が良いです

709774ワット発電中さん2018/04/15(日) 14:41:19.42ID:nF4p1deg
>>704
500nsっていうことはパルスの極性反転に250nsでクロックが最大の40MHzだと処理に(250/25=)10クロックサイクルかかってることになるね。
I/O命令とタイマー割り込み処理だけだけど結構クロック使うんだ。
だからPICに限らずマイコンはPWMとかパルスジェネレータを内蔵してるのかな?

710774ワット発電中さん2018/04/15(日) 14:44:35.46ID:gtNWIpDy
>>707
oh...
そんなワザがあったのですね
実は、関数でSPIを作ろうと思っていまして、SCLK=10MHzくらいに出来ないか
チャレンジしておりました。wait_fast(1) = 500nsec
それ以前に↓だと、SCLKがLowに貼り付いたまま・・・
void SPI_Data(unsigned iData)
{
int iCnt1,iCnt2=0;
int iloop=0;
unsigned int iBuf[770];

SCLK = 0;
SDO = 0;
LAT = 1; //データラッチ
wait_fast(1);
LAT = 0;

//データ格納
//10進数を2bit -> 配列に格納
while(iData>0){
iBuf[iCnt1]=iData%2;
iData=iData/2;
iCnt1++; //配列カウンタ用
iloop++; //データ カウンタ用
}

iloop=iloop-1;

//データ出力
for(iCnt2=iloop;iCnt2>=0;iCnt2--){
SCLK = 0;
if(iBuf[iCnt2]==0){
SDO=0;
wait_fast(1);
SCLK = 1;
}
else{
SDO=1;
wait_fast(1);
SCLK = 1;
}
wait_fast(1);
}
SDO = 0;
SCLK = 0;
}

711774ワット発電中さん2018/04/15(日) 14:47:07.00ID:gtNWIpDy
>>709
有難うございます。
PIC32MX340F で80MHzですが、汎用IOが単に遅いだけだと思っていました
内部処理なのですね・・

712774ワット発電中さん2018/04/15(日) 15:10:22.56ID:UvYIgKYn
割り込みで10クロック周期の処理なんて不可能
だから>>704は当然ISRによるポート処理ではないはず

もっとも、
なぜ40MHzが最大だと思ったのかもわからず、
80MHzで動作していて500nsが1回の処理の時間であれば40クロックですので
ギリ可能な感じ

713774ワット発電中さん2018/04/15(日) 15:11:04.52ID:UvYIgKYn
あ、リロードせずに書いちゃいました

714774ワット発電中さん2018/04/15(日) 15:14:22.34ID:PQIS7LIE
>>275
まぁ電子天秤の出力フォーマットは全部似たり寄ったりだからね
1個作れば他の天秤でも使える
安い優先ならPICKIT3(互換機)を海外通販で
でなければPICKIT4

作例の多い16F1455(USB内蔵)使ってMCCでさくっと
ただDACのアナログ出力が面倒なので、デジタルでどうにかした方がいいと思うよ
SDカードUSBメモリとか、PCにUSB出力とか
「PIC SD」でぐぐれば作例出てくる
DIPじゃないパッケージは大変なのでやめるべし

ArduinoやRasberryPiでもいいし
早く始めた方が、仕事が早く楽になると思うよ

715774ワット発電中さん2018/04/15(日) 15:19:04.43ID:UvYIgKYn
>>710
そういう低レベルな処理の最適化は得意
色々とアドバイス出来ると思います

wait_fastは関数?
であればNOPを並べただけのマクロに変更

あとはループアンロールなど基本的な最適化技術を学びましょう
最終的にはアセンブラ化ですかね

7167102018/04/15(日) 15:23:25.66ID:gtNWIpDy
なんとか、自作SPIでました
https://i.imgur.com/K3ICgzg.jpg

ソースが間違いまくってました。
unsigned iData -> unsigned int iData
int iCnt1,iCnt2=0; -> int iCnt1=0;
int iCnt2=0;
>>712
勉強になります

717774ワット発電中さん2018/04/15(日) 15:28:43.77ID:gtNWIpDy
>>715
>wait_fastは関数?
はい。
Timer1をカウントしてます。
iwaitの係数は"8"が限界でした。
周辺クロックは80MHz = 12.5nsecなので、計算上は12.5nsec x 8 = 100nsec
ですが、限界の500nsecになります。

void wait_fast(unsigned int iwait)
{
unsigned int val = iwait * 8;
TMR1 = 0;
while ( TMR1 < val){}
}

>あとはループアンロールなど基本的な最適化技術を学びましょう
・・・難しそうですね・
>最終的にはアセンブラ化ですかね
インラインアセンブラでしょうか?

718774ワット発電中さん2018/04/15(日) 15:29:58.94ID:gtNWIpDy
皆さん、いろいろと有難うございます。
一旦オチ致します

719774ワット発電中さん2018/04/15(日) 15:41:22.06ID:UvYIgKYn
>>718
(暇なときに書いて)

前処理含めてSPI_Data全体を速くしたい?(処理時間短縮)
それとも通信時間だけ縮めたい?(バス占有時間短縮)

アセンブラはインラインじゃなくてループ全体をネイティブで
規模的にはアセンブラでも問題ないレベルなので

720774ワット発電中さん2018/04/15(日) 15:48:50.00ID:UvYIgKYn
端子を好きに変えて良いならDMAも使える

そもそも何でPIC32MXのSPIの機能を使わない?
数が足りない?
端子を変えたい?
単に勉強用?

721774ワット発電中さん2018/04/15(日) 15:53:03.26ID:nF4p1deg
>>711>>712
ごめんなさい。
PICのことはよく知らず>>1にあるMicrochip社のホームページにあるチップの一覧表で最初に出てきたPIC32の仕様から40MHzを引っ張ってきてしまいました。
それにしてもポート反転処理に20クロックサイクルもかかるとは、規模が大きくなるとマイクロ命令を使ったハード処理が多いからなんだろうか?

722774ワット発電中さん2018/04/15(日) 15:55:06.61ID:UvYIgKYn
>>721 後半
ソース見ての発言?

723774ワット発電中さん2018/04/15(日) 15:57:36.70ID:UvYIgKYn
8bitだとクロックを揃えたとしてももっとかかるよ

724774ワット発電中さん2018/04/15(日) 17:15:35.63ID:PQIS7LIE
xc8の無償版
数ヶ月経つとアセンブラ命令書いたら最適化されないと聞いたけど本当でしょうか?
sleep命令の後にNOP入れたいんだけど、本当の話なら困る

725774ワット発電中さん2018/04/15(日) 17:21:22.76ID:UvYIgKYn
インライン?
インラインアセンブラによってコンパイラの最適化が阻害されるのはごく普通のこと
影響があるのはせいぜい関数内とか近い部分だけだよ
インラインアセンブラを使う使わないに関わらず
無償版は最適化に制限がある
お金があってパフォーマンスが重要であれば
有料版を買いましょう

個人ならより速いマイコンを選ぶ方が良いでしょう

726774ワット発電中さん2018/04/15(日) 17:32:45.44ID:ILqeKLwc
コンパイルしてアセンブルコード見れば判るじゃん

727774ワット発電中さん2018/04/15(日) 18:23:44.20ID:nF4p1deg
>>722
C言語だからコンパイラのオーバーヘッドがあるっていう意味?
確かにそうだけどコードがシンプルだから最適化すればかなりコンパクトになるかと思って。。。
すみません。

7287242018/04/15(日) 19:03:35.28ID:PQIS7LIE
すみません
未だにMPLABのアセンブルの見方が分からなくて・・・サイズしか判断できません
NOP入れるとサイズが倍になるので困ったなと
NOPぐらいは最適化して欲しいなー

729774ワット発電中さん2018/04/15(日) 22:08:45.72ID:MbJiLjk4
どうやってnopいれてるん?いろいろあると思うが。

7307242018/04/15(日) 22:16:39.73ID:PQIS7LIE
シンプルに
sleep();
nop();

asm("nop");ではありません

731774ワット発電中さん2018/04/15(日) 22:44:23.94ID:AXpa383P
最適化したいならnop入れるなよ

732774ワット発電中さん2018/04/15(日) 22:51:05.18ID:UvYIgKYn
>>727
処理内容は見たの?
関数を2回呼んで、
その中でタイマー待ちをしたりしてるんだけど
そんなにシンプルか?

じゃあ逆に8bitだとどれくらいだと思った?
パッと見で

733774ワット発電中さん2018/04/15(日) 22:56:42.64ID:UvYIgKYn
>>730
それを「アセンブラ命令を書く」というのか...

インラインアセンブラと比べて見ては?

コンパイラの最適化の設定は0〜3まであって
無償版はお試し期間を過ぎると0〜1しか選べない

試したければ最適化の設定を1にしてみれば良い
そもそも今は3になってる?

734774ワット発電中さん2018/04/16(月) 10:19:30.00ID:bHGBT4CK
>>721
8bit (PIC16F18326)と32bit の処理時間を比べてみました

ループ1周
8bit 388クロック
32bit 41クロック

圧倒的に32bitの方が速いですね
32bitの方は80MHzですので
クロック周波数を加味するとさらに差が開きます

8bitは1命令4クロックなのと、関数コールに時間がかかっているのが主な遅い要因のようです

ちなみに、
純粋にCPUの処理時間を比べるために
タイマーの待ち時間はゼロにしました
それ以外は>>710 >>716 >>717 のままです

735774ワット発電中さん2018/04/16(月) 12:03:00.81ID:UlTFQdwE
>>734
ヘーッ、ビット数で大きく違うんだ。
参考になりました。
ありがとう。

736774ワット発電中さん2018/04/16(月) 12:49:49.60ID:bHGBT4CK
32bitでアセンブラでガシガシに組んだら
1ビット平均4.5クロックくらいになりました

SCLK HIGH 2クロック / LOW 2クロック
残りはループやデータロードなどオーバーヘッド

ただし、
純粋にCPU部分だけの性能なんで
回路やバスがボトルネックになるかもしれません

非常識なコードまで含めれば
最短、2クロック + オーバーヘッド
になります

737774ワット発電中さん2018/04/16(月) 13:06:20.36ID:bHGBT4CK
>>710
もういないかもしれませんが

SDOやSCLKはLAT*bits.LAT**のdefineだと思いますが
これに直接代入は危険です

ISRや他のタスクで同じポートグループにアクセスしてない確認が取れた場合だけにしましょう
取れた場合も、移植時やコード変更時の無駄なトラブルを避けるため、
直接代入は止めた方が良いです

割り込み禁止で包む
ASET / ACLR 命令を使う
LL / SC 命令を使う
LAT*SET / LAT*CLR / LAT*INV を使う

など、アクセス中の割り込みでも問題ないように

738774ワット発電中さん2018/04/16(月) 18:03:58.41ID:akAi1l4a
8bitでアセンブラで考えてみたけと
ループやデータ読み込みを除いても
1ビット送信に20クロックもかかってしまう

非常識な方法でやっと10クロック

ベテランさんだともっと縮まるのかな?
℃玄人さんとか

739774ワット発電中さん2018/04/16(月) 18:27:01.27ID:W+H67dYH
定期的に、
8bitを過大評価
32bitを過小評価
した書き込みが有るんだよな

PICは8bit信仰が根強い

740774ワット発電中さん2018/04/16(月) 19:54:47.30ID:/9VVSNUR
ARMなんか、APBに書き出すと1サイクルなのに何十クロックもかかるよ。

741774ワット発電中さん2018/04/16(月) 20:03:57.98ID:W+H67dYH
で?

742774ワット発電中さん2018/04/16(月) 21:22:22.55ID:W+H67dYH
ここはPICスレなんでよろしく

PIC32の競合となるCortex-Mならともかく
Cortex-Aの話が何の脈絡もなく突然出て来ても

「で?」としか言えん

743774ワット発電中さん2018/04/16(月) 21:29:16.39ID:lcIHa3Qe
センサをI2Cで制御して無加工のままUARTで吐くような
単純処理にしか使ってないので8bitで十分なワシ

744774ワット発電中さん2018/04/17(火) 07:10:18.51ID:yfkOii8k
で、エラッタに引っ掛かると

745774ワット発電中さん2018/04/17(火) 09:49:31.24ID:Kmb1ETxd
UART送信を詰め詰めで送るほどシビアなタイミングは要求されてないので
1バイト毎にTRMTビットをポーリングしながらのんびり送信してます。
それゆえエラッタとは無縁なPICライフでハッピー♪

746774ワット発電中さん2018/04/17(火) 09:53:03.57ID:sEDHFZ0m
電子工作未経験ですが質問させてください

例えば、PICを用いた自作キーボードを作りたい場合、
デバイス側としては、電子回路(USBシリアル変換モジュール・USBケーブル含む)と
PICに書き込むC言語だけで完結できるのでしょうか?

VB.netを勉強せずに済むなら、書籍代や時間労力を節約できるので
教えていただければ幸いです よろしくお願いします

747774ワット発電中さん2018/04/17(火) 11:29:21.20ID:FYv5vMuZ
USBシリアル変換だと
PC側からキーボードとして認識しない
PIC16F1454などUSB機能の付いたマイコンを使いましょう

電子回路(マイコン、キー、USB端子などを含む)
プログラムをマイコンに書き込む為の道具(PICKIT4など)
統合開発環境(ソフト、無償)
が必要

748774ワット発電中さん2018/04/17(火) 11:31:32.88ID:FYv5vMuZ
開発言語はC言語のみでOK
もちろん開発に使うPCは必要

質問の答えになってます?

749774ワット発電中さん2018/04/17(火) 11:53:34.83ID:8TfpW1tm
一から作るのか先人の作例を真似するのかにもよるが
未経験者には結構ハードルが高いと思う
できればもう少し段階を踏む方がよいのだが

750774ワット発電中さん2018/04/17(火) 12:05:51.96ID:CZ4qzWF+
キーボードコントローラにPICを接続させる

751774ワット発電中さん2018/04/17(火) 12:09:13.23ID:HqfpJ3h1
>>746
結果だけ有れば良いという事なら18F2550の作例を何から何まで提供しますがw

752774ワット発電中さん2018/04/17(火) 12:37:16.26ID:+jNw9m7+
PICが絶対じゃなければpromicroが楽

753774ワット発電中さん2018/04/17(火) 13:19:43.87ID:mB1S5Gmj
PS2/USB 変換器使って、PS2プロトコルで送ると超簡単

754774ワット発電中さん2018/04/17(火) 13:24:46.70ID:FYv5vMuZ
キーボードを買ってくるのが簡単

755774ワット発電中さん2018/04/17(火) 13:49:29.76ID:UygcwN2x
1.キーボードを買ってくる
2.分解する
3.観察する
4.デバイス外す
5.目的のスイッチと配線する
6.楽しむ

756774ワット発電中さん2018/04/17(火) 18:45:27.18ID:sEDHFZ0m
>>747 >>748さん
>USBシリアル変換だとPC側からキーボードとして認識しない
>PIC16F1454などUSB機能の付いたマイコンを使いましょう
なるほど、勉強になります
USB内臓PICでUSB機器として作るとなると、
USBフレームワークとかHIDクラスとか難しそうだったのと、
仮想COM接続でシリアル通信するのが簡単という意見を読んだので、
USBシリアル変換モジュール(FT232RL USBシリアル変換モジュール)を使えば良いのかなと思ってました
でも、実はUSBミニBコネクタ付きのPIC18F2550のマイコンボードも発注済みなので色々努力してみようと思います

>開発言語はC言語のみでOK など
安心しましたw 以上、詳しくありがとうございました
とても勉強になりました C言語の勉強を頑張ります!

757774ワット発電中さん2018/04/17(火) 18:47:50.79ID:sEDHFZ0m
>>749さん
まだPICでLEDチカすらさせたことないですw
自作キーボードとまで行かなくても、
電子回路内のタクトスイッチを押すと、PCのアクティブウインドウに"a"と送信されることを
目指して頑張ります

>>750さん
ありがとうございます
キーボードコントローラというものあるんですね
詳しく調べてみようと思います

>>751さん
貴重なご提案をありがとうございます
未経験者なので回路図もプログラムも難しくて理解できないと思いますけど
差し障りなければ、後学のために是非お願いしたいです
PIC18F2550のUSBモジュール内臓PICはもうじき届くと思いますので
いつか理解できるようになりたいです

758774ワット発電中さん2018/04/17(火) 18:47:56.63ID:UygcwN2x
TMK QMK keyboard

759774ワット発電中さん2018/04/17(火) 18:51:53.47ID:sEDHFZ0m
>>752さん
Arduino互換ボードみたいですね
読んだ書籍がPICだけなので、今回はPICでやってみようと思います
次回からそちらも視野に入れて検討してみます ありがとうございました

>>753さん
FT232RL USBシリアル変換モジュールを使った仮想COMポートのシリアル通信の外にも
PS/2-USB変換器を使ってPS/2プロトコル通信する手段も有効なのですね
ありがとうございます 勉強になります
あとで調べてみますね

>>755さん 
ありがとうございます
分解して改造してみるというのが物作りには大事ですね
いつかやってみようと思います

以上、皆さま貴重なご意見をありがとうございました! 大変勉強になりました

760774ワット発電中さん2018/04/17(火) 20:23:01.98ID:sEDHFZ0m
度々すみません

>>751さん
受信専用の使い捨てメアドを用意しました
zyvzwywm★abyssmail.com (お手数ですが★を@に置き換えて下さい)
お作りになられた作例の回路図やプログラムのファイルなどをDLできる
サイトのURLをこちらへお送ってくだされば、後学のために勉強させていただきます

ご厚意に甘えてばかりですみません
ご面倒なら無視して下さって結構です

761774ワット発電中さん2018/04/18(水) 12:50:08.47ID:PdCqULGe
>>759
あなたの現在のスキルとその理由なら、買った本を埋没費用としても、今からでも遅くないから、PICと同時平行でpromicroもやってごらん。

今からaliでポチって、ネットの情報だけで片手間でやってもpromicroの方が早く出来上がる。

ArduinoよりPICを選ぶ場面は今後出てくるから適材適所だと思うから買った本は無駄にならないとは思うけど。

762774ワット発電中さん2018/04/18(水) 12:56:15.76ID:SjXGraP6
>>736
非常識と思ったコードの方、
実用の可能性は無いかと思ったけど可能性ありそう

8bit送信するコードを256通り作って
1バイト単位で分岐する
LAT*INVへの代入15個とリターン命令の16命令で良いので
256個作っても16KB

80MHzで動くPIC32はどれもROMが64KB以上あるので
ソフトSPIのパフォーマンスが重要なら有り

当然コードはプリフェッチキャッシュには収まらないが
それでも真面目に1bitずつデータを作るよりは速い

CPU時間だけでいうと平均2.7クロックで1bit送信出来る

763774ワット発電中さん2018/04/18(水) 18:29:38.22ID:SjXGraP6
トータル処理量よりもバス占有時間を縮めたいなら
送信するコードをRAMに展開する手も
1ビット送信に2命令8バイト使うので1回で送るデータ量は限られるけど
1ビット送信時間は2クロックに近づく

764774ワット発電中さん2018/04/19(木) 01:32:48.73ID:oU6HpH/T
NYTから
チェコでも人手不足でロボット化を推進
Robots Ride to the Rescue Where Workers Can’t Be Found
https://www.nytimes.com/2018/04/16/business/labor-robots-jobs-eastern-europe.html

Zbynek Frolik氏が、急激な受注を処理するために新しい従業員を必要としたとき、彼はチェコ中に
広告を出しました。しかし、応募してくる人はほとんどいませんでした。賃金を引き上げても、住宅補助を
だしても同じでした。そこで彼はロボットに目をつけた。
「十分な人間を見つけることはできないので、私たちはできる限り人と機械を入れ替えようとしています」
と、100以上の国々で最先端の病院用ベッドを販売しているFrolik氏は言う

東ヨーロッパでは、労働者不足の解決策としてロボットが採用されています。 チェコ共和国、ハンガリー、
スロバキア、ポーランドの企業が機敏かつ競争力を保つために、新しいタイプの雇用創出に役立っている。
近年、共産主義崩壊後の低コストの製造拠点となったこれらの国々の成長率は、世界的な回復に支
えられて5%となっています。

その中でチェコは郡をぬいていて、トヨタの車やデルの家電製品を生産するチェコ共和国の沸騰する
経済は失業率をわずか2.4%に下げ、欧州連合(EU)で最も低い。
しかし、人材の不足は、チェコ企業が拡大する能力をそいでおり、 チェコ連邦産業連合によると、ほぼ
3分の1の会社が注文を断りはじめている。
同社の会長のヤロスラフ・ハナック氏は、「これが成長にブレーキをかけるようになっている。もし企業が
ロボット化や人工知能を向上させなければ、彼らは姿を消すだろう」と言う。

労働コストも別の要因です。 東欧は多国籍企業を低賃金で誘致することで製造業の勢力となった。
しかし、その優位性は失われつつある。 チェコ共和国の月額平均給与は昨年8%増の1,400ドルで
した。 ドイツの3分の1ですが、今後も上昇すると予想されている。

そこで、企業は外国人労働者を増やすことが助けになると言います。 しかし、保守的な政府は
移民制限を続け、最近は外国人就労ビザに厳格な上限を設定した。
同様に、長期的に心配な傾向があります。 家族は、退職に向かう人々を置き換えるのに十分な
子どもを育てていません。
米国最大の自動車メーカーであるSkodaは、人口動態の変化や賃金圧力に直面するための
自動化を「大幅に加速すると」と言う。

中略

ロボットが人間の生計を助けるか脅かすかは、激しい論争を巻き起こしている。
批評家によると、将来の景気後退が起こると、労働者は苦しむというリスクがある。
「ロボットの電源を切って人を戻すことはできない」からだ、という。
チェコの組合は警告を発し「ビジネスリーダー、政治家、労働組合は、今後の産業革命に前向きに
責任を持って対応しなければ、雇用はさらに脅かされる可能性がある」と述べた。
今のところ、企業はロボット化が新しい仕事を生み出すと主張しているのだが。

765774ワット発電中さん2018/04/19(木) 05:14:23.76ID:kzHfxqAW
産業用ロボットに国際的競争力があるとかいう日本にとっては有利じゃん。
本当にそうなら、だけど。

766774ワット発電中さん2018/04/19(木) 06:36:48.51ID:WX9bfYYK
>>764
どっちみち、単純作業に高い給料出せないからな。

767774ワット発電中さん2018/04/19(木) 07:36:34.19ID:nd3SRc9d
「人手不足」は、まあ結構多くシーンで「(安い賃金で文句を言わずに言われたことを正確にする)人手が不足」の意味だよな。

768774ワット発電中さん2018/04/19(木) 07:38:52.98ID:FuNO6Xpy
おまいらスレタイ

769774ワット発電中さん2018/04/19(木) 09:05:47.73ID:nd3SRc9d
PICを含めてマイコンは単純労働から人を追い出すことに貢献してきたんですよ。

770774ワット発電中さん2018/04/19(木) 10:29:34.46ID:3oyTkCU+
>>765
業界にいると分かるけど中国からの大量発注で今、日本のロボット業界は史上最高の好景気。
産業用が中心だが、ロボット製造メーカーだけじゃなく関連部品メーカーも。
パーツによっては1年待ち。

771774ワット発電中さん2018/04/19(木) 11:40:08.06ID:Md7rir1F
PICは即納だけどmurataのチップコンデンサが
納期38週間とか言われて新規量産着手できない状態

772774ワット発電中さん2018/04/19(木) 12:50:37.94ID:lSW2Yh90
ここから独り言スレ

773774ワット発電中さん2018/04/19(木) 19:00:31.25ID:FhrgUwg4
村田だけ?

774774ワット発電中さん2018/04/19(木) 20:22:41.06ID:Md7rir1F
どのコンデンサメーカーも品薄だけど特に村田がヒドイ…
客にドヤされたmurata営業がTDKのセラコン持ってきたなんて噂話までまことしやかに囁かれる現実

775774ワット発電中さん2018/04/19(木) 20:50:05.03ID:uGiu7zA3
全社的にmurata -> 誘電 に移行の流れ

776774ワット発電中さん2018/04/19(木) 20:59:13.16ID:FhrgUwg4
少量生産だとdigikey辺りで代替品テキトーに買えばいいのだろうけど
量産だとそんなわけにはいかないのでしょうねぇ

7777772018/04/19(木) 21:01:17.81ID:IoZPQClm
777

778774ワット発電中さん2018/04/19(木) 22:34:02.01ID:FuNO6Xpy
コンデンサごときで量産止まるとか
そんなことがあるのか
特殊なコンデンサ?

779774ワット発電中さん2018/04/19(木) 23:20:12.77ID:nd3SRc9d
>>778
量産だと、たとえば製造用部品リストに
ごくあたりまえの 1608サイズ 25V 0.1uF 10% R特性 として、

25V 0.1uF 10% TBK製作所 C16081ER104K-R12

なんて書いてあったとして、それが品切れだったときに
「代わりに大洋誘電とかムラ夕製作所とかの同等品がありますやん」
が通じなかったりしますよ。

780774ワット発電中さん2018/04/19(木) 23:37:27.89ID:IiOO487C
まぁ、指定の型式以外は、使っちゃいけないんだから、しょうが無いね。

781774ワット発電中さん2018/04/20(金) 06:29:15.50ID:gBEPiZc6
汎用部品でいくらでも代わりがあるものを
何もせず待ってるだけなんて考えられないんだよね
量産が止まるって普通は大損害なわけで

782774ワット発電中さん2018/04/20(金) 06:34:04.53ID:kjkbjcRi
それは調達部署がアホってだけ。
設計にはなんの落ち度もない

783774ワット発電中さん2018/04/20(金) 06:45:24.51ID:gBEPiZc6
調達部署が調達失敗を隠蔽してた
とかならその言い分もわかるが

784774ワット発電中さん2018/04/20(金) 07:16:35.04ID:alXGJ6H4
抵抗とか電解コンデンサなら他社同等品切替でもまぁ問題は起きないけど
コイルキャパシタは他社相当品に代えた途端、ライン検査NG出まくりで
変更指示出した購買が責任もって不良品買い取れ!なんてことも…

785774ワット発電中さん2018/04/20(金) 07:34:42.17ID:gBEPiZc6
なんでちゃんとした変更手順を取らない前提なんだか

786774ワット発電中さん2018/04/20(金) 07:50:17.34ID:7gRJxqQr
大口なら供給が危うくなれば事前に連絡が来るだろ
購入側も需要予測出してるだろうし
穴を開けたら大変だから間に合うように代替の部品認定や設計変更する

787774ワット発電中さん2018/04/20(金) 07:57:11.54ID:Hqd9yM7H
>>785
いやいや。その「ちゃんとした変更手順」が大変ってことなんでしょう。
積層チップコイル、チップセラミックはメーカーが変わると怖い、って考え方もわかります。

ノイズ試験(特に出す方)、振動試験、温度サイクル試験からやりなおせ、みたいな。
それをやらずに、市場にでてから問題になったら、
それがたまたまのものであっても、他の原因が大きくてもやっぱり変えたからだ、なんてことになりかねません。

誰も自分では責任を取りたくないから、弱いところに責任を押し付けるでしょう。
OKを出したエンジニアに道義的責任を押し付けて昇進・昇給機会を奪うぐらいならまだしも、
量産を請け負っている会社が提案して代替品に置き換えて問題が起きたら目も当てられないことがありますよ。

788774ワット発電中さん2018/04/20(金) 10:15:02.48ID:IUB+UbHb
とりあえず、スレタイ嫁

789774ワット発電中さん2018/04/20(金) 12:13:21.53ID:uscpRFuO
PICを使う初心者も部品選定には気をつけましょうってことで

790774ワット発電中さん2018/04/20(金) 12:33:35.40ID:M80b+5Sh
そんな事言ってたらPICを使う初心者も癌には気を付けましょう
とか際限ない

791774ワット発電中さん2018/04/20(金) 19:45:20.35ID:Hqd9yM7H
>>789
それ、何の初心者やねん…。量産にかかわるプロの初心者ですね。

792774ワット発電中さん2018/04/21(土) 07:29:25.10ID:52LYMKQ4
そもそも部品選定に気を使う初心者ならPICを選ばない可能性が・・・

793774ワット発電中さん2018/04/21(土) 08:36:08.95ID:afdvQDzl
意外とMicrochipは納期トラブル起こさないんだよな…
買収したAtmelとかはちょくちょくやらかしてたのに

794774ワット発電中さん2018/04/21(土) 08:42:14.72ID:oXtXz/iS
PICを使う初心者はエラッタに気を付けましょう

795774ワット発電中さん2018/04/22(日) 13:52:36.04ID:UbSykmzs
なんで?

796774ワット発電中さん2018/04/22(日) 14:01:19.00ID:YIM4HVox
常識

797774ワット発電中さん2018/04/22(日) 17:01:32.04ID:7BGmE1tv
実装始める前にチラ見して自分の使い方に関係なければ放置。関係あったら回避するよう実装する。
それだけ。

798774ワット発電中さん2018/04/22(日) 17:20:59.84ID:1paPJSz9
記載されていないエラッタだったら?
自分のバグかCPUのエラッタか分らなかったら?
正攻法が使えなくて、裏口で遠回りでしか入れないとしたら?
初心者には使いづらいだろうな。

初心者はありふれた使い方しかしないとは思うけど、
いっそエラッタの心配をしなくても済むCPUを選んだ方がいいのではあるまいか。

799774ワット発電中さん2018/04/22(日) 17:25:33.17ID:LNhKFNq5
>>798
記載されていないエラッタが存在しないCPUは何?

800774ワット発電中さん2018/04/22(日) 17:42:11.17ID:aX/zyE30
>>798
エラッタの心配しなくて済むCPUってなに?

801774ワット発電中さん2018/04/22(日) 18:10:37.14ID:+oSYvOd6
いろんな他社のマイコンやFPGAでもエラッタはあるのに
ちゃんと公開してる分まだいいでしょ

802774ワット発電中さん2018/04/22(日) 18:53:51.57ID:YIM4HVox
実装はじめる前に見ないと駄目ですよ
機能が全く使えないのもあるので

あと、記載されてないのもあるんで注意

803774ワット発電中さん2018/04/22(日) 20:40:06.18ID:hUMsEJkM
Lチカしかやらない初心者が気にすることもない

804774ワット発電中さん2018/04/22(日) 21:04:58.12ID:YIM4HVox
機能が使えないのにスペックには機能を有するように書いてあるのはPIC位では?
ひどい会社だ

805774ワット発電中さん2018/04/22(日) 21:31:30.30ID:x9YQ/Dix
>>804
マニュアルに書いてある全機能が問題なく使えるメーカーっ具体的にどこですか?

806774ワット発電中さん2018/04/22(日) 21:45:22.60ID:YIM4HVox
PICしか使ってないと、
宣伝文句に嘘があるのは普通
だと思っちゃうのか

807774ワット発電中さん2018/04/22(日) 21:46:26.01ID:iosJSl1t
エラッタバカ気持ち悪いな

808774ワット発電中さん2018/04/22(日) 21:49:18.33ID:YIM4HVox
PIC信者の方がキモチワルイ
欠点の指摘に対して全力で否定

809774ワット発電中さん2018/04/22(日) 22:20:12.23ID:iosJSl1t
嫌なら使わなければいいだけ
エラッタあるのは皆知ってる
中にはデータシートに記載されていないものもあるだろう
それでも使いたい人は使うし嫌って使わない人もいる
君は後者なだけであって、それを否定するつもりはない

君の気持ち悪い点は
使わないという価値観を他人に押しつけている所
皆がエラッタあるけどPIC使え!と君に押し付けているか?
君に押しつけているなら、そりゃ布教信者だな

エラッタを全力否定している訳では無い
エラッタを含めて使用する事を肯定しているだけ

君はPICエラッタ信者w

810774ワット発電中さん2018/04/22(日) 22:49:25.62ID:/F8LOCIj
信者の長文

811774ワット発電中さん2018/04/22(日) 22:52:01.23ID:/F8LOCIj
エラッタの指摘が「PICを使うな」に見えるのか
病気だな

812774ワット発電中さん2018/04/22(日) 22:54:12.80ID:NVvjNXFo
PICにエラッタがあるのは十分わかったので、
それ以上新しい情報がないならもう来なくていいです

813774ワット発電中さん2018/04/22(日) 22:57:17.48ID:/F8LOCIj
君がわかるだけじゃダメ
初めて君がわからないと

テンプレに載せれば良いと思う
良い点も悪い点も

814774ワット発電中さん2018/04/22(日) 22:59:34.78ID:NVvjNXFo
エラッタエラッタと連呼する粘着質では女にモテませんよ
くだらない書き込みをする暇があったら
その性格を少しでも直して外に出れば、彼女もできるかもしれませんね

815774ワット発電中さん2018/04/23(月) 01:40:13.80ID:qispF0Cu
NYTから
デジタルの世界へ進出するGE
”G.E. Makes a Sharp ‘Pivot’ on Digital”
https://www.nytimes.com/2018/04/19/business/ge-digital-ambitions.html

General Electric社より積極的にデジタル化の波をを受け入れた老舗の企業はないだろう。
G.Eのデジタル化の野望は、同族企業の内部にGE Digitalを設立した2015年に全面的に展示されました。
最高経営責任者のジェフリー・R・イメルト氏は、2020年までにG.E.が「トップ10のソフトウェア企業」になることを
大胆に宣言しました。
今日、そのような野心はありません。 GE Digitalの支出は、レイオフとG.E.の急激な縮小目標の下で縮小されている。
昨年8月に最高経営責任者に就任したジョン・フラナリー氏は11月、GEの経費を今年25%(約4億ドル)削減
すると発表した。彼はG.Eのデジタルイニシアティブは、同社にとっては「非常に重要」なので、もっと集中した戦略が
必要だと付け加えた。

G.E. は判断ミスにより、大きな発電事業の問題をかかえており、それが財務部門のGE Capitalにも負債に関する
不確実性が残している。さらに、 サウスウエスト航空の事故でフランスのサフランで作られたエンジンがどう関わったのか 、
調査結果に注目を集めている。
しかし、GE Digital社の再考は、あらためてデジタル技術を採用している現代の工業用ソフトウェアを製作することの
難しさを指摘している。

低コストのセンサーやデータの氾濫、コスト削減、燃料節約、より優れた製品設計のための洞察を提供すべき賢明な
ソフトウェアなど、いわゆる産業用インターネットの重要なビジョンについては誰も異論を唱えていない。しかし、同社は、
壮大なビジョンを達成するために必要なすべてのソフトウェアを作成するという課題を過小評価してしまった、と
元G.Eマネージャーは述べています。
G.E.の技術力は、発電所タービン、ジェットエンジン、医療用画像機器などの大型機械の設計と製造にあると述べて
います。伝統的なソフトウェアスキルは、機械や工場操作を制御する特殊なプログラムにあります。 GE Digitalは、
クラウドベースのインターネットソフトウェア、データ解析、機械学習などの人工知能ツールへの飛躍的な進出でした。

UBSのアナリスト、Steven Winoker は述べています。 「GEは専門外の世界にあまりにも速いスピードで
飛び込んでしまい、それは金銭的なブラックホールになった」と。
どれくらいのGE Digitalに投資しているかどうかは不明ですが、数十億ドルにもなるでしょう。 昨年のハーバード
ビジネスレビューの記事では、2016年に「分析ソフトウェアと機械学習能力の開発に約40億ドルを投入した」と
書いている。

中略

「今我々は、一生懸命努力をしてる。今にいい結果を出してみせる」とルー氏は語った。
Flannery氏は、G.E.のデジタル産業に対する支持を一貫して宣言していますが、GE Digitalの
未来を保証するものではありません。 Flannery氏は会社を合理化するために事業を売却している。
GE Digitalを売却するかもしれない。
一部のアナリストは、G.E.の独立系のデジタルユニットは必要ない。電力や航空のような産業部門のような
すべての顧客に近づけるようなソフトウェアを開発するよう推奨している。また、財務分析会社のメリウス・リサーチの
スコット・デイビス最高経営責任者は、「GE Digitalは存在すべきではない」と断言する。

816774ワット発電中さん2018/04/23(月) 04:41:12.67ID:nIJuatxM
良いじゃねえかエラッタ連呼はここしか活躍する場がないのだからおおめに見てやれよ。

817774ワット発電中さん2018/04/23(月) 07:09:14.81ID:qws5uQrl
PIC信者って哀れというか、ミジメというか、気持ち悪いというか、普通じゃ無いというか、
なんかもう表現する言葉が見つからないな。
これからもガンバって使い続けて下さい、期待していますw

818774ワット発電中さん2018/04/23(月) 07:18:22.24ID:wXkE7XA+
>>817
今では、8bitマイコンは只の部品に過ぎないのにな。

819774ワット発電中さん2018/04/23(月) 08:12:11.74ID:AQeQEUIQ
>>818
それあなたの感想ですよね?

820774ワット発電中さん2018/04/23(月) 08:21:55.31ID:QrgYmlPT
エラッタみたいな事ってすべての工業製品に共通の事だろ、
自動車や飛行機は人命に関わるからそれなりの扱いになってる
それだけ。

821774ワット発電中さん2018/04/23(月) 08:24:48.16ID:vgfa8Ywc
PICのエラッタはひどすぎる
って話

822774ワット発電中さん2018/04/23(月) 08:26:20.63ID:YI0xN+Rg
羹に懲りてあえ物を吹く。ふうふう。

823774ワット発電中さん2018/04/23(月) 09:21:32.17ID:VqNEcMff
糞に懲りて?

824774ワット発電中さん2018/04/23(月) 11:47:01.13ID:jAF0VgmE
ふうふうで冷めればいいけど
>>682みたいな対処法しかないとなると

825774ワット発電中さん2018/04/23(月) 12:11:47.79ID:24xfnF8o
UARTエラッタ人ってずっと粘着してるの?
メーカーに問い合わせしないで?
ここでエラッタ粘着??

826774ワット発電中さん2018/04/23(月) 12:18:40.11ID:24xfnF8o
UART送信をTXIFで割込みかけて送信するなんて
しょっちゅう使っているんだけど
そんな送信がダブったなんて経験した事がないんだよな

粘着君以外で他に経験した人がいるの?
いるならもっと騒がれていいはずなんだけど
海外でも見ないよね、、なんでだろうね

827774ワット発電中さん2018/04/23(月) 12:23:31.60ID:7ylKcI55
本国は英語版で十分なので、日本語版はおまけですって某社もあるけどな。
エラッタどころかリファレンス自体も更新しやがらねえよ。

それどころか英語版のこんなふうにできますよの使用方法すら日本語版にはデータがないので公開できませんって言われてて流石に同情した。

828774ワット発電中さん2018/04/23(月) 12:31:56.17ID:5jW3aFXL
>>827
えっ酷いね!
どこの会社?
インテル?STマイクロ?

829774ワット発電中さん2018/04/23(月) 12:43:31.78ID:jAF0VgmE
>>826
まともに検証してないだけだと思う

>>827
日本語なんかいらんだろ
更新してなくてもどうでもいい

830774ワット発電中さん2018/04/23(月) 12:52:25.66ID:QrgYmlPT
つか他のデータシート全部英語なわけでマイコンだけ日本語にしてもらっても無意味。

831774ワット発電中さん2018/04/23(月) 13:00:20.21ID:jAF0VgmE
>>826
1人の書き込みだと思ってるのか?
少なくとも>>682 >>798は別の人

ていうか、
逆にバグ有りUARTを使ってて気づかないっていう方が驚きだ
普通に割り込みで作れば2重送信の可能性があるコードになる
あとはタイミングだけ
簡単な負荷テストで発生する

PICユーザーは動作検証しない
って言ってるようなものだ

832774ワット発電中さん2018/04/23(月) 14:05:18.19ID:PYbR2QaM
直す気が無いなら「データシート」に書いとけってな

833774ワット発電中さん2018/04/23(月) 14:12:52.98ID:Jm4vGESD
エラッタ知ってる大先生は他のCPUやらチップやらのスレでも
後進の指導にご尽力なさってるのかしら

834774ワット発電中さん2018/04/23(月) 14:29:03.65ID:7ylKcI55
>>828
STMは英語のサポートチームがサポートしてくれる分ましかな?
ADI社は英語の資料を見ろって言っておきながら英語の資料のデータが無いから教えられないとか言い出す。
しかも国内サポートがてんでばらばらだから御社の〇〇様にこういう感じでサポートして頂いたのですがっていう一連の流れを出さないと、みんな「そこAだから」みたいな一番最初の答えしかくれなかった
まあ5年位前だから改善しててほしいんだけど。

>>829
上司が気に入ってどうにかなる時は良いんだけど、
自分が気になるけど上司は興味無い時とか日本語資料ないと困るんだよね。
うちだけだと良いんだけど。

835774ワット発電中さん2018/04/23(月) 16:33:09.31ID:jAF0VgmE
まともな日本語資料が必要ならルネしかない

836774ワット発電中さん2018/04/23(月) 16:34:53.86ID:0GiMBSOH
>>826
PIC16F1574/5/8/9に対してはエラッタが出てるんだよ。
実際にはエンハンストミッドレンジ全部に関わっているはずなのに他の
ファミリーに対してはエラッタを出してないのが問題視されているところ。

PIC16(L)F1574/5/8/9 Family Silicon Errata and Data Sheet Clarification
http://ww1.microchip.com/downloads/en/DeviceDoc/80000642C.pdf
>1.1 Transmit Mode
>Under certain conditions, a byte written to the
>TXREG register can be transmitted twice. This
>happens when a byte is written to TXREG just as
>the TSR register becomes empty.

837774ワット発電中さん2018/04/23(月) 20:56:25.65ID:vgfa8Ywc
サブマリンエラッタ

838774ワット発電中さん2018/04/23(月) 21:56:32.74ID:YI0xN+Rg
>>836
今度の週末に試してみよう。
たまたま出ていないだけかもしれないし。

839774ワット発電中さん2018/04/23(月) 22:17:04.96ID:YI0xN+Rg
>>836
>実際にはエンハンストミッドレンジ全部に関わっているはずなのに

http://ww1.microchip.com/downloads/en/DeviceDoc/80000653D.pdf
PIC16(L)F1717/1718/1719のシリコンリビジョンA1ではその問題は「−」になってる。
モノによっては修正済みとかがあるのかな。

840774ワット発電中さん2018/04/23(月) 22:36:17.49ID:0GiMBSOH
>>839
そのエラッタは気付かなかった。
どうせモジュールは使い回しで、マイクロチップ内ではどのチップで同じ
問題があるかは分かっているはずで、どういう基準で対応してるのかな。

841774ワット発電中さん2018/04/24(火) 04:42:53.24ID:4lnVGYH5
遅いから割り込みが発生してTXREGにライトするタイミングならダブル送信は発生しない。
丁度TXREG が空になったタイミングだと発生する場合があるだけ。
送信割り込みフラグ確認してから送信バッファーなどの処理をしてからTXREG をライトすれば問題ない。

842774ワット発電中さん2018/04/24(火) 06:35:48.43ID:rQtzCYq7
全く対策になってなさそう

843774ワット発電中さん2018/04/24(火) 06:44:53.15ID:R0opAjvi
同じモジュールを使っててもその間の配線が違えば
遅延も違ってくる。
→ピンやソフトから見えるタイミングも違う可能性がある。

十羽一絡げにしてギャーギャー言ってる人達、なんだかね…

844774ワット発電中さん2018/04/24(火) 06:50:13.09ID:vfSZoOUP
十把一絡げ、だよな。

アヒルみたいなのが10羽、紐でまとめて縛られてギャーギャー騒いでいる様子を想像した。

845774ワット発電中さん2018/04/24(火) 07:06:29.76ID:rQtzCYq7
2重送信になるタイミングはどれも同じだよ

846774ワット発電中さん2018/04/24(火) 07:07:59.47ID:vfSZoOUP
10羽ひとカラアゲ…

さておいて。

>>839のErrataのWork around 回避策? に、

Monitor the Transmit Interrupt Flag bit (TXIF).
Writes to the TXREG register can be performed
once the TXIF bit is set, indicating that the
TXREG register is empty.

って書いてある。TXIFを見よ。立ってたら空っぽだ。と。

割込みがかかるときって、TXIFが立つときではなかったっけ。

このスレで問題にされているのは、送信割込みで2重送信が発生する、ということだと思うのだけど、
それだと因果関係が前後するような気がする。別の問題?


俺自身の習慣が>>841みたいなことなので、問題になっていないのかな?

847774ワット発電中さん2018/04/24(火) 07:19:35.84ID:rQtzCYq7
TSRが空になる瞬間の書き込みがマズいんだから
TXREGが空である確認をしても対策になってない

848774ワット発電中さん2018/04/24(火) 07:26:04.65ID:wur0/mM1
wレジスタ → TXREG → ShiftRegister → Tx端子
          ↓TXIF   ↓TRMT
先にTXREGが空となり、続いてShiftRegisterが空になったその瞬間にwレジスタから書くと
TXREGとSR両方にコピーされてダブルってことやからErrataのは回避策になってないんだよな
TXIFとTRMTをポーリングしてTXREG書くとか、ウェイト入れてSRが捌けるのを待つとかすべき

849774ワット発電中さん2018/04/24(火) 07:27:30.07ID:rQtzCYq7
TMRTは対策にはなるが
それをどうやって実装するのって話になる

割り込みでループして待つ?
タイマー割り込みで監視?
どっちも最悪ですね
送信割り込みの意味がない

もう一個
TMRTを待ってから送信では送信データに毎回隙間が空いてしまう
受け側がFIFO+タイムアウト割り込み
みたいな高級な回路だったら
1バイトずつ割り込みがかかる最悪な動作
それこそ攻撃みたいなパターンになってしまう
そんな問題のある可能性のある送信じゃ製品には出来ない

850774ワット発電中さん2018/04/24(火) 07:37:00.45ID:rQtzCYq7
こんなことをずいぶん前にも書いた気がする

現象を書いたら
「お前のバグだ」
コードをアップしたら
「こんなコードじゃうまく動かないのは当たり前」
エラッタだとわかったら
「回避は簡単」「対策できないのはお前がアホだから」

PICスレは非常に民度が低い信者のスレだと思ったよ

851774ワット発電中さん2018/04/24(火) 07:38:13.00ID:wur0/mM1
巨大な受信バッファ持ってるPCが受信相手なら隙間だらけの送信でも全然問題なっしんぐなので
自分はTRMTポーリングで対処してます
PICが受信相手でもFIFO溜まった時点で割込みかかるので隙間だらけの送信でも負荷増えないし

852774ワット発電中さん2018/04/24(火) 07:43:30.47ID:rQtzCYq7
FIFOがたまった時点で割り込みが発生するだけだと
FIFOのデータが少ないときは受信したことがわからないので
受信してから隙間が空いた時にも割り込みがかかる
っていう回路がある

853774ワット発電中さん2018/04/24(火) 07:45:03.89ID:rQtzCYq7
PCだとRS-232Cの負荷なんて誤差レベルだが
負荷は増えてるかもしれない

854774ワット発電中さん2018/04/24(火) 07:54:48.66ID:vfSZoOUP
>>848
>先にTXREGが空となり、続いてShiftRegisterが空になったその瞬間にwレジスタから書くと
>TXREGとSR両方にコピーされてダブルってことやから
確かにこの問題は以前に話題になっていたと思う。

で、問題は、
>Errataのは回避策になってないんだよな

これは、>>839のErrataの回避策を指してのことだと思うのだけど、別の問題ってことはないですかね。
最初の問題を直したつもりで、別の問題が出てきたとか。

855774ワット発電中さん2018/04/24(火) 08:00:02.19ID:vfSZoOUP
>PICスレは非常に民度が低い信者のスレだと思ったよ
民度は眺めるものではなくて、自分でなんとかするもの。

サッカースタジアムや、羽生パレードのあとのゴミも、みんながみんなゴミを捨てなかったのではなくて、
捨てた人がいても、それを拾った人がいるから、結果としてスゲーって思ってもらえるわけだし。

856774ワット発電中さん2018/04/24(火) 08:04:19.17ID:rQtzCYq7
今気付いたけど
TRMTと書いてあるマイコンと
TMRTと書いてあるマイコンと
両方あるみたい

上のリンクのエラッタは両方TMRT
データシートのエラッタが仕様になっちゃったみたいな?

857774ワット発電中さん2018/04/24(火) 08:09:13.98ID:vfSZoOUP
あ、本当だ。

858774ワット発電中さん2018/04/24(火) 09:45:59.11ID:xDXYG0tm
TRMTとTMRTで対策済か否かを見分けるようにして欲しいな

859774ワット発電中さん2018/04/24(火) 09:47:23.33ID:izqJBaBe
初めてスレで延々とやる話題かね
本スレでやればいいのに

860774ワット発電中さん2018/04/24(火) 10:55:25.39ID:elhCr7SK
>>853
そんなことはない。トータルの転送量だけ考えるとたいしたことなさそうだが、
232Cを10ポート20ポートつないでフルフルで動かすとPCの負荷はけっこう大きい。
CPU負荷だけの問題じゃないぞ。ハードやドライバの作りにもよるが。

861774ワット発電中さん2018/04/24(火) 11:13:50.22ID:UCZLa1l+
>232Cを10ポート20ポート
なんだかなぁ

862774ワット発電中さん2018/04/24(火) 11:35:57.81ID:+jfY4gdE
おれの使い方ならまったく問題ないからどうでもいい

863774ワット発電中さん2018/04/24(火) 12:05:32.06ID:JfzX5cw2
俺のエラッタ回避方法は
1. 割り込み禁止が1文字送信時間を超えるようなコーディングをしない。
2. n文字送信関数で最初の1文字送信のときにリングバッファが空ならTRMTが1になるまで待つ。

864774ワット発電中さん2018/04/24(火) 12:52:06.32ID:elhCr7SK
>>861
232や485を10や20つなぐPCなんて工場とかではザラなわけだがWindowsあたりだとけっこうコケる
TCPでセッション100張るほうがうんと負荷軽くて楽
チップセットとプロトコルが頭いいと楽だね

865774ワット発電中さん2018/04/24(火) 12:54:47.66ID:xDXYG0tm
Microchipが重視していない姿勢を鑑みるに
ごく一部のユーザーが特殊な条件で使用する時のみ
影響する事象なので
EnhancedMidrange全型番のエラッタに載せてないんだろうね
ほとんどの初心者には影響ないからスルーして良いかと

866774ワット発電中さん2018/04/24(火) 12:58:12.74ID:avxJ9V6C
Microchipは全てのエラッタを重視してない

867774ワット発電中さん2018/04/24(火) 13:05:39.26ID:avxJ9V6C
>>863
最大2文字分のビジーループが発生する
稀なタイミングしかオーバーヘッドが発生しないのと
ハードが不要なのが利点か

おれのUARTエラッタ回避法は
フリーランタイマーでヤバいタイミングを調べて
可能性があればnop 1個でタイミングをずらす
ビジーループは無いがタイマーを使う
(タイマーは共用可能)
割り込み禁止期間の制限は特に無い

868774ワット発電中さん2018/04/24(火) 14:59:36.41ID:58dfx+0t
18F46K22でI2Cを使うのでMCCでMSSP1を選んだが動作しない。
EUSART1、TMR0、ADCは動作しています。
SCL1とSDA1のピンはHighのままです。
I2C1.hのEMULATED_EEPROM_Write/Readをコピペしているが、
PICKit3のデバッグでPAUSEにすると
while(status == I2C1_MESSAGE_PENDING) ;から抜け出せないようです。
MSSP2にしても同じです。
EasyタブはI2C Master/Enable MSSP/Slew Standard/SDA Hold 300nS/7bitで
I2C Clockの0x03≦0xA0≦0xFFで99.379KHzと表示されてます。
RegistersタブはBCLIとSSPIのチェックとADD=0xA0/BUF=0x0/CON1=0x28/CON2=0x0/CON3=0x8/STAT=0x80
SSP1MSKが0xFFで赤くブリンクしているのが気になります。

869774ワット発電中さん2018/04/24(火) 15:53:22.15ID:+WRSdb8B
PICエラッタの最良の対処方法はPICを使わないこと。
何故にマルチタスクも動かせないようなこんな低レベルCPUにこだわるのか?

870774ワット発電中さん2018/04/24(火) 16:49:17.74ID:izqJBaBe
>>869
こだわってるのはあなた
他人が何を使おうが勝手でしょ

871774ワット発電中さん2018/04/24(火) 17:02:59.56ID:X1ScF0Ni
人の財布の中覗いてケチつける
他人の家の冷蔵庫開けて食材にケチつける

朝鮮人文化には馴染めません

872774ワット発電中さん2018/04/24(火) 17:16:47.07ID:+WRSdb8B
こだわっていないし、ケチもつけてませんよぉ。
ただただ疑問に思っただけ、理由を知りたかっただけです。
PICの何がそんなに魅力なのか?
もしかしたらPIC信者ってMなのか?
ハハハ、私のレスは無視して下さい、ちょっと退屈していただけなので。

873774ワット発電中さん2018/04/24(火) 17:31:14.75ID:R0opAjvi
他の会社のCPUにもエラッタは有るんだけど

874774ワット発電中さん2018/04/24(火) 17:41:00.95ID:gijGFcCB
春になるとわくものに釣られすぎ。別人だろうけど、他の板のスレにもこの時期になるとわいてくる。

875774ワット発電中さん2018/04/24(火) 18:47:22.37ID:lIO8jw8O
去年から年中エラッタ、エラッタ吼えてますよあの人

876774ワット発電中さん2018/04/24(火) 18:57:58.16ID:bnV5Dkpe
PIC信者を NGワード化して久しいが
これがまだ続くなら エラッタ もNGワード
にしようかと。兎に角しつっこいからな。

877774ワット発電中さん2018/04/24(火) 20:25:01.77ID:WMv6gswj
NGされたらエッタラで回避しますw

878774ワット発電中さん2018/04/24(火) 20:45:05.51ID:xyHEfl0h
ここまでPICをdisってるエラッタおじさんはどんなCPU使ってるの?

879774ワット発電中さん2018/04/24(火) 21:54:34.61ID:bnV5Dkpe
もうウザイから、たった今、エラッタもエッタラも NGワードに登録したぜよ

880774ワット発電中さん2018/04/24(火) 21:56:11.69ID:bnV5Dkpe
工ラッタ とか エラッ夕 とか使うなよ

881774ワット発電中さん2018/04/24(火) 22:13:46.55ID:50p198lT
>>878
文句言いながらもここを覗きに来てるって事は、根っからのPIC信者なんだろ。

882774ワット発電中さん2018/04/24(火) 23:42:55.54ID:vfSZoOUP
趣味でも仕事でも、ファンだから使う、は有りうる。
仕事でその理由は有りえない、と思う人は、そういう立場を知らないだけのこと。
なぜファンなのか、他のものの比べた上で判断したのか、なんてのは野暮。

883774ワット発電中さん2018/04/25(水) 00:04:12.68ID:S3bTZ6vT
バグを知らないで遭遇したらとんでもない時間を浪費することになるし
納期を間に合わせるために原因不明のまま対処療法の対策で納品する
なんてことにもなりかねない。
感情的にならないで有益な情報として受け入れた方がいいと思うけどな。

884774ワット発電中さん2018/04/25(水) 00:07:33.90ID:0PS/es3J
ライタを持ってるから
本を買って持ってるから
PCに環境を作ったから
使い方を覚えて染み付いてるから
買い置きが残ってるから
これまで書いたコードが流用できるから
困ったことや痛い目に遭ったことがないから

全て消極的理由だが、趣味なら乗り換えない理由としては十分
別に特段の魅力は感じてなくてもPICで良いって人間もいるんだからほっといてくれ
ほんと余計なお世話

885774ワット発電中さん2018/04/25(水) 00:48:54.42ID:MTGmtNA+
こういうのに難癖つけるやつに限って
自分の使っているチップ型式を云わないのな

AVRとかだったりするのかねぇ

886774ワット発電中さん2018/04/25(水) 03:12:38.31ID:u8fROgri
> 困ったことや痛い目に遭ったことがないから

というより、困ったことや痛い目に散々遭って、それを時間をかけて
克服してきた実績と自信があるから、違うチップでまたやり直すの
やだなあみたいな先入観があるな。

#流用できる完動するコードがある、に帰着するかもしれないが。

887774ワット発電中さん2018/04/25(水) 06:38:56.81ID:Rywnw9Xh
導入の壁乗り越えて
自分なりのお気に入りライブラリー揃えてしまうと
今更他のマイコンに乗り換えるモチベーションか

888774ワット発電中さん2018/04/25(水) 06:42:12.00ID:wRI2g9bE
PIC自体の良いところが何一つ出て来ないところが泣けるねえ

889774ワット発電中さん2018/04/25(水) 06:43:45.80ID:g4rG95E1
PICに問題があるからダメだって話はするくせに、問題のないチップは出てこない。
PICは問題が多いというが、結局のところ多かろうが少なかろうが自分が使うところにその問題があるかどうか。
バグがたとえゼロでも供給に不安があるならダメだろう。
バグは開発段階で回避できるかもしれないが、製造段階で全く互換で置き換えられるものの供給が滞るとかなりイヤ。
ユーザーが多いほど問題は既知のものになりやすい。
ネットで情報発信しているユーザーが多い方が、問題解決はしやすい。

890774ワット発電中さん2018/04/25(水) 06:49:12.00ID:g4rG95E1
>>888
いちいちまとめることもしないけれど、見えてないフリしてるだけだと思う。
勝手に泣いてろ。

891774ワット発電中さん2018/04/25(水) 07:41:17.17ID:jPiSVkL0
取るに足らない問題に当たった0.1%以下の人間がギャンギャン吠え続け
問題がないか,自分で解決したほぼ100%の人たちは黙ってる

892774ワット発電中さん2018/04/25(水) 08:23:24.77ID:qvE2qIf7
>>883
問題解決能力ないお前がそうなだけ

893774ワット発電中さん2018/04/25(水) 09:56:07.04ID:lDLEToeS
DIPパッケージ、PPS、外付部品少なくて頑丈

今更な長所だけど趣味には重要だよ

894774ワット発電中さん2018/04/25(水) 10:42:37.67ID:5d9B/hP4
入手性とか考えたらホビーユースだとPICかAVRぐらいしかないし、PICの内蔵ペリフェラル機能は活用できると便利だから使ってる。

895774ワット発電中さん2018/04/25(水) 11:16:30.06ID:TIJK9eAp
>>867
リングバッファでなくてTXIEを見れば、ビジーループを最大1文字分にできることは知っているんだが、なんとなく気持ちわるくてね。

896774ワット発電中さん2018/04/25(水) 11:28:03.34ID:4yUtx/6g
>>868
どうも 868 です。
PIC18F47K42で同様な現象の記事を見つけましたが私には理解できません。
http://www.ccsinfo.com/forum/viewtopic.php?p=217541

下のコードを追加するようなんですが、どのファイルなのかわかりません。
//Select I2C with PPS
#PIN_SELECT SCL1IN = PIN_C3
#PIN_SELECT SCL1OUT = PIN_C3
#PIN_SELECT SDA1IN = PIN_C4
#PIN_SELECT SDA1OUT = PIN_C4
#use i2c(Master,Slow,I2C1,FORCE_HW)
最後のスレの
//Select I2C with PPS
#PIN_SELECT SCL1 = PIN_C3
#PIN_SELECT SDA1IN = PIN_C4
#PIN_SELECT SDA1IOUT = PIN_C4
//Using the peripheral name always forces hardware
#use i2c(Master,Slow=100000,I2C1)
が正解なのかも知れないが、どこに挿入するのだろう?

897774ワット発電中さん2018/04/25(水) 11:40:05.10ID:5d9B/hP4
>>896
せめてmain.cぐらいは見せないと何もわからんよ。

898774ワット発電中さん2018/04/25(水) 12:45:11.39ID:4yUtx/6g
>>896
すまん、18F46K22にはPPSは無かった。

899774ワット発電中さん2018/04/25(水) 13:15:06.06ID:AhgN+FLz
>>894
LPCとかSTMもあるし、8051系もありますよ。

900774ワット発電中さん2018/04/25(水) 13:19:43.53ID:4yUtx/6g
>>897
こんな感じです。
EMULATED_EEPROM_Read関数はMCCが生成したi2c1.hの例文をコピペして、main関数の前に定義しました。
EMULATED_EEPROM_Read関数のwhile(status == I2C1_MESSAGE_PENDING) ;から抜けられないようです。
オシロでSCL1(RC3)とSDA1(RC4)を観察してもHighの状態です。
双方とも4.7KでVDDにプルアップしています。
I2CデバイスはDS1307(カレンダー)です。
TMR0とEUART1とADCは動作しています。

void ReadDateTime(uint8_t *pDateTime)
{
uint8_t dt[8];
// Read DS1307 Reg.
EMULATED_EEPROM_Read(0x68, 0, dt, 8);
*pDateTime++ = ((dt[6] >> 4) * 10) + (dt[6] & 0x0f);
*pDateTime++ = ((dt[5] >> 4) * 10) + (dt[5] & 0x0f);
*pDateTime++ = ((dt[4] >> 4) * 10) + (dt[4] & 0x0f);
*pDateTime++ = ((dt[2] >> 4) * 10) + (dt[2] & 0x0f);
*pDateTime++ = ((dt[1] >> 4) * 10) + (dt[1] & 0x0f);
*pDateTime = ((dt[0] >> 4) * 10) + (dt[0] & 0x0f);
}

void main(void)
{
uint8_t DateTime[6];
SYSTEM_Initialize();
INTERRUPT_GlobalInterruptHighEnable();
INTERRUPT_GlobalInterruptLowEnable();
INTERRUPT_PeripheralInterruptEnable();
TMR0_SetInterruptHandler(timer);
printf("Start!&#165;r&#165;n");
ReadDateTime(DateTime);
ここに来ない

901774ワット発電中さん2018/04/25(水) 13:33:20.45ID:aEth5XWW
>>895
TXIEを見た後TXREGにセットするまでの間に
割り込みがバタバタっと来たらアウトじゃないか?

902774ワット発電中さん2018/04/25(水) 13:33:57.70ID:aEth5XWW
割り込み禁止するの?
バタバタっと来ない前提?

903774ワット発電中さん2018/04/25(水) 13:42:18.51ID:4yUtx/6g
>>897
コピペの関数もそのまま添付します。
void EMULATED_EEPROM_Read(
uint16_t slaveDeviceAddress,
uint16_t dataAddress,
uint8_t *pData,
uint16_t nCount)
{
static volatile I2C1_MESSAGE_STATUS status;
I2C1_TRANSACTION_REQUEST_BLOCK readTRB[2];
uint8_t writeBuffer[3];
uint16_t timeOut;

// this initial value is important
status = I2C1_MESSAGE_PENDING;

// build the write buffer first
// starting address of the EEPROM memory
writeBuffer[0] = (dataAddress >> 8); // high address
writeBuffer[1] = (uint8_t)(dataAddress); // low low address

// we need to create the TRBs for a random read sequence to the EEPROM
// Build TRB for sending address
I2C1_MasterWriteTRBBuild( &readTRB[0],
writeBuffer,
2,
slaveDeviceAddress);
// Build TRB for receiving data
I2C1_MasterReadTRBBuild( &readTRB[1],
pData,
nCount,
slaveDeviceAddress);

timeOut = 0;

while(status != I2C1_MESSAGE_FAIL)
{
// now send the transactions
I2C1_MasterTRBInsert(2, readTRB, &status);

// wait for the message to be sent or status has changed.
while(status == I2C1_MESSAGE_PENDING) ;

if (status == I2C1_MESSAGE_COMPLETE)
break;

// if status is I2C1_MESSAGE_ADDRESS_NO_ACK,
// or I2C1_DATA_NO_ACK,
// The device may be busy and needs more time for the last
// write so we can retry writing the data, this is why we
// use a while loop here

// check for max retry and skip this byte
if (timeOut == SLAVE_I2C_GENERIC_RETRY_MAX)
break;
else
timeOut++;

}
}

904774ワット発電中さん2018/04/25(水) 14:57:04.90ID:4yUtx/6g
mainのprintf("Start!&#165;r&#165;n");を以下の行に変えたてみたが、SCL1もSDA1もHのままだわ。
printf("TEST1&#165;r&#165;n");
SSP1STAT = 0xC0;
SSP1CON1 = 0x28;
SSP1CON2 = 0x00;
SSP1CON3 = 0x08;
SSP1ADD = 0x9F;
SSP1BUF = 0x00;
printf("TEST2&#165;r&#165;n");
printfは正常に表示された。
別のソフトでRC3,RC4をGPIOでOUTにしてH/Lの出力を確認できたから生きているはず。

905774ワット発電中さん2018/04/25(水) 15:24:18.89ID:5d9B/hP4
>>904
オシロがあるならI2C.hで宣言されてるシンプルなリード、ライトをためしてみたら?オシロでなにも無いようなら、初期化周りが怪しい気がする。関数内だからこっちはどうなってるかわからんが。

906774ワット発電中さん2018/04/25(水) 15:38:52.91ID:eCcunkaK
PC USBロジアナ安いからおすすめ
〜\1000程度で買える
RS232やI2Cの解析なんかには十分な
24MHzサンプリング8ch
amazonとかebayで買える

907774ワット発電中さん2018/04/25(水) 15:40:07.33ID:TIJK9eAp
>>902
>>863のリングバッファが空だったらってとこを、TXIE(TX割り込みイネーブル)が0だったらと変えるだけ。

908774ワット発電中さん2018/04/25(水) 15:56:00.57ID:4yUtx/6g
>>905
main.c内に下記のtest関数を定義して、MCCの初期化と割込み許可直後でtest関数を呼び出した。

void test(void)
{
static volatile uint8_t buh[16];
I2C1_MESSAGE_STATUS status = I2C1_MESSAGE_PENDING;

I2C1_MasterRead (buf, 4, 0x68, &status);
printf("%02x, %02x, %02x, %02x&#165;r&#165;n", buf[0], buf[1], buf[2], buf[3]);
}

オシロにはHレベルのままでI2C1_MasterRead関数から返ってきた。
4バイトとも0x00でした。
何故かその後に呼び出されるReadDateTime関数内の
EMULATED_EEPROM_Read(0x68, 0x0000, dt, 8)から抜けられるようになった。
でもデータは全て0x00でオシロにも出てこない。

別ソフトで1mS周期割り込みでRC3,RC4を毎回反転するのを書き込むとオシロにちゃんと矩形波が現れる。

909774ワット発電中さん2018/04/25(水) 16:03:38.28ID:4yUtx/6g
>>905
MCCの初期化部分が先のコードです。

SSP1STAT = 0xC0;
SSP1CON1 = 0x28;
SSP1CON2 = 0x00;
SSP1CON3 = 0x08;
SSP1ADD = 0x9F;

何故かSSP1CON2が無かったので追加したが変化なし。

この状態で
SSP1BUF = 0x00;
すれば送信が発生すると思うのだが?
初期化間違っているのかな?
SPIは何度も使ったけどi2cはPICでは初めてです。

910774ワット発電中さん2018/04/25(水) 17:14:24.29ID:5d9B/hP4
>>909
設定はそれで問題ないはず。速度は計算してないから、合ってるかわからんけど。
BUFFにデータ入れるまえにCON2.SEN=1でスタートコンディション発行しないと駄目。これだけでSDAは一旦Loになるはず。

911774ワット発電中さん2018/04/25(水) 18:07:06.07ID:ozfwihV9
>>910
ありがとうございます。
明日、試します。
MCCのコードをPIC16系と見比べたけど同じだった気がする。
明日こそ!

912774ワット発電中さん2018/04/25(水) 19:10:38.65ID:Iegs2HCt
>>907
それはわかってる

TXIEを見てから送信バッファに書くまでのタイミングに
UART以外の割り込みが来て、
そこからUART割り込みでTXREGに書くまでに
ダブるタイミングになったらマズイだろ
って思ったけど
割り込みが1文字送信時間分占有しないと問題が起きないし
1文字占有したら受信もマズいので
まああまり気にしなくていいかな

ボーレートが速くてUSBも使ってたりする場合は注意が必要っていうくらい
ソフトのバッファでも猶予が倍になるだけて同じだな

一応条件に加えておいた方が良いかと

913774ワット発電中さん2018/04/26(木) 07:48:00.18ID:pjy6qYAx
>>910
おはようございます。

SCL1、SDA1が共にLowになりました。

SSP1CON2bits.SEN1 = 1;
SSP1BUF = 0x00;

MSSP1は生きているようなのでもう一度PIC16FとPIC18FでのMCCコードの違いを探します。

914774ワット発電中さん2018/04/26(木) 07:51:43.02ID:pjy6qYAx
>>910
速度はFOSCがPLL使用で64MHzで100KHzになっているつもりです。

915774ワット発電中さん2018/04/26(木) 11:35:24.22ID:0ynxSK/6
PICのI2Cはエラッタだらけ
MKやMMにI2Cが無いのはエラッタで全く使い物にならないからスペックから消した
不自然にI2Cが無いのはそういう理由
MZは使い物にならないけどスペックに載ってる

916774ワット発電中さん2018/04/26(木) 12:53:24.82ID:Xj/+jZB9
エラッタエラッタうるせーバカだな
おばQのOちゃんかよ

917774ワット発電中さん2018/04/26(木) 13:24:53.28ID:1UVTueHh
>>916
ワロタ、バケラッタ

918774ワット発電中さん2018/04/26(木) 14:02:37.95ID:pjy6qYAx
>>910
解決しました!
PIC16FのMCCコードと比較した結果

I2C1_Initialize関数の最後に// add行を追加
// clear the master interrupt flag
PIR1bits.SSP1IF = 0;
PIR2bits.BCL1IF = 0; // add
// enable the master interrupt
PIE1bits.SSP1IE = 1;
PIE2bits.BCL1IE = 1; //add

I2C1_BusCollisionISR関数に下記add行挿入
PIR2bits.BCL1IF = 0; // add

I2C1_MasterTRBInsert関数の前に以下のインライン関数を定義
inline void I2C1_WaitForLastPacketToComplete()
{
while(i2c1_state != S_MASTER_IDLE)
{
// If your code gets stuck here it is because the last packet is never completing
// Most likely cause is that your interrupt is not firing as it should. Check if you have
// correctly enabled all MSSP, Peripheral and GIE interrupt settings.
}
}
I2C1_MasterTRBInsert関数の最後の
// for interrupt based
if (*pflag == I2C1_MESSAGE_PENDING)
{
while(i2c1_state != S_MASTER_IDLE)
{
// force the task to run since we know that the queue has
// something that needs to be sent
PIR1bits.SSP1IF = true;
}
} // block until request is complete
を以下に差し替え
// for interrupt based
if (*pflag == I2C1_MESSAGE_PENDING)
{
I2C1_WaitForLastPacketToComplete();

// The state machine has to be started manually because it runs only in the ISR.
// If we called the ISR function here function duplication would double the code size
// because this function would be called both from interrupt and from mainline code.
PIR1bits.SSP1IF = true;

} // block until request is complete
これでI2C通信が正常に動作しました。
DS1307のアドレスポインタは8bitなのでEMULATED_EEPROM_Read関数の16bitを書き換えました。

919774ワット発電中さん2018/04/26(木) 14:15:25.53ID:U89H4f+w
エラッタアレルギーだな

920774ワット発電中さん2018/04/26(木) 16:39:20.13ID:wsiyshJn
うっかりするとエラッタの存在見落としがちだから、
騒いで騒ぎ過ぎは無いと思う
エラッタ情報をデータシートと分けてあるのは
嫌がらせ超えて隠蔽体質だと思うよ
PDFファイル合冊して発行すればいいのに
それともデータシートのどこかに書いてある?

921774ワット発電中さん2018/04/26(木) 16:51:29.93ID:0ynxSK/6
メーカーもだが
スレの住人も隠蔽体質だからな

922774ワット発電中さん2018/04/26(木) 17:25:12.14ID:tI778vpf
製品としての仕様であるデータシートと
実装の問題であるエラッタは分けといてくれる方がいい
シリコンリビジョンが上がる度にデータシートが更新されるなんてあり得ません

923774ワット発電中さん2018/04/26(木) 17:58:30.70ID:uI7+7JKe
エラッタなんてここじゃなくて、あっちでやってほしい
全然意味がわかんなあいーー

924774ワット発電中さん2018/04/26(木) 18:25:12.30ID:wsiyshJn
>>922
いや、シリコンリビジョンが上がってもデータシートが更新されないなんてあり得ません
エラッタも治らないならいい加減仕様として明記しろって話だよ

925774ワット発電中さん2018/04/26(木) 18:53:41.09ID:xlLeGkxK
>>924
リビジョン毎にデータシートなんて出さないよ。

926774ワット発電中さん2018/04/26(木) 19:18:07.16ID:zrSq8Rut
リビジョンなんかほとんど変わらないし
変わってもエラッタ直らないし

使えないものはデータシートから消してほしい

927774ワット発電中さん2018/04/26(木) 20:11:58.63ID:Qrq30GQB
今回はエラッタ関係なかった。

928774ワット発電中さん2018/04/26(木) 20:13:38.99ID:Qrq30GQB
>>927
918です。
EEPROMも配線して、どんどん拡張です。

929774ワット発電中さん2018/04/26(木) 22:39:11.28ID:uI7+7JKe
エラッタばっかりでわらった

930774ワット発電中さん2018/04/26(木) 22:58:28.01ID:uI7+7JKe
初心者にも質問させろーーー

931774ワット発電中さん2018/04/26(木) 23:38:41.81ID:x/bI+Fe1
質問してくれていいよ
他の話題で活気付けば誰もエラ男の相手なんかしないから

932774ワット発電中さん2018/04/27(金) 15:49:09.70ID:y/XUCCUG
NYTから

”A.I. Researchers は100万ドル以上の高給を得ている”
A.I. Researchers Are Making More Than $1 Million, Even at a Nonprofit
https://www.nytimes.com/2018/04/19/technology/artificial-intelligence-salaries-openai.html

シリコンバレーで公然の秘密の一つは、人工知能の専門家が巨額の給与とボーナスを得ているという
ことです。 今、OpenAIと呼ばれる研究室によるちょっとした税金申告によって、そのような驚くべき
金額が公になっています。

OpenAIは、2016年にトップ研究員であるIlya Sutskeverに190万ドル以上を支払った。その年の
3月から採用されたにもかかわらず、もう一人の有力な研究員、Ian Goodfellowに80万ドル以上を
払った。 両方ともGoogleからリクルートされました。2016年6月に採用された、元カリフォルニア州立大学
バークレー校の教授で、ロボット研究者のPieter Abbeelは$ 425,000を得た。 これらの数字には
すべて契約ボーナスが含まれています。

OpenAIが非営利団体であるために、公開された税務書類に記載されている数字は、世界中の組織が
A.I.技能者に支払っている金額を垣間見せてくれた。 しかし、注意すべきなのは、OpenAIでの報酬は、
非営利団体としてストックオプションを提供することができないため、これらの研究者はこれでもまだ安売り
してるかもしれないということです。

これらの技術を理解している人は少なく、何千もの企業がその技術を使いたいと思って居るので、
トップA.I.研究者の給料は天文学的な数字になってます。
カナダの独立研究機関によれば、真に重要なA.I. researchをを行うために必要なスキルを持っている人は
世界中の22,000人しかいないと推定しています。

「需要が山のようにあるにに、一方供給は水のしずくのようにしかありません。」
AIの事業を立ち上げたSkymindの創業者であるクリス・ニコルソンは語った。
それは大学や政府にとって重大な問題を引き起こす。 彼らにもまた、A.I.技術者が必要です。
次世代の研究者に教え、これらの技術を軍隊から薬の開発に至るまで実践に移すために。
しかし、彼らは決して民間セクターで支払われている同額の給料を払えません。

以下略

933774ワット発電中さん2018/04/27(金) 17:06:07.76ID:Q3tumWQf
誤爆

934774ワット発電中さん2018/04/27(金) 22:12:17.83ID:J0rOJR9S
>746 に送ったが何も反応ない。「使えねーよボケが!」でも良いんだけど。

935774ワット発電中さん2018/04/28(土) 00:20:07.59ID:u90n8Wf/
使えねーよボケが!

936774ワット発電中さん2018/04/28(土) 07:12:06.55ID:u90n8Wf/
アドレスが受信専用って書いてあるからねえ
「受け取りました」くらいはここに書いても良いとは思うけど

937774ワット発電中さん2018/04/28(土) 07:59:23.33ID:htNAzHQf
メールアドレスってもともと受信に使うものなんじゃないのかな?
送信に必要なのはSMTPなどの送信サーバーにアクセスする権利なだけで。

938774ワット発電中さん2018/04/28(土) 09:04:01.30ID:u90n8Wf/
もともととかどうでもよくね?

939774ワット発電中さん2018/04/28(土) 09:12:56.58ID:u90n8Wf/
>>760を見て

送ってくれたメールの送り主に対してメールを送るつもりはありません

という意志だとわからないと
ただの面倒くさいヤツ

送信専用のアドレスって何だよwww
と思ってもそれを言わないのが大人

940774ワット発電中さん2018/04/28(土) 10:20:52.91ID:htNAzHQf
ID:u90n8Wf/ は拗ねたものの見方をする人だな。

941774ワット発電中さん2018/04/28(土) 11:08:56.80ID:XLfGLUVl
大人になればわかるよ

942774ワット発電中さん2018/04/28(土) 14:37:30.79ID:htNAzHQf
大人にも拗ね方が強い人と、そうでない人がいますね。

943774ワット発電中さん2018/04/28(土) 14:41:39.09ID:htNAzHQf
秋月にPIC16F18323をリクエストした人がいるっていうが、18325と10円しか違わない。
18323は18325のサブセットだと思ってた。10円でも節約して秋月で買うべきものなんだろか。

944774ワット発電中さん2018/04/28(土) 14:47:39.61ID:QSiVtYcA
秋月はさっさとpickit4を売り出すべき

945774ワット発電中さん2018/04/28(土) 14:49:09.32ID:XLfGLUVl
リクエストした時点では金額はわからんしな
10円でも1000個買えば1万円の差

946774ワット発電中さん2018/04/28(土) 15:00:55.50ID:htNAzHQf
PICKIT4はMicrochip Directには在庫があるけど、DigikeyもMouserもなし。
なんでだろなー。

947774ワット発電中さん2018/04/28(土) 15:08:38.12ID:6ySB8ewU
共立では予約受付中になってたよ

948774ワット発電中さん2018/04/29(日) 00:35:23.09ID:kPA7nVg8
あのメール届いた時頼んどきゃよかったなぁ

949774ワット発電中さん2018/04/29(日) 00:42:57.42ID:eFSNWGck
ICD4買っちゃえ

950774ワット発電中さん2018/04/29(日) 06:04:16.80ID:OpknvXay
仕事でPIC使ってるならともかく、急いで買う必要あるの?

951774ワット発電中さん2018/04/29(日) 07:08:45.64ID:Aa0NhdDU
仕事でPICKITなんて使わねーよwww

952774ワット発電中さん2018/04/29(日) 08:39:02.76ID:DUxf3SLI
製造が間に合ってないんだろう
俺はここで買った
https://store.shopping.yahoo.co.jp/orangepico/p1zfzu5v9v.html
あと4ヶ

953774ワット発電中さん2018/04/29(日) 09:49:09.50ID:hHQDg2WV
書き込めないわけじゃないから様子見

954774ワット発電中さん2018/04/29(日) 10:24:20.56ID:7IUNaJ3j
>>951
俺は使ってます。
ってか、俺の周りの人も会社も、マイコンはいろいろ使うせいか、エミュレータも割と安めのものを使ってる人が多いな。

PICについてはICDを使ってる人がいない。
PICKIT3×PIC32だと遅くてたまらん、という話もあるけど、PIC32を使わんし。
でも、PIC32でもPICKIT4なら少しはマシなんだろかと期待。

955774ワット発電中さん2018/04/29(日) 10:49:16.75ID:7IUNaJ3j
>>950
個人的には急いで買う必要はないけれど、
・今から始める人は3か4かを迷うであろうな。4が出るまで待つか、みたいな。
・Directにあるのに流通しないのは、Directは独立採算の商社として、一定のチカラがあるのかなと思ったり。
・それとも何かの理由で出荷を抑えているのかなと、もやもやしてみたり。
・SAM対応を標ぼうするのはまずいのでは、と社内の保守派からブレーキがかかってるのかな、と邪推を楽しんだり、
・出すならAVR対応に、と社内と推進派からクレームが入ったのかな、と邪推を楽しんだり。

956774ワット発電中さん2018/04/29(日) 10:55:08.19ID:5+H+Fb0q
買収前に4の設計が終わっていた、じゃないのか

957774ワット発電中さん2018/04/29(日) 12:53:28.54ID:d2WYD48g
デザインがダサすぎる

958774ワット発電中さん2018/04/29(日) 12:54:38.74ID:d2WYD48g
>>950
趣味で「買う必要」とか
アホですか?

959774ワット発電中さん2018/04/29(日) 13:06:21.81ID:7IUNaJ3j
趣味の電子工作を始めたい、部品を買う必要はありますか?
まあ、買う必要があるでしょうね。いつももらって済ますわけにはいかないと思います。

罵倒する前にちょっと考えて欲しい。

960774ワット発電中さん2018/04/29(日) 13:44:21.91ID:d2WYD48g
文脈読めないアホ

961774ワット発電中さん2018/04/29(日) 14:04:25.70ID:7IUNaJ3j
趣味だからこそ採算に囚われることなく買いたいものを買う。必要だから買うのではなく、買いたいから買う。
という立場もあれば、
趣味だからこそ実費としての出費は抑えたい
という立場もある。

違う立場をイメージできないことを罵倒することはないよ。

962774ワット発電中さん2018/04/29(日) 14:12:54.31ID:d2WYD48g
一言でいうと>>958だな

963774ワット発電中さん2018/04/29(日) 19:42:04.64ID:7IUNaJ3j
ID:d2WYD48g は無視することにしました。

964774ワット発電中さん2018/04/29(日) 20:36:08.93ID:8b4oySly
GW突入前にPIC18F46K22のI2Cで悩んだ者です。
MSSP1のI2CにEEPROMにアトメルの128KByteのAT24CT1024Bをぶら下げました。
何故か256バイトのページライトが出来ません。
128バイトまでは成功します。
なので128バイト以下でライトする様に使ってます。
何故?

965774ワット発電中さん2018/04/29(日) 21:20:36.41ID:Srh+Wmzb
>>964
指定したアドレスがページを跨いでしまうと書き込めない
アドレス0000で256byte書けるか試してみるべし

966774ワット発電中さん2018/04/30(月) 00:21:15.92ID:7OBUBQx8
AT24C1024Bなら普通に出来てるなあ
256B単位の書き込み

967774ワット発電中さん2018/04/30(月) 05:14:49.85ID:RFXH0oNX
>>965
それが駄目なんです。

968774ワット発電中さん2018/04/30(月) 05:15:49.13ID:RFXH0oNX
>>966
MCCじゃなくて自作コードですか?

969774ワット発電中さん2018/04/30(月) 05:59:31.32ID:7OBUBQx8
自作コードです

970774ワット発電中さん2018/04/30(月) 07:25:11.17ID:zMe29Zzj
おはようございます。以前質問させていただいた>>746です

おかげさまでLEDチカ、USART+TeraTermを用いたPCとのシリアル通信は
上手く行きましたが、USB - HIDクラスを使った通信でお手上げ状態になってしまいました…

デモの内容を確認するために、Microchip社ライブラリの真新しいフレームワーク(HID_Mouse - low_pin_count_usb_development_kit_pic18f14k50.x)を
秋月18F2550マイコンボード用のコンフィグレーション、LED用LATA、TRISA、Button用PORTA、TRISAへ適合するように
設定し直して、Debug Project で運用してみましたがダメでした…

宜しければ、ご助言いただけないでしょうか

以下、内容

971774ワット発電中さん2018/04/30(月) 07:28:59.82ID:zMe29Zzj
[system.c] - Configration クロックに関する設定
#pragma config PLLDIV = 5 // PLL Prescaler Selection bits (Divide by 5 (20 MHz oscillator input))
#pragma config CPUDIV = OSC1_PLL2 // System Clock Postscaler Selection bits ([Primary Oscillator Src: /1][96 MHz PLL Src: /2])
#pragma config USBDIV = 2 // USB Clock Selection bit (used in Full-Speed USB mode only; UCFG:FSEN = 1) (USB clock source comes directly from the primary oscillator block with no postscale)
#pragma config FOSC = HSPLL_HS
電源に関する設定
#pragma config PWRT = ON
#pragma config VREGEN = ON

Debug Project - Step Into で1行ずつ実行した場合
usb.device.c 582行目
USBDeviceState = ATTACHED_STATE; 
を実行すると、UnknownDeviceになる
→USBDeviceState が POWERED_STATE までしか進まない

その状態で、Debug Project - Reset→Continueした場合
USBDeviceState == CONFIGURED_STATE まで進むが、
app_device_mouse.c 258行目あたり
currentButtonState = BUTTON_IsPressed(BUTTON_USB_DEVICE_HID_MOUSE);
で、S1の状態を取得するものの、S1を押した状態にしても、離した状態にしてもそこから先へ展開せず
Main.cのwhile(1)ループへ戻ってしまう

その状態でまたContinue→Pauseして1行ずつ実行してみると
今度はusb_deviece.c 647行目
if(USBSuspendControl == 1){
USBClearUSBInterrupt();
return;
}
へ入りreturnしてMain.cのwhile(1)ループへ戻ってしまう そして、以下、変化無し

972774ワット発電中さん2018/04/30(月) 07:31:42.34ID:7OBUBQx8
1行ずつ実行しちゃダメだよ

973774ワット発電中さん2018/04/30(月) 07:33:05.04ID:7OBUBQx8
通信なんだから
途切れ途切れじゃ会話が通じない

デバッグはUARTとかポートで

974774ワット発電中さん2018/04/30(月) 07:37:20.53ID:zMe29Zzj
>>934さん
お返事をしないままでいてすみません
アドバイスと温かい励ましの言葉をありがとうございました

スレは覗いていたものの、少し見栄っ張りで、「USB - HIDクラスできました〜」と成果を上げてから
お礼の言葉と一緒に書き込みたかったのですが、このようなところで引っ掛かってそのまま時が経ってしまいました…
力及ばずですみません

>>972さん >>973さん
そうなんですか!
勉強になりました!!

速レスありがとうございます もう少し挑戦してみます

975774ワット発電中さん2018/04/30(月) 09:54:04.82ID:zMe29Zzj
申し訳ありません
しばらく色々やってみましたが、自力では解決できないようです

懲りずにDebug Project の Continue で USBDeviceState ==CONFIGURED_STATEを獲得した後、
Step Intoを使ってスイッチOn/Offを押し分けて、mouse.movementModeの値をtrueにしたのですけど、
やっぱりカーソルが自動的に動かないです

皆様のお力に頼っても自分には無理でしたら、PS/2通信の方に切り替えて改めてそちらに挑戦してみようと思います

976774ワット発電中さん2018/05/01(火) 00:44:57.54ID:DBW73+I+
だからstep実行してはダメなんだって
ある一定時間ごとにデバイス(=PIC)が応答することをホスト(=PC)が期待している
step実行するとデバイスが応答を返さなくなるので正常動作しない
一度でもbreakしたらcontinueはできないと思った方がいい

mlaのソースの中に、ある間隔でこの関数を呼べ、とかコメントが書いてない?

デバッガでデバッグではなく、>>973のようにポートなりUARTなりに
状態を出力させるコードを書いてデバッグする必要がある

977774ワット発電中さん2018/05/01(火) 09:56:26.18ID:o4U5k+Rn
976さん
お世話になっております 

せっかく前の方々に適切なアドバイスをいただいたのに
十分に理解できなくてすみませんでした
ご指摘を受けて私にも状況が少しずつわかってきました

>mlaのソースの中に、ある間隔でこの関数を呼べ、とかコメントが書いてない?
拙い英語読解力で読んだところ、
1.main.c _ USBDeviceTasks();
2.usb_event.c _ USER_USB_CALLBACK_EVENT_HANDLER
あたりが該当するように思われます
とりあえず、1番でUSBDeviceState == CONFIGURED_STATEになり、
2番によって、LEDが高速点滅するところまで到達しましたが、
その先、Mouseのカーソルが自動移動するまでに至らないようです

USB通信のデバッグについては、先にもアドバイス頂いたように
ポートやUARTに状態を出力させる必要があるのですね
大変よくわかりました
ただ、電子工作入門1週間ちょっとの私には手に余るレベルのような気がします…
もういっそのこと、秋月PIC18F14K50マイコンボードを買って、ライブラリそのままで焼いてみようかと検討中です…

大変丁寧かつわかりやすいご助言をありがとうございました!
ご厚意を活かせるように頑張ります

978774ワット発電中さん2018/05/01(火) 16:50:36.79ID:ONtX2Myl
繋いだPCのデバイスマネージャとかにはもう出てくるよね?その状態だと。
SnoopyPro(USBスニッファ)の出番かな。

979774ワット発電中さん2018/05/01(火) 20:56:56.59ID:EA5Zaaar
snoopyproは最近のWinOSで動くの?

980774ワット発電中さん2018/05/01(火) 21:40:04.19ID:DBW73+I+
デバッグモードにせずに接続した場合、LEDは高速点滅するか?
またMLAの18F14K50のソースを流用した場合、ボタンはRA3ポートに接続されていることを想定しているが、そうなっているか?

981774ワット発電中さん2018/05/01(火) 22:13:08.74ID:o4U5k+Rn
>>978さん
ご助言ありがとうございます

ご推察の通り、私の環境でもPC(Windows 7 Pro 64bit SP1)のデバイスマネージャには、
HIDってことで表示されてます

>SnoopyPro(USBスニッファ)の出番かな
英語のも少し読みましたけど、古くて危なっかしい感じのレビューが目立ちますね…
それにWin7 ProではXPモードで運用する必要があるみたいで、
私の今の環境だとCドライブ:SSDの容量が大幅に不足していて難しいようです

USB通信のデバッグがここまで難しいのかと改めて思い知りました

>>980さん 
お世話になっております
>デバッグモードにせずに接続した場合、LEDは高速点滅するか?
はい、点滅しています

>またMLAの18F14K50のソースを流用した場合、ボタンはRA3ポートに接続されていることを想定しているが、そうなっているか?
18F2550用に自分の回路の都合でRA0へ書き換えちゃいました
buttons.c _ #define S1_PORT PORTAbits.RA0

これ、いけなかったですかね?
デバッグモードでは、ボタンに反応してるようでしたので、大丈夫だと思ってました

982774ワット発電中さん2018/05/01(火) 22:39:19.15ID:ONtX2Myl
面倒がないUSB スニッファだとこんなのもある。
freeusbanalyzer.com
試用期間中は至れり尽くせりな感じだけど、
試用終わるとSnoopyProとどっこいどっこいの機能。

983774ワット発電中さん2018/05/01(火) 22:40:46.80ID:DBW73+I+
>>981
> 18F2550用に自分の回路の都合でRA0へ書き換えちゃいました
それなら大丈夫
あと一息の気がする、頑張れ

984774ワット発電中さん2018/05/01(火) 22:42:33.88ID:o4U5k+Rn
【追記】
始めに、system.c _ void SYSTEM_Initialize()関数で、
ADCON1レジスタを全てデジタルI/Oへ設定するように
0b00001111; を代入し、 (18F2550 データシートp.262参照)
buttons.c _ #define S1_PORT PORTAbits.RA0 を元の
#define S1_PORT PORTAbits.RA3 へ戻し、
同じく buttons.c 内 void BUTTON_Enable(BUTTON button)関数でも
TRISAbits.TRISA3 = PIN_INPUT; とTRISAもRA3用に設定し直してみましたが、
やはり状況は変わらず、LED高速点滅はするものの、mouseは自動移動しないみたいです…

985774ワット発電中さん2018/05/01(火) 22:57:27.90ID:o4U5k+Rn
>>982さん
良さそうなソフトのご紹介をありがとうございます!
ただ、試用版の使用条件がめちゃ厳しいですねw
1度に10分間、4日間だけ体験可能の制限付きの中、初心者が使いこなすのは難しいそうですね

>>983さん
前のレスが行き違いになってしまいましたが、
それなら良かったですー

986774ワット発電中さん2018/05/01(火) 23:06:39.24ID:o4U5k+Rn
そろそろスレもおしまいですし、
お世話になってるので、次スレを立ててみようと思います
テンプレに特に変更の必要は無さそうですよね
スレタイと過去スレ一覧を書き換えるだけですが、やってみます

987774ワット発電中さん2018/05/01(火) 23:13:19.74ID:o4U5k+Rn
初めてのPIC 0x0f
https://rio2016.5ch.net/test/read.cgi/denki/1525183933/

新スレ、建てられました〜

988774ワット発電中さん2018/05/02(水) 03:24:31.16ID:DXpzj+4x
>>987
おつあり

989774ワット発電中さん2018/05/03(木) 02:51:14.51ID:3zq/2ceR
>>987
>建てられました〜
他の人に、先にに立てられてしまった のか
慣れない自分にも 立てることができた のか 

990774ワット発電中さん2018/05/03(木) 08:31:03.17ID:Odd+8P0q
ニホンゴが難解といわれる所以だな

991774ワット発電中さん2018/05/03(木) 08:34:48.05ID:9S5y2vyS
今日も元気に朝立ちました。

992774ワット発電中さん2018/05/03(木) 09:54:32.12ID:n/fZNcO5
>>990
いや、話す人の思いやりが足らないだけ。
複数の意味に受け取られる表現になっていないかを、書き込む前に確認するべき。

993774ワット発電中さん2018/05/03(木) 10:02:52.35ID:zEtko/35
スレの終わりが差し迫っているのに次スレが立たない。

制限がかかって立てられない人がいる
立てる気もないけど、立っていれば来る人もいる

立てるのにひと手間がかかることは事実。

とりあえず、ここは立てた事実に敬意を払えばいい。
善意を装って、アンチなタイトルでスレ立てする屑もいるけれど、>>987はそうではない。

9942018/05/03(木) 12:20:07.39ID:M7Jzd9I1
残業時間を少なくするくらい空気や行間を読まないとなw

995774ワット発電中さん2018/05/03(木) 14:27:11.33ID:E7ZG4gqm
>>989
>>986>>987と読んでその疑問なら読解力不足。

996774ワット発電中さん2018/05/04(金) 11:55:14.29ID:NW4hjnxe
PICって丈夫だよね、いろんな意味で。

997774ワット発電中さん2018/05/04(金) 12:41:27.84ID:+d65Nnar
埋め

また質問させて貰いました
USB通信の道のりが険し過ぎる……

998774ワット発電中さん2018/05/04(金) 22:52:19.32ID:LkIbuCuM
232Cならチップだけど、USBはボードだなぁ・・・
はい、逃げてますw
埋め

999774ワット発電中さん2018/05/04(金) 22:55:28.57ID:A6/UvOBa
ume強力

1000774ワット発電中さん2018/05/04(金) 23:00:30.82ID:O1HEuDOL
)((()(()()))())(()()()))(()())(((()())(()))()))))())(()(()(()(())((()(())()(
)()()))))))))((()())(((()(((()((()))((())(())(((()())))))))()(())(())(()((((
)()(()))()())())))())()()((()()())(())())(()((()(((()))(()(())(()))))()(((((
(())(()())()((((()()))()()()(())()())()(()))())))())((()(((()((()((())()))))
()))))())))())((()))((())))()())()(())()))())(()((((()()(((()(())(()()()((((
)()()((((())()()((()((()()())()))(()))((())))())))()()(())())())()(()((((())
))))((())()(((()(())()(()((())())()(()(()))()()()()())))()(((()())()()((()))
)())(()(()))(((()())()))())))))))(((((()((()()()))((((()()()()()()))()()(()(
(()((()())(((((()))((()()))))())(())))())))())(()(())(()())()()))(()))((((((
()()((())(())((((()(()()))))()())(((((((()()())))())()()()()))(()))())()()()
))())(()(())))))()(()(())(((((()))(()))((())()((()())((()))((())()())())(()(
()))())))())))))(()(()()())(()()())()))(()))(((()(()(())))((())(()()((((((((
)())()(((()(((())()))))()()(()(()()()(()())())))())()()(())()()()())(()((()(
))(((((((()((()()()())((())(()())())(()())(()(())()((())(())()()()()))))))))
())()))(()((((()())(()((())))(()(((())()()()()(())))))))))))((()()(()())((((
)))()(()((()))((()((()((()(()))()()))(((()))(())())())(()())))((()())())()((
))(()()(((())(()(((()())()))))((()()())))(())(()))(())(()))()()((()(())(())(
))(()(())))))()()()(()())((((((()(())((())())))()()()()((())()((())())(()())
())(())))(((()))()))()())(((()(())((()()(()())()))(()(()((((())()())()()()))
()))((())()))))))))))(()(((()(()(()))(()(()))(((((()()(((())))()(())))(((()(
)(()))()))()())())(()))((()()()(())((())())))((((())()())()(((((())(())))(((
(())())()()()()())(((())))(()()((((((((()))()((())()))))()()(()())))(()))()(
))))(()()((())()))))(()))(())(())()))(()(()()()()()()()())((((())((())((()((
((())()((()()()())(()((())))(())(()()()))()))()()(()((()((()((())())))))()()
()(())())(()(()(((((()((((())))(())())(())()))))))(())())(()(((()())(()())))
)))))((()())((((((())(())(((((()()))())((()())()())()))))))(())))((()))(((((
)(((()()))(()()(()))))()()))()()()(()(((((())((((()))()()))())))))(()(())(((
(()()((()()(()(())))())()((()())(((())((((((()))))))(())))((((()()))))))()()
)(()())(())()))())))())(()))(((())))((())))))((())())((((()((()((())((()()((
)))((())((()((())()))())(((((((())())((()))(())()(()))())())())()())()(())((
))(()(()((()))(((())((()())()(()()())(()))))))())()((((()())(())(((())()()))
)))())((((((()))))()(()(())((()())())))(()(()((()))()())()(())(((()()((())))
)())))(((((()((()))())()(())((()()))((()())())(())()(()((()()()))()()()(()))
))((()))))(())(((((()(()((()()()))))((((()(()()))(()))(((((())()))))))(()())
))())())(((()((((()()))((((())(()()())))(()()(()()))))()))(()((()()()))(()()
)))))(()(()((())))(())(()))()))(()(()()(((()(())(()((()))()(()))()()()((())(
(()((()()(())()))(()(((()()()))(())))()))()))))())(()()(())())(())((((()(()(
()))))))(()))()))(())(()((()()())())))(())(()()(()())(((())()()()())((((((((
)))(())((()(((()(())(()()()())()))))))((())))(())(((()()()()())(())())((()((
(()((()()(())(()()((())())((((())(())))()(()()()((())))())))()()(())))()()()
)))())((((()))(()))()()((()(((()()()(())(())(()())()()))))()((()(()()())(())
)((((())(()(()())))((()(((())))())((()()))())))))())()(((()((())()())(()(())
()((())))()())()(()((())(())(((()))(()(()(()((((()())))))(((((())))))(()))))
()(())(((()(()()))))))()(()((((())(()((((()())))(()))))()()(()()()))(()()())
))()()(()(()((()))))))())(((((()))()))))()))()(()()()(())((())))(()(((((()((
)()())()))))((((((((())()(()(((()()))(()()(())(()))((((())())))()()()))(()))
(()(()))()))(())())()))()((()()(())(((()))))())(((()((()(((((()())()()))()))
(())()())()()))(()))(())))())))())(()(()()()(((()(((()))))((()()))((())(((((
)))((()))(()((()())()((()))))(())))))))((()()(())(((()())()))((((())(((()()(
)(()())(((((())))(()()))))(()(()())(()))))(()(((())))(()()()))(())((())(()((

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 80日 1時間 33分 52秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。