X



トップページ電気・電子
1002コメント428KB
初めてのPIC 0x12
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2018/09/19(水) 16:56:18.51ID:F4lNkPz3
PICを触り始めて比較的日が浅いという初心者のためのスレです。
もちろん、日は経っているが自分はまだ初心者という方も大歓迎です。
PIC選びやPICを使った回路設計は誰でも最初は不安なものです。
恥ずかしがらずに何でも尋ねてみましょう。
なお、PIC関係のスレにはもう1つ「PIC専用のスレ」があります。

質問・回答する際は…
 必ずPICの型番と開発環境を明記しましょう。
 プログラムはレス内に直接書き込まず以下を利用しましょう。
  http://codepad.org/

その際心がけることは…
 品格に劣る回答者はスルー(相手すると逆効果)
 素人玄人などと上から目線の回答者は無視
 良い回答が出るまでしばらく再発言しないのもあり(良回答は後に出やすい)
 回答者のアドバイスで後日解決したら結果報告
 回答者は初心者に優しく
 Atmel買収以降アンチによる荒らしも横行してるので見かけても無視
 (特にスレ立て当初はこぞって荒らしに来るのでスルー)


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

必要なハードなど
 初心者はPIC16F1以降の型番で始めると無理なく始められます。
 最初からPIC32で始めるのもあり。
 MCCの利用でハードルはむしろ低いです。
 http://akizukidenshi.com/catalog/g/gI-11902/
 プログラムの書き込みには書き込み器が必要です。
 持っていない場合はPICkit4などを購入しましょう。
 なお、eBayやAliExpressで買えるPICkit3の中華クローンも十分な性能が報告されています。
 PIC一覧、スペック検索
  ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1005
  ttp://www.microchip.com/maps/microcontroller.aspx

過去スレ
 0x11 2018/08/05〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1533446166/
 0x10 2018/06/29〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1530265723/
 0x0F 2018/05/01〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1525183933/
 0x0E 2018/02/13〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1518524799/
 0x0D 2017/10/25〜 ttp://rio2016.5ch.net/test/read.cgi/denki/1508935254/
 0x0C 2017/07/27〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1501157324/
 0x0B 2017/05/08〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1494235320/
 0x0A 2017/01/04〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1483498857/
 0x09 2016/09/07〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1473238791/
 0x08 2016/04/30〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1461994030/
 0x07 2016/02/05〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1454648249/
 0x06 2015/07/18〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1437151298/
 0x05 2015/04/07〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1428391368
 0x04 2015/01/02〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1420205108

では、質問どうぞ〜っ
0333774ワット発電中さん
垢版 |
2018/11/16(金) 09:07:14.33ID:w9QEq/T3
まじか・・・ 何ちゃんか書けよぅ・・・
0339774ワット発電中さん
垢版 |
2018/11/26(月) 09:25:43.58ID:5/r1ReKi
しょっちゅう仕事で中国行ってるが、先端分野、開発、設計ではもう勝てないね
日本が勝ってるとしたら、安物の品質だけかな。向こうの安物はいまだに酷い
今は風俗も日本のほうが安くて良い
0340774ワット発電中さん
垢版 |
2018/11/27(火) 10:04:29.59ID:cakUJ7X+
mplabx のdebug simulator の watch で変数のサイズを order変えたり、
16bit,24bit とsize変えて見る方法ないですか?
昔の、mplab ではできるんですけど。
xc8などの純正のCではなくて、アセンブラ。
0341natu
垢版 |
2018/11/27(火) 15:23:33.81ID:/SOPeT5V
>>340
Watchウインドウの表示項目部分を右クリックして
Type:Type of watch variable を選んで表示させ
出てきたType欄を右クリックしてUse Defined Size
でサイズを選択すればOK
0343774ワット発電中さん
垢版 |
2018/11/27(火) 18:24:30.54ID:cakUJ7X+
>>341
mplabx v4.15 です。

