X



トップページ電気・電子
565コメント206KB

PIC専用のスレ Part 59 エラッタの話題も歓迎

0302774ワット発電中さん
垢版 |
2023/09/09(土) 20:32:25.56ID:EwR+ydt9
MCCでUARTの受信割込を設定しましたが、
最初の2文字くらい受信するとPICが固まってしまいます。
MCCの作成したソースでも、
受信割込フラグを自分でクリアしなければならないのでしょうか?
0303774ワット発電中さん
垢版 |
2023/09/10(日) 12:54:38.52ID:K7g9p4LE
>>299
プログラマー向けとされているフォントの場合は、0ODOや1Il|は区別しやすくなっているのはあるね。
ディスレクシア向けとは方向が違うけれど、用途に合わせてフォントは変えていいと思う。
0305774ワット発電中さん
垢版 |
2023/09/12(火) 12:44:17.19ID:jhLTiZvG
>>242
どうせ昇圧するならSPDTでいけるんじゃね?
片側のスイッチをダイオードに置き換えるというか
非同期のチャージポンプを単純に手動にしたイメージ
Vf分ドロップするが2Vは確保できる
待機電力は知らね
0306774ワット発電中さん
垢版 |
2023/09/13(水) 12:18:54.98ID:QGphUsUY
unsigned char c → 0〜255
signed char c → -128〜+127
char c の場合は、0x7fより大きい文字コードが記憶できますか?
文字に負の数は無いのでunsigned char で使ってきましたが、
strcpyとかを使いたいときは、charで宣言しなさいとあるのがよくわからないです
この辺を説明してある本(webページではなく)がありましたら教えていただけないでしょうか。
char に3種類あるならintでも3種類あるのかも知りたいです。
0308774ワット発電中さん
垢版 |
2023/09/13(水) 17:30:52.53ID:7tCNVwcE
char, unsigned char, signed charは全部違う形
charが符号付きか無しかは環境や設定依存

intはsigned int, unsigned intの2種類だけ
intとsigned intは同じ型
0309774ワット発電中さん
垢版 |
2023/09/13(水) 17:36:13.52ID:7tCNVwcE
XC8はcharは符号無し
XC16, XC32は符号付きが標準
設定で変更可能

符号無しは0〜255
符号付きは-128〜127
0310774ワット発電中さん
垢版 |
2023/09/13(水) 20:41:04.88ID:nh0JKd2Y
文字と数値は本来別物
符号付きとか気にする時点で既に危険な領域に足を踏み入れている

8bitの数値にはint8_tやuint8_tを使って
charは文字用(数値じゃない)と考えるのがイマドキの基本では
0311774ワット発電中さん
垢版 |
2023/09/13(水) 21:49:16.09ID:dONVLJEt
シリアル通信のバッファは8ビットで考えたい。
文字列関数はcharで扱いたい。
そんなジレンマを抱えているのでは。

パソコンアプリの場合だと、通信そのものは8ビット単位なのに、
文字列の内部表現は基本が16ビットということもあるけれど、
マイコンだと通信単位も文字列も8ビットであることが多いと思う。
0312774ワット発電中さん
垢版 |
2023/09/13(水) 22:21:01.07ID:nh0JKd2Y
だから文字を数値(整数)と思わなければ
そんなジレンマ存在しないよね、と

シリアル通信のバッファは8ビットで考えたい。
数学関数はfloatで扱いたい。
そこに何のジレンマもないように
0313774ワット発電中さん
垢版 |
2023/09/13(水) 22:26:18.64ID:QGphUsUY
ありがとうございます。

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" ); のように、出力先が決められるコンパイラだといいのですか。
0314774ワット発電中さん
垢版 |
2023/09/13(水) 22:32:42.58ID:dONVLJEt
ジレンマを抱えてはいけない、という結論に導かねばならないってことはないしね。

charをfloatで譬えるのはかまわないが、たとえはたとえでしかない。

ANK文字だけを扱う環境下なら、実質的に「通信で使うバッファ内のデータ列」≒「文字列」ということもあるだろう。
必要に応じてキャストするだけでもいいのでは。
0315774ワット発電中さん
垢版 |
2023/09/13(水) 23:10:35.07ID:nh0JKd2Y
いや、キャストするななんて言ってないし
floatだってキャストするだろ?
文字列の場合だけ「キャストする『だけ』」みたいな
特別視をする必要がないと言っている

間違った解釈をしているから訂正したのであって
主義主張の正しさについて議論する気はない
0316774ワット発電中さん
垢版 |
2023/09/14(木) 07:22:23.45ID:e9mWVGId
たとえば、シリアル通信で送られてきた文字データ列を、内部の文字列を前提としたポインタにキャストして成立するのって、
ANK文字をはじめとして、シリアル通信で扱う文字と、内部の文字の文字コードが同じであるという特殊な場合に限られています。
そのばあいだけに使えるので、部分集合なケースであると思います。

floatのバッファのポインタに、整数として意味を持つ整数配列のポインタをキャストするのはしたことがありません。
0317774ワット発電中さん
垢版 |
2023/09/14(木) 08:55:03.52ID:tS04BaO6
floatの例は整数からの変換じゃないのでは?
floatが整数でないようにcharも整数ではないと思え
ってのが>>310の話なので。
0318774ワット発電中さん
垢版 |
2023/09/14(木) 09:55:46.12ID:e9mWVGId
string系の関数を使うという文脈なのでバッファのポインタの話だと認識していました。
その上で「floatだってキャストするだろ?」とあるように「する」と書かれているので、そうなのか、と思った次第です。
floatのキャストの話はポインタの話からは外れています、ということでしたらそれでいいです。
短文メッセージのやりとりなので、文脈の解釈が明示的に行われないことはやむをえません。

値の話になりますが、文字取得の関数では、戻り値は文字ですが、int型の場合があります。
その場合は、int型変数で受けて、あとからchar型変数に代入することになります。
わりかし機械に近い部分のプログラムができるC言語だし、整数と文字は意識して行き来するのではないかと思います。
0319774ワット発電中さん
垢版 |
2023/09/14(木) 10:19:54.81ID:eKc9sVm+
センサの時系列データとかfloatだってC++でいうところのreinterpret_cast使うよ
そして使える条件があるのもANK文字と何ら変わらない
自分がやったことないからといって想像で書かれてないことを捏造するのは良くない
0320774ワット発電中さん
垢版 |
2023/09/14(木) 10:27:38.29ID:9y9h+jL3
変数とポインタのキャストは違う、後者は記憶領域を無理矢理指定するからな。
あとキャストしてもどうにもならないのがビッグとリトルのエンディアンだな。
0321774ワット発電中さん
垢版 |
2023/09/14(木) 11:27:35.49ID:e9mWVGId
ポインタのキャストだしね。
0322774ワット発電中さん
垢版 |
2023/09/14(木) 22:07:01.88ID:XJe+KNLo
charは数値じゃないの?

PICのXC8で、
x = 'A' + 1とかよくやるんだけど。
これは文字を数値とみなしているとは言わないのか?

なんかWindowsのC#ですら同じ演算をしたことある・・・
int data = str[i] - 'A' + 10みたいな

やり方間違ってるのか?
0323774ワット発電中さん
垢版 |
2023/09/14(木) 22:57:29.85ID:e9mWVGId
究極的には合理的に期待通りの動作をするのなら、間違いではないのでは。
0324774ワット発電中さん
垢版 |
2023/09/14(木) 23:03:51.75ID:wc12w5t+
>>322
バイナリ数値から文字数値(?)に変換するときの使いますよね。
Aから上は困るんですけど。
0325774ワット発電中さん
垢版 |
2023/09/14(木) 23:18:50.09ID:tS04BaO6
正しいかはコードの意図が分からないと評価できないが
少なくともC#ではcharは整数型と区別されたので
コードはともかく理解としては間違いだと思う
0326774ワット発電中さん
垢版 |
2023/09/14(木) 23:31:03.30ID:e9mWVGId
C#の世界だと、エンコーディングの概念が入ってきて、それをライブラリに任せるのが前提じゃないですかね。
マイコンで同じ考え方を適用するかどうかは条件次第。
前提となる条件を細かに設定せずに一律に間違いというのはおかしいし、もちろんいかなる場合でも
間違っていないというのもおかしいと思います。
ポータビリティの話を出す人もいますが、ポータビリティも絶対的に高い優先度の正義でもありませんし。
0327774ワット発電中さん
垢版 |
2023/09/14(木) 23:37:01.34ID:tS04BaO6
NULLは整数の0か?ってのと同種の問いかと
やっとCにもnullptrが導入されるんだね
0328774ワット発電中さん
垢版 |
2023/09/14(木) 23:38:11.29ID:e9mWVGId
char変数一つで一つの文字を管理できるとは限ってないし、そういう場合は範囲判定とか足したり引いたりシフトしたりのような
演算の対象になると思います。
0329774ワット発電中さん
垢版 |
2023/09/15(金) 08:37:20.68ID:r9HHQAbK
>>322
"0123456789ABCDEF"[n]
とかやったりする
要するにテーブル

