X



トップページ電気・電子
1002コメント381KB
初めてのPIC 0x13
レス数が1000を超えています。これ以上書き込みはできません。
0001774ワット発電中さん
垢版 |
2019/02/15(金) 02:43:20.44ID:8fa5ISEr
PIC初心者のためのスレです。
こことは別に「PIC専用のスレ」があります。

質問・回答するときは…
 PICの型番と開発環境を明記しましょう。
 プログラムはレス内に直接書き込まず以下を利用しましょう。
  ttp://codepad.org/
  ttps://pastebin.com/
 解決したら結果報告しましょう。
 Atmel買収以降アンチによる荒らしも横行しているので無視しましょう。
 (特にスレ立て当初はこぞって荒らしに来るのでスルー。)
 質問内容に沿った回答を心がけましょう。
 回答者が勝手に話を膨らませても初心者には迷惑なだけです。
 「PIC専用のスレ」へ誘導した上で思う存分あちらでどうぞ。

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

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

過去スレ
 0x12 2018/09/19〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1537343778/
 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/

では、質問どうぞ〜っ
0952774ワット発電中さん
垢版 |
2019/06/07(金) 18:17:44.96ID:OI2sA+hA
>コンパイラーした時に
>コンパイラー結果を
難癖付けて騒いでんのは毎度この程度の奴ら
>>945の言うのがいつものこと
0953774ワット発電中さん
垢版 |
2019/06/07(金) 19:02:06.78ID:0PxPWhEe
>>950
うちは1.45と2.00と2.05がはいってるけど2.05は入れたばかりだから短いコード出力してた
試しに1.45と2.00に切り替えてみたらクソ長いコード出力してた
でも、その裏技とかいうので実用になるならいいんじゃないかな、特に裏ワザというよりそっちのほうが素直な普通のコーディングに見えるけど…
まあC言語は低級言語だっていうのをわかっていない人が多いような気がするな、アセンブラに毛が生えた程度のものだからどういうコードが出力されるか考えながらコーディングするのが普通だと思っているんだが(C++は知らね)
0954774ワット発電中さん
垢版 |
2019/06/07(金) 20:16:17.72ID:ZL8po2vx
んー。無償版コンパイラの最適化に惚れ込んでPIC使ってるわけじゃないよね?

むしろ、わりとどうでもいいような要素だと思ってる人が多いのでは?
0955774ワット発電中さん
垢版 |
2019/06/07(金) 20:26:17.38ID:Fn/lE8II
メインルーチンは冗長でも構わんけど
割り込み処理は1命令でも短くしたいからインラインアセンブラ使わざるを得ない
0956774ワット発電中さん
垢版 |
2019/06/07(金) 20:47:04.17ID:aN6ZERHj
>>953
v2.05入れたら、短いコード出ました。これは、しばらく経つとまた、冗長なコードになるんでしょうか?

volatile uint32_t ret = dmy1 | (uint16_t)dmy2 <<8 | (uint24_t)dmy3<<16 | (uint32_t)dmy4<<24 ;
0xE51: MOVLW 0xDD
0xE52: MOVLB 0x0
0xE53: MOVWF 0x6B
0xE54: MOVLW 0xCC
0xE55: MOVWF 0x6A
0xE56: MOVLW 0xBB
0xE57: MOVWF 0x69
0xE58: MOVLW 0xAA
0xE59: MOVWF ret
0957774ワット発電中さん
垢版 |
2019/06/07(金) 20:49:46.65ID:aN6ZERHj
>>954
そういうわけではないけど、結構使えるかなと思っていて、コード追加したら、急に目論んでいた
PICに収まらなくなったんで....がくっと。
0958774ワット発電中さん
垢版 |
2019/06/07(金) 23:46:25.36ID:XFHczHU1
小さくて安くて好きなんだけど、ソフト開発についてはPICはいちいち面倒なんだよな…
0959774ワット発電中さん
垢版 |
2019/06/08(土) 06:37:46.08ID:jdy0qLMB
>>958
そうか?
xc8でポインターのfarもなくなって普通に組める、ただリエントラントに注意だがな。
0960774ワット発電中さん
垢版 |
2019/06/08(土) 07:13:37.21ID:vW1NliUs
>>956
自分もよくわかってないけどインストール後しばらくは最適化が効いててその後は効かなくなるらしい
0962774ワット発電中さん
垢版 |
2019/06/08(土) 12:28:39.02ID:msJDZ4Pk
60日ごとにPCのwindows10をクリーンインストールして、そのたびにxcナントカを
入れれば、ずっと最適化された状態で使えるってこと?
そのくらい頻繁にクリーンインストールしているような気がする。
0963774ワット発電中さん
垢版 |
2019/06/08(土) 12:59:59.41ID:D3IwhZE2
>>962
駄目だよ
なんで駄目かはここでは言わないけどその方法でも60日チェックは有効
0966774ワット発電中さん
垢版 |
2019/06/08(土) 17:01:25.93ID:bSDI/CPh
本スレ立ててそっちでやって
と言う初心者すら来なくなったなw
0969774ワット発電中さん
垢版 |
2019/06/09(日) 01:40:44.92ID:qeg/qEj3
>>968
流石に18F以下のPICとか使ってる人はもう居ないと思う

