X



トップページ電気・電子
1002コメント364KB
初めてのPIC 0x0e
レス数が1000を超えています。これ以上書き込みはできません。
0102774ワット発電中さん垢版2018/02/19(月) 22:18:57.56ID:SdcYFQFk
>>66
直結で期待通りだけどRssば1K位でセンサーの出力インピーダンスは1K位で分圧されないのはキャパシタがチャージするからでしょうか?
0103774ワット発電中さん垢版2018/02/19(月) 22:35:51.75ID:HHl9kwzK
>>102
追加する抵抗R1は信号源抵抗Rsに直列に入るだけですので、分圧というのは違うように思います。
センサーの直列抵抗が大きくなっていても大丈夫なのは、サンプリングのスイッチが短い時間だけ
ONしたときに、CHに一気にチャージするときに流れる電流をC1から供給できるからですし。

>>44で書かれていた「分圧」は右下の赤の回路ですよね?
0104774ワット発電中さん垢版2018/02/20(火) 04:33:46.67ID:/M/GSoNH
>>103
>サンプリングのスイッチが短い時間だけONしたときに

ちょっと認識が違う気がする。
サンプリングのスイッチは常にオンになっていてGO/DONEビットを
セットするとオフになってからA/D変換が開始される。
前回A/D変換したときにチャンネルセレクトを切り替えておけば
ずっとチャージしたままになる。
0105774ワット発電中さん垢版2018/02/20(火) 04:42:32.21ID:2hNtigHx
>>103
レスありがとうございます。
直結前の回路は赤色の通りです。
勉強になりました。
0106774ワット発電中さん垢版2018/02/20(火) 07:15:06.07ID:4WDdPvvS
>>104
あーっ。ご指摘の通りです。別のA/Dと混ざっていました。
PICのA/Dの場合は、サンプルスイッチはチャンネルセレクトを切り替えてから
変換開始までどれぐらい待つかを決定するために信号源抵抗(とコンデンサ)を考慮するのでしたね…。

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

>>105
…ということでして、おはずかしい。
チャンネルを切り替える必要がなく、変化の小さい信号源なら外付けコンデンサにあまり意味ありません。
0108774ワット発電中さん垢版2018/02/20(火) 14:26:52.71ID:sxwSGI4s
教えたがりでも知りたがりでも無いと思いますし、
少なくとも「>>107 アホの意味の無いイヤがらせ悪」よりはずっとマシだと思いまぁす。
0109774ワット発電中さん垢版2018/02/20(火) 20:20:04.03ID:7c0+pCZt
馬鹿なほど知ったかして、得意げに教えたつもりになってるから卯財
0112774ワット発電中さん垢版2018/02/20(火) 23:43:08.01ID:/ZUUQyDj
ほお
0117774ワット発電中さん垢版2018/03/04(日) 02:53:04.42ID:rKuVWl1b
>>109
> 馬鹿なほど知ったかして、得意げに教えたつもりになってるから卯財


教えようとしてるだけエライじゃん
イヤなのは、なんにも教えず説教をたれたいだけのジジイ
0118774ワット発電中さん垢版2018/03/04(日) 05:04:41.45ID:ccecnhQm
>>109
お前はバカだ、知ったかだ。と言うなら
どこが間違っていて、正しくはこうだ。
と書かないと、
あなた自身が、馬鹿な知ったか、に見えるよ?
0119774ワット発電中さん垢版2018/03/04(日) 12:44:53.67ID:VAihGLUA
初心者です。教えてください。

2つあります。

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

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

どうぞよろしくお願いします。
0120774ワット発電中さん垢版2018/03/04(日) 12:59:16.83ID:wcyHmwr3
>>119
マウスのホイール押しながらホイール回す。

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

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

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

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

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

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

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

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

PCは遅いので、関数50行、main 20行くらいでも、1分くらいかかります。
なんだかなって感じです。
0129774ワット発電中さん垢版2018/03/04(日) 16:32:24.18ID:hs6s6gNO
お金も無くて頭も無い半人前だけど
文句だけは一人前

なんだかなって感じです
0130774ワット発電中さん垢版2018/03/04(日) 19:59:41.22ID:ZfY1muoi
>>129
誰のことですか?
0133774ワット発電中さん垢版2018/03/05(月) 03:00:53.46ID:oMx5/vfy
コンパイラの途中経過には興味はない。
Cで書いて、コンパイルして .hex が出来て、picに書き込んで動けばオーケーです。
途中のmakeでこけるとかはMPLABの都合なので、僕らには関係ないです。
makeとかリンカーとかを知らなければマイコンが動かせない訳ではないでしょう。
0134774ワット発電中さん垢版2018/03/05(月) 06:52:59.27ID:XBhytWfJ
立派な考えなので全部のコードをハンドアセンブルして手打ちでhexファイルまで作って下さい。
ライブラリなんて安直な考えはダメですよ
0136774ワット発電中さん垢版2018/03/05(月) 12:59:42.15ID:u983ED6L
やりたいのはPICを動かすことだしね。
0137774ワット発電中さん垢版2018/03/05(月) 13:31:23.73ID:dgOXuntO
動かしたいだけなら全部、他人に作ってもらえばいいんじゃないの
仕事ならお金払って、趣味なら駄々こねれば。
0139774ワット発電中さん垢版2018/03/05(月) 21:57:40.66ID:qodsWXuS
C言語で組んで何が悪いのかね〜〜〜
出力されたアセンブラコード見て適正なコードが
出力されるようにCソース変更することでも結構
いい結果得られるし、だめなら直接アセンブラコードで
書けばいい。
ぐだぐだ言うやつはFreeエディション使ってるんだろ〜〜
Proモードでコンパイルすれば何の問題もない
0140774ワット発電中さん垢版2018/03/05(月) 22:22:32.04ID:u983ED6L
ていうか、メイクとかリンカーとか、知らないとpic使えないのか?
Cでソース書いて、コンパイルして、目的のことが出来たなら、それで充分。
0142774ワット発電中さん垢版2018/03/05(月) 23:57:39.45ID:bHHFUy5a
今確認したら MPLABX4.15 の javaw.exe で1.4GBも喰ってる
いつの間にこんな馬鹿喰いデブになってまったんだ、、、

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

4GB頭打ちの32bitOSだと修行僧とか忍耐力ある人じゃないと
運用無理じゃないの?
0147774ワット発電中さん垢版2018/03/06(火) 11:10:53.33ID:ulzeaAAM
PCを更新したのでPIC環境も最新にと思い、X IDEの3.61から4.15を入れて、XC8は1.45Bを入れた。
しかし、X IDEのツールチェーンに登録されない???
入れたドライブとパスは、D:¥Microchipです。
0148774ワット発電中さん垢版2018/03/06(火) 12:27:42.51ID:8YmzIyeu
おれIDE使ってないから、適当なこと言うけど、
javawコマンドは最大メモリ量とか初期メモリ量をオプション指定できるよ。
下記のページ見て-Xmsとか-Xmxとか起動する場所に指定してみたら?

https://docs.oracle.com/javase/jp/1.3/tooldocs/win32/java.html
例えば、-Xmx1G とかやればいいと思うけど、自己責任でどうぞ
0149774ワット発電中さん垢版2018/03/06(火) 12:28:39.94ID:8YmzIyeu
あ、Gは小文字だった。
-Xmx1g
0150774ワット発電中さん垢版2018/03/06(火) 12:45:35.95ID:6XObS/eY
>>142
Harmonyを立ち上げるとそのくらい使うねえ
まあでもメモリたくさんあるから気にしたことない
それより、MPLABXを複数起動出来るようにして欲しい
他の多くのIDEは出来るのにMPLABXは出来ない
0151774ワット発電中さん垢版2018/03/06(火) 13:01:24.05ID:RWmgan4v
mplab_ide.confに書けるらしいぞ
MPLAB メモリ削減でググって2番目くらいに表示される記事参照
0153774ワット発電中さん垢版2018/03/06(火) 13:33:08.79ID:/XiWlVVW
なんでこんなに重いんだ。
0154774ワット発電中さん垢版2018/03/06(火) 13:43:35.62ID:6XObS/eY
パフォーマンスや使用リソース量よりも開発効率や移植性を優先したから
つまりMicrochipが悪い
0156774ワット発電中さん垢版2018/03/06(火) 15:38:51.16ID:rdaQ5C2I
>>142
32bitの4GBの限界もそうだが、
32bit Windowsでは通常、32bitアプリは1プロセスで2GB(実際は1.5から1.6GBくらい)までしか使えない
64bit Windowsでは32bitアプリでも
実行ファイルにLargeAddressAwareのフラグが立ってれば4GB(実際は3.5GB程度)まで使える
0157774ワット発電中さん垢版2018/03/06(火) 16:06:59.85ID:OvFzO8UW
>>156
32bitだから4Gしか使えないなんてのは、Windowsの64bit売るための言い訳仕様に過ぎない
Windowsはメモリ利用効率が何気に悪い
linuxもBSDもハードウェア限界まできちんと使えるし、MPLABもWindowsより多少はマシ。
java環境がマシなだけかもしれないが。
0159774ワット発電中さん垢版2018/03/06(火) 16:27:01.18ID:rdaQ5C2I
今時、32bit Windowsを使うメリットなど無いし今はもう64bit Windowsが主流
NVIDIAなんて32bit Windows用の新しいドライバは作らないと発表してる
LinuxだってUbuntuで18.04から32bitのUbuntu Desktopはサポートされなくなる
スマホもPCも64bitが当たり前の時代だよ
0161774ワット発電中さん垢版2018/03/06(火) 16:38:21.22ID:3Di1dev6
あのーここはPICのスレなんですが

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

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

開発環境は共通点が多い
0163774ワット発電中さん垢版2018/03/06(火) 17:32:52.77ID:skKFvcxQ
レジスタの名前とかは同じ名前をつけようとした痕跡があるな(よりリッチになってても)
0170774ワット発電中さん垢版2018/03/07(水) 01:54:48.76ID:i/Ga9hKt
スレ民「開発効率や移植性、メンテナンス性が良いC使えや!アセンブラとか使ってる場合かよボケカス!」
スレ民「開発効率や移植性?知るかそんなもん!MPLABバカデカくしやがって!Microchip死ねやボケカス!」

どうしてこうなのか・・・
0173774ワット発電中さん垢版2018/03/08(木) 11:48:04.45ID:+j+6ssDG
PIC18の羨ましいところは、AVRには無い10進演算補正命令がある事かな。
アセンブラだと<入力→16進変換→16進演算→10進変換→出力>より
早くて簡単な<入力→10進演算→出力>でやりたい場合がある。
0174774ワット発電中さん垢版2018/03/08(木) 12:43:02.14ID:H6qBBdgb
10進数演算
昔x86にもあったけど64bitで廃止された

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

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

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

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

ところで10進数演算命令ではなくて、10進数演算「補正」命令で十分。
PIC18では2命令(加算と補正)で済むのに、AVRではフラグの問題もあり、
2桁のBCD加算に21命令もかかる(参考AVR204)、残念っw
0178774ワット発電中さん垢版2018/03/08(木) 17:21:46.73ID:BTbCX1CD
>>176
さすがに液晶の表示よりは速いんじゃない?
2進数===>10進数 変換
10進数===>2進数への変換はいずれにしろ必要

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

ていうか、
1クリックで毎回液晶更新してて間に合うのか?
ロータリーエンコーダーのパルス間隔は
瞬間的に速く回せばミリ秒オーダーになるが
0179774ワット発電中さん垢版2018/03/08(木) 17:50:05.02ID:ySfaEU+h
>>178
そんなこといいはじめたら最高速でまわすエンコーダーに追従するよりも
最高速で回さなくてもいい自動ステップなどの工夫を入れるべきだ、とか言い出すやつが出始めるぞ
0180774ワット発電中さん垢版2018/03/08(木) 18:28:07.89ID:2oTbJaeO
ソフト設計がおかしいって言ってるの
いかにも初心者が作った感じ

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

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

とかって決めるもの

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

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

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

コンパイルしてlstみて気に入らないとasmで書き直して
ほとんどasmになったりするけどw
0189774ワット発電中さん垢版2018/03/09(金) 08:21:55.03ID:lN8CRpwv
そもそも、
遅くて良い処理を、
速くやらなきゃならないところでやってるから
問題なわけで
0191176垢版2018/03/09(金) 15:41:45.00ID:kJqgdYVU
>>177
申し訳ありません、私の知識不足でした、調べればすぐに分った事なのに・・・。
Cが一般的な今、10進演算命令は不要だと思われるのは仕方が無いですね。
AVRで採用されなかったのもこれが理由だと思います。

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

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

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

>>187 一桁を1バイトで表せばそんなに長くないだろうに?
別の理由であまり深く考えなかったけど、今、検討してみたらかなり簡略化できそう。
もしもバージョンアップする機会があれば採用してみたいです。
0196774ワット発電中さん垢版2018/03/10(土) 08:53:41.75ID:A417ifvs
何に使うって
>>176の話だよ

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

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

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

ソースを変更した場合、チェックサムも変わるものですが、コードプロテクトをかけてビルドするとソースの内容によらずチェックサムが同じ値になります。
こういうもんなんでしょうか。
プロテクトをかけた時点でチェックサムも計算できなくなると言うことですかね。
0198774ワット発電中さん垢版2018/03/11(日) 21:51:09.68ID:0m/zw/2B
君がコードプロテクトと称してるのはconfig ビットの中の事?
0199197垢版2018/03/11(日) 23:25:53.01ID:mur+4FNZ
>>198
レスありがとうございます。
そうです、config内のCONFIG5LからCONFIG7Hまでの設定です。
0200774ワット発電中さん垢版2018/03/12(月) 16:29:47.14ID:V4y1r6qO
>コードプロテクトをかけてビルド
ソース中にconfig記述してるの?
結果が仕様なんだろうな
プロテクトしたら実物でもチェックサムに意味は無いのだから
気にしたら負け
0201197垢版2018/03/12(月) 18:45:02.96ID:ufCe4kXE
>>200
ソース内と言うか、
mplab x ideでコンフィグを設定→
吐き出されたコードをコピペしてconfiguration.hとして保存→
main.cでインクルード、とやってます。

コードプロテクトの方法としてもっとオーソドックスなやり方ってあるんでしょうかね。チェックサムの件はあまり気にしないことにしますが、今後のためにご教示いただけるとありがたいです。
0203774ワット発電中さん垢版2018/03/12(月) 19:28:07.38ID:v8E7meqC
>>197
チェックサムはコードが一致してるかの確認用。
プロテクトは外から内容を読み出せない様にするもの。
0204197垢版2018/03/12(月) 19:47:04.95ID:yYdA7ifp
>>202
mplabでコンフィグ設定すれば、インクルード不要と言うことですか!全然知りませんでした…今の状態でヘッダ無しでどうなるか確認してみます。
コンフィグ結果をテキストとして吐き出せるので、てっきりヘッダやソース内に記述するもんだと思いこんでました。

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

皆さんレスありがとうございます。
0205197垢版2018/03/12(月) 20:13:18.11ID:yYdA7ifp
mplabでコンフィグ設定、ソース内にインクルードせずにビルドしたところ「コンフィグ設定されてないんで初期値を使う」旨のメッセージが出ました。
なので取りあえず今まで通りで進めます。ありがとうございました。
0207197垢版2018/03/12(月) 21:56:50.72ID:yYdA7ifp
>>206
・configuration.hをmain.cの先頭でインクルード
・cofiguration.h内のインクルードガードを削除してconfigration.cとして保存、main.c内先頭のインクルードを削除
のどちらでもビルド出来ました。後者が通常の(正しい)方法なんでしょうか?何せ基本が分かってないため手探り状態なので…
0210197垢版2018/03/15(木) 18:27:45.62ID:IuQOYowf
ヘッダに書いてもソースに書いても動くようですが、複数のソースにインクルードされないのでソースに書いてmain.cの先頭でインクルードすることにします。
皆さんありがとうございました。
0211774ワット発電中さん垢版2018/03/15(木) 21:44:17.19ID:8+RfXAsX
スタイルの問題だけど
ふつうは宣言を.hにしないか
.cは記述
includeで.cを取り込むのは何となく気分が…
(一般に、コンパイラによってはソースレベルデバッグで混乱をきたすこともある)
実行コード含まない配列の中身dataを取り込むときとかには使うけど
0212774ワット発電中さん垢版2018/03/15(木) 21:56:23.43ID:prz2WnjG
型定義と構造体定義までかね…
0213197垢版2018/03/15(木) 22:06:36.54ID:IuQOYowf
コンフィグレーションビットの設定が何なのか(宣言?定義?それ以外?)と言う話なんでしょうかね。

取りあえず個人用にやってるもので移植する予定が無いのであまり気にしないことにします。
0214774ワット発電中さん垢版2018/03/15(木) 22:31:53.09ID:EhMxN+rl
公開不要な宣言や定義をグローバルヘッダに書く初心者が多いよな
迷惑
0215774ワット発電中さん垢版2018/03/16(金) 07:46:17.88ID:wz2bhdQy
>>211
.cをincludeするのは気分良くないけど、
.hに実行コードがあるよりマシだと思って使う。
0218774ワット発電中さん垢版2018/03/16(金) 08:21:17.06ID:YjvFtJkr
そもそも複数ファイルにインクルードする必要があるのか?
configuration.cにして単にビルド対象に加えるだけで終わりじゃないの?
0223774ワット発電中さん垢版2018/03/16(金) 19:39:50.72ID:z19QItsd
ここはデータシート読まなくて大丈夫なスレだから大丈夫だよ
0225774ワット発電中さん垢版2018/03/16(金) 20:43:44.22ID:rNJWlb+f
最近のデバイスはconfig word 1 とword 2と設定が増えてるから
xc8の__configにどう記載すれば良いか悩むよね
0228774ワット発電中さん垢版2018/03/17(土) 11:09:22.84ID:MLnrH9Vk
コンフィグレーションビットはPICに書き込むときにソースの通りに
書き込むかプログラマで指定した値を書き込むかを選択できる性質の
データだからコンパイルに影響するようなものではない。
0232774ワット発電中さん垢版2018/03/18(日) 17:44:46.44ID:W+rPlfbW
ど初心者です。アドバイスください。
定期的にRS232Cから文字列(数値を表したもの)出してる機器の信号を取り込んで、アナログ電圧として出力するだけのデバイスを作りたいと思い、PICを初めて触ろうと思います。

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

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

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