8bit PICだと普通にやった方がいい
0330774ワット発電中さん
垢版 |
2023/09/15(金) 15:27:08.58ID:GhElq6RN
助けてくれ
0331774ワット発電中さん
垢版 |
2023/09/15(金) 15:32:21.40ID:GhElq6RN
環境がMPLAB X IDE6.15 XC8 2.45
PIC18f2320 pic programer +で書き込んでいるのですがちゃんと書き込めません
0336774ワット発電中さん
垢版 |
2023/09/15(金) 15:55:32.87ID:GhElq6RN
教えてください
0337774ワット発電中さん
垢版 |
2023/09/15(金) 15:57:52.14ID:GhElq6RN
このプログラムを書き込んでるのですが、なぜかこうなります
一度フラッシュメモリを消去して書き込んでみたのですが、こうなります
原因を教えてください
0338774ワット発電中さん
垢版 |
2023/09/15(金) 15:58:36.04ID:GhElq6RN
一応書き込んでいるもは、正しいと思います
0340774ワット発電中さん
垢版 |
2023/09/15(金) 20:20:58.80ID:ti6bDvU+
やれやれ、コンパイルしてるプロジェクトが違うだけでは?
太字のプロジェクトがコンパイルされて転送されるよ。
0341774ワット発電中さん
垢版 |
2023/09/16(土) 00:10:33.08ID:4qum0f0g
0340 すいません、太文字で書いてあるプロジェクトもこれと同じプログラムです。
0342774ワット発電中さん
垢版 |
2023/09/16(土) 01:33:26.83ID:AIJR3kl+
>>330
書き込みがうまくいかないなら、MPLAB X IDEのOutputに
何らかのエラーメッセージが出てると思うのだけど
その部分のメッセージ位はわかるように画像を上げてほしい

あと、PIC書き込み装置とPICの接続状態の画像(写真)もあったほうが良い

あと書き込み時の電源供給状態
書き込み装置からの供給 or 他からの電源供給
0343774ワット発電中さん
垢版 |
2023/09/16(土) 07:49:36.62ID:W2B7rkga
Arduinoから電源供給してるのかな?
「こうなります」と>>337にかいてあるけど、その「こう」がどんな状況なのか、みっちり説明されてない。なぜだー。

写真にくわえて接続図も必要。撮影の角度や照明で不完全になりがち。手書きでもいいから、接続の様子を相手に伝える誠意を見せよう。
めんどうだろうけれど、答える人は質問者のために時間も労力もかけている。質問者がめんどうさを避けることは許されない。
0345774ワット発電中さん
垢版 |
2023/09/16(土) 10:37:59.94ID:VuB66Z+A
最初から問題解決する気がないんでしょ
騒ぎたいだけ
時間の無駄
0346774ワット発電中さん
垢版 |
2023/09/16(土) 17:32:45.92ID:4qum0f0g
すいません、ありがとうございました。pickit3を使って書き込んだらうまくいきました。
ありがとうございました
0347774ワット発電中さん
垢版 |
2023/09/25(月) 12:26:40.70ID:jeXM7+PV
PICKit3とPICKit4、書き込める対象のPICコレだ
みたいな一覧表になってるページってありますか?
0349774ワット発電中さん
垢版 |
2023/09/25(月) 14:40:42.50ID:jeXM7+PV
すみませんが、どこにあるか教えてください。
Microchipのホームページの中でしょうか?
0350774ワット発電中さん
垢版 |
2023/09/25(月) 15:14:20.74ID:jeXM7+PV
>>348
ありがとうございました。
自己解決しました
0351774ワット発電中さん
垢版 |
2023/09/25(月) 18:29:04.39ID:jeXM7+PV
17000円もするPICKit5って、何者でしょうか?
PICKit4ではダメなのか。
0352774ワット発電中さん
垢版 |
2023/09/25(月) 21:03:27.01ID:fpZlnvku
PICKit4と5に大きな価格差ってあったっけ。
ダメとか以前に、4は製造中止とのことなのでそのうち入手できなくなると思う。
0353774ワット発電中さん
垢版 |
2023/09/25(月) 21:34:08.61ID:jeXM7+PV
ありがとう。PICJit5ができた理由は、AVR対応でしょうか?
0354774ワット発電中さん
垢版 |
2023/09/25(月) 21:51:43.06ID:fpZlnvku
>理由
そこはぼくはわからない。使えるもの、入手できるものを使う立場でしかないし。

デバッガではなく、PCを使わないでプログラマとして使うときに、Bluetooth接続でスマホで操作できる、という話は
どこかで読んだ。ぼくは、個人的にはそういう使い方を現時点では想定しないのであまり関心はない。


pickit4 pickit5 compare

で、ぐぐってみたらわかることもあるのでは。
0355774ワット発電中さん
垢版 |
2023/10/12(木) 18:36:29.68ID:OWPH5DRb
先日ネットの繋がらないところでMPLABとMCCを起動したら、
ネット無しではダメと言われ起動しませんました。
そういうもんですか?
0356774ワット発電中さん
垢版 |
2023/10/12(木) 18:56:14.58ID:fVucZ94I
MPLAB X IDEはオープンソースのNetBeansとかいうのがベースになってるからじゃない
Xの付かないIDEなら違うのかな
0357774ワット発電中さん
垢版 |
2023/10/13(金) 15:27:13.71ID:s/y+Vk7h
>>355
試しにPCのネット無効にしても普通に起動してMCC Classicで生成できたから何か環境によるんじゃね?
0358774ワット発電中さん
垢版 |
2023/10/13(金) 17:35:29.63ID:YxBsVIPJ
>>356 357
ありがとうございます。
ネット無かったら起動してやらねーよ、とメッセージが出たので、
Wifiつないだら出来たんです。
おれかんですかね。
ありがとうございました。
0359774ワット発電中さん
垢版 |
2023/11/03(金) 23:23:24.71ID:ZRa9DLnp
秋月でPICkit5の扱いが始まったな
特段安いということもなく買う予定もないが
0360774ワット発電中さん
垢版 |
2023/11/04(土) 12:13:13.50ID:n01517l8
I2Cバスにスレーブ8個の制御基板をPIC16F88で作ったけど
SSPCON2レジスタが無くてサブルーチンでエラーが出てハマった
88のI2Cはスレーブだけなんだな 使えね~(笑)
16F886で基板を作り直すか くそ~
https://i.imgur.com/SavSx9b.jpg
0361774ワット発電中さん
垢版 |
2023/11/04(土) 12:29:40.52ID:4aWr5/E8
マスターなんかソフトでいいだろ
クロックストレッチをはしょれば楽ちん
0362774ワット発電中さん
垢版 |
2023/11/04(土) 12:34:10.39ID:n01517l8
>>361
ソフトI2Cも検討したけど
スレーブ1個ならいけるだろうけど8個なのでハード的なトラブルを恐れている
ポートをオープンドレインにできないよね
0364774ワット発電中さん
垢版 |
2023/11/04(土) 13:37:27.47ID:/cSlcp4R
>>363
「出力を0にしておいてTRISのビット制御でオープンドレイン出力を作れる」
ということが>>362に伝わったのかな?
0365774ワット発電中さん
垢版 |
2023/11/04(土) 14:07:27.82ID:n01517l8
>>364
理解してるよ
入力でハイインピをオープンドレイン代用にするんだろ
もう作り直しているからソフト対応は辞める方向で
0368774ワット発電中さん
垢版 |
2023/11/04(土) 22:17:29.32ID:m9BOFkTD
PCIバスのサスティンドトライステートだな。プルアップ抵抗必要な、
0369774ワット発電中さん
垢版 |
2023/11/04(土) 22:40:02.65ID:n1ksgzP3
>>367
基板切断がキレイだけど、どうやって切断してる?
切断面もヤスリかけてるね。さらに角部もC面取ってる。
やるな。
0370774ワット発電中さん
垢版 |
2023/11/04(土) 23:56:53.69ID:/cSlcp4R
なかなかこうは綺麗に切れないな。
ブロワで温めておいてからハサミでばちーんって切ってるけれど、断面はささくれてしまう。
もっともささくれることで、ヤスリ仕上げもさくさく進む。
0371774ワット発電中さん
垢版 |
2023/11/05(日) 00:01:13.38ID:OxqfaGPz
>>368
>PCIバスのサスティンドトライステートだな。

