X



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

質問するときは…
 ・PICの型番と開発環境を明記しましょう。
 ・プログラムは、レス内に直接書き込まず下記を利用しましょう。
    ttp://codepad.org/  ttps://pastebin.com/
 ・解決したら結果報告しましょう。
 ・ここはPICマイコンのスレです。AVRの自慢話は「AVRスレ」でお願いします。
回答者の先輩は…
 ・威張らず、偉そうにせず、上から目線にならず、優しく答えてあげましょう。

ハード、ソフト情報
 ・統合開発環境 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
 ・PIC一覧、スペック検索
    ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1005
    ttp://www.microchip.com/maps/microcontroller.aspx
 ・初心者はPIC16F1以降の型番で始めると無理なく始められます。
    MCCを使えば、最初からPIC32で始めるのもありです。
 ・プログラムの書込みには書込器が必要です。
    予算に応じてPICkit4、SNAPなどを購入しましょう。
    ttp://akizukidenshi.com/catalog/g/gM-13854/
    eBayやAliExpressで買えるPICkit3の中華クローンも十分な性能が報告されています。

直近スレのご案内
 0x14 https://rio2016.5ch.net/test/read.cgi/denki/1560111789/ 2019/06/10〜
 0x15 https://rio2016.5ch.net/test/read.cgi/denki/1567831628/ 2019/09/07〜
 0x16-0x19 欠番です
 0x20 https://rio2016.5ch.net/test/read.cgi/denki/1596523661/ 2020/08/04〜
 0x21 https://rio2016.5ch.net/test/read.cgi/denki/1617716381/ 2021/04/06〜

では、質問どうぞ
0002774ワット発電中さん
垢版 |
2021/11/13(土) 12:53:55.30ID:4YyGt12Z
O2
0006774ワット発電中さん
垢版 |
2021/11/13(土) 17:47:58.41ID:aPDqbYnG
MPLAB, MCC, XC16 (以上全部無料)
あとPICKit4 があれば、PICの環境は全部整うので、手軽な部類だと思う。
仕事で使ってもいいと思うし。
0008774ワット発電中さん
垢版 |
2021/11/13(土) 19:28:15.79ID:aPDqbYnG
いえいえ、XC8もよろしいと 思います。
16しか使わないので失礼しました
0009774ワット発電中さん
垢版 |
2021/11/13(土) 20:12:47.87ID:srsEGSwi
>>8
それは安心しました。
16bit教徒なのかと思ってしまいました。

それにしてもドングル欲しい。
0010774ワット発電中さん
垢版 |
2021/11/13(土) 21:03:34.90ID:iT5Em3Fp
PICKit4 がちと高いけどね。
あんなもので儲けるなよって思ってしまう。
0011774ワット発電中さん
垢版 |
2021/11/13(土) 22:31:25.06ID:TsMDn4HH
あれを高いと言うような乞食は相手にしてないんだろう
変に使われても程度の低いクレーム対応でマイナスになりそうだ
0013774ワット発電中さん
垢版 |
2021/11/14(日) 10:48:23.69ID:WITMEx6M
民生品のゲームみたいに大量に売れるわけでもない開発ツールで1万円程度で「儲けるなよ」は厳しい言い方。
SNAPもあるんだし、選択肢は提供されていると思う。
0014774ワット発電中さん
垢版 |
2021/11/14(日) 21:44:52.09ID:VBcKgvLw
連枝ってPICでラダー組めるソフト使ってみてるんだけど…
多ピンの石使いたい場合フリー版だともはや化石の877しか使えないんです。
887に移植出来ればなぁ〜と思ってるけど無理かな…。
0015774ワット発電中さん
垢版 |
2021/11/14(日) 22:18:52.54ID:L5Jw6aZc
>>14
LDmicro ってのがある
887も対応してるみたい

使った事ないからどうなのか知らないけど
Arduinoでやるのが楽ちんなんかな
0016774ワット発電中さん
垢版 |
2021/11/15(月) 20:34:22.73ID:iJ1vbJh4
>>13
デバイスを売るためのもの販促ツールみたいなもんだろ?って思ってしまうわ。
nucleoなんて切り離しても使えるST-Linkまでオマケでついてくるのにね。
0017774ワット発電中さん
垢版 |
2021/11/15(月) 23:14:14.50ID:QD3lNYU6
STmicroはARMで先行していたNXPに追いつくのに相当に戦略的な拡販を進めたしね。

今後Microchipが強い拡販の動機を持ったときには同じように評価・環境ツールが安くなるかも。
0018774ワット発電中さん
垢版 |
2021/11/16(火) 19:56:06.60ID:I3oM6JAh
サイプレスみたいにPSoC4の評価ボードのライターとしてPSoC5が載っているなんていう逆転現象が起きているのもちと笑えたりするけど。
0019774ワット発電中さん
垢版 |
2021/11/17(水) 12:57:50.71ID:NjRLBXWm
教えて下さい。
秋月で買った16f1454でusb hid使いたいのだけど、MCCではサポートしていないのかな?
0021774ワット発電中さん
垢版 |
2021/11/19(金) 16:10:21.84ID:uGm2M6Jg
>>20
usb CDCとVenderしか出てこなくて、HIDのやり方がわからないんです。
説明不足ですみません。
002419
垢版 |
2021/11/21(日) 06:59:31.40ID:5Mcvl/23
ありがとう。その方法でためしてみるよ。
0025774ワット発電中さん
垢版 |
2021/11/26(金) 12:50:15.91ID:/uvFuVEW
Pythonでpic出来ますか?
0026774ワット発電中さん
垢版 |
2021/11/26(金) 20:03:07.79ID:FOmNtrCy
SeeeduinoのSAMDなるものがあってな、
ってMicrochipだけどPIC違うか
0029774ワット発電中さん
垢版 |
2021/11/28(日) 12:57:46.54ID:qFYSCTPi
Cythonがそういう方向も志向してるんじゃなかったか。知らんけど。
でもいくらなんでも8ビットPICはしんどいような。
0030774ワット発電中さん
垢版 |
2021/11/28(日) 16:06:55.29ID:oDJxLvFx
小物をちょろっと作るのにはいいけど、
MPLABがしんどいわ。
0031774ワット発電中さん
垢版 |
2021/11/28(日) 16:37:58.15ID:fqryNRl5
Pythonってインタプリタじゃないのか?
テキストと実行エンジンを載せるとROMが足りなくなると思うんだが。
0033774ワット発電中さん
垢版 |
2021/12/02(木) 02:30:54.02ID:xBFW9iQe
xc8って、PROライセンスでないと inline 函数は機能しないのですね。
例えばI2Cの初期化函数なんて一度しか実行しないんだから、inline化して呼び出しのオーバーヘッドを減らしたかったのに。

結局、#define で対応する羽目に。
0034774ワット発電中さん
垢版 |
2021/12/02(木) 04:16:14.54ID:5U3dW78S
>>33
インラインを使う事自体が、、、、
0035774ワット発電中さん
垢版 |
2021/12/02(木) 07:08:57.22ID:I2pTaP+w
一度しか実行しない関数をインライン化して、どれぐらいのオーバーヘッドを減らせられるんだろう。
ほぼ気持ちの問題みたいな気がする。
0037774ワット発電中さん
垢版 |
2021/12/02(木) 09:06:48.20ID:h44n3/Km
>>35
BME280 というセンサーを 8pin の PIC12F1840 で扱おうとしてるのですが、
センサーから読みとった値を式変換して表示するだけでプログラム領域を約70%使っていて、
少しでも減らしたいのです。
プログラムが入らなくなったら、諦めて14pin PIC の使用を考えます。

PIC16F18115 はまだ手に入らないし。
0038774ワット発電中さん
垢版 |
2021/12/02(木) 09:18:15.22ID:5U3dW78S
>>37
プログラム領域を約70%使っていて、

7kBもあるのに?
0039774ワット発電中さん
垢版 |
2021/12/02(木) 09:22:49.92ID:I2pTaP+w
浮動小数点を使ってるとかsprintfを使ってるとか。しらんけど。
0044774ワット発電中さん
垢版 |
2021/12/04(土) 20:29:06.22ID:7mOcroIF
そんなもん使うのか・・・
まあPICも人それぞれってことか。

UARTで出した先で演算できればそれがいいんだが。
0045774ワット発電中さん
垢版 |
2021/12/12(日) 07:49:54.61ID:B0db9mOX
演算パッケージ(演算できるCPU)がUARTを持っていれば、PICと接続して使える。
0046774ワット発電中さん
垢版 |
2021/12/12(日) 15:36:36.50ID:yAKi6KfY
あ、でもその演算できるCPUがPICの作業分まで負担すればPICなんかいらないかw
0047774ワット発電中さん
垢版 |
2021/12/12(日) 16:17:56.22ID:q+eXmpzT
センサーから読みとった値を式変換して表示するだけで何kW消費するつもりよw
0048774ワット発電中さん
垢版 |
2021/12/12(日) 16:24:47.97ID:pPmf5AiB
>>45,46
少しROMの容量大きなPICで良くね?
あとコンパイラのオプションで浮動小数点の精度落すと少し速度と容量の節約になる(豆)
0054774ワット発電中さん
垢版 |
2021/12/15(水) 12:02:08.27ID:uNBv35jE
>>51
PIC32使うくらいなら、ARMにしようなかな?ってなる人も多そうだけどね。

下はCortex-Mから、上はスパコンまでARMだし、「とりあえずARM」なんて感じで。
0056774ワット発電中さん
垢版 |
2021/12/16(木) 00:19:59.38ID:dmMO3oab
ARMだとJTAG/SWDデバッガがつかえたりするけどね。オープンソースのBlack Magic Probeとか。
STM32のnucleoのST-Linkみたいにみたいにデバッガがボードにオマケでついてきたり、ブートローダを内蔵してたりするのも結構あるよね。
0057774ワット発電中さん
垢版 |
2021/12/21(火) 14:35:42.77ID:8neGnenj
初心者ですが教えてください。
PICでロータリーエンコーダーのA相とB相の回転パルスを取り込んで
車輪の回転から距離を出したいと思います。
前後回転もあるので数値はプラスとマイナスになります。
メインでその変数を参照して、12345だから5.9mとか知りたいです。
ネットで検索してもダイヤルのエンコーダーしか出てきません。
H8には位相計数モードがあってハードで増減してくれるようです。

質問なんですが
メインでは無く見かけ上バックグラウンドで計数したいのですが、
PICでやるときはタイマー割込みを使うしかないのでしょうか。
A相の↑用、↓用として外部割り込みを2本使用して
同じ変数名をインクリ、デックリする方法はできるでしょうか?
それかPICに位相計数モードを内蔵したPICはありますか?
0058774ワット発電中さん
垢版 |
2021/12/21(火) 15:03:48.88ID:ZpHhcQ7J
PiCじゃないけど外部割り込みで検出とカウントやってるよ。
チャタリング対策はちゃんとしような。
0059774ワット発電中さん
垢版 |
2021/12/21(火) 15:19:43.95ID:BuhRJppv
>ネットで検索してもダイヤルのエンコーダーしか出てきません。
最後の長音記号とって「PIC ロータリーエンコーダ」で検索してご覧
0060774ワット発電中さん
垢版 |
2021/12/22(水) 19:12:39.49ID:YqLR1+B8
>>57
QEI 機能がロータリーエンコーダーカウントののっかったPIC
ハードウェアでカウントしたり、カウント値で割り込みかけたり
モーター制御に便利、カウンタも32bitとかあるから重宝する
dsPICとかPIC32MKにある

で、8bitPICだとIO状態変化割込みかけて
割込み掛かった時に、前の割込み時のAB相の状態と比較して
カウントアップしたりカウントダウンするプログラムを
書いたりしてやる
0061774ワット発電中さん
垢版 |
2021/12/23(木) 00:53:13.05ID:CNPp96t1
みなさん、ありがとうございました。
>>60
キーワードを知りませんでした。
教えてくださって、ありがとうございました。
探してみます。
0062774ワット発電中さん
垢版 |
2021/12/23(木) 12:02:37.82ID:7RkNSlBq
趣味人も多い電気電子界隈でも、比較的アカデミックな色彩が強い文化圏でだと、
三音以上の場合には最後の長音を省くという文化があるんよな。。。
 うろ覚えだけど 文部省(当時)が学術用語なんたらの指針で云々というハナシだったような。

(ならなんでロータリーはロータリじゃないのかというハナシも もっともだが;なんでなんだろな;^p^)
0063774ワット発電中さん
垢版 |
2021/12/23(木) 12:07:31.39ID:tpqAVzbX
そう言うの無意味だからやめろ。 検索も長音の有無くらいで結果変わったりしない。
0064774ワット発電中さん
垢版 |
2021/12/23(木) 12:14:10.86ID:7RkNSlBq
まじすか・・・僕がグーグル先生に頼って検索したときに割り込みで
実装している例も上位にヒットしたのはキーワードじゃなかったのか
アポリアの所在を誤認しましたサーセン(^p^;)
0065774ワット発電中さん
垢版 |
2021/12/23(木) 15:44:07.89ID:XMwtOlYC
>>57
私が前に秋月で購入した、クリック有りREを使ったときは、
 A相ON割り込みを許可
 ・A相ON割り込み処理
  B相のON/OFFレベルに従ってCW/CCWフラグの何れかをセット
  A相ON割り込みを禁止
  タイマ割り込みを起動
  (チャタリング時間より十分に長く、最速のA相パルス幅より十分に短く)
 ・タイマ割り込み処理
  タイマ割り込みを禁止
  A相ON割り込み(フラグをクリアして)を許可
 メインループではCW/CCWフラグをポーリングでチェックして
 立っていたら必用な処理を実行
使用するREによって変ってくると思うので、まずはREの説明書を何度も読み、
次にREを手で回しながら、オシロスコープでA/B相波形を10分位眺めつつ、構想を練るw
0066774ワット発電中さん
垢版 |
2021/12/24(金) 06:55:14.85ID:15diqZmt
安いロータリーエンコーダの場合は接点が摺動するから普通のON/OFFスイッチの
ように切り替わりのときだけチャタリングが出るんじゃなくて途中でもグリッチ
が出る。
周期割り込みでONならカウンタをプラスOFFならカウンタをマイナスして適宜
スレッショルドを切り替えるみたいなやり方でチャタリングを取るのがいいと思う。

光電式の数千円するようなロータリーエンコーダならチャタリングも出ないけど
安いのを使うにはそれなりの工夫が必要だね。
0067774ワット発電中さん
垢版 |
2021/12/24(金) 07:06:34.81ID:MYrbsHLt
どこの安モンだよ
十種は扱ったが中華のインクリメンタルエンコーダーでも
そんなんお目にかかった事ない。
ウイグル人が強制労働で震える手で作った奴?
0068774ワット発電中さん
垢版 |
2021/12/24(金) 07:40:38.09ID:n7aUoliP
>>67
最初は良くてもあっという間に…
いくら中国上げの工作員を送り込んでも
それが中華クオリティ
0069774ワット発電中さん
垢版 |
2021/12/24(金) 08:59:00.51ID:yX9uKtqI
え? それはつまり、某人民の共和国でゲットしたピカチュ〇は外形がちょっと違ってても
電圧値がちょっと怪しいだけだろうと思って油断してたら、PIC PICした瀕死なウイグル人の呪いで
ある日突然煙を吹いて 爆発することがありえるということですか!? にわかには信じがたいんですけど!!
0071774ワット発電中さん
垢版 |
2021/12/24(金) 16:01:24.77ID:400dCKBx
xc8 って、PRO ライセンスだと最適化 -O2 より2割から3割くらい小さくなるのな。

その為だけに 20 万円強も金出せないけど。
0072774ワット発電中さん
垢版 |
2021/12/24(金) 18:11:09.84ID:MYrbsHLt
それが嫌でSTM32に移行したよ。
0075774ワット発電中さん
垢版 |
2021/12/25(土) 09:14:31.25ID:3ck1FvMq
>>71-72
異なるマイコン、コンパイラの組み合わせで、どこまでの最適化が無料かどうかを比較する意味あるんかいな。
0076774ワット発電中さん
垢版 |
2021/12/25(土) 10:52:33.78ID:H4ldtQ8S
CLCってどういう使い方があるのですか? 使う機会が無い。
0077774ワット発電中さん
垢版 |
2021/12/25(土) 12:39:14.46ID:3ck1FvMq
複数の信号の条件が成立したときに割り込みをかけたり、タイマーを
動かしたり。パルス出力を外部条件でON/OFFするのにも使える。

条件の判定をプログラムでやると遅延や応答のジッタが大きくなるけれど
ハードウェアでなら最小にできる。
CLCがない場合は、マイコン外部にロジック回路を追加することになる。
0079774ワット発電中さん
垢版 |
2022/01/06(木) 13:17:54.67ID:tCd2I9m2
最近の動向を全然調べていなかったけど
ご発言を拝読するに、あれか? PICにFPGAが搭載され始めたのかな?
日進月歩とは言うけれど、すごい時代になったもんやなぁ・・・
0080774ワット発電中さん
垢版 |
2022/01/06(木) 21:36:42.73ID:QLBVstni
SFRで制御できるLUT、MUX、FFがいくつかあるだけでFPGAとはレベルが違う
0081774ワット発電中さん
垢版 |
2022/01/07(金) 19:24:56.77ID:fycxoSdg
CPLDで最小のものとなると32レジスタぐらいだと思うけれど、CLCは1つで1レジスタだし、
2個搭載でも、最小のCPLDの 1/16 だしね。
だから、それでオリジナルなカウンタとかステートマシンはしんどい。

グルーロジックみたいなものだと思えば。
0083774ワット発電中さん
垢版 |
2022/01/08(土) 01:22:14.56ID:13BLWtw7
後発のものは程度の差こそあれ、たいてい既存のものの要素を含むもの。
わざわざ「真似」という悪いイメージをともなう言葉を使うのはなんだろな。

うっかりすると、元祖こそが至高、という発想に陥るよ。
0084774ワット発電中さん
垢版 |
2022/01/09(日) 11:27:09.37ID:2QmJ92L+
>>80
マイコンに内蔵されてると、CCPとかタイマーとかSPIとかの機能を組み合せるのに便利
0085774ワット発電中さん
垢版 |
2022/01/11(火) 20:18:39.59ID:wN++cSSD
Microchip、組込制御エンジニア向けオンライン講座の日本語提供を開始 | TECH+
ttps://news.mynavi.jp/techplus/article/20220111-2247204/
0086774ワット発電中さん
垢版 |
2022/01/15(土) 13:23:30.69ID:leqgGQSO
>>83
合法的に真似たなら「真似」で良いじゃん。なんら違法な物ではないのだし。

静電容量式タッチセンサーが本格的に民生機器で使われるようになったのにもPSoCは貢献したし、GUIでペリフェラルの設定をすると初期化コードとかライブラリが自動生成されるとかいった、開発環境なども含めてPSoCが与えた影響は大きかったなってね。

あのくらいサービスのいいものを提供してほしいなあとは思うわ。
0087774ワット発電中さん
垢版 |
2022/01/15(土) 14:55:26.59ID:qY+xQG96
Harmony …
0088774ワット発電中さん
垢版 |
2022/01/15(土) 18:03:59.29ID:hVHNuehr
小池さんがラーメン以外を美味しいとは思わないのと同じで、
うっかりすると人間って使い慣れた環境が一番良い環境だと思うものさ。
比較の議論をしたいなら、比較スレに行ってどうぞ。
0089774ワット発電中さん
垢版 |
2022/01/16(日) 09:32:41.25ID:5/Zysbvm
別に比較の議論なんかする気はないな。
でも、あの内部レジスタのドキュメントが一切不要な便利さは導入してほしいなとは思う。
0090774ワット発電中さん
垢版 |
2022/01/16(日) 10:52:49.96ID:Bn2uEoAF
メーカーに言うべきことを他社を引き合いにPICスレに書いておいて「別に比較の議論なんかする気はない」
0091774ワット発電中さん
垢版 |
2022/01/20(木) 23:55:38.46ID:DaWD2tIX
初心者です。PICを使った基板を作ろうと、回路図を書いているのですが、
ピンの割り付けでわからないことがあります。
マイコンはdsPIC33EP128ですが、質問教えてください。
昔と違って、今はI/Oピンの位置が変更できるようです。
リマッパブルピンと言うようですが、中には固定のピンもあります。

どのピンが固定で、どのピンが変更可能なのかが知りたいのです。
データシートを見ると「OUTPUT SELECTION FOR REMAPPABLE PINS (RPn)」
という表があり、その中に U1TXとか OC1とか SDO1 とか書かれています。
これら この表に書かれているピンは、場所変更可能で
この表に書かれていない機能ピンは固定のピンである、と考えれば良いのでしょうか。

あと、表の中に「DEFAULT PORT」と書かれているのですが、
これは通常のGPIOのことであり、GPIOは全て変更可能である、
と考えれば良いのでしょうか?
0092774ワット発電中さん
垢版 |
2022/01/21(金) 01:02:20.56ID:n/dfhiMx
>>91
概ねあってると思う
MPLAB X IDEにMCCのプラグイン入れたらGUIで確認(設定)出来るので組み合わせ試してみて
0093774ワット発電中さん
垢版 |
2022/01/21(金) 16:01:54.64ID:7pgCmY+V
>>92
ありがとうございました。
やってみました。配置可能なポートには、色が付いて分かりやすいですね。
どうもありがとうございました。

すみません、もう一つ教えてください。
PKOB とは、何でしょうか?

PicKit On the Board の略なのだそうですが、
検索してもズバリの説明にたどり着けませんでした。
BootLoaderとは違うのか、気になってしまいました。
0095774ワット発電中さん
垢版 |
2022/01/21(金) 22:17:24.42ID:7pgCmY+V
>>94
ありがとうございます。
確かにご紹介のページの表ボードに、マイクロBのコネクタが付いたコネクタがありますね。
ブートローダーがソフト的にPICKitを省いてくれるなら、PKOBはハード的にPICKitを省略してくれる感じですね。
ありがとうございます。

ちなみにそのページにある評価ボードの左上角にある1列のホールって
穴の配置が千鳥に見えるのですが、何かの間違いでしょうかね。

どうもありがとうございました。
0096774ワット発電中さん
垢版 |
2022/01/22(土) 12:37:47.02ID:wBEZld30
初めてのMCCで教えてください
USB内蔵のPIC24Fで、ゼロから自分で作ったプログラムがあります。
これにUSB機能を追加したいと思います。
外部にFT243...などのICをつけるのではなく、
内蔵USBモジュールを使用したいです。
さすがにUSBを自分で作るのは辛いので、
MCCを使いたいです。

このように、既存のプログラムに、
あとでMCCで機能追加をすると
MCCによって既存の部分が壊されて、
既存の部分が動かなくなってしまうのでしょうか?
例えば、MCCで生成した変数名が
既存の変数名と同じになってしまうとか、
UART1を既存側で使用済みなのに、
MCCがそのピンを使用してしまうとか、
発生しないのでしょうか?

MCCが生成するとき、既存の状況を全部調べた上で、
回避するのでしょうか?
0097774ワット発電中さん
垢版 |
2022/01/22(土) 14:01:18.62ID:zqKH1nD7
>>96
MCCの出力するコードの多くはそれほど干渉しない
基本的な部分(システムクロック・割り込み・ピン状態等)の設定があり
それ以外は機能を追加しないと影響が出ない、MCCから各機能を追加すると周辺モジュール等が設定(にて初期化)される

質問の回答を待つより試した方が早いと思う
1からPICのレジスタを操作できる位の知識・経験があればMCCがどのように機能するかはすぐに理解できると思う
つまり、手機能なプロジェクトを作成してMCCがどのようなコードを出力するのかを見て理解した方が早いと思う
また、現在作成したプロジェクトをバックアップしてMCCを後から追加した場合にどのような干渉を受けるかを試した方が早いと思う

>>MCCがそのピンを使用してしまうとか
これに関してはPPSに対応してればGUIで使用するピンを選択できる
また、PPSに対応してない場合は干渉する機能をONにした場合はそのピンを使用する動きをする

>>MCCが生成するとき、既存の状況を全部調べた上で
そのような機能は無くMCCに設定されてる変数名(関数名)にて作成される

つまり、MCCは設定・コード作成を行うと見える形(コードとして)出力されるので
ある程度マイコンを扱える人ならそれがどのように機能してるかがすぐに理解できる
実際に試した方が理解・判断するのに早いと思う
0098774ワット発電中さん
垢版 |
2022/01/22(土) 14:17:59.49ID:OCN+QFry
MCCでUSBと必要な周辺だけ有効にしたソース生成してから
自分で作った部分を貼ればよいのでは?
0099774ワット発電中さん
垢版 |
2022/01/22(土) 14:20:48.85ID:OCN+QFry
あ、必要な周辺ってのはHIDやCDCなどのクラスドライバーの事です。
0101774ワット発電中さん
垢版 |
2022/01/22(土) 19:20:33.08ID:fBCLU6Fs
>>97>>99
どうもありがとうございました。
確かに試せばよいですね。すみません。
MCCは何か怖いイメージがあるんです。
MCCを使って〇〇が簡単にできちゃう」のようなサイトは、
まずMCCからスタートしてますが、過去の(あるいは今動いている)ソースに
機能追加する事例が見つからなかったので、助かりました。

MCCが最初で、そのあと自分のやつを貼り込むというのもありですね。
ただ、貼り込んで動くようにしたあとで、また何かの機能をMCCで追加するとき
同じことが発生すると思います。

お話を聞いて考えるに、指定された機能を、単に「機械的にソースリストを作るだけ」の感じですね。

ありがとうございました。一度苦労してみます。
0102774ワット発電中さん
垢版 |
2022/01/23(日) 04:52:05.23ID:mwvb6ofR
質問です
MPLAB Xの画面の左上のプロジェクトウインドウに
ヘッダーファイルとかソースファイルとかのツリーが出ていますが、
ここにおいてあるものをRemove from ProjectでRemoveしても
コンパイルが通るのはなぜですか?

プロジェクトウインドウのツリーに表示されているものを対象にして、コンパイルするものだと思っていたら、
全部removeしてツリーには何1つない状態でもコンパイルできるのです。
プロジェクトフォルダーの中に実体はあるので、それで実施できるのだと思いますが、
そうだとしたらなぜプロジェクトツリーにファイル名を表示するのでしょうか?
初めからプロジェクトウインドウは要らないのではないでしょうか。
0103774ワット発電中さん
垢版 |
2022/01/23(日) 07:31:35.48ID:WsQt0t5d
友達少なそうだな。
0104774ワット発電中さん
垢版 |
2022/01/23(日) 23:07:35.89ID:CpbEcgRa
>>102
手元のPCにMPLAB Xが入ってないので確認できないのだけど、

ビルドが完了したプロジェクトで、Removeしたヘッダーファイルだけを
外部エディタで修正保存したときに、ビルドをかけたら、依存するソースの
コンパイルが起きるでしょうか。

プロジェクトに含まれるヘッダーファイルを変更したら、ビルドをかけたときに、
依存するソースのコンパイルが発生するはずです。
0105774ワット発電中さん
垢版 |
2022/01/24(月) 00:35:56.96ID:JptHkOsY
プロジェクトツリーRemoveで
Makeファイルが更新されないって事だろ
プロジェクトの設定開いて、OK押したら更新されるんと違うかな

知らんけど
0106774ワット発電中さん
垢版 |
2022/01/24(月) 02:01:35.09ID:Vvbb2ise
>>102
そのツリーにファイルが現れていないと、
MPLABのテキストエディターでソースが開けないからだと思う。
外部エディタでやっているならツリーの表示は無くてもいいかも
0107774ワット発電中さん
垢版 |
2022/01/26(水) 04:08:09.14ID:jOLtfge/
core i7 第2世代のPCを使っています。
MPLAB Xの起動に、1分近くかかるのですが、第8世代とかだと、もっと速いでしょうか?
0108774ワット発電中さん
垢版 |
2022/01/26(水) 05:49:14.92ID:wCOJNBk0
メモリを追加 、SSDに変える または両方やる。
0109774ワット発電中さん
垢版 |
2022/01/26(水) 21:36:16.53ID:zRWNsqf2
起動遅いよね〜
遅いからブラウザ立ち上げて
ネット記事読んでると、立ち上がって記事読むの邪魔しやがる
その後は、暫く時間が経過してから
アップデートのメッセージがポンポン邪魔しに出やがる

嫌がらせで
わざとやってるのかね
0110774ワット発電中さん
垢版 |
2022/01/27(木) 03:03:59.97ID:x5bVO+4f
>>109
僕のパソコンで、
1番容量のデカいソフト、それがMPLAB X。
本当に、もっさり。
0111774ワット発電中さん
垢版 |
2022/01/27(木) 06:41:22.23ID:dA4hlQ4Z
もうCore2Duoの時代は終わったんだよお爺さんたち。
さっさとPC屋に行ってCore I5,4コア8GB,SSDの量産ビジネスノートでも買ってきたら?
0114774ワット発電中さん
垢版 |
2022/01/27(木) 08:47:18.08ID:1nN0dGFN
>1番容量のデカいソフト、それがMPLAB X。

