初めてのPIC 0x08 at DENKI
[2ch|▼Menu]
[前50を表示]
300:774ワット発電中さん
16/06/01 22:05:01.51 VlLjRrBT.net
PS/2ってそんな変態かなあ。
デバイス側がクロック出すってのは意外だったけど。

301:774ワット発電中さん
16/06/01 22:16:15.42 qi1gKLpt.net
PS/2はCLKとDATAが別々の信号線なのでCLKの変化をINT0割り込みなり状態変化割り込みで
キャッチしてその時のDATAの状態を読めばいい。無論ポーリングで処理することも可
ただプロトコル層を仕様にしたがってまじめに実装すると面倒
まあ普通は再送要求処理とか全部端折って無視しても問題なく動くけど

302:774ワット発電中さん
16/06/01 23:27:17.20 qkQZZuci.net
>>280
あれ、稀に変換チップ入ってるのがあるんだよな
だから話がややこしい

303:774ワット発電中さん
16/06/01 23:46:12.83 7y+/RDi6.net
>>287
まじかよ……そのコネクタに対応しているキーボードでしか動きませんよ?と言い出さなくてよかったのかもしれんなぁ…。

304:774ワット発電中さん
16/06/02 00:38:17.97 PgnzNdQ9.net
質問が有るのですがアドバイスなどお願い致します。
16F88のCCPのキャプチャー機能は内部8MHzクロックで使用した場合、測定できる上限はどの程度の周波数でしょうか?また、データシートのどの項目から読み取れるのでしょうか?
よろしくお願いします。

305:774ワット発電中さん
16/06/02 02:44:39.23 I+hUhoBp.net
そもそもキャプチャ機能は周波数を測定するためのものじゃないぞ。
キャプチャ機能はたまに来るパルスが来た時刻を調べるためのもの。
周波数を調べたいならTMR0に信号を入れて適当な時間待って値を見ればいい。
上限はプリスケーラ使えば50MHz。

306:774ワット発電中さん
16/06/02 05:34:59.66 G5ItvHJK.net
XC8を使ってPIC12F1822用のコードを書いています
12F1822はハードウェアスタックが16段とのことなんですが、これは関数から別の
関数を呼び出すのが16ネストまでと考えていいんでしょうか?
それとも実際は別の要因もあってもっと少ないネストしか出来なかったりするんでしょうか?
あるいはXC8はコンパイル時にその辺までチェックしてくれますでしょうか?

307:774ワット発電中さん
16/06/02 16:06:58.66 mXV/IVah.net
>>291
使ってかいてるなら、試してみればいいのでは?

308:774ワット発電中さん
16/06/02 16:35:39.53 Iw3V/TmK.net
知らないなら黙ってればいいのにとも思った

309:774ワット発電中さん
16/06/02 16:41:12.00 LUbMlYO4.net
i think so too
なんで知らない馬鹿に限って口を挟みたがるんだろうな、ホント

310:774ワット発電中さん
16/06/02 18:24:20.57 XhnxdPBO.net
てか、>293も>294も必要ないんじゃね?

311:774ワット発電中さん
16/06/02 18:32:18.70 TOwd9/1Y.net
知っててチャチャしかいれない奴も同類だよね

312:774ワット発電中さん
16/06/02 20:28:32.57 Iw3V/TmK.net
IDコロスケでしたか

313:774ワット発電中さん
16/06/02 21:04:10.54 iCW7Sv2g.net
ID:Iw3V/TmK
IDが変わらないことだけが生きがいw

314:774ワット発電中さん
16/06/03 00:43:36.72 W25bZg3U.net
>>290
レスありがとうございます。
時間を測るものですが時間と周波数は
f=1/tで表裏一体ですので周波数換算でと言うことで質問させていただきました。

315:774ワット発電中さん
16/06/03 05:36:47.58 tbNGvuNQ.net
そのクロックは神様なのか?

316:774ワット発電中さん
16/06/03 08:53:14.73 VOFJtxko.net
>>299
実用でも学習でも周波数計測器を作るというテーマだと、
一定ゲート期間のパルス数をカウントする方法が採られることが多いので
>>290さんのようなコメントになるよ。
周期を測って周波数を求めるのは、低い周波数になると思うのだけど、
あなたが想定している、測りたい周波数ってどれぐらいなんでしょう。

317:774ワット発電中さん
16/06/03 11:09:27.52 3fqhc020.net
>>300
GPSのPPSをPLLでクロックとしています。

318:774ワット発電中さん
16/06/03 15:31:58.44 JMLAoVCA.net
>>291
割り込みも考えたら15かな。
コンパイラはネストの深さチェックしてくれる。
オーバーしたときに、エラーにするか、インライン展開するかは、オプションで選べる。

319:774ワット発電中さん
16/06/03 17:13:25.95 NH6lZpfm.net
>>293
他人のレスに文句ばっかり言う人はいらないと思った

320:774ワット発電中さん
16/06/03 17:16:58.25 fNoOzX42.net
何もかも初心者なのですが、助けてください
MPLAB X IDE v3.30でpwm.hなどがインクルードできません
コンパイラはxc8です(v1.37)
〜/Microchip/xc8/v1.37以下を検索してもpwm.hなるファイルもありません
pwm.hをインクルードする前の状態ではビルドできて一応実機で動いてますが
#include 〈xc.h〉
#include 〈p18f4553.h〉
のあとに
#include 〈pwm.h〉
を追加すると赤い下線がついて
Can't find include file
といわれます
ファイルはどこかから別途ダウンロードがひつようですか?

321:774ワット発電中さん
16/06/03 17:24:24.59 C7QN3VOE.net
>>305
まるち

322:774ワット発電中さん
16/06/03 17:58:43.88 pM1vyQpx.net
>>306
せりお

323:774ワット発電中さん
16/06/03 18:19:46.41 C7QN3VOE.net
>>307
もうお互いオッサンだなっ!!

324:774ワット発電中さん
16/06/03 18:31:11.20 pM1vyQpx.net
まだ20歳そこそこですよ
PS2版で遊んだ若輩者です

325:774ワット発電中さん
16/06/03 18:57:14.36 C7QN3VOE.net
>>309
そうか、それならこれからだな。
だが、すぐに30なんていくぞ? 気を付けるんだ。

326:774ワット発電中さん
16/06/03 19:47:47.45 scsDXWrY.net
>>303
初めてスレで堂々と嘘を書くなよ、キチガイが
消えろ

327:774ワット発電中さん
16/06/03 19:51:10.96 AY4g4nhk.net
>>311
自虐?

328:774ワット発電中さん
16/06/03 19:54:49.74 nvAL2Xn2.net
8段でも足りなくて困るやつなんていない