>>363の方法は、ごく単純なオープンドレインですよ。
おそらく昔ながらのI2Cの話題なのでそこまで要求はされてないはず。
(プルアップは前提だし)
0372774ワット発電中さん
垢版 |
2023/11/05(日) 02:38:18.02ID:CZ9nMjdg
>>370
サンドペーパーを貼り付けた木の板で仕上げると楽に研磨できるよね。
基板の端部はそのままでもいいかなと思うけど、角部はケガするので
C1〜2で面取りしてます。

ユニバーサル基板の切断位置も、ひとそれぞれみたいですね。
穴で切る人もいれば 穴と穴の間で切る人。
0373774ワット発電中さん
垢版 |
2023/11/05(日) 07:33:44.01ID:7y/wBvdV
> 穴で切る人もいれば
穴列で割る・・・横着者もいますよ。カッターは入れるけどね。

> サンドペーパーを貼り付けた木の板で仕上げると楽に研磨できるよね。
建築屋とか建具屋とかでは基本ですね。ロールのやつだと糊も付いてて便利。
0375774ワット発電中さん
垢版 |
2023/11/06(月) 13:52:19.68ID:Hu9hwom1
>>374
写真見ました。スゴいですね。
オシロはDL-1740、半田ごてはFX-888Dじゃん。
0376774ワット発電中さん
垢版 |
2023/11/06(月) 18:41:19.16ID:Wjlg2cXZ
この写真のどこからオシロと半田ごての型番がわかるのか・・・
PICKitは見えるけど3か4かわからない。3か?
0377774ワット発電中さん
垢版 |
2023/11/06(月) 21:31:18.44ID:mLMCwsmL
医師になるのは、めちゃくちゃ簡単だよ。
どんな医大でも家試験の合格率7割以上はあるし、自治医大以上ならほぼ100%。

弁護士の場合は難関ロースクールを卒業しても、家試験を通るのは10%程度。

医師国家試験の合格率ランキング見てみ。
一番低い杏林大学ですら、79.4%。

奈良県立大以上の偏差値の25校は95.0%超え。

これのどこが難関試験なの?
医学部に学費を支払える財力のハードルが高いだけで、医師にはバカでもなれる。

弁護士、司法書士、会計士、英検1級あたりは、バカには絶対に無理。

まとめると
医師国家試験→バカでも受かる。しかし、医学部6年間で1,000万以上かかる学費のハードルが高い。
司法試験→ロースクール卒業しても、合格できるのはごく一部。非常に難関な試験。
司法書士→ロースクールに行かなくても受験できるが、難易度は司法試験並み。
英検1級→英語がずば抜けて優秀でないと合格できない。英語の偏差値100必要。(実際にはそんな偏差値はないが)
会計士→おそらく、最難関試験か。会計大学院修了者の合格率は7.6%しかない。
不動産鑑定士→鑑定理論が地獄。単体の科目としては最難関の一つ。経済学などは公務員試験より簡単か
0379774ワット発電中さん
垢版 |
2023/11/07(火) 02:25:12.61ID:cBYhfWBU
>>378
赤いUSBケーブルが見えてるから、3確定でしょ。

それより、赤と黄色の湾曲した物が何だかわからない。
ルーペの樹脂フレームのようにも見えるが、
2つも必要とは思えないし。
0380774ワット発電中さん
垢版 |
2023/11/07(火) 06:46:27.00ID:2aMkX356
本筋と違うところで特定に走るのは詮索趣味。運が悪いと田舎ぐらしで遭遇するやつ。ほどほどって大切。
0381774ワット発電中さん
垢版 |
2023/11/07(火) 12:26:44.85ID:jJRyzR48
ストーカーは瞳に映った景色で部屋を特定するらしいけど
ハンダに映り込んだ画像を解析して個人を特定されたりして
0382774ワット発電中さん
垢版 |
2023/11/07(火) 13:31:03.26ID:OD826XxP
>ストーカーは瞳に映った景色で部屋を特定するらしいけど
本当にそんなこと出来るんですかね?
0383774ワット発電中さん
垢版 |
2023/11/08(水) 03:02:24.77ID:Y6QNo0a/
5chに写真上げると隈なく見られるから
・机の上を掃除をする
・余計なものを排除する
・撮影後よく確認する
・必要最低限の解像度に下げる(もしくは故意にピントをずらす)

上記の様な手順を踏んでから写真うpしないといけない( ;∀;)
0385774ワット発電中さん
垢版 |
2023/11/13(月) 12:50:54.61ID:XcgNPpSI
PICKIT5高いと思ったらPICKIT4も高く(倍くらい)になっている
2019年春のを見たら五千〜六千円くらいだった
0386192
垢版 |
2023/11/13(月) 15:10:43.65ID:8wDXIYnJ
>>385
3と5の違いは何?
0387774ワット発電中さん
垢版 |
2023/11/13(月) 18:59:15.84ID:XcgNPpSI
秋月で買ったときは六千円もしなかったのに
今15700円もするし最新のPICkit5は17800円
0388774ワット発電中さん
垢版 |
2023/11/13(月) 22:10:41.06ID:PrHz5myN
秋月でPIC16F18444-I/Pの取り扱い始まったけど
要望の受け入れ基準がよくわからんな
老朽取替というには新しすぎるし新規で使うには特長がない

それより低コストの16f152シリーズもっと普及してくんないかな
0389774ワット発電中さん
垢版 |
2023/11/14(火) 08:22:21.12ID:ulbNYYob
>>388
ぼくもそれをあえて入れる意義がわからなかった。
ただ、PICはプログラマというかデバッガがやたら高くなったな。SNAPでも結構なお値段になってしまった。

新規参入の減少に加速がかかりそう。
というか、Microchipも入門者がPICを使うことを期待してないような気がする。
0390774ワット発電中さん
垢版 |
2023/11/14(火) 10:07:21.83ID:tZLgOTJP
未だにこのクラスの新製品が出るほうが驚き
新規の回路設計で採用されることはあるんか?
0391774ワット発電中さん
垢版 |
2023/11/15(水) 08:24:12.63ID:o8BAroel
389だけど、PIC16F18444 は、いままでの PIC16F のいいとこどりの総まとめみたいなチップという気もする。
USBは載ってないけど、PIC16F でUSBをやる事例がへってきたのかな。
0392774ワット発電中さん
垢版 |
2023/11/16(木) 09:01:05.38ID:M6JE0pc8
PICって、一体何種類あるんでしょうか?
多いですね
0393774ワット発電中さん
垢版 |
2023/11/16(木) 23:41:37.96ID:eo7kEvXm
>PIC16F18444
え? と思ってググったら本当にあった。
何桁まで増やすんだよ。
わしの時代はPIC16C84とかシンプルじゃったぞ。
0395774ワット発電中さん
垢版 |
2023/11/17(金) 18:12:49.83ID:6O6mFz6y
私の「初めてのPIC」は16F84で、
それがそのまま「最後のPIC」になってしまったw
0396774ワット発電中さん
垢版 |
2023/11/17(金) 18:33:03.33ID:oZo7HRhE
12Cや16Cが付くやつはたいていワンタイム品で開発は別途窓付きが必要ていうイメージがあったけど
16C84は窓付き品じゃなくても消去できるんだったな
0397774ワット発電中さん
垢版 |
2023/11/17(金) 20:00:48.10ID:h+flCzjF
>>396
知らないの?
0398774ワット発電中さん
垢版 |
2023/11/17(金) 20:02:33.15ID:vzHgXkiS
ワンランク下の16C5x、定番ペリフェラルしか載ってない16C6x、ADC載ってる16C7x、EEP-ROMで窓無しの16C84。
実にシンプル。プリンタポートで書き込みしたものよ・・・
0400774ワット発電中さん
垢版 |
2023/11/18(土) 17:21:56.34ID:WEXZZ95p
>>399
「ケ」の文字がもう1つだね。縦線の最後は左に曲げた方が良いと思うな。
0401774ワット発電中さん
垢版 |
2023/11/19(日) 23:07:39.87ID:1oAwxNsS
18444なんとなく買ってみたw
なんとなくあたりを見回して10点LEDレベルバーを見つけたので買ってみた
8ピンpicならどうドライブしたらいいのか悩んでる
18444なら足は足りるが8ピンならどうすればいいのか?!
0402774ワット発電中さん
垢版 |
2023/11/20(月) 17:59:24.52ID:WrjopIWY
4ピンあれば12個のLEDをコントロールできる。
3ピンでも多少の事に目をつぶれば同様にできる。
もしくはhc595を好きなだけ繫げ
0404774ワット発電中さん
垢版 |
2023/11/20(月) 23:09:47.81ID:lmHVRW9M
PIC10F200の3I/O+1Inputで6個のLEDと1個のスイッチを制御するのは定番だな
0405774ワット発電中さん
垢版 |
2023/11/21(火) 21:00:38.25ID:4aeNLsfM
もはやシフトレジスタとかカウンタICよりマイコンの方が安かったりするんだがね
0406774ワット発電中さん
垢版 |
2023/11/21(火) 23:09:55.03ID:ADZqgVJv
>>405
少ピンマイコン工作にそれはヤボじゃないですか。
制約のもとで作るスポーツ的な楽しみや、型を重んじる芸事の世界に通じるものだし。
0407774ワット発電中さん
垢版 |
2023/11/22(水) 07:23:23.26ID:QA/xBZcC
>>406
それは野暮 の それとは、何を指しますか?
0408774ワット発電中さん
垢版 |
2023/11/22(水) 08:30:38.09ID:6rOSQuYu
>>407
「それ」