それこそ「PIC(18F)なんか捨ててAVRに移行した方がいい」だろ
0972774ワット発電中さん
垢版 |
2019/06/09(日) 03:54:18.67ID:Oli6f3L3
ついこの間16F57を3個買ったわI2Cもどきで1602LCD動かすインタフェース作ったし
10Fも2つ買ってあるからそのうち遊ぶつもり
0973774ワット発電中さん
垢版 |
2019/06/09(日) 05:40:51.54ID:AXbRhkFO
数えてみたら今年に入ってPIC18だけで30個くらい既に使ってた
0974774ワット発電中さん
垢版 |
2019/06/09(日) 07:50:10.47ID:vqIWyy44
今まで8ビットPICを主に使っていた人が、
ある用途において、今まで使っていなかった他のマイコンの採用を検討する事情や余地があるのなら
今ならARM系だよな。さすがに8ビットAVRはないと思うのだけど。
0975774ワット発電中さん
垢版 |
2019/06/09(日) 09:25:03.88ID:op+sEKR6
>>974
使いたいシールドと、それ用のサンプルコードが有って、PICに落とし込むのがめんどうくさいとか。
0976774ワット発電中さん
垢版 |
2019/06/09(日) 10:20:25.12ID:vqIWyy44
だいたい「AVRに移行した方がいい」って言ってる>>969 は世間を見ていないんだよなあ。

「18F以下のPICとか使ってる人はもう居ない」なら現状のようには売られていないよ。
ちょっと考えればわかりそうなものなのにな。