いろいろなマイコンやFPGAのIDEを使ってると、こういう感覚にはならないのでは。
開発ツールはパソコンに大きいリソースを求めるのが当たり前になってきてます。
ストレスなく開発を楽しむなら、そこそこの投資はするべきです。
0115774ワット発電中さん
垢版 |
2022/01/27(木) 10:17:19.72ID:1y3qqJyb
そうか?
考える時間の方が長いので、もっさりは気にならないけどな。
画面で脊髄反射コーディングやってるんじゃね? 同じバグのループだらけで・・・
0116774ワット発電中さん
垢版 |
2022/01/27(木) 10:35:41.56ID:qof6+JG8
今まで気にしてなかったけどMPLAB X IDE 起動遅いね〜
初回起動で約22秒 再起動で約18秒
vscode + PlatformIO で 約10秒 再起動で約5秒
VisualStudio 約14秒 再起動で約11秒
0117774ワット発電中さん
垢版 |
2022/01/27(木) 11:58:30.17ID:FtdRaxKJ
起動早いな! 僕は席についてから仕事をやる気になるのに半日かかりますん(^p^)
0118774ワット発電中さん
垢版 |
2022/01/27(木) 12:44:39.50ID:dA4hlQ4Z
でもまあなんでNetBeansなんかにしちゃったんだろうね…
0119774ワット発電中さん
垢版 |
2022/01/27(木) 15:35:08.57ID:xoBX7U0h
起動するまでの時間なんてどうでもいい気がするが???
0120774ワット発電中さん
垢版 |
2022/01/27(木) 15:43:05.52ID:LebnmTdh
その後の動作の目安でしょに
俺のプロジェクトでは何秒とか言っても比較にならんわけ
0121774ワット発電中さん
垢版 |
2022/01/27(木) 15:57:13.89ID:KCtPZ5hs
>>116
うちもほぼ>>116と同じだな
Visual Studioと比べても数秒遅い程度なので
MPLAB Xだけやり玉に挙げてる連中には「おま環」を恨めとしか言ってあげられないw
0122774ワット発電中さん
垢版 |
2022/01/27(木) 18:25:55.27ID:muubFNYZ
まぁ、他のマイコンでvi+gcc+gdbなんていう環境でやってるのに
比べりゃ、そりゃ重たいに決まっている。
0123774ワット発電中さん
垢版 |
2022/01/27(木) 19:28:34.53ID:NsSB+jCA
いまだにviみたいな古典的正統派えでたを愛用するうにっくすうーざーがいることを知り安堵したイイハナシダー(;ω;`
0124774ワット発電中さん
垢版 |
2022/01/28(金) 10:08:47.16ID:ZCTDi+E/
Linuxのカーネル書いたリーナス君はMicro emacs愛用者だっけ。
わたしも昔MS-DOSで使ってたわ。
0125774ワット発電中さん
垢版 |
2022/01/28(金) 12:45:07.51ID:YZP9fX9b
えむえすどす なら えどりん つかいましょーよー><;
0126774ワット発電中さん
垢版 |
2022/01/28(金) 19:45:48.64ID:V+i8S6Zt
コマンド系使いこなしてる人って、
MDB使ってるの?

実機デバッグの時、重くて重くて、ムキーーー!ってなるから
どこかのエディタのプラグインにMDBと統合された物ないのかなぁ
0127774ワット発電中さん
垢版 |
2022/01/29(土) 12:11:34.64ID:ne4AjLyc
だから、デバッガをどうするかということも、マイコン選定の時の大きな配慮項目だよね。
重たくてデバッグもさっさとできないようでは効率悪くて仕方ない。
0128774ワット発電中さん
垢版 |
2022/01/30(日) 10:19:34.69ID:sH2XVkyK
> デバッガをどうするか
自作すれば幸せになれるよw
私はこのCPUを使い続けるぞと決めたら自作してきた。
自作すればそのCPUを深く理解することが出来る。
また、さっと立ち上がってサクサク動くし、
訳の分らないトラブルや、自分で対応できないバグに悩まされることも無いし、
PC機種やOSが変わって動かなくなっても自分で対応できる。
0129774ワット発電中さん
垢版 |
2022/01/30(日) 12:56:21.80ID:TCUFYbEC
古い物に固執する人もいれば
新しい物に飛びつく人もいる
人それぞれ

一つ言える事は
自分の話しかしない奴は
アホ
0130774ワット発電中さん
垢版 |
2022/01/30(日) 14:11:05.73ID:OMZiDwjB
>人それぞれ
と書いた後で
>自分の話しかしない奴は
>アホ
と書く自己矛盾に気付けない方がアホじゃね?
0131774ワット発電中さん
垢版 |
2022/01/30(日) 14:25:06.59ID:C/1CF4yo
そういうのもありだよね。

gdbさえ動けばgdb guiなりのGUIもあるからそれでいいやってこともあるだろうし。

昔、デバッガを独立させるためにタイムスライス化して、簡易アセンブラ、逆アセンブラ、ステップ実行やらバックトレースなんかもつけたりして遊んだな。
あれはあれで面白かった。
0132774ワット発電中さん
垢版 |
2022/02/01(火) 14:55:16.10ID:7hN18BaZ
PIC初心者です。教えていただけないでしょうか。
初めてPICをやってみようと思って、手始めにdsPIC33EP256というICを秋月で買ってきました。
そして、回路を作ろうとしていますが、データーシートを読んでいたら、
質問が出てきたのです。この画像を見てください。
https://imgur.com/rXUD1dZ.jpg
発振回路の部分のペーシです。注意書きの2番に、XTやHSだったらここに1Mを付けなさいと読めます。
質問ですが、ほかのPICマイコンや他のメーカーのマイコンでは、
ここに水晶をつけると思いますが、この機種では水晶ではなくて抵抗で良いのでしょうか?
0133774ワット発電中さん
垢版 |
2022/02/01(火) 15:04:33.29ID:wkHbRAHl
Read Note 2.
0135774ワット発電中さん
垢版 |
2022/02/01(火) 15:32:03.79ID:7hN18BaZ
>>133
ありがとうございます。ですから、注意書きの2番に...と書いたのですが。

>>134
ありがとうございます。本を見たらその型番はもう古いと書いてありました。
>>1
MCCを使えば、最初からPIC32で始めるのもありです。
と書いてあったので、秋月で1番機能たくさんだし、足も多いので。
0136774ワット発電中さん
垢版 |
2022/02/01(火) 16:52:33.59ID:SSyAXbft
>>135
PIC32からでも良いと思います
一部ネガティブな発言は全てスルー推奨
高精度なクロックが必要なければピンには何もつながないで内蔵のクロックを使えば良いと思います
0137774ワット発電中さん
垢版 |
2022/02/01(火) 17:43:38.27ID:dnsYpWaO
まあ何を使ってもいいんだけど機能が多いとそれだけワナも多いから十分覚悟しといたほうがいい
それはともかくマイコンのクロック発振回路(PICではオシレータという言い方のほうが多い)はデフォルトで低消費電流モードになっているものが多い
高速のクロックにする場合は発振回路もある程度電流を流さないといけない、Configでこのあたりを切り替えられるものもあるがこのPICはConfigでの設定と同時に「クリスタルに並列に抵抗を接続しろ」と書いてあるようだ
発振回路の消費電流が増えるが動作周波数も高くなる
なお低速のクリスタル使用時はPIC内部の抵抗だけで足りるし外部に抵抗を付けると異常発振したりする可能性もある
0138774ワット発電中さん
垢版 |
2022/02/01(火) 18:26:20.52ID:wkHbRAHl
>>135
読んだ上で水晶要らないってのは都合のいい解釈じゃないですかね。
external parallel resistorと書いてありますし、
水晶と抵抗並列でしょう。
0140774ワット発電中さん
垢版 |
2022/02/01(火) 19:35:08.58ID:7hN18BaZ
みなさんありがとうございました。

やはり水晶も付けるんですね。configでXTとかHSのモードを設定すれば、
帰還抵抗値もIC内部で変えてくれるものだと思っていました。
抵抗を水晶に後付けするのは、初めて見ました。16MHzの水晶をHSで動かして、
1Mを並列に付けることにします。
負荷容量は水晶のデータシートに20pFとありましたので、
39pFを2つ付けることにしました。
回路図を書いてから製作をしたいと思います。まだまだかかりますけど。
どうもありがとうございました。
0141774ワット発電中さん
垢版 |
2022/02/01(火) 21:59:22.51ID:k60Xhk8w
半導体不足ヤベーわ
アカン、基板設計し直した方がはやいわ
悪いな〜dspic使わしてもらうわ〜
0142774ワット発電中さん
垢版 |
2022/02/02(水) 03:57:03.07ID:b33yUSny
>>140
>Note 1: This data sheet summarizes the features of the dsPIC33EPXXXGP50X,
>dsPIC33EPXXXMC20X/50X and PIC24EPXXXGP/MC20X families of
>devices. It is not intended to be a comprehensive reference source. To
>complement the information in this data sheet, refer to “Oscillator”
>(www.microchip.com/DS70580) in the “dsPIC33/PIC24 Family ReferenceManual”.

https://ww1.microchip.com/downloads/en/DeviceDoc/70580C.pdf
これの7-18ページ
0143774ワット発電中さん
垢版 |
2022/02/02(水) 23:00:36.07ID:rFeut+PV
mplab X XC 16でprintf()は使えないんですか?
エラーは出ないのにuartに送信してくれない。
stdioをどのように書き換えすればいいの?
0145774ワット発電中さん
垢版 |
2022/02/03(木) 03:37:52.95ID:EZDBsuD9
>>144
いつも教えてくれてありがとう。
やってみる
0146774ワット発電中さん
垢版 |
2022/02/06(日) 20:58:37.98ID:4NWgLj+P
初めまして。最近PIC(というか電子工作)を始めました。

PICを使って小手先温度計を自作しようとしています。秋月で扱っているK熱電対モジュールMAX31855
https://akizukidenshi.com/catalog/g/gM-08218/
を使ってSPI通信で値を読み込む計画です。

使用PICは PIC12F1840 I/P、読み取った結果は試作段階ではEUARTでパソコンに表示させています。
ですが、MAX31855から正しい値を読み取れません。4byteが0x0000や0xFFFFみたいな感じになります。

お助け下さい。

MAX31855はdatasheetから、SPI mode 0でImputDataSampleAtはMiddleと読みました。
(ここが違うかも知れませんが)

動作に関係しそうなレジスターは
OSCCON = 0x7A;LATA = 0x00;TRISA = 0x24;ANSELA = 0x00;APFCON = 0x84;SSP1STAT = 0x40;SSP1CON1 = 0x22;SSP1ADD = 0x0F;TRISAbits.TRISA1 = 0;
と設定しています。

MAX31855モジュールの接続は
CLK <--> PIC pin6 (SCK)
CS <--> GND (モジュール1つなので常にGND)
DO <--> PIC pin5 (SDO)
GND <--> GND
3.3 <--> (open)
Vin <--> VDD 5V

オシロスコープ DSO150 では、PICからSPIのクロックは出ているようですが、戻りのDO端子出力は 0V or 5V で固定されているように見えます。

以上。
0147774ワット発電中さん
垢版 |
2022/02/06(日) 21:33:04.54ID:YbXU/jcu
>>146
MAX31855のモジュールはCSをHIGHにしてる間にレジスタが更新されて
CSがHIGH>LOWの切り替わりを起点に指定回数クロックを与えて読み込むんじゃない?
0148146
垢版 |
2022/02/06(日) 22:36:54.73ID:jqNoACXM
>>147
有り難う御座います。

datasheet 9頁の右側に、CS high で更新と書いてありましたね。

CSピンを操作するのに PIC12F1840 ではピンが足りないので、14pin PIC で試してみます。
0149774ワット発電中さん
垢版 |
2022/02/06(日) 23:52:14.37ID:MN/18x1p
>>148
SPI通信ICのCSは、
チップセレクトであると同時に、
SPIの起点にもなる信号なので、
常時GNDではいけないです。
マイコンで制御してやる必要があります。
SPIインターフェースのピンがあるマイコンで、
CSが無くて困っていたら、CSは通常ポートでパタパタやる必要があると
教えてもらった。
0151774ワット発電中さん
垢版 |
2022/02/07(月) 15:54:29.57ID:+dUZRv/i
KiCAD Ver5. を使っています。
回路図エディタで、図面上に文字を置くとき
'T'と打つと文字入力画面が出て、カーソルは文字入力ウインドウにいます。
なのでそのまますぐに文字が入力できます。
文字入力を終えてこれで決定しようとENTERキーすると、
文字入力ウインドウの中で改行するだけになります。

ALT+ENTERとか、CTRL+ENTERとかの複合キーで決定として
文字入力ウィンドウを閉じ、回路図に戻りたいのですが、
何かコツ(チップス)はありませんでしょうか

そうすると、100V 1A Akizuki とか打ちたいとき、
L
100V 1A Akizuki
CTRL+ENTER
で文字が置けて、速くて楽ちんになると思うのですが。
0153774ワット発電中さん
垢版 |
2022/02/07(月) 16:25:03.33ID:ykuRcPFN
大して便利なようにも聞こえないんですが…
どうしてもってんなら私製ビルドでも如何ですか?
0154774ワット発電中さん
垢版 |
2022/02/07(月) 21:45:22.89ID:+dUZRv/i
すみません、スレ間違いました。
Shift+ENTERで実現できました。
どうもすみません。
0155146
垢版 |
2022/02/07(月) 23:20:33.21ID:sEOU+ngZ
146です。

CSピンをhigh/lowしたら、無事にMAX31855から値を読めました。
有り難う御座いました。
0156774ワット発電中さん
垢版 |
2022/02/10(木) 11:50:25.05ID:g8ZrnUU2
今更だけど、MPLAB X の6.00がリリースされてた!
XCもついでに

年末に5.50に上げたばかりなのに、また上げんとあかんかな
0157774ワット発電中さん
垢版 |
2022/02/14(月) 18:26:28.32ID:ekJbeH+a
どこが変わったんですかね?リリースノートとか見てないや
つまり見送り
0158774ワット発電中さん
垢版 |
2022/02/15(火) 08:47:25.48ID:jqCikP0q
確か、最新チップにpickit4がアップデートされなかったような気が・・・
0159774ワット発電中さん
垢版 |
2022/02/16(水) 03:40:14.55ID:9wMqJfUe
教えて下さい。
プログラムの冒頭で、#pragma って書きますが、
あれは何をしているのでしょうか?
そんなところで発振器の設定なんかせずに、
mainで走り出してから、...=XT とかやればいいと思うのです。

どれとどれを#pragmaで書かなければならないのか、
全くわかりません。
データーシートのどの部分に書いてありますでしょうか?
また他のマイコン、例えばAVRマイコンでも #pragmaを書くのでしょうか? 
0160774ワット発電中さん
垢版 |
2022/02/16(水) 06:29:10.83ID:S44+kDIO
#pragmaはコンパイラ指示命令だね
#pragmaでコンパイラに指示を与えてコンパイル自体の処理を変える方法は
他のコンパイラ(PC用とかでも)でもあったりする
変数の値を変えるだけではなくてコンパイラ自体の処理が変わるのかもしれない
0161774ワット発電中さん
垢版 |
2022/02/16(水) 06:45:28.43ID:S44+kDIO
または、リンクするライブラリが変わったりするのかもね
VC++なんかでも
#pragma comment( lib, "○○.lib" )
みたいにリンクするライブラリファイルを指定できる
0163774ワット発電中さん
垢版 |
2022/02/16(水) 09:33:48.56ID:FWttEPep
PICのpragma指定はコンフィグビットを変える指示をしてるだけかと
実行コードには影響はしない

xcのフォルダのどこだったかにチップ別の設定名とコンフィグビットの対応ファイルが入ってる
0164774ワット発電中さん
垢版 |
2022/02/16(水) 09:52:00.06ID:9wMqJfUe
みなさん、ありがとうございます。
#pragmaの働きはわかりますし、デバイスファイルもわかるのですが、
どれを記述すべきなのかがわかりません。
ハードウェアのこの機能は記述しなければならない、というのがあると思うのですが、
その判断ができないのが悔しくて。
データーシートのどこそこに書いてあるものは全部書かなければならない、他は起動後に自身で設定すればいいとか。

> xcのフォルダのどこだったかにチップ別の設定名とコンフィグビットの対応ファイルが入ってる
はい、XC16のdocの中にありますね。
ちょくちょく見ています。
訳がわからないので、全部をpragmaで書いています。
0165774ワット発電中さん
垢版 |
2022/02/16(水) 10:34:12.10ID:WDYA6KXE
>>164
データシートをよく読むならすべてを#pragmaで書く必要はなく
そのデバイスの初期値(初期設定)から変更が必要な項目のみ書けば良い

>mainで走り出してから、...=XT とかやればいいと思うのです。
そのあたりはプログラムが動き出す前に初期設定を済ませといた方が都合がよいのでコンフィグレーションビットで設定する
(動的に変更したい場合に項目によってはプログラムから変更をする 内蔵クロック⇔外部クロック等)

>例えばAVRマイコンでも #pragmaを書くのでしょうか?
同様の機能にヒューズビットが有るが画面(GUI)で設定するか<avr/fuse.h>をインクルードしてソースファイル内で設定する必要がある

そもそもコンフィグレーションビット書くって言うけどGUIで項目選んで作成ボタン押すだけじゃね?
0166774ワット発電中さん
垢版 |
2022/02/16(水) 10:56:16.63ID:0Xm+Sg4Z
基本的にマイコンを買ってきた時の状態でプログラムだけ書いてやれば一応動くというふうになっているのが普通だろうから、#pragmaではプログラム起動前の初期状態を変えたい項目だけいじっておけば良いのでは?
0167774ワット発電中さん
垢版 |
2022/02/16(水) 11:26:39.90ID:k1Eb4l+Z
機種ごとの初期値がわかりにくいから合わせたいところは全部設定するのが正解
0168774ワット発電中さん
垢版 |
2022/02/16(水) 12:50:44.57ID:7IzLEr5v
>>165
ありがとうございます

>> プログラムが動き出す前に初期設定を済ませといた方が都合がよいので
どのように都合が良いのでしょうか?
その辺りのさじ加減が、わからないのです。
0169774ワット発電中さん
垢版 |
2022/02/16(水) 13:02:27.02ID:7IzLEr5v
>>167
ありがとうございます

そうすると、TRISもプラグマで書いてしまうと言うことでしょうか?

皆さまのお話を伺うと、
プラグマでmustで設定する項目は無いと言うようにも
感じるのですが、それはまた間違いなのでしょうか?
0171774ワット発電中さん
垢版 |
2022/02/16(水) 15:05:01.73ID:7IzLEr5v
>>169
mccで動いたからいいじゃん、というのが ちょっと寂しいのでお尋ねしています。
0172774ワット発電中さん
垢版 |
2022/02/16(水) 16:36:48.98ID:3aAEs0/z
configuration wordの設定は#pragmaでやる。
初期値のままでいいものも全部明示的に書くかどうかは好みでしょ。
私は全部書くというより、どうせ以前使ったもののコピペ空の任意に変更だから何の手間もない。
0174774ワット発電中さん
垢版 |
2022/02/16(水) 16:50:05.45ID:z5jIYbBV
あれ、MPLAB X IDEにConfigurationbitsのジェネレータが有るのはご存知?
使わないよね…
0176774ワット発電中さん
垢版 |
2022/02/16(水) 21:36:41.13ID:7IzLEr5v
>>172
ありがとうございます。

>configuration wordの設定は#pragmaでやる。
そのコンフィグレーションワードというのは、
データシートの巻末の方に書かれている 14bitのレジスタのことでしょうか?

すると、
その4〜5個のconfigration words 全てについてだけ #pragma config .... で記述をすれば、
他の設定は #pragma ... と書かなくて良い、という理解で良いでしょうか?
 (書いてもエラーになるのかも知れませんね)

もう一つ教えてください。データシートによると、
FCMEN
CSWEN
CLKOUTENなどは、
R/Pの属性で、あとから変更ができないbitのようです。
この「あとから変更できないもの」を #pragma で特別に記述するようです。
なぜ、後から変更できないのか、そのあたりの理由をご存じでしたら
教えていただけないでしょうか。

>MCC使う場合はもう何も意識してない。
MCCはそもそも「面倒な設定をやってあげるよ」というものですので、
意識しなくていいと思います。
「黙って俺の言うことを聞いてりゃいいんだよ」と言われているみたいで
少しは中身が知りたいと思います。

>>174
>あれ、MPLAB X IDEにConfigurationbitsのジェネレータが有るのはご存知?
はい、MPLAB 8.xxのころは良く見ていました。
0177774ワット発電中さん
垢版 |
2022/02/16(水) 23:44:48.98ID:WDYA6KXE
>>168
前提として#pragmaはコンパイラに特別な指示を出すための文言
PICでの主な#pragmaの使い道は「Configuration Words」の設定をする為に使う(ほかにも使い道は有るけど割愛)
逆に言えばConfiguration Words以外は#pragmaで設定できない

#pragmaで設定されたConfiguration Wordsはコンパイラで解釈され出力される

Configuration WordsはPICの特殊な場所(表面的には専用のアドレス)に書き込まれ、CPUが動作する前の段階で(から)使われる
つまり、Configuration Wordsの設定が有ることでCPUの動作を開始できるという意味もある
(主にクロックソースやリセット維持の条件)

>どのように都合が良いのでしょうか?
CPUを動かすためのクロック源(クロックソース)等の設定がプログラムに書いてあったら
正しいクロックソースが得られなくてそのCPUは永遠に動き出さない事も考えられる
つまりmainが走り出す前に設定が済んでる必要がある
0178774ワット発電中さん
垢版 |
2022/02/16(水) 23:46:48.53ID:WDYA6KXE
>>176
質問の正確な回答を得たいなら種類・型番・環境等を詳しく書いた方が良いと思う

>データシートの巻末の方に書かれている
これもデータシートの管理番号・ページを明確した方が良い
(PICならDS400564564D-page564 みたいに)

>R/Pの属性で、あとから変更ができないbitのようです。
configration wordsはプログラムから変更できないが
同様の項目をプログラムから変更可能な場合もある

>少しは中身が知りたいと思います。
少しってのが逆に難しいかも(汗)いっそ深くやる方が早く理解出来るかもね
0179774ワット発電中さん
垢版 |
2022/02/17(木) 00:46:04.58ID:/P3Spbi6
>>177
ありがとうございます。
変な質問にお付き合いくださって、ありがとうございます。

>Configuration WordsはPICの特殊な場所(表面的には専用のアドレス)に書き込まれ、
>CPUが動作する前の段階で(から)使われる
なるほど、以前PIC12C508?とかでは、Flashの最終番地に、
発振器の校正データをメーカーが書いてくれてあり、
起動時に、まずそこから読み出された値が発振器に作用すると聞いたことがあります。
そのような働きの特殊な値を、flashかどこか専用の場所に書き込むように依頼するのが、
#pragma の役目のようですね。
ありがとうございます。

・そのような特殊な設定値が configration word であり、
・その種類は、データシートの後ろの方に書いてある。それが全て。
・そしてプログラマーは、それらを #pragma により、全て設定しなければならず、
 それ以外の項目は、#pragma で、操作しなくて良い。

そのように理解しました。

>正しいクロックソースが得られなくてそのCPUは永遠に動き出さない事も考えられる
>つまりmainが走り出す前に設定が済んでる必要がある
デフォルトは、内蔵CR発振器で動き出し、
プログラマーが必要に応じて変更する、でも問題ないと思いますが、
あえてそうしている理由が知りたいですね。

>質問の正確な回答を得たいなら種類・型番・環境等を詳しく書いた方が良いと思う
全てのPICに言えることだと思います#pragmaの無いPICのソースはないですよね。

>少しってのが逆に難しいかも(汗)いっそ深くやる方が早く理解出来るかもね
そうですね。深く知りたいと思います。
過去にどのような事があって、今そのようになっているのか、とか。
PICの歴史を学ばないといけないですね。

他にも、PICはTRISが1=入力、0=出力なのはなぜか。H8とか他のマイコンでは、1=出力なのに。
というのもありますが、考えないようにしています。

どうもありがとうございました。
0180774ワット発電中さん
垢版 |
2022/02/17(木) 08:25:57.28ID:yksDTcSu
なぜそうなのか、ということを考えるのは良いことだけど、短期的に答えを求めず、まず納得しないまま受け入れることも必要だよ。
そうでないと「納得したいバイアス」がかかるせいで、たとえ適切でなくても自分が納得できる答えで納得してしまう場合がある。
0182FAQというかなんというか・・・
垢版 |
2022/02/17(木) 10:13:29.98ID:csMjURSy
PICのはね、
inputのiが1に似てるからだよ
outoputのOが0に似てるからだよ

H8の出力が1なのはね、ちんぽこが1に似てるからだよ
おまんまんが0に似てるからだよ(^p^)ぐへへ
0183774ワット発電中さん
垢版 |
2022/02/17(木) 10:31:52.78ID:4Cdg/NXa
ID:9wMqJfUe,ID:7IzLEr5v,ID:/P3Spbi6
どう見ても初心者ではなく、ただ自分で調べないだけ
自分じゃ一向に解決できない、しないが、枝葉末節には異常にこだわる
付き合ってやって奴らは介護士並みにご苦労さん
0184774ワット発電中さん
垢版 |
2022/02/17(木) 10:34:11.15ID:G8k8ipfL
同意
付き合って回答してる連中がこういう輩を増長させてる
0185774ワット発電中さん
垢版 |
2022/02/17(木) 11:54:26.05ID:MWf475G0
まさしく「俺様初心者」
自分は初心者なんだから周りは自分を
育てる義務があるとでも思ってるんかいな。
0186774ワット発電中さん
垢版 |
2022/02/17(木) 11:58:03.76ID:pgMokuhD
だからここの答えなんて全部「データシート読め」で終わっちゃうんよ。
0187774ワット発電中さん
垢版 |
2022/02/17(木) 12:24:59.90ID:x17aJEcq
まともな初心者とは区別しないと
まともな初心者にデータシートの何ページあたりとか教えるのは許容範囲だろ
上の奴はデータシートのConfiguration Wordのことまで知ってるが
ちゃんと読んでないしリファレンスにも目を通してない、ただ屁理屈をタレたいだけ
0188774ワット発電中さん
垢版 |
2022/02/17(木) 12:25:50.35ID:x17aJEcq
そのあげくに
>PICの歴史を学ばないといけないですね。
とほざくクズぶりw
0189774ワット発電中さん
垢版 |
2022/02/17(木) 13:01:16.31ID:yksDTcSu
ほどほどに。攻撃対象をみつけたら攻撃を重ねるのもクズの一種。

ひっかかりがあると学習が難しい人だっているから、ある程度は仕方がないと思わないと。
その点、(^p^)は洗練されてるな。
0190774ワット発電中さん
垢版 |
2022/02/17(木) 13:31:39.52ID:/P3Spbi6
>>180
ありがとうございます。

>短期的に答えを求めず、まず納得しないまま受け入れることも必要だよ。
はい、今までいくつも作って、問題なく動いています。
僕の場合も1℃作って動いたら、コピーコピーでやって来ていて
何も疑問に思わなかったのですが、
MCCを使ってみて急に疑問に思うようになりました。
config words を教えてもらったお陰で、理解が深まりました。

>たとえ適切でなくても自分が納得できる答えで納得してしまう場合がある。
はい、注意します。
ありがとうございます。
0191774ワット発電中さん
垢版 |
2022/02/17(木) 13:37:21.65ID:/P3Spbi6
>>182
>inputのiが1に似てるからだよ
>outoputのOが0に似てるからだよ
これは有名な話ですね。ぼくもこれで覚えました。

>H8の出力が1なのはね、ちんぽこが1に似てるからだよ
>おまんまんが0に似てるからだよ(^p^)ぐへへ
なぜH8の場合は、チンチンが出力になるのでしょうか?
Inputの I には見えなかったということでしょうか?
0192774ワット発電中さん
垢版 |
2022/02/17(木) 14:50:47.08ID:csMjURSy
H8だからHなネタで考えるに決まってんだろっふひひ!(^p^)
0193無視かよ!(^p^)
垢版 |
2022/02/17(木) 16:27:35.90ID:csMjURSy
なるほどつまりPICはピクトグラム的に解釈するんですね!というリアクションを
首を長くして待っていたのだが・・・
0194774ワット発電中さん
垢版 |
2022/02/18(金) 07:21:15.36ID:UsEU8RrB
X68000用の画像圧縮形式としてPICというのがあったなとふと思い出した。
0195774ワット発電中さん
垢版 |
2022/02/21(月) 00:58:07.78ID:HHDw42qH
7セグ8桁制御したいお
どこから手を付ければいいの?(´Д`)
0197774ワット発電中さん
垢版 |
2022/02/21(月) 01:36:08.25ID:HAENgIOb
マイコンでやるなら16以上のピンが自由に出力に回せるものがほしい
あと、欲しい明るさによっては電流量超えるからなんかトランジスタとかMOSFETいるね
明るさの調整が大雑把でも気にしないなら7セグLEDドライバでいいわ
データシート読む必要あるけど、TM1637なら英語だからまだまし
0198774ワット発電中さん
垢版 |
2022/02/21(月) 06:11:49.36ID:APoKCY11
>>195
いくらでも実例はあるだろうから、
手元のブラウザ使って探す。
まずはそこからやってみたら?
0199774ワット発電中さん
垢版 |
2022/02/21(月) 10:56:20.52ID:lv7ofrsJ
>>195
PICでやるの?
いまなら、ArduinoとかラズペリーパイとかNucleoとかあるけど
本当にPICでやるつもりなの?! 不可能とは言わないし
昔に比べればPICも洗練されてたけど(比較的)いばらの道のような・・・おぢさん心配よ!(^p^)
0201774ワット発電中さん
垢版 |
2022/02/21(月) 12:31:51.73ID:nODdVx6p
LEDつないだポート毎にテーブル作っといて出したい数字/文字でインデックス取って出力すればいいじゃないか
なんも難しくない
0203774ワット発電中さん
垢版 |
2022/02/21(月) 13:05:29.57ID:dP6ZKf2a
Aliとかでモジュール買うのが早いな
自分で組むにしてもmax7219とかtm1638とかドライバーを使う方がいい
0204774ワット発電中さん
垢版 |
2022/02/21(月) 13:29:16.35ID:oIEeZ484
難しくはないけどダイナミック点灯でないとポートが足らんだろ
0206774ワット発電中さん
垢版 |
2022/02/21(月) 14:17:54.62ID:lv7ofrsJ
>>204
そこは たとえば7segをそれぞれ
データラッチIC(D タイプフリップフロップ、
TC74HC273APなど)にぶら下げといて
Aポートをデータバスに使って
Bポートをラッチのセレクタに使う、などすれば
「(割り込み処理が必要になりそうな)ダイナミック点灯」を使わんでも
十二分に行けるんじゃね?
0208774ワット発電中さん
垢版 |
2022/02/21(月) 15:48:25.20ID:lv7ofrsJ
ダイナミック点灯はデバッグするときとかハングアップした時とかに
素子に回復不能なダメージを与えかねない手法だから、プログラム的にも
ハードウェア修繕的な意味でも いろんな意味で、上級者向け てくにっく☆彡
0209774ワット発電中さん
垢版 |
2022/02/22(火) 00:08:02.21ID:p0N36Y0y
割り込みを使わなくてもダイナミック点灯できるよね。

でも、「割り込みを使わない」のではなく、「経験値として割り込みを使えない」のだったら
これをテーマに割り込みを使えるようになる方がいいでしょね。
0213774ワット発電中さん
垢版 |
2022/02/22(火) 10:34:28.81ID:fBmDXDPD
うーん。。。PICは昔は割り込み処理するときに
冒頭で ファイルレジスタ退避など手でかく必要があったから
初心者に厳しいというか 取りつきにくかったけど
最近の石はハードウェアが割り込み処理の一環で自動退避してくれるらしいし
それほど難しくもないんじゃね?(^p^)
0214774ワット発電中さん
垢版 |
2022/02/22(火) 11:01:53.34ID:d2gabSVL
MPLAB X IDEのVersion6.00 Linux版は色々ホームディレクトリの.の付くMicroc hip関係を消さないと立ち上がらなくなるよ(汗)
自分でインスコしててハマったからメモ程度ですが
0215774ワット発電中さん
垢版 |
2022/02/22(火) 12:29:16.86ID:i49fbvMR
>>213
最近は#pragmaとかで割り込み関数にしてやれば
自動的に退避復帰のコードかついたり、
スタートアップルーチンの一環で割り込みのエントリ
まで自動生成してくれるしね。
0216774ワット発電中さん
垢版 |
2022/02/22(火) 13:47:55.16ID:fBmDXDPD
ハードウェア上実装じゃなくて開発環境のサービスだったのか・・・さーせん;
0217774ワット発電中さん
垢版 |
2022/02/22(火) 14:14:19.73ID:wxxcIvpK
最近フルアセ爺見ないな、あるいはコロナで、、
0220774ワット発電中さん
垢版 |
2022/02/23(水) 11:08:53.32ID:9H/9QVU3
>>219
PICを5個くらい使って作れば?
0221774ワット発電中さん
垢版 |
2022/02/23(水) 14:04:20.08ID:HceHIqY5
>>219
74xx594みたいな出力レジスタ付きシフトレジスタを1桁あたり1個使えば、
ディスプレイモジュール側はマイコン要らないし。
0224774ワット発電中さん
垢版 |
2022/02/23(水) 16:23:25.42ID:9H/9QVU3
専用ICでなくPICでOK
0225774ワット発電中さん
垢版 |
2022/02/23(水) 16:56:09.83ID:TJ8XWhrE
64ピンPICでもつこたらええやん
0226774ワット発電中さん
垢版 |
2022/02/23(水) 19:07:24.85ID:4+dFdTev
どうしてPICだけでやろうとするの?
0227774ワット発電中さん
垢版 |
2022/02/23(水) 19:12:31.96ID:BT90jeCH
いいだしっぺの人がなぜこのスレで話題をふったからでは
細かい状況わからんから何とも言えんが
0228774ワット発電中さん
垢版 |
2022/02/23(水) 19:22:40.76ID:qVm5a3po
>>226
不要になったら他で使えるから
0229774ワット発電中さん
垢版 |
2022/02/23(水) 23:07:03.31ID:SH3gVUq1
>>226
pic開発セットもろたんや
あと本も「逆引き PIC電子工作 やりたいこと事典」もらたで

読んでたらなんかできそうと思ったけど
4桁の7セグの例では8桁難しそうやなと

とりあえずspiというものをきっかけに調べるとこで寝込んだw
0231774ワット発電中さん
垢版 |
2022/02/23(水) 23:14:53.12ID:z4VS2bxs
>>229
まずはLEDを点滅させてみるところからじゃない?
それが出来たらLED2個を交互に点滅
0232774ワット発電中さん
垢版 |
2022/02/24(木) 02:09:57.96ID:hDEKtQe3
Agilentの53132Aという周波数カウンタ持ってるんだけど、電源入れて
セルフテストやってる途中で左から3桁目だけ1秒間くらい止まって
異常な明るさで光るんだがファームのバグかな。
蛍光表示管みたいだけど。
0235774ワット発電中さん
垢版 |
2022/02/24(木) 15:33:27.71ID:kLBgJxYc
昔のメモリーデバイスって、自分の知っているのはフェライトビーズ使った磁気コアメモリだな
熟練女工さんによる手編み製造、視覚的にもなんかグットくるものがあるが、実物は見たことない
0236774ワット発電中さん
垢版 |
2022/02/24(木) 15:38:38.72ID:+arBovIs
20ピンのPICで人気のある製品を教えて下さい。
たいしたことやるわけでゃないので、UARTが1ch使えてDigtal I/Oが10個あればOKです。
0238774ワット発電中さん
垢版 |
2022/02/24(木) 17:05:52.48ID:2gvyKWOh
なんでパッケージが先に決まるのか??
0239774ワット発電中さん
垢版 |
2022/02/24(木) 17:30:13.56ID:+arBovIs
14ピンだとカツカツなので余裕が欲しかったからです。
20ピンでなくても問題ないです。
0240774ワット発電中さん
垢版 |
2022/02/24(木) 18:11:45.60ID:eINdL6nt
7セグ表示するなら28PINは欲しいところ
0241774ワット発電中さん
垢版 |
2022/02/24(木) 18:24:20.06ID:ZwiK9I7A
質問いいですか。
MCCで生成したソースで、たまに CallBack という関数が出てきます。
辞書で調べると、折り返し と出てきます。
マイコンで何を折り返すのでしょうか?
というか、マイコンソフトで CallBack と言ったら、一般的には何のことでしょうか?
0242774ワット発電中さん
垢版 |
2022/02/24(木) 18:38:29.23ID:2gvyKWOh
Callbackは PICに限らないマイコン及びPCプログラミング
全般に使う用語。
ソフトウェアフレームワークで使う事が多いだろうか。
初期化とかであるイベントに対するフレームワークの処理に
続いてそれを処理する
ユーザーランド(自分で作った)関数を登録しておく。
そうするとそのイベントが発生した時フレームワークが登録したユーザーランドの関数を呼んでくれる(関連したデータも貰える事が多い)
0243774ワット発電中さん
垢版 |
2022/02/24(木) 19:13:45.14ID:9W3+7nHB
ほぼ、割込から呼ばれる関数と考えて良い
UARTの受信エラーやタイマーのイベント発生など
0246774ワット発電中さん
垢版 |
2022/02/24(木) 19:24:01.66ID:ZwiK9I7A
>>242
さっそくありがとうございます。
分かりやすく説明していただいたと思うのですが、知らない言葉も出てきました。
Googleで検索してみます。ありがとうございました。