デモボードってのは、安倍辞職とか書いて道路練り歩いてる連中が首からぶら下げてる奴のことだ
0235774ワット発電中さん垢版2018/03/18(日) 18:37:50.67ID:W+rPlfbW
>>233
PIC以外にどんな選択肢あるですか?
必要なときだけ接続する、可搬デバイスを作りたいのです。
シーケンサはごついです。できるだけ小さなデバイスを作りたいです。

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

今は開発環境とコンパイラはダウンロードできないのでしょうか?
0238774ワット発電中さん垢版2018/03/18(日) 20:22:24.72ID:AKwVmLzI
>>237
返信ありがとうございます。

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

ちなみにPC環境はwindows7 64bitです
0240774ワット発電中さん垢版2018/03/18(日) 20:54:38.08ID:W+rPlfbW
>>239, >>233
どっちっすか…
0241774ワット発電中さん垢版2018/03/18(日) 21:01:26.26ID:AKwVmLzI
>>238
すみません自己解決できました。

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

ttp://www.microchip.com/development-tools/downloads-archive
0243774ワット発電中さん垢版2018/03/18(日) 21:14:39.43ID:NdYfc15y
3が半額です、ってんでもない限り4
0246774ワット発電中さん垢版2018/03/19(月) 10:03:08.45ID:++Jr0i71
>>233
なるほど、その手があったか!LED100x200くらいで首から下げてメッセージ流すやつ
作るか。もっとも、できるころには総理大臣2人くらいは変わっていそう。
0248774ワット発電中さん垢版2018/03/19(月) 14:19:03.69ID:BfjJK1SW
>>232
arduinoでもつかえば ?
パチモンでよければ基板は数100円からあるし
開発環境無料だし
0251774ワット発電中さん垢版2018/03/19(月) 22:52:43.50ID:X1LWWvvN
>>232
arduinoにするほうが絶対に良いと思う。先人のサンプルも多いし、ハードも一つ買えば完結する。
0252774ワット発電中さん垢版2018/03/20(火) 06:54:02.38ID:2+FlTUIc
・基板は数100円からある
・開発環境無料

が、なぜ

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

になるのか?
読解力以前の問題。
0254774ワット発電中さん垢版2018/03/20(火) 07:12:11.62ID:VCzbGWRh
数100円で完結するというミスリードだし
初心者にパチモンを勧めるのもアホ

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

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

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

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

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

それに、基板やチップ自体にお金がかかったとしても、
IDEが無料で使えて、特にライターも要らないのであれば、人口に膾炙した表現として「無料で開発できる」で
通じるだろね。
0260774ワット発電中さん垢版2018/03/20(火) 07:39:30.43ID:2+FlTUIc
元の質問が作り話であっても、>>249>>248へのスカタンなコメントは作り話じゃないと思う。
0262774ワット発電中さん垢版2018/03/20(火) 07:52:19.88ID:2+FlTUIc
>>261
ここ、PICスレだから具体名をあげてまでの話はスレチだしやめておく。
知りたければAruduino互換スレで尋ねるか、UNO 互換 で検索すればよかろ。
0264774ワット発電中さん垢版2018/03/20(火) 07:59:21.67ID:VCzbGWRh
別に知りたいわけじゃないんだが
そんなもん無いだろアホが
ってこと
0265774ワット発電中さん垢版2018/03/20(火) 08:02:57.49ID:2+FlTUIc
>>264
>そんなもん無いだろアホが
と、過去に思っていた、という話だよな。>>262で、存在することはわかっただろ?
良かったじゃないか。自分がそれを使うことがないとしても、知らなかったことを知るようになったんだし。
0266774ワット発電中さん垢版2018/03/20(火) 10:20:39.97ID:R7qaD8dZ
井の中の蛙に教えてやろう
amazonでattiny85で検索すると出てくる274円
ハードはこれだけで開発できる
ソフトは無料のarduinoIDE
PICにもこういうのがあるといいね
0267774ワット発電中さん垢版2018/03/20(火) 10:28:48.56ID:R7qaD8dZ
ebayまで足を延ばせば ARM(STM32)環境だって数100円だ
ST-Link 239円
STM32F103C8T6 ボード226円
SW4STM32 IDE 無料

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

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

ビット数で分けても
PIC10とPIC18じゃ大違いだし
MMとMZでも大違い
0272774ワット発電中さん垢版2018/03/20(火) 15:09:35.24ID:BvDHOU1C
叩きたい人は分けて有ろうが百羽一絡げに叩くから意味なし
0274774ワット発電中さん垢版2018/03/20(火) 15:50:22.05ID:soymXEfX
今北産業
0275774ワット発電中さん垢版2018/03/20(火) 15:58:14.88ID:soymXEfX
>>254
作り話じゃないです…
私企業の化学者でして、今後のことを見据えて少しずつ実験を機械化していきたいのです。
で、データロガーに取り込むときにはアナログ信号の方が都合がいいのですが、電子天秤の電送出力が軒並みシリアル通信でして。しかも十進数の測定値をそのままascii文字列で送るというクソ仕様。
しょうがないので自分で作るか、と。
0277774ワット発電中さん垢版2018/03/20(火) 16:57:32.35ID:R7qaD8dZ
そんなのをアナログのデータロガーで取ろうというのが前時代的
そのままパソコンのシリアルに繋いで記録取りゃいいじゃないか
後処理でそのデータからグラフでも何でも書けるだろうに
次にはPWMDACのキャリアとサンプリング定理とダイナミックレンジとノイズについて・・・
いや、なんでもない。
0278774ワット発電中さん垢版2018/03/20(火) 17:00:51.28ID:6YSMAz4g
企業の化学者がろくな精度も出ないそんなもの作ろうとして、それを5chで質問してる時点で
お前はむいてないからさっさと転職しろ
0279774ワット発電中さん垢版2018/03/20(火) 17:49:39.72ID:eRuMmT7P
ここの雰囲気はホントに殺伐としているね。
桜の便りもチラホラ聞かれる今日この頃なのに
  「物言えば唇寒し秋の風 」
0280774ワット発電中さん垢版2018/03/20(火) 18:25:36.64ID:XUVXSJRn
PICスレは民度が低く嫌味な人が多い。
その用途ならPIC関係なくArduinoかラズパイのスレの方が
優しく教えてくれるよ。
0281774ワット発電中さん垢版2018/03/20(火) 18:29:03.26ID:soymXEfX
>>277
いやいや、とりたいのは天秤データだけじゃないんですって。温度は基本的にK熱電対の電圧を直接取り込みますし、その他もろもろ、アナログ信号出す機械が多いんですって。
シリアルを直接PCに取り込むソフトならなんぼでもありますが、あの機械はこのソフト、その機械はあのソフト、温度はデータロガー…とかやってたら、後で時間揃えてデータを統合するのが死ぬほどめんどくさいでしょ?

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

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

お邪魔しました〜
0283774ワット発電中さん垢版2018/03/20(火) 18:31:46.00ID:LWFumlwH
匿名という保険を掛けつつマウント取りたがる人間には居心地がいいんだろ
普通に作って教え教えられてならSNSの方がいいのかも
0284774ワット発電中さん垢版2018/03/20(火) 18:37:53.00ID:+Xf+fuK9
>>281
目的を聞けば聞くほどarduinoを進めたくなる。
でもそれはマイコンを使う必要あるんだろうか
データ➡rs232c➡usbシリアル変換➡usb➡pc
pcでそれぞれのポートの固有番号がわかるから、番号ごとに定期的に時間とデータをエクセルにでも追記したら。適当なソフトは分からないけど他で質問したらどうでしょう
0286774ワット発電中さん垢版2018/03/20(火) 19:13:34.60ID:R7qaD8dZ
概してマイコンのDAはADより貧弱(PWMでやるとか)なので、
出力をフィルタするとか必要ならオペアンプ類でデータロガーの電圧レンジに
合わせ込むとかしなきゃいけない キャリブレーション不要ってことは無いでしょう?
DCレベルだからオフセットの調整もある。
独立した用途に合ったDACを外付けしたほうがいいかもしれない
マイコン/アナログ両方の知識が要るから0からちょっと質問して出来るようなものではないと思うよ
既成品があるか知らないが、まずそういうものがあるかどうか調べたら?
0287774ワット発電中さん垢版2018/03/20(火) 19:28:51.32ID:dtsYvq2w
>>281
このスレに来たってことは、
PICでやるって決めてるって事だよな

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

を書けば設計してやるから書いてみな
0288774ワット発電中さん垢版2018/03/20(火) 19:38:57.18ID:dtsYvq2w
交流成分だけで良ければアナログ音声出力を使うのが簡単だけど
そういうわけにはいかないよね?
0290774ワット発電中さん垢版2018/03/20(火) 19:46:30.25ID:jQo3AtPb
おおう!さよならした途端にみなさん優しくなった!

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

まあわかることは出来るだけたくさん書いて
0292774ワット発電中さん垢版2018/03/20(火) 19:48:13.51ID:jQo3AtPb
>>286
データロガー側は±1V, ±5V, ±10Vのマルチレンジ対応です。オフセットはデータロガー側で設定できます。たしか。

DAC外付けはちょっと考えてました。分解能8bitじゃ足らんよなあ、と。
dsPIC33FJ64GP802 じゃだめですかね?
12bitでぎりぎり足りるかな…ってところですが、本音をいうとも少し欲しいので、16bitのDAC載ってるやつです。
0293774ワット発電中さん垢版2018/03/20(火) 19:51:25.24ID:jQo3AtPb
>>287
エクストリームありがとうございます!
明後日出社したときに、天秤の取説コピーしてきます。
んでもってやりたいことをもっと明確にしますので、少々お待ちくださいませ。
0294774ワット発電中さん垢版2018/03/20(火) 19:52:38.89ID:p+PUMRIX
>>281
うちの会社でも電子天秤はRS-232Cなので0-5Vに変換して圧力やら、Pt100Ωやらと一緒に記録計で記録してます
PICでやるより、Arduinoの方が簡単確実です
UNOには、D/Aが無いので、10bit I2CのD/AコンバーターICをつなげて、使ってます
そういう研究所やら、企業は結構在りますよね
0295774ワット発電中さん垢版2018/03/20(火) 20:01:06.52ID:jQo3AtPb
あと、四方から「PCでやれよ…」という幻聴が聞こえますので言い訳すると、
1. PC置くと作業スペースが減る。
2. PCを実験台上に置くと、1週間以内に有機溶媒をディスプレイやキーボードに垂らして( ;∀;)…

のため、あまりPCを近くに置きたくないのです。
0296774ワット発電中さん垢版2018/03/20(火) 20:03:25.77ID:jQo3AtPb
>>294
そのデバイスください。
0297774ワット発電中さん垢版2018/03/20(火) 20:45:10.80ID:R7qaD8dZ
8pinのPIC(PIC12F1822)とSPIのDAC(MCP4922)位か
DACの出力がシングルエンドで良いなら簡単にできそうだ
0298774ワット発電中さん垢版2018/03/20(火) 21:13:22.43ID:dtsYvq2w
なぜPIC12F1822?
8pinならPIC16F18313だな
秋月に無くていいなら15313でも
0300774ワット発電中さん垢版2018/03/20(火) 21:20:54.93ID:p+PUMRIX
>>296
私が作りましたが
4-20mA出力も可能です
部品代で2kくらいかな
ググってご自分で作って下さい
売るなら8万くらいかな
0302774ワット発電中さん垢版2018/03/20(火) 21:22:32.38ID:R7qaD8dZ
PICはUARTがあれば何でもいいな
あとはMAX3232とかも要るかな
電源は5Vから3.3Vに安定化した方がいいか
あとはDACの出力をバッファするかどうかだが
秋月だとNJM27463辺りか これはSOPだが
もうこれで回路出来るな
0303774ワット発電中さん垢版2018/03/20(火) 21:24:40.00ID:R7qaD8dZ
基板上なら千円程度でおつりがくるな
まともなケースに入れるとケース代が一番かかる
0304774ワット発電中さん垢版2018/03/20(火) 21:25:41.43ID:R7qaD8dZ
X NJM27463
O NJM2746E
0306774ワット発電中さん垢版2018/03/20(火) 22:12:25.18ID:RQ1nnXIG
12F1822は、出た当初、結構人気があった。
今はもっと選択肢が増えているからそうでもないが、
未だに最初に頭に浮かぶ人は結構いそう。

という程度な意味くらいしかない。
0307774ワット発電中さん垢版2018/03/20(火) 23:08:09.45ID:vyiIY2G7
UARTもSPIもI2Cも使えて便利だから今でも1822を最初に選んでるな
ちょっとピン数が増えたりプログラムが大きくなりそうなときは14ピンの1825がセカンドチョイス
0309774ワット発電中さん垢版2018/03/21(水) 01:03:36.31ID:nYIIkJFI
>>244
スマホからですみません

勉強用にとりあえず今使えればいいので、古いバージョンでやってみます
0310774ワット発電中さん垢版2018/03/21(水) 01:04:42.90ID:nYIIkJFI
>>245
スマホからですみません

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

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

UARTを2ch使いたいのですが、XC8やXC16では、printf()はUART-No.1側に固定のようです。
fprintf(ch1, "hello");
fprintf(ch2, "hoge");
など、出力先を切り替えて使いたいのですが、どうしたら良いでしょうか?
0313774ワット発電中さん垢版2018/03/21(水) 07:28:38.59ID:iqitEGF3
stdoutとstderrで分けるとか
printfの出力先を切り替える関数を追加するとか
sprintfで文字列に変換してからUARTドライバを直接たたくとか
0314774ワット発電中さん垢版2018/03/21(水) 08:11:48.01ID:71n6I8dQ
>>311
printfはputc()に書くので、putcを自分で書いて、出力先を切り替えるようなフラグを盛り込めばOK
0315774ワット発電中さん垢版2018/03/21(水) 08:23:13.27ID:71n6I8dQ
>>281
おまえら研究レベルで、k熱の電圧直接取り込みとか言う時点で気づけ。
この手は、精度は関係ないとか言って、後から精度が出ないとか泥沼に引きずり込まれるパターンだね
しかも16bitアナログだってさ
0316774ワット発電中さん垢版2018/03/21(水) 09:58:23.15ID:L3kxIuo/
ここでアイデアを出したって、最終結果に責任を持つのは本人だよ。

>泥沼に引きずり込まれるパターンだね
協業した人に引きずりこまれた経験は誰しも大なり小なりあろだろね。
「自分だけが見通せているエライ人」みたいな振る舞いはどうなんだろう。
0317774ワット発電中さん垢版2018/03/21(水) 10:11:07.90ID:XIeFd2jj
>>315
アマチュアレベルだとそう考えるんだろうな
工業ようデータロガーがどんなものか知らないんだろう
PtじゃなくK熱でんついで測定だから
ラフでいんだよ
と、読めない
もっと幅広く勉強したらどうだ
0319774ワット発電中さん垢版2018/03/21(水) 18:23:11.80ID:71n6I8dQ
>ど初心者です。アドバイスください。

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

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

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

で切り替えろってこと

#define ch1 stdout
#define ch2 stderr
で希望通りになる
0327774ワット発電中さん垢版2018/03/22(木) 10:32:09.55ID:rBoRj5nt
関数のオーバーライドできるの?
ライブラリのソースってあったっけ
0328774ワット発電中さん垢版2018/03/22(木) 10:58:10.29ID:FBb5wsEu
それなら、X Cコンパイラ作った人がサボったってこと?
0330774ワット発電中さん垢版2018/03/22(木) 13:09:15.02ID:FBb5wsEu
write って、何ですか?
0331774ワット発電中さん垢版2018/03/22(木) 16:05:50.50ID:hZKgHnm6
通常は関数名の前に_(アンダーライン)とか付けて同一の名前にならない様にするが、該当の.hファイルをincludeしなければ標準関数と同一の名前は作成出来る

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

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

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

仕様はも少しお待ちくださいな。今帰宅中ですので。
飯食って風呂はいってから、、、疲れて寝るかもしれませんが。
0338774ワット発電中さん垢版2018/03/22(木) 22:18:31.36ID:I7+BH7Bq
>>336
化学プラントではPt100Ωが標準的に使われてるけど…
ラフな温水調節とかでは熱でんついが多い
医薬品プラントはほぼPtだよ
5chでこんなこと書いてるなんて
余程レベルが低い会社にお勤めなようで
俺もだが
0341774ワット発電中さん垢版2018/03/22(木) 22:32:08.14ID:npw4DaON
>>338
そりゃ知ってますよ。
Pt100はドリフトせず、断線するときは基本的に即死しますから、異常検知しやすいんです。壊れにくいしね。
K熱電対はドリフトしやすく、壊れやすい。異常検知が難しいのでプラント向きじゃないです。

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

さて、ご飯食べてきますね。
0342774ワット発電中さん垢版2018/03/22(木) 22:35:21.70ID:LHlMV7G4
>精度の観点でいえば、Pt100じゃないと!ってのはダウト
熱電対と比較して?
0347774ワット発電中さん垢版2018/03/23(金) 00:12:51.38ID:F6ryq4Jd
>>287

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

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

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

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

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

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


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

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

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

【その他】
  Ch: 1

PICkit4買いました。
よろしくお願いします。
0348774ワット発電中さん垢版2018/03/23(金) 00:13:08.94ID:F6ryq4Jd
>>344
さーせん。
0349774ワット発電中さん垢版2018/03/23(金) 00:30:30.66ID:IcAij/8Q
>>347
「選択可能」の意味は?
オーバーレンジ、アンダーレンジ、範囲外の場合の動作は?
ハンドシェイクの意味は?
(受信だけだし速度も遅いのでビジーにはならんでしょってこと)
レンジがおかしいので修正を
0351774ワット発電中さん垢版2018/03/23(金) 00:40:32.02ID:F6ryq4Jd
>>349
選択可能の意味は、天秤側は設定で変えられますんで、作る人がやり易い方法でお願いします、という意味です。ハンドシェイクも同様。…書かなかったら書かなかったで文句いうくせに。

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

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

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

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