Display Value Column as
の下に

Use Defined Size

の項目が出てないのです。
0344natu
垢版 |
2018/11/28(水) 09:47:22.77ID:rf2pzwIO
>>343
私のMPLABXは、V5.05だった。
古いのかもしれないね。
0346774ワット発電中さん
垢版 |
2018/11/29(木) 09:13:52.95ID:OpDrtkEY
PIC16F1778 とか、OPAMP、10bitDACと、便利なんだけど、乗算器つけてほしいなー
PIC18Fのペリフェラル充実でもいいんだけどね。
0348774ワット発電中さん
垢版 |
2018/11/29(木) 10:05:27.06ID:CpDREwWJ
オペアンプあるならアナログで乗算。
0349natu
垢版 |
2018/11/29(木) 10:23:10.37ID:mWDBrTpA
>>345
隠れた設定でも有るんですかね。
Tool→Optionsでv5.05の設定をExport(All)してみました。
自身の設定を保存しておいて↓をImportしても変わらんかね?

ttp://www.mars.dti.ne.jp/~m7030/MyMPLABXpref.zip
0353774ワット発電中さん
垢版 |
2018/11/29(木) 13:40:13.22ID:mWDBrTpA
>>352
blockStartAddrの定義は、どんな感じでしてます。
既に型がunsigned charになってるみたいだけど?
0354774ワット発電中さん
垢版 |
2018/11/29(木) 14:54:18.18ID:OpDrtkEY
>>353
コンパイラ(cc5x)が吐き出した、asmだから、

blockStartAddr EQU 0x227

という定義ですね。

mplabxのプロジェクトには、この asm ソースしか食わせてません。
0355774ワット発電中さん
垢版 |
2018/11/29(木) 16:49:15.12ID:mWDBrTpA
>>354
でも、その定義だけだとblockStartAddrは、単なる数値だから
Watchに入れられないんじゃなかろうか。
どこかにunsigned charになる呪文が有りそうな気がします。多分…
0357774ワット発電中さん
垢版 |
2018/11/29(木) 19:08:56.10ID:OpDrtkEY
>>356
別環境で、C言語でコンパイルして、asmにしたものをmplabx でbuildして使ってます。
asmリスト見ても、特別な呪文はなかったですね。
0358774ワット発電中さん
垢版 |
2018/11/29(木) 19:23:05.76ID:mWDBrTpA
>>357
うーん。難しいですね。
思いっきり端折った再現できるXプロジェクトを何処かに
UP出来ませんでしょうか?
0359774ワット発電中さん
垢版 |
2018/11/29(木) 20:45:32.44ID:RC+lSeVa
>>339
1980年代に日本は電子・情報産業を捨てた(てか、国の指導で捨てさせられた)んですけど?
0363natu
垢版 |
2018/11/30(金) 10:31:36.00ID:w+MCgedZ
>>362
Absolute modeだとEQU定義でも1byte変数としてWatchに登録できるのね。
消極的な対策だと思うけど、見たい変数のアドレスをName部分に入力すると
そのアドレスからサイズが指定できるようになるようです。

http://iup.2ch-library.com/i/i1953149-1543541012.png
0364774ワット発電中さん
垢版 |
2018/11/30(金) 14:50:56.44ID:h9brlIeO
>>363
確認しました、素晴らしいです。
アセンブラからだと、これしか方法がないということでしょうか。
何か呪文をソースにかければ、便利なんですけどね。
0365774ワット発電中さん
垢版 |
2018/11/30(金) 15:30:23.55ID:w+MCgedZ
>>364
リロケータブルで作れば普通に変数名でWatchサイズを変えられるんですけど
CC5Xが吐き出したソースを改変したり、LKRファイルを加えたりとかするのは、
大変な気がしますね。
0366774ワット発電中さん
垢版 |
2018/12/13(木) 15:39:53.57ID:xG7Bz7cz
MPLAB IPE v5.05 ですが、プログラム書込み成功時に鳴動するビープ音を消したいのですが可能でしょうか?
0369774ワット発電中さん
垢版 |
2018/12/15(土) 10:54:18.44ID:/Gr9wqdK
これPICKitとの違いが分からないんだけど何が違うんでしょうか。
0370774ワット発電中さん
垢版 |
2018/12/15(土) 11:07:13.39ID:/wv4R8qi
>>369
安い
まだ対応が完璧でないデバイスがある(Xに対応表がついて来るとの事、Xのバージョンが上がれば対応数も増える?)
なぜか書き込みコネクタが新種の8ピン構成(PICKIT4でもなんかピン数増えてたような)
裸(一応ゴム足つき)

