X



トップページ電気・電子
1002コメント398KB

PIC専用のスレ Part53 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2016/05/22(日) 19:48:14.55ID:664OrJmN
     ______
   /Microchip ./|
 / ( ゚∀゚)   /  | アセンブラのアの字もわからない
 |~ ̄ ̄ ̄ ̄ ̄|  /. 超初心者からHEXが読めてしまう
 |/Z./Z./Z./Z_|/ ||  鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
  ||. ||. ||. ||
大人気のPICマイコンのスレ
なんといっても情報が豊富だし、開発環境も多いし、パッケージも豊富
使いやすくて、しかも安い。やっぱりPICだよね
例の如く基本リンクだ
http://www.microchip.com/  マイクロチップ本社(Microchip Technology Inc. )
http://www.microchip.co.jp/ マイクロチップ テクノロジー ジャパン 株式会社
http://www.microchip.com/maps/microcontroller.aspx Microchip Advanced Part Selector (Maps)
またーりやっておくんなまし
種類が多くてワカランって奴は上記パーツセレクタで、機能から最適製品を絞り込め!
教えて君はとりあえずGoogle( http://www.google.co.jp/ ) くらい使おう

テンプレ内の秋月小売価格も在庫が捌ければ、次の仕入れからは昨今の為替相場変動にならって
適宜価格改定されてます。ここの表記価格とは違うかもしれないのでそのつもりで

前スレ:
PIC専用のスレ Part52
http://wc2014.2ch.net/test/read.cgi/denki/1453468748/
0799774ワット発電中さん
垢版 |
2016/07/25(月) 23:19:23.34ID:rvsbhdNz
>>797
どんな場合に内蔵を使うかを書かれると有益なんですが。

俺の意見(プルアップが必要な場合に…)
・リセット時に決まってる必要がある場合は外部プルアップ
・プルアップ抵抗が高抵抗かつ誤差大でもいい場合は内部プルアップ
・なんせ部品点数を減らしたいときは使えそうなら内部プルアップ
・あたりまえだけど内部プルアップがないポートなら外部プルアップ。
>>797さん的に加えた方がいいもの、それは違うだろ、が有ったら付け加えて。

長距離を引き回す場合は、外来ノイズを受けやすいことから>>796の考えに至ったのだと思います。
その考え方は有りかと。
0800774ワット発電中さん
垢版 |
2016/07/25(月) 23:40:14.74ID:+nRU2Rqg
> 外来ノイズを受けやすいことから
どんだけ長距離か知らんけど、そんな酷い環境なら、何があるかワカランから
シリーズに入れるなり絶縁なりするんじゃない?
そうじゃなきゃ、内蔵で十分。
0802774ワット発電中さん
垢版 |
2016/07/25(月) 23:55:47.23ID:rvsbhdNz
>>800
「そんな酷い」もいろいろありますから、環境を2種類で考える必要はないと思います。

本件の場合は仮にノイズでレベルがひっくり返るような環境でも、複数回のサンプリングで対応できると思いますが。
ばらつきも問題にならないし、マイコンが起動してから確定すればいいわけで、俺なら内蔵で対処するかな。
0804774ワット発電中さん
垢版 |
2016/07/26(火) 15:11:20.36ID:aY0MPSVV
>>799
>・リセット時に決まってる必要がある場合は外部プルアップ
それは内蔵/外部の話じゃ無くて、プルアップの要不要の話。

>・プルアップ抵抗が高抵抗かつ誤差大でもいい場合は内部プルアップ
「いい場合」とは、どんな判断基準によるか書かなきゃダメだよ。

>・なんせ部品点数を減らしたいときは使えそうなら内部プルアップ
「使えそうなら」とは、どんな判断基準によるか書かなきゃダメだよ。

>・あたりまえだけど内部プルアップがないポートなら外部プルアップ。
それは内蔵/外部の話じゃ無くて、プルアップの要不要の話。

・高抵抗で良くて、
・抵抗の温特が悪くても良くて、
・抵抗値のバラツキが大きくても良くても良い
そんなときに「しか」使えないよね、内蔵プルアップ。

しかも、プルダウンすることも多いのに。

結論
・外部のプルアップを使うと幸せになれる。
0805774ワット発電中さん
垢版 |
2016/07/26(火) 17:01:26.82ID:1TgJWxlw
リセット中にDI/OがHiZの入力になるCPUを出力で使うときは
<外部プルアップ+負論理回路>が多かった。

そうそう、昔、知り合いが設計した制御装置は、CPUの5V電源が落ちると、
フォトカプラ絶縁の24V系外部出力が全てオンするという素晴らしいものでw
「5V電源と24V電源は同時に落ちるから問題無い」という言い訳には笑ってしまった。
0806774ワット発電中さん
垢版 |
2016/07/26(火) 19:40:21.04ID:PYxwd2/G
数秒ずれると思うんだけど、上司はそれで納得するよ (あるある)
0808774ワット発電中さん
垢版 |
2016/07/26(火) 21:09:04.34ID:KULwJIzS
> そんなときに「しか」使えないよね、内蔵プルアップ。
そんな「しか」が多いから、内蔵されたんだろうに。

> しかも、プルダウンすることも多いのに。
多いかどうかは設計思想の違い。

> 結論
> ・外部のプルアップを使うと幸せになれる。
論拠がことごとく破れてるよ。
0809774ワット発電中さん
垢版 |
2016/07/26(火) 21:18:08.05ID:40jrtY1w
目の前の狭い範囲しか見えてない可哀想な人なんだよ、たぶん。
0810774ワット発電中さん
垢版 |
2016/07/26(火) 22:32:52.86ID:eGRXmJhJ
>>804
プルアップを何のためにするのか、というのはシーンによって一定しません。
「いっときも入力がHiZになっちゃダメだ」という思想と
「リセットのときぐらいはHiZでもいいよな」という思想とではよりどころも違います。
少なくとも、外部ではなく内蔵プルアップを使うケースの多くは、後者に寄りかかったものです。
ですので、この議論をするときは、いったん両方を肯定しないと当然のように外部プルアップしか
容認できないことになります。

当然ですが、俺も両方の考え方を肯定して書いています。


> >・リセット時に決まってる必要がある場合は外部プルアップ
> それは内蔵/外部の話じゃ無くて、プルアップの要不要の話。
ここで議論しているのは、その用途で内蔵でいいか、外部でなければならないか、ですから
やはり内蔵/外部の話なのです。


> >・プルアップ抵抗が高抵抗かつ誤差大でもいい場合は内部プルアップ
>「いい場合」とは、どんな判断基準によるか書かなきゃダメだよ。
判断基準はケースバイケースだと思います。
例えばHiZになってから、Hレベルに落ち着くまでの時間に制約があるなら、外部プルアップで
それを保証する必要がありますね。


> >・なんせ部品点数を減らしたいときは使えそうなら内部プルアップ
> 「使えそうなら」とは、どんな判断基準によるか書かなきゃダメだよ。
高抵抗かつ誤差大でも良くて、リセット時にイネーブルになっていなくていい場合です。

> >・あたりまえだけど内部プルアップがないポートなら外部プルアップ。
> それは内蔵/外部の話じゃ無くて、プルアップの要不要の話。
あたりまえですね。


>・高抵抗で良くて、
>・抵抗の温特が悪くても良くて、
>・抵抗値のバラツキが大きくても良くても良い
>そんなときに「しか」使えないよね、内蔵プルアップ。

「しか」というよりも、俺、結構そういうシーンは多いと思うんだけど。

>プルダウンすることも多いのに。
その多いシーンだと、プルアップで事足りることが多いです。
プルアップでもプルダウンでも良いけどCPUにプルアップしかないからプルアップでいいか、というケースもあれば、
習慣的に負論理で何かがおきるような設計をされているデバイスが多いからですかね。

もっとも、FPGAだとダウンも選択できることが多いと思います。

>結論
>・外部のプルアップを使うと幸せになれる。
不用意に部品点数が多くなることが不幸でないのなら、それで幸せになれると思います。
ケースバイケースで判断したいところです。
0811774ワット発電中さん
垢版 |
2016/07/26(火) 22:50:13.22ID:HeH/tfm+
最終的に、PICの先につながる基板を選択して、何が出来上がるんだっけ?
0812774ワット発電中さん
垢版 |
2016/07/27(水) 02:23:20.53ID:zRtquGuE
Directで注文しようと思って最後の画面で9日に発送とか出てくるから2週間も
先かよーしゃねーなーとか思いつつ、よく見たらAugじゃなくてSepだった・・・
9/9かよ・・・さすがに遅すぎる

Microchip Directに注文して発送が1ヶ月時以上も先とか、注文受けてから
作るのか?
0813774ワット発電中さん
垢版 |
2016/07/27(水) 06:36:37.97ID:zCAfrlHx
>>812
在庫がなければそういうこともあるんじゃないでしょうか。
個々の超小ロットユーザーの注文を受けてから製造ってことは多分なくて、
次にいつ、その部品を作るのかが決まっていて、それによる出荷がその時期なんだと思います。
0814774ワット発電中さん
垢版 |
2016/07/29(金) 00:10:55.97ID:Axbq9rNg
48MHz駆動の8bitPIC(PIC18F4553)でパルス幅1μsの信号をXC8で処理記述出来るかな?
1本の信号線で4us周期のパルスが

_| ̄ ̄ ̄ Low 1us - Hi 3us → bit 0

___| ̄ Low 3us - Hi 1us → bit 1


と言うのを受信処理したいんだけど。1回の受信は5byteとか8byteと言う感じで
ある程度決まってる

48MHz駆動でも1TCYが83nsかかるんでasmなら楽勝(?)でもCだと厳しそうな気も
0815774ワット発電中さん
垢版 |
2016/07/29(金) 02:00:44.11ID:HBWA3eHF
48MHzの8bitPICって
Z80A-4MHzのPC8801の10倍位の性能があるのか
良く考えたらこりゃ凄い
0817774ワット発電中さん
垢版 |
2016/07/29(金) 02:10:59.79ID:22P9bS6l
>>815
プロセッサの種類が違うとクロックと性能比が全く変わる
最近は特にアーキテクチャの進歩が激しいからクロックなんて性能とは関係無いぐらいに思っておいた方がいいかもな
0818774ワット発電中さん
垢版 |
2016/07/29(金) 02:48:57.54ID:8bHMfnOH
PICに外部メモリー、各種I/O、コントローラのせて当時のPC互換に仕立てたモノを想像してみるに、とても性能が上回るとは思えないな。
0819774ワット発電中さん
垢版 |
2016/07/29(金) 05:18:41.63ID:rhlVfAtv
CPUがせっかく速くなっても、Cで鈍臭いプログラムw
0821774ワット発電中さん
垢版 |
2016/07/29(金) 06:58:15.60ID:04LuLz/V
>>814
>1回の受信は5byteとか8byte
ということは、受信を休んでいる期間があるわけですね。
休んでいる期間はどうなっているのでしょうか。H?

純粋にソフトだけで実装するならアセンブリ言語かなって気がします。
0822774ワット発電中さん
垢版 |
2016/07/29(金) 09:18:19.60ID:ETKpCUdn
>>817
なんだかんだで、1マシンサイクルの周波数は、ほぼクロックに比例しているような気がするけどね。
マイコンの場合。
0823774ワット発電中さん
垢版 |
2016/07/29(金) 09:19:02.83ID:ETKpCUdn
×1マシンサイクルの周波数
○1マシンサイクルの処理性能
0824774ワット発電中さん
垢版 |
2016/07/29(金) 12:06:38.50ID:PNSaDt8g
>>814
素人の素朴な疑問だけど、
スタートビットとストップビットはあるの?
同じ値が続くと1も0も同じに見えそう。
0825774ワット発電中さん
垢版 |
2016/07/29(金) 12:34:26.52ID:9AlMAWrn
>>814
もしかしてbit1がクロックでbit0がデータの同期通信?
いずれにしても受信中の処理量、受信完了後の処理量などで必要な時間が変わるから
もう少し情報が無いと何とも言えないな。
0826774ワット発電中さん
垢版 |
2016/07/29(金) 12:42:04.02ID:DOLB3n9x
>>825
何言ってンのか分からん
単に信号線1本で0/1を送るってだけの話だろ。クロックとか同期とか関係ない
1u/3uの信号は良く知らんが、昔あったAppleのADBポートは似たような信号だった。
(35us/65usでbit0、65us/35usでbit1、これを16回繰り返して2byte通信)
0827774ワット発電中さん
垢版 |
2016/07/29(金) 12:46:29.88ID:DOLB3n9x
>>824
STARTとかSTOPとかは必要ない
こういう1bit転送の場合はIDLE中はHiとかが普通
たとえば「00011」なら

 ̄(IDLE) ̄ ̄ ̄ ̄|___| ̄|___| ̄|___| ̄|_| ̄ ̄ ̄|_| ̄ ̄ ̄(IDLE) ̄ ̄


こんな感じになってて、HIが一定期間以上続けはIDLEと分かる
0828774ワット発電中さん
垢版 |
2016/07/29(金) 12:50:29.79ID:PNSaDt8g
>>827
アイドル後の一発目の立ち下がりさえ逃がさなければ、111も000も区別できるって事?
0829774ワット発電中さん
垢版 |
2016/07/29(金) 12:50:57.93ID:DOLB3n9x
>>814
1u/3uくらいならCでも記述出来ると思うけど、その8byteなり5byteの受信を
行ってる間は割り込みも禁止して信号線の監視に専念しないと無理
とりあえずLow/Hiの時間を配列にでもだらだら書き溜めておく

んで受信が一段落ついたところでLow/Hiの時間をチェックして0/1の判定を行う感じ
1usのパルス幅チェックもギリいけると思う
0830774ワット発電中さん
垢版 |
2016/07/29(金) 12:53:51.02ID:DOLB3n9x
>>828
それ取り逃すようじゃそもそも話にならんでしょ
>>814の例だとIDELの後に来るのがbit1なら1usだけLowになるのでこれを
取りこぼすことなく処理を開始するのはそれなりに工夫が必要
INT割り込みとか状態変化割り込みじゃ取りこぼす気がする
0831774ワット発電中さん
垢版 |
2016/07/29(金) 12:57:25.51ID:WbMalfQf
>>830
INT0割り込みでもアイドル後のLOWを取りこぼす事はないと思うけど、Cだと
割り込み処理に入ってPORTをチェックした時点で既にHIになってそうな予感

レジスタ退避とかその他諸々入れるとそのくらい遅れるのかね
0832774ワット発電中さん
垢版 |
2016/07/29(金) 15:33:05.56ID:5jTo3wHT
MPLAB Xのエディタだけど 改行コードとかタブコードは表示できないの?
0833774ワット発電中さん
垢版 |
2016/07/29(金) 15:40:46.23ID:9AlMAWrn
>>286
オー、スマンスマン、とんでもない勘違いをしちまった。
入力が2本あるのかと思ったら、値0/1のデューティ比の図だったのか。
0835774ワット発電中さん
垢版 |
2016/07/29(金) 16:12:22.53ID:CBdMcZGp
クロックストレッチ対応のソフトウェア式I2CスレーブのCプログラムを
AVRマイコン(20MHz) 8bitPICマイコン(20MHz) Z80CPU+Z80PIO(AKI80 12MHz)
の各マイコンに移植してマスター側から供給できるI2Cクロックの上限を調べると
AVRマイコン:約500kHz 8bitPICマイコン:約50kHz Z80CPU+Z80PIO:約2kHz
という結果になる 
AVRマイコンと比較するとアレだけどZ80と比較すればPICマイコンはすごく速い
0836774ワット発電中さん
垢版 |
2016/07/29(金) 17:32:20.64ID:5jTo3wHT
>835
10倍も変わるわけないだろ。4クロックじゃなかった? だから4倍だな。
0838774ワット発電中さん
垢版 |
2016/07/29(金) 18:11:27.13ID:rSaZ0ex6
>836
アセンブラで書いてみればわかるけど8bitPICの命令系はほんとにしょぼい、AVRが1命令でできることを
8bitPICだと2命令以上無いとできないことがおおいし、何より8bitPICの命令体系がC言語に向いてない。
C言語での比較なら1/10も妥当な数字だと思うよ、まあアセンブラ同士で比較しても1/10より多少マシな程度かと
8bitPICは40年も前の設計でAVRそれから20年も後発のCPUだからその点は致し方ないかと。
16bitPICなら逆転できるし
0839774ワット発電中さん
垢版 |
2016/07/29(金) 18:17:01.99ID:EeJrWTDT
>>838
AVRのアーキテクチャはたしかにいいけれど、アセンブラで書くとAVRのほうがしょぼいだろ。
ステップとしてはAVRのほうが増える。

逆に言えばAVRがそれだけCに特化されているRISCだということ。
0840774ワット発電中さん
垢版 |
2016/07/29(金) 18:29:35.07ID:BxZ+XbFV
> アセンブラで書いてみればわかるけど8bitPICの命令系はほんとにしょぼい、AVRが1命令でできることを
> 8bitPICだと2命令以上無いとできないことがおおい

> アセンブラで書くとAVRのほうがしょぼいだろ。
> ステップとしてはAVRのほうが増える。

どっちなんだよw
0841774ワット発電中さん
垢版 |
2016/07/29(金) 18:34:13.87ID:04LuLz/V
>>827みたいな波形なら、74CH123をひとつ外付けするだけでEUSARTを使って同期シリアルとして受信できそうな気がする。
それだったら250kbpsの同期シリアルの受信だし、ソフトの負担はかなり減りそう。
0842774ワット発電中さん
垢版 |
2016/07/29(金) 18:41:35.42ID:04LuLz/V
わずかなスピードの違いで AVRとPICのファンが争っていても仕方がないと思う。
おまけにソースコードもなしにしょぼいとかしょぼくないとか主観の話になってるし。

どちらも、小規模でスピードに厳しくない用途で使うものになりつつあるんじゃないでしょうか。
スピードが必要なら世間はARMに行っちゃってますよね。
0843774ワット発電中さん
垢版 |
2016/07/29(金) 19:50:26.20ID:IRFnddf/
何千品種もあるPICひとくくり

何百種もあるAVRをひとくくり 意味ある比較かね?
0844774ワット発電中さん
垢版 |
2016/07/29(金) 21:17:52.21ID:rSaZ0ex6
比較用
8bit÷8bit 符号無し 例外処理は面倒なので0は無し(なにか他に良いお題はないですかね?)
割る数と割られる数ともメモリかレジスタ上にすでに有るとする
[AVR];レジスタ dividend=被除数&商,remainder=余り,divisor=除数,count=カウンタ
CLR remainder
LDI count,8
LP:LSL dividend
ROL remainder
CP remainder,divisor
BRCS SKP
INC dividend
SUB remainder,divisor
SKP:DEC count
BRNE LP
RET

[MidrangePIC];メモリ dividend=被除数&商,remainder=余り,divisor=除数,count=カウンタ
CLRF remainder
MOVLW 8
MOVWF count
LP BCF STATUS,C
RLF dividend,f
RLF remainder,f
MOVF divisor,w
SUBWF remainder,w
BTFSS STATUS,C
GOTO SKP
INCF dividend,f
MOVF divisor,w
SUBWF remainder,f ;PICは引けるか確認して引くより、引いて負だったら足して元に戻す方がいいかも
SKP DECFSZ count,f
GOTO LP
RETURN
0845774ワット発電中さん
垢版 |
2016/07/29(金) 21:49:31.47ID:EeJrWTDT
>>844
DsPIC対AVRの乗算器で。

PICもAVRも好きなんだよ。
PICのハードの使いやすさや丈夫さ、開発環境の安さと
AVRのアーキテクチャがMIXされると最高なんだけど。
0846774ワット発電中さん
垢版 |
2016/07/29(金) 21:51:50.55ID:9AlMAWrn
演算ではないけど・・・
少なくともDI/Oの操作に関してはAVRの方が早いと思う。
昔のPICスレで、ある入力のループ処理をPICとAVRのアセンブラで書いて、
総クロック数を計算して比較していたが、結果はPIC:1.5uS、AVR:0.2uSだった。
ただ得意な分野はCPUによって異なるだろうから、
この結果比較で「AVRの方が優れている」と判定する事は出来ないと思う。
0847774ワット発電中さん
垢版 |
2016/07/29(金) 22:02:51.72ID:bI9bEV8W
>845
16bitPIC(dsPIC,PIC24)はAVR(Tiny,Mega)よりずっと高性能だからわざわざ比較する意味がないよ。
もともと>838で "8bitPIC"って限定して始めた話題だし
0848774ワット発電中さん
垢版 |
2016/07/29(金) 23:34:56.95ID:7OBQHwPy
18FやEnhancedMidrangeで改善されたけど、Midrangeだとキャリー付き演算が無かったから
多バイトの加減算とかすごくだるかったな。32bit同士の加算だと

[AVR] レジスタ R19:R18:R17:R16 + R23:R22:R21:R20 → R19:R18:R17:R16
ADD R16,R20
ADC R17,R21
ADC R18,R22
ADC R19,R23

[MidrangePIC] メモリ A3:A2:A1:A0 + B3:B2:B1:B0 →A3:A2:A1:A0
MOVF B0,w
ADDWF A0,f
MOVLW 1
BTFSC STATUS,C
ADDWF A1,f
BTFSC STATUS,C
ADDWF A2,f
BTFSC STATUS,C
ADDWF A3,f
MOVF B1,w
ADDWF A1,f
MOVLW 1
BTFSC STATUS,C
ADDWF A2,f
BTFSC STATUS,C
ADDWF A3,f
MOVF B2,w
ADDWF A2,f
BTFSC STATUS,C
INCF A3,f
MOVF B3,w
ADDWF A3,f
0849774ワット発電中さん
垢版 |
2016/07/30(土) 00:01:25.26ID:97mx9dVf
マクロ使うから全然問題ないな。秋月でdspicの売れ行きが悪いのは
そんな性能はパンピーにとって殆ど不要って事なんだろうな。

俺はdspicをよく使うし、周辺機能も使い倒してるからAVRなんかじゃ全然足らない。
1000倍早けりゃ周辺の貧弱なAVRでも良いかもしれないが、USBをソフトで実装出来ても
信頼性低いしネタにしかならない。
0850774ワット発電中さん
垢版 |
2016/07/30(土) 00:09:24.88ID:PGEg/ClV
>>849
お前以外の賢い人間はdsPIC使うくらいなら最初から32MX使うから
あえてdsPICを選ぶ必要性がないだけ
0852774ワット発電中さん
垢版 |
2016/07/30(土) 00:29:30.53ID:I26RuE3W
>>849
ちなみに、FPGAと比べるとどうですか?
0853774ワット発電中さん
垢版 |
2016/07/30(土) 00:31:14.33ID:97mx9dVf
>>850
使ったこと無いのバレバレだから無理しなくて良いよwww
秋月のラインナップにはDSP内蔵無いからdspicに対してアドバンテージ無いんだわ。
0854774ワット発電中さん
垢版 |
2016/07/30(土) 00:37:14.29ID:O0mIJgVT
使ってないのバレバレなのはむしろ >853 なんだなぁ
この子必死すぎw
0855774ワット発電中さん
垢版 |
2016/07/30(土) 00:37:30.73ID:97mx9dVf
>>852
FPGAも便利だけど、コンパイルに時間が掛かるからdspicで済ますことが多いな。
後、FPGAだけって事は殆ど無くて、dspicも一緒に使う事が多い。
電源投入時に回路情報をdspicから転送する様にしてあるから、専用ROMを在庫する必要が無くなって便利。
0856774ワット発電中さん
垢版 |
2016/07/30(土) 00:38:25.34ID:97mx9dVf
>>854
秋月のラインナップにDSP内蔵の物があるのかいw
0857774ワット発電中さん
垢版 |
2016/07/30(土) 00:42:58.44ID:97mx9dVf
32ビットだから16ビットよりも速いとか思ってんのかなw
℃素人まるだしwww
0858774ワット発電中さん
垢版 |
2016/07/30(土) 00:50:04.88ID:g/m6a0UV
>845
ところでさ、話そらしてるようだけど >839で言った >ステップとしてはAVRのほうが増える。
の例って出ないの?
0859774ワット発電中さん
垢版 |
2016/07/30(土) 00:59:47.00ID:97mx9dVf
>>851
俺情報w
秋月のdspicは新しい品種が増えない上に古いのも減る一方。
ま、デジキーの送料無料つじつま合わせに買ってるから秋月に無くても大して困らないけど
秋月にあれば急に必要になった時安心なんだが、どんどん新しいのが出てくるから
在庫が大変だろうし、多分売れないだろうから秋月にも要望出してない。
0861774ワット発電中さん
垢版 |
2016/07/30(土) 08:44:57.13ID:wlDY1IS0
秋月スレならともかく、デバイスの話をするときに、秋月で何が売れているかってどれだけの意味があるんだろう。
「秋月で買い物をする客層」という母集団での話にしかならないじゃないか。
0863774ワット発電中さん
垢版 |
2016/07/30(土) 09:14:04.27ID:fLoj+bp2
>>860
BGAは滅多に使わないからな。QFPデバイスなら結構いける。

>>861
スレ間違えたw

ま、以前、代理店から買ってた時、「秋月が安いですよ。仕入れ数が桁違いだから、あそこまで安く出来ない」
と言われた事もあるから、物によっては秋月使うのも悪くない。
パンピーの動向も知れるしなw
0864774ワット発電中さん
垢版 |
2016/07/30(土) 09:17:46.51ID:fLoj+bp2
>>862
もう終わった話だろ。もっと具体的な質問ならば色々レスもつくかも試練が
具体的に書けない理由でもあるんだろう。
0865774ワット発電中さん
垢版 |
2016/07/30(土) 09:26:48.09ID:wlDY1IS0
>>814にとって終わった話だったとしても、1本線でデータを送る場合に、パルス幅で0/1判定するメリットって何なんだろうな。
・調歩同期より高速化しやすい?
・ビットスタッフ付きNRZIよりシンプル?
0866774ワット発電中さん
垢版 |
2016/07/30(土) 09:35:08.69ID:fLoj+bp2
いや、普通にあるだろ>1WIREデバイス。
1WIREデバイスがまだ無い時代に、z80のデバッグ用に使ってたし。
PC98のプリンタポートでデバッグ情報読んで表示してた。
z80側はラッチを適当なアドレスに割り当てるだけで済んでかなり便利だったな。
0867774ワット発電中さん
垢版 |
2016/07/30(土) 09:38:17.84ID:fLoj+bp2
メリットは、1ビット毎に同期が掛かるからマージンを大きく取れるし、プログラムが簡単。
0868774ワット発電中さん
垢版 |
2016/07/30(土) 09:53:00.07ID:9wONfnYu
>865
最近だと数珠つなぎできるフルカラーLEDモジュール WS2812がそうだね。
https://cdn-shop.adafruit.com/datasheets/WS2812.pdf
1bit当たり1.25usだから>814より3倍くらい速いな
数珠つなぎで大量に使うLEDモジュールに採用するくらいだから
転送レート的にもコスト的にも優秀なんじゃないのかな
0869774ワット発電中さん
垢版 |
2016/07/30(土) 12:45:21.20ID:wlDY1IS0
互いに専用に作られたもの同士の通信ならメリットはわかるんだけど、
マイコンで送受信しようかって話になると、とたんに面倒になるね。
0870774ワット発電中さん
垢版 |
2016/07/30(土) 13:02:42.20ID:fLoj+bp2
面倒とか言ってると、なんも出来ずに年を取って呆ける一方だから
頭の体操と思ってマクロにしておくといい。
特に、送信側はNOP一つ入れるか入れないかでビットを表現するようにしておくと
占有時間も短いし便利。

例えば、LEDなんてよくインジケータとして付けるが、同じポートにLEDの点灯中か
点滅にあわせてデータを出力しても、人間の目にはデータが乗ってる事を認識出来ないが
フォトダイオードを近づけるとデバッグデータやら内部データを確認出来る。
0871774ワット発電中さん
垢版 |
2016/07/30(土) 13:17:53.53ID:PGEg/ClV
>>868
これ、0 codeが0.8u/0.35uで1 codeが0.7u/0.6uって超きつくね?
めちゃ厳密にデューティー比チェックしないと簡単に誤判定しそう
0872774ワット発電中さん
垢版 |
2016/07/30(土) 13:25:48.47ID:PGEg/ClV
>>864
具体例が挙がったところでどうせ君には何も答えられないだろうから黙ってればいいよ
と言うか「もっと具体的な例がないと答えられない」とかテンプレ回答するやつは
総じてどんな情報があがってきても回答出来ないやつばかりw


周期4usでディーティー比1:3の1-wireプロトコルでデータの塊が8byteとか5byte。
どう考えても任天のN64とかGameCubeのコントローラです本当にあ(ry
0873774ワット発電中さん
垢版 |
2016/07/30(土) 13:25:55.41ID:y0E79bGg
では >>814 への回答は、AVRのアセンブラで書けば無問題、という事でw
思い出したけど、リモコンの信号も0/1でパルス幅を変えてるね。

>>870 のアイデアは面白い、いつか試してみようっと。
0874774ワット発電中さん
垢版 |
2016/07/30(土) 13:36:20.17ID:GiRqYsz1
頭弱い馬鹿は黙ってなよ
そうすれば馬鹿だってばれずにすむよ
0875774ワット発電中さん
垢版 |
2016/07/30(土) 13:38:06.93ID:fLoj+bp2
悔しそうですなw
0876774ワット発電中さん
垢版 |
2016/07/30(土) 15:52:08.60ID:wlDY1IS0
マクロでって、マイコンさんはその間何してるんだろうって話なんだけどな。
0877774ワット発電中さん
垢版 |
2016/07/30(土) 15:58:44.48ID:fLoj+bp2
ま、もう惚けが始まってるなら致し方が無い。
無理言って済まんなwww
0879774ワット発電中さん
垢版 |
2016/07/30(土) 16:09:22.30ID:fLoj+bp2
考える頭が無いと客観的に判断出来ない典型w
0880774ワット発電中さん
垢版 |
2016/07/30(土) 17:05:44.24ID:lRFMFsj7
>839
8bitPICをアセンブラで書いたこと有るの?
有るなら>848の[MidrangePIC]の所を書き換えてくれないだろうか
さすがにあんなに長くならないよね、もっと短くなるんだよね?
0881774ワット発電中さん
垢版 |
2016/07/30(土) 17:34:03.26ID:6QvSqGmJ
>パンピーという略し方は1970年代のツッパリブーム時、
>ヤンキーや暴走族など不良の間で普及。
>不良が不良以外を呼ぶ際に使われた。
ID:97mx9dVf
ID:fLoj+bp2
は、ジイで不良、予想通りw
0882774ワット発電中さん
垢版 |
2016/07/30(土) 17:40:44.39ID:fLoj+bp2
>>880
逆に、AVRはメモリ⇔レジスタ間の転送が抜けてる。
32ビットの変数をずっとレジスタに入れて置けるなら良いが
プログラム次第だな
0883774ワット発電中さん
垢版 |
2016/07/30(土) 18:33:48.69ID:Bf81mJ4K
Timer1を別用途で使ってる場合のサーボモーターの制御ってどうすればよいでしょうか?
0885883
垢版 |
2016/07/30(土) 18:59:17.25ID:B0b4Hv6x
解決した
0886774ワット発電中さん
垢版 |
2016/07/30(土) 19:17:04.17ID:2daPqwFI
>>848
AVR はレジスタ間演算は速いけどメモリ上のデータを扱うとロード2回とストア一回が演算毎に加わってコード肥大化が半端じゃない
演算とメモリへの書き戻しが1命令でできるPICは優れもの
0887774ワット発電中さん
垢版 |
2016/07/30(土) 19:28:55.44ID:UMSlkAsF
AVRは使ったことないからワカランけど、
PICは、メモリ≒レジスタ、な考え方だからね。
演算に使えるレジスタは1個しか持ってないし。
0888774ワット発電中さん
垢版 |
2016/07/30(土) 19:40:25.57ID:9I3cBZeZ
AVRマイコンはシリアル式のISPでトラブると簡単に「fuseリセッタの刑」を食らう
fuseリセッタはパラレル方式だからICソケット+DIPタイプの縛りから逃れられない
その点はクソ速さだけが取り柄 PIC最高!
0890774ワット発電中さん
垢版 |
2016/07/31(日) 01:06:16.79ID:55+bhGgP
それでも最近のPICにはかなわないと
0891774ワット発電中さん
垢版 |
2016/07/31(日) 07:10:55.84ID:jM6KjGnG
アセンブラでAVRのプログラムを書くとき、設計段階での重要な検討事項はレジスタの割り当て。
これがマズイと実行速度が遅くなったり、プログラムサイズが大きくなったりする。
とくにマルチタスクではディスパッチャのレジスタ保存も関係してくるので問題になる。
理由は
・汎用レジスタ方式だから。このへんが8bitPICとは根本的に設計思想が異なる。
 なにしろレジスタで受信リングバッファが作れるw
・AVRのコアを設計した学生がコード2バイトなのに命令の種類を欲張るもんだからw
 使用できるレジスタに制限のある変則的な命令が多い。
(例.LDI Rd,K (d=16〜31))

余談になるが、結局、AVRはXmegaで失敗したと思う。
データは8ビットでいいからコードだけ3バイトに拡張し、
レジスタを32個×8組に増やしてレジスタバンク方式を採用すれば、
Cコンパイラを作る人もマルチタスクを作る人も、そしてエンドユーザーも喜んだと思う。
tinyやmegaとソフトコンパチにすれば下位の資産もムダにはならない。

もう今となっては手遅れだけどね。AVRはフェイドアウトしていくんだろうな。
0892774ワット発電中さん
垢版 |
2016/07/31(日) 08:10:05.44ID:AwLH0ixc
コアを設計する前に、どれだけコアに触れたか
経験は数も大事だし、深さも大事
0893774ワット発電中さん
垢版 |
2016/07/31(日) 09:11:58.54ID:55+bhGgP
中途半端で素人考えの浅はかな直行性を持たせると使い物にならないと言う事だな。
z80 vs 6809 しかり、 8086 vs 68000 しかり。
一見、ソフトを組み易いように見えて、そんな細かい事よりももっと重要な事に考えが向いてない。
0894774ワット発電中さん
垢版 |
2016/07/31(日) 09:20:24.84ID:4XnHS+uW
アセンブラを低級言語、C等を高級言語と区別するのは、人目線に於いての事。
対してニーモニックベースの話はチップ・デバイス目線。
双方が成り立ちから別なのに言い合っても交差する点はないと思うよ?

AVRの豊富なレジスタ、アドレッシングは高級言語向きだし、
PICの命令セットはアセンブラで技工を培った結果だろうし、
良い所を双方使えばいいのでは?
0895774ワット発電中さん
垢版 |
2016/07/31(日) 09:29:39.85ID:55+bhGgP
>AVRの豊富なレジスタ、アドレッシングは高級言語向きだし、
素人の受け売りでしか無いな。
自分でコンパイラ書いてみればわかるよ。32ビット変数をレジスタに置いておかないと
極端にスピードが落ちる様なゴミプロセッサで、どうやってメモリを扱うんだい?
大量のメモリを自在にアサイン出来て初めてコンパイラが生きてくる。
限られたレジスタしか使い物にならないなら、アセンブラでキッチリ書くのが一番。
つまりAVRはアセンブラ向け。と言うより、高級言語には向いてない。
0896774ワット発電中さん
垢版 |
2016/07/31(日) 09:36:33.20ID:FcCizIDN
じゃあなんでavrにはgccがあってpicには無いんですかねえ
(・∀・)ニヤニヤ
0897774ワット発電中さん
垢版 |
2016/07/31(日) 09:41:53.09ID:55+bhGgP
他にコンパイラを作ってくれる所が無かったからgccを使ったに過ぎない
gccでAVRの能力を発揮出来るわけじゃない。個々のプロセッサの作法を考えてコンパイル出来る訳じゃ無いからな。
Cしか出来ない奴はそのドン臭さに気がつかないだけだよw
0898774ワット発電中さん
垢版 |
2016/07/31(日) 09:56:09.57ID:DMOk6T/H
>891
XMEGAは時代的に16bitPICの対抗馬になると思ってたのに、蓋を開けてみればMEGA+α程度
そのくせ8/16-bit AVR microcontrollerとか表記してたり。XMEGAのどの辺に16bit要素があるんだよとw
AVRは初期の90S2313の時から完成されたアーキテクチャだったからその後の改良は難しいんかな。
まあ8bitPICも言えた義理じゃないが。Baselinは初代PIC1650の時代を考えればしょうがないとしても
Midrangeはもうちょっとマシに出来なかったのかと・・・16F84Aで32bitの加減算のコード(>848と同じ)
考えた時はめまいがしたよw
0899774ワット発電中さん
垢版 |
2016/07/31(日) 10:04:44.16ID:sWmjNptK
アンカ打たれもしないのに、夜中に朝からと独り言を書き込み続けてんのがいるな。ホントに寂しいんだな。
■ このスレッドは過去ログ倉庫に格納されています

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