自分だったらアナログで統一なんて「大バカ」なことはせずに
デジタルで統一して記録するがな
0356774ワット発電中さん垢版2018/03/23(金) 11:03:10.69ID:brNNbOfq
>>351
あんまり態度が悪いと放置するぞ

PIC32MM0064GPL028 175円
PCM5102A 500円
ICL3232CPZ 130円

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

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

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

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

電子天秤が広告文面でてきてワロタ
まともなやつが使ってるのはこういうものだ
0360774ワット発電中さん垢版2018/03/23(金) 13:02:12.09ID:brNNbOfq
dsPIC33FJ64GP802 480円
でもいいか

0V〜3.3V出力で良ければそのまま出せるし
±5V必要なら出力段の回路が必要
0361774ワット発電中さん垢版2018/03/23(金) 16:34:41.23ID:FAT/pfiL
PWMのDACでいいなら8pinのPICでできるけどな
予算\500
コネクタ+基板+PIC+CR少々+ケースは100均のタッパ
ああ、RS232の12Vは適当にDi+抵抗で受ける
0363774ワット発電中さん垢版2018/03/23(金) 17:07:03.65ID:FAT/pfiL
誰もお前に頼んでいないし
俺も誰にも頼まれていない
気楽に行こうや
書きなぐりでも誰かの参考に僅かでもなるなら
それでいいじゃないか
0364774ワット発電中さん垢版2018/03/23(金) 23:18:25.91ID:4ZTmFeo6
さすがの企業の化学者さまは一味違った違うな
肝心の出力電圧の誤差とリップル、出力インピーダンスと交流応答特性が完全無視
こんな仕様で出した測定器でどんな代物ができるんだろう

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

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

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

と思った

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

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


//TXピンをRC4とし、RXピンをRC5に割り当てる場合は?
   RC4PPS= 0b10100 ; // 出力(TXを割当てる)
   RXPPS = 0b10101 ; // 入力(RC5を割当てる)
TRISA = 0b00000000 ; // ピン(RA)は全て出力に割当てる(RA3は入力専用)
TRISC = 0b00100000 ; // RC5(RX)だけ入力その他のピンは出力に割当てる
0372774ワット発電中さん垢版2018/03/24(土) 14:25:06.59ID:Kty3MHA/
>>365
シリアルの変動に対する出力変化の追従やジッタをどうするかということだよ

16ビットのアナログ値の精度の取得と発生を簡単に言う奴に、ちゃんとしたやつはいないと思ってる
0373774ワット発電中さん垢版2018/03/24(土) 14:30:59.50ID:ZChT3Wwu
>>372
受信間隔がせいぜい秒だって言ってるんだから
追従性やジッタなんてどうでもいいだろ

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

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

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

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

非線形性
温度特性

まず気になるのはこの辺だ
これもスペックに書いてないからどうでもいいんだろうけど
0378774ワット発電中さん垢版2018/03/24(土) 15:32:14.12ID:ZChT3Wwu
変化がわかればいいって可能性もあるので
ビット数が有れば精度はどうでもいいって可能性もある
0380774ワット発電中さん垢版2018/03/24(土) 15:37:49.49ID:BlNTL06s
デジタルで入力されてんならデジタルのまま処理しなよ。
チャンチャン♬
0382774ワット発電中さん垢版2018/03/24(土) 15:49:11.20ID:FAmVE2sl
自分が想定したストーリーに合わないときに「作り話」って言うのが好きな人がいるね。
0384774ワット発電中さん垢版2018/03/24(土) 16:42:19.63ID:Kty3MHA/
>>377
シリアル入力をそのまま整流して、ローパス通して、適当にオペアンプでバイアスと増幅すればいいんじゃね?
0386774ワット発電中さん垢版2018/03/24(土) 18:26:07.33ID:3uyjN0aH
そりゃPIC好きな時点でヘンに決ってるよ、
ジーチャンに限らずニーチャンだってオジチャンだって。
0390774ワット発電中さん垢版2018/03/25(日) 19:13:23.49ID:0oW+rPEI
ガベージインガベージアウト
ゴミ仕様からはゴミしか生まれないってこった
0392774ワット発電中さん垢版2018/03/25(日) 21:45:05.85ID:t37WBRqO
みなさま遅くなりました。3日放置してて申し訳ないです。平に謝ります。マジで。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>484
最終防衛線(玄関)はX830です(;ω;)
0489774ワット発電中さん垢版2018/04/03(火) 08:38:35.23ID:8ku8J7LK
家の中でも、いや通線しにくい家の中だから、10m以上かつ3台以上の場合はLANですね
0492774ワット発電中さん垢版2018/04/03(火) 12:25:30.97ID:gc+nuo+6
>>491
lanは配線が必要だから美的に面倒。
もしPLC付きACアダプタなんてのが1000円ちょっとで
買えれば良いのに。
0493774ワット発電中さん垢版2018/04/03(火) 13:19:12.77ID:8ku8J7LK
>>492
松下利権で固まってるガラパゴス機器がそんな値段で買えるようになる訳ないだろ
POEのLANの簡易型を自分で作るか、無線LANにしたほうがうんと簡単。
0495774ワット発電中さん垢版2018/04/03(火) 20:42:01.00ID:Y6OU8VrX
有線の長距離インターフェースってLANくらいしか無いんだなぁ
CANとか見ないし・・・
0498774ワット発電中さん垢版2018/04/04(水) 03:09:53.98ID:13CF5yNr
>>495
上の方でも出てるけどRS485
差動伝送で速度との見合いになるけど遅ければ電話線で1kmぐらいでも行ける
家屋内程度なら数百kbpsぐらいは大丈夫

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

電気的な伝送規格だけなので、マルチマスター(送信元が複数)の場合のアービトレーションとかは自前で何とかしなきゃいけないけど
0500774ワット発電中さん垢版2018/04/04(水) 08:57:50.58ID:oy3DGegN
タイマー割り込みを使わなくて、80マイクロ秒プラスマイナス5マイクロ秒の精度でピンにワンショットパルス出す方法ありますか?
0502774ワット発電中さん垢版2018/04/04(水) 10:12:29.42ID:tSmRIhc+
>>499
リピーター
0503774ワット発電中さん垢版2018/04/04(水) 10:32:05.48ID:R2OD2DZc
>>498
昔はよく使われていたが、ethernetに取って代わられて使われてないのはいろいろ使いにくい理由があることに気づけ。
ひょっとしてアセンブラマンセーで使い続けてる人かな?それならいまだに485推しとかわからんでもない。
0505774ワット発電中さん垢版2018/04/04(水) 11:16:58.55ID:+IcO7Jp9
>>501
ありがとうございます。
PIC18F46K22(秋月ボード)でTMR5とCCPR1でコンペアして、RC2に出力させました。
TMR5はFOSC/4の16MHzで1/8で2MHzカウントにしました。
CCP1はCCP1M=0x09のCompare ModeとTMR5を使うC1TSEL=0x02としました。
CCPR1に160をセットして、TMR5を0にセットして、
LATCbits.LC2 = 1 でRC2をHにして、T5CONbits.TMR5ON = 1としましたが、
出力は340μSくらいのHighパルスがでました。
80μSにならなかったけど結局コンペアマッチした時点でRSTかSETしかできないので、
最初にセットした時刻からTMR5起動までがソフトなのでタイマー割込みと同じですね。
TMR5でのタイマー割込みで約80μSパルスは作れていたのでCCP1は諦めます。
このパルスをFETゲートに入れて通信線を80μ秒短絡して、相手の過電流検知を働かせるものです。
出来るだけ正確にと思ったのです。
0506774ワット発電中さん垢版2018/04/04(水) 11:48:41.77ID:vdYFMDej
>>505
できるだけ正確に、というのであれば、まず水晶は交換しよう。
TCXOとかはいわないが周波数の分周くらいは割り切れるのにあわせるべきだ
0507774ワット発電中さん垢版2018/04/04(水) 16:40:34.15ID:25ixTeLW
>>503
8ピンの小さなRS485トランシーバーICを付加するだけで
マルチドロップで長距離通信出来るし、
制御プログラムも簡単で、PICやAVRの小さなCPUでも負担にならないし、
コストやスペースの点でもメリットがあると思う。
CPUのI/OにUARTが存在し続ける限り、
RS232規格と共にRS485規格も使われ続けるのでは?
0508774ワット発電中さん垢版2018/04/04(水) 19:36:56.63ID:vdYFMDej
>>507
それは設計屋の都合な。いまどき長距離なんて光だしな
現場に行って、LANと485のどっちが施工と保守しやすいか聞いてごらん
485を使うようなシチュで、製造単価とメンテ費用のどっちにウェイトが置かれるかってことだな

ま、俺も485はきらいじゃないがな。232同様、今後増えていく存在ではない
0510774ワット発電中さん垢版2018/04/05(木) 00:58:41.42ID:sZQriHtm
FAでは485未だによく使うけどあとは422
アナログだけどカレントループはノイズに強くLANより優秀
連続なのが何より楽だ
0511774ワット発電中さん垢版2018/04/05(木) 04:33:13.19ID:HnaojImQ
そもそも485とLANをいっしょくたにしてるのが間違い
初期のLANで媒体として485使ってるものもあったが、485はLANのための規格じゃない
高速・大容量という志向に合わなかったからLANの媒体としては485が使われなくなっただけ
現在でも工場とか高ノイズ環境では使われてるし、舞台照明コントロールのDMX512Aとかでも使われてる
0515774ワット発電中さん垢版2018/04/05(木) 07:10:58.05ID:6Qpawqwk
いくらかのプロトコルをハードウェアがやってくれるものと、そうでないものを比較するのもどうかと思うけど、
傾向としては、前者に移行していくものですかね。
0516774ワット発電中さん垢版2018/04/05(木) 09:10:26.16ID:kb/LuSR9
本来は
複雑なプロトコル処理→ハード・ソフトが複雑→高価
のはずなんだけど、

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

シリコンもソフトも複雑度ではなく普及度で価格が決まり、
思いのほか差が出にくくなるという事。
0517774ワット発電中さん垢版2018/04/05(木) 10:38:32.05ID:ncA+hgur
>>516
複雑なロジックもシミュレーションが楽にできる様になったからな。
昔はちょっとした物でも一週間とか掛かってたから。
0518774ワット発電中さん垢版2018/04/05(木) 11:24:09.64ID:1oOZ9wVA
複雑なものってトラブったら交換しか手がないからなぁ
自己診断とか異常検知なんて健全な状態でしか使えない意味不明なバカ仕様がほとんどだし
0519774ワット発電中さん垢版2018/04/05(木) 13:08:05.49ID:HnaojImQ
一連の話の大元は>>479だぜ?
いくら昔に比べて安くなったとは言え、ドアセンサーのためにLAN引けとかファイバー引けとか頭沸いてんの?
そりゃ既にLAN張り巡らしてるならそれに乗っかるのはアリだけど、それだけのために引くのはアホだろ
0522774ワット発電中さん垢版2018/04/05(木) 15:01:20.99ID:qMHs4RUc
>>519
普通にLAN引くな
ドアセンサーが必要ない鈴ですむようなところならともかく、普通は10m以上引っ張って、
さらにドア一つでなくて複数のセンシングするよな。

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

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

だったら最初からLAN引いてしまったほうがすべてが楽。
0523774ワット発電中さん垢版2018/04/05(木) 15:02:37.87ID:qMHs4RUc
ごめん、中学生がママがきたセンサー作るのなら、485/422.232で充分以上。
0525774ワット発電中さん垢版2018/04/05(木) 17:05:15.57ID:/xlIKS6Q
傾斜SW+315MHz送受モジュール
モジュールはebayで\200位で売っている
電波法は知らん
0526774ワット発電中さん垢版2018/04/05(木) 17:06:45.11ID:/xlIKS6Q
315MHz送受モジュール
電波法気にするなら秋月で\3000弱出して買うが良い
0527774ワット発電中さん垢版2018/04/05(木) 17:23:52.53ID:ZquSMI1b
私もRS485だな。
そもそも >>486 で書いてある「LEDの点灯エラー」の解消と、
「複数のセンシングする」とか「Webで見たり、ログ取ったりする」は関係無い。
0528774ワット発電中さん垢版2018/04/05(木) 18:28:34.43ID:qMHs4RUc
>>527
たしかにそうだけど、それならまずエラーになる原因を調べるのが先じゃないかしらね?
それやらずに他のアプローチって時点で問題解決能力レベルがわかっちゃう
0529774ワット発電中さん垢版2018/04/06(金) 07:27:22.38ID:WybIpi81
そういえば、昔、
AC100Vを50Hzクロック源とする時計が進むので、
調べたら、同じコンセントから取っている冷凍庫のコンプレッサーがオン・オフするときに
カウントが進むことを発見した。
コンセントを分けるのは難しいので、
冷凍庫と時計にクランプ式のフェライトのノイズフィルターを入れたらかなり改善された。
家庭用のAC電源なんてノイズだらけなんだろうな。
0532774ワット発電中さん垢版2018/04/06(金) 10:28:40.36ID:iIJmlYRN
>>529
無線の屋外運用で、AC100V発電機で動かしたら、時間がめちゃくちゃになったことはある
0533774ワット発電中さん垢版2018/04/06(金) 10:48:05.77ID:j9l/tBNc
>>530 >>531
オン/オフ時に火花が飛んで(もちろん設計が悪い)バーストノイズが発生すると、数十回分のパルスになってしまう。クランプ式フェライトコアで改善されるほどの高い周波数成分が影響してたんなら時計の方も設計不良だな。
0535774ワット発電中さん垢版2018/04/06(金) 12:49:46.29ID:azkaje/D
昔、会社の先輩に八丈でどうも時計が狂うから調べたら島内に発電所が1箇所でそこの周波数が狂ってたって聞いた
0536529垢版2018/04/06(金) 14:47:01.52ID:WybIpi81
オシロで見ていると、コンプレッサーがオンすると時計のAC電源ラインにノイズが乗る。
誤差は半月で数秒程度で、時計の電源を別のコンセントから取るとOK。
ノイズは時計の電源回路経由で回り込んでいるのか?
それとも、私が設計した時計用クロック・パルス検出回路がマズイのかな?
https://i.imgur.com/S9ywsye.jpg
飽きたし、きちんとは原因を究明せずに「結果オーライ」で放ったらかしだけど、
趣味の電子工作なので笑って許してw
7、8年前に作ったが、今は半年に1回ほど気が付いたときに、
誤差(1、2秒程度)を修正している。
0539774ワット発電中さん垢版2018/04/06(金) 16:59:06.74ID:eEJkXOVU
連発しちまった。

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

冷凍庫のオンオフが原因ならもっと激しく進む気がする。
0540774ワット発電中さん垢版2018/04/06(金) 17:45:26.28ID:3P9ao4FP
毎回綺麗に同じノイズが出るわけでもない
今なら高調波とか規制されているから少しは(まともな機器なら)
綺麗なのかな
いや、電灯線モデムPLC使っている友人は、ご飯炊く時間に決まって
回線速度が落ちるとかなんとか・・・
0542774ワット発電中さん垢版2018/04/06(金) 20:07:41.40ID:JJ4NVrT8
そんなにPICに拘る必要ある?
0544774ワット発電中さん垢版2018/04/07(土) 01:28:51.70ID:7CUPM1RK
>>536
なんで入力側にツェナー使ってるの?
普通のdiでいいじゃない。

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

ツェナーはなんでなんだろな。このツェナーのカソード→アノードに電流が流れだす
ときには、すでにLEDは断線しているような気がする。
0547774ワット発電中さん垢版2018/04/07(土) 10:31:52.24ID:Kn/1zUG/
>>546
よね、と言われても…
ここでLEDを使うメリットって何なんでしょ。
あえて言えば、そこに通電していることのインジケータにもなる、ということですかね。
たいていは小信号シリコンダイオードよりも高価だし、
透明プライスチックパッケージは、実装時にちょっと注意が必要だし。
0549774ワット発電中さん垢版2018/04/07(土) 15:24:49.08ID:Jl5WvPpL
>>544
ツェナーダイオードにしたのは、ノイズやサージが入ってきたときの
LEDにかかる過渡的な順方向電圧を制限するため。

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

なお、一つ思い出した事があり、製作後に追加したノイズ対策として、
トランス式のAC100Vアダプタから整流ダイオードと電解コンデンサを取り外してAC出力に変更し
交流パルス源とした。(入力側の47KΩの抵抗も変更)
0550774ワット発電中さん垢版2018/04/07(土) 17:56:10.08ID:phgeUKmM
>>549
>ノイズ対策はソフトでやる、というのが私の基本的な設計方針

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

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

スイッチ類のゆっくりなチャタはソフトで複数回サンプリング
0553774ワット発電中さん垢版2018/04/07(土) 19:00:36.73ID:ZPuIbcZc
>>549
>ツェナーダイオードにしたのは、ノイズやサージが入ってきたときの
>LEDにかかる過渡的な順方向電圧を制限するため。

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