みたいだけど昨晩秋月の通販でちらっと見ただけだから違うかも
0371774ワット発電中さん
垢版 |
2018/12/15(土) 12:37:09.16ID:T6hcM3d9
>>369
どっかのサイトに書いてあったけどVppの生成回路を省略して(対応デバイスを限定したから)コストダウンしたらしい
0377774ワット発電中さん
垢版 |
2018/12/15(土) 22:37:09.33ID:d2qqLA+Q
>マイクロチップ純正の低価格インサーキットデバッガ/プログラマです。
>ほとんどの電気的消去が可能なPIC、dsPIC、AVRをサポートしています。


>ほとんどの電気的消去が可能なPICをサポートしています。


>ほとんどのPICをサポートしています。
0378774ワット発電中さん
垢版 |
2018/12/16(日) 08:58:57.99ID:Y99mGwl2
AVRが正式に使えるってことじゃね?どこまで使えるかは知らんが
0379774ワット発電中さん
垢版 |
2018/12/16(日) 18:02:29.72ID:4u+cty6R
AVRとPICって両方使えるとメリットありますか?
こういうものにはAVRで、そういうのだったらPICとか…。
ライターは中華クローンなら送料も無料でもう5〜600円安いわけですが、
それだとAVRは書けないので、
MPLAB SNAPを買うメリットは何かなと思いまして…。
0381774ワット発電中さん
垢版 |
2018/12/16(日) 18:18:52.51ID:E2xEfw1f
これこれこういうものが欲しいと思った時にインターネットして見つかった作例が
AVRだったら素直にAVRで作るかな。なのでたまにAVR使うことがある
ゼロベースから作るときは慣れ親しんだPICで作ることが多いけどAVRの
ほうがメモリとか潤沢なことが多いのでそういう場合はAVR使う
0382774ワット発電中さん
垢版 |
2018/12/16(日) 19:10:34.43ID:ykJKBfaX
>>379
PICライターなのにアルディーノのブートローダーも書けるとか値段を考えたらそこそこいいのでは?
0383774ワット発電中さん
垢版 |
2018/12/17(月) 13:16:57.38ID:PlT+mYzI
私はプログラミングが趣味なので、迷うこと無くAVR+フルアセンブラ。
また、作例なんて見ないし探さない。
初めてtiny2313をI2Cマスターで動かした時は、時間が掛かったがそれもまた楽しい。
0384774ワット発電中さん
垢版 |
2018/12/17(月) 18:20:40.07ID:fhqB3Ilu
プログラミング=アセンブラ
文科省の官僚並みの近視眼。
0385774ワット発電中さん
垢版 |
2018/12/17(月) 18:24:32.82ID:YQQf7ABz
>>383
なんでプログラミングが趣味だとフルアセンブラなの?
その2つには何の関連性もない気がするんだけど
0386774ワット発電中さん
垢版 |
2018/12/17(月) 18:44:22.16ID:ZVdzcdzm
仕様を妄想してる時と目的が達成できた時は楽しいが回路図描きやプログラミング自体が楽しいとは思わないな。
0389774ワット発電中さん
垢版 |
2018/12/17(月) 21:34:51.66ID:filYPLXf
インストラクションをニーモニックでなくコードで覚えてるんだろな。


