X



トップページ電気・電子
1002コメント349KB
初めてのPIC 0x0D
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2017/10/25(水) 21:40:54.97ID:NIu5kjbi
  _       _    PICをさわるのは今日が初めて、という超初心者のためのスレです。
  (O>――<O)    PIC選び、PICを使った回路は、誰でも最初は不安なものです。
  / (・) (・) ヽ    恥ずかしがらずに何でも聞いてください。速攻で教えてくれますよ。
  ○ /▼\ ○    質問のしかたは、初心者質問スレの発言1を見てくださいね。
  |(ヽ二フ ) |    
  /  ̄ ̄ ̄ ヽ  
 f ヽ     / |  PIC関係のスレは、レベルに合わせて以下のスレもありますので、活用しましょう。
 ヽ \  / ノ    ・PIC専用のスレ
  | \_ )(_/ !       本家本元のPICスレです。口の悪い人もいますが、楽しくやってるみたい。
  |       |       ここの話がわかるようになれば、あなたはもう一人前のPICerです。
  |       |    ・マイコンソフト 悩み事相談室
  |   | ̄ ̄|  |      マイコンソフトやツールの質問は、こちらでどうぞ。的確な回答があります。
 (_ノ    ヽ_)

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


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


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


 さ、質問どうぞ〜っ
  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
  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
0305774ワット発電中さん
垢版 |
2017/12/18(月) 22:18:28.98ID:/4pHSXVR
>>303
金かけてコンパイラ買うならまだしも、フリーで使うなら時間が経つと無駄コードが挿入されるので
シビアな用途には結果が安定しない。
其の上、鈍臭いスピードでしか動かない。

アセンブラは、普段からライブラリを充実させておけば手間はたいして掛からないし
コンパイラのせいで動作が重くなることも無い。
むしろ複雑なプログラムでもコンパクトにまとまり、同じCPUを使うならより高度な事が出来る。

結果が安定しなくても良く、潜在バグがあっても良く、鈍臭いプログラムでも良く、高度なプログラムで無くても良い
お遊びならCでも良いかな。
0307774ワット発電中さん
垢版 |
2017/12/18(月) 22:41:41.33ID:Alt4LFFf
305が言うような俺様ライブラリを素人に用意しろとか
却って逃げ出すわ
0308774ワット発電中さん
垢版 |
2017/12/18(月) 23:03:54.78ID:Swmg3150
無駄なコード挿入されてもシミュレーターで実行時間測定して
それで間に合えば十分実用になるし、足りなければ速度あげれば
可能な範囲のものはたくさんある
昔とは違って十分高速で動くPICはたくさん出てるし特に高額でもないし
速度が必要な部分だけアセンブラにしてもいいし
それ以外はCでサクッと組んでしまう方が開発時間も短くて済むし
あとで変更する場合もだれが見てもわかりやすい利点はあると思うよ
0309774ワット発電中さん
垢版 |
2017/12/18(月) 23:49:01.63ID:/4pHSXVR
>>307
逃げ出したい奴は逃げればいい。Cしか出来ない奴も別にそれで良い。
プログラムに限らないが、努力した分しか自分の身にならないし、結局は
一歩々々進むしか攻略の手段は無い。

そもそもCでちょこまか誤魔化しプログラムするのが俺の性に合わないから仕方がない。

64ビット演算とか、普通に16F1822で実行したりするけどCじゃ全然収まらないしな。

>>305に書いた様なレベルのプログラムなら俺もCを使うこともある。
0311774ワット発電中さん
垢版 |
2017/12/19(火) 00:34:41.97ID:Bml0gRrR
>>309
へえー
今はPIC16F1822とかいうPICが出てるんだあ。知らなかった
それって新製品?凄いね!
0312774ワット発電中さん
垢版 |
2017/12/19(火) 01:38:28.39ID:4QY9O26c
初めてスレなのにほとんどが濃い人というこの現実
しかも濃い方向がむっちゃ変
0313774ワット発電中さん
垢版 |
2017/12/19(火) 03:08:36.67ID:D6UZXL1N
初心者はCでいい
それで物足りなくなったらアセンブラにいってもいいし
もっと高性能なCPUに移ってもいい
人それぞれ

PICアセンブラキチガイで不思議なのは
PIC16-32bitアセンブラキチガイが居ないこと
もっと高度?な事が出来るのに、、
x86とかDSPとかではそれなりにいるのにね
不思議
0314774ワット発電中さん
垢版 |
2017/12/19(火) 05:35:59.84ID:p8opuuoW
>>313
dspic使ったこと無いだろ。dspicはCだとまともに使えない。
ま、メーカーのライブラリ使う程度ならCでも十分だが。
0315774ワット発電中さん
垢版 |
2017/12/19(火) 06:50:52.87ID:sheQO8qN
何で毎度毎度この手合いって初心者スレに湧いて来るんだろうね。サッサと移ってくれよ
0316774ワット発電中さん
垢版 |
2017/12/19(火) 08:15:35.49ID:81dn2t90
そうそう、PIC に何を期待してるんだってこと。
バリバリ計算したけりゃ ARM なり使えばいいだろ。
0317774ワット発電中さん
垢版 |
2017/12/19(火) 09:20:01.29ID:7OqCRPv8
PICのPは「peripheral」
元々単純な処理を低コストで実現するためのちっちゃなコントローラ。
だから田舎の拡張を重ねた老舗旅館になってしまった。
すっきりと作られた新館と常連客向けの本館は住み分けが出来てる。
0318774ワット発電中さん
垢版 |
2017/12/19(火) 11:33:32.27ID:PAr2ZNmh
PICは8ビット辞めて16ビットに専念すればどうだろうか?
(とりあえずは16ビットのエラッタの修正を)
8ビットのコアはAVRで十分。
0320774ワット発電中さん
垢版 |
2017/12/19(火) 21:48:09.11ID:qFLYqc9Z
>>319
へえ、そうなんだ、どこに書いてある?
読んでみたいからリンク張ってくださいな。
0322774ワット発電中さん
垢版 |
2017/12/19(火) 22:56:32.16ID:QAVcwVH/
>>320
Atme買収の際、代理店プレゼン資料に合併後の構成比率が載ってた
一般には公開されてないと思う
0323774ワット発電中さん
垢版 |
2017/12/20(水) 06:58:17.93ID:UovqQeGh
8ビットで割り算すると重いんだけど
演算ユニット積んでほしいな
0326774ワット発電中さん
垢版 |
2017/12/20(水) 12:28:38.32ID:iwP1TqjG
Unsigned int型を10進5桁で液晶表示するような場合
割り算の代わりにBCD演算アルゴリズムを適用すると
速度もコードも格段に改善する
0327774ワット発電中さん
垢版 |
2017/12/20(水) 15:17:50.95ID:u1V3jTsN
そういえばPIC18にはBCD演算補助命令があるけど、
同じ16ビットコードのAVRには無いね。
たった2桁のBCD加算でもBCD演算補助命令無しで作るのは面倒だな。
0330774ワット発電中さん
垢版 |
2017/12/21(木) 10:07:47.05ID:ZVNyfVWT
割り算ロジックをFPGAで組んで外付けしろ。
0334774ワット発電中さん
垢版 |
2017/12/21(木) 13:09:19.50ID:MWp6dGDE
>>329
加減乗算に比べてって意味
これらに比べると圧倒的に遅い

x86ももちろん遅い
加減乗算が1クロック2〜3命令実行出来るのに
除算は1命令で数十クロックかかる

だから頭の良いコンパイラは、
定数の除算は乗算に置き換える
0335774ワット発電中さん
垢版 |
2017/12/21(木) 13:11:56.80ID:0IVg5JjN
>>331
前に1%精度の割り算を速度重視で、右シフトの N*1/2、N*1/4、N*1/8・・・ の各項を
加算するかしないかの演算で近似したことがあった。
0338774ワット発電中さん
垢版 |
2017/12/21(木) 13:54:07.98ID:TE0HQqgQ
俺のカンピューターは、よく飲み代を間違えて多めに払う
朝起きると財布に小銭しかなかったりする。
0340774ワット発電中さん
垢版 |
2017/12/21(木) 14:00:10.63ID:MWp6dGDE
>>338
財布が空になるだけなら大したことない
後からカード会社に6桁請求されるのに比べたら
0341774ワット発電中さん
垢版 |
2017/12/21(木) 14:08:35.07ID:0IVg5JjN
>>336
フォトセンサからのAD入力値を正規化して0〜100%で表示するのだが、
他の方法も試してみて、結局、原始的だけどこのやり方が一番早くて、省メモリだった。
0345774ワット発電中さん
垢版 |
2017/12/24(日) 20:44:32.25ID:eS1PN+zZ
XC8 でMCCを使ってみたんだけど、不必要な関数が多くないかな?
関数多くて分かりづらい
メリークリスマス!
0346774ワット発電中さん
垢版 |
2017/12/24(日) 22:08:29.30ID:U5ue9LWa
MCCのUSB関連機能を充実してほしい!CDCだけじゃ寂しいぞ。
メリークリスマス
0348774ワット発電中さん
垢版 |
2017/12/25(月) 10:04:58.46ID:ZELpg2jo
>>346
CDCの枠組みが出来てればそこからHIDに展開してもええんやで、MLAからコード引っ張ってくるもよし
0349774ワット発電中さん
垢版 |
2017/12/25(月) 10:57:30.52ID:22+PKarP
>>348
MLAで成功したことはあるんだが、MLAはフォルダの整理がイマイチ理解できない。

CDCベースで簡単にHIDのコードが作れるの!?

14ピンのDIPでUSBが入ってると、面白いものが作れそうなんだけどな。
0351774ワット発電中さん
垢版 |
2017/12/25(月) 12:38:09.89ID:ZELpg2jo
>>349
簡単ではないが、ここでブー垂れてるよりは余程前向きだと思うが。
0353774ワット発電中さん
垢版 |
2017/12/25(月) 12:45:46.32ID:JzXcUKBK
MLAのコードを改造して作ったことはあるけど、俺はHIDが必要な用途はdigisparkに逃げた。
0354774ワット発電中さん
垢版 |
2017/12/25(月) 16:37:38.48ID:U2MMXW+W
PIC16Fのスリープとクロックの関係について質問!
データシートによると31kHz LFINTOSCはスリープ中も動作継続とあります。
ということはシステムクロック源FOSCにLFINTOSCを選択した場合、
Sleep命令を実行してもすぐWakeしてしまうのでしょうか?
その場合はSleep前にMFINTOSC-31.25kHz、Sleep後にLFINTOSCを選択すれば
解決するのかな?
0355774ワット発電中さん
垢版 |
2017/12/25(月) 17:14:31.17ID:kLMYTjZE
>>354
クロックが動いていてもwake-up信号がなければsleepは続く。でも場合によっては消費電力はほとんど変わらんかも
0356774ワット発電中さん
垢版 |
2017/12/26(火) 11:33:29.25ID:Lf5LQYDy
>>354は自己解決。LFINTOSCはSleep時に止まらずA/D,Timer等周辺機能に供給可、
一方システムクロックには供給停止しており、空きピンにLED接続して動作を
確認したらちゃんとプログラムが止まってました。
>>355さんの言うとおり最近のデバイスはSleepでも消費電流が大きいから勘違い…
---
Midrange-16F628Aは動作電流Idd=28uA→Sleep電流Ipd=0.02uAなのに
Enhanced-16F1827は動作電流Idd=28uA→Sleep電流Ipd=19uAとほとんど減ってねぇ!
3.3Vに下げて16LF1827を使うことも考えたけどLDO追加で消費電流増えるから元の木阿弥
これも半導体プロセス微細化のせいか…5V超低消費マニアは旧製品を使い続けるしかなさそう
0357774ワット発電中さん
垢版 |
2017/12/26(火) 12:41:08.21ID:u+aZnprG
19uAはいくらなんでもおかしい。
何か動いてるのがあると思う。
0361774ワット発電中さん
垢版 |
2017/12/26(火) 17:35:48.07ID:bPZbjI17
何で測ったのか書いてないけどDMMだったら微小電流計測はアテになるかなあという経験。
0363774ワット発電中さん
垢版 |
2017/12/26(火) 17:49:53.58ID:/7hahs0L
>>356も実測値じゃなくてデータシートから引っ張ってきてるんじゃないかな。
0364774ワット発電中さん
垢版 |
2017/12/26(火) 18:01:44.73ID:aO8DJ46W
>>362
うん。
で、
>5V超低消費マニアは旧製品を使い続けるしかなさそう
はどういうこと?
0365774ワット発電中さん
垢版 |
2017/12/26(火) 18:57:02.79ID:G+T6UY2G
18ピンにこだわらないなら20ピンのPIC16F18346は?

18326で試した時はスリープ電流は1uA以下だったと思う。PPS便利。
0366774ワット発電中さん
垢版 |
2017/12/26(火) 19:16:37.75ID:Zeao3CND
>>356
消費電流が3ケタも違うなんてちょっと信じられないんだけど。
データシート見ても該当する記述は無いし、実測なら測定環境が知りたい。
是非お願いします。
0368774ワット発電中さん
垢版 |
2017/12/26(火) 22:20:15.76ID:9awpJP6J
秋月の商品ページに貼ってあるAdvanced InformationなデータシートD022値と
microchip本家最新のデータシートD022値って全然違うんだな…
バケラッタもあることだしこれからは最新版をチェックすることにしよう
0369774ワット発電中さん
垢版 |
2017/12/26(火) 22:41:27.16ID:qFpwXjTr
スタンドアロン用途ならPIC便利なんだけどWiFiだのなんだの周辺とのつながりを求め始めると
他にいっぱい選択肢出てきちゃったからいまさら感が。。。
冬眠モード使えるから設置してから3年後に作動する遅延起爆装置なんかには便利だろうけど
0371774ワット発電中さん
垢版 |
2017/12/27(水) 12:43:42.29ID:22mySsTl
家で不労所得的に稼げる方法など
参考までに、
⇒ 『武藤のムロイエウレ』 というHPで見ることができるらしいです。

グーグル検索⇒『武藤のムロイエウレ』"

LK7S6VYCY7
0372774ワット発電中さん
垢版 |
2017/12/27(水) 16:45:24.99ID:MmkkY8a8
冬休みに入ってからPICを勉強を始めたのだけど、
MPLAB v4.05の使い方で結構はまってます。
PIC16F627Aで48kHzの内部オシレーターを使う場合の記述方法(C言語)を教えて下さい。
PCONの値をセットするだけなのだろうけど・・・
0373774ワット発電中さん
垢版 |
2017/12/27(水) 18:13:52.65ID:MPAmrt3M
#pragma config
あとはくぐってくれ
0375774ワット発電中さん
垢版 |
2017/12/27(水) 19:24:33.70ID:MmkkY8a8
>>373

#pragma config FOSC = INTOSCIO
#pragma config WDTE = OFF
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = ON // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is MCLR)
#pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD disabled)
#pragma config LVP = OFF // Low-Voltage Programming Enable bit (RB4/PGM pin has digital I/O function, HV on MCLR must be used for programming)
#pragma config CPD = OFF // Data EE Memory Code Protection bit (Data memory code protection off)
#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)

はmainの外に記述でよくて

PCON = 0x00;

はmainの先頭に記述すればよいのか?(3V駆動させたいのでBron)
0376774ワット発電中さん
垢版 |
2017/12/27(水) 19:34:10.83ID:MmkkY8a8
>>374
3V駆動(リチウムコイン電池で稼働)
内蔵クロックあり(低クロックの省電力)
I/O8系統以上
PICProg4U + ハーフマットのRCDライタで焼ける
の条件で探した結果です。
もっと使いやすくて安価なものがあればご教示下さい。
0378774ワット発電中さん
垢版 |
2017/12/27(水) 20:54:22.02ID:RFBb826p
>>376
俺もRCDライタ作って、628や648でいろいろ作ったよ。10年くらい前。

ライタが対応してれば、PIC16F18326か、18346かな。
0379774ワット発電中さん
垢版 |
2017/12/27(水) 21:28:08.96ID:+GYAiUZs
627A/628A/648Aの内部48kHz動作時は110uAも食うのか…
CR2032連続動作電流が200uAだからペリフェラルに回す余裕があまりなさそう
0380774ワット発電中さん
垢版 |
2017/12/28(木) 00:25:16.29ID:Bz2+gZ4X
>>377
なんでそういう言い方になるの? >>376が何かした訳でもないだろうに。
0381774ワット発電中さん
垢版 |
2017/12/28(木) 03:50:45.15ID:Rkiio48I
おれは誤爆かと思ったが
アンカーも無いのに>>376のことだと即断できるのは
>>380も同じ気持ちってことかなw
0382774ワット発電中さん
垢版 |
2017/12/28(木) 03:57:23.14ID:qIJbRI1M
冬休みに入って始めた人が7年以上も前に更新されたっきりの
古いチップにしか対応してないプログラマを使う意味が分からんな。
1000円ちょいでほぼ純正と同じライターが買えて、
こっちは最新のPICでも書き込めるってのに。
0383774ワット発電中さん
垢版 |
2017/12/28(木) 06:55:04.94ID:ZVgYLh/d
>冬休みに入って始めた人が7年以上も前に更新されたっきりの
>…意味が分からんな。

学校や部活だと
・古い機材を使う
・テキストの更新も大変なので継続的な教材を使う
・ライセンス的に怪しいものは使いにくいので新しいものを生徒に行き渡らせるのはお金がかかる
ということが考えられます。

乱暴に嘲るより、フラットに>>376に選択理由を尋ねた方がいいのでは。
0385774ワット発電中さん
垢版 |
2017/12/28(木) 07:33:08.51ID:J3YA1RZc
白色LEDとか青色LEDはリチウムコイン電池だと厳しかろうに
FETもゲート電圧2.5V以下は高いし遅いので4V品が便利やし
0386774ワット発電中さん
垢版 |
2017/12/28(木) 08:10:05.32ID:fpxizmLb
10年前の骨董品ではどうにもならないか・・・
持ってる機材と旧くて浅い知識ではどれが最新のPICなのかも分からない状態なんです。

>>382
できれば、具体的な商品と購入可能なショップを教えて下さい。
ライターのリプレースも検討します!
0388774ワット発電中さん
垢版 |
2017/12/28(木) 10:26:14.48ID:3Nqsfmr4
ライタは通販でpickit3
互換機で良ければaliで互換機
18ピンならPIC16F1827or1747
20ピンで良ければPIC16F18346
14ピンに収まるならPIC16F18326
LFがあるならLF
PICじゃなくて良いならArduinoNanoかdigispark
0389774ワット発電中さん
垢版 |
2017/12/28(木) 10:40:14.39ID:3Nqsfmr4
CR2032で消費電流を極小にしたいならArduinoはボードに余計なものが付いてるからダメだった。
0391774ワット発電中さん
垢版 |
2017/12/28(木) 11:37:16.99ID:7wTrpqUZ
>>388
色々ありがとうございます
pickit3が鉄板なのですね
すぐに試したいのでamazonで互換品を買いました
これから日本橋にPICを買いに行ってきます
あとは PIC16F18326 の仕様を勉強せねば・・・
ConfigurationBitsも多くて一つ一つ調べて理解するが大変
道のりは遠いです
0392774ワット発電中さん
垢版 |
2017/12/28(木) 11:49:23.51ID:3Nqsfmr4
>>390
AVRを外すこと前提でArduinoを書き込み器と考えてZIFソケット付きのを買えばそれもアリなんだけど、、、、
量産するならそうするかも知れないけど、、、

>391
18326なら仕様を勉強しなくても、MCC使えば簡単だよ。
0393774ワット発電中さん
垢版 |
2017/12/28(木) 11:59:56.56ID:WZrRrshB
>>392
AVR 以外の余計なものを外すってことだろ。
USB シリアル変換とか電源周りとか。
0394774ワット発電中さん
垢版 |
2017/12/28(木) 12:43:41.52ID:3Nqsfmr4
実装面積、価格、難易度、納期、ロット数によりけりかな。
0396774ワット発電中さん
垢版 |
2017/12/28(木) 13:23:33.35ID:8ClxJ5kn
>>390
トリって何?
0397774ワット発電中さん
垢版 |
2017/12/28(木) 14:25:37.55ID:fpxizmLb
>>392
みなさん色々ありがとう
こんな便利なpluginがあったのですね

クロックの設定方法意味分からんなぁ・・・質問しようかなぁ・・・
と考えてた矢先の情報で感謝です。
0398774ワット発電中さん
垢版 |
2017/12/28(木) 16:37:40.67ID:XlLuA46W
肝心のPICが日本橋に売ってない(涙)
0399774ワット発電中さん
垢版 |
2017/12/28(木) 16:43:40.20ID:TbZ6V0O/
>>383
絵空事だけの偽善者は今日も空回り。
で、勉強不足の質問主に対するコメントは無いの?
0401774ワット発電中さん
垢版 |
2017/12/28(木) 16:54:57.68ID:khWMmHOI
売ってないならサンプル請求してもバチは当たらないでしょ。
0402774ワット発電中さん
垢版 |
2017/12/28(木) 17:28:05.39ID:9ubgnbAq
仕事で採用して大量に使う予定でも無ければ、仕事で使う人達の迷惑だからやめてくれ。
0403774ワット発電中さん
垢版 |
2017/12/28(木) 18:38:26.57ID:/am1zNHG
誰が迷惑なのかよくわからん。PICがサンプル送ってくるのだって会社業務の一環だぞ。
■ このスレッドは過去ログ倉庫に格納されています

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