329:774ワット発電中さん
16/06/03 19:56:20.07 dNnT2qOl.net
ですね

330:774ワット発電中さん
16/06/03 21:50:25.32 69ZaCW8F.net
何もかも初心者なのですが、助けてください
MPLAB X IDE v3.30でpwm.hなどがインクルードできません
コンパイラはxc8です(v1.37)
〜/Microchip/xc8/v1.37以下を検索してもpwm.hなるファイルもありません
pwm.hをインクルードする前の状態ではビルドできて一応実機で動いてますが
#include 〈xc.h〉
#include 〈p18f4553.h〉
のあとに
#include 〈pwm.h〉
を追加すると赤い下線がついて
Can't find include file
といわれます
ファイルはどこかから別途ダウンロードがひつようですか?
電子工作初心者スレで書き込んだものですが、スレチのようなのでこちらで助けてもらえると助かります。
よろしくお願いします。

331:774ワット発電中さん
16/06/03 21:54:56.01 Ocy3jQxE.net
>>311
嘘だと言うんならどこが嘘まで書いてくれ
とりあえず割り込み考慮すれば15段ってのは間違ってないかな
割り込み中の関数呼び出しとか多段割り込みは考慮しないのかって思うけど

332:774ワット発電中さん
16/06/03 22:21:56.55 OO6LUxI1.net
今環境がないけど
#include <plib/pwm.h>

333:774ワット発電中さん
16/06/03 22:44:14.43 dNnT2qOl.net
間違ってないと思うならそれでいいんじゃないかな

334:774ワット発電中さん
16/06/03 23:11:13.62 VOFJtxko.net
>>311
何を間違っているのか書かずに間違っているとだけ書くのは害悪だよ。

335:774ワット発電中さん
16/06/03 23:14:06.93 /rLfpxoa.net
>>303
前からすみません、MPLABXとXC8の組み合わせの場合その選択(オーバーしたときに
エラーにするかインラン展開するか)はどこで設定するんでしょうか
探したけれど見つかりませんでした

336:774ワット発電中さん
16/06/03 23:26:24.39 69ZaCW8F.net
>>317
試してみました
状況は改善しません
同じエラーが出ます

337:774ワット発電中さん
16/06/03 23:32:11.74 MYYqFTNZ.net
マルチさえしなければ懇切丁寧に教えてもらえたのに

338:774ワット発電中さん
16/06/04 00:20:29.01 dCSGDlKU.net
何のことかとおもったら
>>305は自分の書き込みじゃありません
スレの内容ぐらい見てから書き込めと言われれば全くその通りなのですが・・・
まさかレスが転載されてるとは思いもよりませんでした

339:774ワット発電中さん
16/06/04 00:50:10.00 vmqyy/Z3.net
コピペ荒らしがいるんだよ

340:774ワット発電中さん
16/06/04 01:18:56.01 REilkUlV.net
山彦みたいにコピペして混乱させる基地外がかなり前から潜んでいるようだな

341:774ワット発電中さん
16/06/04 01:26:48.88 dCSGDlKU.net
315です
おかしなのに絡まれて残念です
本当に初心者なので改めて確認させてください
一般的にMPLAB IDEとxc8をインストールすればpwm.hはインクルードできるのでしょうか?
先程xc8を再インストール(元のはアンインストールせず上書きのかたちで)しましたが状況が改善していないことを追記しておきます

342:774ワット発電中さん
16/06/04 01:41:14.77 dCSGDlKU.net
自己解決しました!
xc8はv1.35以降peripheral libraryを別途インストールする必要があるとの記事をみつけました
microchipのページから引っ張ってきたら無事インクルードエラーが消えました

343:774ワット発電中さん
16/06/04 01:47:12.14 43flytHb.net
XC8は1.33で止めるのが正解

344:774ワット発電中さん
16/06/04 08:35:13.68 Wl0me4Kr.net
古いバージョンを使い続けるのが正解ってのは良い話じゃないな。

345:774ワット発電中さん
16/06/04 09:39:10.66 1FtdMEMY.net
>#include 〈xc.h〉
>#include 〈p18f4553.h〉
XC8ってデバイスのヘッダーファイルをインクルードする必要があるのか
いままでxc.hしかインクルードしてなかった

346:774ワット発電中さん
16/06/04 11:17:44.35 Sz2GtsQ9.net
別に新しいバージョンがいいなんてことはないんだから
古いバージョンと新しいバージョンの両方を入れればいい

347:774ワット発電中さん
16/06/04 11:21:18.18 wY7fmkNG.net
>>330
xc8.hのなかで、必要に応じて読まれるから、不要。

348:774ワット発電中さん
16/06/04 11:22:43.41 wY7fmkNG.net
>>327
昔からのライブラリは余り出来良くない

349:774ワット発電中さん
16/06/05 08:10:11.03 J4IR5heS.net
PICを触り始めたばかりの初心者ですが、教えてください。
PIC16F88でA/D変換をした


350:「のですが、ググると変換時間に1ビットあたり最小1.6μsかかるので TACQ+TAD×12で39.2μsという計算を見ますが、この12という数字はどこから出てくるのでしょうか? 10ビットなら×10、8ビットなら×8なら分かりますが、残りの2と1.5が分かりません。 よろしくお願いします。



351:774ワット発電中さん
16/06/05 09:02:46.29 rXPxsYex.net
>>334
データシートの
12.5 A/D Conversions
を読む。
あと、
FIGURE 12-3: A/D CONVERSION TAD CYCLES
という図を見てみるとよろし。

352:774ワット発電中さん
16/06/05 09:10:20.04 MGFrhi6Z.net
初心者ってずっと絶えないものなのだろうか?
電子工作のしかもPICと言うジャンルで
最終的ににちゃんに書き込む人
どの程度の割合でいるのか

353:774ワット発電中さん
16/06/05 11:59:12.35 8yMF99JV.net
人間はどんどん生まれてくるから絶えることはないさ
趣味でやる人は減っていそうだけど

354:774ワット発電中さん
16/06/05 13:08:31.42 /PlNpUbo.net
でもお前らが結婚しないから少子高齢化で日本は衰退の一途を辿ってる

355:774ワット発電中さん
16/06/05 13:33:45.10 B9FNhIdS.net
>>338
首都圏で残業代含めて年収250万の男と結婚して子供二人以上育てたいって人がいたら考えるけど?

356:774ワット発電中さん
16/06/05 13:41:28.90 A/1Vc6nA.net
昔から「一人口では食えぬが二人口は食える」って言うだろ
びびってないでとりあえず所帯持っちまえばなんとかなるもんなんだよ

357:774ワット発電中さん
16/06/05 14:02:36.37 J4IR5heS.net
>>335
ありがとうございます。
データシート見てみます。