Z80時代は私も覚えてましたよ。
バイナリーエディターでメモリーダンプ見てデバグなんて日常茶飯事。
0391774ワット発電中さん
垢版 |
2018/12/17(月) 22:02:26.31ID:PxU5Gnep
Z80でハンドアセンブルは普通
そう思っていた時期が俺にもありま…ねーよ
0394774ワット発電中さん
垢版 |
2018/12/17(月) 23:04:26.59ID:rV7dKPMO
紙テープでハンドIPL
0395774ワット発電中さん
垢版 |
2018/12/18(火) 00:13:14.25ID:i4fePtWE
pic16f1827で時計を作りたいんだけど初心者すぎてさっぱりだ
I2CでRTCと通信したいんだけどいい本やサイトありませんか?
0396774ワット発電中さん
垢版 |
2018/12/18(火) 00:29:32.29ID:O071JyR2
1文字修正するのに紙テープの穴を貼ってふさいで穴をあけなおすってどこのじじいだよ
…ってオレか
0397774ワット発電中さん
垢版 |
2018/12/18(火) 01:12:13.91ID:wy5Ilgf8
>>395
PIC16F I2C RTC で検索
あなたの仕込みじゃないかと思うほどそのものズバリのサイトがトップに
0398774ワット発電中さん
垢版 |
2018/12/18(火) 02:11:54.59ID:i4fePtWE
>>397
ありがとうございます
0399774ワット発電中さん
垢版 |
2018/12/18(火) 03:19:03.25ID:d9y8BhEo
>>392
紙テープをつなぐための糊付きで薄い全穴テープというのがあったことを何千年かぶりに思い出しちまったぜ。
0401774ワット発電中さん
垢版 |
2018/12/18(火) 07:34:22.39ID:UaOfMsM6
>>385
私の初めてのCはボーランドのTurboーCだったんだけど、
その説明書のインラインアセンブルの章の最初に
「CPUの持つパフォーマンスを100%発揮できる言語はアセンブラだけです。
 Cプログラマといえどもアセンブラを熟知していなければいけません」
と書いてあった。
で熟知するあまり、小さなMCUのプログラムはアセンブラに乗り替えてしまったw

ま、それはともかくCで書いているとMCUとの密着間、ダイレクト感が無いんだよね。
なんか相手と自分との間に薄い膜が存在しているみたいでさw
それにプログラムサイズや実行速度を追及したり、
小さなMCUでマルチタスクを作ったりするにはフルアセンブラでないと無理がある。

AVRを選ぶ理由はPICよりもアーキテクチャがアセンブラに向いているから。
説明は省略するけど、アセンブラで両方やってみればすぐに分る。

世の中はギブ&テイク、Cで得たものがあれば失ったものもある。
アセンブラも同じ。
「フルアセンブラで書きます」は趣味だから出来る事だと思うし、
楽しみ方のポイントも人それぞれだと思うから、好きな方を選べば良い。
人のやり方にケチを付けるつもりはありません。
0402774ワット発電中さん
垢版 |
2018/12/18(火) 07:59:24.40ID:SL6TxVGV
Cプログラマであっても機械語がどういう仕組みで動いてるか知る事は必要だと思うが、
コンパイラと同等以上の最適化を自分で出来るかと言われると自身が無い。
0403774ワット発電中さん
垢版 |
2018/12/18(火) 08:06:34.78ID:TT7ibdfg
>>402
>コンパイラと同等以上の最適化を自分で出来るかと言われると自身が無い。
ああ、絶対無理だからw
CPU自体が昔の単純な構造になってない
0404774ワット発電中さん
垢版 |
2018/12/18(火) 08:26:12.09ID:gfF0NLZP
個人的にはアセンブリ言語だと失うもののほうが大きいことが多いから避けるけど
アセンブリ言語が好きな人がそれにこだわるのも悪くはないよね。
0405774ワット発電中さん
垢版 |
2018/12/18(火) 12:31:45.22ID:/6+UB5zQ
アセンブラから始めるとポインタの概念は理解しやすいけど
お気楽極楽な小物作るときは迷わずCで組んでしまうな
0407774ワット発電中さん
垢版 |
2018/12/18(火) 12:55:21.64ID:TT7ibdfg
>>406
じゃあもっと言ってやろうか、仮にCPUが単純でも人のやる最適化はもうソフトウェアには勝てないよ
それはもうずっと前からだ
いつの頃の経験で自慢したがってるのかは知らないが
0409774ワット発電中さん
垢版 |
2018/12/18(火) 16:05:02.51ID:x/C02iaq
>>405
アセンブラ必要なのは、シビアなタイミング必要な処理か、dsp命令位だと思う。
0410774ワット発電中さん
垢版 |
2018/12/18(火) 17:36:54.30ID:xA677fe1
>>409
あと、メモリが少ないときとかですね。