「『もはやシフトレジスタとかカウンタICよりマイコンの方が安かったりするんだがね』というコメント」
です。
0409774ワット発電中さん
垢版 |
2023/11/22(水) 08:47:38.73ID:num7IlVd
部品コストと実装面積の制約のもとで作るスポーツ的な楽しみだってあるんで夜露死苦
0410774ワット発電中さん
垢版 |
2023/11/22(水) 20:35:01.47ID:FNrG637q
むしろ侘び寂びの世界だな
ちょっと黒ずんだリードとか光沢のないセラミックパッケージとか…
0411774ワット発電中さん
垢版 |
2023/11/24(金) 13:31:26.22ID:ns8aEE7k
HC595も普通に使うとData, Shift Clock, Latch Clockの3線いるけどこれを2線や1線でやるやり方とかあるし工夫する余地はいくらでも
0412774ワット発電中さん
垢版 |
2023/11/24(金) 19:17:50.58ID:DkerHECR
でも結構メンドクサイ・・・
0413774ワット発電中さん
垢版 |
2023/11/25(土) 03:35:14.81ID:kzvFSOvX
>>411
1線の方法を教えてください。
できるわけないのに。
0415774ワット発電中さん
垢版 |
2023/11/25(土) 07:58:06.93ID:EkKmI+be
こんな感じかな?

Data, Shift Clock
[ダイオード+CR]の微分回路で1線で シリアルデータとクロックを作れる。
データ兼クロックのラインは、Lの時間でH/Lを切り替えられる。
まず、立ち下がりエッジでLに落ちてチャージとともに上がっていく信号を作る。
立ち下がりからすぐに立ち上げたらLをサンプリングできる。
立ち下がりから時間が経過したあと立ち上げたらHをサンプリングできる。

Latch Clock
データ兼クロックがLのあいだCを急速にディスチャージしてHのときにゆっくりチャージする回路も[ダイオード+CR]で作れる。
これで、速いパルスの連続の間はL、それがなくなったらHになる信号を作れる。

特にLatch Clockはシュミットトリガを通したいな。
0416774ワット発電中さん
垢版 |
2023/11/25(土) 10:01:38.84ID:rktvisL3
「HC595 1ピン」でggrks >>413
0417774ワット発電中さん
垢版 |
2023/11/25(土) 10:08:17.61ID:rktvisL3
>>415
ラッチクロックはあまり気にする必要ない気がする。
余計なシフトは困るけど。
0418774ワット発電中さん
垢版 |
2023/11/26(日) 07:03:26.92ID:BMC7WzFl
>>417
>ラッチクロックはあまり気にする必要ない

たしかに。閾値付近で複数回の立ち上がりとして認識されても問題はないだろうね。
0421774ワット発電中さん
垢版 |
2023/11/26(日) 14:20:57.70ID:h9K9iuxV
>>420
シンプルなのですが、このやり方だと1bit分(QA)を使わない事で解決してると思うので
全ての出力を使うなら420さんの様な方法になると思います
0423774ワット発電中さん
垢版 |
2023/11/27(月) 22:33:55.20ID:BsvZvvX5
途中経過が出てしまわん? >>422
0424774ワット発電中さん
垢版 |
2023/11/27(月) 23:20:42.39ID:M09c5aG+
>>423
すまん、画像(グラフ)だと抵抗等の定数がいい加減すぎて、閾値に対して余裕がない感じですね
RCK(LD)の抵抗を大きくするかキャパシタの容量を増やせばもっと余裕ができると思う
0426774ワット発電中さん
垢版 |
2023/11/29(水) 18:26:25.58ID:hYGR153n
入力寄生容量使えば、抵抗2本とキャパシタ1個でいけるか。ラッチにすんごく時間かかりそうだけど。
かかるの嫌ならD使って、もっと速めたければピン増やせ、と。
0427774ワット発電中さん
垢版 |
2023/12/23(土) 18:54:54.22ID:pr3SWEQU
I2CのEEPROMが書き込みできる、ROMライターを探してるのだけど
色々探してるのですが、良いのがないので
知ってたら教えてください。
ROMは、AT24C02を書き込みます。
0428774ワット発電中さん
垢版 |
2023/12/24(日) 20:53:52.32ID:ybnyPvj2
ここPICのスレなんだけど……
PICで読むならPICで書けばいいんでは?
そもそもI2CのEEPROMのライタなんて大差ないと思うんだが
良い悪いの判断基準(要件)は何?
0429774ワット発電中さん
垢版 |
2023/12/25(月) 02:35:54.11ID:OETxYld2
CH341Aなんちゃらっていうやつが安くていいんじゃない?
書き込みアプリは探さないといけないけど
0430774ワット発電中さん
垢版 |
2024/01/20(土) 19:14:45.55ID:bXscAYQk
WS2812Bを3.3Vで動かしている例があるようだけど
無点灯のとき実力として何Vで停止するの?
0432774ワット発電中さん
垢版 |
2024/01/20(土) 19:39:36.45ID:bXscAYQk
CLCの無いデバイスでWS2812Bを制御する場合
1bitごとの割り込みだと
(今何個目の何ビット目とかの)ステートの保存で余裕がないけど
やっぱり割り込み使わずに命令サイクルだけでタイミング調整するのが無難?
0433774ワット発電中さん
垢版 |
2024/01/27(土) 17:35:54.76ID:gyKVeDaT
8bitマイコンで、32MHz(FOSC/4 = 8MHz)の話してる?

割り込みじゃ無理だと思う。
アセンブラ使って実装したよ。
0435774ワット発電中さん
垢版 |
2024/01/31(水) 07:20:05.11ID:NSbzF/33
作ってみたらわかるんだが、32MHzでも2インストラクションしか
ONの1状態には時間がないから、PWMでも結局タイミングを合わせて使わないといけない。

それをするなら、直接IOを叩いたほうが効率的
0436774ワット発電中さん
垢版 |
2024/01/31(水) 23:28:59.35ID:+oXMn1vw
効率の考え方の違いだけのような?

PWMを使うと脱調しない範囲で本来の出力周期よりループを早く回せる
節約できるのが1命令だけでも8bit単位のループで8命令稼げる
ループの中の1命令ではほぼ何もできないが
ループの外の8命令なら色々できる

逆にそこまで頑張る必要がないなら労力として非効率とも言える
0437774ワット発電中さん
垢版 |
2024/02/01(木) 20:14:11.30ID:7N2W+6HX
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を叩くループを書いてプログラムを短く、ついでにタイミングを気にせず書くか、
の違いだ。
0438774ワット発電中さん
垢版 |
2024/02/01(木) 20:20:10.64ID:7N2W+6HX
しかし、基本的にPICはWレジスタとの間の計算しか
ほとんどできず、細切れになった4,5命令で、Wレジスタが
揮発する状態で何ができるのかというとちょっと悩む。
0440774ワット発電中さん
垢版 |
2024/02/01(木) 20:41:49.71ID:7N2W+6HX
BCF
BCF
の必要なのは4命令なんだ。
場所はちゃんとしないといけないが。

Wレジスタは空くし、CCPのリソースまで何のために使っているかは
よくわからんとしか言えない。
0441774ワット発電中さん
垢版 |
2024/02/01(木) 22:56:56.76ID:YGKGfXRT
ループ回すって書いてあるのに何でループ使わない前提になっているの?
0443774ワット発電中さん
垢版 |
2024/02/01(木) 23:07:25.52ID:7N2W+6HX
データ「0」ばっかり送るとか、「1」ばかり送るなら、
PWMでループすればいいと思います。
0444774ワット発電中さん
垢版 |
2024/02/01(木) 23:19:27.24ID:7N2W+6HX
おそらく、私の考えとあなたの考えの間に理解のずれがあるようです。

私にはどういうループを短くする手段なのかわかっていません。

PWMを使う、LEDを操作する時点で、DUTYは変えないといけませんよね。
そのうえで、PR2も変えるというようなことを考えておられるのでしょうか。

変えることが可能なら、全体の転送時間は短くなりますね。
それがループを短くするということでしょうか。