358:774ワット発電中さん
16/06/05 14:12:10.06 fSYAQhDA.net
アマチュアはともかく
PIC等のマイコンの技術を本職にしたら食っていける収入が得られるのか
そっちの方が心配だ

359:774ワット発電中さん
16/06/05 14:25:44.21 qsJfNW0b.net
本スレで、
「アセンブラでは出来るけどCでは出来ないものがある。」
というような話が出ていますが、初心者にわかるように、
具体的な例で教えていただけませんか?
あるいはそのような説明をしてあるサイトをご紹介ください。

360:774ワット発電中さん
16/06/05 14:49:55.40 B9FNhIdS.net
>>340
だからそれ以前に相手がいないんだって、結婚相談所なんかに駆け込める年収じゃないし
会社にも女性はいないし、そういう所にいるわけで。
二人なら育てられるだろとか、言われても無理。
ビビる以前の問題に門前払いなわけ。
>>342
「PICじゃなくてARMかDSPで制御してるんでこんなに値段が跳ね上がったんですよ」って言いましょうよ社長ww
ってメインのマイコンを交換しろと圧力掛けに交渉に商社が来てたのを見たことがあるけど、俺なら
「じゃあ、せいぜい単価1000円ぐらいでしょ?値段にそんなに響くとは思えませんね」っていうかもなぁ……。
PICだからというかマイコンだけを売り物にしているような所だから収入が少ないと思われ。
当然そのマイコンが唯一無二なら分からんでもないが…。ピコトークとかなら分かる。
ラズパイみたいな、所詮ワンボードPCでもそれなりに成功すればいいわけで。
そもそもPICだって格安データーロガーとか作れるわけで、数万するようなロガー相手にうちはPICなんでクソ安いんです。と堂々と言っちゃえ。
当然もうけは少ないけど、それなりの性能を出せばいいんじゃないの?

361:774ワット発電中さん
16/06/05 15:26:39.35 96hgkFyU.net
需要のある技術でないと食べていけないし、
需要があっても、容易に習得できるなど参入障壁


362:が低いと競合が多くて食べていけないだろね。 生産量が少ないものだと、たとえばARMをPICに置き換えて単価が安くなったところで、 食べていくために必要な開発費を算入したら全然安くならない、なんて話だと相手にしてもらえないし。 競合が多くても営業さんに力があれば、同等レベルの競合よりは仕事が入るかも。



363:774ワット発電中さん
16/06/05 16:04:07.96 UA1kq8ES.net
すみません質問ですがPICKit2で16F88に書き込もうとするとconfiglation not found等のエラーが出てその後No deviceになってなにも操作が出来なくなる事が有るのですが何か特有の問題など有るのでしょうか?

364:774ワット発電中さん
16/06/05 17:43:22.38 G7NSb9az.net
>>346
これはやっかいなことになったね、俺も経験あるわ
俺のときはpic壊れてた
まず配線が間違えてないか、断線してないか、電圧あるか、そのへんからだね

365:774ワット発電中さん
16/06/05 18:02:26.88 RgOaOv+R.net
>>343
「アセンブラでは出来るけどCでは出来ないものがある。」
と言ってるように読めるかもしれないが、実は、
「俺は、アセンブラでは出来るけどCでは出来ない。」
と、個人的な無能さを卑下してるだけのこと。
アセンブラでもCでも最終的にコンパイルされてPICに書くときは同じ機械語で
そこまでの過程で使うツールが違うというだけ。

366:774ワット発電中さん
16/06/05 19:40:21.60 Ewa7m4e7.net
>>348
また、1クロック単位での命令ガーさん来ちゃうよ!

367:774ワット発電中さん
16/06/05 20:41:33.87 8yyYrstt.net
>>347
配線の間違いは無かったです。
何回も書き込んでいる書き込み用のゼロプレッシャーソケットを付けた基板で書き込んでいます。
特定のHEXだけ、新しいPICでも同じようにエラーになりその後Nodeviceになります。
何度も付けたり外したりして、PC再起動やPICKit2を繋ぎ直したりしてると何かの拍子にイレースできたPICがあり、その後は他のHEXを書くのは問題ありませんでした。
特定のHEXでエラーが出る問題など有るのでしょうか?

368:774ワット発電中さん
16/06/05 21:03:31.55 9NQ8XhkW.net
>>348
Cコンパイラの吐き出すコードを全部把握できるなら「過程で使うツールが違うだけ」と言えるだろうけど、
そこまで把握できていないのなら、それはちょっと違うだろ?と言いたい。
>>349
その為にアセンブラを選択する人もいるんじゃなかろうかと。
というか、お互い相手を否定する事しかして無くね?
プログラムの構造を把握しやすのは間違いなくアセンブラよりもCだろうし、
厳密なタイミングが欲しいならCよりもアセンブラの方が楽だろうし。
自分の場合は趣味だし「全てを自分の管理下に置いてる気分を味わいたい」って観点からアセンブラオンリーだけど。

369:774ワット発電中さん
16/06/05 22:10:33.26 oEMRFGDi.net
>厳密なタイミング
という実に曖昧な言い回し
これがアセンブラ厨の限界w

370:774ワット発電中さん
16/06/05 22:30:40.04 dGTwVUYd.net
>>351
出来るか出来ないかの話なんだがな
>把握できる
>厳密なタイミング
>気分
とかw

371:774ワット発電中さん
16/06/05 22:36:48.88 HW8tJaxr.net
厳密なタイミングのクロック何使ってて、温度補正どうやってるの
まさか内蔵とかセラロックとか普通の水晶あたり使ってて厳密なタイミングとか言ってるわけじゃないよね
クロック誤差が何PPMでメモリやレジスタ遅延誤差何ns許容してるのかな?

372:774ワット発電中さん
16/06/05 22:37:42.44 C0iOgX3s.net
>厳密なタイミング
とか必ず持ち出すけど
Cで書いてIDEのストップウォッチでシミュレーションして
最後はnopでもはさんで微調整でしょ
どうせクロックサイクル以上に厳密になんか出来ないんだから
ちまちまサイクル数えて手計算でやる意味がわからんわ

373:774ワット発電中さん
16/06/05 22:51:45.20 HW8tJaxr.net
>>355
自分もそう思う。
8MHzの内蔵クロックでソフトでマシンサイクルあわせてチマチマやるより、
32MHzで16bitタイマ使ったほうがよほど厳密。必要なら割り込み処理だけアセンブラで書けばなお良い。

