2ch勢いランキング アーカイブ

初めてのPIC 0x0e


774ワット発電中さん [] 2018/02/13(火) 21:26:39.79: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
774ワット発電中さん [sage] 2018/02/14(水) 00:03:27.90:b+HUIkYe
(())))(())()(())((())()((()))))((()())()))(((()((()()()()))((())()(()()))(()
)(((((()())(())(((())()())()())())(()()())(())))())))((()))(()))))((()(((()(
()))()((()()())((()((()())())()(()((()))(())))))(()()()((()(())((())())))()(
))()((())))()(((()()()((())))()))))()((())())()()((()())((()()(()))))(()((((
(()))())))))()())))))((((()(()(((())())()((()))))()()())()())()((()(((()((((
()((((()))((((()())(()(()(()()()()())))())(()((())()(()))))())(()(())()())))
())))(())(((()(((((()))(((())(((()())()())()((()(()()))()))()))())((())())))
))()(((())((()))((()(())))((((()()()())(())()(()))()())(())))))))((((()()()(
()()()((())()))()(()((((())()()))))((()()()((())()()())))()()(())))()()(((()
)()()))()))((())(()))))()))()))(((((()))((()(()(((((()()()(()())(()())())(()
(((()((()((((()(()))()()((())())))))(())(())))())(()()(())))())(()(()((())))
)((())(())((()(()))))())()(()((()()((()((()()()))))())()((())(())(())))(()()
)()))(((()()()))()(()()())))((((()())()()())(()()))))(()))))(((((())()(((()(
))(()()))()()(((((((()(()(()))))))(((((())))()))(()()((()(((()))(()(()))))))
()())((()(()))(())))()()))))())()(()())))()(((())()((()(())()(()(((()())(()(
))()()(()((())((()))(())(()(()(()))()()((()()(((())()()))()()())()))(()))(()
()))())()()()(()(()))))))(((((()((()()))()(((((()))(()()(())))())()())((()()
)((((()))((()((())())(()())())))((())))()))))))(()(())))()))(()()((((()(((((
((()))))()()))(()(()()(())(((()))())())()(((()))))()())((()()))((())(((()(()
)(())()()))))()())())(()))))(()((()((()(()((()()(((())((((()()())())(()))))(
)((()(())))())(()()()))((())()(((())(((())))())((()))())())))()(()(((()())((
))(())((((())((()(()))()))(())(((()())))()()()())))(((()))(()()())((()(()())
))((())))(((((()()()))))())))()))()((()))((((((()())))())(())(())((()()(()((
()((((()())(()((()())((())())((((()((()))))())(((()())())())(()))()))()))())
()))))())))()())(()(()()(())(((()))())))(())))((()()))(()()()((()())((((((((
)()())()((())))(()()())())(()(()))))((())()()()())())(()(())(()(()()()()((((
(((())())))()))((())()))())(()(()(()(((()())()(())(()()()(((()))())))))(()((
())((())(())))()()()()))(((()()()(()())))((()((((((())))()))()((((())))))(()
()())(()))()((((()((())())(()))))()()())))(()))()()(()((((()(())()((())))()(
)))(())()())()()()))(()(()(((((()())(()((()))((())()()())(())))(()((()()()))
(()(((()(()()((((())))()(((((()))(()))((())(())(())()(())))))))()()))))(())(
))(((()())(((()))))((((()())()())))(((())(()(()()()(()))())()(()())()())))((
)((((())))))(()(()(()())((()())())())())(()(()((()(()((())))))(((()))(()()))
()(((()(()()))(())(()(()()((())()))((()))((())(())(()((())())())(()())))()))
()))())(()((((((((()))((((()())())()()))(())(()()))(()(()))((()))((()))))())
())))(((()((()()((()()(((()(()))))()))())(())())(())((())))())()()(()(())(()
))))))))())()((()))(((()()(())((((()(((()()())()(((((((())(())()))(()())))))
()(((())(())(())))(()((()()(()()))()(((((())()())())()(())(())(()())))()))()
((((((()))(()())()())()()))))()()))(())()()))()(()((((()((()())))()(()())()(
(()))))))))()(()))()(())(()))((((()(())(())(((()))(())())())())(((())(()((((
)()(())()(((((())())))(())(((()))((())(()())))())())()))(()))(())(()()(((()(
(((())()()()))())(()(()(()(((((()()))(()((()))((((())()()((())()))))))()))))
)(()()()()())))())((())((()))()(()()()))())()()))))(((((())()())()((((())(((
)()(()(()())))))()())(((()(())((()()(())())((((())()))(())))(((((()))(()))()
)()))(()()((())((())((()()))()()))((()((()()((())()()((()(())())()))(()))))(
(((()))()()(()(()))())))())))())((()((()())()()()(())((()(()()(())()()))()((
)()))))))))))(())(()))(((()(()())(()(()))))((()((((())(((())())(()))(()(((((
))()()((())(()))(()((()())())))(()(())((())()())))))()))())(()()((((()(()(((
))))(())))(()))()(()()(()((())()()()))())(()((())((()((()()())))(()()()()(((
(())()())))(())(())(((()(()()(())(()()()()(())))))())(()((())()()()))()(((()
774ワット発電中さん [sage] 2018/02/14(水) 07:47:13.44:g/WLC13y
電電板でこのスレだけが16進数表記なんやね…
MPASM的にはH'0E'なんだろうけど
774ワット発電中さん [] 2018/02/14(水) 13:47:34.74:o7WHpV/0
Cでは、0x0e だけど、
MPASMでは、
H'0e' と、最後にも ' が要るの?
774ワット発電中さん [sage] 2018/02/14(水) 14:37:51.48:5IziNvwG
それでもいいし0x0eでもいい
MPASM/MPLINK User's Guideを読むべし
774ワット発電中さん [] 2018/02/15(木) 12:50:23.71:JQ4h6iRH
MPLAB の、Mはマイクロチップ、LABはラボですよね。
Pは何の略でしょうか?
774ワット発電中さん [sage] 2018/02/15(木) 13:15:11.76:gVRdw9vA
PICじゃねえの?
774ワット発電中さん [] 2018/02/15(木) 13:15:33.44:ebb6ECd4
PicのPじゃね?
774ワット発電中さん [sage] 2018/02/15(木) 13:52:39.05:EhjCurqa
Microchip Pic Love Adurt Boy
774ワット発電中さん [sage] 2018/02/15(木) 14:22:28.98:j4Z4MEWH
PIGのPだったらイヤだなw
774ワット発電中さん [sage] 2018/02/15(木) 17:25:03.04:byzWgtmN
さすがEngrishができる人は違うな
774ワット発電中さん [] 2018/02/15(木) 17:49:19.13:JQ4h6iRH
なるほど、PICのPですね。
ありがとうございました。
774ワット発電中さん [sage] 2018/02/15(木) 20:10:14.15:FRlGlX/E
12LF1822を使って赤外線リモコン送信機を作りたいと思い調べてみました
PWMを1ピンで出力すると20-30mAしか取れませんが数ピン並列にすることで電流を稼ぐとWebで見たのですが
SinglePWM(CCP1)の出力を複数ピンに同じ内容で出すにはどのような方法があるのでしょうか?
Trなどの部品数を減らせないものか、アイデアをご教授ください
774ワット発電中さん [sage] 2018/02/15(木) 20:57:20.47:XK8Sl7uO
adlut...
12 [sage] 2018/02/16(金) 16:26:41.32:ugA1Zy6Z
 
マジレスすると、adult 。。。

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

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

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

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

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

宜しくお願いします。
774ワット発電中さん [sage] 2018/02/16(金) 20:50:30.46:rXaqvpzD
あー
データシートと喧嘩しちゃうタイプね
僕はそういうの面倒だから関わらない様にしてるんだ
774ワット発電中さん [sage] 2018/02/16(金) 21:08:16.03:fBLmHgha
俺面倒だから理由や根拠を考えずにMCCに書かせちゃうから、データシートをしっかり調べるのは偉いと思う!
774ワット発電中さん [sage] 2018/02/16(金) 21:14:37.36:EGLFosmG

the TMR1IF bit should be cleared before enabling interrupts
と書いてあるな、手元のデータシートには。
774ワット発電中さん [sage] 2018/02/16(金) 22:04:21.74:sFzvFpRO

データシートの「割り込み」の説明にクリアしろと書いてあるよ。
TMR1IF説明の部分じゃなくて。
774ワット発電中さん [sage] 2018/02/16(金) 22:32:22.78:2wqXZzm+

勝手にリセットされる割り込みフラグってあったっけ?
774ワット発電中さん [] 2018/02/17(土) 01:20:01.11:aEG5HgQm

そうです。それがで書いた、
>ユーザーソフトウェアは、割り込みを有効にする前に
>適切な割り込みフラグビットがクリアされていることを確認する必要があります。
なんですが、割り込みを有効にする前に というのが、初回に有効にする前のことなのか、
毎回のことなのか、はっきりわからないんです。


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


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

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

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

基本、割り込みフラグが立ってたら、割り込み禁止にしてない限りは、割り込みが発生する。

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

処理の結果で立つ 奴は、自動的にクリアされるのが多い。
受信完了なら、データを読み出すだけでクリアされるとか。
774ワット発電中さん [sage] 2018/02/17(土) 10:05:30.61:+8+s/ZuQ

クリア過剰もマズい
774ワット発電中さん [sage] 2018/02/17(土) 10:08:02.48:+8+s/ZuQ

何の情報にもなってない
データシートの方がはるかに多くの情報がある
そのデータシートにも十分な情報が無かったりする
774ワット発電中さん [sage] 2018/02/17(土) 10:09:25.42:9cuRQ2Mi

そうなんか?
XCは使う予定はないんだが、CCSCでもだめ?
どういう所で弊害出るん?
774ワット発電中さん [sage] 2018/02/17(土) 10:48:50.53:b3vSYT5L
>データシートの方がはるかに多くの情報がある
情報が多くて読み切れないことはわりとある話。

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

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

また、皆さんはどのようにして対処しているよでしょうか?
とにかく使用後は、クリアしまくるのでしょうか?
りーどおんりーでもクリアしてるのを見たことありますが、
訳もわからずやってるな、って感じです
774ワット発電中さん [sage] 2018/02/17(土) 12:05:10.07:VRCq/TNT
データシート
サンプルコード
実験

の順に情報を集める
774ワット発電中さん [sage] 2018/02/17(土) 12:09:06.78:3mpB2w4P
ほんとに載ってないかなと思ってデータシートみたが、ブロック図とかみればわかるじゃん
774ワット発電中さん [sage] 2018/02/17(土) 12:15:39.36:JtXFoNF6
同じ用途で上手く動くソースを探して、何でそうなってるか考える
774ワット発電中さん [sage] 2018/02/17(土) 13:29:53.78:Nh6q+2d1

素直にプログラムを書けば、割込み関連のフラグのセット/リセットでそんなに悩む事は無いと思うけどナ。
割込み要求フラグの大原則は
「割込みを使えば自動的にリセットされ、使わないときは自分でリセットする」
です。

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

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

ありがとうございます。

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

僕が見たデータシートPIC16F193x で、例えばUART受信のブロック図では、
割り込みで言えば、事前に僕がRCIEを1にしてあれば、
RCREGに受信データが入ったらRCIF=1になる(?)ようなので、and結果で割り込みがかかります。
割り込みはかかりますが、andの先は→で書かれていて、
誰が記憶を消すかは書かれていないみたいです。
774ワット発電中さん [] 2018/02/17(土) 16:56:47.84:aEG5HgQm

ありがとうございます。
>「割込みを使えば自動的にリセットされ、使わないときは自分でリセットする」です。
この場合の"使えば"とは、具体的にどのようにすることでしょうか?
・割り込みを設定すること
・割り込みが発生すること
・割り込み結果を参照すること
ありがとうございます。
774ワット発電中さん [sage] 2018/02/17(土) 17:26:30.98:3t2hmt/h
ISRから帰ればだろJK

実機持ってるんだろ?
不明点があれば仮説を立ててそれを検証すればいい
イミフな説明書いてエスパーの返事を待つよりずっと早いぞ
774ワット発電中さん [sage] 2018/02/17(土) 17:28:57.10:HnClfFt9
割り込みがかかったことを知りたかった奴が、
また次に割り込みがかかったことを知りたきゃクリアする。
そんだけのこと。
アンタが何をしたいかだよ問題は。
774ワット発電中さん [sage] 2018/02/17(土) 17:55:57.31:Nh6q+2d1

「割込みを使えば」とは
割込み処理ルーチンを書き、割込みを許可して、発生した処理要求(例えばUARTの1バイト受信など)を
割込み処理ルーチンで処理することです。
UART受信割込み要求フラグはCPUが割込み受付け時に自動的にリセットします。

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

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

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

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

>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側の電源ラインが吸収できることも必要ですが。
774ワット発電中さん [sage] 2018/02/17(土) 19:30:19.68:b3vSYT5L

ttp://www.microchip.jp/docs/41364B_JP.pdf
77ページにRCIFがいつクリアされるか書いてありますぞ。

↓コツ
・PDFを開いたときに、RDIFで検索して見つかったところの前後を集中的に読むといい。
・日本語データシートがあるなら、無理に英語に拘らずにとりあえず頼ってみる。
・日本語データシートは古かったり翻訳に間違いもあったりする。見つかった役に立ちそうな情報は、英語の最新データシートでも確認してみる。
774ワット発電中さん [sage] 2018/02/17(土) 20:18:31.37:HnClfFt9
この調子で、PICのすべてのフラグについて、延々と質問が続くのであった…。
774ワット発電中さん [sage] 2018/02/17(土) 20:30:43.65:3t2hmt/h
ここはサポセンじゃねぇ
774ワット発電中さん [sage] 2018/02/17(土) 21:12:56.79:GpAlRBtJ

単純に考えればいいと思う
・割り込み要求は勝手にリセットされないからプログラマが自分でリセットする
・シリアル送受信のフラグは明確に書き込み/読み取りの動作でリセットされる
774ワット発電中さん [sage] 2018/02/18(日) 00:56:21.65:ZoKmZSDn
型式も分かんないのによくアドバイスする気になるよね
774ワット発電中さん [] 2018/02/18(日) 03:37:37.59:rxWZ1N52

PICは、16Fならほとんど同じだからね。

よく分かって回答しているのは一部の人だけで、
他の人は適当にやって動いたから良し、
あるいは全然分からずにやってるみたいだね。
質問者が叩かれてるので、まさか自分もわからないと言えなくてね。
774ワット発電中さん [sage] 2018/02/18(日) 04:00:32.78:Eo7FJdme

へえ、そうなんだね。
良く分かっている人のレスとそうでない人のレスを
具体的にレス番で教えて、参考にするから。
774ワット発電中さん [sage] 2018/02/18(日) 06:49:23.36:n3/G2TVC

詳しくありがとう。
センサーのアンプ出力に約1K抵抗が内蔵されているから大丈夫だね。
分圧抵抗入れて、100と1000で何故半分しか出てこないのか悩んでいて内蔵1Kに気付いた。
出力短絡保護と思うが、分圧抵抗を撤去してダイレクトに入力する事にします。
774ワット発電中さん [sage] 2018/02/18(日) 07:24:52.29:lKFrYRZW
割込処理ルーチンの入口でフラグクリアするのがよいのか
出口でフラグクリアするのがよいのか何時も迷うぜ
774ワット発電中さん [sage] 2018/02/18(日) 07:47:30.81:MZkAGnSR
迷う?
どちらですべきか考えれば迷うことなんか無い気がするが

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

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

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

IFS1bits.U1RXIF = 0;

とかやっちゃうといずれ問題が起こる
774ワット発電中さん [sage] 2018/02/18(日) 09:59:01.27:iVcmOy1M

R/Oのビットに書いても?
774ワット発電中さん [] 2018/02/18(日) 11:02:20.59:rxWZ1N52

何で?
774ワット発電中さん [sage] 2018/02/18(日) 11:38:29.71:FBWGsWaz

8bit 単位でしか読み書きされない。
774ワット発電中さん [] 2018/02/18(日) 11:54:03.05:rxWZ1N52

えっ? 1bit単位で読み書きする方法があるの?

リードモディファイなんとかライトだから、
読み出してから書き戻す間に、
ハードウェアによって変えられても、
古い情報で上書きされてしまう、
と言うことじゃないの?
774ワット発電中さん [sage] 2018/02/18(日) 14:12:45.76:ZTRlx6J8

PICのADCはつなぐ相手の出力インピーダンス10kΩ以下を推奨してた気がする。

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

絵入りでわかりやすく説明してるページがあった気がする。
774ワット発電中さん [sage] 2018/02/18(日) 14:14:37.05:ZJMZ6R97

それ、いつもやってる。
>いずれ問題が起こる
とても心配なので詳細を教えてください。


へえ、どうやって回避すればいいの?
774ワット発電中さん [] 2018/02/18(日) 14:32:13.00:kcHnvZhj

僕もやってる。教えてください。
774ワット発電中さん [] 2018/02/18(日) 14:40:41.02:PX2SWeDW

わりと多くのマイコン内蔵A/Dコンバータが図のような構成になっていて、
変換直前に一瞬だけスイッチをONにしてCにチャージしてから変換を行う。
この一瞬でCをチャージして、誤差が分解能の1LSB以内に収まる。
ソースの直列抵抗が小さいほどチャージの収束が速くなる。

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


で、外部回路や応答性に問題がない範囲で、青のコンデンサを付けておくと
抵抗が大きくても外付けコンデンサが内部コンデンサへのチャージを助けてくれるよ。
774ワット発電中さん [sage] 2018/02/18(日) 14:42:05.71:vT9inFFA

はやくみんなの疑問に答えてください。
場合によってはMicrochipに報告しとかないと世界中に影響が出ると思うんで、
よろしくお願いします。
774ワット発電中さん [sage] 2018/02/18(日) 15:06:50.22:bJet/2q0
ピン変化割込IOCIFレジスタはIOCAFレジスタでないとクリア出来ないトラップに
はまって一週間くらい悩んだ…マニュアルはちゃんと読まないとダメだね
774ワット発電中さん [sage] 2018/02/18(日) 16:37:51.47:MZkAGnSR



わからないならスクラッチで組もうとせずに
素直にMCCやHarmonyを使いなさい
774ワット発電中さん [sage] 2018/02/18(日) 16:43:20.10:PH7trzwK

MCCやHarmonyはあなたがダメ出ししたコードを吐く。
全く答えになってないね。
まあ、回答できないんだろうけど。
774ワット発電中さん [sage] 2018/02/18(日) 17:00:26.52:MZkAGnSR

MCCやHarmonyが のようなコードを吐いてるMCUは大丈夫
決して のようなコードを吐かないMCUがある
それだとのコードはNG
774ワット発電中さん [sage] 2018/02/18(日) 17:07:29.49:i4Jzt5MU

>決して のようなコードを吐かないMCUがある
具体的にPICの型番でお願いします。
774ワット発電中さん [sage] 2018/02/18(日) 17:08:57.91:i4Jzt5MU
あと
>それだとのコードはNG
の理由もね。
そっちが元の質問なんで、いいかげん話をそらさず、よろしく。
774ワット発電中さん [sage] 2018/02/18(日) 17:18:15.74:MZkAGnSR
774ワット発電中さん [sage] 2018/02/18(日) 17:23:30.67:i+dkFIgb
結局、大丈夫な理由もNGな理由も出ずじまいか。
予想通りだな。
774ワット発電中さん [sage] 2018/02/18(日) 17:27:43.59:mhwGHXO2
初心者さんには気の毒だけど
幾度かつついても具体的な回答を出せない>>ID:MZkAGnSRのようなヤツは無視
知識のあるヤツだけが回答してるわけではないから時間の無駄
774ワット発電中さん [sage] 2018/02/18(日) 22:26:59.38:F32S9xcM

吐いてるMCUと吐かないMCUの型番マダー?
みんな待ってるよ
774ワット発電中さん [] 2018/02/19(月) 02:57:01.91:wFRp/YEr
質問者です。
みなさん、貴重なご意見ありがとうございました。

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

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

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

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

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

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

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

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

FIFO付きでもFIFO4, FIFO8 でその辺が異なる
774ワット発電中さん [sage] 2018/02/19(月) 03:28:26.32:H6YmXlV3
USBのデータシートを見たことがある?
レジスタが書いてあるだけ
あんなんで設計なんて出来ない
774ワット発電中さん [sage] 2018/02/19(月) 03:31:53.92:H6YmXlV3
8bitのUARTはエラッタシートに載ってないエラッタがあるから注意
タイミングによって送信がダブる
774ワット発電中さん [sage] 2018/02/19(月) 03:34:44.85:H6YmXlV3

Harmonyって書いてるんだからわかるだろうに
コードを検索すればたくさんヒットするよ

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

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

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

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

説明出来ないなら出てこなければいいのに。
774ワット発電中さん [] 2018/02/19(月) 15:06:22.85:wFRp/YEr

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

どう考えてもコミュニケーションがとれないキチガイだろw
774ワット発電中さん [sage] 2018/02/19(月) 15:57:52.26:ZIehodQh
教える気も無いのに初心者スレでホラを吹く。
これ、品性の問題だからどうしようもないね。
774ワット発電中さん [sage] 2018/02/19(月) 16:06:34.82:S4jdMVGt
だって、ここ、5chですよ。
774ワット発電中さん [sage] 2018/02/19(月) 16:33:39.40:ZIehodQh
ん?
場所と品性は関係ない。
どこだからどう振舞うかとかぶれること自体が品性の無さの表れ。
774ワット発電中さん [sage] 2018/02/19(月) 16:51:58.44:S4jdMVGt
>場所と品性は関係ない。
だからですよ。ここ、5chですよ。
774ワット発電中さん [sage] 2018/02/19(月) 17:48:02.84:QpfBqJzH
だって
だから
の続きを書けよ、馬鹿なのか?
774ワット発電中さん [sage] 2018/02/19(月) 18:23:26.98:S4jdMVGt
判らないですか?
ここ、5chですよ 馬鹿も居ますよ
774ワット発電中さん [sage] 2018/02/19(月) 18:40:51.93:IHIY6N6t
最近のゆとりは、ただ反駁したいだけで中身が無い。
なので、「だって〜」「だから〜」と幼児並み。
774ワット発電中さん [sage] 2018/02/19(月) 18:41:51.09:IHIY6N6t
あ、そうそう、返す言葉は必ず「判らないですか〜」と決まってる。
774ワット発電中さん [sage] 2018/02/19(月) 19:20:43.08:syRRnBkO
PICスレは民度が低い
774ワット発電中さん [] 2018/02/19(月) 20:59:12.38:NHBNS5dY
あぁ、そうだった。
少し前に馬鹿と阿呆の罵り合いに飽きてこのスレ見限っていたのに。
ちょっと怖いもの見たさで除いたら、結構有用な情報があったものでズルズルと見続けてしまっていた。
データ削除します。
774ワット発電中さん [sage] 2018/02/19(月) 21:10:28.02:S4jdMVGt
計画通り
774ワット発電中さん [sage] 2018/02/19(月) 21:59:51.80:bQDWMg4C
PICスレには残念な人が居座っているから諦めた方がいい。
774ワット発電中さん [sage] 2018/02/19(月) 22:18:57.56:SdcYFQFk

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

追加する抵抗R1は信号源抵抗Rsに直列に入るだけですので、分圧というのは違うように思います。
センサーの直列抵抗が大きくなっていても大丈夫なのは、サンプリングのスイッチが短い時間だけ
ONしたときに、CHに一気にチャージするときに流れる電流をC1から供給できるからですし。

で書かれていた「分圧」は右下の赤の回路ですよね?
774ワット発電中さん [sage] 2018/02/20(火) 04:33:46.67:/M/GSoNH

>サンプリングのスイッチが短い時間だけONしたときに

ちょっと認識が違う気がする。
サンプリングのスイッチは常にオンになっていてGO/DONEビットを
セットするとオフになってからA/D変換が開始される。
前回A/D変換したときにチャンネルセレクトを切り替えておけば
ずっとチャージしたままになる。
774ワット発電中さん [sage] 2018/02/20(火) 04:42:32.21:2hNtigHx

レスありがとうございます。
直結前の回路は赤色の通りです。
勉強になりました。
774ワット発電中さん [sage] 2018/02/20(火) 07:15:06.07:4WDdPvvS

あーっ。ご指摘の通りです。別のA/Dと混ざっていました。
PICのA/Dの場合は、サンプルスイッチはチャンネルセレクトを切り替えてから
変換開始までどれぐらい待つかを決定するために信号源抵抗(とコンデンサ)を考慮するのでしたね…。

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


…ということでして、おはずかしい。
チャンネルを切り替える必要がなく、変化の小さい信号源なら外付けコンデンサにあまり意味ありません。
774ワット発電中さん [sage] 2018/02/20(火) 11:38:09.84:7dokJcOd
アホの知りたがりは必要悪
アホの教えたがりは社会悪
774ワット発電中さん [sage] 2018/02/20(火) 14:26:52.71:sxwSGI4s
教えたがりでも知りたがりでも無いと思いますし、
少なくとも「 アホの意味の無いイヤがらせ悪」よりはずっとマシだと思いまぁす。
774ワット発電中さん [] 2018/02/20(火) 20:20:04.03:7c0+pCZt
馬鹿なほど知ったかして、得意げに教えたつもりになってるから卯財
774ワット発電中さん [sage] 2018/02/20(火) 20:33:37.54:dkQW2qbr

別のA/Dとは?
参考にしたいので教えてください。
774ワット発電中さん [sage] 2018/02/20(火) 22:19:03.06:4WDdPvvS

TIのADS8320です。
774ワット発電中さん [] 2018/02/20(火) 23:43:08.01:/ZUUQyDj
ほお
774ワット発電中さん [sage] 2018/02/22(木) 06:50:18.72:6fmTcB4l
PICでSDIOがあるやつってある?
774ワット発電中さん [sage] 2018/02/22(木) 07:04:44.90:6fmTcB4l
PIC32MZ DAくらいか
う〜ん、いまいち
774ワット発電中さん [sage] 2018/02/22(木) 07:17:57.02:xwj9tnQA

16bit PIC なら、メモリー容量的にSPI モードで十分だしな。
774ワット発電中さん [sage] 2018/02/22(木) 20:12:01.96:6fmTcB4l
しょぼっ
774ワット発電中さん [sage] 2018/03/04(日) 02:53:04.42:rKuVWl1b

> 馬鹿なほど知ったかして、得意げに教えたつもりになってるから卯財


教えようとしてるだけエライじゃん
イヤなのは、なんにも教えず説教をたれたいだけのジジイ
774ワット発電中さん [sage] 2018/03/04(日) 05:04:41.45:ccecnhQm

お前はバカだ、知ったかだ。と言うなら
どこが間違っていて、正しくはこうだ。
と書かないと、
あなた自身が、馬鹿な知ったか、に見えるよ?
774ワット発電中さん [] 2018/03/04(日) 12:44:53.67:VAihGLUA
初心者です。教えてください。

2つあります。

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

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

どうぞよろしくお願いします。
774ワット発電中さん [sage] 2018/03/04(日) 12:59:16.83:wcyHmwr3

マウスのホイール押しながらホイール回す。

デフォルトだと、一度に8つ?のファイルを同時にコンパイルしようとするから、非力なマシンだと、かえって遅くなる。
774ワット発電中さん [sage] 2018/03/04(日) 13:09:18.31:HTfd+MOU
シングルコアCPUマシンならMPLAB 8.92の一択
最近は安くて早いPC充実してるからMPLAB X使うなら買い替え
774ワット発電中さん [sage] 2018/03/04(日) 13:58:19.51:hs6s6gNO
そりゃPCがボロ過ぎる
サクサク条件は64bit4コア8ギガかな
今時中古ノートでも2万もあればそろえられる

ケチって買わないならコンパイルのんびり待ちましょう
待つのは無料だからね
774ワット発電中さん [sage] 2018/03/04(日) 14:14:25.15:rBIbtYiw
JAVAで開発された物って
開発は楽チンなんだろうけど
メモリバカ食いだよな

オイラもXの遅さに耐えられなくなって
去年PC新調した口
ついでにSSD化も
デュアルディスプレイ化もして超快適
774ワット発電中さん [] 2018/03/04(日) 14:19:24.14:ZfY1muoi
さん
どうもありがとうございました。できました。
この設定は、どこかのプロパティを開いて調整できるものではないのでしょうか?
よろしかったら、教えてください。

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

あと、もう一つ教えてくださいませんか。
文字を大きくしたoutput paineですが、エラーの表示はどこを見れば良いのでしょうか。
どうせ僕のプログラムミスなので、
○○行目にsyntax error ; が必要 とか出れば良いのですが、
いろいろと表示されすぎて、わからないです。
774ワット発電中さん [] 2018/03/04(日) 15:12:48.37:aOv8xU2P
まず 英語 And c言語の勉強かな
774ワット発電中さん [sage] 2018/03/04(日) 15:22:38.94:2IPbFxZi
英語のNotice Caution、コンパイル時のエラーメッセージなんかは、
同じ単語が結構出てくるので、一冊ノートを作ってわからない単語を書き出してその意味を書いておくといいよ
ノートの単語が増えてこなくなったら、アルファベット順に再編するとかなんかしておく
その頃にはだいたい意味がわかるようになってる。

PCにText文章で作ってもいいけど、書いたほうが覚える感じがする(個人的に
774ワット発電中さん [] 2018/03/04(日) 16:24:29.92:ZfY1muoi
みなさん、ありがとうございます。
ご親切にありがとうございました。
なんとか、プログラムが動き出しました。
outputペインの文字サイズは、outputペイン上で右クリックして、settingに行くとありました。

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

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

PCは遅いので、関数50行、main 20行くらいでも、1分くらいかかります。
なんだかなって感じです。
774ワット発電中さん [sage] 2018/03/04(日) 16:26:47.61:4xOFmycs

出力タブのウインドウでCtrl+Sで保存して、ここに貼り付けてみるのはどう。
774ワット発電中さん [sage] 2018/03/04(日) 16:32:24.18:hs6s6gNO
お金も無くて頭も無い半人前だけど
文句だけは一人前

なんだかなって感じです
774ワット発電中さん [] 2018/03/04(日) 19:59:41.22:ZfY1muoi

誰のことですか?
774ワット発電中さん [sage] 2018/03/04(日) 22:21:32.09:nC7YRyqn

makeも知らないのか
お前の組のことだよ。覚えとけ
774ワット発電中さん [sage] 2018/03/05(月) 02:43:39.95:5TFMyRQc

理系はアフォばっかりだから、挑発はやめろ
無視すればいいんだよ
774ワット発電中さん [] 2018/03/05(月) 03:00:53.46:oMx5/vfy
コンパイラの途中経過には興味はない。
Cで書いて、コンパイルして .hex が出来て、picに書き込んで動けばオーケーです。
途中のmakeでこけるとかはMPLABの都合なので、僕らには関係ないです。
makeとかリンカーとかを知らなければマイコンが動かせない訳ではないでしょう。
774ワット発電中さん [] 2018/03/05(月) 06:52:59.27:XBhytWfJ
立派な考えなので全部のコードをハンドアセンブルして手打ちでhexファイルまで作って下さい。
ライブラリなんて安直な考えはダメですよ
774ワット発電中さん [sage] 2018/03/05(月) 12:38:37.33:RLGC8AlE
非現実的な事を言って荒らすアホ、PICスレ名物?
774ワット発電中さん [] 2018/03/05(月) 12:59:42.15:u983ED6L
やりたいのはPICを動かすことだしね。
774ワット発電中さん [sage] 2018/03/05(月) 13:31:23.73:dgOXuntO
動かしたいだけなら全部、他人に作ってもらえばいいんじゃないの
仕事ならお金払って、趣味なら駄々こねれば。
774ワット発電中さん [sage] 2018/03/05(月) 18:04:12.08:Z0nJEbPv

774ワット発電中さん [] 2018/03/05(月) 21:57:40.66:qodsWXuS
C言語で組んで何が悪いのかね〜〜〜
出力されたアセンブラコード見て適正なコードが
出力されるようにCソース変更することでも結構
いい結果得られるし、だめなら直接アセンブラコードで
書けばいい。
ぐだぐだ言うやつはFreeエディション使ってるんだろ〜〜
Proモードでコンパイルすれば何の問題もない
774ワット発電中さん [] 2018/03/05(月) 22:22:32.04:u983ED6L
ていうか、メイクとかリンカーとか、知らないとpic使えないのか?
Cでソース書いて、コンパイルして、目的のことが出来たなら、それで充分。
774ワット発電中さん [sage] 2018/03/05(月) 23:10:53.31:H/riQ1ZS
そだね
774ワット発電中さん [sage] 2018/03/05(月) 23:57:39.45:bHHFUy5a
今確認したら MPLABX4.15 の javaw.exe で1.4GBも喰ってる
いつの間にこんな馬鹿喰いデブになってまったんだ、、、

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

4GB頭打ちの32bitOSだと修行僧とか忍耐力ある人じゃないと
運用無理じゃないの?
774ワット発電中さん [sage] 2018/03/06(火) 07:02:50.65:39r0fwtA

取り敢えずメモリー確保して置くってソフトは多いよ。
774ワット発電中さん [sage] 2018/03/06(火) 07:25:16.65:ERGvCWdB

存在するのはわかるけど、やだなあ、それ。
774ワット発電中さん [sage] 2018/03/06(火) 07:50:32.89:RWmgan4v
メモリ使用量は減らせるみたいだ
774ワット発電中さん [sage] 2018/03/06(火) 09:59:58.11:mAwLQXYd
クロムのことかー
774ワット発電中さん [sage] 2018/03/06(火) 11:10:53.33:ulzeaAAM
PCを更新したのでPIC環境も最新にと思い、X IDEの3.61から4.15を入れて、XC8は1.45Bを入れた。
しかし、X IDEのツールチェーンに登録されない???
入れたドライブとパスは、D:&#165;Microchipです。
774ワット発電中さん [sage] 2018/03/06(火) 12:27:42.51:8YmzIyeu
おれIDE使ってないから、適当なこと言うけど、
javawコマンドは最大メモリ量とか初期メモリ量をオプション指定できるよ。
下記のページ見て-Xmsとか-Xmxとか起動する場所に指定してみたら?

ttps://docs.oracle.com/javase/jp/1.3/tooldocs/win32/java.html
例えば、-Xmx1G とかやればいいと思うけど、自己責任でどうぞ
774ワット発電中さん [] 2018/03/06(火) 12:28:39.94:8YmzIyeu
あ、Gは小文字だった。
-Xmx1g
774ワット発電中さん [sage] 2018/03/06(火) 12:45:35.95:6XObS/eY

Harmonyを立ち上げるとそのくらい使うねえ
まあでもメモリたくさんあるから気にしたことない
それより、MPLABXを複数起動出来るようにして欲しい
他の多くのIDEは出来るのにMPLABXは出来ない
774ワット発電中さん [sage] 2018/03/06(火) 13:01:24.05:RWmgan4v
mplab_ide.confに書けるらしいぞ
MPLAB メモリ削減でググって2番目くらいに表示される記事参照
774ワット発電中さん [sage] 2018/03/06(火) 13:15:16.69:7H+ffYZ7

使われなければスワップアウトされるだけだしな。
774ワット発電中さん [] 2018/03/06(火) 13:33:08.79:/XiWlVVW
なんでこんなに重いんだ。
774ワット発電中さん [sage] 2018/03/06(火) 13:43:35.62:6XObS/eY
パフォーマンスや使用リソース量よりも開発効率や移植性を優先したから
つまりMicrochipが悪い
774ワット発電中さん [sage] 2018/03/06(火) 13:45:26.92:6XObS/eY
まあでも世の中全体がそういう流れ
774ワット発電中さん [sage] 2018/03/06(火) 15:38:51.16:rdaQ5C2I

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

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

32bitのx86 Linuxでは1つの32bitプロセスが使えるメモリは3GBまでだよ
774ワット発電中さん [sage] 2018/03/06(火) 16:27:01.18:rdaQ5C2I
今時、32bit Windowsを使うメリットなど無いし今はもう64bit Windowsが主流
NVIDIAなんて32bit Windows用の新しいドライバは作らないと発表してる
LinuxだってUbuntuで18.04から32bitのUbuntu Desktopはサポートされなくなる
スマホもPCも64bitが当たり前の時代だよ
774ワット発電中さん [sage] 2018/03/06(火) 16:34:25.15:rdaQ5C2I
ごめん、17.10からUbuntu Desktopは廃止されてたわ

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

2017年12月21日 Canonical,Ubuntu 18.04 Serverでの32ビットデイリーイメージのサポートを中止へ
ttp://gihyo.jp/admin/clip/01/linux_dt/201712/21
774ワット発電中さん [sage] 2018/03/06(火) 16:38:21.22:3Di1dev6
あのーここはPICのスレなんですが

PICも32bitだとMIPSで様相が全然違うけど、
8bitのやつとなにか共通点ってあるの?
名前だけ?
774ワット発電中さん [sage] 2018/03/06(火) 17:06:57.31:6XObS/eY
16bitと32bitではペリフェラルの共通点はけっこうあるが、
8bitと32bitはそういうのもあまりない

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

開発環境は共通点が多い
774ワット発電中さん [] 2018/03/06(火) 17:32:52.77:skKFvcxQ
レジスタの名前とかは同じ名前をつけようとした痕跡があるな(よりリッチになってても)
774ワット発電中さん [sage] 2018/03/06(火) 18:22:24.38:7H+ffYZ7

周辺機能は共通化進んでる。
774ワット発電中さん [sage] 2018/03/06(火) 20:10:02.97:BlQ7L4jJ
進んでる?
どこが?
774ワット発電中さん [sage] 2018/03/06(火) 22:12:08.32:7H+ffYZ7

最近の8bitPICの周辺機能は、16bitPIC相当になってきてる
774ワット発電中さん [sage] 2018/03/06(火) 22:45:12.56:BlQ7L4jJ
どこが?
774ワット発電中さん [sage] 2018/03/06(火) 22:52:50.04:BlQ7L4jJ
UART, SPI
8bitはFIFO無し
16bit, 32bitはFIFO有り
774ワット発電中さん [sage] 2018/03/06(火) 22:53:48.48:BlQ7L4jJ
割り込み
8bitはハンドラ共通
16bit, 32bitは要因別ハンドラ
774ワット発電中さん [sage] 2018/03/07(水) 01:54:48.76:i/Ga9hKt
スレ民「開発効率や移植性、メンテナンス性が良いC使えや!アセンブラとか使ってる場合かよボケカス!」
スレ民「開発効率や移植性?知るかそんなもん!MPLABバカデカくしやがって!Microchip死ねやボケカス!」

どうしてこうなのか・・・
774ワット発電中さん [sage] 2018/03/07(水) 06:20:59.82:Q0bIgShr

PIC18の新しい奴は、割り込み要因別にベクタが有る。
774ワット発電中さん [sage] 2018/03/07(水) 07:58:19.14:snKX5HWx
他は?
774ワット発電中さん [sage] 2018/03/08(木) 11:48:04.45:+j+6ssDG
PIC18の羨ましいところは、AVRには無い10進演算補正命令がある事かな。
アセンブラだと<入力→16進変換→16進演算→10進変換→出力>より
早くて簡単な<入力→10進演算→出力>でやりたい場合がある。
774ワット発電中さん [sage] 2018/03/08(木) 12:43:02.14:H6qBBdgb
10進数演算
昔x86にもあったけど64bitで廃止された

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

世の中のマイコンの性能も上がったし、
普通に気にせずC言語とライブラリでやればいいよ
774ワット発電中さん [sage] 2018/03/08(木) 12:46:30.42:H6qBBdgb
PICはCPUが遅いから色々と気を使う必要が出てきて大変だとは思う
いまだにオールアセンブラとかの人もいるし

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

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

ところで10進数演算命令ではなくて、10進数演算「補正」命令で十分。
PIC18では2命令(加算と補正)で済むのに、AVRではフラグの問題もあり、
2桁のBCD加算に21命令もかかる(参考AVR204)、残念っw
774ワット発電中さん [sage] 2018/03/08(木) 17:15:02.45:BTbCX1CD
に書いたx86は10進数演算「補正」
使われなくて消えた命令
774ワット発電中さん [sage] 2018/03/08(木) 17:21:46.73:BTbCX1CD

さすがに液晶の表示よりは速いんじゃない?
2進数===>10進数 変換
10進数===>2進数への変換はいずれにしろ必要

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

ていうか、
1クリックで毎回液晶更新してて間に合うのか?
ロータリーエンコーダーのパルス間隔は
瞬間的に速く回せばミリ秒オーダーになるが
774ワット発電中さん [sage] 2018/03/08(木) 17:50:05.02:ySfaEU+h

そんなこといいはじめたら最高速でまわすエンコーダーに追従するよりも
最高速で回さなくてもいい自動ステップなどの工夫を入れるべきだ、とか言い出すやつが出始めるぞ
774ワット発電中さん [sage] 2018/03/08(木) 18:28:07.89:2oTbJaeO
ソフト設計がおかしいって言ってるの
いかにも初心者が作った感じ

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

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

とかって決めるもの

アセンブラを使った最適化なんてのはもっとずっと後
774ワット発電中さん [sage] 2018/03/08(木) 19:01:43.92:u+6gx7Gx
そだね
774ワット発電中さん [sage] 2018/03/08(木) 19:02:29.93:ySfaEU+h

初心者というか、いかにもフローチャートでしか考えられない感じだよね
非同期タイミングなイベント駆動のステートマシンで考えて欲しいところだ
まぁアセンブラで早くぶん回せばなんとかなるだろ的な設計にありがち
774ワット発電中さん [sage] 2018/03/08(木) 19:13:38.30:2oTbJaeO
言葉を覚えたての初心者?
使いたくてしょうがないんだね

まったくフェーズの違う話題が突然出てくるところが笑える
774ワット発電中さん [sage] 2018/03/08(木) 19:16:28.03:2oTbJaeO
ステートマシンとかフローチャートを使った設計とか
30年前の話題だ

さすがPICスレ
774ワット発電中さん [sage] 2018/03/08(木) 21:57:16.43:18W/N+Ra
手前に頼んでるわけじゃなし
空きにやればいいと思うよ
無駄な?カリカリチューンも趣味ならでは
774ワット発電中さん [sage] 2018/03/08(木) 21:59:21.34:18W/N+Ra
失敗った
&#10006;空きに
○好きに

コンパイルしてlstみて気に入らないとasmで書き直して
ほとんどasmになったりするけどw
774ワット発電中さん [sage] 2018/03/09(金) 06:55:36.55:yDCSAwnm

一桁を1バイトで表せばそんなに長くないだろうに?
774ワット発電中さん [sage] 2018/03/09(金) 06:56:53.81:yDCSAwnm

そもそも±1しかしないんだろ?
774ワット発電中さん [sage] 2018/03/09(金) 08:21:55.03:lN8CRpwv
そもそも、
遅くて良い処理を、
速くやらなきゃならないところでやってるから
問題なわけで
774ワット発電中さん [sage] 2018/03/09(金) 15:08:17.75:yua+ekel
プロファイル更新で手帳もらえるぞ。
176 [sage] 2018/03/09(金) 15:41:45.00:kJqgdYVU

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


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

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

(一文入魂の作文に疲れたので他の方へのレスは謹んで省略)
774ワット発電中さん [sage] 2018/03/09(金) 15:53:52.02:kJqgdYVU
(どうしてももう1レスだけ)

 一桁を1バイトで表せばそんなに長くないだろうに?
別の理由であまり深く考えなかったけど、今、検討してみたらかなり簡略化できそう。
もしもバージョンアップする機会があれば採用してみたいです。
774ワット発電中さん [sage] 2018/03/09(金) 16:13:55.44:CRRyc84+
じゃあ結局の通りでは間違いでしたってことだな
774ワット発電中さん [sage] 2018/03/09(金) 19:02:20.29:lN8CRpwv
命令数が少なくすんでも
2命令で8クロックだからなあ
PICは遅い
774ワット発電中さん [sage] 2018/03/10(土) 07:15:10.57:1/3YpyyM

何に使うかだろ?
Z80より速いだろ。
774ワット発電中さん [sage] 2018/03/10(土) 08:53:41.75:A417ifvs
何に使うって
の話だよ

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

アセンブラじゃ開発期間も移植性も可読性も最悪
774ワット発電中さん [sage] 2018/03/11(日) 19:33:48.47:mur+4FNZ
質問です。

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

ソースを変更した場合、チェックサムも変わるものですが、コードプロテクトをかけてビルドするとソースの内容によらずチェックサムが同じ値になります。
こういうもんなんでしょうか。
プロテクトをかけた時点でチェックサムも計算できなくなると言うことですかね。
774ワット発電中さん [] 2018/03/11(日) 21:51:09.68:0m/zw/2B
君がコードプロテクトと称してるのはconfig ビットの中の事?
197 [sage] 2018/03/11(日) 23:25:53.01:mur+4FNZ

レスありがとうございます。
そうです、config内のCONFIG5LからCONFIG7Hまでの設定です。
774ワット発電中さん [sage] 2018/03/12(月) 16:29:47.14:V4y1r6qO
>コードプロテクトをかけてビルド
ソース中にconfig記述してるの?
結果が仕様なんだろうな
プロテクトしたら実物でもチェックサムに意味は無いのだから
気にしたら負け
197 [sage] 2018/03/12(月) 18:45:02.96:ufCe4kXE

ソース内と言うか、
mplab x ideでコンフィグを設定→
吐き出されたコードをコピペしてconfiguration.hとして保存→
main.cでインクルード、とやってます。

コードプロテクトの方法としてもっとオーソドックスなやり方ってあるんでしょうかね。チェックサムの件はあまり気にしないことにしますが、今後のためにご教示いただけるとありがたいです。
774ワット発電中さん [sage] 2018/03/12(月) 19:23:42.34:V4y1r6qO
それだと設定(意図したところ)が重複しないか
774ワット発電中さん [sage] 2018/03/12(月) 19:28:07.38:v8E7meqC

チェックサムはコードが一致してるかの確認用。
プロテクトは外から内容を読み出せない様にするもの。
197 [sage] 2018/03/12(月) 19:47:04.95:yYdA7ifp

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


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

皆さんレスありがとうございます。
197 [sage] 2018/03/12(月) 20:13:18.11:yYdA7ifp
mplabでコンフィグ設定、ソース内にインクルードせずにビルドしたところ「コンフィグ設定されてないんで初期値を使う」旨のメッセージが出ました。
なので取りあえず今まで通りで進めます。ありがとうございました。
774ワット発電中さん [sage] 2018/03/12(月) 21:05:24.22:iBzqTVPc
何でヘッダ?
configuration.c だろ
197 [sage] 2018/03/12(月) 21:56:50.72:yYdA7ifp

・configuration.hをmain.cの先頭でインクルード
・cofiguration.h内のインクルードガードを削除してconfigration.cとして保存、main.c内先頭のインクルードを削除
のどちらでもビルド出来ました。後者が通常の(正しい)方法なんでしょうか?何せ基本が分かってないため手探り状態なので…
774ワット発電中さん [sage] 2018/03/14(水) 20:59:08.25:wSaJEMkc
ヘッダは普通複数ソースからインクルードしても良い物に使う
774ワット発電中さん [sage] 2018/03/15(木) 09:55:08.62:RmyYwm9x

インクルードファイルは名を.cにする方が自然かもね。
197 [sage] 2018/03/15(木) 18:27:45.62:IuQOYowf
ヘッダに書いてもソースに書いても動くようですが、複数のソースにインクルードされないのでソースに書いてmain.cの先頭でインクルードすることにします。
皆さんありがとうございました。
774ワット発電中さん [sage] 2018/03/15(木) 21:44:17.19:8+RfXAsX
スタイルの問題だけど
ふつうは宣言を.hにしないか
.cは記述
includeで.cを取り込むのは何となく気分が…
(一般に、コンパイラによってはソースレベルデバッグで混乱をきたすこともある)
実行コード含まない配列の中身dataを取り込むときとかには使うけど
774ワット発電中さん [] 2018/03/15(木) 21:56:23.43:prz2WnjG
型定義と構造体定義までかね…
197 [sage] 2018/03/15(木) 22:06:36.54:IuQOYowf
コンフィグレーションビットの設定が何なのか(宣言?定義?それ以外?)と言う話なんでしょうかね。

取りあえず個人用にやってるもので移植する予定が無いのであまり気にしないことにします。
774ワット発電中さん [sage] 2018/03/15(木) 22:31:53.09:EhMxN+rl
公開不要な宣言や定義をグローバルヘッダに書く初心者が多いよな
迷惑
774ワット発電中さん [sage] 2018/03/16(金) 07:46:17.88:wz2bhdQy

.cをincludeするのは気分良くないけど、
.hに実行コードがあるよりマシだと思って使う。
774ワット発電中さん [sage] 2018/03/16(金) 07:50:29.84:gXmGhLz6
普通にconfiguration.cで何の問題もない
774ワット発電中さん [sage] 2018/03/16(金) 07:56:52.39:gXmGhLz6
#pragma config
は単なるアドレス指定のデータの実体
774ワット発電中さん [sage] 2018/03/16(金) 08:21:17.06:YjvFtJkr
そもそも複数ファイルにインクルードする必要があるのか?
configuration.cにして単にビルド対象に加えるだけで終わりじゃないの?
774ワット発電中さん [sage] 2018/03/16(金) 08:52:50.41:BgJY78NT
何度もそう言ってるのに通じてない
774ワット発電中さん [sage] 2018/03/16(金) 10:54:17.10:hQYlNRq4

データシートをちゃんと読めばそんな疑問は出てこないと思うが
774ワット発電中さん [sage] 2018/03/16(金) 12:41:56.72:BgJY78NT
なんでデータシートだよ
コンパイラの仕様だろうが
774ワット発電中さん [sage] 2018/03/16(金) 12:43:37.96:BgJY78NT
と思ったら違った
774ワット発電中さん [] 2018/03/16(金) 19:39:50.72:z19QItsd
ここはデータシート読まなくて大丈夫なスレだから大丈夫だよ
774ワット発電中さん [sage] 2018/03/16(金) 20:09:26.37:SRQSE7rR
そんな事言ってたアホがいたなwww
774ワット発電中さん [sage] 2018/03/16(金) 20:43:44.22:rNJWlb+f
最近のデバイスはconfig word 1 とword 2と設定が増えてるから
xc8の__configにどう記載すれば良いか悩むよね
774ワット発電中さん [sage] 2018/03/16(金) 21:24:55.32:w7CLA5wt

悩んでもどうせ分からないので検索サイトでサンプルを探してパクるのが早道
774ワット発電中さん [sage] 2018/03/17(土) 02:18:31.28:tyxt/r12
MPLABXにconfigのソースを自動生成する機能があるが
774ワット発電中さん [sage] 2018/03/17(土) 11:09:22.84:MLnrH9Vk
コンフィグレーションビットはPICに書き込むときにソースの通りに
書き込むかプログラマで指定した値を書き込むかを選択できる性質の
データだからコンパイルに影響するようなものではない。
774ワット発電中さん [sage] 2018/03/17(土) 11:23:24.36:tyxt/r12
突然何を語り出してんだ?
774ワット発電中さん [sage] 2018/03/17(土) 11:58:27.53:tyxt/r12
初心者が無理に語らなくて良いよ
774ワット発電中さん [sage] 2018/03/17(土) 16:22:15.47:OgEd5H08
良いんだよ、ここは初心者用なんだから。
774ワット発電中さん [] 2018/03/18(日) 17:44:46.44:W+rPlfbW
ど初心者です。アドバイスください。
定期的にRS232Cから文字列(数値を表したもの)出してる機器の信号を取り込んで、アナログ電圧として出力するだけのデバイスを作りたいと思い、PICを初めて触ろうと思います。

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

よくわからないので、アドバイスください。お願いします。
774ワット発電中さん [sage] 2018/03/18(日) 18:06:43.55:h0qBs8bu
またエラッタ厨とかの好きそうな奴だな

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

デモボードってのは、安倍辞職とか書いて道路練り歩いてる連中が首からぶら下げてる奴のことだ
774ワット発電中さん [sage] 2018/03/18(日) 18:13:58.16:YVrjiomo
つまんね
774ワット発電中さん [] 2018/03/18(日) 18:37:50.67:W+rPlfbW

PIC以外にどんな選択肢あるですか?
必要なときだけ接続する、可搬デバイスを作りたいのです。
シーケンサはごついです。できるだけ小さなデバイスを作りたいです。

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

今は開発環境とコンパイラはダウンロードできないのでしょうか?
774ワット発電中さん [sage] 2018/03/18(日) 19:56:36.02:iJRualSf
URL貼らないの?
774ワット発電中さん [sage] 2018/03/18(日) 20:22:24.72:AKwVmLzI

返信ありがとうございます。

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

ちなみにPC環境はwindows7 64bitです
774ワット発電中さん [sage] 2018/03/18(日) 20:50:10.56:PO47oFvg

pickit4にしとけ
774ワット発電中さん [] 2018/03/18(日) 20:54:38.08:W+rPlfbW
,
どっちっすか…
774ワット発電中さん [sage] 2018/03/18(日) 21:01:26.26:AKwVmLzI

すみません自己解決できました。

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

ttp://www.microchip.com/development-tools/downloads-archive
774ワット発電中さん [sage] 2018/03/18(日) 21:01:50.98:PO47oFvg
わざわざ古くて遅くて将来性が無いのを買うのはアホ
774ワット発電中さん [] 2018/03/18(日) 21:14:39.43:NdYfc15y
3が半額です、ってんでもない限り4
774ワット発電中さん [sage] 2018/03/19(月) 08:08:08.59:UMk23W5L

そこは古いのしか置いてないけど古いのでいいの?
774ワット発電中さん [sage] 2018/03/19(月) 08:10:14.69:UMk23W5L
に最新がある
774ワット発電中さん [] 2018/03/19(月) 10:03:08.45:++Jr0i71

なるほど、その手があったか!LED100x200くらいで首から下げてメッセージ流すやつ
作るか。もっとも、できるころには総理大臣2人くらいは変わっていそう。
774ワット発電中さん [sage] 2018/03/19(月) 10:14:53.28:9dLlzwj/
ツマンネ
774ワット発電中さん [sage] 2018/03/19(月) 14:19:03.69:BfjJK1SW

arduinoでもつかえば ?
パチモンでよければ基板は数100円からあるし
開発環境無料だし
774ワット発電中さん [sage] 2018/03/19(月) 20:19:04.12:UMk23W5L
100円の基板じゃ無料で開発出来ないだろ
774ワット発電中さん [sage] 2018/03/19(月) 20:21:07.41:UMk23W5L
Nucleoだな
お勧めは
774ワット発電中さん [sage] 2018/03/19(月) 22:52:43.50:X1LWWvvN

arduinoにするほうが絶対に良いと思う。先人のサンプルも多いし、ハードも一つ買えば完結する。
774ワット発電中さん [sage] 2018/03/20(火) 06:54:02.38:2+FlTUIc
・基板は数100円からある
・開発環境無料

が、なぜ

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

になるのか?
読解力以前の問題。
774ワット発電中さん [sage] 2018/03/20(火) 06:57:06.43:VCzbGWRh
数100円の基板じゃ無料で開発出来ない
774ワット発電中さん [sage] 2018/03/20(火) 07:12:11.62:VCzbGWRh
数100円で完結するというミスリードだし
初心者にパチモンを勧めるのもアホ

まあそもそも自体いつもの作り話な感じもするが
774ワット発電中さん [sage] 2018/03/20(火) 07:19:10.24:2+FlTUIc
「開発環境無料」がなぜ「無料で開発出来ない」に変換されるのか?
774ワット発電中さん [sage] 2018/03/20(火) 07:21:57.24:VCzbGWRh
変換?
否定だよ
774ワット発電中さん [sage] 2018/03/20(火) 07:27:59.98:2+FlTUIc
初心者にパチモンを勧めるのはアホは言い過ぎな気がする。
根拠は何なんだろうね。

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

・問題が発生したときのよりどころの問題?純正なら切り分けができるから?
それだったら、ちょっと前まで初心者がよくやっていたライターを作ることもアホ。
からなずしもそうはならんよね?
774ワット発電中さん [sage] 2018/03/20(火) 07:33:45.30:2+FlTUIc

>否定だよ
ああ、そうだね。すまん。

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

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

それに、基板やチップ自体にお金がかかったとしても、
IDEが無料で使えて、特にライターも要らないのであれば、人口に膾炙した表現として「無料で開発できる」で
通じるだろね。
774ワット発電中さん [sage] 2018/03/20(火) 07:33:54.08:VCzbGWRh
どうせ作り話なのに
熱いねwww
774ワット発電中さん [] 2018/03/20(火) 07:39:30.43:2+FlTUIc
元の質問が作り話であっても、へのスカタンなコメントは作り話じゃないと思う。
774ワット発電中さん [sage] 2018/03/20(火) 07:46:33.88:VCzbGWRh
無料で開発出来る数100円のパチモンてどれだよ
774ワット発電中さん [sage] 2018/03/20(火) 07:52:19.88:2+FlTUIc

ここ、PICスレだから具体名をあげてまでの話はスレチだしやめておく。
知りたければAruduino互換スレで尋ねるか、UNO 互換 で検索すればよかろ。
774ワット発電中さん [sage] 2018/03/20(火) 07:59:10.65:2+FlTUIc
Aruduino… まさにパチ
774ワット発電中さん [sage] 2018/03/20(火) 07:59:21.67:VCzbGWRh
別に知りたいわけじゃないんだが
そんなもん無いだろアホが
ってこと
774ワット発電中さん [sage] 2018/03/20(火) 08:02:57.49:2+FlTUIc

>そんなもん無いだろアホが
と、過去に思っていた、という話だよな。で、存在することはわかっただろ?
良かったじゃないか。自分がそれを使うことがないとしても、知らなかったことを知るようになったんだし。
774ワット発電中さん [] 2018/03/20(火) 10:20:39.97:R7qaD8dZ
井の中の蛙に教えてやろう
amazonでattiny85で検索すると出てくる274円
ハードはこれだけで開発できる
ソフトは無料のarduinoIDE
PICにもこういうのがあるといいね
774ワット発電中さん [sage] 2018/03/20(火) 10:28:48.56:R7qaD8dZ
ebayまで足を延ばせば ARM(STM32)環境だって数100円だ
ST-Link 239円
STM32F103C8T6 ボード226円
SW4STM32 IDE 無料

500円でおつりがくるな
大海を少しは知れたかな?
774ワット発電中さん [sage] 2018/03/20(火) 10:38:45.71:R7qaD8dZ
しかもARMの方はこれでソースレベルデバッグまでできる本格派
(PICでいえばICDあたりの環境?)

スレチと言われればそれまでだが不毛なカスの無価値な議論よりは
役に立つ情報だろうから書いてみた
774ワット発電中さん [sage] 2018/03/20(火) 11:06:15.59:7MQOtqGf
スレチ
774ワット発電中さん [sage] 2018/03/20(火) 13:22:34.49:eRuMmT7P
ところで
「PIC」で一括りにしているけど、8ビット、16ビット、32ビットでスレを分けた方が良くないか?
違いが大き過ぎる
774ワット発電中さん [sage] 2018/03/20(火) 13:45:39.69:bqoy12AH
良いよ分けなくて
どの話をしてるのかわかればそれでいい

ビット数で分けても
PIC10とPIC18じゃ大違いだし
MMとMZでも大違い
774ワット発電中さん [] 2018/03/20(火) 15:09:35.24:BvDHOU1C
叩きたい人は分けて有ろうが百羽一絡げに叩くから意味なし
774ワット発電中さん [sage] 2018/03/20(火) 15:10:31.37:6YSMAz4g

おまえがPICでデバッグしたことないのは良くわかった
774ワット発電中さん [] 2018/03/20(火) 15:50:22.05:soymXEfX
今北産業
774ワット発電中さん [] 2018/03/20(火) 15:58:14.88:soymXEfX

作り話じゃないです…
私企業の化学者でして、今後のことを見据えて少しずつ実験を機械化していきたいのです。
で、データロガーに取り込むときにはアナログ信号の方が都合がいいのですが、電子天秤の電送出力が軒並みシリアル通信でして。しかも十進数の測定値をそのままascii文字列で送るというクソ仕様。
しょうがないので自分で作るか、と。
774ワット発電中さん [sage] 2018/03/20(火) 16:19:29.45:it4R52vx
もういいってばw
774ワット発電中さん [sage] 2018/03/20(火) 16:57:32.35:R7qaD8dZ
そんなのをアナログのデータロガーで取ろうというのが前時代的
そのままパソコンのシリアルに繋いで記録取りゃいいじゃないか
後処理でそのデータからグラフでも何でも書けるだろうに
次にはPWMDACのキャリアとサンプリング定理とダイナミックレンジとノイズについて・・・
いや、なんでもない。
774ワット発電中さん [sage] 2018/03/20(火) 17:00:51.28:6YSMAz4g
企業の化学者がろくな精度も出ないそんなもの作ろうとして、それを5chで質問してる時点で
お前はむいてないからさっさと転職しろ
774ワット発電中さん [sage] 2018/03/20(火) 17:49:39.72:eRuMmT7P
ここの雰囲気はホントに殺伐としているね。
桜の便りもチラホラ聞かれる今日この頃なのに
  「物言えば唇寒し秋の風 」
774ワット発電中さん [sage] 2018/03/20(火) 18:25:36.64:XUVXSJRn
PICスレは民度が低く嫌味な人が多い。
その用途ならPIC関係なくArduinoかラズパイのスレの方が
優しく教えてくれるよ。
774ワット発電中さん [] 2018/03/20(火) 18:29:03.26:soymXEfX

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

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

デジタルよりアナログの方が精度劣るのはわかりますが、この際気にしません。
774ワット発電中さん [] 2018/03/20(火) 18:31:22.41:soymXEfX

はーい。

お邪魔しました〜
774ワット発電中さん [sage] 2018/03/20(火) 18:31:46.00:LWFumlwH
匿名という保険を掛けつつマウント取りたがる人間には居心地がいいんだろ
普通に作って教え教えられてならSNSの方がいいのかも
774ワット発電中さん [sage] 2018/03/20(火) 18:37:53.00:+Xf+fuK9

目的を聞けば聞くほどarduinoを進めたくなる。
でもそれはマイコンを使う必要あるんだろうか
データ&#10145;rs232c&#10145;usbシリアル変換&#10145;usb&#10145;pc
pcでそれぞれのポートの固有番号がわかるから、番号ごとに定期的に時間とデータをエクセルにでも追記したら。適当なソフトは分からないけど他で質問したらどうでしょう
774ワット発電中さん [sage] 2018/03/20(火) 18:39:04.50:+Xf+fuK9
文字化けしてるけど、右矢印
774ワット発電中さん [sage] 2018/03/20(火) 19:13:34.60:R7qaD8dZ
概してマイコンのDAはADより貧弱(PWMでやるとか)なので、
出力をフィルタするとか必要ならオペアンプ類でデータロガーの電圧レンジに
合わせ込むとかしなきゃいけない キャリブレーション不要ってことは無いでしょう?
DCレベルだからオフセットの調整もある。
独立した用途に合ったDACを外付けしたほうがいいかもしれない
マイコン/アナログ両方の知識が要るから0からちょっと質問して出来るようなものではないと思うよ
既成品があるか知らないが、まずそういうものがあるかどうか調べたら?
774ワット発電中さん [sage] 2018/03/20(火) 19:28:51.32:dtsYvq2w

このスレに来たってことは、
PICでやるって決めてるって事だよな

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

を書けば設計してやるから書いてみな
774ワット発電中さん [sage] 2018/03/20(火) 19:38:57.18:dtsYvq2w
交流成分だけで良ければアナログ音声出力を使うのが簡単だけど
そういうわけにはいかないよね?
774ワット発電中さん [sage] 2018/03/20(火) 19:40:38.15:R7qaD8dZ

アナログ出力インピーダンスと
電源電圧も
774ワット発電中さん [] 2018/03/20(火) 19:46:30.25:jQo3AtPb
おおう!さよならした途端にみなさん優しくなった!


arduinoも考えてみますね。聞きかじったところだとunixも動かせるとのことで、そりゃいくらなんでもオーバースペック…と考えておりました。
774ワット発電中さん [sage] 2018/03/20(火) 19:47:16.13:dtsYvq2w
熱電対を入力出来るから、
ロガーでいくらでも調整出来るとは思うけど...

まあわかることは出来るだけたくさん書いて
774ワット発電中さん [] 2018/03/20(火) 19:48:13.51:jQo3AtPb

データロガー側は±1V, ±5V, ±10Vのマルチレンジ対応です。オフセットはデータロガー側で設定できます。たしか。

DAC外付けはちょっと考えてました。分解能8bitじゃ足らんよなあ、と。
dsPIC33FJ64GP802 じゃだめですかね?
12bitでぎりぎり足りるかな…ってところですが、本音をいうとも少し欲しいので、16bitのDAC載ってるやつです。
774ワット発電中さん [] 2018/03/20(火) 19:51:25.24:jQo3AtPb

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

うちの会社でも電子天秤はRS-232Cなので0-5Vに変換して圧力やら、Pt100Ωやらと一緒に記録計で記録してます
PICでやるより、Arduinoの方が簡単確実です
UNOには、D/Aが無いので、10bit I2CのD/AコンバーターICをつなげて、使ってます
そういう研究所やら、企業は結構在りますよね
774ワット発電中さん [] 2018/03/20(火) 20:01:06.52:jQo3AtPb
あと、四方から「PCでやれよ…」という幻聴が聞こえますので言い訳すると、
1. PC置くと作業スペースが減る。
2. PCを実験台上に置くと、1週間以内に有機溶媒をディスプレイやキーボードに垂らして( ;∀;)…

のため、あまりPCを近くに置きたくないのです。
774ワット発電中さん [] 2018/03/20(火) 20:03:25.77:jQo3AtPb

そのデバイスください。
774ワット発電中さん [sage] 2018/03/20(火) 20:45:10.80:R7qaD8dZ
8pinのPIC(PIC12F1822)とSPIのDAC(MCP4922)位か
DACの出力がシングルエンドで良いなら簡単にできそうだ
774ワット発電中さん [sage] 2018/03/20(火) 21:13:22.43:dtsYvq2w
なぜPIC12F1822?
8pinならPIC16F18313だな
秋月に無くていいなら15313でも
774ワット発電中さん [sage] 2018/03/20(火) 21:19:45.23:dtsYvq2w
ttp://logicpack.co.jp/product/cnv/cnvda.html

RS-232Cの書式は変えられないとは思うけど
1chで5万円
774ワット発電中さん [sage] 2018/03/20(火) 21:20:54.93:p+PUMRIX

私が作りましたが
4-20mA出力も可能です
部品代で2kくらいかな
ググってご自分で作って下さい
売るなら8万くらいかな
774ワット発電中さん [sage] 2018/03/20(火) 21:21:55.59:dtsYvq2w
必要なチャンネル数くらいすぐに書けると思うんだけど
774ワット発電中さん [sage] 2018/03/20(火) 21:22:32.38:R7qaD8dZ
PICはUARTがあれば何でもいいな
あとはMAX3232とかも要るかな
電源は5Vから3.3Vに安定化した方がいいか
あとはDACの出力をバッファするかどうかだが
秋月だとNJM27463辺りか これはSOPだが
もうこれで回路出来るな
774ワット発電中さん [sage] 2018/03/20(火) 21:24:40.00:R7qaD8dZ
基板上なら千円程度でおつりがくるな
まともなケースに入れるとケース代が一番かかる
774ワット発電中さん [] 2018/03/20(火) 21:25:41.43:R7qaD8dZ
X NJM27463
O NJM2746E
774ワット発電中さん [sage] 2018/03/20(火) 21:27:06.53:dtsYvq2w
なんでも良いのになぜPIC12F1822と書いたのか気になる
774ワット発電中さん [sage] 2018/03/20(火) 22:12:25.18:RQ1nnXIG
12F1822は、出た当初、結構人気があった。
今はもっと選択肢が増えているからそうでもないが、
未だに最初に頭に浮かぶ人は結構いそう。

という程度な意味くらいしかない。
774ワット発電中さん [sage] 2018/03/20(火) 23:08:09.45:vyiIY2G7
UARTもSPIもI2Cも使えて便利だから今でも1822を最初に選んでるな
ちょっとピン数が増えたりプログラムが大きくなりそうなときは14ピンの1825がセカンドチョイス
774ワット発電中さん [sage] 2018/03/21(水) 01:00:09.60:iqitEGF3
18313に対してメリットはどの辺?
774ワット発電中さん [sage] 2018/03/21(水) 01:03:36.31:nYIIkJFI

スマホからですみません

勉強用にとりあえず今使えればいいので、古いバージョンでやってみます
774ワット発電中さん [sage] 2018/03/21(水) 01:04:42.90:nYIIkJFI

スマホからですみません

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

とりあえず勉強で軽く触ってみたかったので、古いバージョンでやってみます
774ワット発電中さん [] 2018/03/21(水) 03:48:59.45:3YI1HzbE
PICで教えてください。

UARTを2ch使いたいのですが、XC8やXC16では、printf()はUART-No.1側に固定のようです。
fprintf(ch1, "hello");
fprintf(ch2, "hoge");
など、出力先を切り替えて使いたいのですが、どうしたら良いでしょうか?
774ワット発電中さん [sage] 2018/03/21(水) 03:52:27.81:peMLkDQ3
リレーで切り替え
774ワット発電中さん [sage] 2018/03/21(水) 07:28:38.59:iqitEGF3
stdoutとstderrで分けるとか
printfの出力先を切り替える関数を追加するとか
sprintfで文字列に変換してからUARTドライバを直接たたくとか
774ワット発電中さん [sage] 2018/03/21(水) 08:11:48.01:71n6I8dQ

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

おまえら研究レベルで、k熱の電圧直接取り込みとか言う時点で気づけ。
この手は、精度は関係ないとか言って、後から精度が出ないとか泥沼に引きずり込まれるパターンだね
しかも16bitアナログだってさ
774ワット発電中さん [] 2018/03/21(水) 09:58:23.15:L3kxIuo/
ここでアイデアを出したって、最終結果に責任を持つのは本人だよ。

>泥沼に引きずり込まれるパターンだね
協業した人に引きずりこまれた経験は誰しも大なり小なりあろだろね。
「自分だけが見通せているエライ人」みたいな振る舞いはどうなんだろう。
774ワット発電中さん [sage] 2018/03/21(水) 10:11:07.90:XIeFd2jj

アマチュアレベルだとそう考えるんだろうな
工業ようデータロガーがどんなものか知らないんだろう
PtじゃなくK熱でんついで測定だから
ラフでいんだよ
と、読めない
もっと幅広く勉強したらどうだ
774ワット発電中さん [sage] 2018/03/21(水) 14:36:57.44:LPbnR4Fy
御託はいいから早く仕様を出せ
774ワット発電中さん [sage] 2018/03/21(水) 18:23:11.80:71n6I8dQ
>ど初心者です。アドバイスください。

なんだ、やっぱりいつものパターンか
774ワット発電中さん [sage] 2018/03/21(水) 23:44:45.42:/fCwqdjE
熱電対のアナログ出力できるのを買えばいい
774ワット発電中さん [] 2018/03/21(水) 23:44:50.06:MKu+mT/j

ありがとうございます。
そのレベルで操作するのですか。
XC8, XC16では、fprintf(,)は使えないのでしょうか?

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

void putc(unsigned char c)){
  if( 出口フラグ==0 ){ TXREG.0 = c; }else { TXREG.1 = c; }
}
こんな感じでしょうか?
774ワット発電中さん [sage] 2018/03/22(木) 01:24:20.26:hZKgHnm6
自分で_fprintfとか作って、その中でハードに合わせた処理を書けや
774ワット発電中さん [] 2018/03/22(木) 03:10:31.04:FBb5wsEu
それをやってくれるのがコンパイラーさんだと思うけど。
774ワット発電中さん [sage] 2018/03/22(木) 04:00:18.00:hZKgHnm6
fprintfは関数なのでコンパイラの仕事でなく関数を書く人間の仕事だ
予めコンパイラに関数が登録されている事もあるが、無ければユーザーが独自に書く必要があある
774ワット発電中さん [sage] 2018/03/22(木) 07:29:38.94:aL/o54vI

fprintf(stdout, ...)
fprintf(stderr, ...)

で切り替えろってこと

#define ch1 stdout
#define ch2 stderr
で希望通りになる
774ワット発電中さん [sage] 2018/03/22(木) 09:47:07.61:Q2bWqFe2
なるような気がしない。
774ワット発電中さん [sage] 2018/03/22(木) 10:32:09.55:rBoRj5nt
関数のオーバーライドできるの?
ライブラリのソースってあったっけ
774ワット発電中さん [] 2018/03/22(木) 10:58:10.29:FBb5wsEu
それなら、X Cコンパイラ作った人がサボったってこと?
774ワット発電中さん [sage] 2018/03/22(木) 12:57:02.31:nifxufJk

なるようにするんだよ
writeを自作するだけだ
774ワット発電中さん [] 2018/03/22(木) 13:09:15.02:FBb5wsEu
write って、何ですか?
774ワット発電中さん [sage] 2018/03/22(木) 16:05:50.50:hZKgHnm6
通常は関数名の前に_(アンダーライン)とか付けて同一の名前にならない様にするが、該当の.hファイルをincludeしなければ標準関数と同一の名前は作成出来る

標準関数はあくまで関数であって文法ではない
774ワット発電中さん [sage] 2018/03/22(木) 16:16:40.30:nifxufJk
トンチンカンが現れた
インクルードするかどうかとリンクするかどうかは関係無いし

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

あと、に対するの意味はわかるよな?
774ワット発電中さん [sage] 2018/03/22(木) 19:51:55.99:w8v+z8mE
グズグズいうまえにやってみればいいのに。
普通にできる。
774ワット発電中さん [] 2018/03/22(木) 22:02:29.18:ZDNVfmKP

さすがです。その通りです。
まあそもそも、化学業界でPtなんて、オーバースペックもいいところだと個人的には考えてますが。使いにくいし。
それこそ分野によるのでしょうが。

仕様はも少しお待ちくださいな。今帰宅中ですので。
飯食って風呂はいってから、、、疲れて寝るかもしれませんが。
774ワット発電中さん [sage] 2018/03/22(木) 22:07:54.17:aL/o54vI
自演www
774ワット発電中さん [sage] 2018/03/22(木) 22:18:31.36:I7+BH7Bq

化学プラントではPt100Ωが標準的に使われてるけど…
ラフな温水調節とかでは熱でんついが多い
医薬品プラントはほぼPtだよ
5chでこんなこと書いてるなんて
余程レベルが低い会社にお勤めなようで
俺もだが
774ワット発電中さん [sage] 2018/03/22(木) 22:28:21.08:aL/o54vI
なんでひらがな?
774ワット発電中さん [sage] 2018/03/22(木) 22:30:24.52:I7+BH7Bq
熱伝対
このスマホじゃ熱でんつい変換できんがや
774ワット発電中さん [] 2018/03/22(木) 22:32:08.14:npw4DaON

そりゃ知ってますよ。
Pt100はドリフトせず、断線するときは基本的に即死しますから、異常検知しやすいんです。壊れにくいしね。
K熱電対はドリフトしやすく、壊れやすい。異常検知が難しいのでプラント向きじゃないです。

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

さて、ご飯食べてきますね。
774ワット発電中さん [] 2018/03/22(木) 22:35:21.70:LHlMV7G4
>精度の観点でいえば、Pt100じゃないと!ってのはダウト
熱電対と比較して?
774ワット発電中さん [sage] 2018/03/22(木) 22:37:39.30:aL/o54vI

漢字知らないだけかよwww
774ワット発電中さん [sage] 2018/03/22(木) 22:38:18.68:aL/o54vI
一応ここはPICのスレなんで
よろしく
774ワット発電中さん [sage] 2018/03/22(木) 23:33:45.20:wdvOp9ya
ヒント: 美咲フォント
774ワット発電中さん [sage] 2018/03/22(木) 23:45:10.53:aL/o54vI
誤爆?
774ワット発電中さん [] 2018/03/23(金) 00:12:51.38:F6ryq4Jd


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

【天秤仕様】
  ボーレート: 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買いました。
よろしくお願いします。
774ワット発電中さん [] 2018/03/23(金) 00:13:08.94:F6ryq4Jd

さーせん。
774ワット発電中さん [sage] 2018/03/23(金) 00:30:30.66:IcAij/8Q

「選択可能」の意味は?
オーバーレンジ、アンダーレンジ、範囲外の場合の動作は?
ハンドシェイクの意味は?
(受信だけだし速度も遅いのでビジーにはならんでしょってこと)
レンジがおかしいので修正を
774ワット発電中さん [sage] 2018/03/23(金) 00:40:00.61:7Owb7XeU
はコテ使った方がいいんじゃね?
774ワット発電中さん [] 2018/03/23(金) 00:40:32.02:F6ryq4Jd

選択可能の意味は、天秤側は設定で変えられますんで、作る人がやり易い方法でお願いします、という意味です。ハンドシェイクも同様。…書かなかったら書かなかったで文句いうくせに。

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

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

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

>ボーレート: 150, 300, 600,1200, 2400, 4800, 9600から選択可能
は、少なくとも下の2つの解釈ができるのです。
・このうちのどれでも作りやすいのでいいです(の説明でこれだとわかった)
・なんらかの設定で150, 300, 600,1200, 2400, 4800, 9600を任意に設定できるしくみになっている。
774ワット発電中さん [] 2018/03/23(金) 07:13:51.42:c3/akbej
>それ以外の表現方法ないですよね?
オーバーレンジ、アンダーレンジを受け側で判断できるようにしなければいけないようなもので
0-5Vの出力を持つもののとき、
正常測定範囲を0.5V〜4.5Vに振って、アンダー、オーバーその他トラブルのときに、範囲外電圧を出力する、
という要求は見たことがあります。 どれぐらいの意味があるかは用途次第ですけど。
774ワット発電中さん [sage] 2018/03/23(金) 09:08:31.95:jAicnpl1
やっぱりシリアルロガー作ってデータ編集はPCでやったほうが楽な気がする
774ワット発電中さん [sage] 2018/03/23(金) 10:59:42.30:FAT/pfiL
そだねー
全体的にラボのシステム見直すべきと思うな
PC置くと液体で汚れるからイヤだ?
データロガーなら汚れてもいいのか?

自分だったらアナログで統一なんて「大バカ」なことはせずに
デジタルで統一して記録するがな
774ワット発電中さん [sage] 2018/03/23(金) 11:03:10.69:brNNbOfq

あんまり態度が悪いと放置するぞ

PIC32MM0064GPL028 175円
PCM5102A 500円
ICL3232CPZ 130円

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

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

とりあえず、±3Vくらいで良いかどうか書いて
774ワット発電中さん [sage] 2018/03/23(金) 11:04:52.12:brNNbOfq
エラー通知の方法はいくらでも方法がある
アナログ出力からパルスを出すとか
別のポートから出すとか
774ワット発電中さん [sage] 2018/03/23(金) 11:23:08.72:FAT/pfiL
自分だったらESP8266でも使って隣室のPCにデータ飛ばすな
作れないなら売ってる

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

電子天秤が広告文面でてきてワロタ
まともなやつが使ってるのはこういうものだ
774ワット発電中さん [sage] 2018/03/23(金) 12:29:55.37:brNNbOfq
無線でPCに飛ばしてPCでアナログに変換すんの?
774ワット発電中さん [sage] 2018/03/23(金) 13:02:12.09:brNNbOfq
dsPIC33FJ64GP802 480円
でもいいか

0V〜3.3V出力で良ければそのまま出せるし
±5V必要なら出力段の回路が必要
774ワット発電中さん [sage] 2018/03/23(金) 16:34:41.23:FAT/pfiL
PWMのDACでいいなら8pinのPICでできるけどな
予算\500
コネクタ+基板+PIC+CR少々+ケースは100均のタッパ
ああ、RS232の12Vは適当にDi+抵抗で受ける
774ワット発電中さん [sage] 2018/03/23(金) 17:02:12.96:brNNbOfq

お前がやるならおれは引く
774ワット発電中さん [sage] 2018/03/23(金) 17:07:03.65:FAT/pfiL
誰もお前に頼んでいないし
俺も誰にも頼まれていない
気楽に行こうや
書きなぐりでも誰かの参考に僅かでもなるなら
それでいいじゃないか
774ワット発電中さん [sage] 2018/03/23(金) 23:18:25.91:4ZTmFeo6
さすがの企業の化学者さまは一味違った違うな
肝心の出力電圧の誤差とリップル、出力インピーダンスと交流応答特性が完全無視
こんな仕様で出した測定器でどんな代物ができるんだろう

100g中の重量誤差も温度許容差も無視の企業化学者様だぜ
774ワット発電中さん [sage] 2018/03/23(金) 23:28:32.56:IcAij/8Q
交流応答特性?
ほとんど直流でしょ

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

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

と思った

精度は気にしないと言っておきながら
16bit欲しいってのがちょっと
774ワット発電中さん [sage] 2018/03/23(金) 23:51:58.46:FAT/pfiL
化学は畑が違うとはいえ こんなことがあった
発振回路の水晶に薄膜が着くと周波数変わる、というセンサにしたかったらしい
それが発振しないというので見てくれと化学科の人間が持ち込んだ代物は
水晶片から配線が約1mピローンと伸びて駆動回路に繋がっていた
これでまともに動作するわけないよと言っても、なんで?というので
・・・以下略
774ワット発電中さん [sage] 2018/03/24(土) 06:47:39.73:yxTaArxD
化学の人が水晶発振器を使ったセンサを考えた
すごいじゃないか
774ワット発電中さん [sage] 2018/03/24(土) 06:50:09.72:yxTaArxD
作り話が多いスレだな
774ワット発電中さん [sage] 2018/03/24(土) 07:27:06.18:gMnNXhRJ
QCMと言うんだよね
うちの会社でも物性屋が研究してた。
ナノグラムの変化を周波数変化で見るって。
経年変化が問題だった。
774ワット発電中さん [sage] 2018/03/24(土) 07:56:10.27:b8u8WUUR
ちょっと教えてほしいのですが、16F1705にてUARTを使用しようと思っています。

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


//TXピンをRC4とし、RXピンをRC5に割り当てる場合は?
   RC4PPS= 0b10100 ; // 出力(TXを割当てる)
   RXPPS = 0b10101 ; // 入力(RC5を割当てる)
TRISA = 0b00000000 ; // ピン(RA)は全て出力に割当てる(RA3は入力専用)
TRISC = 0b00100000 ; // RC5(RX)だけ入力その他のピンは出力に割当てる
774ワット発電中さん [sage] 2018/03/24(土) 08:54:00.85:yxTaArxD
ANSELC
774ワット発電中さん [sage] 2018/03/24(土) 14:25:06.59:Kty3MHA/

シリアルの変動に対する出力変化の追従やジッタをどうするかということだよ

16ビットのアナログ値の精度の取得と発生を簡単に言う奴に、ちゃんとしたやつはいないと思ってる
774ワット発電中さん [sage] 2018/03/24(土) 14:30:59.50:ZChT3Wwu

受信間隔がせいぜい秒だって言ってるんだから
追従性やジッタなんてどうでもいいだろ

気にすべきところはそこじゃない
774ワット発電中さん [sage] 2018/03/24(土) 14:37:47.05:Kty3MHA/

どうでもいいことはないだろ、出力変化点の仕様を決めてなければ回路含めた低レベルの設計ができず
動いたからいい、たまにロガーがおかしなデータを受信して、運用のデータ処理でデータ廃棄するという
汎用のない代物が出来上がる
774ワット発電中さん [sage] 2018/03/24(土) 14:57:44.64:ZChT3Wwu
何を心配してるのかさっぱりわからん
DACの出力が秒遅れても問題ない機器だぞ

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

そんな事よりもっと心配する事があるだろ
774ワット発電中さん [sage] 2018/03/24(土) 15:19:20.94:Kty3MHA/

だから、
DACの出力や変動が秒遅れても問題ない機器
ということを仕様に書けよ、ということ。

もっと心配することは大量にあるが、そこのところをきちんと書くのが仕様というもの。
書けないやつは永遠に書けないし、このスレの趣旨でもないのでもういいよ。
774ワット発電中さん [sage] 2018/03/24(土) 15:28:34.01:ZChT3Wwu
遅延がどうでもいいことは今までの書き込みでわかるだろ

非線形性
温度特性

まず気になるのはこの辺だ
これもスペックに書いてないからどうでもいいんだろうけど
774ワット発電中さん [sage] 2018/03/24(土) 15:32:14.12:ZChT3Wwu
変化がわかればいいって可能性もあるので
ビット数が有れば精度はどうでもいいって可能性もある
774ワット発電中さん [sage] 2018/03/24(土) 15:33:51.04:ZChT3Wwu
まあでももう何の反応も無いから
やっぱり作り話かな?
774ワット発電中さん [] 2018/03/24(土) 15:37:49.49:BlNTL06s
デジタルで入力されてんならデジタルのまま処理しなよ。
チャンチャン&#9836;
774ワット発電中さん [sage] 2018/03/24(土) 15:46:49.37:ZChT3Wwu

メリットは?
774ワット発電中さん [sage] 2018/03/24(土) 15:49:11.20:FAmVE2sl
自分が想定したストーリーに合わないときに「作り話」って言うのが好きな人がいるね。
774ワット発電中さん [sage] 2018/03/24(土) 15:50:21.64:FAmVE2sl
は前が読めていない。
774ワット発電中さん [sage] 2018/03/24(土) 16:42:19.63:Kty3MHA/

シリアル入力をそのまま整流して、ローパス通して、適当にオペアンプでバイアスと増幅すればいいんじゃね?
774ワット発電中さん [sage] 2018/03/24(土) 17:31:51.95:yFlQbYi+
なんかさー
PIC好きな爺には変なのが多いな
774ワット発電中さん [sage] 2018/03/24(土) 18:26:07.33:3uyjN0aH
そりゃPIC好きな時点でヘンに決ってるよ、
ジーチャンに限らずニーチャンだってオジチャンだって。
774ワット発電中さん [sage] 2018/03/24(土) 19:36:30.50:ZChT3Wwu
私女だけど
774ワット発電中さん [sage] 2018/03/24(土) 19:39:07.09:Q/d0DLPB
女のジーチャンは変に決まってるだろ。
774ワット発電中さん [sage] 2018/03/25(日) 01:39:13.93:mWqzvsF5

久しぶりに声出して笑ってしまったじゃねえか
774ワット発電中さん [sage] 2018/03/25(日) 19:13:23.49:0oW+rPEI
ガベージインガベージアウト
ゴミ仕様からはゴミしか生まれないってこった
774ワット発電中さん [sage] 2018/03/25(日) 21:39:52.35:3ONxWJnp
ヘンとヘンを集めて もっとヘンにしましょう
タイヘンだダダ
774ワット発電中さん [] 2018/03/25(日) 21:45:05.85:t37WBRqO
みなさま遅くなりました。3日放置してて申し訳ないです。平に謝ります。マジで。


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

>> 357
 ほへー。そんな手が。失礼しました。
774ワット発電中さん [] 2018/03/25(日) 21:58:16.94:t37WBRqO

 その通りです。絶対値の精度は問題じゃなくて、変化の具合が重要なのです。
 どんな塩梅で遅くなったか、とか。だからこそデータロガーでデータをとる
 意味があるのです。


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

ご指摘ありがとうございます。
温度特性はだいたい常温付近でしか使いませんから、
あまり気にしなくていいと思っています。

非線形性は気にはなります。
maxisのDAC見たところ、チップのグレードによって
線形性が変わるようでしたので、基本的な回路をご教示いただければ、
あとは私のほうでグレードを選べばいい、と理解しています。
(間違ってますか?)
774ワット発電中さん [sage] 2018/03/25(日) 22:12:47.93:mqMOiI01
書き込み見てるとLabVIEW使えば楽だと思うぞ
774ワット発電中さん [] 2018/03/25(日) 22:29:50.54:t37WBRqO

1年前に別件でPLCのスレにお世話になったときも、LabView勧められましたねえ…
結局melsecシーケンサの勉強しましたけれども。
食わず嫌いです。
774ワット発電中さん [sage] 2018/03/25(日) 23:28:55.45:mqMOiI01
シーケンサで組むより再利用性やら考えたらLabVIEWの方が良いだろう
値段も変わらん
774ワット発電中さん [sage] 2018/03/26(月) 00:57:16.09:TpPCMX3F

の質問の回答は?
774ワット発電中さん [sage] 2018/03/26(月) 01:04:32.11:TpPCMX3F
別に答えなくて良いや
人が書いた文章をまともに読んでないようだし
態度を改める気が無いようなので
以降相手にしないことにする
774ワット発電中さん [sage] 2018/03/26(月) 11:09:35.62:z/k+RBka

だね、自分も同様に思います。
ここの自称初心者はこんなのばっかり。実は一人なのかもしれないけど。
774ワット発電中さん [sage] 2018/03/26(月) 22:10:38.50:o/7TBoHK

XC16の標準の奴はunixに近い仕様だから、逆に使い勝手悪い。
俺はXC8の doprnt(printfの中身)を、修正して使ってる。
774ワット発電中さん [sage] 2018/03/27(火) 15:35:52.30:gq/fr8Du
俺はlight weight printfつかってる
774ワット発電中さん [] 2018/03/30(金) 12:06:23.72:TtqRajwT
dspicをいじるのにxc16を使っていますが割り込みの中で関数呼び出すのは禁止なの?
誰か教えて
774ワット発電中さん [sage] 2018/03/30(金) 12:35:37.84:5b4L7cah
まず、禁止と思った理由を書けよ
774ワット発電中さん [sage] 2018/03/30(金) 13:56:40.47:bYUEiBib

その関数を実行中に、割り込み入って、さらに、その関数が呼ばれる とか無ければ、問題はない。
774ワット発電中さん [sage] 2018/03/30(金) 14:09:04.78:WHReOaNl
staticな変数とか扱っているか判らないとなあ
774ワット発電中さん [] 2018/03/30(金) 14:10:37.37:TtqRajwT
ありがとうございます 了解しました
割込み処理中に割込みが入らないようにして
実験してみます
推奨されないだけで禁止ではないのですね
774ワット発電中さん [sage] 2018/03/30(金) 14:57:40.37:Hk1hShmS
推奨の有無とかの話じゃない
何が起こっているか/起こるか理解しておいて使えというだけの話
774ワット発電中さん [sage] 2018/03/30(金) 15:07:35.78:Jew2ADlE
8bitならともかく、DsPICとかなら、割込み内部からの関数呼び出しでスタックやらバンクやらの問題は
かなり大丈夫になってるんだろ?
774ワット発電中さん [sage] 2018/03/30(金) 15:19:05.92:c47EPklB

それのどの辺が問題?
774ワット発電中さん [sage] 2018/03/30(金) 15:21:21.38:c47EPklB
何をやって良くて何をやってはいけないか
わかってないなら割り込み自体使うべきではないよ
774ワット発電中さん [] 2018/03/30(金) 18:11:41.00:V7anWke4
まあまあ、お仕事でも無いなら、しくじって覚えてもよいでは無いか。
774ワット発電中さん [] 2018/03/30(金) 18:30:30.47:hJjphv5U
覚えたことは、失敗からばかり
774ワット発電中さん [sage] 2018/03/30(金) 18:54:26.43:JgyHx4KZ
それは効率がわるい
774ワット発電中さん [sage] 2018/03/30(金) 18:55:39.20:JgyHx4KZ

8bitだとどういう問題があるの?
774ワット発電中さん [sage] 2018/03/30(金) 18:58:34.30:8KdTfsLP
割り込みからはできる限り速やかに戻った方がいいよ。
774ワット発電中さん [sage] 2018/03/30(金) 18:58:42.03:0L7Z3qGR
知ってるくせに
774ワット発電中さん [sage] 2018/03/30(金) 19:15:44.33:JgyHx4KZ
いや、真面目に知らない
今までまったく気にしたことがなかったけど
8bitだとなにか制約があるの?
774ワット発電中さん [sage] 2018/03/30(金) 19:51:28.68:Hk1hShmS
一般の8bitCPUなら特に制約は無い
旧来のPICだとスタックが小さいので割り込みとかネストに制約がある
dsPICと比較しているからそういうことを言いたかったのだと思う
774ワット発電中さん [sage] 2018/03/30(金) 20:18:39.72:aSFJcQEX
ありがと!
774ワット発電中さん [sage] 2018/03/30(金) 21:50:29.24:JPMr2dYa
ttp://www.datadynamics.co.jp/ccscc/faq/13.htm
ttp://www.datadynamics.co.jp/ccscc/faq/29.htm
ttp://www.datadynamics.co.jp/ccscc/faq/55.htm

C言語って呼べるのか?
774ワット発電中さん [] 2018/03/30(金) 22:39:33.97:3xWMaBoE

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

そういうことをわかっていればいいんだけど、という話でしょ。
mainで関数コール(下手すれば多重)の中から、割り込み呼ばれる可能性もあるわけだからさ。
774ワット発電中さん [sage] 2018/03/31(土) 03:51:37.50:N+dmJ0g7

よこからだが、こんなん割り込みより早いだべさ
 BTFSS GPIO,0
 GOTO $-1
 BSF GPIO,1
 BTFSC GPIO,0
 GOTO $-1
 BCF GPIO,1
 GOTO $-6
774ワット発電中さん [sage] 2018/03/31(土) 06:38:05.00:DgWsKJPG

それならマイコンなんか使わずにバッファでいいだろ
どうやっても「割り込みを多用」するようなコードに置き換わらないし

実際の使い方でだよ
ポーリング間隔の最悪値が割り込み応答速度より短いって
ほとんど何も処理出来ないぞ
レベルのコードくらい
774ワット発電中さん [sage] 2018/03/31(土) 06:42:46.29:DgWsKJPG

スタックオーバーフローしないように
なんてのはPICに限ったことじゃないし割り込みに限ったことでもない
774ワット発電中さん [sage] 2018/03/31(土) 06:59:42.09:DgWsKJPG
ttp://akizukidenshi.com/catalog/g/gI-10799/
これを使えば10円で超高速
774ワット発電中さん [sage] 2018/03/31(土) 07:22:00.44:DgWsKJPG

こんなベッタリボーリングでも12〜20クロックもかかるのか
やっぱりPICは遅い

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

実際の処理でポーリングの方が速いってどんな処理????
774ワット発電中さん [sage] 2018/03/31(土) 07:26:58.82:zz458Btw

PICのスタックはすぐにオーバーフローするから問題なんだよ。
そもそもPICは「周辺・入出力・制御器」であって、
スタックが深くなるような複雑な処理、用途には向いていないw
774ワット発電中さん [sage] 2018/03/31(土) 07:32:50.86:DgWsKJPG
すぐにオーバーフローするって
いつの時代のPICの話をしてるの?
774ワット発電中さん [sage] 2018/03/31(土) 07:33:18.29:zz458Btw

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

一番売れているPICの話しだよ。
774ワット発電中さん [sage] 2018/03/31(土) 07:36:21.07:zz458Btw
→ 431
774ワット発電中さん [sage] 2018/03/31(土) 07:37:29.32:DgWsKJPG

型番は?
774ワット発電中さん [sage] 2018/03/31(土) 08:13:10.45:mwtwLSSM
一番売れているPIC、なんて、ワールドワイドな統計資料なんて公開はされていないだろう。
筆がすべっただけだろうし、も無理なことを要求してはいけない。

ここはひとつ、秋月の人気順を見てみてはどうだろう。
ハードウェアスタックの段数が問題になるようなPICは今は人気も落ちてるに違いない。

8位入賞圏内のPICは…。(2018/3/31 8:01現在)

1. PIC12F629
2. PIC16F873A
3. PIC16F1827
4. PIC12F683
5. PIC16F88
6. PIC16F84A
7. PIC12F1822
8. PIC16F887

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

それにしても、
84Aに300円も出す物好きがいるのか
774ワット発電中さん [sage] 2018/03/31(土) 08:50:55.03:mwtwLSSM

PIC16F84Aは教材需要と、それに引っ張られて「それなら使える」という需要が今でもあるのかな。
774ワット発電中さん [sage] 2018/03/31(土) 09:47:43.68:FEfg/J59
作例の数はGoogleの件数って訳にも行かんなぁ・・・
774ワット発電中さん [sage] 2018/03/31(土) 09:57:10.38:DgWsKJPG
デバッグも出来ないようなマイコンを教材にか
教える気が無いとしか思えないなあ

特殊で癖のあるアーキテクチャーを教材に
ってだけで違和感満載なのに
774ワット発電中さん [sage] 2018/03/31(土) 10:21:20.81:Dj8Xbm/k
割り込みの応答速度と割込み処理時間の区別がつかないで、
ポーリングと速い遅い言ってる人がいるスレはここですか?
774ワット発電中さん [sage] 2018/03/31(土) 10:25:36.79:0DirhQP0

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

は処理まで含んだ実測値ですよ

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

当然応答性能も割り込みよりはるかに悪いし
CPUも占有する
最悪のコード
774ワット発電中さん [sage] 2018/03/31(土) 11:46:01.30:NwTWqg8M

そりゃ間違いだよ
高性能計算(スパコン等)で最も高速に通信する際、
割り込みなしのポーリング処理が普通。
そういう使い方もあるってことね。
774ワット発電中さん [sage] 2018/03/31(土) 11:50:23.78:ujlWTUfh
スパコンでの高速通信でCPU?
相変わらず作り話の多いスレだ
774ワット発電中さん [sage] 2018/03/31(土) 11:53:57.03:N+dmJ0g7
「普通のCPUやOSなら」という条件が
発言全体にかかっているのかいないのか不明瞭な
最悪の日本語
774ワット発電中さん [sage] 2018/03/31(土) 11:56:20.71:ujlWTUfh
日本人ならわかるから問題ないよ
774ワット発電中さん [sage] 2018/03/31(土) 12:04:17.57:N+dmJ0g7
ロジックが破綻してるよ
774ワット発電中さん [sage] 2018/03/31(土) 12:12:38.59:NwTWqg8M

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

ほんとpicのスレは耄碌した無知な井の蛙
呆れるばかり
774ワット発電中さん [sage] 2018/03/31(土) 13:07:49.47:Dj8Xbm/k

つまりメインでたいしたことやってませんということを言いたかったということでOK?
774ワット発電中さん [sage] 2018/03/31(土) 13:10:46.75:ujlWTUfh

xeon, linux の環境でCPUがポーリングで高速通信
相変わらず作り話が多いスレだ
774ワット発電中さん [sage] 2018/03/31(土) 13:20:28.46:NwTWqg8M

あなたは救いようのないバカですね。

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

こんな年寄りにならないように心がけなきゃ。
774ワット発電中さん [sage] 2018/03/31(土) 13:28:28.89:ujlWTUfh
ttps://www.uquest.co.jp/embedded/learning/lecture15-1.html
774ワット発電中さん [sage] 2018/03/31(土) 13:38:50.47:Dj8Xbm/k

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

低レイテンシ通信のためDMA完了をpollingでチェックする。
終了割り込みは、かったるいから使わないんだよ。

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

割り込みを多用するよりポーリングの方が速い処理って何?
って話
意図的に作った実用性の皆無なでも同等
が実測
774ワット発電中さん [sage] 2018/03/31(土) 13:55:09.47:ujlWTUfh
から読むとがいかにトンチンカンかがわかるでしょ
自演までしてwww
774ワット発電中さん [sage] 2018/03/31(土) 13:56:15.69:G3namCFP

デフォルト設定では、関数の再帰呼び出し不可。
774ワット発電中さん [sage] 2018/03/31(土) 13:57:45.83:ujlWTUfh
>405は再帰呼び出しではないけど
774ワット発電中さん [sage] 2018/03/31(土) 13:58:43.74:G3namCFP

デフォルト設定だと、ローカル変数も、リンク時にアドレス確定するから速いが、再帰呼び出し可の設定にすると、ソフト的にスタック処理されるから、かなり速度落ちる。
774ワット発電中さん [sage] 2018/03/31(土) 13:59:39.36:ujlWTUfh
コンパイラの設定?
XC8の?
774ワット発電中さん [sage] 2018/03/31(土) 13:59:52.61:dTFUArjf

あんたTop500って言うスパコンのランキングサイト見たことあるか?
どんなシステムかCPUかも書いてあるから上位100システムぐらい見てみな。
DellだのHPEだの聞き覚えのあるインテルサーバーの名前がいっぱい出てくる。
これが今のスパコンの姿だよ

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

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

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

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

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

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

ただ単にPIC16ユーザーを煽りたいだけとちゃうんか、みたいな気がすることもあります。
煽っても好きで使っている人は、のってくれませんよね。
774ワット発電中さん [] 2018/04/01(日) 20:03:13.13:yKosKuwf
24F、他のメーカーならNRND扱いされる。
774ワット発電中さん [sage] 2018/04/01(日) 20:13:57.00:RnCh+Nh2
ドアセンサー張り巡らし中・・・
スイッチ1つをSPIやI2Cへ乗せるのに、マイコンは大袈裟だなぁ
774ワット発電中さん [sage] 2018/04/01(日) 20:36:43.28:mp9cbnsT
できないことはないけど、いくら家の中といっても SPI、I2Cを張り巡らせるものなのか…。
774ワット発電中さん [sage] 2018/04/01(日) 20:40:32.13:UUZHpCP3
センサー+BLE+PICマイコンを1チップで実現できんもんかの?
Atmel買収したんだから
774ワット発電中さん [sage] 2018/04/01(日) 21:11:17.96:6uDfeFTU
rfPICを使えばいい
774ワット発電中さん [] 2018/04/01(日) 22:58:48.18:6snLc5vM
SPIやI2Cを長距離伸ばすのは不便過ぎる。元々そういう規格じゃ無いしな。
俺は電源、信号込みの2線式で独自プロトコルにしてる。マスタがスレーブを呼び出すまでスレーブは送信しないから100個でも200個でもスレーブを繋げられる。
774ワット発電中さん [sage] 2018/04/02(月) 04:20:06.15:6uYbTdn0

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

「過ぎたるは及ばざるが如し」
774ワット発電中さん [sage] 2018/04/02(月) 13:46:22.65:6CxeyCA2

我が家のオートロック付きインターフォンは0-24Vの2線式。
たまにエラーになるので(玄関ドアの開表示LEDが点灯しない)、
電源と信号を分離し、ノイズ対策目的でRS485で通信したいと考えて、
とりあえず玄関外で操作する解錠キースイッチの4線式制御部を作った。
将来はマスター・スレーブ方式で解錠スイッチを増やす予定だけど、何時になるやら。
774ワット発電中さん [sage] 2018/04/02(月) 22:40:38.53:o9MP9z9u
なるほど、通信方法も考えないとダメですな・・・
ttp://www.odnir.com/cgi/src/nup79151.jpg
昔、偉い人の「工場にパソコンを置くな」で
RS-232Cが文字化けしまくったのを思い出した。

>484
最終防衛線(玄関)はX830です(;ω;)
774ワット発電中さん [sage] 2018/04/03(火) 04:45:51.95:x8VPpL+t
スレチ
774ワット発電中さん [sage] 2018/04/03(火) 08:38:35.23:8ku8J7LK
家の中でも、いや通線しにくい家の中だから、10m以上かつ3台以上の場合はLANですね
774ワット発電中さん [sage] 2018/04/03(火) 11:32:19.76:gc+nuo+6

電源が必要だからPLC。と言いたいけど
世の中そうはならないね。
774ワット発電中さん [sage] 2018/04/03(火) 12:16:29.77:8ku8J7LK

LANなら電源送れるしな
774ワット発電中さん [sage] 2018/04/03(火) 12:25:30.97:gc+nuo+6

lanは配線が必要だから美的に面倒。
もしPLC付きACアダプタなんてのが1000円ちょっとで
買えれば良いのに。
774ワット発電中さん [sage] 2018/04/03(火) 13:19:12.77:8ku8J7LK

松下利権で固まってるガラパゴス機器がそんな値段で買えるようになる訳ないだろ
POEのLANの簡易型を自分で作るか、無線LANにしたほうがうんと簡単。
774ワット発電中さん [sage] 2018/04/03(火) 13:28:19.61:Vqi9pr7n
太陽電池+zigbeeがいいよ
日陰ならコイン電池で10年
774ワット発電中さん [sage] 2018/04/03(火) 20:42:01.00:Y6OU8VrX
有線の長距離インターフェースってLANくらいしか無いんだなぁ
CANとか見ないし・・・
774ワット発電中さん [sage] 2018/04/03(火) 21:15:24.15:yElxz9N5
カレントループ
774ワット発電中さん [sage] 2018/04/03(火) 21:48:18.46:Q0uPpAty

USBも
774ワット発電中さん [sage] 2018/04/04(水) 03:09:53.98:13CF5yNr

上の方でも出てるけどRS485
差動伝送で速度との見合いになるけど遅ければ電話線で1kmぐらいでも行ける
家屋内程度なら数百kbpsぐらいは大丈夫

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

電気的な伝送規格だけなので、マルチマスター(送信元が複数)の場合のアービトレーションとかは自前で何とかしなきゃいけないけど
774ワット発電中さん [sage] 2018/04/04(水) 08:54:45.05:hL6owX7v
内蔵されてて便利だけど
USBって5mしか引けないジャン
774ワット発電中さん [sage] 2018/04/04(水) 08:57:50.58:oy3DGegN
タイマー割り込みを使わなくて、80マイクロ秒プラスマイナス5マイクロ秒の精度でピンにワンショットパルス出す方法ありますか?
774ワット発電中さん [sage] 2018/04/04(水) 09:58:15.25:2Sq0g5h+

アウトプットコンペア
774ワット発電中さん [] 2018/04/04(水) 10:12:29.42:tSmRIhc+

リピーター
774ワット発電中さん [sage] 2018/04/04(水) 10:32:05.48:R2OD2DZc

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

普通にタイマー使えば?割り込みとかソフト介在する意味なにかある?
774ワット発電中さん [sage] 2018/04/04(水) 11:16:58.55:+IcO7Jp9

ありがとうございます。
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μ秒短絡して、相手の過電流検知を働かせるものです。
出来るだけ正確にと思ったのです。
774ワット発電中さん [sage] 2018/04/04(水) 11:48:41.77:vdYFMDej

できるだけ正確に、というのであれば、まず水晶は交換しよう。
TCXOとかはいわないが周波数の分周くらいは割り切れるのにあわせるべきだ
774ワット発電中さん [sage] 2018/04/04(水) 16:40:34.15:25ixTeLW

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

それは設計屋の都合な。いまどき長距離なんて光だしな
現場に行って、LANと485のどっちが施工と保守しやすいか聞いてごらん
485を使うようなシチュで、製造単価とメンテ費用のどっちにウェイトが置かれるかってことだな

ま、俺も485はきらいじゃないがな。232同様、今後増えていく存在ではない
774ワット発電中さん [sage] 2018/04/04(水) 20:09:52.99:2Sq0g5h+

K22ならタイマーIC558見たいな機能のモジュールも入ってたはず。
774ワット発電中さん [sage] 2018/04/05(木) 00:58:41.42:sZQriHtm
FAでは485未だによく使うけどあとは422
アナログだけどカレントループはノイズに強くLANより優秀
連続なのが何より楽だ
774ワット発電中さん [sage] 2018/04/05(木) 04:33:13.19:HnaojImQ
そもそも485とLANをいっしょくたにしてるのが間違い
初期のLANで媒体として485使ってるものもあったが、485はLANのための規格じゃない
高速・大容量という志向に合わなかったからLANの媒体としては485が使われなくなっただけ
現在でも工場とか高ノイズ環境では使われてるし、舞台照明コントロールのDMX512Aとかでも使われてる
774ワット発電中さん [sage] 2018/04/05(木) 04:44:11.59:g/NRAUJb
スレチ
774ワット発電中さん [sage] 2018/04/05(木) 05:20:41.87:cMb4nxW8
ものの価値を価格でしか評価しない種類の人なんでしょうね。
774ワット発電中さん [sage] 2018/04/05(木) 06:55:55.47:yoc3R9Lv

キミは無能です。
適材適所があるのです。
774ワット発電中さん [] 2018/04/05(木) 07:10:58.05:6Qpawqwk
いくらかのプロトコルをハードウェアがやってくれるものと、そうでないものを比較するのもどうかと思うけど、
傾向としては、前者に移行していくものですかね。
774ワット発電中さん [sage] 2018/04/05(木) 09:10:26.16:kb/LuSR9
本来は
複雑なプロトコル処理→ハード・ソフトが複雑→高価
のはずなんだけど、

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

シリコンもソフトも複雑度ではなく普及度で価格が決まり、
思いのほか差が出にくくなるという事。
774ワット発電中さん [sage] 2018/04/05(木) 10:38:32.05:ncA+hgur

複雑なロジックもシミュレーションが楽にできる様になったからな。
昔はちょっとした物でも一週間とか掛かってたから。
774ワット発電中さん [sage] 2018/04/05(木) 11:24:09.64:1oOZ9wVA
複雑なものってトラブったら交換しか手がないからなぁ
自己診断とか異常検知なんて健全な状態でしか使えない意味不明なバカ仕様がほとんどだし
774ワット発電中さん [sage] 2018/04/05(木) 13:08:05.49:HnaojImQ
一連の話の大元はだぜ?
いくら昔に比べて安くなったとは言え、ドアセンサーのためにLAN引けとかファイバー引けとか頭沸いてんの?
そりゃ既にLAN張り巡らしてるならそれに乗っかるのはアリだけど、それだけのために引くのはアホだろ
774ワット発電中さん [sage] 2018/04/05(木) 13:10:40.74:0Tsu6/2W
話題が変わってきてる気がするが
774ワット発電中さん [sage] 2018/04/05(木) 14:40:27.46:/xlIKS6Q
ドアに鈴つければ解決なのにな
774ワット発電中さん [sage] 2018/04/05(木) 15:01:20.99:qMHs4RUc

普通にLAN引くな
ドアセンサーが必要ない鈴ですむようなところならともかく、普通は10m以上引っ張って、
さらにドア一つでなくて複数のセンシングするよな。

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

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

だったら最初からLAN引いてしまったほうがすべてが楽。
774ワット発電中さん [sage] 2018/04/05(木) 15:02:37.87:qMHs4RUc
ごめん、中学生がママがきたセンサー作るのなら、485/422.232で充分以上。
774ワット発電中さん [sage] 2018/04/05(木) 16:00:41.33:B5VbmGIn
無線リモコンの送信機にドアセンサーつなげるとか
ttps://www.amazon.co.jp/dp/B076T3M6FN
774ワット発電中さん [sage] 2018/04/05(木) 17:05:15.57:/xlIKS6Q
傾斜SW+315MHz送受モジュール
モジュールはebayで\200位で売っている
電波法は知らん
774ワット発電中さん [sage] 2018/04/05(木) 17:06:45.11:/xlIKS6Q
315MHz送受モジュール
電波法気にするなら秋月で\3000弱出して買うが良い
774ワット発電中さん [sage] 2018/04/05(木) 17:23:52.53:ZquSMI1b
私もRS485だな。
そもそも で書いてある「LEDの点灯エラー」の解消と、
「複数のセンシングする」とか「Webで見たり、ログ取ったりする」は関係無い。
774ワット発電中さん [sage] 2018/04/05(木) 18:28:34.43:qMHs4RUc

たしかにそうだけど、それならまずエラーになる原因を調べるのが先じゃないかしらね?
それやらずに他のアプローチって時点で問題解決能力レベルがわかっちゃう
774ワット発電中さん [sage] 2018/04/06(金) 07:27:22.38:WybIpi81
そういえば、昔、
AC100Vを50Hzクロック源とする時計が進むので、
調べたら、同じコンセントから取っている冷凍庫のコンプレッサーがオン・オフするときに
カウントが進むことを発見した。
コンセントを分けるのは難しいので、
冷凍庫と時計にクランプ式のフェライトのノイズフィルターを入れたらかなり改善された。
家庭用のAC電源なんてノイズだらけなんだろうな。
774ワット発電中さん [sage] 2018/04/06(金) 07:50:49.01:bAZ1IiN+
そんな頻繁にON/OFFするか?
774ワット発電中さん [sage] 2018/04/06(金) 09:22:06.58:07rZnEIx
ネタ臭ぇ
774ワット発電中さん [] 2018/04/06(金) 10:28:40.36:iIJmlYRN

無線の屋外運用で、AC100V発電機で動かしたら、時間がめちゃくちゃになったことはある
774ワット発電中さん [sage] 2018/04/06(金) 10:48:05.77:j9l/tBNc

オン/オフ時に火花が飛んで(もちろん設計が悪い)バーストノイズが発生すると、数十回分のパルスになってしまう。クランプ式フェライトコアで改善されるほどの高い周波数成分が影響してたんなら時計の方も設計不良だな。
774ワット発電中さん [sage] 2018/04/06(金) 12:49:03.69:ai9MFVve
いつもの作り話
774ワット発電中さん [sage] 2018/04/06(金) 12:49:46.29:azkaje/D
昔、会社の先輩に八丈でどうも時計が狂うから調べたら島内に発電所が1箇所でそこの周波数が狂ってたって聞いた
529 [sage] 2018/04/06(金) 14:47:01.52:WybIpi81
オシロで見ていると、コンプレッサーがオンすると時計のAC電源ラインにノイズが乗る。
誤差は半月で数秒程度で、時計の電源を別のコンセントから取るとOK。
ノイズは時計の電源回路経由で回り込んでいるのか?
それとも、私が設計した時計用クロック・パルス検出回路がマズイのかな?
ttps://i.imgur.com/S9ywsye.jpg
飽きたし、きちんとは原因を究明せずに「結果オーライ」で放ったらかしだけど、
趣味の電子工作なので笑って許してw
7、8年前に作ったが、今は半年に1回ほど気が付いたときに、
誤差(1、2秒程度)を修正している。
774ワット発電中さん [sage] 2018/04/06(金) 16:40:59.02:eEJkXOVU
冷蔵庫のコンプレッサのオンオフ周期の例

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

ttps://i.imgur.com/ormTFn7.png
774ワット発電中さん [sage] 2018/04/06(金) 16:42:29.92:eEJkXOVU
家庭用冷凍庫のオンオフ周期の参考資料

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

ttps://i.imgur.com/qoxehfl.jpg
774ワット発電中さん [sage] 2018/04/06(金) 16:59:06.74:eEJkXOVU
連発しちまった。

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

冷凍庫のオンオフが原因ならもっと激しく進む気がする。
774ワット発電中さん [sage] 2018/04/06(金) 17:45:26.28:3P9ao4FP
毎回綺麗に同じノイズが出るわけでもない
今なら高調波とか規制されているから少しは(まともな機器なら)
綺麗なのかな
いや、電灯線モデムPLC使っている友人は、ご飯炊く時間に決まって
回線速度が落ちるとかなんとか・・・
774ワット発電中さん [sage] 2018/04/06(金) 19:52:30.17:C4uUbRKX
無線PICモジュールとか出ないかなぁ・・・
774ワット発電中さん [] 2018/04/06(金) 20:07:41.40:JJ4NVrT8
そんなにPICに拘る必要ある?
774ワット発電中さん [sage] 2018/04/06(金) 20:52:01.88:WEyXgxll
rfPICがあるじゃない
774ワット発電中さん [sage] 2018/04/07(土) 01:28:51.70:7CUPM1RK

なんで入力側にツェナー使ってるの?
普通のdiでいいじゃない。

それとcrの後のインピーダンスが低くて入力のCrフィルタが
あまり効いてないね。
rを一本cとカプラの間に移した上でcを数倍大きくすると、ずいぶん違うと思うよ。
774ワット発電中さん [] 2018/04/07(土) 08:09:44.82:Kn/1zUG/
スパイクノイズのフィルタリングは、フォトカプラの出力側1本で良いと思う。
そのためのシュミットトリガでもあるし。

ツェナーはなんでなんだろな。このツェナーのカソード→アノードに電流が流れだす
ときには、すでにLEDは断線しているような気がする。
774ワット発電中さん [sage] 2018/04/07(土) 09:29:40.70:9TfMQncn
LEDを並列逆向きに付けるのが簡単でいいよね。
774ワット発電中さん [sage] 2018/04/07(土) 10:31:52.24:Kn/1zUG/

よね、と言われても…
ここでLEDを使うメリットって何なんでしょ。
あえて言えば、そこに通電していることのインジケータにもなる、ということですかね。
たいていは小信号シリコンダイオードよりも高価だし、
透明プライスチックパッケージは、実装時にちょっと注意が必要だし。
774ワット発電中さん [sage] 2018/04/07(土) 11:03:43.61:9TfMQncn
趣味で手持ちLEDを手ハンダ実装するし、見えるのは重要かな。
774ワット発電中さん [sage] 2018/04/07(土) 15:24:49.08:Jl5WvPpL

ツェナーダイオードにしたのは、ノイズやサージが入ってきたときの
LEDにかかる過渡的な順方向電圧を制限するため。

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

なお、一つ思い出した事があり、製作後に追加したノイズ対策として、
トランス式のAC100Vアダプタから整流ダイオードと電解コンデンサを取り外してAC出力に変更し
交流パルス源とした。(入力側の47KΩの抵抗も変更)
774ワット発電中さん [sage] 2018/04/07(土) 17:56:10.08:phgeUKmM

>ノイズ対策はソフトでやる、というのが私の基本的な設計方針

えーそうなのか、俺はノイズはハードだけどな。
電源系のノイズや信号系のコモンモードとかソフトでどうやって取るんだ?
ノイズでなくてただのフィルタリングであって信号処理じゃないのか?
ハードで取りきれないノイズはソフト処理だが、極力ソフトでノイズ処理はしたくない
774ワット発電中さん [sage] 2018/04/07(土) 18:42:16.91:Fol4eziM
適した方でやる
当たり前
774ワット発電中さん [sage] 2018/04/07(土) 18:51:32.35:Fol4eziM
スローでいいADCは、ハードでノイズを取ってソフトで複数回サンプリング

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

スイッチ類のゆっくりなチャタはソフトで複数回サンプリング
774ワット発電中さん [sage] 2018/04/07(土) 19:00:36.73:ZPuIbcZc

>ツェナーダイオードにしたのは、ノイズやサージが入ってきたときの
>LEDにかかる過渡的な順方向電圧を制限するため。

順方向の電流を押さえるなら電圧を制限してから抵抗を入れないと
効果がないと思う。
順方向電圧が5.6Vにもなったらアンペアオーダの電流が流れている
ことになる。
774ワット発電中さん [sage] 2018/04/07(土) 19:13:51.62:CjnUn2kP
ヤフオクで 100円で落札したトランジスタラジオのイヤフォンジャックの音声信号を
8pin 8bit PIC で AD 変換し、時報を認識するソフトを完成させたぞ。
時刻カウントの水晶の分周比も固定小数点で補正するのだ。
デバッグが大変だったぞ。
774ワット発電中さん [sage] 2018/04/07(土) 19:22:23.32:e+tPbaxO
ある意味電波時計だ!
昔のビデオデッキでNHKの時報に合わせる機能があった。
職場の放送設備も、チャイムの時刻合わせ用に、NHKFMの周波数をセットして、時報で時計を補正してた。
774ワット発電中さん [] 2018/04/07(土) 19:28:52.84:1i00zGM+
>デバッグが大変だったぞ。
そりゃ、1時間に1回しかテストできないからな
774ワット発電中さん [sage] 2018/04/07(土) 19:46:59.68:m+S1lpyq

そもそも47kの抵抗二本入っている回路で
例えば100mA流れるのは何ボルトの時だ?

答え
10kV
774ワット発電中さん [sage] 2018/04/07(土) 19:48:42.73:Mxfd8rpk
昔の時計はトリマが付いてたんだよなぁ・・・
774ワット発電中さん [sage] 2018/04/07(土) 19:53:20.39:4FwQaCvd

音声信号認識なんだから録音しときゃいつでもテストできるじゃん
774ワット発電中さん [sage] 2018/04/07(土) 19:53:49.68:Tk5+oxs2
今も付いてるよ
内部に
774ワット発電中さん [sage] 2018/04/07(土) 21:46:38.29:CjnUn2kP

そう。PC に WAV で録音して散々デバッグしたのでありますが、
御多分に漏れず、PC からの音声だと上手く時報を検出するように
なっても、ラジオからだとうまく検出しないとかでもはまりました。
774ワット発電中さん [] 2018/04/07(土) 22:42:41.67:NI1iOt9p
40/60khz デコードしたほうが正確じゃないか?
774ワット発電中さん [sage] 2018/04/08(日) 00:20:32.76:mERxy63L
一応以下の理由
・40/60kHzはコイルが面倒(というか設計ができない)
・40/60kHzが長期停波しても受信可能
・日時などの情報も得られるようだが面倒くさそう
・40/60kHzより部屋の奥まで電波が届く(場合もある?)
・正確さにそんな大差はないんじゃないか?
・時報の音声信号を 8pin PIC のソフト処理のみで検出できるか作ってみたかった
774ワット発電中さん [sage] 2018/04/08(日) 02:20:09.18:fCv0/IQ8
GPSはUSRT使ってASCIIコードで受けられるからJJYと比べたら超簡単。
JJYみたいに停波もないしね。
軍事衛星だから有事の時はどうなるか知らんが。
774ワット発電中さん [] 2018/04/08(日) 03:13:06.84:DXsu+Ji/

録音機のワウフラッターが悪いと、テストにならないよ
774ワット発電中さん [] 2018/04/08(日) 03:16:17.63:DXsu+Ji/

ラジオのイヤホンジャックから取り出すときは、ダミー負荷抵抗を付けて。
トランスでコモンを切るればばっちりだと思うけど、何にくろうしたの?
774ワット発電中さん [sage] 2018/04/08(日) 08:53:46.83:uYP1OeIr
AMラジオの帯域すべての周波数を直接サンプリングして時報検出する時代だろ?
774ワット発電中さん [sage] 2018/04/08(日) 11:48:58.19:Fw0M/EVb

帯域すべての周波数をサンプリングして、って書くあたりが
理屈分からず書いている感がよく出ていて微笑ましい。
774ワット発電中さん [sage] 2018/04/08(日) 12:43:50.81:uYP1OeIr
えっ?ダイレクトサンプリングしたSDR知らないわけじゃないよね?
日本語での表現はともかくとして。
774ワット発電中さん [sage] 2018/04/08(日) 14:16:33.51:iKDoXfBc

いつの時代だよwww
774ワット発電中さん [sage] 2018/04/08(日) 14:32:57.64:mERxy63L

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


DSPラジオのご時世その通りなのだが、8bit PIC 君では歯が立ちませぬ。
774ワット発電中さん [sage] 2018/04/08(日) 14:38:01.31:mERxy63L

時報の周波数は±10% くらいで検出してるから、±1% くらいのワウフラッターはものともしないはず。
774ワット発電中さん [sage] 2018/04/08(日) 14:48:05.87:iKDoXfBc
1%のワウやフラッターってwww
いつの時代ですか?
774ワット発電中さん [sage] 2018/04/08(日) 15:22:18.68:ZrU6ShvQ

「周波数」はサンプリング対象じゃないよね
帯域内の信号はサンプリングするけどさ。
774ワット発電中さん [sage] 2018/04/08(日) 15:36:39.75:iKDoXfBc
日常生活に困るレベルの日本語読解力だな
774ワット発電中さん [sage] 2018/04/08(日) 17:24:38.06:r9HoWyO3
放送波がいろいろな周波数を持つことは話の前提であっていいわけだから、

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



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

と、普通は解釈できるよね…
そうじゃない解釈で書き手が書いていると、真面目に考えてるのかな?
774ワット発電中さん [sage] 2018/04/08(日) 18:06:10.52:E42MZBne
残念だが
このお粗末な書き方じゃ
文句言われても仕方ない。
高電圧が流れる。と同程度だな。
774ワット発電中さん [sage] 2018/04/08(日) 20:28:16.52:98rgoEX5
526.5kHz〜1606.5kHzか・・・
頑張れば丸ごと録音(記録)できそうだな
774ワット発電中さん [sage] 2018/04/08(日) 22:02:26.52:YLwCYsEz
ダイナミックレンジが16bitでも足りない 多分
774ワット発電中さん [sage] 2018/04/08(日) 22:35:30.96:mERxy63L

ワーストケースって意味分かる?
774ワット発電中さん [sage] 2018/04/08(日) 23:23:04.29:iKDoXfBc
ワーストケースにしてもデカすぎて現実味がない
774ワット発電中さん [sage] 2018/04/08(日) 23:54:08.49:mERxy63L

冗談交じりって意味分かる?
774ワット発電中さん [sage] 2018/04/08(日) 23:55:19.10:iKDoXfBc
www
774ワット発電中さん [sage] 2018/04/09(月) 07:15:39.08:AIvx1r+L
日本語読解力のある俺は,の書き方で問題ない
わからん奴は下らん煽りだけしてないで黙っとけば?
774ワット発電中さん [sage] 2018/04/09(月) 09:29:39.48:x0KpgzpJ
ある専門分野の人間は、その分野でありえない言葉が使われると敏感に反応する。
高電圧が流れると言った時、電気分野外の人達は普通に解釈し何が問題か理解しないだろう。
それと同じ。
774ワット発電中さん [sage] 2018/04/09(月) 09:40:47.30:L2xSUsvJ
お客さんやユーザが、高電圧が流れるとか言ったときに、本当にマジ顔で突っ込むやつがいるんだよ
しかも上司の横で。
またはじめやがったとかみんな下向いてニヤニヤしてるのに気がつかず得意顔
774ワット発電中さん [sage] 2018/04/09(月) 10:40:55.25:XeOsE7+A
意味/意図を汲み取れないという典型的なアスペだな
或いはただの悪ふざけ
或いはただの馬鹿
774ワット発電中さん [sage] 2018/04/09(月) 15:06:42.42:t27IPjHc
突っ込むのは首だな。挟むなら嘴。
774ワット発電中さん [sage] 2018/04/09(月) 15:09:48.38:QqlWuuZA
反射で突っ込むから
恥ずかしい
774ワット発電中さん [sage] 2018/04/09(月) 17:57:50.73:9NNDU/9J
最近は挟むのは抵抗らしいぞ
774ワット発電中さん [sage] 2018/04/10(火) 09:30:33.27:v8/o3Xig

技術系専門板では、専門用語の誤用に日本語読解力云々で開き直らず、素直に直せば良い。
774ワット発電中さん [sage] 2018/04/10(火) 09:39:25.04:ygzRX5TE
うーん…
774ワット発電中さん [sage] 2018/04/10(火) 15:55:17.27:Gii6iTro
おまえら、今月のトラ技は買えよ!
774ワット発電中さん [sage] 2018/04/10(火) 18:26:07.83:MO984M0P
PICネタ?
774ワット発電中さん [sage] 2018/04/11(水) 17:19:16.81:g3AVMNAC
トラ技と秋月はPICが好きみたいだな。
774ワット発電中さん [sage] 2018/04/11(水) 21:49:30.72:X9iWpdwf
入門と言いつつ、過去をおもいっきり引きずった内容だなwww
774ワット発電中さん [sage] 2018/04/12(木) 07:04:45.13:fcrygF4J
新しいことを始める前に過去のエラッタを何とかしてくれ。
774ワット発電中さん [sage] 2018/04/12(木) 07:11:38.15:FlE4YzpA
人生エラッタだらけ
774ワット発電中さん [] 2018/04/12(木) 07:17:50.93:5+P+2lPb
エラッタを回避出来ない技術力
774ワット発電中さん [sage] 2018/04/12(木) 08:14:59.33:01/JTKj4
せめてこれから出すやつのエラッタをどうにかしろ

あとエラッタのせいで使えない機能や性能をスペックとして語るな
詐欺だ
774ワット発電中さん [sage] 2018/04/12(木) 08:29:00.82:mKg+ZsUJ
影響がほとんどない、問題ないって判断だろ
設計やり直すとものすごい開発費かかるし
マイナーチェンジするだけのキャッシュカウに金は使えんだろ
774ワット発電中さん [sage] 2018/04/12(木) 08:58:13.41:r5AKB01G
金がかかるからスペック詐欺を続けると
最悪な会社だな
774ワット発電中さん [sage] 2018/04/12(木) 09:22:19.70:mKg+ZsUJ
損失を被ったならこんなところに書いてないで訴えればいいのでは?
774ワット発電中さん [sage] 2018/04/12(木) 10:01:40.55:x5CN6QBn
日本の裁判所は請求額を値切るのが仕事みたいになってるけど
懲罰的損害賠償が認められてるアメリカで訴訟起こせば何億とか取れる
かも知れないね。
774ワット発電中さん [sage] 2018/04/12(木) 10:04:35.15:cFOKPo7s
昔東芝がそれでやられたようだな・・・
774ワット発電中さん [] 2018/04/12(木) 10:07:25.26:5+P+2lPb
エラッタって何度も叫んでるの、1人なんだろうけど、
「わぁ、また相手してもらえたぁ!」的気分なの?
774ワット発電中さん [sage] 2018/04/12(木) 10:16:58.08:X6CNCLkr
USARTのエラッタなんて発現する使い方自体がセンス無いガキの使い方だし
774ワット発電中さん [sage] 2018/04/12(木) 11:23:43.16:x5CN6QBn
どうせ具体的な内容は書けないんでしょ?
774ワット発電中さん [sage] 2018/04/12(木) 12:43:24.91:r5AKB01G
エラッタを隠したくてしょうがない人がいるみたいだな
774ワット発電中さん [sage] 2018/04/12(木) 12:45:54.92:r5AKB01G
具体例なんて山ほど出てるけどねえ
774ワット発電中さん [sage] 2018/04/12(木) 12:48:02.08:r5AKB01G
特にPIC32MXとPIC32MZ ECはひどすぎる
MZ EFもI2Cは使えない
774ワット発電中さん [] 2018/04/12(木) 13:00:11.23:5+P+2lPb
いくら酷くても、初心者スレでする話じゃないな。
774ワット発電中さん [sage] 2018/04/12(木) 13:53:38.97:cqZr1bHJ
USART なんてそもそも通信でエラーを起こすもの。
初心者から脱却して、ECC や リトライ を勉強しましょう
という試練かもな
774ワット発電中さん [sage] 2018/04/12(木) 16:39:42.48:r5AKB01G
初心者にもエラッタの存在を教えておかないと


顧客に「マイコンのバグなんで」って言うのかね?
アホですね
774ワット発電中さん [sage] 2018/04/12(木) 16:55:46.55:fcrygF4J
プログラムがチャント動かないのは自分のバグか?
それともPUのエラッタか?なんて悩むのはツライな
774ワット発電中さん [sage] 2018/04/12(木) 17:00:22.51:fcrygF4J
ごめんよ、PU → CPU
パワーユニットではありません、セントラルプロセッシングユニットです
774ワット発電中さん [sage] 2018/04/12(木) 17:06:08.77:fcrygF4J
システム不調の原因がハードかソフトか切り分けられるだけでも追及の難易度がぐっと下がるのに。
774ワット発電中さん [sage] 2018/04/12(木) 18:52:35.26:01/JTKj4
ハードブロックがハングする問題が
ECCやリトライでなんとかなるとおもってる馬鹿がいるようだな
774ワット発電中さん [] 2018/04/12(木) 20:00:36.57:5+P+2lPb
誰もテメー固有の問題なんかに興味ないから前提知らなくて当たり前
774ワット発電中さん [sage] 2018/04/12(木) 21:57:32.35:01/JTKj4
PIC固有です
774ワット発電中さん [sage] 2018/04/13(金) 07:23:22.98:2p+SQdE6
万一未知のエラッタに当ったとしてもそこから仕様通りの動作に持ってくのが本当の技術力
ココで延々グダってんのは下の下。
774ワット発電中さん [sage] 2018/04/13(金) 07:30:22.12:B5cz3KH9
万一って率じゃないですねPICの場合
日常です
万一なんて言ってるのはまともに評価したことが無い証拠です
発見しやすいエラッタしか無いと思ってる所も初心者丸出しですね
774ワット発電中さん [sage] 2018/04/13(金) 07:48:45.66:2p+SQdE6
あ、下の下の方、おはよう。
774ワット発電中さん [sage] 2018/04/13(金) 07:52:06.02:B5cz3KH9
下の下ってPICのことかな?
774ワット発電中さん [sage] 2018/04/13(金) 08:01:46.35:QqX8JsEj

じゃあ使わなければいいとしか言いようがない
Microchipに直させることができないなら、切ればいいだけ
マイコンは他にもあるし、選択権は自分にあるんだから
774ワット発電中さん [sage] 2018/04/13(金) 08:25:57.28:VI22M6jW
欠点を欠点として認識出来ない
ラリ期ってやつですかね?
774ワット発電中さん [sage] 2018/04/13(金) 08:37:27.97:Qtzcf6RO
欠点がまったくないものだけを使ってればいいんじゃないかな?
お前の人生と同じだよ
774ワット発電中さん [sage] 2018/04/13(金) 09:32:03.99:TSN/HnWJ
「PICはエラッタが多い」
「エラッタが嫌な人はPICを使うな」
これだけ
774ワット発電中さん [sage] 2018/04/13(金) 15:26:52.92:Jq9YZFah
主イエス「Errataの存在しないマイコン信者だけが、まずPICに石を投げなさい」
774ワット発電中さん [sage] 2018/04/13(金) 15:55:34.02:BEXThcEr
エラッタが発生するのは、ある程度は仕方が無いことだと思うけど、
分らないのは
 なんでマイクロチップテクノロジのCPUにはエラッタが多いのか?
 なんでマイクロチップテクノロジはCPUのエラッタを放置するのか?

技術陣がアホで経営者が無責任野郎だから?
774ワット発電中さん [sage] 2018/04/13(金) 16:44:34.44:2pMj0I34
それでも売り上げ落ちないからじゃね
無責任だとは思うが
errataになっちゃえばある意味仕様だからな
昔インテルがバグで交換したけど
そんなことにはならないように予防線張ってるだろうし
774ワット発電中さん [] 2018/04/13(金) 18:50:13.93:Ceyaz2lL
「課長、PICのエラッタのせいで納期間に合いません!」なんて報告受けたらお前どうすんの?
「何とか回避しろ!」としか言わんよな。
その程度の事を何ヶ月も顔真っ赤っかにして書き続けるとか、余程の狂人
774ワット発電中さん [sage] 2018/04/13(金) 20:32:53.57:Osu7MW9s

無能な課長でかわいそうだな。
774ワット発電中さん [sage] 2018/04/13(金) 20:53:55.25:Jq9YZFah
トラブル起きてから泥縄式に調査するのはレベル低い
枯れたデバイスを選びエラッタ読み込んでから開発に着手するのがプロの姿
774ワット発電中さん [sage] 2018/04/13(金) 21:14:03.41:hqzWvNVe
「課長、ここは初めてスレです」
774ワット発電中さん [sage] 2018/04/13(金) 21:20:26.41:BEXThcEr
 それでも売り上げ落ちないからじゃね
なぁるほど、たとえエラッタが多くて未修正でも、
PICはそんな欠点なんか問題にしないほど沢山売れ続ける、魅力的な素晴らしいCPUだからか。
技術陣も経営者も大したもんだ。
アトメルも少しは見習えば良かったのに。
(世の中、バカばっかり)w
774ワット発電中さん [sage] 2018/04/13(金) 22:29:37.24:dwX17wuu

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

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

そういうエラッタがあるとわかってて、どうしてもポーリングで読みたきゃ、1クロックずれるだけってわかってんだから
フラグ確認後NOP一つ入れれば回避できる
何年も執着して掲示板荒らすネタにするようなもんじゃない
774ワット発電中さん [sage] 2018/04/14(土) 05:45:26.75:2o9L7hJs

知らない癖になぜ書く?
774ワット発電中さん [sage] 2018/04/14(土) 06:04:43.72:2o9L7hJs
使った事が無い
まともに評価検証したことが無い

という自己紹介?
774ワット発電中さん [sage] 2018/04/14(土) 06:58:10.97:gAWXjnUa
変な使い方しなければエラッタに遭遇しない。
774ワット発電中さん [sage] 2018/04/14(土) 07:02:43.66:2o9L7hJs
MCCは変な使い方
774ワット発電中さん [sage] 2018/04/14(土) 07:08:08.18:gAWXjnUa
最適化全面オフにすればMCCも使える。
以前、MCCでTMR0を16ビットにしたら上位が正しくセットされなかった。
774ワット発電中さん [] 2018/04/14(土) 07:08:23.92:E4Vg1Xg4
世間的に製品出荷を止めるぐらいに重大とみなされるエラッタなら製品出荷を止めてる、という当たり前の話。
重大な問題のために使い物にならないなどと言うが、それがずっと流通していることについての説明ができていない謎。せいぜいが「使う奴がバカ」だとか。
多いとか少ないという相対的表現を、比較対象もエビデンスもなしに使うのは論理的ではない、という基本。
774ワット発電中さん [sage] 2018/04/14(土) 07:10:19.87:2o9L7hJs

最適化OFFでは回避出来ません
774ワット発電中さん [] 2018/04/14(土) 07:11:50.19:E4Vg1Xg4
チップ固有の問題が存在する場合、回避方法を議論する方が前向きですね。
774ワット発電中さん [sage] 2018/04/14(土) 07:16:39.84:2o9L7hJs
のような人がいるので議論になりませんね
774ワット発電中さん [sage] 2018/04/14(土) 07:19:25.90:E4Vg1Xg4

100%の人が協力的でなければ議論できない、と思うなら、5chで議論なんかできませんよ。
あなたには向いてないんじゃないですか?
774ワット発電中さん [sage] 2018/04/14(土) 07:19:55.24:2o9L7hJs
エラッタを報告しても
「ソフトのバグ」
「使い方が悪い」
という感じなので

一時期ここでも話題になったUARTの問題ものような謝った認識の人が多いようです
意図的なミスリードかもしれません
774ワット発電中さん [sage] 2018/04/14(土) 07:21:28.65:2o9L7hJs

一人も協力的な人がいなければ議論になりません
そういうレベルのスレです
774ワット発電中さん [sage] 2018/04/14(土) 07:27:02.54:A2JSJwgd
UART送信ダブリのエラッタはPIC専用スレPart54-252で回避できるんやから
蒸し返さんでもええやろ
774ワット発電中さん [sage] 2018/04/14(土) 07:28:17.66:gAWXjnUa
同じPIC系統で今まで問題なかったが、エラッタのために異常動作したコードを披露するとかやってよ。
774ワット発電中さん [] 2018/04/14(土) 07:33:30.99:E4Vg1Xg4

>エラッタを報告しても
一般論ですが、ソースコードの開示と動作の説明をしないと意味ないですね。
774ワット発電中さん [sage] 2018/04/14(土) 07:34:18.91:2o9L7hJs

54-252にエラッタのことなど書かれてないけど
774ワット発電中さん [sage] 2018/04/14(土) 07:35:31.75:E4Vg1Xg4

>そういうレベルのスレです
なんて諦めたような見方をするぐらいなら、あなたがここにいる意味はないと思います。
774ワット発電中さん [sage] 2018/04/14(土) 07:37:48.24:2o9L7hJs

それはフェーズによります
いきなりソース開示なんてことは普通は行いません
774ワット発電中さん [sage] 2018/04/14(土) 07:39:37.14:gAWXjnUa
RX使っているけど、こいつもエラッタが結構です。
エラッタ回避のコードで対処するが、エラッタが修正されても何時生産ラインに紛れ込むかも知れないので回避コードのままだわ。
774ワット発電中さん [sage] 2018/04/14(土) 07:40:39.89:E4Vg1Xg4

議論としては、エラッタがある、ない、ソース出せよ、出さない、みたいな不毛なものと違って、面白いと思うけどな。
ttps://rio2016.5ch.net/test/read.cgi/denki/1470076841/252-
774ワット発電中さん [sage] 2018/04/14(土) 07:44:05.18:gAWXjnUa
貧乏なので過去ログ見えないです。
774ワット発電中さん [] 2018/04/14(土) 07:46:12.41:E4Vg1Xg4

1個目のレスでソースなしで「エラッタがある」はともかく、
それに対する応答として「ソース出せよ」のリクエストがあれば、その時点でソースを出すフェーズです。

そうでなければ掲示板で議論もできないですし、
ソースを出すつもりもないなら、デマと区別もできなくなる恐れのある掲示板に正当なエラッタ報告をする意味が薄くなります。
デマと区別ができるのは、第三者検証が可能なようにすることができてこそです。
774ワット発電中さん [] 2018/04/14(土) 07:48:30.87:E4Vg1Xg4

え? そうなんですか?
のリンク先は普通にブラウザで見えてますが。
774ワット発電中さん [sage] 2018/04/14(土) 07:48:34.29:A2JSJwgd
文章だけだと判りにくいのでUART内部構造図と合わせて読むと理解しやすい
774ワット発電中さん [sage] 2018/04/14(土) 07:49:30.45:2o9L7hJs

あ、見れました
読めばわかるけど割り込みを使えないということですよ
使い方が大きく限定されます

業務コードでUARTをポーリングなんて普通しませんので
774ワット発電中さん [sage] 2018/04/14(土) 07:52:38.82:2o9L7hJs
実際MCCでも何の対策も出来ていません
774ワット発電中さん [sage] 2018/04/14(土) 07:55:26.30:E4Vg1Xg4

ぐるぐる回るな。

いつも具体例を出して議論をしましょう、って話なんですよ。
ソースコードが出てきているから、のリンク先の議論もあとから評価もできるわけです。
774ワット発電中さん [sage] 2018/04/14(土) 07:56:04.04:gAWXjnUa

ごめんなさい、2chmateだと駄目だった。
774ワット発電中さん [sage] 2018/04/14(土) 07:57:58.08:gAWXjnUa
心配になったけど普通に送信割り込み使っていれば関係ないのね。
良かったわ。
774ワット発電中さん [sage] 2018/04/14(土) 08:05:45.17:2o9L7hJs
結局情報が上がってもこういうミスリードする人のせいで間違った情報に化けるんです
774ワット発電中さん [sage] 2018/04/14(土) 08:07:30.80:2o9L7hJs
普通に送信割り込みを使っても発生します
774ワット発電中さん [sage] 2018/04/14(土) 08:28:20.41:7QXlYNNg

掲示板でやれば不特定多数、玉石混淆なんで
意図するしないにかかわらずそりゃミスリードは発生するわ
自分でブログでもPDFでも何でもいいから文書にまとめて発表したら?
774ワット発電中さん [sage] 2018/04/14(土) 08:38:35.87:2o9L7hJs
UARTはまだマシですが
EFのI2Cは全く使い物になりませんね
皆さん気を付けましょう
774ワット発電中さん [sage] 2018/04/14(土) 09:07:22.06:7QXlYNNg
結局なんやかんや言ってるが自分の方が議論したりまともな情報を発信する気はないということだな
意図はわかったからNGにするわ
774ワット発電中さん [sage] 2018/04/14(土) 09:11:31.01:E4Vg1Xg4

>EFのI2Cは全く使い物になりませんね
ソースコードを出してください。有意義な話にしましょう。
774ワット発電中さん [sage] 2018/04/14(土) 10:05:32.00:DwN5R3IJ

具体的なコードよろ
774ワット発電中さん [sage] 2018/04/14(土) 10:07:26.68:2o9L7hJs
MCCの割り込みを使ったコードで発生する
774ワット発電中さん [sage] 2018/04/14(土) 10:10:36.34:2o9L7hJs

まともに聞く気が無い人に発信しても無駄
と言うことは今までの流れでもわかるでしょう
774ワット発電中さん [sage] 2018/04/14(土) 10:13:01.97:2o9L7hJs
本当に知りたいならそれ相応の態度で

まあ私なんかに聞かずにMicrochipや代理店に聞く方が良いとは思いますが
774ワット発電中さん [sage] 2018/04/14(土) 11:01:22.41:fR7j5vEr
バカバカしい (w
774ワット発電中さん [sage] 2018/04/14(土) 14:04:40.40:E4Vg1Xg4

で、何がしたいんです?
774ワット発電中さん [sage] 2018/04/14(土) 18:19:58.60:gAWXjnUa

そこ詳しく知りたいです。
割り込み発生でTXREGにライトした時点で二重送信になるの?
774ワット発電中さん [sage] 2018/04/14(土) 19:06:17.65:A2JSJwgd

TXIFで割込後にTXREG書くとごく稀にダブってしまう…
割込ルーチン入ったら1バイト送信時間分NOP()を並べるという対処療法で凌いだ
774ワット発電中さん [sage] 2018/04/14(土) 19:42:10.56:Pse3g9Ae
>1バイト送信時間分NOP()を並べる
これは酷い
タイマー使ってポーリングのほうがマシだな
タイマーが空いていればだが
774ワット発電中さん [sage] 2018/04/14(土) 20:50:41.22:gAWXjnUa

割り込み時点でそこそこクロック消費してるのにnopかよ?
774ワット発電中さん [sage] 2018/04/15(日) 00:14:27.18:70mkBdEy

TXREGに書いた時点で2重に書かれる
2重に書かれるかどうかは完全にタイミング依存
割り込みかどうかは関係無い
774ワット発電中さん [sage] 2018/04/15(日) 00:31:44.00:70mkBdEy
問題が発生するのは非常にシビアなタイミングであり
1命令サイクルでもズレれば問題は発生しないが
これを回避するのは難しく
何かしらを犠牲にする必要がある

何も犠牲にせずに簡単に回避出来ると主張する書き込みもあるが
その具体的方法について語られたとこは無い
774ワット発電中さん [sage] 2018/04/15(日) 00:33:38.57:70mkBdEy
ちなみに、私はタイマーを使って回避している
774ワット発電中さん [sage] 2018/04/15(日) 05:54:16.85:eeXYxng9
どのPICで起きるんだよ
774ワット発電中さん [sage] 2018/04/15(日) 07:10:52.56:nAVDJ7aP
報告があったのはPIC16F1459, PIC16F1454, PIC16F18313 だけど
PIC16Fで1で始まるもの全部という認識じゃなかったか
774ワット発電中さん [sage] 2018/04/15(日) 07:25:04.23:4MvPGSR+
いわゆるEnhanced mid rangeファミリーやね
774ワット発電中さん [sage] 2018/04/15(日) 08:56:21.29:nF4p1deg

これってハードの設計ミスでしょ。
ホビーとしては許容できても産業用には信頼性が低くて使えないな。
774ワット発電中さん [sage] 2018/04/15(日) 08:57:30.15:MbJiLjk4
エラッタ厨はTXREG以外のエラッタって何も話題にできないんだ?
774ワット発電中さん [sage] 2018/04/15(日) 09:00:01.20:FUo+WkZI
PICの数多くある設計ミスのうちの1個
774ワット発電中さん [sage] 2018/04/15(日) 09:05:16.52:4MvPGSR+

産業用ルネRL78でもSPI通信に爆弾抱えてるのだけど
代理店とやりとりして不具合回避して使った経験あるから
そんなもんだと諦めて使えばよろし
774ワット発電中さん [sage] 2018/04/15(日) 09:08:35.70:FUo+WkZI
ttps://www.clarestudio.org/elec/pic32/intro.html
774ワット発電中さん [sage] 2018/04/15(日) 09:09:20.44:FUo+WkZI
ttp://broadbeans.blog.so-net.ne.jp/2014-08-29
774ワット発電中さん [sage] 2018/04/15(日) 09:22:47.77:9SCRcghf
十年以上前にEMC試験やったことあるけどPIC16は優秀だったなー
他社8bitマイコンを最高クロックでぶん回すとノイズ撒き散らしてラジオ聴こえなくなったり
movaケータイ接近させるとレジスタ化けたり暴走したりとかあった
一方でPIC16は余裕で試験クリアしてた
774ワット発電中さん [sage] 2018/04/15(日) 09:32:01.18:AXpa383P
そんな試験するんだ。
774ワット発電中さん [sage] 2018/04/15(日) 10:10:22.66:nF4p1deg

ヘーッ、そうなんだ。
そう言うのは次のロットから回路パターンが修正されてるとかは無いの?
774ワット発電中さん [sage] 2018/04/15(日) 10:16:18.44:1oBlfLek
作り話にマジレス
774ワット発電中さん [sage] 2018/04/15(日) 11:17:35.48:nF4p1deg

えっ作り話ってホント?!
774ワット発電中さん [sage] 2018/04/15(日) 12:35:57.57:eeXYxng9
PIC18は大丈夫なんだ。
良かった。
774ワット発電中さん [sage] 2018/04/15(日) 12:59:35.34:WtSkbo8c
ラジオ聞こえなくなるとかご冗談を
774ワット発電中さん [sage] 2018/04/15(日) 13:08:32.53:gtNWIpDy
PIC32MXですが、IOをHi → Lo → Hiとタイマーカウンターでウエイト
いれてパルスを作ってみたのですが、どれだけ早くできるか
ウエイトを徐々に小さくしてみましたところ。500nsecが最速でした。
10MHz(100nsec)くらいまでいけると思ったのですが・・。
774ワット発電中さん [sage] 2018/04/15(日) 13:26:56.53:EL6eaFCk
そんなに無理させて、チンチンに熱くなったりしないの?
774ワット発電中さん [sage] 2018/04/15(日) 14:30:48.32:UvYIgKYn

なぜそう思うのか
謎だ
774ワット発電中さん [sage] 2018/04/15(日) 14:34:50.09:UvYIgKYn

プログラムのスキルと仕様次第

LATAINVにセットし続ければ
コアクロックの半分の周波数まで出せる
774ワット発電中さん [sage] 2018/04/15(日) 14:35:37.34:UvYIgKYn

チンチンはたまには熱くなった方が良いです
774ワット発電中さん [sage] 2018/04/15(日) 14:41:19.42:nF4p1deg

500nsっていうことはパルスの極性反転に250nsでクロックが最大の40MHzだと処理に(250/25=)10クロックサイクルかかってることになるね。
I/O命令とタイマー割り込み処理だけだけど結構クロック使うんだ。
だからPICに限らずマイコンはPWMとかパルスジェネレータを内蔵してるのかな?
774ワット発電中さん [sage] 2018/04/15(日) 14:44:35.46:gtNWIpDy

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;
}
774ワット発電中さん [sage] 2018/04/15(日) 14:47:07.00:gtNWIpDy

有難うございます。
PIC32MX340F で80MHzですが、汎用IOが単に遅いだけだと思っていました
内部処理なのですね・・
774ワット発電中さん [sage] 2018/04/15(日) 15:10:22.56:UvYIgKYn
割り込みで10クロック周期の処理なんて不可能
だからは当然ISRによるポート処理ではないはず

もっとも、
なぜ40MHzが最大だと思ったのかもわからず、
80MHzで動作していて500nsが1回の処理の時間であれば40クロックですので
ギリ可能な感じ
774ワット発電中さん [sage] 2018/04/15(日) 15:11:04.52:UvYIgKYn
あ、リロードせずに書いちゃいました
774ワット発電中さん [sage] 2018/04/15(日) 15:14:22.34:PQIS7LIE

まぁ電子天秤の出力フォーマットは全部似たり寄ったりだからね
1個作れば他の天秤でも使える
安い優先ならPICKIT3(互換機)を海外通販で
でなければPICKIT4

作例の多い16F1455(USB内蔵)使ってMCCでさくっと
ただDACのアナログ出力が面倒なので、デジタルでどうにかした方がいいと思うよ
SDカードUSBメモリとか、PCにUSB出力とか
「PIC SD」でぐぐれば作例出てくる
DIPじゃないパッケージは大変なのでやめるべし

ArduinoやRasberryPiでもいいし
早く始めた方が、仕事が早く楽になると思うよ
774ワット発電中さん [sage] 2018/04/15(日) 15:19:04.43:UvYIgKYn

そういう低レベルな処理の最適化は得意
色々とアドバイス出来ると思います

wait_fastは関数?
であればNOPを並べただけのマクロに変更

あとはループアンロールなど基本的な最適化技術を学びましょう
最終的にはアセンブラ化ですかね
710 [sage] 2018/04/15(日) 15:23:25.66:gtNWIpDy
なんとか、自作SPIでました
ttp://https://i.imgur.com/K3ICgzg.jpg">ttps://i.imgur.com/K3ICgzg.jpg

ソースが間違いまくってました。
unsigned iData -> unsigned int iData
int iCnt1,iCnt2=0; -> int iCnt1=0;
int iCnt2=0;
774ワット発電中さん [sage] 2018/04/15(日) 15:28:43.77:gtNWIpDy

>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){}
}

>あとはループアンロールなど基本的な最適化技術を学びましょう
・・・難しそうですね・
>最終的にはアセンブラ化ですかね
インラインアセンブラでしょうか?
774ワット発電中さん [sage] 2018/04/15(日) 15:29:58.94:gtNWIpDy
皆さん、いろいろと有難うございます。
一旦オチ致します
774ワット発電中さん [sage] 2018/04/15(日) 15:41:22.06:UvYIgKYn

(暇なときに書いて)

前処理含めてSPI_Data全体を速くしたい?(処理時間短縮)
それとも通信時間だけ縮めたい?(バス占有時間短縮)

アセンブラはインラインじゃなくてループ全体をネイティブで
規模的にはアセンブラでも問題ないレベルなので
774ワット発電中さん [sage] 2018/04/15(日) 15:48:50.00:UvYIgKYn
端子を好きに変えて良いならDMAも使える

そもそも何でPIC32MXのSPIの機能を使わない?
数が足りない?
端子を変えたい?
単に勉強用?
774ワット発電中さん [sage] 2018/04/15(日) 15:53:03.26:nF4p1deg

ごめんなさい。
PICのことはよく知らずにあるMicrochip社のホームページにあるチップの一覧表で最初に出てきたPIC32の仕様から40MHzを引っ張ってきてしまいました。
それにしてもポート反転処理に20クロックサイクルもかかるとは、規模が大きくなるとマイクロ命令を使ったハード処理が多いからなんだろうか?
774ワット発電中さん [sage] 2018/04/15(日) 15:55:06.61:UvYIgKYn
後半
ソース見ての発言?
774ワット発電中さん [sage] 2018/04/15(日) 15:57:36.70:UvYIgKYn
8bitだとクロックを揃えたとしてももっとかかるよ
774ワット発電中さん [sage] 2018/04/15(日) 17:15:35.63:PQIS7LIE
xc8の無償版
数ヶ月経つとアセンブラ命令書いたら最適化されないと聞いたけど本当でしょうか?
sleep命令の後にNOP入れたいんだけど、本当の話なら困る
774ワット発電中さん [sage] 2018/04/15(日) 17:21:22.76:UvYIgKYn
インライン?
インラインアセンブラによってコンパイラの最適化が阻害されるのはごく普通のこと
影響があるのはせいぜい関数内とか近い部分だけだよ
インラインアセンブラを使う使わないに関わらず
無償版は最適化に制限がある
お金があってパフォーマンスが重要であれば
有料版を買いましょう

個人ならより速いマイコンを選ぶ方が良いでしょう
774ワット発電中さん [sage] 2018/04/15(日) 17:32:45.44:ILqeKLwc
コンパイルしてアセンブルコード見れば判るじゃん
774ワット発電中さん [sage] 2018/04/15(日) 18:23:44.20:nF4p1deg

C言語だからコンパイラのオーバーヘッドがあるっていう意味?
確かにそうだけどコードがシンプルだから最適化すればかなりコンパクトになるかと思って。。。
すみません。
724 [sage] 2018/04/15(日) 19:03:35.28:PQIS7LIE
すみません
未だにMPLABのアセンブルの見方が分からなくて・・・サイズしか判断できません
NOP入れるとサイズが倍になるので困ったなと
NOPぐらいは最適化して欲しいなー
774ワット発電中さん [sage] 2018/04/15(日) 22:08:45.72:MbJiLjk4
どうやってnopいれてるん?いろいろあると思うが。
724 [sage] 2018/04/15(日) 22:16:39.73:PQIS7LIE
シンプルに
sleep();
nop();

asm("nop");ではありません
774ワット発電中さん [sage] 2018/04/15(日) 22:44:23.94:AXpa383P
最適化したいならnop入れるなよ
774ワット発電中さん [sage] 2018/04/15(日) 22:51:05.18:UvYIgKYn

処理内容は見たの?
関数を2回呼んで、
その中でタイマー待ちをしたりしてるんだけど
そんなにシンプルか?

じゃあ逆に8bitだとどれくらいだと思った?
パッと見で
774ワット発電中さん [sage] 2018/04/15(日) 22:56:42.64:UvYIgKYn

それを「アセンブラ命令を書く」というのか...

インラインアセンブラと比べて見ては?

コンパイラの最適化の設定は0〜3まであって
無償版はお試し期間を過ぎると0〜1しか選べない

試したければ最適化の設定を1にしてみれば良い
そもそも今は3になってる?
774ワット発電中さん [sage] 2018/04/16(月) 10:19:30.00:bHGBT4CK

8bit (PIC16F18326)と32bit の処理時間を比べてみました

ループ1周
8bit 388クロック
32bit 41クロック

圧倒的に32bitの方が速いですね
32bitの方は80MHzですので
クロック周波数を加味するとさらに差が開きます

8bitは1命令4クロックなのと、関数コールに時間がかかっているのが主な遅い要因のようです

ちなみに、
純粋にCPUの処理時間を比べるために
タイマーの待ち時間はゼロにしました
それ以外は のままです
774ワット発電中さん [sage] 2018/04/16(月) 12:03:00.81:UlTFQdwE

ヘーッ、ビット数で大きく違うんだ。
参考になりました。
ありがとう。
774ワット発電中さん [sage] 2018/04/16(月) 12:49:49.60:bHGBT4CK
32bitでアセンブラでガシガシに組んだら
1ビット平均4.5クロックくらいになりました

SCLK HIGH 2クロック / LOW 2クロック
残りはループやデータロードなどオーバーヘッド

ただし、
純粋にCPU部分だけの性能なんで
回路やバスがボトルネックになるかもしれません

非常識なコードまで含めれば
最短、2クロック + オーバーヘッド
になります
774ワット発電中さん [sage] 2018/04/16(月) 13:06:20.36:bHGBT4CK

もういないかもしれませんが

SDOやSCLKはLAT*bits.LAT**のdefineだと思いますが
これに直接代入は危険です

ISRや他のタスクで同じポートグループにアクセスしてない確認が取れた場合だけにしましょう
取れた場合も、移植時やコード変更時の無駄なトラブルを避けるため、
直接代入は止めた方が良いです

割り込み禁止で包む
ASET / ACLR 命令を使う
LL / SC 命令を使う
LAT*SET / LAT*CLR / LAT*INV を使う

など、アクセス中の割り込みでも問題ないように
774ワット発電中さん [sage] 2018/04/16(月) 18:03:58.41:akAi1l4a
8bitでアセンブラで考えてみたけと
ループやデータ読み込みを除いても
1ビット送信に20クロックもかかってしまう

非常識な方法でやっと10クロック

ベテランさんだともっと縮まるのかな?
℃玄人さんとか
774ワット発電中さん [sage] 2018/04/16(月) 18:27:01.27:W+H67dYH
定期的に、
8bitを過大評価
32bitを過小評価
した書き込みが有るんだよな

PICは8bit信仰が根強い
774ワット発電中さん [sage] 2018/04/16(月) 19:54:47.30:/9VVSNUR
ARMなんか、APBに書き出すと1サイクルなのに何十クロックもかかるよ。
774ワット発電中さん [sage] 2018/04/16(月) 20:03:57.98:W+H67dYH
で?
774ワット発電中さん [sage] 2018/04/16(月) 21:22:22.55:W+H67dYH
ここはPICスレなんでよろしく

PIC32の競合となるCortex-Mならともかく
Cortex-Aの話が何の脈絡もなく突然出て来ても

「で?」としか言えん
774ワット発電中さん [sage] 2018/04/16(月) 21:29:16.39:lcIHa3Qe
センサをI2Cで制御して無加工のままUARTで吐くような
単純処理にしか使ってないので8bitで十分なワシ
774ワット発電中さん [sage] 2018/04/17(火) 07:10:18.51:yfkOii8k
で、エラッタに引っ掛かると
774ワット発電中さん [sage] 2018/04/17(火) 09:49:31.24:Kmb1ETxd
UART送信を詰め詰めで送るほどシビアなタイミングは要求されてないので
1バイト毎にTRMTビットをポーリングしながらのんびり送信してます。
それゆえエラッタとは無縁なPICライフでハッピー♪
774ワット発電中さん [sage] 2018/04/17(火) 09:53:03.57:sEDHFZ0m
電子工作未経験ですが質問させてください

例えば、PICを用いた自作キーボードを作りたい場合、
デバイス側としては、電子回路(USBシリアル変換モジュール・USBケーブル含む)と
PICに書き込むC言語だけで完結できるのでしょうか?

VB.netを勉強せずに済むなら、書籍代や時間労力を節約できるので
教えていただければ幸いです よろしくお願いします
774ワット発電中さん [sage] 2018/04/17(火) 11:29:21.20:FYv5vMuZ
USBシリアル変換だと
PC側からキーボードとして認識しない
PIC16F1454などUSB機能の付いたマイコンを使いましょう

電子回路(マイコン、キー、USB端子などを含む)
プログラムをマイコンに書き込む為の道具(PICKIT4など)
統合開発環境(ソフト、無償)
が必要
774ワット発電中さん [sage] 2018/04/17(火) 11:31:32.88:FYv5vMuZ
開発言語はC言語のみでOK
もちろん開発に使うPCは必要

質問の答えになってます?
774ワット発電中さん [sage] 2018/04/17(火) 11:53:34.83:8TfpW1tm
一から作るのか先人の作例を真似するのかにもよるが
未経験者には結構ハードルが高いと思う
できればもう少し段階を踏む方がよいのだが
774ワット発電中さん [sage] 2018/04/17(火) 12:05:51.96:CZ4qzWF+
キーボードコントローラにPICを接続させる
774ワット発電中さん [] 2018/04/17(火) 12:09:13.23:HqfpJ3h1

結果だけ有れば良いという事なら18F2550の作例を何から何まで提供しますがw
774ワット発電中さん [sage] 2018/04/17(火) 12:37:16.26:+jNw9m7+
PICが絶対じゃなければpromicroが楽
774ワット発電中さん [sage] 2018/04/17(火) 13:19:43.87:mB1S5Gmj
PS2/USB 変換器使って、PS2プロトコルで送ると超簡単
774ワット発電中さん [sage] 2018/04/17(火) 13:24:46.70:FYv5vMuZ
キーボードを買ってくるのが簡単
774ワット発電中さん [sage] 2018/04/17(火) 13:49:29.76:UygcwN2x
1.キーボードを買ってくる
2.分解する
3.観察する
4.デバイス外す
5.目的のスイッチと配線する
6.楽しむ
774ワット発電中さん [sage] 2018/04/17(火) 18:45:27.18:sEDHFZ0m
さん
>USBシリアル変換だとPC側からキーボードとして認識しない
>PIC16F1454などUSB機能の付いたマイコンを使いましょう
なるほど、勉強になります
USB内臓PICでUSB機器として作るとなると、
USBフレームワークとかHIDクラスとか難しそうだったのと、
仮想COM接続でシリアル通信するのが簡単という意見を読んだので、
USBシリアル変換モジュール(FT232RL USBシリアル変換モジュール)を使えば良いのかなと思ってました
でも、実はUSBミニBコネクタ付きのPIC18F2550のマイコンボードも発注済みなので色々努力してみようと思います

>開発言語はC言語のみでOK など
安心しましたw 以上、詳しくありがとうございました
とても勉強になりました C言語の勉強を頑張ります!
774ワット発電中さん [sage] 2018/04/17(火) 18:47:50.79:sEDHFZ0m
さん
まだPICでLEDチカすらさせたことないですw
自作キーボードとまで行かなくても、
電子回路内のタクトスイッチを押すと、PCのアクティブウインドウに"a"と送信されることを
目指して頑張ります

さん
ありがとうございます
キーボードコントローラというものあるんですね
詳しく調べてみようと思います

さん
貴重なご提案をありがとうございます
未経験者なので回路図もプログラムも難しくて理解できないと思いますけど
差し障りなければ、後学のために是非お願いしたいです
PIC18F2550のUSBモジュール内臓PICはもうじき届くと思いますので
いつか理解できるようになりたいです
774ワット発電中さん [sage] 2018/04/17(火) 18:47:56.63:UygcwN2x
TMK QMK keyboard
774ワット発電中さん [sage] 2018/04/17(火) 18:51:53.47:sEDHFZ0m
さん
Arduino互換ボードみたいですね
読んだ書籍がPICだけなので、今回はPICでやってみようと思います
次回からそちらも視野に入れて検討してみます ありがとうございました

さん
FT232RL USBシリアル変換モジュールを使った仮想COMポートのシリアル通信の外にも
PS/2-USB変換器を使ってPS/2プロトコル通信する手段も有効なのですね
ありがとうございます 勉強になります
あとで調べてみますね

さん 
ありがとうございます
分解して改造してみるというのが物作りには大事ですね
いつかやってみようと思います

以上、皆さま貴重なご意見をありがとうございました! 大変勉強になりました
774ワット発電中さん [sage] 2018/04/17(火) 20:23:01.98:sEDHFZ0m
度々すみません

さん
受信専用の使い捨てメアドを用意しました
zyvzwywm★abyssmail.com (お手数ですが★を@に置き換えて下さい)
お作りになられた作例の回路図やプログラムのファイルなどをDLできる
サイトのURLをこちらへお送ってくだされば、後学のために勉強させていただきます

ご厚意に甘えてばかりですみません
ご面倒なら無視して下さって結構です
774ワット発電中さん [sage] 2018/04/18(水) 12:50:08.47:PdCqULGe

あなたの現在のスキルとその理由なら、買った本を埋没費用としても、今からでも遅くないから、PICと同時平行でpromicroもやってごらん。

今からaliでポチって、ネットの情報だけで片手間でやってもpromicroの方が早く出来上がる。

ArduinoよりPICを選ぶ場面は今後出てくるから適材適所だと思うから買った本は無駄にならないとは思うけど。
774ワット発電中さん [sage] 2018/04/18(水) 12:56:15.76:SjXGraP6

非常識と思ったコードの方、
実用の可能性は無いかと思ったけど可能性ありそう

8bit送信するコードを256通り作って
1バイト単位で分岐する
LAT*INVへの代入15個とリターン命令の16命令で良いので
256個作っても16KB

80MHzで動くPIC32はどれもROMが64KB以上あるので
ソフトSPIのパフォーマンスが重要なら有り

当然コードはプリフェッチキャッシュには収まらないが
それでも真面目に1bitずつデータを作るよりは速い

CPU時間だけでいうと平均2.7クロックで1bit送信出来る
774ワット発電中さん [sage] 2018/04/18(水) 18:29:38.22:SjXGraP6
トータル処理量よりもバス占有時間を縮めたいなら
送信するコードをRAMに展開する手も
1ビット送信に2命令8バイト使うので1回で送るデータ量は限られるけど
1ビット送信時間は2クロックに近づく
774ワット発電中さん [sage] 2018/04/19(木) 01:32:48.73:oU6HpH/T
NYTから
チェコでも人手不足でロボット化を推進
Robots Ride to the Rescue Where Workers Can’t Be Found
ttps://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は、人口動態の変化や賃金圧力に直面するための
自動化を「大幅に加速すると」と言う。

中略

ロボットが人間の生計を助けるか脅かすかは、激しい論争を巻き起こしている。
批評家によると、将来の景気後退が起こると、労働者は苦しむというリスクがある。
「ロボットの電源を切って人を戻すことはできない」からだ、という。
チェコの組合は警告を発し「ビジネスリーダー、政治家、労働組合は、今後の産業革命に前向きに
責任を持って対応しなければ、雇用はさらに脅かされる可能性がある」と述べた。
今のところ、企業はロボット化が新しい仕事を生み出すと主張しているのだが。
774ワット発電中さん [sage] 2018/04/19(木) 05:14:23.76:kzHfxqAW
産業用ロボットに国際的競争力があるとかいう日本にとっては有利じゃん。
本当にそうなら、だけど。
774ワット発電中さん [sage] 2018/04/19(木) 06:36:48.51:WX9bfYYK

どっちみち、単純作業に高い給料出せないからな。
774ワット発電中さん [sage] 2018/04/19(木) 07:36:34.19:nd3SRc9d
「人手不足」は、まあ結構多くシーンで「(安い賃金で文句を言わずに言われたことを正確にする)人手が不足」の意味だよな。
774ワット発電中さん [sage] 2018/04/19(木) 07:38:52.98:FuNO6Xpy
おまいらスレタイ
774ワット発電中さん [sage] 2018/04/19(木) 09:05:47.73:nd3SRc9d
PICを含めてマイコンは単純労働から人を追い出すことに貢献してきたんですよ。
774ワット発電中さん [sage] 2018/04/19(木) 10:29:34.46:3oyTkCU+

業界にいると分かるけど中国からの大量発注で今、日本のロボット業界は史上最高の好景気。
産業用が中心だが、ロボット製造メーカーだけじゃなく関連部品メーカーも。
パーツによっては1年待ち。
774ワット発電中さん [sage] 2018/04/19(木) 11:40:08.06:Md7rir1F
PICは即納だけどmurataのチップコンデンサが
納期38週間とか言われて新規量産着手できない状態
774ワット発電中さん [sage] 2018/04/19(木) 12:50:37.94:lSW2Yh90
ここから独り言スレ
774ワット発電中さん [sage] 2018/04/19(木) 19:00:31.25:FhrgUwg4
村田だけ?
774ワット発電中さん [sage] 2018/04/19(木) 20:22:41.06:Md7rir1F
どのコンデンサメーカーも品薄だけど特に村田がヒドイ…
客にドヤされたmurata営業がTDKのセラコン持ってきたなんて噂話までまことしやかに囁かれる現実
774ワット発電中さん [] 2018/04/19(木) 20:50:05.03:uGiu7zA3
全社的にmurata -> 誘電 に移行の流れ
774ワット発電中さん [sage] 2018/04/19(木) 20:59:13.16:FhrgUwg4
少量生産だとdigikey辺りで代替品テキトーに買えばいいのだろうけど
量産だとそんなわけにはいかないのでしょうねぇ
777 [777] 2018/04/19(木) 21:01:17.81:IoZPQClm
777
774ワット発電中さん [sage] 2018/04/19(木) 22:34:02.01:FuNO6Xpy
コンデンサごときで量産止まるとか
そんなことがあるのか
特殊なコンデンサ?
774ワット発電中さん [sage] 2018/04/19(木) 23:20:12.77:nd3SRc9d

量産だと、たとえば製造用部品リストに
ごくあたりまえの 1608サイズ 25V 0.1uF 10% R特性 として、

25V 0.1uF 10% TBK製作所 C16081ER104K-R12

なんて書いてあったとして、それが品切れだったときに
「代わりに大洋誘電とかムラ夕製作所とかの同等品がありますやん」
が通じなかったりしますよ。
774ワット発電中さん [] 2018/04/19(木) 23:37:27.89:IiOO487C
まぁ、指定の型式以外は、使っちゃいけないんだから、しょうが無いね。
774ワット発電中さん [sage] 2018/04/20(金) 06:29:15.50:gBEPiZc6
汎用部品でいくらでも代わりがあるものを
何もせず待ってるだけなんて考えられないんだよね
量産が止まるって普通は大損害なわけで
774ワット発電中さん [] 2018/04/20(金) 06:34:04.53:kjkbjcRi
それは調達部署がアホってだけ。
設計にはなんの落ち度もない
774ワット発電中さん [sage] 2018/04/20(金) 06:45:24.51:gBEPiZc6
調達部署が調達失敗を隠蔽してた
とかならその言い分もわかるが
774ワット発電中さん [sage] 2018/04/20(金) 07:16:35.04:alXGJ6H4
抵抗とか電解コンデンサなら他社同等品切替でもまぁ問題は起きないけど
コイルキャパシタは他社相当品に代えた途端、ライン検査NG出まくりで
変更指示出した購買が責任もって不良品買い取れ!なんてことも…
774ワット発電中さん [sage] 2018/04/20(金) 07:34:42.17:gBEPiZc6
なんでちゃんとした変更手順を取らない前提なんだか
774ワット発電中さん [sage] 2018/04/20(金) 07:50:17.34:7gRJxqQr
大口なら供給が危うくなれば事前に連絡が来るだろ
購入側も需要予測出してるだろうし
穴を開けたら大変だから間に合うように代替の部品認定や設計変更する
774ワット発電中さん [sage] 2018/04/20(金) 07:57:11.54:Hqd9yM7H

いやいや。その「ちゃんとした変更手順」が大変ってことなんでしょう。
積層チップコイル、チップセラミックはメーカーが変わると怖い、って考え方もわかります。

ノイズ試験(特に出す方)、振動試験、温度サイクル試験からやりなおせ、みたいな。
それをやらずに、市場にでてから問題になったら、
それがたまたまのものであっても、他の原因が大きくてもやっぱり変えたからだ、なんてことになりかねません。

誰も自分では責任を取りたくないから、弱いところに責任を押し付けるでしょう。
OKを出したエンジニアに道義的責任を押し付けて昇進・昇給機会を奪うぐらいならまだしも、
量産を請け負っている会社が提案して代替品に置き換えて問題が起きたら目も当てられないことがありますよ。
774ワット発電中さん [sage] 2018/04/20(金) 10:15:02.48:IUB+UbHb
とりあえず、スレタイ嫁
774ワット発電中さん [sage] 2018/04/20(金) 12:13:21.53:uscpRFuO
PICを使う初心者も部品選定には気をつけましょうってことで
774ワット発電中さん [sage] 2018/04/20(金) 12:33:35.40:M80b+5Sh
そんな事言ってたらPICを使う初心者も癌には気を付けましょう
とか際限ない
774ワット発電中さん [sage] 2018/04/20(金) 19:45:20.35:Hqd9yM7H

それ、何の初心者やねん…。量産にかかわるプロの初心者ですね。
774ワット発電中さん [sage] 2018/04/21(土) 07:29:25.10:52LYMKQ4
そもそも部品選定に気を使う初心者ならPICを選ばない可能性が・・・
774ワット発電中さん [sage] 2018/04/21(土) 08:36:08.95:afdvQDzl
意外とMicrochipは納期トラブル起こさないんだよな…
買収したAtmelとかはちょくちょくやらかしてたのに
774ワット発電中さん [sage] 2018/04/21(土) 08:42:14.72:oXtXz/iS
PICを使う初心者はエラッタに気を付けましょう
774ワット発電中さん [sage] 2018/04/22(日) 13:52:36.04:UbSykmzs
なんで?
774ワット発電中さん [sage] 2018/04/22(日) 14:01:19.00:YIM4HVox
常識
774ワット発電中さん [] 2018/04/22(日) 17:01:32.04:7BGmE1tv
実装始める前にチラ見して自分の使い方に関係なければ放置。関係あったら回避するよう実装する。
それだけ。
774ワット発電中さん [sage] 2018/04/22(日) 17:20:59.84:1paPJSz9
記載されていないエラッタだったら?
自分のバグかCPUのエラッタか分らなかったら?
正攻法が使えなくて、裏口で遠回りでしか入れないとしたら?
初心者には使いづらいだろうな。

初心者はありふれた使い方しかしないとは思うけど、
いっそエラッタの心配をしなくても済むCPUを選んだ方がいいのではあるまいか。
774ワット発電中さん [sage] 2018/04/22(日) 17:25:33.17:LNhKFNq5

記載されていないエラッタが存在しないCPUは何?
774ワット発電中さん [sage] 2018/04/22(日) 17:42:11.17:aX/zyE30

エラッタの心配しなくて済むCPUってなに?
774ワット発電中さん [sage] 2018/04/22(日) 18:10:37.14:+oSYvOd6
いろんな他社のマイコンやFPGAでもエラッタはあるのに
ちゃんと公開してる分まだいいでしょ
774ワット発電中さん [sage] 2018/04/22(日) 18:53:51.57:YIM4HVox
実装はじめる前に見ないと駄目ですよ
機能が全く使えないのもあるので

あと、記載されてないのもあるんで注意
774ワット発電中さん [sage] 2018/04/22(日) 20:40:06.18:hUMsEJkM
Lチカしかやらない初心者が気にすることもない
774ワット発電中さん [sage] 2018/04/22(日) 21:04:58.12:YIM4HVox
機能が使えないのにスペックには機能を有するように書いてあるのはPIC位では?
ひどい会社だ
774ワット発電中さん [sage] 2018/04/22(日) 21:31:30.30:x9YQ/Dix

マニュアルに書いてある全機能が問題なく使えるメーカーっ具体的にどこですか?
774ワット発電中さん [sage] 2018/04/22(日) 21:45:22.60:YIM4HVox
PICしか使ってないと、
宣伝文句に嘘があるのは普通
だと思っちゃうのか
774ワット発電中さん [sage] 2018/04/22(日) 21:46:26.01:iosJSl1t
エラッタバカ気持ち悪いな
774ワット発電中さん [sage] 2018/04/22(日) 21:49:18.33:YIM4HVox
PIC信者の方がキモチワルイ
欠点の指摘に対して全力で否定
774ワット発電中さん [sage] 2018/04/22(日) 22:20:12.23:iosJSl1t
嫌なら使わなければいいだけ
エラッタあるのは皆知ってる
中にはデータシートに記載されていないものもあるだろう
それでも使いたい人は使うし嫌って使わない人もいる
君は後者なだけであって、それを否定するつもりはない

君の気持ち悪い点は
使わないという価値観を他人に押しつけている所
皆がエラッタあるけどPIC使え!と君に押し付けているか?
君に押しつけているなら、そりゃ布教信者だな

エラッタを全力否定している訳では無い
エラッタを含めて使用する事を肯定しているだけ

君はPICエラッタ信者w
774ワット発電中さん [sage] 2018/04/22(日) 22:49:25.62:/F8LOCIj
信者の長文
774ワット発電中さん [sage] 2018/04/22(日) 22:52:01.23:/F8LOCIj
エラッタの指摘が「PICを使うな」に見えるのか
病気だな
774ワット発電中さん [sage] 2018/04/22(日) 22:54:12.80:NVvjNXFo
PICにエラッタがあるのは十分わかったので、
それ以上新しい情報がないならもう来なくていいです
774ワット発電中さん [sage] 2018/04/22(日) 22:57:17.48:/F8LOCIj
君がわかるだけじゃダメ
初めて君がわからないと

テンプレに載せれば良いと思う
良い点も悪い点も
774ワット発電中さん [sage] 2018/04/22(日) 22:59:34.78:NVvjNXFo
エラッタエラッタと連呼する粘着質では女にモテませんよ
くだらない書き込みをする暇があったら
その性格を少しでも直して外に出れば、彼女もできるかもしれませんね
774ワット発電中さん [sage] 2018/04/23(月) 01:40:13.80:qispF0Cu
NYTから
デジタルの世界へ進出するGE
”G.E. Makes a Sharp ‘Pivot’ on Digital”
ttps://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は存在すべきではない」と断言する。
774ワット発電中さん [sage] 2018/04/23(月) 04:41:12.67:nIJuatxM
良いじゃねえかエラッタ連呼はここしか活躍する場がないのだからおおめに見てやれよ。
774ワット発電中さん [sage] 2018/04/23(月) 07:09:14.81:qws5uQrl
PIC信者って哀れというか、ミジメというか、気持ち悪いというか、普通じゃ無いというか、
なんかもう表現する言葉が見つからないな。
これからもガンバって使い続けて下さい、期待していますw
774ワット発電中さん [sage] 2018/04/23(月) 07:18:22.24:wXkE7XA+

今では、8bitマイコンは只の部品に過ぎないのにな。
774ワット発電中さん [sage] 2018/04/23(月) 08:12:11.74:AQeQEUIQ

それあなたの感想ですよね?
774ワット発電中さん [] 2018/04/23(月) 08:21:55.31:QrgYmlPT
エラッタみたいな事ってすべての工業製品に共通の事だろ、
自動車や飛行機は人命に関わるからそれなりの扱いになってる
それだけ。
774ワット発電中さん [sage] 2018/04/23(月) 08:24:48.16:vgfa8Ywc
PICのエラッタはひどすぎる
って話
774ワット発電中さん [sage] 2018/04/23(月) 08:26:20.63:YI0xN+Rg
羹に懲りてあえ物を吹く。ふうふう。
774ワット発電中さん [sage] 2018/04/23(月) 09:21:32.17:VqNEcMff
糞に懲りて?
774ワット発電中さん [sage] 2018/04/23(月) 11:47:01.13:jAF0VgmE
ふうふうで冷めればいいけど
みたいな対処法しかないとなると
774ワット発電中さん [sage] 2018/04/23(月) 12:11:47.79:24xfnF8o
UARTエラッタ人ってずっと粘着してるの?
メーカーに問い合わせしないで?
ここでエラッタ粘着??
774ワット発電中さん [sage] 2018/04/23(月) 12:18:40.11:24xfnF8o
UART送信をTXIFで割込みかけて送信するなんて
しょっちゅう使っているんだけど
そんな送信がダブったなんて経験した事がないんだよな

粘着君以外で他に経験した人がいるの?
いるならもっと騒がれていいはずなんだけど
海外でも見ないよね、、なんでだろうね
774ワット発電中さん [sage] 2018/04/23(月) 12:23:31.60:7ylKcI55
本国は英語版で十分なので、日本語版はおまけですって某社もあるけどな。
エラッタどころかリファレンス自体も更新しやがらねえよ。

それどころか英語版のこんなふうにできますよの使用方法すら日本語版にはデータがないので公開できませんって言われてて流石に同情した。
774ワット発電中さん [sage] 2018/04/23(月) 12:31:56.17:5jW3aFXL

えっ酷いね!
どこの会社?
インテル?STマイクロ?
774ワット発電中さん [sage] 2018/04/23(月) 12:43:31.78:jAF0VgmE

まともに検証してないだけだと思う


日本語なんかいらんだろ
更新してなくてもどうでもいい
774ワット発電中さん [] 2018/04/23(月) 12:52:25.66:QrgYmlPT
つか他のデータシート全部英語なわけでマイコンだけ日本語にしてもらっても無意味。
774ワット発電中さん [sage] 2018/04/23(月) 13:00:20.21:jAF0VgmE

1人の書き込みだと思ってるのか?
少なくとも は別の人

ていうか、
逆にバグ有りUARTを使ってて気づかないっていう方が驚きだ
普通に割り込みで作れば2重送信の可能性があるコードになる
あとはタイミングだけ
簡単な負荷テストで発生する

PICユーザーは動作検証しない
って言ってるようなものだ
774ワット発電中さん [sage] 2018/04/23(月) 14:05:18.19:PYbR2QaM
直す気が無いなら「データシート」に書いとけってな
774ワット発電中さん [sage] 2018/04/23(月) 14:12:52.98:Jm4vGESD
エラッタ知ってる大先生は他のCPUやらチップやらのスレでも
後進の指導にご尽力なさってるのかしら
774ワット発電中さん [sage] 2018/04/23(月) 14:29:03.65:7ylKcI55

STMは英語のサポートチームがサポートしてくれる分ましかな?
ADI社は英語の資料を見ろって言っておきながら英語の資料のデータが無いから教えられないとか言い出す。
しかも国内サポートがてんでばらばらだから御社の〇〇様にこういう感じでサポートして頂いたのですがっていう一連の流れを出さないと、みんな「そこAだから」みたいな一番最初の答えしかくれなかった
まあ5年位前だから改善しててほしいんだけど。


上司が気に入ってどうにかなる時は良いんだけど、
自分が気になるけど上司は興味無い時とか日本語資料ないと困るんだよね。
うちだけだと良いんだけど。
774ワット発電中さん [sage] 2018/04/23(月) 16:33:09.31:jAF0VgmE
まともな日本語資料が必要ならルネしかない
774ワット発電中さん [sage] 2018/04/23(月) 16:34:53.86:0GiMBSOH

PIC16F1574/5/8/9に対してはエラッタが出てるんだよ。
実際にはエンハンストミッドレンジ全部に関わっているはずなのに他の
ファミリーに対してはエラッタを出してないのが問題視されているところ。

PIC16(L)F1574/5/8/9 Family Silicon Errata and Data Sheet Clarification
ttp://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.
774ワット発電中さん [sage] 2018/04/23(月) 20:56:25.65:vgfa8Ywc
サブマリンエラッタ
774ワット発電中さん [sage] 2018/04/23(月) 21:56:32.74:YI0xN+Rg

今度の週末に試してみよう。
たまたま出ていないだけかもしれないし。
774ワット発電中さん [sage] 2018/04/23(月) 22:17:04.96:YI0xN+Rg

>実際にはエンハンストミッドレンジ全部に関わっているはずなのに

ttp://ww1.microchip.com/downloads/en/DeviceDoc/80000653D.pdf
PIC16(L)F1717/1718/1719のシリコンリビジョンA1ではその問題は「−」になってる。
モノによっては修正済みとかがあるのかな。
774ワット発電中さん [sage] 2018/04/23(月) 22:36:17.49:0GiMBSOH

そのエラッタは気付かなかった。
どうせモジュールは使い回しで、マイクロチップ内ではどのチップで同じ
問題があるかは分かっているはずで、どういう基準で対応してるのかな。
774ワット発電中さん [sage] 2018/04/24(火) 04:42:53.24:4lnVGYH5
遅いから割り込みが発生してTXREGにライトするタイミングならダブル送信は発生しない。
丁度TXREG が空になったタイミングだと発生する場合があるだけ。
送信割り込みフラグ確認してから送信バッファーなどの処理をしてからTXREG をライトすれば問題ない。
774ワット発電中さん [sage] 2018/04/24(火) 06:35:48.43:rQtzCYq7
全く対策になってなさそう
774ワット発電中さん [] 2018/04/24(火) 06:44:53.15:R0opAjvi
同じモジュールを使っててもその間の配線が違えば
遅延も違ってくる。
→ピンやソフトから見えるタイミングも違う可能性がある。

十羽一絡げにしてギャーギャー言ってる人達、なんだかね…
774ワット発電中さん [sage] 2018/04/24(火) 06:50:13.09:vfSZoOUP
十把一絡げ、だよな。

アヒルみたいなのが10羽、紐でまとめて縛られてギャーギャー騒いでいる様子を想像した。
774ワット発電中さん [sage] 2018/04/24(火) 07:06:29.76:rQtzCYq7
2重送信になるタイミングはどれも同じだよ
774ワット発電中さん [sage] 2018/04/24(火) 07:07:59.47:vfSZoOUP
10羽ひとカラアゲ…

さておいて。

の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重送信が発生する、ということだと思うのだけど、
それだと因果関係が前後するような気がする。別の問題?


俺自身の習慣がみたいなことなので、問題になっていないのかな?
774ワット発電中さん [sage] 2018/04/24(火) 07:19:35.84:rQtzCYq7
TSRが空になる瞬間の書き込みがマズいんだから
TXREGが空である確認をしても対策になってない
774ワット発電中さん [sage] 2018/04/24(火) 07:26:04.65:wur0/mM1
wレジスタ → TXREG → ShiftRegister → Tx端子
          ↓TXIF   ↓TRMT
先にTXREGが空となり、続いてShiftRegisterが空になったその瞬間にwレジスタから書くと
TXREGとSR両方にコピーされてダブルってことやからErrataのは回避策になってないんだよな
TXIFとTRMTをポーリングしてTXREG書くとか、ウェイト入れてSRが捌けるのを待つとかすべき
774ワット発電中さん [sage] 2018/04/24(火) 07:27:30.07:rQtzCYq7
TMRTは対策にはなるが
それをどうやって実装するのって話になる

割り込みでループして待つ?
タイマー割り込みで監視?
どっちも最悪ですね
送信割り込みの意味がない

もう一個
TMRTを待ってから送信では送信データに毎回隙間が空いてしまう
受け側がFIFO+タイムアウト割り込み
みたいな高級な回路だったら
1バイトずつ割り込みがかかる最悪な動作
それこそ攻撃みたいなパターンになってしまう
そんな問題のある可能性のある送信じゃ製品には出来ない
774ワット発電中さん [sage] 2018/04/24(火) 07:37:00.45:rQtzCYq7
こんなことをずいぶん前にも書いた気がする

現象を書いたら
「お前のバグだ」
コードをアップしたら
「こんなコードじゃうまく動かないのは当たり前」
エラッタだとわかったら
「回避は簡単」「対策できないのはお前がアホだから」

PICスレは非常に民度が低い信者のスレだと思ったよ
774ワット発電中さん [sage] 2018/04/24(火) 07:38:13.00:wur0/mM1
巨大な受信バッファ持ってるPCが受信相手なら隙間だらけの送信でも全然問題なっしんぐなので
自分はTRMTポーリングで対処してます
PICが受信相手でもFIFO溜まった時点で割込みかかるので隙間だらけの送信でも負荷増えないし
774ワット発電中さん [sage] 2018/04/24(火) 07:43:30.47:rQtzCYq7
FIFOがたまった時点で割り込みが発生するだけだと
FIFOのデータが少ないときは受信したことがわからないので
受信してから隙間が空いた時にも割り込みがかかる
っていう回路がある
774ワット発電中さん [sage] 2018/04/24(火) 07:45:03.89:rQtzCYq7
PCだとRS-232Cの負荷なんて誤差レベルだが
負荷は増えてるかもしれない
774ワット発電中さん [sage] 2018/04/24(火) 07:54:48.66:vfSZoOUP

>先にTXREGが空となり、続いてShiftRegisterが空になったその瞬間にwレジスタから書くと
>TXREGとSR両方にコピーされてダブルってことやから
確かにこの問題は以前に話題になっていたと思う。

で、問題は、
>Errataのは回避策になってないんだよな

これは、のErrataの回避策を指してのことだと思うのだけど、別の問題ってことはないですかね。
最初の問題を直したつもりで、別の問題が出てきたとか。
774ワット発電中さん [] 2018/04/24(火) 08:00:02.19:vfSZoOUP
>PICスレは非常に民度が低い信者のスレだと思ったよ
民度は眺めるものではなくて、自分でなんとかするもの。

サッカースタジアムや、羽生パレードのあとのゴミも、みんながみんなゴミを捨てなかったのではなくて、
捨てた人がいても、それを拾った人がいるから、結果としてスゲーって思ってもらえるわけだし。
774ワット発電中さん [sage] 2018/04/24(火) 08:04:19.17:rQtzCYq7
今気付いたけど
TRMTと書いてあるマイコンと
TMRTと書いてあるマイコンと
両方あるみたい

上のリンクのエラッタは両方TMRT
データシートのエラッタが仕様になっちゃったみたいな?
774ワット発電中さん [sage] 2018/04/24(火) 08:09:13.98:vfSZoOUP
あ、本当だ。
774ワット発電中さん [sage] 2018/04/24(火) 09:45:59.11:xDXYG0tm
TRMTとTMRTで対策済か否かを見分けるようにして欲しいな
774ワット発電中さん [sage] 2018/04/24(火) 09:47:23.33:izqJBaBe
初めてスレで延々とやる話題かね
本スレでやればいいのに
774ワット発電中さん [sage] 2018/04/24(火) 10:55:25.39:elhCr7SK

そんなことはない。トータルの転送量だけ考えるとたいしたことなさそうだが、
232Cを10ポート20ポートつないでフルフルで動かすとPCの負荷はけっこう大きい。
CPU負荷だけの問題じゃないぞ。ハードやドライバの作りにもよるが。
774ワット発電中さん [sage] 2018/04/24(火) 11:13:50.22:UCZLa1l+
>232Cを10ポート20ポート
なんだかなぁ
774ワット発電中さん [sage] 2018/04/24(火) 11:35:57.81:+jfY4gdE
おれの使い方ならまったく問題ないからどうでもいい
774ワット発電中さん [sage] 2018/04/24(火) 12:05:32.06:JfzX5cw2
俺のエラッタ回避方法は
1. 割り込み禁止が1文字送信時間を超えるようなコーディングをしない。
2. n文字送信関数で最初の1文字送信のときにリングバッファが空ならTRMTが1になるまで待つ。
774ワット発電中さん [sage] 2018/04/24(火) 12:52:06.32:elhCr7SK

232や485を10や20つなぐPCなんて工場とかではザラなわけだがWindowsあたりだとけっこうコケる
TCPでセッション100張るほうがうんと負荷軽くて楽
チップセットとプロトコルが頭いいと楽だね
774ワット発電中さん [sage] 2018/04/24(火) 12:54:47.66:xDXYG0tm
Microchipが重視していない姿勢を鑑みるに
ごく一部のユーザーが特殊な条件で使用する時のみ
影響する事象なので
EnhancedMidrange全型番のエラッタに載せてないんだろうね
ほとんどの初心者には影響ないからスルーして良いかと
774ワット発電中さん [sage] 2018/04/24(火) 12:58:12.74:avxJ9V6C
Microchipは全てのエラッタを重視してない
774ワット発電中さん [sage] 2018/04/24(火) 13:05:39.26:avxJ9V6C

最大2文字分のビジーループが発生する
稀なタイミングしかオーバーヘッドが発生しないのと
ハードが不要なのが利点か

おれのUARTエラッタ回避法は
フリーランタイマーでヤバいタイミングを調べて
可能性があればnop 1個でタイミングをずらす
ビジーループは無いがタイマーを使う
(タイマーは共用可能)
割り込み禁止期間の制限は特に無い
774ワット発電中さん [Sage] 2018/04/24(火) 14:59:36.41: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で赤くブリンクしているのが気になります。
774ワット発電中さん [sage] 2018/04/24(火) 15:53:22.15:+WRSdb8B
PICエラッタの最良の対処方法はPICを使わないこと。
何故にマルチタスクも動かせないようなこんな低レベルCPUにこだわるのか?
774ワット発電中さん [sage] 2018/04/24(火) 16:49:17.74:izqJBaBe

こだわってるのはあなた
他人が何を使おうが勝手でしょ
774ワット発電中さん [sage] 2018/04/24(火) 17:02:59.56:X1ScF0Ni
人の財布の中覗いてケチつける
他人の家の冷蔵庫開けて食材にケチつける

朝鮮人文化には馴染めません
774ワット発電中さん [sage] 2018/04/24(火) 17:16:47.07:+WRSdb8B
こだわっていないし、ケチもつけてませんよぉ。
ただただ疑問に思っただけ、理由を知りたかっただけです。
PICの何がそんなに魅力なのか?
もしかしたらPIC信者ってMなのか?
ハハハ、私のレスは無視して下さい、ちょっと退屈していただけなので。
774ワット発電中さん [] 2018/04/24(火) 17:31:14.75:R0opAjvi
他の会社のCPUにもエラッタは有るんだけど
774ワット発電中さん [sage] 2018/04/24(火) 17:41:00.95:gijGFcCB
春になるとわくものに釣られすぎ。別人だろうけど、他の板のスレにもこの時期になるとわいてくる。
774ワット発電中さん [] 2018/04/24(火) 18:47:22.37:lIO8jw8O
去年から年中エラッタ、エラッタ吼えてますよあの人
774ワット発電中さん [sage] 2018/04/24(火) 18:57:58.16:bnV5Dkpe
PIC信者を NGワード化して久しいが
これがまだ続くなら エラッタ もNGワード
にしようかと。兎に角しつっこいからな。
774ワット発電中さん [sage] 2018/04/24(火) 20:25:01.77:WMv6gswj
NGされたらエッタラで回避しますw
774ワット発電中さん [sage] 2018/04/24(火) 20:45:05.51:xyHEfl0h
ここまでPICをdisってるエラッタおじさんはどんなCPU使ってるの?
774ワット発電中さん [sage] 2018/04/24(火) 21:54:34.61:bnV5Dkpe
もうウザイから、たった今、エラッタもエッタラも NGワードに登録したぜよ
774ワット発電中さん [sage] 2018/04/24(火) 21:56:11.69:bnV5Dkpe
工ラッタ とか エラッ夕 とか使うなよ
774ワット発電中さん [sage] 2018/04/24(火) 22:13:46.55:50p198lT

文句言いながらもここを覗きに来てるって事は、根っからのPIC信者なんだろ。
774ワット発電中さん [sage] 2018/04/24(火) 23:42:55.54:vfSZoOUP
趣味でも仕事でも、ファンだから使う、は有りうる。
仕事でその理由は有りえない、と思う人は、そういう立場を知らないだけのこと。
なぜファンなのか、他のものの比べた上で判断したのか、なんてのは野暮。
774ワット発電中さん [sage] 2018/04/25(水) 00:04:12.68:S3bTZ6vT
バグを知らないで遭遇したらとんでもない時間を浪費することになるし
納期を間に合わせるために原因不明のまま対処療法の対策で納品する
なんてことにもなりかねない。
感情的にならないで有益な情報として受け入れた方がいいと思うけどな。
774ワット発電中さん [sage] 2018/04/25(水) 00:07:33.90:0PS/es3J
ライタを持ってるから
本を買って持ってるから
PCに環境を作ったから
使い方を覚えて染み付いてるから
買い置きが残ってるから
これまで書いたコードが流用できるから
困ったことや痛い目に遭ったことがないから

全て消極的理由だが、趣味なら乗り換えない理由としては十分
別に特段の魅力は感じてなくてもPICで良いって人間もいるんだからほっといてくれ
ほんと余計なお世話
774ワット発電中さん [sage] 2018/04/25(水) 00:48:54.42:MTGmtNA+
こういうのに難癖つけるやつに限って
自分の使っているチップ型式を云わないのな

AVRとかだったりするのかねぇ
774ワット発電中さん [sage] 2018/04/25(水) 03:12:38.31:u8fROgri
> 困ったことや痛い目に遭ったことがないから

というより、困ったことや痛い目に散々遭って、それを時間をかけて
克服してきた実績と自信があるから、違うチップでまたやり直すの
やだなあみたいな先入観があるな。

#流用できる完動するコードがある、に帰着するかもしれないが。
774ワット発電中さん [sage] 2018/04/25(水) 06:38:56.81:Rywnw9Xh
導入の壁乗り越えて
自分なりのお気に入りライブラリー揃えてしまうと
今更他のマイコンに乗り換えるモチベーションか
774ワット発電中さん [sage] 2018/04/25(水) 06:42:12.00:wRI2g9bE
PIC自体の良いところが何一つ出て来ないところが泣けるねえ
774ワット発電中さん [sage] 2018/04/25(水) 06:43:45.80:g4rG95E1
PICに問題があるからダメだって話はするくせに、問題のないチップは出てこない。
PICは問題が多いというが、結局のところ多かろうが少なかろうが自分が使うところにその問題があるかどうか。
バグがたとえゼロでも供給に不安があるならダメだろう。
バグは開発段階で回避できるかもしれないが、製造段階で全く互換で置き換えられるものの供給が滞るとかなりイヤ。
ユーザーが多いほど問題は既知のものになりやすい。
ネットで情報発信しているユーザーが多い方が、問題解決はしやすい。
774ワット発電中さん [sage] 2018/04/25(水) 06:49:12.00:g4rG95E1

いちいちまとめることもしないけれど、見えてないフリしてるだけだと思う。
勝手に泣いてろ。
774ワット発電中さん [] 2018/04/25(水) 07:41:17.17:jPiSVkL0
取るに足らない問題に当たった0.1%以下の人間がギャンギャン吠え続け
問題がないか,自分で解決したほぼ100%の人たちは黙ってる
774ワット発電中さん [sage] 2018/04/25(水) 08:23:24.77:qvE2qIf7

問題解決能力ないお前がそうなだけ
774ワット発電中さん [sage] 2018/04/25(水) 09:56:07.04:lDLEToeS
DIPパッケージ、PPS、外付部品少なくて頑丈

今更な長所だけど趣味には重要だよ
774ワット発電中さん [sage] 2018/04/25(水) 10:42:37.67:5d9B/hP4
入手性とか考えたらホビーユースだとPICかAVRぐらいしかないし、PICの内蔵ペリフェラル機能は活用できると便利だから使ってる。
774ワット発電中さん [sage] 2018/04/25(水) 11:16:30.06:TIJK9eAp

リングバッファでなくてTXIEを見れば、ビジーループを最大1文字分にできることは知っているんだが、なんとなく気持ちわるくてね。
774ワット発電中さん [Sage] 2018/04/25(水) 11:28:03.34:4yUtx/6g

どうも 868 です。
PIC18F47K42で同様な現象の記事を見つけましたが私には理解できません。
ttp://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)
が正解なのかも知れないが、どこに挿入するのだろう?
774ワット発電中さん [sage] 2018/04/25(水) 11:40:05.10:5d9B/hP4

せめてmain.cぐらいは見せないと何もわからんよ。
774ワット発電中さん [Sage] 2018/04/25(水) 12:45:11.39:4yUtx/6g

すまん、18F46K22にはPPSは無かった。
774ワット発電中さん [sage] 2018/04/25(水) 13:15:06.06:AhgN+FLz

LPCとかSTMもあるし、8051系もありますよ。
774ワット発電中さん [Sage] 2018/04/25(水) 13:19:43.53:4yUtx/6g

こんな感じです。
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);
ここに来ない
774ワット発電中さん [sage] 2018/04/25(水) 13:33:20.45:aEth5XWW

TXIEを見た後TXREGにセットするまでの間に
割り込みがバタバタっと来たらアウトじゃないか?
774ワット発電中さん [sage] 2018/04/25(水) 13:33:57.70:aEth5XWW
割り込み禁止するの?
バタバタっと来ない前提?
774ワット発電中さん [Sage] 2018/04/25(水) 13:42:18.51:4yUtx/6g

コピペの関数もそのまま添付します。
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++;

}
}
774ワット発電中さん [Sage] 2018/04/25(水) 14:57:04.90: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の出力を確認できたから生きているはず。
774ワット発電中さん [sage] 2018/04/25(水) 15:24:18.89:5d9B/hP4

オシロがあるならI2C.hで宣言されてるシンプルなリード、ライトをためしてみたら?オシロでなにも無いようなら、初期化周りが怪しい気がする。関数内だからこっちはどうなってるかわからんが。
774ワット発電中さん [sage] 2018/04/25(水) 15:38:52.91:eCcunkaK
PC USBロジアナ安いからおすすめ
〜\1000程度で買える
RS232やI2Cの解析なんかには十分な
24MHzサンプリング8ch
amazonとかebayで買える
774ワット発電中さん [] 2018/04/25(水) 15:40:07.33:TIJK9eAp

のリングバッファが空だったらってとこを、TXIE(TX割り込みイネーブル)が0だったらと変えるだけ。
774ワット発電中さん [Sage] 2018/04/25(水) 15:56:00.57:4yUtx/6g

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を毎回反転するのを書き込むとオシロにちゃんと矩形波が現れる。
774ワット発電中さん [Sage] 2018/04/25(水) 16:03:38.28:4yUtx/6g

MCCの初期化部分が先のコードです。

SSP1STAT = 0xC0;
SSP1CON1 = 0x28;
SSP1CON2 = 0x00;
SSP1CON3 = 0x08;
SSP1ADD = 0x9F;

何故かSSP1CON2が無かったので追加したが変化なし。

この状態で
SSP1BUF = 0x00;
すれば送信が発生すると思うのだが?
初期化間違っているのかな?
SPIは何度も使ったけどi2cはPICでは初めてです。
774ワット発電中さん [sage] 2018/04/25(水) 17:14:24.29:5d9B/hP4

設定はそれで問題ないはず。速度は計算してないから、合ってるかわからんけど。
BUFFにデータ入れるまえにCON2.SEN=1でスタートコンディション発行しないと駄目。これだけでSDAは一旦Loになるはず。
774ワット発電中さん [Sage] 2018/04/25(水) 18:07:06.07:ozfwihV9

ありがとうございます。
明日、試します。
MCCのコードをPIC16系と見比べたけど同じだった気がする。
明日こそ!
774ワット発電中さん [sage] 2018/04/25(水) 19:10:38.65:Iegs2HCt

それはわかってる

TXIEを見てから送信バッファに書くまでのタイミングに
UART以外の割り込みが来て、
そこからUART割り込みでTXREGに書くまでに
ダブるタイミングになったらマズイだろ
って思ったけど
割り込みが1文字送信時間分占有しないと問題が起きないし
1文字占有したら受信もマズいので
まああまり気にしなくていいかな

ボーレートが速くてUSBも使ってたりする場合は注意が必要っていうくらい
ソフトのバッファでも猶予が倍になるだけて同じだな

一応条件に加えておいた方が良いかと
774ワット発電中さん [Sage] 2018/04/26(木) 07:48:00.18:pjy6qYAx

おはようございます。

SCL1、SDA1が共にLowになりました。

SSP1CON2bits.SEN1 = 1;
SSP1BUF = 0x00;

MSSP1は生きているようなのでもう一度PIC16FとPIC18FでのMCCコードの違いを探します。
774ワット発電中さん [Sage] 2018/04/26(木) 07:51:43.02:pjy6qYAx

速度はFOSCがPLL使用で64MHzで100KHzになっているつもりです。
774ワット発電中さん [sage] 2018/04/26(木) 11:35:24.22:0ynxSK/6
PICのI2Cはエラッタだらけ
MKやMMにI2Cが無いのはエラッタで全く使い物にならないからスペックから消した
不自然にI2Cが無いのはそういう理由
MZは使い物にならないけどスペックに載ってる
774ワット発電中さん [] 2018/04/26(木) 12:53:24.82:Xj/+jZB9
エラッタエラッタうるせーバカだな
おばQのOちゃんかよ
774ワット発電中さん [sage] 2018/04/26(木) 13:24:53.28:1UVTueHh

ワロタ、バケラッタ
774ワット発電中さん [Sage] 2018/04/26(木) 14:02:37.95:pjy6qYAx

解決しました!
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を書き換えました。
774ワット発電中さん [sage] 2018/04/26(木) 14:15:25.53:U89H4f+w
エラッタアレルギーだな
774ワット発電中さん [sage] 2018/04/26(木) 16:39:20.13:wsiyshJn
うっかりするとエラッタの存在見落としがちだから、
騒いで騒ぎ過ぎは無いと思う
エラッタ情報をデータシートと分けてあるのは
嫌がらせ超えて隠蔽体質だと思うよ
PDFファイル合冊して発行すればいいのに
それともデータシートのどこかに書いてある?
774ワット発電中さん [sage] 2018/04/26(木) 16:51:29.93:0ynxSK/6
メーカーもだが
スレの住人も隠蔽体質だからな
774ワット発電中さん [sage] 2018/04/26(木) 17:25:12.14:tI778vpf
製品としての仕様であるデータシートと
実装の問題であるエラッタは分けといてくれる方がいい
シリコンリビジョンが上がる度にデータシートが更新されるなんてあり得ません
774ワット発電中さん [sage] 2018/04/26(木) 17:58:30.70:uI7+7JKe
エラッタなんてここじゃなくて、あっちでやってほしい
全然意味がわかんなあいーー
774ワット発電中さん [sage] 2018/04/26(木) 18:25:12.30:wsiyshJn

いや、シリコンリビジョンが上がってもデータシートが更新されないなんてあり得ません
エラッタも治らないならいい加減仕様として明記しろって話だよ
774ワット発電中さん [sage] 2018/04/26(木) 18:53:41.09:xlLeGkxK

リビジョン毎にデータシートなんて出さないよ。
774ワット発電中さん [sage] 2018/04/26(木) 19:18:07.16:zrSq8Rut
リビジョンなんかほとんど変わらないし
変わってもエラッタ直らないし

使えないものはデータシートから消してほしい
774ワット発電中さん [Sage] 2018/04/26(木) 20:11:58.63:Qrq30GQB
今回はエラッタ関係なかった。
774ワット発電中さん [Sage] 2018/04/26(木) 20:13:38.99:Qrq30GQB

918です。
EEPROMも配線して、どんどん拡張です。
774ワット発電中さん [sage] 2018/04/26(木) 22:39:11.28:uI7+7JKe
エラッタばっかりでわらった
774ワット発電中さん [sage] 2018/04/26(木) 22:58:28.01:uI7+7JKe
初心者にも質問させろーーー
774ワット発電中さん [sage] 2018/04/26(木) 23:38:41.81:x/bI+Fe1
質問してくれていいよ
他の話題で活気付けば誰もエラ男の相手なんかしないから
774ワット発電中さん [sage] 2018/04/27(金) 15:49:09.70:y/XUCCUG
NYTから

”A.I. Researchers は100万ドル以上の高給を得ている”
A.I. Researchers Are Making More Than $1 Million, Even at a Nonprofit
ttps://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.技術者が必要です。
次世代の研究者に教え、これらの技術を軍隊から薬の開発に至るまで実践に移すために。
しかし、彼らは決して民間セクターで支払われている同額の給料を払えません。

以下略
774ワット発電中さん [sage] 2018/04/27(金) 17:06:07.76:Q3tumWQf
誤爆
774ワット発電中さん [] 2018/04/27(金) 22:12:17.83:J0rOJR9S
>746 に送ったが何も反応ない。「使えねーよボケが!」でも良いんだけど。
774ワット発電中さん [sage] 2018/04/28(土) 00:20:07.59:u90n8Wf/
使えねーよボケが!
774ワット発電中さん [sage] 2018/04/28(土) 07:12:06.55:u90n8Wf/
アドレスが受信専用って書いてあるからねえ
「受け取りました」くらいはここに書いても良いとは思うけど
774ワット発電中さん [sage] 2018/04/28(土) 07:59:23.33:htNAzHQf
メールアドレスってもともと受信に使うものなんじゃないのかな?
送信に必要なのはSMTPなどの送信サーバーにアクセスする権利なだけで。
774ワット発電中さん [sage] 2018/04/28(土) 09:04:01.30:u90n8Wf/
もともととかどうでもよくね?
774ワット発電中さん [sage] 2018/04/28(土) 09:12:56.58:u90n8Wf/
を見て

送ってくれたメールの送り主に対してメールを送るつもりはありません

という意志だとわからないと
ただの面倒くさいヤツ

送信専用のアドレスって何だよwww
と思ってもそれを言わないのが大人
774ワット発電中さん [sage] 2018/04/28(土) 10:20:52.91:htNAzHQf
ID:u90n8Wf/ は拗ねたものの見方をする人だな。
774ワット発電中さん [sage] 2018/04/28(土) 11:08:56.80:XLfGLUVl
大人になればわかるよ
774ワット発電中さん [sage] 2018/04/28(土) 14:37:30.79:htNAzHQf
大人にも拗ね方が強い人と、そうでない人がいますね。
774ワット発電中さん [sage] 2018/04/28(土) 14:41:39.09:htNAzHQf
秋月にPIC16F18323をリクエストした人がいるっていうが、18325と10円しか違わない。
18323は18325のサブセットだと思ってた。10円でも節約して秋月で買うべきものなんだろか。
774ワット発電中さん [sage] 2018/04/28(土) 14:47:39.61:QSiVtYcA
秋月はさっさとpickit4を売り出すべき
774ワット発電中さん [sage] 2018/04/28(土) 14:49:09.32:XLfGLUVl
リクエストした時点では金額はわからんしな
10円でも1000個買えば1万円の差
774ワット発電中さん [sage] 2018/04/28(土) 15:00:55.50:htNAzHQf
PICKIT4はMicrochip Directには在庫があるけど、DigikeyもMouserもなし。
なんでだろなー。
774ワット発電中さん [sage] 2018/04/28(土) 15:08:38.12:6ySB8ewU
共立では予約受付中になってたよ
774ワット発電中さん [sage] 2018/04/29(日) 00:35:23.09:kPA7nVg8
あのメール届いた時頼んどきゃよかったなぁ
774ワット発電中さん [sage] 2018/04/29(日) 00:42:57.42:eFSNWGck
ICD4買っちゃえ
774ワット発電中さん [sage] 2018/04/29(日) 06:04:16.80:OpknvXay
仕事でPIC使ってるならともかく、急いで買う必要あるの?
774ワット発電中さん [sage] 2018/04/29(日) 07:08:45.64:Aa0NhdDU
仕事でPICKITなんて使わねーよwww
774ワット発電中さん [sage] 2018/04/29(日) 08:39:02.76:DUxf3SLI
製造が間に合ってないんだろう
俺はここで買った
ttps://store.shopping.yahoo.co.jp/orangepico/p1zfzu5v9v.html
あと4ヶ
774ワット発電中さん [sage] 2018/04/29(日) 09:49:09.50:hHQDg2WV
書き込めないわけじゃないから様子見
774ワット発電中さん [sage] 2018/04/29(日) 10:24:20.56:7IUNaJ3j

俺は使ってます。
ってか、俺の周りの人も会社も、マイコンはいろいろ使うせいか、エミュレータも割と安めのものを使ってる人が多いな。

PICについてはICDを使ってる人がいない。
PICKIT3×PIC32だと遅くてたまらん、という話もあるけど、PIC32を使わんし。
でも、PIC32でもPICKIT4なら少しはマシなんだろかと期待。
774ワット発電中さん [sage] 2018/04/29(日) 10:49:16.75:7IUNaJ3j

個人的には急いで買う必要はないけれど、
・今から始める人は3か4かを迷うであろうな。4が出るまで待つか、みたいな。
・Directにあるのに流通しないのは、Directは独立採算の商社として、一定のチカラがあるのかなと思ったり。
・それとも何かの理由で出荷を抑えているのかなと、もやもやしてみたり。
・SAM対応を標ぼうするのはまずいのでは、と社内の保守派からブレーキがかかってるのかな、と邪推を楽しんだり、
・出すならAVR対応に、と社内と推進派からクレームが入ったのかな、と邪推を楽しんだり。
774ワット発電中さん [] 2018/04/29(日) 10:55:08.19:5+H+Fb0q
買収前に4の設計が終わっていた、じゃないのか
774ワット発電中さん [sage] 2018/04/29(日) 12:53:28.54:d2WYD48g
デザインがダサすぎる
774ワット発電中さん [sage] 2018/04/29(日) 12:54:38.74:d2WYD48g

趣味で「買う必要」とか
アホですか?
774ワット発電中さん [sage] 2018/04/29(日) 13:06:21.81:7IUNaJ3j
趣味の電子工作を始めたい、部品を買う必要はありますか?
まあ、買う必要があるでしょうね。いつももらって済ますわけにはいかないと思います。

罵倒する前にちょっと考えて欲しい。
774ワット発電中さん [sage] 2018/04/29(日) 13:44:21.91:d2WYD48g
文脈読めないアホ
774ワット発電中さん [sage] 2018/04/29(日) 14:04:25.70:7IUNaJ3j
趣味だからこそ採算に囚われることなく買いたいものを買う。必要だから買うのではなく、買いたいから買う。
という立場もあれば、
趣味だからこそ実費としての出費は抑えたい
という立場もある。

違う立場をイメージできないことを罵倒することはないよ。
774ワット発電中さん [sage] 2018/04/29(日) 14:12:54.31:d2WYD48g
一言でいうとだな
774ワット発電中さん [] 2018/04/29(日) 19:42:04.64:7IUNaJ3j
ID:d2WYD48g は無視することにしました。
774ワット発電中さん [Sage] 2018/04/29(日) 20:36:08.93:8b4oySly
GW突入前にPIC18F46K22のI2Cで悩んだ者です。
MSSP1のI2CにEEPROMにアトメルの128KByteのAT24CT1024Bをぶら下げました。
何故か256バイトのページライトが出来ません。
128バイトまでは成功します。
なので128バイト以下でライトする様に使ってます。
何故?
774ワット発電中さん [sage] 2018/04/29(日) 21:20:36.41:Srh+Wmzb

指定したアドレスがページを跨いでしまうと書き込めない
アドレス0000で256byte書けるか試してみるべし
774ワット発電中さん [sage] 2018/04/30(月) 00:21:15.92:7OBUBQx8
AT24C1024Bなら普通に出来てるなあ
256B単位の書き込み
774ワット発電中さん [Sage] 2018/04/30(月) 05:14:49.85:RFXH0oNX

それが駄目なんです。
774ワット発電中さん [Sage] 2018/04/30(月) 05:15:49.13:RFXH0oNX

MCCじゃなくて自作コードですか?
774ワット発電中さん [sage] 2018/04/30(月) 05:59:31.32:7OBUBQx8
自作コードです
774ワット発電中さん [sage] 2018/04/30(月) 07:25:11.17:zMe29Zzj
おはようございます。以前質問させていただいたです

おかげさまで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 で運用してみましたがダメでした…

宜しければ、ご助言いただけないでしょうか

以下、内容
774ワット発電中さん [sage] 2018/04/30(月) 07:28:59.82: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)ループへ戻ってしまう そして、以下、変化無し
774ワット発電中さん [sage] 2018/04/30(月) 07:31:42.34:7OBUBQx8
1行ずつ実行しちゃダメだよ
774ワット発電中さん [sage] 2018/04/30(月) 07:33:05.04:7OBUBQx8
通信なんだから
途切れ途切れじゃ会話が通じない

デバッグはUARTとかポートで
774ワット発電中さん [sage] 2018/04/30(月) 07:37:20.53:zMe29Zzj
さん
お返事をしないままでいてすみません
アドバイスと温かい励ましの言葉をありがとうございました

スレは覗いていたものの、少し見栄っ張りで、「USB - HIDクラスできました〜」と成果を上げてから
お礼の言葉と一緒に書き込みたかったのですが、このようなところで引っ掛かってそのまま時が経ってしまいました…
力及ばずですみません

さん さん
そうなんですか!
勉強になりました!!

速レスありがとうございます もう少し挑戦してみます
774ワット発電中さん [sage] 2018/04/30(月) 09:54:04.82:zMe29Zzj
申し訳ありません
しばらく色々やってみましたが、自力では解決できないようです

懲りずにDebug Project の Continue で USBDeviceState ==CONFIGURED_STATEを獲得した後、
Step Intoを使ってスイッチOn/Offを押し分けて、mouse.movementModeの値をtrueにしたのですけど、
やっぱりカーソルが自動的に動かないです

皆様のお力に頼っても自分には無理でしたら、PS/2通信の方に切り替えて改めてそちらに挑戦してみようと思います
774ワット発電中さん [sage] 2018/05/01(火) 00:44:57.54:DBW73+I+
だからstep実行してはダメなんだって
ある一定時間ごとにデバイス(=PIC)が応答することをホスト(=PC)が期待している
step実行するとデバイスが応答を返さなくなるので正常動作しない
一度でもbreakしたらcontinueはできないと思った方がいい

mlaのソースの中に、ある間隔でこの関数を呼べ、とかコメントが書いてない?

デバッガでデバッグではなく、のようにポートなりUARTなりに
状態を出力させるコードを書いてデバッグする必要がある
774ワット発電中さん [sage] 2018/05/01(火) 09:56:26.18: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マイコンボードを買って、ライブラリそのままで焼いてみようかと検討中です…

大変丁寧かつわかりやすいご助言をありがとうございました!
ご厚意を活かせるように頑張ります
774ワット発電中さん [] 2018/05/01(火) 16:50:36.79:ONtX2Myl
繋いだPCのデバイスマネージャとかにはもう出てくるよね?その状態だと。
SnoopyPro(USBスニッファ)の出番かな。
774ワット発電中さん [sage] 2018/05/01(火) 20:56:56.59:EA5Zaaar
snoopyproは最近のWinOSで動くの?
774ワット発電中さん [sage] 2018/05/01(火) 21:40:04.19:DBW73+I+
デバッグモードにせずに接続した場合、LEDは高速点滅するか?
またMLAの18F14K50のソースを流用した場合、ボタンはRA3ポートに接続されていることを想定しているが、そうなっているか?
774ワット発電中さん [sage] 2018/05/01(火) 22:13:08.74:o4U5k+Rn
さん
ご助言ありがとうございます

ご推察の通り、私の環境でもPC(Windows 7 Pro 64bit SP1)のデバイスマネージャには、
HIDってことで表示されてます

>SnoopyPro(USBスニッファ)の出番かな
英語のも少し読みましたけど、古くて危なっかしい感じのレビューが目立ちますね…
それにWin7 ProではXPモードで運用する必要があるみたいで、
私の今の環境だとCドライブ:SSDの容量が大幅に不足していて難しいようです

USB通信のデバッグがここまで難しいのかと改めて思い知りました

さん 
お世話になっております
>デバッグモードにせずに接続した場合、LEDは高速点滅するか?
はい、点滅しています

>またMLAの18F14K50のソースを流用した場合、ボタンはRA3ポートに接続されていることを想定しているが、そうなっているか?
18F2550用に自分の回路の都合でRA0へ書き換えちゃいました
buttons.c _ #define S1_PORT PORTAbits.RA0

これ、いけなかったですかね?
デバッグモードでは、ボタンに反応してるようでしたので、大丈夫だと思ってました
774ワット発電中さん [] 2018/05/01(火) 22:39:19.15:ONtX2Myl
面倒がないUSB スニッファだとこんなのもある。
freeusbanalyzer.com
試用期間中は至れり尽くせりな感じだけど、
試用終わるとSnoopyProとどっこいどっこいの機能。
774ワット発電中さん [sage] 2018/05/01(火) 22:40:46.80:DBW73+I+

> 18F2550用に自分の回路の都合でRA0へ書き換えちゃいました
それなら大丈夫
あと一息の気がする、頑張れ
774ワット発電中さん [sage] 2018/05/01(火) 22:42:33.88: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は自動移動しないみたいです…
774ワット発電中さん [sage] 2018/05/01(火) 22:57:27.90:o4U5k+Rn
さん
良さそうなソフトのご紹介をありがとうございます!
ただ、試用版の使用条件がめちゃ厳しいですねw
1度に10分間、4日間だけ体験可能の制限付きの中、初心者が使いこなすのは難しいそうですね

さん
前のレスが行き違いになってしまいましたが、
それなら良かったですー
774ワット発電中さん [sage] 2018/05/01(火) 23:06:39.24:o4U5k+Rn
そろそろスレもおしまいですし、
お世話になってるので、次スレを立ててみようと思います
テンプレに特に変更の必要は無さそうですよね
スレタイと過去スレ一覧を書き換えるだけですが、やってみます
774ワット発電中さん [sage] 2018/05/01(火) 23:13:19.74:o4U5k+Rn
初めてのPIC 0x0f
ttps://rio2016.5ch.net/test/read.cgi/denki/1525183933/

新スレ、建てられました〜
774ワット発電中さん [sage] 2018/05/02(水) 03:24:31.16:DXpzj+4x

おつあり
774ワット発電中さん [] 2018/05/03(木) 02:51:14.51:3zq/2ceR

>建てられました〜
他の人に、先にに立てられてしまった のか
慣れない自分にも 立てることができた のか 
774ワット発電中さん [sage] 2018/05/03(木) 08:31:03.17:Odd+8P0q
ニホンゴが難解といわれる所以だな
774ワット発電中さん [Sage] 2018/05/03(木) 08:34:48.05:9S5y2vyS
今日も元気に朝立ちました。
774ワット発電中さん [] 2018/05/03(木) 09:54:32.12:n/fZNcO5

いや、話す人の思いやりが足らないだけ。
複数の意味に受け取られる表現になっていないかを、書き込む前に確認するべき。
774ワット発電中さん [sage] 2018/05/03(木) 10:02:52.35:zEtko/35
スレの終わりが差し迫っているのに次スレが立たない。

制限がかかって立てられない人がいる
立てる気もないけど、立っていれば来る人もいる

立てるのにひと手間がかかることは事実。

とりあえず、ここは立てた事実に敬意を払えばいい。
善意を装って、アンチなタイトルでスレ立てする屑もいるけれど、はそうではない。
[sage] 2018/05/03(木) 12:20:07.39:M7Jzd9I1
残業時間を少なくするくらい空気や行間を読まないとなw
774ワット発電中さん [sage] 2018/05/03(木) 14:27:11.33:E7ZG4gqm

と読んでその疑問なら読解力不足。

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

新着レスの表示

2ch勢いランキング アーカイブ 電気・電子板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したアーカイブです。削除についてはこちら