答え
10kV
0561774ワット発電中さん垢版2018/04/07(土) 21:46:38.29ID:CjnUn2kP
>>559
そう。PC に WAV で録音して散々デバッグしたのでありますが、
御多分に漏れず、PC からの音声だと上手く時報を検出するように
なっても、ラジオからだとうまく検出しないとかでもはまりました。
0562774ワット発電中さん垢版2018/04/07(土) 22:42:41.67ID:NI1iOt9p
40/60khz デコードしたほうが正確じゃないか?
0563774ワット発電中さん垢版2018/04/08(日) 00:20:32.76ID:mERxy63L
一応以下の理由
・40/60kHzはコイルが面倒(というか設計ができない)
・40/60kHzが長期停波しても受信可能
・日時などの情報も得られるようだが面倒くさそう
・40/60kHzより部屋の奥まで電波が届く(場合もある?)
・正確さにそんな大差はないんじゃないか?
・時報の音声信号を 8pin PIC のソフト処理のみで検出できるか作ってみたかった
0564774ワット発電中さん垢版2018/04/08(日) 02:20:09.18ID:fCv0/IQ8
GPSはUSRT使ってASCIIコードで受けられるからJJYと比べたら超簡単。
JJYみたいに停波もないしね。
軍事衛星だから有事の時はどうなるか知らんが。
0565774ワット発電中さん垢版2018/04/08(日) 03:13:06.84ID:DXsu+Ji/
>>559
録音機のワウフラッターが悪いと、テストにならないよ
0566774ワット発電中さん垢版2018/04/08(日) 03:16:17.63ID:DXsu+Ji/
>>561
ラジオのイヤホンジャックから取り出すときは、ダミー負荷抵抗を付けて。
トランスでコモンを切るればばっちりだと思うけど、何にくろうしたの?
0567774ワット発電中さん垢版2018/04/08(日) 08:53:46.83ID:uYP1OeIr
AMラジオの帯域すべての周波数を直接サンプリングして時報検出する時代だろ?
0568774ワット発電中さん垢版2018/04/08(日) 11:48:58.19ID:Fw0M/EVb
>>567
帯域すべての周波数をサンプリングして、って書くあたりが
理屈分からず書いている感がよく出ていて微笑ましい。
0569774ワット発電中さん垢版2018/04/08(日) 12:43:50.81ID:uYP1OeIr
えっ?ダイレクトサンプリングしたSDR知らないわけじゃないよね?
日本語での表現はともかくとして。
0571774ワット発電中さん垢版2018/04/08(日) 14:32:57.64ID:mERxy63L
>>566
ラジオの電源の GND (BAT-) とイヤホンジャックの GND に少し電位差が
あったが、それは抵抗でごまかして、トランス不使用。
それと、ラジオの電源を入れたままイヤホンジャックに PIC のアナログイン
をつなぐとうまく動くが、ラジオの電源を切って入れなおすとうまく動かない
だったけ。ご指摘の通りイヤホンジャックにダミー抵抗負荷付けて解決。

>>567
DSPラジオのご時世その通りなのだが、8bit PIC 君では歯が立ちませぬ。
0572774ワット発電中さん垢版2018/04/08(日) 14:38:01.31ID:mERxy63L
>>565
時報の周波数は±10% くらいで検出してるから、±1% くらいのワウフラッターはものともしないはず。
0574774ワット発電中さん垢版2018/04/08(日) 15:22:18.68ID:ZrU6ShvQ
>>569
「周波数」はサンプリング対象じゃないよね
帯域内の信号はサンプリングするけどさ。
0576774ワット発電中さん垢版2018/04/08(日) 17:24:38.06ID:r9HoWyO3
放送波がいろいろな周波数を持つことは話の前提であっていいわけだから、

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



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

と、普通は解釈できるよね…
そうじゃない解釈で書き手が書いていると、真面目に考えてるのかな?
0577774ワット発電中さん垢版2018/04/08(日) 18:06:10.52ID:E42MZBne
残念だが
このお粗末な書き方じゃ
文句言われても仕方ない。
高電圧が流れる。と同程度だな。
0578774ワット発電中さん垢版2018/04/08(日) 20:28:16.52ID:98rgoEX5
526.5kHz〜1606.5kHzか・・・
頑張れば丸ごと録音(記録)できそうだな
0584774ワット発電中さん垢版2018/04/09(月) 07:15:39.08ID:AIvx1r+L
日本語読解力のある俺は>>567,>>572の書き方で問題ない
わからん奴は下らん煽りだけしてないで黙っとけば?
0585774ワット発電中さん垢版2018/04/09(月) 09:29:39.48ID:x0KpgzpJ
ある専門分野の人間は、その分野でありえない言葉が使われると敏感に反応する。
高電圧が流れると言った時、電気分野外の人達は普通に解釈し何が問題か理解しないだろう。
それと同じ。
0586774ワット発電中さん垢版2018/04/09(月) 09:40:47.30ID:L2xSUsvJ
お客さんやユーザが、高電圧が流れるとか言ったときに、本当にマジ顔で突っ込むやつがいるんだよ
しかも上司の横で。
またはじめやがったとかみんな下向いてニヤニヤしてるのに気がつかず得意顔
0587774ワット発電中さん垢版2018/04/09(月) 10:40:55.25ID:XeOsE7+A
意味/意図を汲み取れないという典型的なアスペだな
或いはただの悪ふざけ
或いはただの馬鹿
0591774ワット発電中さん垢版2018/04/10(火) 09:30:33.27ID:v8/o3Xig
>>157
技術系専門板では、専門用語の誤用に日本語読解力云々で開き直らず、素直に直せば良い。
0599774ワット発電中さん垢版2018/04/12(木) 07:17:50.93ID:5+P+2lPb
エラッタを回避出来ない技術力
0600774ワット発電中さん垢版2018/04/12(木) 08:14:59.33ID:01/JTKj4
せめてこれから出すやつのエラッタをどうにかしろ

あとエラッタのせいで使えない機能や性能をスペックとして語るな
詐欺だ
0601774ワット発電中さん垢版2018/04/12(木) 08:29:00.82ID:mKg+ZsUJ
影響がほとんどない、問題ないって判断だろ
設計やり直すとものすごい開発費かかるし
マイナーチェンジするだけのキャッシュカウに金は使えんだろ
0603774ワット発電中さん垢版2018/04/12(木) 09:22:19.70ID:mKg+ZsUJ
損失を被ったならこんなところに書いてないで訴えればいいのでは?
0604774ワット発電中さん垢版2018/04/12(木) 10:01:40.55ID:x5CN6QBn
日本の裁判所は請求額を値切るのが仕事みたいになってるけど
懲罰的損害賠償が認められてるアメリカで訴訟起こせば何億とか取れる
かも知れないね。
0606774ワット発電中さん垢版2018/04/12(木) 10:07:25.26ID:5+P+2lPb
エラッタって何度も叫んでるの、1人なんだろうけど、
「わぁ、また相手してもらえたぁ!」的気分なの?
0607774ワット発電中さん垢版2018/04/12(木) 10:16:58.08ID:X6CNCLkr
USARTのエラッタなんて発現する使い方自体がセンス無いガキの使い方だし
0612774ワット発電中さん垢版2018/04/12(木) 13:00:11.23ID:5+P+2lPb
いくら酷くても、初心者スレでする話じゃないな。
0613774ワット発電中さん垢版2018/04/12(木) 13:53:38.97ID:cqZr1bHJ
USART なんてそもそも通信でエラーを起こすもの。
初心者から脱却して、ECC や リトライ を勉強しましょう
という試練かもな
0614774ワット発電中さん垢版2018/04/12(木) 16:39:42.48ID:r5AKB01G
初心者にもエラッタの存在を教えておかないと

>>613
顧客に「マイコンのバグなんで」って言うのかね?
アホですね
0615774ワット発電中さん垢版2018/04/12(木) 16:55:46.55ID:fcrygF4J
プログラムがチャント動かないのは自分のバグか?
それともPUのエラッタか?なんて悩むのはツライな
0616774ワット発電中さん垢版2018/04/12(木) 17:00:22.51ID:fcrygF4J
ごめんよ、PU → CPU
パワーユニットではありません、セントラルプロセッシングユニットです
0617774ワット発電中さん垢版2018/04/12(木) 17:06:08.77ID:fcrygF4J
システム不調の原因がハードかソフトか切り分けられるだけでも追及の難易度がぐっと下がるのに。
0618774ワット発電中さん垢版2018/04/12(木) 18:52:35.26ID:01/JTKj4
ハードブロックがハングする問題が
ECCやリトライでなんとかなるとおもってる馬鹿がいるようだな
0619774ワット発電中さん垢版2018/04/12(木) 20:00:36.57ID:5+P+2lPb
誰もテメー固有の問題なんかに興味ないから前提知らなくて当たり前
0621774ワット発電中さん垢版2018/04/13(金) 07:23:22.98ID:2p+SQdE6
万一未知のエラッタに当ったとしてもそこから仕様通りの動作に持ってくのが本当の技術力
ココで延々グダってんのは下の下。
0622774ワット発電中さん垢版2018/04/13(金) 07:30:22.12ID:B5cz3KH9
万一って率じゃないですねPICの場合
日常です
万一なんて言ってるのはまともに評価したことが無い証拠です
発見しやすいエラッタしか無いと思ってる所も初心者丸出しですね
0625774ワット発電中さん垢版2018/04/13(金) 08:01:46.35ID:QqX8JsEj
>>622
じゃあ使わなければいいとしか言いようがない
Microchipに直させることができないなら、切ればいいだけ
マイコンは他にもあるし、選択権は自分にあるんだから
0627774ワット発電中さん垢版2018/04/13(金) 08:37:27.97ID:Qtzcf6RO
欠点がまったくないものだけを使ってればいいんじゃないかな?
お前の人生と同じだよ
0628774ワット発電中さん垢版2018/04/13(金) 09:32:03.99ID:TSN/HnWJ
「PICはエラッタが多い」
「エラッタが嫌な人はPICを使うな」
これだけ
0629774ワット発電中さん垢版2018/04/13(金) 15:26:52.92ID:Jq9YZFah
主イエス「Errataの存在しないマイコン信者だけが、まずPICに石を投げなさい」
0630774ワット発電中さん垢版2018/04/13(金) 15:55:34.02ID:BEXThcEr
エラッタが発生するのは、ある程度は仕方が無いことだと思うけど、
分らないのは
 なんでマイクロチップテクノロジのCPUにはエラッタが多いのか?
 なんでマイクロチップテクノロジはCPUのエラッタを放置するのか?

技術陣がアホで経営者が無責任野郎だから?
0631774ワット発電中さん垢版2018/04/13(金) 16:44:34.44ID:2pMj0I34
それでも売り上げ落ちないからじゃね
無責任だとは思うが
errataになっちゃえばある意味仕様だからな
昔インテルがバグで交換したけど
そんなことにはならないように予防線張ってるだろうし
0632774ワット発電中さん垢版2018/04/13(金) 18:50:13.93ID:Ceyaz2lL
「課長、PICのエラッタのせいで納期間に合いません!」なんて報告受けたらお前どうすんの?
「何とか回避しろ!」としか言わんよな。
その程度の事を何ヶ月も顔真っ赤っかにして書き続けるとか、余程の狂人
0634774ワット発電中さん垢版2018/04/13(金) 20:53:55.25ID:Jq9YZFah
トラブル起きてから泥縄式に調査するのはレベル低い
枯れたデバイスを選びエラッタ読み込んでから開発に着手するのがプロの姿
0636774ワット発電中さん垢版2018/04/13(金) 21:20:26.41ID:BEXThcEr
>>631 それでも売り上げ落ちないからじゃね
なぁるほど、たとえエラッタが多くて未修正でも、
PICはそんな欠点なんか問題にしないほど沢山売れ続ける、魅力的な素晴らしいCPUだからか。
技術陣も経営者も大したもんだ。
アトメルも少しは見習えば良かったのに。
(世の中、バカばっかり)w
0637774ワット発電中さん垢版2018/04/13(金) 22:29:37.24ID:dwX17wuu
>>631
社会を知らない奴だな
代理店経由で大手顧客にしかエラッタを教えないデバイスがほとんどだ。
マイクロチップは多く公開してくれているだけ。
0638774ワット発電中さん垢版2018/04/13(金) 22:31:10.41ID:dwX17wuu
>>632
お前が係長以下だということは良くわかった。
課長以上になることもないだろうとも思う。
0639774ワット発電中さん垢版2018/04/14(土) 03:32:26.19ID:Lj0R5/ZJ
そもそもエラッタ君の言ってるUARTのエラッタって、本来割り込み後に割り込み要因確認のために読むべきフラグを
ポーリングでブン回して読んだらタイミングが1クロック早かったってだけの事
要は使い方が悪いからおかしな事になってるだけなので、そりゃメーカも放置するわな

そういうエラッタがあるとわかってて、どうしてもポーリングで読みたきゃ、1クロックずれるだけってわかってんだから
フラグ確認後NOP一つ入れれば回避できる
何年も執着して掲示板荒らすネタにするようなもんじゃない
0641774ワット発電中さん垢版2018/04/14(土) 06:04:43.72ID:2o9L7hJs
使った事が無い
まともに評価検証したことが無い

という自己紹介?
0644774ワット発電中さん垢版2018/04/14(土) 07:08:08.18ID:gAWXjnUa
最適化全面オフにすればMCCも使える。
以前、MCCでTMR0を16ビットにしたら上位が正しくセットされなかった。
0645774ワット発電中さん垢版2018/04/14(土) 07:08:23.92ID:E4Vg1Xg4
世間的に製品出荷を止めるぐらいに重大とみなされるエラッタなら製品出荷を止めてる、という当たり前の話。
重大な問題のために使い物にならないなどと言うが、それがずっと流通していることについての説明ができていない謎。せいぜいが「使う奴がバカ」だとか。
多いとか少ないという相対的表現を、比較対象もエビデンスもなしに使うのは論理的ではない、という基本。
0647774ワット発電中さん垢版2018/04/14(土) 07:11:50.19ID:E4Vg1Xg4
チップ固有の問題が存在する場合、回避方法を議論する方が前向きですね。
0649774ワット発電中さん垢版2018/04/14(土) 07:19:25.90ID:E4Vg1Xg4
>>648
100%の人が協力的でなければ議論できない、と思うなら、5chで議論なんかできませんよ。
あなたには向いてないんじゃないですか?
0650774ワット発電中さん垢版2018/04/14(土) 07:19:55.24ID:2o9L7hJs
エラッタを報告しても
「ソフトのバグ」
「使い方が悪い」
という感じなので

一時期ここでも話題になったUARTの問題も>>639のような謝った認識の人が多いようです
意図的なミスリードかもしれません
0652774ワット発電中さん垢版2018/04/14(土) 07:27:02.54ID:A2JSJwgd
UART送信ダブリのエラッタはPIC専用スレPart54-252で回避できるんやから
蒸し返さんでもええやろ
0653774ワット発電中さん垢版2018/04/14(土) 07:28:17.66ID:gAWXjnUa
同じPIC系統で今まで問題なかったが、エラッタのために異常動作したコードを披露するとかやってよ。
0654774ワット発電中さん垢版2018/04/14(土) 07:33:30.99ID:E4Vg1Xg4
>>650
>エラッタを報告しても
一般論ですが、ソースコードの開示と動作の説明をしないと意味ないですね。
0656774ワット発電中さん垢版2018/04/14(土) 07:35:31.75ID:E4Vg1Xg4
>>651
>そういうレベルのスレです
なんて諦めたような見方をするぐらいなら、あなたがここにいる意味はないと思います。
0658774ワット発電中さん垢版2018/04/14(土) 07:39:37.14ID:gAWXjnUa
RX使っているけど、こいつもエラッタが結構です。
エラッタ回避のコードで対処するが、エラッタが修正されても何時生産ラインに紛れ込むかも知れないので回避コードのままだわ。
0661774ワット発電中さん垢版2018/04/14(土) 07:46:12.41ID:E4Vg1Xg4
>>657
1個目のレスでソースなしで「エラッタがある」はともかく、
それに対する応答として「ソース出せよ」のリクエストがあれば、その時点でソースを出すフェーズです。

そうでなければ掲示板で議論もできないですし、
ソースを出すつもりもないなら、デマと区別もできなくなる恐れのある掲示板に正当なエラッタ報告をする意味が薄くなります。
デマと区別ができるのは、第三者検証が可能なようにすることができてこそです。
0662774ワット発電中さん垢版2018/04/14(土) 07:48:30.87ID:E4Vg1Xg4
>>660
え? そうなんですか?
>>659のリンク先は普通にブラウザで見えてますが。
0663774ワット発電中さん垢版2018/04/14(土) 07:48:34.29ID:A2JSJwgd
文章だけだと判りにくいのでUART内部構造図と合わせて読むと理解しやすい
0664774ワット発電中さん垢版2018/04/14(土) 07:49:30.45ID:2o9L7hJs
>>659
あ、見れました
読めばわかるけど割り込みを使えないということですよ
使い方が大きく限定されます

業務コードでUARTをポーリングなんて普通しませんので
0666774ワット発電中さん垢版2018/04/14(土) 07:55:26.30ID:E4Vg1Xg4
>>665
ぐるぐる回るな。

いつも具体例を出して議論をしましょう、って話なんですよ。
ソースコードが出てきているから、>>659のリンク先の議論もあとから評価もできるわけです。
0668774ワット発電中さん垢版2018/04/14(土) 07:57:58.08ID:gAWXjnUa
心配になったけど普通に送信割り込み使っていれば関係ないのね。
良かったわ。
0669774ワット発電中さん垢版2018/04/14(土) 08:05:45.17ID:2o9L7hJs
結局情報が上がってもこういうミスリードする人のせいで間違った情報に化けるんです
0671774ワット発電中さん垢版2018/04/14(土) 08:28:20.41ID:7QXlYNNg
>>669
掲示板でやれば不特定多数、玉石混淆なんで
意図するしないにかかわらずそりゃミスリードは発生するわ
自分でブログでもPDFでも何でもいいから文書にまとめて発表したら?
0672774ワット発電中さん垢版2018/04/14(土) 08:38:35.87ID:2o9L7hJs
UARTはまだマシですが
EFのI2Cは全く使い物になりませんね
皆さん気を付けましょう
0673774ワット発電中さん垢版2018/04/14(土) 09:07:22.06ID:7QXlYNNg
結局なんやかんや言ってるが自分の方が議論したりまともな情報を発信する気はないということだな
意図はわかったからNGにするわ
0674774ワット発電中さん垢版2018/04/14(土) 09:11:31.01ID:E4Vg1Xg4
>>672
>EFのI2Cは全く使い物になりませんね
ソースコードを出してください。有意義な話にしましょう。
0677774ワット発電中さん垢版2018/04/14(土) 10:10:36.34ID:2o9L7hJs
>>673
まともに聞く気が無い人に発信しても無駄
と言うことは今までの流れでもわかるでしょう
0678774ワット発電中さん垢版2018/04/14(土) 10:13:01.97ID:2o9L7hJs
本当に知りたいならそれ相応の態度で

