X



トップページ電気・電子
1002コメント341KB
初めてのPIC 0x0f
レス数が1000を超えています。これ以上書き込みはできません。
0001774ワット発電中さん
垢版 |
2018/05/01(火) 23:12:13.97ID:o4U5k+Rn
PICをさわるのは今日が初めて、という超初心者のためのスレです。
  (O>――<O)    PIC選び、PICを使った回路は、誰でも最初は不安なものです。
  / (・) (・) ヽ    恥ずかしがらずに何でも聞いてください。速攻で教えてくれますよ。
  ○ /▼\ ○    質問のしかたは、初心者質問スレの発言1を見てくださいね。
  |(ヽ二フ ) |    
  /  ̄ ̄ ̄ ヽ  
 f ヽ     / |  PIC関係のスレは、レベルに合わせて以下のスレもありますので、活用しましょう。
 ヽ \  / ノ    ・PIC専用のスレ
  | \_ )(_/ !       本家本元のPICスレです。口の悪い人もいますが、楽しくやってるみたい。
  |       |       ここの話がわかるようになれば、あなたはもう一人前のPICerです。
  |       |    ・マイコンソフト 悩み事相談室
  |   | ̄ ̄|  |      マイコンソフトやツールの質問は、こちらでどうぞ。的確な回答があります。
 (_ノ    ヽ_)

 質問する時のコツ
  ・性格の悪い回答者はスルーしよう(相手すると逆効果)
  ・素人玄人などと 上から目線の回答者は、無視してください。相手してはいけません。
  ・そこそこ良い回答が出るまでしばらく再発言しないのもあり(良回答は後に出やすい)
  ・回答者のアドバイスで後日解決したら、結果報告しよう(とても喜ばれる)
  ・回答者は、僕たち初心者に優しくしてください。あなたも通ってきた道のはずです。


 必要なソフトなど(基本無料)
統合開発環境 MPLAB X ttp://www.microchip.com/mplab/mplab-x-ide
コンパイラ (XC8 XC16 XC32) ttp://www.microchip.com/mplab/compilers (高機能版は有料)
コード生成プラグイン (MCC) ttp://www.microchip.com/mplab/mplab-code-configurator
マイクロチップ ライブラリ (MLA) ttp://www.microchip.com/mplab/microchip-libraries-for-applications


 必要なハードなど
初心者はPIC16F1、PIC18F1以降の型番で始めると無理なく始められます。
プログラムの書き込みには書き込み器が必要です。持っていない場合はPICkit3(中華クローンでもまず大丈夫)を使いましょう。
PIC一覧、スペック検索 ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1005


 さ、質問どうぞ〜っ
  0x0e 2018/02/13〜  ttps://rio2016.5ch.net/test/read.cgi/denki/1518524799/
  0x0d 2017/10/25〜  ttp://rio2016.5ch.net/test/read.cgi/denki/1508935254/
  0X0C 2017/07/27〜  ttp://rio2016.2ch.net/test/read.cgi/denki/1501157324/
  0x0B 2017/05/08〜  ttp://rio2016.2ch.net/test/read.cgi/denki/1494235320/
  0x0A 2017/01/04〜  ttp://rio2016.2ch.net/test/read.cgi/denki/1483498857/
  0x09 2016/09/07〜  ttp://rio2016.2ch.net/test/read.cgi/denki/1473238791/
  0x08 2016/04/30〜  ttp://rio2016.2ch.net/test/read.cgi/denki/1461994030/
  0x07 2016/02/05〜  ttp://wc2014.2ch.net/test/read.cgi/denki/1454648249/
  0x06 2015/07/18〜  ttp://wc2014.2ch.net/test/read.cgi/denki/1437151298/
  0x05 2015/04/07〜  ttp://wc2014.2ch.net/test/read.cgi/denki/1428391368
  0x04 2015/01/02〜  ttp://wc2014.2ch.net/test/read.cgi/denki/1420205108
0002774ワット発電中さん
垢版 |
2018/05/01(火) 23:13:13.23ID:0sFgLi/H
)((())()))((())))(()()()))())))(()))((((((())(((((())))(()(()(()())())))((()
)))()()))((()(()(())())(()))()((())())(())))))()(()))())(()))(()((((((((()((
)((((()()))(())()((()(()(((()(()))())()))(()((()))))(()))((((()))))))()))(((
)()))(((()())))())()(((()))((()))(((((((()(())()()())(()())))(()(()))()))()(
)())((((()(())())((()(())())))(()()))()(()))())((()((()()))(((())(())))()(()
()()((((())())())()))(()((()()))))()(()()()())((((())())()(()()(())()())()()
)()(()((())()()(((((()))(()))))(()(()))())))()()((())()(()))()()()()((()))((
)()(()(()))()))(((()))()()()())))((())())())))))))(()))(((()()(()((()(((((((
)((()()))(()))))())()())(()()((()))())()))(()()))(((()((())())((()((((())()(
(())))()()))(()()(()))(())())))())))()())(((()()()((()()((()(())()()))((((((
())))())))(()((((()(()()()()()()(()()(())))(()))))((((()))((((()())))()())((
()))())(())))(((()(((((()()))())()((())(()(((()()(())(((())()()))((())))))))
)()()()(()()(())((((((((())((((()))()(())())))(((()))))))())()(()()(()()))))
())()(())))(())()()(((()()))))()()()((()))(())()(())())(())))))((((()((()(((
)()))()())(()(()))()(())())()(()((()))()())()(()))((()((()))()())()((())((((
(())(()())))))((())()((((()))))())(()(()()()(()))((()))((()()()((()()))()(()
))((((((((())))(((()))(())))))))()))()(())))(((()((()())()(()()((())((())))(
)))()))))())()((())(()(()())((()((((())))))())))())(()))((((())()())((((((((
())())(()())())))))()()(()(()())(()))))(()()))((())()((((()((((()(((()))(())
())()()(()())()())(((()))))(((())))(((()))())(()))(())((())(((((())()(()))()
)()()(())()((()))(((((()))))))()((()))))()()((()))((((()())()()()()()))((()(
())()(())(())()))((()((()((((((())(()()))()())(())))((()((())((()())))))()))
)())()(((()))())(()()()))((())((())(())))(())((((((()())()()())((()(()()))))
()((()()()())())(((()()())()((()))()((())()(()(())())))()))()()))()(()()((()
((((((((()(()()()()())))(()())))(())()()()()())()()))())()))()(()(((()(())))
))((()(()))()((()(()())()())())))())(()()())())()(((()))()())((()()())()((((
(())())(()()(())())((((()))(()()))()())()())))()(()())(()(()(((()()))(())()(
()()()())))(())((((()(())(()(())(()(()()((()())((()()()))(()((())))())))))()
(()()()((()))(()())()(()))))((()()()()()))()(((())())()(()())(((((())(()))))
()()((()(((((()(()(()()(((()))()(()())))())((()))()(((()()))))()))(()))())))
()))))((()())((())))(((())()))((()))))))()(()(())))(((()()(()((()(()())()(((
())()()(())))()(()))()))()()))(()))(())((()()())))))((()())((((()(((())(((((
))((()(()()))()(((()))))())))()(()())))((()()(()))(((()(()()()(((())((())))(
(()))(()())((((()))(())(((())))))(()(())))()))))(()(())(()(()())()(()(()()((
())()())(()()()((()))((()(())()())((()()()))())((((()(()()))()(()(((()))))))
)))()(()(()()()))()()())(((()))(()(())))()())))()((()(((((()()()((()(()())))
))(()()(((()))())()(())()(()())))(((()))()())((((()()(()()))()(((()))()))()(
()())(((()(()((()(())))()))()()))))()(()()())()))))())()(((()()())((()()((((
(()())(()))())))()()(()()(()())((()(()()((()()))((()((((()))(()(())))()())))
(((()())))()(())(((())))(((()(()))(())(()())(((()))))()()((())()))())(())()(
(())(())()(()())())))(())(())()(()(())()(()(()(((((()))))(()()())()(()))()()
()()))()())(()()(())((())(())()))())))())(()((()())))(()()()(()(((((()(()))(
)))()(()))))))()((()(()()))((())))(((((()()())()(())(((()()(()(((()))))())((
)()()))((()()(()))())))())()((())))()(()()())))(((())(())((((()))(())((()(((
))(((()()(((((()())()()((((())()())))())((()((()())((()))))(()))))))(((())))
)((())))((())(()()((((()(())(()()))(((()(())))))))(((())))(((())((()(())))))
()((())))()(())((())()()()))(()((()(()()()()()))())((()(()))(()(()))()))(()(
()((())(()()())((())(()(()())))(())())(((())())(()))))()(())))()()())()(((((
(()))))(()()))()(((())(()((((()))))))))))))())((()(()(())(()((()(((()))(()((
)()()))((((()(())())((())))()()(())())(()())()(())()))(((()()()(())(()))(()(
0003774ワット発電中さん
垢版 |
2018/05/01(火) 23:25:31.88ID:41gUdDfI
PIC32MM
8ビット16ビット置き換えをねらったコンパクトなコア
安い、省電力
microAptiv 25MHz

PIC32MX
設計が古くてエラッタも多い、これだけはお勧め出来ない、後継待ち
M4K 120MHz

PIC32MK
ミドルクラス32ビットPIC、なぜかI2Cが無い
microAptiv 120MHz

PIC32MZ EF
PICコア最強、DSP命令や倍精度浮動小数点命令搭載
M-Class 252MHz

PIC32MZ DA
グラフィック、32MB RAM
microAptiv 200MHz
0004774ワット発電中さん
垢版 |
2018/05/01(火) 23:43:56.23ID:41gUdDfI
PIC10/12/16/18
8bit
ほぼ全ての製品にDIP版がある
コアの性能は他の8bitと比べても極端に低いので
ちょっとでも重い処理をするならPIC以外を選ぼう
4クロックで1命令サイクルなので、
クロックを1/4にしたのが処理性能の目安
コアやペリフェラルは非常に単純なので
自力で全てやってみたい初心者には良い
ただし命令は特殊なのでアセンブラの学習には向かない

PIC24 / dsPIC
16bit
Microchipは32bitに力を入れていてラインナップはいまいち
処理性能は8bit PICよりはずっと上だが
他社の16bitよりは劣る
エラッタも多い
コスパが非常に悪く、
特殊用途以外では今新規で選ぶ価値は無い
0005774ワット発電中さん
垢版 |
2018/05/02(水) 01:20:40.75ID:qrQAGo28
PICは他メーカーの同規模のMCUに比べて非常にエラッタ(バグ)が多いので注意
機能が使い物にならないものやスペックの性能が出ないものも多く存在する
メーカーが把握しつつも公開されてないなかったりする
0006774ワット発電中さん
垢版 |
2018/05/02(水) 01:28:19.06ID:qrQAGo28
本当にPICが適切か良く考えてから選びましょう

主な競合MCU
8bit AVR / STM8
16bit RL78 / MSP430
32bit STM32 / LPC / Kinetis / RX
0007774ワット発電中さん
垢版 |
2018/05/02(水) 01:38:33.19ID:qrQAGo28
開発ツール
PICへよソフトの書き込みやデバッガでのデバッグには以下が必要です

PICkit4 :
安価なデバッガ / ライター
8bitならこれで十分

ICD4 :
高速高性能デバッガ / ライター
16bit / 32bit PICのソフト開発にはこちらがオススメ
0009774ワット発電中さん
垢版 |
2018/05/02(水) 06:56:09.02ID:dB8VyvTc
ファン気質を排除して客観性をキープしたいのだと思う。

ファンと、ファン気質を排除した中立的議論をしようとすると、ニュートラルはアンチ的発言が増えざるを得なくて、
結果的にアンチとみなされることはある。
でも、CPUは純粋な論理的判断の元で選ばれるわけでもないのでニュートラルであることが正しいとは限らない。

一方で、全く白紙のビギナーも対象のこのスレなら、入門前に悪い面も知っておくことも必要かもね。
0010774ワット発電中さん
垢版 |
2018/05/02(水) 07:04:41.43ID:A+mHvvGS
そうか? 正当に公平に客観的に評価しているな、と俺は少し感心したが。
PIC信者は「アバタも笑くぼ」「贔屓の引き倒し」みたいな、>>8 のようなアホばかりだと思っていた。
0012774ワット発電中さん
垢版 |
2018/05/02(水) 07:11:42.22ID:dB8VyvTc
>>10
たとえば>>5の「他社製品との比較」の話は繰り返し書かれてますが、
客観性を示すだけの何かが提示されたことはありません。
0013774ワット発電中さん
垢版 |
2018/05/02(水) 07:17:16.31ID:CimuBWi4
仕事で実験なんかのお試しはPIC搭載のユニバーサル基板を好んで使うよ。
秋月で安くて入手容易。
最終版はRXになるけど、色んなデバイスを使うとアイデアも豊かになるよ。
0015774ワット発電中さん
垢版 |
2018/05/02(水) 07:34:06.15ID:dB8VyvTc
>>13
違うものを使うことで、「〜とはこういうものだ」という概念が固まってしまうことを避けられて良い、
と、俺も思う。
0016774ワット発電中さん
垢版 |
2018/05/02(水) 13:23:04.45ID:A+mHvvGS
>>13
私も色々なCPUを使う事には賛成だな。
「広く浅く」にならないように気を付ける必要があるけど。
私自身は今はあまりPICを使わないけど、昔使ったPIC専用のラッピング配線ユニバーサル基板を
再利用できるように残してある。

ところで、私は始めてのCPUには、まず最初にUARTを使用するモニタプログラム(デバッガ)を
アセンブラで作ってみる。
1週間ほど掛かってしまうが、そのCPUの割込みやレジスタ、メモリ構成、命令などの
アーキテクチャをよ〜く理解できる。
0021774ワット発電中さん
垢版 |
2018/05/02(水) 15:36:49.72ID:p24f6GoE
CPUだけじゃなくてビルド環境にも依存する

セクションの指定方法とか
スタートアップコードとか
割り込みベクタの作り方とか
割り込みハンドラの作り方とか
0022774ワット発電中さん
垢版 |
2018/05/02(水) 15:51:54.97ID:A+mHvvGS
>>17
そだねー、プロにとって時は金なりだからね。
でも、開発環境のデバッガがブラックボックスではなくなる、
(デバッガの訳の分らない不思議な動作や、手の出せないデバッガのバグが無くなる)
というメリットを考えると、プロでも検討してみる価値があるのでは、とも思います。

>>18
6、7種類かな。一番古いのは16ビットコード、16ビットデータの某社のXXXXXXで
一番新しいのはAVRで、AVR用デバッガは現在も成長中。

これからビデオに撮り貯めた世界卓球女子の美誠パンチを見るから、
これで。
0024774ワット発電中さん
垢版 |
2018/05/02(水) 16:15:02.13ID:YJruau7J
>>22
プロには、なるべく責任を他人に分担させる(押し付けるとも言う)と言う考え方と、
なるべく自分で取れる責任範囲を広くすることで利益や責任をとりやすくすると言う考え方の二種類がある。

一方しか出来ない人は、生き残れないかもしれない。
0025774ワット発電中さん
垢版 |
2018/05/02(水) 17:01:34.65ID:0dUQ3SY5
付加価値作ってなんぼだからな
他にできないことができるということが強みになる
お鉢が回ってくるのも大変だけどなw
0026774ワット発電中さん
垢版 |
2018/05/02(水) 18:44:13.61ID:dB8VyvTc
>>17
仕事は仕事、遊びは遊びの時間にするんですよ。

その遊びが仕事にも役に立つことが多かったりして。
0027774ワット発電中さん
垢版 |
2018/05/02(水) 23:29:46.81ID:qrQAGo28
>>22
製品の開発はブラックボックスばかりだよ

コンパイラが吐くコードを検証したり
ライブラリの動作を全て検証したり
ネジを開発したり
金型を自分で削ったり
電子パーツを自分で作ったり
こんなことをしてたら製品なんて出来ない

だから信頼関係は重要

どこかみたいにエラッタを隠蔽するような会社の部品は仕事では絶対に使いたくない
0028774ワット発電中さん
垢版 |
2018/05/03(木) 03:00:47.03ID:3zq/2ceR
>>27
隠蔽する会社というのは、どこですか?
0029774ワット発電中さん
垢版 |
2018/05/03(木) 06:47:41.94ID:zEtko/35
>>28
エラッタを一切公開していない会社ってことなんだろうけれど、そんなところってあるのかな。
0030774ワット発電中さん
垢版 |
2018/05/03(木) 07:07:09.45ID:zEtko/35
でも、>>27のような極論って不毛だよな。

製品作りの過程で、
・コンパイラが吐くコードを検証することもあるし
・ライブラリの動作を全てでないにせよ検証することもあるし
・ネジや金物部品を開発することはわりとあるし
・プログラマブルな部品なんて昔の人から見ればICを自分で作るようなものだし。

俺の経験の範囲では「金型を自分で削った」製品はないな。
でも「最終製品を作っている人はすべて金型を自分で削ることはない」ってことは
ないだろう。


一方で、企画に特化した会社の人なら、
「俺の会社だと、自分でコーディングなんてしていたら製品なんてできないよなあ。
回路図? ハンダ付け? それは工場がすることでしょ?」
なんて常識に浸かってるだろうし。

自分の経験や知ってる範囲の情報で「なんたらはこういうものだ」なんて断定するのは
恥ずべき行為。
0032774ワット発電中さん
垢版 |
2018/05/03(木) 07:22:05.05ID:YqqfGW8W
>>27
スポットで一個二個買うだけの奴に信頼関係なんか築きようがない。
0033774ワット発電中さん
垢版 |
2018/05/03(木) 08:13:03.47ID:9S5y2vyS
picのエラッタは公開してるだろ。
治す努力はわからんけど。
治してもリビジョンチェックして、回避コードと分けるのも面倒なんで、常に回避コードかな。
0034774ワット発電中さん
垢版 |
2018/05/03(木) 08:13:19.76ID:zEtko/35
>>31
たしかに「極論」は言葉として不適切だったかもしれない。
二つの極を想定してその端っこの印象を与える場合がある。でも極論には「極端な論」の意味もある。

コーヒーにどれだけ砂糖を入れるのが旨いか、という話において、
全く入れない、山ほど入れる、前者の意味での極論。
だけど、
「コーヒー自体の濃さ、量に関わらず、2.4グラムの砂糖。これが普通であり、これ以外は旨いと感じるべきではない」
なんて話が出てくれば、これは後者の意味での極論。


開発請負もやるけど、最終製品を出してるわりと大きい会社の人が技術のことには無関心なこともある。
その分、彼らはユーザーのことを回路やプログラムを弄ってる俺たちよりもよく知っているし、
もっと喜ばれるものを考えることに意識を集めている。彼らはコーディングもしないし、もちろんはんだ付けもしない。
彼らにとって製品の開発とはそういうことだし、それは、俺が基板の製造や部品の実装を外部にお願いしていることと、
たいした変わりはない。
そうかと思うと、同じ会社の別の部門で、全然やり方が違うこともある。
…なんてことを経験している人は少なくなかろうと思う。

さまざまなレベルで「〜をやっていたら製品なんて出来ない」の普通があって、>>27の言ってることはそのレベルの
ごく一部にすぎない。2.4グラムの砂糖みたいなもの。
0035774ワット発電中さん
垢版 |
2018/05/03(木) 08:20:07.04ID:zEtko/35
>>32
>スポットで一個二個買うだけの奴に信頼関係なんか築きようがない。

メーカーとユーザーの信頼関係は、友人関係と違って対称ではないし。

クルマを買うとき、「トヨタ(あるいは他のメーカー)は信頼できそう」という漠然とした気持ちとか、
メーカーがユーザーにそのように思ってもらえるようにするために行動することも、ひとつの形。
0036774ワット発電中さん
垢版 |
2018/05/03(木) 08:22:36.49ID:A/CaZZ4F
>>33
公開してないのがたくさんあるわけだが

隠蔽じゃないとすれば
管理ができてない
製品評価が出来てない
ってこと
0037774ワット発電中さん
垢版 |
2018/05/03(木) 08:29:46.92ID:Z/0QBzd5
>>31
日本のスマホ開発とアップルのiphone開発は
両極端(ブラックボックス組合せと、全開発)の近くにいる。

アップル相手で無くても、
低価格のチップをモーレツな勢いで設計し、
多様な製品を作り出すどっかの国と競争できる気がしない。
0038774ワット発電中さん
垢版 |
2018/05/03(木) 08:32:29.75ID:A/CaZZ4F
>>34
何が言いたいかよくんかりません
主張を分かりやすく書いてくださいな
0040774ワット発電中さん
垢版 |
2018/05/03(木) 09:11:26.04ID:zEtko/35
>>36
>公開してないのがたくさんあるわけだが

そのことに問題があるのだとして、他のメーカーのものを選択する、という話だと思うが、
他のメーカーと比較の上で話をしてくれないと意味がない。

↑ID:A/CaZZ4F でも、この2行なら理解できますか?
0042774ワット発電中さん
垢版 |
2018/05/03(木) 15:16:39.03ID:GSfuJmNy
ブラックボックスは少ない方がいいに決っている。
そういえば、昔、韓国がアメリカから購入したジェット戦闘機の飛行管制装置か
火器管制装置だったかのブラックボックスを無理に開けたはいいが閉められなくなって、
アメリカからメチャ怒られた、という事件があったナ。
日本はブラックボックスに出入りするデータを調べて、中身を解明したそうな。

エラッタの多いCPUと少ないCPUのどちらを選ぶか?
選択権が自分にある時に、エラッタの多いCPUを選ぶ人はM傾向がある、
というのが私の持論だけど、
もしかしたら、あえて試練、苦難の道を選ぶ、という崇高な人なのかもしれないな、
なんて思ったりしちゃったりしてw

冗談はともかく、連休も半ばを過ぎました、
英気を養って、趣味、仕事のどちらさんも
プログラミングや回路設計を楽しみましょう。
0043774ワット発電中さん
垢版 |
2018/05/03(木) 16:13:17.09ID:zEtko/35
チップの「エラッタ」には少なくとも次の二つの意味がある
(1)実際のチップのバグ、問題
(2)そのことを記した情報

>>42が言ってる
「エラッタの多いCPUと少ないCPU」はどちらを指してのことだろね。
いずれにしても、多い少ないは、相対的な量を指す言葉であるから何かと比較する必要がある。

多いか少ないかは別にして、(2)を抜きにした非公開情報も含めた(1)については、使ってみないとわからない。
ところが、簡単に顕在化するものとは限らないから、使ってみて大丈夫だから問題なし、とは言い切れない。
そういう意味ではネットに書き込むような開発者が多いチップほど情報が共有できそう。

崇高かどうかは別にして、ユーザーが少なく、メーカーから(2)のエラッタ情報が少ないものは、伏魔殿の
可能性もある。それゆえに、新しいチップについてはメーカーも開発者を増やすことに熱心になるね。
0044774ワット発電中さん
垢版 |
2018/05/03(木) 22:19:16.26ID:Q9Ydt+NA
エラッタが多くても、エラッタが正式発表されてなくても、ユーザーが多くて情報が沢山出回って、不具合で困る事が無ければいいのだ。

医療用や自動車や航空機じゃなければ。
0046774ワット発電中さん
垢版 |
2018/05/03(木) 22:47:56.80ID:9y5xRSNh
なんにせよ初めてスレで何スレも使って延々とする話じゃないんだわ
PIC専用スレに行ってくれ。エラッタ君があの世に行くでもいいけど。
0047774ワット発電中さん
垢版 |
2018/05/04(金) 00:44:32.59ID:4b0W6nUL
PIC32MX340Fを使用してUARTの割り込みをしたいのですが、
反応しません
なにか設定ミスでしょうか?
因みにputsUART1などで文字列送信は、ちゃんとPCで受信できておりますので
ボーレートなどは間違っていないみたいです

void __ISR(32, ipl4) U1RX_interrupt(void) {
LED=1;//LED割り込み時、LED点灯
IFS0bits.U1RXIF = 0; //mU1RXClearIntFlag()
}
//UARTの設定

void Uart_ini(void)
{

// Create a UART TX/RX Pin
SYSKEY = 0xAA996655; // Write Key1 to SYSKEY
SYSKEY = 0x556699AA; // Write Key2 to SYSKEY

//IO Port Initial--------------------
//-----------------------------------
TRISF = 0x0004; // U1TX:RF3 U1RX:RF2 LED:RF0

//UART1 Initial ----------------------
//-----------------------------------
//Mode Setting
U1MODE = 0x00000000; //Clear
U1MODEbits.UARTEN = 1; //15_UART_Enable
U1MODEbits.RTSMD = 1; //11_FlowMode
U1MODEbits.BRGH = 0; //3_StandardSpeed*16
U1MODEbits.PDSEL = 0b00; //8Bit None Parity
U1MODEbits.STSEL = 0; //Stop Bit = 1
U1MODEbits.ON = 1;
U1BRG = (unsigned int)(5000000/Baud)-1; //Baud Rate 9,600bps

//Enable Setting
U1STA = 0x00000000; // ALL STA Clear
U1STAbits.UTXEN = 1; //TX_enable
U1STAbits.URXEN = 1; //RX_enable
U1STAbits.URXISEL = 0B00; //1ByteReceive_Interrupt

//Interrupt Setting
IEC0bits.U1RXIE = 1; //U1RX_Interrupt_Enable
IPC6bits.U1IP = 0B110; //Set priority Priority_2
IPC6bits.U1IS = 0B00; //Set sub priority

INTCONbits.MVEC = 1; //Multi Vector Mode

/* Enable interrupts. */
asm volatile("ei");

}
0048774ワット発電中さん
垢版 |
2018/05/04(金) 07:28:47.12ID:cnrSZwi7
>>45
要約すると「犠牲を払って未知の情報を手に入れた」だよね。
実際、昔は飛行機の開発段階で多くのテストパイロットが犠牲になっている。
でも、この事とPICエラッタとの関係性が分らないな。
「PICの性能向上のために、エラッタの犠牲になるユーザーが発生するのは仕方が無い」とか?
ま、どうでもいいんだけどさ。返事は要らない。

>>46
初心者にはエラッタは大事な話だと思うナ。
つまづいてPICがイヤになるかもしれないんだよ。
0049774ワット発電中さん
垢版 |
2018/05/04(金) 07:40:20.71ID:Op8SpU28
>>48
エラッタについて「根拠を示して他社製品と比較」をしないのはなぜ?
0050774ワット発電中さん
垢版 |
2018/05/04(金) 08:59:40.83ID:kMHAHRjY
>>47
なんか色々と順番がめちゃくちゃ
割り込み優先順位もバラバラ

それが原因かどうかは知らんけど
0051774ワット発電中さん
垢版 |
2018/05/04(金) 11:55:08.67ID:y+3EA50K
pic18なんですが、floatを24bitから32bitに切り替えてビルドするにはでこでしていするのでしょうか?
また、printfで%fも32bitのライブラリがあってリンクされるのでしょうか?
0052774ワット発電中さん
垢版 |
2018/05/04(金) 12:36:46.74ID:+d65Nnar
皆さんこんにちは。お世話になっております。前スレ746です。
https://rio2016.5ch.net/test/read.cgi/denki/1518524799/746

前スレ976さんにいただいたアドバイスに従い勉強してみたところ、
https://rio2016.5ch.net/test/read.cgi/denki/1518524799/976
UART通信+TeraTermを使ったデバッグが私にも出来るようになりました!

それで、USB通信の試験をしていた秋月18F2550マイコンボードにFT232RLUSBシリアル変換モジュールを組み足して、
UART通信の出力させてみたところ、……文字化けしてしまいました
気を取り直して、秋月18F2550マイコンボード+FT232RLだけの最小構成で組み直して、
クロック周波数48MHz SPBRG 311 と設定した場合、文字化け
々 20MHz 々 129 と設定した場合、UART通信成功 しました

TXSTAbits.BRGH:1 高速の場合
SPBRG = クロック周波数 ÷ 16 ÷ 通信速度(9600bps) - 1 で求められるはずなんですけど、
48MHzで計算して出た311の値を入れても上手く行かないみたいでお手上げです
宜しければまたご助言いただけないでしょうか?

クロック設定 48MHz、SPBRG 311 = 結果:UART通信 文字化け
#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 from the 96 MHz PLL divided by 2)
#pragma config FOSC = HSPLL_HS // Oscillator Selection bits (HS oscillator, PLL enabled (HSPLL))
SPBRG = 311;

クロック設定 外付け振動子 20MHz、 SPBRG 129 = 結果:UART通信成功
#pragma config FOSC = HS
SPBRG = 129;
0053774ワット発電中さん
垢版 |
2018/05/04(金) 13:16:04.04ID:H6tz5RqD
>>52
俺詳しくないからあてずっぽだけど、
spbrgって何ビットレジスタなんだ?
256以上の値入れても良いのか?
0054774ワット発電中さん
垢版 |
2018/05/04(金) 13:20:28.37ID:ssBmV+GP
>>52
SPBRG設定値が255を超えてるから、BRG16を1にしないとダメだよ
設定してるっけど書き洩らしてるだけだったらごめんよ
0057774ワット発電中さん
垢版 |
2018/05/04(金) 15:33:54.74ID:Rhwg8qit
>>56
ならproject propertiesのXC8 linkerの
Option categories:Memory modelにある
Size of Floatかな
0059774ワット発電中さん
垢版 |
2018/05/04(金) 20:27:08.04ID:RlsAqhyd
>>52
低速(BRGH:0)にして
SPBRG = ((48MHz / 9600bps) / 64) - 1
SPBRG = 77
でもいいんじゃない
0060774ワット発電中さん
垢版 |
2018/05/04(金) 23:18:08.15ID:+d65Nnar
>>52です。質問してすぐに的確で素晴らしいご回答をいただいていたのに
すぐにお返事できなくてすみませんでした!

>>53さん
ありがとうございます!
ご指摘のように、SPBRG は 8bitレジスタでした!
恥ずかしながら、8ビット長の値までしか入らないなんて、
全然頭にありませんでした!

>>54さん
正解まで導く的確なアドバイスをありがとうございます!
おかげさまでBAUDCONbits.BRG16 の存在と意味を初めて知りました!
ご助言に従い計算してみたところ、
BRGH:1高速、BRG16:1の場合、
通信クロック制御値 = クロック周波数 ÷ 4 ÷ 通信速度(9600) -1 = 1249
1249 = 0b100 1110 0001
SPBRGH = 0b100;
SPBR = 0b11100001; となり、
その値でプログラミングしてみたところ、TeraTermとのUART通信に成功しました!
感激です!!

>>59さん
ご助言ありがとうございます!
BRG16がわからないなら、BRGHを低速にしちゃえばいいじゃない
逆転の発想が素晴らしいです
その設定でも試したところ、通信が上手く行きました!
おかげさまでとても勉強になりました
0061774ワット発電中さん
垢版 |
2018/05/05(土) 05:30:28.09ID:E1k/gbgI
>>59
低速モードの方が、1クロック当たりのサンプリング回数が16回になるから、エラーに強いしな。
0062774ワット発電中さん
垢版 |
2018/05/05(土) 08:22:47.15ID:YTLk3Fqg
どんなエラーに強くなるんだろう。

俺の想像 → ビットレートの誤差(エラー)ぐらいかな? それ以外に特別なことをしてるのだっけ。
006447
垢版 |
2018/05/05(土) 12:47:09.99ID:YwuRBCsY
うーん割り込みが発生しない PIC32MX220Fでは動作したのですが・・


レジスタ設定が悪いのでしょうか?
IOポート設定の後に、シリアル割り込み↓を設定

//Interrupt Setting
IEC0bits.U1RXIE = 1; //U1RX_Interrupt_Enable
IPC6bits.U1IP = 0B110; //Set priority Priority_2
IPC6bits.U1IS = 0B00; //Set sub priority
INTCONbits.MVEC = 1; //Multi Vector Mode
----
↓割り込み関数は下記
void __ISR(_UART_1_VECTOR, ipl2)U1RXHndeler(void)
{
//Receive Command Buffer Input
cRevBuf[iRevCnt] = getcUART1();

LED=1;
IFS0bits.U1RXIF = 0; //mU1RXClearIntFlag()
}
0065774ワット発電中さん
垢版 |
2018/05/05(土) 13:23:54.94ID:YwuRBCsY
すみません自己解決しました。
■修正箇所
・RTSMDを0にすべきでした
U1MODEbits.RTSMD = 0; //11_FlowMode
・優先2になってませんでした。
IPC6bits.U1IP = 0B010; //Set priority Priority_2
0066774ワット発電中さん
垢版 |
2018/05/05(土) 13:32:19.14ID:2mpciG2/
>>62
波形歪みに対して少し強くなるということくらい。
この場合の波形歪みとはデューティー50%で送信したのが受信側では40%で受かる
とか60%で受かるという意味。
調歩同期ではビットの中心をサンプリングするのが基本だけど、サンプリング
クロックが低いとセンターからのバラツキが大きくなる分波形歪みに弱くなる。

しかしサンプリングクロックを低く選択すると分周カウンタの値を大きくできる
のでボーレートのエラーを少なくできるという利点がある。
ボーレートを高くする場合はサンプリングクロックが低くなる組み合わせを選択
した方が総合的に有利になる場合が多い。
0068774ワット発電中さん
垢版 |
2018/05/05(土) 18:12:11.73ID:E5Y8/bCB
調歩同期サンプリングって3か所とって多数決判定じゃなかった?
ソフトUARTは知らんけど
0070774ワット発電中さん
垢版 |
2018/05/06(日) 10:49:14.58ID:f/0DWkwG
>>68
PICのUARTって、単にbitの真ん中で刻むんじゃなかった?
16回取って多数決はやってないかと。
ボーレート設定値は、単に源振からの分周値。
0071774ワット発電中さん
垢版 |
2018/05/06(日) 11:31:29.13ID:or4YTKoV
だいたい元の質問で9600ってんのにどんな過酷な線路想定してんのよw
0072774ワット発電中さん
垢版 |
2018/05/06(日) 13:31:04.94ID:eAiWGLV1
>>70
PIC24FとかPIC32のUARTリファレンスマニュアルには
3回サンプリングの多数決と書いてあるねぇ

8bitのはしらんけど
0077774ワット発電中さん
垢版 |
2018/05/06(日) 15:25:09.12ID:PkjwEilL
ルネサス当たりの石だとUART入力とかにいろいろ対策回路が入っているな
ノイズ対策etc
0078774ワット発電中さん
垢版 |
2018/05/06(日) 19:18:20.76ID:QGzzcRBQ
ピックのポートリードとポートライトについて質問さしてください
0079774ワット発電中さん
垢版 |
2018/05/06(日) 19:23:54.50ID:QGzzcRBQ
ポートAのうち、0,1,4,7を出力にして使いたいと思っています
使わされているのはXC8です
たとえば

PORTAbits.RA0 = 1;
PORTAbits.RA1 = 0;
PORTAbits.RA4 = 0;
PORTAbits.RA7 = 1;

このようにコードを書いた場合、RA0とRA7は同時に1にならず若干の時間差が
あると思うのですが、4つのポートを真に同時に変化さしたい場合はどうすれば
いいんでしょうか?

出力として使わされてないRA2-3, RA5-6は変化さしたくないのですが、
PORTA = 0b10000001 ;

と書いてしまっても大丈夫なんでしょうか?
0080774ワット発電中さん
垢版 |
2018/05/06(日) 19:56:31.63ID:or4YTKoV
もちろん可能です。
0082774ワット発電中さん
垢版 |
2018/05/06(日) 21:27:54.89ID:17uVgLCS
>>79
> 出力として使わされてないRA2-3, RA5-6は変化さしたくないのですが、
> PORTA = 0b10000001 ;
> と書いてしまっても大丈夫なんでしょうか?

日本語の解釈が判然としないが
出力に設定されているが、変化させることを許されていないと言う意味ならば、あなたの書いたコードは、まずい。
もう少し解釈が分かりやすい日本語を書いてもらえないかな?
0083774ワット発電中さん
垢版 |
2018/05/06(日) 21:49:09.48ID:9H+xP+gG
>>81
このコードが最適化で同時になったらさすがに怖いと思う。
>PORTAbits.RA0 = 1;
>PORTAbits.RA1 = 0;
>PORTAbits.RA4 = 0;
>PORTAbits.RA7 = 1;
0084774ワット発電中さん
垢版 |
2018/05/06(日) 22:01:34.52ID:9H+xP+gG
>>82
>ポートAのうち、0,1,4,7を出力にして使いたいと思っています
ということなので、それ以外のビットは出力ポートではないと解釈できないだろか。
0085774ワット発電中さん
垢版 |
2018/05/06(日) 22:07:36.92ID:XFdtnFLo
>>84
書き方が「使わされている」とか、他人の設定の下で作らされていると言う雰囲気なんだよね。
他のポートを出力にしないなら、何も気にする必要はないのだけど、そう読み取れないんだ。
0086774ワット発電中さん
垢版 |
2018/05/06(日) 22:13:22.83ID:VVV0PKMe
確かに他人のコードを邪魔しないように変更したいんだけどどうしたらいい的な雰囲気は取れるな。
一貫して使わされてる、変化さしたくない、大丈夫でしょうか、とか一歩引いてるよね。
まあここで聞いても結論というか、保証にはならんが。
0087774ワット発電中さん
垢版 |
2018/05/06(日) 22:16:26.97ID:52JcCsVp
なんか不安になる書き方よなw

怪しいから
1回PORTAを読んで
bit 0,1,4,7を変更してから
LATA出力した方がいいかな
って思ったもん
008879
垢版 |
2018/05/06(日) 22:19:33.21ID:QGzzcRBQ
79です。すみません

>>82
他のポートは入力に設定しています。トリス設定が

TRISA = 0b01101100;

とされているという意味でかきました
0089774ワット発電中さん
垢版 |
2018/05/06(日) 22:40:14.04ID:XFdtnFLo
>>88
だったら、
あなたの書いたコードでok

ところで、
>出力として使わされてないRA2-3, RA5-6は変化さしたくないのですが
この文章は、何が変化することを心配して書いたの?
009079
垢版 |
2018/05/06(日) 22:52:27.84ID:QGzzcRBQ
トリスで入力に設定しているポートに対してラットで値を書き込んだ場合、
次にそのポートをポートで値を読み込んだら先ほどラットで書いた値に
変化するんじゃないかな?と思って心配してかきました

トリスで入力に設定しているポートについては、ラットで値を設定しても
完全に無視されると言う認識でよろしいでしょうか?
0091774ワット発電中さん
垢版 |
2018/05/06(日) 22:56:39.17ID:c41x0gbg
TRISをトリス設定って云うのはじめて聞いたな
まぁまんまだけどなんか深セン
0092774ワット発電中さん
垢版 |
2018/05/06(日) 23:06:31.45ID:XFdtnFLo
>>90
それは大丈夫。
入力はピンの値をそのまま読む。
だから困ることもある。
出力時に値を読み込むと、違う値が読めることがあるんじゃなかったかな。
特にキャパシタがぶら下打てたりすると。
009379
垢版 |
2018/05/06(日) 23:07:30.54ID:QGzzcRBQ
続けてポートリードのほうの質問をさしてください
以下のようなコードを書いてみしたのですが

a += PORTAbits.RA0;
b += PORTAbits.RA1;
c += PORTAbits.RA2;
d += PORTAbits.RA3;
x1 += PORTAbits.RA4;
x2 += PORTAbits.RA5;
x3 += PORTAbits.RA6;
x4 += PORTAbits.RA7;

これって
1・PORTAの値を読む
2・0ビット目の値を得る
3・変数aに加算する
4・PORTAの値を読む
5・1ビット目の値を得る
6・変数bに加算する



と言う感じで無駄にポートAの値をよんでるのでは?ないかというきがしています
最初に
data = PORTA;
としてまずポートAの値を読んだあとに
a += (data & 0b00000001 ? 0 : 1);
b += (data & 0b00000010 ? 0 : 1);
みたいな感じで処理したほうが効率的に処理させられるんでしょうか?
0094774ワット発電中さん
垢版 |
2018/05/07(月) 00:27:51.86ID:RE87V43P
勿論そうだが
if (data & 0b00000010 ) b ++;
の方が効率良いと思う
0095774ワット発電中さん
垢版 |
2018/05/07(月) 07:07:04.29ID:8TTwvipv
>>93
コンパイラの出力するコード次第だけど、
PICの場合、アセンブラレベルで見ると、
dataに移さずPORTAで直接処理しても、
実行速度は変わらないんじゃない。

だから、細かい効率を考えるなら、
if (PORTAbits.RA0) a++
が一番速そう。
個人的には、dataに移す方がプログラムのお行儀的に良いと思うし、
アセンブラで書かないなら、違いは分からないだろうな。

ところで、無駄にポートAの値を読むと、何が悪いと思ってるのかな?
♯お行儀はよくないのだけど。
0096774ワット発電中さん
垢版 |
2018/05/07(月) 07:20:34.36ID:GbP1qhUp
ま、慣れた人が同時に変化させたいなんて案件なら
ポートA全部出力にまとめる
入力は他のポートにする
だろうね。
0097774ワット発電中さん
垢版 |
2018/05/07(月) 12:04:34.15ID:JKxEdzHq
>>93
PORTAbitsは周辺制御に使う特殊レジスタですので
コンパイラの最適化を行わないような設定になっています
なので>>93のような処理になるはずです

以下のような項目に問題があるなら最適化の方法は色々とあります
同時性、処理速度、コードサイズ

これらの問題がないならそのまま気にしないのが良いでしょう
0098774ワット発電中さん
垢版 |
2018/05/07(月) 12:13:41.58ID:JKxEdzHq
>>79
PORTAの2356が出力設定になっていないのであれば問題ないですが
将来的にこれらを使う可能性を考えると
極限までコードサイズや実行速度を求めるのでなければ
2356の出力を保持するコードが良いとおもいます

>>81
>>97の理由でなりません
0099774ワット発電中さん
垢版 |
2018/05/07(月) 13:18:52.62ID:JKxEdzHq
>>79
LATAが存在するPICならLATAで制御するべきですね

----

PICのポート出力は3種類のチップが存在する

1. PORTAで制御
2. LATAで制御
3. LATA, LATCLR, LATSET, LATINVで制御 (32bitのみ)

3. だと以下のような万能なコードが作れるが
1. 2. だとそのようなコードは作れない

LATAINV = (LATA ^ val) & mask;
0100100
垢版 |
2018/05/07(月) 21:56:52.47ID:m5Kopfp1
100
0101774ワット発電中さん
垢版 |
2018/05/08(火) 09:37:22.76ID:kGNWLnWL
FT101
0103774ワット発電中さん
垢版 |
2018/05/08(火) 13:13:25.85ID:xaPNoQhW
DL-103
0108774ワット発電中さん
垢版 |
2018/05/08(火) 20:42:12.57ID:64vL0R+2
LATって「ラット」じゃなくて「ラッチ」じゃないの?
いつも「ラッチエー」「ラッチビー」って呼んでるわ
0109774ワット発電中さん
垢版 |
2018/05/08(火) 20:48:52.19ID:EB8u7hrA
書くときに「トリス」とか書かなければ良いんじゃねえか?
呑みたくなるよなあれ見ると。
0111774ワット発電中さん
垢版 |
2018/05/08(火) 23:42:17.68ID:xaPNoQhW
80-6D6-6C6-6ZP1
0114774ワット発電中さん
垢版 |
2018/05/09(水) 03:27:03.91ID:Mqvqtskt
6ZDH3A 6AU6
0118102
垢版 |
2018/05/09(水) 13:28:20.96ID:kYx2lcNm
すまんこってス 42
0119774ワット発電中さん
垢版 |
2018/05/09(水) 14:23:18.76ID:YsoLF+lm
ラジオ球ばっかりだな。ひねりはないのか?  12F
0121774ワット発電中さん
垢版 |
2018/05/09(水) 15:40:54.67ID:Q6543x/b
私が生まれて初めて作った真空管パワーアンプは6BM8。
2作目は6BQ5のPP、最終作は6080のOTL。
12AX7のローノイズ管も何本も持っていたが、
ある日、真空管をじぇ〜んぶ捨てた。何もかも捨てた。
0123774ワット発電中さん
垢版 |
2018/05/09(水) 17:17:18.44ID:YsoLF+lm
>>121
冬の暖房は 6080 に限りますね
0124774ワット発電中さん
垢版 |
2018/05/09(水) 20:54:30.34ID:hLrZIZGC
冷え込んだ冬、アンプの球を代えてチューニングしていた
熱したタマをフローリングの床に置いたら、ピシッと言ってヒビが入った
WE300Bだった
0127774ワット発電中さん
垢版 |
2018/05/10(木) 09:45:19.94ID:+hNoa1fn
同調回路の出力を、
内蔵A/Dでデジタルにすれば、
PICでラジオはできますか?
if()でマイナス側を切ってしまえば検波になりそうです。
PWMで出力して音にするとか。
0128774ワット発電中さん
垢版 |
2018/05/10(木) 10:07:24.14ID:zbS8RjPZ
そんな半端な信号処理する意味は無いが
単なる実験ならやってみれ
0130774ワット発電中さん
垢版 |
2018/05/10(木) 11:27:56.22ID:qqOagvAv
>>128
どの辺が半端でしょうか?
なぜ意味がないのですか?
0131774ワット発電中さん
垢版 |
2018/05/10(木) 11:35:44.57ID:zbS8RjPZ
ゲルマラジオと同じことをPIC使ってやったって意味なかろう
やるなら全帯域サンプリングしてLo掛けてLPF後にヒルベルト変換して
絶対値振幅取ってAM検波すればいいが
AGCのダイナミックレンジはADCで賄えないからRF段にAGC回す必要があるし
そんな処理はそこらのPICには入らないな
0132774ワット発電中さん
垢版 |
2018/05/10(木) 17:12:08.32ID:5W9TKgi2
>>130
とりあえず「包絡線検波」でもググって、やるべきことが何なのか理解することから始めよう
0134774ワット発電中さん
垢版 |
2018/05/10(木) 19:20:55.40ID:GH0XotCu
>>131
知ってることを並べたかったんだね。
世の中に、意味のないことなんて、何もないと思うけど。
0135774ワット発電中さん
垢版 |
2018/05/10(木) 19:35:11.78ID:ewyUqVNc
> 知ってることを並べたかったんだね。
おれもそう思った
なんか無理してる感

> 世の中に、意味のないことなんて、何もないと思うけど。
これには同意しないけど
0136774ワット発電中さん
垢版 |
2018/05/11(金) 14:50:19.57ID:6DU5Tnib
MPLAB X IDEのエディターで質問です。
文字コードはUTF-8にしています。
ソースのコメントに全角文字を使うと赤色の〜状のアンダーラインが表示される部分があります。
何の警告何でしょうか?
0138774ワット発電中さん
垢版 |
2018/05/11(金) 20:01:50.30ID:y98rm0N8
>>137
やっぱそう?
俺コメントは後日思い出しやすいように「このエラーが出たらどうするのが正解かわからんので無応答でマスターの次のフレームを待つわ」とか。
0141774ワット発電中さん
垢版 |
2018/05/11(金) 20:41:54.89ID:/lImoAt5
コメントには、
何をするかを書くんじゃなく、
なぜそうするのかを書く。
0143102
垢版 |
2018/05/11(金) 20:47:47.94ID:fuw94Me2
; 初めはグー
0145774ワット発電中さん
垢版 |
2018/05/11(金) 20:52:30.73ID:/lImoAt5
いやー、そうじゃなくって、
int i = 0; // フレーム番号は0から始まる
とか、
int i = 0; // 不要なはずだが、念のため初期化しとく。
とか。
0146774ワット発電中さん
垢版 |
2018/05/11(金) 21:19:38.86ID:fX9hsbm4
規模が大きくなるとコメントの内容も規模が大きくなる

>>145みたいな細かい単位のコメントはマイナスになることも
0148774ワット発電中さん
垢版 |
2018/05/11(金) 21:37:45.12ID:/lImoAt5
int i; が良くないというのは同意。

付け加えとくと
何をするかの記述には、まとまったコメントとして書く。
行末のコメントは、何故そうするかを書く。

ただし、行末コメントのほうが更新しやすく、
まとまったコメントは修正し忘れて、実態と合わなくなってしまう事が多いので、
一方に頼れない。
0150774ワット発電中さん
垢版 |
2018/05/11(金) 21:43:06.75ID:fX9hsbm4
更新しない人は行末とか関係なく更新しない
コメントに頼るのってのも異常
0153774ワット発電中さん
垢版 |
2018/05/12(土) 01:31:38.80ID:axVlE/gd
int i; はワード検索にしないと探しにくいという観点で好きくない。
int ii; にするとがぜん検索しやすくなる。
0154774ワット発電中さん
垢版 |
2018/05/12(土) 06:55:32.07ID:Txiazbh9
検索しなきゃならない用途で i なんて使ってはいけない
極めてローカルな変数、生存するのがコード数行の範囲みたいな場合でのみ使う
こういう場合は極めてシンプルな名前にするべき
0159774ワット発電中さん
垢版 |
2018/05/12(土) 09:15:52.16ID:M22CumyC
forteanの暗黙の型宣言は以下のルールに基づきます。
A-H,O-Zで始まる変数は実数型となる
I-Nで始まる変数は基本整数型となる
0169774ワット発電中さん
垢版 |
2018/05/15(火) 21:12:27.06ID:FGUU5gFP
4になって速くなったんじゃないかなあ。
中華クローンの3しか使わないから、遅いけど高くはないね。
0171774ワット発電中さん
垢版 |
2018/05/16(水) 06:47:50.35ID:XHew+3Cu
速度は遅いと思った事無いけど、あのピンソケットみたいなのいい加減やめてくれと思う。
0173774ワット発電中さん
垢版 |
2018/05/16(水) 13:35:35.37ID:OH4VKxmr
クローンの値段でも儲かるってことだよな
ぼったくりすぎ
0174774ワット発電中さん
垢版 |
2018/05/16(水) 14:21:00.74ID:qsGpCJ8u
>>171
でどうしろと?

>>173
売りっぱなしの中華セラーと本家Microchip との立場の違いを考えりゃ分かる話っしょ。
たかが5000円で何言ってんだか…。
0175774ワット発電中さん
垢版 |
2018/05/16(水) 16:08:04.32ID:otNmMYCp
本家はPICKITで儲ける必要は無いんだから
利益ゼロでもいいくらい
他だと無料で配ってたりするのに
0176774ワット発電中さん
垢版 |
2018/05/16(水) 16:19:10.17ID:0vyQfQ4W
それな
オープンハードにしてくれればいいんだよ
arm(mbed)のHDKみたいに
0178774ワット発電中さん
垢版 |
2018/05/16(水) 19:19:04.78ID:lSWld/Q0
中華製だと使ってる部品がさらに海賊版とかの可能性もありそう
Windowsのドライバアップデートで海賊版はじくようにしたら阿鼻叫喚みたいなのが前にあった気が
0179774ワット発電中さん
垢版 |
2018/05/16(水) 20:05:58.12ID:krKo+F3n
>>174
答えは身内にあるよ。Atmel ICEみたくロックするコネクタがベスト。
0182774ワット発電中さん
垢版 |
2018/05/16(水) 22:54:36.02ID:XoArIbLY
>>179
変えたら変えないことを望むユーザーが文句を言うだろね。

というか、1列ヘッダーが嫌なら変換基板を作るのも手なんじゃない?
0185774ワット発電中さん
垢版 |
2018/05/17(木) 00:49:09.40ID:WzMNymwf
ピキ4(ピクキ4)とピキ3で数百円しか差がないし、今から買うなら
問答不要でピキ4だろうなぁ

うちのピキ3で玉に出る「VDDの電圧が足りない」エラーも改善されてたり
するんかなぁ
0190774ワット発電中さん
垢版 |
2018/05/17(木) 06:55:18.38ID:/7MCYmgM
>>182
君頭悪いね 勝手に抜けるのが問題でロックするコネクタ使えって書いてるのに
「変換基盤作れ」とかさ。
0192774ワット発電中さん
垢版 |
2018/05/17(木) 07:26:22.18ID:sjAg9BIO
>>190
確かに変換基板なしでも、
PICKIT(1列ヘッダー接続)---ワイヤーハーネス---ロック付きコネクタ
でいいね。

変換基板を作っておけば、Atmel ICEの標準ケーブルをそのまま使えるのでは、
とは思ったけど、要らないな。

で、コレなら別に何の苦労もなく、今のPICKITで実践できるのでは?


PICKITのところは、いったん接続すれば、ターゲットボード側と違って
抜き差ししなくちゃいけないものでもなく、粘着テープでも使えば勝手には抜けないわけだし。
0193774ワット発電中さん
垢版 |
2018/05/17(木) 12:42:43.76ID:mkNlC5fL
8 bit DIP PIC で遊ぶとき 5 pin ヘッダのうちの 3本 (GND,ICSPDAT,ICSPCLK) を
PIC の足に直接はんだ付け。Vdd と Vpp の 2本は電線でつなぐ。
これだけでプログラミングができるわけだが、 さて、そうすると、PICKIT が裏返しに
なってしまう。これが気持ち悪いので、PICKITの1列ヘッダーの順番を入れ替える
だけの短いケーブルを作って使ってますが、誰の役にも立たない情報ですかね。
0198774ワット発電中さん
垢版 |
2018/05/17(木) 18:13:50.95ID:/7MCYmgM
なるほど 今よりは良さげだからパクらせてもらう。ありがとう。
0200774ワット発電中さん
垢版 |
2018/05/17(木) 21:00:46.17ID:OBiiZljn
うん、もちろんメスのバージョンもあるよ
あとICクリップのバージョンも
0201774ワット発電中さん
垢版 |
2018/05/18(金) 00:55:17.04ID:6cv9dpGZ
PICkitのコネクタはユルユルなんだよね
俺も延長ケーブルを粘着テープで留めてるけどロックがあった方がいいね
0202774ワット発電中さん
垢版 |
2018/05/18(金) 05:03:35.01ID:K+TUSgvX
>PICkitのコネクタはユルユルなんだよね
うちのはそんなことない。
まさか、細いピンヘッダ使ってるとかいうオチじゃないよね?
0204774ワット発電中さん
垢版 |
2018/05/18(金) 08:10:32.78ID:iJ3OrOLF
>>197
短くて使いにくそう
おれのはもっと長い

バラオス
バラメス
5pinオス
5pinメス
4種類作ってある
0205774ワット発電中さん
垢版 |
2018/05/18(金) 08:13:09.75ID:iJ3OrOLF
>>201
ゆるい女っているよな
中が空洞みたいな感じになってて
遊びすぎってわけではなさそうだけど
0211774ワット発電中さん
垢版 |
2018/05/18(金) 15:00:07.45ID:nMsqGtRy
電子工作初心者です。質問させて下さい。
DMMで図の場所における直流電圧を測りました。
スイッチONにしたらLEDが点灯するのは
トランジスタPNP型の使い方として、理屈の上ではわかるのですが、
では、何故LED無しでスイッチOFFの場合でも4.5Vも流れてるのでしょうか?
意味がわかりません。DMMの使い方が間違ってるのかもしれません。
間違ってるとしたら、スイッチON/OFFの場合にLEDのあった場所に掛かる適切な電圧の測り方を教えて下さい。
どうか宜しくお願いします。(このあとPICを使った回路に組み込む予定です)

[LEDあり]
スイッチOFF:1.6V
スイッチON:1.8V - LED点灯
http://neo.vc/uploader/src/neo33050.gif

[LEDなし]
スイッチOFF:4.5V - スイッチOFFでも何故こんなに電圧が掛かってるのですか?
スイッチON:4.8V
http://neo.vc/uploader/src/neo33051.gif
0212774ワット発電中さん
垢版 |
2018/05/18(金) 15:34:58.53ID:K+TUSgvX
>>203
それだったか分からないけど、秋月で買ったので頭の径が2.54mmより太いのがあるよね。
並べて挿すとピンソケット痛めそうな欠陥商品。
0213774ワット発電中さん
垢版 |
2018/05/18(金) 15:40:32.61ID:6m0U8Ou3
>>211
PIC関係無いけど二枚目の図だとDMM短絡してるだけなのに
本当に電圧出てるならそんな不良DMMは棄てるべき
0214774ワット発電中さん
垢版 |
2018/05/18(金) 16:33:34.39ID:nMsqGtRy
213さん、ご回答ありがとうございます。
おかげさまで、短絡(ショート)の意味がわかりました。
抵抗無しで電圧を測ると、理屈上では電圧が無限大になってしまうのですね。
下記URLの図のようにして計測し直したところ、
スイッチOFF:1.4V
スイッチON:4.8V 
と、求めていた通り正しく計測できました! これでPICへ組み込めます!

http://neo.vc/uploader/src/neo33052.gif
0215774ワット発電中さん
垢版 |
2018/05/18(金) 16:38:20.90ID:nMsqGtRy
間違えました。ショートすると、電流が無限大です。
オームの法則。I = V / R
0218774ワット発電中さん
垢版 |
2018/05/18(金) 17:12:36.21ID:6m0U8Ou3
1.4/0.47=2.978723404255319
3mAも流れるのはおかしいね、回路図でなく写真が見たいな
0219774ワット発電中さん
垢版 |
2018/05/18(金) 18:10:07.50ID:nMsqGtRy
実は回路図の外に、
トランジスタのベースに、スイッチ以外にも赤外線センサーが並列で繋がってまして
そのセンサーが微妙に反応してるからLEDの部分に1.4Vも流れてたみたいです
センサーを取っ払ったら、きっちり0Vになりました
すみません。お騒がせしました
0220774ワット発電中さん
垢版 |
2018/05/18(金) 19:13:25.69ID:k36U8r+X
>>213
DMM棄てる前に、DMM両端の電線を「発電する電線」として売りだせば儲かるのに、と思ったが、
>きっちり0Vになりました
残念だった
0222774ワット発電中さん
垢版 |
2018/05/18(金) 20:56:58.94ID:GKxZMZbk
>>219
一応注意しとくけど
> LEDの部分に1.4Vも流れてたみたいです
電圧が掛かる
電流が流れる
だよ。
0226774ワット発電中さん
垢版 |
2018/05/20(日) 10:41:52.47ID:myneQeG+
下記のサイトを参考にしてPIC32MX340FのI2Cの実験をしている
http://www7b.biglobe.ne.jp/~nobosan_flute/lab_theme60.files/PIC32MX_RTC8564_Test_1.c
のですが、I2Cの出力がされません(たまーにI2C出力されたり、とても不安定)

回路図
https://i.imgur.com/1E7vwXf.jpg
レベル変換の回路と先の回路は、PIC32MX220F032Bで実績があります。

Main関数はポート設定のini_io() を呼び出した後、300msec後に
I2Cの初期設定I2C_ini()を呼び出すようにしてます。

void ini_io() {
//IO Port Initial--------------------
//-----------------------------------
TRISG = 0x000C; // PortG

AD1PCFG = 0xFFFF; //ALL DigalMode * 0:Analog 1:Digital

//Timer1 Initial---------------------
//-----------------------------------
T1CON = 0x0000; // Stops the Timer1 and resets the control register
//80MHz ->12.5nsec Timer1 :12.5nsec x 80 = 1000nsec = 1usec
TMR1 = 0x0000; // Clear timer register
T1CON = 0x8000; // TMR1 on, prescale 1:1 PB
}
void I2C_ini(void){
//I2C ini
OpenI2C1(I2C_ON | I2C_IDLE_CON | I2C_7BIT_ADD, 0x18E); // Address Mode :7Bit BaudRate:100kbps
}
0227774ワット発電中さん
垢版 |
2018/05/20(日) 12:50:31.34ID:em62rwbo
>>223
なんで気違いなの?
0228774ワット発電中さん
垢版 |
2018/05/20(日) 13:14:07.33ID:WzctnvcE
>>226

(オシロスコープがあれば)
PIC側、デバイス側両方のSCL,SDAの波形を見る

SDAとSCLを普通のポートの設定にして、
入力にした時とロー出力にした時の各電圧をテスターで測る

速度を落として動かしてみる (1kHzとかに)

ポート制御のI2Cにして試してみる
(Microchipのコードもある bit-bang i2c で検索)

信頼できるコードを探す
0229774ワット発電中さん
垢版 |
2018/05/20(日) 13:33:41.47ID:yB5KcCqZ
harmony 使え。以上。
0231774ワット発電中さん
垢版 |
2018/05/20(日) 14:16:48.25ID:U7dyq/0q
>>226
波形が出ていたり、出なかったりするのが変だね
コードや回路がおかしかったら、まったく出ないはずだが:::;。
デバイスだけ変えたら、正常に動作するんだよね?
340fのバグなんじゃ・・・
0232774ワット発電中さん
垢版 |
2018/05/20(日) 14:20:17.95ID:WXMGfkV4
エラッタにそれらしい記述は無かったが
お得意のサブマリンの可能性もあるかも

それにしてもひどいねエラッタ(というかバグ)
リビジョンが4回変わってもほとんどなおってない
0233774ワット発電中さん
垢版 |
2018/05/20(日) 14:26:13.85ID:WXMGfkV4
>>231
「I2Cの出力がされません」
と書いてあるだけで
波形が出てないのか鴨東が無いのか
どうやって調べたか
などは何も書いてないし
デバイスだけ変えて動くとも書いてない

解析において思い込みは良くないぞ
0235774ワット発電中さん
垢版 |
2018/05/20(日) 14:58:26.30ID:NXoZhHnL
公開されてるだけで76個のバグを抱えたマイコン
MXは使うなって

メモリ2度書き問題とか
リセット不完全問題とか
ヤバいのが盛りだくさん
0237774ワット発電中さん
垢版 |
2018/05/20(日) 15:37:56.47ID:ff7BPLlk
>>235
エラッタ厨は専用スレに書けよ
コッチでケチつけるくらいしかできないんだろ
具体的にI2Cがエラッタかどうかの解析方法すら書けないくせに
0238774ワット発電中さん
垢版 |
2018/05/20(日) 15:38:09.69ID:G8H/LTqg
お前らプロファイル情報の更新した?
モレスキン社の手帳が届いたわ。
0241774ワット発電中さん
垢版 |
2018/05/20(日) 21:55:14.37ID:1fXX7T/R
PIC18を動作させることに成功し、次にPIC32にチャレンジしましたが、
ビルドすらできず困っております。
アドバイス等ありましたら教えて頂きたいです。

【環境】
PIC32MX210F016B
MPLAB X IDE v4.15
XC32 v2.05
Harmony v2.05

【ビルド時のエラー】
--前略--
make[2]: Entering directory '--プロジェクトのフォルダ名--'
make[2]: *** [build/default/production/_ext/1360937237/main.o] Error -1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [build/default/production/_ext/1688732426/system_init.o] Error -1
"C:\Program Files\Microchip\xc32\v2.05\bin\xc32-gcc.exe" -g -x c -c -mprocessor=
32MX210F016B -ffunction-sections -O1 -I../src -I../src/system_config/default
-I../src/default -I../src/system_config/default/framework -MMD -MF build/default/production/_ext/1360937237/main.o.d -o build/default/production/_ext/1360937237/main.o ../src/main.c -DXPRJ_default=default -no-legacy-libc
nbproject/Makefile-default.mk:183: recipe for target 'build/default/production/_ext/1360937237/main.o' failed
--後略--

最後の行(nbprojectで始まる行)がリンクになっており、クリックするとMakefile-default.mkの
@${MKDIR} "${OBJECTDIR}/_ext/1360937237"
と書かれた行に飛び、その行には波線と行頭に△!が表示されますが、警告内容は表示されません。

特に手がかりとなるメッセージも読み取れず、途方に暮れております。
IDE・コンパイラ・Harmonyを再インストールしましたが、改善しませんでした。
PIC18は現在もビルドできます。

長文申し訳ありません。

このスレに書き込んだつもりが違うスレに書き込んでしまったので、再度書き込みさせて頂きます。
0242774ワット発電中さん
垢版 |
2018/05/20(日) 23:15:17.56ID:jsXLj3Vj
PIC18とPIC32は同じPICを名乗っていても中身は全然違います
タイヤがついてるから荷車(一輪車)もF1カーもどっちも同じクルマだよね
って言うくらい違います
0243774ワット発電中さん
垢版 |
2018/05/20(日) 23:30:16.40ID:NXoZhHnL
別に大して変わらんよ

MCCやHarmonyを使うことがPICのプログラミングだと思ってる人から見たら大違いなのかも知れないけど
0246774ワット発電中さん
垢版 |
2018/05/21(月) 06:59:23.40ID:2BHbHsJ0
エラッタ多いのは100歩譲るとしても何で修正しないんだよ?
修正する気が無いなら製造中止にしろ
0247774ワット発電中さん
垢版 |
2018/05/21(月) 07:43:22.50ID:wNHlGzJK
誰が作っても同じような事はHarmonyに任せてApplication Logicの構築に注力する。
何でも自分でつくろうとして(データシート読んでないだけだろうが)結果ハマってエラッタエラッタと吠える。

どっちが賢いか、分かるだろ?
0250774ワット発電中さん
垢版 |
2018/05/21(月) 09:17:32.89ID:8Wgjf+Gb
> 修正する気が無いなら製造中止にしろ
すげー暴論
自分が使わなければいいだけ

そう言うとこの手の輩は、これ以上被害者を増やさないためとか言い出すが
小さな親切大きなお世話だ
0251774ワット発電中さん
垢版 |
2018/05/21(月) 09:22:08.21ID:+YPLsCwK
ユニークで個性的な確実稼げるガイダンス
暇な人は見てみるといいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

SEPLO
0254774ワット発電中さん
垢版 |
2018/05/21(月) 20:31:19.17ID:wNHlGzJK
>246みたいなのは半導体をパソコンみたいにブロックをカシャカシャくっ付けたらハイ出来上がりとでも思ってるんだろうね。
0255774ワット発電中さん
垢版 |
2018/05/21(月) 20:37:30.59ID:1smKzujr
電子工作初心者です。センサーを使ってPICのデジタル入力へON/OFFの電圧を掛けるために
コンパレータを使いたいのですが、上手く使えず画像右下のLEDがどちらも点灯しません
何がいけないのでしょうか…? どなたかどうかご教授ください。。
(可変抵抗は0~100kΩです。※記載漏れ)
LM393
http://neo.vc/uploader/src/neo33105.jpg
NJM311D
http://neo.vc/uploader/src/neo33106.jpg
0256774ワット発電中さん
垢版 |
2018/05/21(月) 20:57:26.56ID:UTK33vLC
コンパレータの入力2点の電圧と
出力の電圧値はいくらよ?
0257774ワット発電中さん
垢版 |
2018/05/21(月) 21:18:20.14ID:nWzr9Nh3
回路図求む
0258774ワット発電中さん
垢版 |
2018/05/21(月) 21:23:19.94ID:ToGGv/B0
>>255
ちょっと疑問なんだけど、回路図を描かずにいきなりそうやって組むのですか?
0259774ワット発電中さん
垢版 |
2018/05/21(月) 21:25:11.96ID:1smKzujr
>>256さん
LM393
IN1+:4V、IN1-: 1.5V、 OUTPUT1:0.03V = LED点灯せず

NJM311D
+INPUT:4.2V、-INPUT:2.3V、OUTPUT:0.3V = LED点灯せず

という感じになっております
どちらも全然OUTPUT電圧に反映されないです…

>>257さん
ちょっと今疲れ果てていて、すぐできるかわからないです…
勝手なこと言ってすみません
0260774ワット発電中さん
垢版 |
2018/05/21(月) 21:27:52.42ID:1smKzujr
>>258
今回のような最小部品構成で組んでみるだけの場合は、
回路図書かないですね…
0262774ワット発電中さん
垢版 |
2018/05/21(月) 21:40:09.57ID:ToGGv/B0
>>260
すごいな。俺、絶対そんなことできないよ。
回路図でないと考えられない。

311Dの回路ってこんな感じだろか。図のようにLEDの一端がGNDに落ちてるように見える。
470Ωにつながってるのがアノード?
電源電圧がちょっと足りないことを差し引いても、もしこの図の通りだと、点かない。
311Dの出力は電流を吸い込むしかできないし。
0265774ワット発電中さん
垢版 |
2018/05/21(月) 21:45:11.15ID:ToGGv/B0
393の方も出力がこんなふうになってるのでは?
0266774ワット発電中さん
垢版 |
2018/05/21(月) 21:49:40.16ID:1smKzujr
>>262さん
ご丁寧に図解まで示していただきありがとうございます
NJM311D の作例を回路図で表すとしたら、その通りです
LEDのアノード、カソードは正しく接続されております

>もしこの図の通りだと、点かない。 311Dの出力は電流を吸い込むしかできないし。
??? ちょっと理解できる範囲を超えてます
もし宜しければ少し詳しくお教え願えないでしょうか?
0267774ワット発電中さん
垢版 |
2018/05/21(月) 21:49:50.71ID:ToGGv/B0
コンパレータは出力がオープンコレクタになっているものが多い。
0268774ワット発電中さん
垢版 |
2018/05/21(月) 21:54:18.31ID:nWzr9Nh3
出力オープン コレクターみたいだね
上記のようにすればいい
 
0269774ワット発電中さん
垢版 |
2018/05/21(月) 21:58:41.07ID:1smKzujr
>>264さん
教えてくださってありがとうございます。
オープンコレクタ。調べてみます!

>>265 >>267さん
初心者にもわかりやすくご丁寧にありがとうございます!
オープンコレクタを調べて、理解に努めてみます

>>268さん
ありがとうございます!


結果はしばらく後でご報告させていただきますね
0270774ワット発電中さん
垢版 |
2018/05/21(月) 22:02:34.03ID:ToGGv/B0
あ。もちろん、>>267のようなLEDの接続にすると、出力がLのときに点灯することになる。
当初設計が期待するところは出力がH(IN+ > IN-)のときに点灯だよな。

いろいろ方法はあるけど手軽なのは、IN+とIN-の配線を逆にすることかな。

それと動作の結果にはあまり関係がないですが、>>262のIN-に中点電圧を入れるのに330Ωを使ってます。
これは電流を流しすぎ。IN+と同じような抵抗値が望ましいのです。
0271774ワット発電中さん
垢版 |
2018/05/21(月) 23:08:12.11ID:1smKzujr
お世話になっております
皆様からご親切にご教示いただいたオープンコレクタについて
勉強してまいりました

PICのLATと今回使用したコンパレータのOutputを完全に混同していました
コンパレータを使う時はデータシートの回路図を参照して、
Outputがオープンコレクタになってるかどうかを確かめる必要があるのですね

確かにこのような誤解に基づく場合は、質問する際に回路図を書いて示さないと
エスパー回答するしかないですね 反省しました

そして、>>264さんのご指摘や、>>267さんの図解にある通り、電源→LED→Outputへと繋ぎ、
NPN型トランジスタと同様に考えることで、ついにLEDを点灯させることができました

解決方法はまさに>>270さんがご教授してくださった通りで完璧でした
おかげさまでコンパレータを用いてセンサーを通したH/L信号をPICのデジタル入力へ渡せそうです
皆様、本当にありがとうございました!
0273774ワット発電中さん
垢版 |
2018/05/21(月) 23:17:58.39ID:nWzr9Nh3
PICにコンパレーター内蔵してるのあるけど・・ (この機能つかったことがないけどね)
外付けでやるんだったら ヒステリシスいれてたほうが出力バタバタしないで
いいとおもうが・・
0274774ワット発電中さん
垢版 |
2018/05/21(月) 23:31:35.75ID:6MQs3/nP
8 pin PIC だとピン数が少ないので AD して比較する方法になびいちゃうね。
オーディオ帯域を超えるスピードが必要でなければ、AD 後ヒステリシスでも
ディレイでもフィルタでも自由自在だしね
0276774ワット発電中さん
垢版 |
2018/05/22(火) 04:58:13.23ID:9rEJz54I
>>259
電源電圧は?
普通のコンパレータは、入力できる電圧の範囲が、電源電圧より1V位低い。
0277774ワット発電中さん
垢版 |
2018/05/22(火) 07:09:16.98ID:CgOqStue
>>276
流れを読めば電源電圧も書かれています。

同相入力電圧範囲は回路を組むときに注意するべきポイントですね。
ただ、たいていのケースで、IN+、IN-のどちらかがその範囲に入っていれば動作します。
絶対最大定格から外れるのは別ですが。
0278774ワット発電中さん
垢版 |
2018/05/22(火) 08:00:30.24ID:bpAxBkCq
なんでコンパレーターはオープンコレクターなのですか?
横からすみません
0279774ワット発電中さん
垢版 |
2018/05/22(火) 08:08:55.51ID:GSRHIMYm
そりゃあプルアップしたラインに複数個つなぐだけでOR取れるからに決まってるでしょ旦那
0280774ワット発電中さん
垢版 |
2018/05/22(火) 08:25:08.12ID:WELFsJ1I
ただの伝統だろ
多くのロジックICの出力はオープンコレクタではないし
0281774ワット発電中さん
垢版 |
2018/05/22(火) 17:00:05.10ID:qo+0FRwM
>>280
ロジックICの文化では、オープンコレクターのOR(ワイヤード不論理OR)は L->H の遅延が大きいので、ロジックICでORするのが標準だった。
0282774ワット発電中さん
垢版 |
2018/05/22(火) 17:54:29.09ID:l15uV4X1
または入力0にしてOEで制御した74xx125か
0283774ワット発電中さん
垢版 |
2018/05/22(火) 19:38:37.44ID:X3EU6In0
出力をORしてプルアップする。
Hにしたら次のクロックでトライステートコントロールでハイインピーにする。
PCIバスのサスティンドトライステートな。
これが高速オープンコレクタもどき。
同期回路専用です。
0284774ワット発電中さん
垢版 |
2018/05/22(火) 19:46:49.17ID:qo+0FRwM
>>282
うむ。双方向バスに関してははロジックICの黎明期はオープンコレクターと相場が決まっていたが、
スピードの観点からトライステートに変わっていったな。しかし、トライステートバッファを使って
ワイヤードORする話をしているようで、それは邪道、オープンコレクター使うべし、と思ったが、
今は秋月でも 74xx05 とかのオープンコレクターのロジックIC売ってないんだな。
0285774ワット発電中さん
垢版 |
2018/05/22(火) 19:47:42.78ID:AgcMRo6v
エミッタなら速かったんだろうな
電圧ドロップが厳しそうだけど。。。
0286774ワット発電中さん
垢版 |
2018/05/22(火) 19:56:02.56ID:qo+0FRwM
>>285
電圧ドロップ以前に L -> H は早くなっても H -> L で下に積極的に引っ張る人が居ないから同じようなものじゃないか。
0290774ワット発電中さん
垢版 |
2018/05/22(火) 20:57:43.95ID:CgOqStue
>>284
邪道でもないと思う。
>>282の手法で、PICの通常ポートでもオープンドレインが実現できるわけだし。
0291774ワット発電中さん
垢版 |
2018/05/23(水) 12:25:19.75ID:OPVS1i8j
アナログ入力電圧がロジック電源の範囲に入ってる状況しか考えられないのか
0294774ワット発電中さん
垢版 |
2018/05/23(水) 15:25:26.41ID:OQVEwUoA
世の中には抵抗器という部品がありましてな、それをうまく使いこなすと、好きな電圧の範囲に収められるようになったりするんですけどね
0301774ワット発電中さん
垢版 |
2018/05/24(木) 11:25:59.55ID:aBjWPUa7
今わざわざ新規でPICを選ぶってどういう理由が考えられる?
0306774ワット発電中さん
垢版 |
2018/05/24(木) 16:41:27.87ID:9gdMeWXO
>>301
はいはい、釣りはおしまいですよ
0309774ワット発電中さん
垢版 |
2018/05/24(木) 21:05:00.40ID:ozqIikV/
>>308
初めて出てくるような質問ではないですよね?
0310774ワット発電中さん
垢版 |
2018/05/24(木) 21:21:31.43ID:f26meJZN
値段
動作電圧範囲
サイズ

あとの理由は
ユニークなペリフェラルかなぁ
コンパレータとか
ロジックとか
0312774ワット発電中さん
垢版 |
2018/05/24(木) 22:50:16.44ID:ozqIikV/
一個人の理由を聞いて何の参考になるんだろう。

そもそも参考にするつもりなんて初めか
0314774ワット発電中さん
垢版 |
2018/05/25(金) 02:58:10.31ID:kjZH8AGH
PICをやりすぎると人格に障害がでるらしいぞ
もうかなり進行してる人もいるみたいだから注意してね
0316774ワット発電中さん
垢版 |
2018/05/25(金) 07:41:30.88ID:gANH21iN
>>313
PICより安いのでしょうか?
電圧は何Vなのですか?
PICよりサイズの選択肢が幅広いのですか?
0318774ワット発電中さん
垢版 |
2018/05/25(金) 08:24:55.20ID:fz6VH1nA
うちの選択理由は、対ノイズ試験がPICが優れていたから。
あとは旧三菱とか東芝の一部機種がよかったが、入手製と開発問う考えてPICに。
ちなみにAVRは対ノイズはあまり良くない。アーキテクチャはいいんだけどね。
0320774ワット発電中さん
垢版 |
2018/05/25(金) 13:12:00.18ID:l4yYU7n0
DigiKeyで検索すると
PICは値段が高いと思う

20円から色々なマイコンが1個から買えるのに
PICの最安は42円@3000個のPIC10F200
同価格帯ではダントツに低スペック

PICが安いというのは例えばどれのこと?
0327774ワット発電中さん
垢版 |
2018/05/25(金) 20:41:48.85ID:G1P4cbzs
静電気試験ならやるけど
ノイズ試験なんていうぼんやりした名前の試験はやらんなあ
0328774ワット発電中さん
垢版 |
2018/05/25(金) 20:43:59.30ID:G1P4cbzs
PICと他のマイコンを同じ製品の同じ基板にのせてテストするってのもなかなかあり得ないと思うし

車とか医療関係だと単体でテストしたりするの?
0329774ワット発電中さん
垢版 |
2018/05/25(金) 20:48:46.21ID:c74/vayJ
選定で評価基板でやったりする
オーバースペック耐性がどこらにあるとか
実際はスペック内で使うとしてもだ
ロットごとにやったりする
ロットごとにX線取ったりする
(こっそり変わっていないか)
0331774ワット発電中さん
垢版 |
2018/05/25(金) 21:43:24.83ID:egEETOnr
>>327
「ノイズ試験」でググれば色々出てくるよん。
ノイズ耐力だけでなく放出するノイズの試験も含まれるが、
これらを包括してノイズ試験と言うな。機能試験と分けて。
0332774ワット発電中さん
垢版 |
2018/05/25(金) 21:54:42.76ID:2Tv4fuYo
イミュニティ試験だと30MHz〜2GHzまで100V/mくらい晒して誤動作しないか確認するな
昔のマイコンだとこれくらいの強度でプロテクト外れたりレジスタ化けしたりした
0334774ワット発電中さん
垢版 |
2018/05/26(土) 02:05:59.68ID:9yqD9o4q
>>324
色々なノイズの試験全てで優れてたって?
それは単品評価?製品での評価?
何と比べて?
0336774ワット発電中さん
垢版 |
2018/05/26(土) 09:15:36.17ID:Iq3/VV4d
>>324は「全て」って書いてないのに。
揚げ足とったり、意図的な誤読や誇張をからめるのは、相手を困らせるためなのかな?
やたらと相手に開示させるのは、結論として相手がやってきた検討なり判断が不十分だとあげつらうためかな?
どこの誰だって限られた時間とお金の中で限られた調査をして部品を選択していることぐらい最初からわかってるだろうに。
分かっててそういう根掘り葉掘りをするのっておかしい。まるでこの場の議論で相手をいてこますことが目的みたいだな。
質問に値するだけの情報開示をしない人が、他人に開示を要求するなんて、お前が言うか、ってレベルじゃないですかね。

技術の板なんだし、この場での議論の勝ち負けはあまり意味ないですよ。お互い出せる情報を出して交換しましょうよ。

で、>>334に質問なんだけど、単品評価ってどうやってするの?
俺自身、開発の現場が長いけど、部品単体でノイズ試験をかけたことなんてない。
どんな場面でそういうことが要求されるのかぜひ知りたい。
0337774ワット発電中さん
垢版 |
2018/05/26(土) 09:27:49.96ID:9yqD9o4q
説得力が全く無いから、
ちょっとでも説得力を増す為の質問をしてあげただけ

「対ノイズ試験がPICが優れていたから。」
これだけじゃあねえ
0338774ワット発電中さん
垢版 |
2018/05/26(土) 10:17:36.23ID:Iq3/VV4d
>>337
自分で情報開示しない人が他人の説得力を語るのですか?

>>336の単品評価についての質問についてはどうです?
0339774ワット発電中さん
垢版 |
2018/05/26(土) 13:14:14.62ID:B/NPITNY
欲しかったのは回答ではなく説得力だったんだなw
よくもまあ、そんな気構えで質問できる物だ・・・
0340774ワット発電中さん
垢版 |
2018/05/26(土) 15:07:39.50ID:hIAdQftO
5分間隔でadcの結果をi2cのeepromに保存してるのですが、2〜3日くらいで
i2cのDS1307の読み出しでpendingエラーが発生して止まってしまいます。
リトライしても永遠にpendingエラーで
2c初期化しても同じです。
wdtでリセットも同じです。
電源再突入しか再起動出来ないのですが、何なんだろう。
0341774ワット発電中さん
垢版 |
2018/05/26(土) 22:00:15.98ID:GUfLAeOG
>>338
ノイズ試験と聞いて静電気とかしか知らない奴に何言っても無駄ですよ。
たぶんノイズ試験でググってノイズ研あたりのトップページをチラミして書いてるのでしょう。
0345774ワット発電中さん
垢版 |
2018/05/27(日) 09:16:57.37ID:LsSqWT5D
>>343
円滑なコミュニケーションを妨げるもの
(1)一方、または双方の非協力的・高圧的な態度。
(2)他方に対する挑発行為。
(3)言語能力の欠如
(4)書きて・話してがそもそも書かない。

>>343は(4)に相当すると思います。
0346774ワット発電中さん
垢版 |
2018/05/27(日) 09:32:14.67ID:LsSqWT5D
>>340
2〜3日、っていうのが奇妙だな。
単純に頻度が低くて、たまたまそれが2〜3日目に起こっているのかな。

とりあえず再現する最小ソースがあると答えられる人もより出てくるだろね。
I2CにつながってるのはDS1307とEEPROMだけ?
0347774ワット発電中さん
垢版 |
2018/05/27(日) 09:39:46.17ID:ZFpwEqNk
ノイズで誤動作してロック状態に陥っている可能性がある。
こういう場合はいくらソースを見ても分からない。
0348774ワット発電中さん
垢版 |
2018/05/27(日) 09:58:10.00ID:LsSqWT5D
>>347
そういう場合は、ね。
ソースがあれば完璧って話でもないし。
回路図、実際に配線の様子が分かる写真ぐらいが揃えば、かなりいいかな。
0349774ワット発電中さん
垢版 |
2018/05/27(日) 10:00:08.83ID:VWEdgmDr
2-3日で書き込みアドレスのラップアラウンドが発生して、その時の処理が間違ってるとか
0350774ワット発電中さん
垢版 |
2018/05/27(日) 10:16:45.66ID:LsSqWT5D
>>349
おおー。なんかありそう。
5分に1回。1日で288回。2日めの途中で512回をまたぎますね。
0351774ワット発電中さん
垢版 |
2018/05/27(日) 10:19:12.70ID:kiKS1Kmp
想像してたって解決にならん
PIC側かDS1307側か調べるのが先

現象発生状態で片方だけの電源をいったん落としてみる
これでわかる
3日かけて失敗したらもったいないので事前練習も

PICのWDTで復帰しないということから
DS1307の可能性が高そうだが
WDTでリセットがかからないブロックもあるので

ちなみにマイコンはどれ?
マイコンによってはエラッタで途中で止まることがある
PIC32MZ EFとか
0352774ワット発電中さん
垢版 |
2018/05/27(日) 10:20:12.70ID:kiKS1Kmp
あと良くやるのは発生までの時間を早くする方歩を探す
5分を1秒にしてみるとか
0353774ワット発電中さん
垢版 |
2018/05/27(日) 10:23:57.10ID:kiKS1Kmp
>>350
書き込んでる完全にソフトの問題ならWDTで復帰しないってのと合わないが

その問題だとしたら
サイズを小さくして周期も狭めればすぐに発生するはず
検証は簡単
0354774ワット発電中さん
垢版 |
2018/05/27(日) 10:45:33.01ID:LsSqWT5D
pendingって、
・DS1307がACKを返してこない状態で、EEPROMは継続してアクセスできている。
・その状態になったらDS1307もEEPROMもアクセスできない。
のどっちなんでしょ。

どちらかのデバイスがバスを引っ張ったままってことはあるのかな?
0355774ワット発電中さん
垢版 |
2018/05/27(日) 10:59:28.92ID:cfy4z3bP
みなさん、ありがとうございます。

メインループはTMR0で10mSの制限を持たせて、ADCを読み込み積算して、5分間の回数で平均をEEPROMに書き込みます。
デバッグ用にシリアルでTeratermへ時刻を送っているので、0.5秒間でDS1307を読み込んでいます。
I2Cの通信は、0.5秒間隔でDS1307リードと5分間隔のEEPROMライトが発生しています。
EEPROMはページをまたがない用に128Byte単位でライトしています。
EEPROMの書き込みではreturnの前に5mSの待機を入れてます。
PICKit3でプログラムを書き込み終了で自動的に起動して必ずDS1307のエラーでリセットしても変わらずで電源を入れなおします。

秋月のPIC18F46K22搭載基板です。
秋月のDS1307基板に4KBのI2CのEEPROMもありますが、AT24C1024Bのアドレスと同じなのでアドレスSelect Jumperをショートしています。
0356774ワット発電中さん
垢版 |
2018/05/27(日) 12:30:41.35ID:f1NziepZ
真剣に解決したいのか雑談したいのかどっち?
解決したいなら情報を小出しにしない

リセットっていうのはPICのリセット端子によるもの?
だとしたらソフトのバグでないことがわかるわけだが
そういう重要な所をちゃんとはじめから書くこと

残りはDS1307かI2Cのエラッタか

確率に頼ったデバッグをせず
確実に原因を切り分けるのか近道
0359774ワット発電中さん
垢版 |
2018/05/27(日) 12:36:26.66ID:cfy4z3bP
>>355
追加です。

2〜3日と書きましたが、5台作って止まらないのもあります。
MCCのi2c1.cを使っているのですが、以前にも書きましたが、うまく動作せずで、PIC16シリーズのMCCのi2c.cを参考に改造して使っていました。
それがとっても気になっており、先ほどMCCのファイルを全部消して、Generateしたところi2c1.cは改造なしで動作しました。
しかし、PICKit3で書き込み終了後の再起動でDS1307のPendingは発生して、電源再投入でした。

以前の改造したi2c1.cは Revision 1.55で今回 Generateしたのは1.65.2になっています。
1.65.2のI2C1_MasterTRBInsert関数は私が1.55でパッチした
inline void I2C1_WaitForLastPacketToComplete()
を呼ぶようになっていますので、結局なんの違いもないかもです。
0360774ワット発電中さん
垢版 |
2018/05/27(日) 12:41:04.86ID:cfy4z3bP
>>358
MCCでTMR0/ADC/UART1/MSSP1と16MHz内部クロックPLLx4を指定して使っています。
ADC以外は割り込み使っています。
0362774ワット発電中さん
垢版 |
2018/05/27(日) 12:56:43.99ID:f1NziepZ
>>358
リセットで復帰しないならPIC側の可能性はほぼ無い
少なくとも割り込みとか関係ない
無駄なことを聞くな
0364774ワット発電中さん
垢版 |
2018/05/27(日) 13:21:00.67ID:qVsObTfb
使うレジスタは、リセット後に必ず初期化してるか?
pon resetに頼ってる部分はないのか?
0366774ワット発電中さん
垢版 |
2018/05/27(日) 13:33:30.79ID:lWf86GMJ
>>364
MCCからGenerateしてmain.cの先頭にSYSTEM_Initialize()がマージされ。
INTERRUPT_GlobalInterruptHighEnable()と
INTERRUPT_GlobalInterruptLowEnable()と
INTERRUPT_PeripheralInterruptEnable()のコメントを外して、
// Add your application codeの後の行に
TMR0_SetInterruptHandler(timer)を最初に記述して始まっています。
0367774ワット発電中さん
垢版 |
2018/05/27(日) 13:57:09.32ID:PdBhvnQO
>>362
通信がエラーになるんだからI2Cの通信中に
割り込みかかってプロトコルエラーになってるのかと思っただけだ。
無駄なこと聞いて悪かったな。
けど、そんなムキになることか?
0368774ワット発電中さん
垢版 |
2018/05/27(日) 14:28:50.99ID:lWf86GMJ
MCCの割込み部分です。
void interrupt INTERRUPT_InterruptManagerHigh (void)
{
// interrupt handler
if(PIE1bits.SSP1IE == 1 && PIR1bits.SSP1IF == 1)
{
I2C1_ISR();
}
if(PIE2bits.BCL1IE == 1 && PIR2bits.BCL1IF == 1)
{
I2C1_BusCollisionISR();
}
}

void interrupt low_priority INTERRUPT_InterruptManagerLow (void)
{
// interrupt handler
if(INTCONbits.TMR0IE == 1 && INTCONbits.TMR0IF == 1)
{
TMR0_ISR();
}
if(PIE1bits.RC1IE == 1 && PIR1bits.RC1IF == 1)
{
EUSART1_Receive_ISR();
}
if(PIE1bits.TX1IE == 1 && PIR1bits.TX1IF == 1)
{
EUSART1_Transmit_ISR();
}
}
0369774ワット発電中さん
垢版 |
2018/05/27(日) 15:10:33.92ID:PdBhvnQO
>>359
もう一つ無駄なこと聞くけど、
>5台作って止まらないのもあります。
これは個体差なの?
止まらないやつは何回やっても止まらない?
0371774ワット発電中さん
垢版 |
2018/05/27(日) 15:19:22.53ID:PdBhvnQO
ってかさ、I2C にプロトコルアナライザつないで確認すべきだよ。
0372774ワット発電中さん
垢版 |
2018/05/27(日) 15:38:08.45ID:lWf86GMJ
>>369
書き方悪かったです。
止まらないと言うのは、精々5日くらいで途中で電源切ったりしてます。
どれもPICKIT3での書き込み後にPICがりスタートするとDS1307のpending は発生します。
0373774ワット発電中さん
垢版 |
2018/05/27(日) 16:10:03.54ID:LsSqWT5D
>リセットで復帰しないならPIC側の可能性はほぼ無い

I2Cバスの操作の仕方でスレーブがおかしくなってしまって、PIC側のリセットでは復帰しなくなるケースもありえますし。
0374774ワット発電中さん
垢版 |
2018/05/27(日) 16:23:09.35ID:LsSqWT5D
>>372
>どれもPICKIT3での書き込み後にPICがりスタートするとDS1307のpending は発生します。

>>359
>それがとっても気になっており、先ほどMCCのファイルを全部消して、Generateしたところi2c1.cは改造なしで動作しました。
>しかし、PICKit3で書き込み終了後の再起動でDS1307のPendingは発生して、電源再投入でした。

この「〜改造なしで動作しました。 しかし、PICKit3で書き込み終了後の再起動で」のくだりが気になります。
次のような認識で良いでしょうか?

・PICKIT3を繋がない状態であれば2〜3日でPendingになるもの、ならないものがある。

・PICKIT3で書き込み後に(PICKIT3がつながったまま)リスタートすると、すぐにPendingになる。このときリセットボタンを押しても効果がない。
0375774ワット発電中さん
垢版 |
2018/05/27(日) 17:38:18.41ID:MgISJwnq
>>374
お付き合いいただき、ありがとうございます。

>PICKIT3を繋がない状態であれば2〜3日でPendingになるもの、ならないものがある。
はい、PICKKIT3で書き込み後にPICKIT3を外して、電源入れて、Pendingになるものとならないもの(5日程度しか試していませんが)があります。

>PICKIT3で書き込み後に(PICKIT3がつながったまま)リスタートすると、すぐにPendingになる。このときリセットボタンを押しても効果がない。
はい、書き込み後にPICKIT3が刺さった状態でPICは自動的にリスタートしますが、必ずDS1307の読み込みでPendingになり、基板上のリセットスイッチを押してもPendingとなります。Teratermにprintfで表示されます。
15秒のWDTを設定しているので15秒間隔で画面にPending Errorの表示がたまります。
0376774ワット発電中さん
垢版 |
2018/05/27(日) 17:44:11.22ID:MgISJwnq
>>373
PICKIT3の書き込み中にI2C信号が乱れてDS1307が応答不可能になるのでしょうか?
その場合、I2Cマスターで回復させることは可能でしょうか?
動作中のPendingエラーと書き込み後の必ず発生するPendingエラーは同じと思い、これに対応できれば動作中のPendingエラーも大丈夫と思っています。
0377774ワット発電中さん
垢版 |
2018/05/27(日) 17:52:43.06ID:LsSqWT5D
PICKIT3での書き込み中にI2Cバスに使っているピンがばたばたと不用意にLになることが
あるかなあ、ってことですね。

書き込み中は当該ピンがHiZに維持されていて、プルアップされているなら、そうはならない
と思うのですが。(秋月のDS1307モジュールってことなので、そこでプルアップされているかな)

できれば回路図を見てみたい。
0378774ワット発電中さん
垢版 |
2018/05/27(日) 18:00:32.18ID:LsSqWT5D
>その場合、I2Cマスターで回復させることは可能でしょうか?
I2Cにバスリセットのルールはなかったと認識してます。
0379774ワット発電中さん
垢版 |
2018/05/27(日) 18:07:39.03ID:LsSqWT5D
PICKIT3から3.3VとかのVDDを供給する設定になってるってことはないですよね…
0380774ワット発電中さん
垢版 |
2018/05/27(日) 18:09:35.07ID:LsSqWT5D
逆に、書き込み中のVPPがダイオードか抵抗を通じてVDDを押し上げてしまっているとか。
0381774ワット発電中さん
垢版 |
2018/05/27(日) 18:19:11.26ID:LsSqWT5D
>>380はないですね。秋月のPIC18F46K22搭載基板ってことですし。
0382774ワット発電中さん
垢版 |
2018/05/27(日) 18:28:11.12ID:MgISJwnq
>>377
秋月のDS1307モジュール内でプルアップされてます。
最初知らなくて外部でプルアップしてましたが、今は外しています。
0384774ワット発電中さん
垢版 |
2018/05/27(日) 21:57:35.95ID:f1NziepZ
>>365
いや、電源電圧じゃなくて
I2Cのクロックとデータ
PICとデバイスどちらかがLOWに引っ張ったままじゃないかテスターで測れって言ってるの
テスターがなければLEDでもPICの別ポートでもなんでもいいから
0385774ワット発電中さん
垢版 |
2018/05/27(日) 22:02:31.67ID:f1NziepZ
>>367
割り込みがかかるとなんでプロトコルエラーに?
意味不明

ムキにはなってない
口は悪いかも知れないが
0387774ワット発電中さん
垢版 |
2018/05/27(日) 22:20:24.09ID:f1NziepZ
I2Cで良くあるロック状態

スレーブ側はデータをLOWに引っ張ってクロックを待っている状態
マスター側はスレーブがデータを解放るす(HIGHにする)のをまっている状態

>>384を調べればそうなっているかどうかがわかる

マスターは異常状態であることがわかったら
無理やりクロックを出せば良い
I2Cのまま出せないことも多いので
そういう時はGPIO設定にしてから出す

一瞬のノイズとかでそうなることもあるし
プルアップ抵抗が適切じゃないときにも起こる
0388774ワット発電中さん
垢版 |
2018/05/27(日) 22:23:01.84ID:f1NziepZ
言うとおりにすれば導いてあげるのに
全く私が言ったことをやらないのはどういうつもり?
0389774ワット発電中さん
垢版 |
2018/05/27(日) 22:37:02.69ID:LsSqWT5D
>>388
急かさなくても。



なるもの、ならないものがある。
PICKIT3で書き込み直後はだめ。
ここにきて>>347に光が当たるかも。
PICKIT3はけっこう激しく信号が動くし。
電源、グランドが弱いとかないですかね。
0390774ワット発電中さん
垢版 |
2018/05/27(日) 22:56:43.34ID:f1NziepZ
そうだね
ゆっくり待つ

>>378
>>387の現象その他を防ぐ為に
ストップコンディションを10個くらい送ることがある
デバイスでもバスリセットとしてそれを規定している物もある
0391774ワット発電中さん
垢版 |
2018/05/28(月) 09:22:02.04ID:uzEMn1zC
picユーザって人間性に問題ある奴が多いよね。
macユーザみたい。
0392774ワット発電中さん
垢版 |
2018/05/28(月) 09:36:04.76ID:O73UCnhK
おはようございます。
勤務先に持ち込みましたので、オシロで観測しました。

ご指摘いただいた通り、PICKit3での書き込み後のSDAがLowになっていました。
書き込み前にSDAにパルスが現れます。
MCCの初期化(SYSTEM_Initialize関数)の前に
&#160;&#160;&#160; TRISCbits.RC3 = 0;
&#160;&#160;&#160; TRISCbits.RC4 = 0;
&#160;&#160;&#160; LATCbits.LATC4 = 1;
&#160;&#160;&#160; for (i = 0 ; i < 16 ; i++) {
&#160;&#160;&#160;&#160;&#160;&#160;&#160; LATCbits.LATC3 = 0;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; __delay_us(100);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; LATCbits.LATC3 = 1;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; __delay_us(100);
&#160;&#160;&#160; }
&#160;&#160;&#160; TRISCbits.RC3 = 1;
&#160;&#160;&#160; TRISCbits.RC4 = 1;
で不要かも知れないがSDA=HighでSCLを実行して、
これだけでは復帰しないので、ストップコンディションを送るアドバイスから

&#160;&#160;&#160; // Add your application code
&#160;&#160;&#160; for (i = 0 ; i < 10 ; i++) {
&#160;&#160;&#160;&#160;&#160;&#160;&#160; I2C1_Stop(I2C1_LOST_STATE);
&#160;&#160;&#160; }

を実行でとりあえず復帰できました。
ただし、PICKit3を刺した状態で放置するとWDTが働く度にPendingです。
PICKit3を引き抜くとWDTで再起動して上記コードの効果が出ます。
I2C1_LOST_STATEとI2C1_MESSAGE_COMPLETEどちらも結果は同じでした。


稼動中のpendingエラーはWDTで再起動になるので、取り合えずこれで行けます。

パスコンは増量して様子を見ます。

みなさんありがとうございました。
0394774ワット発電中さん
垢版 |
2018/05/31(木) 07:36:18.67ID:udDnD6g9
>>391
自分の身の回りのごく少数のサンプルでそう判断してしまうあなたの方がやばそう。。
0395774ワット発電中さん
垢版 |
2018/05/31(木) 12:28:43.43ID:l07/dnBR
>>391
ごく一部の人間だけだよ、大部分は常識的な会話が普通に出来る。
ただ掲示板だと、実社会だと相手にされないような、
そのごく一部の人間の影響が大きいんだよね、残念ながら。
0397774ワット発電中さん
垢版 |
2018/05/31(木) 18:07:35.84ID:kLcaGn+E
思い込みの強い感じのやつは少なからず掲示板に書きにくるね。
0398774ワット発電中さん
垢版 |
2018/05/31(木) 20:18:10.73ID:UpGEgKmr
>>391
安倍マンセーなネトウヨの書き込みですら0.5%程度の誤差のようなものだって言うじゃないか。
PICユーザーの書き込みなんてppmオーダーだろ。
それを基準に何かを語るお前の人間性の方が心配だわ。
実生活では一生かすりもしないだろうからどーでもいいが…。
0404774ワット発電中さん
垢版 |
2018/06/01(金) 22:45:00.68ID:xcKBVKE8
やだ、お父さんのおちんちん
血のつながった小学2年性の娘のお膣のなかで射精したくてPICPICしてる・・・
0406774ワット発電中さん
垢版 |
2018/06/04(月) 09:36:37.77ID:CKGCLQlP
はじめまして、PIC初心者です。
タイマー割り込みで、5us程度の正確なパルスを出そうとしていますが、
20usくらいで、割り込みショートして、動きません。
20MHzの水晶を使っているのに、内部は5MHzで動くようです。
また、割り込みの種類を、いちいち判定しなければなりません。

質問ですが、
クロックが4分の1になる理由は何でしょうか?

割り込みを種類判定をする理由は何でしょうか?

宜しくお願いします。
0407774ワット発電中さん
垢版 |
2018/06/04(月) 10:06:40.77ID:D2z3kESL
本当に正確なパルスが欲しければOC
0408774ワット発電中さん
垢版 |
2018/06/04(月) 11:08:06.67ID:PwLCHL8r
>>406
>クロックが4分の1になる理由は何でしょうか?
そういうアーキテクチャだから
4倍PLL内蔵のチップを使えば原発振周波数で動作可能

>割り込みを種類判定をする理由は何でしょうか?
割り込みベクターが別れてないから
使う割り込みが1種類なら判定は不要
0409774ワット発電中さん
垢版 |
2018/06/04(月) 11:10:38.43ID:ndqJbO1/
PICでやることがパルス出すだけなら
割り込みとか使わずメインループでソフトでGPIO上げ下げする
ウエイト(NOP)でデューティ調整
インラインアセンブラ使ってコンパイル後にlstファイル見て確認だ
0415774ワット発電中さん
垢版 |
2018/06/04(月) 12:31:18.05ID:eHtGfnrP
>>408
アーキテクチャは関係ない。
4相クロックで動かした方が、設計が楽だから。
0416774ワット発電中さん
垢版 |
2018/06/04(月) 12:44:39.34ID:D2z3kESL
>>406
> 割り込みを種類判定をする理由は何でしょうか?
他の割り込みが同時に発生する可能性ががあるから。
もし回路やほかのモジュールの設定でタイマー以外の割り込みが発生しないと保証できるなら、判断は外しても可
0417774ワット発電中さん
垢版 |
2018/06/04(月) 13:21:19.88ID:CbRiq9j5
質問するのに型番も書かないアホと
型番もわからないのに適当な回答をするアホ
0418774ワット発電中さん
垢版 |
2018/06/04(月) 13:36:28.43ID:MAy0YkVQ
きっと、命令フェッチ、データリード、演算、データライト
を一クロックずつやるようなショボいマイクロアーキだろ。
0419774ワット発電中さん
垢版 |
2018/06/04(月) 13:48:04.33ID:WD7kbETe
>>406
質問の答えは「PICだから」w
幸せになりたかったら今すぐAVRに乗り替えよう。
0420774ワット発電中さん
垢版 |
2018/06/04(月) 13:48:50.65ID:mVE1HLGX
PICにDDSつなぐか、FPGAかASICでやったほうが正確だぜ
わざわざPICに外付けの水晶つける初心者さんよ
0421774ワット発電中さん
垢版 |
2018/06/04(月) 14:20:09.14ID:z8W9ZNJ4
FPGA だと発振回路は外付けになる。
PIC より正確かというとハテナ

マイコンに外付けクリスタルでも悪くない設計だと思うが。

>>420 は内蔵オシレータで済む程度のことしかやってないってことかな?
0424774ワット発電中さん
垢版 |
2018/06/04(月) 17:44:26.46ID:RYfwTYf2
水晶の精度の正確さが出せるのは
PICだろうがFPGAだろうがASICだろうが同じでしょ
0425774ワット発電中さん
垢版 |
2018/06/04(月) 17:49:32.38ID:WD7kbETe
PICユーザーの皆さんの比較参考用にAVRtiny2313(OSC:20MHz)で
パルス列を出力するプログラムを作ってみた。
リセットすると出力を開始する。

<<<<< ハードウェア(カウンタから)出力 → 5MHz
(clkIOの周波数は20MHz/4=5MHzで正しいのか?)
 RESET1:
;----- Port_B
 ldi ZL,0b00000100  ;bit2:output CTC_A
 out DDRB,ZL
;
;----- timer0 for CTC_A
 ldi ZL,0b01000010  ;simple-CTC mode, toggle output to OC0A=PB2 bit
 out TCCR0A,ZL
 ldi ZL,0b0000001   ;no pre_divide
 out TCCR0B,ZL
 ldi ZL,1         ;compare_A:1 for fast count
 out OCR0A,ZL
Main1:
 rjmp Main1

<<<<< ソフトウェア(直接にポートのビットを操作)出力 → 3.33MHz
(全命令実行クロック数は6、実行時間は50nS*6=300nS)
 RESET2:
;----- Port_B
 ldi ZL,0b00000100  ;bit2:output
 out DDRB,ZL
;
Main2:         ;total clocks 2+2+2=6
 sbi  PortB,2    ;set bit
 cbi  PortB,2    ;reset bit
 rjmp Main2
0426774ワット発電中さん
垢版 |
2018/06/04(月) 18:13:22.28ID:km2Tdc6p
>>440じゃなくて>>420でした

手軽に高精度だと
水晶振動子 + トリマコンデンサ + マイコン

トリマコンデンサじゃなくて地道に固定コンデンサで調整しても良い

VCXO/TCXO/OCXOとか
GPS同期とか
高精度にする手段は色々とある

パルス出力はソフトが介在しないで行うのが
精度と応用の面でほぼ必須
アウトプットコンペア、PWM、通信モジュールのクロック、...
など色々と方法がある
0427774ワット発電中さん
垢版 |
2018/06/04(月) 18:21:07.10ID:km2Tdc6p
>>409みたいなコードは全く応用が効かないし
その方法しかないということは極めて稀なので
考えるのは最後の最後で良い
0428774ワット発電中さん
垢版 |
2018/06/04(月) 18:40:46.32ID:IT8OK279
>>406
PICはゴミ箱に棄ててAVRにすれば良いよ
水晶が20MHzなら20MHzで動くし割り込みも要因別に個別ベクターだ
0433774ワット発電中さん
垢版 |
2018/06/04(月) 22:02:14.56ID:E8vO9lpw
AVR布教のつもりで自演してるんだろうけど、ここでやってもアンチ増やすだけだと思う。
0434774ワット発電中さん
垢版 |
2018/06/04(月) 22:07:24.90ID:wjFw3dA8
実際PICの欠点が多いのは確かなわけで
無駄な苦労をしなくないならPICは選ばない方が良いかと
0435774ワット発電中さん
垢版 |
2018/06/04(月) 22:14:01.33ID:D2z3kESL
今は同じ会社なんだから仲良くやれ。
0436774ワット発電中さん
垢版 |
2018/06/04(月) 22:15:51.98ID:meh1+dDG
欠点にしか関心がないなら、そりゃ欠点の方が多くて当たり前ですね。
どんなものにでも言えます。
0437774ワット発電中さん
垢版 |
2018/06/04(月) 22:16:56.31ID:pt9iqQ6c
皆さん、ありがとうございました。
PICの型番書かなくてすみませんでした。
PIC16F883です。
バルスは、ROMに配列で記憶させた8bitデーターを、
ポートから定周期で8bit同時に更新することです。
開始制御もあるので、mainは制御フローを書きます。
AVRが凄いことはよく分かりましたが、
乗り換えるつもりはありません。
パターンを8bit出すので、コンペアは使えません。
時間の精度のために水晶発振子を使用しました。

割り込みベクトルを備えていない理由が知りたいです。
4分の1なのは、ハーバードアーキテクチャーのため、仕方ないのでしょうか?
仕方ないのなら、ルネサスのマイコンに行こうと思っています。
今さらAVRを選ぶ理由は無いです。
0438774ワット発電中さん
垢版 |
2018/06/04(月) 22:27:50.28ID:7WiLR8T8
AVR もハーバードアーキテクチャだけど
1クロック1命令だよ。
来なくていいけど。
0439774ワット発電中さん
垢版 |
2018/06/04(月) 22:35:32.60ID:D2z3kESL
>>437

後出し感満載だが、要は5usの周期割り込みが掛かればよいだけで、パルスの出力は不要なんだろ?


> 割り込みベクトルを備えていない理由が知りたいです。
その方がPIC内部の回路が簡単になる。

> 4分の1なのは、ハーバードアーキテクチャーのため、仕方ないのでしょうか?
ハーバードアーキテクチャとは何ら関係ない。PIC内部の設計でFlipFlop間でどのタイミングで転送するかという設計手法
0440774ワット発電中さん
垢版 |
2018/06/04(月) 22:37:44.49ID:meh1+dDG
>>437
1クロックで実行するようなマイコンでも、
実際の命令の実行は、見かけ上1クロックでも数クロックかかってます。
パイプラインというしくみで見かけ上1クロックで動作しているように
見えてるのですけど。

なので、ジャンプするとそのパイプラインで早く動作しているのがキャンセル
されたりしますので時間がかかってしまうことがあります。

それと、パイプラインのしくみを作ることで、面積も増えます、消費電力も
増えます。


きっちりとした、データ出力で、しかもμ秒オーダーということだと、
マイコンの割り込みで実装したら、ジッターが発生しそうです。
FPGAの方がきれいにできそう。
0441774ワット発電中さん
垢版 |
2018/06/04(月) 23:22:09.02ID:0P2D+0O/
>>437
PIC32で80MHzでぶん回せばSPIで20MHz出る。
パラレルに換算しても2.5MHzだから0.4usで、十分あなたの要求を満たすのでは?
なぜPIC16F833なのかと…。
わざわざAVR厨の餌食を用意している、つまり自演にしか見えない。
0442774ワット発電中さん
垢版 |
2018/06/04(月) 23:26:47.47ID:wjFw3dA8
>>473
バルスwww

割り込みハンドラが共通なのも速度か1/4なのもコスト削減の為

PICやAVRよりもRL78の方が楽にコードが書ける
STM32とかLPCでも良い

データサイズはどのくらい?
0444774ワット発電中さん
垢版 |
2018/06/04(月) 23:32:53.85ID:wjFw3dA8
ジッターを抑えたければタイマーとDMAを使えば良い
割り込み遅延とか無関係で、
CPUは他のことに専念できる
0447774ワット発電中さん
垢版 |
2018/06/04(月) 23:47:16.98ID:7WiLR8T8
>>441
>バルスは、ROMに配列で記憶させた8bitデーターを、
>ポートから定周期で8bit同時に更新することです。

さて、どうやってSPIで実装しようか。
0448774ワット発電中さん
垢版 |
2018/06/04(月) 23:49:30.30ID:0P2D+0O/
もちろんPLL後に80MHzって意味ですよ、当たり前でしょ。
あと、データ送っといてラッチしときゃ要求は満たすでしょ。
まあ、何したいのか良く分からんけどさ。
少なくとも速度は担保できる。
0451774ワット発電中さん
垢版 |
2018/06/04(月) 23:54:04.50ID:IT8OK279
PICは「艱難辛苦我を玉にす」の山中鹿之介の生まれ変わりを自負する人間しか手を出すべきじゃないよね
データシート読めば解決する事で躓く雑魚はどっか行け、シッシ
0452774ワット発電中さん
垢版 |
2018/06/04(月) 23:55:12.93ID:0P2D+0O/
あれ?
4周期がーとか、ハンドラがーとかの人どこいったの?
ルネサスのWebでさまよってるかな?
あそこ分かりにくいからな、商売っ気なくてw
0455774ワット発電中さん
垢版 |
2018/06/04(月) 23:57:09.56ID:0P2D+0O/
>>450
データそろえといてトリガ掛けりゃ同じでしょ。
文字通りにしか解釈できないのか?
0456774ワット発電中さん
垢版 |
2018/06/04(月) 23:58:59.77ID:wjFw3dA8
PICスレでは質問しっぱなしで消えるのはよくあること
質問がスレを盛り上げる為の作り話だったりする
0457774ワット発電中さん
垢版 |
2018/06/04(月) 23:59:11.84ID:0P2D+0O/
何が何でもレガシーPIC1個で、という条件付けてAVR圧勝にしたいのかな。
いまどきそんなことだから買収される。
0459774ワット発電中さん
垢版 |
2018/06/05(火) 03:04:02.05ID:dTjGODKN
>>451
こゆう人こそあっちへいってほしいいんだけどなあ
いやがらせジジイ

内田監督の手下かな
0460774ワット発電中さん
垢版 |
2018/06/05(火) 06:40:26.70ID:hTHmkPoh
>>440
割り込みで実装してもジッタは発生しない。
・割り込んだら即データを出力する
・次の割り込みで出力するデータを用意しておく
という手順でやればOK
0461774ワット発電中さん
垢版 |
2018/06/05(火) 06:58:12.81ID:+ieTFb6h
>>460
すみません。他のマイコンと混同していました。
0462774ワット発電中さん
垢版 |
2018/06/05(火) 06:59:45.23ID:gOLuK3gu
一般的には色々な理由でジッターが発生する

実行中の命令の時間差
キャッシュヒットするかどうか
明示的な割り込み禁止中
ISRの頭や終わりなど、明示的ではない割り込み禁止期間
優先度が同じか高い割り込み中
ペリフェラルによるバスロック
クロック変動
等々
0463774ワット発電中さん
垢版 |
2018/06/05(火) 07:02:58.71ID:gOLuK3gu
8bit PICの場合で
他の割り込みを使用しておらず
明示的な割り込み禁止期間が無い場合でも
割り込みの瞬間の命令の実行時間によってジッターの原因となる

例えば
ジャンプ命令など8クロックかかる命令の実行中と
普通の4クロックの命令の実行中で
割り込み遅延は異なる
0464774ワット発電中さん
垢版 |
2018/06/05(火) 07:05:52.50ID:+ieTFb6h
>>463
>ジャンプ命令など8クロックかかる命令の実行中と
>普通の4クロックの命令の実行中で
>割り込み遅延は異なる

そこ。
0465774ワット発電中さん
垢版 |
2018/06/05(火) 08:22:40.55ID:+ieTFb6h
PICは2インストラクション命令を実行中でも、1インストラクション命令を実行中でも、
割り込みのレイテンシは同じですよね。すっかり忘れてました。

でも、もとの質問は5usで更新だしちょっとむずかしいような気がします。
0466774ワット発電中さん
垢版 |
2018/06/05(火) 08:41:14.80ID:hTHmkPoh
実行中の命令が1サイクル/2サイクルに関係なく割り込みレイテンシは
常に2ですね。
もちろんCPUクロックと割り込み要求が同期している条件で。

ただ、ハイエンドシリーズ(16ビット長命令)のPIC18Fでは3サイクル命令が
一部採用されているので、これをメインで使わないようにする必要があるよ
うで、残念です。
0467774ワット発電中さん
垢版 |
2018/06/05(火) 08:42:56.93ID:rYmTl0O+
5us に対して誤差(ジッタ)をどのくらい許容出来るかだね。

>時間の精度のために水晶発振子を使用しました。
とあるけど、長期的な安定度のためかな。
適当に組んだら数百ppmくらいか。
0468774ワット発電中さん
垢版 |
2018/06/05(火) 09:20:40.03ID:CpRK3B6W
いつもの後だしのお偉い初心者様かな。

すなおにCPLDかFPGA使え。
マイコンのポート出力ででジッタを無視できる時間規定でポートを同時に出力ってのは
外付けラッチ使うか、入出力切替をいじるなど時間規定されていないトリッキーな技を使わないと無理だろ
0469774ワット発電中さん
垢版 |
2018/06/05(火) 09:53:24.41ID:0/xOq03f
普通、精度とジッタは対策が違うがな。
質問者が何のために使うのかわからないと、今の情報からでは必要スペックが分からない
0470774ワット発電中さん
垢版 |
2018/06/05(火) 12:11:51.69ID:ASR0pd6W
CPLDやFPGAは出力だけ考えたらぴったりなんだけど
値段とか手軽さとか他との通信とかを考えるとちょっとねえ
値段的にはDMA付きのマインが余裕で買えるからそれの方が良いかと

8ポートの出力を同時に出力は、普通のマイコンなら普通に出来る
PIC16F833でも
0471774ワット発電中さん
垢版 |
2018/06/05(火) 12:56:53.06ID:liUWWWJu
CPLD、FPGA使うまでもなく、D-FF(レジスタとも言う) 1個外部におごればジッター解消できる。
0474774ワット発電中さん
垢版 |
2018/06/05(火) 13:50:15.85ID:1zZ/C1MH
それをどこにどうつけたら同期するんよ
クロックはジッタ―無しを与えないと意味ないのだが
そのクロックのエッジ以内でセットアップタイム満たして
ポート制御するとか、同期できると思ってるの?
0476774ワット発電中さん
垢版 |
2018/06/05(火) 14:13:15.32ID:wJcCcXaQ
開始制御ってのが最初だけで、そこには5usの縛りが無く、
その後5usで規則正しくデータを出し続けるという事であれば、
開始制御は適当な方法で実現し、
データを出し続ける部分をアセンブラでループ書いてクロック数えればいいじゃない。
PICに向いてる応用はこんな感じで書ける事だと思うな。
0477774ワット発電中さん
垢版 |
2018/06/05(火) 14:27:28.42ID:z4Jbh2cf
>>476
そうそう。
アセンブラで書いてサイクル数合わせられるのがマイコンのいいところ。

DMA だとタイミング合わせられるの?
0478774ワット発電中さん
垢版 |
2018/06/05(火) 15:04:26.50ID:BmX+r6LF
8ビット幅データの受け側でなにやってんのか分からんとこの罵り合いが続くぞ
0480774ワット発電中さん
垢版 |
2018/06/05(火) 15:13:42.42ID:p9EGKN8V
>>476
最終的にはそういう方法もある
昔ながらのドロ臭い方法
他の機能を入れる可能性が全く無いなら

普通はマイコンを積んだら色々な機能を任せたくなるけどね
0482774ワット発電中さん
垢版 |
2018/06/05(火) 15:24:13.34ID:HTCRz8vG
>>480
> 普通はマイコンを積んだら色々な機能を任せたくなるけどね
それが命取り。
確実にジッタなしの5us間隔を実現するために、PICを単純作業に専念させる。
後のことは動いた後で考えるのが吉。
0483774ワット発電中さん
垢版 |
2018/06/05(火) 16:20:22.59ID:liUWWWJu
>>476
アセンブラーでクロック数えるという職人技でも良いが、
送出タイミングのクロックが来たことを割り込みでもフラグ
ポーリングででもマイコンで検出して、次に送るデータを
D-FF の入力にセットしておけばよい。

>>479
20円でお釣りがくるDMA付きマイコンを教えてもらえる
のかと思って期待していたのだが。
0484774ワット発電中さん
垢版 |
2018/06/05(火) 16:58:29.87ID:0/xOq03f
安い8bit pic一つで十分なのに、なぜ外付け部品を増やす設計にするのか?
不要な拡張性追求が、コストアップと開発期間の長期化、真のユーザーニーズの未達になってるって気づけよ。
機能強化するなら、Arduinoの方が楽。
0485774ワット発電中さん
垢版 |
2018/06/05(火) 17:14:51.85ID:liUWWWJu
>>484
1μs 以下のジッターをとことん嫌ってるからだろ。
100円の PIC と 20 円の D-FF でできるんだから
それはそれでいいじゃん。
0486774ワット発電中さん
垢版 |
2018/06/05(火) 18:10:59.00ID:OuDLoJ06
単機能であれば60円のPIC16F57と発振子でできる
データはROMで良いと言ってるし
それでいい気がしてきた

>>483
いやいや、もちろん差額で
でも20円だと無理ですね
0487774ワット発電中さん
垢版 |
2018/06/05(火) 18:34:42.81ID:TwSLRDVb
単機能で良いかどうかは>>406しか知らんけど

単機能じゃダメで25命令サイクル周期だと無理だからPICを諦めたのかも知れない
0488774ワット発電中さん
垢版 |
2018/06/05(火) 18:40:28.22ID:TwSLRDVb
>>473を見ると他に制御しなきゃならないことがあると書いてるようにみえる

dsPICでもRL78でもARMでもMIPSでも、
もうちょっとCPUパワーがあるのにしたら良いと思う
8bit PICはそういう用途には向かない
0489774ワット発電中さん
垢版 |
2018/06/05(火) 19:08:31.41ID:0/xOq03f
>>485
クロック数えて出力する時、プログラム由来のジッタがなければ、ハードのジッタはns以下だと言う情報を見たことがある。
具体的には、高安定度の10MHz発振器をクロック入力して、
10^7カウンタで1ppsのパルスを作りGPSの秒信号と比較すると言う文脈での話。
俺もダブルオーブンの水晶発振器で秒パルス作ったことあるがジッタはほとんど観測できなかった。
0493774ワット発電中さん
垢版 |
2018/06/05(火) 19:43:51.80ID:gOLuK3gu
高速なマイコンなら
タイマーのISR内でタイミングを微調整してからポート書き込みが出来る

PIC32MM0064ならPIC16F883より安い175円
0494774ワット発電中さん
垢版 |
2018/06/05(火) 19:49:49.17ID:gOLuK3gu
このクラスでPICを選ぶ価値は全くないけど一応PICスレだから
0495774ワット発電中さん
垢版 |
2018/06/05(火) 20:17:00.95ID:1eBJykbn
>>492
>ジッタにオーブンとか関係ないし
あはは、知識レベルの低さ丸出し。
ダブルオーブン用の水晶は、一般的なATカットの水晶よりも
位相ノイズ(ジッタだよ)の低いSCカットというのを使うんだよ。
だからわざわざダブルオーブンと書いたのだよ。
無知なら無知らしく、低姿勢で聞きなよ。
0498774ワット発電中さん
垢版 |
2018/06/05(火) 21:10:14.57ID:1zZ/C1MH
ジッタの観測は難しいよ何で見たの?
ある程度の精度以上はスペアナで位相ノイズとして観測する
マイコン内蔵のPLLなんて位相ノイズは酷いもんだよ
0499774ワット発電中さん
垢版 |
2018/06/05(火) 22:15:49.09ID:RJD26G9L
>>498
高周波でもこの位相ノイズレベルはスペアナでは無理。
まして、この話は1ppsだからスペアナ使えない。
同種のosc二つ使ってパルスの時間差を観測して統計処理。
アラン分散ってやつね。それ以上はスレチだからやめる。
pll使わない生クロック利用でPICのハード由来のジッタは無視できるよ。
0500774ワット発電中さん
垢版 |
2018/06/05(火) 22:25:46.48ID:BmX+r6LF
ほらな、もとの質問のやつ消えたら重箱の隅つつくようなのしか書かれなくなる。
0502774ワット発電中さん
垢版 |
2018/06/05(火) 22:32:08.63ID:+tvHKKL/
>>500
後は、この中のどいつが質問者なのかを推理して遊ぶのさ。
ま、あなたや私かもしれないんだけどね。
0503774ワット発電中さん
垢版 |
2018/06/05(火) 22:57:55.65ID:+ieTFb6h
>>471が言ってる内容から、>>474が飛躍しすぎているように思う。

>471は>>470を受けたもので、「PIC16F833のように8ビット同時出力できないマイコンでも、CPLDを使うまでもなくFFで良い」と言っているわけだよね。
だから>471が言ってるジッターは数100秒みたいなオーダーの話。

>474はこれがサブn秒みたいな話にすっ飛んでいるのだけど、それは、>471を上記のように解釈できてなくて、
「『同時に8ビットに出力できるマイコンで、更に外付けでジッタを低減する』ということは、外付けFFに与えるクロックがより上質でないと意味がない」
と考えてしまっているように見える。
0504774ワット発電中さん
垢版 |
2018/06/05(火) 23:14:43.25ID:gOLuK3gu
いや、
>>474は単純にFFに対してソフトでクロックを与えるとダメってことだろ

サブn秒に関しては突然>>489が頓珍漢な事を言い出しただけ
1Hzでジッタを測るとかアホな事を言ってるし
0505774ワット発電中さん
垢版 |
2018/06/05(火) 23:16:25.46ID:gOLuK3gu
そもそもジッタが問題だとか質問者は一言も言ってない
時間的精度が必要だから水晶を使うって書いてるだけ
0506774ワット発電中さん
垢版 |
2018/06/05(火) 23:19:50.27ID:gOLuK3gu
あとは、1/4になっては困ると
タイマー的には1/4にってもちょうど5usは作れるので
CPUパワーが欲しいって事だと思う
mainで制御フローを書くと書いてるし
0507774ワット発電中さん
垢版 |
2018/06/05(火) 23:26:26.36ID:+ieTFb6h
>>504
>FFに対してソフトでクロックを与えるとダメってことだろ
その可能性はたぶんないのでは?

仮に、8ビットを同時に操作できない、を条件として
1, 4ビット出力
2. 別の4ビット出力
3. FFのクロック端子につながったポート操作(←これがジッタを持ってはいけない)
というような動きを行う場合、

>そのクロックのエッジ以内でセットアップタイム満たして
>ポート制御するとか、同期できると思ってるの?

FFのセットアップを心配するようなことだろか、って思います。
0508774ワット発電中さん
垢版 |
2018/06/05(火) 23:27:33.18ID:gOLuK3gu
5us間隔(200kHz)の8bit出力で時間的精度が必要
出力データはROM

全く用途が想像出来ない
0510774ワット発電中さん
垢版 |
2018/06/05(火) 23:32:11.01ID:+ieTFb6h
>>508
用途の想像は質問とは切り離していいことだと思います。


想像するなら、単純なところなら、任意波形発生機かもしれません。
0511774ワット発電中さん
垢版 |
2018/06/05(火) 23:33:44.79ID:gOLuK3gu
>>507
クロックのエッジ以内ってのがよくわからんが、
1周期25命令サイクルしか無いわけで
その半分以下でデータをセット出来るのかって事を心配してるのか?
それともFFの動きを理解してないとか
0512774ワット発電中さん
垢版 |
2018/06/05(火) 23:38:39.07ID:gOLuK3gu
>>510
データはROMに持つと言っている
任意波形ならUARTやUSBでデータをセット出来ても良いと思うのだが
0514774ワット発電中さん
垢版 |
2018/06/05(火) 23:41:32.69ID:gOLuK3gu
>>510
用途の想像どころか
みんな仕様まで想像で書いてるからね
質問者はもうこのスレにはいないし
0515774ワット発電中さん
垢版 |
2018/06/05(火) 23:46:32.34ID:+ieTFb6h
>>512
任意のレベルの違いですかね。
汎用測定器としてのものではなくて、専用品なら好きな波形をROMに焼き込んで、
波形発生でも任意だろうって思ってました。
それでは任意にならない、という閾値も理解できます。

でも、 ID:gOLuK3gu さん。
>全く用途が想像出来ない
ということは、すでになくなってますね。
「データをROMに持った波形発生器」という用途は、ご自身が想像されてるわけですし。
0516774ワット発電中さん
垢版 |
2018/06/05(火) 23:49:48.37ID:+ieTFb6h
質問者が仕様をあとからでも書かないなら、
それがネタになって技術談義になるのは健全なのでは?

あとから書くことを阻害することがあるとしたら、「後出し」と非難する習慣じゃないですかね。
赦されるべきことなのに、非難するのはどうしたもんでしょ。
0518774ワット発電中さん
垢版 |
2018/06/05(火) 23:52:46.48ID:FmyV7I6R
データをROMで持つのにテーブルポインタや間接レジスタでROMを読めないPICを選択した謎を残しつつ質問者は逃走したのだった。
0519774ワット発電中さん
垢版 |
2018/06/05(火) 23:57:07.01ID:gOLuK3gu
>>516
全く健全ではないですね

質問者は適切な回答が得られるようにする
回答者は質問者が欲しい回答が出来るようにする

これが健全

質問者の書き込みをろくに読まずに
書きたいことだけを書く
真面目な質問者であればただの迷惑ですね

質問者も情報を全然出さない
おそらくいつもの作り話でしょう
0520774ワット発電中さん
垢版 |
2018/06/06(水) 00:03:26.05ID:uUlFaMWS
>全く健全ではないですね

と考えない人とそうでない人がいるってことでしょう。多様性はあります。

あなたも、あなたの考え方だけが正しいとは思ってないでしょ?
0521774ワット発電中さん
垢版 |
2018/06/06(水) 00:05:19.24ID:uUlFaMWS
>波形発生器は用途ではなくてただの動作ですよ

えー。ファンクションジェネレータ売ってるんですが。
0522774ワット発電中さん
垢版 |
2018/06/06(水) 00:10:22.19ID:F2M8lksT
FG は作ったり買ったりするけど
全くと言って良いほど使うことがない。
オシロにつないでリサジュウ見るくらい。
0524774ワット発電中さん
垢版 |
2018/06/06(水) 05:51:54.28ID:b7YXZYYo
8ビット同時出力するのに外付けラッチが必要なんて話しにどうして
なっちゃったんだろ
0525774ワット発電中さん
垢版 |
2018/06/06(水) 06:47:05.83ID:uUlFaMWS
>>524
仮に
"PIC16F883のように8ビットを同時に操作できるマイコン"
でなくても、
例えばポートAの0〜5とポートBの3,4を使って、合計で8ビット出力をするケースにおいて、
8ビットを同時に変化させる必要があるなら、外付けのFFが使える。

という話ですね。
0526774ワット発電中さん
垢版 |
2018/06/06(水) 06:58:53.36ID:uUlFaMWS
そういえば「(外来語の日本語としての)リサジュー」と「鰻重」の「じゅう」の部分の発音は同じなのに、
「リサジュウ」とか「うなじゅー」って表記はあまり見ないね。
0527774ワット発電中さん
垢版 |
2018/06/06(水) 07:55:41.53ID:AHnvoa2B
電気系日本語ではリサージュだと思ってたけど。
リサジューは数学方面で聞いたことはあるな
0530774ワット発電中さん
垢版 |
2018/06/06(水) 08:21:20.02ID:uUlFaMWS
>>529
そういうところにあなたが躓いていても、あなたにメリットがあるように思えないのだけど。
0533774ワット発電中さん
垢版 |
2018/06/06(水) 08:35:00.81ID:bEXH+/Ko
普通は躓くって意図せず発生したデメリットな事に使うわけだけど
日本語大丈夫?
0534774ワット発電中さん
垢版 |
2018/06/06(水) 08:39:55.45ID:uUlFaMWS
>>527-528
確かに、俺が昭和の時代に学校で習ったときは「リサージュ」でした。
近年は、特に固有名詞は元発音に忠実であろうとする動きがあります。
「リサジュー」もその流れなのでしょう。

何年か前に学生さんと話をしてたら「リサジュー」って言ってました。
その頃には、教え方も変わっていたのだと思います。
0535774ワット発電中さん
垢版 |
2018/06/06(水) 08:46:28.20ID:uUlFaMWS
検証しても意味のないことに意識を持っていかれてしまってるのは、躓きだと思います。

同様に、躓いている人を起こすこともできないときに、それでも起こそうとする行為も
意味が薄く、そこに意識を持って行かれるのは躓きです。
なので、ID:bEXH+/Ko に対して、以降、このことでコメントすることはないでしょう。
0537774ワット発電中さん
垢版 |
2018/06/06(水) 11:07:43.83ID:tlWlpeaa
発音揺らぎなんぞどうでもいいよ
シーケンスとかシークエンスとか
プロトコルとかプロトコールだとか
バイラスとかウイルスとかビールスとか
いちいち拘ってろ
0538774ワット発電中さん
垢版 |
2018/06/06(水) 11:26:57.22ID:SyGkOpD7
>>524
正確なパルスを作りたいという質問者の要件から
(1) 周波数精度
(2) ビット間のずれ(スキュー)
(3) クロック幅の正確さ(ジッタ:ソフトの処理依存)
(4) クロック幅の正確さ (外部ラッチの遅延) 
(5) 周波数ジッタ(水晶の制度レベル)
とまあ広範囲に正確さの話が展開され、その過程の (3) において
>>444 が DMA 使えば良いと言い出したので、そんなの 20円の
外付けラッチで解決できるじゃんという話の流れ。
0539774ワット発電中さん
垢版 |
2018/06/06(水) 11:38:09.09ID:O9U327+n
お前ら、なんでpicスレがレベル低い争いになるか分かってるのか?

>>490
> ジッタの意味がわかってなさそう

こういう風に、自分の知らないことに対して、いきなり見下す態度をとるからだよ。
結局返り討ちにあってグダグダになる。
これが治らない限りレベルは低いままだ。
0540774ワット発電中さん
垢版 |
2018/06/06(水) 12:18:53.17ID:e71vSumy
>>510
抵抗繋いで、簡易的なDAにするならともかく、ROMに繋ぐならクロックで同期必要だから、タイミング満たせる範囲なら、バラついても問題ない。
0542774ワット発電中さん
垢版 |
2018/06/06(水) 12:44:14.64ID:/Fxkyi1U
どうせマイコンのランクを上げなきゃいけないんだから
DMA付きを選んどきゃ良いんだよ
わざわざ外付けなんかしなくても

話の流れもわからないでオーブンとかジッタを1ppsで測るとか
頭のおかしいヤツがレベルを下げる
0543774ワット発電中さん
垢版 |
2018/06/06(水) 13:03:29.92ID:pWJjaYiX
>>542
その DMA の主張が分からないんだが、
転送クロック(200kHz)を外部から入れるってこと?
0547774ワット発電中さん
垢版 |
2018/06/06(水) 13:15:44.61ID:+zI+5olO
>>539
> いきなり見下す態度をとるからだよ。

とは

> お前ら、なんでpicスレがレベル低い争いになるか分かってるのか?
> これが治らない限りレベルは低いままだ。

こういう態度のことだよな。
0549774ワット発電中さん
垢版 |
2018/06/06(水) 13:22:47.88ID:/Fxkyi1U
>>406
>>437

CPUパワーが問題
というようにみえる

1/4になるのが問題
解決しないなら他のマイコンを使うと
0550774ワット発電中さん
垢版 |
2018/06/06(水) 13:37:26.03ID:pWJjaYiX
>>545
タイマー割り込みで自動的にDMA転送が開始できるの?
CIP とか使えばいいの?
0551774ワット発電中さん
垢版 |
2018/06/06(水) 15:20:31.31ID:/Fxkyi1U
タイマーでDMAを動かすなんてごくごく当たり前の使い方
マイコン内蔵の汎用DMAでこれが出来ない物なんてある?
0553774ワット発電中さん
垢版 |
2018/06/06(水) 19:04:57.81ID:uUlFaMWS
その欠点を補う何かがあるから人気があるのですよ。

その「何か」はPICが嫌いな人には大して価値もないので、
PICが好きな人とPICが嫌いな人が、PICの価値について話をしても実りはないのです。
0554774ワット発電中さん
垢版 |
2018/06/06(水) 19:13:41.62ID:SyGkOpD7
アンチに技術力がないのはよく分かったからあっち行っててね
0555774ワット発電中さん
垢版 |
2018/06/06(水) 19:39:13.38ID:aMxr2w+R
やだ、お兄ちゃんのゴム無し生おちんちん、血の繋がった小学4年生の実の妹のお膣の
中でこってりどろどろザーメン中出しして孕ませてボテ腹妊娠させたくてPIC18PIC24してる・・・
0558774ワット発電中さん
垢版 |
2018/06/06(水) 21:02:59.58ID:sA0pV1lY
技術力無いってのは
マイコンを活用できずにわざわざ外付けラッチとか付けちゃう人
0559774ワット発電中さん
垢版 |
2018/06/06(水) 21:07:45.54ID:NqNoy4U9
過疎スレが集まった過疎板の中でも
このスレが、なぜか勢いあるのが気に入らない
野田朗。
0560774ワット発電中さん
垢版 |
2018/06/06(水) 21:25:40.96ID:JwhyKzXf
開発環境が安価
5V品がまだ豊富にある
0570774ワット発電中さん
垢版 |
2018/06/06(水) 23:51:53.70ID:7GTRo8CA
まあ何を言われても乗り換えないんだけどな
どうせ大した使い方してないし、新しい物が出る度に追いかける気力もない
使い慣れたPICでいいや

過疎って年寄りばかりになった5chにはお似合いだろ
こういう自分のような奴も多いんじゃないか
0571774ワット発電中さん
垢版 |
2018/06/07(木) 06:35:35.33ID:e3fQNo/J
ArduinoのライブラリがMPLABXでサクっと使えれば秋月DIP老人は大喜び。
0572774ワット発電中さん
垢版 |
2018/06/07(木) 06:51:52.43ID:hmsA2/qg
低レベルのCPUを使っていて怖いのは、ユーザーの技術もいつまでたっても
低レベルに留まってアップしないって事だ。

たまに庭のミカンの木にアゲハチョウの幼虫を見つけるのだが、
大きくなる前に取り除くと小さなサナギになる。
虫も必死なんだなぁ。

ま、虫はそれで良いと思うけどさ、人間は自分で選択できるんだからな。
0573774ワット発電中さん
垢版 |
2018/06/07(木) 07:14:06.96ID:7x+AB8jy
例え議論に持ってく方が人間として低レベル
0574774ワット発電中さん
垢版 |
2018/06/07(木) 07:27:44.91ID:FKvqMLat
>>571
どこまでをブラックボックス(というか出来合い化)にするかだけど、MCCがほどほどだと思う人が多いのでは。

>>572
PICでもArduinoでも、マイコンを使うことがユーザーのレベルじゃなくて、本来はそれで何をするかだと思う。
マイコン技術のレベルよりもアイデアの実現のレベルの方に関心がある、という方が普遍的価値観に近いと思う。

マイコンに深く関心を持ってると、マイコンの技術に関心がいきがちだけど、何かを作るとなったら、
アイデアそのものだとか、機械加工の技術だとか、人脈の形成の要領だとか、いろいろな能力が必要。

マイコンのレベルを語る人が、切削加工能力についても同様に語るかっていうとそうじゃないし、
誰しも万遍なく様々な方面で高いレベルを持てるわけでもない。

どこに重きをおくべきかなんて正解はないよね。
0575774ワット発電中さん
垢版 |
2018/06/07(木) 08:03:21.77ID:e3fQNo/J
>>574
Arduino用のドットマトリクス液晶とかセンサのライブラリを使いたい。

具体的に書くと、U8G2をXC8で使いたいのだ。
0577774ワット発電中さん
垢版 |
2018/06/07(木) 09:13:16.64ID:B6iuQKhl
>>572
30年前のソフト技術をドヤ顔で語るようなスレだからな

マイコンもユーザーも進歩が無い
0580774ワット発電中さん
垢版 |
2018/06/07(木) 10:34:50.97ID:ACmBbrYz
>>577
Lチカや温度ロガーなんて進歩も糞もないけどな
クラウドとかいうハッタリに染まる気もないし
0581774ワット発電中さん
垢版 |
2018/06/07(木) 10:51:02.09ID:e3fQNo/J
>>578
テキストスクロールと画像表示は出来たんだが、Arduinoのみんなが楽しく盛り上がってる輪にPICの俺も加わりたい気持ちがある。
中華Nanoなら簡単なんだが、PICはDIPだし8ピンもあるし優位性がある。
0582774ワット発電中さん
垢版 |
2018/06/07(木) 11:20:51.97ID:ZCMNSBMQ
>>580
趣味がLチカと温度ロガーwww
まあこんなネタでもいくらでも進歩の余地はあるけどね

>>581
だから素直にArduino使えって
0586774ワット発電中さん
垢版 |
2018/06/07(木) 12:49:25.57ID:9VAnbwa0
>>466 を訂正

>ただ、ハイエンドシリーズ(16ビット長命令)のPIC18Fでは3サイクル命令が
>一部採用されているので、これをメインで使わないようにする必要があるよ
> うで、残念です。

2ワード命令をスキップしたとき、2ワード命令の2ワード目をNOPとして実行す
るのをカウントして3サイクルと言っているようです。
NOPの実行前は割り込み可能と思われるので割り込みのレイテンシは2サイクル
一定と考えて良さそうです。
実験はしてないですが。

一つ気になるのはMOVFFの実行サイクルが、363ページTABLE2-52では2サイクル
となっているのに対して、385ページでは2(3)サイクルとなっています。
しかし、3サイクルになるような説明はないのでTABLE2-52が正しいのかと思い
ますが。
もう一つ気になるのがパラメトリックサーチで[Show ALL Products]ボタンを
押さないとK22シリーズが出てこない。ポピュラーじゃないということ?

PIC18(L)F2X/4XK22 Data Sheet
http://ww1.microchip.com/downloads/en/DeviceDoc/40001412G.pdf
0587774ワット発電中さん
垢版 |
2018/06/07(木) 13:10:56.60ID:ZCMNSBMQ
PIC18自体もう力を入れてないでしょ
PIC24もオワコン
PIC32MMにシフトする
0589774ワット発電中さん
垢版 |
2018/06/07(木) 18:28:20.50ID:7DIAaFsg
他のマイコンを一度試してみると
PICがどういうマイコンかよく分かるよ

例えばSTM32F030
8bit PICと同じような値段のARMマイコン
PICkitよりも高性能なデバッガ内蔵のボードも
秋月で1500円

ARMなので高性能だし情報も多い
ペリフェラルや開発ツールも含め洗練されている

コードはSTM32CubeMXで
ドライバやRTOSや各種ミドルまで自動生成してくれる

もちろん全てスクラッチでも組める
スタートアップから全てC/C++でも書けるし
全てアセンブラでも良いし
これら混合でも良い

全てC/C++で組んでも
PICフルアセンブラよりも高速
0591774ワット発電中さん
垢版 |
2018/06/07(木) 18:40:10.80ID:Puh6LMog
>>589
全てスクラッチからはかなり難しいぞ。
8bitの比じゃない。オレには32bitは無理だった。
0592774ワット発電中さん
垢版 |
2018/06/07(木) 18:42:19.16ID:7DIAaFsg
上に書いたNucleoでも良いし、
マイコン単品とST-LINKでも良い
ST-LINKは純正が秋月で3000円
中華なら3桁円のもある

IDEはTrueSTUDIOのProバージョンが無料で使える
Eclipseベースの高機能IDE
0593774ワット発電中さん
垢版 |
2018/06/07(木) 18:44:05.69ID:Vun6qZYt
>>590
stm32の開発環境構築でググレ
開発ソフトはフリーだ
秋月のボードちょん切ればデバッガハードになる
0595774ワット発電中さん
垢版 |
2018/06/07(木) 18:51:34.82ID:7DIAaFsg
>>591
STM32F030は非常にシンプル
全く難しくない
初期設定がちょっとあるだけ
最上位のSTM32H743でもそれほど大変でもない

手っ取り早く動かしたいならコード自動生成で問題ない
一番シンプルなSTM32F030から最上位のSTM32H743まで
ドライバが差を吸収するので
アプリはほぼ同じ
0596774ワット発電中さん
垢版 |
2018/06/07(木) 18:56:04.59ID:7DIAaFsg
>>588
あれ、ほぼ同時書き込んだのか

MIPSもコア自体は良いと思う
問題はチップがPICくらいしか無いこと
PIC32MM〜PIC32MZで遊んでも良いけど
PICやMIPSにこだわらないならARMで良いよね
0597774ワット発電中さん
垢版 |
2018/06/07(木) 19:01:19.93ID:ndNfLTSk
何かいっぱい書いてあるけど、
そうか、んじゃNucleoでも買ってみるか。
ってな気にちっともならんな。
プレゼン力無さすぎ。
0605774ワット発電中さん
垢版 |
2018/06/07(木) 19:51:09.11ID:7x+AB8jy
pickitが使えるSAMがでたら考えるよ。
0606774ワット発電中さん
垢版 |
2018/06/07(木) 20:07:03.49ID:Puh6LMog
>>595
なんか、PIO に出力したいだけなのに
モジュールやバスのクロックをオンしたりで
結局訳分からなかった。
サンプルをコピペしたのは動いたけど。

エミュレータが繋がらないとARM系はムリポ。
0608774ワット発電中さん
垢版 |
2018/06/07(木) 20:54:59.08ID:Vun6qZYt
PICだとソースレベルデバッグするまで大変だよないろいろ
ICD4は\29800位とコンパイラは幾らだ?
ARM系だと\1000以下でエミュハード&ソフト手に入るんだが
まあここはPICのスレだからそんなことは気にせずに
ずーっとPIC使っててください。
0614774ワット発電中さん
垢版 |
2018/06/08(金) 01:11:25.74ID:a3JyBGf0
あっちはRAMやコアを生かしたままのスリープ電流が凄まじい
0615774ワット発電中さん
垢版 |
2018/06/08(金) 05:44:25.51ID:XOuYupbS
PIC18のIdleはSTM32のSleep
PIC18のSleepはSTM32のStop
ですよ

STM32L0はPIC18に比べて10倍の性能で半分の電力
0618774ワット発電中さん
垢版 |
2018/06/08(金) 10:14:59.97ID:65aM52eF
大枚はたいて買った製品開けてみてPIC入っていたら
(´・ω・`)とならないか
STM32だと("´_ゝ`)だけど
0619774ワット発電中さん
垢版 |
2018/06/08(金) 10:57:06.96ID:yK9wy0qT
IC使ってたらましって商品を見てきてるからなあw
世の中は酷いのいっぱいあるよ
0620774ワット発電中さん
垢版 |
2018/06/08(金) 11:10:49.95ID:4KxC1l47
>618
いや、マウスにSTM32F103使ってたのにはわりと引いたぞ。
ワンセグにSAM3Uなのはむしろよく能力足りてると思ったが...。
0621774ワット発電中さん
垢版 |
2018/06/08(金) 12:25:41.96ID:M3aMrD55
XC32のfree版で32KB辺りを上下してるようなプロジェクトでもSTM32なら余裕で入っちゃう?
0623774ワット発電中さん
垢版 |
2018/06/08(金) 12:45:27.72ID:WJikicDs
>>621
PIC32MXよりは小さくなる
PIC32MM, MK, MZとは命令セット自体のコード効率は同じような物
(MIPSの方が微妙に良いと主張はしてるけど)

コンパイラの性能まで合わせると、
STM32の方が若干小さくなると思う
0624774ワット発電中さん
垢版 |
2018/06/08(金) 12:58:15.57ID:WJikicDs
あ、
Free版はmicroMIPSが使えなかったような気がしてきた
だとするとCortex-Mの方がずっと小さくなる
0625774ワット発電中さん
垢版 |
2018/06/08(金) 14:13:32.93ID:y70H43fR
興味あって探してみたけど、STMもNucleoも、専用スレ無いのな。
盛り上がってるのはここ(の2、3人)だけとか?
おもしろいね。
0626774ワット発電中さん
垢版 |
2018/06/08(金) 14:19:06.14ID:WJikicDs
秋月と5chでは盛り上がってるねPIC
ホビーマイコンだからね
0627774ワット発電中さん
垢版 |
2018/06/08(金) 14:27:42.37ID:y70H43fR
秋月でNucleo見てみたんだけど、種類多過ぎで引いた。
今まで通りArduino(ESP8266含む)とPICの棲み分けで行くことにした。
いろいろ無駄な情報をありがとう。
0628774ワット発電中さん
垢版 |
2018/06/08(金) 15:46:20.12ID:65aM52eF
Arduinoの種類もPICの種類もあたら多いけどなw
好きなの使えや
目的達成できればなんでもいいのだから
0630774ワット発電中さん
垢版 |
2018/06/08(金) 19:02:25.30ID:M3aMrD55
秋月で扱ってるチップが2種類だけだし、1番マシなRSでもMOQが5からとかやる気あんのか、と思えてきた。
0635774ワット発電中さん
垢版 |
2018/06/08(金) 20:55:55.99ID:J8apsBKL
あ、>630はSTM32の話。
0642774ワット発電中さん
垢版 |
2018/06/08(金) 21:33:54.18ID:y70H43fR
マイコンを単体で入手して自作の基板に取り付けるっていう発想の無い人がいるようだね。
普通にこれ買って手ハンダでテスト基板作ったりするわけだが。
http://akizukidenshi.com/catalog/g/gP-07365/
もうずーっとスレの違いなのに、それすら自覚出来ないようだから仕方ないね。
0647774ワット発電中さん
垢版 |
2018/06/08(金) 21:51:37.56ID:vjfgQxbP
まぁテストで汎用変換基板試して見ると
低速ならSDRAMぐらいでも動いちゃったりするもんだ
0649774ワット発電中さん
垢版 |
2018/06/08(金) 21:59:36.06ID:65aM52eF
高クロックは怪しいこともあるが
試作なら変換基板使うよ
しかしブレッドボードじゃないとイヤだとかいう向きは
そこまでだな
0650774ワット発電中さん
垢版 |
2018/06/08(金) 22:08:56.14ID:vjfgQxbP
>>648
0.8mmピッチの変換基板でだよ
お呪いとしてパターンカットしたり
裏にパソコン貼ってみたりするけどね!
fpgaとsdramの変換基板に載せて
UEWで配線して動かしてみると、結構頑張って動くもんだよ!

完璧主義は凄いと思うけど、度胸も大切だよ!
0652774ワット発電中さん
垢版 |
2018/06/08(金) 22:18:08.36ID:fFzry+YF
最近ここから初心者がみんな逃げてるね
PICの会社の人、少しは介入したほうがいいんじゃないかな

将来困るぞ
0653774ワット発電中さん
垢版 |
2018/06/08(金) 22:20:48.62ID:XOuYupbS
信用出来ない基板で実際使わない速度で動かして
何の評価になるんだか

そんな無駄な労力を使わないで
素直に基板起こせよと思う
0655774ワット発電中さん
垢版 |
2018/06/08(金) 22:40:16.71ID:y70H43fR
8bitと32bitを比較してどや顔するのも作り話のようなもんだよな。
0656774ワット発電中さん
垢版 |
2018/06/08(金) 22:42:27.01ID:oFRvwn+8
A3 サイズのラッピング基板なら
パソコン貼ってあっても違和感なさそう。
0658774ワット発電中さん
垢版 |
2018/06/08(金) 23:42:14.11ID:a5UF2VvA
問題だ問題だ言うわりに、何が問題かは言わないんだよな
クソの役にも立たないっていう

中途半端な知識をひけらかして本職に突っ込まれるのが怖いのかな
0661774ワット発電中さん
垢版 |
2018/06/09(土) 09:50:49.03ID:qUs46+H5
結構安いなOLEDドットマトリクス

どうせ文字しか表示しないからキャラクタ液晶をよく使ってたけど
使ってみようかな
0664774ワット発電中さん
垢版 |
2018/06/09(土) 12:16:01.16ID:YlTZuxwX
ビットリバースは色々とテクニックがあるよ

でも反転だけでガクッと落ちるってことは
文字描画はつらいかな
0670774ワット発電中さん
垢版 |
2018/06/09(土) 13:22:34.45ID:DCdtcvP6
フレームバッファは1画面分で768B食ってしまう。

PIC32MM、気になるがDIP少ピンは無いのかな。

作ってるのは加速度センサで重力加速度を検出して、上下自動反転するアニメーション砂時計。

秋月D基板に全てを収めたいんだ。

フレームバッファの回転アルゴリズム、調べたいので検索キーワードを教えてくれないか?
0671774ワット発電中さん
垢版 |
2018/06/09(土) 13:28:44.37ID:qUs46+H5
96x64ドットか
じゃあ他をケチればダブルバッファリングも可能かな
でも転送しながら描画とかしないか
0672774ワット発電中さん
垢版 |
2018/06/09(土) 13:38:36.19ID:qUs46+H5
>>670
ビット リバース アルゴリズム
とかで検索するといくらでも出てくる
PIC16はバレルシフタが無いから
256バイトのテーブルが良いかな

転送時に反転じゃなくて
描画時に反転するのが一番速いと思うけど
フォントデータとかコードが2セット必要で手間がかかる

表示モジュール側で反転出来るのあるけど
0674774ワット発電中さん
垢版 |
2018/06/09(土) 13:43:19.98ID:qUs46+H5
描画時に反転ていうか、
元から反転してあるデータを持って
逆向きに直接描画するってこと

砂時計データやフォントデータを2セット持てるスペースかをあれば
0676774ワット発電中さん
垢版 |
2018/06/09(土) 13:48:28.69ID:N+HfTWd5
Tnx.調べてみるわ。
砂時計のアニメーションと共に時間表示の数字も表示させたい。

逆向きフォントも考えたが、文字の並びも逆になるし、
画面ごと回す方が良いかなと。
0677774ワット発電中さん
垢版 |
2018/06/09(土) 13:50:03.97ID:N+HfTWd5
>>675
逆向きフォントだとややこしいもうひとつの理由は、HX1230の画面サイズが96*68って点。64じゃなく68。
0678774ワット発電中さん
垢版 |
2018/06/09(土) 13:54:35.69ID:qUs46+H5
>>670
dsPICやPIC24なら少ピンDIPがある

DIP自体需要がもう無いからね
サイズ的にも電気的にも不利だし
今となってはコストもかかる
0679774ワット発電中さん
垢版 |
2018/06/09(土) 14:08:25.57ID:qUs46+H5
>>677
データの並びって普通に1ラインごとでしょ?
縦の端数はあまり関係なくない?
0680774ワット発電中さん
垢版 |
2018/06/09(土) 14:41:55.24ID:EpJsfXLL
DIP28ピン、充分小ピンだよなw
0682774ワット発電中さん
垢版 |
2018/06/09(土) 14:49:02.20ID:qUs46+H5
電源オフ時のただひたすら電源ONを待ってるだけの待機用マイコンでも100pinだよ
0683774ワット発電中さん
垢版 |
2018/06/09(土) 14:58:07.25ID:fidyeRGM
待機用とピン数って直接の関係はないような。
0685774ワット発電中さん
垢版 |
2018/06/09(土) 16:20:41.00ID:3FwEfs72
>>670
このOLED、物は何?
PIC32のDIP版は28ピンだけだと思う。
1列14ピンだからD基板に載るでしょ、OLEDは裏面に配置すりゃいい。
で、メモリに余裕持たせて枚数用意してアニメーションが一番いいと思う。
砂時計に加速度センサーは必要ないから傾斜スイッチにすれば?
そうすりゃ場所取らないから基板面に余裕出るし…。
0690774ワット発電中さん
垢版 |
2018/06/09(土) 18:43:09.32ID:ZpQq8y+t
>>686
それ、アフィリエイトのリンク?
にしてもマイナーなモジュールだねえ。
0691774ワット発電中さん
垢版 |
2018/06/09(土) 19:22:36.11ID:fidyeRGM
バイトが横8ドットではなくて、縦8ドットなのはモノクログラフィック液晶のコントローラに割と見られるタイプだと思う。
0693774ワット発電中さん
垢版 |
2018/06/09(土) 19:40:01.41ID:fidyeRGM
縦8×横5ドットのフォントを使うのに都合がよかったからかな。

俺も、先にPC-9801のVRAMのイメージに馴染んでいたので、初めて見たときは
戸惑いました。
0695774ワット発電中さん
垢版 |
2018/06/09(土) 19:51:48.17ID:Y4FhGSab
アナログRGBもDVIもNTSCもHDMIも
全部上からラインごとに右へスキャンなんだけどねえ

ライブラリだと下からってのもある
.bmpも普通は下から
0696774ワット発電中さん
垢版 |
2018/06/09(土) 19:53:40.35ID:fidyeRGM
>>694
なんでそうなるのかな?

もしかして、縦8ドットのコントローラの存在を俺が知ったのがごく最近だと思われました?
だとしたら早合点ですよ。
0698774ワット発電中さん
垢版 |
2018/06/09(土) 19:57:58.78ID:Y4FhGSab
98の次に縦8ドット液晶を扱ったってことか
縦8ドット液晶ってそんな昔から?
0699774ワット発電中さん
垢版 |
2018/06/09(土) 19:59:00.39ID:fidyeRGM
ラインごとにスキャンするVRAMの構成にするのは、ラスタースキャンモニターへの
出力のためには相性が良いからですね。

横8ドットにすれば、メモリアクセスの周期がドットクロック÷8になるので、速いメモリが
高価だった時代にも優しい方法だったのだと思います。

液晶やプラズマディスプレイのドットを直接コントロールするコントローラにはそういう
制約はありませんし。
0700774ワット発電中さん
垢版 |
2018/06/09(土) 20:01:12.05ID:fidyeRGM
>>698
俺が初めて縦8ドットのグラフィックコントローラを見たのは液晶ディスプレイパネルじゃなくて
プラズマディスプレイパネルでした。
0701774ワット発電中さん
垢版 |
2018/06/09(土) 20:02:33.57ID:fidyeRGM
あ。>>700に肝心なことを書かなかった。それはまだ1980年代だったはず。
0702774ワット発電中さん
垢版 |
2018/06/09(土) 20:13:13.18ID:Y4FhGSab
世の中のドライバはこのままの形でデータを作ってからそのまま転送するんだろうか
それとも転送時に変換?

このままの形だと
ただの直線を書くだけでも非常に面倒だし時間もかかるよね
2Dアクセラレータも使えない
0704774ワット発電中さん
垢版 |
2018/06/09(土) 20:23:11.25ID:Y4FhGSab
まあここで文句を言ってもしょうがないか
手を出す時は選択に気をつけよう
0706774ワット発電中さん
垢版 |
2018/06/09(土) 21:24:57.12ID:dJl9Y+iH
MSXのテキストモードを思い出す配置だな
今風に言うとキャラクターRAMかな。。。
0709774ワット発電中さん
垢版 |
2018/06/09(土) 23:33:22.36ID:fidyeRGM
>内田監督みたいなひと
それは具体的にどのような傾向・習慣・行動を指すのですか?
0713774ワット発電中さん
垢版 |
2018/06/10(日) 02:34:19.12ID:lOCPl5IA
NYT 

常識を備えたコンピューター
Computers with common sense
http://iht.newspaperdirect.com/epaper/viewer.aspx

ここ5年間で、A.I.に関することで最もホットな話題は、deep learningと呼ばれる部門でした。
壮大な名前のついた統計的手法は、コンピュータに大量のデータを処理することによって学習する方法を
提供します。deep learningのおかげで、コンピュータは簡単に顔を識別し、話し言葉を認識することが
でき、人間のような知性が手のとどくようになった。 Google、Facebook、Microsoftなどの企業は、
deep learningにお金を注ぎ込んでいます。がん治療からオフィスの自動化にいたるまでのすべてのことを
試してみようとしているようです。

しかしその一方で、deep learningは本当にdeep なのか疑問を持ち始めている人もいます。
カリフォルニア大学バークレー校のマイケル・I・ジョーダン教授は、deep learningが、過剰な期待と過剰投資を
煽りすぎてやがて失望に変るのではと、警告しています。
「ここには本当の知性などというものはない。これらのアルゴリズムの力をあまりにも多く信頼することは、間違って
いることだ。やがて、技術的な壁にぶつかって、最終的には1950年代以来くりかえされてきた反発に直面する。」
と言う。

ディープ・ラーニングは成功をもたらしていますが、その結果は膨大な量の利用可能なデータがある分野に限定され
ています。deep learning の技術は、よりオープンな知性の領域、すなわち意味、理由、常識などの分野が
不得意です。 ディープ・ラーニング・ソフトウェアは、数百万語の単語を即時に識別できますが、「正義」、「民主主義」、
「干渉」などの概念は理解できません。deep learningが大きなデータとの強力なパターン・マッチングには楽勝ですが、
簡単にだますことができます。 比較的少数のピクセルを混ぜるだけで、亀やライフルや冷蔵庫の駐車標識と間違える
ことがあります。

ニューヨーク大学の教授ゲイリー・マーカスは「deep learningは限界に近づいている。 多くの場合、deep learning
 によって抽出されたパターンは、人工的すぎる。」と言う。
あまりにも多くのお金とあまりにも多くの精神がそれに費やされる可能性がある、。そうすれば、私たちは、他の重要な
概念やA.I.を進歩させる道筋を逃してしまうリスクを冒しています。」

一方、一部の研究グループ、新興企業、コンピュータ科学者は、deep learningを超えたA.I.へのアプローチにもっと
関心を向けています。 シアトルの非営利団体であるAllen Instituteは、2月に、プロジェクトアレクサンドリアと呼ばれる
常識的な知識を生み出すための機械を教えるための研究に、今後3年間で1億2500万ドルを投資すると発表した。
そのプログラムやその他の取り組みはさまざまですが、彼らの共通の目標は、deep learningよりも幅広く柔軟な
インテリジェンスであり、より少ないデータで分析できるものである。
以下略
0714774ワット発電中さん
垢版 |
2018/06/10(日) 11:22:20.42ID:ImV/3OwP
>>701
うちにまだプラズマなダイナブックがあるが動くんだろうか?少なくともFDDはダメだろう
0715774ワット発電中さん
垢版 |
2018/06/10(日) 12:44:26.55ID:SS65VmtW
カラーのOLEDをポチってみた
カラーだとさすがに普通のデータの並び順ですね
計算上だと秒60フレーム出る計算ですが
実際はどんなもんでしょう

動いたら報告します
0716102
垢版 |
2018/06/10(日) 13:18:17.41ID:ww3dVPSW
>>714

3100GTかな?AT互換だよね?
なぜか、増設メモリ兼RS232Cボードがある。本体は無いのに、、

あと、XT互換の3100ラップクラッシャーがあるな。
0719774ワット発電中さん
垢版 |
2018/06/10(日) 13:44:04.46ID:SS65VmtW
>>717
HiLetgo 0.95インチ SPI OLEDディスプレイモジュールフルカラー65KカラーSSD1331

ってやつ

画面全体が16bit x 96ドット x 64ラインで98304ビット
SPIのクロック周期が150nsだから
1フレーム転送に15msくらいで秒67フレーム出る計算

ダブルバッファリングで転送はDMAを使えば
あとは純粋に描画時間
非圧縮アニメデータ+簡単な文字描画くらいなら間に合う計算
0720774ワット発電中さん
垢版 |
2018/06/10(日) 13:50:35.27ID:N7Ih/Frg
>>719
俺の知識不足で理解出来ないんだが、SPIの転送速度をフルに使う処理がPICで出来そうってこと?
0721774ワット発電中さん
垢版 |
2018/06/10(日) 14:06:48.01ID:c7pYq1/1
25MHz動作のPIC32MMでもソフト書き込みで25Mbpsの送受信が出来る
DMAを使って送信だけで6.6Mbps出ない理由が無い
0722774ワット発電中さん
垢版 |
2018/06/10(日) 14:19:57.94ID:c7pYq1/1
非圧縮だと128MbitのSPI NORでも136枚分のデータしか持てないから
映画とかは無理だけど
0733774ワット発電中さん
垢版 |
2018/06/10(日) 22:21:34.18ID:zyP2V9by
おしゃべりマイコンはつないでないけど、
しゃべらせるのも面白いかな。
0734774ワット発電中さん
垢版 |
2018/06/11(月) 08:01:05.22ID:CarVBzh0
>>730
すまん、電源内蔵ブレボの方が気になってしまった
いいなと思ったけど高っ。。自作するかな
0735774ワット発電中さん
垢版 |
2018/06/11(月) 09:34:34.59ID:bJDcqU35
電内ブレッボ(電源内蔵ブレッボ)じゃ柔軟性無いような気が
いまだとUSBコネクタから5V供給して、あとはレギュレータで3.3Vも可能。
くらいで十分賄えそう
0739774ワット発電中さん
垢版 |
2018/06/11(月) 18:44:56.07ID:NHYKxr6Q
今からPICなんて始めない方が良いからな
いじめるのが優しさだよ
0740774ワット発電中さん
垢版 |
2018/06/11(月) 18:46:20.76ID:NHYKxr6Q
本当にPICが適切か良く考えてから選びましょう

主な競合MCU
8bit AVR / STM8
16bit RL78 / MSP430
32bit STM32 / LPC / Kinetis / RX
0741774ワット発電中さん
垢版 |
2018/06/11(月) 19:14:34.81ID:PPV3U/KQ
「秋月でDIP物がいろいろ売っている」
これくらいしかアドバンテージは無いが、
どうしてなかなか強力なことよ
0743774ワット発電中さん
垢版 |
2018/06/11(月) 20:26:21.16ID:bJDcqU35
中華シナチョンで格安PCBが作れるようになってからはディップ品なんて
とんと使ってないけど、それでもソップ品であったとしても秋月にかけこめば
いつでも豊富に取り揃えてあるのは大きいんだなぁ

週に十数個位の単位でガンガンつかうからリア店舗で買い揃えられるのは
ありがたい。
0750774ワット発電中さん
垢版 |
2018/06/12(火) 06:55:58.95ID:Ou+tJNwX
今時コンパイラに変な制約かけて稼ごうとか恥ずかしいわ
0751774ワット発電中さん
垢版 |
2018/06/12(火) 07:02:38.39ID:O+9VplCY
>>750
商売の形は、いろいろあるし、どんな方法を取るかは売り手が考えればいい。
有償版コンパイラはサポートの費用もあるだろさ。
0757774ワット発電中さん
垢版 |
2018/06/13(水) 00:16:42.81ID:vKs5FReP
マイコン+アナログ交流信号回路のとき電源はどうしてる?

+電源からチャージポンプでマイナスを作る
+電源からDC-DCでマイナスを作る
マイナス用にもうひとつACアダプタを準備する。
単電源でやってのける
0758774ワット発電中さん
垢版 |
2018/06/13(水) 01:34:25.33ID:T/ZGD3DZ
基本、単電源、ロジック-アナログ共通仕様だね。
これで無理が出たらそれから考える。
0759774ワット発電中さん
垢版 |
2018/06/13(水) 02:19:34.20ID:H5SFSBUT
単電源でなんとかなるアナログ測定電圧なら単電源
なんともならない場合はチャージポンプで両電源
その他色々大変な時は、アナログ電源だけ外部端子設けてる
0760774ワット発電中さん
垢版 |
2018/06/13(水) 07:21:25.19ID:6abHEhpX
ビットリバース検索したら目から鱗だった。が、速度はほとんど変わらない。

PIC32に換装かな?
0762774ワット発電中さん
垢版 |
2018/06/13(水) 07:37:44.86ID:6abHEhpX
>>761
バレルシフタって、rrfとrlfを高速にやってくれる機能?

テーブルって、入力と反転出力を1:1対応のテーブルから呼び出すってこと?
0763774ワット発電中さん
垢版 |
2018/06/13(水) 07:41:46.43ID:OxlagjDO
バレルシフタは複数ビットのシフトを高速で行う回路
x = x >> 4 | x << 4;
こんなのが高速で出来る

これが高速で出来ないとこのアルゴリズムの意味が無い
0765774ワット発電中さん
垢版 |
2018/06/13(水) 07:47:28.11ID:OxlagjDO
PICでDIPならとりあえずPIC32MM0064GPL028
DIPにこだわらないならPIC32MM0256GPM028
PICにもこだわらないならSTM32F103C8T6
を勧めておく

ARMならビットリバース命令があって
32bitリバースが1クロックで出来る
0766774ワット発電中さん
垢版 |
2018/06/13(水) 08:02:04.98ID:6abHEhpX
tnx.
前に書いた変な中華液晶のフレームバッファ回転だから、一度にリバースさせるのは4ビット。テーブルは16バイトで済むからやってみるよ。

ところでPIC16F1のハードウェア乗算を活用すれば速くなるかな?

それでもダメなら換装だ。
0767774ワット発電中さん
垢版 |
2018/06/13(水) 08:24:27.84ID:OxlagjDO
左シフトは乗算に置き換えられるけど
レジスタコピーが発生するので
速くなるかはわからない

ローテート命令やニブルスワップの方が使えるかも
0768774ワット発電中さん
垢版 |
2018/06/13(水) 08:33:12.16ID:OxlagjDO
4ビットずつ別々にリバースしなくても良いんだよ
せっかく8ビット一気に演算できるんだから

リバースしてない4ビット4ビットを組み合わせてから
一気にテーブルでもリバースアルゴリズムでも使えばいい
0769774ワット発電中さん
垢版 |
2018/06/13(水) 12:36:14.73ID:6abHEhpX
>>768
コピーとリバースのセットを4ビット毎に区切ってやっていたが、8ビットのリバースを高速化できるなら試してみる。
0773宇野壽倫(青戸6-23-21ハイツニュー青戸202号室)の告発
垢版 |
2018/06/14(木) 00:37:22.98ID:eswwJDoW
宇野壽倫(葛飾区青戸6)の告発
宇野壽倫「文句があったらいつでも俺にサリンをかけに来やがれっ!! そんな野郎は俺様がぶちのめしてやるぜっ!!
賞金をやるからいつでもかかって来いっ!! 待ってるぜっ!!」 (挑戦状)

■ 地下鉄サリン事件

     オウム真理教は当時「サリン」を作ることはできなかった。
     正確に言えば 「作る設備」を持っていなかった。
     神区一色村の設備で作れば 全員死んでいる。「ガラクタな設備」である。
     神区一色の設備を捜査したのが「警視庁」であるが さっさと「解体撤去」している。
     サリンは天皇権力から与えられた。
     正確に言えば オウム真理教に潜入した工作員が 「サリン」をオウムに与えた。
     オウム真理教には 多数の創価学会信者と公安警察が入り込んでいた。
     地下鉄サリン事件を起こせば オウムへの強制捜査が「遅れる」という策を授け「地下鉄サリン事件」を誘導したのは
     天皇公安警察と創価学会である。
     天皇は その体質上 大きな「事件」を欲している。
     オウム科学省のトップは 日本刀で殺された「村井」という人物だ。
     村井は「サリン」授受の経緯を知る人物なので 「日本刀」で殺された。

      http://d.hatena.ne.jp/kouhou999/20150224
0774774ワット発電中さん
垢版 |
2018/06/14(木) 01:21:49.04ID:gowda87j
>>715
シングルバッファで簡単なラインを書いたくらいですが
画面全体転送で秒60フレーム出ました

上下反転や左右反転もコマンドで出来ます

思ってたより高機能ですが
思ってたより小さくて思ってたより表示が汚い
PWMの周期が遅いのか、画面が微妙に動くだけて点滅がわるし、発色もいまいち
0778774ワット発電中さん
垢版 |
2018/06/14(木) 12:42:58.25ID:M4EHwB/g
そういうことです

取り付け向きで180度回転したい場合
数学と同じように上をプラスにしたい場合
などへの対応でしょう

左右スキャンではなく上下スキャンも出来るので、90度回転した状態でも使えます
0779774ワット発電中さん
垢版 |
2018/06/14(木) 12:46:48.58ID:M4EHwB/g
直線描画や矩形描画や矩形コピーなどの2Dアクセラレーション機能や
指定矩形に限定して描画する機能
もあります

まだ使ってないですが
0781774ワット発電中さん
垢版 |
2018/06/14(木) 16:45:12.34ID:nKhcShXB
パネル側でアクセラレーション付きは珍しいっすね
SoC内蔵とかEPSONのS1D系とかならいざ知らず
SSDとかILばっかりつかってるとアクセラレーション?何それ美味しいの?状態だったのにw
0782774ワット発電中さん
垢版 |
2018/06/14(木) 19:21:11.97ID:gowda87j
型番不明

アマゾンで以下で検索すると出てくる
「HiLetgo 0.95インチ SPI OLEDディスプレイモジュールフルカラー65KカラーSSD1331 7ピンArduinoに対応」
0783774ワット発電中さん
垢版 |
2018/06/14(木) 20:10:24.28ID:gN8sO5Y7
>>782
なかなかの高級品ですな。
うちのは1.44インチ128x128ピクセルのTFTで送料込み365円とかの安物だった。
Arduinoからコードを移植してPIC24でカラーチャートを表示したころで1年半放置してあるわ。
0785774ワット発電中さん
垢版 |
2018/06/14(木) 23:11:55.05ID:gN8sO5Y7
>>784
はい、見た目もドライバICもそれと同じです。
値段がだいぶ盛られてますが…。
0788774ワット発電中さん
垢版 |
2018/06/15(金) 17:55:10.31ID:O6wa68vK
ドットマトリクスLCDやOLEDをPICで動かしてる人は、どんなソースを書いて制御してるの?

自前で書くのが主流?
0792774ワット発電中さん
垢版 |
2018/06/15(金) 21:06:27.09ID:hP8G3mJR
初心者こわがってだれも質問しなくなったな
ステマ大成功
0796774ワット発電中さん
垢版 |
2018/06/16(土) 14:06:27.30ID:7yH41ZOM
PC用だと遠い昔でも1.5倍位が限度だった
フラッシュアクセスタイムとか調整した?
0797774ワット発電中さん
垢版 |
2018/06/16(土) 15:11:02.48ID:zZjxPF89
>>795
16MHzクリスタルの4倍だよ。
趣味とは言え不安だから8MHzクリスタルに換装しようかと。
MCCで設定出来てしまうのが謎。
0798774ワット発電中さん
垢版 |
2018/06/16(土) 15:14:44.71ID:w7qthtOa
DSスペックは温度とか電源電圧全域の保証範囲
局所的にはOCで動作する
のかも
0803774ワット発電中さん
垢版 |
2018/06/17(日) 01:45:42.36ID:rGhzbmqK
>>786
早速遊んでみました
イメージががRAMに展開出来ないので
8分割して8回描画して8回転送って感じにしました

でも描画よりも転送に時間がかかっちゃって
1FPS位しか出てません
ピンの都合で8bitがバラバラになってしまったのが主な原因です

ピンの並びをキレイにして、
16分割してダブルバッファリングすれば
DMAが使えるんで、
これを目標にしてみます
0804774ワット発電中さん
垢版 |
2018/06/17(日) 01:47:54.47ID:rGhzbmqK
このLCDの場合、
タッチパネルがLCDと共通ピンで非常に使いにくいです
データ転送の隙間でペン位置を見ないといけない
素直に4pin独立で出しておいて欲しかった
0805774ワット発電中さん
垢版 |
2018/06/17(日) 13:06:20.06ID:/W7f/bpP
>>803
楽しそう。
テキストの逐次転送とか、画像でも部分的リフレッシュならFPS上がる?
0806774ワット発電中さん
垢版 |
2018/06/17(日) 13:37:20.63ID:CbZ0Wx76
もちろん部分更新ならFPSは上がります

全画面フルカラーだと
コントローラー最大の15MHzでも30FPSが最大
全画面フルカラーの動画再生で使うようなモジュールでは無いんでしょうね
0811774ワット発電中さん
垢版 |
2018/06/18(月) 08:07:35.08ID:vjnNMYOp
12*4=48MHz
液晶表面のは保護用だから、ケース加工後に剥がす予定だよ。
0814774ワット発電中さん
垢版 |
2018/06/18(月) 21:02:58.45ID:1U5jpkka
保護シールのことだろ。
本題に無関係のどーでもいいことをチマチマうるせえよな。
わざわざ書く神経がクソだわ。
0815774ワット発電中さん
垢版 |
2018/06/19(火) 00:02:40.93ID:3FV23PIy
>>803
ピンがバラバラなままでソフト書きでなんとか30FPS出せました
出せたところで何をするかは決まってないんですが
0817774ワット発電中さん
垢版 |
2018/06/19(火) 08:32:38.33ID:3FV23PIy
素直にピン配変えろって聞こえてきそうだが
こういう無駄な最適化は楽しいね
0818774ワット発電中さん
垢版 |
2018/06/19(火) 20:32:49.86ID:3FV23PIy
アセンブラで書いたら1バイト転送あたり
MIPS 10命令
ARM 6命令
になりました

MIPSはアドレッシングが貧弱なのと
PICのポート設定の問題で
命令数が多くなってしまった

どちらもポート順がバラバラで2グループにまたがったピン配で、他の(同じグループの)ポートはいじらない
データは転送データそのまま
という条件

PICだとポート設定が
SET, CLR両方を使うか
INVで反転しないとダメなんですよね
0819774ワット発電中さん
垢版 |
2018/06/19(火) 20:39:31.84ID:3FV23PIy
アセンブラで命令数は減って
命令の依存関係にも気を使ったんですが
C++とほとんど時間は同じでした

たぶんメモリ帯域の問題と思います
0821774ワット発電中さん
垢版 |
2018/06/19(火) 22:46:21.12ID:3FV23PIy
.macro lcd_write_bulk_even n
lw TEMP, \n(DATA_PT)
sw CLOCK, (LATA_INV)
xor DATA_B0, DATA_B0, DATA_B1
sll TEMP, TEMP, 4
addu TEMP, TABLE, TEMP
sw DATA_A0, (LATA_INV)
lw DATA_A0, (TEMP)
sw DATA_B0, (LATB_INV)
lw DATA_B0, 4(TEMP)
xor DATA_A1, DATA_A1, DATA_A0
.endm

.macro lcd_write_bulk_odd n
lw TEMP, \n(DATA_PT)
sw CLOCK, (LATA_INV)
xor DATA_B1, DATA_B1, DATA_B0
sll TEMP, TEMP, 4
addu TEMP, TABLE, TEMP
sw DATA_A1, (LATA_INV)
lw DATA_A1, 8(TEMP)
sw DATA_B1, (LATB_INV)
lw DATA_B1, 12(TEMP)
xor DATA_A0, DATA_A0, DATA_A1
.endm
0822774ワット発電中さん
垢版 |
2018/06/19(火) 22:55:26.30ID:3FV23PIy
こんな感じ
このマクロをループ内に8個ずつ交互に並べる
大文字なのはすべてレジスタの#define

命令キャッシュもデータキャッシュも有効
LATA_INV / LATB_INVのキャッシュは無効
送信データはRAM上でサイズ的にキャッシュからは追い出された状態
0823774ワット発電中さん
垢版 |
2018/06/19(火) 22:58:22.23ID:3FV23PIy
ARM(STM32)だと偶数奇数を分けなくてよくて、命令もこれだけ

str r6, [r5]
ldrb r7, [r0], #1
str r8, [r5]
ldr r8, [r2, r7, lsl #2]
str r9, [r5, #0x400]
ldr r9, [r3, r7, lsl #2]
0827774ワット発電中さん
垢版 |
2018/06/20(水) 07:37:48.02ID:NtXSjajd
先輩方の高いレベルの雑談は、本スレでお願いします。
ここは、僕たち初心者が質問するスレです。

俺は詳しいんだ、凄いだろと言う雑談は、
あっちのスレでお願いします。
0828774ワット発電中さん
垢版 |
2018/06/20(水) 07:41:41.98ID:Cygu9WZv
元データにXORをした方がいいですね
これで9命令に

.macro lcd_write_bulk_even n
lb DATA0, \n(DATA_PT)
sw CLOCK, (LATA_INV)
xor DATA1, DATA1, DATA0
sll TEMP, DATA1, 3
addu TEMP, TABLE, TEMP
sw DATA_A, (LATA_INV)
lw DATA_A, (TEMP)
sw DATA_B, (LATB_INV)
lw DATA_B, 4(TEMP)
.endm
0830774ワット発電中さん
垢版 |
2018/06/22(金) 09:11:22.28ID:zg5wPoYp
こんな簡単なアドレス計算に2命令も使うとか
MIPSはやっぱりいまいちだな

アドレス計算は頻出するんで
命令の美しさとか犠牲にしてでも
アドレッシングはリッチにしておくべきだったと思う

x86だとアドレッシングがリッチすぎて
(バランスが悪すぎて)
普通の計算にもLEAを使ったりする
0833774ワット発電中さん
垢版 |
2018/06/22(金) 12:07:37.30ID:6fOSn34P
アドレッシングで余分に時間がかかったりしない
その為のハードウェア演算回路

ARMならCortex-M0でもメモリアクセスノーウェイトなら1クロックでアドレス演算含めて読み書きできるし
x86なら1クロックで(コアあたり)2個のロードと1個の書き込みが同時に出来る
0834774ワット発電中さん
垢版 |
2018/06/22(金) 12:18:54.12ID:6fOSn34P
PIC32はMZ搭載のM5150コアでも加算とシフトで2クロック使ってしまう

まあそれでも、
アドレス計算に何命令も使い
その計算したアドレスのメモリにアクセスするのに何命令も使い
その各命令に4クロックも使う8bitよりかは遥かに高速だけど
0835774ワット発電中さん
垢版 |
2018/06/22(金) 15:39:06.28ID:ZdkVfdHH
>>833
例にCortex-M0出してるが
Cortex-M0は演算で使えるレジスタの数に制限があるのを知らんのか?
大部分の演算命令では8個のレジスタしかアクセスできないぞ
0837774ワット発電中さん
垢版 |
2018/06/22(金) 16:27:05.46ID:ZdkVfdHH
Cortex-M0はThumb-2の16bit長の命令とほんの少しの32bit長の命令しかない
32bit長の命令はたったのこれだけ
BL
DMB
DSB
ISB
MRS
MSR
UDF


ちなみに>>823のコードはCortex-M0ではアセンブルできないぞ
LDRやSTR命令でR8-R15は使えないし、
ldrb r7, [r0], #1
ldr r0, [r2, r7, lsl #2]
ldr r0, [r3, r7, lsl #2]
なんてアドレッシングも使えない
str r0, [r5, #0x400]
これもオフセット値が5bitまでしか使えないのでオフセット値が大きすぎてエラー
0838774ワット発電中さん
垢版 |
2018/06/22(金) 16:37:33.30ID:ZdkVfdHH
どうで、ここ数日間、某スレで暴れてたAVR信者だろうな
某スレで見たがPICスレでエラッタエラッタ言って暴れてるのもどうやらAVR信者っぽい
0840774ワット発電中さん
垢版 |
2018/06/22(金) 17:31:35.87ID:6fOSn34P
あっちのスレを見れば
おれがPICマニアということはわかると思う
PIC10からPIC32MZ EFまで守備範囲

ARMもx86も詳しいけど
0842774ワット発電中さん
垢版 |
2018/06/22(金) 17:49:52.88ID:ZdkVfdHH
>>841
そうじゃないだろ
>>833がCortex-M0とM0+がCortex-Mのなかでも特殊なのを知らなかったということだ
だからCortex-M0を出してきてる
>>823のコードはCortex-M3以上なのは見ればすぐにわかった
0843774ワット発電中さん
垢版 |
2018/06/22(金) 17:52:02.79ID:ZdkVfdHH
Cortex-M3、M4、M7はARMv7-Mだが、Cortex-M0、M0+はARMv6-Mだからな
ARMに詳しいならこれくらい知ってるはずだ
0844774ワット発電中さん
垢版 |
2018/06/22(金) 17:55:59.94ID:6fOSn34P
M0/M0+
M3/M4
M7

この3グループ、中身は全く違う
そんな事は知ってる

M7はスーパースカラ
M5150よりもずっと格上
0845774ワット発電中さん
垢版 |
2018/06/22(金) 17:58:45.72ID:ZdkVfdHH
だから、M0、M0+はサポートしてる命令が少ないわけ
Cortex-M3、M4、M7とはプログラミングの仕方が変わってくる
0852774ワット発電中さん
垢版 |
2018/06/22(金) 18:20:34.88ID:ZdkVfdHH
>>840は嘘か
> ARMもx86も詳しいけど
0854774ワット発電中さん
垢版 |
2018/06/22(金) 18:28:18.42ID:ZdkVfdHH
>ARMならCortex-M0でもメモリアクセスノーウェイトなら1クロックでアドレス演算含めて読み書きできるし

ARMに詳しいならなんで特殊なCortex-M0を出ししてきたの?
Cortex-M0がCortex-M3とサポートしてる命令が違うことを知らなかったんじゃないの?
0856774ワット発電中さん
垢版 |
2018/06/22(金) 18:43:34.40ID:ZdkVfdHH
>x86なら1クロックで(コアあたり)2個のロードと1個の書き込みが同時に出来る

なんのx86のことを言ってるかわからないがPC向けのx86だろ?
Sandy Bridgeとかか?
いずれにしてもマイコン用のM4KやmicroAptiv、M5150と比べるようなたぐいのものじゃないな
0858774ワット発電中さん
垢版 |
2018/06/22(金) 19:35:49.77ID:ZdkVfdHH
>ARMならCortex-M0でもメモリアクセスノーウェイトなら1クロックでアドレス演算含めて読み書きできるし

書いてることがでたらめじゃないか
Cortex-M0はロードストアは2サイクルと書かれてるぞ
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0432cj/CHDCICDF.html
Cortex-M3も2サイクル
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337gj/BABBCJII.html
0860774ワット発電中さん
垢版 |
2018/06/22(金) 23:04:14.29ID:FSnopXDS
コーディネータの指図に従って動く人なら、コーディネータや客が指定するいろいろな
CPUを使えるようになってる必要があるかもね。

でも、自分の裁量で作れる人にとって、いろいろなCPUを学んでいることは特別に大切なことじゃないよね。

どのCPUを使ってるかは、ファッションじゃねえし。
0863774ワット発電中さん
垢版 |
2018/06/22(金) 23:50:03.87ID:3ayoeOmu
多少の脱線話はしょうがないがやり過ぎだろ
このスレで解ることはPICは初心者向きではないって事
0864774ワット発電中さん
垢版 |
2018/06/23(土) 07:00:05.38ID:s1oNYlPs
>>863
初心者向けの理由や根拠にはいろいろな側面がある。
そもそもスレタイの初心者にも多面性がある。

なにかにつけ、肯定も否定もしない場合には理由はいらないけれど、
否定するときぐらいは根拠は書くべし。
そうでなければ、その根拠の解明をめぐってやりすぎの脱線が始まるおそれがある。
0866774ワット発電中さん
垢版 |
2018/06/23(土) 08:40:34.63ID:s1oNYlPs
>>865
PICを否定する根拠を問うてはいない。「PICは初心者向きではない」ことの根拠。
根拠が書かれていないのであれば、PICは初心者向きではないという結論に意味はないし

根拠がある、とだけ書いて逃げている>>865の主張にも意味はない。
根拠に乏しいものを信用せよという態度も、それを信用できるという態度も、
デマの拡散をするタイプの情弱だろね。

嗜好、選択の自由、それそれがすでに持っているもの、
それらを含めて、否定できるだけの根拠はちょっと考えにくい。
PICそのものへの否定であれ、初心者むけではないという結論であれ、
ただの白紙からの演繹的な判断や嗜好にすぎないことが多い。

最低限、嗜好の多様性は守られるべき。(それとも北朝鮮みたいな統制が好き?)
0868774ワット発電中さん
垢版 |
2018/06/23(土) 11:06:23.89ID:KUsZkuRg
PICと一括りに否定している辺りに「あ、こいつ知らない奴」ってのが読める
0869774ワット発電中さん
垢版 |
2018/06/23(土) 12:32:36.70ID:jNJ+jrw+
否定的意見を潰すんじゃなくて
肯定的意見を言えば良いのに
ここが良いとかここが便利とかここが優れてるとか
0870774ワット発電中さん
垢版 |
2018/06/23(土) 12:51:24.10ID:eAd/b7nv
>>866
私は嗜好の多様性や選択の自由なんて問題にしていない。
初心者が始めるなら、8ビットPICよりも可能性の高いCPUで、と思っている。
その方が初心者も興味が持続するのでは無かろうか?
今ならArduinoでいいじゃないか、安いし。

>>868
ご存じの通り8ビット〜32ビットPICは全く別物のCPUだが、
このスレでも分別していないし、混乱の要因だ。
同一ブランド名を割り当てるマイクロチップテクノロジの常識を疑う。
0871774ワット発電中さん
垢版 |
2018/06/23(土) 13:07:01.26ID:eAd/b7nv
いやぁ、ちょっと問題だったな、PIC関連スレでArduinoを薦めてしまった……
「今ならArduinoでいいじゃないか、安いし。」は無かった事にして下さいw
0873774ワット発電中さん
垢版 |
2018/06/23(土) 13:59:07.01ID:s1oNYlPs
>>869
別に肯定的意見なんていらないのですよ。
ここに来る人は(否定する野次馬をのぞけば)それぞれに肯定的理由があるから来てるんだし。

否定派も肯定的理由を聞けば納得するだろう、という主張もありますが、そんなことを言ってる人が本気でそう思ってるとしたら甘いですね。
テレビであるタレントの顔を見るだけでムカムカする、と言ってる人に、その人がいかに美人なのかを説明したって心変わりはしません。
0874774ワット発電中さん
垢版 |
2018/06/23(土) 15:14:34.60ID:ja1wLIk9
初めてスレだから
始めら前にちゃんと悪い面は知っておいた方が良いよな
0875774ワット発電中さん
垢版 |
2018/06/23(土) 16:34:01.28ID:Hu705My2
>>866
>>865とか>>867のような書き方をする奴とは議論にはならないだろ
ああ言えばこう言うの逃げを打つだけなので相手をするだけ時間の無駄
0876774ワット発電中さん
垢版 |
2018/06/23(土) 16:40:05.43ID:eAd/b7nv
>>873
>テレビであるタレントの顔を見るだけでムカムカする、と言ってる人に、その人がいかに美人なのかを説明したって心変わりはしません。
CPUの好き嫌いとタレントの好き嫌いの判断は同じような範疇なのでしょうか?
そんな訳の分からない、曖昧な理由で使うCPUを決めているのでしょうか?
私にはそうは思えません。

PICを嫌っている人は嫌いな理由がちゃんとあります。
それは美人/不美人の判定のような感覚的なものではありません。
たとえば私の場合、いくつか8ビットPICを嫌いな理由がありますが、
一つだけ挙げるとすれば、タイムスライスが出来ない、です。
0877774ワット発電中さん
垢版 |
2018/06/23(土) 16:40:15.49ID:ja1wLIk9
5 :774ワット発電中さん [sage] :2018/05/02(水) 01:20:40.75 ID:qrQAGo28
PICは他メーカーの同規模のMCUに比べて非常にエラッタ(バグ)が多いので注意
機能が使い物にならないものやスペックの性能が出ないものも多く存在する
メーカーが把握しつつも公開されてないなかったりする

6 :774ワット発電中さん [sage] :2018/05/02(水) 01:28:19.06 ID:qrQAGo28
本当にPICが適切か良く考えてから選びましょう

主な競合MCU
8bit AVR / STM8
16bit RL78 / MSP430
32bit STM32 / LPC / Kinetis / RX
0878774ワット発電中さん
垢版 |
2018/06/23(土) 17:04:58.40ID:s1oNYlPs
○○ができない→○○を使おうとしている人には貴重な情報。

○○が他のCPUに比べて多い→他のCPUと比較した根拠が必要。

エラッタに関しては、他のCPUと比較したときの客観的データが出てきたことがない。ばかばかしい。

逆に、特に直接のメーカーサポートが受けられないアマチュアユーザーの場合、
国内外で自分が使っているときに知りえた情報を掲示板に書くようなようなユーザーが
アンチも含めて多いPICはエラッタ情報を共有できて良いんじゃないかとさえ思う。

俺も仕事だとほかのCPUを使ってるけど、そこで知りえた問題はネットに書いたりしないよ。
そういう意味ではアマチュアユーザー「も」多く、掲示板を含めたネットでの情報交換が活発な
CPUは悪くはない。
0879774ワット発電中さん
垢版 |
2018/06/23(土) 17:11:48.57ID:ja1wLIk9
仕事で使ってて
バグで全く使えない機能を堂々とスペックとして謳ってるのはPIC以外にある?

おれはPICしか知らん

いずれにしろここはPICのスレだから
他のマイコンのバグはスレチ
0880774ワット発電中さん
垢版 |
2018/06/23(土) 17:14:21.50ID:ja1wLIk9
見つかったばかりのバグならともかく
何年も前からわかってる問題でも
0881774ワット発電中さん
垢版 |
2018/06/23(土) 18:12:46.36ID:ja1wLIk9
PIC10 OR PIC12 OR PIC16 OR PIC24 OR PIC32
2600000件

STM32
7600000件

(PIC10 OR PIC12 OR PIC16 OR PIC24 OR PIC32) (エラッタ OR errata)
543000件

STM32 (エラッタ OR errata)
25800件 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
0882774ワット発電中さん
垢版 |
2018/06/23(土) 18:16:11.69ID:ja1wLIk9
>>878
> 国内外で自分が使っているときに知りえた情報を掲示板に書くようなようなユーザーがアンチも含めて多いPIC

客観的データをよろしくね
0883774ワット発電中さん
垢版 |
2018/06/23(土) 18:30:05.25ID:s1oNYlPs
>>879-880
>他のマイコンのバグはスレチ
もし、その態度で逃げるつもりなら、他のマイコンとの比較の上で否定的な表現はするべきじゃないと思います。

>バグで全く使えない機能を堂々とスペックとして謳ってるのはPIC以外にある?
その部分については、なんだかなあ、という気はするけど下のようなことはあるかもね。

■意図的に直さない
PICについては、異常だと感じるほどに修正に慎重です。
コンパイラも古いものも長期間にわたってダウンロードできるようにしています。

ICでもソフトウェアでも、「何かを直したら、別の何かがおかしくなっている」というのはわりとよくある話です。
現状で動いているアプリケーションがある以上、別の何かをおかしくしてしまうリスクを避けるという
意図があるのかもしれません。(というのは想像だから、違うだろ!って思った人はメーカーに聞いた方がいい)

大昔のマイコンでも(値段は高くなっても)製造は維持しているものが多いのがPICの特徴のひとつです。
それを使っているアプリケーションの動作を変えない、変える恐れのあることを避けるという思想があっても不思議ではありません。

データシートの記述を修正する代わりにエラッタ情報をメンテしているふうなところはあります。
それは企業風土に近いものがあるように思います。


■全く使えないのか、その使い方なら全く使えないのか、まあまあなら使えるのか
もし、ある種の使い方ならまあまあ使える問題であって、割と多くの人がそのある種の使い方でええやんと
思うものなら、まあそんなもんじゃないでしょうか。

回避策が掲示板で共有されてて、「俺の使い方なら、それじゃダメなんだよ」って言う人は他のCPUを選べばいいし、
「まあええやん」と思う人は、まあええのではないかと思います。


あと、その人の環境次第という面もありますね。

・AというCPUにはバグがあって、やや性能を落とした使い方をしないといけないけれど、情報も豊富で、よく知っている人がまわりにいる。
・BというCPUにはバグは明らかにはなっていない。誰かが根拠を示さずAよりマシだと言ってる。まわりに使っている人がいない。
・BというCPUにはバグは明らかにはなっていない。Aほど情報は豊かではないけど、よく知っている人がまわりにいて、使い方について教えてくれる。

ほかにもいろいろなパターンがあるでしょうね。
0884774ワット発電中さん
垢版 |
2018/06/23(土) 18:35:14.16ID:s1oNYlPs
>>882
何かと比較して多い、と言ってるわけではないので、客観的データはないよ。
いろいろと検索していて、ふだんから「PICは自分が期待する基準において情報の絶対量が多い」と
感じている人は同意してくれればいいし、
「PICは絶対的に情報が少ない」と感じている人は同意してくれなくていい。
0885774ワット発電中さん
垢版 |
2018/06/23(土) 18:37:59.48ID:s1oNYlPs
でも、PICの情報は良い意味でも不幸な意味でも、日本全国の傾向をすくえば
相対的には多い方じゃないですかね。
0888774ワット発電中さん
垢版 |
2018/06/23(土) 18:53:36.34ID:s1oNYlPs
>>886
シングルスタンダードで通せる人なんていないし、求める方がおかしいのですよ。

誤解されているかもしれませんが>>881はエラッタの数の客観的データではありません。
あえていえば、ネットにでてきたキーワードのカウントです。

>>887
その理由に関心がある人がMicrochipに問い合わせをすればいいのではないですか?
俺は潔癖症でもないのでそのあたりはどうでもいいです。
0891774ワット発電中さん
垢版 |
2018/06/23(土) 20:11:00.15ID:qJm9Aomf
ことほど左様に初心者にはハードル(not敷居)が高いPICでしたとさ。
0892774ワット発電中さん
垢版 |
2018/06/23(土) 20:11:50.68ID:G5V8Zcol
先輩方の高いレベルの雑談は、本スレでお願いします。
ここは、僕たち初心者が質問するスレです。

俺は詳しいんだ、凄いだろと言う雑談は、
あっちのスレでお願いします。
0893774ワット発電中さん
垢版 |
2018/06/23(土) 21:35:25.14ID:nRMW4a/S
シッテル披露する奴は人の話を聞かないもんだよ
披露するのが目的

基本スルーがセオリーなんだけど
披露自慢人が複数いると
まぁ、こうなるわな
0894774ワット発電中さん
垢版 |
2018/06/23(土) 22:20:59.76ID:KUsZkuRg
ついでにエラッタ議論も専用スレで
0895774ワット発電中さん
垢版 |
2018/06/23(土) 22:25:51.71ID:jNJ+jrw+
もうネタなんてないだろうし
いまさらPICをはじめようなんて人もなかなかいない
作り話でつないでもしょうがない
このスレ自体不要では?
0897774ワット発電中さん
垢版 |
2018/06/24(日) 04:40:28.59ID:Pvr7sMv0
PICでスタートする人も多いですよ。
・ネッなど日本中に仲間が多い
・情報量がAVRの比じゃなく多い
・パッケージのバリエーションが多い
・秋月で安価に買える
・内蔵周辺モジュールが豊富
0898774ワット発電中さん
垢版 |
2018/06/24(日) 06:14:44.40ID:Bw5Z947a
神様にお願いしといた。
「PICでスタートして後で後悔する、なんて初心者が居なくなりますように」って。

しかし、<美人とブス、どちらでも好きなほうとつきあえる>、という状況で
わざわざブスを推薦するって >>897 は罪作りな奴だなw
後で恨まれるぞww
0899774ワット発電中さん
垢版 |
2018/06/24(日) 06:59:19.70ID:IUiafEkC
ブス!とか言いながら、その子が気になってしょうがない小学生w
0900774ワット発電中さん
垢版 |
2018/06/24(日) 08:36:53.76ID:qfY2MA6a
AVR(のアーキテクチャ)は気になるけど、ardunoがウザイ。
AVRもPICみたいに簡易なデバッガが出て欲しいな
0902774ワット発電中さん
垢版 |
2018/06/24(日) 08:55:42.43ID:z1CV/Wzj
>AVRもPICみたいに簡易なデバッガが出て欲しいな
あるのでは? AVRスレで尋ねてみれば?
0903774ワット発電中さん
垢版 |
2018/06/24(日) 09:06:50.75ID:GnWhyKXX
LPC-Link2 2800円
ST-LINK/V2 3000円
MiniProg1 3650円
PICkit4 5700円
Atmel ICE 11000円

Microchipは高い
0904774ワット発電中さん
垢版 |
2018/06/24(日) 09:10:35.96ID:WyZDZHBz
>>898
PICで何かを作ろうとする気概のある人は
他人に責任を求めたりしないと思うが
0905774ワット発電中さん
垢版 |
2018/06/24(日) 09:13:57.95ID:GnWhyKXX
データシートより他人を頼る人がPICユーザーに多い気がするけど
0907774ワット発電中さん
垢版 |
2018/06/24(日) 09:19:31.82ID:ROB4jaM6
>>905
僕 英語読めません、って素直に白状したら?
0910774ワット発電中さん
垢版 |
2018/06/24(日) 10:53:47.93ID:Pvr7sMv0
先輩方の高いレベルの雑談は、本スレでお願いします。
ここは、僕たち初心者が質問するスレです。

俺は詳しいんだ凄いだろう、AVRは凄いんだ、
と言う雑談は、 あっちのスレでお願いします。
0911774ワット発電中さん
垢版 |
2018/06/24(日) 10:54:53.43ID:u0+igbfY
マイコンプログラミングをはじめるなら
無難に32bitが良いよ
8ビットは色々と特殊すぎて
0913774ワット発電中さん
垢版 |
2018/06/24(日) 10:59:21.83ID:vOANkRU+
PIC←→AVR
フルーク←→フルーク以外
VHS←→β
非喫煙者←→喫煙者
・・・

非主流は姦しい・・・
0917774ワット発電中さん
垢版 |
2018/06/24(日) 12:35:58.24ID:u0+igbfY
次は

カラー画面
アニメの高画質化
表面実装部品による小型化
赤外リモコン送信機能
赤外リモコン受信
リモコン&メニューによる設定
USBを使ってPCから設定

この辺に挑戦してください
0918774ワット発電中さん
垢版 |
2018/06/24(日) 12:43:26.96ID:u0+igbfY
ROMサイズが必要ならこの辺を
PIC32MM 20pin 64KB
PIC32MM 28pin 256KB

基板設計もぜひ挑戦してみよう
今はとても安く作れます
0919774ワット発電中さん
垢版 |
2018/06/24(日) 12:47:09.86ID:u0+igbfY
今時電源がトグルスイッチも無いよね

自己保持回路による待機電力ゼロ化
でも良いし
リモコン受信可能なまま省待機電力に挑戦
でも良い
0920774ワット発電中さん
垢版 |
2018/06/24(日) 12:58:32.02ID:u0+igbfY
砂時計だから加速度センサで起動が普通か
1秒に1回くらい値を見て値が大きく変わったら起動

電源は3系統
PIC, 加速度センサ, 画面
0921774ワット発電中さん
垢版 |
2018/06/24(日) 13:18:01.46ID:kwQ67rjL
DC/DCのenableをプッシュボタンで起動して、
動作中はPICがenableを保持すれば、
オートパワーオフが成立しそうなんだが、
1ボタンでそれをやる回路が思いつかなかった。
PICからのenable信号がボタンと競合してしまう。
ダイオードとかで何とかなる?

20ピンの32MM、気になる。
0922774ワット発電中さん
垢版 |
2018/06/24(日) 13:24:37.48ID:7ud+1Wfz
>>921
ダイオード使ってもいいし、enableを駆動できる程度に
pic出力に1K位の抵抗直列に入れればぶつかってもok
0924774ワット発電中さん
垢版 |
2018/06/24(日) 13:31:16.92ID:7ud+1Wfz
>>923
> >>922
> そしたらボタンが押されっぱなしにならない?
ん?
時間来たらpicが切るんじゃないの?
0926774ワット発電中さん
垢版 |
2018/06/24(日) 13:44:27.29ID:kwQ67rjL
>>925
ボタン1個で、起動、砂時計容量変更、ブザーストップをさせたい。
電池はDC/DCに直結するが、動作時のみenableにする。
DC/DCはGNDに落とすとenableになる。

これが解けなかった。
0927774ワット発電中さん
垢版 |
2018/06/24(日) 13:55:11.91ID:KhRIf9c7
プッシュSW1回路の場合、どの電源系につなぐかが面倒くさそう。

卑怯な方法。二回路二接点プッシュスイッチ使い1回路を電源ON用に使う。

別の方法も考えられると思うけど、電源系の電圧が書かれた回路図がないと分からないな。
0928774ワット発電中さん
垢版 |
2018/06/24(日) 14:23:19.43ID:u0+igbfY
>>926
ん?
普通にダイオードと抵抗で出来ないか?
まあ最悪ボタンはADCで検出でも
0929774ワット発電中さん
垢版 |
2018/06/24(日) 16:43:22.81ID:wgVV9TG7
XC8について質問さしてください

XC8で@(アット)マークを付けたら変数領域を指定のアドレスへ配置出来る
と思うんですが、この機能を使えば

myStruct1 AAAA @ 0x500;
myStruct2 BBBB @ 0x500;

と言う感じであえて同じアドレスに2つの変数を配置して、あたかも共用体の
ような使い方が出来ますでしょうか?
0930774ワット発電中さん
垢版 |
2018/06/24(日) 16:47:34.64ID:2J01mMpu
素直に共用体使ったら?
0931774ワット発電中さん
垢版 |
2018/06/24(日) 18:56:15.89ID:3e3r9nFD
同時にインクルード出来ないヘッダで別々に定義されてるとか?
0934774ワット発電中さん
垢版 |
2018/06/24(日) 21:26:44.93ID:hTUJK9g6
賢いコンパイラだと、まずいかも。
たしか、cには、異なるタイプのポインタは同じものを指さない
と言う縛りがあってそれを使った最適化をするコンパイラがある。
アホなコンパイラなら、そんな最適化はしないだろう
それでもvolatileはつけとくべきね。
0938774ワット発電中さん
垢版 |
2018/06/24(日) 22:47:18.36ID:3e3r9nFD
enableの代わりにトランジスタ
マイコンからの制御にデジトラ

なところが違う
0946774ワット発電中さん
垢版 |
2018/06/25(月) 06:49:07.59ID:mPzchdJZ
そもそも電源の選定は正しかったのか。

PICと液晶は2.7V<Vcc<5Vだから、18650直結なら簡単だった。

PchMOSFETをDCDC上流に入れた場合、バッテリ電圧の下限はどの程度?
1.0Vで動かなきゃNiMH×1には使えない。
0948774ワット発電中さん
垢版 |
2018/06/25(月) 08:27:22.48ID:8zCYKMmx
>>940だと、
スイッチを押すとスイッチの抵抗側の電圧が変わるようにしておいてADCで検出
とか
0949774ワット発電中さん
垢版 |
2018/06/25(月) 10:41:09.73ID:GonHOTXi
>>929
出来ることはできるが、
変数のアドレス管理誰がやるんだよ
それは普通、アドレスマップのレジスタに対して使う機能
0953774ワット発電中さん
垢版 |
2018/06/25(月) 12:46:28.44ID:sQsmhZbM
色々な使い方があるのに乏しい経験で「普通」とかいってわざわざ用途を絞っちゃう
お前ソフトに向いてない
0954774ワット発電中さん
垢版 |
2018/06/25(月) 19:12:15.18ID:GonHOTXi
アホカ
ただのグローバル変数に絶対アドレス指定したらそこが他で使われていないか、
リンカのマップファイルみて一々確認しなきゃならんだろ
そんなめんどくさいことやる馬鹿いねーよという意味だよ
(普通に共用体で宣言すればいい)
それともあれか、 @ 機能つかったらそのアドレスは他で使われないように
コンパイラが管理してくれるのか?
ヒープの真ん中でも避けてくれるのか?w
それに「普通」ってのが用途を絞っていると断言している根拠はなんだよ
勝手に決めつけるなよw
0956774ワット発電中さん
垢版 |
2018/06/25(月) 19:48:33.81ID:LqX63lra
>>954
じゃあXCには何のためにアドレス指定機能があると思ってんの???
馬鹿?
0957774ワット発電中さん
垢版 |
2018/06/25(月) 19:49:57.38ID:RbY6Qp1Q
だから >949
0958774ワット発電中さん
垢版 |
2018/06/25(月) 20:13:41.49ID:8zCYKMmx
アドレス指定したいっていう人に
アドレス管理誰がやるんだよって
頭おかしい
0959774ワット発電中さん
垢版 |
2018/06/25(月) 20:24:20.92ID:I7aJr4QL
>>954
普通のメモリマップドIOの割り当てをコンパイラやリンカがどうやると思ってるんだろ
0960774ワット発電中さん
垢版 |
2018/06/25(月) 21:25:38.07ID:tW+lH6r5
普通にアドレス指定してるが・・・・・何か?????
0961774ワット発電中さん
垢版 |
2018/06/25(月) 23:13:10.88ID:RkgoG5h3
>>898
美人は3日で飽きるがブスは3日で慣れるという有名な格言があってだな以下略
0962774ワット発電中さん
垢版 |
2018/06/25(月) 23:21:21.99ID:CdGAXxfw
IOやSFRのアドレスと、変数のアドレスをごっちゃにしてはややこしくなる。
変数のアドレスはコンパイラ、リンカに任せればいいという話でしょね。

いやいや、アドレス指定したいって話なんだから、という話もわかるのだけど、
共用体ではなんであかんのでしょ、って疑問はあるのかも。俺もまあそう思う。
0964774ワット発電中さん
垢版 |
2018/06/25(月) 23:24:03.21ID:8zCYKMmx
>>962
疑問に思ったとしても質問の前提だから

素直に共用体にしたくない理由はいくつか考えられるし
共用体はおまけでアドレス指定が主な目的かもしれない
0965774ワット発電中さん
垢版 |
2018/06/25(月) 23:26:06.77ID:8zCYKMmx
質問に答えるだけならその理由は不要
代替案を知りたいなら理由も書くでしょう
0966774ワット発電中さん
垢版 |
2018/06/25(月) 23:28:40.09ID:8zCYKMmx
変数のアドレスを指定したい理由も色々と考えられます
経験の浅い人はそういう発想もないでしょうけど
0967774ワット発電中さん
垢版 |
2018/06/25(月) 23:34:40.64ID:8zCYKMmx
質問者も、
やって見ればすぐわかることをいちいち質問しないでやってみればいいんですよ
出来たならここに理由と共にテクニックとして紹介する
初心者同士そうやって高め合えば良い
0968774ワット発電中さん
垢版 |
2018/06/26(火) 00:05:08.91ID:MH2X+Y+e
>>964, >>966
>素直に共用体にしたくない理由はいくつか考えられる
アドレス指定とは別にして、共用体にしたくない理由って具体的にどんなこと
でしょうか。


>変数のアドレスを指定したい理由も色々と考えられます
昔のパソコンでVRAMをワークエリアに使うようなときにはアドレス指定をしていた
けれど、8bit PIC で変数のアドレスを指定するほかないようようなことって
どんなことなんでしょうか。

いろいろ考えられるうちの3個4個ぐらいを教えていただけると勉強になります。

と、こういう疑問は持ってますが、技法としての元質問の価値はあると思ってます。
必要なら自分でやっつければ済むことですけど。
0969774ワット発電中さん
垢版 |
2018/06/26(火) 06:52:22.86ID:U2j8GMB0
>>968

●共用体
◇文字数の削減や移植の手間や見易さの為
(※無名共用体が使えない場合)

◇ファイルやモジュールの分離性確保の為
・同時にインクルード出来ないヘッダ
・コンパイル依存性(コンパイル時間)
・ライブラリ化

◇共用体に出来ない構造体への対応
(※C++の場合)
0970774ワット発電中さん
垢版 |
2018/06/26(火) 07:09:48.97ID:U2j8GMB0
>>968

●アドレス指定したい場合

◇部分ビルドする場合のインターフェース
ブートローダーとアプリケーションや
複数のアプリケーションなど
ROMの複数エリアを別々にビルドする場合のインターフェースとし
エントリーポイントのテーブルなど

◇周辺モジュールとのインターフェース
DMAのバッファなどで特定の番地にしたい場合

◇高速化や簡略化の為
配列の先頭や終端のアドレスが特定の値で有ることで高速化やコードの簡略化を行う
+と&でリングバッファのポインタを更新するなど

◇セクタ考慮
ROMのセクタやRAMのバンクなどを考慮したい場合
境界を跨ぎたくないとかセクタ先頭からはじめたいとか

◇デバッグ性
よくデバッガで書き換える変数の固定アドレス化
外部からアドレス指定でアクセスしたい変数の固定アドレス化
0972774ワット発電中さん
垢版 |
2018/06/26(火) 07:33:03.70ID:MH2X+Y+e
>>969-971
共用体を避ける理由については、正直なところ俺にはピンとこないものでしたが、
アドレス指定については思い当たるところもなくはなく。
ただ、とても個人的な事情にすぎないことで、俺のPICの使い方ではあまり縁がないものばかりでした。

あと、俺の思い込みもありました。8ビットPICってPIC18も含まれるのですね。

ありがとうございました。
0973774ワット発電中さん
垢版 |
2018/06/26(火) 08:11:42.65ID:W4z6KEwg
>>972
アドレス固定にすれば、エンディアンとかの考慮要らないから、移植しやすい とかかな?
0975774ワット発電中さん
垢版 |
2018/06/26(火) 09:48:57.87ID:oi/2MisI
>>973
アドレス指定をするとエンディアンの何が解決出来るって?
少なくとも考慮要らないなんてことはない
0976774ワット発電中さん
垢版 |
2018/06/26(火) 10:18:31.43ID:+FLk9oh3
>929
GCC (XC8含め) のリンカは別の名前が同じアドレスをさしていても問題ない。
だからやろうと思えば適当にリンカへの指示を加えることで可能にはなる。
ただ、リンカへの明示的な指示なしでコンパイラが、暗黙のうちにリンカでエラーにならないように
セクションや名前を選定してくれるかは別で、

ゼロ以外で初期してたらだめ、
ゼロで初期化するやつは初期化しないやつとならマップ OK、
初期化してなければOK、

とかそんな感じになると思うけど、
GCC でファイルをまたぐ名前の扱いが 2012年あたりからちょいちょい変わってるので
XC の元ネタの GCCの版によって挙動がかわるかもだから保証はしない。

あと、異なる名前が同じアドレスを占めていて、それを一つの関数内で両方の名前を扱うなら、最適化で O2 以上は禁止な。
gcc -O2 は異なる名前は異なるアドレスをアクセスする前提で最適化する。volatile 関係ない。
ここ 2年くらいエイリアスの最適化の動作確認してないけど変わっとらんと思う。
0977774ワット発電中さん
垢版 |
2018/06/26(火) 13:08:30.85ID:WR7nqvMw
XC8ってアドレス指定すると何の警告も無しに同じエリアに値を割り振るんだね
怖い怖い
0978774ワット発電中さん
垢版 |
2018/06/26(火) 13:18:35.17ID:WR7nqvMw
最適化に関してはunionでも悪影響が無い保証なんて無いよね

volatileは読み書きの順番や回数はバイナリ上では保証されるから意味が無いことは無いけど
最適化が非常に制限されるからなるべく使いたくない

そもそも、最適化で変わるような関連が密なデータであれば素直にunionにした方が便利な事が多いと思う
0979774ワット発電中さん
垢版 |
2018/06/26(火) 18:05:45.28ID:ex7MjJy5
XC8ってリンカスクリプトとかスキャッタロードとかって無いの?
0980774ワット発電中さん
垢版 |
2018/06/26(火) 22:26:29.21ID:KQN0txZ5
>>976
>> gcc -O2 は異なる名前は異なるアドレスをアクセスする前提で最適化する。volatile 関係ない。

これ、gccドキュメントのどこに書いてある?
前に書いたように、異なるポインタタイプは同じものを指さないという仮定=strict-aliasingルールはドキュメント上にある。
-O2はstrict-aliasingを仮定して最適化するとドキュメントに書いてある。
GCCのドキュメント(gcc6のね)から、

'-fstrict-aliasing'
前略
In particular, an object of one type is assumed never to reside at the
same address as an object of a different type, unless the types are
almost the same. For example, an 'unsigned int' can alias an
'int', but not a 'void*' or a 'double'. A character type may alias
any other type.
中略
The '-fstrict-aliasing' option is enabled at levels '-O2', '-O3', '-Os'.

volatile周りも、理解してないね。
0981774ワット発電中さん
垢版 |
2018/06/26(火) 22:39:29.47ID:KQN0txZ5
>>976
念のため例つけとくと、

void f(int *x, int *y)
{
int a = *x;
// a == *x に決まっている。
*y = 0;
// これ以降は、a != *xかもしれないと考えて最適化する

ということだからね。
同一視の可能性は名前じゃなく、ポインタの型だよ。
なお、int *とunsigned int *は類似の型なので、同一型のように扱う。
0982774ワット発電中さん
垢版 |
2018/06/27(水) 00:47:47.51ID:Qlu5v5Vu
先輩方の高いレベルの雑談は、本スレでお願いします。
ここは、僕たち初心者が質問するスレです。

俺は詳しいんだ凄いだろう と言う雑談は、 あっちのスレでお願いします。
0983774ワット発電中さん
垢版 |
2018/06/27(水) 01:11:03.22ID:9TsXY6B2
>>976
>>980
話題がそれてるけど
ポインタじゃなくてスタティックな変数への直接アクセスの話
unionとunionじゃない同じ番地の変数が同じように扱えるか
が質問内容

一旦ポインタを経由したら最適化が同じになることは容易に想像がつく
コードはポインタの中身に依存しないので
0990774ワット発電中さん
垢版 |
2018/06/29(金) 18:23:25.68ID:VAjBY0do
きみに
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 58日 19時間 39分 25秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

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

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