トップページ電気・電子
1002コメント364KB
初めてのPIC 0x0e
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2018/02/13(火) 21:26:39.79ID:06sF7iiY
.
  _       _    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


 さ、質問どうぞ〜っ
  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
0189774ワット発電中さん
垢版 |
2018/03/09(金) 08:21:55.03ID:lN8CRpwv
そもそも、
遅くて良い処理を、
速くやらなきゃならないところでやってるから
問題なわけで
0191176
垢版 |
2018/03/09(金) 15:41:45.00ID:kJqgdYVU
>>177
申し訳ありません、私の知識不足でした、調べればすぐに分った事なのに・・・。
Cが一般的な今、10進演算命令は不要だと思われるのは仕方が無いですね。
AVRで採用されなかったのもこれが理由だと思います。

>>180
もちろん各処理の許容時間を十分に検討して作ります。
でなければプログラムは作れません。
さっきこのDDS制御プログラムリストを見返したら、
使用している割込みはエンコーダ・パルス入力、
UARTの受信、タイマ2個の合計4つでした。
誰がどうやろうと、タイマ以外の割込みはこうなるのかな?

私の基本的な設計方針は、
<最速最短の処理プログラムをチャッチャッと書いて終わり、
 これで出来ないならソフトでは不可能でハードの追加が必要>
ですw

(一文入魂の作文に疲れたので他の方へのレスは謹んで省略)
0192774ワット発電中さん
垢版 |
2018/03/09(金) 15:53:52.02ID:kJqgdYVU
(どうしてももう1レスだけ)

>>187 一桁を1バイトで表せばそんなに長くないだろうに?
別の理由であまり深く考えなかったけど、今、検討してみたらかなり簡略化できそう。
もしもバージョンアップする機会があれば採用してみたいです。
0194774ワット発電中さん
垢版 |
2018/03/09(金) 19:02:20.29ID:lN8CRpwv
命令数が少なくすんでも
2命令で8クロックだからなあ
PICは遅い
0196774ワット発電中さん
垢版 |
2018/03/10(土) 08:53:41.75ID:A417ifvs
何に使うって
>>176の話だよ

遅いからアセンブラでBCD命令を使ったんだろ
速けりゃそんなもん不要で
なにも気にせず標準ライブラリで済んだわけで

アセンブラじゃ開発期間も移植性も可読性も最悪
0197774ワット発電中さん
垢版 |
2018/03/11(日) 19:33:48.47ID:mur+4FNZ
質問です。

mplabxide+xc8の環境で、ビルドした際のチェックサムについてです。

ソースを変更した場合、チェックサムも変わるものですが、コードプロテクトをかけてビルドするとソースの内容によらずチェックサムが同じ値になります。
こういうもんなんでしょうか。
プロテクトをかけた時点でチェックサムも計算できなくなると言うことですかね。
0198774ワット発電中さん
垢版 |
2018/03/11(日) 21:51:09.68ID:0m/zw/2B
君がコードプロテクトと称してるのはconfig ビットの中の事?
0199197
垢版 |
2018/03/11(日) 23:25:53.01ID:mur+4FNZ
>>198
レスありがとうございます。
そうです、config内のCONFIG5LからCONFIG7Hまでの設定です。
0200774ワット発電中さん
垢版 |
2018/03/12(月) 16:29:47.14ID:V4y1r6qO
>コードプロテクトをかけてビルド
ソース中にconfig記述してるの?
結果が仕様なんだろうな
プロテクトしたら実物でもチェックサムに意味は無いのだから
気にしたら負け
0201197
垢版 |
2018/03/12(月) 18:45:02.96ID:ufCe4kXE
>>200
ソース内と言うか、
mplab x ideでコンフィグを設定→
吐き出されたコードをコピペしてconfiguration.hとして保存→
main.cでインクルード、とやってます。

コードプロテクトの方法としてもっとオーソドックスなやり方ってあるんでしょうかね。チェックサムの件はあまり気にしないことにしますが、今後のためにご教示いただけるとありがたいです。
0203774ワット発電中さん
垢版 |
2018/03/12(月) 19:28:07.38ID:v8E7meqC
>>197
チェックサムはコードが一致してるかの確認用。
プロテクトは外から内容を読み出せない様にするもの。
0204197
垢版 |
2018/03/12(月) 19:47:04.95ID:yYdA7ifp
>>202
mplabでコンフィグ設定すれば、インクルード不要と言うことですか!全然知りませんでした…今の状態でヘッダ無しでどうなるか確認してみます。
コンフィグ結果をテキストとして吐き出せるので、てっきりヘッダやソース内に記述するもんだと思いこんでました。