まあ私なんかに聞かずにMicrochipや代理店に聞く方が良いとは思いますが
0681774ワット発電中さん垢版2018/04/14(土) 18:19:58.60ID:gAWXjnUa
>>670
そこ詳しく知りたいです。
割り込み発生でTXREGにライトした時点で二重送信になるの?
0682774ワット発電中さん垢版2018/04/14(土) 19:06:17.65ID:A2JSJwgd
>>681
TXIFで割込後にTXREG書くとごく稀にダブってしまう…
割込ルーチン入ったら1バイト送信時間分NOP()を並べるという対処療法で凌いだ
0683774ワット発電中さん垢版2018/04/14(土) 19:42:10.56ID:Pse3g9Ae
>1バイト送信時間分NOP()を並べる
これは酷い
タイマー使ってポーリングのほうがマシだな
タイマーが空いていればだが
0685774ワット発電中さん垢版2018/04/15(日) 00:14:27.18ID:70mkBdEy
>>681
TXREGに書いた時点で2重に書かれる
2重に書かれるかどうかは完全にタイミング依存
割り込みかどうかは関係無い
0686774ワット発電中さん垢版2018/04/15(日) 00:31:44.00ID:70mkBdEy
問題が発生するのは非常にシビアなタイミングであり
1命令サイクルでもズレれば問題は発生しないが
これを回避するのは難しく
何かしらを犠牲にする必要がある

何も犠牲にせずに簡単に回避出来ると主張する書き込みもあるが
その具体的方法について語られたとこは無い
0689774ワット発電中さん垢版2018/04/15(日) 07:10:52.56ID:nAVDJ7aP
報告があったのはPIC16F1459, PIC16F1454, PIC16F18313 だけど
PIC16Fで1で始まるもの全部という認識じゃなかったか
0691774ワット発電中さん垢版2018/04/15(日) 08:56:21.29ID:nF4p1deg
>>682
これってハードの設計ミスでしょ。
ホビーとしては許容できても産業用には信頼性が低くて使えないな。
0694774ワット発電中さん垢版2018/04/15(日) 09:05:16.52ID:4MvPGSR+
>>691
産業用ルネRL78でもSPI通信に爆弾抱えてるのだけど
代理店とやりとりして不具合回避して使った経験あるから
そんなもんだと諦めて使えばよろし
0697774ワット発電中さん垢版2018/04/15(日) 09:22:47.77ID:9SCRcghf
十年以上前にEMC試験やったことあるけどPIC16は優秀だったなー
他社8bitマイコンを最高クロックでぶん回すとノイズ撒き散らしてラジオ聴こえなくなったり
movaケータイ接近させるとレジスタ化けたり暴走したりとかあった
一方でPIC16は余裕で試験クリアしてた
0699774ワット発電中さん垢版2018/04/15(日) 10:10:22.66ID:nF4p1deg
>>694
ヘーッ、そうなんだ。
そう言うのは次のロットから回路パターンが修正されてるとかは無いの?
0704774ワット発電中さん垢版2018/04/15(日) 13:08:32.53ID:gtNWIpDy
PIC32MXですが、IOをHi → Lo → Hiとタイマーカウンターでウエイト
いれてパルスを作ってみたのですが、どれだけ早くできるか
ウエイトを徐々に小さくしてみましたところ。500nsecが最速でした。
10MHz(100nsec)くらいまでいけると思ったのですが・・。
0707774ワット発電中さん垢版2018/04/15(日) 14:34:50.09ID:UvYIgKYn
>>704
プログラムのスキルと仕様次第

LATAINVにセットし続ければ
コアクロックの半分の周波数まで出せる
0709774ワット発電中さん垢版2018/04/15(日) 14:41:19.42ID:nF4p1deg
>>704
500nsっていうことはパルスの極性反転に250nsでクロックが最大の40MHzだと処理に(250/25=)10クロックサイクルかかってることになるね。
I/O命令とタイマー割り込み処理だけだけど結構クロック使うんだ。
だからPICに限らずマイコンはPWMとかパルスジェネレータを内蔵してるのかな?
0710774ワット発電中さん垢版2018/04/15(日) 14:44:35.46ID:gtNWIpDy
>>707
oh...
そんなワザがあったのですね
実は、関数でSPIを作ろうと思っていまして、SCLK=10MHzくらいに出来ないか
チャレンジしておりました。wait_fast(1) = 500nsec
それ以前に↓だと、SCLKがLowに貼り付いたまま・・・
void SPI_Data(unsigned iData)
{
int iCnt1,iCnt2=0;
int iloop=0;
unsigned int iBuf[770];

SCLK = 0;
SDO = 0;
LAT = 1; //データラッチ
wait_fast(1);
LAT = 0;

//データ格納
//10進数を2bit -> 配列に格納
while(iData>0){
iBuf[iCnt1]=iData%2;
iData=iData/2;
iCnt1++; //配列カウンタ用
iloop++; //データ カウンタ用
}

iloop=iloop-1;

//データ出力
for(iCnt2=iloop;iCnt2>=0;iCnt2--){
SCLK = 0;
if(iBuf[iCnt2]==0){
SDO=0;
wait_fast(1);
SCLK = 1;
}
else{
SDO=1;
wait_fast(1);
SCLK = 1;
}
wait_fast(1);
}
SDO = 0;
SCLK = 0;
}
0711774ワット発電中さん垢版2018/04/15(日) 14:47:07.00ID:gtNWIpDy
>>709
有難うございます。
PIC32MX340F で80MHzですが、汎用IOが単に遅いだけだと思っていました
内部処理なのですね・・
0712774ワット発電中さん垢版2018/04/15(日) 15:10:22.56ID:UvYIgKYn
割り込みで10クロック周期の処理なんて不可能
だから>>704は当然ISRによるポート処理ではないはず

もっとも、
なぜ40MHzが最大だと思ったのかもわからず、
80MHzで動作していて500nsが1回の処理の時間であれば40クロックですので
ギリ可能な感じ
0714774ワット発電中さん垢版2018/04/15(日) 15:14:22.34ID:PQIS7LIE
>>275
まぁ電子天秤の出力フォーマットは全部似たり寄ったりだからね
1個作れば他の天秤でも使える
安い優先ならPICKIT3(互換機)を海外通販で
でなければPICKIT4

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

ArduinoやRasberryPiでもいいし
早く始めた方が、仕事が早く楽になると思うよ
0715774ワット発電中さん垢版2018/04/15(日) 15:19:04.43ID:UvYIgKYn
>>710
そういう低レベルな処理の最適化は得意
色々とアドバイス出来ると思います

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

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

ソースが間違いまくってました。
unsigned iData -> unsigned int iData
int iCnt1,iCnt2=0; -> int iCnt1=0;
int iCnt2=0;
>>712
勉強になります
0717774ワット発電中さん垢版2018/04/15(日) 15:28:43.77ID:gtNWIpDy
>>715
>wait_fastは関数?
はい。
Timer1をカウントしてます。
iwaitの係数は"8"が限界でした。
周辺クロックは80MHz = 12.5nsecなので、計算上は12.5nsec x 8 = 100nsec
ですが、限界の500nsecになります。

void wait_fast(unsigned int iwait)
{
unsigned int val = iwait * 8;
TMR1 = 0;
while ( TMR1 < val){}
}

>あとはループアンロールなど基本的な最適化技術を学びましょう
・・・難しそうですね・
>最終的にはアセンブラ化ですかね
インラインアセンブラでしょうか?
0719774ワット発電中さん垢版2018/04/15(日) 15:41:22.06ID:UvYIgKYn
>>718
(暇なときに書いて)

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

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

そもそも何でPIC32MXのSPIの機能を使わない?
数が足りない?
端子を変えたい?
単に勉強用?
0721774ワット発電中さん垢版2018/04/15(日) 15:53:03.26ID:nF4p1deg
>>711>>712
ごめんなさい。
PICのことはよく知らず>>1にあるMicrochip社のホームページにあるチップの一覧表で最初に出てきたPIC32の仕様から40MHzを引っ張ってきてしまいました。
それにしてもポート反転処理に20クロックサイクルもかかるとは、規模が大きくなるとマイクロ命令を使ったハード処理が多いからなんだろうか?
0724774ワット発電中さん垢版2018/04/15(日) 17:15:35.63ID:PQIS7LIE
xc8の無償版
数ヶ月経つとアセンブラ命令書いたら最適化されないと聞いたけど本当でしょうか?
sleep命令の後にNOP入れたいんだけど、本当の話なら困る
0725774ワット発電中さん垢版2018/04/15(日) 17:21:22.76ID:UvYIgKYn
インライン?
インラインアセンブラによってコンパイラの最適化が阻害されるのはごく普通のこと
影響があるのはせいぜい関数内とか近い部分だけだよ
インラインアセンブラを使う使わないに関わらず
無償版は最適化に制限がある
お金があってパフォーマンスが重要であれば
有料版を買いましょう

個人ならより速いマイコンを選ぶ方が良いでしょう
0727774ワット発電中さん垢版2018/04/15(日) 18:23:44.20ID:nF4p1deg
>>722
C言語だからコンパイラのオーバーヘッドがあるっていう意味?
確かにそうだけどコードがシンプルだから最適化すればかなりコンパクトになるかと思って。。。
すみません。
0728724垢版2018/04/15(日) 19:03:35.28ID:PQIS7LIE
すみません
未だにMPLABのアセンブルの見方が分からなくて・・・サイズしか判断できません
NOP入れるとサイズが倍になるので困ったなと
NOPぐらいは最適化して欲しいなー
0730724垢版2018/04/15(日) 22:16:39.73ID:PQIS7LIE
シンプルに
sleep();
nop();

asm("nop");ではありません
0732774ワット発電中さん垢版2018/04/15(日) 22:51:05.18ID:UvYIgKYn
>>727
処理内容は見たの?
関数を2回呼んで、
その中でタイマー待ちをしたりしてるんだけど
そんなにシンプルか?

じゃあ逆に8bitだとどれくらいだと思った?
パッと見で
0733774ワット発電中さん垢版2018/04/15(日) 22:56:42.64ID:UvYIgKYn
>>730
それを「アセンブラ命令を書く」というのか...

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

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

試したければ最適化の設定を1にしてみれば良い
そもそも今は3になってる?
0734774ワット発電中さん垢版2018/04/16(月) 10:19:30.00ID:bHGBT4CK
>>721
8bit (PIC16F18326)と32bit の処理時間を比べてみました

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

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

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

ちなみに、
純粋にCPUの処理時間を比べるために
タイマーの待ち時間はゼロにしました
それ以外は>>710 >>716 >>717 のままです
0736774ワット発電中さん垢版2018/04/16(月) 12:49:49.60ID:bHGBT4CK
32bitでアセンブラでガシガシに組んだら
1ビット平均4.5クロックくらいになりました

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

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

非常識なコードまで含めれば
最短、2クロック + オーバーヘッド
になります
0737774ワット発電中さん垢版2018/04/16(月) 13:06:20.36ID:bHGBT4CK
>>710
もういないかもしれませんが

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

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

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

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

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

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

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

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

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

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

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

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

質問の答えになってます?
0749774ワット発電中さん垢版2018/04/17(火) 11:53:34.83ID:8TfpW1tm
一から作るのか先人の作例を真似するのかにもよるが
未経験者には結構ハードルが高いと思う
できればもう少し段階を踏む方がよいのだが
0751774ワット発電中さん垢版2018/04/17(火) 12:09:13.23ID:HqfpJ3h1
>>746
結果だけ有れば良いという事なら18F2550の作例を何から何まで提供しますがw
0755774ワット発電中さん垢版2018/04/17(火) 13:49:29.76ID:UygcwN2x
1.キーボードを買ってくる
2.分解する
3.観察する
4.デバイス外す
5.目的のスイッチと配線する
6.楽しむ
0756774ワット発電中さん垢版2018/04/17(火) 18:45:27.18ID:sEDHFZ0m
>>747 >>748さん
>USBシリアル変換だとPC側からキーボードとして認識しない
>PIC16F1454などUSB機能の付いたマイコンを使いましょう
なるほど、勉強になります
USB内臓PICでUSB機器として作るとなると、
USBフレームワークとかHIDクラスとか難しそうだったのと、
仮想COM接続でシリアル通信するのが簡単という意見を読んだので、
USBシリアル変換モジュール(FT232RL USBシリアル変換モジュール)を使えば良いのかなと思ってました
でも、実はUSBミニBコネクタ付きのPIC18F2550のマイコンボードも発注済みなので色々努力してみようと思います

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

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

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

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

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

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

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

ご厚意に甘えてばかりですみません
ご面倒なら無視して下さって結構です
0761774ワット発電中さん垢版2018/04/18(水) 12:50:08.47ID:PdCqULGe
>>759
あなたの現在のスキルとその理由なら、買った本を埋没費用としても、今からでも遅くないから、PICと同時平行でpromicroもやってごらん。

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

ArduinoよりPICを選ぶ場面は今後出てくるから適材適所だと思うから買った本は無駄にならないとは思うけど。
0762774ワット発電中さん垢版2018/04/18(水) 12:56:15.76ID:SjXGraP6
>>736
非常識と思ったコードの方、
実用の可能性は無いかと思ったけど可能性ありそう

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

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

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

CPU時間だけでいうと平均2.7クロックで1bit送信出来る
0763774ワット発電中さん垢版2018/04/18(水) 18:29:38.22ID:SjXGraP6
トータル処理量よりもバス占有時間を縮めたいなら
送信するコードをRAMに展開する手も
1ビット送信に2命令8バイト使うので1回で送るデータ量は限られるけど
1ビット送信時間は2クロックに近づく
0764774ワット発電中さん垢版2018/04/19(木) 01:32:48.73ID:oU6HpH/T
NYTから
チェコでも人手不足でロボット化を推進
Robots Ride to the Rescue Where Workers Can’t Be Found
https://www.nytimes.com/2018/04/16/business/labor-robots-jobs-eastern-europe.html

Zbynek Frolik氏が、急激な受注を処理するために新しい従業員を必要としたとき、彼はチェコ中に
広告を出しました。しかし、応募してくる人はほとんどいませんでした。賃金を引き上げても、住宅補助を
だしても同じでした。そこで彼はロボットに目をつけた。
「十分な人間を見つけることはできないので、私たちはできる限り人と機械を入れ替えようとしています」
と、100以上の国々で最先端の病院用ベッドを販売しているFrolik氏は言う

東ヨーロッパでは、労働者不足の解決策としてロボットが採用されています。 チェコ共和国、ハンガリー、
スロバキア、ポーランドの企業が機敏かつ競争力を保つために、新しいタイプの雇用創出に役立っている。
近年、共産主義崩壊後の低コストの製造拠点となったこれらの国々の成長率は、世界的な回復に支
えられて5%となっています。

その中でチェコは郡をぬいていて、トヨタの車やデルの家電製品を生産するチェコ共和国の沸騰する
経済は失業率をわずか2.4%に下げ、欧州連合(EU)で最も低い。
しかし、人材の不足は、チェコ企業が拡大する能力をそいでおり、 チェコ連邦産業連合によると、ほぼ
3分の1の会社が注文を断りはじめている。
同社の会長のヤロスラフ・ハナック氏は、「これが成長にブレーキをかけるようになっている。もし企業が
ロボット化や人工知能を向上させなければ、彼らは姿を消すだろう」と言う。

労働コストも別の要因です。 東欧は多国籍企業を低賃金で誘致することで製造業の勢力となった。
しかし、その優位性は失われつつある。 チェコ共和国の月額平均給与は昨年8%増の1,400ドルで
した。 ドイツの3分の1ですが、今後も上昇すると予想されている。

そこで、企業は外国人労働者を増やすことが助けになると言います。 しかし、保守的な政府は
移民制限を続け、最近は外国人就労ビザに厳格な上限を設定した。
同様に、長期的に心配な傾向があります。 家族は、退職に向かう人々を置き換えるのに十分な
子どもを育てていません。
米国最大の自動車メーカーであるSkodaは、人口動態の変化や賃金圧力に直面するための
自動化を「大幅に加速すると」と言う。

中略

ロボットが人間の生計を助けるか脅かすかは、激しい論争を巻き起こしている。
批評家によると、将来の景気後退が起こると、労働者は苦しむというリスクがある。
「ロボットの電源を切って人を戻すことはできない」からだ、という。
チェコの組合は警告を発し「ビジネスリーダー、政治家、労働組合は、今後の産業革命に前向きに
責任を持って対応しなければ、雇用はさらに脅かされる可能性がある」と述べた。
今のところ、企業はロボット化が新しい仕事を生み出すと主張しているのだが。
0765774ワット発電中さん垢版2018/04/19(木) 05:14:23.76ID:kzHfxqAW
産業用ロボットに国際的競争力があるとかいう日本にとっては有利じゃん。
本当にそうなら、だけど。
0767774ワット発電中さん垢版2018/04/19(木) 07:36:34.19ID:nd3SRc9d
「人手不足」は、まあ結構多くシーンで「(安い賃金で文句を言わずに言われたことを正確にする)人手が不足」の意味だよな。
0769774ワット発電中さん垢版2018/04/19(木) 09:05:47.73ID:nd3SRc9d
PICを含めてマイコンは単純労働から人を追い出すことに貢献してきたんですよ。
0770774ワット発電中さん垢版2018/04/19(木) 10:29:34.46ID:3oyTkCU+
>>765
業界にいると分かるけど中国からの大量発注で今、日本のロボット業界は史上最高の好景気。
産業用が中心だが、ロボット製造メーカーだけじゃなく関連部品メーカーも。
パーツによっては1年待ち。
0771774ワット発電中さん垢版2018/04/19(木) 11:40:08.06ID:Md7rir1F
PICは即納だけどmurataのチップコンデンサが
納期38週間とか言われて新規量産着手できない状態
0774774ワット発電中さん垢版2018/04/19(木) 20:22:41.06ID:Md7rir1F
どのコンデンサメーカーも品薄だけど特に村田がヒドイ…
客にドヤされたmurata営業がTDKのセラコン持ってきたなんて噂話までまことしやかに囁かれる現実
0775774ワット発電中さん垢版2018/04/19(木) 20:50:05.03ID:uGiu7zA3
全社的にmurata -> 誘電 に移行の流れ
0776774ワット発電中さん垢版2018/04/19(木) 20:59:13.16ID:FhrgUwg4
少量生産だとdigikey辺りで代替品テキトーに買えばいいのだろうけど
量産だとそんなわけにはいかないのでしょうねぇ
0777777垢版2018/04/19(木) 21:01:17.81ID:IoZPQClm
777
0778774ワット発電中さん垢版2018/04/19(木) 22:34:02.01ID:FuNO6Xpy
コンデンサごときで量産止まるとか
そんなことがあるのか
特殊なコンデンサ?
0779774ワット発電中さん垢版2018/04/19(木) 23:20:12.77ID:nd3SRc9d
>>778
量産だと、たとえば製造用部品リストに
ごくあたりまえの 1608サイズ 25V 0.1uF 10% R特性 として、

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

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

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