374:774ワット発電中さん
16/06/05 23:46:54.78 9NQ8XhkW.net
>>355
いや、まぁ、自分がやったのはコイツのコントロール。
URLリンク(akizukidenshi.com)
LED内のチップにRGB各8bitのカラーコードを
0なら400nsのHGIHと850nsのLOW、1なら800nsのHIGHと450nsのLOWの組み合わせで24ビット連続で送る。
そして、全てのカラーコード(1600万色)に対応できるようにする。
40MHzのPICだと1サイクルは100ns。
パルス切り替えの誤差は150nsだからその誤差を利用するとしても、
0のHIGHは500nsで分岐命令以外で5命令分しかない。次はLOWだけど、1のLOWも600nsしかない。
こんな感じ。特殊な事なんだろうけどCで出来る出来ないで言えば、「Cでは出来ない」と自分では思う。
Arduino用のライブラリは用意されているらしいけどね。

375:774ワット発電中さん
16/06/05 23:51:08.33 1sVlOhHD.net
んなのCだろうがアセンブラだろうがプログラムで転送すること自体がアホらしいわな

376:774ワット発電中さん
16/06/06 00:26:18.67 HnVtPur/.net
という>>358みたいな馬鹿は放置しつつ
>>357
たかがLEDの制御に0.4usとか0.8usとか頑張りすぎな気が・・・
10倍遅い4us/8usでも人の目には分からなさそうなもんだけどここまで
速くなきゃダメなのかな

377:774ワット発電中さん
16/06/06 01:11:18.48 4h4ISJKC.net
>>358
一応、PIC18F2620を使ってこのLEDバーを28本(LED224灯)+単体16個で240個に光を流すところまではできたよ。
ただ、形が気に入らないからLEDバー30本+単体16個で256個に変更する予定だけど。
LEDの管理はゲーム機のBGとスプライトのような感じに使えるようにして、
24bitx256個で768バイトを背景1枚+スプライト?用3枚。この4つを重ね合わせた後のデータを置く場所に更に768バイト。
トータルのバッファ用RAMは3840バイト。RAMもほぼ使いきり。
>>359
LEDを1024個カスケード接続して30fps出せるって書いてあるようだし、それが基準なんじゃないかな?
リセットコードは50usと有るんだけど、実際にはもっと短いみたいで5us位にしておかないと送信失敗する。
初めはBG1+スプライト4だったんだけど、1個ごとに重ね合わせ処理して送信では間に合わず、
スプライト1枚減らして重ね合わせ用のバッファに回した。
おかげで特殊なエフェクトも時間を気にせずできるようになったけど。怪我の功名とでもいうのかな。
通信の仕組みだけど、一番最初に流れてきた24bitを自分で利用し、
データの切れ目がリセットコードよりも短ければ、それ以降のデータは全てそのまま横流すって感じ。

378:774ワット発電中さん
16/06/06 01:31:28.31 ymRwj3At.net
Cでできなそうなのでパッと思いつくのはUSBだなあ
16F628Aとか16F57とかでロースピードのUSBデバイス機能を実現したやつ

379:774ワット発電中さん
16/06/06 01:53:47.72 HnVtPur/.net
出来ないかもしれない
アセンブラでカリカリに最適化しながらじゃないと無理かもしれない
しかし18F14K50や18F2553みたいなデバイスが安いなかであえて非USB対応品で
USB通信をやるなんて技術的興味以外に意義が見出せない
そういう


380:範囲まで話を広げるのなら「8bitPICでゲームを動かしてNTSC信号で 出力させる」とか「RTOSを動かす」とかいくらでもある



381:774ワット発電中さん
16/06/06 08:49:01.52 +Aufz8US.net
>>360
LED側に制御IC載ってると楽できるよなぁ。
自分はベタのテープLEDを個別点灯でダイナミック点灯するとVRAM、同期やちらつきだとかめんどうくさいから、FPGA使っちゃった。

382:774ワット発電中さん
16/06/06 08:52:07.51 ymRwj3At.net
あー、意義があることじゃないと駄目?
だと難しいな
「USBロースピードに似たマイナーな通信形式があったとして」みたいな仮定の話もどうせ駄目だよね?

383:774ワット発電中さん
16/06/06 11:49:22.16 +3AdYrGs.net
二つの128〜255の数値を足して2で割る処理をCでやるとすごくマヌケなコードになる

384:774ワット発電中さん
16/06/06 11:53:19.58 Wa9ZqBbS.net
自分はタスク並列処理したい場合にフルアセンブラ(AVR)を使う。

385:774ワット発電中さん
16/06/06 16:24:55.52 pvSGkyuT.net
>>365
それ処理上よく出てくるけど、PIC18だと確かにマヌケなコードになる
インラインアセンブラ使いたいけど、XC8無償版だとその関数全体の最適化が効かなくなるらしいし
XC8の無償版の最適化が捗ればいいんだが
(スレチ)キャリーフラグ込みのシフト命令使えるZ80系でも、持ってる古いMS-Cがマヌケなので困る

386:774ワット発電中さん
16/06/06 16:30:38.63 DxFLL+01.net
タイミング要求が欲しいなら・・・・CPUには任せないだろうなぁ。
命令の実行サイクルで調整するような方法だと、その間割り込みの
受付もできないし。
>>363
「せめDMAがあればぁ!!」って思うでしょ?

387:774ワット発電中さん
16/06/06 20:03:46.45 4h4ISJKC.net
>>363
このLEDじゃなきゃやってないなぁ。R,G,B全てをPWM制御して色を作らないとならないし、
更にLEDが複数個あったらまず無理。
実はLEDの仕様をよく読まずに注文してしまって、制御パルスの仕様を見た時、「あ。パルスの桁一桁間違った」と。
色を固定して各色毎にサブルーチンを作ればいけそうだったけど、じゃぁ、何のためのフルカラーだよと。
無い頭を必死に振り絞って送信ルーチンが完成してほっとしたw
>>368
このLEDのようにデータ送信だけは確実なタイミングが欲しいと言う事なら
割り込み処理じゃなくても最優先の割り込み処理をしているのと同じと考えるかな。

388:774ワット発電中さん
16/06/06 20:30:13.74 h1cOJWvj.net
ID:4h4ISJKC
それはそうと、何が出来上がるの、それ。

389:774ワット発電中さん
16/06/06 20:36:56.33 N5CTu0gn.net
忙しいのに夕方と深夜に書き込むニートの妄想、真に受けるなよ