こんなちょっとしたことさえ考えられない人が「AVRに移行した方がいいだろ」だってさ。
0977774ワット発電中さん
垢版 |
2019/06/09(日) 10:34:24.19ID:YpCxfnuF
北斗電子のルネサスキット(RX系)が便利すぎる。
秋月のPIC18F46K46基板も便利だったけど。
0978774ワット発電中さん
垢版 |
2019/06/09(日) 10:35:20.35ID:atU/3D+M
8pin PICは後閑さんとかの書籍が充実してるから今でも買われているというだけで、今から新規で積極的に採用するメリットが無い
0980774ワット発電中さん
垢版 |
2019/06/09(日) 10:53:39.13ID:op+sEKR6
>>979
ホビー用だとPICが安いけど、量産でも変わらないのかな?
製品でも単機能で使ってるのはたまに見かける。
0982774ワット発電中さん
垢版 |
2019/06/09(日) 11:36:49.28ID:OAUas4ot
ハードメインの人はPIC、ソフトメインの人はAVRが多くない?
0983774ワット発電中さん
垢版 |
2019/06/09(日) 12:20:02.50ID:LXtpSCdi
100円で売られているオフタイマー付きLEDライトに、PICが使われているくらい。
今度ダイソーに行ったら、AVR使えとしつこくねちねちと文句言ってみようっと。
0984774ワット発電中さん
垢版 |
2019/06/09(日) 13:32:12.04ID:bjr2U56V
前に、
> CPUの選択理由は色々あるだろうけど、
>  AVRで簡単に作れる仕様なのに8ビットPICでは難しい
> は重要なポイントだと思う。
とあったが、俺が趣味の電子工作でAVRを選ぶ理由は、楽しいから、だな。
0986774ワット発電中さん
垢版 |
2019/06/09(日) 14:02:26.85ID:bjr2U56V
プログラミングも回路設計も楽しいけど、一番楽しいのは新しいデバイスを使う時。
(AVRそのものにはもう慣れて新鮮味があまり無くなったので)
どんなんだろ?とワクワクして早くPCの前に座りたくなる。
(たとえば初めて秋月のI2C液晶AE-AQM0802のプログラムを作った時)
0987774ワット発電中さん
垢版 |
2019/06/09(日) 14:28:39.47ID:q5mq5Woe
むしろCPUを自作したほうが楽しめるんじゃないか
アセンブラ好きならマイクロコードのプログラムとか大好物たろ
0988774ワット発電中さん
垢版 |
2019/06/09(日) 14:29:09.06ID:c8sBMHAa
>>978
8pin PICは後閑さんとかの書籍が充実してる = 今から新規で積極的に採用するメリット
なわけさ、色眼鏡かけてると自分で言ってて気づけないのねw
0990774ワット発電中さん
垢版 |
2019/06/09(日) 16:24:12.92ID:YHEfRF0f
>>983
ダイソーは在るものをただ仕入れてるだけだろ
0993774ワット発電中さん
垢版 |
2019/06/09(日) 20:50:05.46ID:qeg/qEj3
PIC使いはAVR初の世界的大ヒット品種MEGA8が出てきたころはまだ余裕があったと思うけど
(本当はここがターニングポイントで元PIC使いが大量に流出した)
アーデュイーノ(MEGA328)あたりで完全におかしくなってきたと思う
0994774ワット発電中さん
垢版 |
2019/06/09(日) 21:36:31.24ID:Bj/vqbbt
マイコンチップがヒットしたとか、どうやって分かるもんなの?
オリコンみたいなの在るの?
0996774ワット発電中さん
垢版 |
2019/06/09(日) 22:02:05.68ID:qeg/qEj3
>>995
この頃。日本のアマチュアにはそれほど広がって無いよ
0998774ワット発電中さん
垢版 |
2019/06/10(月) 01:30:35.77ID:pGSXZ+ay
マイクロチップテクノロジがアトメルを買収した時、AVRマイコンが
そのまま上乗せになったから、売上高が一気に倍になった
(PICはマイクロチップにとってはそれほど重要な製品ではなくなっている)

クラス別マイコンの市場占有率も、PICの競争力低下で
下位に甘んじていたが、他の大手を抜き去ってダントツ1位になった
0999774ワット発電中さん
垢版 |
2019/06/10(月) 02:21:02.13ID:o91G5ZmR
PIC超初心者です。
このスレは いつも参考にさせてもらっています。
今日は質問があり投稿しました。よろしくお願いします。

PIC24F XC16でプログラムを書いているのですが、その書く順番について教えてください。
例えば、
関数は、それを呼び出すところより上(前?)に書く必要があります。(プロトタイプするのは別として)
変数も、それを使用する点より前に宣言しておく必要があると思います。

今は、ソース先頭(上)から
・#pragma のconfigの定義
・#define の定義
・グローバル変数の宣言
・関数
・割り込み時に実行する関数
・main()
という順番で置いています。

質問ですが、
1. #pragma で config定義 を記述する文章は、どこに置くべきでしょうか?
2. 上記の結果は、PIC用の順番でしょうか、それともどのマイコンでも同じなのでしょうか。
3. 上記の順番が入れ替わっていても、MPLAB Xがワーニング無しでコンパイルできなら、
  出力されたコードは同じになるのでしょうか。

よろしくお願いします。
1000774ワット発電中さん
垢版 |
2019/06/10(月) 02:21:32.65ID:o91G5ZmR
すみません、次スレに投稿し直します。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 114日 23時間 38分 12秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

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

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