誰も自分では責任を取りたくないから、弱いところに責任を押し付けるでしょう。
OKを出したエンジニアに道義的責任を押し付けて昇進・昇給機会を奪うぐらいならまだしも、
量産を請け負っている会社が提案して代替品に置き換えて問題が起きたら目も当てられないことがありますよ。
0790774ワット発電中さん垢版2018/04/20(金) 12:33:35.40ID:M80b+5Sh
そんな事言ってたらPICを使う初心者も癌には気を付けましょう
とか際限ない
0792774ワット発電中さん垢版2018/04/21(土) 07:29:25.10ID:52LYMKQ4
そもそも部品選定に気を使う初心者ならPICを選ばない可能性が・・・
0793774ワット発電中さん垢版2018/04/21(土) 08:36:08.95ID:afdvQDzl
意外とMicrochipは納期トラブル起こさないんだよな…
買収したAtmelとかはちょくちょくやらかしてたのに
0797774ワット発電中さん垢版2018/04/22(日) 17:01:32.04ID:7BGmE1tv
実装始める前にチラ見して自分の使い方に関係なければ放置。関係あったら回避するよう実装する。
それだけ。
0798774ワット発電中さん垢版2018/04/22(日) 17:20:59.84ID:1paPJSz9
記載されていないエラッタだったら?
自分のバグかCPUのエラッタか分らなかったら?
正攻法が使えなくて、裏口で遠回りでしか入れないとしたら?
初心者には使いづらいだろうな。

初心者はありふれた使い方しかしないとは思うけど、
いっそエラッタの心配をしなくても済むCPUを選んだ方がいいのではあるまいか。
0801774ワット発電中さん垢版2018/04/22(日) 18:10:37.14ID:+oSYvOd6
いろんな他社のマイコンやFPGAでもエラッタはあるのに
ちゃんと公開してる分まだいいでしょ
0802774ワット発電中さん垢版2018/04/22(日) 18:53:51.57ID:YIM4HVox
実装はじめる前に見ないと駄目ですよ
機能が全く使えないのもあるので

あと、記載されてないのもあるんで注意
0804774ワット発電中さん垢版2018/04/22(日) 21:04:58.12ID:YIM4HVox
機能が使えないのにスペックには機能を有するように書いてあるのはPIC位では?
ひどい会社だ
0805774ワット発電中さん垢版2018/04/22(日) 21:31:30.30ID:x9YQ/Dix
>>804
マニュアルに書いてある全機能が問題なく使えるメーカーっ具体的にどこですか?
0806774ワット発電中さん垢版2018/04/22(日) 21:45:22.60ID:YIM4HVox
PICしか使ってないと、
宣伝文句に嘘があるのは普通
だと思っちゃうのか
0809774ワット発電中さん垢版2018/04/22(日) 22:20:12.23ID:iosJSl1t
嫌なら使わなければいいだけ
エラッタあるのは皆知ってる
中にはデータシートに記載されていないものもあるだろう
それでも使いたい人は使うし嫌って使わない人もいる
君は後者なだけであって、それを否定するつもりはない

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

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

君はPICエラッタ信者w
0812774ワット発電中さん垢版2018/04/22(日) 22:54:12.80ID:NVvjNXFo
PICにエラッタがあるのは十分わかったので、
それ以上新しい情報がないならもう来なくていいです
0813774ワット発電中さん垢版2018/04/22(日) 22:57:17.48ID:/F8LOCIj
君がわかるだけじゃダメ
初めて君がわからないと

テンプレに載せれば良いと思う
良い点も悪い点も
0814774ワット発電中さん垢版2018/04/22(日) 22:59:34.78ID:NVvjNXFo
エラッタエラッタと連呼する粘着質では女にモテませんよ
くだらない書き込みをする暇があったら
その性格を少しでも直して外に出れば、彼女もできるかもしれませんね
0815774ワット発電中さん垢版2018/04/23(月) 01:40:13.80ID:qispF0Cu
NYTから
デジタルの世界へ進出するGE
”G.E. Makes a Sharp ‘Pivot’ on Digital”
https://www.nytimes.com/2018/04/19/business/ge-digital-ambitions.html

General Electric社より積極的にデジタル化の波をを受け入れた老舗の企業はないだろう。
G.Eのデジタル化の野望は、同族企業の内部にGE Digitalを設立した2015年に全面的に展示されました。
最高経営責任者のジェフリー・R・イメルト氏は、2020年までにG.E.が「トップ10のソフトウェア企業」になることを
大胆に宣言しました。
今日、そのような野心はありません。 GE Digitalの支出は、レイオフとG.E.の急激な縮小目標の下で縮小されている。
昨年8月に最高経営責任者に就任したジョン・フラナリー氏は11月、GEの経費を今年25%(約4億ドル)削減
すると発表した。彼はG.Eのデジタルイニシアティブは、同社にとっては「非常に重要」なので、もっと集中した戦略が
必要だと付け加えた。

G.E. は判断ミスにより、大きな発電事業の問題をかかえており、それが財務部門のGE Capitalにも負債に関する
不確実性が残している。さらに、 サウスウエスト航空の事故でフランスのサフランで作られたエンジンがどう関わったのか 、
調査結果に注目を集めている。
しかし、GE Digital社の再考は、あらためてデジタル技術を採用している現代の工業用ソフトウェアを製作することの
難しさを指摘している。

低コストのセンサーやデータの氾濫、コスト削減、燃料節約、より優れた製品設計のための洞察を提供すべき賢明な
ソフトウェアなど、いわゆる産業用インターネットの重要なビジョンについては誰も異論を唱えていない。しかし、同社は、
壮大なビジョンを達成するために必要なすべてのソフトウェアを作成するという課題を過小評価してしまった、と
元G.Eマネージャーは述べています。
G.E.の技術力は、発電所タービン、ジェットエンジン、医療用画像機器などの大型機械の設計と製造にあると述べて
います。伝統的なソフトウェアスキルは、機械や工場操作を制御する特殊なプログラムにあります。 GE Digitalは、
クラウドベースのインターネットソフトウェア、データ解析、機械学習などの人工知能ツールへの飛躍的な進出でした。

UBSのアナリスト、Steven Winoker は述べています。 「GEは専門外の世界にあまりにも速いスピードで
飛び込んでしまい、それは金銭的なブラックホールになった」と。
どれくらいのGE Digitalに投資しているかどうかは不明ですが、数十億ドルにもなるでしょう。 昨年のハーバード
ビジネスレビューの記事では、2016年に「分析ソフトウェアと機械学習能力の開発に約40億ドルを投入した」と
書いている。

中略

「今我々は、一生懸命努力をしてる。今にいい結果を出してみせる」とルー氏は語った。
Flannery氏は、G.E.のデジタル産業に対する支持を一貫して宣言していますが、GE Digitalの
未来を保証するものではありません。 Flannery氏は会社を合理化するために事業を売却している。
GE Digitalを売却するかもしれない。
一部のアナリストは、G.E.の独立系のデジタルユニットは必要ない。電力や航空のような産業部門のような
すべての顧客に近づけるようなソフトウェアを開発するよう推奨している。また、財務分析会社のメリウス・リサーチの
スコット・デイビス最高経営責任者は、「GE Digitalは存在すべきではない」と断言する。
0816774ワット発電中さん垢版2018/04/23(月) 04:41:12.67ID:nIJuatxM
良いじゃねえかエラッタ連呼はここしか活躍する場がないのだからおおめに見てやれよ。
0817774ワット発電中さん垢版2018/04/23(月) 07:09:14.81ID:qws5uQrl
PIC信者って哀れというか、ミジメというか、気持ち悪いというか、普通じゃ無いというか、
なんかもう表現する言葉が見つからないな。
これからもガンバって使い続けて下さい、期待していますw
0820774ワット発電中さん垢版2018/04/23(月) 08:21:55.31ID:QrgYmlPT
エラッタみたいな事ってすべての工業製品に共通の事だろ、
自動車や飛行機は人命に関わるからそれなりの扱いになってる
それだけ。
0825774ワット発電中さん垢版2018/04/23(月) 12:11:47.79ID:24xfnF8o
UARTエラッタ人ってずっと粘着してるの?
メーカーに問い合わせしないで?
ここでエラッタ粘着??
0826774ワット発電中さん垢版2018/04/23(月) 12:18:40.11ID:24xfnF8o
UART送信をTXIFで割込みかけて送信するなんて
しょっちゅう使っているんだけど
そんな送信がダブったなんて経験した事がないんだよな

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

それどころか英語版のこんなふうにできますよの使用方法すら日本語版にはデータがないので公開できませんって言われてて流石に同情した。
0830774ワット発電中さん垢版2018/04/23(月) 12:52:25.66ID:QrgYmlPT
つか他のデータシート全部英語なわけでマイコンだけ日本語にしてもらっても無意味。
0831774ワット発電中さん垢版2018/04/23(月) 13:00:20.21ID:jAF0VgmE
>>826
1人の書き込みだと思ってるのか?
少なくとも>>682 >>798は別の人

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

PICユーザーは動作検証しない
って言ってるようなものだ
0833774ワット発電中さん垢版2018/04/23(月) 14:12:52.98ID:Jm4vGESD
エラッタ知ってる大先生は他のCPUやらチップやらのスレでも
後進の指導にご尽力なさってるのかしら
0834774ワット発電中さん垢版2018/04/23(月) 14:29:03.65ID:7ylKcI55
>>828
STMは英語のサポートチームがサポートしてくれる分ましかな?
ADI社は英語の資料を見ろって言っておきながら英語の資料のデータが無いから教えられないとか言い出す。
しかも国内サポートがてんでばらばらだから御社の〇〇様にこういう感じでサポートして頂いたのですがっていう一連の流れを出さないと、みんな「そこAだから」みたいな一番最初の答えしかくれなかった
まあ5年位前だから改善しててほしいんだけど。

>>829
上司が気に入ってどうにかなる時は良いんだけど、
自分が気になるけど上司は興味無い時とか日本語資料ないと困るんだよね。
うちだけだと良いんだけど。
0836774ワット発電中さん垢版2018/04/23(月) 16:34:53.86ID:0GiMBSOH
>>826
PIC16F1574/5/8/9に対してはエラッタが出てるんだよ。
実際にはエンハンストミッドレンジ全部に関わっているはずなのに他の
ファミリーに対してはエラッタを出してないのが問題視されているところ。

PIC16(L)F1574/5/8/9 Family Silicon Errata and Data Sheet Clarification
http://ww1.microchip.com/downloads/en/DeviceDoc/80000642C.pdf
>1.1 Transmit Mode
>Under certain conditions, a byte written to the
>TXREG register can be transmitted twice. This
>happens when a byte is written to TXREG just as
>the TSR register becomes empty.
0840774ワット発電中さん垢版2018/04/23(月) 22:36:17.49ID:0GiMBSOH
>>839
そのエラッタは気付かなかった。
どうせモジュールは使い回しで、マイクロチップ内ではどのチップで同じ
問題があるかは分かっているはずで、どういう基準で対応してるのかな。
0841774ワット発電中さん垢版2018/04/24(火) 04:42:53.24ID:4lnVGYH5
遅いから割り込みが発生してTXREGにライトするタイミングならダブル送信は発生しない。
丁度TXREG が空になったタイミングだと発生する場合があるだけ。
送信割り込みフラグ確認してから送信バッファーなどの処理をしてからTXREG をライトすれば問題ない。
0843774ワット発電中さん垢版2018/04/24(火) 06:44:53.15ID:R0opAjvi
同じモジュールを使っててもその間の配線が違えば
遅延も違ってくる。
→ピンやソフトから見えるタイミングも違う可能性がある。

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

アヒルみたいなのが10羽、紐でまとめて縛られてギャーギャー騒いでいる様子を想像した。
0846774ワット発電中さん垢版2018/04/24(火) 07:07:59.47ID:vfSZoOUP
10羽ひとカラアゲ…

さておいて。

>>839のErrataのWork around 回避策? に、

Monitor the Transmit Interrupt Flag bit (TXIF).
Writes to the TXREG register can be performed
once the TXIF bit is set, indicating that the
TXREG register is empty.

って書いてある。TXIFを見よ。立ってたら空っぽだ。と。

割込みがかかるときって、TXIFが立つときではなかったっけ。

このスレで問題にされているのは、送信割込みで2重送信が発生する、ということだと思うのだけど、
それだと因果関係が前後するような気がする。別の問題?


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

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

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

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

PICスレは非常に民度が低い信者のスレだと思ったよ
0851774ワット発電中さん垢版2018/04/24(火) 07:38:13.00ID:wur0/mM1
巨大な受信バッファ持ってるPCが受信相手なら隙間だらけの送信でも全然問題なっしんぐなので
自分はTRMTポーリングで対処してます
PICが受信相手でもFIFO溜まった時点で割込みかかるので隙間だらけの送信でも負荷増えないし
0852774ワット発電中さん垢版2018/04/24(火) 07:43:30.47ID:rQtzCYq7
FIFOがたまった時点で割り込みが発生するだけだと
FIFOのデータが少ないときは受信したことがわからないので
受信してから隙間が空いた時にも割り込みがかかる
っていう回路がある
0853774ワット発電中さん垢版2018/04/24(火) 07:45:03.89ID:rQtzCYq7
PCだとRS-232Cの負荷なんて誤差レベルだが
負荷は増えてるかもしれない
0854774ワット発電中さん垢版2018/04/24(火) 07:54:48.66ID:vfSZoOUP
>>848
>先にTXREGが空となり、続いてShiftRegisterが空になったその瞬間にwレジスタから書くと
>TXREGとSR両方にコピーされてダブルってことやから
確かにこの問題は以前に話題になっていたと思う。

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

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

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

上のリンクのエラッタは両方TMRT
データシートのエラッタが仕様になっちゃったみたいな?
0860774ワット発電中さん垢版2018/04/24(火) 10:55:25.39ID:elhCr7SK
>>853
そんなことはない。トータルの転送量だけ考えるとたいしたことなさそうだが、
232Cを10ポート20ポートつないでフルフルで動かすとPCの負荷はけっこう大きい。
CPU負荷だけの問題じゃないぞ。ハードやドライバの作りにもよるが。
0863774ワット発電中さん垢版2018/04/24(火) 12:05:32.06ID:JfzX5cw2
俺のエラッタ回避方法は
1. 割り込み禁止が1文字送信時間を超えるようなコーディングをしない。
2. n文字送信関数で最初の1文字送信のときにリングバッファが空ならTRMTが1になるまで待つ。
0864774ワット発電中さん垢版2018/04/24(火) 12:52:06.32ID:elhCr7SK
>>861
232や485を10や20つなぐPCなんて工場とかではザラなわけだがWindowsあたりだとけっこうコケる
TCPでセッション100張るほうがうんと負荷軽くて楽
チップセットとプロトコルが頭いいと楽だね
0865774ワット発電中さん垢版2018/04/24(火) 12:54:47.66ID:xDXYG0tm
Microchipが重視していない姿勢を鑑みるに
ごく一部のユーザーが特殊な条件で使用する時のみ
影響する事象なので
EnhancedMidrange全型番のエラッタに載せてないんだろうね
ほとんどの初心者には影響ないからスルーして良いかと
0867774ワット発電中さん垢版2018/04/24(火) 13:05:39.26ID:avxJ9V6C
>>863
最大2文字分のビジーループが発生する
稀なタイミングしかオーバーヘッドが発生しないのと
ハードが不要なのが利点か

おれのUARTエラッタ回避法は
フリーランタイマーでヤバいタイミングを調べて
可能性があればnop 1個でタイミングをずらす
ビジーループは無いがタイマーを使う
(タイマーは共用可能)
割り込み禁止期間の制限は特に無い
0868774ワット発電中さん垢版2018/04/24(火) 14:59:36.41ID:58dfx+0t
18F46K22でI2Cを使うのでMCCでMSSP1を選んだが動作しない。
EUSART1、TMR0、ADCは動作しています。
SCL1とSDA1のピンはHighのままです。
I2C1.hのEMULATED_EEPROM_Write/Readをコピペしているが、
PICKit3のデバッグでPAUSEにすると
while(status == I2C1_MESSAGE_PENDING) ;から抜け出せないようです。
MSSP2にしても同じです。
EasyタブはI2C Master/Enable MSSP/Slew Standard/SDA Hold 300nS/7bitで
I2C Clockの0x03≦0xA0≦0xFFで99.379KHzと表示されてます。
RegistersタブはBCLIとSSPIのチェックとADD=0xA0/BUF=0x0/CON1=0x28/CON2=0x0/CON3=0x8/STAT=0x80
SSP1MSKが0xFFで赤くブリンクしているのが気になります。
0869774ワット発電中さん垢版2018/04/24(火) 15:53:22.15ID:+WRSdb8B
PICエラッタの最良の対処方法はPICを使わないこと。
何故にマルチタスクも動かせないようなこんな低レベルCPUにこだわるのか?
0871774ワット発電中さん垢版2018/04/24(火) 17:02:59.56ID:X1ScF0Ni
人の財布の中覗いてケチつける
他人の家の冷蔵庫開けて食材にケチつける