>>203
ありがとうございます。それは認識しているつもりですが、プロテクトをかけて中身は分からないにしても、チェックサムだけは確認できないものなのかなと思っていました。

皆さんレスありがとうございます。
0205197
垢版 |
2018/03/12(月) 20:13:18.11ID:yYdA7ifp
mplabでコンフィグ設定、ソース内にインクルードせずにビルドしたところ「コンフィグ設定されてないんで初期値を使う」旨のメッセージが出ました。
なので取りあえず今まで通りで進めます。ありがとうございました。
0207197
垢版 |
2018/03/12(月) 21:56:50.72ID:yYdA7ifp
>>206
・configuration.hをmain.cの先頭でインクルード
・cofiguration.h内のインクルードガードを削除してconfigration.cとして保存、main.c内先頭のインクルードを削除
のどちらでもビルド出来ました。後者が通常の(正しい)方法なんでしょうか?何せ基本が分かってないため手探り状態なので…
0208774ワット発電中さん
垢版 |
2018/03/14(水) 20:59:08.25ID:wSaJEMkc
ヘッダは普通複数ソースからインクルードしても良い物に使う
0210197
垢版 |
2018/03/15(木) 18:27:45.62ID:IuQOYowf
ヘッダに書いてもソースに書いても動くようですが、複数のソースにインクルードされないのでソースに書いてmain.cの先頭でインクルードすることにします。
皆さんありがとうございました。
0211774ワット発電中さん
垢版 |
2018/03/15(木) 21:44:17.19ID:8+RfXAsX
スタイルの問題だけど
ふつうは宣言を.hにしないか
.cは記述
includeで.cを取り込むのは何となく気分が…
(一般に、コンパイラによってはソースレベルデバッグで混乱をきたすこともある)
実行コード含まない配列の中身dataを取り込むときとかには使うけど
0212774ワット発電中さん
垢版 |
2018/03/15(木) 21:56:23.43ID:prz2WnjG
型定義と構造体定義までかね…
0213197
垢版 |
2018/03/15(木) 22:06:36.54ID:IuQOYowf
コンフィグレーションビットの設定が何なのか(宣言?定義?それ以外?)と言う話なんでしょうかね。

取りあえず個人用にやってるもので移植する予定が無いのであまり気にしないことにします。
0214774ワット発電中さん
垢版 |
2018/03/15(木) 22:31:53.09ID:EhMxN+rl
公開不要な宣言や定義をグローバルヘッダに書く初心者が多いよな
迷惑
0215774ワット発電中さん
垢版 |
2018/03/16(金) 07:46:17.88ID:wz2bhdQy
>>211
.cをincludeするのは気分良くないけど、
.hに実行コードがあるよりマシだと思って使う。
0218774ワット発電中さん
垢版 |
2018/03/16(金) 08:21:17.06ID:YjvFtJkr
そもそも複数ファイルにインクルードする必要があるのか?
configuration.cにして単にビルド対象に加えるだけで終わりじゃないの?
0223774ワット発電中さん
垢版 |
2018/03/16(金) 19:39:50.72ID:z19QItsd
ここはデータシート読まなくて大丈夫なスレだから大丈夫だよ
0225774ワット発電中さん
垢版 |
2018/03/16(金) 20:43:44.22ID:rNJWlb+f
最近のデバイスはconfig word 1 とword 2と設定が増えてるから
xc8の__configにどう記載すれば良いか悩むよね
0226774ワット発電中さん
垢版 |
2018/03/16(金) 21:24:55.32ID:w7CLA5wt
>>225
悩んでもどうせ分からないので検索サイトでサンプルを探してパクるのが早道
0228774ワット発電中さん
垢版 |
2018/03/17(土) 11:09:22.84ID:MLnrH9Vk
コンフィグレーションビットはPICに書き込むときにソースの通りに
書き込むかプログラマで指定した値を書き込むかを選択できる性質の
データだからコンパイルに影響するようなものではない。
0232774ワット発電中さん
垢版 |
2018/03/18(日) 17:44:46.44ID:W+rPlfbW
ど初心者です。アドバイスください。
定期的にRS232Cから文字列(数値を表したもの)出してる機器の信号を取り込んで、アナログ電圧として出力するだけのデバイスを作りたいと思い、PICを初めて触ろうと思います。