390:774ワット発電中さん
16/06/06 21:44:19.48 4h4ISJKC.net
>>370
LEDのイルミネーション?だけど。LEDしかコントロールしてないしw ちなみにこんなの。
表。
URLリンク(s1.gazo.cc)
光らせた時。光が眩しいから半透明のPPシートでマスクしてある。うっすら見えてる星形は暗く光らせてるため。
丸と星とハッキリ見えてる頂点がBGに相当する背景。オレンジから紫までの帯が3本、
これが3枚のスプライト的な物。それぞれの動きの速さは1:2:3。BGとスプライトの動作チェック用なので美しさはあまりないw
URLリンク(s1.gazo.cc)
内部:ちょいグロ?全てのLEDバーに対して同じ長さのリード線を使ったらこうなったw
中央の太いのが電源で+5V最大20Aのスイッチング電源に繋がって


391:驕B ソケットが2個あるのは1つ目のROMを使いきったら2つ目を付けて流予定だから。 ttp://s1.gazo.cc/up/194165.jpg >>371 今日は久しぶりに残業が無かったんだよw このLEDのデータシートは秋月のHPに乗ってるし、妄想でも嘘でもなんでもないだろ。 自分でも作れたんだから、このスレのアセンブラ使いなら余裕だろうし。 何がそんなに気に食わないのか。



392:774ワット発電中さん
16/06/06 21:52:16.60 HnVtPur/.net
>>372
371みたいな子供は放置に限るよ
どうで自分では何も作れないガキなんだから

393:774ワット発電中さん
16/06/07 11:03:21.41 OF4pmFF6.net
>>372
光っている所動画みたい
2枚目を見る限り綺麗じゃない
光物に弱いのはいつものことなんだけどさw

394:774ワット発電中さん
16/06/07 17:22:35.52 ZWQdL9tL.net
ID:4h4ISJKC
えっと…。
これは、「美術品」ということでいいんすかね?
ちなみに、Arduinoでもできますか?

395:774ワット発電中さん
16/06/07 19:11:03.20 w54QXbbv.net
>>372
BGとかスプライトとか言ってたから、てっきりドットマトリックスに並べて
8bit風ゲームでも作ったのかと思ってた。

396:774ワット発電中さん
16/06/07 19:17:29.94 ANpr4FDh.net
>>374
その通りで自分でも綺麗だとは思っていないんだよね。
白い光のレールの上を16色の虹色列車が3両走ってるって感じ。物凄く安っぽいw
RGBのコントロールは出来てるか、
LEDの全体的な発光タイミング用のカウンター(ゲームで言うところのVSYNC割り込み的な物)は動いているか、
それぞれのフレームバッファ(BG,スプライト1,2,3)をコントロールするタイマーは動いているかとか
チェック要素を詰め込んだだけのもの。
今は丸+五芒星なんだけど、それを丸+六芒星に変えようと思ってて
それ以上のプログラムも作ってないんで、六芒星の言移行が完了したら動画は上げてみようと思う。
撮影用に乳白色のPPシートをかぶせてあるからボーっとした感じに見えるけど、
実際にはクリアタイプのLEDと同じ光だから物凄くまぶしい。
>>375
Arduinoならライブラリが有るらしいよ。どんなライブラリなのかは知らないけど。
「美術品」と言うよりも「色々勘違いしている間接照明」かな。

397:774ワット発電中さん
16/06/07 19:34:39.34 ANpr4FDh.net
>>376
背景を書いてその上にセル画のアニメーションを流すようなイメージで作ってあるから
ドットマトリクス上に並べればゲームも作れるかな。
ただ、それだとLEDで動画が描かれてるだけって感じだから
あえて図形にしたうえで光の流れで何かを表現したら面白いんじゃ?と思ったから。
内部の処理手順はゲームとほとんど一緒にしてる。
一定期間ごとに割り込みを起こさせて、それに同期してフレームの内容を出力させる。この時に操作ボタンをチェック。
それ以外のタイミングではLED表示に手を出さない。但しフレームの内容はどのタイミングでも変更することが出来る。
更にすべてのフレーム処理が終わっても割り込みが来ないのならCPUは待機。って感じ。

398:774ワット発電中さん
16/06/07 20:45:57.60 6ssUBCCr.net
>>378
自分も同じようなものを作ったことあるけど、面に並べて動画みたいに表示させようと思うと、256×256くらいから
VRAMが飛躍的に増えて、30fps維持しようとすると、タイミングとるのがすごく難しくなりインターレースしたり
帰線区間転送量が増えて、
点灯電流が死ぬほど増えてきて数A余裕で超えるようになって、32BitのCPUとFPGAとVRAMと定電流回路と
数MHzの高周波駆動信号伝送がいるようになってきてノイズで誤動作するようになってきて


399: かなり楽しめる。



400:774ワット発電中さん
16/06/07 23:42:27.70 w54QXbbv.net
楽しそう(ガクブル)

401:774ワット発電中さん
16/06/08 06:33:32.43 5Pvzd2bG.net
確かに別な意味で楽しそうだけどw

402:774ワット発電中さん
16/06/08 08:09:44.65 7yTjZ1t7.net
もう少し頑張れば1920x1080のフルHD表示も夢では無いな

403:774ワット発電中さん
16/06/11 23:22:45.49 VT7ffkQM.net
16F88で7セグLEDを点灯させるためのプログラムを16F1827で使うために
一部を変更して書き込んだところRA7だけが反応しませんでした。
変更点は、OSCCONを16F1822に対応させるように変えたこと。
ANSELの記述が2つになってるのでANSELA,ANSELBにしていずれも使用しない設定。
タイマー2でダイナミック点灯だったのでタイマー2関連を修正しました。
ポートAで各セグメントを制御し、ポートBで桁を制御しています。
888を表示するようにしてみると何故か000になって、真ん中のセグメントは
RA7に接続していました。
RA7の関係で何かの設定が無いとデフォルトで入出力以外の設定になっている等あるのでしょうか?

404:774ワット発電中さん
16/06/12 00:19:26.68 mbkg6tSK.net
>>383
コンフィグレーションワードの設定が違うとか?

405:774ワット発電中さん
16/06/12 03:28:04.92 PolSXa8L.net
>>383
RA7は、ClockINになっているんじゃないの?

406:774ワット発電中さん
16/06/12 08:29:33.97 boljHGxk.net
>>383
以前18F87K90のRC0、RC1で同じような体験をした。結局データシートを読んで解決したよ。
RC0、1をデジタルI/Oとして使うにはデフォルトの設定では駄目で、コンフィグレーションビットの設定でSOSCSELをHIGH→DIGに変更する必要があった。
なんでデータシートをよく読んだらいいと思う。

407:774ワット発電中さん
16/06/12 09:06:12.90 mGUf/xwW.net
また聞いたことない型番が出てきた・・・>PIC18F87K90
ざぉちょり見た感じLCD接続に特化したPIC18なのかな
64MHzまでクロック上げられるのはいいね

408:774ワット発電中さん
16/06/12 10:21:24.24 yv2Xj8mG.net
グチャグチャやな