朝鮮人文化には馴染めません
0872774ワット発電中さん垢版2018/04/24(火) 17:16:47.07ID:+WRSdb8B
こだわっていないし、ケチもつけてませんよぉ。
ただただ疑問に思っただけ、理由を知りたかっただけです。
PICの何がそんなに魅力なのか?
もしかしたらPIC信者ってMなのか?
ハハハ、私のレスは無視して下さい、ちょっと退屈していただけなので。
0873774ワット発電中さん垢版2018/04/24(火) 17:31:14.75ID:R0opAjvi
他の会社のCPUにもエラッタは有るんだけど
0874774ワット発電中さん垢版2018/04/24(火) 17:41:00.95ID:gijGFcCB
春になるとわくものに釣られすぎ。別人だろうけど、他の板のスレにもこの時期になるとわいてくる。
0875774ワット発電中さん垢版2018/04/24(火) 18:47:22.37ID:lIO8jw8O
去年から年中エラッタ、エラッタ吼えてますよあの人
0876774ワット発電中さん垢版2018/04/24(火) 18:57:58.16ID:bnV5Dkpe
PIC信者を NGワード化して久しいが
これがまだ続くなら エラッタ もNGワード
にしようかと。兎に角しつっこいからな。
0879774ワット発電中さん垢版2018/04/24(火) 21:54:34.61ID:bnV5Dkpe
もうウザイから、たった今、エラッタもエッタラも NGワードに登録したぜよ
0882774ワット発電中さん垢版2018/04/24(火) 23:42:55.54ID:vfSZoOUP
趣味でも仕事でも、ファンだから使う、は有りうる。
仕事でその理由は有りえない、と思う人は、そういう立場を知らないだけのこと。
なぜファンなのか、他のものの比べた上で判断したのか、なんてのは野暮。
0883774ワット発電中さん垢版2018/04/25(水) 00:04:12.68ID:S3bTZ6vT
バグを知らないで遭遇したらとんでもない時間を浪費することになるし
納期を間に合わせるために原因不明のまま対処療法の対策で納品する
なんてことにもなりかねない。
感情的にならないで有益な情報として受け入れた方がいいと思うけどな。
0884774ワット発電中さん垢版2018/04/25(水) 00:07:33.90ID:0PS/es3J
ライタを持ってるから
本を買って持ってるから
PCに環境を作ったから
使い方を覚えて染み付いてるから
買い置きが残ってるから
これまで書いたコードが流用できるから
困ったことや痛い目に遭ったことがないから

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

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

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

#流用できる完動するコードがある、に帰着するかもしれないが。
0887774ワット発電中さん垢版2018/04/25(水) 06:38:56.81ID:Rywnw9Xh
導入の壁乗り越えて
自分なりのお気に入りライブラリー揃えてしまうと
今更他のマイコンに乗り換えるモチベーションか
0889774ワット発電中さん垢版2018/04/25(水) 06:43:45.80ID:g4rG95E1
PICに問題があるからダメだって話はするくせに、問題のないチップは出てこない。
PICは問題が多いというが、結局のところ多かろうが少なかろうが自分が使うところにその問題があるかどうか。
バグがたとえゼロでも供給に不安があるならダメだろう。
バグは開発段階で回避できるかもしれないが、製造段階で全く互換で置き換えられるものの供給が滞るとかなりイヤ。
ユーザーが多いほど問題は既知のものになりやすい。
ネットで情報発信しているユーザーが多い方が、問題解決はしやすい。
0890774ワット発電中さん垢版2018/04/25(水) 06:49:12.00ID:g4rG95E1
>>888
いちいちまとめることもしないけれど、見えてないフリしてるだけだと思う。
勝手に泣いてろ。
0891774ワット発電中さん垢版2018/04/25(水) 07:41:17.17ID:jPiSVkL0
取るに足らない問題に当たった0.1%以下の人間がギャンギャン吠え続け
問題がないか,自分で解決したほぼ100%の人たちは黙ってる
0893774ワット発電中さん垢版2018/04/25(水) 09:56:07.04ID:lDLEToeS
DIPパッケージ、PPS、外付部品少なくて頑丈

今更な長所だけど趣味には重要だよ
0894774ワット発電中さん垢版2018/04/25(水) 10:42:37.67ID:5d9B/hP4
入手性とか考えたらホビーユースだとPICかAVRぐらいしかないし、PICの内蔵ペリフェラル機能は活用できると便利だから使ってる。
0895774ワット発電中さん垢版2018/04/25(水) 11:16:30.06ID:TIJK9eAp
>>867
リングバッファでなくてTXIEを見れば、ビジーループを最大1文字分にできることは知っているんだが、なんとなく気持ちわるくてね。
0896774ワット発電中さん垢版2018/04/25(水) 11:28:03.34ID:4yUtx/6g
>>868
どうも 868 です。
PIC18F47K42で同様な現象の記事を見つけましたが私には理解できません。
http://www.ccsinfo.com/forum/viewtopic.php?p=217541

下のコードを追加するようなんですが、どのファイルなのかわかりません。
//Select I2C with PPS
#PIN_SELECT SCL1IN = PIN_C3
#PIN_SELECT SCL1OUT = PIN_C3
#PIN_SELECT SDA1IN = PIN_C4
#PIN_SELECT SDA1OUT = PIN_C4
#use i2c(Master,Slow,I2C1,FORCE_HW)
最後のスレの
//Select I2C with PPS
#PIN_SELECT SCL1 = PIN_C3
#PIN_SELECT SDA1IN = PIN_C4
#PIN_SELECT SDA1IOUT = PIN_C4
//Using the peripheral name always forces hardware
#use i2c(Master,Slow=100000,I2C1)
が正解なのかも知れないが、どこに挿入するのだろう?
0900774ワット発電中さん垢版2018/04/25(水) 13:19:43.53ID:4yUtx/6g
>>897
こんな感じです。
EMULATED_EEPROM_Read関数はMCCが生成したi2c1.hの例文をコピペして、main関数の前に定義しました。
EMULATED_EEPROM_Read関数のwhile(status == I2C1_MESSAGE_PENDING) ;から抜けられないようです。
オシロでSCL1(RC3)とSDA1(RC4)を観察してもHighの状態です。
双方とも4.7KでVDDにプルアップしています。
I2CデバイスはDS1307(カレンダー)です。
TMR0とEUART1とADCは動作しています。

void ReadDateTime(uint8_t *pDateTime)
{
uint8_t dt[8];
// Read DS1307 Reg.
EMULATED_EEPROM_Read(0x68, 0, dt, 8);
*pDateTime++ = ((dt[6] >> 4) * 10) + (dt[6] & 0x0f);
*pDateTime++ = ((dt[5] >> 4) * 10) + (dt[5] & 0x0f);
*pDateTime++ = ((dt[4] >> 4) * 10) + (dt[4] & 0x0f);
*pDateTime++ = ((dt[2] >> 4) * 10) + (dt[2] & 0x0f);
*pDateTime++ = ((dt[1] >> 4) * 10) + (dt[1] & 0x0f);
*pDateTime = ((dt[0] >> 4) * 10) + (dt[0] & 0x0f);
}