ちなみに、以下の理解でよいでしょうか。(句点がないのでよくわからなくて。すみません)
   初期化とかで、
   ある「イベントに対するフレームワークの処理」に、
   「続いてそれを処理するユーザーランド関数」を登録しておく。
   そうすると、そのイベントが発生した時、
   「フレームワークが登録したユーザーランドの関数」
   を呼んでくれる

あと、ユーザーランドの「ランド」のスペルを教えてください。
Land Rand Round のどれかかな、と思いますが。
(フレームワークも初めて聞く初心者なんです)
宜しくお願いします。
0247774ワット発電中さん
垢版 |
2022/02/24(木) 19:24:02.12ID:ZwiK9I7A
>>242
さっそくありがとうございます。
分かりやすく説明していただいたと思うのですが、知らない言葉も出てきました。
Googleで検索してみます。ありがとうございました。

ちなみに、以下の理解でよいでしょうか。(句点がないのでよくわからなくて。すみません)
   初期化とかで、
   ある「イベントに対するフレームワークの処理」に、
   「続いてそれを処理するユーザーランド関数」を登録しておく。
   そうすると、そのイベントが発生した時、
   「フレームワークが登録したユーザーランドの関数」
   を呼んでくれる

あと、ユーザーランドの「ランド」のスペルを教えてください。
Land Rand Round のどれかかな、と思いますが。
(フレームワークも初めて聞く初心者なんです)
宜しくお願いします。
0248774ワット発電中さん
垢版 |
2022/02/24(木) 20:57:33.29ID:VWeEXqgV
>>247
この場合普通はユーザーランドという言葉は使わない
何でも鵜呑みにしない方がいい
0249774ワット発電中さん
垢版 |
2022/02/24(木) 21:06:43.13ID:34Y1XCPb
>>232
HPの頃からあるやつかな
まさかソフトウエアとか割り込み使ってダイナミックスキャンとかはやってないだろうな…
ウチにあるIWATSUの古いユニバーサルカウンタはi8279(Display/Keyboard Controller)使ってるしADVANTESTの古い5.5桁DMMはICM7218(8-Digit, Multiplexed, LED Decoder Driver)使ってた
0251774ワット発電中さん
垢版 |
2022/02/25(金) 02:58:46.48ID:tCKC9g4d
MPLAB X IDE Ver5.5を初めて使うのですが、
プログラムを書いているときに、
文法チェックか何かで、真っ赤になったり黄色い丸が付いたりするのを
止められないでしょうか?
またこの機能は何と呼ばれる機能でしょうか?
プログラムの文字入力が遅くなってしまうと思うのですが、みなさんは
このまま使っているのでしょうか?
0252774ワット発電中さん
垢版 |
2022/02/25(金) 05:02:48.85ID:MQwspiB8
>>249
ICMじゃなくて ICL
0253774ワット発電中さん
垢版 |
2022/02/25(金) 07:37:00.37ID:3OwJj2Eq
>>236
わいは18346を好んで使ってます。
メモリー多いし、I2Cが2chあってそのI2Cピンの変更も出来るし。
0254774ワット発電中さん
垢版 |
2022/02/25(金) 08:15:20.98ID:bwxeNcgv
>>251
エディタは使い慣れたものを使っているな。
Linuxのコマンドラインだったり、FPGAだったり、
マイコンも色々なメーカーのものを使うから、
いちいちそれらのIDEごとの方言みたいなメニューや
ショートカットに付き合ってられない。

IDE内蔵のエディタはオマケ程度のものと考えて、大規模な変更には使ってない。
0255774ワット発電中さん
垢版 |
2022/02/25(金) 08:40:36.92ID:f+61vXRy
>>252
ICMといえばプラモメーカー。紛争を避けてクリミアからキエフに移転したのに
この状況;どうなっちゃうんだろうなぁ・・・良いメーカーなのに><; ぐぎぎ
0256774ワット発電中さん
垢版 |
2022/02/25(金) 09:42:59.17ID:ZblZUtZN
>>251
大抵の事はOptionsから変更可能
ただし変更項目によって再起動しないと適応されないところもある
速度に関しては問題に思ったことは無い(起動が重いのは少し気になる?)
0257774ワット発電中さん
垢版 |
2022/02/25(金) 11:14:34.50ID:2L7MxzU1
>>251
これな〜
ずいぶん大昔からフォーラムでも話に出てたけど、
全然改善されねえよな
6だと直ってるのかな
この機能はポカミスで役には立つんどけどなぁ

解析機能をもう一回動かすと直る場合がある
MPLABXでプロジェクトファイルの
プロジェクトフォルダを右クリックして
"Code Assistance" -> "Reparse Project"
(右クリックで出てくるメニューの下の方)
俺はこれで回避している
0258774ワット発電中さん
垢版 |
2022/02/25(金) 11:58:14.94ID:r4GsDb4m
>>253
ありがとうございます。
やはりメモリが多いのが転用しやすいし便利かな...
50円程度の範囲内にこんなにバリエーション作ったのはなぜなんだろう。
0259774ワット発電中さん
垢版 |
2022/02/25(金) 13:04:31.81ID:vc/XeUi8
随分前に10F322買ったんだけど、確か一個45円位だった記憶があるんだけど、今の値段は何?
高いよ
0260774ワット発電中さん
垢版 |
2022/02/25(金) 16:39:45.24ID:c3py9vyw
高いだけじゃ無くて在庫切れも多いな
まさかマスクやトイレットペーパーの時みたいに転売屋が動いてるのかも
0261774ワット発電中さん
垢版 |
2022/02/25(金) 17:19:43.54ID:YeyZVrAv
こんな利益が細かい部品で転売する意味ないやろ…
生産能力落ちてる時に利益率の悪い下位機種を作るなら上位機種の量を維持するわ
0262774ワット発電中さん
垢版 |
2022/02/25(金) 17:33:35.20ID:27JrtjG9
ニュースとか一切見ないタイプか。
0263774ワット発電中さん
垢版 |
2022/02/25(金) 18:49:39.70ID:ZPef4nRL
せっかくレスするならニュースを見るタイプの人はどういう見解なのか書いてくれるといいね
0264774ワット発電中さん
垢版 |
2022/02/25(金) 22:13:53.05ID:q0aeU6L0
世界はみんな経済成長していて給与も物価も上がっているしね。
0266774ワット発電中さん
垢版 |
2022/02/26(土) 15:01:27.33ID:+80jYRHO
MCCのマージウインドウって便利
現行のコードとMCCが新しく生成したコードとの差分が、一目瞭然
質問ですが、このウインドウが表示されているときに、
マージのタブの×で消してしまったら、それ以降表示されなくなってしまいました。
表示するにはどうしたらいいですか?
0267774ワット発電中さん
垢版 |
2022/02/26(土) 18:42:29.55ID:+80jYRHO
>>226です。
自己解決しました。
MPLAB再起動したらできました。
ありがとうございました。
0268774ワット発電中さん
垢版 |
2022/02/27(日) 20:37:54.24ID:5DclIvY4
ウインドウの復旧は
メニューのWindow→ ResetWindow
0269774ワット発電中さん
垢版 |
2022/03/03(木) 13:02:11.60ID:O0EHmz2u
XC8 pro ドングル買おうかと長らく悩んでいたのですが、先ほど見たら1割くらい値上がってました。

ここ1年の円安傾向が反映されたのかと思ったら、USDでも値上がってたので全体でした。

この値上げで益々遠退き悲しい。
0270774ワット発電中さん
垢版 |
2022/03/03(木) 15:08:03.92ID:WhNRUK+4
少なくとも初心者には要らないから思いとどまって正解。
最適化考えるなら他のマイコンに移る方がいいよ。移行コスト考えても安いだろ。
0271774ワット発電中さん
垢版 |
2022/03/03(木) 16:38:50.66ID:U1kI0tI2
HI-TECH PICC Liteで駄目なデバイスは諦めてxc8でコンパイルする
0272774ワット発電中さん
垢版 |
2022/03/03(木) 18:27:08.82ID:pQgbc4MX
電気超初心者ですが質問させてください。

ttps://akizukidenshi.com/catalog/g/gI-13921/
秋月で、このPICマイコンを買いました。
このPICは3.3Vで動いています。
I/Oピンの中で5Vトレーラントというピンがあり、5Vに対応しているようです。
データシートで調べたのですが、使い方が不安で確認したいです。

質問ですが、
・OpenDrain設定しないとき
   ・入力電圧は、5Vまで安全に使用できる。(5Vトレーラントピンだから)
   ・出力電圧は、0←→3.3Vが出力される。(非トレーラントと同じ)
・OpenDrain設定したとき
   ・入力電圧は、上と同じ
   ・出力は5V出せないが、外部プルアップ抵抗により5Vを生成して
      見かけ上の0←→5Vが出力できる。

出力出来る電流はプルアップ抵抗値で決まるので
なるべく小さい抵抗値を使いたくなるけど、
OpenDrainのId最大により制限される。
という考えで合っていますでしょうか
0273774ワット発電中さん
垢版 |
2022/03/03(木) 18:34:31.89ID:WhNRUK+4
流入/流出量の総和に制限付いてる品種もあるから気をつけて
0274774ワット発電中さん
垢版 |
2022/03/04(金) 03:31:26.66ID:1h6t/EBn
>>272
データシート初めて見たけどVDD<3.0Vのときは5Vトレラントピンに3.6Vしか
かけられないというのは要注意だね。
場合によっては電源にシーケンスが必要になるかも。
>Voltage on any 5V tolerant pin with respect to VSS when VDD ≧ 3.0V(3)... -0.3V to +5.5V
>Voltage on any 5V tolerant pin with respect to Vss when VDD < 3.0V(3)....... -0.3V to 3.6V
0275774ワット発電中さん
垢版 |
2022/03/04(金) 08:24:20.65ID:MaTaD2jm
プロセス上の制限でオープンドレインでVCC/VDD以上の電圧でプルアップできるデバイス今はあまり無い。
TTLの74シリーズ時代はできたけど。
0279774ワット発電中さん
垢版 |
2022/03/04(金) 14:51:03.58ID:CjAmnSd0
みなさんはどこで調達していますか?
いま積極的にpicを扱っているお店って秋月くらいな気が...
0283774ワット発電中さん
垢版 |
2022/03/05(土) 20:10:00.90ID:WTJteuWa
Aliexpress とか。
0285774ワット発電中さん
垢版 |
2022/03/06(日) 00:45:20.29ID:6bRKlGmq
ネタ的に面白いからニセモノだのリマークだのが語られるが
全部が全部そう言う訳ではない。

ま、いくら話しても君理解しないだろうけど。
0287774ワット発電中さん
垢版 |
2022/03/06(日) 08:51:23.59ID:I9Pdrb4z
そういう趣味がないなら本人がそうすればいいだけで、他人がやっていることに
いちいち驚いたふりをして気を引こうとする必要もないと思うんだ。
0291774ワット発電中さん
垢版 |
2022/03/06(日) 10:57:30.28ID:eNKc0SAL
すまんなー
驚いたふりをして気を引こうとしたんじゃなくて素でこいつアホかなって思っただけなんだ
0294774ワット発電中さん
垢版 |
2022/03/06(日) 16:29:57.13ID:PP1XAiu5
PIC初めて初心者です。すみません、おしえてください。

PIC18F25K80-I/SPの水晶として、秋月電通商で以下のものを購入しました。
https://akizukidenshi.com/catalog/g/gP-08667/

水晶のデータシートにはCL=20pFにしてくださいとあります。
PICのデータシートの60ページの表3-3に20MHzなら15pFを付けなさい
と書いてあります。

質問は、
なぜPICマイコンのデータシートがCLを指定しているのでしょうか?
CLは水晶から見た「負荷容量」ですので、水晶が20pF付けてくれと言うなら
それに従わなくても良いのでしょうか。

もう1つは、PICデータシートの60ページの回路には、直列にRsが入っています。
ATカットの水晶だと必要になるかも・・・みたいなことが書いてありますが
ネットの工作例では、入ったのを見かけません。
これはなぜなのでしょうか。
「そんなもん無視無視、動けばOK」なのか、
通常数Ωだから省略しているのか、どういう事なのでしょう。

よろしくお願いします。
0295774ワット発電中さん
垢版 |
2022/03/06(日) 16:46:07.06ID:EJD8OPPG
15でも20でも大差ない
Rに関しては動かなきゃつけてみる
実際のところハンダ付けや銅線の長さや温度や不確定要素の方が多すぎて考えるだけ無駄
0296774ワット発電中さん
垢版 |
2022/03/06(日) 16:52:35.58ID:LeBsj+s9
>>294
データシート読んだけど容量は指定してない
代表的な例として15pFでテストしたと書いてある
直列抵抗は必要な場合があると書いてある(必須ではない)

そして詳しくは以下を読めと書いてあるので読んでみたら?
&#8226;AN588, “PIC&#174; Microcontroller Oscillator Design Guide”
&#8226;AN826, “Crystal Oscillator Basics and Crystal Selection for rfPIC&#174; and PIC&#174; Devices”
&#8226;AN849, “Basic PIC&#174; Oscillator Design”
&#8226;AN943, “Practical PIC&#174; Oscillator Analysis and Design”
&#8226;AN949, “Making Your Oscillator Work”

そこそこの精度で良いならコンデンサの値は近い数字で問題ないと思う
精度を上げるなら負荷容量を微調整する

そしてPIC関連スレの過去ログに同様の質問が数回あるから読んで
0297774ワット発電中さん
垢版 |
2022/03/06(日) 18:19:09.14ID:I9Pdrb4z
マイコンなどの水晶発振回路で、インバータを使うものの場合、水晶の両端と
GNDの間にコンデンサをつなぎます。

CL=20pFの水晶は、このコンデンサの値を20pFにせよ、ということではないです。

https://www.macnica.co.jp/business/semiconductor/articles/basic/127525/
4-1. 負荷容量の値

ここに書かれている「ICの容量」は実際には配線の容量も含みますが、ここに書かれているように
4pFだとすると、(CL-4pF)×2が、コンデンサの値になるので、CL=20pFなら 32pF が計算値です。
実際には30pFか33pFですね。

CLが指定の値のときに、水晶が定格通りに動作します。
0298774ワット発電中さん
垢版 |
2022/03/08(火) 07:45:32.86ID:V9v22Zes
>>294
最適なコンデンサの容量とか直列抵抗の値とかは、実際には、パターンとか水晶のスペックでも変わるから。
0299774ワット発電中さん
垢版 |
2022/03/08(火) 12:08:56.82ID:+PnqBJ57
>>296 297 298
ありがとうございます。
英語は苦手ですが、ご紹介の資料を読んでみたいと思います。

>CLが指定の値のときに、水晶が定格通りに動作します。
これは同意です。
つまり水晶を選んだ時点で、回路側はこれに合わせなさい
ということですよね。

直列抵抗については、
実際にヒートガンとキューレイで温度振って
起動のロバスト性を確認してみたいと思います。

ありがとうございました。
0300774ワット発電中さん
垢版 |
2022/03/08(火) 18:23:39.66ID:AzEBYucw
基本的に水晶の中には高性能なチップコイルが入っているんだよーーーん。
コイルだから、共振するには外付けでコンデンサが必要だね。
0301774ワット発電中さん
垢版 |
2022/03/08(火) 20:08:16.39ID:akEU1Gvq
>>300
そうなんだ。それはすごいね。
0302774ワット発電中さん
垢版 |
2022/03/09(水) 09:38:35.93ID:BeYFNh/d
よくしらんが ならきゃぱしたもつでにいれとけばいいのにな。

ていうか石英というか酸化ケイ素には水は含まれていないのに
水晶なんて言うネーミングには詩的センスが入っているんだよーーーっ(^p^)
あと絶縁に使う雲母は和名が「きらら」、これ豆知識な。タンタルも元素か。
基板内のいろいろ元素がわかればオカルト知識があれば錬金術的な楽しみかたも成立するのかなぁ。。。
0303774ワット発電中さん
垢版 |
2022/03/09(水) 13:44:17.68ID:m9pw7rSf
きら摺り・・・浮世絵版画の技法の一つで、雲母を粉末にして地色に重ねる
0305774ワット発電中さん
垢版 |
2022/03/10(木) 00:46:15.39ID:8Y0DuOKe
MCCの使い方がわかりません。
プロジェクトツリーの「MCC generated Files」のソースの中身を
一部変更してコンパイルしました。エラー無く動きました。
ここでMCCを再度Generateボタンを押すと、テキストファイル比較のような画面が出て、
差分が表示されます。
これって、どのようにすれば良いのでしょうか?
0306774ワット発電中さん
垢版 |
2022/03/11(金) 06:13:34.21ID:cb0as8K8
>>305
MCCが作ったコードは外部から呼ぶだけにして、書き換えないようにする。

触ったら、その後はMCCで変更しない。
0307774ワット発電中さん
垢版 |
2022/03/11(金) 07:34:56.78ID:bH7AWw2O
MPLAB X IDE 6.00のMCCでライブラリダウンロードせよってNoticeで出ると思うんですが
ダウンロードが出来ないのが一つ、ライブラリに追加出来ないやつが一つ私のところでは出ました
ダウンロードが出来ない(確かAVRの何かだった気がします)奴はMPLAB X IDEのMCCのページからダウンロード出来たのでこれはクリア
インストール出来ない奴は拡張子を.ZIPを.jarに書き換えて食わせればインストール出来ました
これでうざったい通知が無くなってスッキリ
0308774ワット発電中さん
垢版 |
2022/03/12(土) 09:48:14.02ID:yMfL1rTI
MCCでDMAを構成したら、コンパイルは通るのですが、output画面に「heap領域が0だぞ」というメッセージが表示されます。
調べたらheap領域とはメモリー全体からプログラムとか変数を引いた残りの領域を
スタックと取り合うようです。
私は何か設定しなければいけないのでしょうか?
というか、heapを128byteとか確保するということは、どういうことなのでしょうか?
「おいスタック、どれだけ増えても128byteの俺の領域には入ってくるなよ」ということでしょうか?
0309774ワット発電中さん
垢版 |
2022/03/12(土) 20:44:20.74ID:yMfL1rTI
>>308
コメントがつかないようですので、別のところで聞いてみます。
ありがとうございました
0310774ワット発電中さん
垢版 |
2022/03/12(土) 21:16:01.16ID:EvjtdyG+
>>308
函数使うような構造型言語で、函数呼ぶ時にどういう処理するか、考えてみて下さい。

呼び出し元を記録しておく場所がヒープ領域。
0311774ワット発電中さん
垢版 |
2022/03/12(土) 23:32:53.62ID:dc10H+Ih
>>310
わざわざ「函数」なんて書いといて、こんな基本的な事を間違えるとは
それはスタックだ
ヒープは実行時に必要に応じて任意のサイズで取得するための領域だ
0312774ワット発電中さん
垢版 |
2022/03/13(日) 09:20:42.11ID:B5zWJbM0
>>310
この場合は、DMA 用のメモリ領域確保しろ!って事だろ?
品種によっては特定の領域しかDMA で使えない場合もある。
 
0313774ワット発電中さん
垢版 |
2022/03/13(日) 12:39:53.84ID:wtAcEcsF
>>312
DMAって、CPU管理外でメモリーからメモリーのコピーですよね?
そんなに沢山の領域が要りますかね?
一度に転送できるのは16bitなんだから、16bitのワーク1つがあればいいと思うんですが。
1クロックで128byte持ってきて、
1クロックで128byteがストアでなるわけではないですよね?
0314774ワット発電中さん
垢版 |
2022/03/13(日) 12:46:35.96ID:PNRQw8RV
>>313
CPU管理外だから、リンカーに変数とかに割り当てられない様に予約して置く必要ある。
実際にDMAで何バイト使うかは用途による。
0315774ワット発電中さん
垢版 |
2022/03/13(日) 13:08:40.95ID:9unem2Tq
>>313
アナログデータとか通信データで
数百バイトをちまちま割込みやポーリングして
データー取ったり出したりするより、
DMAで放ったらかして転送終わったら処理した方が
CPUのリソース少なくて済むわな
0316774ワット発電中さん
垢版 |
2022/03/13(日) 13:58:31.57ID:9unem2Tq
>>313
なんか勘違いしてると思うから補足しとく

1. DMAは、メモリーからメモリーへの自動(CPU命令無)転送
2. DMA転送トリガビット(設定周辺機器IFビット)ONで
 設定転送元から設定転送先へ自動転送
3. 転送先、転送元アドレスは設定により自動加算
4. 転送トリガビットは転送後、自動クリア
5. DMA転送数はDMA設定時に設定しておき、
 その数が転送されたらDMAのIFビットがON

って流れが基本動作
3.の動作があるお陰で放ったらかしに出来る
DMA自体設定はそんなに無いから、
MCC使わないで直接DMAレジスタ叩いて
ヒープ無しでやってみたら?と思う
0317774ワット発電中さん
垢版 |
2022/03/13(日) 19:28:24.98ID:/heyFEvc
初歩的な質問ですみません。
16F1455などのUSBマイコンは48MHzで動作しますが、
このクロックでもNOPで正確なタイミングを取ることはできるのでしょうか?
0318774ワット発電中さん
垢版 |
2022/03/13(日) 19:32:13.04ID:HLWYMJ+H
正確なタイミングを取るならタイマーを使う。どのマイコンも同じ事。
0319317
垢版 |
2022/03/13(日) 19:45:26.78ID:/heyFEvc
ごめんなさい。言葉足らずでした。
48MHzだと1命令サイクルの時間が0.08333...マイクロ秒なので
タイマーにしても目的の時間ぴったりに設定できなさそうと思ったもので。
0320774ワット発電中さん
垢版 |
2022/03/13(日) 19:51:16.71ID:MqgkQjDk
まずは「正確な」とか「ぴったりに」の程度を決めないとねね
0321774ワット発電中さん
垢版 |
2022/03/13(日) 19:58:48.87ID:+tBUBhHl
>>319
USB full speed (12Mbps) の規格を満たすくらいには正確だけど、電波時計基準局やGPS用途ほどには正確ではないですね。

お求めの精度は?
0322317
垢版 |
2022/03/13(日) 20:22:08.06ID:/heyFEvc
計算を盛大に勘違いしていました。
例えば「○○msec待つ」必要があるときに、命令サイクル時間が中途半端なので
計算上合わなくなりそうな感じがしていたのですがそんなことはなかった...
質問は取り下げます。すんません。
0323774ワット発電中さん
垢版 |
2022/03/13(日) 20:32:37.84ID:oIhNQkGg
そういう用途だと32.768KHzみたいな端数まであるクロック元使うんじゃね
知らんけど
0324774ワット発電中さん
垢版 |
2022/03/13(日) 22:14:37.43ID:HLWYMJ+H
「Nms待つ」は最低Nms待てばいいのか、Nmsで1ns も超えたらアウトなのか。
前者ならNms超えた最小のクロック数にするし、後者ならハードウェアでの実装を考えるね。
0325774ワット発電中さん
垢版 |
2022/03/14(月) 01:34:47.80ID:bY9oAjiu
>>319
タイマーのクロック入力に、48MHzを分周したものを使えば、いい感じの時間が作れないですか?
アセンブラで48MHZをNOPするなら、
48回使えば1usにならないのでしょうか?
0326774ワット発電中さん
垢版 |
2022/03/14(月) 01:45:09.26ID:bY9oAjiu
>>311
ヒープ領域って、マーロック使う時に取るもので、
それ以外に使わないと思います。

DMAはバックグラウンドで処理をするけど、
必要な領域はコピーの時使う16bitか32bitだけでしょう。
スタックに取ると、迷惑なので専用に敷地を確保するんだと
思っていますが、違いますかね?
0328774ワット発電中さん
垢版 |
2022/03/14(月) 07:42:36.54ID:dYvUhRTy
MCCのやり方が気に入らんなら、自分でDMAのドライ場を書けばいいだけ
その能力がないなら黙って従うしかないな
0330774ワット発電中さん
垢版 |
2022/03/14(月) 09:21:43.73ID:iSQCTjqg
前提が違っていて話がかみ合ってないです。

>>326さんが何かの解決を必要としているなら
・PICの型式
・具体的なDMAの使い方(「UARTのRXDをメモリ領域に転送する」とか)
は書くべきだと思います。

そうでなければ、>>326さんがこの場の混乱を促進するだけです。
0331774ワット発電中さん
垢版 |
2022/03/15(火) 01:58:24.97ID:+0qiyVJP
ざっくり言えば
heapはグローバルな領域
stackはローカルな領域
0332774ワット発電中さん
垢版 |
2022/03/15(火) 03:14:13.72ID:CHN9OIGs
PICは、dsPIC33EP512です
具体的なDMAの使い方は「UARTのRXDをメモリ領域に転送する」です。
宜しくお願いします
0333774ワット発電中さん
垢版 |
2022/03/15(火) 13:16:21.73ID:zQiezqcq
ヒープとかスタックとか専門用語を並べるから分からないんじゃないの?
ヒープって何?  スタックって何?
その辺から教えてあげないと分からないと思うよ
0334しってるしってる
垢版 |
2022/03/15(火) 13:51:21.16ID:CvV27FD9
歴史で教わったぞ、リンカーンだよな。
えーんど ざっと がばめんと!
 おぶ ざ ひーぷ
  ばい ざ ひーぷ
   ふぉー ざ ひーぷ!!(^p^)
0336それは動詞形だな。
垢版 |
2022/03/15(火) 14:53:02.90ID:CvV27FD9
                    ,ィ⊃  , -- 、
          ,r─-、      ,. ' /   ,/     }     ち
          {     ヽ  / ∠ 、___/    |
   署     ヽ.      V-─- 、  , ',_ヽ /  ,'      ょ
           ヽ  ヾ、  ',ニ、 ヽ_/ rュ、 ゙、 /
   ま        \  l  トこ,!   {`-'}  Y        っ
             ヽj   'ー'' ⊆) '⌒`  !
   で    , 、      l     ヘ‐--‐ケ   }        と
        ヽ ヽ.  _ .ヽ.     ゙<‐y′   /
   来     }  >'´.-!、 ゝ、_  ~  ___,ノ
         |    −!   \` ー一'´丿 \
   い    ノ    ,二!\   \___/   /`丶、
        /\  /    \   /~ト、   /    l \

        動詞形:ピ ー ポ る 

スタックについては、紙に図でも書いて、リアルタイムに加筆しながら動作を説明しないと
掲示板で文字で説明されてもうまく理解できないんじゃないかという気がするわ・・・(^p^;)
0337774ワット発電中さん
垢版 |
2022/03/15(火) 17:04:14.79ID:J+4/AHMR
明治時代の人は偉いな、英単語から新しい日本単語を作ったんだから。
今は、英単語そのままの場合が(カタカナ表記)多いから
初めて接するときは、その単語のオリジナルの意味を知らなければ見当もつかない。
ヒープ?スタック?ブートストラップ?カレントミラー?
ワイズスペンディング?ダイバーシティ?フィンテック?
何それ、になってしまう。
そういえば昔、原始算譜、目的算譜なんて単語を見た事がある。
ジジィの私もさすがに驚いたが、意味はすぐに理解できたw
0340774ワット発電中さん
垢版 |
2022/03/15(火) 20:05:21.83ID:4I/6Cx8b
PICデビューのため秋月でPIC18F57Q43の評価ボード購入してきました。
まずはスイッチでLED on / off にチャレンジしようと思い以下のページを参考にしてプロジェクトを作成したのですが、スイッチ押しても反応しないようです。何か設定の抜けなどあるかご確認してもらえないでしょうか?
whileの中をRF3=0で点灯、RF3=1で消灯するのは確認できたのですが、スイッチの動作を確認することができていない状態です。

https://qiita.com/infinite1oop/items/b039efa8a6bbe6cf1f92
0341774ワット発電中さん
垢版 |
2022/03/15(火) 21:04:59.54ID:scOaL52o
プルアップはした?
0342774ワット発電中さん
垢版 |
2022/03/15(火) 21:21:58.83ID:FsOTFiyZ
>>341
評価ボードだから外部でしてあるでしょう
なかったとしても、Lに張り付くなら点灯したままだろうし
0343774ワット発電中さん
垢版 |
2022/03/15(火) 21:22:15.03ID:HaVxwSa1
>Pin Managerでピンアサインを行う。RB4(ボタン)のinput

これは問題なく設定できたん?
0344古谷峰一 パナソニックインフォメーションシステムズ で検索
垢版 |
2022/03/15(火) 21:53:44.92ID:qZmYepEd
古谷峰一 パナソニックインフォメーションシステムズ で検索
0345774ワット発電中さん
垢版 |
2022/03/15(火) 22:54:25.18ID:gTP5TQlx
>>340
PIC内蔵のプルアップの設定が必要だと思う
ページのコードだとLEDが点灯状態になるんじゃない?(SW押しても離しても点灯)
0346774ワット発電中さん
垢版 |
2022/03/15(火) 23:03:46.68ID:gTP5TQlx
>>340
4.2.2 Mechanical Switch Edge connector The PIC18F57Q43 Curiosity Nano has one mechanical switch.
This is a generic user-configurable switch. When the switch is pressed, it will drive the I/O line to ground (GND).
Tip:&#8192; There is no externally connected pull-up resistor on the switch.
To use the switch, make sure that an internal pull-up resistor is enabled on pin RB4.