409:774ワット発電中さん
16/06/12 12:32:38.87 QV5/v2Nt.net
5桁シリーズのどこまでがシリーズナンバーでどこからが個別記号かとかあれも面倒で大変

410:774ワット発電中さん
16/06/12 12:34:35.64 h1VEGZei.net
>>383
RA7まで特定できてるなら、データシートに見たら答えは載ってると思う。
なんで見ないの?

411:774ワット発電中さん
16/06/12 15:33:25.00 boljHGxk.net
>>387
・Vdd5Vが使える
・アーケードゲーム用に使うんで入出力をとにかく多く(本当はもっと欲しいぐらい)
・EEPROM内蔵
って条件で選んだのがこれでした。
64MHzで使えるのでありがたいです。

412:774ワット発電中さん
16/06/12 18:02:32.24 Y9fMrFWV.net
>>384
>>385
コンフィグレーションの設定でディセーブルに出来るものはすべてディセーブルで
問題なく動作しました。
ありがとうございました。
>>390
データシート見てみましたが、今まで16F88などと勝手が違い理解が乏しかったです。

413:774ワット発電中さん
16/06/13 13:40:31.93 1FdSDj3w.net
>>392
>ディセーブルに出来るものはすべてディセーブル
なんでディセーブルにするの?
1つ1つの設定内容を見て、正しくセットしないといけないと思うんだけど。
動いたからいいじゃん、という結果オーライはよくありませんよ

414:774ワット発電中さん
16/06/13 19:51:33.99 sJcnUrYA.net
>>393
元々16F88など使ってたので、1827になって、追加された項目はそもそも使っていないと判断しました。
mikrocなので、GUIメニューで全て出てくるので。

415:774ワット発電中さん
16/06/13 20:09:52.28 fFSIX12C.net
結果オーライだってかまわないさ。
所詮趣味、所詮2ちゃん情報なんだし


416:B真面目にやらなくたってかまわん。



417:774ワット発電中さん
16/06/13 22:16:25.09 AQcO46wj.net
まあでもデータシート読まないでプロジェクト始めないよな普通は

418:774ワット発電中さん
16/06/14 00:09:40.43 ygDLeMbv.net
>>394
1827と16F88が、なんで機能の上位版になるの?
>>394が勝手に考えて勝手に判断したんじゃなくて?

419:774ワット発電中さん
16/06/14 00:36:55.25 COI6BmJz.net
>>397
確かにmikrocならコンフィグレーションがウイザードだからメニューの数が違うな。

420:774ワット発電中さん
16/06/14 00:43:15.66 fhnsOUTW.net
PIC16F84/Aの代替ってPIC16F87が最適解ってことでいいですか?

421:774ワット発電中さん
16/06/14 00:45:38.99 ygDLeMbv.net
>>399
Microchipに問い合わせてみ。

422:774ワット発電中さん
16/06/14 01:13:01.83 oZZasLpI.net
>>396
いいのよ。どうせお遊びなんだから。

423:774ワット発電中さん
16/06/14 01:20:49.16 fhnsOUTW.net
>>400
お前には聞いてない
ガイジが口挟んでくんなよ

424:774ワット発電中さん
16/06/14 17:04:06.97 ygDLeMbv.net
>>399のようなていねいな質問口調の人でも、
>>402のような口の利き方になるんだね。
人は見かけによらないね。

425:774ワット発電中さん
16/06/14 17:07:10.45 LK6kqgtJ.net
見かけも何も見えませんしお寿司

426:774ワット発電中さん
16/06/14 20:24:55.62 KaugTGVU.net
>>399
そもそもPIC16F84Aがいまだに入手可能なので「代替」ってのも変な話
ピン互換、機能互換としても数種類候補に入って来るしねえ
初心者が最初に使ってみるPICとしての84Aの代替というなら1827をお勧めするけど

427:774ワット発電中さん
16/06/14 21:19:00.38 jMwW5R5n.net
初心者はやっぱ16F688じゃないの
16F1823は688の新型だと思ったら、メモリーが2kしかないのな、残念だわ

428:774ワット発電中さん
16/06/14 21:23:18.69 JRq58jZ6.net
>>406
16F1825
URLリンク(akizukidenshi.com)

429:774ワット発電中さん
16/06/14 21:34:01.09 kS+C2zd0.net
最低でもPIC16F1系以降ではじめる方がいいよ。

430:774ワット発電中さん
16/06/14 22:12:48.50 vlmI1YP0.net
18Fで始めちゃった自称初心者だけど遠回りしたのかな?
秋月の「PIC18F4553使用 USBマイコンボード」で
LEDやらスイッチ3個が便利で試作から実用まで十分使えたけど
実用物を作るには\1280が勿体ないのが難点

431:774ワット発電中さん
16/06/14 22:42:13.30 mDyUtI8B.net
基板起こせば良いじゃん

432:774ワット発電中さん
16/06/14 22:53:57.31 qb3m1fIU.net
>>409
いや、PICを始める一歩としては全然いいよ>18F4553
というか上で挙がってる16F1825なんかの16F1系は所詮エンハンスドミッドレンジ
割り込みは1レベルしか無いし1word=14bitだし、昔の古い設計を引きずってる
ハイエンドシリーズの18Fの方が設計が新しい分色々使いやすい
何より18F4553なんかのUSB対応品はUSB HID-Bootloaderを最初に書いておけば
pickit使わずにUSB経由でファームを流し込めるのが便利

433:774ワット発電中さん
16/06/14 22:56:40.39 HbgryABF.net
16F84Aを使うのはネット上に沢山のプログラムが存在するからだよ
それを利用したいから使う・・・それが目的と思うよ
ネットにあるプログラムを利用したいのなら
16F716を使うのが一番簡単だと思うよ。

434:774ワット発電中さん
16/06/14 23:05:03.70 pjSqRlWt.net
>>409
俺も>>410の発想に近い。
回路図があるんだからDIPの4553を買って来て、追加のパーツもそろえて、
とりあえずブレッドボードで再現してみればいいと思う。
別に難しくないと思うし、2000円でできる。
それから、別の18Fチップで代替できるかとかやってみて、徐々にコストダウンを図る。
最初の2000円は後々全て使いまわしが可能なので初期投資と考えれば安いもの。
以後、チップの値段+αで実用物が出来る。
>>411
1280円がもったいないって言ってるんだから、もっと安く、お気楽なものが作りたいんだよきっと。
18Fは選択肢としては間違いないけど、決して廉価ではない。

