PIC専用のスレ Part 59 エラッタの話題も歓迎
______
/Microchip ./|
/ ( ゚∀゚) / | アセンブラのアの字もわからない
|~ ̄ ̄ ̄ ̄ ̄| /. 超初心者からHEXが読めてしまう
|/Z./Z./Z./Z_|/ || 鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
||. ||. ||. ||
.
大人気のPICマイコンのスレ
なんといっても情報が豊富だし、開発環境も多いし、パッケージも豊富
使いやすくて、しかも安い。やっぱりPICだよね
例の如く基本リンクね
http://www.microchip.com/ マイクロチップ本社(Microchip Technology Inc. )
http://www.microchip.co.jp/ マイクロチップ テクノロジー ジャパン 株式会社
http://www.microchip.com/maps/microcontroller.aspx Microchip Advanced Part Selector (Maps)
またーりやっておくんなまし
種類が多くてワカランって人は上記パーツセレクタで、機能から最適製品を絞り込もう!
教えて君はとりあえずGoogle( (p)http://www.google.co.jp/ ) くらい使おう
テンプレ内の秋月小売価格も在庫が捌ければ、次の仕入れからは昨今の為替相場変動にならって
適宜価格改定されてます。ここの表記価格とは違うかもしれないのでそのつもりで
回答者する人の注意
. 最初に回答したい気持ちは分かるけど、質問者の内容を、落ち着いてよく読もう。
質問者する人の注意
. あなたの周囲しか通じない変な省略語は使わずに、なるべく詳しく説明してね
前スレ:
Part 58 https://rio2016.5ch.net/test/read.cgi/denki/1526808360/
Part 57 http://rio2016.5ch.net/test/read.cgi/denki/1517669525/ _---__-___-__-----_----__-___----_-_____----_--_____-_----___-___-_-_---_-__
_---_-----__-____-_-__-__-_---------__-_--____-_---_____-___-__--__-_--_--__
--_-_---__-_____---_----__--_-___-_-_-_--_-___---_-____-_--__----_-_-_-__-__
-____-___---____--__-_-___----___-_---___-_-----_-_---_-_-_-_-_--_--___--__-
---___----_--_--_-____--_--_-_-__---____-__-____-_____-_---__-_---_--__-_---
____---__---_-_--___-_-_---____-_-----__________--_-_-----_--_--_--__-_--__-
--_---__----__-___---------___-______--__--_--____--_-_----_____---_-_-_____
----_--_-----___--_-__-___-_---_-____-_-___--_--_---_-__-___--_----____-____
-_----____-_-__---___-_------_-_--_-____---___---_-___--__--_-______----_-__
--__-___--_-_---_-__-__--_-_-___---_-__----_---_-_--___-__--_-____-__----___
_-_--__-_-_-__---_-__-_-__--_____---__-_---_----____-__-__-_--_---___---_--_
--__-_--_---__--_-_-_---___--__-__-_--_-__--___--_-----_______-___---__-_--_
-__-___--_-_---_-_--_-_-_-_-__---_-__-_____----_--___-__--_-----_-_--____-__
--_--_-__-----_--____--_----___--_---_-___-___-__--__-_-_-___---____-__--_-_
_____---_-_-__--_------_-__-_--_-__-__-__-_----_____------____--__-_--___-_-
_--__--__-_-------_---_--_---____-____---__----_----___-______-_-__--____-__
_--_--__-_-_______--__----_____-_-_-___-_-----_-_------__--_-__--___---_-__-
___--_--__--_-_----__--_--__--_---__---_-__-___-__-___-_--___-_-_--__----___
___-__--_-____----_--__--___---___---___----__---_-__-_-__-_------__--_-____
--_----_--__---_____-___--___--_-__--_------__--_-_--__-_---_--___-____-____
__--_--_-__-__-___--___-_-_-_--__-__-_-_-__-_--_-_--_-_---__--__-_---_-_--_-
--__-____-_---_--__-___--___--____----_-_-_---_--_-_-______-----___-___-----
-_--___---___--_--_----_--__-__--__-----__-___-_--_--_-_-___--__--___-_-____
-----_--___--__-_-____-_____--_-_--_----___-__--__-___-_--_-_-__---_-__---_-
-_-_--_-_----___-_---_-___-_--_____--__--_--__---___--_---_-_____----_-_-___
____-__-----_-__---_-_-__-______-___--__---_--_--_-_-_--__--_-----_---_-____
-__-__--_---__--_-_----_----___-_----_-_---_--____-__-_--______-_-__-_--____
_--_-_--___-_-_-___-_-_____-_______------_----_-_____---_-_------__-_-_--_--
_-_-_____----_-_-_-----___---_--______-_-___--_--_-_--__--______-_-_---_----
-_---_---__--__-__--_----_-----__---_----____--____--______-__-___--___-_-__
-----____-__-_-_--____-___-_--__-____--___----_-__--_-__---__---__--__--_---
-_---___-_-_-__---_-_-_____-_-_----__-___---_____-__-_---_-__----__-__-_----
-----_-_--_----__-_--__-----______-__-__-_______-__-----_-___--__-__--__-_--
-_____-_------_____-____-_-___-----____-__-__----___--_--__--__---_--__-----
-_--_-_-_____---__--_-_-_-_-_____-__--_----_-_--___--__-____-----__-_-_---_-
-_-__----___--__--_-_---___-__--_-_--__---__---__-_----_-__-_-_-_--____-____
-__--___--___-__-----_----_-__-_---_-_-__--__-__-_--____---____-_---_-_-__-_
--___----____-_----__-_--_---__--_---__--_--_-_--_---____--___-_____-___--__
-__-_-__------__-_-----_____--___---__-__-_---_--__-__-_-__-_--____---__-_-_
____---___----____--_-___----___--__---_--_-_-__-_---__-_____--_-_--_-----__
-_--__--__-_____-__-___-_-_----___--___-__--_--___-_---_-__-_---_------__-_-
-_----__-__--__--_--_--_-____-_---------___----_-_____--___________-----__-_
_-__-___-_-___-_-___--__--_----_----_----__-_--_--____-_-_-_--__-_--_-_-_-__
_-_-__-__-______--_-_-____--___--_--__---___-_-__-_--_-___-_------_-----_---
_---------_-_-__---_--_---__--__-___--___---______-__-_-_-__-_-_-___--_--___
_---___-___-__---_--_-----______------_-_---____-___-__-_--__-_---___-__-_--
_-_---___-_-_--_-----__--____-_--_--_______--_--_-____--_____----__-----__--
_--___-__-_-____--_-__-__--____----_-_-__--__---____------__-_----_---__-_-_
-_---_---_-----___-----__-----____--____-__-___----___---_-___-__-_-____-___
--_-_-__-----_---_-_-_-__-___-_-_-_-__-___----___--_--___-_-_---__-__-_-_-__ PICやAVR等の小さなCPUを電子工作プログラミングするならフルアセンブラの方が楽しいぞ。
実行速度やプログラムサイズを追及できるし、CPUの持つ能力を余すところ無く発揮する事もできる。
楽しさを求めないプロなら話しは変わるが。 そう言えば、私が生まれて初めて作ったアセンブラはアブソリュートでmacroもifも無かったな。
アセンブリ制御命令はORGとEQUとDBと$(実行アドレス)と後は何だったろ?
でもちゃんとニーモニックをアセンブルできたのでメッチャ役に立った。 必要とする機能が得られれば良い。
そのための最も汎用性の高い方法を選択すればよい。
プロかアマかは無関係。
その帰結としてのC、そしてMCCであり、アセンブラはそこに無い。 >>8
自分で
アセンブラを作ったのですか?
それとも、
アセンブラを使ってプログラムを作ったのですか? アセンブラを自分で開発したと解釈したよ。
タイニィだろうけど。 俺も2パスアセンブラは作ったよ
マクロ機能までは載せなかった ↑
改行ミスった
恐らくプロテクトのかかってない
PIC16C711-04 のコードを ↑癖で開業時にシフト押してまう。
つづき
K150のプログラマで吸い出して、
コピーしたのに書き込んでも動作しない。
試しにコピー側を吸い出してみたらやっぱり書き込み成功してる。 >>17
吸い出したHEXファイル、0で埋まってないかい? 「うちの親戚のおばさんがうちの親戚のおばさんのマイナンバーを会社共有のパスワードにする嫌がらせを上司から受けています
なんで気付いたかというと上司から仄めかし発言をされたのですぐに気付いたそうです
うちの親戚のおばさんのマイナンバーは
「マイナンバーを経理の人が持ってきてって。俺から経理に渡すから持ってきて」と上司から提出するように言われてうちの親戚のおばさんが上司に提出した事があります
その上司は前も親戚のおばさんの住所などの個人情報が載ってる提出書類をみんなが見える所に作業場に表を上にして無造作に置いて放置してたそうです
マイナンバーは危険なので他の従業員や知り合いにも相談ができないそうです
親戚のおばさんはこの件が原因でアル中が再発しまして飲み屋で愚痴って金の無駄遣いをしてます
近々、その会社で働いてみようと面白がってる友達がいますがいかがなものか
ちなみに友達はニートでうちの親戚のおばさんからたまにお金を借りたりうちの親戚のおばさんにたまにお世話になってるうちの親戚のおばさんの飲み友達でもあります」 なんだこれ…
関係ないし読みにくいしクソどうでも良いし… XC16の中で、インラインアセンブラを使うと、その部分だけMPASMが起動するの? でも、女の話ってこんな感じじゃないか?
訓練だと思って読んでみれば? 聞き流すだけなら良いが
エンジンが掛からないんだけど。。。は御免だな 久々にいじった
16F84a死んでたorz
pickit4ってなんだよ進化しすぎてんじゃね? ちょっとまて、もしかしてpickit4って
16F84Aサポートしてない? 新しい=前に出来た事が全てできるって訳ではないのね
Pickit3はまだ持っておいた方が良さそうだ 10年?ぶりに
帰ってきたぞーってソ口モンかここは?
16F18326なるものを久しくこうにう
最後が16F648AだしIDEが全然違うしコンパイラってLなんたらじゃなかったっけ?
浦島太郎が激しすぎてNCOとかCWGとかなにこれ?
PICってまだ進化してるのかー、と生存確認 高性能高機能を求めるなら
PICを捨ててさっさと他に移った方がいい 10F322でROMを限界にまで使おうとするのはマゾなんだろうか 出来るだけ多くの機能を盛り込もうとするならマゾ
無駄遣いが目的ならマゾじゃない まあでもPICを選ぶ時点でマゾだな
8pin ARMが秋月で120円で買えるんだし 12F1822でちょろっと作れば済むようなもの以外はもう全部Arduinoだわ。
なんせWifIついた8266がAliでまとめ買いすれば100円以下
Nanoなんてカスみたいな値段。
手段と目的を取り違えてはいけないからな。
あえて苦労する道を選ぶ必要はない。 移動手段がいくら便利になっていても、歩くとこや自転車に乗ることは楽しいしね。
手段と目的を合理的にしか考えられない世の中って味気ない。
そもそも、趣味って合理性だけでやることじゃないしね。 昔のPICをアセンブリ言語で組むのはともかくとして、C言語で組むようにしていれば、
マイコンの雰囲気や概念の取りつきどころとしては悪くない。
それでもPICの変態仕様に凝り固まったら害でしかない、って言う人もいるけれど、
凝り固まる人はどんなマイコンにでも凝り固まるしね。
STM32でもLPCでも安価だといっても、複雑で、初心者の取りつきどころとしては、
横に良い先輩が付いているとか、いい解説書がたくさんあるとかでもなければ、
おすすめしにくい。
なんていっても、ほかのマイコンでPICの後閑さんに匹敵するような伝道師がいない
ことが大きいね。
ある程度使ったら、マイコン自体に面白さを感じるのもいいし、マイコンでできることに
関心を移していくのもいい。前者を手段と目的をはき違えているという人がいるけれど
それは間違い。単に視野が狭いだけ。 ARMマイコンはPICと違ってコード自動生成もしっかりしてる
ROM/RAMがあってCPUも速いので
PICで出来るような用途だと最適化も不要
伝道師を頼るような時代じゃない >>33
マゾ以前にドSの可能性もあり得る
こんなに小さい子(ROMが)にあれこれさせようだなんて・・・・
俺も2,3機能を追加しないといけないのにROMが足りない(涙)
https://i.imgur.com/bSJ9Drg.png
Free138Word・・・・(なんとかするけど) >>42
最適化してますよね?
\(^o^)/オワタって感じかな >>43
XC8の無償で出来る範囲で最適化は最高にしてある〜
最初からコードも短くなるように色々工夫しながら書いた
まだ工夫できる箇所が有るので細かく修正して縮めるよ!
↓これを〜(´・ω・`)
PWM1PRL = 0x50;
PWM2PRL = 0x50;
PWM3PRL = 0x50;
↓この様に書くと2Word縮むんだぜ!(`・ω・´)
PWM1PRL = PWM2PRL = PWM3PRL = 0x50; >>44
それは知らなかった。同じコードにしか思いつかない
やっぱり勉強が足りないな >>42
フリー版でも、最低限の最適化出来る。
デフォルトでは無効になってるから、確認してみると良い。 RAM256B, ROM2Kw
えらいリッチな環境だな 初心者スレが見えないので、こちらで質問させてください。
MPLAV X IDE V5.25、XC16 Ver1.70 で、プログラムを勉強しています。
そこで教えてください。
1. 変数を取るとき、
サンプルなどを見ると、uint16_t など、最後に _t を付けています。
単に uint16 でもちゃんと動きますので、_t は必須ではないと思います。
サンプルではなぜ _t を付けるのでしょうか?
また、 t は何の頭文字でしょうか?
2. ポートアクセス
RA0のピンに1を出したいとき、_LATA0 と書くようです。
RA0から読み込みたいときは、_RA0 と書くようです。
XC16のヘッダファイルに、確かに、_LATA0, _RA0 が定義してありました。
なぜ先頭に _ を付けるのでしょうか?
以前は、RA0 = 1; という書き方で良かったと記憶しているのですが。 >>49
uint16のことは知らなかったけれど、uint16_t はC99という規格で取り入れられたもので、
ほかのコンパイラでも使える(可能性が高い)標準的な書き方。
もともと uint16 が使えてきたとしても、標準に合わせるようになったのでは?
先頭に_を付けるのは、コンパイラが使う識別子。という命名規則ができたので、
レジスタ名みたいなのは、それに含めることにしたのでは?
その標準の命名規則ができたのはかなり古いはずだけど、いろいろなメーカーが出してる
コンパイラがそれに準拠するのはたいてい時間がかかるので。 >>50
ありがとうございます。
>uint16_t はC99という規格で取り入れられたもので、
>ほかのコンパイラでも使える(可能性が高い)標準的な書き方。
なるほど、規格から来ているのですね。それは気づきませんでした。
>先頭に_を付けるのは、コンパイラが使う識別子。という命名規則ができたので、
これも規則ですか。
移植性とか C90, C99 の規格などをたどって調べてみます。
どうもありがとうございました。
>>51
>tはtypedefの意味では?
ありがとうございます。まだtypedefは使ったことがないので、調べてみます。
ありがとうございました。 >>50
stdint.h インクルードすれば、どのバージョンでも使える。 >>42
オレは2007年頃にこんなことやってたな、デバイスはPIC12F509
https://i.imgur.com/Dmzt97R.png もう!
見るところはMemory used 1008、Memory free 16のところだっちゅーの
ぷんすか! retlw '\x00' を
あと16個
何故並べないんや・・・ 数年ぶりに過去のプロジェクトを最新18Fxxxx_DFPにしてからコンパイルしたら、CFGPROG属性はアンノーンとか悪い中間コードですとかいろいろエラーがでるねぇ。
DFPを1.3から1.0に戻すだけで事なきを得たがコンパチでないというのがなんともはや。
CでOOPライクカキコしているので、アドバンスト制限に引っかかるのかな? 質問です。
PICkit3でPICにプログラミングする際に電源をPICkit3から供給しています。実際はPICを5Vで使用しますが、PICkitの電源供給能力?の関係で5V出せないことが多く、4.5Vとかに設定してます。
ここで質問ですが、プログラミング時の電圧と実際に使用する電圧に乖離があっても問題ないのでしょうか。プログラミング時の電圧設定にどんな意味があるのかよく分かりません。極端な話プログラミング時は3V、実際の使用は5Vでも実動作に影響はないんでしょうか。 データシートのプログラミング時とバルクイレースの電源電圧範囲であれば問題ない
プログラミング時の電源電圧と使用時の電源電圧が異るのも問題ないです >>59
PICに限らずだけどソースコードに変更がなくても
1年に一度は最新ツールでコンパイル、動作確認しないと
そうなるね >>61
ありがとうございます。勉強になりました。 >>10
ハンドアセンブラでアセンブラを作ったんだろう あれ、未読ポインターおかしくて亀レスになっいまった、
janeどんどんだめになってくな うちのPickit3互換機は4.75Vまでしか出せない
そんなもんだと思ってる 回路図見なはれ
Vccのところにショットキーダイオードが入ってるけど互換機はおそらく安い普通のショットキーバリア
純正品はVfの極めて小さいスーパーバリアダイオードみたいなやつ使ってるんだろう
(確か秋月に売ってるから交換してみたら?)
MOSFETも入ってたかな,互換機はRds(ON)のたいして小さくないFET使ってるとか… 俺の取引先のoさんは調節出来る電源だと「ノイズ上有利」と言って
たとえば5VICの電圧許容範囲が±5%の場合は5.25Vかけていた UV-PROMのころは電圧依存あったけど
フラッシュでもあるのかな、詳しく知りたいな 【接種率】 モルモット国民80% > 厚労省職員10%
://kizuna.5ch.net/test/read.cgi/cafe50/1670117740/l50
>>73
ホンマかいな(^p^;とおもってググってみたら
厚労省もそういう統計を取っていないから
そういう事実は確認していない とか言いそうだが、否定派によると厚労省が
「事実ではないと公表している」らしいので どっちがフェイクニュースかわかったもんじゃないな;しらんけど(^p^; mainファイル巨大化してるけど、分けるの面倒
そもそも俺本職のソフト屋じゃないんだよ ソフトクリームを絞り続けて30年・・・
互換品買うならPICKit3.5と3ではどちらがいいですか? 3.5の情報があまり見つからない。ロジアナできないなら買わないし。 3.5は基本的には3と同じと思うけど確証ないからやめておこうかな。 >>83
Microchip curiousity board のことかな? Digikeyで在庫が減ったり増えたりしているので、買っている人はいそうだし、みんなが死蔵しているとは考えにくいので、使っている人はいそうですよ。 STM32だとAliでミニボードもデバッガも格安で買えるし
デバッガがなくてもUSBやUARTで書ける
純正のNUCLEOも安くて種類も豊富
そういう環境は圧倒的に負けてる
PICはソルダレス基板やユニバーサル基板で使うものだと思う
ST-LINK-V2 215円
STM32F103C6 159円
STM32F401CC 354円
安すぎる PICを好きで使っている人のスレで、STM32のファンが表面的な合理性で勝ち負けを語るのは愚かな行為。
自分の脳みそに閉じこもっていれば、分かることだけが受け入れられること、に慣れてしまう。
現実を見よう。PICは生産向けに売れている。STM32を選ばずにPICを選んで商売をしている人がいるということだ。
選んだ人には選択の理由があるといえる。その理由は分からない人には分かる必要はない。 マゾか、と何か理由がわかったような気持ちになりたいのだな。その必要もない。
好きで使っている、も一例にすぎない。選んでいる人には選んでいる理由がある。
特定のマイコンのスレで別のマイコンのアピールをするのは挑発行為。げすのやること。 ブス女と付き合ってる時に「こいつの良さは俺にしかわからない」と言う心理 ボロクソ書く人はボロクソ書くという当たり前のことじゃないかな。
学校のクラスの数十人の中でさえいろいろな性格の人いたでしょ。
たくさん人がいればいろいろな人はいるさ。
他人の感想を引用してここに貼り付ける人は、自分の意見に近いものを選んで
貼り付けることが多いわけだしね。(議論している中で、自分の見解を否定する
ようなことを書いているURLを貼り付けて「どうだ!こう言ってる人もいるだろ」
と書いてる人って滅多にいない) 消滅させたほうが世界のためになるは言い過ぎだろ
性能が必要なら他に行けとしか思わんし
アセンブリ言語でバグの温床とか言うのも言いがかりでしかない 他の8ビットの8倍のクロックにしないといけないから
ワッパが非常に悪い >>100
変なアーキのせいでまともにCに対応出来ないわけだけど >他の8ビットの8倍のクロックにしないといけないから
他は0.5クロックで動いとるのけ? ダメだダメだ書き込む暇があるんなら、良い物のスレを盛り上げてくれよ
変な顔文字ばかりで人がいない… >>99
私もそう思う。
色々なCPUを使った事があるならPICなんか選ばないだろ
いわば悪女に引っかかったチェリーボーイってとこか?w 惰性で使ってる人間が多いのはそのとおりかもしれんが
豊富なラインナップのある現代だけの事情でわかったような口を利く奴もただのアホ PICを馬鹿にしてる人って幼稚で無知なやつ多いよなw >>112
で、お前はPICについて十分な知識あるの? 前スレの話題
http://kair.us/projects/pickitminus/
pickit minus(マイナス)なる神ソフト
最新版は2022-12-22が登場
素性はPICkit2アプリv2.61(最終版)の魔改造バージョン。
pickit2,pickit3が使えて、ほぼ全ての最新デバイスをサポート中。
Win2k---Win10使用可。LunixとMacはコマンドライン版で対応。
Pickit2は2009/03で開発終了のツール。
2022末に拡張アプデートしてくれる
篤志家サンはほぼ神!いわゆるGOD! >>120
技術的な話から逃げてるのはそちら側では? 今夜も授産施設の知障児がカキコしているのか。
ヘルパーさんに迷惑かけるなよ。 >>112
まあこういうことを言う奴は総じて知能に問題あるよな
ものを知った気になってる阿呆のテンプレ的書き込み 仕事では、お上の声でルネのRXがメインだけど遊びはPICを使うわ。
DIPか秋月の18F46K22がユニバーサル基板風で使いやすい。 >>129
ICB-93SGのサイズで40ピンTQFPが真ん中に載っていて周りはPICの全ピン取り出しとユニバーサル基板で、オシレータとPIC3KITのビンヘッダと電源用のミニBのUSBコネクタが配線されて、1050円だったが、今みるとないね。 UARTが2CHあるのでプロトコルコンバーターの様なものだよ。 ARMの8ピンもUART 2chあるんだよね~
最小を目指すなら 型番忘れたけど16Fの8と16ピンだよ。
車のシートヒーターの温度制御など。
簡単なPWMだな。全席同時に通電しないから電源ハーネスは1席分でOKな奴ね。 分からないなら黙ってればいいのに
私は話が理解出来ない低脳ですっていちいちアピールする意味は? わからないことを聞くのはあたりまえ。
でも、何がどうわからないのかできるだけ具体的に聞かないと、わかるようになるチャンスさえなくなるよ。>>140 他者は心の鏡というからねぇ・・・
きみには厳格な事実として単なる低能アピールなのだろう、としか
解釈できなかったのかもしれんが、ほかのみんあは、潤沢な知識を持っているスレ読者の一人が、
態々貴重な時間を使ってまで、発話者の説明が要領を得ておらず意図を汲み取れない作文になっているよ、と
助言としての示唆を与えてくれたメッセージになっていると解釈しているんじゃないかな?しらんけど(^p^;
自暴自棄にならずに、じゅうなんに、強く生きて行けよ。 幸運を祈る 何かもめてます?書き方わるかったかな?
8ピンはPIC16F18313でした。
温度設定のボリュームを5VのA/Dして、12V数AをFETでスイッチング(PWM)して、シートヒーターに給電します。
プラス助手席バージョンはピンが足りないので16ピンのPIC16F18326でした。
運転席と助手席は同時に通電しないようにPWMしているので、1シート分の電力でヒューズ飛ばさないです。 まあ、ちょっとした半田工作が出来るDIPは好きだ。 >>145
14ピンだとおもう
自分も前に18326で車のエアコン用のコントローラー作ったよ >>150
僕らのために泣いてくれるなんて嬉しい\(^o^)/
ちょっと (*´з`)チュー しようか
あと僕の場合は貧乏臭じゃなく貧乏なんだ( ;∀;) >>145
PWMを同期してるようにも読めたけど
単に同時にオンしないってだけだよね?
目標温度から遠い方を選んでオン?
2CPUの通信はどうしてるの? >>152
CPUは一つです。
そんな難しいことはやってないですよ。
運転席たけのバージョンは8ピンで作って、助手席対応は20 ピンです。すまん途中で送信したわ。
2席制御は単純に50%デューティで最大で50%なPWMです。
それでも結構熱くなるのがシートヒーターです。 シートヒーター、PWMで検索したら
コントローラーを自作してる人結構いるんだね mikroC PRO for PICという開発ソフトを見つけました。
ライブラリーも充実していて良さげなんですが、書込器としてPICKit3や4は使えるのでしょうか?
もしダメでも、HEXファイルを吐くまではmikroC PRO for PICで行って、
HEXファイルをMPLAB IDEかPIEに読み込んで、PICKIt3で書き込めないかと思うのですがどうでしょうか
それにしてもmikroC PRO for PICの説明をしたサイトなどは、ほとんどないですね。
情報の少ないマイコンを使うのがこんなにつらいとは思いませんでした。 >それにしてもmikroC PRO for PICの説明をしたサイトなどは、ほとんどないですね。
無償版のコンパイラがあるしね。安価なコンパイラとはいえ、Microchipのコンパイラよりユーザーは少ないだろうし、
その中でも、これを使ってるのはお仕事の人が多いのではないですか。
もしそうなら、どんな使い方をしたとか、WEBサイトに掲載される確率もより低くなりそうです。
>情報の少ないマイコンを使うのがこんなにつらいとは思いませんでした。
PICの中でも、特別に特殊なものをお使いなんでしょうか。 >>157
>PICの中でも、特別に特殊なものをお使いなんでしょうか
すみません、間違えました。
「情報の少ない開発環境を使うのがこんなにつらいとは思いませんでした。」でした。 >>158
なるほど、たしかに。
開発環境は、昔は添付されているヘルプで使いやすさが変わったような印象。
個人的には、今はWEB検索のヒット率で使いやすさが決まるみたいな。ヘタレだし。 もう少しわかり易いエサを撒いてください >>160 >>160
僕は自称「妄信的なPIC信者」だけど呼んだ?\(^o^)/ 「惚れてしまえばアバタも笑くぼ」という言葉もあることだし、
いいんじゃないの、笑くぼに見えるなら。
人に迷惑掛けてるわけじゃ無いし(バカにはされるだろうけど) 私はPICでASMプログラミング開始後、
数作品後に<ダメだこのCPU は>と思って終わりにした。
もっともPIC16F84だったから、その後のPIC18等なら少しはましなのかな?
使う気がしないのは変わりないけど。 俺はCで組めればどんなマイコンでもいいけどね。
出来ればC++で関数に関連する変数をまとめられるとグローバル変数が減って嬉しい。 今どきアセンブリは使わなくて良い。
そんなことを評価の対象にしてるのは、おかしい。
しかも自分本位の判断基準で ダメだとか。
全部cで書けるんだから。 ここでいち個人がなんのかんの言ったところで、継続的に製造されていて新製品も出ているマイコンは、経済的にも選択される理由があって分かってる人は選択しているわけだからね。
趣味に限ってみても、楽しみに決まった形はないのだし、それを嘲ったりするのは、ゲスです。
マラソンでもゴルフでもサッカーでもカバディでも、生け花、茶道、アイドルの追っかけ、どんな趣味でも価値を理解しない人から見れば、価値のないことばかりだしね。
選択肢があるものは、分かっている人が選び、分かってない人が選ばない。
趣味も理解する人が理解して、理解してないひとが理解できてない。そういうものです。
分からない人が分かっている人に説明を求めて、それが叶えられないときに、やっぱり価値がない、言うのも論理的ではないしね。 >>166
(再掲) 私がAVRのプログラムをASMで書く三つの理由
AVRのアーキテクチャの面白さに密着したい
小さくて早いプログラムを書きたい
マルチタスクを使いたい
サンプル https://pastebin.com/ZYFYsR3S
プログラムの速実行度やサイズ、プログラムミングに要した時間などを
追及するのは楽しい。 by D.G. >>168
楽しさはひとそれぞれで、互いに理解する必要はない。
まして望んでいない人を理解させようとするのは迷惑行為。
AVRスレでやってね PIC8のASMは命令が19個(最初の頃)しかないから、覚えるのが簡単だと2000年頃に老エンヂニアは言っていたけどねぇ。
それだけ組合せのテクニックが求められる。
さらに機能にアクセスするためにバンク切替まで必要だし。
Cで簡潔に記述できるなら遅くてメモリを消費するのもやむなし >>168
私がPICをCで使う3つの理由
PICのアーキテクチャが可愛い
メモリーがあるなら、重厚長大でも全く問題ない
仕様を満たすなら、別に小さくて早いプログラムを
書かなくても良いと思う。
マルチタスクを使いたい >>171
簡単だけど難しいよねw
個人的には、手軽に入手できてワンチップで大概が済ませられるデバイス、というのが一番ありがたかったよ。
その方向での唯一の難点だった、クロック生成も内蔵された日にゃ、もう最強。
買いだめてあった16C84は、もう日の目は見ないでしょう。 ブートローダーを内蔵したArduinoだとROMプロテクトを掛けられない。
AVRもブートローダーを抜いてプロテクトは掛けられるけど、精神的に面倒臭い。
今でもPICは書込み済みDIPパッケージを1個数十~数百円で売る時代遅れの商売が可能なのが良い。
PICをレールで500個1000個と納めて、組立と試験は御社でどうぞ!
なら手離れ早くて楽で良い。 ブートローダー ==> Arduino
な初心者君ですか
トンチンカン過ぎて言葉が出ません >>176
>ArduinoだとROMプロテクトを掛けられない。
そもそもArduinoでプロテクトをかける必要がないからでは。 MPLABで、verifyは出来ますか?
昔の8.92とかは出来たように思うんだけど。 MPLABXに移行してこの方 Xなしの方には長らく触ってないなぁ・・・
今つかってるパソコンにはOSの都合でインスコできなかったんだっけか;ぐぎぎ
書込みもIDEじゃなくてIPEになってもうて使い勝手にいまだ違和感しかない><; X IDE(Windows)でPickit3経由にてPICマイコンに書き込み(PIC16F1827)するとき、main projectを変更するとうまく書き込めないのでケーブルを抜き差しするとうまくいきます。面倒なのでヌキヌキしないでいい方法ありますか? MPLAB X IDEとは違いますが、
PICkitminusが1月に3.20.17 3月に3.20.18とVer.UPして
中華PicKit3クローンのファーム書き換えで固まり難くなった。
http://kair.us/projects/pickitminus/
送料込みで1千円強だった中華PicKit3も今や4千円。尼だと7千円とか。
書換失敗したからと簡単に買い増すわけに行かぬ。地味に嬉しい。 MPLABってバージョン違うのいくつもインストールでける?
5.20と最新6代と古いPIC用に3.xx入れたいw AVアンプとサブウーファー間のトリガーをONにする治具を作っている
赤外線リモコンフォーマットを流用しようかと
とりあえず送信機は16F88で作成済み
受信機を16F648Aで作った ソフトをこれからフルアセンブラで作る
旧PIC16Fのアセンブラが好きで手持ちのPIC在庫もあるので
https://i.imgur.com/zSvczgj.jpg >>186
良いね!
なんか、他人の工作ネタを見るとモチベーション上がる >>187
ありがとう 孤独にもんもんと作ってたけど晒してみた甲斐があった
クロック単位で組めるからアセンブラはいいわ 今日は書き込みを読んでいて久しぶりにビックリした
>>186 >旧PIC16Fのアセンブラが好きで
私はPICのアセンブラが(アーキテクチャ)がどうにもガマンできなくて
PICからAVRに乗り替えたのに・・・
時間と金を無駄にしたと後悔しながら乗り替えたのに・・・
製作したもの(部品実装や配線など)についてはスゴク好感が持てた。
裏も見たかったな。 >>189
裏もあげるよ(基板の裏表間違えていたが両面スルーホールだから気にしない)
配線はなるべくジャンパが無いようにしている
PIC16のアセンブラ好きなのは、仕事の反動かも
車載RH850で機能安全がうるさすぎて嫌気がさしている
https://i.imgur.com/sha5AwR.jpg 裏面の写真アップありがとうございます。
いやぁビックリしました、私よりもはるかにキレイに作られている!
すぐにでもプリント基板にできそう。
4隅の基板の固定方法(裏表のネジやナットの組み合わせなど)が
私と全く同じやり方なのでビックリしましたw >>186
これ飛び出してるところは基板を継いでるの?
イモ付けだろうにピッタリ直線が出てて凄い精度
固定は裏表のジャンパ線のみ?それとも接着剤併用? >>192
タカチのケースの端に赤外線受光部を配置するための基板継ぎ
基本は上下のスズメッキ線のはんだ付けの固定だけ
カッターでぶった切ったユニバーサル基板をカナヤスリで磨いた >>193
ありがとう、すごい工作精度
ボキッと折れないか?心配w >>190
これ半田なに使ってんすか?
無鉛だとこんなにきれいにできないw
スズメを這わせてもなんかこんなに幅きれいにできない(;´Д⊂) >>194
スズメッキ線を裏表に一周巻きつけてあるので強度はある
>>195
個人工作なので共晶
千住金属のスパークルはんだ
会社の使用期限切れの廃棄品を許可を得てもらった しつこくてすまん 一応完成した
右の装置でAVアンプのトリガーONを入力したら3秒ディレイして赤外線信号を発振する
左の装置が赤外線信号を受信したらサブウーファーに12Vトリガーを出力する
トリガーOFFのときも同様の動作で12Vトリガーを停止する
ケースの加工を一番最初にやっておいたからモチベーションが継続したな
これでシアタールームのトリガーケーブルが撤去できるわ
スピーカーケーブルは壁内配管を通したのだがトリガーケーブルを通し忘れて床を這っていた
https://i.imgur.com/KQtmxj2.jpg >>197
良いですね~
部品の並べ方のセンス良いと思います
抵抗の向きもそろえてありますね(自分は揃えないので・・・)
昨日もらったモチベーションのおかげで部屋の掃除してます 私も昔、<リモコンでオン・オフできるテーブルタップ>を作ったことがある。
そのタップからアンプのAC100V電源をとれば
たとえばテレビをリモコンでオンすれば、同時にアンプの電源も入るようになる。
学習式リモコンにしたので、テレビ以外のリモコン操作でも
たとえばシーリングライトのリモコンで扇風機をオン・オフしたりも出来る。
でも 197 のようにはキレイに作れていない、残念w
そうそう思い出した、秋月で購入した受信モジュールが
リモコン受信ユニット内蔵のAGCのせいか
テレビ画面や蛍光灯のチラツキなどにも反応し
リモコン信号を受信しても何回かに1回はオンしないという誤動作で
完成までに悪戦苦闘し
ノイズ対策を甘く見てはいけないという貴重な教訓を得たw 昔の画像を見つけた
私が作ったリモコン受信制御装置の受信部(フロントエンド)
置く場所の自由度が高くなるように別構造にした
配線はとても汚いw
https://i.imgur.com/5rh6Jku.jpg >>200
画像どうも 参考になります
受光モジュールの足を曲げて位置調整すればよかったのか
基板延長は無駄な努力だったw 受信モジュールだけでなくLEDの足も半円状に曲げてある。
ケースに密着するように、また万一、外部から押されたときに力を吸収できるように。
しかしこうやってみるとホントに汚いな、そもそも基板が斜めってるしw ゴメン、ちょっと説明不足で意味不明だったかも。
リード線を半円上にする → リード線にバネ性をもたせる
もちろん少しの穴位置ズレなら吸収することもできる。
工作下手は下手なりに考えるw すまない、ちょっと教えてほしい
久しぶりにPICに回帰しようとしたんだが、MPLAB X IDEからPickit4を認識しない
デバイスマネージャはPICKIT4を認識しているが、MPLAB側からは認識してくれない。
win7 x64
MPLAB X V5.45
です。 >>204
まず、MPLAB IPEでも認識しないのか確認してみて ぼくもこのあいだICD3が認識されなくて古いバージョンので凌いだヨ(^p^; MPLAB X IDE v6.10 リリース
ICD 5、PICkit 5 発売 はやめに買わないとまた入手困難とか
価格2倍とか怖いな(´・ω・`) v6.10ではPickit3やICD3が動かないという罠
v6.05に戻した 後閑さんももう後期高齢者
いつまで現役でいてくれるだろうか
まだまだ教えてほしい事はたくさんある 後閑さんのおかげでPICユーザーたくさん増えたんだろうな 乾電池駆動組は昇圧に何使ってる?
PIC100円なのにXCL103使用モジュール300円って高いなぁって思ってたけど
今じゃお得感すらあるくらいDC/DC ICの値段が高い コストに厳しいものなら昇圧なしで使えるようにしてます。
自分のために1個2個作るものだと、部品の値段よりほかにコストがかかるので気にしないですが。 数百円の値段の差など誤差である
しかしコストを無視するとPICユーザのアイデンティティが崩れるのである 確かに。
スポーツとしての電子工作だと、みずからに課したレギュレーションだしね。 >しかしコストを無視するとPICユーザのアイデンティティが崩れるのである
行きつけの隣のスーパーまでチラシの商品を買いにいくのと心境は似てるかも。 >コストを無視するとPICユーザのアイデンティティが崩れる
んなわけない。
PICが使えなくて うらやましいのだろうか >>215が言ってるPICユーザーは、話の文脈から言えば、全PICユーザーではなくて、元質問者のように「部品代を気にかけるPICユーザー」
PICに限らないけれど、部品の値段を気にする一方で、その他の、とりわけ見えにくいコストには無頓着な人はいるしね。
そういう傾向の人はPICやAVRの中のローエンド、ローコストのマイコンのファンに多いような印象は持たれていると思う。
スポーツだとわりきれば、そういう趣味はありなんだけどな。
「んなわけがない」というのは、一般的には「類推したときに得られるいくつかの結果から、確率な低そうなものは除外するべきだ」という指摘だろう。
それなら、この流れのなかで>>215が「 PICが使えなくて うらやましい」と考える人という確率も低いと思う。 少し前までは少数生産だと基板製造のコストが支配的だったけど
比較的ローリスクで使える海外メーカーが増えて
相対的に部品の値段が気になるようになったかな ちなみにコスト気にしない人はPICkitやSNAPの値段をなんとも思わんの? PICkit2+PICkit2 V2.61
PICkit3+PICkit3 V3.10
Arduinoもわからない老眼おばさまでも
PICを差し込んで物理ボタンを押せば書き込みが可能。
技術屋のコストがほぼゼロでPICクローン可。
0+0で200だ!10倍だぞ10倍! なお逆刺しは頻発(老眼)
そして最新版が出続けているPICkitminusは神!いわゆるGOD!
これで今なおPICkit2/3と中華クローンが使える。最新は2023/6/24のV3.21.00 客が書き込めないっていうから物送ってもらったらPICkit3の中華クローンだった それはPICkit3が使えないという問題なの?
中華クローンの出来が悪いという問題なの?
それとも技術的には問題なくて倫理や商習慣の問題なの? ターゲットの回路短絡でPICKIT3を壊した
SN74LVC1T45DBVR交換してPICKIT3復活 MPLAB X 6.10
ターゲットPICを認識しない。
なんだこれ!! おかしいじゃん I2C_InitializeはMCCのちょっと手を加えて使うけど、他は自作してる。
SSP1ADD を取得したいがために使ってるというべきか。
というか、最近のI2Cはレジスタからがらっと変わってて自分のライブラリが使えなくなって
MCCを改造してもどきで使ってる。
pic18f27q43とか。
いやむしろ、そんなICを使わない方向で行ってる。 物を揃えるのは敷居が高いです
なので、webエミュレータとかないですか?
LEDチカチカさせる程度のプログラムが試せる程度でもいいので >webエミュレータ
それでいいなら(ライターも必要な)PICにこだわることもないのでは。 外部回路のアナログシミュレーションが不要なら標準のシミュレータで十分では? 乾電池1個でPICを動かすみたいなネタどこだったけ?
最近変態的な回路成分が足りてない >>235
電池1個 1.2V or 1.5Vの電圧で動くように
OFFの時にコンデンサ充電してONにしたときに電池+コンデンサの電圧で起動して
以降は昇圧回路を制御して(MCUで)電圧を維持する的なやつ? >>235
電池1個 1.2V or 1.5Vの電圧で動くように
OFFの時にコンデンサ充電してONにしたときに電池+コンデンサの電圧で起動して
以降は昇圧回路を制御して(MCUで)電圧を維持する的なやつ? そうそう今検索したら普通に出てきたわ
ttp://gomisai.blog75.fc2.com/blog-entry-495.html
(もっと具体的な検討がどこかにあったような気もするが)
10年前から電圧の特性は大して変わってないけど
あえてLFを別に出さなくなった程度には進歩しているのかな >>238
トランジスタ技術の2021年4月号でAVR特集やってて
その特集で電池1個でマイコンを動かす回路を紹介してた
この件と関係ないが、そのAVR特集の中で明らかな間違を5か所以上見つけた・・・ 読んで見たら2つの記事でネタ被りしてるじゃん
コンデンサの切り替えにDPDTのスイッチ使っているけど
これも地味に高いんよね 最近のデバイスの発振停止電圧ってどんなもんなんだろうね
調べればいいんだけど
内蔵チャージポンプの使用有無とか場合分けが面倒そう 全部は調べられないのでデータシートから推察するに
Vporは1.6Vで
2017年の
PIC16LF153XX(1.8V - 3.6V)のVporrが0.8V
PIC16F153XX (2.3V - 5.5V)のVporrが1.5V
2020年の
PIC16F152XX(1.8V - 5.5V)のVporrが1.1V
2021年の
PIC16F180XX(1.8V - 5.5V)のVporrが1.0V
なので発振停止電圧は以前のLFとFの間くらいといったところか PIC16F15213 @ Fosc=2MHzで実験したところ
約1.6Vで動作開始、約1.2Vで発振停止、動作停止した
(電圧に限って言えば10年前と大差ない)
ADC使用時は約1.3Vで動作停止
内臓チャージポンプの有無による差はなかった(精度は未評価) という訳で起動さえすれば昇圧なしの電池1本1.5V動作は不可能ではない
ただしショットキーダイオードの0.2V分ドロップした
1.3Vだと動かない可能性があるので工夫か諦めが必要
ダイオードの代わりにpMOSをロードスイッチにするとドロップは避けられるが
寄生ダイオードでの逆流が起こるのでちゃんと電圧を監視しないといけないし
どうせスイッチの制御をするなら昇圧チョッパを実装した方が素直かな 1.5Vで動作させて負荷はどうするのかという点については
LEDくらいならチャージポンプ直接駆動でいけるはず
赤色なら余裕 A/Dが止まるのは変換が終わらなくて待機ループで止まるの?
それともプロセッサ自体が止まるの? MPLAB X IDE Ver6.1.5 ですが、
アプリの動作がとても重いです。調べて見たら目盛8GBのうち、
2.2GBをMPLABが使っています。これはしょうがないと思いますが、
PAKを見ると、AVRとかがいっぱい入っています。AVRとかdsPICとかのPAKをuninstallすると
MPLABの動作が速くならないでしょうか? なんで人に聞く?
自分でやればすべて解決すること
私は、メモリをたくさん積んで解決している。
問題ないからやらない。 PCのハードウェアにもあんまり詳しくなさそうなので
付け加えておきますが、PCは環境が人によって大きく違うので
他人がどうだったから自分もこうだと必ずしも言えないことのほうが
多いのです。だからこそよけいに自分で確かめる必要がある。
あと、メモリを足したら解決するかは、それはそれで問題で、
PICにせっかくアセンブラで勉強できる環境があるんだから
x86(PC)もアセンブラレベルまである程度理解できるようになるといいと思います。
どういう実装になってそうな気がするから、ここがボトルネックだと。
勉強になるし、購入するPCの選択にも困らないと思いますよ。 いやいや、いくらなんでもそれはふっかけすぎ。
相手に少しでも非があるなら、何を言っても良いってわけじゃないです。 たしかにそうかも。
でも、環境依存だから調べないとわからないのは確かだと思う。
勉強はしたほうがいい。
言い過ぎではあるけど。 勉強はしたほうが楽しい、に訂正いたします。
やらされ勉強じゃ楽しくないわね。 言い過ぎも何も、間違ってるじゃん。
Cだから、アセンブラだからという問題ではないと思う。
MPLAB Xの操作性が遅いと言ってるんだから。
あと、メモリを取り替えできないノートPCもたくさんあるんだから、
自分で試せというのも間違い。 速くてメモリ512GBくらい積めるPCにすればいいだけ 何をやってるの?
使わないPACをアンインストールしたらどうなる?と質問してるからやってみれば?と言う話だろ? お金もかからず、たいして時間もかからず、やってみればわかることは、誰かに質問してないでやってみる。
という姿勢は電子工作をする上で必要なことだと思います。 システムドライブにHDD使っていて、もっさり感な場合はSSDに代えるとか?
MPLABは最近使ってないけどVisual Studioとandroid studioでアプリ開発してるが、IDEが起動する時間はコーヒーが飲めるくらいあったが、SSDにしたら数秒で驚きだよ。きびきびして良いよ。 それはそうとプラグインとしてPICkit3のサポート復活したのかな PICのCコンパイラで教えてください。
__delay_ms(100); とかのdelay関数を使用するのに、
FCLK=...とか#include"libpic...h"を組み込むと覚えましたが、
MCCで構成したときに、FCLKとlibpicを書かなくても良いものもあれば
可必要があるものもあります。
この見分け方はありますでしょうか? 実際に__delay_ms(を置いて
エラーが出るかどうかで判断という方法もあるでしょうけど、もう少し規則性が
あるのかなと思いました。
MCCの追加機能の中にDelay がある場合と無い場合もあって、
こちらもよくわかりません。 いや、まずPICのCコンパイラってどれのことかちゃんと書かないと
で、一般論として、そのファイルで直接APIを呼び出すなら
当該のヘッダファイルをincludeすべき
理由はあなたの書いてあるとおり、他のところでincludeされるか判別できないから
今はincludeしていても将来実装が変わってincludeしなくなるかも知れない すみません、コンパイラはXC16とXC8です。
>そのファイルで直接APIを呼び出すなら当該のヘッダファイルをincludeすべき
ありがとうございます。
今までは、そのまま使える物は何も書かずに、使えない物は使える様になるまで
#includeを追記していました。
知識が浅いのですが、
#include "...h"は、どこでも何回も書いても問題ないのでしょうか。
MCCを使用するとmainの先頭に#include "mcc_generated/system.h"みたいな物が付きます。
そしてさらにMCCで他の機能を追加してジェネレートしたとき、
そのままではコンパイルエラーとなり、
その#include "gccgenerated/system.h"の下に
#include "stdlib.h"とか(追加した機能に寄って異なる)書かなければなりません。
MCCが作成したんだから、それも一緒に追記してくれればいいのに、と思ってしまいます。
この場合も、そこに追記しなければならないのか、書かなくていいのかの
判別をするコツなどはありますでしょうか? >>268です。
連投で申し訳ありません。
PIC18F27Q83で質問があります。以下はデータシートの発振器のページの抜粋です。
https://imgur.com/3fq3vFn.jpg
https://imgur.com/KTwgjHC.jpg
1ページ目の表に出てくる略語の意味が分からないです。
・RSTOSC = Reset OSC 起動時にこのモードで発振するようです。
・NOSC = New OSC 動作中に、ソフトで切り替える時の指定値のようです。
・NDIV = New Divider 同上、分周比のようです。
・FEXTOSC = ? Fって何?
・COSC = ? Cって何?
・CDIV = ? Cって何?
また、以下の違いがわかりません。
1ページ目の下段と2ページ目の上段に書かれた文章です。
1) ECL: External Clock Low Power mode
2) ECM: External Clock Medium Power mode
3) ECH: External Clock High Power mode
4) LP: 32 kHz Low-Gain Crystal mode
5) XT: Medium-Gain Crystal or Ceramic Resonator mode
6) HS: High-Gain Crystal or Ceramic Resonator mode
LP, XT, HSは今までのPICにあったのですが、ECL,ECM,ECHは初めてで戸惑っています。
Low、Medium、Highgって、何のパワーのことを言っているのでしょうか?
どなたかご存じの方がいたら教えてください。
宜しくお願いします。 自己レスです。
COSC, CDIVのCの意味が分かりました。Current(現在値)のようです。
現在発振器がどのモードで動いているかを。
失礼しました。 > ・FEXTOSC = ? Fって何?
普通に考えたらFrequencyでないの
> Low、Medium、Highgって、何のパワーのことを言っているのでしょうか?
外部クロックのパワーは変わるはずないんだから普通に考えたらPICの消費電力のことじゃないの
何か難しく考えすぎというか、名前なんて区別が付けばいいだけのものだから ありがとうございます。
言葉の意味が分かるとMicrochipの糸がわかると思うんです。
>普通に考えたらPICの消費電力のことじゃないの
最初そう思ったんですがlowがあれば事足りるのに3つもあるのがわからないのです。
データシートにそのへんの説明が書かれていないのです。 PICの具体的な質問してくるのって工業高校や大学の課題なの?
会社員でもいいけど周りに聞けないの? >>272
>最初そう思ったんですがlowがあれば事足りるのに3つもあるのがわからないのです。
>データシートにそのへんの説明が書かれていないのです。
こんなふうに、なぜそういう仕様なのかわからないことを納得するまで聞こうとする人がいるけど
わりと多くの人は
「なぜそういう仕様になっているのか分からないが、そういうものだろう。さあ次の課題にGo!」
として受け入れているんじゃないですかね。
このスレじゃないかもしれないが、前にもMicrochipのA/DコンバータのSPI仕様で、
なぜこういう仕様になっているのかわからない、と書いてた人がいたけど、あれも同じです。
その人はSPI仕様についてこうあるべきじゃないですか、みたいな提案までしてたけど、ここで
提案したって、A/Dコンバータの仕様が変わるわけじゃありませんし。
2つに分かれていれば十分というのも感覚的な主観にすぎないし、自分の主観に合わないから納得できない、
というのは、学習を阻害する原因になります。学習するときに自分の強い主観は、あまりない方がいいです。
探求心は大事ですが、そのときその場で性急に解決しようとせず、疑問は持ち続けるようにすればいいと思います。
>>273
1人で学習する人はいくらでもいると思います。 PICのデータシートの読み方分かってないんでは?
本当にFEXTOSCの定義読んだ?
Register Definitionsを見るんだよ? >>275
>本当にFEXTOSCの定義読んだ?
>Register Definitionsを見るんだよ?
はい検索して定義は読みましたがFEXTOSCのFについての記述はみつかりませんでした。
わかったのは、外部OSC信号に異常が検出されたときに別の発振器に切り替えて
動作を続けられるようなのですがその関係のようです。
予想するとFはFailのFかなと思いました。
2度に渡って教えてくれてどうもありがとうございました。 >CONFIG1
>FEXTOSC[2:0] External Oscillator Mode Selection
FはEXTOSCと区別するために付けただけじゃないの?
FuseとかFlagとか そもそも周波数Foscは設定しないFOSCは受け入れられたのか あと、FEXTOSCの定義を見ろって話はFの意味じゃなくて
> lowがあれば事足りるのに3つもあるのがわからない
って寝言の方かと >>277
ブロック図Fig12-1は何度も見ていますがEXTOSCはありますがFEXTOSCは見つかりません >>278
>FはEXTOSCと区別するために付けただけじゃないの?
>FuseとかFlagとか
そうだと思いますが、Fは他にもたくさん意味がありますし。 >>279
>そもそも周波数Foscは設定しないFOSCは受け入れられたのか
FrequencyのFだと思います。
>> lowがあれば事足りるのに3つもあるのがわからない
>って寝言の方かと
LowPowerの発振器があれば、他は要らないと思いますけど。
消費電力が周波数毎に変わるから、という理由なら
HF,MF,LFではないかと思います。 >lowがあれば事足りるのに3つもあるのがわからない
むむむ。これはECH、ECM、ECLの話ですね?
ECxの設定は、発振子を使わずに外部クロック源からクロックを供給するときの設定のはずです。
ここからは完全に想像です。
PIC18F27Q83のデータシートを見ると、発振器/発振子から内部ロジックへの配線が、内部発振回路の入力側から引かれています。(古いPICでも)
この通りならば、内部ロジックへの配線で最初に通るバッファは入力としては小さい振幅を扱う、適切なゲインを持ったアンプになっているはずです。
もし、ゆっくりしたスロープのクロックソースに、高パワー(≒高ゲイン)のアンプだと、閾値付近で異常なHLを発生する恐れがあります。
逆に、速いスロープ、高い周波数のクロックソースに、低パワー(≒低ゲイン)のアンプだと、周波数についていきません。
無駄に高いゲインにすると消費電力がもったいない、ということもあるかもしれないですが、上のようなことも考えられると思います。 >>286
ありがとうございます。
>ここからは完全に想像です。
考えていただいてありがたいです。
>内部ロジックへの配線で最初に通るバッファは入力としては小さい振幅を扱う、
>適切なゲインを持ったアンプになっているはずです。
それは想像に難くないと思います。
が、NOTゲートに帰還抵抗を施したアナログ的なアンプということはないでしょうか。
であるなら、小振幅から大振幅まで扱えそうな気がします。
>逆に、速いスロープ、高い周波数のクロックソースに、
>低パワー(≒低ゲイン)のアンプだと、周波数についていきません。
これはその通りだと思います。電流流さないと高い周波数まで動かないですよね。
ありがとうございます。
>>286のお話しを考えてみて、考えが浮かびました(同じく想像ですが)
本来、ECHを1つで小振幅〜大振幅まで賄えますが、とにかく消費電力を落とす方針であれば、
ECM, ECL を作って、少しでも無駄な電気を使わない、ということかもしれないです。
実は気がついたのですが、18F27Q...では、
system clockとperipheral clockを、個別に源振と4倍PLLと選択できるようです。
つまり、32MHz system clockと、8MHz→peropheral clock のようにでき、
これも省電力のためなのかと思いました。(もちろん反対はできません)
UARTを9600で設定したのに2400でしか出ないので、調べて分かりました。
さらにそのブロック図だと、内部発振のときにperipheralにclockが行かないという
面白いことも見つけました。
どうもありがとうございます。 >>286
>無駄に高いゲインにすると消費電力がもったいない
すみません、
すでに指摘されていましたね。失礼しました。 >が、NOTゲートに帰還抵抗を施したアナログ的なアンプということはないでしょうか。
>であるなら、小振幅から大振幅まで扱えそうな気がします。
この場合、そのNOTゲートを構成するFETのドレイン―ソース間の
・ON抵抗値が大きいと、出力の立ち上がり立ち下がりが緩やかになり、周波数応答が遅くなる
・ON抵抗値が小さいと、出力の立ち上がり立ち下がりが急峻になり、周波数応答が速くなる
となるかと思います。
速ければいいというわけではないのは、>>286で推測を書きました。
>さらにそのブロック図だと、内部発振のときにperipheralにclockが行かないという
ペリフェラルにクロックが行かないと動作しないので、さすがにそういうことはないのでは。
それと、PICの場合はペリフェラルによって、個別にクロックソースを選べる(選べないものも)ようになっているので
クロックのブロック図だけでは、どのペリフェラルでどのクロックが使われるのかわかりません。
PIC18F27Q83のデータシートDS40002265Bを見ています。
Figure 12-1. Clock Source Block Diagram
を見ると、「To Peripherals」となっている矢印が、図の上の方に1個、下の方に4個あります。
このほかに、FOSCから得るものもあります。
ペリフェラルによりますが、それらのどれかが使われるのではないですか。 中の人でないと分からんことを想像で議論しても不毛だし
分かったところでデータシートに明記されていることには従うしかない >>288
>「To Peripherals」となっている矢印が、図の上の方に1個、下の方に4個あります。
ありがとうございます。私の見落としですね。 そこまで気になるならいろいろ実験してみればいいのに
中の人じゃないと内部回路までは知りようがないんだから
外からわかる範囲で観測するしかなかろう >想像で議論しても不毛だし
そういう考え方、寂しいな。 やるのはいいけど他所でやってよ
上の長文レスから得られるもの何かある? ディスレクシアという障害もあるので仕方がありません。
近年ではフォントで読みやすさが改善できる、ということも言われています。
ブラウザのデフォルトフォントを、自分が読みやすいものに変えるといいかもしれませんね。 MCCでUARTの受信割込を設定しましたが、
最初の2文字くらい受信するとPICが固まってしまいます。
MCCの作成したソースでも、
受信割込フラグを自分でクリアしなければならないのでしょうか? >>299
プログラマー向けとされているフォントの場合は、0ODOや1Il|は区別しやすくなっているのはあるね。
ディスレクシア向けとは方向が違うけれど、用途に合わせてフォントは変えていいと思う。 >>242
どうせ昇圧するならSPDTでいけるんじゃね?
片側のスイッチをダイオードに置き換えるというか
非同期のチャージポンプを単純に手動にしたイメージ
Vf分ドロップするが2Vは確保できる
待機電力は知らね unsigned char c → 0〜255
signed char c → -128〜+127
char c の場合は、0x7fより大きい文字コードが記憶できますか?
文字に負の数は無いのでunsigned char で使ってきましたが、
strcpyとかを使いたいときは、charで宣言しなさいとあるのがよくわからないです
この辺を説明してある本(webページではなく)がありましたら教えていただけないでしょうか。
char に3種類あるならintでも3種類あるのかも知りたいです。 char, unsigned char, signed charは全部違う形
charが符号付きか無しかは環境や設定依存
intはsigned int, unsigned intの2種類だけ
intとsigned intは同じ型 XC8はcharは符号無し
XC16, XC32は符号付きが標準
設定で変更可能
符号無しは0〜255
符号付きは-128〜127 文字と数値は本来別物
符号付きとか気にする時点で既に危険な領域に足を踏み入れている
8bitの数値にはint8_tやuint8_tを使って
charは文字用(数値じゃない)と考えるのがイマドキの基本では シリアル通信のバッファは8ビットで考えたい。
文字列関数はcharで扱いたい。
そんなジレンマを抱えているのでは。
パソコンアプリの場合だと、通信そのものは8ビット単位なのに、
文字列の内部表現は基本が16ビットということもあるけれど、
マイコンだと通信単位も文字列も8ビットであることが多いと思う。 だから文字を数値(整数)と思わなければ
そんなジレンマ存在しないよね、と
シリアル通信のバッファは8ビットで考えたい。
数学関数はfloatで扱いたい。
そこに何のジレンマもないように ありがとうございます。
strcpyとかの文字列関数を記述したら、warningだかerrorになってしまい、
それて゜質問しました。
char, unsigtned char, signed charが全部別物とは、参りました。
自分自身の取り決めみたいですね。
LCD表示器とか、2ch目のprintfのようなところで、XC8でstring関数が使いたいだけなのですが、
unsigned char count = 0;
signed char temp = -20;
char moji[11] = "PIC18F1234" と、このように決めてやっさて行きたいと思います。
printf( #1, "Hello" );
printf( #2, "GoodBy" ); のように、出力先が決められるコンパイラだといいのですか。 ジレンマを抱えてはいけない、という結論に導かねばならないってことはないしね。
charをfloatで譬えるのはかまわないが、たとえはたとえでしかない。
ANK文字だけを扱う環境下なら、実質的に「通信で使うバッファ内のデータ列」≒「文字列」ということもあるだろう。
必要に応じてキャストするだけでもいいのでは。 いや、キャストするななんて言ってないし
floatだってキャストするだろ?
文字列の場合だけ「キャストする『だけ』」みたいな
特別視をする必要がないと言っている
間違った解釈をしているから訂正したのであって
主義主張の正しさについて議論する気はない たとえば、シリアル通信で送られてきた文字データ列を、内部の文字列を前提としたポインタにキャストして成立するのって、
ANK文字をはじめとして、シリアル通信で扱う文字と、内部の文字の文字コードが同じであるという特殊な場合に限られています。
そのばあいだけに使えるので、部分集合なケースであると思います。
floatのバッファのポインタに、整数として意味を持つ整数配列のポインタをキャストするのはしたことがありません。 floatの例は整数からの変換じゃないのでは?
floatが整数でないようにcharも整数ではないと思え
ってのが>>310の話なので。 string系の関数を使うという文脈なのでバッファのポインタの話だと認識していました。
その上で「floatだってキャストするだろ?」とあるように「する」と書かれているので、そうなのか、と思った次第です。
floatのキャストの話はポインタの話からは外れています、ということでしたらそれでいいです。
短文メッセージのやりとりなので、文脈の解釈が明示的に行われないことはやむをえません。
値の話になりますが、文字取得の関数では、戻り値は文字ですが、int型の場合があります。
その場合は、int型変数で受けて、あとからchar型変数に代入することになります。
わりかし機械に近い部分のプログラムができるC言語だし、整数と文字は意識して行き来するのではないかと思います。 センサの時系列データとかfloatだってC++でいうところのreinterpret_cast使うよ
そして使える条件があるのもANK文字と何ら変わらない
自分がやったことないからといって想像で書かれてないことを捏造するのは良くない 変数とポインタのキャストは違う、後者は記憶領域を無理矢理指定するからな。
あとキャストしてもどうにもならないのがビッグとリトルのエンディアンだな。 charは数値じゃないの?
PICのXC8で、
x = 'A' + 1とかよくやるんだけど。
これは文字を数値とみなしているとは言わないのか?
なんかWindowsのC#ですら同じ演算をしたことある・・・
int data = str[i] - 'A' + 10みたいな
やり方間違ってるのか? 究極的には合理的に期待通りの動作をするのなら、間違いではないのでは。 >>322
バイナリ数値から文字数値(?)に変換するときの使いますよね。
Aから上は困るんですけど。 正しいかはコードの意図が分からないと評価できないが
少なくともC#ではcharは整数型と区別されたので
コードはともかく理解としては間違いだと思う C#の世界だと、エンコーディングの概念が入ってきて、それをライブラリに任せるのが前提じゃないですかね。
マイコンで同じ考え方を適用するかどうかは条件次第。
前提となる条件を細かに設定せずに一律に間違いというのはおかしいし、もちろんいかなる場合でも
間違っていないというのもおかしいと思います。
ポータビリティの話を出す人もいますが、ポータビリティも絶対的に高い優先度の正義でもありませんし。 NULLは整数の0か?ってのと同種の問いかと
やっとCにもnullptrが導入されるんだね char変数一つで一つの文字を管理できるとは限ってないし、そういう場合は範囲判定とか足したり引いたりシフトしたりのような
演算の対象になると思います。 >>322
"0123456789ABCDEF"[n]
とかやったりする
要するにテーブル
8bit PICだと普通にやった方がいい 環境がMPLAB X IDE6.15 XC8 2.45
PIC18f2320 pic programer +で書き込んでいるのですがちゃんと書き込めません このプログラムを書き込んでるのですが、なぜかこうなります
一度フラッシュメモリを消去して書き込んでみたのですが、こうなります
原因を教えてください やれやれ、コンパイルしてるプロジェクトが違うだけでは?
太字のプロジェクトがコンパイルされて転送されるよ。 0340 すいません、太文字で書いてあるプロジェクトもこれと同じプログラムです。 >>330
書き込みがうまくいかないなら、MPLAB X IDEのOutputに
何らかのエラーメッセージが出てると思うのだけど
その部分のメッセージ位はわかるように画像を上げてほしい
あと、PIC書き込み装置とPICの接続状態の画像(写真)もあったほうが良い
あと書き込み時の電源供給状態
書き込み装置からの供給 or 他からの電源供給 Arduinoから電源供給してるのかな?
「こうなります」と>>337にかいてあるけど、その「こう」がどんな状況なのか、みっちり説明されてない。なぜだー。
写真にくわえて接続図も必要。撮影の角度や照明で不完全になりがち。手書きでもいいから、接続の様子を相手に伝える誠意を見せよう。
めんどうだろうけれど、答える人は質問者のために時間も労力もかけている。質問者がめんどうさを避けることは許されない。 最初から問題解決する気がないんでしょ
騒ぎたいだけ
時間の無駄 すいません、ありがとうございました。pickit3を使って書き込んだらうまくいきました。
ありがとうございました PICKit3とPICKit4、書き込める対象のPICコレだ
みたいな一覧表になってるページってありますか? すみませんが、どこにあるか教えてください。
Microchipのホームページの中でしょうか? >>348
ありがとうございました。
自己解決しました 17000円もするPICKit5って、何者でしょうか?
PICKit4ではダメなのか。 PICKit4と5に大きな価格差ってあったっけ。
ダメとか以前に、4は製造中止とのことなのでそのうち入手できなくなると思う。 ありがとう。PICJit5ができた理由は、AVR対応でしょうか? >理由
そこはぼくはわからない。使えるもの、入手できるものを使う立場でしかないし。
デバッガではなく、PCを使わないでプログラマとして使うときに、Bluetooth接続でスマホで操作できる、という話は
どこかで読んだ。ぼくは、個人的にはそういう使い方を現時点では想定しないのであまり関心はない。
pickit4 pickit5 compare
で、ぐぐってみたらわかることもあるのでは。 先日ネットの繋がらないところでMPLABとMCCを起動したら、
ネット無しではダメと言われ起動しませんました。
そういうもんですか? MPLAB X IDEはオープンソースのNetBeansとかいうのがベースになってるからじゃない
Xの付かないIDEなら違うのかな >>355
試しにPCのネット無効にしても普通に起動してMCC Classicで生成できたから何か環境によるんじゃね? >>356 357
ありがとうございます。
ネット無かったら起動してやらねーよ、とメッセージが出たので、
Wifiつないだら出来たんです。
おれかんですかね。
ありがとうございました。 秋月でPICkit5の扱いが始まったな
特段安いということもなく買う予定もないが I2Cバスにスレーブ8個の制御基板をPIC16F88で作ったけど
SSPCON2レジスタが無くてサブルーチンでエラーが出てハマった
88のI2Cはスレーブだけなんだな 使えね~(笑)
16F886で基板を作り直すか くそ~
https://i.imgur.com/SavSx9b.jpg マスターなんかソフトでいいだろ
クロックストレッチをはしょれば楽ちん >>361
ソフトI2Cも検討したけど
スレーブ1個ならいけるだろうけど8個なのでハード的なトラブルを恐れている
ポートをオープンドレインにできないよね >>363の
「出力を0にしておいてTRISのビット制御でオープンドレイン出力を作れる」
ということが>>362に伝わったのかな? >>364
理解してるよ
入力でハイインピをオープンドレイン代用にするんだろ
もう作り直しているからソフト対応は辞める方向で PCIバスのサスティンドトライステートだな。プルアップ抵抗必要な、 >>367
基板切断がキレイだけど、どうやって切断してる?
切断面もヤスリかけてるね。さらに角部もC面取ってる。
やるな。 なかなかこうは綺麗に切れないな。
ブロワで温めておいてからハサミでばちーんって切ってるけれど、断面はささくれてしまう。
もっともささくれることで、ヤスリ仕上げもさくさく進む。 >>368
>PCIバスのサスティンドトライステートだな。
>>363の方法は、ごく単純なオープンドレインですよ。
おそらく昔ながらのI2Cの話題なのでそこまで要求はされてないはず。
(プルアップは前提だし) >>370
サンドペーパーを貼り付けた木の板で仕上げると楽に研磨できるよね。
基板の端部はそのままでもいいかなと思うけど、角部はケガするので
C1〜2で面取りしてます。
ユニバーサル基板の切断位置も、ひとそれぞれみたいですね。
穴で切る人もいれば 穴と穴の間で切る人。 > 穴で切る人もいれば
穴列で割る・・・横着者もいますよ。カッターは入れるけどね。
> サンドペーパーを貼り付けた木の板で仕上げると楽に研磨できるよね。
建築屋とか建具屋とかでは基本ですね。ロールのやつだと糊も付いてて便利。 >>369
基板の両面に刃の厚いカッターで切れ込みを入れて割る
ガラエポでも問題なし
お騒がせしました
やっと1/8完成しました
https://i.imgur.com/2dGIPLH.jpg >>374
写真見ました。スゴいですね。
オシロはDL-1740、半田ごてはFX-888Dじゃん。 この写真のどこからオシロと半田ごての型番がわかるのか・・・
PICKitは見えるけど3か4かわからない。3か? 医師になるのは、めちゃくちゃ簡単だよ。
どんな医大でも家試験の合格率7割以上はあるし、自治医大以上ならほぼ100%。
弁護士の場合は難関ロースクールを卒業しても、家試験を通るのは10%程度。
医師国家試験の合格率ランキング見てみ。
一番低い杏林大学ですら、79.4%。
奈良県立大以上の偏差値の25校は95.0%超え。
これのどこが難関試験なの?
医学部に学費を支払える財力のハードルが高いだけで、医師にはバカでもなれる。
弁護士、司法書士、会計士、英検1級あたりは、バカには絶対に無理。
まとめると
医師国家試験→バカでも受かる。しかし、医学部6年間で1,000万以上かかる学費のハードルが高い。
司法試験→ロースクール卒業しても、合格できるのはごく一部。非常に難関な試験。
司法書士→ロースクールに行かなくても受験できるが、難易度は司法試験並み。
英検1級→英語がずば抜けて優秀でないと合格できない。英語の偏差値100必要。(実際にはそんな偏差値はないが)
会計士→おそらく、最難関試験か。会計大学院修了者の合格率は7.6%しかない。
不動産鑑定士→鑑定理論が地獄。単体の科目としては最難関の一つ。経済学などは公務員試験より簡単か >>378
赤いUSBケーブルが見えてるから、3確定でしょ。
それより、赤と黄色の湾曲した物が何だかわからない。
ルーペの樹脂フレームのようにも見えるが、
2つも必要とは思えないし。 本筋と違うところで特定に走るのは詮索趣味。運が悪いと田舎ぐらしで遭遇するやつ。ほどほどって大切。 ストーカーは瞳に映った景色で部屋を特定するらしいけど
ハンダに映り込んだ画像を解析して個人を特定されたりして >ストーカーは瞳に映った景色で部屋を特定するらしいけど
本当にそんなこと出来るんですかね? 5chに写真上げると隈なく見られるから
・机の上を掃除をする
・余計なものを排除する
・撮影後よく確認する
・必要最低限の解像度に下げる(もしくは故意にピントをずらす)
上記の様な手順を踏んでから写真うpしないといけない( ;∀;) ・位置情報を消す
逆に匂わせでわざと見せてるケースも PICKIT5高いと思ったらPICKIT4も高く(倍くらい)になっている
2019年春のを見たら五千〜六千円くらいだった 秋月で買ったときは六千円もしなかったのに
今15700円もするし最新のPICkit5は17800円 秋月でPIC16F18444-I/Pの取り扱い始まったけど
要望の受け入れ基準がよくわからんな
老朽取替というには新しすぎるし新規で使うには特長がない
それより低コストの16f152シリーズもっと普及してくんないかな >>388
ぼくもそれをあえて入れる意義がわからなかった。
ただ、PICはプログラマというかデバッガがやたら高くなったな。SNAPでも結構なお値段になってしまった。
新規参入の減少に加速がかかりそう。
というか、Microchipも入門者がPICを使うことを期待してないような気がする。 未だにこのクラスの新製品が出るほうが驚き
新規の回路設計で採用されることはあるんか? 389だけど、PIC16F18444 は、いままでの PIC16F のいいとこどりの総まとめみたいなチップという気もする。
USBは載ってないけど、PIC16F でUSBをやる事例がへってきたのかな。 PICって、一体何種類あるんでしょうか?
多いですね >PIC16F18444
え? と思ってググったら本当にあった。
何桁まで増やすんだよ。
わしの時代はPIC16C84とかシンプルじゃったぞ。 F84ではなくC84を持ってくる辺りが本物のお爺ちゃん感ある 私の「初めてのPIC」は16F84で、
それがそのまま「最後のPIC」になってしまったw 12Cや16Cが付くやつはたいていワンタイム品で開発は別途窓付きが必要ていうイメージがあったけど
16C84は窓付き品じゃなくても消去できるんだったな ワンランク下の16C5x、定番ペリフェラルしか載ってない16C6x、ADC載ってる16C7x、EEP-ROMで窓無しの16C84。
実にシンプル。プリンタポートで書き込みしたものよ・・・ >>399
「ケ」の文字がもう1つだね。縦線の最後は左に曲げた方が良いと思うな。 18444なんとなく買ってみたw
なんとなくあたりを見回して10点LEDレベルバーを見つけたので買ってみた
8ピンpicならどうドライブしたらいいのか悩んでる
18444なら足は足りるが8ピンならどうすればいいのか?! 4ピンあれば12個のLEDをコントロールできる。
3ピンでも多少の事に目をつぶれば同様にできる。
もしくはhc595を好きなだけ繫げ PIC10F200の3I/O+1Inputで6個のLEDと1個のスイッチを制御するのは定番だな もはやシフトレジスタとかカウンタICよりマイコンの方が安かったりするんだがね >>405
少ピンマイコン工作にそれはヤボじゃないですか。
制約のもとで作るスポーツ的な楽しみや、型を重んじる芸事の世界に通じるものだし。 >>406
それは野暮 の それとは、何を指しますか? >>407
「それ」
は
「『もはやシフトレジスタとかカウンタICよりマイコンの方が安かったりするんだがね』というコメント」
です。 部品コストと実装面積の制約のもとで作るスポーツ的な楽しみだってあるんで夜露死苦 むしろ侘び寂びの世界だな
ちょっと黒ずんだリードとか光沢のないセラミックパッケージとか… HC595も普通に使うとData, Shift Clock, Latch Clockの3線いるけどこれを2線や1線でやるやり方とかあるし工夫する余地はいくらでも >>411
1線の方法を教えてください。
できるわけないのに。 こんな感じかな?
Data, Shift Clock
[ダイオード+CR]の微分回路で1線で シリアルデータとクロックを作れる。
データ兼クロックのラインは、Lの時間でH/Lを切り替えられる。
まず、立ち下がりエッジでLに落ちてチャージとともに上がっていく信号を作る。
立ち下がりからすぐに立ち上げたらLをサンプリングできる。
立ち下がりから時間が経過したあと立ち上げたらHをサンプリングできる。
Latch Clock
データ兼クロックがLのあいだCを急速にディスチャージしてHのときにゆっくりチャージする回路も[ダイオード+CR]で作れる。
これで、速いパルスの連続の間はL、それがなくなったらHになる信号を作れる。
特にLatch Clockはシュミットトリガを通したいな。 >>415
ラッチクロックはあまり気にする必要ない気がする。
余計なシフトは困るけど。 >>417
>ラッチクロックはあまり気にする必要ない
たしかに。閾値付近で複数回の立ち上がりとして認識されても問題はないだろうね。 1線でのシフトレジスタ(HC595)を使う方法について
参考になりそうなサイトが有ったのでURL貼っときます
https://www.romanblack.com/shift1.htm >>420
シンプルなのですが、このやり方だと1bit分(QA)を使わない事で解決してると思うので
全ての出力を使うなら420さんの様な方法になると思います 1線式で8bitすべて使う場合の回路で比較的部品数の少ない方法だとこんな感じですかね?
https://i.imgur.com/tJljpfF.png
シミュレーション上ではそれっぽく動作してる様に思う >>423
すまん、画像(グラフ)だと抵抗等の定数がいい加減すぎて、閾値に対して余裕がない感じですね
RCK(LD)の抵抗を大きくするかキャパシタの容量を増やせばもっと余裕ができると思う 入力寄生容量使えば、抵抗2本とキャパシタ1個でいけるか。ラッチにすんごく時間かかりそうだけど。
かかるの嫌ならD使って、もっと速めたければピン増やせ、と。 I2CのEEPROMが書き込みできる、ROMライターを探してるのだけど
色々探してるのですが、良いのがないので
知ってたら教えてください。
ROMは、AT24C02を書き込みます。 ここPICのスレなんだけど……
PICで読むならPICで書けばいいんでは?
そもそもI2CのEEPROMのライタなんて大差ないと思うんだが
良い悪いの判断基準(要件)は何? CH341Aなんちゃらっていうやつが安くていいんじゃない?
書き込みアプリは探さないといけないけど WS2812Bを3.3Vで動かしている例があるようだけど
無点灯のとき実力として何Vで停止するの? CLCの無いデバイスでWS2812Bを制御する場合
1bitごとの割り込みだと
(今何個目の何ビット目とかの)ステートの保存で余裕がないけど
やっぱり割り込み使わずに命令サイクルだけでタイミング調整するのが無難? 8bitマイコンで、32MHz(FOSC/4 = 8MHz)の話してる?
割り込みじゃ無理だと思う。
アセンブラ使って実装したよ。 割り込みは使わずPWMは使うのが無駄(nop)が少ないんでは 作ってみたらわかるんだが、32MHzでも2インストラクションしか
ONの1状態には時間がないから、PWMでも結局タイミングを合わせて使わないといけない。
それをするなら、直接IOを叩いたほうが効率的 効率の考え方の違いだけのような?
PWMを使うと脱調しない範囲で本来の出力周期よりループを早く回せる
節約できるのが1命令だけでも8bit単位のループで8命令稼げる
ループの中の1命令ではほぼ何もできないが
ループの外の8命令なら色々できる
逆にそこまで頑張る必要がないなら労力として非効率とも言える PICのアセンブラでないので申し訳ないが、
CCPを使うとして、
mov W , ON
testAndSkipIf0 colorR , bit7
mov W , OFF
mov CCPR1L , W
確かに4命令で、あと4(5とか6でも良い?)命令自由に使えるとも言える。
しかし、これループもせずに、RGB全部のすべてのBITに対して
延々と命令書くのか?Wレジスタも消えるし。
いや別にいいけど。
IOを直接叩くのなら、R、G、Bについての
それぞれのループ3つ書くだけで済む。
(800kくらいの設定で考えたので9命令クロック)
ワード数では1ループ8命令、次のロードで1命令で30ワード+α程度
たしかにPICのプログラムメモリはそれなりに潤沢
ちなみにこれをループさせようと思うと
shift colorR , left
decrementAndIf0Skip counter
jmp to front
mov W, 8
mov counter , W
が必要になる。
ループはこの時点で8クロックかかり、1クロック程度余るのかもしれないが、
この、次のロードに1クロック余分にかかるのが曲者で
TMRのループと非常に相性が悪い。この方法は使えないかもしれない。
IOを直接叩く場合、BSFが使えるため、Wレジスタが空く。
このため、カウンタをWに入れておけば、きれいに周期的な出力ができる。
IOを叩く場合、周期的である必要はないが。
だから、結論としては、延々長いアセンブラを書き、
8~9命令中4,5命令をなにかに使うか、
IOを叩くループを書いてプログラムを短く、ついでにタイミングを気にせず書くか、
の違いだ。 しかし、基本的にPICはWレジスタとの間の計算しか
ほとんどできず、細切れになった4,5命令で、Wレジスタが
揮発する状態で何ができるのかというとちょっと悩む。 あと、ループしないにしてもIOでも
BSF
BTFSS BCF
BCF
の必要なのは4命令なんだ。
場所はちゃんとしないといけないが。
Wレジスタは空くし、CCPのリソースまで何のために使っているかは
よくわからんとしか言えない。 ループ回すって書いてあるのに何でループ使わない前提になっているの? データ「0」ばっかり送るとか、「1」ばかり送るなら、
PWMでループすればいいと思います。 おそらく、私の考えとあなたの考えの間に理解のずれがあるようです。
私にはどういうループを短くする手段なのかわかっていません。
PWMを使う、LEDを操作する時点で、DUTYは変えないといけませんよね。
そのうえで、PR2も変えるというようなことを考えておられるのでしょうか。
変えることが可能なら、全体の転送時間は短くなりますね。
それがループを短くするということでしょうか。
しかし、単にDUTYを変えるだけで、4サイクルかかります。
PR2を変えるのにまた同じくらい時間を要しては、PR2を変えると破綻するだけで、
結局命令が足りずできない気がしています。 出力先がIOかDUTYの違いで大差ないと思うんだが
何か大きく変えなきゃいけない理由はあるんか? いえ、前の方がPWMで回したほうが効率がいいと言われるので、
比較してみただけです。
同じか、めんどくささを考えるとIOのほうがよさげです。 要するに、私がIOのアセンブラで書くと良いよ、と書いたのに対し、
PWMのほうが効率が良いと、レスが付いたものですから、
実際に書くとどう違うかちょっと考えて、
やっぱりIOのほうが良いだろうという結論を私は出しました。 大差ないのに同意しといてなんでPWMだと良くないのかが説明されててモヤモヤするな
ビットテストにとらわれてローテートでキャリーによる分岐が使えることを見落としている? 前提としてバンクセレクト不要にしたらLレベルの時間調整でnop入れる余裕があるでしょ?
そのループの中のnopを1つ削る
Lレベルの時間が不足する分はタイマで待たせる
削った8命令分を他のことに使う
バンクセレクト不可避とか前提が違うなら比較にならないからどうとでも言える なるほど、説明を省いたからPWMが良くない理由がよくわからないと。
デューティを変えるだけなら、IOもPWMも同じ命令数がかかる。
これはいいよね。
IOを使うと、Wレジスタを使わなくていい。
これがIOの1つのメリット。
デメリットは、IOだと位置が完全固定になること。
しかし、NOPで待たなければならない、とあるが、この1命令、
何か別のことに使ってもいいかもよ。
だから、使える命令の位置関係に制約があるけど、使える命令数は変わらない。
PWMの一番のデメリットは自走すること。
どこかで
TMR2ON=0
TMR2=X
TMR2ON=1
を入れないといけない。
そして、ちゃんと数えて、
PWMがちゃんとPWMとして機能するように命令を並べないといけない。
ONから数えて何番目だから・・・と最初を見つけ出すのが一番めんどくさいと思っている。
そして、「データ1」を送信するとき
1100000000
データ0を送信するとき
1111100000
この
11XXX00000
のXXXの部分でPWMのデューティサイクルを変えるようにしてしまうと
破綻が起こる。
ここを常に気にしながら、こまかーく設定をしていかないといけない。
繊細な人ならいいけど、いや、繊細な人にしても、いろんなパターンを入れて
テストしないとちゃんと動くって言えないかもしれないプログラムを書くのって
どうよって思う。
あとで何か変更したいとき、どうするの?
また、最初と最後にデューティ0を出力するか、しかるべき位置でタイマを止めなければならない。次のLEDにランしたまま引き継ぐと、どこでどうなってるのか意味がわからなくなる。
そして、PICの周辺回路を専有してしまう。
これもデメリット。
ところで、複数のLEDをつけて、送信することを前提に考えているから
これを関数化して呼び出したいわけだが、
そのときに何度もこの関数呼ぶことを前提に考えて、
この空き命令に何か処理させたいことって何なのか、
私にはちょっとわかんないんだけど。
以上。 ところで、TMR2ON=1って書くと、
その同じ命令サイクルでTMR2はカウントアップするの?
それとも次のクロックから?
同様にCCPR1L=Xって書くと、そのデューティが反映されるのは、
その命令と同時?
細かく仕様を知ったPICのプロフェッショナルになるならともかく、
めんどくさいことこの上ない。 >ビットテストにとらわれてローテートでキャリーによる分岐が使えることを見落としている?
これについてはわからないので、説明願いたいな あと、上に書いた内容は、
bit7から0まで、ループすることなく愚直にずらずらっと書くことを前提に
命令の余りの数などを書いている。
これをループで書くと、ループの制御に命令を食われ、
空き命令はほぼないことはご理解いただきたい。 あなたが賢いんだか賢くないんだか、私には少なくとも理解ができない
>Lレベルの時間が不足する分はタイマで待たせる
これについてももうちょっとよくわかるように説明してほしい。
どういうこと? 自分の言いたいことだけ言うんじゃなくて
もうちょっと読む人のこと考えて書いて貰えんかな
> デューティを変えるだけなら、IOもPWMも同じ命令数がかかる。
厳密に同じかは別としてそうね
> IOを使うと、Wレジスタを使わなくていい。
それはそう
> TMR2ON=0
> TMR2=X
> TMR2ON=1
> を入れないといけない。
うん、だから入れるよね?
使う前に準備して使い終わったら片付ける
日常生活でも基本だね
> 11XXX00000
> のXXXの部分でPWMのデューティサイクルを変えるようにしてしまうと
> 破綻が起こる。
> 同様にCCPR1L=Xって書くと、そのデューティが反映されるのは、
> その命令と同時?
PWMの動作の理解間違ってない?
デューティが反映されるのはタイマーがカウントアップした時だよ
あとはどのタイミングにデューティを書き換えても動作に関係ない
だからPWMの周期(10サイクル)より短い9サイクルでループを回してもいいよねってこと
> これをループで書くと、ループの制御に命令を食われ、
> 空き命令はほぼないことはご理解いただきたい。
だからIOと大差ないっつてるだろーが s/カウントアップ/カウントオーバー/
素で間違えた 自分の考えた方法で問題が無いなら変える必要はない
理解できない方法を無理に使う必要もない
でも理解できていないのに自分の理解の範囲で勝手に批評するな!
以上 なるほど、Dutyはそういうタイミングで更新されるんですね。
勉強になりました。
理解できていない、と言われると、まあ、そうなるのかもしれませんね。
しかし、完璧に理解しているかどうか、どうやって判断するんでしょうか。
自分は完璧だ、と思うことでしょうか?
無理だと思います。
批評というかですね、良いとか悪いは、私の意見です。
あなたの意見は違うかもしれません。
意見ですから。
それは言う自由があります。
理論的な正解はあると思っていますので、理論的に間違っていたら
指摘してください。それが勉強だと思っています。 教わり方を勉強した方が良いね。
なんかムッとする内容だったから。
じぁあね。 なるほどね。
私にはまだ難しいなぁ。
ま、ともかく私も勉強させていただきました。
ありがとうございました。 WS2812Bを制御するのにEUSARTのAsyncモードでできそう
内蔵クロック8MHzx4か16MHzx4ができるPICでボーレートを8Mbpsに設定すると
START:1+DATA:8+STOP:1で800kキャラクタ/秒になる
data 0: H375ns+L875ns 0 00111111 1 書き込みデータ0xfc
data 1: H625ns+L625ns 0 00001111 1 書き込みデータ0xf0
CKTXP=1にして論理を反転して送信する
キャラクタ間で10命令または20命令実行できる
試してないから間違ってるかも スタートビットとストップビットを信号の一部として使うアイデアは面白いけど
出力バッファ1キャラクタしかないから
RGB値1ビットずつセットする必要があるという根源的問題が残る
(割り込みを使うのが厳しいし他の処理がほぼできない)
PWMに対する利点がPWMを使わないくらい? そもそも最近のデバイスでCLCが使えないのって低コスト全振りのPIC16F152くらいじゃ?
老人の懐古趣味の世界 次はCLBで自由自在やね。 はーやくこいこい 13145シリーズ CLCを使ったやり方ってどうやるの?
ざっくりとでいいので教えてもらえませんか? >>466
なんかいろいろできそうだな・・・と思ったけど、最大で20ピン? 単機能周辺デバイスを作るのがおもなターゲットかな?
趣味用には遊べそうだけど。 USBオーディオDACを作っているがやっと動いた。とは言っても習作(安物AK4490REQ)なのだが
本番はAK4491EQ+AK4499EXEQで作る。チップ価格が高いのでまずはソフトテスト用環境構築。
・メインマイコン16F887
・ディスプレイマイコンPIC16F886
・COMBO384 I2C変換マイコンPIC16F88
AK4490REQでも1.8V内蔵レギュレータ使わないで外部供給にすると結構いい音でたまげたわ
https://i.imgur.com/dvuOo86.jpeg
https://i.imgur.com/DJiN44H.jpeg ピン数必要ならそれこそFPGAを使えばいいんじゃないの
単にGPIO増やしたいだけなら152シリーズ併用で
下手なGPIOエキスパンダより安いし
という訳で秋月で152シリーズを扱うようみんな要望出してくれ! >>472
言うだけ野暮だけど外部回路がキモならPICどうでも良くない?
もっと高性能で安価なUSB付きのマイコンボードあるじゃん
あとソフトテスト用環境とはいえノイズ対策はそれでいいの? >>474
DACのレジスタ設定がI2Cなんよ
PIC使っても良いだろ PICの得意領域にPICを使う←わかる
PICの苦手領域をあえてPICで挑戦してみる←わかる
PIC使っても良いところにPICを使う←で?
ってだけだよ >>473
件のとその辺のFPGAの底辺とを比べても、どえらい差があるでしょ。価格といいLUT数といい。
たくさんの入力の特定条件をわしゃっとハードウェアデコードしてPICに割り込みかけたい、とかにはピン数ほしいよ。 152てPIC16F152xx? これ、どんな特長があるんです? >>477
ピン数ほしいよって言ったところで現時点で無いもんは無いんだから…… 無ければPICから離れるだけのこと。
希望を述べてはいけない法も無し。 microchipは数百円のEEPLDを売ってて
> たくさんの入力の特定条件をわしゃっとハードウェアデコードしてPICに割り込みかけたい
みたいな一方通行でソフトウェア処理とのインタラクションが少ない用途は既にカバーしている
おそらく「その辺のFPGAの底辺」ってのが想定が違っていて
Microchip自身が力を入れ始めている小規模FPGAとは別に
LatticeのiCE40あたりの市場をターゲットにしていると思われる
もっと言えばルネサスがForgeFPGAとか言い出したから
「既存」の需要の確保、防衛として先手を打ったというところでは?
で、ForgeFPGAの量産品はいつ一般市場に出るんだろうか? 市場の反応が良ければ多ピンの品種にも展開していくんじゃないですかね。
ピンにアサインできる自由度も増えて。 >>481
数100円の「PICひとつ」でやりたいなぁ。安価、コンパクトが売りだと思っているんで。
数100円で100MHz超の32bitマイコンとか使える時代なんだし。もうハードウェア要らんかも、な処理能力になりつつある。 >>483
CLBが32個でマクロセルが4つみたいよ。 >>485
や、CPUコアの話ね
セル数は十分だから18か24シリーズで出してほしい
psoc好きで使ってるがコストとか消費電力とか色々いまいちなんだよね >>481
ルネサスは中国資本になって好調になったのでは? 何かと誤解してない? そしてだから何?
ForgeFPGAという製品の話であってルネサスという会社の話はしてない PICxxアーキテクチャって言うよね
あと古いPIC16とPIC16F1はだいぶ別物 みなさますみません。
知っている方が居られましたら教えて頂きたいです。
PIC16F1825を使用して、CCP4をシングルPWMで
出力しようとしています。CCP1〜CCP3まではシングルで
出力出来るのですが、CCP4だけなぜか出力出来ません。
試しにMCCで出力したコードを使用しても、CCP4だけ
出力されません。さらに、デバッグヘッダAC244043でも
同様でした。エラッタにも無いような気がします。
ピンが足らず、CCP4を使ったのが失敗でした・・・。 >>493
大体そうですよね。なので、いつもは使わないMCCを使ってみた。
設定すると、デューティ関係なくHi(100%?)が出る。タイマ及び
他の設定はもちろんCCP1〜CCP4全部同じです。CCP1とCCP3,
CCP2とCCP4がペアみたいになっていますが、CCP3は問題なく
単独で出力されるんですよね。 RC1 9 AN5 CPS5 C12IN1 CCP4 P1C(1)
これのCCP4って入力しかなくね?
CCP4の出力はModulatorのソースにしかなってないような >>495
うわー。ほんとですね。PINOUT DESCRIPTIONの表ではOutput Typeが
「CMOS」ではなく「ー」になってる。 逆に言えば無変調にしたらMDOUTから出たりせんの? MDOUTだとP1Bと同じ6ピンだから6ピンを使うならECCP1が使える ああ、そうか
じゃあP1Cで出力すればいいってことでは?
PPS対応のデバイスに移行した方が幸せな気もするが 皆様有難うございます。500Hzにして、分解能荒くなるけど、
ソフト処理でPWM出すことにしました。32段階ぐらいなら
いけるでしょ。空きピン無いし基板作ってしまったので
9ピンRC1で何とかします。
CCPx PWM x=1〜3とか書いてくれればいいのになあ。 DC24Vから1.8V作ってPIC動かしたいんだけど
PIC自身で降圧チョッパ動かした例ってある?
電池一本駆動の昇圧の例はあるんだけど 原理的にできるのは分かるんだけど
NMOSでやろうとするとゲート回路の電圧設計が結構繊細なんよね……
やっぱりスイッチングレギュレータIC使う方がいいのか NJW1933が秋月で80円だからなぁ
大きさもMOSFETと変わらんし
低電圧域は最新デバイスでも同期整流でも効率頭打ちだし PIC16F131ファミリーもPICkitminusでサポートされたようだね
肝心のデバイスが入手できてないが あと秋月でICD5入荷したな
どういう人が買うのか分からんが PICをこれから始めようと思っている者です
プログラミングの経験はありません
色々検索して後閑哲也さんのサイトにたどり着いて
CD付きのC言語の書籍を買おうかと思いましたが
内容的に古過ぎたり、本当に初歩的なことが書いていないような事が
レビューに書かれていたりします
価格等から12Fシリーズ辺りで始めたいと思っているのですが
これを読んでおけば良いというおすすめの書籍やサイトはありますか?
アドバイスいただければ幸いです
回路図はある程度読めます プログラミング経験がないってことはマイコンも初めてでしょ?
自分もPIC派だったんだけどさすがに今から始めるのにPICは勧めないな
ライタも高いし
Arduinoでもいいのでは ホビーならarduinoが簡単だね
仕事でやるならPIC18Qがいいんじゃない
本は色々穴があっても後閑さんのがいいと思う ありがとうございます
最終的には小型に作ったりしたいと思っています
ライターはPICKIT3を安い時に買ってます
本は現在のXCの時代のものでないのでそのまま使えないというようなのも見ました
Arduinoが簡単みたいですが、ハードが違うという事はこちらで始めてしまうと
PICで作りたいと思った時にそのままでは移行できないですよね?
C言語のルールとか恐らく当たり前の事はサイト等を見ても書いていないので、
各ファイルの役割とか基本的な事から書いてある物だと助かります
Arduinoだと良い本やサイトはありますか
基本から学ぶにはハードから見直した方が良いでしょうか? PIC32MZ2048EFでADC 16xオーバーサンプリングと980サンプルDMAしたいのだが、オーバーサンプリング中に何らかの割り込みが入るとオーバーサンプリング停止してしまうね。
DMAで各入力レイテンシーを最小にしたいと思ったが、うまくいかないものだ。
STM32H7ではこんなことは無いのに、PIC32はムズイ。 >>510
とりあえず適当な12Fのデータシートを読んでみては。web上でタダで見れるから。理解できそうならもうそれで行けばいいし、サポート欲しければ本買えばいい。
一歩踏み出してみないことには、どこまで理解できるのか自分でもワカランでしょ。他人が判るはずもない。 >>512
ありがとうございます
一応現物買ってデータシート読んで色々なサイトを参考にはしています
どこの行がどういう意味を持っているのかとかコピペでやって
コンパイルエラーが出た時の対処法とかを
見つけ出すまで凄く遠回りをしていると感じたもので
書籍を買うなりちゃんと勉強をした方が良いと感じました
とりあえずシリアルデータを読み取ってLEDを光らせるとかのレベルでいいと思っていますが、
中途半端に人の書いた物をかじって基本的なルールとかを知らないのだなと感じました
PCの組み立てや基礎的な電子工作は出来ると思います
バッチファイルの分岐云々で躓いたので、考え方が出来ていないと思っています >>513
意外に良いのがYouTubeです。
「PICでLチカしてみた」とかのタイトルでいろいろ出ています。
ソース(プログラム)も出ていたりするので、
画面を止めてゆっくり見えます。
おすすめしたい勉強法は、以下の通りです。
1. 最初はマネ
難しい理屈を考えようとせずに、人のまねをして、
その通りの回路で、その通りのプログラムを
何も考えずにベタでコピーして動くようにします。
2-3種類を何度も何度もやります。いわゆる体育会系的に行います。
すると、ツール(MPLABやPICKit)の使い方が覚えられます。
鉛筆と消しゴムは無意識に使えないと
国語の勉強ができないのと同じです。
2. 改造してみる
プログラムをまねて打ち込んでいると、なんとなく意味がわかってきて
「もしかしたら、こうしたらこうなるんじゃないか?」と
予想が立てられるようになります。
そうしたらプログラムの値を変えていじって結果を見て意味を考えます。
エラーで動かなくなってしまっても、動くものからの変更なので、
迷うことなく元に戻れます。
いつでもスタート地点に戻れる環境、これが大変重要です。
3. 自分で1からやってみる
上記2ができるようになるということは、
もうツールの使い方からプログラムまでできるようになったということです。
あとは自分で小さなプログラムを作ってみることです。
いろいろと作っていくと、だんだんプログラム文法の
わからないことが出てくるはずです。
その時は、ネットや本、それこそ後閑さんの本を読んで見てください。
知りたいことがはっきりしていますから、理解も格段に早いです。
アルデーノもいいですが、
最初は時間がかかりますが、ハードの製作を伴うほうが良いです。
ある地点で、それは突然にマイコン全体が見えてきます。
そこからの理解は、ハードが面倒だからとアルデーノから
スタートした人より、超スピードで理解が深まります。
これは実体験ですので、まちがいありません。 最初にマイコンを学ぶなら癖ツヨのPICを選ばなくてもいいと思います。 >>514
ありがとうございます
専用の書籍等があればと思いましたが
コピペがきかないので電子で・・・なんて思っておりました
どれも気軽に買える値段ではないのでしばらく見送りたいと思います
動画はほぼノーマークでした。
大きなヒントありがとうございます
元々ハードは好きでいじって来ましたがソフトは触れて来なかったので
やりながら繋がりを見つけて行きたいと思います >コンパイルエラーが
( ゚д゚)ハッ!
>価格等から12Fシリーズ辺りで始めたい
>最終的には小型に作ったりしたい
アセンブラだとばかり・・・ いまさらアセンブラもないでしょ。
Cでやっとけば、PICだろうがどれでも同じだよ >Cでやっとけば、PICだろうがどれでも同じだよ
今はバンクをまたぐような配列確保やポインタ加算に問題はないのかな。 PICやり始めたところだけど、勉強かねてアセンブラでやろうかと PICも色々あるけど、12FとかクラスでCはどうだろうと思う。 >>521
目覚めるもよし、辟易として高級言語に逃げるもよし。経験は血肉になるよ。 >>519
>今はバンクをまたぐような配列確保やポインタ加算に問題はないのかな。
そんなこと意識したことないな。Cのレベルに現れない。 昔のCCSは配列サイズに制限があったな
16F877で使ってた xc8はバンクとか無いので普通のCだわ。
出来ればC++で書ければ変数管理楽なんだが >>526
なるほど。
そのあたりの制約が無い(またはとても少ない)なら、C言語で取り組む限り、
「PICでマイコン入門」は問題なさそう。 メモリ次第ってのもあるな12F509とかROM1kW,RAM41Byteしかないもんな、まあこんなのもう使う奴いないだろうけど…
12FでもRAMが1kあるやつもあるからそれくらいならCで書いても何とかなるかもな Cでやるなら12Fでも4桁型番にしておいた方がいいかも ピン数少ないのはデバッガ繋がらないから入門にはいまいちじゃない? >>527
python使いたいならESP32あたりにしときな パイソンって、記述の位置とかを変えてはいけないんでしたっけ。 インデントがブロックに対応してるから固定といえば固定だな
煩いのはその位だけど if( a==1 ){
b++;
} else {
b=8;
}
と書いたり
if( a==1 ){ b++; }
else { b=8; }
とか書いたりしてるんですけど、それを許さないんですよね。
窮屈で、抵抗が1MΩくらいあります。 上の書き方しか通らないね
俺は気にならんけど好みに合わないときついかもね
ライブラリが揃ってるからネットに繋ぐ物を作るのはすごく楽だよ
あとは地味だけど文字列の処理が楽 好き嫌いとか印象で、好きだ嫌いだって言ってたら、自由奔放に取り残されるのが技術の世界ですね。 嫌いの感情が芽生えたら潰す方が、新しいものについていきやすい、って話ですよ。 遊ぶだけならPIC10F200をCで書いてもいいけどね 数年ぶりの久々にPICKit4を使おうとしたら、
Transmission on endpoint 2 failed (err = -109)
のエラーで全く使い物にならない。
以前使えていた時は同じパソコン筐体でWindow7で、USBポート(ドライバー)が3.0非対応だから2.0で通信していた。
今はWindow10にしていて、デバイスが対応していればUSB3.0通信が可能となっているのと
MPLABXを最新の6.20(前は5.45あたり)という違いがあります。
デバイスマネージャーを見ていると、firmwareを更新を開始して1分以内に
PICKit4が消滅して再表示されないので、更新処理に失敗していると思われる。
工場出荷状態に初期化は出来ているから、
USB通信に絡む部品が経年劣化しているのかな。
通信速度をLowにしても状況は変わらず。
もう純正品をやめて、PICerFTやPICKleを使おうかと悩み中。 >>544
一度PICkit4のファーム書き直してみたら?
あとUSBケーブルを変えてみる
あと、複数のUSBコントローラ使われてるMBなら違う系統のポートに繋いでみるとか