しかし、単にDUTYを変えるだけで、4サイクルかかります。
PR2を変えるのにまた同じくらい時間を要しては、PR2を変えると破綻するだけで、
結局命令が足りずできない気がしています。
0445774ワット発電中さん
垢版 |
2024/02/01(木) 23:28:40.10ID:YGKGfXRT
出力先がIOかDUTYの違いで大差ないと思うんだが
何か大きく変えなきゃいけない理由はあるんか?
0446774ワット発電中さん
垢版 |
2024/02/01(木) 23:36:12.50ID:7N2W+6HX
いえ、前の方がPWMで回したほうが効率がいいと言われるので、
比較してみただけです。
同じか、めんどくささを考えるとIOのほうがよさげです。
0447774ワット発電中さん
垢版 |
2024/02/01(木) 23:41:52.31ID:7N2W+6HX
要するに、私がIOのアセンブラで書くと良いよ、と書いたのに対し、

PWMのほうが効率が良いと、レスが付いたものですから、

実際に書くとどう違うかちょっと考えて、
やっぱりIOのほうが良いだろうという結論を私は出しました。
0448774ワット発電中さん
垢版 |
2024/02/02(金) 00:03:48.53ID:gOW1Y7aL
大差ないのに同意しといてなんでPWMだと良くないのかが説明されててモヤモヤするな
ビットテストにとらわれてローテートでキャリーによる分岐が使えることを見落としている?
0450774ワット発電中さん
垢版 |
2024/02/02(金) 01:11:36.08ID:gOW1Y7aL
前提としてバンクセレクト不要にしたらLレベルの時間調整でnop入れる余裕があるでしょ?
そのループの中のnopを1つ削る
Lレベルの時間が不足する分はタイマで待たせる
削った8命令分を他のことに使う

バンクセレクト不可避とか前提が違うなら比較にならないからどうとでも言える
0451774ワット発電中さん
垢版 |
2024/02/03(土) 13:11:12.04ID:+KViwNmT
なるほど、説明を省いたから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をつけて、送信することを前提に考えているから
これを関数化して呼び出したいわけだが、
そのときに何度もこの関数呼ぶことを前提に考えて、
この空き命令に何か処理させたいことって何なのか、
私にはちょっとわかんないんだけど。

以上。
0452774ワット発電中さん
垢版 |
2024/02/03(土) 13:14:36.91ID:+KViwNmT
ところで、TMR2ON=1って書くと、
その同じ命令サイクルでTMR2はカウントアップするの?
それとも次のクロックから?

同様にCCPR1L=Xって書くと、そのデューティが反映されるのは、
その命令と同時?

細かく仕様を知ったPICのプロフェッショナルになるならともかく、
めんどくさいことこの上ない。
0453774ワット発電中さん
垢版 |
2024/02/03(土) 13:34:39.86ID:+KViwNmT
>ビットテストにとらわれてローテートでキャリーによる分岐が使えることを見落としている?

これについてはわからないので、説明願いたいな
0454774ワット発電中さん
垢版 |
2024/02/03(土) 13:40:41.39ID:+KViwNmT
あと、上に書いた内容は、
bit7から0まで、ループすることなく愚直にずらずらっと書くことを前提に
命令の余りの数などを書いている。

これをループで書くと、ループの制御に命令を食われ、
空き命令はほぼないことはご理解いただきたい。
0455774ワット発電中さん
垢版 |
2024/02/03(土) 13:59:47.14ID:+KViwNmT
あなたが賢いんだか賢くないんだか、私には少なくとも理解ができない

>Lレベルの時間が不足する分はタイマで待たせる

これについてももうちょっとよくわかるように説明してほしい。
どういうこと?
0456774ワット発電中さん
垢版 |
2024/02/03(土) 15:29:30.11ID:OiyNabRq
自分の言いたいことだけ言うんじゃなくて
もうちょっと読む人のこと考えて書いて貰えんかな

> デューティを変えるだけなら、IOもPWMも同じ命令数がかかる。
厳密に同じかは別としてそうね

> IOを使うと、Wレジスタを使わなくていい。
それはそう

> TMR2ON=0
> TMR2=X
> TMR2ON=1
> を入れないといけない。
うん、だから入れるよね?
使う前に準備して使い終わったら片付ける
日常生活でも基本だね

> 11XXX00000
> のXXXの部分でPWMのデューティサイクルを変えるようにしてしまうと
> 破綻が起こる。
> 同様にCCPR1L=Xって書くと、そのデューティが反映されるのは、
> その命令と同時?
PWMの動作の理解間違ってない?
デューティが反映されるのはタイマーがカウントアップした時だよ
あとはどのタイミングにデューティを書き換えても動作に関係ない
だからPWMの周期(10サイクル)より短い9サイクルでループを回してもいいよねってこと

> これをループで書くと、ループの制御に命令を食われ、
> 空き命令はほぼないことはご理解いただきたい。
だからIOと大差ないっつてるだろーが
0458774ワット発電中さん
垢版 |
2024/02/03(土) 15:41:12.97ID:OiyNabRq
自分の考えた方法で問題が無いなら変える必要はない
理解できない方法を無理に使う必要もない
でも理解できていないのに自分の理解の範囲で勝手に批評するな!

以上
0459774ワット発電中さん
垢版 |
2024/02/03(土) 16:10:27.33ID:+KViwNmT
なるほど、Dutyはそういうタイミングで更新されるんですね。
勉強になりました。

理解できていない、と言われると、まあ、そうなるのかもしれませんね。
しかし、完璧に理解しているかどうか、どうやって判断するんでしょうか。
自分は完璧だ、と思うことでしょうか?
無理だと思います。

批評というかですね、良いとか悪いは、私の意見です。
あなたの意見は違うかもしれません。
意見ですから。

それは言う自由があります。

理論的な正解はあると思っていますので、理論的に間違っていたら
指摘してください。それが勉強だと思っています。
0460774ワット発電中さん
垢版 |
2024/02/03(土) 16:20:50.64ID:rbBmK8qW
教わり方を勉強した方が良いね。
なんかムッとする内容だったから。
じぁあね。
0461774ワット発電中さん
垢版 |
2024/02/03(土) 16:24:29.47ID:+KViwNmT
なるほどね。
私にはまだ難しいなぁ。

ま、ともかく私も勉強させていただきました。
ありがとうございました。
0462774ワット発電中さん
垢版 |
2024/02/12(月) 23:04:26.65ID:WJ2xFEnn
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命令実行できる
試してないから間違ってるかも
0463774ワット発電中さん
垢版 |
2024/02/13(火) 12:09:05.30ID:Ty1pIHd1
スタートビットとストップビットを信号の一部として使うアイデアは面白いけど
出力バッファ1キャラクタしかないから
RGB値1ビットずつセットする必要があるという根源的問題が残る
(割り込みを使うのが厳しいし他の処理がほぼできない)
PWMに対する利点がPWMを使わないくらい?
0464774ワット発電中さん
垢版 |
2024/02/13(火) 19:21:34.91ID:OrIxLg+l
そもそも最近のデバイスでCLCが使えないのって低コスト全振りのPIC16F152くらいじゃ?
老人の懐古趣味の世界
0465774ワット発電中さん
垢版 |
2024/02/13(火) 22:18:14.46ID:rKX2G5tt
無理してナウでヤングなフリすんなw
0466774ワット発電中さん
垢版 |
2024/02/15(木) 09:41:59.69ID:5yup8QCb
次はCLBで自由自在やね。 はーやくこいこい  13145シリーズ
0467774ワット発電中さん
垢版 |
2024/02/15(木) 19:24:00.13ID:I5128OAj
なんやその5桁型番て・・・
0468774ワット発電中さん
垢版 |
2024/02/15(木) 19:51:34.66ID:ZLZlf2v9
CLCを使ったやり方ってどうやるの?
ざっくりとでいいので教えてもらえませんか?
0470774ワット発電中さん
垢版 |
2024/02/16(金) 05:44:24.85ID:eSgicOEc
>>466
なんかいろいろできそうだな・・・と思ったけど、最大で20ピン?
0471774ワット発電中さん
垢版 |
2024/02/16(金) 08:25:17.98ID:n2OBVal/
単機能周辺デバイスを作るのがおもなターゲットかな?

趣味用には遊べそうだけど。
0472774ワット発電中さん
垢版 |
2024/02/17(土) 12:25:20.46ID:inx4M67b
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
0473774ワット発電中さん
垢版 |
2024/02/17(土) 12:26:47.12ID:u3r8RhWK
ピン数必要ならそれこそFPGAを使えばいいんじゃないの

単にGPIO増やしたいだけなら152シリーズ併用で
下手なGPIOエキスパンダより安いし