435:774ワット発電中さん
16/06/14 23:30:05.09 fhnsOUTW.net
>>413
安く抑えたいなら試作・実験は18F14K50のモジュール版使って、実用品作るときは
PIC単体で買えばいいじゃん。18F14K50単体なら220円で買える
これにDIP化USBコネクタやVusb用のコンデンサやセラロック諸々入れても500円で
済むでしょ
500円が高いとか言うならもうアドバイスする事は無いけど

436:774ワット発電中さん
16/06/14 23:31:46.07 vlmI1YP0.net
>>410>>413
ですね、ブレッドで試作して実用物は基板を作ってます。
DIPの4553が割高なので27J53等200円台のチップでケチろうとして
初心者が余計な所で嵌まり込んで苦労をしたという程度の難点ですw

437:774ワット発電中さん
16/06/15 00:53:39.36 PiIS7b8V.net
新規に始めるなら16bit以上PICの方がよさそうだけど。
作例は少ないから多少苦労するだろうけど、素直なアーキテクチャでCもいいし
PIC24,dsPICはアセンブラも8bitPICより遥かに使いやすい。
それにPIC18シリーズは実はもう終わったシリーズじゃないのかと思ってる。
ここ数年はたいして新製品も出ていないようだし。
逆にエンハンスドミッドレンジのPIC16F1シリーズはやたらと品種増えてる