void main(void)
{
uint8_t DateTime[6];
SYSTEM_Initialize();
INTERRUPT_GlobalInterruptHighEnable();
INTERRUPT_GlobalInterruptLowEnable();
INTERRUPT_PeripheralInterruptEnable();
TMR0_SetInterruptHandler(timer);
printf("Start!&#165;r&#165;n");
ReadDateTime(DateTime);
ここに来ない
0901774ワット発電中さん垢版2018/04/25(水) 13:33:20.45ID:aEth5XWW
>>895
TXIEを見た後TXREGにセットするまでの間に
割り込みがバタバタっと来たらアウトじゃないか?
0903774ワット発電中さん垢版2018/04/25(水) 13:42:18.51ID:4yUtx/6g
>>897
コピペの関数もそのまま添付します。
void EMULATED_EEPROM_Read(
uint16_t slaveDeviceAddress,
uint16_t dataAddress,
uint8_t *pData,
uint16_t nCount)
{
static volatile I2C1_MESSAGE_STATUS status;
I2C1_TRANSACTION_REQUEST_BLOCK readTRB[2];
uint8_t writeBuffer[3];
uint16_t timeOut;

// this initial value is important
status = I2C1_MESSAGE_PENDING;

// build the write buffer first
// starting address of the EEPROM memory
writeBuffer[0] = (dataAddress >> 8); // high address
writeBuffer[1] = (uint8_t)(dataAddress); // low low address

// we need to create the TRBs for a random read sequence to the EEPROM
// Build TRB for sending address
I2C1_MasterWriteTRBBuild( &readTRB[0],
writeBuffer,
2,
slaveDeviceAddress);
// Build TRB for receiving data
I2C1_MasterReadTRBBuild( &readTRB[1],
pData,
nCount,
slaveDeviceAddress);

timeOut = 0;

while(status != I2C1_MESSAGE_FAIL)
{
// now send the transactions
I2C1_MasterTRBInsert(2, readTRB, &status);

// wait for the message to be sent or status has changed.
while(status == I2C1_MESSAGE_PENDING) ;

if (status == I2C1_MESSAGE_COMPLETE)
break;

// if status is I2C1_MESSAGE_ADDRESS_NO_ACK,
// or I2C1_DATA_NO_ACK,
// The device may be busy and needs more time for the last
// write so we can retry writing the data, this is why we
// use a while loop here

// check for max retry and skip this byte
if (timeOut == SLAVE_I2C_GENERIC_RETRY_MAX)
break;
else
timeOut++;

}
}
0904774ワット発電中さん垢版2018/04/25(水) 14:57:04.90ID:4yUtx/6g
mainのprintf("Start!&#165;r&#165;n");を以下の行に変えたてみたが、SCL1もSDA1もHのままだわ。
printf("TEST1&#165;r&#165;n");
SSP1STAT = 0xC0;
SSP1CON1 = 0x28;
SSP1CON2 = 0x00;
SSP1CON3 = 0x08;
SSP1ADD = 0x9F;
SSP1BUF = 0x00;
printf("TEST2&#165;r&#165;n");
printfは正常に表示された。
別のソフトでRC3,RC4をGPIOでOUTにしてH/Lの出力を確認できたから生きているはず。
0905774ワット発電中さん垢版2018/04/25(水) 15:24:18.89ID:5d9B/hP4
>>904
オシロがあるならI2C.hで宣言されてるシンプルなリード、ライトをためしてみたら?オシロでなにも無いようなら、初期化周りが怪しい気がする。関数内だからこっちはどうなってるかわからんが。
0906774ワット発電中さん垢版2018/04/25(水) 15:38:52.91ID:eCcunkaK
PC USBロジアナ安いからおすすめ
〜\1000程度で買える
RS232やI2Cの解析なんかには十分な
24MHzサンプリング8ch
amazonとかebayで買える
0907774ワット発電中さん垢版2018/04/25(水) 15:40:07.33ID:TIJK9eAp
>>902
>>863のリングバッファが空だったらってとこを、TXIE(TX割り込みイネーブル)が0だったらと変えるだけ。
0908774ワット発電中さん垢版2018/04/25(水) 15:56:00.57ID:4yUtx/6g
>>905
main.c内に下記のtest関数を定義して、MCCの初期化と割込み許可直後でtest関数を呼び出した。

void test(void)
{
static volatile uint8_t buh[16];
I2C1_MESSAGE_STATUS status = I2C1_MESSAGE_PENDING;

I2C1_MasterRead (buf, 4, 0x68, &status);
printf("%02x, %02x, %02x, %02x&#165;r&#165;n", buf[0], buf[1], buf[2], buf[3]);
}

オシロにはHレベルのままでI2C1_MasterRead関数から返ってきた。
4バイトとも0x00でした。
何故かその後に呼び出されるReadDateTime関数内の
EMULATED_EEPROM_Read(0x68, 0x0000, dt, 8)から抜けられるようになった。
でもデータは全て0x00でオシロにも出てこない。

別ソフトで1mS周期割り込みでRC3,RC4を毎回反転するのを書き込むとオシロにちゃんと矩形波が現れる。
0909774ワット発電中さん垢版2018/04/25(水) 16:03:38.28ID:4yUtx/6g
>>905
MCCの初期化部分が先のコードです。

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

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

この状態で
SSP1BUF = 0x00;
すれば送信が発生すると思うのだが?
初期化間違っているのかな?
SPIは何度も使ったけどi2cはPICでは初めてです。
0910774ワット発電中さん垢版2018/04/25(水) 17:14:24.29ID:5d9B/hP4
>>909
設定はそれで問題ないはず。速度は計算してないから、合ってるかわからんけど。
BUFFにデータ入れるまえにCON2.SEN=1でスタートコンディション発行しないと駄目。これだけでSDAは一旦Loになるはず。
0911774ワット発電中さん垢版2018/04/25(水) 18:07:06.07ID:ozfwihV9
>>910
ありがとうございます。
明日、試します。
MCCのコードをPIC16系と見比べたけど同じだった気がする。
明日こそ!
0912774ワット発電中さん垢版2018/04/25(水) 19:10:38.65ID:Iegs2HCt
>>907
それはわかってる

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

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

一応条件に加えておいた方が良いかと
0913774ワット発電中さん垢版2018/04/26(木) 07:48:00.18ID:pjy6qYAx
>>910
おはようございます。

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

SSP1CON2bits.SEN1 = 1;
SSP1BUF = 0x00;

MSSP1は生きているようなのでもう一度PIC16FとPIC18FでのMCCコードの違いを探します。
0915774ワット発電中さん垢版2018/04/26(木) 11:35:24.22ID:0ynxSK/6
PICのI2Cはエラッタだらけ
MKやMMにI2Cが無いのはエラッタで全く使い物にならないからスペックから消した
不自然にI2Cが無いのはそういう理由
MZは使い物にならないけどスペックに載ってる
0916774ワット発電中さん垢版2018/04/26(木) 12:53:24.82ID:Xj/+jZB9
エラッタエラッタうるせーバカだな
おばQのOちゃんかよ
0918774ワット発電中さん垢版2018/04/26(木) 14:02:37.95ID:pjy6qYAx
>>910
解決しました!
PIC16FのMCCコードと比較した結果

I2C1_Initialize関数の最後に// add行を追加
// clear the master interrupt flag
PIR1bits.SSP1IF = 0;
PIR2bits.BCL1IF = 0; // add
// enable the master interrupt
PIE1bits.SSP1IE = 1;
PIE2bits.BCL1IE = 1; //add

I2C1_BusCollisionISR関数に下記add行挿入
PIR2bits.BCL1IF = 0; // add

I2C1_MasterTRBInsert関数の前に以下のインライン関数を定義
inline void I2C1_WaitForLastPacketToComplete()
{
while(i2c1_state != S_MASTER_IDLE)
{
// If your code gets stuck here it is because the last packet is never completing
// Most likely cause is that your interrupt is not firing as it should. Check if you have
// correctly enabled all MSSP, Peripheral and GIE interrupt settings.
}
}
I2C1_MasterTRBInsert関数の最後の
// for interrupt based
if (*pflag == I2C1_MESSAGE_PENDING)
{
while(i2c1_state != S_MASTER_IDLE)
{
// force the task to run since we know that the queue has
// something that needs to be sent
PIR1bits.SSP1IF = true;
}
} // block until request is complete
を以下に差し替え
// for interrupt based
if (*pflag == I2C1_MESSAGE_PENDING)
{
I2C1_WaitForLastPacketToComplete();

// The state machine has to be started manually because it runs only in the ISR.
// If we called the ISR function here function duplication would double the code size
// because this function would be called both from interrupt and from mainline code.
PIR1bits.SSP1IF = true;

} // block until request is complete
これでI2C通信が正常に動作しました。
DS1307のアドレスポインタは8bitなのでEMULATED_EEPROM_Read関数の16bitを書き換えました。
0920774ワット発電中さん垢版2018/04/26(木) 16:39:20.13ID:wsiyshJn
うっかりするとエラッタの存在見落としがちだから、
騒いで騒ぎ過ぎは無いと思う
エラッタ情報をデータシートと分けてあるのは
嫌がらせ超えて隠蔽体質だと思うよ
PDFファイル合冊して発行すればいいのに
それともデータシートのどこかに書いてある?
0922774ワット発電中さん垢版2018/04/26(木) 17:25:12.14ID:tI778vpf
製品としての仕様であるデータシートと
実装の問題であるエラッタは分けといてくれる方がいい
シリコンリビジョンが上がる度にデータシートが更新されるなんてあり得ません
0923774ワット発電中さん垢版2018/04/26(木) 17:58:30.70ID:uI7+7JKe
エラッタなんてここじゃなくて、あっちでやってほしい
全然意味がわかんなあいーー
0924774ワット発電中さん垢版2018/04/26(木) 18:25:12.30ID:wsiyshJn
>>922
いや、シリコンリビジョンが上がってもデータシートが更新されないなんてあり得ません
エラッタも治らないならいい加減仕様として明記しろって話だよ
0926774ワット発電中さん垢版2018/04/26(木) 19:18:07.16ID:zrSq8Rut
リビジョンなんかほとんど変わらないし
変わってもエラッタ直らないし

使えないものはデータシートから消してほしい
0931774ワット発電中さん垢版2018/04/26(木) 23:38:41.81ID:x/bI+Fe1
質問してくれていいよ
他の話題で活気付けば誰もエラ男の相手なんかしないから
0932774ワット発電中さん垢版2018/04/27(金) 15:49:09.70ID:y/XUCCUG
NYTから

”A.I. Researchers は100万ドル以上の高給を得ている”
A.I. Researchers Are Making More Than $1 Million, Even at a Nonprofit
https://www.nytimes.com/2018/04/19/technology/artificial-intelligence-salaries-openai.html

シリコンバレーで公然の秘密の一つは、人工知能の専門家が巨額の給与とボーナスを得ているという
ことです。 今、OpenAIと呼ばれる研究室によるちょっとした税金申告によって、そのような驚くべき
金額が公になっています。

OpenAIは、2016年にトップ研究員であるIlya Sutskeverに190万ドル以上を支払った。その年の
3月から採用されたにもかかわらず、もう一人の有力な研究員、Ian Goodfellowに80万ドル以上を
払った。 両方ともGoogleからリクルートされました。2016年6月に採用された、元カリフォルニア州立大学
バークレー校の教授で、ロボット研究者のPieter Abbeelは$ 425,000を得た。 これらの数字には
すべて契約ボーナスが含まれています。

OpenAIが非営利団体であるために、公開された税務書類に記載されている数字は、世界中の組織が
A.I.技能者に支払っている金額を垣間見せてくれた。 しかし、注意すべきなのは、OpenAIでの報酬は、
非営利団体としてストックオプションを提供することができないため、これらの研究者はこれでもまだ安売り
してるかもしれないということです。

これらの技術を理解している人は少なく、何千もの企業がその技術を使いたいと思って居るので、
トップA.I.研究者の給料は天文学的な数字になってます。
カナダの独立研究機関によれば、真に重要なA.I. researchをを行うために必要なスキルを持っている人は
世界中の22,000人しかいないと推定しています。

「需要が山のようにあるにに、一方供給は水のしずくのようにしかありません。」
AIの事業を立ち上げたSkymindの創業者であるクリス・ニコルソンは語った。
それは大学や政府にとって重大な問題を引き起こす。 彼らにもまた、A.I.技術者が必要です。
次世代の研究者に教え、これらの技術を軍隊から薬の開発に至るまで実践に移すために。
しかし、彼らは決して民間セクターで支払われている同額の給料を払えません。

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

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

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

送信専用のアドレスって何だよwww
と思ってもそれを言わないのが大人
0943774ワット発電中さん垢版2018/04/28(土) 14:41:39.09ID:htNAzHQf
秋月にPIC16F18323をリクエストした人がいるっていうが、18325と10円しか違わない。
18323は18325のサブセットだと思ってた。10円でも節約して秋月で買うべきものなんだろか。
0945774ワット発電中さん垢版2018/04/28(土) 14:49:09.32ID:XLfGLUVl
リクエストした時点では金額はわからんしな
10円でも1000個買えば1万円の差
0946774ワット発電中さん垢版2018/04/28(土) 15:00:55.50ID:htNAzHQf
PICKIT4はMicrochip Directには在庫があるけど、DigikeyもMouserもなし。
なんでだろなー。
0954774ワット発電中さん垢版2018/04/29(日) 10:24:20.56ID:7IUNaJ3j
>>951
俺は使ってます。
ってか、俺の周りの人も会社も、マイコンはいろいろ使うせいか、エミュレータも割と安めのものを使ってる人が多いな。

PICについてはICDを使ってる人がいない。
PICKIT3×PIC32だと遅くてたまらん、という話もあるけど、PIC32を使わんし。
でも、PIC32でもPICKIT4なら少しはマシなんだろかと期待。
0955774ワット発電中さん垢版2018/04/29(日) 10:49:16.75ID:7IUNaJ3j
>>950
個人的には急いで買う必要はないけれど、
・今から始める人は3か4かを迷うであろうな。4が出るまで待つか、みたいな。
・Directにあるのに流通しないのは、Directは独立採算の商社として、一定のチカラがあるのかなと思ったり。
・それとも何かの理由で出荷を抑えているのかなと、もやもやしてみたり。
・SAM対応を標ぼうするのはまずいのでは、と社内の保守派からブレーキがかかってるのかな、と邪推を楽しんだり、
・出すならAVR対応に、と社内と推進派からクレームが入ったのかな、と邪推を楽しんだり。
0956774ワット発電中さん垢版2018/04/29(日) 10:55:08.19ID:5+H+Fb0q
買収前に4の設計が終わっていた、じゃないのか
0959774ワット発電中さん垢版2018/04/29(日) 13:06:21.81ID:7IUNaJ3j
趣味の電子工作を始めたい、部品を買う必要はありますか?
まあ、買う必要があるでしょうね。いつももらって済ますわけにはいかないと思います。

罵倒する前にちょっと考えて欲しい。
0961774ワット発電中さん垢版2018/04/29(日) 14:04:25.70ID:7IUNaJ3j
趣味だからこそ採算に囚われることなく買いたいものを買う。必要だから買うのではなく、買いたいから買う。
という立場もあれば、
趣味だからこそ実費としての出費は抑えたい
という立場もある。

違う立場をイメージできないことを罵倒することはないよ。
0963774ワット発電中さん垢版2018/04/29(日) 19:42:04.64ID:7IUNaJ3j
ID:d2WYD48g は無視することにしました。
0964774ワット発電中さん垢版2018/04/29(日) 20:36:08.93ID:8b4oySly
GW突入前にPIC18F46K22のI2Cで悩んだ者です。
MSSP1のI2CにEEPROMにアトメルの128KByteのAT24CT1024Bをぶら下げました。
何故か256バイトのページライトが出来ません。
128バイトまでは成功します。
なので128バイト以下でライトする様に使ってます。
何故?
0965774ワット発電中さん垢版2018/04/29(日) 21:20:36.41ID:Srh+Wmzb
>>964
指定したアドレスがページを跨いでしまうと書き込めない
アドレス0000で256byte書けるか試してみるべし
0970774ワット発電中さん垢版2018/04/30(月) 07:25:11.17ID:zMe29Zzj
おはようございます。以前質問させていただいた>>746です

おかげさまでLEDチカ、USART+TeraTermを用いたPCとのシリアル通信は
上手く行きましたが、USB - HIDクラスを使った通信でお手上げ状態になってしまいました…

デモの内容を確認するために、Microchip社ライブラリの真新しいフレームワーク(HID_Mouse - low_pin_count_usb_development_kit_pic18f14k50.x)を
秋月18F2550マイコンボード用のコンフィグレーション、LED用LATA、TRISA、Button用PORTA、TRISAへ適合するように
設定し直して、Debug Project で運用してみましたがダメでした…

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

以下、内容
0971774ワット発電中さん垢版2018/04/30(月) 07:28:59.82ID:zMe29Zzj
[system.c] - Configration クロックに関する設定
#pragma config PLLDIV = 5 // PLL Prescaler Selection bits (Divide by 5 (20 MHz oscillator input))
#pragma config CPUDIV = OSC1_PLL2 // System Clock Postscaler Selection bits ([Primary Oscillator Src: /1][96 MHz PLL Src: /2])
#pragma config USBDIV = 2 // USB Clock Selection bit (used in Full-Speed USB mode only; UCFG:FSEN = 1) (USB clock source comes directly from the primary oscillator block with no postscale)
#pragma config FOSC = HSPLL_HS
電源に関する設定
#pragma config PWRT = ON
#pragma config VREGEN = ON

Debug Project - Step Into で1行ずつ実行した場合
usb.device.c 582行目
USBDeviceState = ATTACHED_STATE; 
を実行すると、UnknownDeviceになる
→USBDeviceState が POWERED_STATE までしか進まない

その状態で、Debug Project - Reset→Continueした場合
USBDeviceState == CONFIGURED_STATE まで進むが、
app_device_mouse.c 258行目あたり
currentButtonState = BUTTON_IsPressed(BUTTON_USB_DEVICE_HID_MOUSE);
で、S1の状態を取得するものの、S1を押した状態にしても、離した状態にしてもそこから先へ展開せず
Main.cのwhile(1)ループへ戻ってしまう

その状態でまたContinue→Pauseして1行ずつ実行してみると
今度はusb_deviece.c 647行目
if(USBSuspendControl == 1){
USBClearUSBInterrupt();
return;
}
へ入りreturnしてMain.cのwhile(1)ループへ戻ってしまう そして、以下、変化無し
0973774ワット発電中さん垢版2018/04/30(月) 07:33:05.04ID:7OBUBQx8
通信なんだから
途切れ途切れじゃ会話が通じない

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

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

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

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

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

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

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

デバッガでデバッグではなく、>>973のようにポートなりUARTなりに
状態を出力させるコードを書いてデバッグする必要がある
0977774ワット発電中さん垢版2018/05/01(火) 09:56:26.18ID:o4U5k+Rn
976さん
お世話になっております 

せっかく前の方々に適切なアドバイスをいただいたのに
十分に理解できなくてすみませんでした
ご指摘を受けて私にも状況が少しずつわかってきました

>mlaのソースの中に、ある間隔でこの関数を呼べ、とかコメントが書いてない?
拙い英語読解力で読んだところ、
1.main.c _ USBDeviceTasks();
2.usb_event.c _ USER_USB_CALLBACK_EVENT_HANDLER
あたりが該当するように思われます
とりあえず、1番でUSBDeviceState == CONFIGURED_STATEになり、
2番によって、LEDが高速点滅するところまで到達しましたが、
その先、Mouseのカーソルが自動移動するまでに至らないようです

USB通信のデバッグについては、先にもアドバイス頂いたように
ポートやUARTに状態を出力させる必要があるのですね
大変よくわかりました
ただ、電子工作入門1週間ちょっとの私には手に余るレベルのような気がします…
もういっそのこと、秋月PIC18F14K50マイコンボードを買って、ライブラリそのままで焼いてみようかと検討中です…

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

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

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

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

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

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

これ、いけなかったですかね?
デバッグモードでは、ボタンに反応してるようでしたので、大丈夫だと思ってました
0982774ワット発電中さん垢版2018/05/01(火) 22:39:19.15ID:ONtX2Myl
面倒がないUSB スニッファだとこんなのもある。
freeusbanalyzer.com
試用期間中は至れり尽くせりな感じだけど、
試用終わるとSnoopyProとどっこいどっこいの機能。
0983774ワット発電中さん垢版2018/05/01(火) 22:40:46.80ID:DBW73+I+
>>981
> 18F2550用に自分の回路の都合でRA0へ書き換えちゃいました
それなら大丈夫
あと一息の気がする、頑張れ
0984774ワット発電中さん垢版2018/05/01(火) 22:42:33.88ID:o4U5k+Rn
【追記】
始めに、system.c _ void SYSTEM_Initialize()関数で、
ADCON1レジスタを全てデジタルI/Oへ設定するように
0b00001111; を代入し、 (18F2550 データシートp.262参照)
buttons.c _ #define S1_PORT PORTAbits.RA0 を元の
#define S1_PORT PORTAbits.RA3 へ戻し、
同じく buttons.c 内 void BUTTON_Enable(BUTTON button)関数でも
TRISAbits.TRISA3 = PIN_INPUT; とTRISAもRA3用に設定し直してみましたが、
やはり状況は変わらず、LED高速点滅はするものの、mouseは自動移動しないみたいです…
0985774ワット発電中さん垢版2018/05/01(火) 22:57:27.90ID:o4U5k+Rn
>>982さん
良さそうなソフトのご紹介をありがとうございます!
ただ、試用版の使用条件がめちゃ厳しいですねw
1度に10分間、4日間だけ体験可能の制限付きの中、初心者が使いこなすのは難しいそうですね

>>983さん
前のレスが行き違いになってしまいましたが、
それなら良かったですー
0986774ワット発電中さん垢版2018/05/01(火) 23:06:39.24ID:o4U5k+Rn
そろそろスレもおしまいですし、
お世話になってるので、次スレを立ててみようと思います
テンプレに特に変更の必要は無さそうですよね
スレタイと過去スレ一覧を書き換えるだけですが、やってみます
0989774ワット発電中さん垢版2018/05/03(木) 02:51:14.51ID:3zq/2ceR
>>987
>建てられました〜
他の人に、先にに立てられてしまった のか
慣れない自分にも 立てることができた のか 
0992774ワット発電中さん垢版2018/05/03(木) 09:54:32.12ID:n/fZNcO5
>>990
いや、話す人の思いやりが足らないだけ。
複数の意味に受け取られる表現になっていないかを、書き込む前に確認するべき。
0993774ワット発電中さん垢版2018/05/03(木) 10:02:52.35ID:zEtko/35
スレの終わりが差し迫っているのに次スレが立たない。

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

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

とりあえず、ここは立てた事実に敬意を払えばいい。
善意を装って、アンチなタイトルでスレ立てする屑もいるけれど、>>987はそうではない。
0994垢版2018/05/03(木) 12:20:07.39ID:M7Jzd9I1
残業時間を少なくするくらい空気や行間を読まないとなw
0997774ワット発電中さん垢版2018/05/04(金) 12:41:27.84ID:+d65Nnar
埋め

また質問させて貰いました
USB通信の道のりが険し過ぎる……
0998774ワット発電中さん垢版2018/05/04(金) 22:52:19.32ID:LkIbuCuM
232Cならチップだけど、USBはボードだなぁ・・・
はい、逃げてますw
埋め
1000774ワット発電中さん垢版2018/05/04(金) 23:00:30.82ID:O1HEuDOL
)((()(()()))())(()()()))(()())(((()())(()))()))))())(()(()(()(())((()(())()(
)()()))))))))((()())(((()(((()((()))((())(())(((()())))))))()(())(())(()((((
)()(()))()())())))())()()((()()())(())())(()((()(((()))(()(())(()))))()(((((
(())(()())()((((()()))()()()(())()())()(()))())))())((()(((()((()((())()))))
()))))())))())((()))((())))()())()(())()))())(()((((()()(((()(())(()()()((((
)()()((((())()()((()((()()())()))(()))((())))())))()()(())())())()(()((((())
))))((())()(((()(())()(()((())())()(()(()))()()()()())))()(((()())()()((()))
)())(()(()))(((()())()))())))))))(((((()((()()()))((((()()()()()()))()()(()(
(()((()())(((((()))((()()))))())(())))())))())(()(())(()())()()))(()))((((((
()()((())(())((((()(()()))))()())(((((((()()())))())()()()()))(()))())()()()
))())(()(())))))()(()(())(((((()))(()))((())()((()())((()))((())()())())(()(
()))())))())))))(()(()()())(()()())()))(()))(((()(()(())))((())(()()((((((((
)())()(((()(((())()))))()()(()(()()()(()())())))())()()(())()()()())(()((()(
))(((((((()((()()()())((())(()())())(()())(()(())()((())(())()()()()))))))))
())()))(()((((()())(()((())))(()(((())()()()()(())))))))))))((()()(()())((((
)))()(()((()))((()((()((()(()))()()))(((()))(())())())(()())))((()())())()((
))(()()(((())(()(((()())()))))((()()())))(())(()))(())(()))()()((()(())(())(
))(()(())))))()()()(()())((((((()(())((())())))()()()()((())()((())())(()())
())(())))(((()))()))()())(((()(())((()()(()())()))(()(()((((())()())()()()))
()))((())()))))))))))(()(((()(()(()))(()(()))(((((()()(((())))()(())))(((()(
)(()))()))()())())(()))((()()()(())((())())))((((())()())()(((((())(())))(((
(())())()()()()())(((())))(()()((((((((()))()((())()))))()()(()())))(()))()(
))))(()()((())()))))(()))(())(())()))(()(()()()()()()()())((((())((())((()((
((())()((()()()())(()((())))(())(()()()))()))()()(()((()((()((())())))))()()
()(())())(()(()(((((()((((())))(())())(())()))))))(())())(()(((()())(()())))
)))))((()())((((((())(())(((((()()))())((()())()())()))))))(())))((()))(((((
)(((()()))(()()(()))))()()))()()()(()(((((())((((()))()()))())))))(()(())(((
(()()((()()(()(())))())()((()())(((())((((((()))))))(())))((((()()))))))()()
)(()())(())()))())))())(()))(((())))((())))))((())())((((()((()((())((()()((
)))((())((()((())()))())(((((((())())((()))(())()(()))())())())()())()(())((
))(()(()((()))(((())((()())()(()()())(()))))))())()((((()())(())(((())()()))
)))())((((((()))))()(()(())((()())())))(()(()((()))()())()(())(((()()((())))
)())))(((((()((()))())()(())((()()))((()())())(())()(()((()()()))()()()(()))
))((()))))(())(((((()(()((()()()))))((((()(()()))(()))(((((())()))))))(()())
))())())(((()((((()()))((((())(()()())))(()()(()()))))()))(()((()()()))(()()
)))))(()(()((())))(())(()))()))(()(()()(((()(())(()((()))()(()))()()()((())(
(()((()()(())()))(()(((()()()))(())))()))()))))())(()()(())())(())((((()(()(
()))))))(()))()))(())(()((()()())())))(())(()()(()())(((())()()()())((((((((
)))(())((()(((()(())(()()()())()))))))((())))(())(((()()()()())(())())((()((
(()((()()(())(()()((())())((((())(())))()(()()()((())))())))()()(())))()()()
)))())((((()))(()))()()((()(((()()()(())(())(()())()()))))()((()(()()())(())
)((((())(()(()())))((()(((())))())((()()))())))))())()(((()((())()())(()(())
()((())))()())()(()((())(())(((()))(()(()(()((((()())))))(((((())))))(()))))
()(())(((()(()()))))))()(()((((())(()((((()())))(()))))()()(()()()))(()()())
))()()(()(()((()))))))())(((((()))()))))()))()(()()()(())((())))(()(((((()((
)()())()))))((((((((())()(()(((()()))(()()(())(()))((((())())))()()()))(()))
(()(()))()))(())())()))()((()()(())(((()))))())(((()((()(((((()())()()))()))
(())()())()()))(()))(())))())))())(()(()()()(((()(((()))))((()()))((())(((((
)))((()))(()((()())()((()))))(())))))))((()()(())(((()())()))((((())(((()()(
)(()())(((((())))(()()))))(()(()())(()))))(()(((())))(()()()))(())((())(()((
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 80日 1時間 33分 52秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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