初めてのPIC 0x13
レス数が1000を超えています。これ以上書き込みはできません。
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/
では、質問どうぞ〜っ >コンパイラーした時に
>コンパイラー結果を
難癖付けて騒いでんのは毎度この程度の奴ら
>>945の言うのがいつものこと >>950
うちは1.45と2.00と2.05がはいってるけど2.05は入れたばかりだから短いコード出力してた
試しに1.45と2.00に切り替えてみたらクソ長いコード出力してた
でも、その裏技とかいうので実用になるならいいんじゃないかな、特に裏ワザというよりそっちのほうが素直な普通のコーディングに見えるけど…
まあC言語は低級言語だっていうのをわかっていない人が多いような気がするな、アセンブラに毛が生えた程度のものだからどういうコードが出力されるか考えながらコーディングするのが普通だと思っているんだが(C++は知らね) んー。無償版コンパイラの最適化に惚れ込んでPIC使ってるわけじゃないよね?
むしろ、わりとどうでもいいような要素だと思ってる人が多いのでは? メインルーチンは冗長でも構わんけど
割り込み処理は1命令でも短くしたいからインラインアセンブラ使わざるを得ない >>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 >>954
そういうわけではないけど、結構使えるかなと思っていて、コード追加したら、急に目論んでいた
PICに収まらなくなったんで....がくっと。 小さくて安くて好きなんだけど、ソフト開発についてはPICはいちいち面倒なんだよな… >>958
そうか?
xc8でポインターのfarもなくなって普通に組める、ただリエントラントに注意だがな。 >>956
自分もよくわかってないけどインストール後しばらくは最適化が効いててその後は効かなくなるらしい 60日ごとにPCのwindows10をクリーンインストールして、そのたびにxcナントカを
入れれば、ずっと最適化された状態で使えるってこと?
そのくらい頻繁にクリーンインストールしているような気がする。 >>962
駄目だよ
なんで駄目かはここでは言わないけどその方法でも60日チェックは有効 本スレ立ててそっちでやって
と言う初心者すら来なくなったなw >>968
流石に18F以下のPICとか使ってる人はもう居ないと思う
それこそ「PIC(18F)なんか捨ててAVRに移行した方がいい」だろ >>969
よく厭きずに同じことを10年も言い続けられるな、馬鹿なのか? ついこの間16F57を3個買ったわI2Cもどきで1602LCD動かすインタフェース作ったし
10Fも2つ買ってあるからそのうち遊ぶつもり 数えてみたら今年に入ってPIC18だけで30個くらい既に使ってた 今まで8ビットPICを主に使っていた人が、
ある用途において、今まで使っていなかった他のマイコンの採用を検討する事情や余地があるのなら
今ならARM系だよな。さすがに8ビットAVRはないと思うのだけど。 >>974
使いたいシールドと、それ用のサンプルコードが有って、PICに落とし込むのがめんどうくさいとか。 だいたい「AVRに移行した方がいい」って言ってる>>969 は世間を見ていないんだよなあ。
「18F以下のPICとか使ってる人はもう居ない」なら現状のようには売られていないよ。
ちょっと考えればわかりそうなものなのにな。
こんなちょっとしたことさえ考えられない人が「AVRに移行した方がいいだろ」だってさ。 北斗電子のルネサスキット(RX系)が便利すぎる。
秋月のPIC18F46K46基板も便利だったけど。 8pin PICは後閑さんとかの書籍が充実してるから今でも買われているというだけで、今から新規で積極的に採用するメリットが無い >>978
基本、8bitは性能よりもコスト重視の世界だからな。 >>979
ホビー用だとPICが安いけど、量産でも変わらないのかな?
製品でも単機能で使ってるのはたまに見かける。 ハードメインの人はPIC、ソフトメインの人はAVRが多くない? 100円で売られているオフタイマー付きLEDライトに、PICが使われているくらい。
今度ダイソーに行ったら、AVR使えとしつこくねちねちと文句言ってみようっと。 前に、
> CPUの選択理由は色々あるだろうけど、
> AVRで簡単に作れる仕様なのに8ビットPICでは難しい
> は重要なポイントだと思う。
とあったが、俺が趣味の電子工作でAVRを選ぶ理由は、楽しいから、だな。 プログラミングも回路設計も楽しいけど、一番楽しいのは新しいデバイスを使う時。
(AVRそのものにはもう慣れて新鮮味があまり無くなったので)
どんなんだろ?とワクワクして早くPCの前に座りたくなる。
(たとえば初めて秋月のI2C液晶AE-AQM0802のプログラムを作った時) むしろCPUを自作したほうが楽しめるんじゃないか
アセンブラ好きならマイクロコードのプログラムとか大好物たろ >>978
8pin PICは後閑さんとかの書籍が充実してる = 今から新規で積極的に採用するメリット
なわけさ、色眼鏡かけてると自分で言ってて気づけないのねw >>979
それが成立するのは、応用が8ピンで収まる場合なんだけどな。 >>983
ダイソーは在るものをただ仕入れてるだけだろ PIC使いはAVR初の世界的大ヒット品種MEGA8が出てきたころはまだ余裕があったと思うけど
(本当はここがターニングポイントで元PIC使いが大量に流出した)
アーデュイーノ(MEGA328)あたりで完全におかしくなってきたと思う マイコンチップがヒットしたとか、どうやって分かるもんなの?
オリコンみたいなの在るの? >>995
この頃。日本のアマチュアにはそれほど広がって無いよ マイクロチップテクノロジがアトメルを買収した時、AVRマイコンが
そのまま上乗せになったから、売上高が一気に倍になった
(PICはマイクロチップにとってはそれほど重要な製品ではなくなっている)
クラス別マイコンの市場占有率も、PICの競争力低下で
下位に甘んじていたが、他の大手を抜き去ってダントツ1位になった PIC超初心者です。
このスレは いつも参考にさせてもらっています。
今日は質問があり投稿しました。よろしくお願いします。
PIC24F XC16でプログラムを書いているのですが、その書く順番について教えてください。
例えば、
関数は、それを呼び出すところより上(前?)に書く必要があります。(プロトタイプするのは別として)
変数も、それを使用する点より前に宣言しておく必要があると思います。
今は、ソース先頭(上)から
・#pragma のconfigの定義
・#define の定義
・グローバル変数の宣言
・関数
・割り込み時に実行する関数
・main()
という順番で置いています。
質問ですが、
1. #pragma で config定義 を記述する文章は、どこに置くべきでしょうか?
2. 上記の結果は、PIC用の順番でしょうか、それともどのマイコンでも同じなのでしょうか。
3. 上記の順番が入れ替わっていても、MPLAB Xがワーニング無しでコンパイルできなら、
出力されたコードは同じになるのでしょうか。
よろしくお願いします。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 114日 23時間 38分 12秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。