という訳で秋月で152シリーズを扱うようみんな要望出してくれ!
0474774ワット発電中さん
垢版 |
2024/02/17(土) 12:42:35.21ID:u3r8RhWK
>>472
言うだけ野暮だけど外部回路がキモならPICどうでも良くない?
もっと高性能で安価なUSB付きのマイコンボードあるじゃん

あとソフトテスト用環境とはいえノイズ対策はそれでいいの?
0476774ワット発電中さん
垢版 |
2024/02/17(土) 13:43:25.44ID:u3r8RhWK
PICの得意領域にPICを使う←わかる
PICの苦手領域をあえてPICで挑戦してみる←わかる
PIC使っても良いところにPICを使う←で?
ってだけだよ
0477774ワット発電中さん
垢版 |
2024/02/17(土) 16:45:53.55ID:rc1JsiRr
>>473
件のとその辺のFPGAの底辺とを比べても、どえらい差があるでしょ。価格といいLUT数といい。
たくさんの入力の特定条件をわしゃっとハードウェアデコードしてPICに割り込みかけたい、とかにはピン数ほしいよ。
0478774ワット発電中さん
垢版 |
2024/02/17(土) 17:18:41.43ID:lf/W+7C2
152てPIC16F152xx? これ、どんな特長があるんです?
0479774ワット発電中さん
垢版 |
2024/02/17(土) 20:50:32.45ID:u3r8RhWK
>>477
ピン数ほしいよって言ったところで現時点で無いもんは無いんだから……
0480774ワット発電中さん
垢版 |
2024/02/18(日) 08:29:39.16ID:6i5Cd1AG
無ければPICから離れるだけのこと。
希望を述べてはいけない法も無し。
0481774ワット発電中さん
垢版 |
2024/02/18(日) 09:33:13.40ID:FvPjCfbY
microchipは数百円のEEPLDを売ってて
> たくさんの入力の特定条件をわしゃっとハードウェアデコードしてPICに割り込みかけたい
みたいな一方通行でソフトウェア処理とのインタラクションが少ない用途は既にカバーしている

おそらく「その辺のFPGAの底辺」ってのが想定が違っていて
Microchip自身が力を入れ始めている小規模FPGAとは別に
LatticeのiCE40あたりの市場をターゲットにしていると思われる

もっと言えばルネサスがForgeFPGAとか言い出したから
「既存」の需要の確保、防衛として先手を打ったというところでは?

で、ForgeFPGAの量産品はいつ一般市場に出るんだろうか?
0482774ワット発電中さん
垢版 |
2024/02/18(日) 09:49:44.63ID:Laz3NhO1
市場の反応が良ければ多ピンの品種にも展開していくんじゃないですかね。
ピンにアサインできる自由度も増えて。
0484774ワット発電中さん
垢版 |
2024/02/18(日) 11:41:37.68ID:6i5Cd1AG
>>481
数100円の「PICひとつ」でやりたいなぁ。安価、コンパクトが売りだと思っているんで。
数100円で100MHz超の32bitマイコンとか使える時代なんだし。もうハードウェア要らんかも、な処理能力になりつつある。
0485774ワット発電中さん
垢版 |
2024/02/18(日) 11:45:56.90ID:6i5Cd1AG
>>483
CLBが32個でマクロセルが4つみたいよ。
0486774ワット発電中さん
垢版 |
2024/02/18(日) 12:18:06.05ID:wRCOhhMV
>>485
や、CPUコアの話ね
セル数は十分だから18か24シリーズで出してほしい
psoc好きで使ってるがコストとか消費電力とか色々いまいちなんだよね
0488774ワット発電中さん
垢版 |
2024/02/20(火) 22:39:44.86ID:KLKmZunp
PICで16コア?
0489774ワット発電中さん
垢版 |
2024/02/20(火) 22:57:51.60ID:vNPomogn
>>481
ルネサスは中国資本になって好調になったのでは?
0490774ワット発電中さん
垢版 |
2024/02/22(木) 07:50:55.88ID:1W9dwXT+
何かと誤解してない? そしてだから何?
ForgeFPGAという製品の話であってルネサスという会社の話はしてない
0491774ワット発電中さん
垢版 |
2024/02/22(木) 13:06:19.88ID:yNVjAFWH
PICxxアーキテクチャって言うよね
あと古いPIC16とPIC16F1はだいぶ別物
0492774ワット発電中さん
垢版 |
2024/02/22(木) 13:18:01.75ID:aFGDTPWG
みなさますみません。
知っている方が居られましたら教えて頂きたいです。
PIC16F1825を使用して、CCP4をシングルPWMで
出力しようとしています。CCP1〜CCP3まではシングルで
出力出来るのですが、CCP4だけなぜか出力出来ません。
試しにMCCで出力したコードを使用しても、CCP4だけ
出力されません。さらに、デバッグヘッダAC244043でも
同様でした。エラッタにも無いような気がします。
ピンが足らず、CCP4を使ったのが失敗でした・・・。
0494774ワット発電中さん
垢版 |
2024/02/22(木) 14:26:07.13ID:aFGDTPWG
>>493
大体そうですよね。なので、いつもは使わないMCCを使ってみた。
設定すると、デューティ関係なくHi(100%?)が出る。タイマ及び
他の設定はもちろんCCP1〜CCP4全部同じです。CCP1とCCP3,
CCP2とCCP4がペアみたいになっていますが、CCP3は問題なく
単独で出力されるんですよね。
0495774ワット発電中さん
垢版 |
2024/02/22(木) 14:58:57.07ID:ua6kw5ON
RC1 9 AN5 CPS5 C12IN1 CCP4 P1C(1)
これのCCP4って入力しかなくね?
CCP4の出力はModulatorのソースにしかなってないような
0496774ワット発電中さん
垢版 |
2024/02/22(木) 15:17:44.03ID:aFGDTPWG
>>495
うわー。ほんとですね。PINOUT DESCRIPTIONの表ではOutput Typeが
「CMOS」ではなく「ー」になってる。
0499774ワット発電中さん
垢版 |
2024/02/22(木) 23:05:02.74ID:1W9dwXT+
ああ、そうか
じゃあP1Cで出力すればいいってことでは?