最低限これ
https://i.imgur.com/swyoDps.png
もう一か所位設定必要かも(;´・ω・)
0348774ワット発電中さん
垢版 |
2022/03/16(水) 00:21:23.18ID:m7d3fsYF
>>340
while (1)
{
// Add your application code ここから!

の、Whiele(1){ の前の行に、次の1文を書いてください。

  WPUB4 = 1;
0349340
垢版 |
2022/03/16(水) 10:34:34.43ID:J0rj+LcE
レス頂いた皆様ありがとうございます。

>>346
>>348
GUIのpin module で、WPUを有効にしたら動きました。コードで直接書く場合は、WPUB4=1でも動きました。助かりました。
0351774ワット発電中さん
垢版 |
2022/03/16(水) 12:18:48.04ID:4DcAc9u4
自分で色々と試してみて
良い結果が出たらそれが答えやぞ
0352774ワット発電中さん
垢版 |
2022/03/16(水) 13:06:28.39ID:m7d3fsYF
>>349
なぜプルアップを有効にすると動いたか、
教えてもらえないでしょうか?
あと最初は、MCC使わずにベタで書いて覚えた方がいいよ。
アルデーノ族と同じになってしまう。
0353774ワット発電中さん
垢版 |
2022/03/16(水) 13:19:18.76ID:RVj4Y1U/
>>350
あら おまいさん、突入電流なんてキニシナイ派?
まぁ確かに、静電容量自体は小さいだろうけどなぁ。。。
0354774ワット発電中さん
垢版 |
2022/03/16(水) 13:52:15.67ID:l3PCfS+H
>>353

PICは中に入っているのだと思っていました。
こんな格安ボードでも入れてるのであれば、原則入れたほうがいいのかな...
0355774ワット発電中さん
垢版 |
2022/03/16(水) 15:28:51.95ID:e8nJGFct
>>350
これはRB4を出力で使うときの保護用じゃないですかね。
この種の評価/トレーニングボードだとわりとよく見る配慮。
0356774ワット発電中さん
垢版 |
2022/03/16(水) 16:16:42.79ID:ACey0mjq
>>352
>あと最初は、MCC使わずにベタで書いて覚えた方がいいよ。
>アルデーノ族と同じになってしまう。
MCCもArduinoも両方よく知らない典型的なステレオタイプで笑える。
0357774ワット発電中さん
垢版 |
2022/03/16(水) 17:02:41.35ID:RVj4Y1U/
配慮なのか?そうなのか?!よう知らんけど;
アルデーノ族というとなぜかラテン系なイマーゲ
0359774ワット発電中さん
垢版 |
2022/03/16(水) 18:14:20.15ID:6qgqFke3
>>352
>あと最初は、MCC使わずにベタで書いて覚えた方がいいよ。
>アルデーノ族と同じになってしまう。
そうなんですか、なぜなのか理由を教えていただけますか?
0360774ワット発電中さん
垢版 |
2022/03/16(水) 18:56:16.52ID:m7d3fsYF
>>355
その通りです。
間違えて出力設定でスイッチ押した時の、
保護用というか負荷ね。
0361774ワット発電中さん
垢版 |
2022/03/16(水) 18:58:34.59ID:e8nJGFct
>>359
ひな形のコードを生成するツールや、より簡単に開発できる環境には、いつの時代でも拒否反応を起こす人はいます。
基本的には、そういう考え方もある、ぐらいに受け流してもいいと思います。
0362774ワット発電中さん
垢版 |
2022/03/16(水) 19:01:50.61ID:MbGNzgj/
べつに全部をmccなりharmony を排除して書く必要はないよ。
そう言う風にレジスタ操作する方法もあると知っておけばいい。
なんか凝ったもの作りたくなった時に引っ張り出して来ればいい。
0363774ワット発電中さん
垢版 |
2022/03/16(水) 19:02:54.07ID:m7d3fsYF
>>359
MCCで生成したソースコードをちょっと改造したら、
次のMCCをジェネレートした時に、大変面倒。
MCCは、よくわかった人が使うもの。
MCCのスタンスは
「オレの言う通りにやれ。
  俺のコードを触るな。
  文句があるなら自分でやれ」だから。
入門者が相手できるものではない。
0364774ワット発電中さん
垢版 |
2022/03/16(水) 19:08:58.64ID:Fz8lCQ6/
>>363
>MCCで生成したソースコードをちょっと改造したら、
その時点で「アルデーノ族」ではなくなってますよねw
なぜ同じになってしまうのか知りたいんですよ
0365774ワット発電中さん
垢版 |
2022/03/16(水) 20:38:25.43ID:m7d3fsYF
>>364
>その時点で「アルデーノ族」ではなくなってますよねw
は?
MCCの生成した関数を、言われたとおりに使用するからアルデーノ族なのよ。
話が食い違ってない?
0368774ワット発電中さん
垢版 |
2022/03/16(水) 20:54:00.83ID:DvtzqueZ
>その時点で「アルデーノ族」ではなくなってますよねw
>MCCの生成した関数を、言われたとおりに使用するからアルデーノ族なのよ。
同じこと言ってるw
0369774ワット発電中さん
垢版 |
2022/03/16(水) 20:58:00.78ID:DvtzqueZ
MCCを使ったからと言って「アルディーノ族」とやらにはならない
MCCだけでArduinoのようには簡便には使えないことは使った人間なら誰でもわかる
つまり>>352は何もわかってない癖にステレオをタイプの思い込みだけで語ってる
0370774ワット発電中さん
垢版 |
2022/03/16(水) 21:00:13.80ID:l3PCfS+H
MCCは出力コードいじりたくなる。
MCCもアルデーノと同レベルの完成度になってほしい。
0371774ワット発電中さん
垢版 |
2022/03/16(水) 21:12:33.58ID:DvtzqueZ
Arduinoはライブラリ群だろMCCはConfiguratorだ
完成度云々の話ではない
0372774ワット発電中さん
垢版 |
2022/03/16(水) 21:18:52.95ID:m7d3fsYF
>>370
そうそう。
読みにくいし、使いにくいし、ギミックが過ぎるし。
コメント1行入れただけで、ブーブー言うし。
0374774ワット発電中さん
垢版 |
2022/03/16(水) 22:26:32.87ID:ufR6b37+
MPLAB X IDEでarduinoのプラグイン無かったっけ?
そういう話じゃないってのは分かるのですが
0375774ワット発電中さん
垢版 |
2022/03/16(水) 22:37:16.61ID:MbGNzgj/
自分のコード潰されるの嫌なら生成前にコピーしとこう。
生成後にマージしよう。
WinMarge便利。
0376774ワット発電中さん
垢版 |
2022/03/16(水) 22:51:10.94ID:+WK56htj
IDEの問題かもしれないけど、
突然コンパイルできなくなったり訳がわからんことが起きやすい。
仕事で使ってる人はぶちギレないのだろうか。
0377774ワット発電中さん
垢版 |
2022/03/16(水) 23:00:02.01ID:e8nJGFct
コード生成が信用ならんと思うなら、バックアップも取らずにコード生成することはないのでは。
バックアップができていれば、キレるような無駄なことはせずに差分の確認と復旧はできると思う。
0378774ワット発電中さん
垢版 |
2022/03/16(水) 23:10:43.60ID:+WK56htj
仕事で使っていればそれなりにリスク管理してるか。
安心して使えるよになってほしいー
0379774ワット発電中さん
垢版 |
2022/03/16(水) 23:56:54.62ID:m7d3fsYF
揺れた
0382774ワット発電中さん
垢版 |
2022/03/17(木) 02:26:40.94ID:4RTkouCM
自作だと基本的にコンパイラのバージョン管理だけでいいからな
MCCだとMCCとIDEのバージョンまで管理しなきゃいけなくなる
数年おきにどんどん変わっていって
仕事で使ってると、環境管理が正直ムリだわ
MCCでじゃんじゃん組みたいけどな

さすがにMPLAB8は新規では使ってないけど、
変更依頼が来たときの安心感は8の方がある
0383774ワット発電中さん
垢版 |
2022/03/17(木) 08:51:05.33ID:9U6AZUBp
MCCでコード生成をしたら、そのあともずっと修正のたびにMCCでコード生成
しなくちゃいけないって思っている人がいるんだね。
0384774ワット発電中さん
垢版 |
2022/03/17(木) 10:33:57.40ID:itgKeWt+
どうせベタで書くならアセンブラで書けばPICの変態アーキテクチャを堪能できるのに
0386774ワット発電中さん
垢版 |
2022/03/17(木) 11:16:50.18ID:GGiiXVnO
そういや、なにげにハーバードアーキテクチャなんよな・・・(^p^;)
ノイマンボトルネックが無い奴。
0387774ワット発電中さん
垢版 |
2022/03/17(木) 15:32:52.42ID:9R9BD6kc
組み込み用途に向いてるんじゃね
0388774ワット発電中さん
垢版 |
2022/03/17(木) 17:23:24.36ID:nrEpmk7f
仕事だと、自分の手の内に無いもの(自力で対処できないもの)は
可能な限り使いたくないだろうな。
客に「すみません、デバッグ中に開発環境のxxにyyという問題があることが分りまして
納期に間に合いません」なんて言えないw

アマチュアならCよりもアセンブラの方がCPUに密着しているから
PICやAVR、それぞれのCPUのアーキテクチャの違いを楽しめるんじゃないか?

CPU関連の技術(集積度や速度など)が発達したから、
RAMメモリをデータとプログラアムで分離するようになったのかな。
ところでフォン・ノイマンはものすごく頭が良くて、
悲惨な鬼才アラン・チューリングに比べて幸せな一生を送ったらしい。
0389774ワット発電中さん
垢版 |
2022/03/17(木) 17:34:26.28ID:CrGTZfgZ
Lチカしかしないのに か?
0390774ワット発電中さん
垢版 |
2022/03/17(木) 18:06:34.08ID:RO0nGvV1
LチカするのはMCCでチャッチャッで出来るのが目からウロコでした
Harmonyはまだ使ったことがない
0391774ワット発電中さん
垢版 |
2022/03/17(木) 18:13:52.99ID:HmuJdRGC
全体的にMPLAB-XよりArudinoのほうが安心度は高いなー
安心して使うノウハウはバックアップとWinMerge他にはなにかあるだろうか?
0392774ワット発電中さん
垢版 |
2022/03/17(木) 23:39:54.74ID:CEjGPHFf
RAMメモリって、トラ技で後閑も使ってたな
あれ見ただけで読む気無くした
0393774ワット発電中さん
垢版 |
2022/03/18(金) 08:34:16.94ID:Xm38wCvW
略語は浸透しまえば元の意味を失っていくことはあるさ。

その程度で読む気を失うのは人間の弱さ。
0394774ワット発電中さん
垢版 |
2022/03/18(金) 11:25:17.78ID:fo1r2BQ7
・・・元の意味が失われる、か。

昔バトルテックっていう洋物のSF設定でコムスターっていう秘密結社というかカルト教団が登場するんだけどさ、
由来が星間通信事業業者の成れの果てで、通信機器の操作手順書を聖典として暗記詠唱しているとかいう設定でワロタ
意味が失われても読み続け暗記する人間 強すぎやなw
0395774ワット発電中さん
垢版 |
2022/03/18(金) 14:01:46.84ID:Xm38wCvW
怪しいものが発掘されたら、しばしば「祭祀の道具」って言われているけど、とか。

昔、センパイに「UARTトランスミッターはダメだ。UARTのトランスミッターと書け」って言われたことがある。
細かいな。
0397774ワット発電中さん
垢版 |
2022/03/18(金) 21:17:57.31ID:fvy4HpJR
最近はROMといえばストレージ意味に使われている。
ROMメモリとは、ストレージに使われているフラッシュメモリのことを指している。
0399774ワット発電中さん
垢版 |
2022/03/19(土) 18:08:10.66ID:DZgTr5cA
>>398
LPガスじゃないですかね?


エルピージー ガスとは言わないでしょう。
0400774ワット発電中さん
垢版 |
2022/03/20(日) 00:34:13.95ID:PVDax1iu
picでパソコンのuartで英数字文字を出しました。
漢字を出すにはどのようにするのでしょうか?
宜しくお願いします
0401774ワット発電中さん
垢版 |
2022/03/20(日) 00:41:42.73ID:JD4vlui9
>>400
PICから送信して、パソコンで受信ですか?
その場合、パソコンで受信するときに使ったソフトは何ですか?
そのパソコンで受信するソフトが漢字を表示できるものなら、
そのソフトで漢字を表示するためのコードをPICから出せていれば表示ができます。
0402774ワット発電中さん
垢版 |
2022/03/20(日) 02:07:07.41ID:PVDax1iu
>>401
ありがとうございます。テラタームプロです。
どうでしょうか。print fで送っています
0404774ワット発電中さん
垢版 |
2022/03/20(日) 02:23:31.26ID:macGBrgz
文字コードの設定をUTF-8に設定したほうが良いよ
Shift-JISにしたら駄目だよ
0405774ワット発電中さん
垢版 |
2022/03/20(日) 02:25:19.52ID:eksg4Twh
"漢字送信\r\n"
みたいにすればSHFT-JISで送れるんじゃないの
"表"のように2バイト目が0x5Cの文字で化ける場合は"表\示"のようにする
0406774ワット発電中さん
垢版 |
2022/03/20(日) 02:57:35.04ID:PVDax1iu
>>404 >>405
ありがとうございます。月曜日やってみます。
文字コードはJISとUTF-8と両方やってみます。
漢字IN 16進漢字コード 漢字out
とかするのかと思っていましたが、直接 "漢字送信\r\n" ができるのですね。
どうもありがとうございました。

>"表"のように2バイト目が0x5Cの文字で化ける場合は"表\示"のようにする
素晴らしい情報、ありがとうございます。


>>403
>まずはやってみればいいのでは
言われなくてもわかっていますが、
目の前に装置がないので試せないんですよ。
0407774ワット発電中さん
垢版 |
2022/03/20(日) 11:46:32.44ID:Tm8GXtP0
N81XとかN81Eとかに設定するのが先じゃないか
0408774ワット発電中さん
垢版 |
2022/03/20(日) 23:44:06.20ID:h3z+9QK9
MPLAB X IDE 5.50でMCC組み込みの勉強をしています。
2つほどおしえてください。
MCCの設定を保存したいのですが、どのようにしたら良いでしょうか?
レジセスタの設定値をいろいろと変えてみたいのですが、
いちいち設定値を手書きでメモしています。
数が多いので、保存がしたいです。
0409774ワット発電中さん
垢版 |
2022/03/20(日) 23:50:17.01ID:5bTiEztI
>>408
一度設定したら同プロジェクトなら保存されてると思うけど・・・・
あと手書きでメモするぐらいなら画面のスクリーンショットでも保存しとけば良いのでは?
0410774ワット発電中さん
垢版 |
2022/03/21(月) 01:11:02.31ID:cX8fW26N
>>409
>一度設定したら同プロジェクトなら保存されてる
はい、そう思いますが、MCCの設定値を変えて動作を見たいのです。
最初はスクリーンショットを取っていましたが、
1回に20枚以上とる必要があって苦労しています。
やっぱり無理そうですね
ご回答ありがとうございます。
0411774ワット発電中さん
垢版 |
2022/03/21(月) 01:34:13.08ID:AGax65tC
>>410
試した事は無いけど[MyConfig.mc3]を複製して保存したらどうだろう?
MCCの設定って殆ど変更しないと思うけどどうなんだろう?
それに変更して戻す事はさらに少ないと思う
0412774ワット発電中さん
垢版 |
2022/03/21(月) 01:43:05.11ID:BzEMS2WB
git ではいかんのか?
0414774ワット発電中さん
垢版 |
2022/03/21(月) 03:07:52.28ID:cX8fW26N
>>みなさん、ありがとうございます。
.mc3を保存入れ替えすればできそうな気がするので内容を見てみたのですが
2万行以上もあり、設定値を抜き出すことが私には難しかったです。
実は、PICの動作がおかしくて、途中で止まったり起動しなかったりするのです。
PICKit4で書き込んだまま動作させるとちゃんと動くのに、一旦電源をon/offすると
もう二度と起動しなかったり、シリアルを受信すると固まったりして困っています。
コードはMCCで生成しているので、パラメーターをいじって、
PICがどのように振る舞うのか、勉強がてら調査をしています。
MCCで、アレをセットすると、コレが変化するのか・・・。
じゃあソレを6にすると、止まってしまうのか? という感じです。
0415774ワット発電中さん
垢版 |
2022/03/21(月) 03:29:41.34ID:AGax65tC
>>414
>.mc3を保存入れ替えすればできそうな気がするので内容を見てみたのですが
丸ごと保存する意味で言ってた(そのあとプロジェクトのコピーで良いと思った)

>PICの動作がおかしくて
MCCの設定ではない部分にバグがあると思うんだけど

>PICKit4で書き込んだまま動作させるとちゃんと動くのに、一旦電源をon/offすると
PICKITのUSBを抜き差しすると電源供給は止まるしMCLRもプルダウンされるかも
もしかしたらUARTのRXの信号が送信側で電圧印加されてるのでその電力で中途半端に動いてるとか?

>コードはMCCで生成しているので、パラメーターをいじって、
>PICがどのように振る舞うのか、勉強がてら調査をしています。
そのへんはパラメータいじるんじゃなくてPICのデータシート読んだ方が早いと思う
0416774ワット発電中さん
垢版 |
2022/03/21(月) 15:42:11.87ID:cX8fW26N
>>415
ありがとうございます。
>MCCの設定ではない部分にバグがあると思うんだけど
そうですよね。私もプログラムミスだとは思うのですが。

>その電力で中途半端に動いてるとか?
それは真っ先に確認しました。テスターでの測定ですが、
電源OFF時にはPICの電源電圧、TXD, RXD端子ともに0.0009V以下でした。
nMCLR端子は、電源ON時3.3002V、電源OFF時0.0009V以下でした。

10msのtimer1割込の中に_RB1=1; _RB1=0; を追加して、
main()のwhile(1)の中に、_RB2=1; _RB2=0; ClrWDT(); を追加して様子を見たところ
正常時は、水晶=16MHz波形あり、RB1=1ms周期、RB1=10ms周期でしたが、
起動NG時は、水晶=16MHz波形あり、RB1もRB2も HのままかLのまま 変化しませんでした。

>そのへんはパラメータいじるんじゃなくてPICのデータシート読んだ方が早いと思う
そうですね。データシート読んでみます。ありがとうございました。
0417774ワット発電中さん
垢版 |
2022/03/21(月) 16:59:58.38ID:cX8fW26N
>>416
ms値が テレコでした。すみません。
0418774ワット発電中さん
垢版 |
2022/03/27(日) 10:01:35.29ID:HftSFgg5
esp32のようなRMTができないか、CLC駆使してやってみたら以外にできるものなのね。
ありがとう 150円PIC
0420774ワット発電中さん
垢版 |
2022/03/29(火) 08:01:30.23ID:VdojGuwZ
最近のは知らないけど昔のリモコン(送信機のほう)はふたを開けると大抵455〜456kHzのセラミック発振子使ってたな
38kHz*12=456kHzだし455kHzとか456kHzってAMラジオ用の何かが大量にあったんだろうな
https://i.imgur.com/oYuMAwa.gif
0421774ワット発電中さん
垢版 |
2022/04/02(土) 12:33:12.43ID:EKhL6c2a
>>416ですが、
タイマー割込でon/offさしているLEDが、電源ON時に点滅しないのは、
PICが暴走しているからじゃないかと思います。
PICKit4を使っているのですが、暴走しているときに、
プログラムがどこを走っているか解からないでしょうか?
あとネットで検索するとスタックが強テイルのではないか というのがありました。
PICKit4でスタックの使用量(?)は調べら増すでしょうか?
0422774ワット発電中さん
垢版 |
2022/04/02(土) 12:53:46.27ID:0R8nRZX7
>>421
MCCはよく知らないけど、
ソフトバグで割込み記述のない所に
飛んでいったりした時とかの為に記述だけしておく
Breakポイント仕掛けておいて、
引っかかった時にレジスタ読み込んで解析

トラップルーチンってMCCだと自動生成してくれるのかな
0423774ワット発電中さん
垢版 |
2022/04/02(土) 13:01:24.25ID:v/m9yfB7
>>421
余ってるGPIOが有ればそこにフラグを立ててその信号をロジアナやオシロで見ればいいと思うが
あとはPickitのデバッグモードで動かせばいつでも止めて(もしくは止める地点を設定)して実行箇所わかる
0425774ワット発電中さん
垢版 |
2022/04/02(土) 13:48:19.89ID:EKhL6c2a
>>422 423
ありがとうございます。
>Breakポイント仕掛けておいて、引っかかった時にレジスタ読み込んで解析
>Pickitのデバッグモードで動かせばいつでも止めて(もしくは止める地点を設定)して実行箇所わかる
デバッガーは、暴走中のPICからでも値をゲットできるものでしょうか?
スタックの空きとかは、ブレークポイントで見えそうですね。
実はデバッガ使ったこと無いのです(恥)

>>423
>余ってるGPIOが有ればそこにフラグを立ててその信号をロジアナやオシロで見ればいいと思うが
_RA1=1; _RA1=0; というのを、ある点では1回、ある点では3回とかにして
オシロで見るのは やっています。結
構便利で、いくつかのバグが解決されました。あとはprintfです。

>>424
ありがとうございます。
>あれこれ言われるの嫌だと思うけど動かしてる回路の写真とコードを上げれば
気持ちを察していただいてありがとうございます。
恥ずかしいので、それはやめておきます。せっかくですが すみません。

動作確認でtimer割込でパルスを出してオシロで見ています。1ms。
正常に起動したときでも、UARTから1文字入ると暴走してしまいます。
100%の確率です。
暴走の判定は、timer割込のパルスがHべタ、Lベタで停止するから、暴走だと思っています。

PICKit4を使ったデバッグの方法、熱湯で探してみます。
0426774ワット発電中さん
垢版 |
2022/04/02(土) 14:16:37.04ID:v/m9yfB7
>>425
せめて
・PICの型番
・電源の供給手段
・URATの接続手段
・BORの設定
・MCCのコードに手を加えたか
・発信回路の詳細

以前の文章から外部発振(水晶)だと思うけど内蔵発振でも起きる?
状況からしてUARTの割り込み後に無限ループが起きてると思う
0427774ワット発電中さん
垢版 |
2022/04/02(土) 15:26:10.13ID:+74eQ1WF
>>425
暴走じゃなくて割り込み入りっぱなしだったりしてな。
0428774ワット発電中さん
垢版 |
2022/04/02(土) 16:53:40.00ID:CdUe1CjV
pickit使ってるならpauseで止まるだろうに。
Cソースが出てくるかどうかは分からんが。
0429774ワット発電中さん
垢版 |
2022/04/02(土) 18:31:56.40ID:5V7/1F1A
割り込み処理を見ろ
MCCではたいがい

if(XXXIF){

}else if()
...

のようにelseが入っているので、先頭のIFがクリアされない限り永久ループなのでは
0430774ワット発電中さん
垢版 |
2022/04/08(金) 08:50:17.12ID:g/HPXzBo
あはは。
またPICの罠にハマってる奴がいるのかw

PICでチャレンジするのが間違いだって
早く気づけ。
0431774ワット発電中さん
垢版 |
2022/04/08(金) 08:56:07.18ID:9RdpiPTF
> PICでチャレンジするのが間違いだって
> 早く気づけ。
理由も書かずにこんな非論理的なことを書くやつにはそりゃあPICに限らず使いこなせんわな
0432774ワット発電中さん
垢版 |
2022/04/08(金) 09:31:26.54ID:A4XsnJF4
古い石だと、割り込み処理開始・終了時のレジスタ退避・復元を
自分で書く必要があったけど大丈夫?おじさん心配よ(^p^;)
0433774ワット発電中さん
垢版 |
2022/04/08(金) 20:07:54.96ID:FCYkYSu8
PICも使えないようなヤツに何のマイコンが使えるかってんだ!
0434774ワット発電中さん
垢版 |
2022/04/08(金) 20:39:14.32ID:kkersraT
PIC一括りで語っちゃうのは気が引けるけど、
他のマイコンでしなくていい苦労を強いる(品種がある)
ってのは良くないよね。
0435774ワット発電中さん
垢版 |
2022/04/08(金) 22:00:45.30ID:g/HPXzBo
PICなんてジジイしかおらんwwww
0436774ワット発電中さん
垢版 |
2022/04/09(土) 03:29:06.00ID:kNYHldHH
>>432
その顔文字、やめてもらえませんか?イライラします。
0437774ワット発電中さん
垢版 |
2022/04/09(土) 03:30:59.41ID:kNYHldHH
>>430
どんな罠があるんですか?
0438774ワット発電中さん
垢版 |
2022/04/09(土) 03:31:44.83ID:kNYHldHH
>>434
例えばどんな苦労があって、どの品番ですか?
0439774ワット発電中さん
垢版 |
2022/04/09(土) 07:41:09.13ID:/f8sDKbg
バンク切り替えが必要な品種全部
1/4クロックの品種全部
0440774ワット発電中さん
垢版 |
2022/04/09(土) 10:25:50.45ID:RovHzd3K
1/4クロック自体に何か特有の罠ってあるかな?
0441774ワット発電中さん
垢版 |
2022/04/09(土) 12:33:24.12ID:bP1tbGwt
>>439
ろくに知識も無いにわかがそこらで集めた古い情報を聞きかじってディスるときの定型句
0442774ワット発電中さん
垢版 |
2022/04/09(土) 12:35:15.65ID:lbjMVJX5
>>434
苦労を強いる品種を避けるスキルがない自分のことはどう評価してるの?
0443774ワット発電中さん
垢版 |
2022/04/09(土) 12:53:32.16ID:/f8sDKbg
だからもう避けに避けてPIC自体使ってないよ。
0444774ワット発電中さん
垢版 |
2022/04/09(土) 13:14:27.15ID:QUCk679a
>>443
で、未練がましくここでくだ巻いてるのはなぜ?
PICのことなっかスッパリ忘れりゃいいじゃん、馬鹿なのかな?
0446774ワット発電中さん
垢版 |
2022/04/09(土) 14:03:57.37ID:l8k5jp+g
これから始めるような人に最初に間違った選択して時間無駄にすんなよ、
選択肢はPICだけじゃないぞ、って言いたいだけ。
0447774ワット発電中さん
垢版 |
2022/04/09(土) 14:18:40.30ID:w7u2xCmt
>>446
だね〜これから始めるなら[CPU,ROM,RAM,IO]が別々のマイコンから始めた方が理解が深まるのが早いよね
入手性の良いZ80のキットなんかが良いのかな?
0448774ワット発電中さん
垢版 |
2022/04/09(土) 14:22:46.95ID:RovHzd3K
>>446
でもそれを上回るメリット(何をメリットとするかは人によって変わるので
何がそれを上回るメリットなのかをここで議論する意味は薄い)があるなら
デメリットがあっても選択の対象にはなるしね。
どんな目的があってもここはPICをディスるのには相応の場所ではないから
よそでやって。
0449774ワット発電中さん
垢版 |
2022/04/09(土) 14:36:31.15ID:ehm9VHao
>>446
初心者に間違った古いイメージを吹聴して選択肢を奪ってるのはあんたの方
ディスコンしないようだから、初心者さんは参考サイトの書かれた日付に注意が必要だけど
新しいの使えば何も問題は無いよ
0450774ワット発電中さん
垢版 |
2022/04/09(土) 18:00:16.23ID:QG+9xkzQ
デスコンしないって言うけど、それって「大口さんが必要な時は特別生産しますよ」
ってだけの話で、個人レベルでいつまでも入手できるって話じゃあないよねw

あるいは買えるけど最新デバイスに比べて性能も周辺もプアなのにクッソ高いのを
許容するか。

デスコンしない云々はたいしたメリットにならんわw
0452774ワット発電中さん
垢版 |
2022/04/09(土) 21:03:32.06ID:sCSkfe4A
性能も周辺も使い切ってるアマチュアがどれだけいるのよ?
0453774ワット発電中さん
垢版 |
2022/04/09(土) 21:04:58.31ID:sCSkfe4A
要するに好きなの使え
PICを最初に目を付けたのならそれが運命なんだからPICから覚えればいい
0454774ワット発電中さん
垢版 |
2022/04/09(土) 22:32:00.99ID:p6Sgdj7D
アセンブラじゃなかったらバンク切り替えとか意識しないし
0455774ワット発電中さん
垢版 |
2022/04/09(土) 23:24:17.48ID:HXIn1hAj
このスレみりゃ分かる。
まともに解決できた試しがないw
0456774ワット発電中さん
垢版 |
2022/04/09(土) 23:42:01.81ID:RovHzd3K
>>450
>>449 は「ディスコンしない」をメリットだとは言ってないよね?

>アセンブラじゃなかったらバンク切り替えとか意識しないし
あれ。おれの記憶違い? 配列のサイズは、今のXC8はバンクサイズの制約は受けないのだっけか。
0457774ワット発電中さん
垢版 |
2022/04/10(日) 06:44:54.60ID:XFx5jkY/
私が友人から「8ビットCPUの勉強をPICで始めたい」と言われたら、
まぁ、とりあえず、「チョット待て」と止めるだろうな。
0458774ワット発電中さん
垢版 |
2022/04/10(日) 06:57:33.36ID:XFx5jkY/
小さな制御用8ビットCPUを理解し、楽しむなら、
最初からアセンブラで組むのがお勧め。
CPUの内部構造や、PICとAVRの違いなどもよ〜く分る。
Cの勉強はそれからでも遅くない。
0459774ワット発電中さん
垢版 |
2022/04/10(日) 09:16:03.74ID:OxpbxWbR
何かの実現のためにマイコンを使う人と、マイコンのためにマイコンを使う人とがいるしね。
0460774ワット発電中さん
垢版 |
2022/04/10(日) 10:18:46.17ID:4W3DUL3r
>>457
代替案も示さずにただ待たせるのか
友達いないだろ、お前

というより
>8ビットCPUの勉強を
>小さな制御用8ビットCPUを理解し、楽しむ
なんて奴が居た試しがないだろw
0462774ワット発電中さん
垢版 |
2022/04/10(日) 14:37:01.90ID:OxpbxWbR
>なんて奴が居た試しがないだろw
根拠もなくこんなことが言える人がいることは想像はできるね。
0463774ワット発電中さん
垢版 |
2022/04/10(日) 15:57:15.41ID:3hcU9nTb
>>462
>8ビットCPUの勉強を
>小さな制御用8ビットCPUを理解し、楽しむ
というヤツの存在を過去スレから引用してみ、居るなら証明できるやろ
居ないことは証明できんのでなw
0464774ワット発電中さん
垢版 |
2022/04/10(日) 16:10:50.83ID:OxpbxWbR
>>463
いないことを証明できないなら、「なんて奴が居た試しがないだろw」と言うべきじゃないよ。
多様性を前提にすればいることは証明できなくても想定できる。
といっても>>463には理解できないかもしれないし、反発する可能性があるけれど、それもまた多様性があるから。
0466774ワット発電中さん
垢版 |
2022/04/10(日) 16:27:48.58ID:1+9d2eUj
こんなにもPICをかばう人が居て
マイクロチップテクノロジの中のPICを設計した人も
さぞやお喜びでしょうw
0467774ワット発電中さん
垢版 |
2022/04/10(日) 16:37:32.54ID:OxpbxWbR
>>465
あなたが>>464を読んで、俺があなたに、あなたが望むような過去スレを提示して差し上げるように見えたの?
0468774ワット発電中さん
垢版 |
2022/04/10(日) 16:38:37.98ID:1+9d2eUj
PICを擁護する人って、なんか非論理的でアホっぽいというか、粘着質っぽいというか、
話をしても通じないな、時間のムダだな、相手するのは止めよう、
と思わせるようなところがあるよう気がしちゃったりしてしまうのはオイラだけ?w
0469774ワット発電中さん
垢版 |
2022/04/10(日) 16:43:46.60ID:OxpbxWbR
>>466
いろいろなマイコンにファンはいるしね。
とりわけ、PICについては、今もなお秋月がそれなりの広告リソースを割いているわけで、少なくない数のファンがいることは想定できそう。
でも、何かのマイコンのファンでいることは自分への呪縛だと思う。呪縛から自由でいて、いろいろ先入観なしで使える方が良いと思うけどな。
あとメーカーとしてうれしいのは、ファンより大口顧客だと思う。
0470774ワット発電中さん
垢版 |
2022/04/10(日) 16:47:27.66ID:OxpbxWbR
>>468
PICでもSTM32でもファンってそういうもの。
それと、擁護する行動を引き出すのは、たいていの場合は攻撃があるからだけど、
攻撃する方も、ファンの非論理的な部分の感情を刺激するケースが多いと思う。
わりと言えるのは攻撃する方も性格が悪い。
0471774ワット発電中さん
垢版 |
2022/04/10(日) 16:54:06.37ID:z4rKsbin
私はPICの大ファンです\(^o^)/
大好きなPICを馬鹿にされると怒りが抑えられません(# ゚Д゚)
私は頭が悪いので複雑なマイコンは使いこなせそうにないです( ;∀;)
0472465
垢版 |
2022/04/10(日) 17:00:19.63ID:6p8ant1k
>>467
あ、お前は>>457ではなく、ただ横から口をはさんだだけのおせっかい野郎だったか
すまん、ついおかしなヤツの相手をしちまう癖が出てしまった
0473774ワット発電中さん
垢版 |
2022/04/10(日) 17:03:43.66ID:o6SAKeRz
乗り換えコスト>>乗り換えで得られるゲイン なら乗り換え躊躇する事ないけどな 今のところSTM32だけど 固執する気はない。
0475774ワット発電中さん
垢版 |
2022/04/10(日) 17:24:24.76ID:OxpbxWbR
>>473
>乗り換えで得られるゲイン
いろいろなデバイスを選ぶときの、唯一最大の条件が「手に入れられること」になるかも。(すでになってるか)
0477465
垢版 |
2022/04/10(日) 18:34:40.40ID:6p8ant1k
>>474
根拠はあるさ、お前がレスを返してきたこと
問題は横から口をはさむおかしな常習者が居ることを忘れてたこと
以後気を付けるよ
0478774ワット発電中さん
垢版 |
2022/04/10(日) 18:37:37.20ID:vDgsshGo
>>477
そう邪険にするなよ
全部自分へのレスに見える異常者で
ここでしか相手してもらえないヤツなんだからさw
0479774ワット発電中さん
垢版 |
2022/04/10(日) 19:11:35.12ID:OxpbxWbR
反論してくる人は、同一人物か。それはおかしいね。

>以後気を付けるよ
なんでも学習。
0480774ワット発電中さん
垢版 |
2022/04/10(日) 19:22:30.14ID:vDgsshGo
>なんでも学習
引導渡されてるのにこの返し、頭おかしいなこいつw
0483774ワット発電中さん
垢版 |
2022/04/11(月) 01:33:04.59ID:TP2zQfzz
>>482
PICもAVRも沢山の種類がある
広い意味では似たような物だし狭い意味ではAVRもPICも型番ごとに別物

あとPICもAVRも今はMicrochip社だけどAVRは元々はATMEL社だった(買収された)
歴史をたどればメーカーが違ったんだよね〜

http://ww1.microchip.com/downloads/en/DeviceDoc/30010135D.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/30010109E.pdf
https://www.microchip.com/stellent/groups/sitecomm_sg/documents/devicedoc/en570055.pdf
https://ww1.microchip.com/downloads/en/DeviceDoc/60001455F.pdf

あとは比較表でも見てもらって追加の質問してくれ \(^o^)/
0484774ワット発電中さん
垢版 |
2022/04/11(月) 02:28:33.57ID:c6qP4inL
avrのmega328Pみたいな初学者は迷ったらこれ買っとけばええみたいな機種ないんよな
中華のコピー品pickit3はあるがarduino並に手早く始められて不満が出たら移行できるお手軽環境あればええんやが
0485774ワット発電中さん
垢版 |
2022/04/11(月) 09:07:10.95ID:tpUr07o4
PICだろうがAVRだろうがSTM32だろうが何から入ったって同じだよ
ごちゃごちゃ言ってるのは抽象化して勉強するのが苦手な奴ら
0486774ワット発電中さん
垢版 |
2022/04/11(月) 09:31:16.97ID:17928gnO
>>484
「並」がどういうことを意図してるのかわからないけど、
いろいろなセンサーや表示器ライブラリがネットにあったり、ファイルシステムも使えたり、
USBのCDCとかHID入力デバイスとかを構成したり、がarduino並にできる、ってことは期待しないほうがいいよ。
少なくともPIC16Fは、mega328Pとは方向が違うものだし。

「なんたら並」を期待するなら、特に事情がないなら他のものではなく、まっすぐに「なんたら」を選ぶのがいい。

それと、Pickit3 だと、新しめのPICのサポートは良くないのでは。
0487774ワット発電中さん
垢版 |
2022/04/11(月) 09:34:44.73ID:17928gnO
>>485
>PICだろうがAVRだろうがSTM32だろうが何から入ったって同じだよ
俺もそうも思う。
入口はなんでも、とりあえずやってみて、ああAruduino並にはならないな、って思ったり
自分がやりたいことをしにくいな、って思ったら、いろいろ乗り換えていけば良いわけだし。
0488774ワット発電中さん
垢版 |
2022/04/11(月) 10:22:39.78ID:4CNHG9lz
>>484
avrのmega328Pが
初学者は迷ったらこれ買っとけばええみたいな機種
だってことを初めて知りました
0494774ワット発電中さん
垢版 |
2022/04/11(月) 15:35:31.37ID:2oISKtaX
私はPICのプログラムを3回作ってから(プリント基板を3回作った)
駄目だこりゃ、とAVRに乗り替えた。
結構ツラかったぜ、時間と金をムダにしたって。
ちなみにPIC16F84からAT90S2313へだけど、誰だって乗り替えるよね。
事前にもっとちゃんと調べれば良かったって後悔した。
レス読むと、その後PICは変ったらしいけど、
AVRで満足しているので、そのままtinyやmegaを続けている。
0495774ワット発電中さん
垢版 |
2022/04/11(月) 15:55:36.37ID:2oISKtaX
私がPIC16F84 の一番ダメだと思った点は、
 脳内に浮かぶフローやアルゴリズムを
 脳内でアセンブルしてニーモニックや数値をキーボードから入力する
が難しかった事。
いちいち思考停止して変換しなければいけなくて、
流れるように作業する、が出来なかった。
今のPICが可能かどうかは使ってないので分らない。
私だけの問題かも知れないな、間違ってたらゴメンよ。
0498774ワット発電中さん
垢版 |
2022/04/11(月) 16:26:14.38ID:dkJT4shd
出ましたよ、PIC16F84 www
ジジイの昔話なのか情弱の馬鹿宣言なのか、どっちだろうね。
0499774ワット発電中さん
垢版 |
2022/04/11(月) 16:38:12.19ID:tpUr07o4
PICでは機能が足りなくて作れないってのならPICが駄目と言えるが
この例ではPICが駄目だったのではなく
自分が駄目だった(控え目に言うと相性が悪かった)ことを認めよう
0500774ワット発電中さん
垢版 |
2022/04/11(月) 16:42:41.91ID:11XLCu4A
>>ID:2oISKtaX
古いPICと新しいAVR(五年ほど後発)を比べてPICをこき下ろすアンチの常とう手段
逆にそれ位のハンデ(この世界の数年はひと昔)がないと比較対象にできない、だからAVRは買収されちまったw
0502774ワット発電中さん
垢版 |
2022/04/11(月) 18:18:30.79ID:17928gnO
企業は、自分たちになくて、ほしいものを買収するものだしね。
0504774ワット発電中さん
垢版 |
2022/04/11(月) 18:48:12.13ID:VDReZtAB
本当に欲しかったのはARMの製品ラインアップだろう。
その他はおまけ程度
0505774ワット発電中さん
垢版 |
2022/04/11(月) 19:20:38.29ID:xHLCbLoC
MicrochipはAVRをじわじわと真綿で締める事が出来るってのにそれに気づいてない奴居るよね
生産しませんってやれば良いだけだから
0506774ワット発電中さん
垢版 |
2022/04/11(月) 19:23:15.10ID:VDReZtAB
おまけにせよせっかく買ったんだからArduinoでチヤホヤされてる間は下にも置かない扱いだろう。
0508774ワット発電中さん
垢版 |
2022/04/11(月) 19:57:54.28ID:ms1IHsa+
>>507
必要なのはARMだったの。8ビットは高くするなりディスコンにすりゃ良いの
乗り換え出来ないのは美味しいでしょ?
商売敵が買ったって時点でわかれよ
0509774ワット発電中さん
垢版 |
2022/04/11(月) 20:10:41.82ID:qd1RedQI
>>460
ぼくも16Fとかはいい石だとおもうけど、
いま8bitマイコン希望してる子になら僕は勧めないなぁ

だってほら、あの子たちインストラクション14bitだし(^p^)
0510774ワット発電中さん
垢版 |
2022/04/11(月) 20:50:40.09ID:17928gnO
>>508
>必要なのはARMだったの。8ビットは高くするなりディスコンにすりゃ良いの

PICもAVRも新製品を出してるぐらいだからね。それぞれにそれぞれの市場性なり
ニーズがあるからでしょう。

何のアンチであれ、たいていのアンチは自分の好き嫌いが正義だと思ってる
ような人たちだしね。そういう人たちが想像で言ってることを聞くよりも、
バイアスなしに新製品の状況を見る方が良いと思う。

真綿だってさ。想像想像。
0511774ワット発電中さん
垢版 |
2022/04/11(月) 22:16:53.12ID:tpUr07o4
PICと競合するか維持コストがかさむならディスコン
PICの利益を維持しつつAVRも利益が出るならそのまま
企業なんてドライだから
商売敵とか全く的外れ
0512774ワット発電中さん
垢版 |
2022/04/11(月) 22:46:41.06ID:l1ktyMWx
買収前だって多品種展開やってたんだし
「冷やし中華 始めました」くらいの感覚でない?
AVRが加わったところで
0513僕はものすごくオトコの娘(分野)は強いんだ
垢版 |
2022/04/11(月) 23:32:33.38ID:TP2zQfzz
>>494,495
お金も時間も無駄ではありません
その努力は今のあなたにきっと役にやってます\(^o^)/

今のPICはですね〜C言語で開発(無料)出来るので
簡単に複雑な機能を実装できますよ〜

>>493
個人的にはカラコンより先に毛の処理(脱毛)だと思う
けど友達がムダ毛が殆ど生えて無かったら処理無しでも女装した時は綺麗だったなぁ
0514774ワット発電中さん
垢版 |
2022/04/11(月) 23:59:25.97ID:fLIE+400
>>483
種類多すぎてオワタ\(^o^)/
AVRでもMPLAB X IDE使えるんですか?(開発環境はほぼ一緒ですか)
0515774ワット発電中さん
垢版 |
2022/04/12(火) 07:04:04.19ID:44cr5x5l
>>511
>企業なんてドライだから

企業ドライ説にたつなら、
「PICも維持コストがかさむなら生産縮小、利益が出るなら継続」
だしね。

ところで、PICはディスコンしない説ってあるけれど、それを鵜呑みにして
「今使っているPICがいつまでも、今の価格や入手性から大きく変わることなくずっと入手できる」
と思ってる人いるね。事実確認も期待も甘い。
0516774ワット発電中さん
垢版 |
2022/04/12(火) 09:32:47.95ID:d4Y3367g
ディスコンしないのだって今のセールストークなだけであって
将来に渡って保証されてるわけじゃないんでしょ
まあそもそもホビーユースに毛が生えたような使い方でディスコンは関係ない
趣味使いなのにディスコン言い出すのは滑稽ですらある
0517774ワット発電中さん
垢版 |
2022/04/12(火) 10:13:48.55ID:NM+hMscV
趣味の電子工作におけるディスコンはID:2oISKtaXみたいな間違った認識の温床でしかない
さっさと新しいチップを使うべき
そのためには参考にする記事の書かれた日付を確認するという当たり前のことをするだけ
あるいははじめから期間を限定して検索する
上のようなディスコン談義はそもそも趣味の個人には何の意味もない
0518774ワット発電中さん
垢版 |
2022/04/12(火) 10:55:41.05ID:hd7It3pb
だがその一方で、長期間運用されている実績は信頼性に繋がっているともいえるだろう
長く使われている物には相応の価値が伴う、新保守主義に連なる考え方やな。

当初は安全と思われていたが、発がん性が発覚して使用禁止された 変圧器のあの絶縁油(PCB)のように、
新しいものに闇雲に飛びつくのもリスクを伴うと言えるだろう・・・

だから、さあ、PICのマイコンボードを使うのです・・・(ごごごごごご
0519774ワット発電中さん
垢版 |
2022/04/12(火) 11:34:49.95ID:z6CH4Xhm
MPLAB XpressでMCC使えなくて困っています(ボタンがグレーアウトされています)。
どなたか解決方法知りませんか?

MPLAB Xpress表示後に以下のようなメッセージが表示されるのが、
原因かと思いましたが、アップデートの方法が分からない状態です。
>MCC v5.1.3 has been released. Please go to Help menu and select Check for Updates to get the latest update
上記メッセージが表示されるのでHelp => Check Updateを実行しても「The Xpress image is up to date」と表示されてしまいます。
0520\(^o^)/
垢版 |
2022/04/12(火) 11:40:53.82ID:xIMsCPYI
>>514
>種類多すぎてオワタ\(^o^)/
始めようぜ!\(^o^)/

>AVRでもMPLAB X IDE使えるんですか?
使えます〜

>(開発環境はほぼ一緒ですか)
色々な意味が含まれてると思うので回答し辛いですが
PC,SNAP等の書き込み装置,MPLAB X IDEの3点でPIC,AVR(古い物を除く)の両方の開発が可能です
(ですがAVRはAtmal Studio(旧AVR Studio)での情報や参考書が多いと思います)
0521774ワット発電中さん
垢版 |
2022/04/12(火) 14:54:01.68ID:lWEyWTxD
PICはディスコンしないと言ってる?けど(=物理的ディスコン)秋月が取り扱いやめたら
結局入手出来なくなる訳で(=論理的ディスコン)

個人が趣味で使う範囲においてはディスコン云々は全然メリットに感じないなぁ
というか趣味で使うようなAVRだってほとんどディスコンされてないよねw
0522774ワット発電中さん
垢版 |
2022/04/12(火) 15:03:56.20ID:BokfVHkE
Microchipに移管されたからな。
とはいえMicrochip にもNRNDはある。
0523774ワット発電中さん
垢版 |
2022/04/12(火) 15:10:59.06ID:hd7It3pb
ぐぐった!!

"NRND":新規設計非推奨品(Not recommended for new design)
0524774ワット発電中さん
垢版 |
2022/04/12(火) 15:31:44.36ID:bTqdYpCr
AVRは入門用のtiny2313でもタスクディスパッチャ書けるのにな
0526774ワット発電中さん
垢版 |
2022/04/12(火) 20:16:18.10ID:ODfqMcBB
倉庫のトイレットペーパを見せびらかしても御覧の有様だったのが記憶に新しい。。。
0527774ワット発電中さん
垢版 |
2022/04/12(火) 21:22:03.16ID:6YOw5qyO
すぐタスクディスパッチャができるとか書く人がいるけど
ボタンを押した時間さえ計測するのが面倒
delay関数の正しい時間での実装が大変、そもそも2つ以上のタスクがdelay使っても
正常に動くようにするにはどうするのか。
正確にタイマーでなく命令単位で20ms待つには、みたいな。
できないこともないけど、すごく大変なんじゃないかな。

そんなら、ラズパイとか使ったほうがいいんじゃない?
マイコンの利用目的は、もっとこうタイミングクリティカルとかパルスを正しい周期で正しい期間出すとかそういう用途に向いていると思うのだが。
0529774ワット発電中さん
垢版 |
2022/04/12(火) 22:32:07.50ID:44cr5x5l
高機能なマイコンでやってることを低機能なマイコンでやってみるのを
「つかいこなす」
と定義している人がいるしね。
0530774ワット発電中さん
垢版 |
2022/04/12(火) 23:43:36.91ID:ROsjtNeV
>>520
詳細ありがとうございます。おかげで雰囲気が物凄い分かりました。とりあえず、PIC18F57Q43で頑張ろうと思います。評価ボードあるやつがお薦めですなんですよね多分きっとということで選びました
0532僕はPICが大好きだーー! \(^o^)/
垢版 |
2022/04/13(水) 11:31:46.71ID:z4bTl4OL
>>530
始めるのにPIC18F57Q43でも問題は無いのですがWeb・書籍での情報は少ないと思います
PIC18F57Q43の開発ボードを調達した場合はSNAP(やPickit4)などの書き込み装置は無くても始められます

もしマイコンの経験が無く始める場合は情報(作例)の多い物を使った方が安心です
マイコンを始める場合は「プログラムの知識・マイコンの知識・電気回路の知識」が必要になります
情報の少ない機種を使った場合、上手く動作しない原因を特定する難易度が上がると思います

今の時代に新規で始めるなら[Arduino Uno(かNano)]あたりが無難だと思います
その後知識を得たら[PIC,AVR,ESP32,STM32]辺りに手お出してみてはいかがでしょうか?
またArduioUnoでAVRの勉強(開発)が可能です

PICの場合古い情報〜新しい情報までが入り乱れてます
PIC18FよりPIC16F1xxxxの方が情報が多いです
またAVRならArduinoで初めてAVRの使い方を勉強すると難易度が低くなると思います
0534774ワット発電中さん
垢版 |
2022/04/13(水) 14:22:37.23ID:33Rmyv5w
>>530
>評価ボードあるやつがお薦めですなんですよね多分きっと
それは違う
でも、評価ボード用の公式のサンプルを一通りやるってのもいいかもね
0536774ワット発電中さん
垢版 |
2022/04/13(水) 16:01:42.26ID:IQhhVvBF
趣味でどんなCPUを使おうと「カラスの勝手」だが、
 PICだと実現できないLチカ(つまり論理的に単純なプログラム)さえあるのに、
 <いいのか、それで?プログラミング力を伸ばしたいと思わないのか?>
と気になるんだよね、ジジィとしてはw
0537774ワット発電中さん
垢版 |
2022/04/13(水) 16:28:11.35ID:50N0c7hT
>PICだと実現できないLチカ

kwsk
0538774ワット発電中さん
垢版 |
2022/04/13(水) 17:31:24.69ID:iNA/C/zB
536が唯一可能なのはNOPを全面敷き詰めて最後LEDトグルして戻るって奴なんだろう。
PiC古い奴はメモリ小さくて点滅ならないって奴。
0539774ワット発電中さん
垢版 |
2022/04/13(水) 17:47:18.14ID:dxCfSA0v
>>536
アセ爺生きとったんかいw
0541774ワット発電中さん
垢版 |
2022/04/13(水) 18:19:00.16ID:33Rmyv5w
すべてをポーリングでこなし、それゆえ必要となる工程数のカウントを高度なプログラミングと勘違いしてる人
0542774ワット発電中さん
垢版 |
2022/04/13(水) 22:35:42.18ID:SEeVPcEh
さて、もうちょっと有意義な話をしようよ。

例えば、PICのADCは結構高性能とか。
Seeeduinoに使われているATMELのSAMDは32bitマイコンだが、
ADポートをGNDに接続してAD変換やってみなよ。

0Vといわず0.8Vあたりから非線形になっていくので、
ちょっとレンジをとりたいAD変換にはまるで役に立たない。
0544僕はPICが大好きだーー! \(^o^)/
垢版 |
2022/04/13(水) 23:42:32.68ID:z4bTl4OL
>>542
PICのADCは実測だとかなり良いですね〜FVRの電圧もかなり正確に出てると思う

それで、ちょっと気になって手持ちのXIAOで測定してみたんだけど
急ぎだから測定方法は簡易的だけど問題ない値に思える\(^o^)/
100mV 102mV
200mV 199mV
300mV 304mV
400mV 397mV
500mV 498mV
600mV 597mV
700mV 694mV
0545774ワット発電中さん
垢版 |
2022/04/14(木) 07:58:09.19ID:KkrEh33z
<ドン詰まりのCプログラマに贈るサンプル2本>
 久しぶりだな、オイ、もうpastebinのサンプルは腐ったかと思ってた
タイマ1個で8個のSWのチャタリング除去やLEDの点滅などをやってるんだぜ
しかもCPUはFlashROM2KB、SRAM128Bのtiny2313なのにゲームまで付いてるw
https://pastebin.com/hZ4EiF7m
おまけ タイマ1個で済む理由、リエントラント
https://pastebin.com/ZYFYsR3S

>>543
 心は「永遠の紅顔の美少年」、しかして実態は死に損ないのジジィだ、悪かったなw
最近階段の上り下りがツライ・・・
 電電板ライターとして技、心共になかなかのもんだと感心している。
これからもイヤがらずたまにはフォローさせてくれ。
0547774ワット発電中さん
垢版 |
2022/04/14(木) 14:29:25.90ID:t7rw48fZ
PICとは直接は関係ないのですが質問なのですが
マイコンで良く使われるキャラクタディスプレイ16x2行ってあるでしょ。
それを7セグLED数個に置き換えたいのですが(数字だけ表示出来れば良い)、
プログラムはなるべく変更したくないのですが、どんな方法がお勧めでしょうか?
LCDキャラクタディスプレイ互換の7セグLED表示器なんて売っていないですよね?
0548774ワット発電中さん
垢版 |
2022/04/14(木) 15:04:32.42ID:7BM+3lfn
LCD相手に出力してる関数とかをなんで変更したくないのかわからんけど、
本気でその方針でいくなら(HD44780U系のLCDドライバを用いた
キャラクタLCDだと仮定すっと)
 ・一文字出力
 ・一行出力
 ・制御コマンド送信(カーソル位置とかカーソル形状・点滅とか)
そーゆー呼び出し関数を組んであって使ってるのかな。

 だとしたら、関数の定義部をまるまるコメントアウトして、
7セグ用のドライバを、既存のと互換の仕様のインタフェースで実装して
呼び出し関数は同名のモノを用意するって感じなのかなぁ。。。

そんなしちめんどくさい事せずに(呼び出し関数なんて無理に残さずに)
直に表示するよう書き換えた方が よっぽど楽じゃねえかという気もするが。
いや、事情しらんけど;^p^)
0552774ワット発電中さん
垢版 |
2022/04/14(木) 23:20:04.86ID:CaV0fTAr
>>547
LCDって秋月とかで売られてるこれ系の奴かな?
https://akizukidenshi.com/catalog/g/gP-00040/

>プログラムはなるべく変更したくないのですが、どんな方法がお勧めでしょうか?
いや〜プログラムを変更するのが一番楽だと思うけど・・・
プログラムの変更が困難ならLCDのバス信号をマイコンで読み取って7セグのLEDを表示させるってのもあり

>LCDキャラクタディスプレイ互換の7セグLED表示器なんて売っていないですよね?
作るのは出来るけど見たことは無いね〜
0553774ワット発電中さん
垢版 |
2022/04/14(木) 23:49:09.84ID:4g4GYURI
何でそれが必要なのかとか二行いるのかとか16桁もいるのかとかようわからん
0555774ワット発電中さん
垢版 |
2022/04/15(金) 11:44:07.97ID:uHhPVmh3
>>553
>何でそれが必要なのかとか二行いるのかとか16桁もいるのかとかようわからん
LCDだと一色で地味なので。
二行欲しいです。4桁くらいで十分です。
0556774ワット発電中さん
垢版 |
2022/04/15(金) 13:42:48.11ID:sPgtbU3G
世の中にはカラーLCDていうものもありますよ。
0559774ワット発電中さん
垢版 |
2022/04/15(金) 14:50:11.59ID:dlBKvJXo
4桁二行か・・・

はたしてこの子のスキルで
ダイナミック点灯(と言う点灯方式があるのよ)が
できるのか・・・おぢさん心配よ(^p^;
0561774ワット発電中さん
垢版 |
2022/04/15(金) 15:05:06.80ID:uuGA3g+A
>>554
絵文字やめて下さい
0563774ワット発電中さん
垢版 |
2022/04/15(金) 15:37:12.99ID:dlBKvJXo
ダチョウ倶楽部の
0564774ワット発電中さん
垢版 |
2022/04/15(金) 18:19:34.49ID:kZv3erYp
初めて来たんだけど
何でAVRのスレに比べて過疎ってんの?
AVRのほうが優秀なの?
0565774ワット発電中さん
垢版 |
2022/04/15(金) 18:53:01.46ID:sPgtbU3G
シラフで比べればAVRが優秀です。Arduinoというデカいゲタもありますし、賑わうのも当然です。
ここの皆さんは「こんな制限ついてるPICを使い切ってる俺イケてる!」って風に自分に酔ってます。
0568774ワット発電中さん
垢版 |
2022/04/15(金) 22:43:22.16ID:qX8PzLIS
XIAOって実はRP2040のバージョンもあるんだが、どっちを測定されました?
0569僕はPICが大好きだーー! \(^o^)/
垢版 |
2022/04/15(金) 22:44:44.16ID:Oj/L3sCx
>>564
ここに来た人たち全員に(((*・ω・(ε・* ))) チュッ♪ してたら
誰も来なくなりました

>>565
PIC使ってる僕SUGEEEE!!って思ってたのに
もしして、僕って行けてないの(;´・ω・)
なんてこった/(^o^)\
0572774ワット発電中さん
垢版 |
2022/04/15(金) 22:54:34.39ID:Oj/L3sCx
>>568
測定したのはSAMD21G18の方です
測定した時の環境は
・配線長め(90cm位?)
・電源PCからのUSB供給
・電圧基準 内部基準1.0V・ゲインコントロール x1
・本体付近にコンデンサ等の設置無し
・ADCへの入力電源誤差最大2mV程度有
もし必要ならもう少し精密に測定します~

RP2040のバージョンは存じませんでした
面白そうなので今度一個買ってみます\(^o^)/
0574774ワット発電中さん
垢版 |
2022/04/16(土) 06:33:29.84ID:1BEb1vNe
もしして ってなんだ? もしして、、、
0575774ワット発電中さん
垢版 |
2022/04/16(土) 08:12:17.68ID:rPAeehcF
AVRが好みの私からPICファンの皆様に捧げる言葉 「蓼食う虫も好き好き」

世の中にはおいしい葉っぱが他にいっぱいあるだろうに。
我が家のバラも毎年必ず虫がつくので対策が大変です。
・・・イヤ待て、人間は蓼を和え酢にして食するぞ?!w
0576774ワット発電中さん
垢版 |
2022/04/16(土) 11:22:21.99ID:OC0qS+bH
世間様からみれば、AVRでもPICでもマイナー愛。
マイナー愛の人が、ほかのマイナー愛の人を、お前の好みはマイナー愛だと嗤うようなのってみっともない。
まして、32ビットのメジャーマイコンを欲しくてよそのメーカーを買ったメーカーの中の、8ビット村の中の隣組同士じゃないか。
0577774ワット発電中さん
垢版 |
2022/04/16(土) 11:25:02.44ID:WVk1zUpI
なんでこっちに来るの?
バカなの?
バカなのに人に物を薦めるの?
向こうで誰にも相手にされないの?
自分の自慢話を聞いて欲しいの?
0578774ワット発電中さん
垢版 |
2022/04/16(土) 11:38:31.12ID:69npSS15
>>572

内部基準1V、ここが私の測定と違うところかもしれません。
電圧基準Vcc
使うのはほぼ1V以下なんですができるだけ広いレンジを取りたいという要望がありまして。

で、例えばGNDを測定すると、12bitとはいえ30くらいの値を返すんですね。
どうも個体差があるようで、もっと出るものもありました。
PICでは12bitでもせいぜい3とかくらいなので、PICは優秀だなと思ったわけです。
0580774ワット発電中さん
垢版 |
2022/04/16(土) 12:03:20.83ID:3C7mKk3k
>>532
ご丁寧にありがとうございます。
古い評価ボードは入手が難しいのでやむを得ず新しいボードとなりました。
AVRと言う選択肢は見落としていたのは正直なところです・・・

>>534
評価ボードがお勧めではないということですか?それはどのような理由なのですか?
0581774ワット発電中さん
垢版 |
2022/04/16(土) 12:06:29.24ID:KTTQZAUy
>>578
すでに何らかの方法で解決した後だと思いますが
(基準VDD以外にも詳しい状況がわかれば再現してみますが?)

>例えばGNDを測定すると、12bitとはいえ30くらいの値を返すんですね。
この値になるとデータシート範囲も超えてるので何か解決可能な手順が有るのではないかと思います
(Offset Error Ext. Ref. 1x -5.0 typ1.5 +5.0 mV)←条件は違いますが大きくは変わらないはずなので
・VRef(-)を外部入力にする
・サンプルタイムを長めに設定する
・入力インピーダンスの考慮
・サンプリング時間や変換速度の調整
・オーバーサンプリング

入力がVDD~GND間の相対電圧ではなく絶対値の場合は
内部基準1Vにして入力ゲインを1/2にすれば0~2Vまでは測定できると思います
入力電圧を分圧等で変換してからゲインコントロールにて入力レンジを拡大すると良いかと思います
0583774ワット発電中さん
垢版 |
2022/04/16(土) 14:51:21.58ID:69npSS15
スレチだからもうやめますけど

結局XIAOを使うのをあきらめ、PICの巣へ戻りました。
時間は1日3時間もとれないのと、
それでも1日程度で片付けてしまわないと他のことが進まないため、やむを得ずといったところです。

補正レジスタがあるのはわかりましたが、1次関数の切片と傾きを変えたところで
測定した結果が曲線になっていることもわかっていたので、意味ないと判断しました。

もっとやればなんとかなったかもしれませんが、ADCは他のマイコンにもありますし、
個体ごとに違うのでキャリブレーションを毎回しないといけないのも問題ですし、
Arduinoでレジスタを直に叩くというのもなんだか・・・といったところです。
Arduinoには詳しくありませんが、ライブラリが非常に豊富で、ちょっと書いただけで
目的がすぐ達成できる点はすごいと思いました。
0584774ワット発電中さん
垢版 |
2022/04/16(土) 15:01:58.44ID:69npSS15
>>582

while(!Serial);

こんなんで解決するのかなぁ・・・・。
月曜日にやってみるか。
0586\(^o^)/ SAMもMicrochipだし実質PICで良くね?
垢版 |
2022/04/17(日) 14:57:27.25ID:h/aUTHiO
>>583
スレ違いではありますが、PICの話題も途切れてるので今のうちに(汗)
XIAO(SAMD21G18)のADCを使い電圧をもう少し丁寧に測定しました
正直なところ自分自身で詳細を把握しときたかったのが理由ですが

https://i.imgur.com/tRcHRKK.png

概ね入力のgainコントロールで解決できそうに思います
(VDD比でフルスケール読むとGND付近の数値は誤差が大きいです)
(これは入力ゲインをコントロールすることで改善可能です)
Arduino環境(当方PlatformIO)ではメーカーがNVMに書き込んだキャリブレーション情報は
ADCレジスタに反映されてました(起動時に適応されてるみたい)

>while(!Serial);
これは関係ないと思います(当方、無有で変化なし)
0587774ワット発電中さん
垢版 |
2022/04/17(日) 16:13:20.75ID:a+G7P+Oe
何を開き直ってんだ?
完全にスレチだろ、いいかげんArduino互換スレ行けよ。
0589774ワット発電中さん
垢版 |
2022/04/17(日) 18:30:29.89ID:ThePDN/h
PIC18Fのタイマー1を学習中なのですが、正しく設定できているか不安です。クロックやタイマの割り込みをオシロスコープなどに繋げて観察などできるのでしょうか?皆さんならどうやって確認するのか教えて下さい。
0590774ワット発電中さん
垢版 |
2022/04/17(日) 18:36:49.41ID:LIgxFQVQ
>オシロスコープなどに繋げて観察などできるのでしょうか?
できるよ。
皆さんそうやってると思う。
0591774ワット発電中さん
垢版 |
2022/04/17(日) 18:44:45.90ID:h/aUTHiO
>>589
>クロックやタイマの割り込みをオシロスコープなどに繋げて観察などできるのでしょうか?
出来ます

不安なときはオシロスコープやロジックアナライザーで確認します
たまに本体のクロック設定をミスする事も有りますので

タイマーは割り込みでGPIOをトグルすることで確認するのも良いと思います
また、クロックはGPIOに出力する事も可能ですが(コンフィグレーションレジスタ等の設定で)
PLL等やの影響も受けるので実際の動作で確認するのも良いかと思います
GPIOをHIGHにしてNOP();を50個位書いて(ループは使わない)GPIOをLOWにする
このHIGHの時間を測定して命令サイクル的に妥当な間隔であればOKとできます

システムクロックでPLLやFOSC/INTOSCは間違いやすいです
0592774ワット発電中さん
垢版 |
2022/04/17(日) 18:47:41.29ID:p/K8WV6d
文句言うくらいなら、18F27Q43あたりのADCの性能でも見せつけてやれよ。
PICスレらしいだろ。

話題もないんだし。

とりあえず測定お疲れ様です。
ほんとは上に書いたようなPICのADCの結果でも載せればよいのでしょうけど、
時間がなくて・・・。

でも、とりあえず0を入れるとほぼ0が出るのは間違いありません。
特性を詳しく調査したことはないのですが5VとFVR4.096Vくらいを
比較に乗せられるといいですね。

時間ができたらやってみます。
0593774ワット発電中さん
垢版 |
2022/04/17(日) 18:55:32.31ID:p/K8WV6d
>>589
手軽な方法としては、Timer1割り込みでGPIOをトグルなりパルスなり出すのが楽でいいでしょうね。

本当に厳密に瞬間を見るなら、CLCでT1_overflowを入力にして、どこかのピンに出してやるといいと思います。

まあでも、この件では前者でいいでしょうね・・・。
0595774ワット発電中さん
垢版 |
2022/04/17(日) 19:03:09.57ID:p/K8WV6d
バカついでにもっと簡単に目で確認したいなら、Timer1割り込み内でカウンタをカウントし、
適当な周期でLEDを点滅させるのもおすすめです。

極端に周期が違えば、設定が違うということになります。

私は適当な人間ですので、たいていオシロも使わずそうやって確認してきました。
0596774ワット発電中さん
垢版 |
2022/04/17(日) 20:24:34.80ID:7wMJb3pp
GPIO見るだけならロジックアナライザが最適だよね
値段安いしサンプリング速度は早いし
持ってて損はないと思います
0597774ワット発電中さん
垢版 |
2022/04/17(日) 21:28:09.54ID:a5RBDXlM
>>585
一個300円くらいでアマで売ってる
デジタル電圧電流計はどんなICで作っているんだろう?
そのMAX10ってのは便利なの?
0598774ワット発電中さん
垢版 |
2022/04/17(日) 22:08:38.97ID:zbd+G0jV
ここに居る人ならお城位持ってるよな?
0600774ワット発電中さん
垢版 |
2022/04/17(日) 22:27:18.69ID:h/aUTHiO
>>598
賃貸です。今月更新しました\(^o^)/
お城は低所得なので買えそうにありません( ;∀;)
0603774ワット発電中さん
垢版 |
2022/04/18(月) 01:23:03.11ID:cTM0o8yz
>>600
顔文字、やめて下さい
0604\(^o^)/パリピ始めました〜
垢版 |
2022/04/18(月) 04:56:07.65ID:33wCpEB2
>>603
変に絡んでも顔文字を使うようなふざけた奴は調子乗るだけだから
実害が無いならほっといた方が良いよ
0606774ワット発電中さん
垢版 |
2022/04/18(月) 08:58:18.79ID:OyoNvIFC
>>549
PICの名称由来を踏まえると、案外本道のような気がする・・・(^p^;
LCDドライバ互換インタフェース作成のためのPIC活用=PICでマイコン周辺機器を作る
0607774ワット発電中さん
垢版 |
2022/04/18(月) 09:40:21.33ID:YWusDEPN
そういえば、Microchip社のUSB-シリアルブリッジICは、ベースはUSB機能内蔵のPICって何かで読んだ。
昔のキーボードコントローラも8048のカスタムじゃなかったっけか。
ワンチップマイコンを周辺の単機能デバイスとして使うのはよくあること。
FM8もサブCPUを使ってた。(ワンチップマイコンじゃないけど)
0609774ワット発電中さん
垢版 |
2022/04/19(火) 04:09:14.48ID:4BS+TPLA
>>605
最後の顔文字は、何の意味があるのですが?
0610774ワット発電中さん
垢版 |
2022/04/19(火) 07:40:43.52ID:vD1Iu7c6
「無意味」という深遠な意味がある
「無常」などと同じく、凡人には理解し難いが
「無常という事」(小林秀雄)を読めば少しは理解できるかもしれない
0613774ワット発電中さん
垢版 |
2022/04/19(火) 15:24:24.34ID:1z/f09CM
まあコテやってNG食らう気概もないのに顔文字で出さなくていい個性出して半コテやるみたいな奴が好かれることはないわ
0614774ワット発電中さん
垢版 |
2022/04/19(火) 16:31:56.95ID:SVLv5+Ba
ちょっとだけ自己主張してみる・・・慎み深くていいじゃないかw
誰が書いたか責任者もすぐに分るしw
俺は好きだな
0616祝!PICの話題ですよ〜\(^o^)/
垢版 |
2022/04/19(火) 22:23:06.79ID:Ag/6gRWa
>>615
>DMTxTMRの数字はビットなのでしようか
SMTxTMRはタイマー内のカウンター(カウンターの値)
タイマーがカウントアップされる条件だと0>1>2の様にカウントアップされる

>0はずっと上書きされているイメージですか?
画像で0が連続してるのはカウントアップの条件を満たしていないため
設定やデバイスにもよるけど0が書き込まれるのはリセット条件や0を書き込んだ場合かな

実際の動きはタイマーの設定によって変わるから細かな点は追加質問してくれ
0617アスペなのか微妙なニュアンスが気になってまうんや
垢版 |
2022/04/20(水) 09:21:09.41ID:kshipd0A
レジスタ名 PR の内容が11だから
EN で かつ GO した後同期クロック後に 「反転」を開始して
11回目の反転後に割り込み発生、という動作なのかなぁ。

0に上書きならロー側だけ書いてあって、
このグラフみたいにハイ・ロー両方に書いてあるときは
「不定」という意図があると思いまするぞぃ。
0618774ワット発電中さん
垢版 |
2022/04/20(水) 16:58:46.12ID:lQodDRqe
microchipよ日本語マニュアルを増やしてくれ
xc8コンパイラとかMCCとか英語じゃ読めんのよ
0619774ワット発電中さん
垢版 |
2022/04/20(水) 19:01:49.71ID:QV+HMkwB
「英語が読めません」= 「甘え」
0620774ワット発電中さん
垢版 |
2022/04/20(水) 19:12:47.76ID:TPzwFqxd
>>618
英語読めんしアピールだけでも馬鹿丸出しなのに
それをここでほざくとか馬鹿の上塗り
0621774ワット発電中さん
垢版 |
2022/04/20(水) 19:36:35.19ID:asXmPKBn
ある程度読めたほうがいいのは確かだが、馬鹿とまでは言わない。

小国というか、人口1億ちょいの国のために、データシートを
日本語にしてくれるかというと難しいよね。

最終的に無理ならGoogle翻訳だ。
0622774ワット発電中さん
垢版 |
2022/04/21(木) 09:28:23.69ID:pbfoB91G
英語なんて字の種類は少ないし 読むのは簡単だよ? ちょっと勉強すれば小学生でもできる。
とはいえ、俺様もよめるというだけで、発音が正しいとは到底言えず、意味を正しくは理解できていないわけだが!(^p^)

web上にHTML形式で読めるならブラウザ先生が翻訳してくれるんやけど
ご丁寧にPDF形式に整えられていると、ゴグル翻訳先生画面へのコピペが
なにげに面倒なんよなぁ・・・メモも取りにくいし;ぐぎぎ
0623774ワット発電中さん
垢版 |
2022/04/21(木) 10:21:01.51ID:0/HB+mTS
字の種類が少なければ簡単と言うなら
16進の機械語コードなんて当然すらすら読めるよね?
0624774ワット発電中さん
垢版 |
2022/04/21(木) 10:58:17.61ID:gsE7lC6n
>>620
データシートの英語は簡単だからな。
英語よりも、ソフトやハードの知識の方が重要。
0625774ワット発電中さん
垢版 |
2022/04/21(木) 13:14:43.03ID:pbfoB91G
>>623
たりめーじゃん 音読だってばっちりよ!!(^p^)
(メタなプログラム機能は 到底理解できないが)
0626774ワット発電中さん
垢版 |
2022/04/21(木) 19:35:49.94ID:ubn8z+d4
>>616
ありがとうございます。
SMT1CPWの値が想像と違くて苦戦中ですが、整理できたらまた質問させて頂きます
0627774ワット発電中さん
垢版 |
2022/04/21(木) 21:06:33.45ID:rIp1Pu6A
>>622
>web上にHTML形式で読めるならブラウザ先生が翻訳してくれるんやけど
>ご丁寧にPDF形式に整えられていると、ゴグル翻訳先生画面へのコピペが

Google翻訳の「ドキュメント」タブで、アップロードはしないのかな。
0628774ワット発電中さん
垢版 |
2022/04/21(木) 22:02:27.87ID:WyDVnBlu
日本語で読んだって最初は専門用語だらけでちんぷんかんぷんなんだから
いっそ英語で読んでも同じだろ。
気づけば大抵の技術系の英文は用語の補充だけで読めるようになってるはず。
0629774ワット発電中さん
垢版 |
2022/04/21(木) 22:32:41.33ID:rIp1Pu6A
10人中9人ができるからといって目の前の1人ができるようになるとは限らない。
その1人ができることをほかの9人ができるとは限らない。
できる人ができない人にできるだろというのは他者を理解することができないからかもしれない。
0630774ワット発電中さん
垢版 |
2022/04/21(木) 23:30:13.76ID:0/HB+mTS
少し努力すれば誰でもできるようにはなるだろ

プログラミングは10人いたら10人できるとは思わないが
英語圏の人は10人が10人みんな英語を読んでるんだから
(もちろん読んだ結果を理解できるかどうかは別よ)
0631615
垢版 |
2022/04/22(金) 01:09:15.16ID:U7JZkqjJ
PIC18F571Q43を使っていますがsmt x CLCKの周波数をどこかのピンに出力する方法あるのでしようか?
0632774ワット発電中さん
垢版 |
2022/04/22(金) 10:06:18.39ID:6J8j3qal
>>626
どういたしまして\(^o^)/
解らない点はどんどん質問してくれ
その為のスレだから

質問でSMTの動作モードまたは計測目的(種類)が書いてあれば回答しやすい

SMT1CPWは条件にもよるけどSTM_Signal(かSMT_Windows)の立ち下がったタイミングで(入力の反転も可能だと思う)
SMT1CPWの値はSMT1TMRの値にコピー(更新)される ( SMT1TMR --> SMT1CPW )
↑のタイミングで設定(モード)によりSMT1TMRの値が継続してカウントされるか0からカウントされるか変わる
0633774ワット発電中さん
垢版 |
2022/04/22(金) 10:12:32.55ID:6J8j3qal
>>619~622
僕なんて英語だけでなく日本語も苦手だけど
データシートはふいんき(←なぜか変換できない)で何とかなってる

XC8 ComppilerのPDFをGoogleで翻訳したらページ数オーバーで変換できず
DeepLで変換しようとしたら文字数オーバーで変換できなかった
\(^o^)/ ←お手上げ
0634774ワット発電中さん
垢版 |
2022/04/22(金) 10:18:55.63ID:6J8j3qal
>>631
知ってる範囲&少し調べた範囲では直接出力する方法はなさそう
間接的ならPeriodに適当な値を入力してPeriodの割り込みでGPIOの出力をトグルさせ
その周期化からSMTxCLKを計算(確認)できる
( 64MHzのシステムクロック(Clock Select FOSC)でPeriod 500(0x1F4)の場合GPIO出力は64kHz )

周波数カウンタ・ロジックアナライザー・オシロスコープなどが有れば簡単に確認できる
もし↑の様な機材が無い場合は16MHzのクロックソースでPeriod->[0xF4 400]の設定を使い
1秒ごとに割り込みを発生させてLED等をトグル(0.5Hz)させれば時計と目視で確認できると思う
0636615
垢版 |
2022/04/22(金) 13:16:01.15ID:pevVLrJ0
>>634
オシロスコープで測ってみたら63.7kHzになりました!
計算方法教えて下さい。
1/64MHz*500(Period)*?
0637774ワット発電中さん
垢版 |
2022/04/22(金) 17:15:21.08ID:GZkzAejJ
字面だけ見ると

64MHz / (500  x 2) みたいやな。しらんけど
0638774ワット発電中さん
垢版 |
2022/04/22(金) 17:21:14.34ID:GZkzAejJ
とすれば、1000分周してるだけなら1000倍して復元
63.7kHz x 1000= 63.7MHz が実周波数なんじゃね? しらんけど
ほんとわかってないので 全然違うこと言ってるかもしれんスマン
0639634 \(^o^)/ スマホなんでID違うんよ
垢版 |
2022/04/22(金) 17:24:33.70ID:KYk0t29b
>>636

割り込み周期が 64MHz / 500(period) = 128kHz
GPIOのトグル周期が 128kHz / 2 = 64kHz
(プリスケーラー1:1の場合)

トグル周期 × period × 2 = SMTxCLK

63.7kHz × 500 × 2 = 63.7MHz(SMTxCLK)

64-->63.7は内部発振回路使ってるなら誤差範囲です
0640615
垢版 |
2022/04/22(金) 18:33:40.39ID:pevVLrJ0
いつもありがとうございます。PICはクロック理解していないと駄目なことを覚えました。
各パターン測定してみましたので、結果を残しておきます\(^o^)/
clock divider Clock prescaler measument
64MHz 1 FOSC 1 63.83kHz
64MHz 2 FOSC 1 31.90kHz
32MHz 1 FOSC 1 31.92kHz
64MHz 1 FOSC 2 31.91kHz
64MHz 1 FOSC 4 15.951kHz
64MHz 1 FOSC/4 1 15.951kHz
*Periodは500
0642774ワット発電中さん
垢版 |
2022/04/23(土) 12:54:15.02ID:+6BMhd6r
>>640
貴重なデータ、ありがとう。
顔文字、やめてね。
0643774ワット発電中さん
垢版 |
2022/04/23(土) 14:15:21.67ID:M6kMOidX
>>640
データシートのSMTの項目だけではなくクロックの項目を読む必要が有りますね
マイコンのクロックソースは図面を見ると理解しやすいです
慣れないうちはPDFを印刷して蛍光ペンやサインペンで図面にメモ取ると楽できるよ〜
https://i.imgur.com/aKjjgYd.png
https://i.imgur.com/JFwd5W8.png
蛍光ペンがガタガタなのはアル中だから\(^o^)/
0644774ワット発電中さん
垢版 |
2022/04/23(土) 18:21:24.01ID:j+pjz4Im
ピン出力の1バイト、charとint8_tどっち使ってる?
まあ内部的にはどっちもcharだけど
0648774ワット発電中さん
垢版 |
2022/04/23(土) 23:21:04.16ID:+6BMhd6r
>>643
顔文字 やめてください
0651774ワット発電中さん
垢版 |
2022/04/24(日) 10:49:56.46ID:6FGTkG5E
uint8_t に +1
0655774ワット発電中さん
垢版 |
2022/04/25(月) 10:54:35.92ID:gmVEM0EJ
てんさいあらわる
0657774ワット発電中さん
垢版 |
2022/04/25(月) 11:54:19.28ID:gmVEM0EJ
いやーしかし、654さんが現れるまで誰一人気付かないというへっぽこぶり(^p^)穴があったら挿入したい!ぱこぱこ
0658774ワット発電中さん
垢版 |
2022/04/25(月) 14:09:51.72ID:O1+bdzKW
>643
秋月で売っているPICのデータシートを何種類か見てみましたが、
Signal Measurement Timer Block Diagramが見つけられませんでした。
Clock Source Block Diagram も種類によっては掲載されていません。
どちらの型番のPICのデータシートの情報化教えてください\(^o^)/
0659615
垢版 |
2022/04/25(月) 14:39:06.29ID:O1+bdzKW
Period 499に変えて測定してみました。
63.94kHz〜63.95khzになりました\(^o^)/
※気温が熱いのでPeriod500でも再測定しましたが結果変わらず63.83kHzでした。

64MHz / 499(period) = 128.256kHz
GPIOのトグル周期が 128.256kHz / 2 = 64.128kHz

トグル周期 × period × 2 = SMTxCLK
64.128kHz × 499 × 2 = 63.99MHz(SMTxCLK)
0660774ワット発電中さん
垢版 |
2022/04/25(月) 14:47:01.14ID:gmVEM0EJ
まだ一致しないんやな;残る差は何だろう・・・

あ。最近PICに触ってないから どーいうブロックだったかとか うろ覚えだけど、
昔はMPLABIDEにシミュレータが入ってたから
割り込み処理の処理カウント数をシミュレータで確認して、
タイマをゼロから始めずに 割り込み処理コスト分、
初期値を入れる(or 待ち時間定数を減らす) 様な工夫で
精度稼いだようなきをくがありまするぞい(^p^;
0662615
垢版 |
2022/04/25(月) 15:46:22.31ID:O1+bdzKW
以前教えて頂いたCLKOUT(RA6)を測ってみましたので再計算してみました。
CLKOUTオシロの測定結果 3.995MHz
Period499 GPIO オシロ測定結果 15.98kHz
3.995MHz*4/(499+1)/2=15.98kHz

Period500 GPIO オシロ測定結果 15.95kHz
3.995MHz*4/(500+1)/2=15.954kHz

条件
PIC18F57Q43
Oscillator Select HFINTOSC
HF Internal Clock 32MHz
Clock Divider 2
Current System Clock 16MHz
※オシロスコープの性能が低いので周波数落としました
0664774ワット発電中さん
垢版 |
2022/04/25(月) 19:07:14.60ID:O1+bdzKW
>>663
ファイル内検索したのですがスペルミスしていたようです。無事見付けられました(秋月のデータシートのリンク先は古いっぽいですね。やはり公式からDLが良さそうです)

periodは激おこプンプン丸です(経験者でも見落とすということは精度重視の場合は要注意だということが分かりました)
0665774ワット発電中さん
垢版 |
2022/04/25(月) 20:29:43.67ID:wAM5QNqq
おい、座布団全部とれ。
0666663
垢版 |
2022/04/26(火) 02:46:11.11ID:TJMc+kgw
DualCHの周波数カウンターを作ってCLKOUTとGPIOの周波数測定してみた
間違いなく499が正解\(^o^)/

■・CH1-> GPIO_Toggle  ・CH2->CLK_OUT ・HFINTOSC(64MHz)
◆Period 500
<sample1>
CH1 frequency > 00,064,154.4 Hz
CH2 frequency > 16,070,675.3 Hz
<sample2>
CH1 frequency > 00,064,158.3 Hz
CH2 frequency > 16,071,645.7 Hz

◆Period 499
<sample1>
CH1 frequency > 00,064,334.1 Hz
CH2 frequency > 16,083,545.3 Hz
<sample2>
CH1 frequency > 00,064,328.1 Hz
CH2 frequency > 16,082,008.9 Hz

おまけでロジアナも(Period500のみ)
https://i.imgur.com/EGedh43.png
https://i.imgur.com/ZqlWHvo.png

>>激おこプンプン丸
お詫びに一生使わないと思うAT90S2310を2個あげる ■■~*⌒ ヽ(´ー` )ホレ
0667774ワット発電中さん
垢版 |
2022/04/26(火) 07:59:23.60ID:/lSUPgtC
TOSCってなんの略なの?
FOSCはfreqency ociratorの略だと思うんだけど
0669774ワット発電中さん
垢版 |
2022/04/26(火) 09:23:09.08ID:+NL3FcyV
>>666
流石悪魔の番号 悪化しとるほうを正解と主張や・・・
0670774ワット発電中さん
垢版 |
2022/04/26(火) 11:23:27.22ID:TJMc+kgw
>>667
High-Frequency Internal Oscillator (HF INT OSC)みたい
FOSCがSystem Clockってのはわかるけど公式が何の略なのか発見できない
>>669
666にレスしたあなたは同じレスを666回書き込まないと
祝われます\(^o^)/
0671774ワット発電中さん
垢版 |
2022/04/26(火) 11:39:57.23ID:+NL3FcyV
冷静に考えてみると、1起算なんだからやっぱ500であってんじゃね?(^p^;
0起算じゃないなら、ー1が何処で生じるのかわからんのデス;オーナンテコッタ
0672774ワット発電中さん
垢版 |
2022/04/26(火) 11:50:33.07ID:TJMc+kgw
>>671
それは自分がアプリケーションノートとデータシート見て
アプリケーションノートを優先してしまった為です
https://i.imgur.com/KX2rv9K.png
アプリケーションノートとデータシートで仕様が違う罠が有りまして・・・
0673774ワット発電中さん
垢版 |
2022/04/26(火) 13:39:43.03ID:+NL3FcyV
>罠
そういうことでしたか、すみませんでした><; 日本語翻訳版TB3129も1起算表記のままでした;

>>662
>3.995MHz*4/(500+1)/2=15.954kHz
これは計算ミスかもで、3995000*4/501/2≒1594.8ですから
662の方のは、666のとちがって0起算解釈が実測値にほぼ一致してるみたいですねぇ・・・;

えいごよくわからんけど関連語ググってひっとした↓は、較正に使う感じなのかな。
https://ww1.microchip.com/downloads/en/Appnotes/00002030A.pdf
0674いまいちよくわからんですが
垢版 |
2022/04/26(火) 14:41:02.28ID:+NL3FcyV
>>666
Ch2÷Ch1の比で見るのかな
500sample1:250.49997
500sample2:250.4999
499sample1:250.0000
499sample2:249.9997

倍にすれば丁度501と500ですな;やっぱゼロ起算なのか。
0675774ワット発電中さん
垢版 |
2022/04/26(火) 18:17:01.82ID:GGnhdq/Q
0から500では数の個数が501になっちゃう。
0677774ワット発電中さん
垢版 |
2022/04/26(火) 20:34:47.59ID:/lSUPgtC
MCCが生成する関数郡のリファレンスってどこにありますか?
0678615
垢版 |
2022/04/26(火) 21:52:57.94ID:Er8VNCyZ
PIC難しすぎオワタ\(^o^)/
>>666 何やっている変わらなくて草
0679615
垢版 |
2022/04/26(火) 21:55:53.62ID:Er8VNCyZ
誤差が大きいクロック(水晶)って個体差があるということでしょうか。
それとも電圧や電流の影響でしょうか。気温や湿度の影響でしょうか。
誤差の最低と最大を実際に観測する方法あるのでしょうか?
0680774ワット発電中さん
垢版 |
2022/04/26(火) 23:19:11.51ID:TJMc+kgw
>>674
CH2はFOSC/4を外部出力したもの
CH1はSMTモジュールにてFOSCをクロックソースにしてPeriod499or500に設定し
割り込みを発生させてGPIOをトグルしたもの

(CH2*4=FOSC) / (500 * 2) = CH1 なら有ってるのでPeriodは499が正解でした
0681774ワット発電中さん
垢版 |
2022/04/26(火) 23:21:10.19ID:TJMc+kgw
>>677
MCCでコードを出力するとHeader Files>MCC Generated Files>にヘッダーファイルが作成される
ヘッダーファイルに関数の説明やサンプルコードが書いてある
0682774ワット発電中さん
垢版 |
2022/04/26(火) 23:27:42.29ID:TJMc+kgw
>>679
666で測定した周波数は内蔵発信回路の物です
水晶等を使ってないので誤差が大きいです(多分CR発振回路と言われるものだと思う)
https://i.imgur.com/NnTuAD1.png
温度や電圧により誤差が出ます
このデバイスの場合は通常の温度でも±2%の誤差が出る可能性が有ります
誤差を少なくしたい場合は外部に水晶等の発振器を使います
0683774ワット発電中さん
垢版 |
2022/04/27(水) 04:33:39.07ID:EdnZ28YZ
>>678
落ち着いてやれよ。
いつも慌ててやるからそうなるんだよ。

顔文字やめてください
0684774ワット発電中さん
垢版 |
2022/04/27(水) 04:45:58.05ID:EdnZ28YZ
>>677
生成されるヘッダファイルに書いてあるけど、
全部英語だしら分かりにくい。
自分がしたいのはこれだけなのに、
お節介な細かい関数まで、タップリ生成してくるので
理解するまでに時間がかかる。
こんなことなら初めから、自力で組んだ方が早かったと思うけど、
その時はもう、引き返せないところまで来ていることが多い。
たくさんの関数を生成するなめ、
各関数の包含関係を理解するのに時間がかかる。
1番上にある関数がどれなのか、説明が欲しいが、
全部の関数が同一のフォーマットで、ダラダラと説明してあるので、
とても分かりにくいし骨が折れる。
さらに、この書き方の関数もあるけど、今後は無くなっていくからね、と言う関数も生成。
しかも最新の関数と衰退する関数の関数名が同じ。
よーく目を凝らしたら、1文字だけ大文字が小文字に変えてある。
あの時は流石にキレそうになった。

総じて、簡単に誰でも使えるよと言う雰囲気を出しながらも
初心者にはハードルが高すぎる。
0685774ワット発電中さん
垢版 |
2022/04/27(水) 06:41:05.18ID:SsrFCTLB
そう言う人の為のArduino。
0686774ワット発電中さん
垢版 |
2022/04/27(水) 07:53:06.33ID:2DEkoaQN
フルアセンブラが一番単純だよ、よけいなムダは一切無い。
0688774ワット発電中さん
垢版 |
2022/04/27(水) 08:08:26.18ID:R4p7oq+f
一般的に自分が勧める方法のデメリットを伝えない人が言ってることは信用できないですね。
現在の使われ方の大小は、メリット、デメリットを反映して、世間が選択した結果です。
0690774ワット発電中さん
垢版 |
2022/04/27(水) 12:45:19.65ID:y31jVrZM
ないとはいえ、義理というと倣う事が素晴らしいようなニュアンスにも聞こえるけど、
常識賛美を保留して頭から考えてみると、「自分で能動的に世界と対峙」して(=人間的な生き方をして)
「苦痛や苦労を味わう」よりも、世間の常識に阿諛追従して 頽落 して生きれば
人生は格段に「楽」になって、そういう 世間に迎合 して
流される(非人間的な)生き方をする人のことを
ハイデガーはDas Man(世人/せじん)と表現したようですな・・・

このあいだテレビで、そんな話を見かけたきがする(^p^;)記憶が正しいか しらんけど
0692774ワット発電中さん
垢版 |
2022/04/27(水) 15:06:02.33ID:SsrFCTLB
USB付きとかCPUコアと同じくらいトランジスタくってるんでないか?
0696686
垢版 |
2022/04/27(水) 17:11:49.95ID:zZAkiOzU
>>688
デメリットはいくつかあるだろうけど、私が感じているものは主に2つ。
1)プログラミングに時間がかかる。
 アセンブラを始めた頃はCの3倍以上の時間がかかったけど、
サンプル部品のストックが増えてきたので、大分、早くなった。
(通信リングバッファや秋月I2C液晶の初期設定、16進<>ASCII変換・・・などなど)
それでもCの2倍以上は時間が掛かっていると思う。
2)可読性が悪い。
 これは私が単に記憶力が無いせいかもしれないがw
リストのサブルーチンに機能や受け渡し情報などを詳しく書き
しかもほぼ1行毎にコメントを入れているのに、
半年ぐらい経過してハージョンアップなどで手を入れるとき、
何をやっているのか理解するのに時間がかかる。

最大のメリットは「プログラミング作業が楽しい」でしょうか。
0697774ワット発電中さん
垢版 |
2022/04/27(水) 17:17:04.83ID:zZAkiOzU
ま、天上天下唯我独尊 孤高 敢えて群れず という事でお見逃しをw
0698774ワット発電中さん
垢版 |
2022/04/27(水) 17:28:47.31ID:uBQu7v4/
>>696
アセンブラーは保守性が悪いからなあ。

Cのように(ちゃんと)モジュール化・カプセル化しておけば、使い勝手の良いものが出来ていくって感触が、アセンブラーだと得られない。

それにCだと、機能によってはPIC以外でも使い回せたりするよね。

という訳でCが良いと思います。

アセンブラーは速度が足りなくなる箇所だけインラインで。
0699774ワット発電中さん
垢版 |
2022/04/27(水) 18:51:56.54ID:/nFNPvUK
最近じゃ中国語のデータシートしかない中華カラー液晶のArduino用のライブラリをPICに移植したりした
Arduinoの裾野の広さの恩恵をCならちゃっかり拝借できるよね
アセンブラを使う意味なんて自己満足のオナニー以外には思い浮かばない
0701774ワット発電中さん
垢版 |
2022/04/28(木) 04:03:34.75ID:BcYn05XY
>>689
顔文字やめて
0702774ワット発電中さん
垢版 |
2022/04/28(木) 04:04:44.20ID:BcYn05XY
>>690
顔文字やめて
0703774ワット発電中さん
垢版 |
2022/04/28(木) 04:09:36.77ID:BcYn05XY
>>698
最大クロックが速くなったので、
Cで遅く感じる部分は、無くなってきた。
画像処理とかは知らないけど、PICには荷が重いと思うし
0704774ワット発電中さん
垢版 |
2022/04/28(木) 20:11:10.67ID:RiSd4st1
12,16,18シリーズはアセンブラ化したコードが生成されるのが便利。
XC8ね。何やってるかよくわかる。

2bit以上のビットシフトが遅いのは、最適化されていないせい。
シフトがループ展開される。
uint8_t型だと足して2倍すると4倍が高速にできる。

でも、普通は少し最適化のことを念頭に置いておけばCで書いても、そこまで遅くならない。
0706774ワット発電中さん
垢版 |
2022/04/28(木) 23:01:22.44ID:5jQsmTxu
>>705
PIC単独でリアルタイムの為替レートを取得するのが大変だと思う
PCと通信して表示するとかPICとESP8266を組み合わせて取得する等の方法なら出来る
0707774ワット発電中さん
垢版 |
2022/04/28(木) 23:02:34.64ID:9g+DmQDb
>>699
それこそ作り手側の自己満足のオナニー以外には思い浮かばない
結局は手を抜いて早く終わらせたい、楽をしたい、甘えたい
とにかく形だけできれば良い、動きさえすれば良い、クオリティとかどうでも良い
そんなの顧客側が認める訳が無いじゃん
0709774ワット発電中さん
垢版 |
2022/04/28(木) 23:46:49.00ID:wUagid5L
>>707
CならArduino用のライブラリも移植可能という話のどこが
>結局は手を抜いて早く終わらせたい、楽をしたい、甘えたい
>とにかく形だけできれば良い、動きさえすれば良い、クオリティとかどうでも良い
につながるのかわからんけど、君のレスでアセンブラ信仰の本質がだだの根性論なのはわかった
高級言語全否定とか、それただの精神論だよね、全くくだらない
0710774ワット発電中さん
垢版 |
2022/04/28(木) 23:54:23.10ID:9g+DmQDb
>>709
全く理解していない、学ぼうとしていない、子供が玩具を弄ってるだけ
それもただの精神論だよね、全くくだらない
0712774ワット発電中さん
垢版 |
2022/04/28(木) 23:59:18.53ID:wUagid5L
>>710
なぜこの世に高級言語が存在するのか冷静に考えてみな
わかるまでレスしなくていい
0715774ワット発電中さん
垢版 |
2022/04/29(金) 00:16:42.97ID:/zky8lz+
>>713
スクラッチは多くのプラットホームで実行可能だから確実に高級言語で書かれている
決してアセンブラじゃ書かれてない
自分で墓穴掘っちゃって、お前どうすんのさw
0717774ワット発電中さん
垢版 |
2022/04/29(金) 00:26:04.91ID:/zky8lz+
>>716
じゃあ何の話してんだ?
何に吠えてんだ?
>結局は手を抜いて早く終わらせたい、楽をしたい、甘えたい
>とにかく形だけできれば良い、動きさえすれば良い、クオリティとかどうでも良い
>全く理解していない、学ぼうとしていない、子供が玩具を弄ってるだけ
0718774ワット発電中さん
垢版 |
2022/04/29(金) 00:29:17.97ID:VqQmMEWi
>>717
>アセンブラを使う意味なんて自己満足のオナニー以外には思い浮かばない
この辺の視野が狭いって言ってるのだよ
0719774ワット発電中さん
垢版 |
2022/04/29(金) 00:37:28.72ID:/zky8lz+
>>718
他のプラットフォームとコードの融通が出きないアセンブラこそ視野が狭い
それをオナニーだと言ってるんだ、前時代的な精神論に似てると言ってるんだ
そして
>結局は手を抜いて早く終わらせたい、楽をしたい、甘えたい
>とにかく形だけできれば良い、動きさえすれば良い、クオリティとかどうでも良い
>全く理解していない、学ぼうとしていない、子供が玩具を弄ってるだけ
はどういう関係があるのかとお前に聞いてるんだ
0720774ワット発電中さん
垢版 |
2022/04/29(金) 00:42:43.22ID:VqQmMEWi
>>719
高級言語もアセンブラもそれぞれ一長一短がある訳だから
そういった偏りすぎた考え方は良くないと言っている
0721774ワット発電中さん
垢版 |
2022/04/29(金) 01:11:45.98ID:Y6WtrNPN
はじめてのスレなのにこんなの見せられたら誰も来なくなってしまう&#128124;&#128124;&#128124;
0722774ワット発電中さん
垢版 |
2022/04/29(金) 01:13:17.17ID:/zky8lz+
>>720
へえ、いつからそんなに大人になった?
>結局は手を抜いて早く終わらせたい、楽をしたい、甘えたい
>とにかく形だけできれば良い、動きさえすれば良い、クオリティとかどうでも良い
>全く理解していない、学ぼうとしていない、子供が玩具を弄ってるだけ
これ、C言語へのヘイトにしか読めないけど、幾度も聞いてるのにまだ関連性を説明してもらってない。
0724774ワット発電中さん
垢版 |
2022/04/29(金) 01:22:07.17ID:R4AI01jU
>>720
アセンブラなんて「短」のみだろ
「長」があるなら教えて、自己満、自慰、以外で
0726774ワット発電中さん
垢版 |
2022/04/29(金) 01:29:23.45ID:vx1O2Gay
このスレを閲覧してる幼女〜美少女が逃げ出すので「オナ〇ー・〇慰」と言う様な
下品な表現の使用は控えて頂きたい\(^o^)/

>>721
それは困る凄く困る・・・( ;∀;)
僕は誰にチューすればいいんだ??? (*´з`)
0727774ワット発電中さん
垢版 |
2022/04/29(金) 01:37:49.28ID:xhdqevx3
EEPROMてアセンブラじゃないと操作できないんじゃなかったっけ?
ていうかxc8はアセンブラも入れられるんだから
0730774ワット発電中さん
垢版 |
2022/04/29(金) 01:48:08.65ID:Y6WtrNPN
MCCでアセンブラ出力するようにmicrochip に言うのがいいんじやね
0733774ワット発電中さん
垢版 |
2022/04/29(金) 02:01:42.53ID:Y6WtrNPN
>>732
わーい&#128588;
トランジスタのエクボ覚えたのにFETだといい方違う理由がわからんち
0734774ワット発電中さん
垢版 |
2022/04/29(金) 03:40:27.70ID:FLqyRGIv
状況に応じて、必用に応じて、アマなら好みに応じて、プロなら利益に応じて、
Cとフルアセンブラの両者を使い分ければいい。
老婆心ながら、「Cでしか書けません」は少し困ると思うけどな。
CPUが持つ機能を余すところなく発揮できるのはアセンブラだけで、
たとえばPICやAVRのような、小さなCPU向きのLチカでさえ、
ちょっと複雑になるとCでは書けない。
0735774ワット発電中さん
垢版 |
2022/04/29(金) 05:37:05.75ID:MzxPg0Zy
>>686
組み込み用CPUなら兎も角、
高性能な奴だと、パイプライン乱さない様に順番入れ替えたりしないとならないから、アセンブラだと速度出ない事も。
0736774ワット発電中さん
垢版 |
2022/04/29(金) 08:13:14.66ID:xhdqevx3
俺はCしかできないけど
ビット回転命令とかはアセンブラじゃないと無理?
0737774ワット発電中さん
垢版 |
2022/04/29(金) 08:18:40.58ID:qw6Pou+i
そろそろ、マイコンの世界でも「Cでしか書けません」「それは困るね」の意味が変わってきてるよな。

それとプロだと職場によって求められることが変わってくる。
分業が進んでいるところだと、アセンブリ言語を使う可能性のある部分を担当する人とか
C以上の高級言語しかタッチしない (←簡単って意味じゃないよ) 人とかに完璧に分かれていたりする。

PICスレなんだし、Cを超える高級言語の話は無意味って考える人もいるだろうけど、
プロなら、というコンテキストでいえば「マイコンは8ビットPICしかできません」はあまり通用しないと思う。

むしろ、ルールや生産性、他人からの推奨など一切のしばりなしに、
いろいろなマイコンや言語(アセンブリ言語も含めて)を楽しんだり避けたりできるのは、趣味じゃないですかね。
0738774ワット発電中さん
垢版 |
2022/04/29(金) 08:19:24.59ID:vSfNB9WY
>>734
ArduinoのRGB LEDのライブラリのAdafruit_NeoPixelのコードを覗いてみると
クロック周波数の低いボード向けのコードはアセンブラコードだらけだな
ある程度クロックの高いボード向けはCで書かれてるけどね
クロックが数十MHzクラスのボードではCPUが32bitのARMでもアセンブラコードで書かれてるね
それだけRGB LEDの制御はタイミングがシビア
0739774ワット発電中さん
垢版 |
2022/04/29(金) 10:16:16.60ID:CL0E2MzO
>>707
フルアセでの納品を認める顧客とは?
0740774ワット発電中さん
垢版 |
2022/04/29(金) 10:50:04.79ID:qw6Pou+i
>>739につらなっているレス

アセンブリ言語、C言語論争において、手を抜くだとか甘えだとかオナニーだとか
感情に火をつける言葉の応酬をして、有益が結果が得られるかどうか考えてみてはどうでしょう。
絶対的な相手意見の否定ができない話において、議論をするなら、落としどころはどこかに必要です。

よりよいすり合わせや合意が形成できるのは、感情抜きで議論できているときじゃないですかね?

そうでもなければ、声が大きい人、強引な議論をふりまわす人、地位が高い人、わからず屋、
その場で応答性が速くばらまける知識の豊かな人の主張に結果が偏りがちです。
そういった結論が(仮に自分か相手にとっては望ましいものであっても)必ずしも望ましいものではないことは
仕事で自社内や顧客と議論をしてれば多かれ少なかれ経験はしてるんじゃないですか?
0742774ワット発電中さん
垢版 |
2022/04/29(金) 12:14:00.24ID:Y6WtrNPN
>>1
〉・威張らず、偉そうにせず、上から目線にならず、優しく答えてあげましょう
0743774ワット発電中さん
垢版 |
2022/04/29(金) 12:58:52.57ID:C2hTtaeU
PIC初心者ですが質問があります。

PIC18F25K80というマイコンを初めて使います。
A/Dコンバーターを使いたいのですが設定がわかりません。
それは、データシートの352ページのトリガー設定です。
bit 7-6 TRIGSEL<1:0>: Special Trigger Select bits
 11 = Selects the special trigger from the CCP2
 10 = Selects the special trigger from the Timer1
 01 = Selects the special trigger from the CTMU
 00 = Selects the special trigger from the ECCP1
とありますが、私はこの中のどのトリガーも使いません。単にGO bitを手動でsetして、Doneをポーリングするつもりです。
一般的には「特別トリガを使うか/使わないかの設定bit」が別にあったり、
上記4種類のうちの1つに「どれも使わない」という設定があると思うのですが、それも見当たりません。
試しにMCCで設定してみたのですが、上記の4つの選択が出て、どれかにすると、下の窓に
「ADC Warning Configure ECCP1 module」と表示されます。
こういう場合は、どのようにしたら良いのでしょうか?
0744774ワット発電中さん
垢版 |
2022/04/29(金) 13:09:09.08ID:vwulKpxt
eccp1の中にお望みの選択肢は無いかしら。知らんけど
0745774ワット発電中さん
垢版 |
2022/04/29(金) 13:17:24.06ID:CL0E2MzO
>>740
あー経験してる。会議で貴方みたいにそもそも論あるべき論を語り出してちゃぶ台ひっくり返そうとする奴、あれホント迷惑だったな。
0746774ワット発電中さん
垢版 |
2022/04/29(金) 13:32:18.00ID:G4Qt9wOI
>>745
その人、常駐の「説法マン」だからな。
見てるとわかるけど、みんな知ってるから誰も相手してない。
久しぶりにあんたがレスしてくれて励みになったはず。
0747774ワット発電中さん
垢版 |
2022/04/29(金) 13:40:35.35ID:vx1O2Gay
>>743
他のPIC類だとAutoConversionにはdisabledの項目(設定)が当たり前の様にある
PIC18F25K80のADCが異例なんだと思うけど
TriggerをCCP2かECCP1に設定してCCP2 or ECCP1のModeを[off/reset]にしておけばいいのでは?
(これが正しい手段かはわからない)
0748774ワット発電中さん
垢版 |
2022/04/29(金) 14:09:26.01ID:C2hTtaeU
>>744 747
ありがとうございます。
MCCでECCP1を追加してみたら、
ECCP1の設定タブは、すでに off/RESET になっていました。

>他のPIC類だとAutoConversionにはdisabledの項目(設定)が当たり前の様にある
ですよね。
>PIC18F25K80のADCが異例なんだと思うけど
ですよね。
もぅ、わけがわからん。

そんなことで悩むのもツライので、品種変えることにしました。
ありがとうございました。
0749774ワット発電中さん
垢版 |
2022/04/29(金) 14:37:13.22ID:C2hTtaeU
すみません、もう一つ教えてください。

このPICですが、UARTのRXピンと、PGDが兼用になっています。こんな感じです↓
https://imgur.com/M7bq23S.jpg

これってヒドくないでしょうか?
UART ICから低インピーダンスで電圧が来ているところを、
PICKitで満足にH/Lできるんでしょうか。
PICKitの出力はLCV245はバスバッファなのでいいじゃん、ということなのか
そのときはSWで切り替えてください、ということなのでしょうか。

UART ICからの信号に抵抗を入れて誤魔化してもいいけど、
抵抗入れたらボーレートが上げられないと思うんです。
0750774ワット発電中さん
垢版 |
2022/04/29(金) 15:09:10.84ID:q8gsHF5I
顔真っ赤にして反論されそうだけど、ICSP端子と他の端子兼用にする事はまず考えない。
0751774ワット発電中さん
垢版 |
2022/04/29(金) 15:09:18.05ID:vx1O2Gay
>>749
経験上での話で申し訳ないが
最適な方法はわからないけどUARTから1kΩ程度の抵抗を入れてPGDに接続して使ってた
その状態で書き込みも通信も問題なかった
速度に関しては高速な状態は試した事が無いけどPICkitやUART配線が短ければPICのGPIOの寄生静電容量は低いので
高い速度でも通信出来ると思う(1Mbps以下なら問題ないと思う)
PICkit3側で4.7kΩでプルダウンされてるので1kΩより大きい抵抗だとHigh時の電圧が足りないと思う
PICkit4ならプルダウン抵抗を切り離すらしいので、もう少し大きい抵抗でも大丈夫だと思う

悩むのが辛くなったらPIC18F25K80を窓から捨ててPPS使えるPIC使おう\(^o^)/

あとどこかのPIC関連のデータシートかアプリケーションノートにPGD,PGCにICSPとその他の接続を汎用する方法が載ってた気がするけど
思い出せない・・・・(;´・ω・)
0752774ワット発電中さん
垢版 |
2022/04/29(金) 15:43:32.24ID:C2hTtaeU
>>750
ありがとうございます。
確かにそれが一番ですね。これまでは逃げて使っていましたが、今回はダメでした。
UARTとPGC/PGDって どうよ? もっと他のものに組み合わせてくれと。
他にもこのPIC、UART1とCANが全く同じ兼用。重要保安部品同士を兼用しないで欲しい

>>751
ありがとうございました。
>最適な方法はわからないけどUARTから1kΩ程度の抵抗を入れてPGDに接続して使ってた
>その状態で書き込みも通信も問題なかった
その手法で逃げようと思っています。
最悪はSW切替か、ROMライタで書いてもいいかもしれない。

>PICkit3側で4.7kΩでプルダウンされてるので1kΩより大きい抵抗だとHigh時の電圧が足りないと思う
4.7kは小さ過ぎと思います。10kでも22kでもHi-Zでなければ、問題ないと思うんですが。
PICKit3でも、出力段はトライステートのバッファがいるけどHi-Zにしないのかな。

>PGD,PGCにICSPとその他の接続を汎用する方法が載ってた気がするけど
確かPIC16F873/876/877の頃のデータシートの、
ICSPのところに書いてありました。抵抗を使えと。
0753774ワット発電中さん
垢版 |
2022/04/29(金) 16:27:07.42ID:BRfYktMX
UARTが2チャンネル乗ってるからピンアサインが苦しいんでしょう
もうひとつの方のUARTじゃだめなの?
0754774ワット発電中さん
垢版 |
2022/04/29(金) 16:51:34.92ID:C2hTtaeU
UARTは2つとも使いたいんです。
欲張りですね
0755774ワット発電中さん
垢版 |
2022/04/30(土) 09:25:05.84ID:rB4N0Z8Q
>>698
>Cのように(ちゃんと)モジュール化・カプセル化しておけば、使い勝手の良いものが出来ていくって感触が、アセンブラーだと得られない。

これは >>698 がアホ自慢してるだけ
良い子は真に受けないように
0756774ワット発電中さん
垢版 |
2022/04/30(土) 09:44:12.12ID:MlGRFKdF
確かに「アセンブラーだと得られない」は間違いだと思います。
俺もZ80が大人気だったころに、アセンブリ言語で定番ルーチンを作って活用してました。

「アセンブラーだと高級言語に比べると相対的に得られにくい」が正確だと思います。
0757774ワット発電中さん
垢版 |
2022/04/30(土) 10:24:20.41ID:HGhjHZZF
>>755,756
君らは発想が近視眼的
モジュール化したものが他のチップでも生かせる
アセンブラーだと決してそうはならない
そういう意味も含んでる
0758774ワット発電中さん
垢版 |
2022/04/30(土) 10:54:58.64ID:FlAwIpxj
デジタルを触りすぎて、思考までデジタルになっちゃった?
インラインアセンブラだって、リンカーにアセンブラのルーチン呼ばせる事だって出来るでしょ?
なにそのAll or Nothing。
0759774ワット発電中さん
垢版 |
2022/04/30(土) 11:05:43.51ID:MlGRFKdF
>>757
>モジュール化したものが他のチップでも生かせる
>アセンブラーだと決してそうはならない
それを含んでの>>756だよ。
というか、Z80でアセンブリ言語の定番ルーチンを作った手法が、現代でPICに置き換えて広く受け入れられるわけないよね。

>>698の当該行が「他のマイコンでも」を前提としているかどうかが曖昧なのと「得られない」という表現で>>755のようなコメントが付いています。
「得られにくい」の意図で「得られない」と書かれたものだと理解できない人もいます。
意図的に理解していないふりをして反論する人もいますが、曖昧さを含めて正確に書けばこの手の反論は低減ができます。

次の行の「機能によってはPIC以外でも使い回せたりするよね」を含んだ形での読み取りが>>755はできていないのです。
これも意図的にしていない可能性もありますけどね。
0760774ワット発電中さん
垢版 |
2022/04/30(土) 11:11:12.59ID:MlGRFKdF
>>758
相手をやりこめる討論番組みたいなのが人気になるぐらいだし。
わりと多くのことで、イチゼロに収束するのはわかりやすい傾向があります。
「で、結局どっちなん?」みたいに結論を求める人って多いよね。
0762774ワット発電中さん
垢版 |
2022/04/30(土) 11:27:26.14ID:MlGRFKdF
初心者は、アセンブリ言語は使わないものだ、という意図なのか、
初心者は、ライブラリを書き溜めたり、ほかのものを持ってきたりしないものだ、という意図なのか、

1行レスは語った本人の満足とは裏腹に、どうとでも取れるものですね。
0763774ワット発電中さん
垢版 |
2022/04/30(土) 11:37:20.36ID:OU9QZdHH
常駐「説法マン」今日もまた参上
レスを追うごとに長文化癖が発症
皆慣れたようで誰も反応せずスルー
0766774ワット発電中さん
垢版 |
2022/04/30(土) 12:15:24.33ID:d6o4sBS9
おまえは長文書きたいならブログで初めてくれよ。初めてのアセンブリ言語。アセンブラやりたい人は喜んで読むよ。頼むよ。お願い。
0767774ワット発電中さん
垢版 |
2022/04/30(土) 12:51:39.47ID:1YjCNde7
>>763
「常駐説法マン」か、いいね、この蔑称。
無駄に長文で説教臭いから文章から確実に特定できる。
>>766
ここでは偉そうだけど、所詮はただの5ch弁慶で、
書いたものが残るような媒体で発信するだけの度量やスキルは持ちあわせていないと思う。
0768774ワット発電中さん
垢版 |
2022/04/30(土) 12:57:46.65ID:FlAwIpxj
本当に後に使い回ししたいのは プログラム言語やCPUに依存しないアルゴリズムや考え方なんだよね。
アセンブラかCかなんて小っちゃいねえ…
0769774ワット発電中さん
垢版 |
2022/04/30(土) 13:03:49.76ID:MlGRFKdF
>>768
それはアイデアを創れる人の発想で、実装作業の生産性や工数に関心が向いている人の発想ではないですね…
0770774ワット発電中さん
垢版 |
2022/04/30(土) 16:44:06.08ID:CTamcdWB
フルアセンブラでは書ける仕様がCでは書けない、には誰も触れないね
0771774ワット発電中さん
垢版 |
2022/04/30(土) 17:07:03.06ID:kIF9WsDV
まあ極論だけど、Cってのは、一切のライブラリを使用しなければなにもできない仕様だから
まちがっちゃいない
0773774ワット発電中さん
垢版 |
2022/04/30(土) 17:33:19.34ID:CkglQAaQ
>>770
あのお方の言う仕様はC(言語の種類関係なく)で簡単に出来るLチカの事だから触れてはいけない
長い人はみんなスルーしてる
0775774ワット発電中さん
垢版 |
2022/04/30(土) 20:36:51.98ID:321LsK4C
顔文字やめろ
0777774ワット発電中さん
垢版 |
2022/04/30(土) 21:04:17.80ID:W0CkZd+t
MPASMのビットシフトはステータスフラグが効く分、
Cのビットシフトとちょっと違ったような…(^p^;
あれをビット演算用いてCで無理に実装すると
冗長なコードになりそうでモヤりますな
0780774ワット発電中さん
垢版 |
2022/05/01(日) 00:07:03.95ID:oTMcDdT3
>>778
個人(趣味)用途なら12F,16F,18Fシリーズだと思う
24,32,dsPICは少ないと思う
規模や速度が必要な用途にはPIC以外が人気なんじゃない?(STM32とかESPとか)
0781774ワット発電中さん
垢版 |
2022/05/01(日) 03:39:36.24ID:Qklv1hNz
>>776
顔文字やめて下さい
お願いします
0782774ワット発電中さん
垢版 |
2022/05/01(日) 03:40:35.30ID:Qklv1hNz
>>779
顔文字やめてもらえませんか
0783774ワット発電中さん
垢版 |
2022/05/01(日) 05:15:36.54ID:/Y1yEo30
10Fの事も忘れないでください
あれでも一応プログラムが組めるので(´;ω;`)
0784774ワット発電中さん
垢版 |
2022/05/01(日) 09:23:55.39ID:5jiuZcRe
Cで書けることをあえてアセンブラで書く必要はないけど
アセンブラが全くわからないとデバッグにも支障をきたすと思うけどな
0785774ワット発電中さん
垢版 |
2022/05/01(日) 09:27:14.28ID:N8QTyOyo
ブレークで止めた時アセンブラのニモニックがずらずら出てきてもパニックにならない事は必要だな
0786774ワット発電中さん
垢版 |
2022/05/01(日) 09:29:23.83ID:zz2m0atl
>>779
٩(๑òωó๑)۶

>>780
ありがとうございます。
やはりローエンド向けが良いっぽいですね。
24,32,dsPICとかって何に使うんだろうか。
0787774ワット発電中さん
垢版 |
2022/05/01(日) 09:33:03.67ID:uSnctXcm
このスレじゃないけど

デバッガもつかえないでどうやってデバッグしてんだとかって、ディスられたことあるんだが

デバッガがないとでデバックできないほうがよっぽどしょぼいよな
0788774ワット発電中さん
垢版 |
2022/05/01(日) 09:48:29.48ID:a1THMGG5
この人Cで書けないんだな
Cで書いてたらブレーク掛けてもソースレベルデバッグだし
ニーモニック出るようにするやり方教えて下さい
0790774ワット発電中さん
垢版 |
2022/05/01(日) 10:05:17.22ID:a1THMGG5
>>789
ブレーク掛けてニモニック出るんでしょ?デフォルトの状態で出ないよ?
出す方法を教えて下さい
因みにMPLAB X IDE 6.00ですが
0792774ワット発電中さん
垢版 |
2022/05/01(日) 10:13:40.97ID:N8QTyOyo
きみのようにえるちかばかりつくってるわけではないので、
つかえるものはつかいます。
0796774ワット発電中さん
垢版 |
2022/05/01(日) 10:22:37.83ID:uSnctXcm
デバッガ使い方わかんねえって言ってんのに、教えろ、教えろっなんなのて
バカなの
0797774ワット発電中さん
垢版 |
2022/05/01(日) 11:03:08.21ID:W1jMkjNi
>デバッガもつかえないでどうやってデバッグしてんだとかって、ディスられたことあるんだが
>デバッガがないとでデバックできないほうがよっぽどしょぼいよな
この2行目は余計だけど、ここにはC言語ではないとかアセンブリ言語だとかそんなことは書かれていない。
ましてデバッガを使わない(使えない)ことを匂わせているID:uSnctXcmに対して
C言語ができないとか「ブレーク掛けてニモニック出るんでしょ」は外しすぎ。バカのふりもたいがいに。
0800774ワット発電中さん
垢版 |
2022/05/01(日) 12:37:50.56ID:R+Vhf0OU
>>796
アンタがへんな絡み方するからだろ
0802774ワット発電中さん
垢版 |
2022/05/01(日) 12:44:56.23ID:W1jMkjNi
ID:uSnctXcmさんのどのレスが、
どんな人に対して、
どんな絡み方をしたことが、
いざこざの起点になったっていうんだろう。
0804774ワット発電中さん
垢版 |
2022/05/01(日) 17:04:53.78ID:AyHOLA2s
なんで毎回、毎回こうもレベルが低いケンカになるかねぇ・・・
「アンタが大将!、アンタが大将!」と言って終わらせられるのに
「金持ちケンカせず」という言葉があるから、きっと貧乏人なんだろうなw
冗談はともかく、こんな所でエネルギーを浪費するな
0805774ワット発電中さん
垢版 |
2022/05/01(日) 17:54:20.00ID:KGUGDEo5
xc8 のライセンスは2種類あるようですが
今探すとPROしかない?

もう一つはどうなったん
0806774ワット発電中さん
垢版 |
2022/05/01(日) 19:31:28.13ID:e5MIC8B1
>>804
このエネルギーを使った発電方法はないでしょうか?(^p^)これからの時代はマイクロ発電ですよ!!しらんけど
0807774ワット発電中さん
垢版 |
2022/05/01(日) 19:47:45.08ID:8B1qTHHD
>>806
喧嘩してる人(怒ってる人)から
・怒りのキーボード打撃を利用した発電
・怒りの心拍数上昇を利用して血液による水力発電
・怒りの頭の湯気を利用した発電
・怒りの粗い鼻息を利用した風力発電
・怒りのマウス操作の加速度を利用した発電
全部やれば低クロックのPICでLチカ出来るかもしれない

ちょっと発電機装着させていただきますね\(^o^)/
0809774ワット発電中さん
垢版 |
2022/05/01(日) 22:28:31.93ID:e5MIC8B1
発電と言えば、太陽電池はだいぶ普及してきた気がするけど
MPPT(最大点追従なんたら、しらんけど)はあんまし耳にしない印象。
それなりの規模になれば、パワーコンデショナーが備えてはいるんだろうけれど。

MPPT機能をPICで実装するというのはテーマとして面白いかもですな。
0810774ワット発電中さん
垢版 |
2022/05/01(日) 22:43:06.21ID:e5MIC8B1
太陽光発電は、負荷を大きくし過ぎても小さすぎても取り出せる電力が減少してしまいます。
最大のパワーを取り出せるように負荷を調整するのがMPPTです。

怒りのパワーも垂れ流ししすぎても、ため込ませ過ぎるのも、
取り出せる量は小さくなってしまう事でしょう。だから、>>808
適度な怒りを持続させることも重要なんじゃね?知らんけど(^p^)

>>807
鼻息発電名目で 湯沸し器君に過剰な負荷を設定して
呼吸量0という不幸な事故を装う完全犯罪を目論んじゃらめー!!
0811774ワット発電中さん
垢版 |
2022/05/01(日) 22:56:21.21ID:Qklv1hNz
>>786
顔文字やめろ
0812774ワット発電中さん
垢版 |
2022/05/01(日) 22:59:52.39ID:LIIc4wkb
太陽光発電ネタ

パネルを太陽の方向に追尾すれば発電量最大になるんじゃね?と思って
手でパネルの向きいじってみたのよ、そしたら発電量最大点が太陽の方向じゃないのよ
びっくりだね(汗

ピーカンだったら太陽の方向かもしれんけど雲あったり、もやってたりすると散乱光の影響なのか
ちょっと違う方向になるようだ

時計仕掛けで簡単追尾という計画が一瞬で崩れ去ってしまった
0813774ワット発電中さん
垢版 |
2022/05/01(日) 23:00:35.65ID:Qklv1hNz
>>803
顔文字、やめて下さい
0814774ワット発電中さん
垢版 |
2022/05/01(日) 23:02:17.98ID:Qklv1hNz
>>806
顔文字やめてもらえませんか
0815774ワット発電中さん
垢版 |
2022/05/01(日) 23:05:10.43ID:Qklv1hNz
>>807
それよりあんたの無駄な顔文字を入力エネルギー、
やめた方がいいですよ。
0818774ワット発電中さん
垢版 |
2022/05/01(日) 23:14:57.13ID:LIIc4wkb
>>817
リアルタイムに最大点追尾できれば最強だと思う
太陽を追っかけても無駄ってとこがガッカリポイント
0819774ワット発電中さん
垢版 |
2022/05/01(日) 23:19:25.70ID:e5MIC8B1
最大になる点が鉛直方向じゃないにしても、その方向を太陽に常に向ければいいんじゃね?
電極の配置に拠るのかなぁ・・・ 結晶構造なのかな?
0820774ワット発電中さん
垢版 |
2022/05/01(日) 23:23:07.04ID:LIIc4wkb
>>819
いや、そういうことじゃなくて、直射が雲にさえぎられて、隣の雲からの反射が強いとか
そんな感じじゃないかな、まあ継続して計ってないからなんともいえんけど
0821774ワット発電中さん
垢版 |
2022/05/01(日) 23:44:38.61ID:W1jMkjNi
固定の場合と
常に太陽に向けている場合と
常に最適方向を探している場合と

たとえば年間平均でどれが最適か、ってことになるのでは。

http://www.kyushu-eneco.jp/20180316-1229/
熱くなりすぎてもだめだとか。難しいな。真正面だと温度が上がりやすくなるかも。
0823774ワット発電中さん
垢版 |
2022/05/01(日) 23:55:38.57ID:LIIc4wkb
>>821
うん、追尾するより、パネル枚数増やしたほうがましみたいなことも、どっかに書いてあった
それみて、モチベーションさらにだだ下がり
0824774ワット発電中さん
垢版 |
2022/05/01(日) 23:56:41.85ID:LIIc4wkb
>>821
うん、追尾するより、パネル枚数増やしたほうがましみたいなことも、どっかに書いてあった
それみて、モチベーションさらにだだ下がり
0826774ワット発電中さん
垢版 |
2022/05/02(月) 01:56:32.29ID:8ULIhee1
  __________д_
 Σ___________Γ
   ヽ(´・ω・)ノ
     |  /
     UU
0827774ワット発電中さん
垢版 |
2022/05/02(月) 08:51:22.61ID:RoxbjpJo
あと、あれか。日照量によって電圧・電流グラフがかわり、
電力測定系の負荷が、最大負荷点と一致するような日照量が、
鉛直方向より傾いた場合の値だった説。

日照量が強すぎて鉛直方向にむけると高温で効率低下という可能性もゼロではないけど
(太陽電池は実質はPNダイオードで、順方向電圧にたまった電圧を取り出している手前、
高温になりすぎると順方向電圧が下がって内部で漏電・加熱という悪循環になってまうんよな)
そこまで高温にはしていないんじゃないかとなんとなく思うのでこの可能性は低そうとおもった、しらんけど(^p^;
0828774ワット発電中さん
垢版 |
2022/05/02(月) 12:26:57.52ID:zuj6LvhT
MPLABで教えてください。
MCCを使ってTIMER1を生成したら、コンパイル時に、以下のようなwarningが出ます。

mcc_generated_files/pin_manager.c:92:: warning: (520) function "_PIN_MANAGER_IOC" is never called
mcc_generated_files/tmr1.c:99:: warning: (520) function "_TMR1_StopTimer" is never called
mcc_generated_files/tmr1.c:105:: warning: (520) function "_TMR1_ReadTimer" is never called
mcc_generated_files/tmr1.c:142:: warning: (520) function "_TMR1_Reload" is never called
mcc_generated_files/tmr1.c:147:: warning: (520) function "_TMR1_StartSinglePulseAcquisition" is never called
mcc_generated_files/tmr1.c:152:: warning: (520) function "_TMR1_CheckGateValueStatus" is never called

MCCが勝手に作った関数に対して「使ってないぞ! ええんか?」と言われても
私が作ったものではないので困るのですが、みなさん放置しているのでしょうか?
気持ち悪いので、warningは全部消したいのですが、どのようにすればよいでしょうか?
0829774ワット発電中さん
垢版 |
2022/05/02(月) 12:43:46.51ID:j9j8qBlK
無視
#if 0 〜 #endif
#pragma
0830774ワット発電中さん
垢版 |
2022/05/02(月) 13:13:31.62ID:zuj6LvhT
>>829
ありがとうございます。
無視ですか。できるなら消したいです。

すみません↓の意味がわかりません。

#if 0 〜 #endif
warningを表示させたくない関数だけをifdefで切る、ということでしょうか。
生成されたtimer1関数のなかには、使うものもあるので、
いちいち手間がかかるのと、
次回にMCCをかけたときに、MCCがうるさいんです。

#pragma
これは何をすればよいのか、わかりません。

warningの1つ1つを読んで「よし、これは確認済みOK」とかチェックして、
warningは放置するしかないでしょうか。
MCCは面倒ですね。
0831どうしてもワーニングが嫌なら・・・
垢版 |
2022/05/02(月) 13:32:07.40ID:RoxbjpJo
逆の発想
int nAlwaysZero = 0;
if(nAlwaysZero){
  _PIN_MANAGER_IOC();
  _TMR1_StopTimer();
  _TMR1_ReadTimer();
  _TMR1_Reload();
}
・・・みたいに、絶対 使わないところでよんじゃえばいいんじゃね(はなほじ
0832774ワット発電中さん
垢版 |
2022/05/02(月) 14:28:30.64ID:zuj6LvhT
ありがとうございます。

そういうことですか、なるほどすばらしいです。感動しました。

これは、if(0)なので 一生実行されないけど、
どこかに書いてあることに意味がある、という理解で良いでしょうか。
であれば、

main(){
  unsigned char a;

  while(1){
   ・・・・
  }

  PIN_MANAGER_IOC(); // MPLABのoutputに表示されるときは
  TMR1_StopTimer();  // _PIN...と先頭に_が付くみたいです
  TMR1_ReadTimer();
  TMR1_Reload();
}
という場所に書いてはいけないでしょうか。


あと、もう一つご教示ください。XC8で、
MCCはPIN_MANAGGER.hを生成して、GPIOの表記をdefineしています。
IO_RA0_LAT IO_RA0_PORT とかです。
ところが、昔ながらの RA0=1; というのも可能です。
どのように言葉で書くことができるのか知りたいのですが、どこを見たらわかるでしょうか。
MPLAB8.92のころのXC8は、PIC18....hというファイルがあって、
その中に構造体や共有体などが書かれていて、便利に見ていたのですが、
XC8 Ver1.70とかだと、どこを見ても探せません。
0833774ワット発電中さん
垢版 |
2022/05/02(月) 15:17:17.39ID:RoxbjpJo
きょうびの開発環境だと、到達しないコードがあるぞって
警告してくる場合があるから、それに引っかかるかもですな。

MPLABがどうだか覚えてないけど、 RA0=1;  のRA0の部分を右クリックで
ポップアップメニューを出すと宣言位置を参照 という項目ってなかったっけ?
それが使えるなら手かもですな。
0834774ワット発電中さん
垢版 |
2022/05/02(月) 16:30:43.70ID:3XUbB6kC
>>832
warningはProject Properties > XC8 compiler > Warning level
がデフォルトで-3なので0にする

RA0の定義はctrlを押しながらカーソルを持ってゆくと指に変わるから左クリックするとヘッダファイルにジャンプする
関数とかも同じようにするとジャンプしてくれる
0835774ワット発電中さん
垢版 |
2022/05/02(月) 16:58:17.77ID:zuj6LvhT
>>834
ありがとうございます。バッチリ出来ました。warning消えました。
というか、自分でコンパイラに指示が出来ることを初めて知りました。
どうもありがとうございました。

また、ヘッダーも、できました。これです、これです、これが欲しかったです。
どうもありがとうございます。大変助かりました。
ありがとうございました。どうもありがとうございます。
大変たかりましたるありがとうございました。
0836774ワット発電中さん
垢版 |
2022/05/02(月) 20:50:13.46ID:AQQg1mtP
ADCで読んだ数値を毎秒加算してログを取りたいんですがlongとfloatどちらが良いんでしょうか?
最終的には掛け算やら割り算やらして少数を含む数値になるのですが
0837774ワット発電中さん
垢版 |
2022/05/02(月) 20:57:59.57ID:cnkOx8Vg
ログなら換算前の整数値でとった方が便利そうじゃね?
換算計算は あとでエクセル上で 一気にできるんだし。
0838774ワット発電中さん
垢版 |
2022/05/02(月) 21:16:35.87ID:AQQg1mtP
>>837
整数のほうが誤差なさそうですよね
そうしますありがとうございます
0839774ワット発電中さん
垢版 |
2022/05/02(月) 23:36:36.39ID:zuj6LvhT
夕方は、ありがとうございました。
あのあと、再び問題が出て、ずーっと戦っています。
すみませんが、また教えていただけないでしょうか。

#define についてです。

LATBbits.LATB5 という書き方が長くて書きにくいのと、
timer1割込の周期確認LEDが接続してあるので、
#define LED LATBbits.LATB5 と短く書きたいです。
このマクロを、ソース全体に有効にしたいので、
main.c ファイルの先頭に書きました。
ところがコンパイルすると、timer1の割込部分でエラーとなってしまいます。
「LEDなんて知らん」と言われてしまいます。

この例に限らず、#defineをプロジェクト全体で有効にするには、
どの位置に #define を記述すれば良いのでしょうか?
宜しくお願いします。
0840774ワット発電中さん
垢版 |
2022/05/03(火) 00:11:47.24ID:M6j/MCAT
>>839
また質問内容の回答だと
#define LED LATBbits.LATB5 を記載したヘッダーファイルを作り
各ソースファイルでそのヘッダーをインクルードすれば可能だと思います

またMCCを使ってるなら
Custom nameでLEDと定義すればLED_LATで操作できますよ
またLEDまで打ってctrl+speceで様々な候補出せます
https://i.imgur.com/IzAh5Vs.png
https://i.imgur.com/F5N45TJ.png

各ソースファイルで#include "mcc_generated_files/mcc.h"を追加すればOK
インクルードの無いソースファイルでLED_LATの様な入力をした場合には
自動的に#include "mcc_generated_files/pin_manager.h"が追加されるみたいです
(この仕様は知らなかった)
0841774ワット発電中さん
垢版 |
2022/05/03(火) 01:02:21.40ID:Uj2dTZsQ
>>840
ご回答、ありがとうございます。
お話の内容は理解できました。なるほどです。

1. 自分で作った #define
   各ソースファイルに置かないとダメなのですね。
   main.c の先頭に置くだけで、コンパイラーは全ソースに対して
   効果を出してくれると思っていました。
2. MCC上の表の中に書き込む
   これは便利ですね。ありがとうございます。
   末尾に _LAT とか _PORT(?)が付いてしまうのですよね?
   I/O方向がわかっていいのかもしれませんね。

例まで出して画像でupして頂いて、本当にありがとうございました。
以前 MPLAB IDE 8.92とかでは、
#include で、全体を1本のソースコードにしていたので、
先頭に1回置くだけで全部にグローバルで効いたので便利でしたが、
MOPLAB X になってから、ファイル毎に記述しなければならないのは、
少し面倒ですね。
でも、正しくはどうすべきものなのかが、わかって勉強になりました。
どうもありがとうございました。
0843774ワット発電中さん
垢版 |
2022/05/04(水) 23:18:39.31ID:iGDBzhPF
PIC初心者です。質問教えてください。
PICの書き込みには、LowVoltageProgrammingというのがあるようです。
PICKit3や4を使って書き込みはできていますが、どうしたら良いのかわかりません。

1. なぜ2種類あるのでしょうか?
2. 本来、どちらの方式で書き込むべきなのでしょうか。
3. 2種類は、どのようにして切り替えるのでしょうか?
4. なぜ2種類が共に残っているのでしょうか?
    どちらか片方あればよいと思うのですが。
よろしくお願いします。
0844774ワット発電中さん
垢版 |
2022/05/04(水) 23:46:50.81ID:pMLYDDj8
なんかネット見るとDACが付いてるマイコンは珍しいって書いてある
PICにも誇れるところあるじゃん
0845774ワット発電中さん
垢版 |
2022/05/04(水) 23:57:22.64ID:ZYah6FWX
>>843
PICの書き込みには高電圧と低電圧(これはVDDレベルの通常電圧の事をさしてる)のモードがある
・古いPICは書き込みする為に高電圧が必要だった(ハードウェア的な制限)
・次に古いPICで書き込みする為の識別に高電圧が必要だった
・ある時期からのPICはMCLR(リセットピン)に専用のコードを送信する事で高電圧を必要としない書き込みモードが追加された

古くないPICは通常はLow Voltage programmingに設定されてると思う

今のPICでも高電圧書き込みが出来る
高電圧書き込みモードに変更するとMCLRピンを入力ピンとして使える
一度高電圧書き込みにセットすると解除する為には高電圧書き込みでないと解除できない
PICKitで高電圧書き込みにセットしたPICはSNAPとかだと書き換えできない(低電圧に設定し直す必要がる)

高電圧書き込みモードを有効にするには
デバイスコンフィグレーションレジスタのLVPを0にセットして書き込み
たぶん\(^o^)/
0846774ワット発電中さん
垢版 |
2022/05/04(水) 23:58:16.84ID:iGDBzhPF
>>843です。
すみません、もう1つ疑問があります。
MCCの生成した型の名前の末尾に "-t" が付いています。
一律に付いているのですが、どのような意味なのでしょうか?
例えば、
adc_result_t ADC_GetConversion(adc_channel_t channel);
とか
typedef enum
{
channel_CTMU = 0x1C,
channel_Temp_diode = 0x1D,
channel_Vdd_core = 0x1E,
channel_1_024V_bandgap = 0x1F,
channel_AN0 = 0x0,
channel_AN1 = 0x1
} adc_channel_t;
とかです。
0847774ワット発電中さん
垢版 |
2022/05/05(木) 00:30:06.91ID:22tYMb9G
>>842
そんな時は
youtubeでASMRでも聞きながら横になると良いよ

ASMR『頑張らなくていいの、そのままでいいの、きみは大丈夫』〜
ASMR『頑張ってる君はかっこいいし すっごく大好き…』〜

しばらくするとやる気出るよ\(^o^)/
0849774ワット発電中さん
垢版 |
2022/05/05(木) 08:12:27.74ID:5Sht8bBq
割り込みピンって出力モードにしたら無効になると思ってたけどならない!?
HIGHにしたら割り込み反応しちゃう?
0850774ワット発電中さん
垢版 |
2022/05/05(木) 08:55:36.49ID:wik5dWO8
>>846
> _t
前もこれに引っかかっている人がいたけど、typedef で定義された型に習慣的につけられるもの。
0851774ワット発電中さん
垢版 |
2022/05/05(木) 17:59:33.71ID:XLljeMDr
>>843
こういうことじゃないかな。

1. なぜ2種類あるか。
  昔から、MCLRピンに12.5Vを印加しながらRESETピンを↓↑することで、書込モードになる。
  そのために、5V→13Vの昇圧電源回路が必要。TL497が有名。
  しかし、5V電源のみで書込できたほうが便利なので、5Vだけで書けるようにもなった。
  これをLowVoltageProgrmming LVP書込と言う。
  だから、今でも2通りのやり方が共存している。そのうち12.5Vのほうは無くなるかも知れない。

2. 本来は、
  どちらでも良い。いずれにしろPICKit3が自動でやってくれるので、僕らが気にしなくても良い。

3. 2種類の切替
  わからん。
4. なぜ2種類が残っているのか
  Microchipの考えでしょう。両方できるようにしておけば、便利。
0852774ワット発電中さん
垢版 |
2022/05/05(木) 18:08:33.98ID:XLljeMDr
>>846
疑問に思うのは普通のこと。
>>850も言っているけど、_tは typedefの t で、typedefで定義したものだよ、という意味。
channel_AN0 = 0x0,
channel_AN1 = 0x1
} adc_channel_t;  なので、
adc_channel_t.channel_AN1 とか使うのだろうけど、
・_tがあってもなくても、何がどういう定義なのか、調べなければならない。
・_tがつくと変数名が長くなるだけ。
「typedefで定義したものだよ」と表示したところで、何が嬉しいのか?という話。
何かの言語に沿った表記なのでしょう。
0853774ワット発電中さん
垢版 |
2022/05/05(木) 19:47:50.28ID:OTrGIg/+
>>725
XC8をライセンス購入していないもので、-O2でも3でもビットシフトを2以上にすると
ループ展開されました。

.lstファイルにコードが出るだけましと思ってます。
0854774ワット発電中さん
垢版 |
2022/05/05(木) 22:06:31.86ID:An3eS2RW
>>852
知ったかでハズすのはみっともないな
_tは型を現すサフィックスだから変数名には普通つかないだろう

size_tがsizeと定義されてたら使いにくいでしょって事
0855774ワット発電中さん
垢版 |
2022/05/05(木) 22:38:53.54ID:XLljeMDr
_tは、データ型であることを示す識別子の接尾辞
tはtype(型)の頭文字ね
0856774ワット発電中さん
垢版 |
2022/05/05(木) 23:47:40.65ID:Av7CPrrD
Low-VoltageでICSPモードに入るときに送る4D434850というコードはASCIIでは"MCHP"だから
マイクロチップ・テクノロジーの略称そのものなんだな
0857774ワット発電中さん
垢版 |
2022/05/06(金) 12:46:39.86ID:w1a8bs9t
int64_t とか int32_t とかが int と定義されててとても使いにくいです
0858774ワット発電中さん
垢版 |
2022/05/06(金) 14:03:37.07ID:v+rW+7xu
>>857
我慢して使ってる。
押し付け感が、困ります。
0861774ワット発電中さん
垢版 |
2022/05/06(金) 19:01:41.34ID:4yqgFyRd
MPLAB X Ver5.4で、XC8言語で書いています。

unsigned char test(){
  if(...){
    return(1);
  else if(...){
    return(0);
  }
}
と書くと、
hoge.c:154:1: warning: (343) implicit return at end of non-void function
返値を持つ関数なのに、しれっと戻るんだ? と言われます。

文章の途中でretrun()で抜けてはいけないのでしょうか?
でないと、break; を書きまくることになると思うのですが。
0862774ワット発電中さん
垢版 |
2022/05/06(金) 19:29:02.98ID:g0N4qAq+
>>861

unsigned char test(){
  unsigned char a;
  if(...){
    a=1;
  else if(...){
    a=0;
  }
  return a;
}

と書くのが標準的なC言語での書き方。
breakしまくれば良いですよ。
0864774ワット発電中さん
垢版 |
2022/05/06(金) 20:07:55.60ID:NCHCg/j9
unsigned charならswitch case defaultで良くない?
そのほうが見やすいと思うけど?
0866sor
垢版 |
2022/05/06(金) 20:35:58.60ID:eh+0WMAG
  if(...){
    return(1);
  else if(...){
    return(0);
  }else{
    return 2;
  }
0867補足
垢版 |
2022/05/06(金) 20:56:35.69ID:eh+0WMAG
ぼきは途中でリターンで良いと思う派
エラーの原因はこの最後のエルスの部分が
略されてて値かえせてない事じゃね? しらんけど(^p^;
0868774ワット発電中さん
垢版 |
2022/05/06(金) 22:08:34.01ID:4yqgFyRd
ありがとうございました。
>>862の書き方に変更したところ、warningは無くなりました。
本来の書き方がしたかったので、助かりました。ありがとうございました。

>breakしまくれば良いですよ。
while(){ と、if(){の組み合わせでしたので、抜けるのを記憶する値と
そののif()を各ループに書かなければならないので、
見にくくなるり、「その場return()」で誤魔化していました。

>>864
なぜ charならswitch ということになるのでしょうか?

>>865
そうなんですか? なぜでしょうか。()を付けて、区切りをしっかりしたいと思うのですが。

>>866,876
ありがとうございました。
0869774ワット発電中さん
垢版 |
2022/05/06(金) 22:19:22.41ID:FuRqmvob
>>862
最後にelseが無くてリターン値が不定になるケースがあるが、warningは出なかった?
0870774ワット発電中さん
垢版 |
2022/05/06(金) 22:48:19.76ID:kwt53dOT
>>869
Cコンパイラーは変数宣言時に、指定がないなら中身を 0 にするで。
なので、変更しないなら return 値は 0 になる。
0871774ワット発電中さん
垢版 |
2022/05/06(金) 22:59:57.00ID:Uxz6hFqS
>>868
昔読んだ本だったから詳細は覚えてないが、例えばreturnの綴りを間違えた時に関数呼び出しに見えて編なエラーが出るとかうんたん
0872774ワット発電中さん
垢版 |
2022/05/06(金) 23:12:23.74ID:4PRqU6lZ
>>870
自動変数だと不定ではなかったっけか。
環境によってはデバッグモードかどうかで自動変数もゼロ初期化するしないが変わったりとか。
0874774ワット発電中さん
垢版 |
2022/05/06(金) 23:27:33.49ID:4PRqU6lZ
そこは>>866-867に「ありがとうございました」って言ってるぐらいだから気づいているのでは。
0875774ワット発電中さん
垢版 |
2022/05/07(土) 00:48:00.68ID:TKkW1bJk
>>869
>最後にelseが無くてリターン値が不定になるケースがあるが、warningは出なかった?
すみません、投稿内容のソースは、適当に書いた物で、
breakの位置を示したかったのです。なのでelseがありませんでしたね。

>>871
>昔読んだ本だったから詳細は覚えてないが、例えばreturnの綴りを間違えた時に
>関数呼び出しに見えて編なエラーが出るとかうんたん
なるほど、なるほど。確かにそうなりますね。
でも、()が無いと締まりがない文章に見えるので、いつも()を付けていました。
すると、if()の中にreturn書いて抜ける書き方をしないようにして、
必ず関数の最後に return () と書けば、少しは事故は減りそうですね。
ありがとうございます。勉強になりました。

>>873
>>861は条件が抜けてるのに本人は気付いてないのか?
}が抜けていますね。条件とは何でしょうか。
0876871
垢版 |
2022/05/07(土) 01:08:40.42ID:eblmpvmc
>>875
カッコは付いていても問題は無いが、文法的には無いのが標準なので余計な文字を打っていると言う事になる

あと、returnで関数値を返す時も()付けてるの?
return (hagehage());
0878774ワット発電中さん
垢版 |
2022/05/07(土) 02:43:26.77ID:TKkW1bJk
>>876
ありがとうございます。returnは、()なしが正しいのですか。
勉強になりました。
return (hagehage()); は、書いたことがありません。
戻り値が関数って、考えもしませんでした。常に数値のみです。
戻り値を 複数持って帰れると便利なのに、と思うことはあります。
0879774ワット発電中さん
垢版 |
2022/05/07(土) 02:44:14.62ID:eblmpvmc
>>877
xcの場合はどうなるか知りませんが、ローカル変数を割り当てて無いと内部的に関数の返り値がレジスタに入ったままreturnされる事で高速化を期待ですね
0881774ワット発電中さん
垢版 |
2022/05/07(土) 02:47:58.91ID:TKkW1bJk
全然関係のない話ですが、PIC18F25K80とかだと、
UART通信の信号の反転が出来るんですね。
通常は、TXD/RXDピンの非通信時はHレベルですが、
反転設定すると、非通信時はLレベルになるというものです。
でもよーく見たら、TXDだけでRXDは反転できないでした。
あやうくハマるところでした。
0885774ワット発電中さん
垢版 |
2022/05/07(土) 02:57:13.57ID:eblmpvmc
>>883
ああ、そう言う意味ですか
関数内で条件によってreturn呼ぶ関数が違う場合がありますよね
  if(...){
    return hogehoge();
  else if(...){
    return hagehage();
  }else{
    return honehone();
  }
0886774ワット発電中さん
垢版 |
2022/05/07(土) 03:53:23.99ID:5E5f3BQ/
>>878
括弧は不要ってだけで、付けてはいけないって事は無い。
return は関数じゃなくて、後ろの式を評価して結果を返す。
0887774ワット発電中さん
垢版 |
2022/05/07(土) 04:02:17.48ID:RxYgoapQ
>>885
これって、どう言う動きをするんですか?
リターンして、すぐさまその関数を実行しに行くんでしょうか?
0890774ワット発電中さん
垢版 |
2022/05/07(土) 09:54:33.77ID:etFIa4Np
>>875
> >>861は条件が抜けてるのに本人は気付いてないのか?
> }が抜けていますね。条件とは何でしょうか。

>861に書かれた関数において、ふたつのif()の条件にひっかからない条件で
return がないことには気づいてるよね? >>866が指摘している通りだけど。
0892774ワット発電中さん
垢版 |
2022/05/07(土) 15:17:26.88ID:zB3yckCy
PICやAVRのプログラミングで
いっそCなんか辞めたらスッキリと楽になれるのに。。。
文法から離れてCPUだけに注力できるのに。。。
しょせん3流プログラマには無理な話か。。。
なんて思ってしまいましたw
0893774ワット発電中さん
垢版 |
2022/05/07(土) 15:42:25.16ID:dhgXtKZ/
>>892
>いっそCなんか辞め
時代はC++やMicroPythonだとおっしゃるのですね
さすがです\(^o^)/
0894774ワット発電中さん
垢版 |
2022/05/07(土) 16:06:06.86ID:etFIa4Np
初めてのスレで他人を「3流」呼ばわりする人ってアレだよな。
0895774ワット発電中さん
垢版 |
2022/05/07(土) 16:21:00.12ID:SVIBFZBD
CPUだけで組み込みのプログラミングが出来るとか一流違うな
0898774ワット発電中さん
垢版 |
2022/05/07(土) 16:39:05.67ID:etFIa4Np
ネット(とりわけ匿名)なら弁慶になれる人って自己評価はどうなんだろう。自分の腐った体臭で苦しまないものなんかな?
0899774ワット発電中さん
垢版 |
2022/05/07(土) 17:26:13.28ID:TKkW1bJk
>>891
なるほど、わかりました。難しく考えすぎていました。
便利な使い方ですね。
ありがとうございます。
0903774ワット発電中さん
垢版 |
2022/05/07(土) 21:38:04.86ID:etFIa4Np
>>901
「狭き門より入りなさい。滅びに至る道は広くこれを選ぶ者は多いけれど」
おれはキリシタンか。

なんだかんだといいながら、小規模マイコンにおいて、学習コスト、得られるメリットのバランスが優れているのがC言語なんだと思う。
初心者はちょっとぐらいは苦労すればいいと思うんだ。といってもC99に対応した「プログラミング言語C」って出てないんだよな。
もっとリッチなマイコンだったらPythonで良いのかもしれないけれど、8ビットPICではしんどいと思う。
0904774ワット発電中さん
垢版 |
2022/05/08(日) 08:12:27.79ID:5zhE/WLH
PICやAVRのような8ビットのメモリ容量の小さなCPUで、
数KB、せいぜい数10KBの制御用プログラムを書くなら、
そりゃCPUが持つ能力を100%発揮できるアセンブラでしょ。
0905774ワット発電中さん
垢版 |
2022/05/08(日) 08:19:06.17ID:5zhE/WLH
あとマルチタスクは必須だな。
周辺入出力機器の簡単な制御プログラムしか書かないなら話は別だけど。
0907774ワット発電中さん
垢版 |
2022/05/08(日) 11:51:11.05ID:994x8/gS
PIC初心者です。
すみませんが教えていただけないでしょうか。

1. MPLABのBuildのボタンには「トンカチ単独」「トンカチ+刷毛」の2種類がありますが、
  どのように使い分けるべきでしょうか。
  いつも +刷毛 で行っていて 単独 は使ったことがありません。
  トンカチ単独を使うのはどのようなときなのでしょうか?

2.「↓」のボタンを単独で使うのは、どんな場合でしょうか?
  Buildせずに書き込むことは無いと思うので、常に△ボタンで良いと思うのです。
  もしBuildでエラーが出たらそこで止まって書込には進みませんし。

3. すでに書込済みのPICの中身とMPLABのBuild結果と比較したいときは、どのようにすれば良いでしょうか。
  書き込んだ後で「あれ?書いたっけ?」と思うときや、
  コメントなど影響のない修正をしたときに、念のため確認したいことがあるのです。

4. これは参考までにお聞きしたいのですが、
  時間の長いBuildでは、例えば何秒くらいかかることがあるのでしょうか?
  今自分がやっているのは、だいたい10秒くらいで終わります。
  「そんなの甘いよ、3分とか平気でかかるよ」みたいなことがお伺いしたいのです。

宜しくお願いします。
0908774ワット発電中さん
垢版 |
2022/05/08(日) 12:38:11.87ID:X5c43LwB
なんか演技臭
0909774ワット発電中さん
垢版 |
2022/05/08(日) 13:13:03.05ID:FzOsiM5E
>>906
芸は身をプロセス(^p^)
0910774ワット発電中さん
垢版 |
2022/05/08(日) 17:28:13.99ID:sA0Qqv2C
>>900,902
  Λ_Λ  \\
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >_Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /
0911774ワット発電中さん
垢版 |
2022/05/08(日) 22:14:31.70ID:Oxn8ioIf
>>902
はポインタを作ってるだけなのでガッはされないと思う。

char * pChar = 0x00;
*pChar = 0;

でようやっと例外が発生するわけだが、PICでは例外は生成されず
0番のレジスタにアクセスして終わるので、やはりガッされないと思う。
0912774ワット発電中さん
垢版 |
2022/05/09(月) 14:22:51.59ID:W3uaqjEf
PICのUARTのレジスタの中の CREN という設定に出てくる「連続受信」とは、
どういう時のことを指すのでしょうか?
連続とそうではないとき、例えばどんな時なのでしょうか?
0913774ワット発電中さん
垢版 |
2022/05/09(月) 14:29:47.45ID:W3uaqjEf
>>907

>1. どのように使い分けるべきでしょうか。
コメントがつかないので、誰も使い分けをしていないと思う。
なぜ分かれているのか知っている人は、いないと思われます。
だから ほとんどの人は、常に▽ボタンではないでしょうか。

>3. すでに書込済みのPICの中身と
Verifyのことですね。俺も知りたい。

>4. 時間の長いBuild
FPGAに比べたら、コンパイル時間はアッという間ですね。
それよりMPLABの起動時間をもっと早くして欲しいわ。
0914774ワット発電中さん
垢版 |
2022/05/09(月) 15:15:26.60ID:prxb/Y7s
>>912
>CREN: Continuous Receive Enable bit
>Asynchronous mode:
>1 = Enables receiver
>0 = Disables receiver
>Synchronous mode:
>1 = Enables continuous receive until enable bit CREN is cleared (CREN overrides SREN)
>0 = Disables continuous receive

非同期モードでは関係ないんじゃないの?
0915774ワット発電中さん
垢版 |
2022/05/09(月) 15:18:05.20ID:rnKOl4SR
>>903
 アセンブラの門は広いのか?
ま、確かにアセンブラは習得が簡単で、初心者向きだと思う。
ORGやDEFBなどのアセンブリ制御命令をいくつか覚えて、
(最初はifやmacroは要らない)
あとは実行命令のld、st、call、jumpなどをその都度覚えていけばいい。
で、一番最初に人が作ったLチカを入力して動かしてみるとか。
 アセンブラはCPUに密着しているので、CPUに対する理解度を深めると思うし、
アセンブラを習得してからCを始めれば、両者の良いとこどりが可能になる。
0916774ワット発電中さん
垢版 |
2022/05/09(月) 17:22:03.20ID:BVsxNWeo
一番メンドクサイのってSFRの働きと周辺モジュールの機能覚えることだよね
0917774ワット発電中さん
垢版 |
2022/05/09(月) 18:09:00.85ID:sCJpXI2q
>>586

PIC18F27Q43のデータです。
ADChは測定中変更していません。
電源電圧は3.3Vです。64MHzで動かしています。
設定はMCCのほぼデフォルト値です。
他の作業をさせるプログラムを改変したので、別に
液晶表示、I2C温度計、PWM、UARTなどが裏で動いています。

以下はFVR2.048Vでの測定値です。
リファレンスは申し訳ないですが、サンワのCD5000のテスタの値です。
電圧の高いところでわずかに(4~5程度?)値が振れます。
FVRが振れているのか、電源電圧が振れているのかはわかりませんが、
まあ電源が振れているんでしょう。
誤差は電圧が高くなると大きくなり、MAXで1%ずれます。
FVRの電圧の誤差と思われます。

min max (min+max)/2(Volt) CD5000(Volt) 誤差%

4062 4066 2.032 2.053 1.02
3978 3980 1.9895 2.01 1.00
3342 3346 1.672 1.69 0.87
2448 2448 1.224 1.2378 0.67
1139 1142 0.57025 0.5787 0.41
936 938 0.4685 0.4744 0.28
724 724 0.362 0.3674 0.26
513 514 0.25675 0.2612 0.21
246 246 0.123 0.1258 0.13
107 107 0.0535 0.0557 0.10
8 8 0.004 0.0057 0.08
0 0 0 0.0001 0.00
0918774ワット発電中さん
垢版 |
2022/05/09(月) 18:10:03.66ID:sCJpXI2q
うお、見づらい。3.3Vの電源をVrefにしたものは画像にします。
0919774ワット発電中さん
垢版 |
2022/05/09(月) 18:21:37.67ID:sCJpXI2q
https://i.imgur.com/t6PtHmg.png

Vrefを3.3Vにしたときの測定です。
書いていませんでしたが、10kΩのアルプスの可変抵抗を使用しています。
コンデンサ1uFを抱かせています。

測定値はAD変換の生値がぶれるときでも1しかぶれなかったので、1個だけしか表示していません。
PICユーザーとしてはぜひともSAMDと比較していただきたいものですが
どの値もずれて4mVです。

SAMDのVccでの測定と比べて精度がどちらが高いかはおわかりになると思います。
さらに、向こうの精度の良いのは1Vのときですが、抵抗で分圧したり、電圧を下げたりと
もとの電圧に換算すると誤差が増える方向にしか向かいません。
0920774ワット発電中さん
垢版 |
2022/05/10(火) 06:55:24.27ID:Hk2vH8AL
>>915
アセンブラだと命令数は少ないから覚えやすいけど命令が単純でレジスタが1個しかない分
プログラムの構造を考えなければならずパズル要素が強すぎるんだよねぇ

それを乗り越えられれば直接ハードを弄る事が出来るから
その命令がどんな事をしてるのか悩む事は減るだろうな
0921774ワット発電中さん
垢版 |
2022/05/10(火) 06:59:42.80ID:VUkz2NbY
なんかさ、ここってPIC32の話殆どでないね
誰もやらんからかな?
0922774ワット発電中さん
垢版 |
2022/05/10(火) 07:51:15.37ID:EZaqS8jh
>>921
誰もやってないって事はないと思う。
俺もPIC32の趣味プロジェクトあったし。
熟達した人だけが選んでるから、
ここに書く様な困った事もないのでは。
Harmony もかなり助けてくれるし。
0923774ワット発電中さん
垢版 |
2022/05/10(火) 08:03:50.48ID:x01FF0xQ
いずれにせよPICやAVRのプログラミングで「Cしかできません」はチョットまずいと思うなぁ
しかもCではあるアプリ分野が書けないのに
それをマズイと思っていないプログラマがいるのが大いにマズイw
0924774ワット発電中さん
垢版 |
2022/05/10(火) 08:10:31.83ID:onfk4Fvc
>>922
なるほどねえ。何かと8ビットの話題しか出ないから誰も使ってないのかと思った
ブログとかは見るんですけどねえ
0925774ワット発電中さん
垢版 |
2022/05/10(火) 08:32:09.66ID:SsIv+KN5
>>912
メモリー保護とか仮想記憶付いてる奴は、
前半は多くの場合、ユーザプログラムからはアクセス禁止になってるから、例外が発生する。
0926774ワット発電中さん
垢版 |
2022/05/10(火) 08:41:07.47ID:SsIv+KN5
>>923
あと、PIC24とかは、初期化してないレジスタを使って間接アドレス指定して、メモリアクセスするとトラップ発生する。
0x0000であっても初期化すればトラップ発生しないが。
0931774ワット発電中さん
垢版 |
2022/05/10(火) 18:05:46.12ID:/X+b1zPe
アセ爺とマルチタスク君が登場するイヤな予感がしてならない
0933774ワット発電中さん
垢版 |
2022/05/10(火) 19:11:20.29ID:qqLjqF6C
アセンブラって互換性あるの?移植できるの?PIC12 〉PIC32 とか
0934774ワット発電中さん
垢版 |
2022/05/10(火) 21:07:00.99ID:pSwSDFDp
Cだとある程度直せば使えるよね
PIC8からMIPSなりARM(だっけ?)だから偉い騒ぎだよ。しかもバスクロックとかキャッシュとか有るから直すというより1から作り直す感だなあ
ムネアツ
0935774ワット発電中さん
垢版 |
2022/05/10(火) 22:00:24.59ID:fRNiouMA
>>923
たしかにCだけはまずいかもな
C++でオブジェクト指向を取り入れて大規模な(ry
0936774ワット発電中さん
垢版 |
2022/05/11(水) 01:21:49.91ID:XnlRKkNB
そんな詰める必要ない所に時間かけられるのも趣味のいいところだよな
俺は無駄にこだわるからお前らよりすごいとかいう奴はアホだけど
0938774ワット発電中さん
垢版 |
2022/05/11(水) 07:22:19.43ID:ii3kcv7L
>>933
MIPSとかはコンパイラ使うのが前提な筈。
パイプライン乱さない様に、順番入れ替えたりが必要だから。
0939774ワット発電中さん
垢版 |
2022/05/11(水) 07:36:41.42ID:wqLebhJ/
世の中の技術の範囲はとても広いけれど、個人が獲得できる技術の範囲は有限で選択が必要。選択は個人がしなくちゃいけない。
PICのアセンブリ言語を探求する人いていいし、マイコンの応用に深い関心を持つ人いていい。全部を万遍なくできる人は稀。
自分ができていることを他人もできるべきだと考えるよりは、自分がしていないことを他人がしていることを喜べば。
お互いが補完しあえる方が、自分ができないときに、自分の代わりにその道に詳しい人に頼れるよね。そのための掲示板。
0940774ワット発電中さん
垢版 |
2022/05/11(水) 11:12:48.76ID:+tdw8175
エラッタでハマった人いますか?
0941774ワット発電中さん
垢版 |
2022/05/11(水) 12:19:28.69ID:PtaJ3FGk
それ、初めてスレでする話しなんでしょうか?
0946774ワット発電中さん
垢版 |
2022/05/11(水) 16:00:07.54ID:+tdw8175
>>945
爺さん、顔文字止めよ。
0950774ワット発電中さん
垢版 |
2022/05/11(水) 20:17:21.13ID:W6OeXbo7
mplabx5.50とxc8 2.32でC言語にて
uint8_t x;
(中略)
if(a) x=2;
な感じのコードを書いたら、最適化レベル2でコンパイラーで出来たコードが

MOVLW 2
MOVWF 0x79
MOVF 0x79, W
MOVWF 0x7C //0x7CはC言語変数xのレジストリー

って4命令になりました。

MOVLW 2
MOVWF 0x7C
と2命令でないのは何故でしょうか?
0952774ワット発電中さん
垢版 |
2022/05/11(水) 20:30:31.42ID:nqxtonqQ
俺だって事情というのが色々あるんだよ。
誰かさんみたいにノーテンキに朝から晩までレスしてられないんだよw
(著者注:これは最上位ビットを反転した誉め言葉です)
0956774ワット発電中さん
垢版 |
2022/05/12(木) 01:25:58.60ID:kv8FEkKe
>>955
自分でxc入れてまで試す気は起こらないな

カッコ付けたらどうなるかな?
if(a){x=2;}
0958774ワット発電中さん
垢版 |
2022/05/12(木) 03:44:42.21ID:TSjkLLZL
>>950
正直XC8Compilerが残念なんだと思う
有料の最適化を使えば改善されるかも?
uint8_t a,b,c;
a = b = c = 2;
↑のアセンブラ見たら納得いかないコードが出るよ\(^o^)/
あと変数をアドレスをGPRではなくSFRに割り当てると無駄な処理が消える

もうね、わざとやってるレベルなんじゃないかと(;´・ω・)
あとDECFSZ,INCFSZはまず使われない(これも有料版だとどうなんだろう・・・)
0959950
垢版 |
2022/05/12(木) 09:46:44.35ID:nuI1Jtai
950 です。追加情報。

if(a)x++;
としたら、x++の部分は

MOVLW 1
MOVWF 0x79
MOVF 0x79, W
ADDWF 0x7C, F

と4命令になりました。

INCF 0x7C, F

の1命令かと思ってましたよ。
アセ爺の主張を理解しかけましたw

あと、レジストリーでなくレジスターでしたね。訂正します。
0962774ワット発電中さん
垢版 |
2022/05/12(木) 11:01:11.63ID:aZnrwRpp
>>960
顔文字やめろ
0963774ワット発電中さん
垢版 |
2022/05/12(木) 11:43:49.63ID:awDQ+vtt
>>960
           ,..-─‐-..、
            /.: : : : : : : .ヽ
          R: : : :. : pq: :i}
           |:.i} : : : :_{: :.レ′  顔文字やめろ
          ノr┴-<」: :j|
        /:r仁ニ= ノ:.ノ|!           _
          /:/ = /: :/ }!        |〕)  コツン
       {;ハ__,イ: :f  |       /´
       /     }rヘ ├--r─y/
     /     r'‐-| ├-┴〆    _, 、_  '⌒ ☆
      仁二ニ_‐-イ  | |      ∩ ^p^)
      | l i  厂  ̄ニニ¬      ノ  ⊂ノ    < ヤダヤダー!!
     ,ゝ、 \ \   __厂`ヽ    (__ ̄) )
     / /\_i⌒ト、_   ノrr- }     し'し′
   └-' ̄. |  |_二二._」」__ノ
0964774ワット発電中さん
垢版 |
2022/05/12(木) 12:13:03.81ID:cHvvI6kE
アセンブラ爺が井の中の蛙でいる間に世の中C言語すら置いていこうとしているw
0965774ワット発電中さん
垢版 |
2022/05/12(木) 16:00:55.47ID:GU2A7Spu
PIC で C++ 使ったらスタックオーバーフローしますか?
0968774ワット発電中さん
垢版 |
2022/05/13(金) 02:42:35.71ID:Rvuootuh
>>966
アセンブラが神なら
アセンブリ言語を作り出した人間は神を超えたね\(^o^)/
0969774ワット発電中さん
垢版 |
2022/05/13(金) 03:23:45.79ID:TECcnzLG
>>968
顔文字、うるさい
0970774ワット発電中さん
垢版 |
2022/05/13(金) 07:59:21.02ID:7bC3WalC
>>686
どうでも良い事に時間をかける方が無駄。
まあ、BaselineまでのPICなら、アセンブラの方が良いと思うが。
0971774ワット発電中さん
垢版 |
2022/05/13(金) 21:10:43.77ID:0i0zn6jA
  彡⌒ ミ
⊂(´・ω・`)  こまけぇこたぁいいんだよ!!
 /    ,9m
 し―-J
0972774ワット発電中さん
垢版 |
2022/05/14(土) 00:52:26.71ID:yj5NYZd8
正直なところMicrochip社は私の様な貧乏人のために有償コンパイラの機能を開放してほしい
営利目的で使う人のみライセンス料を徴収するシステムになれば良いのに
趣味目的だと有償コンパイラ使う位ならPIC24やSTM32使った方が安いね\(^o^)/
(でもPIC16,18Fの周辺モジュールの使い勝手が良いのでPIC16,18止められない) (;^ω^) 
0974774ワット発電中さん
垢版 |
2022/05/14(土) 01:09:11.87ID:yj5NYZd8
>>917
586です
計測お疲れ様です
シンプルな計測でもそれなりに手間は掛かるのでで少し感激です( ;∀;)
>FVRが振れ
これに関しては電源電圧で間違いないと思います
最大1%のずれですが
SANWAも大きなズレが有るとは思えないのでPICのFVRのずれなんでしょうか?
(データシート的には問題ない範囲ですが)
今まで手持ちのPICでの経験だと(数は少ないですが)1%近くのズレは経験した事がないです
(ただゲインアンプを使わない1.024Vでの測定が主ですが)

>>919
逐次角型ADCと思うとオーバースペック気味にも思えます
VRefを外部入力で使うなら個体差を気にしないで設計出来て楽できますね
10mV(低い電圧が)リニアなのも使い勝手が良いでよねMCUによってはこのあたりの特性が微妙なのも多いですし
8BitのPICに関してはアナログ周辺モジュールを中心にもっと評価されてほしいと思ってます
0976774ワット発電中さん
垢版 |
2022/05/14(土) 01:14:12.58ID:yj5NYZd8
>>973
O2までで特に困った事は・・・・
有ったけど気にしてない\(^o^)/
縛りで8pin 2kwのPICで物作った時に少し辛かった( ;∀;)
Program Used 2046(0x7FE) Free 2 (0x2) ← ギリギリじゃん
(ここでアセンブラ使ったら宗教的に負けだと思った)
0977774ワット発電中さん
垢版 |
2022/05/14(土) 01:16:46.61ID:yj5NYZd8
>>975
ココだけの話だけど趣味利用なら
Vmware使って仮想PC環境で60日のフリートライアルを捨てアドつかって登録すれば良いと思ってる
(思ってるだけでやったことは無い)
0978774ワット発電中さん
垢版 |
2022/05/14(土) 01:19:13.77ID:OrQAaahM
>>976

すげぇ、ぎりぎりでしたね

そういえば、変数をvolatile宣言すると何故か縮む事がある不思議
膨らむ事もあるので法則が分からない
0979774ワット発電中さん
垢版 |
2022/05/14(土) 01:37:30.52ID:yj5NYZd8
>>978
>変数をvolatile宣言すると
この辺がコンパイラが酷い所だと思ってる
特殊機能レジスタに定数(変数)入れる時と汎用RAMに定数(変数)入れる時で処理が違ってたりするの見たらさすがに無償版でも改善してほしいと思う

>すげぇ、ぎりぎりでしたね
実の所は少しオーバーしてたけどUARTで出力するメッセージを短く(削る)事でごまかした・・・
あと色々と工夫して(C使ってるのに常にコンパイラが出力するアセンブラを意識して)作ってました
解読性的にswitch使う所がifだったりと・・・悲しい事に( ;∀;)

まあ、それで作ったのは皆大好き!あのお方の>>545の自動車模擬ライト
これを8pin(2kw)のPICで作ったんだけど(/ω\)
縛りがあると気持ちいいよね\(^o^)/
0980774ワット発電中さん
垢版 |
2022/05/14(土) 09:49:02.80ID:aVzDFRY/
>>976
それ困ってないやん
0982774ワット発電中さん
垢版 |
2022/05/14(土) 11:09:32.19ID:QIUcvBRr
>>979
顔文字、やめよ
0985774ワット発電中さん
垢版 |
2022/05/15(日) 12:41:24.75ID:ryxibGZA
>>983
あなたの言う通り、いいエンジニア、に限らず文系でも理系でもいい探求者は、山ほどの気になることを抱えていてパラレルに追及している。
でも、時間も脳内の思考リソースも無限じゃないので、優先度の高いテーマに高いプライオリティを置いている。
>967から見れば優先度が低そうなテーマに見えたんだろう。でも将来のコンパイラの研究者かもしれない人にとっては優先度が高いことかもね。
0992774ワット発電中さん
垢版 |
2022/05/16(月) 13:24:47.65ID:9PaGWRR3
Peripheral Interface Controller
に対して
Società Generale Semiconduttori Thomson Semiconducteurs Microelectronics 32
長過ぎやろ
0993774ワット発電中さん
垢版 |
2022/05/16(月) 15:01:48.04ID:uS97mLTL
そんなの気にすんの世界で君だけ。
0994774ワット発電中さん
垢版 |
2022/05/16(月) 19:50:55.54ID:VUpP8JOm
>>984
8bit CPUのアセンブラは逆に複雑かもね
32bitCPUのアセンブラならもっと簡単にできるよ
XC8が吐き出すアセンブラコードも複雑すぎるかも
AVR-gccが吐き出すアセンブラコードの方がわかりやすいね
今はアセンブラの入門書は少ないのでコンパイラが吐き出すコードはいろいろ参考になるかもね
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 185日 12時間 25分 24秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

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

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