アセンブラがCPUを100%引き出す可能性があるのは確かですが、
よっぽど優秀か物好きかってところですね。
0411774ワット発電中さん
垢版 |
2018/12/18(火) 18:31:25.12ID:SL6TxVGV
以下、サイクル単位の計算ガー は無しで。
0412774ワット発電中さん
垢版 |
2018/12/18(火) 21:21:31.79ID:0yYJdydX
>>399
パンチで修正するのもあった
0413774ワット発電中さん
垢版 |
2018/12/18(火) 21:38:59.90ID:gfF0NLZP
CPUの性能を引き出そうとするのはなにがしかの効率を求める行為。
コンパイラやインタプリタを使うのもなにがしかの効率を求める行為。
0414774ワット発電中さん
垢版 |
2018/12/18(火) 22:19:48.13ID:AtqF9Azc
データ構造も含めてアセンブラで最適化すれば早くも小さくもなるが、めっちゃ面倒だよな。
>>407 はその程度の能力しかないってこと。
0415774ワット発電中さん
垢版 |
2018/12/18(火) 22:58:26.21ID:gfF0NLZP
最適化なんて機械にまかせておいたらいい、って話をしている人をつかまえて
「その程度の能力しかないってこと」ってさすがにおかしい。
0420774ワット発電中さん
垢版 |
2018/12/19(水) 13:05:34.56ID:dtnCsbBx
>>412
紙テープ用の1穴パンチというのがあったのも何千年かぶりに思い出したよ。
0424774ワット発電中さん
垢版 |
2018/12/19(水) 22:35:39.52ID:ekC3tB3Y
8ビット限定で話進めるとパイプラインあったら1命令に4クロックも掛けないだろ。
0425774ワット発電中さん
垢版 |
2018/12/20(木) 07:18:01.88ID:jm4CU1IO
PIC16F は、
・読み出しに4クロック、実行に4クロック。
・2段パイプラインで、見かけ上4クロックで1命令。
じゃなかったですかね。
0427774ワット発電中さん
垢版 |
2018/12/20(木) 18:14:08.66ID:82mRgBpT
PIC18FでUSB機器作ってるんだけど、PID OUTが短い間隔で連続で来るとNAKしか返答しなくなってUSB割り込みが発生しなくなってしまうことが起こって困る。
データトグルビットが怪しいのでロジアナで見ても正常に反転してるっぽいし原因がさっぱりわからん。
エラッタかと思ったがエラッタの話題すると荒れそうだしどうしたもんか・・・。
0429774ワット発電中さん
垢版 |
2018/12/24(月) 07:21:19.73ID:RT46c9DC
いいえマルチ
だからマルチ
そうねマルチ
とてもマルチ
いやんマルチ
ばかんマルチ
すきよマルチ
そこよマルチ
いくわマルチ
あぁんマルチ
■ このスレッドは過去ログ倉庫に格納されています

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