PPS対応のデバイスに移行した方が幸せな気もするが
0500774ワット発電中さん
垢版 |
2024/02/23(金) 00:07:26.56ID:YOVKAxrV
皆様有難うございます。500Hzにして、分解能荒くなるけど、
ソフト処理でPWM出すことにしました。32段階ぐらいなら
いけるでしょ。空きピン無いし基板作ってしまったので
9ピンRC1で何とかします。
CCPx PWM x=1〜3とか書いてくれればいいのになあ。
0502774ワット発電中さん
垢版 |
2024/02/26(月) 20:32:48.53ID:uyDwvk7j
DC24Vから1.8V作ってPIC動かしたいんだけど
PIC自身で降圧チョッパ動かした例ってある?
電池一本駆動の昇圧の例はあるんだけど
0503774ワット発電中さん
垢版 |
2024/02/26(月) 20:47:17.29ID:uyDwvk7j
原理的にできるのは分かるんだけど
NMOSでやろうとするとゲート回路の電圧設計が結構繊細なんよね……
やっぱりスイッチングレギュレータIC使う方がいいのか
0504774ワット発電中さん
垢版 |
2024/02/27(火) 21:33:02.97ID:vg9ZPPdQ
NJW1933が秋月で80円だからなぁ
大きさもMOSFETと変わらんし
低電圧域は最新デバイスでも同期整流でも効率頭打ちだし
0505774ワット発電中さん
垢版 |
2024/03/10(日) 09:32:51.29ID:ZPilhXgr
PIC16F131ファミリーもPICkitminusでサポートされたようだね
肝心のデバイスが入手できてないが
0506774ワット発電中さん
垢版 |
2024/03/10(日) 09:44:58.99ID:ZPilhXgr
あと秋月でICD5入荷したな
どういう人が買うのか分からんが
0507774ワット発電中さん
垢版 |
2024/04/02(火) 00:24:58.66ID:eFHn00mT
PICをこれから始めようと思っている者です
プログラミングの経験はありません
色々検索して後閑哲也さんのサイトにたどり着いて
CD付きのC言語の書籍を買おうかと思いましたが
内容的に古過ぎたり、本当に初歩的なことが書いていないような事が
レビューに書かれていたりします
価格等から12Fシリーズ辺りで始めたいと思っているのですが
これを読んでおけば良いというおすすめの書籍やサイトはありますか?
アドバイスいただければ幸いです
回路図はある程度読めます
0508774ワット発電中さん
垢版 |
2024/04/02(火) 07:54:10.61ID:pG5IekrB
プログラミング経験がないってことはマイコンも初めてでしょ?
自分もPIC派だったんだけどさすがに今から始めるのにPICは勧めないな
ライタも高いし
Arduinoでもいいのでは
0509774ワット発電中さん
垢版 |
2024/04/02(火) 08:14:37.82ID:Ilg2hTEP
ホビーならarduinoが簡単だね
仕事でやるならPIC18Qがいいんじゃない
本は色々穴があっても後閑さんのがいいと思う
0510507
垢版 |
2024/04/02(火) 08:48:42.22ID:rlle0bDh
ありがとうございます
最終的には小型に作ったりしたいと思っています
ライターはPICKIT3を安い時に買ってます
本は現在のXCの時代のものでないのでそのまま使えないというようなのも見ました
Arduinoが簡単みたいですが、ハードが違うという事はこちらで始めてしまうと
PICで作りたいと思った時にそのままでは移行できないですよね?
C言語のルールとか恐らく当たり前の事はサイト等を見ても書いていないので、
各ファイルの役割とか基本的な事から書いてある物だと助かります
Arduinoだと良い本やサイトはありますか
基本から学ぶにはハードから見直した方が良いでしょうか?
0511774ワット発電中さん
垢版 |
2024/04/02(火) 17:39:25.18ID:bKY6ioLu
PIC32MZ2048EFでADC 16xオーバーサンプリングと980サンプルDMAしたいのだが、オーバーサンプリング中に何らかの割り込みが入るとオーバーサンプリング停止してしまうね。
DMAで各入力レイテンシーを最小にしたいと思ったが、うまくいかないものだ。
STM32H7ではこんなことは無いのに、PIC32はムズイ。
0512774ワット発電中さん
垢版 |
2024/04/02(火) 18:47:12.99ID:ufW6Y72u
>>510
とりあえず適当な12Fのデータシートを読んでみては。web上でタダで見れるから。理解できそうならもうそれで行けばいいし、サポート欲しければ本買えばいい。
一歩踏み出してみないことには、どこまで理解できるのか自分でもワカランでしょ。他人が判るはずもない。
0513774ワット発電中さん
垢版 |
2024/04/02(火) 21:47:20.65ID:rlle0bDh
>>512
ありがとうございます
一応現物買ってデータシート読んで色々なサイトを参考にはしています
どこの行がどういう意味を持っているのかとかコピペでやって
コンパイルエラーが出た時の対処法とかを
見つけ出すまで凄く遠回りをしていると感じたもので
書籍を買うなりちゃんと勉強をした方が良いと感じました
とりあえずシリアルデータを読み取ってLEDを光らせるとかのレベルでいいと思っていますが、
中途半端に人の書いた物をかじって基本的なルールとかを知らないのだなと感じました
PCの組み立てや基礎的な電子工作は出来ると思います
バッチファイルの分岐云々で躓いたので、考え方が出来ていないと思っています
0514774ワット発電中さん
垢版 |
2024/04/02(火) 22:32:13.94ID:r+/Wirdd
>>513
意外に良いのがYouTubeです。
「PICでLチカしてみた」とかのタイトルでいろいろ出ています。
ソース(プログラム)も出ていたりするので、
画面を止めてゆっくり見えます。

おすすめしたい勉強法は、以下の通りです。
1. 最初はマネ
   難しい理屈を考えようとせずに、人のまねをして、
   その通りの回路で、その通りのプログラムを
   何も考えずにベタでコピーして動くようにします。
   2-3種類を何度も何度もやります。いわゆる体育会系的に行います。
   すると、ツール(MPLABやPICKit)の使い方が覚えられます。
   鉛筆と消しゴムは無意識に使えないと
   国語の勉強ができないのと同じです。

2. 改造してみる
   プログラムをまねて打ち込んでいると、なんとなく意味がわかってきて
   「もしかしたら、こうしたらこうなるんじゃないか?」と
   予想が立てられるようになります。
   そうしたらプログラムの値を変えていじって結果を見て意味を考えます。
   エラーで動かなくなってしまっても、動くものからの変更なので、
   迷うことなく元に戻れます。
   いつでもスタート地点に戻れる環境、これが大変重要です。

3. 自分で1からやってみる
   上記2ができるようになるということは、
   もうツールの使い方からプログラムまでできるようになったということです。
   あとは自分で小さなプログラムを作ってみることです。
   いろいろと作っていくと、だんだんプログラム文法の
   わからないことが出てくるはずです。
   その時は、ネットや本、それこそ後閑さんの本を読んで見てください。
   知りたいことがはっきりしていますから、理解も格段に早いです。

アルデーノもいいですが、
最初は時間がかかりますが、ハードの製作を伴うほうが良いです。
ある地点で、それは突然にマイコン全体が見えてきます。
そこからの理解は、ハードが面倒だからとアルデーノから
スタートした人より、超スピードで理解が深まります。
これは実体験ですので、まちがいありません。
0515774ワット発電中さん
垢版 |
2024/04/02(火) 23:26:35.53ID:V2pf9ScH
最初にマイコンを学ぶなら癖ツヨのPICを選ばなくてもいいと思います。
0516774ワット発電中さん
垢版 |
2024/04/03(水) 09:27:08.82ID:xNYnXjiV
>>514
ありがとうございます
専用の書籍等があればと思いましたが
コピペがきかないので電子で・・・なんて思っておりました
どれも気軽に買える値段ではないのでしばらく見送りたいと思います
動画はほぼノーマークでした。
大きなヒントありがとうございます
元々ハードは好きでいじって来ましたがソフトは触れて来なかったので
やりながら繋がりを見つけて行きたいと思います
0517774ワット発電中さん
垢版 |
2024/04/03(水) 16:25:28.08ID:UFxLQxXE
>コンパイルエラーが
( ゚д゚)ハッ!

>価格等から12Fシリーズ辺りで始めたい
>最終的には小型に作ったりしたい
アセンブラだとばかり・・・
0518774ワット発電中さん
垢版 |
2024/04/03(水) 23:27:39.63ID:wGXC4LH/
いまさらアセンブラもないでしょ。
Cでやっとけば、PICだろうがどれでも同じだよ
0519774ワット発電中さん
垢版 |
2024/04/04(木) 08:47:38.68ID:yx/So+ZF
>Cでやっとけば、PICだろうがどれでも同じだよ

今はバンクをまたぐような配列確保やポインタ加算に問題はないのかな。
0520774ワット発電中さん
垢版 |
2024/04/04(木) 12:27:35.75ID:pM6h1GM4
ハーバード
0521774ワット発電中さん
垢版 |
2024/04/04(木) 14:17:02.50ID:AeJ4FVdP
PICやり始めたところだけど、勉強かねてアセンブラでやろうかと
0522774ワット発電中さん
垢版 |
2024/04/04(木) 16:56:12.81ID:3hSWQCrQ
PICも色々あるけど、12FとかクラスでCはどうだろうと思う。
0523774ワット発電中さん
垢版 |
2024/04/04(木) 19:22:48.96ID:V/yuYnxq
>>521
目覚めるもよし、辟易として高級言語に逃げるもよし。経験は血肉になるよ。
0524774ワット発電中さん
垢版 |
2024/04/04(木) 20:49:31.66ID:xVlVA/mJ
>>519
>今はバンクをまたぐような配列確保やポインタ加算に問題はないのかな。
そんなこと意識したことないな。Cのレベルに現れない。
0526774ワット発電中さん
垢版 |
2024/04/04(木) 22:09:57.17ID:AAK6jd8u
xc8はバンクとか無いので普通のCだわ。
出来ればC++で書ければ変数管理楽なんだが
0527774ワット発電中さん
垢版 |
2024/04/05(金) 02:11:31.40ID:6zH3TwXx
パイソンって使えないですかね?
0528774ワット発電中さん
垢版 |
2024/04/05(金) 07:49:10.69ID:eBp7SdwO
>>526
なるほど。
そのあたりの制約が無い(またはとても少ない)なら、C言語で取り組む限り、
「PICでマイコン入門」は問題なさそう。
0529774ワット発電中さん
垢版 |
2024/04/05(金) 20:38:33.19ID:mRd+wI9j
メモリ次第ってのもあるな12F509とかROM1kW,RAM41Byteしかないもんな、まあこんなのもう使う奴いないだろうけど…
12FでもRAMが1kあるやつもあるからそれくらいならCで書いても何とかなるかもな
0531774ワット発電中さん
垢版 |
2024/04/05(金) 23:05:33.68ID:7zlYgkTT
ピン数少ないのはデバッガ繋がらないから入門にはいまいちじゃない?
0533774ワット発電中さん
垢版 |
2024/04/06(土) 00:10:47.23ID:KTB8vtfn
パイソンって、記述の位置とかを変えてはいけないんでしたっけ。
0534774ワット発電中さん
垢版 |
2024/04/06(土) 00:22:23.36ID:+ZUUy86g
インデントがブロックに対応してるから固定といえば固定だな
煩いのはその位だけど
0535774ワット発電中さん
垢版 |
2024/04/06(土) 02:20:18.92ID:2l2zGroa
if( a==1 ){
  b++;
} else {
  b=8;
}

