X



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

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

 さ、質問どうぞ〜っ

  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
  0x03 2014/09/22〜  ttp://wc2014.2ch.net/test/read.cgi/denki/1411314715
  0x02 2014/05/20〜  ttp://wc2014.2ch.net/test/read.cgi/denki/1400522979
  0x01 2013/11/17〜  ttp://ai.2ch.net/test/read.cgi/denki/1384626558
0002774ワット発電中さん垢版2017/05/08(月) 18:27:42.97ID:K/wRvwBH
                       //  /           /-  //\ |        |!
     >>1 乙              / i  /  / / /  /=彡xr=≠ 、lへ   l    | リ
                    人 ! ⊥、 / / イ l .|   イ7てハ`ヾト | ヽ   ! / !|l
                 二ニ=ヘこ/ 〉' /:l  | ハ:|   ヾi( 少  ′| ∧  |_// ,’从
           -‐  ''"´      _(_/ )/ l  | / l:|     ヾ    l/ i ̄! / / 人 !
     ,.ィ  ´                (__/ )  j  lハ. 乂        |x=ミ、j/リ / /  ヽ
  /               ,。s(      (_,/ー-x 从∧    丶    ゝ //リ;/ノ乂 ヽ
 〈           ,. ィ'"    ヽ、  r―‐---/ { l人. \    ー   ∠ // |/lヽ≧=-
  ヽ、     _,. イ         \ ヽ/  /(_,ノl ∧ ヽ \_ _  イ///| .//| |
     ≧s。.,  __         ∧_ノ  /  | レ ヽ __/ ィ/′/  ヽ| l .| |
               ̄ ̄  `フ7>y / ,/  | |   ´    /// -<       Yl :| |
                   ,. >''"´ //     ヽ!      ./ /   、       ./:| :| |
               ,.  ´           >''"´        { /  /       ./ W/
            rf:;.           /           ヽ!:../        ,\ //
          ,'ー'′       /        ....、      }′       /   \
           {           ,′       .:::ゞ':;       !        /\    \
          .从         !         `¨ ´     ,′      ./   \    \
           丶         λ             /       /\    \    \
            >s。_,.:イ:::: \             /    /   \    \    \
          //  イ:::::::::: : : ::::::::丶 _    ,. ィ     /\\   \    \
0003774ワット発電中さん垢版2017/05/08(月) 18:35:49.93ID:tMlDE/JM
)(()(((()))(()))((()()))))(((()(()(((()())()()(((()()()))()(()))())(()()))))
(())()))(())()))((((()()()))())(())))()(()()))()(((()((()((((())()()))()(())
(())))(((())(()))())(())()((())(()))()))()(()(())()(()))(()))((((()(()(()())
)(((((()()())()())()())(()))()))))((()())((())))((()()))()()(())()(()()()(((
((())))())()()()(()()()())))((())())(()()))((((())())(()()(((()))(()(()))()(
(()((((()(()))))))(()(()()))((()(()))()))()))()((())())())((((()()))())((()(
)(())((())()))(()(())((())))((()))))()())(()()())(())((()))(((()())()(()()((
(()()))()((((((()(()())(((()((()()()))((()))))(()()))))()()((()()))(()()))))
))()()))(((()()(())())()())(()))(()(()))()(()((()((((((()))()()()()()()())))
((())))()()))()))))(((()))(())()((((()(())))(())()(((())((())(()((())())()()
)(())(())))((()(((()))(())())()(()()(()((()()()()(()()(()())))(())(())()()))
()))()(((()())()((()()(())((())))))(()))))((()(())())(((((()()))())((()))()(
)())(()(())((()(())(()))())((((((((((()()(((()(()))()(()))))()))())))))())()
))()())(()))(())()()))()(()((())()(()()(())))()()()))))((())((()(((())((((()
)()())()))())())())))))(())())))(()()((((((()())(((()(())()()((((()(()()))((
)()(()(((((()(()(())()))))(())()))((())))()))())((((())(()())))))(())((((()(
()))))()())()))(()((())()))((())()((((()()(()((()((())((()))((())()))()()())
(()())())()())))))()()(())())()))(()(((()((((((())(()()))(((())(()())())))((
(()())))()()(((()())))()()())((()()())))(((()()((((())()))))((()))()(((())()
)())()(())((()(())()(((()(()())))(())(()))())())))((()((()())))())(()()(()((
(()())(())))))(()(()()))())(()))((((((()())(()(()))()()))((()((()()(()))(())
())(()(()((())()()))))))))()()())((())()(()()(((()(()))((((((()))(())()))()(
))(()(()))(((())))(())(()))))))(((())((()(())((()())(()(()((()(((()()))())))
))((())))())()(()()(()())(((()())()((()(()(((())(()(())()))))(()()()))))(()(
()(()))))())()))((()(())))())()())()(())())((((()))(((()()(((()(()()((())())
))(()()())(())()(())((())(()(())()()())())(()(())())(()(()())()()()(())()()(
)(()())))))())((()()(((())(()((())()))()((((()()))()))())))((((()(((())))()(
)()(((()())((())()())((())(()(()()(())()()()(()()()))())())(()))(())))()((()
()((()(()))))((())())(()(((()((()())(())((()(()()))())))(()))((())(()())()))
()))(())())()()(()((())))(()))(()(()(())()())(()((()()(()())()(()))(())((())
)()())()()()()(((())))()()))()()())((()()(()())())((((()())((((()(())))(()))
((())()(())()())(())(())())()((()()()()(()()))()())))))())()())((((()()((()(
()))((()()()((()()))))()()))((()))(((())))()((((((())()()(()()())(())()())()
)()(()())()()()()(()))))((()())()))(()(()))(())()))((((())))()((()))(()(((((
())))()))(((())))(((())))((()))())))))()())((()()((((()(()))((())((()(()(()(
()()())()((((())((((((()(((()))))(()()()))))))))())()()(())()()()()()(()()()
))()())((())))(()))()((((()()(()((()))(()()()())())))))))()())())((((()(((((
()((()))))()(()(())(())))()((()))((((()()))()(()()(()((())((()())((())))()))
()))))()))))()))()((())(())(())()(((())()(()((()())())((())()()()(()(()(()((
))()))()))))((((((((()(())))())(()))(()(()(()(((())(()))()))(((()(()(())))()
(()((()(()))))))(())(((()()))(()((())))))()))))((())(()((()()(())())()((()((
)((()(()(()(((()())()))))(())()(())))((((()))(((((()))())))((())))))))()((((
((((()(())())(())())(())()(())))))(()))()()()())()))(((())(((((((()))))))(((
))()))((()())))())(())(()))(())((()(((()))()(((()))))(())(())()(()())((()(((
))()))(((()))(()))(()((()(()()))()((()))(((()))))(()((((()(()))))()(())()()(
())()))(()((((()))())()((()())())(())))(()(())((()())((())()())((()(()))())(
)(())))))(((()()(((()(()())))()))(()()(()))(()))))))()(()((())))(((()((()(((
)((())()()())()))(()(((()()()((((())((()))(()()((((()(())))((()))())))()))))
())))()(())(((()()))(()))(((()(()))(()))()(()()())()))))()))(((((()(())(()((
))()()((())()())()(()())()))))((((((()(()((()(())()))))))(()())((()())))((((
0004774ワット発電中さん垢版2017/05/08(月) 18:43:14.19ID:RmnNgToM
これが クソ℃玄人の クソ発言なので 注意な。

> 904 名前:774ワット発電中さん[] 投稿日:2017/05/03(水) 08:39:41.17 ID:Vpt+29rR [2/3]
> 8ビットで割り込み要因をチェックしない例なんていくらでも有る。全然特殊じゃ無い。
> だいたい、割り込みの遅延時間を調べるのに条件によって変化する要因チェックなんて入れれば本質が見えなくなる。
> そもそも、状態変化割り込みなんてスタンバイを抜け出す以外で使うのは、ほぼ℃素人プログラムだしなw
>
> 結局、割り込みに掛かる時間は
>
> 600μ秒 普通の人が書いた8ビットアセンブラ
> 850μ秒 Cしか使えない奴が書いた鈍臭い32ビットアセンブラ
> 1100μ秒 Cしか使えない奴が書いた鈍臭い8ビットアセンブラ
> 1200μ秒 Cしか使えない奴が書いた鈍臭い8ビットC
> 1650μ秒 Cしか使えない奴が書いた鈍臭い32ビットC
>
> って事で、Cとかアセンブラ以前に、個人の力量が一番効くって事だなwww
0005774ワット発電中さん垢版2017/05/08(月) 19:17:21.64ID:1qOltJ9c
PICの特徴

多くのモデルでDIP版がある
秋月でDIP版の品揃えが豊富
趣味の電子工作の小規模マイコンでは採用率が高く、作品例も多く紹介されている
低価格路線のシェアが比較的高い

基本的には廃盤にしないポリシー
モデル数が多く、古くて低性能高価格の物も売っているので、モデル選択に困る

CPUのパフォーマンスは全体的に低い
特に8bitは顕著
エラッタが多く、公開されてない物も多い
0006774ワット発電中さん垢版2017/05/08(月) 19:17:47.58ID:1qOltJ9c
992 :774ワット発電中さん [sage] :2017/05/08(月) 13:21:46.62 ID:1qOltJ9c
お薦めのPIC
迷ったらこれを買え
(秋月に売ってるPIC DIP限定)

●USBなし
PIC10F200 マゾ専用 最低スペック 50円
PIC10F322 最安 45円
PIC16F18313 8pin 75円
PIC16F18326 14pin 130円
PIC16F18346 20pin 160円
PIC32MM0064GPL028 28pin 3.3V 175円

●USBあり
PIC16F1455 14pin 140円
PIC16F1459 20pin 180円
PIC32MX230F064B 28pin OTG 3.3V 270円
PIC32MX270F256B-50 28pin OTG 3.3V 380円
0007774ワット発電中さん垢版2017/05/08(月) 20:06:11.80ID:ApdIR1+4
前スレ>>999みたいのはネタだから構う必要無し。
0009774ワット発電中さん垢版2017/05/08(月) 23:07:36.85ID:fARrXKps
割り込み遅延測定、dsPICを追加です

PIC16F18325 (32MHz) : 500-612ns
PIC24FJ64GB002 (32MHz) : 480-530ns
dsPIC33FJ64GP802 (80MHz) : 210-232ns
PIC32MM0064GPL028 (24MHz) : 597-633ns
PIC32MX270F256B-50 (50MHz) : 272-288ns
0010774ワット発電中さん垢版2017/05/08(月) 23:16:57.84ID:QpZR+wcN
ふと、ルネサスのRX210の12ビットA/Dコンバータの特性を見てみたらDNLが±1.0。低電圧動作だと±1.25。こんなものね。
0014774ワット発電中さん垢版2017/05/09(火) 01:41:00.87ID:vTmRBV8R
逆に考えるんだ
0015774ワット発電中さん垢版2017/05/09(火) 01:42:16.11ID:Adq2igQj
>>13
価格はほぼ、チップ面積で決まる。
新しい程集積度上がって、チップ面積小さくなる。
0017774ワット発電中さん垢版2017/05/09(火) 05:59:27.68ID:c+ee5nFE
>>9
PIC32MMのデータシートには割り込み遅延は8クロックと書いてありますが、実際は14クロックかかっています
この差は何でしょうか?

あと、前スレで31クロックとか32クロックとか書いている人がいますが、データシートを読み間違った人の自演ですかね?
0019774ワット発電中さん垢版2017/05/09(火) 06:04:30.44ID:Adq2igQj
>>17
実際の実行時間を計測したみたいだから、レジスタ退避の分も含んでるんだろ。
0020774ワット発電中さん垢版2017/05/09(火) 06:09:55.87ID:c+ee5nFE
>>19
レジスタ待避は含んでいません
ISRの最初の命令でポートにセットしていますので
0023774ワット発電中さん垢版2017/05/09(火) 06:34:32.57ID:c+ee5nFE
>>21
今回は使っていないレジスタを使いました
予め値をセットしておくことで1命令でSFRに書いています

コンパイラが使わないk0, k1を使うとか、シャドーレジスタを使うとか、いくつか方法があります
0025774ワット発電中さん垢版2017/05/09(火) 06:53:52.75ID:ZihPXuXr
>>11
PICのA/Dにミッシングコードが、と声高に言ってる人がいたので。
他のマイコンでも割とあるよ、という話をしようかと思ったけれど、時間がなくて1例だけ。
0026774ワット発電中さん垢版2017/05/09(火) 06:59:48.18ID:ZihPXuXr
レトロ趣味本でもなければ、さすがに新刊書でPIC16F84を教材にしているものはないのでは、と思う。
それでも、学校関係で、古い内容の本を今の学生に買わせて、PIC16F84を題材に授業をしているケースがあると聞く。

きわめてベーシックなPIC16F84を教材にする、というもっともらしい建前はあるだろうけれど、
ベーシックなPICで何を勉強させようとしているのか謎だな。
0027774ワット発電中さん垢版2017/05/09(火) 07:25:48.70ID:M2PU0WRh
すっげー底辺工業高校にん十年前居たのだがポケコンでライントレーサーを作らされてなかなか難しいなあなんて思ったりしてたんだが
そう言う用途って有るんじゃない?
そんなの今時の実習にならねえよとか言われそうだけど
0028774ワット発電中さん垢版2017/05/09(火) 07:26:11.25ID:jN+u7YHA
Lチカなら16F84で十分かと
周辺機能が限られてるからメンドウな初期設定も少なくてすむし
エンコーダーやらモーターPWM制御やらバリバリやりたいなら上位に移行すればよし
0029774ワット発電中さん垢版2017/05/09(火) 08:18:26.26ID:ZihPXuXr
学校教育で実習することは、たいていはそれ自体は目的じゃなくて手段。
Lチカなら84でもOKってのは(そういうことがあるかどうかとか、84は却って高いとかは別にして)
実用目的ならそれで良い。でもそれを題材にして、何を教えたいのか、というのが本来はあるんだ。
例えば、
・プログラミングを教えたい
・組み込みのプログラミングを教えたい
・コンピュータとは何かを教えたい
・マイコンとは何かを教えたい
・部品の接続の実習の題材だ

とはいえ、学校現場も疲れていて、理念よりも日々の日程をこなすことの方が優先になっている。
仕方がないのかもね。
0030774ワット発電中さん垢版2017/05/09(火) 08:20:19.67ID:c+ee5nFE
>>28
めちゃくちゃ高い16F84に対して「十分」てなんか変な感じ
16F84じゃなきゃならない理由がないなら選ばないよ普通
0031774ワット発電中さん垢版2017/05/09(火) 08:23:40.65ID:ZihPXuXr
>>30
現実問題としては「去年使った教材資料とかプリントとかがあって、特別な準備をしなくても何回かの授業をこなせる」ということがあると思う。
ある意味、経済的。

去年使った教材資料プリントは、そのまた去年に使ったものなんだけど。
0032774ワット発電中さん垢版2017/05/09(火) 10:33:12.13ID:SciqfyxR
>>25
PIC32MMのエラッタは誤差の範疇じゃない
特定の値の変換値の時に全然違う値が返る
0033774ワット発電中さん垢版2017/05/09(火) 10:42:49.15ID:SciqfyxR
「アナログを強化」「12bit ADC」と大きく宣伝している機能が事実上使えない
その事がエラッタシートにしか書いていない
だから詐欺
0035774ワット発電中さん垢版2017/05/09(火) 16:58:41.99ID:YA+nsmi2
エラッタ、修正してくれよぅ、頼むからよぅ
なんでそうやって無視するんだよぅ
0037774ワット発電中さん垢版2017/05/09(火) 19:50:44.63ID:prO+rLmw
パソコンじゃないんだからエラッタは回避するプログラミングしかないだろ。
同じ製品でエラッタの有無でソフト対応はやめてくれ。
0038774ワット発電中さん垢版2017/05/09(火) 19:54:33.86ID:c+ee5nFE
エラッタで機能自体が使えない
エラッタ情報が公開されてない

こういうのは対策出来ない
0039774ワット発電中さん垢版2017/05/09(火) 19:58:46.03ID:prO+rLmw
>>38
機能自体が駄目なら別の手段になるけどな。
それようのチップを載せるしかない。
0041774ワット発電中さん垢版2017/05/09(火) 20:29:47.08ID:dFKpLkvu
色々な機能が有りすぎるとどれを解説しようか?とか
その機能を使う為の外付け部品まで説明する必要も出てくるからなぁ。

説明する立場からすれば16F84が単純で扱いやすいってのは有ると思う。
0042774ワット発電中さん垢版2017/05/09(火) 21:13:09.06ID:c+ee5nFE
初心者にわざわざデバッガが使えないのを選ぶとか
意味わからん
0044774ワット発電中さん垢版2017/05/10(水) 00:10:05.04ID:tk5XbGFo
PIC32MMのエラッタでスリープモードでリセット端子が効かなくなるって
スリープに入ったらPICKIT3から読み書き出来んようになってまうね

結構地雷だわ
気をつけなアカンやつや
0046774ワット発電中さん垢版2017/05/10(水) 07:53:17.11ID:wo1fqaZC
一般的なアセンブラの勉強でPICの8bitは最悪だと思う

バンク切り替え
ROM/RAM別アドレス空間
ハードウェアスタック
中途半端な命令長
レジスタ構成

クセが強すぎる
0048774ワット発電中さん垢版2017/05/10(水) 08:06:40.66ID:wo1fqaZC
x86はPCで手軽に出来る
32bitの基本命令から

MIPSの命令は非常に分かりやすい
PIC32で出来る

ARMは組み込みで良く使われるので、アセンブラを使った仕事の可能性が比較的高め

いずれにしろ、アセンブラを使う機会は非常に減っており、今後さらに減ると思う
高級言語を学ぶ方が役立つのは確実
0049774ワット発電中さん垢版2017/05/10(水) 12:41:31.01ID:fHfBi19B
>46
PICの8ビットという括り方はやめてくれ
18Fユーザーより、1xxxxユーザーもだろう。
0050774ワット発電中さん垢版2017/05/10(水) 12:45:12.66ID:BQq+2ejg
>>46
逆に考えるとアセンブラを使っていくらか意味
あるのは、今やPICの8bit程度ではないか?
コンピュータの仕組みに触れられた気がするし、
100円でおつりが来てLチカできるんだし。
0053774ワット発電中さん垢版2017/05/10(水) 15:01:44.67ID:wJLCf5nd
http://www.yts.rdy.jp/pic/1455/1455.html#usb_mouse
この
hid_mouseプロジェクト(pic16f1455)を読み込み

ってあるけど、
マイクロチップ社が配布しているMicrochip Libraries for Applications v2016_11_07の中に含まれてい

どこにも見当たらない
0054774ワット発電中さん垢版2017/05/10(水) 15:38:14.84ID:OxjsO926
ローカル変数や引数がどういうアセンブラコードになっているかは理解しとかんとな
バカでも使える32bitや64bitCPUと違ってかなりムリしてるんだから少しは気遣えよ
0055774ワット発電中さん垢版2017/05/10(水) 16:59:48.42ID:8UO7r3bO
>>51
PICに限らず、どんなCPUでも大差ない。能力無い奴が「クセが強い」とか言い訳してるだけだな。
Cしか使えないなら、例えLチカだろうがLCD使った何かだろうが、電気を沢山使って鈍臭いCのプログラムを書けば良いだけ。
0056774ワット発電中さん垢版2017/05/10(水) 17:31:42.48ID:fHfBi19B
>>53
app/usb/device の中に無いんか?
0057774ワット発電中さん垢版2017/05/10(水) 18:23:39.25ID:wo1fqaZC
>>54
無理してるから、一般的なスタックの使い方の勉強にはならない

>>55
8bit PIC自体がどんくさいから、アセンブラを使おうが電力効率は非常に悪い
0058774ワット発電中さん垢版2017/05/10(水) 18:47:14.54ID:/SztyAXb
>>45
アセンブリ言語によるプログラミングの勉強をPICで行う目的って何なんだろな。
工業系の学校に対して業界から「PICのアセンブリ言語はぜひとも学んでおいてほしい」という要求があるとは、ちょっと思えない。
癖が強くて、現代のマイコンの仕組みを学ぶのには適していない。>>46に同意。

>>50
>逆に考えるとアセンブラを使っていくらか意味あるのは、今やPICの8bit程度ではないか?

だとしたら、もはや学校でアセンブリ言語を教える必要があるのかって話になるが、
コンピュータの原理的な部分に触れること自体はあって良いと思うんだ。

>>55
無視。
0059774ワット発電中さん垢版2017/05/10(水) 19:23:45.82ID:GUgx5PCc
>>58
アセンブラってのも一つの手段として覚えておいて損はないとは思うんだがなぁ。
それに癖の強さなんてほどんど自分の尺度でしょ。
色々な事を知って初めて「あれは癖があるな」って分かるだけだし。
どんなCPUのアセンブラでもアセンブラが使えるんならツブシは効くからねぇ。


というか、アセンブラを毛嫌いする人が多いのは何故なんだろう。
0060774ワット発電中さん垢版2017/05/10(水) 19:25:48.98ID:wo1fqaZC
誰かアセンブラを毛嫌いしてるか?

8bit PICのアセンブラしか知らない℃玄人を毛嫌いしてるだけかと
0061774ワット発電中さん垢版2017/05/10(水) 19:52:33.82ID:zWbs/SAQ
>>46
パソコン用CPUでも、内部ではデータとコードのバスが独立してるとか普通だが。
0062774ワット発電中さん垢版2017/05/10(水) 20:02:23.05ID:tE7VEzlF
>>61
パソコン用ってx86?
それはページングとかで意図的に番地を分けてるだけ

ROM/RAMでアドレス空間が別れているわけではない
PCだとROMにアクセスすることは非常にマレだが、組み込みだと普通
PICだとデータがROMにあるかRAMにあるかでコード自体を分ける必要があるが、他の多くのマイコンはコードは共通
そもそもPICだとデータをそのままの形でROMに置けない
1バイトのデータを取得という命令を使うことでデータとする
0063774ワット発電中さん垢版2017/05/10(水) 20:05:02.70ID:kPtgbo1o
>>58
> >>55
> 無視。

無視出来てないw
よっぽど悔しいんだなwとしか思えない反応の仕方www
0064774ワット発電中さん垢版2017/05/10(水) 20:06:58.52ID:kPtgbo1o
>>62
知ったか乙
0065774ワット発電中さん垢版2017/05/10(水) 20:10:04.90ID:tE7VEzlF
知ったかかwww
8086時代からAVX512まで知ってるおれがかwww
自力でディスクリプタテーブルとか書いたおれがかwww
おもしろい
0068774ワット発電中さん垢版2017/05/10(水) 21:05:44.28ID:kPtgbo1o
>>65
今時のCPUは、メモリの構造もあって、直接外部メモリにはアクセス出来ない。
必ずキャッシュに対して読み書きする。
キャッシュはデータキャッシュとインストラクションキャッシュに分かれてる。
データと命令はアクセスの仕方が全く違うから、一つのキャッシュで済ませるような
℃素人設計だと性能が出ない。
ま、Cしか使えない℃素人はキャッシュを意識してプログラムなんて出来ないからしょうがないがwww
ま、鈍臭いプログラムを書いてるんだろうなwww
0069774ワット発電中さん垢版2017/05/10(水) 21:24:03.11ID:kPtgbo1o
>>66
PC用のCPUもハーバードアーキテクチャなんだが、そんな大口叩いておいて
まさか知らないはずは無いよなwww
0071774ワット発電中さん垢版2017/05/10(水) 21:30:55.11ID:kPtgbo1o
>>70
見苦しいよw
>>61に対するお前の知ったか>>62レスだろうにwww
もしかして、日本語も駄目なのかwww
0075774ワット発電中さん垢版2017/05/10(水) 21:43:22.32ID:tE7VEzlF
8bit PICしか使ったことが無いから、PICの特殊性が理解できないんだなwww
0076774ワット発電中さん垢版2017/05/10(水) 21:48:26.14ID:kPtgbo1o
>>72
で?

>>61は、CPUのバスがデータとコードが分かれてると主張しているが
お前は知ったかして、
>PICだとデータがROMにあるかRAMにあるかでコード自体を分ける必要があるが、他の多くのマイコンはコードは共通
>>62で書いてる。だが、>>68で俺が書いたように、今時のPC用CPUは外部メモリに直接アクセス出来ずに
キャッシュ経由でアクセスするから、両方RAMだし、データキャッシュと命令キャッシュからハーバードアーキテクチャを使ってアクセスする事になる。
ROMとかRAMなんて全く関係ない。>>46の趣旨は、データと命令が別のバスでアクセスされるから不便って事だろうに。
何、頓珍漢な事言って誤魔化そうとしてるんだよwww
0077774ワット発電中さん垢版2017/05/10(水) 21:58:50.45ID:kPtgbo1o
>>75
残念だったなw
PICよりも7720や32010を使ったのが大分前。
お前みたいにCしか出来ない℃素人レベルじゃ無いwww
0078774ワット発電中さん垢版2017/05/10(水) 22:06:10.48ID:wo1fqaZC
>>76
トンチンカン過ぎwww

>>46 はバスがどうなってるかなんて全く言及していない
書いてある通り、ROMとRAMで別のアドレス空間だと書いてある
それがPICの特殊性
アドレス空間が別であるので、ソフト的にROMとRAMでアクセス方法が全く異なる
他のほぼ全てのマイコンやCPUはROMもRAMも同一のアドレス空間で、ただ単に番地が異なるだけ
0079774ワット発電中さん垢版2017/05/10(水) 22:12:43.16ID:kPtgbo1o
>他のほぼ全てのマイコンやCPUはROMもRAMも同一のアドレス空間で、ただ単に番地が異なるだけ
そこが間違ってると言ってる。ハーバードアーキテクチャも知らないのかwww
PCのCPUが命令もデータも同様に扱えるのはキャッシュコントローラのおかげ。
CPUはあくまでハーバードアーキテクチャ。
0080774ワット発電中さん垢版2017/05/10(水) 22:13:13.69ID:wo1fqaZC
命令とデータじゃない
ROMとRAMだ

ROM, RAMどちらからでもコードを実行できるマイコンも多いし、ROM, RAMどちらにもデータを置けるマイコンも多い
PIC32もそう

実行速度や書き込み以外、ROMにあるかRAMにあるか区別しなくて良いのが普通のCPU

8bit PICではデータがROMにあるかRAMにあるかで全くコードが異なるし、RAMからコードを実行出来ない
0081774ワット発電中さん垢版2017/05/10(水) 22:19:15.39ID:kPtgbo1o
>>80
>実行速度や書き込み以外、ROMにあるかRAMにあるか区別しなくて良いのが普通のCPU

残念だったなw
PCのROMとRAMは構造が全く違うから、ハードで変換してCPUが読める様にしてある。
z80の世界とは違うのだよwww
0082774ワット発電中さん垢版2017/05/10(水) 22:25:17.74ID:wo1fqaZC
ROMとRAMでハードが違うのは当たり前だ
物理的にアクセス方法が異なるんだから

それをハードで吸収し、同じアドレス空間の別アドレスに配置するのが普通のCPU

PICはアドレス空間自体が異なり、ソフト的なアクセス方法が全く異なる

これを一言で
「ROM/RAM別アドレス空間」

PICと、他の多くのCPUを知っていればこの一言で当然意味がわかる
8bit PICしか知らないと分からないのかも知れないけど
0083774ワット発電中さん垢版2017/05/10(水) 22:25:20.97ID:/SztyAXb
>>46
>(PICは)ROM/RAM別アドレス空間

>>61
>パソコン用CPUでも、内部ではデータとコードのバスが独立してるとか普通だが。

別アドレス空間という話題に対して、関連を装って別のものを持ってきている。
たぶん、この人は何の悪意もなく関連した話題だと思ってるだろな。

>>61が単独のレスなら何の問題もないが、>>46へのレスの形になるだけで、相手を
混乱させてしまっている。

>>62
> パソコン用ってx86?
> それはページングとかで意図的に番地を分けてるだけ

>46のポジションから、アドレス空間の話に持ち込もうとしているのか「内部」バスを見落としたか。

解きほぐしながら話をすれば有益なんだが。もったいない。
でもここはPICスレなんだし、現代のx86のアーキテクチャを議論する場ではないよ。

学校教育でアセンブリ言語を学ばせるのにあたり、PICには癖がありすぎるという話に対して、
現代のx86も似たようなものだ、とするのは無理がある。
シンプルで全体像を把握しやすいものでないと学習効果を上げにくい。
(コンピュータに特別興味がある生徒ばかりってことはないのだし)
0084774ワット発電中さん垢版2017/05/10(水) 22:30:38.19ID:wo1fqaZC
もう一回書いておきます

46 :774ワット発電中さん [sage] :2017/05/10(水) 07:53:17.11 ID:wo1fqaZC
一般的なアセンブラの勉強でPICの8bitは最悪だと思う

バンク切り替え
ROM/RAM別アドレス空間
ハードウェアスタック
中途半端な命令長
レジスタ構成

クセが強すぎる
0085774ワット発電中さん垢版2017/05/10(水) 22:36:57.79ID:wo1fqaZC
>>83
「内部バス」も「データとコード」も見落としてないですよ
>>46へのレスであり「ROM/RAM別アドレス空間」の意味がわかってないことになるんで、「ROM/RAM別アドレス空間」の説明をしただけ
そこに℃玄人が登場
>>61も℃玄人かも知れないけど
0086774ワット発電中さん垢版2017/05/10(水) 22:38:01.62ID:kPtgbo1o
>>82
>それをハードで吸収し、同じアドレス空間の別アドレスに配置するのが普通のCPU

流石Cしか出来ない℃素人は、いくら説明しても理解不能なんだなwww
今のCPUにはROMやRAMはCPUに繋がってない。PCIバスへ変換するICが別にある。CPUはPCIバス経由でしか
アクセスしない。
0087774ワット発電中さん垢版2017/05/10(水) 22:40:49.00ID:wo1fqaZC
まだ同じ事を言ってるアホ
物理的にどうなってるかなんて全く言及してないって言ってるのに
0088774ワット発電中さん垢版2017/05/10(水) 22:42:20.10ID:kPtgbo1o
>>84
どうでも良いよ。嫌ならPCのプログラムでもCで書いてればw
Core i7でLチカとかwww
0092774ワット発電中さん垢版2017/05/10(水) 23:02:50.84ID:kPtgbo1o
悔しそうだなwww
こんな所でPICをDISった所でなんも変わらないのにwww
0093774ワット発電中さん垢版2017/05/11(木) 00:11:35.92ID:sh1erMjv
まだやってるんだw
こういう論点合わせられない人ってちょくちょく見かけるよねぇ
0094774ワット発電中さん垢版2017/05/11(木) 00:21:15.06ID:53RX8pLq
>>92
もともと必要最低限をねらった設計のコアなのにな。
PIC がハーバードアーキテクキャってのも、性能の為じゃなくて、ゲート規模削減の為だろうし。
0095774ワット発電中さん垢版2017/05/11(木) 06:29:08.33ID:pnXzwaYW
話がかみ合ってないな。
単純に16F84のRAM空間とROM空間が別になってるって話なだけだろ。
℃玄人さん往生際悪すぎ。

>>84
癖が強すぎると言うか、むしろ逆に「そういう物も有る」ってのが分かるのは良い事かと。
PIC18Fもそうだったし。

自分なんかも何やるにしても全部アセンブラでやる人間だけど。
RAM空間は全て自分が管理してフルに使いたいし。PCで何かやる時はCだけど。
0096774ワット発電中さん垢版2017/05/11(木) 06:44:04.21ID:C5ezPcil
なんか伸びてるとか思ったらアホが騒いでたのか。
PCのRAMが全てPCI経由で繋がってるとか笑ったわ
そんな実装一時期だってねーよ。
0098774ワット発電中さん垢版2017/05/11(木) 07:19:39.89ID:9OzaSM5z
AVRはプログラムROMとデータROM、RAMの三つがある。
さらにRAMはレジスタとI/Oとデータの三つに別れている。
俺は細かい事は気にしないタイプなので、全てをしっかりと受け止めている(笑)
0100774ワット発電中さん垢版2017/05/11(木) 07:25:18.92ID:2RgGjenz
>>97
>>95がPIC16F84を例に出したのは、今なおPIC16F84が入門書に使われているのはなぜ? という話題から来ている。(詳しくは>>16から読んで)
別に>>95が他のPICのことを知らないわけじゃないだろうね。

>>96 (そんなあなたのIDにPciが)
謎。どんな資料を見てPCI経由でROM、RAMだと思ったんだろね。
昔はISAバスにメモリを積んでいたけど、DOS/Vマシンと言う名前で国内に出回りだした時点で拡張バスにメモリを積むことはなくなっていたはずなんだけど。
もしかししたら、PCIバスに載せたシリコンディスク(DRAMのカタマリ)を見たことがあって、それをメインメモリだと思ったのかも。
0101774ワット発電中さん垢版2017/05/11(木) 07:26:56.64ID:2RgGjenz
www とか (笑) とか書いているのって、たいていスベってるな。
0104774ワット発電中さん垢版2017/05/11(木) 09:31:06.10ID:/LrMpy3w
PCIって今も使われてるの????
大昔の話かと思っていたけど・・・・・
0106774ワット発電中さん垢版2017/05/11(木) 09:41:18.73ID:WkbZNKM2
お、ご本人登場だね。
矛先をかわすのにヒッシなのは見苦しいな。
0107774ワット発電中さん垢版2017/05/11(木) 09:51:19.92ID:C5ezPcil
>>104
産業用なら。
0108774ワット発電中さん垢版2017/05/11(木) 10:38:40.78ID:ZvZE9Svi
>>98
AVRのアセンブラはつかったことないんだけど、RAM領域には実行用のコードは置けないの?
0110774ワット発電中さん垢版2017/05/11(木) 11:07:47.15ID:y+591mTz
pic16f1455 で、カーソルを動かすサンプルが欲しいんだけど
どこにも無い・・・
0111774ワット発電中さん垢版2017/05/11(木) 11:24:16.52ID:ZvZE9Svi
>>109
使いにくそうだな。
ジャンプ先変えたりするのにいちいちレジスタ参照したりするのかな。
0112774ワット発電中さん垢版2017/05/11(木) 11:44:37.87ID:iK5wwFAX
PIC18F46K22で
PORTAbits.RA1 = 1;
を実行して
RA1ピンがHになって
PORTAbits.RA2 = 1;
を実行すると
RA1ピンがLになってしまう???
PA2ピンはHです。
Xcb(v1.41)とxc8(v1.42)でも結果同じ。
環境 MPLAB X IDE v3.60 です。
0113774ワット発電中さん垢版2017/05/11(木) 12:28:34.51ID:C5ezPcil
>>110 エスパー応答
MLAのでええんちゃう?
そのままではないかもしれないが。
0116774ワット発電中さん垢版2017/05/11(木) 14:26:22.86ID:9OzaSM5z
>>111
AVRのレジスタはRAMなんだから(レジスタにはアドレスが付いている)
レジスタ間接ジャンプ命令やレジスタ間接コール命令をRAMを経由すると思えば
大した違いは無い。

俺なんか、連続したレジスタ8個をUARTの受信リングバッファとして使った事がある。
贅沢な使い方だなとちょっと後ろめたかった。
0118774ワット発電中さん垢版2017/05/11(木) 20:01:53.93ID:MlcD/Tp/
RAM上にコードを置けるとROMを一気に書き換えられるんで便利だけど

上に比べればささいなこと
0119774ワット発電中さん垢版2017/05/11(木) 21:24:47.54ID:MlcD/Tp/
>>115
PIC32だと

LATA
LATACLR
LATASET
LATAINV

PORTA
PORTACLR
PORTASET
PORTAINV

こんなにある

aset, aclr 命令も使える
0120774ワット発電中さん垢版2017/05/12(金) 00:21:42.06ID:SSKllsx7
>>105
電気電子板ではエセ玄人のことを℃玄人と呼んでいる
0121774ワット発電中さん垢版2017/05/12(金) 06:37:26.64ID:4vulRKsL
>>104
昔のカードの互換の為だろうね。
家で使ってるROMライターはISAバスだからK-6III+のマシンが現役。
80286のマシンも現役だけどね。
0122774ワット発電中さん垢版2017/05/12(金) 06:39:32.45ID:I2UzcxA+
℃玄人の特徴

「Cしか使えない℃素人」という発言をする
(>>68 参照)
8bit PICのアセンブラでしかプログラムを書けない
8bit PIC以外のことは全く知らない
32bit CPUは遅いと思っている
C言語などの高級言語のことを全く知らない
アセンブラで書くのが一番偉いと思っている
得意なプログラムはLチカ
日本語が不自由、英語も不自由
頭が悪く、切れやすい
PCのRAMはPCI接続である
割り込み遅延と演算遅延の区別がつかない
データシートを読むのが苦手
0124774ワット発電中さん垢版2017/05/12(金) 13:31:20.36ID:yXVeoV+R
>>122
他スレの状況も含め特徴を追加。
質問の意味が判りかねると質問者を℃素人となじる。
回答者に対しても回答が正しくないと思うと℃素人となじる。
なじるだけで有効な回答を付け加えることはほとんどない。
たまに技術内容を付け加えることもあるが、役に立たない。
場合によっては完全に間違えている。
なじられた人がレスすると、悔しかったようだなwww と返す。
℃素人というキーワードを使わなくてもwww ですぐわかる。
反論がまともだと沈黙する。
0126774ワット発電中さん垢版2017/05/12(金) 18:44:58.78ID:p1Z7SFmF
MAPSでPICを探そうとしてるんだけど、クリスタルの不要なUSB接続が出来ると聞いてたんだが、なんて機能?
というかMAPSで探せる?
0128774ワット発電中さん垢版2017/05/12(金) 19:02:02.96ID:p1Z7SFmF
速度は今回は気にしてないので幾らでも大丈夫です。
アクティブクロックチューニングで行けるのかな?
0129774ワット発電中さん垢版2017/05/12(金) 19:39:21.88ID:dMbBuOmi
PIC145Xはホストに合わせる機能があるので不要
PIC24FJは内蔵でも精度はぎりぎりOK

製品であれば水晶搭載をお勧めする
0132774ワット発電中さん垢版2017/05/12(金) 21:28:28.93ID:p1Z7SFmF
>>129-131
レスありがとうございます、回路を15o角に程度に入れたくて質問させていただきました。
回答頂いたの中で使えるものを見つくろうと思います。
ありがとうございます。
0134774ワット発電中さん垢版2017/05/12(金) 22:15:52.69ID:bhqLg/1Q
一般公道100km/hで走ったけど捕まらなかったよ、としか読めない。
0138774ワット発電中さん垢版2017/05/13(土) 06:35:43.80ID:788xxo+x
初心者関連スレとかだな。
専門的なスレでは全く出てこないヘタレ。
ま、何人やってるのかは知らんが。
0141774ワット発電中さん垢版2017/05/13(土) 07:29:40.89ID:sT3paXgZ
C言語使ってある程度手の込んだもの作るならPIC24かPIC32使った方がいいな
単純なことしかしないなら8bitPICでいいが
0142774ワット発電中さん垢版2017/05/13(土) 07:44:16.47ID:FP+h2zmn
趣味でアセンブラだけだけどお馬鹿さんのおかげで言いにくいわw
0143774ワット発電中さん垢版2017/05/13(土) 09:51:34.24ID:C5c/14/l
度手の込んだものをやるなら、PICなんか選択しない
ARMの方が遥かに安くて性能もダンチ、更に情報も豊富

PICは小ピン品にしか魅力無い、 8PinのARMは糞だったからな
0144774ワット発電中さん垢版2017/05/13(土) 11:51:01.70ID:sT3paXgZ
入門にはPIC32はオススメだよ
下のページに書かれてるように
MPLAB XのCode Configuratorでチップを指定してGUIで操作するだけで簡単に雛形を作成してくれる

ttp://nov11.hatenablog.com/entry/2016/11/08/234302
0145774ワット発電中さん垢版2017/05/13(土) 11:59:26.60ID:sT3paXgZ
それにARMといってもいろいろある
32bitだと主にC言語使うことになるしね
ARMのCortex-Mだと命令セットはThumb2になるがThumb2の解説してるサイトや本はほぼない
公式のリファレンスマニュアルくらいしかない
0148774ワット発電中さん垢版2017/05/13(土) 15:46:06.43ID:C9Yv32Dp
Stack optinsでコンパイル結果が異なります。
ソースの2行
TRISA = 0b00001000; // PORTAの入出力設定
ANSELAbits.ANSA3 = 0;

これをStack optinsが"Reentrant"の場合
! TRISA = 0b00001000; // PORTAの入出力設定
0xA172: MOVLW 0x8
0xA174: MOVWF TRISA, ACCESS
! ANSELAbits.ANSA3 = 0;
0xA176: MOVLB 0xF
0xA178: BCF 0x38, 3, BANKED

Stack optinsが"Compiled"の場合
! TRISA = 0b00001000; // PORTAの入出力設定
0xC1EA: MOVLW 0x8
0xC1EC: MOVWF TRISA, ACCESS
! ANSELAbits.ANSA3 = 0;
0xC1EE: MOVLB 0xF
0xC1F0: BCF IoUart, 3, BANKED

Stack optinsが"Hybrid"の場合
! TRISA = 0b00001000; // PORTAの入出力設定
0x8B38: MOVLW 0x8
0x8B3A: MOVWF TRISA, ACCESS
! ANSELAbits.ANSA3 = 0;
0x8B3C: MOVLB 0xF
0x8B3E: BCF parity, 3, BANKED

違いは
BCF 0x38, 3, BANKED
BCF IoUart, 3, BANKED
BCF parity, 3, BANKED
なんです。
IoUartとparityは別場所で使っている関数名と変数名なんだが何故ここに現れるのか判りません。
xc8はv1.41です。
0149774ワット発電中さん垢版2017/05/13(土) 17:21:00.34ID:cD4mTFPt
ARM厨って、いつもARMってだけでどのメーカーの何なのか具体的にまったく書かないよね
コアだけでも大量にあるのに。
0157774ワット発電中さん垢版2017/05/16(火) 06:29:20.21ID:L1znMtx5
値段だけならPIC32MM0016GPL020の方が安いけど

Digikey比較
PIC32MM0016GPL020-I/SS 136円
MKE04Z8VTG4 161円
0158774ワット発電中さん垢版2017/05/16(火) 06:41:20.46ID:L1znMtx5
ROM 8KB
RAM 1KB

さすがにこれは...
少な過ぎな気がするが...

これで手の込んだ物?
0159774ワット発電中さん垢版2017/05/16(火) 06:53:28.14ID:5/q2qABr
手の込んだ物で有る必要はない。
0162774ワット発電中さん垢版2017/05/16(火) 10:52:18.10ID:T1qCtxg2
STM32Fxxx 辺りとか投売り状態たい
STM32F100C8T6B \113/Lot, Lot=2, 無料配送

STM32F030K6T6: \61/Lot, Lot=100, 無料配送
こっちは安いけど、100個も要らん
0165774ワット発電中さん垢版2017/05/16(火) 18:49:52.31ID:T1qCtxg2
Digikeyは高いんだよ、日本とあまり変わらない値段
まぁ間違いは無いけどな

物が届くかどうか不安はあるけど、この辺りだとメチャクチャに安い
https://ja.aliexpress.com/w/wholesale-STM32F030K6T6.html?spm=2114.010208.0.0.nzvgVH&;initiative_id=SB_20170516013737&site=jpn&groupsort=1&SortType=price_asc&g=y&SearchText=STM32F030K6T6
調べる気も無いけど、PIC32xxxならもっと安いかもな?
0166774ワット発電中さん垢版2017/05/16(火) 19:03:16.51ID:bBp/Szve
AliexpressはPICの扱い薄い。AVRの方が手厚い。
0168774ワット発電中さん垢版2017/05/16(火) 22:09:13.84ID:icSC3iol
>>167
立ち上げる度にアップデートって感じだな
picーgccフリーにしておくれ
0170774ワット発電中さん垢版2017/05/17(水) 05:53:27.03ID:irDah4cm
>>161 は8pinに限定してない

また、必要なピン数が少なくてもCPU処理能力が必要な用途もある
0171774ワット発電中さん垢版2017/05/17(水) 07:27:58.10ID:joA46gji
8pinのLPC810はトラ技の付録になった時に弄った感覚としては
確かに高機能っぽいけどこれ8pinにする必要あった?と思った記憶
0173774ワット発電中さん垢版2017/05/17(水) 23:39:24.10ID:zk9uPq6Q
soscが発振しない
なんでだろ
0174774ワット発電中さん垢版2017/05/18(木) 05:51:36.34ID:4RPqmth1
回路がおかしいか
設定がおかしいか
発振子が不良か
負荷コンデンサが不良か
PICがこわれてるか
>>173がこわれてるか
0175774ワット発電中さん垢版2017/05/22(月) 20:31:09.31ID:L3L99MSz
やばい
16F145Xにクロックのオートチューニング付いてたなんて知らなかった
14K50の在庫、使わずにゴミ箱行きかも
0177774ワット発電中さん垢版2017/05/22(月) 21:35:17.17ID:X0yyNbzD
初USB で 16F145X をやろうと
IDE 8 + PICkit2 -> IDE X + PICkit3 に
移行しようとして嵌りまくって涙目の俺
0180774ワット発電中さん垢版2017/05/22(月) 21:51:29.30ID:X0yyNbzD
とりあえず IDE 8 で作った .asm を IDE X で build できて .hex も
できたが、現在 PICkit3 での焼き方が分からなくて嵌ってます。
0184774ワット発電中さん垢版2017/05/22(月) 22:19:54.00ID:X0yyNbzD
>>181
ですよねえ、で、
Target device was not found (could not detect target voltage VDD). You must connect to a target device to use PICkit 3.
Target has invalid calibration data (0x00).
IDE 8 / IDE X V2.2 + PICkit3 では Power で PICkit3 の電源をオンにすれば書けたのだが、、、

>>182
すみません、まだ USB に進む前の段階です。
0185774ワット発電中さん垢版2017/05/22(月) 22:31:32.07ID:X0yyNbzD
>>184
すなおに、外部から電源供給してやったら
Programming/Verify complete
と一歩前進したようです。
0186774ワット発電中さん垢版2017/05/22(月) 22:32:33.40ID:r2olw9zk
PICKit3の電源は貧弱だからターゲット側で電源を供給した方がいいかと
0187774ワット発電中さん垢版2017/05/22(月) 22:33:50.46ID:crmMeh1E
Pickitからの電源供給はかなり少ない容量の筈。
とりあえずおめ。
0188774ワット発電中さん垢版2017/05/22(月) 22:48:48.06ID:X0yyNbzD
>>183
昨日、気分転換に 12F1501 をやってみようとしたら PICkit2 / 3 でうまくいかない、
で PK2DeviceFile_1.62.14_mod7.dat を探し当てて PK2DeviceFile.dat に上書き。
これで PICkit2 で 12F1501 に書き込めるようになったんですが、、、
なんと、これで 16F1455 も 16F1459 も認識できるようになってるじゃありませんか!
ありがとうございました。
0189774ワット発電中さん垢版2017/05/22(月) 23:16:44.98ID:ioxejeM3
ピン数別に定番を買いだめしたんだけど、都度買った方が良かったかもな
新製品はフラッシュもRAMも増えてるし、USB品も外部水晶いらなくなったのね
ピンアサインの自由度も上がってるんだっけ
0190774ワット発電中さん垢版2017/05/23(火) 00:04:27.47ID:Hqgf+uJa
買いだめすると使い切らないうちに不要になる。
都度買うと使いたいとき入手困難になっている。
まあ、これもマーフィーの法則のひとつだろう。
0193774ワット発電中さん垢版2017/05/23(火) 22:13:31.94ID:UyEBEy3t
UARTはPICから送信する方向しか使ってないのでエラッタなんか知らんこった
0195774ワット発電中さん垢版2017/05/23(火) 22:33:52.96ID:YgsF0S40
PIC16のUARTのエラッタは送信時にデータがダブるってヤツ
タイミング依存で対策も評価も厄介
エラッタシートに載ってないマイコンでも発生するのでさらに厄介
0197774ワット発電中さん垢版2017/05/23(火) 22:49:15.49ID:YgsF0S40
何だかんだ、PICだけで30個くらいあるな
8bitが17個
16bitが3個
32bitが10個
0198175垢版2017/05/24(水) 22:34:28.51ID:OKQl2oEE
16F145x、USB Framework非対応ってことは、USB端子からのプログラム書き換えに対応してないのか
0201774ワット発電中さん垢版2017/05/25(木) 07:29:43.46ID:Stj73SXS
>>195
>タイミング依存で対策も評価も厄介

タイミングが問題なら対策は簡単。

あ゛Cしか出来ない℃素人かwww
0203774ワット発電中さん垢版2017/05/25(木) 14:00:53.10ID:kJQ6inb/
>>201
ひさびさの℃玄人登場か
あれだけ叩かれたからもう出て来ないかと思ったら

君には対策は無理だと思うよ
0204175垢版2017/05/25(木) 14:10:18.55ID:WXnE9PdI
ごめんなさい
USB Framework "Lite" のとこ見てた
>11.1.1 8 bit Devices (6 Devices)
>Devices shown in bold are new to this release
>PIC18F24K50 PIC18LF24K50
>PIC18F25K50 PIC18LF25K50
>PIC18F45K50 PIC18LF45K50
ttp://www.microchip.com/mplab/mplab-code-configurator

>>200
1459用で1455、1454も使えないかしら?
hexだからダメか
0205774ワット発電中さん垢版2017/05/25(木) 17:39:17.93ID:+F6RB7wT
ユーザー領域が減るのを許容できりゃpro版じゃなくてもできるはず
少し手直しはいるが
0206774ワット発電中さん垢版2017/05/27(土) 22:22:48.73ID:qfoH4MZv
>>205
usbのpicやってみたいと思うのですが、free版でブートローダ使えないのは
かなり致命的ですか?
普通の奴は、ISPにpickit3でのデバッグでなんとかなっているのですが。
0207774ワット発電中さん垢版2017/05/27(土) 23:28:31.77ID:ctPrTqnz
PICKITが用意出来るならbootloaderの事はまず気にしなくていい(異論あるでしょうが)
0211774ワット発電中さん垢版2017/05/28(日) 22:19:57.95ID:XOgHaQmF
PIC18F14K50のVPP/MCLRピンなんですが、ドキュメントでは内部でプルアップされている
と書かれています

これはRA3をMCLRとして設定するともれなく内部プルアップが有効になるのか、それとも
自分でRABPUとWPUBを設定すればプルアップを有効にすることも出来ますなのか、どちら
なんでしょうか。

前者の場合はRA3をMCLRとして使うだけなら外付けのプルアップ抵抗が不要になると思うんですが
0212774ワット発電中さん垢版2017/05/28(日) 22:36:48.83ID:VvzFZmcS
みなさんはじめまして!初めてカキコ質問させていただきます。
Pickit3でのエラー?での質問です。写真大量貼り付けすいません。

●デバイス PIC16F18857
●書き込み器 PICkit3 Firmware01.47.12
●書き込みき場所 ブレッドボード
●配線
pickit3 1番ピンVpp→1ピン→10k抵抗→Vdd分岐
pickit3 2番ピンVdd→20ピンVdd
pickit3 3番ピンVss→19&8ピンVss
pickit3 4番ピンPGD→28ピンICSPDAT
pickit3 5番ピンPGC→27ピンICSPCLK
pickit3 6番ピン 未使用
pic16f18857の4番ピンから抵抗LEDと繋がってるだけ
●トラブル内容
デバイスを認識しない
Target Device ID (0x0)is an Invalid Device ID. Please check your connections to the Target Devise.
デバイス無効だから配線確認してね!
一番下の行に
Failed to Program deviceと表示

●ビルド状態 ok
プログラムも何も初期化してるだけの書き込みテスト用
エラーは出てません。
●pickit3状態
Failed to program deviseとか表示しても
STATUSランプは緑のままです。
書き込もうとする時はチカッチカッと緑→赤が二回確認後緑のままとなっている。

●pickit3設定
piwer-pickitから供給ON 5V(OFFでも駄目でした)
program option-Erase All Before Program on
Use High VoltageMCLR off(ONでも駄目でした)
LVP off

ネット調べましたが配線が違う〜が多かったのですが何度も調べましたがあってます(p_-)

今まではpic16f627aとかを他の書き込み器で書いて遊んでました。
F1シリーズ触ったことがなく又Pickit3も持ってましたが触る機会が無く、F1シリーズとか新しいものはやはり公式使おうと今回初めてpickit3を使います。

良きアドバイスを(_ _)
後で同じPICと型番違うものでもやってみようと思います。http://i.imgur.com/seOZutg.jpg
http://i.imgur.com/MOUyX1T.jpg
http://i.imgur.com/8rMADVU.jpg
http://i.imgur.com/sRgZ8kl.jpg
http://i.imgur.com/DEVMPpr.jpg
http://i.imgur.com/niFhdDK.jpg
http://i.imgur.com/3aL6vtZ.jpg
http://i.imgur.com/ReCteMC.jpg
http://i.imgur.com/gyylW1Q.jpg
0213774ワット発電中さん垢版2017/05/28(日) 22:41:57.79ID:YYj/7hmb
ターゲット電源入れろ。
0214774ワット発電中さん垢版2017/05/28(日) 23:00:54.24ID:EpfmNAXr
>>212
http://i.imgur.com/MOUyX1T.jpg
PICkit3からのジャンパー線をブレッドボードの別の場所で中継させずに直にPICにつなぐ。
USBのケーブルを代えてみる。
PCのUSBコネクタのケーブルを指す場所を変えてみる。
0215774ワット発電中さん垢版2017/05/29(月) 02:31:40.48ID:7PX0JAfy
>>212
以下のすべてを確認してください。
1. PICの電源は、PICKit3から供給せずに、別の電源からPICに電源を入れて書いてみる
2. PC----PICKit3間のUSBケーブルを短いもの、太い物に変えて書いてみる
3. もう一度接続の確認
   ・PIC MCLRピン-----10k抵抗------VDD電源 と接続
   ・PIC PGCピン、PGDピンどちらも、プルアップもプルダウンもしない

   ・PICKit3 MCLR --------PICのMCLRピン に接続
   ・PICKit3 VDDピン------PIC VDD電源ピン
   ・PICKit3 GNDピン------PIC GNDピン
   ・PICKit3 PGCピン------PIC PGCピン
   ・PICKit3 PGDピン------PIC PGDピン

4. LVP書き込みにセットしてしまったPICはひとまずやめて、新品のPICを使って見る。
   基本的にLVPはしません。PICKit3がHV(+13V)を作って、供給してくれますので。

5. PICKit3からの接続は、直接PICの足の溝に刺してください。
   基本的にブレッドボードは接触不良の温床だと心得てください。
   
0216774ワット発電中さん垢版2017/05/29(月) 03:34:59.58ID:BaEwPU3q
>>211
MCLRに設定することで強制的に内部プルアップされる品種もあるけど
残念ながらPIC18F14K50はそうならないですね。
RA3を入力ポートに指定したときだけRABPUとWPUAで設定可能です。
0218774ワット発電中さん垢版2017/05/29(月) 10:53:38.45ID:k4bqQmDU
>>213
>>214
>>215
夜遅く返答ありがとうございました。
無事書き込めました^ - ^ 原因はPICの接触不良でした。。。

最初にUSBポート変えたり、ターゲット電源変えたりしても駄目だったので、まずは他のPIC使ってpickit3童貞を卒業してみました
古代PIC16F84A=すんなり成功PICKit3童貞卒業
次のPIC切り替えの為84Aを引き抜く時に違和感!
凄くみっちりとブレッドボードにはまっていた。
んんぅぅん!さっきの18857はするっと簡単に取れたゾォお??
次のPIC12F1822=書き込みok
PIC16F1827=書き込みok
この二つもがっちりブレッドボードに刺さっている。
もう一度18857刺すとどうもするっと取れてしまう。
もう一度グニグニ押したら、もう一段階潜り込んで他と同じくガッツリはまったので
ドキドキしながら書き込みしたら成功しました(^^)
おさわがせしました!

Timer0がアパートOPTION_REGからマイホームT0CON建ててますね。
0219774ワット発電中さん垢版2017/05/29(月) 11:21:01.92ID:k4bqQmDU
>>213
>>214
>>215
返答ありがとうございます!無事解決しました!
原因はPICの接触不良でした。。

USB変えたりターゲット電源入れたりして変化なかった為、一度他のPICで書き込み成功をまずやろうと思い
PIC16F84A=すんなり成功
次のPICに変えようと引き抜く時に違和感!
84Aはガッツリとブレッドボードにはまって簡単に取れませんでした。
先ほどの18857は84Aより多い28pinなのに簡単に取れたゾォ??これかっ!?
とりあえず次の12F1822=成功
16F1827=成功
この二つもがっちりブレッドボードに刺さっている
今一度18857刺して見るが、どうもするっと取れてしまう。
刺したと思う状態でさらにグニグニ押すと更にもう一段階潜り込んで、他と同じようにガッツリと入り込んだので
ドキドキしながら書き込みしたら成功しました!
お騒がせしました。
0220774ワット発電中さん垢版2017/05/29(月) 13:42:29.87ID:4XUUZWAy
>>218,219
>原因はPICの接触不良でした。
それはPICの接触不良じゃなくて、
PICを差し込んだ相手(メス側)が開いてしまっていた、ということじゃないの?
どのPICもDIP形状なんでしょ?
PICのピンはオスだから、錆びくらいしか接触不良の原因にならないから。

要は、ブレッドボードが不良だった ってことでしょ?
0221774ワット発電中さん垢版2017/05/29(月) 14:38:36.14ID:lu6XamcZ
>>220
どこをどう読むとそういう結論になるのかなw
ブレッドボードへの差し込みが中途半端だったってことでしょ
おっかなびっくり丁寧に扱おうとする初心者にありがちなケース
0222774ワット発電中さん垢版2017/05/29(月) 15:01:38.82ID:k4bqQmDU
>>220
はい221さんの言う通り、差込が中途半端だっただけです。
28pinの時だけ刺さったと感じるポイントがズレてました(p_-)
0223774ワット発電中さん垢版2017/05/29(月) 15:22:00.78ID:4XUUZWAy
>>221
>どこをどう読むとそういう結論になるのかなw
は?

>>220の書込の、どこを読むと、ブレッドボードへの差し込みが中途半端 と読めるよ。
DIP品の足の長さは同じなんだから、挿した時の「浮き」を見れば、挿入が足らない事ぐらい
スグにわかるでしょ。
0224774ワット発電中さん垢版2017/05/29(月) 17:03:35.51ID:VJPMZJEu
>>223
>スグにわかるでしょ。
ブレッドボードに2つ挿してあり、一方はちゃんと差し込めてもう一方はちゃんと差し込めてない。
さらに、気を付けて横から良く確認する。
以上の条件が揃えば、あなたのおっしゃるような論法が成立するかもしれませんね。

ついでだから、ろくな読解力の無いあなたが恥の上塗りを避ける方法を伝授しであげる。
「落ち着いて、リロードくらいしてから書き込みましょう。」
一番いいのは、そもそも最初から黙っていることだけどねw
0225774ワット発電中さん垢版2017/05/29(月) 18:00:30.37ID:iBNCXKF7
>>221

>>220に「ブレッドボードへの差し込みが中途半端だった」と書いてある 」

とは言っていないのだし、

> >>220の書込の、どこを読むと、ブレッドボードへの差し込みが中途半端 と読めるよ。

という反論は、たいへんおかしいのです。
一方で、少なくとも>>219からは十分挿しこまれていなかったことが読み取れます。

それと、ブレッドボードでの作業の話の中で、「PICが接触不良」といえば、
「PICとブレッドボード金具との接触が不良だった」という概念を広く含んでいても問題はないと思います。
「PICが接触不良ではなくて、ブレッドボードが接触不良だったと」と言わなくても良いんじゃないですか?
0226774ワット発電中さん垢版2017/05/29(月) 18:11:21.37ID:SuSm08xN
PIC信者ってのは、ちょっとでもPIC自体が悪い可能性が有るような表現を使うと全力で否定するんだよ
あまり深く関わらない方が良い
0228774ワット発電中さん垢版2017/05/29(月) 18:44:32.68ID:loAnCyBR
「わー良かったねーこれから気を付けようねー」で済む話だと思う。
何にも噛み付く所ない。
0229774ワット発電中さん垢版2017/05/29(月) 20:51:36.00ID:4XUUZWAy
>>224
>>223
>ブレッドボードに2つ挿してあり、一方はちゃんと差し込めてもう一方はちゃんと差し込めてない。
>さらに、気を付けて横から良く確認する。
>以上の条件が揃えば、あなたのおっしゃるような論法が成立するかもしれませんね。
1個目と、2個目で上手く行ったのだから、3個目の装着も同様になっているか釜人するのは、
まず最低限当然のことじゃない?
ブレッドボードに差し込むとき、差し込み始めと差し込み完了までの物理的寸法が、1mmとかないのなら、
そりゃ、見間違いということもあるだろうけど、2〜3mmはあるのだから、
その違いに気づくべきでしょう。

また、接触不良と行っているけど、接触が悪いのは、差し込みが足らなかっただけで、
差し込みが足らなかったのは、本人の確認不足だと思うよ。

>「落ち着いて、リロードくらいしてから書き込みましょう。」
残念ですね。書込の前に、ちゃんと>>222の書込は見ていたよ。そんなの当然。
ろくに理解もせずに
>どこをどう読むとそういう結論になるのかなw
という>>221の書込を見たから、反論したまでです。
0230774ワット発電中さん垢版2017/05/29(月) 20:56:45.24ID:4XUUZWAy
>>225
>「PICとブレッドボード金具との接触が不良だった」という概念を広く含んでいても問題はないと思います。
おっしゃる通り、含んでいても問題ありません。
しかし、PICの足の接触不良という表現は、やや説明が足りません。

「PICが接触不良ではなくて、ブレッドボードが接触不良だったと」と言わなくても良いんじゃないですか?
PICとブレッドボードの接触不良と言うべきです。
PICの足はオスであり、自分自身では接触不良の原因になることはほぼ無いです。
前述したように、PICのピンが錆びていれば、話は別ですが。
0233774ワット発電中さん垢版2017/05/29(月) 21:25:15.64ID:iBNCXKF7
>しかし、PICの足の接触不良という表現は、やや説明が足りません。
やや説明が足りなかったら分からんのかなあ。
0234774ワット発電中さん垢版2017/05/29(月) 21:36:32.67ID:mi90oqTx
>>231
そうそう、比較すると分かりやすいね。
そして、次からは、しっかり奥まで刺さってるか気を付けるようになる。
それでいいと思いますよ。
新品のうちはがっしり刺さるので、抜く時足曲げないように注意ね。

>>232
斜めになってた可能性もあると思う。
届いてる足と届いてない足があったってこと。
0235774ワット発電中さん垢版2017/05/29(月) 21:52:10.83ID:qZpVEbZI
>>229
1個目、2個目、3個め?
いったい何の話してんの?
「同時に複数挿さってて、その挿さり方に差があれば見比べて気づきやすいが、
1つだけしか挿してなく、しかも初心者では挿さり方の違いに気づけない。」
>>224はそういう意味で書いてんですけどね。
そもそも、
http://i.imgur.com/MOUyX1T.jpg
には1つしか挿さってないわけだし。
この写真だけ見て挿し方不足を指摘出来た人はいなかったわけです。

黙ってた方がいいですよ、はっきり言って邪魔だし、初心者が混乱する。
0236774ワット発電中さん垢版2017/05/29(月) 22:08:38.12ID:4XUUZWAy
>>235
>同時に複数挿さってて、その挿さり方に差があれば見比べて気づきやすいが、
>1つだけしか挿してなく、しかも初心者では挿さり方の違いに気づけない。
アホか? そんなわけないだろ。
ブレッドボードに、PICを刺したとき、どこまで沈むか見るでしょう、普通なら。
そして、差し込むときの反力というか、ずずっーと感は、感じてるはずです。
同時に3つ刺さなくても、その差し込み感で、他と違うきらいのことは、わかるはず。

>黙ってた方がいいですよ、はっきり言って邪魔だし、初心者が混乱する。
自分のことを言ってるの? 自分が書き込んだことが不備だらけで指摘されたからといって、
ムキになることはありません。

あなたも大人になれば、きっとわかりますよ。
0237774ワット発電中さん垢版2017/05/29(月) 22:15:52.26ID:iBNCXKF7
>>236
言わなくていいことを言いすぎ。

元役人が、いかがわしいところに出入りしてたという理由で証言の信ぴょう性を問われているわけですが、
同様に、根拠のない妄想を書いていたら、発言全体がそういうことを言う人から発せられたという評価になりますよ。
0238774ワット発電中さん垢版2017/05/29(月) 22:21:24.03ID:4XUUZWAy
>>231
DIPのICは、外側に少し反っていて、
基板やブレッドボードの穴に差し込むときに刺しにくいものです。
なので、PICのピンを机などに押し当てて、
黒いモールドと直角になるように曲げてやると、以降スムーズに入ります。

このスムーズに入る状態にすれば、抜き差しに余分な力が加わらず、
抜くときに足を曲げてしまうことも少なくなります。

丸ピンICソケットにPICを差し込んで、通常使用はそのICソケットから抜き差しすると
最悪ICソケットのピンが折れても、PICの足は守られるのでおすすめです。
しかし、ブレッドボードはメス側が穴から深い位置に構えているので、ICソケットのピンが届かない可能性もありますが。

ブレッドボードからPICを抜くときに、ICプラーという道具を使うと、物理的にも精神的にもストレスがありません。
調子いいので、試して見てください。ICプラーで検索すれば出てきます。
0239774ワット発電中さん垢版2017/05/29(月) 22:32:44.05ID:4XUUZWAy
>>237
>元役人が、いかがわしいところに出入りしてたという理由で証言の信ぴょう性を問われているわけですが、
いや、あれは逆に信憑性が増したと思います。何より、この人、正直じゃないですか。
正直と勇気。今の役人や議員に一番欠けているところです。

何か言うと自分の身に危険が迫るので、何も言わずにいる。
史上3番目の長期政権は、圧力をかけるという手法で続いています。
金を使う政策だけなら誰でもできますよね。
0240774ワット発電中さん垢版2017/05/29(月) 22:40:13.53ID:kiBvQ6Mm
PICの足を痛める可能性があるので丸ピンICソケットに挿して
使用しています。
接触不良は今のところ発生していませんし、足も固定されているので
曲がることはありません
0241774ワット発電中さん垢版2017/05/29(月) 22:43:14.47ID:4rXuP87s
>そんなわけないだろ。
>でしょう、普通なら。
>感じてるはずです。
>わかるはず。
「仮定」の話ばかりですね。
現に>>ID:k4bqQmDUは、あなたの数々の「仮定」の通りに出来ずに、
結果として悩んだわけだけど、その事実はどう説明しますか。
あなたの論法はちっともアドバイスになってないんですよ。
>>220でブレッドボードの不良だと誤った決めつけをしたのがそんなに悔しいですか?
0242241垢版2017/05/29(月) 22:45:49.20ID:4rXuP87s
あら、アンカー忘れた。
>>236宛です。
0243774ワット発電中さん垢版2017/05/29(月) 22:48:42.97ID:iBNCXKF7
>>239
役人の例のほうじゃなくて↓こっちにコメントしてくださいよ。これはあなたのことですし。
>根拠のない妄想を書いていたら、発言全体がそういうことを言う人から発せられたという評価になりますよ。
0244774ワット発電中さん垢版2017/05/29(月) 22:48:48.89ID:4rXuP87s
>>238
おお、自分のレスが全くアドバイスになってない>>220の照れ隠しだと気づいたのは偉かったね。
どこからの引用なのか書くともっと良かった。
0245774ワット発電中さん垢版2017/05/29(月) 22:53:39.10ID:4rXuP87s
>>243
>>ID:4XUUZWAyみたいなのはね、根拠のない妄想だという自覚すら無いんだと思いますよ。
論点を逸らすことだけに躍起になってる姿を、自分で客観的に眺められるといいんだろうけど、
そんな余裕も無さそう。

>>220>>221に全否定されて以降、顔真っ赤っか状態だから。
0246774ワット発電中さん垢版2017/05/29(月) 23:00:45.21ID:iBNCXKF7
>>245
いやいや、俺には ID:4XUUZWAy の顔は見えません。
相手を不要に不快にさせる言葉として「顔真っ赤」が使われるのは理解していますが
同じレベルで戦うことは良くないと思います。
0248774ワット発電中さん垢版2017/05/30(火) 00:27:56.36ID:kuhI4Bmd
>>238
何このおざなりうんちくコピーw
ブレッドボード使ってる相手に丸ピンICソケットを勧めるとか、ホラ吹くのも程々にした方がいい。
>ピンが届かない可能性もありますが。
可能性でなく、事実しっかり届かないから、接触不良の温床になって初心者を混乱させる原因になる。
値段と利便性から考えたら、ピンが折れるほど使い込んだら捨てるのが一番。
0249774ワット発電中さん垢版2017/05/30(火) 02:13:21.52ID:9WPqQUTf
ブレッドボードなんか 使わなきゃいいのに。
0251774ワット発電中さん垢版2017/05/30(火) 03:39:01.06ID:DskBBSJO
>>249
相手にするな

一度泣きを見ればわかるのだから
0252774ワット発電中さん垢版2017/05/30(火) 06:22:33.91ID:OS83u46k
ブレッドボードすら使いこなせず泣きを見るって相当あれだなw
きっと「適材適所」の意味を知らないのだろう。
0254774ワット発電中さん垢版2017/05/30(火) 07:32:15.28ID:Sua9SZZw
そんな時期はとうに過ぎて、「作業」に過ぎない
仕様考えてる頃が楽しい。
0256774ワット発電中さん垢版2017/05/30(火) 08:26:28.35ID:FDuJdTUl
電子工作をする上で何に面白さを見出すかとか合理性がどこにあるかとかは人次第でいいんだ。
0257774ワット発電中さん垢版2017/05/30(火) 08:40:27.51ID:et5VasHr
ほんと>>228につきるわな。リアルでもこんな感じなのかねぇ。
0258774ワット発電中さん垢版2017/05/30(火) 11:36:20.14ID:MMlFTm+R
ICソケットの挿しミスなんてベテランだってたまにやるだろ。
>>228 >>>257の言う通りで、これからは気を付けるぞ、と反省すれば済む話だ。

いつだったか俺なんか、
 ICソケットに挿した後、<おかしいなぁ、少し隙間がある>と力を入れて押し込んだら、
 ちゃんと嵌め込めた。(横から見てチェックした)
 エラー無く書き込んで、CPUをソケットから外して何気なくピンを見たら
 ぬぁんと1番ピンがU字型に内側に180°折れ曲がっていた!
もちろんピンセットで丁寧に伸ばしたけどw

あと、ブレッドボードは表面のプラのフレームの厚みが有るので、
ICソケットには十分に挿さるのに、ブレッドボードだと噛みが甘い場合があるので、
注意が必要だ。
有るとき、8ビットのデイップSWをブレッドボードに押し込んでも押し込んでも、
バネのように跳ね返してくる、<イヤだ、私咥えたくないわ>と。
・・・無理強いしてゴメンよ、俺が悪かったw
0261774ワット発電中さん垢版2017/05/30(火) 23:45:37.04ID:5jle9B6j
正常位?
0262774ワット発電中さん垢版2017/05/31(水) 00:10:30.97ID:4zXWqpM8
5ピンヘッダを騎乗位で VSS, ICSODAT, ICSPCLK に
直接はんだ付けすると、VDD, VPP を電線2本でつなぐ
だけで PICKIT から書き込みできる状態
0263774ワット発電中さん垢版2017/05/31(水) 04:47:19.25ID:nf8+cjhE
ブレッドボードで回路を作って、オシロで波形を観察するためにリードを刺すけど
オシロプローブの重さに「負けて」抜けてしまうよね。
0264774ワット発電中さん垢版2017/05/31(水) 04:56:53.42ID:z0L1tLEG
プロービングは重要な測定技法のひとつだから頑張って工夫しましょう。
0265774ワット発電中さん垢版2017/05/31(水) 08:45:59.88ID:s2jc20/a
>>260
そして粘土とグルーガンで仕上げ
0267774ワット発電中さん垢版2017/05/31(水) 22:41:23.94ID:SvgoDj1x
>>263
テストピンを自作して測定すれば抜けることはないですよ
いろんな物で自作してみましょう!!
0269774ワット発電中さん垢版2017/05/31(水) 22:50:01.20ID:gPZE5KX4
>>268
>>267が言ってるのは、いろいろ作ってみましょう、ってことなので、
「うまく作れば、通常の使用では抜けないものを作ることができる」
ということでしょうね。

なぜ、と聞くより、興味があったら「どんなふうに作ったら」と尋ねるべきかと。
少なくとも>>267は、彼の使い方の範囲なら実用的に抜けにくいものを作った実績があるはずです。
0270774ワット発電中さん垢版2017/05/31(水) 23:05:12.13ID:NrLiJBLX
そんな電線を長々と引っ張ってオシロで波形見て、正しい波形が得られるか?

ま、デジタルばっかりの人には関係無いだろうけど。
0271774ワット発電中さん垢版2017/05/31(水) 23:09:38.33ID:g7yjSlvU
>>270
ブレッドボード使ってる人にそれ言ってもな。
でも低容量プローブは自作が一番なんだぜ。

270と同じカキコしようとしたがリロードして良かった
0272774ワット発電中さん垢版2017/05/31(水) 23:10:13.07ID:gPZE5KX4
>>270
実用的にはOKと言える長さなんでしょう。

正しい波形とは何かを定義せずに、議論しても意味がありません。

でも実際のところは、
「ま、デジタルばっかりの人には関係無いだろうけど。」と言っておけば、
不快に思う人がいて面白いと考えただけなんじゃないのですか?
0273774ワット発電中さん垢版2017/06/01(木) 02:16:30.79ID:A1843eSa
>>272
あなたは、いつも「ひねくれた」捉え方をするんですね。
もめ事を起こしたいのですか?
0274774ワット発電中さん垢版2017/06/01(木) 03:25:12.18ID:HaSE6i9y
>>271
低容量プローブ って何でしょうか?
0275774ワット発電中さん垢版2017/06/01(木) 03:47:25.93ID:YND0bSHn
>>274
単に、〜って何ですか?という疑問なら、まずネットででも調べて疑問点を絞ってから書き込めな、な。
0277774ワット発電中さん垢版2017/06/01(木) 06:37:04.30ID:5fql+oNW
ぐぐって上位にヒットする傾向のある市販の低容量プローブと、
>>271が言ってる低容量プローブは多分別物だよね?
要するに最短で抵抗を直列に接続して引っ張るタイプのことを言ってると思う。
0278774ワット発電中さん垢版2017/06/01(木) 06:54:48.17ID:sUDKUyod
>270 は極端な事言って衆目を集めたいだけの
ガキに良くある精神状態だな。
0279774ワット発電中さん垢版2017/06/01(木) 10:20:55.69ID:HaSE6i9y
>>277
何がどう低容量なのか、さっぱり分からないね。
なぜ低容量が必要になるのかも説明ないし。

抵抗通して最短の方法も、よくわからない。
オシロにつなぐのに抵抗通すの?
そうなると同軸使って、オシロは50で受けるのかな。
0280774ワット発電中さん垢版2017/06/01(木) 12:02:24.49ID:r84oB0/N
>そんな電線を長々と引っ張ってオシロで波形見て、正しい波形が得られるか?
>ま、デジタルばっかりの人には関係無いだろうけど。
技術的な知識も経験も無いし、人間的な知識も経験も無いとすぐに分る文章だっぺ?
(奥茨城ナマリ)w
0281774ワット発電中さん垢版2017/06/01(木) 14:03:53.78ID:A1843eSa
>>274
この場合は、低容量は関係ないと思います。たぶん間違えたのでしょう。
低容量プローブは簡単に作れるものではありません。

必要なのは低インダクタンス(コイルの性質)ですので、
信号側もGND側も、長い線をやめて極短い線でオシロプローブを接続します。
  (ブレッドボードを使っている時点で無理な話ですが、それは置いておく)

デジタル信号のH→L、L→Hの変化直後に、振動する波形が観測されます。
よく「リンギング」とか「オーバーシュート」とか言われる波形です。
その波形の出る原因は、長い電線によってインダクタンスを持ってしまうからです。
そのコイル成分と、どこかに隠れているコンデンサ成分が「共振」して、そのような波形になります。
プローブにつなぐ電線を短くしていくと、波形がドンドン小さくなるのが実感できます。
0282774ワット発電中さん垢版2017/06/01(木) 17:18:18.73ID:nthtIhyt
極端に高い周波数の回路の試作だと基板にそのままSMAかなんかのコネクタ付けて測ったりするよね
0283774ワット発電中さん垢版2017/06/01(木) 18:52:22.83ID:5fql+oNW
>>279
>何がどう低容量なのか、さっぱり分からないね。
低容量プローブをぐぐってみて、何がどう低容量なのか、さっぱりわからない?
それとも、最短で抵抗を直列に接続して引っ張るタイプの何が低容量なのかさっぱりわからない?

>なぜ低容量が必要になるのかも説明ないし。
ブレッドボードになら意味薄いと思うぞ。
でもわりかし多くの人が経験する測定トラブルの原因もプローブの静電容量だったりする。そういう意味では、意味が薄いとは限らないかも。


引用順を変えます。すみません。

>オシロにつなぐのに抵抗通すの?
>そうなると同軸使って、オシロは50で受けるのかな。
そうそう、それそれ。

>抵抗通して最短の方法も、よくわからない。
言葉の順序が変わるとややこしい。
ターゲットからの信号の流れなら「最短で抵抗を直列に接続してひっぱる」
オシロの立場からの視点なら「抵抗通して最短でターゲット」
数センチのリードをターゲットに付けるだけで動作が変わることもあるし、ここは結構重要かも。
0284774ワット発電中さん垢版2017/06/01(木) 18:53:00.57ID:YND0bSHn
>>277
自作などプロービングの工夫話なども出てくるけど。
もしかして習慣的に「価格」とかくっつけちゃう人かな。
0285774ワット発電中さん垢版2017/06/01(木) 19:07:14.57ID:5fql+oNW
>数センチのリードをターゲットに付けるだけで動作が変わることもあるし、ここは結構重要かも。
これは、ブレッドボードではあまり経験しなくて済むことかも。
0286774ワット発電中さん垢版2017/06/01(木) 19:51:28.55ID:sUDKUyod
だいたい初心者スレなんだよここ
0287774ワット発電中さん垢版2017/06/01(木) 20:12:25.63ID:DPuee2UH
>>281
直列のリアクタンスなんて損失の多い線使えばほぼ無視できるだろ。
オシロのプローブのコードが細い理由わかってるの?
0288774ワット発電中さん垢版2017/06/01(木) 20:53:14.45ID:A1843eSa
>>287
ブレッドボードの取り出し点とオシロプローブの接続点に、CRチューニング回路を付けて、
高抵抗線で結べとでも言うのか? 使う前に中和調整を取れとでも?
0289774ワット発電中さん垢版2017/06/01(木) 23:28:04.97ID:DPuee2UH
>>288
ブレッドボード使ってる時点で意味なしとみんな言うとるやないか
わからんやっちゃな
0290774ワット発電中さん垢版2017/06/01(木) 23:59:14.91ID:5fql+oNW
ブレッドボードでも経験する、プローブの静電容量の影響といえば、

・水晶発振子の端子を見ようとしたら、止まっちゃった。
そもそもやっちゃいけないレベルではあるけれど。

・ロジックICでカウンターを作ったらときどき異常カウントする。でもオシロのプローブを当てたら起こらなくなった。
今度の電子工作発表会は、オシロを付けて出そう!
0292774ワット発電中さん垢版2017/06/02(金) 02:13:18.74ID:e0rRh7ga
>>290
それはオシロプローブの容量が云々という話ではないでしょう。
測定方法が間違っているだけです。
水晶発振子による発振器の波形を見る時は、
発振回路のアンプの出力側に接続します。
入力側につないだら、負荷容量が増えて発振停止するかもしれません。
あなたに知識があるかどうかの違いだけです。
プローブや回路に責任や原因はありません。

>ロジックICでカウンターを作ったらときどき異常カウントする。でもオシロのプローブを当てたら起こらなくなった。
それはインピーダンスの高い配線につないだからでしょう。
ゲートの出力の点に当てれば、カウンターが止まる事はありません。
あなたが知らないだけです。
0293774ワット発電中さん垢版2017/06/02(金) 03:19:01.15ID:0HjWGYi7
手厳しいね
0295774ワット発電中さん垢版2017/06/02(金) 03:50:00.05ID:Y3oTV7L1
新人の研修指導に当てちゃダメなタイプの三年生社員だな。
知識はあっても経験不足である意味コミュ障だから。
もし五年過ぎていたらどこに追っぽり出すか課長が頭を抱えてるな。
案外研究職に出すと結果が出るかも知れないが、半々で潰れるな。
0296774ワット発電中さん垢版2017/06/02(金) 06:38:07.36ID:0EWFDkVs
アセンブリ言語やるなら、ハンドアセンブルしなくちゃ。
アセンブラ使うなんて軟弱だわ。

ってね。
0298774ワット発電中さん垢版2017/06/02(金) 06:53:33.71ID:+H/kJf19
>>292
出力側に当てれば影響がない、と言い切れるのがすごい。

標準ロジックICで発振回路を組む場合はともかくとして、発振回路専用に構成されたインバータだと、
ドライブ能力を落としていることがあって、負荷が増えると発振が止まることもあるよ。

図のAに回路を接続してはいけないとしているものもある。

それと、発振が止まらないとしても、Aへの容量の接続が回路に影響がないのだとしたら、
C2の値の立場が無いですね


>それはインピーダンスの高い配線につないだからでしょう。
>ゲートの出力の点に当てれば、カウンターが止まる事はありません。
>あなたが知らないだけです。

入力端子の様子を観測したいこともありますよ。それに、カウンタの例に限らないわけですが、
常にローインピーダンスなポイントだけで観測がでいるわけではありません。


それよりですね。(コメントを付けるならここにつけてね)
あなたはなぜ水晶発振回路の入力側にプローブを当ててはいけないと認識しているのでしょうか。(このことが間違ってると俺は言ってないですよ)
あなたはなぜ「インピーダンスの高い配線につないだから」と考えたのでしょうか。
水晶発振回路の入力側やインピーダンスの高いポイントに、測定器のプローブを当てると、回路が影響を受けると認識しているわけですね。
では、プローブの何が影響しているのだと考えますか?
0299774ワット発電中さん垢版2017/06/02(金) 06:55:23.69ID:+H/kJf19
×常にローインピーダンスなポイントだけで観測がでいるわけではありません。
○常にローインピーダンスなポイントだけで観測ができるわけではありません。
0302774ワット発電中さん垢版2017/06/02(金) 08:12:03.56ID:fL+pmiRx
>>292
ゲートの出力に負荷に容量が付くと、電源ラインのスイッチングノイズが増える。
0303774ワット発電中さん垢版2017/06/02(金) 10:00:43.48ID:0HjWGYi7
>>298
何を焦っているんだ?
0304774ワット発電中さん垢版2017/06/02(金) 12:21:31.21ID:e0rRh7ga
>>298
>では、プローブの何が影響しているのだと考えますか?
たぶん予想ですけど、プローブの入力静電容量じゃないでしょうか。

水晶の負荷容量は水晶両端のC(図の場合合成静電容量)ですので、
オシロのプローブを直接接続すると、
入力側、出力側、どちらでも、オシロのプローブの静電容量で回路が影響を受けてしまいます。
私のミスでした。すみません。

>常にローインピーダンスなポイントだけで観測がでいるわけではありません。
そうですね。そうとは限らないですね。
私のミスです。すみませんでした。
0305774ワット発電中さん垢版2017/06/02(金) 13:43:30.69ID:+7z+/nzH
議論中すいません。また質問に来ました。PIC16F18857ブレッドボード差込中途半端だったものです。
今回はPICで作ろうとしている基板と他の基板との接続を考えていたら混乱してしまい質問させてください。
今まで適当に作ったロジックIC系の基板は既成基板から電源も貰い、センサーなどの信号も貰ってました。
http://i.imgur.com/U5Na1NS.jpg
これの下のBの接続な感じです。

今回初めてPICで基板を作ろうと思っているものは、電源も自前で用意(アダプタ)既製品Aとは独立して完結してるものですが
付加価値として既製品Aのセンサー(オープンドレイン出力と思われる。相手の基板も、この出力を利用)からも信号拾えるといいなと思ったのですが、今までと違い
電源の生成がそれぞれ違うので、どうやって信号やりとりするのだ????と混乱
あんまり信号線やりとりで使いたくない〜と考え
フォトカプラー(持ってますが使った時無し)とか色々考えましたが
どんな感じがよろしいでしょうか?
フォトカプラ?利用
http://i.imgur.com/rXiI09F.jpg
GND合体
http://i.imgur.com/Yn5ETYf.jpg

やる度にいろんな疑問出て来て中々すすみません(p_-)
0306774ワット発電中さん垢版2017/06/02(金) 13:45:16.88ID:VQRUS9mB
良かったな、追放り出されずに済みそうで。
0308774ワット発電中さん垢版2017/06/02(金) 17:05:17.33ID:e0rRh7ga
>>305
「回路分離」は、性能の点で無敵です。
速度が許されるなら、フォトカプを使いましょう。

例を書きました。↓こんな感じです。
http://imgur.com/a/1F9bT

どちらの電源を使用するかは、時と場合で異なります。
0309774ワット発電中さん垢版2017/06/02(金) 17:12:59.49ID:e0rRh7ga
× 「回路分離」は、性能の点で無敵です。
○ 「回路分離」は、ノイズ性能、取り扱いの点で無敵です。
0310774ワット発電中さん垢版2017/06/02(金) 18:08:44.73ID:2bvjOfWC
フォトカプラでも雷サージには負ける事がある。
俺の経験上、最強は光ケーブルだったな。
接続も変換コネクタがTTLレベルなので簡単。
(雷サージをノイズと言って良いかどうか分らないが)
0312774ワット発電中さん垢版2017/06/02(金) 19:12:51.32ID:+7z+/nzH
>>307
すいません
肥やしになってたフォトカプラの出番なのかなぁ〜とか思いつつ、他の方法もあるのでは??と混乱してました。。
家帰って色々パターン調べて見ます。

>>308
やはりフォトカプラ様の出番なんですね!保存させていただきました。ありがとうございます。
今回は初めてのもの系が一杯で
I2C,LCD,CLC,16bitTMR0,HLT版TMR2,FVR又はDAC,コンパレーター又はADC2,RCサーボ、ソレノイド、フォトカプラ、CDS,電源断検知用のリセットICなど初めて尽くしで一個一個動作調べて全然プログラムにすすみません(^_^;
今はEEPROM必要バイトでの総書き込み時間調べてー
電源断の時間稼ぎ用のコンデンサで時間調べてー
CDSの抵抗変化速度など調べてー
混乱してますが頑張ります!
0314774ワット発電中さん垢版2017/06/02(金) 21:43:43.75ID:Ve8j2Cd9
フォトカプラでも発光素子部に電流流れたら受光側がONする
発光素子は電線で繋がっているので経路が長いと誘導雷は受ける

光ファイバーだと信号経路が絶縁物だから誘導雷は受けない
なので対雷に対しては最強

ほんで電源経路から回ってくる雷サージは厄介や
接地工事とかがクソだとそっちから回ってくるから
光ファイバーとかフォトカプラとか意味無くなる
0316774ワット発電中さん垢版2017/06/03(土) 00:40:23.30ID:Hiwlgosq
真空の中で電池で動く機器が最強
外からの電気的ノイズからは完全に遮断される
てことで、人工衛星が最強

ていうかさ、
質問者はノイズとかじゃなく、単に回路を繋げたいだけでしょ?
0320774ワット発電中さん垢版2017/06/03(土) 00:59:32.98ID:/VD9Ieht
ケーブルで伝送する場合は、とりあえずフォトカプラのLEDと並列に1kΩ
程度を入れて感度を落とすよね。
0321774ワット発電中さん垢版2017/06/03(土) 01:14:17.25ID:J7EeJ8m7
>>316
なら、人工衛星の太陽フレアによる影響で大騒ぎしないよ。
0322774ワット発電中さん垢版2017/06/03(土) 01:32:15.61ID:cBjAVQJk
光ファイバーに雷の光入ってきて誤作動するとか言ってる奴だよ
察してやれヨ
0323774ワット発電中さん垢版2017/06/03(土) 01:45:17.97ID:J7EeJ8m7
いやそれは、送信側が雷で燃えるとその光が受信側で観測出来て、後作動するとかいう事だと思ってあげてやれよ。
0326774ワット発電中さん垢版2017/06/03(土) 09:34:39.81ID:n7yutZD0
>>325
電線が存在するところに電磁波が届けば、
電線がアンテナになって電気的ノイズが
発生する。まずここまで理解できてるか?
0327774ワット発電中さん垢版2017/06/03(土) 10:16:49.94ID:Hiwlgosq
別のエネルギーに一旦変換されるノイズも含むなら、光ファイバー経由だっね同じ
0328774ワット発電中さん垢版2017/06/03(土) 11:04:18.50ID:n7yutZD0
光ファイバーは、外側から電磁波あてても光当てても
ファイバー内部の光には影響が無いところが全然違う。
0334774ワット発電中さん垢版2017/06/03(土) 15:05:46.81ID:n7yutZD0
>>333
光ファイバー:送信元のノイズも含めた信号がそのまま伝達先に伝わる。
電線:送信元のノイズも含めた信号に伝達中にさらにノイズが加わって伝達先に伝わる。
この違いわかります?
伝達中にさらにノイズが加わるか加わらないかの違いが大きいのですよ。
0335774ワット発電中さん垢版2017/06/03(土) 15:38:31.97ID:ka0eO+yJ
>>333
電気→光信号変換器に入力した電気信号のノイズが閾値を超えていたら伝送するだろ?
伝送しなければ欠陥品で使用できない。
何か根本的に勘違いしてないか?
0339774ワット発電中さん垢版2017/06/03(土) 22:20:10.22ID:i3Y5/h55
>>333, >>335
光ファイバーにアナログ信号を通すかな?
電気→光の変換時に、デジタル的に有意なノイズが載ってしまうこと自体、論外だと思うのだけど。
0340774ワット発電中さん垢版2017/06/03(土) 22:32:18.39ID:+poziXtv
>>339
>光ファイバーにアナログ信号を通すかな?

お前は何を言っているんだ?
0341774ワット発電中さん垢版2017/06/03(土) 22:35:49.97ID:yvEQNOhW
デジタルもアナログだよ。
0342774ワット発電中さん垢版2017/06/03(土) 22:53:32.03ID:i3Y5/h55
>>340
これ、元々は雷サージ関連で、フォトカプラよりファイバーを通す方が強い、という話の流れじゃなかったっけ。
アナログ値をそのまま光ファイバーで伝送するなんて今ではやっていないと思うんだが。

と思ったが、アナログ値をPWMで送る場合は、けっこうアナログかもね。

>>341
>デジタルもアナログだよ。
それは間違いのない意味のない言葉。

よく似たものに「どんなものでも食べ過ぎれば害」があるよ。

有意かどうかの判断ができてこそ意味があるんじゃないかな。
0343774ワット発電中さん垢版2017/06/03(土) 23:04:00.81ID:Hiwlgosq
>>342
光ファイバーに光のノイズが乗れば、それを電気にかえる受光部が出力する電気信号にもノイズが乗る

アナログ値とかデジタル値とか全く関係なく
0344774ワット発電中さん垢版2017/06/03(土) 23:16:35.69ID:i3Y5/h55
>>343
えーっと。俺がコメントした>>333>>335は送信側の話じゃないのですか。

それと、いっしょくたになってるとまずいのですが、
元デジタルデータ、電気-光変換器 の ふたつにおいて、
「元データ」にないデータが「電気-光変換器」で混ぜられたらまずいですよね、と確認させていただいた次第です。

この場合、元デジタルデータに存在しているものは、信号的にはノイズではないとみなします。
ガリガリ ザーザー も、そのまま再現するのが機器の務めですから。
0345774ワット発電中さん垢版2017/06/03(土) 23:22:24.68ID:Hiwlgosq
送信側機器の発光部の電気信号にノイズが乗る
その電気信号を光に変換するので光にノイズが乗る

受信側機器の受光部の光にノイズが乗っている
それを変換した受光部の電気出力にノイズが乗る

だから、光ファイバーを使ったとしても、機器間のノイズの分離は完全ではない
0346774ワット発電中さん垢版2017/06/04(日) 00:01:55.43ID:UCdhYWPY
>>345
そこまでは分かった。というかそこまでを否定している人は誰もいないと思う。

真空の中で電池で動く機器が外からの電気的ノイズからは完全に遮断される
という点について、電線がある限り送信側機器に乗ったノイズ以外のノイズが
電磁波経由で加わるだろう?という議論をしていたのだが、その点は?
0350774ワット発電中さん垢版2017/06/04(日) 07:07:52.93ID:ZrdOYAYO
趣味の電子工作で
「ちぃとばっかし回路の電源を分けたい」
ならフォトカプラで十分だと思うぜ。
フォトカプラは手軽だから俺もよく使うよ、ダーリントン接続タイプとか
TTLレベル高速タイプとか交流用とか何種類か持っている。
使うときは
+ノイズが多かったら回路を工夫し、
 配線をシールド付きツイストペアにするなど
+雷が落ちて壊れたらすみやかに交換するw
0351774ワット発電中さん垢版2017/06/04(日) 08:46:15.59ID:nzIJBAf1
趣味の電子工作で、雷が落ちたときの対策とか速やかに交換とか、そこまで考えるか?
それ以前にやらなくてはいけないことが大量にあって手が回らんよ
0352774ワット発電中さん垢版2017/06/04(日) 09:36:24.91ID:4m/kElwf
>>351
そうですね。

光ファイバの話も、フォトカプラも完ぺきとはいえない、が発端です。
デジタルもアナログだ、と同じ臭い。

「より極論」に走ればネタとしては面白いですが。
0353774ワット発電中さん垢版2017/06/04(日) 15:09:17.61ID:ZrdOYAYO
>趣味の電子工作で、雷が落ちたときの対策とか速やかに交換とか、そこまで考えるか?
考えるわけねぇだろ、のりツッコミだよ、つまんね奴だな。
0356774ワット発電中さん垢版2017/06/04(日) 17:35:06.17ID:Yhl1hgkB
PICの話題してもCだASMだ、でいがみ合い。
0357774ワット発電中さん垢版2017/06/04(日) 17:54:22.13ID:nzIJBAf1
アセンブラで書けば、雷だろうとグランドレベルの差だろうと問題はない
Cしかできないやつはそういうところで苦労しなさい
0358774ワット発電中さん垢版2017/06/04(日) 17:58:29.23ID:ULcBNZ4j
そういえば最近℃玄人見ないね
フルボッコになったから来ないかな
0361774ワット発電中さん垢版2017/06/04(日) 20:11:06.82ID:Yhl1hgkB
よせばいいのに出張サービス始めるからスレの無駄
0365774ワット発電中さん垢版2017/06/05(月) 17:33:55.69ID:BERf4K6I
>>359  の言うようにPICだけでなくAVRもCとアセンブラで分ければいい。
醜いののしり合いレスがだいぶ減ると思う。
0366774ワット発電中さん垢版2017/06/05(月) 20:05:51.57ID:1D5/pcLZ
分けなくて良いよ
ソフトだけのスレでもないし

アセンブラマンセーは℃玄人だけでしょ?
相手にしなきゃいい
0367774ワット発電中さん垢版2017/06/05(月) 20:08:13.08ID:1D5/pcLZ
アセンブラの欠点を理解して、それでもなお利点が勝る場合のみ使うべきであって、℃玄人みたいに何でもかんでもアセンブラは趣味だから許されること
業務じゃ許されない
0369774ワット発電中さん垢版2017/06/05(月) 20:13:08.48ID:1D5/pcLZ
そうだね
高級言語の中では最低レベル
でも組み込み系ではまだまだ現役
0372774ワット発電中さん垢版2017/06/05(月) 23:12:40.64ID:N3+d7M85
PICくらいならアセンブラで書いても可能だけど
開発効率が悪い、作った人によって極端に質が落ちる
(C言語なら最適化である程度速度の低下が抑えられる)
機能追加するときにバグを生みやすい、開発本人でナイト
内容を把握しにくい。
使うなら高速化したい部分にだけつかったほうが楽だと思うよ
0373774ワット発電中さん垢版2017/06/06(火) 00:29:26.78ID:/Mp8AumC
>>372
そうそう、それが普通の人の理解なんだけど、℃玄人さんはそうは考えない

あくまで

・開発効率が悪いのはCしかできない℃素人だから
・作った人によって極端に質が落ちるのはCしかできない℃素人だから
・機能追加するときにバグを生みやすいのはCしかできない℃素人だから
・開発本人でないと内容を把握しにくいのはCしかできない℃素人だから

という捉え方をする

そう、℃玄人ならね
0374774ワット発電中さん垢版2017/06/06(火) 00:30:11.74ID:/Mp8AumC
そして、みんなが

「悔しそうだなw」待ちテンパイ

するまでが一連の流れ
0379774ワット発電中さん垢版2017/06/06(火) 07:28:10.20ID:jzUImkgV
アマチュアはフルアセンブラの方がCPUで遊べると思う。
プログラムサイズ、プログラム実行速度を追及できるし、
何より、CPUに密着しているという一体感が味わえる。
それにフルアセンブラしか出来ないこともあるし。
(たとえばAVRでいえば、レジスタをリングバッファとして使うとか
スタックを切り替えて並列処理するとか)

ア、私は、℃玄人ではありませんよ、念のために。
マ、基本的に「アマは好き勝手にやればいい」と思っているのですが・・・。
0381377垢版2017/06/06(火) 08:03:45.45ID:ulbncWIo
>>380
(ノ∀`) アチャー
0382774ワット発電中さん垢版2017/06/06(火) 08:07:15.31ID:q9z+pMAr
どの議論も罵り合いと たとえ議論と揚げ足の取り合いにしか展開しないからな
0383774ワット発電中さん垢版2017/06/06(火) 08:15:24.77ID:JT2KTw4K
>>379
アマチュアの楽しみ方なんて人それぞれだって

アセンブラが好きな人、C言語でスクラッチで組むのが好きな人、ライブラリなどの既存コードを利用して大きな機能を実現するのが好きな人、

有り物ボードを使う人、ソルダレスで自分で組む人、ユニバーサル基板を使う人、自分でエッチングする人、基板業者に発注する人

非力マイコンの限界に挑戦する人、リッチなマイコンを贅沢に使う人、
....
0384774ワット発電中さん垢版2017/06/06(火) 08:18:03.98ID:6AagniZf
>プログラムサイズ、プログラム実行速度を追及できるし、
と思っていたらコンパイラに負けたりしてね。

アマチュアなら、ハンドアセンブルで遊んだ方が良い。アセンブラを使う
なんて軟弱だ!とかじゃねぇの?
0385774ワット発電中さん垢版2017/06/06(火) 08:20:14.23ID:JT2KTw4K
ハンドアセンブル?
℃玄人でもやってなさそう
良くあるやつは覚えちゃったりもしたけど

x86 の CC とか CD 21 とかは今でも覚えてたり
0386774ワット発電中さん垢版2017/06/06(火) 08:25:18.79ID:JT2KTw4K
RAM上で実行するコードとかで、部分的に書き換えながら走るコードとか有ったよね
そういうのはマシン言の表現を知らないと出来ないね

コードの即値部分を書き換えちゃうとか、INCとDECを書き換えちゃうとか

今はそんな時代じゃないね
0387774ワット発電中さん垢版2017/06/06(火) 08:25:59.06ID:6AagniZf
℃玄人ならそこまで言わないとなって思ったんだけどね。
ついでに16進ダンプ見ればそのまま逆アセンブルできるのは当たり前で、
1バイトずらして呼び出すと別の機能を持ったサブルーチンになってるなんて
アセンブラしか使えない奴には書けないだろとか言うようでないと、
℃玄人とは名乗れないだろってさ。

そういえば、未定義命令を使うなんていうのもあったっけね。
0388774ワット発電中さん垢版2017/06/06(火) 08:30:35.47ID:JT2KTw4K
未定義命令?
非公開でアセンブラでは生成出来ない命令ってこと?
0389774ワット発電中さん垢版2017/06/06(火) 08:43:29.12ID:6AagniZf
そういうこと
有名どころではZ80のIXとかIY系で
http://tomocyan.net/~kagurazaka/html/op_code_01.html
のあたりなんて有名か。

6502なんかには沢山あったんで、未定義命令だけを使ったプログラミングの
コンテストなんてやられたりしてね。

キャラクタコードでプログラムを書いて実行させるとかいうのもあったな。画面上に
キーボードで文字打ち込んで、それを実行させる。
こういうのもアセンブラしか使えない奴には出来ないだろ!とか言うんじゃないの?

℃玄人を名乗るくらいなら。
0390774ワット発電中さん垢版2017/06/06(火) 10:33:01.76ID:ImjlPX6s
ド素人ですが、HI-TECH C PROの2010年以降の比較的最近のバージョンは、
コンフィグレーションの記述さえ変えればXC8コンパイラに乗りますか?
それからキッチンタイマーなどで割り込みをつかっていることがネット上の作例では
ほとんどのようですが、asm "nop" とか__delay_ms( )とかをネスティングで
何重にもくるんで時間を作るのとではやはりちがうのでしょうか。
0391774ワット発電中さん垢版2017/06/06(火) 11:42:34.65ID:rfkc5lEV
特殊なプログラムのくみかたしていなければ、そのままいけます。
タイマー使ったほうが誤差が蓄積されることはないですが
delayつかってもミリセコンド単位の誤差なのでそれほど正確さを
求めないならそれでも十分です。
0392774ワット発電中さん垢版2017/06/06(火) 12:09:30.95ID:AmLM00qS
ADDWF PCL,F
なんつうのはアセンブラ使ってるなあ
という感じがしていいんだが、
TCP/IP のプロトコルスタックをアセンブラ
で組もうと思ってもまずめげるな。
0393774ワット発電中さん垢版2017/06/06(火) 12:19:29.57ID:wfWgnHkm
BRW の方が、より融通が利くんだが
バグ付きじゃなぁ〜
何時になったら対処するんだ?、 それとももう治ってる?
0394774ワット発電中さん垢版2017/06/06(火) 12:21:44.52ID:q9z+pMAr
ただ全力で待ってればいいならdelayループ、
何か他のことをさせたいとか予定があるなら今のうちにタイマーをうごかしておくのも手でしょう。
0395390垢版2017/06/06(火) 14:27:10.32ID:ImjlPX6s
>>391 >>394
なるほど。ありがとうございました。用途は、ただのベッドサイドライトです。
全身全霊で待つのみで他の用事は言いつけません。かつ正確でなくても全然かまいませんので
ループによる時間稼ぎでとりあえずやってみます。
0396774ワット発電中垢版2017/06/08(木) 22:26:38.44ID:RETcfSNL
今部屋に転がっていたpic18f2221を使ってるところなのですが、
PICプログラミング3年ぶりですっかり忘れていてLピカすらできない事態に陥ってます。
下のようなコードじゃダメ!って言われましたMPLAB X IDE v3.61 コンパイラは、
XC8 v1.42です。
(あとできればI2Cの設定のしかたを教えてください…家にキャラクターI2Cのものしかないんで)

http://imgur.com/a/V1Qo2?
0397774ワット発電中さん垢版2017/06/09(金) 19:53:36.76ID:iMufDDTe
3年ぶりのあなたにはMCCを使うことをお勧めします
I2Cの設定もデーターシートを見ることもなく簡単にできます
MCCの吐くコードは
TRISA=TRISB=TRISC=0;
なんて書いてるあなたには勉強になると思います
0399774ワット発電中さん垢版2017/06/10(土) 02:08:17.97ID:Ic4/qEWl
>>397
MCCってMPLAB Code Configuratorのことですか?
このプラグインはじめてダウンロードしたのですが、
エラーが出て、導入できないです。MPLAB X IDEのバージョンが悪いのか…
それとも、また別の問題なのか…
0400774ワット発電中さん垢版2017/06/10(土) 03:50:40.05ID:qxDFUMXR
MCCばっかりでやってると、頭が馬鹿になりそうで怖いんだが
0401774ワット発電中さん垢版2017/06/10(土) 04:00:34.82ID:au63T2XM
>>397
MCCの吐くコードはコメントも全部英語なんだぜ?
>>399
ちゃんとMPLABXのメニューから操作したのかい?
0402774ワット発電中さん垢版2017/06/10(土) 09:59:25.01ID:Ic4/qEWl
>>401
操作したけどダメだった…バージョンが悪いのかも…やり方が悪いのかな?
0403774ワット発電中さん垢版2017/06/10(土) 10:51:32.83ID:kNDD1jVU
>>400
MCCなりHarmonyのコードばかりで目的が達成される訳でもなし、
馬鹿になっちまうとか無くね?
0404774ワット発電中さん垢版2017/06/10(土) 11:09:29.62ID:Ic4/qEWl
>>402
もういちどMPLAB x IDE v3.61で調べたとおりにやったけどダメだった。
バージョン落とさないといけないのかな?
0406774ワット発電中さん垢版2017/06/10(土) 11:24:45.79ID:Ic4/qEWl
>>405
じゃあやっぱり入れ方がまずいのかなプラグインからインストールするだけでいいはずなのに
なぜエラーがでちゃうんだろう……

pic18f2221に対応してないとか?PCとの相性が悪いとか?
0407774ワット発電中さん垢版2017/06/10(土) 11:40:04.62ID:CZxF0HkE
PIC18F2221はMCCには対応してないみたい

The device used in the selected main project
is not supported by the currently loaded
peripheral libraries. A list of supported
device is provided in the release notes of
the appropriate peripheral library. An archive
of the current and previous versions of
libraries can be found on the MCC websize.
www.microchip.com/mcc
0409774ワット発電中さん垢版2017/06/10(土) 11:49:16.52ID:CZxF0HkE
対応してるのに乗り換えちゃえば?
28pinだとPIC16F18857かPIC32MM0064GPL028あたりに
0410774ワット発電中さん垢版2017/06/10(土) 11:52:36.85ID:Ic4/qEWl
>>407
じゃあ>>396からやり直しってことか…
振出しに戻らなくてはいけなくなったか…
せめてMCCのpic18fの拡張プラグイン的なものがあればなぁ…(´・ω・`)
0411774ワット発電中さん垢版2017/06/10(土) 12:12:44.72ID:eEXrQEYu
サンプルコードでも作ってあげようと思ったけどPIC18F2221持ってなかった
0412774ワット発電中さん垢版2017/06/10(土) 13:12:32.30ID:Ic4/qEWl
>>411
わざわざすみません…
0413774ワット発電中さん垢版2017/06/10(土) 14:16:44.08ID:Ic4/qEWl
>>409
乗り換えるのもありだけど乗り換えると部屋にあるPIC達が永遠の眠りについてしまう…
0414774ワット発電中さん垢版2017/06/10(土) 15:07:04.92ID:8bQERPnT
レールで18F2550を大量買いした後に18F2553が発売されて結局2553もレール買いしたから
18F2550がレール単位で死蔵されてるわ
たぶん引越しとか何かのタイミングで捨てる事になると思う
0415774ワット発電中さん垢版2017/06/10(土) 15:41:05.06ID:Ic4/qEWl
>>414
マジか……できれば避けたい…
0416774ワット発電中さん垢版2017/06/10(土) 15:54:08.12ID:Ic4/qEWl
結局>>396のコードじゃダメなのか…どう改善すればいいんだ?

毎回PORTA=0b00000100;みたいに書かなくちゃいけないのかな?

3年前は#defineで定義した奴を使うような感じにしてた気がするんだけど、
PC新調してしまってデーターは移行したけど、
肝心な入出力部分のコードが残ってないんだ…
0418774ワット発電中さん垢版2017/06/10(土) 16:20:45.91ID:5TWTUhRf
エラーが出たとかダメだったとか書いても
そのエラーメッセージを1つも書いてないから返答のしようが無い
ソースを画像で貼るとかも馬鹿げてる
物を尋ねるにも的確な情報出しってものがある
0419774ワット発電中さん垢版2017/06/10(土) 16:24:03.69ID:Ic4/qEWl
<<418
直接貼ると書体が崩れてすごく読みづらくなるんです……
なので、敢えて画像で貼りました
0420774ワット発電中さん垢版2017/06/10(土) 16:24:57.80ID:1gAe+Hzg
ADC10か12ビットかの違いしかないのに…
0421774ワット発電中さん垢版2017/06/10(土) 17:04:33.54ID:Ic4/qEWl
>>418
//********************************************************************
//  本体情報U 初期設定
//********************************************************************
/*関数宣言*/
void inportpicset();

/*入出力系統 置換名*/
// 名前 ポートとか         正式名
#define BLight RA3 //バックライトスイッチ出力端子
#define LED1 RC0 //LED
#define BZ RC7 //ブザー
#define SW2 RB2 //ブザーストップ用
#define SW1 RB3 //BL点灯スイッチ
#define St RB4 //Temp sensor 温湿度センサ
#define Hi 1
#define Low 0
// 名前 ポートとか         正式名

void inportpicset()
{
//初期化
PORTA=PORTB=PORTC=0;

//クロック周波数
OSCCON = 0; //内部クロックを31KHzに設定
#define _XTAL_FREO 32000000

//1:デジタルモード設定 ANSEL
CMCON = 0x07;
//2:入出力モード設定 input=1 Output = 0
TRISA = 0x00;//0000 0000
TRISB = 0x38;//0011 1000:多分こっちもオープンドレイン回路の必要あり28p=in
TRISC = 0x18;//0001 1000:I2CモードではRC3,RC4はオープンドレイン回路にする必要ありよって入力

}

//main関数
void main (void)
{
if(PORTCbits.SW1 == Hi)
{
LED1 == Hi;
}
}

※コンフィグは除いてます(投稿できなくなるため)
0423774ワット発電中さん垢版2017/06/10(土) 17:07:23.99ID:Ic4/qEWl
>>418
---------------Output部分(エラー部)---------------
newmain1.c:95: error: (255) not a member of the struct/union ""
newmain1.c:95: error: (207) simple type required for "=="
NOT volatile union S15
newmain1.c:97: warning: (1385) variable "RC0" is deprecated (declared at newmain1.c:97)
(908) exit status = 1
nbproject/Makefile-default.mk:106: recipe for target 'build/default/production/newmain1.p1' failed
make[2]: Leaving directory 'C:/Users/koter/MPLABXProjects/Temp.X'
nbproject/Makefile-default.mk:90: recipe for target '.build-conf' failed
make[1]: Leaving directory 'C:/Users/koter/MPLABXProjects/Temp.X'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make[2]: *** [build/default/production/newmain1.p1] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 5s)
0424774ワット発電中さん垢版2017/06/10(土) 17:09:57.51ID:Ic4/qEWl
>>422
main関数に入れるの忘れてたってことで良いのかな?
入れてビルドし直してみる
0425774ワット発電中さん垢版2017/06/10(土) 17:10:26.24ID:CZxF0HkE
#include <xc.h>
これは入れてある?

> LED1 == Hi;
これは、
LED1 = Hi;
の間違いじゃなくて?
0427774ワット発電中さん垢版2017/06/10(土) 17:13:18.65ID:Ic4/qEWl
>>425
xc.hは入ってます。
==…初歩的なミスをしてしまった…
訂正してビルドしなおします
0428774ワット発電中さん垢版2017/06/10(土) 17:15:39.96ID:o2QqQ1UD
TRISB = 0x38;//0011 1000:多分こっちもオープンドレイン回路の必要あり28p=in
TRISC = 0x18;//0001 1000:I2CモードではRC3,RC4はオープンドレイン回路にする必要ありよって入力

コメントの//
0429774ワット発電中さん垢版2017/06/10(土) 17:15:46.23ID:Ic4/qEWl
ああ…直したけどエラー構文変わらない…
0432774ワット発電中さん垢版2017/06/10(土) 17:20:52.95ID:Ic4/qEWl
もしかしてコンパイラのせいでコードの書き方が違うとかある?
ANSEL使えなかったし……
(18fを触るのほほ初めて+MPLAB X IDEも初めてで泥沼化してる)
0433774ワット発電中さん垢版2017/06/10(土) 17:23:05.78ID:o2QqQ1UD
not a member of the struct/union
って出てるし、struct/union使ってるの1行しか無いし
0434774ワット発電中さん垢版2017/06/10(土) 17:23:41.28ID:Ic4/qEWl
>>431
とにかくWhile(1);をぶち込めばいいのかな?
0435774ワット発電中さん垢版2017/06/10(土) 17:24:25.01ID:Ic4/qEWl
w大文字になってる
0436774ワット発電中さん垢版2017/06/10(土) 17:36:28.96ID:Ic4/qEWl
>>433
構造体使ってた?

????????
0439774ワット発電中さん垢版2017/06/10(土) 17:51:44.27ID:Ic4/qEWl
>>438
これはメンバーに入ってないっていうことだから消せばいいのかな?
それとも定義してあげるべきなのかな?
0440774ワット発電中さん垢版2017/06/10(土) 17:53:27.79ID:o2QqQ1UD
>>439
俺は普段構造体とか共用体でアクセスしないから判らん
構造体や共用体はコンパイラ定義で異なってるのでは?
0441774ワット発電中さん垢版2017/06/10(土) 18:08:42.58ID:Ic4/qEWl
>>440
要するに使えないかもしれないのね…
0442774ワット発電中さん垢版2017/06/10(土) 18:45:34.98ID:Ic4/qEWl
少しづつ思い出してきた…
0443774ワット発電中さん垢版2017/06/10(土) 19:02:56.52ID:Ic4/qEWl
>>440
やりました!ビルドできました!
誤)
#define BLight RA3 //バックライトスイッチ出力端子
#define LED1 RC0 //LED
#define BZ RC7 //ブザー
#define SW2 RB2 //ブザーストップ用
#define SW1 RB3 //BL点灯スイッチ
#define St RB4 //Temp sensor 温湿度センサ

正)
#define BLight PORTAbits.RA3 //バックライトスイッチ出力端子
#define LED1 PORTCbits.RC0 //LED
#define BZ PORTCbits.RC7 //ブザー
#define SW2 PORTBbits.RB2 //ブザーストップ用
#define SW1 PORTBbits.RB3 //BL点灯スイッチ
#define St PORTBbits.RB4 //Temp sensor 温湿度センサ
#define Hi 1
#define Low 0
// 名前 ポートとか         正式名

どうやら#defineを使うときはPORTxbits.xxxのように表記する必要があったようです
>>441さんのおかげで思い出せました!ありがとうございました!

あとはI2CとLCDの設定方法さえ分かれば組めそう…
0444774ワット発電中さん垢版2017/06/10(土) 19:04:47.25ID:Ic4/qEWl
>>443
>>441じゃなくて>>440です…すみません
0446774ワット発電中さん垢版2017/06/10(土) 21:30:29.56ID:Ic4/qEWl
>>409
次はMCCに対応しているPICも購入しようと思うのですが、対応PICリストみたいなものはありますか?
0447774ワット発電中さん垢版2017/06/10(土) 21:38:01.46ID:5TWTUhRf
>>ID:Ic4/qEWl
ほら、あっという間に解決w
飯食いに行ってた俺、出る幕無し。
0450774ワット発電中さん垢版2017/06/10(土) 22:09:45.82ID:Ic4/qEWl
>>449
助かりました!ありがとうございます。
0451774ワット発電中さん垢版2017/06/10(土) 22:21:18.83ID:CZxF0HkE
以下はすべてMCC対応

----
お薦めのPIC
迷ったらこれを買え
(秋月に売ってるPIC DIP限定)

●USBなし
PIC10F200 マゾ専用 最低スペック 50円
PIC10F322 最安 45円
PIC16F18313 8pin 75円
PIC16F18326 14pin 130円
PIC16F18346 20pin 160円
PIC32MM0064GPL028 28pin 3.3V 175円

●USBあり
PIC16F1455 14pin 140円
PIC16F1459 20pin 180円
PIC32MX230F064B 28pin OTG 3.3V 270円
PIC32MX270F256B-50 28pin OTG 3.3V 380円
0453774ワット発電中さん垢版2017/06/10(土) 22:47:53.99ID:Ic4/qEWl
>>452
おk。了解した
0457774ワット発電中さん垢版2017/06/13(火) 14:51:48.82ID:KosrPzFC
PICでUSBを初めて使おうと思っておりますが、質問させてください。

ICSPの制御線とUSBのD+D-が同じピンになっている場合、
ICDやPICKITでのデバッグ(デバッガでの実行や一時停止など)を行うことはできるのでしょうか?

またターゲットをバスパワーで動かしている場合に書き込みする場合、
ターゲットを一度PCから抜いて別電源につないで書き込まないと、特にPCの同じポートからPICKITなどにつないでいると、
不具合置きそうな気がするのでしょうが大丈夫なのでしょうか?

>>451氏の書かれておられる16F1455などだと、ICSPのポートがUSBのデータ線と重なるものと異なるものの複数ポート
持っているようですが、これはCONFIGなどでうまいこと切り替ええて上記の問題をパスできるのでしょうか?

複数質問ですみませんがよろしくお願いします
0458774ワット発電中さん垢版2017/06/13(火) 17:37:47.69ID:Km47TuX0
>>457

>ICSPの制御線とUSBのD+D-が同じピンになっている場合、

100%使い切る系の方々は異論あるかと思うが、ICSCLKとDATは専用ピンとして割当を考える。

>不具合置きそうな気がするのでしょうが大丈夫なのでしょうか
同じhubにpickitとターゲット繋いでデバッグしてる。問題ない
0459774ワット発電中さん垢版2017/06/13(火) 19:36:36.17ID:KosrPzFC
>>458
ありがとうございます。舌足らず&間違ってたらすみません。

>100%使い切る系の方々は異論あるかと思うが、ICSCLKとDATは専用ピンとして割当を考える。
例えば、18F14K50のICSP関係ととUSB関係は割り当てできないと思うのですがどうすればいいのでしょうか?
秋月のキットなど使う場合だと割り当て以前にピンが決めうちになっていると思うのですが、
デバッガとして動作するのか?非動作であれば、設定かなにかで回避できるのかということです
0460774ワット発電中さん垢版2017/06/13(火) 21:49:49.28ID:r9c+wHUP
>>457
後半部分だけ
16F145xの2系統のICSPピンはLVP用と通常用なので切り替えて使うような事は出来ない
ただD+/D-と異なるピンの側が通常用なのであまり気にしなくて良い
0461774ワット発電中さん垢版2017/06/13(火) 22:03:19.66ID:KosrPzFC
>>460
ありがとうございます。データシートの注釈でそういうことかなぁと思ってましたが、
今までそういうPIC使ったことないのでデータベースを嘗めてるところです。
助かりました。
0463774ワット発電中さん垢版2017/06/15(木) 22:12:01.91ID:tr4Z0hOp
てか、著者、後閑やん
生きてたんか・・・

新号出た直後のバックナンバー取り寄せは時間が掛かるので面倒
0468774ワット発電中さん垢版2017/06/17(土) 11:09:42.25ID:lsahNveD
期待するだろう、普通。
0470774ワット発電中さん垢版2017/06/17(土) 11:50:13.41ID:Xd/y5u4t
情報を他から仕入れられる、というのは、ある程度の下地がある人でして、
とっかかりの確保だったり、初学の段階だと記事や書籍の方が学習しやすい面もあります。

ただの暇潰しと断じるのは行き過ぎです。
0472774ワット発電中さん垢版2017/06/17(土) 12:29:56.70ID:xCoR6/Di
俺も読んでみたけどあれはアレで16F145xを知らない人向けの特集としては
良かったと思うけどね。>466 みたいな子に限って「じゃあお前はアレ以上の
物を書けるの?」って聞いたらあれこれ言い訳するけど結局書けない子なんだよなぁ

>470 氏の言うように自分でネットで情報収集できる人は最初からそうすればいい訳で。
詳細なデータシートだって無償で公開されてるしサンプルが豊富なMALもフリーで
ダウンロードできるんだし
あの記事はその最初の取っ掛かり自体が難しい、困難だって人向けに書いたものです
0474774ワット発電中さん垢版2017/06/17(土) 12:50:56.66ID:xCoR6/Di
すみません「書いたものです」じゃなくて「書かれたものでしょう」の間違いです
私は後閑とは一切関係ありません
0477774ワット発電中さん垢版2017/06/17(土) 16:45:11.37ID:FhSoiyWX
お下劣無法の2chでそんな事を言い出したらキリが無ぇですぜ。
ここは一つ「清濁併せ呑む」精神で大目に見てやっておくんなせぇ、ダンナ。
0478774ワット発電中さん垢版2017/06/18(日) 07:04:48.12ID:xNCfu1Fw
相手と自分の実力差を誇示するときに「子」を使うんだろうけど、
確かにあまり良い感じはしないな。
0481774ワット発電中さん垢版2017/06/18(日) 14:31:13.66ID:tbxfwVI/
今度入ったうちの若い子はすげー優秀だ。
って言う言いかたもあるから見下してるとも言えないだろ。
受け取り側の心の持ちかた次第
0484774ワット発電中さん垢版2017/06/18(日) 15:14:40.43ID:OJqXf1lS
>>482
>上司、親、スポンサー、客に対して「子」は無いよな

何が言いたいのかまったく分からないんだが
0485774ワット発電中さん垢版2017/06/18(日) 16:21:31.04ID:sSEVGgox
>>476
>>478
>>482はまとめて「ゆとり」以下

日本人なのか?てレベル
0486774ワット発電中さん垢版2017/06/18(日) 16:31:55.15ID:iWebSL2c
>何が言いたいのかまったく分からないんだが

上司に向かって、「あなたのような子は」とは言わないよね。

って書いてあるわけですが、それがまったく分かりませんか?
それとも、なぜそういうことが書かれたかがまったく分かりませんか?
0487774ワット発電中さん垢版2017/06/18(日) 18:15:29.05ID:sSEVGgox
上司、親、スポンサー、客
に対して「子」は無い


この文言だけなら真である

だがそれが何か?
話と無関係な「真」を語っても、話に参加できてない

1+1=2だよな
と語ってるのと同じ

だからなにそれ?ってなる
それがわからんというならマジアスペだな
0488774ワット発電中さん垢版2017/06/18(日) 18:22:14.77ID:sSEVGgox
話に参加したいなら
逆説を考えろ

上司、親、スポンサー、客
以外に対して使う「子」
この時100%見下してることに成るか否か?

わかるだろう?
如何に
「上司、親、スポンサー、客
に対して「子」は無い」これが間抜けなレスだということが
0490774ワット発電中さん垢版2017/06/18(日) 18:37:29.12ID:N3lanmeD
あのーPICの話してもらえませんか
0491774ワット発電中さん垢版2017/06/18(日) 18:42:39.06ID:NXcdvZ9u
『上司、親、スポンサー、客に対して「子」は無いよな』

なぜ無いか?
失礼にあたる発言になるからだよ
なぜ失礼かを考えると、当然自分より下に見てる、バカにしてる、というような考えが出て来て当然

「子」じゃないから?
>>466 も恐らく「子」じゃないよな?

1+1=2みたいな無関連な主張とはまったく違う
0492774ワット発電中さん垢版2017/06/18(日) 18:44:49.71ID:NXcdvZ9u
1+1=2

厳密に言えば、これだって成り立たない数学っていうのがあるんだよ

100%とか、しょうがないねこの子は
0493774ワット発電中さん垢版2017/06/18(日) 18:46:32.25ID:sSEVGgox
やはりアスペか・・・

「子」を使っても100%見下してることにはならない、というレスに対して

『上司、親、スポンサー、客に対して「子」は無いよな』
というレスは反論になってないってことがわかってない
0495774ワット発電中さん垢版2017/06/18(日) 21:05:10.73ID:UYJFbnxw
100%抜かしても同じこと

「子」を使っても見下してることにはならない、というレスに対して

『上司、親、スポンサー、客に対して「子」は無いよな』
というレスは反論になってないってことがわかってない
0496774ワット発電中さん垢版2017/06/18(日) 21:38:06.28ID:NXcdvZ9u
この子はまったく、一人で熱くならないで頭冷やせばよ
反論とか、別にディベートしてるわけでも論争してるわけでもないし、ただの雑談だ
リアルでもこの子はこんな感じなのか?

子供はそろそろ寝る時間だろおやすみ
0497774ワット発電中さん垢版2017/06/18(日) 22:24:32.25ID:2KDW3eh2
>>472の話でしょ。
上下関係の不明な相手に対する「子」呼ばわりが日本語の使い方としてどうか。
ということも1つあるんだが、それよりももっとかわいそうに思うのは、
そうやって気負わなきゃ自分の主張の裏打ちが出来ないレス内容の希薄さと
それゆえに垣間見える自信の無さそうな文章。
0498774ワット発電中さん垢版2017/06/19(月) 12:19:21.01ID:5o2qn0lk
>>466
>俺も読んでみたけどあれはアレで16F145xを知らない人向けの特集としては
>良かったと思うけどね。>466 みたいな子に限って「じゃあお前はアレ以上の
>物を書けるの?」って聞いたらあれこれ言い訳するけど結局書けない子なんだよなぁ
→年齢関係が不明なのに、自分の主張を正当化するための手段として、
 「子」を使用してことさらに相手を矮小化しようとしている。

>>481
>今度入ったうちの若い子はすげー優秀だ。
→「年下」の新入社員、という程度の意味の「子」か。
 親しみをこめており、悪意は無い。

私も「もっと説得力を」という 497 の意見に賛成。
ただの雑談だとしても、人の気持ちを傷つけないような配慮は必要だと思われる。
0500500垢版2017/06/19(月) 13:08:29.18ID:JdNACArt
500
0502774ワット発電中さん垢版2017/06/19(月) 20:59:18.43ID:r96l4V6n
この話題まだ続いてんのか

よっぽど「子」扱いが悔しかったんかね?
0504774ワット発電中さん垢版2017/06/20(火) 00:05:43.15ID:GRtI2pdM
燃料補給
0505774ワット発電中さん垢版2017/06/22(木) 08:17:23.45ID:jJZkljac
>>462
> >>456
> うほっ! と思ったが10日に7月号発売されてた バックナンバー面倒

すげえ亀レスなんだけど、>>456に紹介されている記事は7月号ですよね…
0507774ワット発電中さん垢版2017/06/22(木) 22:40:41.94ID:jJZkljac
>>506
なんで、>>462は 「バックナンバー面倒」だなんて思ったのだろね。
>>456のリンク先記事を読めば7月号だってわかったのに。

6月13日に「今月のトラ技」と書かれたときに、
「今は6月だから、今月のトラ技とは6月号のことだ」
としか解釈できなかったのかな、とは思いますが。
0510774ワット発電中さん垢版2017/06/22(木) 23:01:31.33ID:jJZkljac
事実の確認より、罵倒することに熱心な人がいますけど、

> >>456に紹介されている記事は7月号ですよね…

これは事実としてはOKですよね?
0511774ワット発電中さん垢版2017/06/23(金) 07:14:32.91ID:vJvpQQYb
>>462 と同じ人が>>463で、
>てか、著者、後閑やん
>生きてたんか・・・
>新号出た直後のバックナンバー取り寄せは時間が掛かるので面倒

って書いてますし、この人はやっぱ>>456のリンク先を見てませんね。
(エアーバリアブルさんと後閑さんは別人だと思います)

これに引っ張られてか6月号の特集記事(これは著者が後閑さん)と混同して
話をしている様子です。

こんなちょっとの勘違いがスタートになってデマも広がるんだろね。


それと、いきなり喧嘩腰で罵倒すると、間違っていることに気づいても
引っ込みがつきにくくなって、ごめんねの一言を言う代わりに、1%でも自分の正しい部分を
主張して議論に勝ちたくなってしまいます。気を付けたい。
0512774ワット発電中さん垢版2017/06/23(金) 07:31:49.00ID:kOfJWpv/
7月号だとわかってるような書き込みにしか見えないだが
なんで6月号だと思ってると思ったんだろうか
0513774ワット発電中さん垢版2017/06/23(金) 07:55:25.70ID:vJvpQQYb
>>512
>7月号だとわかってるような書き込みにしか見えないだが


一応念のために押さえておきますが、>>456に紹介されている記事の話ですよ。

>>462が書かれたのが 2017/06/15 です。この時点で出ているが7月号(というか最新号ですね)です。

>うほっ! と思ったが10日に7月号発売されてた バックナンバー面倒

意訳
(1) 【うほっ! と思ったが】おお、面白そうじゃないか、と思ったのですが、
(2) 【10日に7月号発売されてた】6月10日に7月号が既に発売されています。
(3) 【バックナンバー面倒】(その記事が掲載されている)6月号を取り寄せるのは面倒だなあ。

(3)の「(その記事が掲載されている)6月号」の部分は>>462だけを見ると拡大解釈とも思えるかもしれませんが、
この人は>>463において再び、
「新号出た直後のバックナンバー取り寄せは時間が掛かるので面倒 」と、当該記事を見るために
新刊ではないところの、直前のバックナンバー6月号を取り寄せる必要があると書いています。

その>>463ですが、上にも書きましたが、
>てか、著者、後閑やん
って書いてます。当該記事の著者は、リンク先を見れば後閑さんではないと分かります。
一方で、6月号の特集記事(これもPICネタが満載です)の記事は後閑さんが著者です。
0514774ワット発電中さん垢版2017/06/23(金) 12:47:51.93ID:j2L3faC8
詳しく書くと、長い!と文句を言われる。
省略して書くと、分らない!と文句を言われる。

さぁ、みんな、絶妙のバランスで書くんだぞ、そうでないと罵倒されるからなw
0516774ワット発電中さん垢版2017/06/23(金) 13:38:01.06ID:DD3hrRY4
何言ってんだか分からん。
0517774ワット発電中さん垢版2017/06/23(金) 21:20:02.85ID:vJvpQQYb
>>456に紹介されている記事も7月号だと書かれているのは一番下。
最初の数行しか読めなかったら分からないのかも。
0519774ワット発電中さん垢版2017/06/24(土) 10:07:42.81ID:S+nwTf37
>>514
大変だよね
ほっとけばいいんだよそういう人たちは
とにかく何か言いたいだけなんだから
0520774ワット発電中さん垢版2017/06/27(火) 02:32:43.78ID:/B0a0fLo
教えてください。

MPLAB IDE 8.92 をダウンロードしてインストール。
XC16 をダウンロードしてインストール。
XC8 Ver14.2 をダウンロードしてインストール。

IDEでNewProjectで、
PIC16F877A をセットして、 コンパイラを設定する画面で、XC8が出ず、MPASMしか選択できません。
PIC24F...だとXC16が選択肢に出てきます。
16F877AはXC8で使えなくなったのでしょうか?
宜しくお願いします。
0521774ワット発電中さん垢版2017/06/27(火) 06:52:02.78ID:ltZUlzfC
MPLABがXCを見つけられない、だろう。
以下おすすめ順
1. MPLAB Xをインストール
2. HI-HECH Cを使う
3. 統合環境使わず、makefileを自分で書く。
0522774ワット発電中さん垢版2017/06/27(火) 09:53:14.33ID:z7HimIAl
>>521
ありがとうございます。

>MPLABがXCを見つけられない、だろう。
はい、そんな感じです。
以前は同じようにして、ちゃんとXC8がリストに出て来たのですが。

MPLAB Xをインストールすれば、
MPLAB IDEで、XC8が使えるようになると言うことでしょうか?
0523774ワット発電中さん垢版2017/06/27(火) 10:58:38.09ID:v9s1Wxbu
>>522
MPLAB X IDEで開発すればいいでしょう。いまさらlegacyのX IDE V8.Xにこだわる理由が知りたい。
0524774ワット発電中さん垢版2017/06/27(火) 12:45:37.55ID:L+1YgLRD
MPLAB X IDEは鈍臭い
0526774ワット発電中さん垢版2017/06/27(火) 14:13:20.07ID:/B0a0fLo
>>523
ありがとうございます。
MPLAB X は、僕のPCには負荷が重すぎて、サクサク動かなかったのと、
自分がまだまだ未熟で、MPLAB X のGUIに慣れることができないからです。
また、MPLAB IDE 8.92で作ったソースが、とてもたくさんあり、Xに変換(?)が大変だと予想しています。

以前まで使えていたのに、今回インストールし直したら、なぜXC8が使えなくなってしまったのでしょうか。
MicroChipがわざとやったのでしょうか? だとしたら「ヒドイわ!」
0527774ワット発電中さん垢版2017/06/27(火) 15:04:31.27ID:WZb8AhYF
>>526
サポート切れなのにいつまでも古いWindowsXPを使っていて文句言ってるのと同じ感じやな

旧バージョン使うなら全て自己責任でやれや
0528774ワット発電中さん垢版2017/06/27(火) 15:27:09.95ID:ltZUlzfC
自動で見つからなかっただけの事じゃないのか。
自分で指定する事もやりたくない/出来ない ほど怠惰か無能なのか
0529774ワット発電中さん垢版2017/06/27(火) 16:00:28.94ID:NEIr1I+q
自己都合で使うのは分かる

メーカー都合を考えないで自己都合が合わないから
文句を垂れるのはオカシイ
0530774ワット発電中さん垢版2017/06/27(火) 16:07:15.28ID:azqPUWoU
X遅いんダヨ何とかしろ!→一般人

8.92動かね!何とかしろ!→キチガイ
0531774ワット発電中さん垢版2017/06/27(火) 17:04:20.53ID:oCflczmX
>>526
インストールのときに環境変数いじるところがあるはずだが、そこはチェックした?
あとOSにもよると思うが、互換性モードや管理者はインスコ時にやってますよね

昨日も、Windows7の64の8.92にXCほか入れたけどうまく動いてるけど?
0535774ワット発電中さん垢版2017/06/27(火) 23:52:40.77ID:fiR69ybM
データの転送量が少ないならPICKIT3で良いけど
32bitでちょっとした物を作ると劇遅

ICD3だと速いかな?
0536774ワット発電中さん垢版2017/06/28(水) 03:41:33.07ID:m5NaFGN3
このスレ、初心者用の質問スレなのに、
MPLAB IDE 8.92 (非X)の話をすると必ず叩かれるよね。
そんなに X が好きなら、黙って大人しくよい子にして X 使ってればいいのに。
0537774ワット発電中さん垢版2017/06/28(水) 03:56:44.96ID:EQkqumg4
文法とかバグならともかく、旧バージョンをうまくインストール出来ないのは論外だろ
0538774ワット発電中さん垢版2017/06/28(水) 06:20:35.86ID:leVhQ1J8
>>536
叩くのはおかしいけれど、初心者ならなおさらアクティブな製品を使う方が良いように思うんだ。

>そんなに X が好きなら、黙って大人しくよい子にして X 使ってればいいのに。
叩くという感情的行為を良くないと言うのなら、こんな合理的でない煽りはやめようよ。
0539774ワット発電中さん垢版2017/06/28(水) 06:58:49.33ID:gvtySmdY
なんかまた Xと無印の対決構図に持ってきたい奴が居るみたいな
元の奴だって一回は出来たって言ってるんだから
今回は標準じゃない所にインストールしたとか、64bitだったとかなんか原因ある筈

それと、MPLAB -> Xだけでコンパイラ変わらないなら初回にプロジェクトの移行するだけで、ソース触る事ない。
0540774ワット発電中さん垢版2017/06/28(水) 07:38:01.28ID:BV/HCQLP
いつも思うけどXが遅いマシンってどんな環境なの?
遅い遅いというのが正当な評価だと思うなら晒してみてよ
0541774ワット発電中さん垢版2017/06/28(水) 07:41:35.12ID:uviS8pex
マシン関係無く、同一ハード環境なら 古い"X"無しの方が速い
試しもせずに言うなよな、 このバカ
0542774ワット発電中さん垢版2017/06/28(水) 07:50:04.55ID:u1R8o6Qp
ちょっと前までは反対にXを使ってると叩かれたのにな
0543774ワット発電中さん垢版2017/06/28(水) 08:06:10.92ID:leVhQ1J8
新しいものに早い段階で自らの意思でチャレンジする人は、自分の能力で開拓するべきだと思われるのだろうね。
だから、そんな人が他人に頼ろうとすると残念感から反感を招くのかも。
でも、新しいものにトライしている同好の士の情報を得たいと思う人だっているわけで、それ以外の人が反感を感じたからといって叩くのはおかしい。

Xなしの方が速いのは当然だけど、開発環境として「まあ許容できるわな」のレベルにあれば、速度差にあまり意味はなくなる。
比較として速い遅いを論じる>>541と、(たぶん)実用上十分かどうかで遅くないと論じる>>540では話は噛み合わない。
0544774ワット発電中さん垢版2017/06/28(水) 08:17:26.98ID:lYImH2rB
仕事でバージョン固定されているなら社内のサポートに聞け
趣味で使ってるなら新しいの使え
で終わり
0545774ワット発電中さん垢版2017/06/28(水) 09:51:12.66ID:hD4YO3x4
新しいものに順応できないお爺ちゃんが遅い遅いと言い訳してるんだよ
Xのが高機能で便利なのに
0546774ワット発電中さん垢版2017/06/28(水) 12:33:14.61ID:gvtySmdY
ATMEL Studio のバージョン間の差に比べたら無印とXの差なんかかわいいもんだ。
同じ会社になっちゃったけどな。
0547774ワット発電中さん垢版2017/06/28(水) 12:48:04.55ID:A3jy+tgy
5以降メッチャクチャ遅くなったから、4.19で止めてる
比較して、自分にとって良い物の方を選ぶならまだしも
新しいものが全て、と盲目的に思い込んでる馬鹿は ホットケだ
0548774ワット発電中さん垢版2017/06/28(水) 12:56:47.55ID:lYImH2rB
古い物を使い続けると多数派でなくなるからトラブルシューティングの情報も入りにくい
自分で解決するスキルがないなら新しい物に追随する方がいい
そういう意図を汲まずにただ新しい物を勧めてると思っているバカはほっとけ
0550774ワット発電中さん垢版2017/06/28(水) 13:15:10.73ID:3XrwSGax
>>549
別に、8.92ユーザでXがダメだとか言ってる奴はいないだろ
8.92を使ってるというと、Xユーザが叩いてるだけ。

実際、Xの情報や書籍が少ないから初心者も8.92をインスコする機会が多いだけで、
だったら、積極的にXユーザが情報発信するなり、ここでの質問にも積極的に答えれば良いのに
そんなことしない奴ばかり。

結局Xユーザはwindows10マンセーや、スマホのOSUpdateすぐやるやつと同じで、
自分なりの評価しないで最新追っかけてるだけのミーハーが多い。
できる奴は両方使ってて、別にどっちかをけなすなんてことはしない
0551774ワット発電中さん垢版2017/06/28(水) 13:20:44.67ID:UpOpE2Z/
>>545
一度遅いマシンでやってみな
意味がわかるから

>>550
なにか情報を発信しなきゃならないような内容ってあったかな?
インストールするだけで普通に使えるけど

古いIDEの方が難易度が高いよ
0552520垢版2017/06/28(水) 13:23:07.18ID:mkg8/Z72
なんで揉めてるんですか?
0553774ワット発電中さん垢版2017/06/28(水) 13:26:10.22ID:fw0XJmR8
>>552
環境依存の問題と思われるのに私見で供給元に文句を言ってる初心者がいたから
0554774ワット発電中さん垢版2017/06/28(水) 13:45:32.71ID:twh5L0IT
>>552
>MicroChipがわざとやったのでしょうか? だとしたら「ヒドイわ!」
とかほざく阿呆が出てきて乱したから。
0555555垢版2017/06/28(水) 13:48:23.07ID:wD27VW0A
555
0556774ワット発電中さん垢版2017/06/28(水) 14:29:55.18ID:KcTD5mO8
例えばxc8、PIC16F84Aで、プリスケーラ1/256を設定するとき
OPTION_REG |= 0x07; などとするのはなぜなんでしょうか。
直接 OPTION_REG = 0x07; ではだめなんでしょうか。
0557774ワット発電中さん垢版2017/06/28(水) 14:39:04.15ID:fw0XJmR8
>>556
最終的にレジスタが0x07で良いなら代入でよいけど、他のビットに影響がでないようにプリスケーラ関係以外のビットは0とorして演算前の設定を保持してる。
0558556垢版2017/06/28(水) 14:51:25.04ID:KcTD5mO8
>>557
ご回答の内容を読んだ上で、OPTION_REG の内容を眺めたら何となく理解できたような
気がします。このSFR上位5bitのうちいずれかの設定を、この行より前に行う場合、
便利というわけですね。ありがとうございました。
0559774ワット発電中さん垢版2017/06/28(水) 14:56:33.60ID:fw0XJmR8
調べてみたらOPTIONレジスタの初期値0xFFだからプリスケーラ部分を111
に設定するとき以外は使えないかな?
0561774ワット発電中さん垢版2017/06/28(水) 22:31:22.99ID:mY3pYlUz
>>560
変えたいところをAnd演算で一旦0にしてからor演算したほうが良いっすね。その方がコードとしては安全ですなー
起動時の条件で問題ない場合でもプログラム上で明示的に書くのはメモリや速度的にはマイナスだけどわかりやすいので
0563774ワット発電中さん垢版2017/06/29(木) 00:46:20.75ID:Bqz4yi7G
レジスタへの書き込みは非常に気を使うべき

割り込みや別タスクで同じレジスタを書き換える可能性があるか
書き込んだり読んだりするだけで動作するレジスタかどうか
一瞬違う値が入っても問題ないか
などなど

PICの場合、8bit, 16bit, 32bitによって最適な書き方が違ったりする
0564774ワット発電中さん垢版2017/06/29(木) 12:50:09.09ID:yJ4/Ris5
クリアしてから、改めて書かないといけないの?
いきなり上書きではダメなの?
0565774ワット発電中さん垢版2017/06/29(木) 13:30:23.97ID:3zqGuwFU
(LATA0, LATA1, LATA2) を (0, 1, 0) にする関数を作ることを考える

LATA3〜 は一瞬でも変わってほしくない
LATA3〜 は関数コールを行うタスクや割り込み以外で(関数コール中にも)書き換えられる可能性がある

(LATA0, LATA1, LATA2) は同時に書き換えたい
ハードによる微妙な時間差は許されるが、ソフトによる大きな時間差は許されない

どのような関数の実装が考えられますか?
0569774ワット発電中さん垢版2017/06/29(木) 16:29:37.79ID:ouyN9J/k
LATAに書く直前に割り込みが入ってLATA3〜を書き換えられたら、LATA3〜を改変してしまう
0571774ワット発電中さん垢版2017/06/29(木) 18:03:49.96ID:moKNBow0
割り込みを禁止にしてから、LATAを読んでメモリ上で修正してから出力でいいんでないの。
do {} while(0)を使えばマクロ化も可能かと
0572774ワット発電中さん垢版2017/06/29(木) 18:06:34.50ID:Bqz4yi7G
割り込みを禁止にすると言うことは、割り込み遅延が増えるということ

出来れば使いたくないが、他に方法が無ければしょうがない

割り込み禁止を解除するときは、コール時にすでに割り込み禁止だったときの事も考慮する必要がある
0573774ワット発電中さん垢版2017/06/29(木) 18:08:08.47ID:Bqz4yi7G
PICでは関係ないが、マルチコアの場合はその手は使えない
環境によっては割り込み禁止が許可されない場合もある
0574774ワット発電中さん垢版2017/06/29(木) 18:15:09.72ID:Bqz4yi7G
LATA0〜LAT2が他から書き換えられない
という前提の場合には、
アトミックなXOR命令やINVレジスタを使うことで、割り込みを禁止せずに書き換えが出来る

LATA_INV = LATA & 7 ^ 2;

これは結構使える
0575774ワット発電中さん垢版2017/06/29(木) 18:22:43.24ID:Bqz4yi7G
ていう事でマイクロチップさん、
ANDとORを同時にアトミックで出来る命令や仕組みの提供をよろしく!
0576774ワット発電中さん垢版2017/06/29(木) 18:45:59.29ID:JBpmPdP7
それが出来たらどういう応用分野にPICが使えるようになるのか説明出来ないと検討もしないと思うよ奴ら。
0578774ワット発電中さん垢版2017/06/30(金) 06:56:32.72ID:ZNTS2A1s
その時代、どうやって処理を書いてたんだろう

ソフトでシャドーレジスタ?
入出力を切り替えないから問題なし?
0579774ワット発電中さん垢版2017/07/01(土) 01:08:48.61ID:6QFwLAJL
>>578
>ソフトでシャドーレジスタ?

俺はそれやってたけどビット制御命令使ってるやつも多かった
潜在的に危ない製品も出回ってるんだろね
0580774ワット発電中さん垢版2017/07/02(日) 15:16:25.60ID:WXRfbLwy
>>579
ビット制御命令って
リードモディファイライト
をアトミックにやってるだけでしょ

LATレジスタが無いことに対してはまったくの無力かと
0581774ワット発電中さん垢版2017/07/02(日) 19:04:10.87ID:MY1hSEPk
マルチタスク化して、I/O操作用のドライバで一括管理する。
ドライバ部分はシーケンシャルにしか動かないから大丈夫。

なんていうのはやったことがあったなぁ。

別にそれを狙ったわけじゃなくて、結果的にそうなったっていうだけだけど。
0582774ワット発電中さん垢版2017/07/02(日) 21:04:13.59ID:T6+eJhxA
>>580
>LATレジスタが無いことに対してはまったくの無力かと

そういう意味のことを書いたつもりなんだけど
0583774ワット発電中さん垢版2017/07/02(日) 21:26:01.31ID:YKP45hna
>>577
昔はLATが無くても問題なかった。コアスピードが上がって
リードモディファイライトだとエラーする様になったから付いただけ。
0584774ワット発電中さん垢版2017/07/02(日) 22:59:12.93ID:0ljhrXBg
タスクと割り込みで書き換え不整合なんてソフトでどうにでもなる。
プログラマの能力が低いだけ。
どうにかできないようならそれこそエラッタってこと。
0586774ワット発電中さん垢版2017/07/02(日) 23:09:34.66ID:ALMYiy1C
>>583
LATが無い問題はコアスピードや排他制御的なことは全く関係ない
ライトはポート出力のラッチの値、リードは入力端子のLOW/HIGH
と、リードとライトで値の意味が異なるのが問題
0587774ワット発電中さん垢版2017/07/02(日) 23:14:05.69ID:ALMYiy1C
>>486
出来るか出来ないかだけで言うと出来る

リソース、パフォーマンス、難易度、
この辺が問題だと

特に難易度はホビー用マイコンでは致命的
0590774ワット発電中さん垢版2017/07/03(月) 01:32:00.36ID:6ctLSGD4
産業用のおこぼれを頂いてるだけ。ホビー用なんか存在しない
0593774ワット発電中さん垢版2017/07/03(月) 08:28:53.23ID:ChqAYLuv
ホビー用って、Arduinoやラズパイみたいに、産業用で使えるように設計されてないもんのことだと思ってた
どんなマイコンだろうと、回路が不安定要素満載の信頼性がホビー用でしょ

スイッチを内蔵プルアップで2mひっぱるとか、レジスタが割り込みで書き換えられるかもしれないとか、
産業用では絶対しないような、このスレ向きな使い方がホビー用ってことで。

PICはホビーも使える懐の広いマイコンですな
0595774ワット発電中さん垢版2017/07/03(月) 09:11:27.81ID:ChqAYLuv
>>594
温度試験と加速試験した?SDの劣化加速は?
動けばいいってヌルい仕事がうらやましいです
0598774ワット発電中さん垢版2017/07/03(月) 10:03:58.49ID:4EjB/oYz
Arduinoは Atmega328を使用した応用製品
0599774ワット発電中さん垢版2017/07/03(月) 14:55:06.92ID:oF8KzJq3
>>596
プログラムがうまく動かないときに、CPUのエラッタのせいかも?、と悩むのか…
考えただけでゾッとする。
0600774ワット発電中さん垢版2017/07/03(月) 20:17:26.86ID:XVaP/WTq
切り分けする能力の無い奴は哀れだな
0601774ワット発電中さん垢版2017/07/03(月) 20:28:37.12ID:RXN6idT+
切り分けが趣味な変態じゃないからな
普通の人は
能力関係なく

時間のムダ

切り分けの依頼であればやるけど、
普通は問題の発生はマイナスだから
0602774ワット発電中さん垢版2017/07/03(月) 20:31:17.66ID:RXN6idT+
問題があることが把握できればまだマシ
潜在的な問題を抱えたまま出荷して客先で問題が発生することも
「CPUのエラッタのせいです」は何のいいわけにもならない
0603774ワット発電中さん垢版2017/07/03(月) 20:33:28.52ID:RXN6idT+
Microchipの場合は隠蔽するから非常にたちが悪い
仕事では絶対に使いたくない
0604774ワット発電中さん垢版2017/07/03(月) 20:51:36.78ID:XVaP/WTq
なにファビョッてんだかwww
能力無いのがバレバレだぞwww
0605774ワット発電中さん垢版2017/07/03(月) 21:00:59.59ID:uZ+POxhc
仕事なら、自分が使う機能の分はテストしてから出荷すんだろ?
未知の不具合なんか発生すんのか?
使わないモジュールも全部ONにでもしてんのかw
0606774ワット発電中さん垢版2017/07/03(月) 21:09:01.26ID:ChqAYLuv
自分の能力がないやつほど、バグを他人のせいにするからな
このスレ見てればよくわかることだが、自分だけは違うと思い込んでる
そう思い込まないと人生やっていかれへんかわいそうな人なんだろうな
0607774ワット発電中さん垢版2017/07/03(月) 21:13:19.69ID:cW1QpQax
新品種に共通のUARTのバグの場合なんかは、ある品種で問題が発生すれば、
そのモジュールを使い回してる品種全てに適用されるべきエラッタだとマ
イクロチップでは当然認識できるわけだよね。
ところが実際のエラッタは特定の品種にしか発行されてないというのは
不誠実と感じるな。
まさかマイクロチップが気付いてないということはあり得ないと思うが。
0609774ワット発電中さん垢版2017/07/03(月) 22:09:09.61ID:4dUsO4jT
* すいません最近電子工作を始めた初心者です。MPLABXでC言語を使ってLチカしたいなと思いプログラムを組みビルドさせようとしたところ
:: error: (141) can't open cpp.exe command file "C:\Users\ユーザー名\AppData\Local\Temp;C:\Users\ユーザー名\.atom\packages\cpp_s3bc.cmd": Invalid argument
というエラーが吐かれてしまい困っています。これは何のエラーなんでしょうか cpp.exeが開けないという意味なら→に表示されているパスはなんでしょうか、スレ民に教えていただきたいです。
0611774ワット発電中さん垢版2017/07/03(月) 22:15:24.82ID:itRLUaoe
FPGA位迄の人には理解しにくいだろうがそんなにきれいにモジュール切った張ったしてICが出来て居る訳ではない。
ある石でモジュールの不具合でても違う石では起きないそんなのは十分有り得る
0612774ワット発電中さん垢版2017/07/03(月) 22:16:00.05ID:RXN6idT+
cpp.exe はコンパイラ
コンパイラはインストールしました?
してなければ XC8 をインストールしよう!
0614774ワット発電中さん垢版2017/07/03(月) 22:19:41.56ID:RXN6idT+
タイミング依存で、クロック単位の非常にシビアなタイミングで発生する
潜在的に問題を抱えたまま出荷された製品も多いと思う
0616774ワット発電中さん垢版2017/07/03(月) 22:25:09.54ID:RXN6idT+
>>605なら、どんな発生率の問題でも、環境依存の問題でも完璧に評価して、バグなんか一切無いソフトやハードしか作らないんだろうけど
0618774ワット発電中さん垢版2017/07/03(月) 22:51:32.68ID:4dUsO4jT
>>612
レス有難うございます
XC8はインストールされています。
https://imgur.com/gallery/kgMPA
(これで大丈夫ですよね...?)
0621774ワット発電中さん垢版2017/07/03(月) 23:18:34.10ID:4dUsO4jT
>>620
インストール位置が悪いのかなと思って二回インストールしました。
どっち選んでも同じエラーを吐きます。
0622774ワット発電中さん垢版2017/07/03(月) 23:20:18.40ID:RXN6idT+
cpp.exe はどっちにもある?
インストールしたユーザーと使うユーザーは同じ?
0624774ワット発電中さん垢版2017/07/03(月) 23:47:12.95ID:4dUsO4jT
>>622
一応両方入ってます。 インストールしたユーザーと使うユーザーは同じです!
0625774ワット発電中さん垢版2017/07/03(月) 23:49:53.29ID:4dUsO4jT
>>623
ユーザー名は全部半角英小文字になっているので多分大丈夫です...
一応includeがあるファイルとcpp.exeがあるファイルにパスを通したのですが、特に変わりませんでした...
0626774ワット発電中さん垢版2017/07/04(火) 07:14:00.35ID:qIYSAEUN
>>625
まさかコマンドプロンプトを開いてそこでパス通したとかじゃないよね?
それだと個々に開くアプリには反映されないよ
0627774ワット発電中さん垢版2017/07/04(火) 07:31:42.39ID:8vRvShOE
>>626
コントロールパネルからシステムの詳細設定開いてそこから通しました
0629774ワット発電中さん垢版2017/07/04(火) 11:58:50.37ID:+XTQ1FSn
嫌だったらコマンドラインでmakeも出来るんだぜ?
0631774ワット発電中さん垢版2017/07/04(火) 21:03:42.30ID:8vRvShOE
cpp.exeをcmdで起動してコンパイルしようとしたら、includeでエラー出た....
パス通したはずなんだけどなぁ
0633774ワット発電中さん垢版2017/07/05(水) 20:25:56.28ID:XWcJBPxT
PIC16F1705のOPAxOUTはADC入力と直接繋がっているんでしょうか。 
Comparator Module入力は直接繋がっている説明がありますが、ADCはデーターシートに説明が無いようなので、詳しい方教えてください。
0634774ワット発電中さん垢版2017/07/09(日) 13:48:32.12ID:/PXs1d95
PICのEEPROMが256byteと少なくて少々困っています
外部から受信した信号をPIC内で変換テーブルに従って変換したいんですが、変換
テーブルは結果を見ながら少しずつ調整したいのでEEPROMに置きたいと思っています

データ発生頻度は1ms間隔です
入力データが256パターンしかないならEEPROMで事足りるんですが・・・
やりたい事はVB風に書くなら

変換後の値 = EEPROM変換テーブル(返還前の値)

こんな感じです
シリアルEEPROMでも1ms以内で何とかなりますでしょうか
0635774ワット発電中さん垢版2017/07/09(日) 13:58:24.22ID:cl3wmIkv
>>634
で、通信内容のサイズは?1msで済むと思うサイズなの? ほかに作業しなくていいの?
0637774ワット発電中さん垢版2017/07/09(日) 16:39:20.02ID:VLHS+TFf
EEPROMもRAMも猫の額なのがPICの良いところでもあり欠点でもあり…
CRCなんかテーブル引きしたいところだけど、仕方なく延々とビットシフト計算させてる
0641774ワット発電中さん垢版2017/07/09(日) 19:32:33.89ID:i+ha5mwl
フラッシュに置いといて、ファームと同時にテーブル入れ替え、で良かろう。
0642774ワット発電中さん垢版2017/07/09(日) 19:38:08.98ID:c4fR0Mpm
PICのアナログ入力に他所からのPWMを入力させて、電圧を測定出来ますか?
具体的に言うとTWE-LITEのPWM出力の電圧を調べたいのです。
TWE-LITEの送信元にアナログ入力が有って、受信側はそれをPWM出力します。
それをPICで測定したいのです。
何か特別な回路を組む必要があるのでしょうか?
0644774ワット発電中さん垢版2017/07/09(日) 21:56:42.14ID:Tvgcg1f4
>>642
PWMの波を平滑してA/D変換器に入れれば。
場合によっては※にバッファアンプを入れたり、単純なCRじゃなくて2j次、3次のフィルタにしたり。
0645774ワット発電中さん垢版2017/07/09(日) 22:06:03.73ID:W+wDZTo2
前提がおかしけれぱそこから指摘すんの当然だろ?
0646sage垢版2017/07/09(日) 22:16:02.49ID:Tvgcg1f4
>変換テーブルは結果を見ながら少しずつ調整したいのでEEPROMに置きたい
この前提がおかしいのかな。
可能性のひとつとして、エンドユーザーがチューニングすることも考えられるし。
0648774ワット発電中さん垢版2017/07/09(日) 22:26:26.96ID:edy1SzM4
使い方の詳細を知らないのに、勝手に前提を無視して、さらに前提がおかしいとか

なかなか素晴らしい人ですね
0652774ワット発電中さん垢版2017/07/10(月) 09:12:48.71ID:CPmwvhzO
>>642
タイマでパルス幅を計測したほうが確実だったりして。
フィルタ組んでも脈流になるから精度を出そうとしたらそれなりに大変よ。
0655774ワット発電中さん垢版2017/07/10(月) 11:11:09.72ID:wu5o+ybf
16f2705ならプログラム領域をプログラムで書き換えられるんじゃないの?
0660642垢版2017/07/10(月) 22:06:31.43ID:6XISVUxE
>>643
>>644
回答ありがとうございます、とりあえずそのままやってみて
うまくいかなかったらフィルタを使ってみます。

>>653
単に平均の電圧が見たいだけなんで、厳密なもんじゃないです。
0661774ワット発電中さん垢版2017/07/11(火) 03:24:15.45ID:rgj03J3l
>>660
PWMって何だか理解してる?
瞬間瞬間の電圧で見れば1か0かしかないよ
(細かい話をすればアナログ的な挙動として1と0との遷移の途中で中間的な電圧もあったり
 オーバーシュート、アンダーシュートもあるけど本質ではないから置いといて)

PWMの送り出し側と受け側で偶然周期が一致しちゃうとずっと0とかずっと1って事もあるし
「電圧」の平均で意味を見出すには送り出し側の周期の100倍とか1000倍といった高いサンプリングレートで計測する必要がある

PWMの「電圧」を測るには1と0の「長さ」の「割合」を計測しなきゃいけない
んだけど、それは面倒臭い(というかやはり高サンプリングレートを必要とする)から、アナログ的に電圧に変換して
計測した方が楽だよねってのが>>644さんが書いてるフィルターの働き
0662774ワット発電中さん垢版2017/07/11(火) 07:10:29.62ID:o2DjNazY
>>661
指摘のポイントがわかりにくい。最後の1行以外は、>>660

> >>643
> とりあえずそのままやってみて

ここに掛かってるんだよな。
確かに >643の「速くなければそのままで」をやろうとすると、かなりシンドイ。
そもそもこれは元の質問の「PWMを入力させて、電圧を測定出来ますか?」の「電圧」を
>>653と同じ解釈をしていたんじゃないかと思う。
0663774ワット発電中さん垢版2017/07/11(火) 07:20:22.10ID:o2DjNazY
>>662に補足
>>653が可能性として語っているのは「青」で示す電圧。
たぶん>>642が想定している電圧は「赤」の電圧。

ところで「青」の電圧を「PWMの振幅」って言って良いものなんだろうか。
言わんとすることはわかるけれど、上下対象の波形以外で「振幅」は使わないようにしているので、ちょっと疑問に感じた。
詳しい人教えて!
0664774ワット発電中さん垢版2017/07/11(火) 07:27:14.63ID:9rv2AMlB
PIC24F触り始めたんですが、ピン割付がいまいちよくわかりません。
後閑氏のサイト見てもよくわからないです。
RPINR18bits.U1RXR = 8;
とか書かれても、その8はどこから出てきたという状態です。

C言語ではじめる PIC24F活用ガイドブックは買いでしょうか?
絶版でアマゾンでもプレ値がついてる状態ですが…
0665774ワット発電中さん垢版2017/07/11(火) 07:47:39.64ID:CzqbpwZP
データシートを暗記するくらい読み込んだらどうでしょうか?
ただで出来ますよ。
0666774ワット発電中さん垢版2017/07/11(火) 08:42:54.15ID:KRNlOPoe
後閑さん請負やってないんですかね?セミナーはやってたはずですけど。聞きに行けば?
0667774ワット発電中さん垢版2017/07/11(火) 11:38:10.24ID:vXwnyiuu
RPINR18
RPOR2
とかの言葉が出て来るけど、これが何の略なのかが、さっぱりわからない。

RPINR18 → Replace Pin INput Resistor 18
RPOR2 → Replace Pin Output Resistor 2  でしょうか?
0668774ワット発電中さん垢版2017/07/11(火) 11:57:31.84ID:S0iKAmU1
>>667
データシートを検索すれば出てくる。そもそもレジスタがどういうものか理解しないとpicを扱うのは無理。
0669774ワット発電中さん垢版2017/07/11(火) 11:58:31.60ID:70c59EZI
データシートに書いてあるやん
読んでないの?
読んでないのにこんなところで質問するの?
え?なに?これから分からない事があったら毎回ここで聞くの?
アホなの?
0671774ワット発電中さん垢版2017/07/11(火) 12:25:39.96ID:S0iKAmU1
picで共通した部分やxcコンパイラの使い方とかから始めるような書籍とかサイトって意外とないから初心者につらいってのはあるかも。
0672774ワット発電中さん垢版2017/07/11(火) 13:35:24.40ID:vXwnyiuu
>>668-669が、簡単に言うから、
試しにPIC24FJ128GA204のデータシートを読んでみたけど、見つけられなかったよ。

RPINR
RPOR
の、先頭のRは、何の略なのか、教えてもらえませんか?
0673774ワット発電中さん垢版2017/07/11(火) 14:13:53.45ID:S0iKAmU1
>>672
remapらしいけど省略なしのレジスタ名にはremapはついてないな。データシートのレジスタのページがわかるなら各ビットの意味も書いてあるぞ。英語がわからんなら解説するし、レジスタ名で検索すれば日本語で解説してるサイトもあるぞ
0674664垢版2017/07/11(火) 14:37:50.53ID:9rv2AMlB
データシートは翻訳かけながら一生懸命読んでるんですが、今まで触ってたPIC12F836とは全く違いすぎて(というか多機能過ぎて)プログラムもコピペしないと動かないというレベルです。
レジスタとはなんたるや、プログラムはvbとphpとEMマクロぐらいしかやった事ないので、問題の切り分けに時間がかかります
0675774ワット発電中さん垢版2017/07/11(火) 15:00:38.86ID:vXwnyiuu
>>673
>remapらしいけど省略なしのレジスタ名にはremapはついてないな。
でしょ? 最初の文字R、わからないんですよ。
次のPINRは、ペリフェラル...入力...レジスタ だと思うんですけどね。

すぐにデータシート読めとか、>>668-669は、簡単に言うけど、
彼らも本当に理解してデータシート読んでるのか、疑問だな。
省略語は、100%理解して使いたいものです。
0676774ワット発電中さん垢版2017/07/11(火) 15:14:36.87ID:S0iKAmU1
>>675
本当にレジスタ名のRの意味がしりたかったのか。それはすまんかった。
実際に使う分には気にしないんでな。R以外は普通に書いてあるから、100%理解したいならデータシート読んで。
0679774ワット発電中さん垢版2017/07/11(火) 17:35:56.55ID:fFYP6pUF
データシート数時間で読んでみましたとか、どんな聖徳太子だよ
これでわかったとか書いてないとか片腹痛いわ
読みましたとか、マイクロチップのドキュメント全部読んでから歌えや
0680774ワット発電中さん垢版2017/07/11(火) 18:23:35.88ID:CzqbpwZP
使うモジュールだけ説明読めば充分。あとはザッと見で問題ない。
0681774ワット発電中さん垢版2017/07/11(火) 20:23:16.44ID:fFYP6pUF
>>680
わかる人はそれでOK。
読む前に先に掲示板で質問するような人はどうでしょう?
0682774ワット発電中さん垢版2017/07/11(火) 21:25:33.90ID:o2DjNazY
>読む前に先に掲示板で質問するような人はどうでしょう?

読む前に先に掲示板で質問するような人でも、>>681が言うところの「それでOKなわかる人」がいるんですよ。
じゃあ、なんで聞くか、ですが、自分で読み解くのが面倒だからです。
0683774ワット発電中さん垢版2017/07/11(火) 21:27:27.35ID:luhz9+D6
>>663
青の電圧は一般にPWM波の振幅といい、単位はVp-pで表す
例えば青矢印が3.3Vなら3.3Vp-pのPWM波と言えばおおよそ誤解なく通じるかと

赤の線はPWM波の平均値であり、RCやLC等のLPFを通せば得られる
PWM周波数に対してカットオフが十分に低い(LPFの時定数が十分長い)のであれば
より滑らかな波形が得られる

>>642が想定しているのはあなたの言う通り通常は赤の波形だろう
つまり意味合いとしては>>653
PICで青の値を読みたいケースは通常あまり考えられない
なので、PICの入力ポートに入れる前に適当なLPFを入れてPWMのキャリア成分を
十分に減衰させた状態でADして読み込めばいいと思う
0685774ワット発電中さん垢版2017/07/11(火) 21:35:14.76ID:vXwnyiuu
RPINR
RPOR
の、先頭のRが、何の略なのか思いつきました。まだ確認してませんが、
Remappable のRではないですかね。

Remappable Pin select INput Register xx とか
Remappable Pin select Output Register xx とか。

ただ、未だにわからないのが、
昔からのポートの呼び方「RA0」とかの R が未だにわかりません。
H8なんかだと、ポートなので P で始まり、わかるのですが。
RegisterのRかなと考えていますけれども。
0686774ワット発電中さん垢版2017/07/11(火) 21:45:24.48ID:vXwnyiuu
>>676
>本当にレジスタ名のRの意味がしりたかったのか。それはすまんかった。
いえいえ、気にしないでください。

>実際に使う分には気にしないんでな。
確かにそうですけどね。
でも、略語(abbraviation)を知ることで、その構造や動作の「直行性」がわかります。
○○があるということは、△△もあるはず、とかです。
類似の略語も連想でわかるようになり、理解がいっそう深まります。

僕は、目次はあんまり見ないで、巻末の索引をよく使います。
略語が順番に並んでいるので、ページ数を見るだけで、どのカテゴリーの何の関連かがわかり、
データシートを読むのが、おもしろいです。
0687774ワット発電中さん垢版2017/07/11(火) 21:47:02.94ID:o2DjNazY
PWMの振幅と言った時点で何を言おうとしているのかはわかるんだが、それは正式な表現なんだろうか、って思うんだ。
振幅といえば50%の矩形波も含めて、デフォルトで平均値からてっぺんまでの電圧を指すよね。
単位はVp-pっていうけれど、正弦波ではp-pは振幅とは言わないわけだし。
0689774ワット発電中さん垢版2017/07/11(火) 21:50:05.89ID:vXwnyiuu
>>684
PICの型番は、別にどれでもいいんですよ。
略語の説明が「データシートに書いてある」という人がいるから、
適当に24Fを選んだだけです。
結局書いてなくて「読め」と言う本人も、適当なこと言っているのがわかってしまいました。
0690774ワット発電中さん垢版2017/07/11(火) 21:51:40.49ID:luhz9+D6
>>687
まぁそうね
実務では振幅でも通じてるけどねぇ
正しくは波高値3.3Vp-pのPWM波かもな
0692774ワット発電中さん垢版2017/07/11(火) 21:54:29.19ID:luhz9+D6
>>687
ああ、波高値だと単位は3.3Vの方が適切かも
まあ誤解なく伝わってることをちゃんと確認しながら進めれば多少の呼び名の違いはOKかと
0694774ワット発電中さん垢版2017/07/11(火) 22:12:35.74ID:o2DjNazY
ありがとうございます。たくさん返事を下すっているので、どこにぶら下げようかと迷いましたが
>>692
たしかに文書、口頭でも概ねちゃんと伝わります。
でも、いつもすっきりしないでいます。
あるお客さんから、ボトム電圧と、トップ電圧で表現すれば良いのでは? って言われたことがあります。
まあそれ以上に厳密な表現はないですね…
0696774ワット発電中さん垢版2017/07/12(水) 00:55:47.09ID:Wqqo2wVR
路上や公園?はあ???
あんな、縦横高さ10mでもう1立方kmだ。
嫌煙馬鹿、おまえらヒトの肺活量を立方kmとかで測ってんのか?
頭おかしい・頭悪いのもほどほどにな。
0698774ワット発電中さん垢版2017/07/12(水) 03:44:25.42ID:rvK4KJ25
誤爆だろうけど頭悪い書き込みだな
10mの立方体が1立法kmってなんなんだ?
0699774ワット発電中さん垢版2017/07/12(水) 07:29:50.45ID:zkAiatp8
10m司法なら10x10x10で1000になるって言いたかったんじゃない?
立法だけに
0700774ワット発電中さん垢版2017/07/12(水) 08:02:00.44ID:3lSXyEgp
PIC10F322小さくて便利すぎ
NiMHの電圧低下をLチカで知らせる回路を5×5mmくらいで作れる
FVRをADCに送るとVddをADC変換値で読める
PWMもあるしいろいろ遊べる
0703774ワット発電中さん垢版2017/07/12(水) 13:38:01.17ID:/OBwajX2
型式ごとの専用編集ソフトを
1つ500kB程度で配置してくんねいかな
0704774ワット発電中さん垢版2017/07/12(水) 14:27:31.59ID:dNBuHsAI
どこに?
0705774ワット発電中さん垢版2017/07/12(水) 15:35:20.91ID:/OBwajX2
X IDEやめて
新たな開発環境として、だよ

Z80とかフロッピーディスク1枚でサクサク作れたじゃねーかよ
なんで500MBとかの世界になったんだよ
0706774ワット発電中さん垢版2017/07/12(水) 15:42:52.65ID:FcpgCKM6
30年くらい眠っていらしたんでしょうか?
0709774ワット発電中さん垢版2017/07/12(水) 18:27:01.73ID:O0nI5dUB
CP/MのTurboPASCALって実行ファイルを作る際にはライブラリの要不要を
判断せずにけっこうなサイズのランタイムルーチンをがばっと結合するから
ROMサイズに余裕がないPICじゃ役に立たんと思うが。
0710774ワット発電中さん垢版2017/07/12(水) 22:25:30.16ID:dxWvJATZ
>>705
mbedならブラウザが動けばオンラインコンパイラでOK
0711774ワット発電中さん垢版2017/07/12(水) 22:43:33.90ID:dxWvJATZ
>>687
マイコンのPWMなんかだと片側が0Vだから、0V基準での振幅は3.3Vとかになるんでしょ。
「最大振幅」と言っておけばいいかもね。
0713774ワット発電中さん垢版2017/07/12(水) 23:06:52.41ID:YEjg97oe
>>709
ごめん、ROMな。組み込みの数kのROMベースのcp/mでも動かしてたから
単純な容量ならPICのほうが初期のCP/Mよりマシな気もしますが。
当時、高校生だったので間違ってたらごめんなさい。
1DぼDISKに2MのZ80のコンパイルスピードなら今ならどうなんでしょ。
0714774ワット発電中さん垢版2017/07/13(木) 03:40:34.90ID:ebjoa3nQ
PWMをフィルターにかけますけど、
0Vを基準に、0V←→5VのPWMは、フィルターかけると信号に戻ります。

では、0V基準で +2.5V←→-2.5Vの間を振動するPWM信号は、フィルターかけると
+ - で打ち消し合って(?)信号として出てこないのでしょうか?
0715774ワット発電中さん垢版2017/07/13(木) 07:23:30.31ID:XbrVCo59
>>714
>+2.5V←→-2.5Vの間を振動するPWM信号は
・+2.5Vの期間が50%なら平均電圧は0Vになります。
・+2.5Vの期間が40%のときは、平均電圧は-0.5Vになります。
と、いうことで、出力が「出てこない」ってことはありません。
0716774ワット発電中さん垢版2017/07/13(木) 07:23:37.50ID:7Wj4Frvf
信号が出ないという言い方が変だけど、もしデューティー比が50%なら平均は0Vという電圧になるね。
デューティー比がそれ以外なら0V以外の電圧が出るだろう。
0718774ワット発電中さん垢版2017/07/13(木) 20:57:22.89ID:IROv585V
>>713
CP/Mは実行に数十kBのRAMが要るからPICとは条件が全然違うよ
0719774ワット発電中さん垢版2017/07/13(木) 22:26:56.65ID:XbrVCo59
+ - で打ち消し合って(?)信号として「出てこない」という感覚は、
「0Vは信号ではない」という思いから来てるのかな?って思っていたら、

「DC成分があるかないか」とか。

これも、なかなか面白い見方だな。
0720774ワット発電中さん垢版2017/07/13(木) 22:51:27.26ID:rLIMYYrA
>>714さんは実際に、PWMの出力インピーダンスがどれくらいで
負荷側の入力インピーダンスや誘導、容量分をどのくらいで使い、
どう観測して、PWMの精度とエネルギーの結果をどう出力するかに興味があるな。

フィルターでDCに変換してエネルギーは同じでも出力波形は全く別物になりそうだ。
0721774ワット発電中さん垢版2017/07/13(木) 22:56:26.29ID:XbrVCo59
んー。なんで別物?
2.5Vずれるだけじゃないの?

何かを見落としているかな?
0722774ワット発電中さん垢版2017/07/13(木) 23:03:25.41ID:rLIMYYrA
>>718
んなことはわかってて、8bitくらいでCP/MにturboPASCALかOS9とBASIC09がオンチップで載ったようなのが出ないかなと思ってる。
ラズパイがいい線いってるんだがちょっと違う。電気食い過ぎとかいりいりで。
0723774ワット発電中さん垢版2017/07/13(木) 23:10:47.92ID:XbrVCo59
>>722
いやいや。それならまんまそれをやった方が良いのでは?
今ならまだ低消費電力なZ80も入手できるし、権利関係があいまいだけど、
CP/MもCP/M版のTPも探せば見つかるんじゃなかったっけ。

(神崎康宏さんの、CP/Mパソコンを作る本にはお世話になりました)
0724774ワット発電中さん垢版2017/07/14(金) 00:08:50.27ID:lBwjuymZ
AVRならAVR on CP/Mってのがあるな
これも1チップではないと思ったが

まあどうせ1チップにならんなら>>723のようにZ80でやるのが一番だな
今なら秋月で在庫復活したAKI-80でいいだろ
0727774ワット発電中さん垢版2017/07/14(金) 10:00:33.08ID:8EN19E7T
>>726
こういう奴だぞ。
http://spritesmods.com/?art=avrcpm
AVRで8080をエミュレーションてことだから、Z80を実装すればTurboPASCALも動くだろう。
0731774ワット発電中さん垢版2017/07/14(金) 15:07:06.57ID:EVrZfK3j
DRAMコントローラをIOポート実装とか
0735774ワット発電中さん垢版2017/07/14(金) 18:36:51.84ID:8EN19E7T
>>734
なんで??
0736774ワット発電中さん垢版2017/07/14(金) 19:19:12.86ID:DYJ/9TSN
エミュレーションなんだからSRAMをI/Oポート接続で余裕
何も工夫しないとアドレス線、データ線だけで24本必要で、ピン数の方が厳しい
0737774ワット発電中さん垢版2017/07/14(金) 20:23:08.74ID:t8gfJRNx
>メインメモリとして使えなきゃダメだろ
これが、SRAMで良いのでは? に対してのコメントだとするとおかしい。というか、あり得ない。

>>734は何に対して言った?
0741774ワット発電中さん垢版2017/07/15(土) 02:13:03.02ID:WamWU++7
あ、見れた
4bitバスか?
遅そう

アドレス空間に割り当てられるのか?
回路図だけじゃわからん
データシート見ないと

右にあるのはDRAMなのか?

結論だけよろしく!
0742774ワット発電中さん垢版2017/07/15(土) 07:31:19.44ID:NMWIuibT
>>333
衛星アンテナの中でダウンコンバートしてるのだからチューナーが受ける周波数の安定度なんてその程度。
衛星アンテナ分解したブログがあったから貼っとく
https://plaza.rakuten.co.jp/cpu4edu/16023/
パラボラの焦点に置かれたヘリカルアンテナのすぐ下に10Ghz帯の回路がある。
俺も専門家じゃないので調べながら書いてるけど、BSチューナーは±1.5MHzの許容度があるという記述がある。
http://www.nict.go.jp/publication/shuppan/kihou-journal/kihou-vol47no4/toku3-3-1.pdf
短時間の周波数変動(位相雑音)のスペックはもっと厳しいが、周波数安定度の要求はそんな高くない。
BSチューナーの中の局発が追従しているから変動が許される(AFC)
これ以上はスレも違うしやめるね
0745774ワット発電中さん垢版2017/07/15(土) 11:50:16.39ID:ihG1BMeO
>>727を見て、丸写しでDRAMまでそのまま作るなんて発想の人っているんか。
面白いのかな?
それをするぐらいなら車輪の再発明をする方がよっぽどよっぽど価値があるような気がする。

>>741
>アドレス空間に割り当てられるのか?
いくらなんでもそれを期待しちゃいかんと思う。

PIC32だったっけ、外部SPI RAMをメモリ空間に割り当てられるのって。
0748774ワット発電中さん垢版2017/07/15(土) 15:05:53.23ID:qe/U9ypG
PIC32 Z80 emuで検索したらTOPにこんなの出てきた

PIC32MXで作るMZ-80エミュレータの製作
ttp://www.suwa-koubou.jp/micom/MZ80Emulator/mz80emu.html
0749774ワット発電中さん垢版2017/07/15(土) 18:37:50.09ID:F1nON3j6
明日、PIC32MX買いに行ってこよう。
ブレッドボードで十分組めるな。
0750774ワット発電中さん垢版2017/07/15(土) 19:45:31.18ID:qe/U9ypG
>>749
>今回、エミュレータプログラムの公開にあたり、MONITORプログラムやCGROM、
>その他ベーシックインタプリタ、ゲームなどは、シャープやその他の製作者の著作物であり、公開はしておりません。
>このエミュレータで遊ぶには、別途入手してください。
0752774ワット発電中さん垢版2017/07/15(土) 19:56:28.47ID:SM3pf8h5
今の時代ネットを検索して大方の知識を得る時代
知識の均一化が進んでいる
つまらない時代になったものだ
0753774ワット発電中さん垢版2017/07/15(土) 20:12:09.83ID:73ngStNG
巨人の肩に載って何をすればいいかまでは教えてもらえないからそこから先はそいつの才覚なんじゃね?
0755774ワット発電中さん垢版2017/07/15(土) 21:20:53.07ID:e808ZkPF
PIC32MXは確かに面白いものですが、個人で作るものにこれを使うほどのものが
どれだけあるかちょっと疑問に思っています
32bitの性能を生かし切れるものってどんなものがあるのか
誰か例題を教えてもらえませんか?????????
今のところ、8bitでROMとRAMがちょっと大きいものでも十分解決できると
思っています
(接続する周辺のデバイスが高性能化していてコマンド送れば結果が
 直接帰ってくるデバイスが多くそれを加工する必要がなくなって
 きている気がしています)
0756774ワット発電中さん垢版2017/07/15(土) 21:27:34.15ID:ihG1BMeO
>32bitの性能を生かし切れるものってどんなものがあるのか
>誰か例題を教えてもらえませんか?????????

この人をバカにしたような「?????????」はどういうつもりなんだろう。
例を出したところで、無意味だと否定するんだろね。

ジェイソンは便利だと思えば人を殺すのにだってチェンソーを使う、ってどこかで聞いた。
32ビットマイコンを「32ビットゆえに」でなくても、それが使いやすいと思えば何処にだって使って良いんだよ。
0757774ワット発電中さん垢版2017/07/15(土) 22:14:11.62ID:/FkYd7Dx
8bitで作れるものを32bitで作ってはダメを前提なのか?
さっぱり分からんわ
0758774ワット発電中さん垢版2017/07/15(土) 22:22:47.98ID:ihG1BMeO
>>756を書いてから、どこでそれを聞いたんだろうって、ぐぐってみたら
「13日の金曜日のジェイソンは1度もチェーンソーを使ったことがなかった!」なんて話が。
マジか。

…スレチすまん。
0761774ワット発電中さん垢版2017/07/15(土) 23:12:36.65ID:ihG1BMeO
>>752
もう沢山の人が訳知り顔で言ってるようなことで退屈。
てか、その話だって、あなたが均一化の影響の中で訳知り顔をしたい他の人と同じことを言ってしまってるわけで、
あなたもつまらない人の一人ですね。

実際のところそれまでその状態であったことすら見えなかったんですよ。

昔は、電子部品屋さんは、有力な雑誌の作例に載ってるような部品さえ揃えておけば、お客さんに満足感を提供できました。
なんか変わった趣味を楽しんでいるつもりが、なんと日本全国の同好の士たちが、同じようなものしか作ってなかったんです。

今はどうかというと、電子部品のニーズが多様化したせいで、ちっこい部品屋さんではやっていけなくなりました。
一分野に限ってみれば、ある知識が広く共有されているわけですが、分野がすごく多様化してもいるわけです。
これが知識の均一化ですかね。くそったれな後ろ向けの話をしてどうするんですか。元気を出してください。
0762774ワット発電中さん垢版2017/07/15(土) 23:17:23.56ID:9tWjKYq+
>>755
画像処理、音声処理、UNIXなどintが32bitのほうが都合が良い物とか
どちらかというと個人のほうが恩恵受けると思うがね
0763774ワット発電中さん垢版2017/07/16(日) 00:26:56.02ID:zcJjyESh
>>755
「能力を使い切る」なんて考え方がもう青臭くてね
機能拡張の要請はいつだって発生するものだし、それに対して余裕を持っておく物だよ
0764774ワット発電中さん垢版2017/07/16(日) 01:42:57.95ID:pebdDEmJ
27年前に作ったDOS用のZ80エミュレータをWin7(32bit)上で動かして、
本物のCP/Mの上でCP/M版BASIC-80を実行したらそれなりに動いてる。
結構互換性は保たれているんだね。

http://imgur.com/tyX2G9I.jpg
0767774ワット発電中さん垢版2017/07/16(日) 07:15:23.39ID:E7pLNk3U
お薦めのPIC
迷ったらこれを買え
(秋月に売ってるPIC DIP限定)

●USBなし
PIC10F200 マゾ専用 最低スペック 50円
PIC10F322 最安 45円
PIC16F18313 8pin 75円
PIC16F18326 14pin 130円
PIC16F18346 20pin 160円
PIC32MM0064GPL028 28pin 3.3V 175円

●USBあり
PIC16F1455 14pin 140円
PIC16F1459 20pin 180円
PIC32MX230F064B 28pin OTG 3.3V 270円
PIC32MX270F256B-50 28pin OTG 3.3V 380円
0768774ワット発電中さん垢版2017/07/16(日) 07:21:16.23ID:E7pLNk3U
最近出た PIC32MM0256GPM028 はすごく良いんだけど、
残念ながらDIP版が無く、秋月でも扱ってない
0772774ワット発電中さん垢版2017/07/16(日) 09:11:11.76ID:rxmYWWZ4
32ビットで50MIPのDIPマイコンが容易に入手できるのは、
PIC32だけ。
しかも趣味で使うなら十分安い。
0774774ワット発電中さん垢版2017/07/16(日) 09:36:54.16ID:rM0Ayo5Y
>>766
>最近PIC32[厨」が「常駐」してて「ウザイな」

そうじゃなくて「PIC32の話題が出てきてそれはそれで活気があって良いことなのにそれを排除しようとする人がいる」ってことなんじゃない?

それとも自分が嫌いな話題は、スレの趣旨に合っていても出てきてほしくないってことなのかな?
0775774ワット発電中さん垢版2017/07/16(日) 09:45:08.29ID:h+hnNnu+
重い処理させようと思ったらPIC32よりもESP33とかラズパイの方がお手軽なんだよな
0776774ワット発電中さん垢版2017/07/16(日) 09:56:23.68ID:rM0Ayo5Y
>>775
もっと重い処理をするならWindowsパソコンの方がずっと楽になりますよ。

ここはPICのファンの話題のスレなんだから、つきつめれば「どっちの性能が」なんて二の次で良いんですよ。
0777774ワット発電中さん垢版2017/07/16(日) 10:54:44.72ID:xQiHdWl1
32bitバカは32bitをやたら薦めるくせに
何故かDIPや秋月取り扱いに強くこだわる
8bitやアセンブラにこだわるバカと同じ匂いがする
ようは気持ち悪い
0780774ワット発電中さん垢版2017/07/16(日) 12:10:48.20ID:0Y/C0atS
アセンブラが出来ない単なる馬鹿
知ってれば、場合に応じて使い分けができる

特に8-bitとかでROMサイズが小さいと Cだけじゃ入らない場面に出くわす
そういう場合、この手のクソ野郎は サジ投げるんだろ
見えてるよ
0781774ワット発電中さん垢版2017/07/16(日) 12:35:54.56ID:E7pLNk3U
PIC総合スレ(初心者用)です。

8bit, 16bit, 32bit
アセンブラ, C言語
パッケージ, 取扱い店舗, ...
などを排除するのはやめて、
幅広くPICに関して語りましょう!
0782774ワット発電中さん垢版2017/07/16(日) 12:42:22.47ID:rM0Ayo5Y
>>780
誰しも世の中のすべてのことを知り、出来るわけじゃないよ。
だから何かができないからってバカだというのはおかしい。
世の中が自分基準中心だと思い込んでるわけじゃないよね。

8ビットPIC+Cではダメだと思ってサジを投げて、他のデバイスに行っちゃうのも全然クソじゃない。

いちいち侮蔑的な表現しなくても仲良くやれるぞ。穏やかにいこう。
0783774ワット発電中さん垢版2017/07/16(日) 14:18:39.39ID:k9GwJ7AS
○ アセンブラ
CPUの命令を列挙した形で記述する非常に低レベルな言語
CPUに大きく依存したコードであり、C言語などの高級言語に比べて移植性に劣る
また、生産性や可読性や保守性も大きくC言語に劣る
現在では非常に使われる場面が限られており、
C言語で記述出来ない特殊な命令を使う必要がある場合や、
C言語では性能が問題になる場合に用いられる事がある程度
性能が著しく低い8bit PICなどで、
いまだにアセンブラ偏重主義者が存在する
0784774ワット発電中さん垢版2017/07/16(日) 14:27:14.11ID:k9GwJ7AS
○ C言語
高級言語の中では最も低級な言語
小規模組み込みプログラムでは、
いまだにこのC言語が使われる事が多い
0785774ワット発電中さん垢版2017/07/16(日) 14:43:49.40ID:zcJjyESh
アセンブラしか使った事ないのバレバレな。
0786774ワット発電中さん垢版2017/07/16(日) 14:44:45.53ID:7AQuWCLu
> 性能が著しく低い8bit PICなどで、
> いまだにアセンブラ偏重主義者が存在する

8ビットのPICには効率的なコードを出力してくれるCコンパイラが存在しないのでアセンブラの使用にメリットがある傾向がAVR等他のアーキテクチャに比べると高いってだけ。
0787774ワット発電中さん垢版2017/07/16(日) 14:50:31.64ID:rM0Ayo5Y
欠点があっても使いにくいところがあっても、それが好きだから、で良いんじゃないの?
自分と違う技術論を嘲っても意味なんてないのに。

技術の話で相手を不快にさせてもメリットないでしょ?
0788774ワット発電中さん垢版2017/07/16(日) 14:50:50.80ID:ZPEaK9LG
>>786
×効率的なコードを出力してくれるCコンパイラ
○効率的なコードを出力してくれるフリーのCコンパイラ

乞食はアセンブラに8bitで書いてろってこった
0789774ワット発電中さん垢版2017/07/16(日) 14:58:43.47ID:7AQuWCLu
> ×効率的なコードを出力してくれるCコンパイラ
> ○効率的なコードを出力してくれるフリーのCコンパイラ

XC8もPROエディションなら効率的なコードを吐いてくれると勘違いしてるのかな?
あれも相当効率良くないぞ。コンパイラの出力見れば分かると思うけどWを効率的に使ってくれないのでアセンブラで書いた場合の2〜3倍とか平気でなるよ。
0790774ワット発電中さん垢版2017/07/16(日) 15:47:17.46ID:h+hnNnu+
コーディング時間×コードサイズ×実行時間の積を最小にしたいのでXC8proも選択肢としてアリだな
0791774ワット発電中さん垢版2017/07/16(日) 15:52:06.90ID:7AQuWCLu
> コーディング時間×コードサイズ×実行時間の積を最小にしたい

この条件ならPIC選んだ時点で間違ってるよ。
0792774ワット発電中さん垢版2017/07/16(日) 16:08:47.09ID:rM0Ayo5Y
>>791
PICのファンだから、って理由があれば十分ですよ。

恋人や料理をスペックだけで選ぶんですか?
0793774ワット発電中さん垢版2017/07/16(日) 16:16:23.51ID:ZPEaK9LG
>>790
コーディング時間×レビュー時間×コードサイズ×実行時間×デバッグ時間×リリース後デバッグ時間にしたら
アセンブラなんて天文学的時間になるよ

アセンブラな人はレビューすらしたことなく作って動いたら作りっぱなしな人も多いそうだが。
0794774ワット発電中さん垢版2017/07/16(日) 16:27:50.35ID:mkZJMJeR
>>789
それはあ〜
それわお前さんがマヌケなだけ(あ言っちゃった(爆笑

普通はぁCコンパイルがコンパイリング後に吐き出すバイナリを意識してCの
ソースを書くもんだがwお前さんまさかそんな基本的な事やってないの?(嘲笑

特に組み込み分野でCで書くならこんなの常識(じょうしき)なんだよなぁw
あれ?もしかして今まで知らなかったとか?
0795774ワット発電中さん垢版2017/07/16(日) 17:08:33.94ID:mJe0nrdU
初心者スレで最適化について議論してる時点でただのアレな人なんだよなぁ
0796774ワット発電中さん垢版2017/07/16(日) 17:40:05.49ID:7AQuWCLu
8ビットのPICでのCコンパイラの使用はコード効率が宜しくないってのは紛れもない事実なので初心者スレでそういう話をすることは普通に有意義だと思うがなあ。
PICを使わなきゃいけない状況でもない限りは選択肢は他にもあるんだし、PICのセールスマンでもない限りは事実を否定する意味もあるとも思えん。
0797774ワット発電中さん垢版2017/07/16(日) 17:42:43.91ID:7AQuWCLu
>>792
> 恋人や料理をスペックだけで選ぶんですか?

> コーディング時間×コードサイズ×実行時間の積を最小にしたい

という条件なら、という話ですが何か?
0798774ワット発電中さん垢版2017/07/16(日) 17:45:54.58ID:7AQuWCLu
>>794
XC8でもソースの書き様でアセンブラと遜色ない効率のコードを吐く例でも挙げられたら良かったのにねw
0799774ワット発電中さん垢版2017/07/16(日) 17:47:14.13ID:7AQuWCLu
>>793
> コーディング時間×レビュー時間×コードサイズ×実行時間×デバッグ時間×リリース後デバッグ時間にしたら
> アセンブラなんて天文学的時間になるよ

馬鹿ならそうかもね。
0800774ワット発電中さん垢版2017/07/16(日) 18:03:54.18ID:rM0Ayo5Y
>>796
その話ってしょっちゅう繰り返されてます。
PIC関連すれをウォッチしている人なら、ああまたか、って思ってしまいますよ。
以前同居していた老人がそんな感じで、家族みんなが知ってるようなことを、
「みんな初耳だろうが」と前置きして何度も話していました。
個人的な話で申しわけないのですが、似たような話が繰り返されるたびにその話の書き手が、
十分なことをしてあげられずに見送った老人に重なって少し悲しいのです。

特筆するべきことならあなただけの大発見ってことはまずないと思うのです。
どこかのWEBサイトにリンクを張るだけで良いんじゃないですか?
こういう話は、比較の問題ですし、他のマイコンのコンパイラでの状況と比較した適切なサイトがあるかと思います。
なければ、その程度の問題でしかないとも言えますし。

長くなりましたが、コンパイラ云々の話は「もう見た」って人ばかりだろうし、
他の選択肢があることも、あなただけが特別知りうる立場ってわけでもなくて、みんな知ってるんじゃないですか?
その上でPICを使ってるわけですよね?

それともあなたは、
・これだけ何度も繰り返されている話をほとんどの人が初めて見る話だろうと思っている。
・ほかの人は他にマイコンがあることを知らない。俺だけが知ってる。俺は情報通だ。
なんて思ってるわけですか? そんなことはないですよね?
0802774ワット発電中さん垢版2017/07/16(日) 18:14:52.55ID:7AQuWCLu
>>800
> 長くなりましたが、コンパイラ云々の話は「もう見た」って人ばかりだろうし、
> 他の選択肢があることも、あなただけが特別知りうる立場ってわけでもなくて、みんな知ってるんじゃないですか?

>>788>>794を見る限りではPIC用の最適化コンパイラの存在を盲信してる人はいるみたいだしそんな気はしないですね。
つか「長くなりましたが」なんて書くくらいなら文章を簡潔にまとめる努力をするべきでは?
0803774ワット発電中さん垢版2017/07/16(日) 18:20:34.88ID:R/yoTdl2
なんでも好きに使えばええやん。
俺はこんな使い方してるよ、と言う自慢をしてくれ。
0805774ワット発電中さん垢版2017/07/16(日) 18:32:31.13ID:D4jQXszX
初心者スレだから致し方無い
0806774ワット発電中さん垢版2017/07/16(日) 18:42:19.78ID:S1NMenUi
でも自分は初心者じゃないと思ってる奴が暴れてるよね

手段が目的化してるっていうか、
アセンブリ言語を使えるとか、コンパイル結果を意識してCを書けるとか、XC8が非効率なのを知ってることが技術力だと思ってる節があるね
本当に何かを作りたいだけの奴はそんなことにはこだわらんし(だって単なる手段だから)、それが正解なのに
0808774ワット発電中さん垢版2017/07/16(日) 18:46:18.68ID:7AQuWCLu
>>806
手段の選択肢は多い方が良いが、それを理解できない馬鹿っているんだな。
目的が達成できれば手段はどうでも良いって考えか。
0809774ワット発電中さん垢版2017/07/16(日) 18:51:09.09ID:S1NMenUi
>>808
こういう考えの奴とは一生折り合わないだろうな、お互いが馬鹿じゃなかろうかと思ってるから

> 目的が達成できれば手段はどうでも良いって考えか。
そんなの当たり前じゃん
0810774ワット発電中さん垢版2017/07/16(日) 19:03:00.33ID:rM0Ayo5Y
割り切らないと、不安になる人がいるのは確かなんだけど、
>目的が達成できれば手段は「全く」どうでも良い
という議論でもないと思う。

目的がわりと達成できれば手段はわりとまあええやん。PIC好きだし。

で十分な答えだと思う。ここPICスレなんだし。
0811774ワット発電中さん垢版2017/07/16(日) 21:02:22.81ID:mIC74cxy
趣味としてのアセンブラで組むことが楽しいからアセンブラ専門だわ。
0813774ワット発電中さん垢版2017/07/16(日) 22:08:20.59ID:k9GwJ7AS
ここは初心者スレ
初心者が勘違いするから、
アセンブラで組むのが一般的みたいな書き込みは
慎んでいただきたい
0814774ワット発電中さん垢版2017/07/16(日) 22:12:11.88ID:k9GwJ7AS
Cより先にアセンブラなんかを覚えたばっかりに
8bit PICから離れられない可哀想な人が
このスレにいる
0815774ワット発電中さん垢版2017/07/16(日) 22:18:36.30ID:k9GwJ7AS
実は最近、アセンブラに手を出そうと思った事象がある

SPIの通信ドライバ
32bit PICで、コアクロックと同じクロック周波数での通信を行う部分
1バイトのデータをやり取りするのに8クロックしかない
当然MCCやHarmonyではこの速度では通信出来ない
結論から言うと、フリー版のXC32でもC言語で作れたんですが、
良い練習問題になるので挑戦してみてください
0816774ワット発電中さん垢版2017/07/16(日) 22:57:16.48ID:ZPEaK9LG
>>815
ハードウェアモジュールやバッファってのがあるからな。
とはいえ簡単では無さそうですね。
XC32はMIPSのGCCじゃなかったっけ
0817774ワット発電中さん垢版2017/07/16(日) 23:33:11.91ID:zcJjyESh
必要な部分だけインラインアセンブラってのでもいいんでない?
0818774ワット発電中さん垢版2017/07/17(月) 01:18:45.09ID:DcPS9JUl
MCCのコードを単純にアセンブラで記述し直すだけじゃ無理ですね
もっと上位での工夫が必要です
0819774ワット発電中さん垢版2017/07/17(月) 07:03:49.02ID:tLOGVm3a
ここは初心者スレです
PICは工業高校や専門学校の教材などにも使われていて
プログラミングそのものの経験が浅い人もいるので
まだPICのアセンブラの知識がない人もいることをお忘れなく
0820774ワット発電中さん垢版2017/07/17(月) 08:17:21.31ID:3RHZp+/0
なんかアセンブラが難しいという風潮があるようだが本来逆だからな
つーか両方とも簡単で誰でもわかるってのが正解だが
0824774ワット発電中さん垢版2017/07/17(月) 08:31:04.32ID:3RHZp+/0
>>823
で、そういうこというとアセンブラ爺が出てきて「お前ら素人には面倒だろうな」って言われるんだろうな
0825774ワット発電中さん垢版2017/07/17(月) 10:02:52.13ID:q3X0QRie
質問させてください

C言語に適したアーカティクチャーのマイコン
ということをききますが、どういうことなのでしょうか?
どのマイコンでも、C言語のコンパイラーはあるので、
適不適な関係ないと思うのですが。

よろしくお願いします
0826774ワット発電中さん垢版2017/07/17(月) 10:15:36.34ID:DcPS9JUl
全くC言語を意識しないアーカティクチャーの場合、C言語で使われない命令が速かったり、C言語でよく使う記述が遅かったりする

これだとC言語で書いた場合とアセンブラで書いた場合の速度差やコードサイズ差が大きくなってしまう

C言語に適したアーカティクチャーは、
コンパイラが吐かないような命令は減らし、
コンパイラが使いやすい命令を重視する

PICの場合は、もともとコンパイラを意識しない
アーカティクチャーであった命令形態から、
いくつかのコンパイラ用の命令を足しただけ
0827774ワット発電中さん垢版2017/07/17(月) 10:16:58.61ID:DcPS9JUl
近年、マイコンの性能はコンパイラで作ったコードで測られるため、コンパイラに適した命令体系と、性能の良いコンパイラは必須
0829774ワット発電中さん垢版2017/07/17(月) 10:30:46.79ID:DcPS9JUl
釣りだと思ったけどマジレスしてしまった
私の予想が正しければレスは付かない
0830774ワット発電中さん垢版2017/07/17(月) 10:34:07.30ID:KqHKqRBn
>>829
いや真面目であることは悪いことじゃない

この手の質問をする奴は、いわゆる女子的な質問をしている可能性もあるからな
つまり自分はこう思ってるんだけどあってるよね?同意してくれるよね?って言いたいだけのやつ
求める答えはそのとおりだねだけ
他人の意見を聞き入れるつもりは全くない最もめんどくさいタイプ

>>825がそうじゃないといいね
0835774ワット発電中さん垢版2017/07/17(月) 12:57:01.03ID:ziTgEkgi
PIC32使ったこともあるが、趣味の制御対象なら大体PIC18ぐらいで十分なことに気づく
内蔵ペリフェラルやdipのピン数、パスコンなど外付けパーツの数はPIC18が有利。
大容量でかつ緻密な制御ならともかく、大したことしないのに32ビットにこだわるほうが滑稽
0836774ワット発電中さん垢版2017/07/17(月) 13:27:42.57ID:Hk/QuPnX
そういう100羽一絡げの議論よくない。
0838774ワット発電中さん垢版2017/07/17(月) 14:44:16.54ID:UTYyTvq2
>>835
Lチカ程度の事しかしないならPIC18どころかPIC12でも十分だよ
お前にPIC18は不要。というか実に滑稽
今日また一つ賢くなれてよかったね
0840774ワット発電中さん垢版2017/07/17(月) 17:13:03.52ID:SChFaRbK
>>831
PDP-11の命令セットを眺めるとなるほどねと思うかも。
0843774ワット発電中さん垢版2017/07/17(月) 18:24:00.51ID:tLOGVm3a
PDP-11なんてDECのベストセラーの16bitミニコンで
Version 7までのUNIXがアメリカの大学でよく使われてたことしか知らない

DECに関してはこんな記事があるよ

業界に痕跡を残して消えたメーカー CPU設計に大きな影響を与えたDEC
http://ascii.jp/elem/000/001/199/1199091/
0845774ワット発電中さん垢版2017/07/17(月) 19:04:40.65ID:UTYyTvq2
DECは消えたけどDECの技術はSamsungに受け継がれたし、DEC魂はSamsungの
中に息づいてるよ
0849774ワット発電中さん垢版2017/07/17(月) 19:47:50.14ID:tLOGVm3a
>>845
http://pc.watch.impress.co.jp/docs/2003/0912/kaigai022.htm
> さらに、旧DECのAlphaプロセッサ開発チームから
> 多数のアーキテクトとエンジニアを迎えることで開発力を強化した。
> K7を担当したDirk Meyer氏は元Alpha 21064/21264のアーキテクト、
> K8を担当するFred Weber(フレッド・ウェバー)副社長
> (Vice President、Computation Producuts Group)は元NexGenのアーキテクトだった。


> その当時は、旧DECのJim Keller氏(Atiq Raza氏の退社後に退社)がK8を担当し、すでに開発を始めていると言われていた。


IntelはDECの半導体部門を買収してるし
AMDはDEC Alphaの開発者を引き抜いてる
Jim Keller氏はAMDのZENの開発責任者
0850774ワット発電中さん垢版2017/07/17(月) 19:49:24.47ID:wk/Iu1Nb
PICも8ビットと32ビットとでは同じ会社の組み込み用マイコンてだけで
応用用途も作る作法も大分異なるのだしスレ分けたほうが有意義と思うなあ。
同じ会社の製品て括りではもはやAVRもPICと同一スレにすべきという議論も
可能とは思うがそれはない方向なんだろ?
0852774ワット発電中さん垢版2017/07/17(月) 20:16:56.55ID:wk/Iu1Nb
>>851
誰かが喜ぶのだからそうするべきという賛成意見?
誰かが悲しむというなら反対意見だけどそうじゃないんだよね?
0853774ワット発電中さん垢版2017/07/17(月) 20:33:56.04ID:rSrwPqCy
趣味性が強くて感情的になりやすいってのはあるかなあ。
PICだけがスレがたくさんあるのも、なんだかんだ言っても感情的なものが原因だし。
0855774ワット発電中さん垢版2017/07/17(月) 21:16:29.88ID:wk/Iu1Nb
マイコンなんて必要に応じてPICでもARMでも適当なのを選べば
良いと思うけども、Microchipの社員でもないユーザーの立場で
PICに拘ってそれ以外のユーザーを敵視するって馬鹿とかしか思えん。
0856774ワット発電中さん垢版2017/07/17(月) 21:19:04.70ID:rSrwPqCy
>ARMやルネサスの信者さんが喜ぶよ
その人たちが喜んだとして、PICユーザーに何か不都合でもありますの?
0861774ワット発電中さん垢版2017/07/17(月) 23:06:54.73ID:DcPS9JUl
C言語で組んでいれば命令の差など些細な差
それよりもペリフェラルの差の方がソフト設計やハード設計をする上で重要

PICはどれもペリフェラルの作りは近い
特に16bitと32bitは非常に近く、
ピンコンパチであったりもする
0863774ワット発電中さん垢版2017/07/17(月) 23:19:21.35ID:DcPS9JUl
ビット数で分けたら、次はC言語とアセンブラを分けるとか言い出しそうだな
0864774ワット発電中さん垢版2017/07/17(月) 23:21:56.56ID:rSrwPqCy
>>860
まず基本的に分けないという姿勢でこれまでやってきたか、ってことがあります。
PICスレは名目上、分かれていますが、中身は混濁しています。
中国系禁止みたいに公序良俗に反するわけでもない、合理的なことが書かれた>>1とは
関係なしに喧嘩が発生します。そんなことならスレを再統合すれば良いのではないかと
俺は思うのですが、そうはなっていません。
これは「スレは統合が望ましいものである」という共通認識がないことの証明です。

分けるメリットは上にも書かれてますので俺が繰り返す必要もありません。

互いに感情を傷つけあうレスを慎まないなら分けた方が良いでしょう。

他の例でいえば、テスターのフルーク禁止スレは、たまに揉めますが、おおむね有効に
働いています。(その>1を読めば、公序良俗に反するものでもないことがわかります)

>>862
>分けるなら分けるで、16bitをどうするかでまた揉めるぞ
揉めたら分ければいいんじゃないですか?
0865774ワット発電中さん垢版2017/07/17(月) 23:25:30.11ID:rSrwPqCy
>>864を書いていて再認識したわけですが、
>互いに感情を傷つけあうレスを慎まないなら分けた方が良いでしょう。
おそらく、これが楽しいと感じる人が何人かいることが根源的な問題なんですよ。
0869774ワット発電中さん垢版2017/07/17(月) 23:33:50.37ID:rSrwPqCy
>>866
おっと。俺がそんなことを書いているとしたらミスです。どこかな。

揉めないではなくて、揉める頻度が減る、ですね。

根拠はひとつは、テスターのフルーク禁止スレです。たまにそのことで揉めますが、
分ける以前の揉め方とは段違いの平穏さです。ってこれ、>>864でも触れてるじゃあありませんか。
0871774ワット発電中さん垢版2017/07/17(月) 23:35:22.04ID:DcPS9JUl
揉める頻度が減る根拠は?
分けた場合のデメリットはちゃんと把握してる?
分け方は?
0873774ワット発電中さん垢版2017/07/17(月) 23:37:13.41ID:rSrwPqCy
>PIC共通の話題はどこてする?
PIC総合スレを作ればいいじゃあありませんか。

でもね、分ける以前に
> >互いに感情を傷つけあうレスを慎まないなら分けた方が良いでしょう。
> おそらく、これが楽しいと感じる人が何人かいることが根源的な問題なんですよ。
本当はこっちをなんとかした方が良いわけですが。

たぶんね、8ビットPICスレで「PIC32 ビットを使わない爺はボケだ」なんて言う人が出てきたら、
「スレチだ総合スレでやれ」って話になります。
0874774ワット発電中さん垢版2017/07/17(月) 23:38:37.69ID:rSrwPqCy
>>872
これも>>873で。
0877774ワット発電中さん垢版2017/07/17(月) 23:41:06.35ID:rSrwPqCy
>テスタースレの分割が有効に働いてる?
>またまたご冗談を
あー。
これからフルーク禁止スレで、フルークの話題を連投する人が出てきてもカウントしません。
有効に働いていないことにしたい人がきっといます。
0878774ワット発電中さん垢版2017/07/17(月) 23:42:52.31ID:rSrwPqCy
>揉めるのがイヤなら揉めない工夫を
たいしてデメリットのないスレ分けも工夫のひとつじゃありませんか。

で、それ以外に、何かありますの?
既に無視し続けるには不快すぎるからこういう話題になるのですよね?
0879774ワット発電中さん垢版2017/07/17(月) 23:45:40.47ID:rSrwPqCy
>スレの乱立は賛成しない
だったら有効にスレ分けが働いていないPICスレも統合する方向に。
0880774ワット発電中さん垢版2017/07/17(月) 23:46:00.11ID:DcPS9JUl
君自信、電気電子とは関係ない話題を延々してスレを汚してる自覚はある?

無いなら君も彼らと同じ
悪気が無いだけたちが悪い
0883774ワット発電中さん垢版2017/07/17(月) 23:47:08.50ID:UTYyTvq2
分けたきゃ勝手に分ければいいよ
ただし後から俺ルール出してきておきながらそれを他人に強要しないのなら。

分かれた後も8bitも32bitもこれまでどおりこのスレで会話するけどその時に
「32bitは向こうのスレでやれ」とか一々強要してこないのなら勝手にどうぞ
0884774ワット発電中さん垢版2017/07/18(火) 05:44:00.91ID:7eWwVQ9B
まあ分けても過疎るだけだろうな
32bitバカってID:E7pLNk3Uみたいに薦めるだけで大したこと書てないから
0886774ワット発電中さん垢版2017/07/18(火) 06:39:32.44ID:qfL0/tqD
分けたって出張合戦になるだけだから無用。
0887774ワット発電中さん垢版2017/07/18(火) 06:56:44.22ID:6CAge1nZ
まずは、初めてスレとして整備すれば?
テンプレとか

高くて性能の低い古いPICも普通に売ってて選ぶのに困るから >>6 にまとめたり、
PICの特徴をわかった上で使ってほしくて >>5 にまとめたり
そういうの、おれが来るまで誰もやってなかったよな
おれが勝手にまとめたテンプレに対して意見すら何も出ない

あとあれば良いと思うのは、PIC関連の情報へのリンク集
0889774ワット発電中さん垢版2017/07/18(火) 07:43:35.52ID:P/ytct1a
スレ分けるより、MicroChipに、AVRコア+PICモジュールのPICAVシリーズを出してもらうように運動しよう!
みんなが幸せになれる
0890774ワット発電中さん垢版2017/07/18(火) 07:52:47.58ID:f/XGLWLm
しょせん人間の醜悪さを競うような罵詈雑言のゴミ溜めスレだぞ
細かく分けても悪臭プンプンの分別ゴミ箱が増えるだけw
0892774ワット発電中さん垢版2017/07/18(火) 08:13:34.49ID:qfL0/tqD
AVR8bitとか32の周辺ってそんなに腐ってた?
0895774ワット発電中さん垢版2017/07/18(火) 10:37:18.96ID:DeG44/DB
C言語そのものというより、ライブラリや変数の型でコード効率や、スピードで問題出てくるからね。
PICの場合、不用意に浮動小数点をつかったり、8bit変数 ですむところに 16bit変数を使うとか、
printf等のライブラリを使うとかで、余計プログラムサイズが増える。
トレードオフの問題だけど、
関数呼び出しの、オーバーヘッドを意識して、あえて、変数をグローバルエリアに確保するとか。
0896774ワット発電中さん垢版2017/07/18(火) 11:04:43.13ID:P/ytct1a
>>895
8bitのPICの場合、実コード上では、グローバルとローカルでそんなに大きく意味があるとは思えない。
0900774ワット発電中さん垢版2017/07/18(火) 12:10:40.41ID:gbOT6R2z
5Vに拘るのはアセンブラバカ。
Arduinoでレベル変換たくさん使うバカと同類。
0901774ワット発電中さん垢版2017/07/18(火) 12:15:59.95ID:qfL0/tqD
そんなにレギュレータ載せたくないの?
0902774ワット発電中さん垢版2017/07/18(火) 12:55:54.86ID:nVjybN+z
そんなところで、RaspberryPi ZeroWが1300円なりか・・・
0906774ワット発電中さん垢版2017/07/18(火) 15:30:09.36ID:P/ytct1a
電源は3.3でもいいんだけど、FETをドライブするのにポート出力が5V欲しいんだよ
3.3で直でドライブできるFETはかなり減る。
プルアップしても良いんだが、5Vトレラントでもあまりやりたくない
直接Lチカするだけでも3.3だと抵抗値が5Vより面倒くさい。
0907774ワット発電中さん垢版2017/07/18(火) 15:54:23.60ID:DeG44/DB
>>898
たとえば簡単な温度計測表示等で、整数値演算でこなせるものを、float使ったりすることですよ。
もちろん、使い分けですけど。
0908774ワット発電中さん垢版2017/07/18(火) 18:07:55.69ID:WBT7nM9D
>>907
で、どうしたいの?

>>906
無いものねだりしてもしょうがない
時代的にはマイコンの電圧は下がる方向だから、
3.3Vでなんとかする方法を考えるか
先が無いのを承知で5Vを選ぶか
しかない
バンク切り替えの何が問題?
0909774ワット発電中さん垢版2017/07/18(火) 18:09:20.84ID:WBT7nM9D
>>907
既存の物が不満なら自作するしかないが

どういう答えがほしい?
ただの愚痴?
0910774ワット発電中さん垢版2017/07/18(火) 18:32:00.85ID:J/AKPH0N
>>908
分かっているくせにわざわざ聞く嫌な野郎だな
本当に分からないのなら適正ないから事務屋でもやってろ
0913774ワット発電中さん垢版2017/07/18(火) 21:39:20.07ID:zKAMRjWg
バススイッチでいいんじゃない?
Cypressのマイコンは何故か5Vトレントが充実してるけどMicrocipのマイコン
(あと旧atmelのやつも)は5Vトレントじゃないか、トレントだとしても限られた
わずかなピンだけなんで基本的には5Vトレントなバススイッチを併用してるな
0915774ワット発電中さん垢版2017/07/18(火) 22:04:46.11ID:P/ytct1a
>>908
AVRコアにPICモジュールがなぜ欲しいかと聞かれたから
リニアアドレスで5Vそのままつなげられる頑強なIOとモジュールでDIPってのが便利だと答えたまで。
AVRはいい線っていると思うが、メーカーの対応としてはMicroChipのスタンスが好きなので。

それをないものねだりとか言われても困る。別にねだっているわけではない。

バンク切替の問題がわからない人に答えても無駄でしたね。
>>910さんの回答がナイスでした。
0916774ワット発電中さん垢版2017/07/18(火) 23:16:02.46ID:6CAge1nZ
>>889が無い物ねだりじゃないって?

運動しようとか言ってるわりに、
全く賛同を得ようという気が無い
変な人

みんなが幸せ?
お前が幸せになりたいだけだ
0920774ワット発電中さん垢版2017/07/19(水) 12:21:43.63ID:ctD0e0YN
1社がIDEを2つ持ってるのは不自然な感じがする。長期的にでもまとめて頂きたい。
0925774ワット発電中さん垢版2017/07/20(木) 10:05:08.02ID:z4oui2Fk
>>923
コピペ元がたくさんあること。
単純で制約が大きいので、やれOSだの、マルチタスクだのとややこしいところに
手を伸ばさなくても済むこと。
Atmel(AVR)などの敵対勢力はMicrochipが買収してくれるので、安泰に思えること。

などなど
0926774ワット発電中さん垢版2017/07/20(木) 10:06:18.91ID:0zN0toQM
ライターが安い
0927774ワット発電中さん垢版2017/07/20(木) 11:29:24.29ID:uSN7MDdK
>>924
8pinの作例を教えて下さい

>>925
コピペ元のリンク集をいただけると

>>926
最近はどこも安い気がする
ST-LINK/V2とかLPC-Link2とか
0929774ワット発電中さん垢版2017/07/20(木) 12:21:34.28ID:0zN0toQM
夏休みだね…
0930774ワット発電中さん垢版2017/07/20(木) 13:13:36.57ID:AvSuDKE+
ID:uSN7MDdK って質問者を装って、>>927のように周りの用事を増やしたり逆らうが目的。
相手にしなくていいでしょう。
0933774ワット発電中さん垢版2017/07/20(木) 13:31:22.72ID:AvSuDKE+
あ、>>931が書くことにケチをつけるつもりはございません。どんどん書いてあげてくださいな。
0934462垢版2017/07/20(木) 23:12:31.84ID:KhXkfk6b
久しぶりにここに来ましたが・・・

すみません 私がアスペでした
0935774ワット発電中さん垢版2017/07/21(金) 00:02:26.38ID:Zy3u7jSR
>>927
GDBとJTAGが使えるのはそこそこ安いけど、8bitクラスの書き込み器とデバッガは
PICが安いと思うな。ルネもだいぶ安くなったけどな。
AVRではDRAGON使ってるが、チップを選ぶのがいまいちだ。
0936774ワット発電中さん垢版2017/07/21(金) 06:22:10.01ID:Id4VyTdC
PICKIT3でのデバッグは精々8bitまでだな
16bitや32bitだとデータ転送が遅すぎて非常にストレス
32bitだとICD3が必須と言っても良いくらい
ただ書くだけならどっちでもいいけど

最近はROMブートローダーが内蔵していて、
ライターを使わずとも
いろいろなペリフェラルから書けるのが主流だけど
PICはそうなってないよね

ルネサスはE1が便利
RL78からRXまで使えてPICKITみたいに遅くない
0937774ワット発電中さん垢版2017/07/21(金) 07:07:33.49ID:zbVt1CU2
当てずっぽうでコード修正->デバイスで実行 を繰り返す人には致命的かもな。
0940774ワット発電中さん垢版2017/07/22(土) 01:18:08.33ID:TfC4hBxV
XC8について質問さしてください
EEPROMの0x80〜0xBFの間に

A1, B1, A2, B2, ・・・ , A16, B16

という順番で値が書かれています
これを uint8_t buff[16][2] の配列に入れたいだけなんですが、どういうコードを
書くのが一番よいのでしょうか?
多分やり方はいくらでもあって例えば

for (i=0 ; i<16 ; i++) {
buff[i][0] = read_eeprom(0x80 + i*2);
buff[i][1] = read_eeprom(0x81 + i*2);
}

でも

uint8_t j=0;
for (i=0x80 ; i<0xBF ; i+=2) {
buff[j][0] = read_eeprom(i);
buff[j][1] = read_eeprom(i+1);
j++;
}

でも何の問題もないと思うんですが、XC8においてもっとも最適な記述がしりたいです
0942774ワット発電中さん垢版2017/07/22(土) 02:26:27.39ID:lvDqxJsX
簡易的な方法として、コンパイル後のサイズが小さい方を良いと判断する
0943774ワット発電中さん垢版2017/07/22(土) 05:54:20.04ID:4G2p61XR
ポインタ使わないなら
// uint8_t j=0;
padr=0x80;
for (i=0 ; i<16 ; i++) {
buff[i][0] = read_eeprom(padr++);
buff[i][1] = read_eeprom(padr++);
}
0945774ワット発電中さん垢版2017/07/22(土) 07:11:06.74ID:jlfjZwz9
>>940
コンパイラの最適化が頼りない時は
自力で最適化を行う

uint8_t *buf = &buff[0][0];
uint8_t i = 0x80;
do {
buf[0] = read_eeprom(i);
buf[1] = read_eeprom(i+1);
buf[2] = read_eeprom(i+2);
buf[3] = read_eeprom(i+3);
buf += 4;
i += 4;
} while (i =! 0xC0);

スピード優先だとこんな感じかな?
サイズ優先だとループ展開せずに以下の一行に

*buf++ = read_eeprom(i++);

スピード優先も、もしかしたらこれを複数行並べる方が速いかも
0946774ワット発電中さん垢版2017/07/22(土) 07:24:00.73ID:jlfjZwz9
ガチガチに最適化するなら、
コンパイラが吐く結果や時間測定結果を参考に

>>945 のループの展開(ループアンロール)は、
高速化のテクニックの基本
コードサイズとスピードどちらを優先するかで
どの程度展開するかを決める

コードキャッシュが小さい場合など、
展開し過ぎると逆に遅くなる場合があるので注意
0947774ワット発電中さん垢版2017/07/22(土) 07:28:39.32ID:jlfjZwz9
do while はループ先頭で条件判断を行わないので
for より速くてコンパクトになる可能性がある

ループの最後で条件分岐するのが最適で、
この形になるように導く

for だと、
最悪ループの先頭で条件分岐し、
ループの最後で先頭にジャンプ
になるので、ジャンプが増える
0948774ワット発電中さん垢版2017/07/22(土) 07:32:05.80ID:jlfjZwz9
>>940 の前半は
コンパイラが糞だと非常に効率が悪いコードに
read_eepromのパラメータも、
乗算と加算を馬鹿正直にやるかもしれない
buffのアドレス計算も同じ

まともなコンパイラだと、
全くそんな事は気にしなくて良いのだけど
0949774ワット発電中さん垢版2017/07/22(土) 07:39:03.04ID:jlfjZwz9
いろいろ書いたけど、
大したループサイズじゃないし
コードサイズも余裕があるなら
吐かれるバイナリの質よりも
見やすくて変更もしやすいコードを心がけた方が
良い場合が多い
0950774ワット発電中さん垢版2017/07/22(土) 08:31:34.42ID:jlfjZwz9
コンパイラの最適化の設定も忘れずに
無料版でも1段階は設定可能
0951774ワット発電中さん垢版2017/07/22(土) 09:49:18.31ID:Sb5uusv4
>>945
検証できないから聞きますが、buffの配列に取得した期待値がそれで代入されます? 特定の言語処理系だからじゃなくて
スピード優先ならリテラルは敵なのでは?
スピード重視ならi+リテラルも遅くするのでは?
forよりwhileでスピードを求めてるのに実行遅くするような演算が全部の行に入ってるのはどうなんだろ
0952774ワット発電中さん垢版2017/07/22(土) 09:57:48.56ID:lkt4oF/S
昔のスパコンだと極力ループさせないようにしてチューニングしてたな。
4回回す場合は、同じのを4回書く。
容易に結果が分かる数値は、直接書く。
みたいな感じ。
0954774ワット発電中さん垢版2017/07/22(土) 10:36:28.34ID:qk8L++04
>>951
前半
多重配列のデータのならび順はC準拠であれば決まっている

後半
(さらにループを展開しない限り)演算数は最小になっている
buf, i は、提示した2通りをそれぞれ試して
速い方を選べば良い

これよりさらに最適化するなら、
吐かれるアセンブラをみたり、
速度をはかりながらやる
0960774ワット発電中さん垢版2017/07/22(土) 12:34:47.86ID:g+wBlK1Z
>>959
と、思ったけど1ワードのデータが32個かもわからんな
0963774ワット発電中さん垢版2017/07/22(土) 15:42:26.22ID:Jdv45tdf
>>940
> EEPROMの0x80〜0xBFの間に
>
> A1, B1, A2, B2, ・・・ , A16, B16
>
> という順番で値が書かれています
> これを uint8_t buff[16][2] の配列に入れたいだけなんですが、

要素数が 16x2 = 32個 ということなら EEPROM のアドレス範囲が違うのでは。

> どういうコードを
> 書くのが一番よいのでしょうか?

> XC8においてもっとも最適な記述がしりたいです

・コードサイズを最小にしたい
・実行時間を最短にしたい

以上の条件が両立するとも限らないので「一番よい」「最適な記述」は一概には言えない。
単に速くしたいのなら

buff[0][0] = read_eeprom(0x80);
buff[0][1] = read_eeprom(0x81);
buff[1][0] = read_eeprom(0x82);
buff[1][1] = read_eeprom(0x83);
buff[2][0] = read_eeprom(0x84);
〜略〜
buff[15][1] = read_eeprom(0x9f);

こんな感じで展開すれば良いし、短くしたいのなら

uint8_t i = 31;
do {
((uint8_t*)buff)[i] = read_eeprom(0x80 + i);
} while (i--);

と書くのが良いと思う。コード生成の結果はコンパイルオプション `-S' を使用して確認するべき。
何れにしろ XC8 のコード生成効率は PRO エディションでもお世辞にも良いとは言えないのでこんなことに頭を悩ますくらいならアセンブラで書くか他のマイコンを選んだほうが精神衛生上良いだろう。
0964774ワット発電中さん垢版2017/07/22(土) 16:42:24.28ID:Jdv45tdf
>>963訂正:
配列アクセスよりポインタを使って

uint8_t i = 0x80;
uint8_t* pBuff = (uint8_t*)buff;
do {
*pBuff++ = read_eeprom(i);
} while (++i < 0xc0);

とした方がコードは短くなる。但し RAM の消費は増える。
0965774ワット発電中さん垢版2017/07/22(土) 17:18:58.45ID:AIsBIsxf
コードが短くなるって言ってる人はCのソース上での話?
>940 の質問者の意図考えたらCのソースが短くなることには何の意味もないような・・・
0967774ワット発電中さん垢版2017/07/22(土) 17:53:15.62ID:Jdv45tdf
>>965
XC8 前提の話だしコンパイラの出力に決まってるだろ。「XC8 のコード生成効率は〜」とか書いてるの読めんの?
0968774ワット発電中さん垢版2017/07/22(土) 18:13:16.73ID:D5rDcn9S
xc8標準のEEPROM読書は関数ではなくマクロ展開だから
大量に命令並べるとあっという間にプログラムメモリ喰い尽くす
0969774ワット発電中さん垢版2017/07/22(土) 18:14:05.65ID:Jdv45tdf
>>964訂正:
uint8_t i = 31;
do {
buff[0][i] = read_eeprom(0x80 + i);
} while (i--);

とすると XC8 PRO エディションで最適化をすべて有効にした条件で2命令短くなる。
0971774ワット発電中さん垢版2017/07/22(土) 18:21:15.86ID:Jdv45tdf
>>968
> xc8標準のEEPROM読書は関数ではなくマクロ展開だから

XC8 標準で read_eeprom() なんてマクロは提供されていない。
0972774ワット発電中さん垢版2017/07/22(土) 18:30:59.46ID:JhS6GSkE
EEPROMで便乗です。

memory.cで以下のソース

void DATAEE_WriteByte(uint16_t bAdd, uint8_t bData)
{
uint8_t GIEBitValue = INTCONbits.GIE;

EEADRH = ((bAdd >> 8) & 0x03);
EEADR = (bAdd & 0xFF);
EEDATA = bData;
EECON1bits.EEPGD = 0;
EECON1bits.CFGS = 0;
EECON1bits.WREN = 1;
INTCONbits.GIE = 0; // Disable interrupts
EECON2 = 0x55;
EECON2 = 0xAA;
EECON1bits.WR = 1;
// Wait for write to complete
while (EECON1bits.WR)
{
}

EECON1bits.WREN = 0;
INTCONbits.GIE = GIEBitValue; // restore interrupt enable
}

これを

static int use_eeprom = 0;
void DATAEE_WriteByte(uint16_t bAdd, uint8_t bData)
{
if (use_eeprom) {
use_eeprom = 0
while (EECON1bits.WR)
{
}
EECON1bits.WREN = 0;
}
EECON1bits.WREN = 0;
}
EEADRH = ((bAdd >> 8) & 0x03);
EEADR = (bAdd & 0xFF);
EEDATA = bData;
EECON1bits.EEPGD = 0;
EECON1bits.CFGS = 0;
EECON1bits.WREN = 1;
EECON2 = 0x55;
EECON2 = 0xAA;
EECON1bits.WR = 1;
use_eeprom = 1;
}

でダメ?
0973774ワット発電中さん垢版2017/07/23(日) 20:19:13.55ID:+KT2MRq9
>>940
こんだけレス付いてんのに返事も無しかよw
0976774ワット発電中さん垢版2017/07/24(月) 06:01:29.60ID:vqg3oSsM
くっつけるって、どういうこと?
本スレと初心者スレでは、働きが全く違うよ。
別にするのが良いと思います。
0977774ワット発電中さん垢版2017/07/24(月) 06:56:44.01ID:suKZRfDi
>>975
なんで?
0978774ワット発電中さん垢版2017/07/24(月) 07:25:48.86ID:IT6WpZKq
ここ実は初心者に極論を投げつけてしたり顔する人達の隔離スレだから一緒にしちゃだめ
0979774ワット発電中さん垢版2017/07/24(月) 08:19:02.95ID:IgNzFJmE
今更PICを始めることに意味はないので自称初心者が近づいて来たら
追い払ってやるのが親切というものだろう。
0983774ワット発電中さん垢版2017/07/24(月) 22:45:55.21ID:QqVv7Vyk
>>979>>981は、人が嫌がることがわかっていてこういうことを書く人です。
相手にしなくて良いと思います。
0984774ワット発電中さん垢版2017/07/25(火) 00:15:58.93ID:tKUwUzEI
初心者がいまからPICを始めるメリットを自分の言葉で語れないから
「人が嫌がること」なんて筋違いの反応してんだなw
0985774ワット発電中さん垢版2017/07/25(火) 05:18:06.52ID:sf5U2+Gj
自分の能力が低くて使いこなせないからといって
初心者が使いこなせないって事にはならないけどなwww
0986774ワット発電中さん垢版2017/07/25(火) 07:06:28.16ID:jJpgLchu
村上春樹を読むことにメリットはない。
村上春樹を読むことのメリットを自分の言葉で語れないだろう。
↑こういうことを書く人は、ほぼアンチ村上春樹。
こういう人と、村上春樹を読むことのメリットについて議論することは無駄。
0987774ワット発電中さん垢版2017/07/25(火) 09:15:07.26ID:lKUXiUEH
今更[any words]を始めることに意味はないので自称初心者が近づいて来たら
追い払ってやるのが親切というものだろう。
0990774ワット発電中さん垢版2017/07/25(火) 15:41:01.69ID:ob2Wxawt
>>970
そうだね。30年前からやってることはほとんど同じことの繰り返し。
まるでトラ技の特集のようだ。
0992774ワット発電中さん垢版2017/07/25(火) 16:50:21.48ID:HOMN9NtT
>>986
ハルキストにとって村上春樹の作品を読むことは目的だが、PICはどう言ったところで道具であり手段でしかないので目的にはならんよ。
0993774ワット発電中さん垢版2017/07/25(火) 17:27:53.33ID:xsE2zAfR
学んでく過程で手段目的化はある話だと思うが、いつまでも続いてるんだよな、皆さん。
0994774ワット発電中さん垢版2017/07/25(火) 17:40:18.43ID:tK/J44ou
>>991
PIC NICが一緒に行くのは
0995774ワット発電中さん垢版2017/07/25(火) 21:09:54.95ID:jJpgLchu
>PICはどう言ったところで道具であり手段でしかないので目的にはならんよ。
ひとそれぞれ。
それが理解できないのは狭い。
0996774ワット発電中さん垢版2017/07/25(火) 21:20:32.17ID:Kh17S0Eq
> ひとそれぞれ。
> それが理解できないのは狭い。

初心者を含む他人に勧める理屈がないのは分かったw
0998774ワット発電中さん垢版2017/07/25(火) 21:39:15.58ID:GMKXcSc1
説明責任が果たせなくなると非難をはじめる
まるでどこやらの総理みたいだな
0999774ワット発電中さん垢版2017/07/25(火) 21:49:07.08ID:jJpgLchu
あなたに説明責任を問う資格があるわけでもないし、
俺は総理でもなくて説明責任を負うわけでもないよ。
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 78日 3時間 27分 43秒
10021002垢版Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

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

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