438:774ワット発電中さん
16/06/15 02:01:03.97 N64/q7WA.net
5V出力の新製品が減りつつあって、そっちが自分の目下の悩み
トランジスタアレイつけるのもなー ( ´∀`)

439:774ワット発電中さん
16/06/15 02:41:22.60 jOyXW3VN.net
中華pickit 3と秋月のリール品で1k 10kのチップ抵抗、同じく104 コンデンサ、Lanケーブルの単線で一生分の基本パーツは揃う
チップもリードつければブレッドボードにさせる
10ufのコンデンサが必要なpicもある

440:774ワット発電中さん
16/06/15 02:55:57.25 PB+zzkoh.net
新しくはないけど、PIC24FVが使いやすいと思う(というか、使ってる)
・電源 2〜5V OK
・20pin DIP, 28pin DIPあり。0.8QFP44
・全ピン 18mAの押し引き可能
・16bit 高速
・クロック 8MHz x PLL4 = 32MHz動作
・ハードウェア乗算器、除算器内蔵
・リアルタイム時計内蔵
・32bit CRC 内蔵
・2 SPI, 2 I2C, 2 UART, 3 PWM, 13 12bit A/D
・32kB ROM, 2kB RAM, 512Byte EEPROM
・選べるICSPピン(3箇所)
・秋月で270円
ソースのひな形を1回作れば、あとはピン数の違いだけ。使い回しがとても楽です。
ぜひ使ってみてください。

441:774ワット発電中さん
16/06/15 08:45:39.34 Ey9A+Dg5.net
>>407
・コンパレーターx2
・キャップセンス:x8
・コンパレータx2
大事な事

442:774ワット発電中さん
16/06/15 09:58:06.80 ZjG8Jdin.net
初心者が本当に使いやすいかどうかは別として、F1705やF1709あたりがあればOPAMPも内蔵だしメモリも満載だし、ちょっとしたものならこれ一個で全部いけるから便利じゃね?
F1705なら14ピンだから小型で扱いやすいから、あ


443:驤モ味最強かもよ。 F1825よりもいいと思うけどな、CAPセンスどうしてもしたいというなら反対しないけど。 デカいチップ使えばなんでもできるのは当たり前で、小さいチップでいろいろできるのがこの手のPICのいいところだと思うよ。



444:774ワット発電中さん
16/06/15 11:01:28.26 5yb3rWnj.net
>>411
でも、PIC18は最近、新デバイス出てない。
マイクロチップもやる気なさそう。

445:774ワット発電中さん
16/06/15 13:04:14.64 W7sIU1Lh.net
お勧めじゃなくて自分が使ったやつの紹介になってるなw

446:774ワット発電中さん
16/06/15 14:59:33.99 ymUroxwD.net
え、秋月でぽちっちゃったじゃないの!16F1705と16F1825と24FV32KA301。
手元のPICKIT3(中華まがい物)で扱えるのか確認し忘れたまま…
それよりどしろーとの自分の力量で扱えるかどうかのほうが大問題か

447:774ワット発電中さん
16/06/15 19:42:11.08 sbLqU1kD.net
LINEAR DATA MEMORYがPIC16でサポートされていたら、
PIC18を選ぶ理由が少し減るなあって思います。

448:774ワット発電中さん
16/06/15 19:50:08.65 WgoBVu8z.net
>425
PIC12/16F1シリーズのエンハンスドミッドレンジならサポートされてるけど
FSR経由のアクセス限定だけど0x2000以降にRAMが連続配置されてる。

449:774ワット発電中さん
16/06/15 20:13:40.77 WgoBVu8z.net
>412
PIC16F716はEEPROMが乗ってないから16F84Aの代わりにならない場合があるよ。

450:774ワット発電中さん
16/06/15 22:47:26.87 sbLqU1kD.net
>>426
すみません。書きようがまずかった。
「サポートされていたら」は「サポートされる状況では」の意図でした。

451:774ワット発電中さん
16/06/15 22:55:08.99 Y28DJeFM.net
F1705はお勧めできません!!!
I/O制御レジスタやPPSが追加になっていて初心者にはどうかと・・・
メモリーも多いし機能も豊富ですが設定が理解できるかどうか??
それと24FVは最近XC16の記述仕様が変わったためサンプルが
ほとんど使えなくなりました。
自分的にも良いPICと思っているので旧環境でも使える
ライブラリを整備しようと思っています。
(現在6割くらい独自ライブラリが完成しています)

452:774ワット発電中さん
16/06/15 23:16:28.70 imRba542.net
14ピンはなー…8bit揃ったポートが無いのがなー…

453:774ワット発電中さん
16/06/15 23:30:43.17 Y28DJeFM.net
最近はあまり新しい商品が出てきていないけど18ピンのPIC
は使いやすかったけどな〜〜
14ピンは8ピンに6ピン追加しただけで8Bitそろわないな〜〜

454:774ワット発電中さん
16/06/16 00:21:40.95 m+Z/B544.net
16F84から16F88にきてPicKit2での不具合に嫌気さした場合はどれにいけばいい?18ピンでお願いします。

455:774ワット発電中さん
16/06/16 00:31:15.71 tmUYxQnC.net
>429
多機能だろうとほとんどの機能はデフォルトで無効化されてるんだから関係なくない?
I/OをデジタルでON/OFFするだけならANSEL設定すればいいだけだし。

456:774ワット発電中さん
16/06/16 06:29:56.64 tUVRl2cs.net
いいなぁPICはあーでもない、こーでもないと色々迷えて。
羨ましいぞ。
AVR入門はArduino経由かどうかで、ほぼtiny2313/mega328の2択だ

457:774ワット発電中さん
16/06/16 06:37:50.83 nzzeUII0.net
16F84から18F2620に変えたけど、RAMとROMの空間が多くて便利だわ。+5Vだし。

458:774ワット発電中さん
16/06/16 11:07:02.49 In/Mo4XH.net
今時8ビット揃わないと困ることは少なくなったんじゃない?
どうしても8ビットいるなら20ピンとか28ピン使えばいいだけだし、14ピン否定する意味がわからないなぁ。
18ピンが使いやすいなんてこれっぽっちも思ったことがないなぁ。結局内部機能使おうとしたら8ビットなんて取れないんだから、そういう意味では20ピンは内部機能の割り当てがよくできてるから8ビット取りやすいよ。
84Aに引きずられすぎじゃない?コピーするにしても移植する


459:ュらいの元気は欲しいな。 あ、84Aは内部機能ほとんどないから気にならないのか・・・。LEDちかちかするだけだから、折角の豊富な機能は無用の長物なのか?



460:774ワット発電中さん
16/06/16 13:29:16.88 tUwZfKcK.net
16F84A、秋月で300円、表面実装のやつだけどマルツで630円
値段的にどうなの、って気がするけど

461:774ワット発電中さん
16/06/16 16:38:36.81 J8zK8ehf.net
8bitって、扱えるデータが少なくて使いにくくないか?
int=8bit?
long int=16bit?
longの計算中に割込が入ると、泣ける。
1msタイマーの中で、255msしか数えられないのが不便だと思う。
16bitなら、65秒とかが1ms刻みで調整できるよ。
AVRは、型番の読み方がわかんない。ATmegaってアトメガ?

462:774ワット発電中さん
16/06/16 19:06:34.35 IZC6Ofql.net
>438
工夫すればどうにでもなる事だとおもうけど。
16bit以上の演算を多用して速度が必要なら16bit以上のマイコンを選択すればいいし
そうでないなら8bitでも充分だし
>longの計算中に割込が入ると、泣ける。
なぜ?

463:774ワット発電中さん
16/06/16 20:59:05.20 3NBG5+Hs.net
>>438
マイコンの選択間違ってるだけでしょ
必要な機能があるもの選べばいい

464:774ワット発電中さん
16/06/16 21:19:45.60 3as7yhK7.net
>>438
なんで1msタイマで255msまでしか数えられないのかわからんな。
どんなカウントしてるんだか?

465:774ワット発電中さん
16/06/16 21:38:42.54 xSrSrmAS.net
PIC自身のワード幅とタイマーとCのintを混同している気がする
8bitPICでも16bitタイマーはあるし、Cのintなら16bit

466:774ワット発電中さん
16/06/16 21:39:14.03 6gKpuizv.net
>>438の言ってることがほとんど理解できない。
修行し直してくる。

467:774ワット発電中さん
16/06/16 21:59:33.68 I7UbZ/Bk.net
>>438
自作なら、PIC24にいった方が幸せ。
量産で、1円単位でコストダウンしたいなら、8bit だが。

468:774ワット発電中さん
16/06/16 22:00:56.19 PJjXV6+V.net
こんなことをやっているのでは?
グローバル変数をタイマー割り込みでインクリメントする。
メインのループでその変数を参照する。
その変数が16ビットであって、メインループで上位下位の順に参照するとする。
上位を参照→割り込み発生インクリメント→下位を参照、でトラブル。

469:774ワット発電中さん
16/06/16 22:28:56.43 I7UbZ/Bk.net
>>445
普通、多バイト演算するときは、割り込み禁止するだろ?

470:774ワット発電中さん
16/06/16 22:47:17.49 PJjXV6+V.net
>>446
禁止していないから>>438みたいな悩みになるんじゃないのかな。

471:774ワット発電中さん
16/06/16 22:58:41.12 tUwZfKcK.net
そういや昔スーパーでレジのバイトしてる時に、ばばあ二人が割り込みしたのしないのと
大喧嘩。おれがバイトしてる時には割り込み禁止だ。そういう意味かな。

472:774ワット発電中さん
16/06/16 22:58:49.63 kCb1HdO3.net
>>446
じゃあ>>438は何をやってると思うの?
>>438が普通でない前提でみんなレスしてるんだが?

473:774ワット発電中さん
16/06/16 23:00:54.11 hY962zuS.net
お前らホント馬鹿ばっかりだな。
まともなのは>>443だけ。

474:774ワット発電中さん
16/06/17 03:51:17.39 BX9RSG9C.net
>>445が正解です。
タイマー割込で正確な時間を管理しようとしているのに、
割込を禁止するってどうよ?
解決策は、
グローバル変数に、int16_A, int16_B を取って、
タイマー割込の中では、int16_Aをint16_Bにcopyして、int16_Aを壊さないように処理。
結果は_Bに格納。
メインでは、int16_Aを使う直前に、_Bからcopyして使う。

475:774ワット発電中さん
16/06/17 04:16:22.92 Q9eXm22W.net
>451
>メインでは、int16_Aを使う直前に、_Bからcopyして使う。
8bitマイコンで16bit分のコピー(MOV)だと2命令以上になるからその間に割り込み
入ったらダメだと思うけど(ちょうど桁上りしなければ問題ないが)

476:774ワット発電中さん
16/06/17 05:14:29.86 F3z7X/Xm.net
>>452
そもそも元の問題も、ちょうど桁上がりしてる時でなければ問題ない
>>451はコードを複雑にしてるだけで何ら問題の解決になってない
(問題の縮小にすらなってない)

477:774ワット発電中さん
16/06/17 05:51:25.65 lItx3LmK.net
>>453
コピー直後にABの値を比較して、もし変化していたら再度コピーすればいいね
確率的に無限ループにはならないかと

478:774ワット発電中さん
16/06/17 06:35:32.20 F3z7X/Xm.net
そもそもジャンプ系の2ステップ命令実行時に割込みが発生したら1ステップずれるという問題もあるから
タイマー割込み→カウンタークリア→カウント再開(変数インクリメント)
という手順では正確なカウントはできない
やるならカウンターはフリーランにしておいて、
オーバーフローで割り込み→変数インクリメント
という手順にする必要がある
後者の方法であれば、変数を使う時に割り込み禁止しても変数インクリメントのタイミングが
遅くなる場合があるというだけでオーバーフローの回数を数える処理としては問題ない

479:774ワット発電中さん
16/06/17 06:54:32.45 oYnN0xgs.net
正確なインターバル欲しければハードウェアしかないだろ。
ソフトウェアタイマーはズレ承知で使う物


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

876日前に更新/309 KB
担当:undef