と書いたり
if( a==1 ){  b++; }
 else { b=8; }
とか書いたりしてるんですけど、それを許さないんですよね。
窮屈で、抵抗が1MΩくらいあります。
0536774ワット発電中さん
垢版 |
2024/04/06(土) 08:31:25.50ID:+ZUUy86g
上の書き方しか通らないね
俺は気にならんけど好みに合わないときついかもね
ライブラリが揃ってるからネットに繋ぐ物を作るのはすごく楽だよ
あとは地味だけど文字列の処理が楽
0537774ワット発電中さん
垢版 |
2024/04/06(土) 09:08:52.03ID:h1xjJO7c
好き嫌いとか印象で、好きだ嫌いだって言ってたら、自由奔放に取り残されるのが技術の世界ですね。
0538774ワット発電中さん
垢版 |
2024/04/06(土) 10:25:42.10ID:QRVAgh/I
>>537
変な文章。
何が言いたいのか。
0539774ワット発電中さん
垢版 |
2024/04/06(土) 10:43:05.10ID:h1xjJO7c
嫌いの感情が芽生えたら潰す方が、新しいものについていきやすい、って話ですよ。
0544774ワット発電中さん
垢版 |
2024/05/06(月) 11:42:43.73ID:AJKJxe4M
数年ぶりの久々に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を使おうかと悩み中。
0545774ワット発電中さん
垢版 |
2024/05/07(火) 17:58:34.80ID:3KUGx2ks
>>544
一度PICkit4のファーム書き直してみたら?
あとUSBケーブルを変えてみる
あと、複数のUSBコントローラ使われてるMBなら違う系統のポートに繋いでみるとか
0546774ワット発電中さん
垢版 |
2024/05/08(水) 22:47:20.73ID:YdZ8Lm9J
>>545
工場出荷状態に初期化は544に書いた通り実施済。

ケーブルは3種類試しました。
シールド付きの高級ケーブルは近所で今時売っていないので、
それは試していません。

違うポートは既に試しました。
普段タワー型を使っていて2口駄目で、更にノートパソコンでも試しました。
0548774ワット発電中さん
垢版 |
2024/05/09(木) 00:32:50.80ID:dWmyx8RG
意味が無いって意味じゃね?
0549774ワット発電中さん
垢版 |
2024/05/09(木) 02:30:53.04ID:RRxpVv6f
1と0どちらでも という意味では?
0552547
垢版 |
2024/05/09(木) 21:13:38.24ID:Fqp0OrLS
レスありがとうございます
おそらく、おもしろいPICマイコンPCI12F675を使いこなすって本に
って今見たら勘違いでした

MOVLW B'xxxxx011'
MOVWF TRISIO

MOVLW B'xxxxx0xx'
MOVWF ANSEL

xは元から入ってる数値を変更しない、みたいな認識でいいんでしょうか?
0553774ワット発電中さん
垢版 |
2024/05/10(金) 06:55:22.73ID:S2eI1pe0
TRISIOやANSELレジスタの仕様でそのビットには何も意味がない
もしくは
その本の中での使い方ではそのビットに何を設定しても動作に影響がない
みたいな感じかな
0554774ワット発電中さん
垢版 |
2024/05/10(金) 07:31:42.40ID:eisrEha4
ぼくの知らない記述だ。といってももう5年ぐらいPICのアセンブリ言語にはタッチしてないけど。

>MOVLW B'xxxxx0xx'
>xは元から入ってる数値を変更しない、みたいな認識でいいんでしょうか?

実際にそういう記述をしろと書いてあったのかな?
それとも、この機能を使うときは、xはあなたの用途に合わせて変えて、の意味だったのかな?


>>552さんには悪意はないのだろうけれど、質問するときに、情報を小出しにするのは良くないです。

>おそらく、おもしろいPICマイコンPCI12F675を使いこなすって本に
>って今見たら勘違いでした

「本は ”おもしろいPICマイコンPCI12F675を使いこなす”で、
今見てみたら、おそらく私の勘違いでした」
の意味でしょうか。

>552さんが書いた情報だけだと、この本を持っている人しか答えにくいです。
この本はAmazonでもレビューが少ないし、傾向としては、たくさん売れている本でもなさそうです。
どういう文脈で書かれているのか書いて質問する方が、より広い人からコメントをもらえるでしょう。
0555547
垢版 |
2024/05/10(金) 10:08:00.94ID:4d4CP/nA
みなさんサンクスです
>>553
この本の中で0と1どっちでもいいよとゆう意味だったのでしょうか
いまMPLABで
MOVLW B'11111111'
MOVLW B'xxxx0101'
と記述するとエラーでましたError[107] : Illegal digit (x in binary)

>>554
すいません情報小出しにするつもりはなかったんですけど
「よく使う表現だよ」「そんな記述方法はないよ」とか簡単に扱われるものだとおもてました

> 実際にそういう記述をしろと書いてあったのかな?
それがxについて注釈がないんです、
30行ぐらいの書けばプログラムが完成するような例文にサラっとかいてあるだけで

どうやらxを含む表現はなさそうですね
0556774ワット発電中さん
垢版 |
2024/05/10(金) 12:07:19.51ID:EmZIijbt
>>552
>xは元から入ってる数値を変更しない、みたいな認識でいいんでしょうか?
そう読むのが自然ですが
以下のように解釈するとよいです。

>MOVLW B'xxxxx011'  この話は下から3bitについて物を言ってるから
           下から3bitを001にして、残りはあなたの希望する値を入れてね。

>MOVLW B'xxxxx0xx'  この話は下から3bit目について物を言ってるから
           下から3bit目を0にして、残りはあなたの希望する値を入れてね。

xのbitは自分で判断、決定してね。僕は知らないからね。
0557547
垢版 |
2024/05/10(金) 17:12:06.24ID:4d4CP/nA
>>556
サンクス、任意の数値を入れないとダメですか
都合のいいように考えてました
いろいろとシビアですね
0558774ワット発電中さん
垢版 |
2024/05/10(金) 19:51:52.81ID:S2eI1pe0
ここに出されている情報だけで判断するとPCI12F675ということだからIOはb0~b5、TRISIOは入力/出力どっちにするか決めるレジスタ
b0~b2だけが具体的な数値が入っている
xが書いてあるb3~b5に何かつながっているなら>>556のように
>xのbitは自分で判断、決定してね。僕は知らないからね。
b3~b5に何もつながっていないなら>>553のように
>その本の中での使い方ではそのビットに何を設定しても動作に影響がない
という感じ
(xって書いたらエラーになってしまうのでだめだよ)
0560547
垢版 |
2024/05/10(金) 22:14:40.35ID:4d4CP/nA
まとめありがとうございます
mpasmコンパイラがMPLAB XIDEv5.35で終了していて
新しいアセンブラの情報がネットでも少なくて困ってました
0561774ワット発電中さん
垢版 |
2024/05/11(土) 00:09:34.19ID:KkVGTHB8
アセンブラの情報とかいう問題じゃなくて住所を書くサンプルに
XX県○○市
と書いてあったら、そのまま書類に書いちゃったレベルに見えるが
0562547
垢版 |
2024/05/11(土) 08:33:22.36ID:TphR4g5O
>>561
東京都xx区  フジテレビ本社
って書いたら郵便届きそうな気がしない?
0563774ワット発電中さん
垢版 |
2024/05/11(土) 09:16:57.62ID:1vk5IS0g
「住所を書くべきところには、XX県○○市とは書かない」という常識があるから、そうは書かないということであって、
その前提がなければわからない。さすがに、役所の申請用紙の住所欄ならどう書くべきかは、浸透率が高いだろうけれど、
本件のような、

X…変更しない
0…0にする
1…1にする

という認識にならないでいるためには、当該命令がどういうものなのかをわかってないといけない。

その本がどういう流れでそう書いたのかがわからんけれど。
0564774ワット発電中さん
垢版 |
2024/05/11(土) 12:09:02.36ID:lOkrlPTf
>>562
情報の重み付けを考えればこんな感じだろ。

;東京都xx区
movlw 'フジテレビ本社'
0565774ワット発電中さん
垢版 |
2024/05/11(土) 16:41:37.21ID:TphR4g5O
>>563
movlwの内部の命令構造をわかってないといけないってなかなか厳しいですね
ビット処理命令は操作対象外のビットも一度読み込み上書きって書いてあったような
気がするんですが、そんな感じかなあとおもてました

>>564
さいきんのとれんど
GOTO $+2
MOVLW 'フジテレビ'
MOVLW 'テレ東'
レスを投稿する


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