開発環境を作ろうと思ったところ、PICkit4なるものが出てるじゃないですか。PICkit3を買うべきか、PICkit4を買うべきか。
デモボードも買うべきか(そもそもデモボードって何ですか)。

よくわからないので、アドバイスください。お願いします。
0233774ワット発電中さん
垢版 |
2018/03/18(日) 18:06:43.55ID:h0qBs8bu
またエラッタ厨とかの好きそうな奴だな

PICkit3買っとけ。っていうか、この時代になぜPICを選ぶ?

デモボードってのは、安倍辞職とか書いて道路練り歩いてる連中が首からぶら下げてる奴のことだ
0235774ワット発電中さん
垢版 |
2018/03/18(日) 18:37:50.67ID:W+rPlfbW
>>233
PIC以外にどんな選択肢あるですか?
必要なときだけ接続する、可搬デバイスを作りたいのです。
シーケンサはごついです。できるだけ小さなデバイスを作りたいです。

デモボードが飾りなのは理解しました。
0236774ワット発電中さん
垢版 |
2018/03/18(日) 19:33:22.28ID:AKwVmLzI
はじめまして、開発環境とコンパイラをDLしてみようと思ったのですが
HPにてエラーにたどりついてしまいます。

今は開発環境とコンパイラはダウンロードできないのでしょうか?
0238774ワット発電中さん
垢版 |
2018/03/18(日) 20:22:24.72ID:AKwVmLzI
>>237
返信ありがとうございます。

統合開発環境 MPLAB X ttp://www.microchip.com/mplab/mplab-x-ide
コンパイラ (XC8 XC16 XC32) ttp://www.microchip.com/mplab/compilers

ちなみにPC環境はwindows7 64bitです
0240774ワット発電中さん
垢版 |
2018/03/18(日) 20:54:38.08ID:W+rPlfbW
>>239, >>233
どっちっすか…
0241774ワット発電中さん
垢版 |
2018/03/18(日) 21:01:26.26ID:AKwVmLzI
>>238
すみません自己解決できました。

↓からDLできそうでした。
ありがとうございます

ttp://www.microchip.com/development-tools/downloads-archive
0243774ワット発電中さん
垢版 |
2018/03/18(日) 21:14:39.43ID:NdYfc15y
3が半額です、ってんでもない限り4
0246774ワット発電中さん
垢版 |
2018/03/19(月) 10:03:08.45ID:++Jr0i71
>>233
なるほど、その手があったか!LED100x200くらいで首から下げてメッセージ流すやつ
作るか。もっとも、できるころには総理大臣2人くらいは変わっていそう。
0248774ワット発電中さん
垢版 |
2018/03/19(月) 14:19:03.69ID:BfjJK1SW
>>232
arduinoでもつかえば ?
パチモンでよければ基板は数100円からあるし
開発環境無料だし
0251774ワット発電中さん
垢版 |
2018/03/19(月) 22:52:43.50ID:X1LWWvvN
>>232
arduinoにするほうが絶対に良いと思う。先人のサンプルも多いし、ハードも一つ買えば完結する。
0252774ワット発電中さん
垢版 |
2018/03/20(火) 06:54:02.38ID:2+FlTUIc
・基板は数100円からある
・開発環境無料

が、なぜ

「100円の基板じゃ無料で開発出来ない」

になるのか?
読解力以前の問題。
0254774ワット発電中さん
垢版 |
2018/03/20(火) 07:12:11.62ID:VCzbGWRh
数100円で完結するというミスリードだし
初心者にパチモンを勧めるのもアホ

まあそもそも>>232自体いつもの作り話な感じもするが
0255774ワット発電中さん
垢版 |
2018/03/20(火) 07:19:10.24ID:2+FlTUIc
「開発環境無料」がなぜ「無料で開発出来ない」に変換されるのか?
0257774ワット発電中さん
垢版 |
2018/03/20(火) 07:27:59.98ID:2+FlTUIc
初心者にパチモンを勧めるのはアホは言い過ぎな気がする。
根拠は何なんだろうね。

・道義的なもの?
Arduinoの互換品はルール的な問題はない。
Pickitの酷似商品よりはマシだと思う。

・問題が発生したときのよりどころの問題?純正なら切り分けができるから?
それだったら、ちょっと前まで初心者がよくやっていたライターを作ることもアホ。
からなずしもそうはならんよね?
0258774ワット発電中さん
垢版 |
2018/03/20(火) 07:33:45.30ID:2+FlTUIc
>>256
>否定だよ
ああ、そうだね。すまん。

なぜそういうズレた否定をするんだろう。
言いたいことは「数100円払っている段階で無料ではない」だろ?

でも元レスは「開発環境が無料」って言っているのであって「無料で開発出来る」って言ってるわけでもない。

それに、基板やチップ自体にお金がかかったとしても、
IDEが無料で使えて、特にライターも要らないのであれば、人口に膾炙した表現として「無料で開発できる」で
通じるだろね。
0260774ワット発電中さん
垢版 |
2018/03/20(火) 07:39:30.43ID:2+FlTUIc
元の質問が作り話であっても、>>249>>248へのスカタンなコメントは作り話じゃないと思う。
0262774ワット発電中さん
垢版 |
2018/03/20(火) 07:52:19.88ID:2+FlTUIc
>>261
ここ、PICスレだから具体名をあげてまでの話はスレチだしやめておく。
知りたければAruduino互換スレで尋ねるか、UNO 互換 で検索すればよかろ。
0264774ワット発電中さん
垢版 |
2018/03/20(火) 07:59:21.67ID:VCzbGWRh
別に知りたいわけじゃないんだが
そんなもん無いだろアホが
ってこと
0265774ワット発電中さん
垢版 |
2018/03/20(火) 08:02:57.49ID:2+FlTUIc
>>264
>そんなもん無いだろアホが
と、過去に思っていた、という話だよな。>>262で、存在することはわかっただろ?
良かったじゃないか。自分がそれを使うことがないとしても、知らなかったことを知るようになったんだし。
0266774ワット発電中さん
垢版 |
2018/03/20(火) 10:20:39.97ID:R7qaD8dZ
井の中の蛙に教えてやろう
amazonでattiny85で検索すると出てくる274円
ハードはこれだけで開発できる
ソフトは無料のarduinoIDE
PICにもこういうのがあるといいね
0267774ワット発電中さん
垢版 |
2018/03/20(火) 10:28:48.56ID:R7qaD8dZ
ebayまで足を延ばせば ARM(STM32)環境だって数100円だ
ST-Link 239円
STM32F103C8T6 ボード226円
SW4STM32 IDE 無料

500円でおつりがくるな
大海を少しは知れたかな?
0268774ワット発電中さん
垢版 |
2018/03/20(火) 10:38:45.71ID:R7qaD8dZ
しかもARMの方はこれでソースレベルデバッグまでできる本格派
(PICでいえばICDあたりの環境?)

スレチと言われればそれまでだが不毛なカスの無価値な議論よりは
役に立つ情報だろうから書いてみた
0270774ワット発電中さん
垢版 |
2018/03/20(火) 13:22:34.49ID:eRuMmT7P
ところで
「PIC」で一括りにしているけど、8ビット、16ビット、32ビットでスレを分けた方が良くないか?
違いが大き過ぎる
0271774ワット発電中さん
垢版 |
2018/03/20(火) 13:45:39.69ID:bqoy12AH
良いよ分けなくて
どの話をしてるのかわかればそれでいい

ビット数で分けても
PIC10とPIC18じゃ大違いだし
MMとMZでも大違い
0272774ワット発電中さん
垢版 |
2018/03/20(火) 15:09:35.24ID:BvDHOU1C
叩きたい人は分けて有ろうが百羽一絡げに叩くから意味なし
0274774ワット発電中さん
垢版 |
2018/03/20(火) 15:50:22.05ID:soymXEfX
今北産業
0275774ワット発電中さん
垢版 |
2018/03/20(火) 15:58:14.88ID:soymXEfX
>>254
作り話じゃないです…
私企業の化学者でして、今後のことを見据えて少しずつ実験を機械化していきたいのです。
で、データロガーに取り込むときにはアナログ信号の方が都合がいいのですが、電子天秤の電送出力が軒並みシリアル通信でして。しかも十進数の測定値をそのままascii文字列で送るというクソ仕様。
しょうがないので自分で作るか、と。
0277774ワット発電中さん
垢版 |
2018/03/20(火) 16:57:32.35ID:R7qaD8dZ
そんなのをアナログのデータロガーで取ろうというのが前時代的
そのままパソコンのシリアルに繋いで記録取りゃいいじゃないか
後処理でそのデータからグラフでも何でも書けるだろうに
次にはPWMDACのキャリアとサンプリング定理とダイナミックレンジとノイズについて・・・
いや、なんでもない。
0278774ワット発電中さん
垢版 |
2018/03/20(火) 17:00:51.28ID:6YSMAz4g
企業の化学者がろくな精度も出ないそんなもの作ろうとして、それを5chで質問してる時点で
お前はむいてないからさっさと転職しろ
0279774ワット発電中さん
垢版 |
2018/03/20(火) 17:49:39.72ID:eRuMmT7P
ここの雰囲気はホントに殺伐としているね。
桜の便りもチラホラ聞かれる今日この頃なのに
  「物言えば唇寒し秋の風 」
0280774ワット発電中さん
垢版 |
2018/03/20(火) 18:25:36.64ID:XUVXSJRn
PICスレは民度が低く嫌味な人が多い。
その用途ならPIC関係なくArduinoかラズパイのスレの方が
優しく教えてくれるよ。
0281774ワット発電中さん
垢版 |
2018/03/20(火) 18:29:03.26ID:soymXEfX
>>277
いやいや、とりたいのは天秤データだけじゃないんですって。温度は基本的にK熱電対の電圧を直接取り込みますし、その他もろもろ、アナログ信号出す機械が多いんですって。
シリアルを直接PCに取り込むソフトならなんぼでもありますが、あの機械はこのソフト、その機械はあのソフト、温度はデータロガー…とかやってたら、後で時間揃えてデータを統合するのが死ぬほどめんどくさいでしょ?

だから全部アナログ信号に直して、1台のデータロガーでまとめて収集するのが一番楽なんです。

デジタルよりアナログの方が精度劣るのはわかりますが、この際気にしません。
0282774ワット発電中さん
垢版 |
2018/03/20(火) 18:31:22.41ID:soymXEfX
>>280
はーい。

お邪魔しました〜
0283774ワット発電中さん
垢版 |
2018/03/20(火) 18:31:46.00ID:LWFumlwH
匿名という保険を掛けつつマウント取りたがる人間には居心地がいいんだろ
普通に作って教え教えられてならSNSの方がいいのかも
0284774ワット発電中さん
垢版 |
2018/03/20(火) 18:37:53.00ID:+Xf+fuK9
>>281
目的を聞けば聞くほどarduinoを進めたくなる。
でもそれはマイコンを使う必要あるんだろうか
データ&#10145;rs232c&#10145;usbシリアル変換&#10145;usb&#10145;pc
pcでそれぞれのポートの固有番号がわかるから、番号ごとに定期的に時間とデータをエクセルにでも追記したら。適当なソフトは分からないけど他で質問したらどうでしょう
0286774ワット発電中さん
垢版 |
2018/03/20(火) 19:13:34.60ID:R7qaD8dZ
概してマイコンのDAはADより貧弱(PWMでやるとか)なので、
出力をフィルタするとか必要ならオペアンプ類でデータロガーの電圧レンジに
合わせ込むとかしなきゃいけない キャリブレーション不要ってことは無いでしょう?
DCレベルだからオフセットの調整もある。
独立した用途に合ったDACを外付けしたほうがいいかもしれない
マイコン/アナログ両方の知識が要るから0からちょっと質問して出来るようなものではないと思うよ
既成品があるか知らないが、まずそういうものがあるかどうか調べたら?
0287774ワット発電中さん
垢版 |
2018/03/20(火) 19:28:51.32ID:dtsYvq2w
>>281
このスレに来たってことは、
PICでやるって決めてるって事だよな

シリアルのフォーマット、送信間隔
必要な出力チャンネル数
必要な電圧
必要なビット数

を書けば設計してやるから書いてみな
■ このスレッドは過去ログ倉庫に格納されています

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