初めてのPIC 0x08at DENKI
初めてのPIC 0x08 - 暇つぶし2ch378: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
正確なインターバル欲しければハードウェアしかないだろ。
ソフトウェアタイマーはズレ承知で使う物

480:774ワット発電中さん
16/06/17 07:20:37.29 nqlh3TII.net
>>455
カウンタクリアをソフトで実施するからまずいってことではない?

481:774ワット発電中さん
16/06/17 07:23:17.13 /4keYfit.net
>>456
アウトプットコンペア、とかも有るしな。

482:774ワット発電中さん
16/06/17 08:20:08.18 jpZ3b4Dj.net
たかが1ms程度、割り込みでフラグたてて帰ってきて、mainでインクリメントして、どれだけ誤差が出るのか?
メインでだらだら重たい処理全部書いてるんじゃねーのかね?

483:774ワット発電中さん
16/06/17 09:29:22.65 NhsROuHO.net
割込みで問題出るならもっと高性能なもの使えばいいだけ
わざわざトロイ物使ってること自体が問題では??

484:774ワット発電中さん
16/06/17 10:46:52.44 3P/WD7/b.net
>>455
>そもそもジャンプ系の2ステップ命令実行時に割込みが発生したら1ステップずれる
割り込み源がCPUクロックに同期している限りではずれない。
1ステップ命令時にはNOPが挿入される。

485:774ワット発電中さん
16/06/17 10:58:55.04 jTbWdtJb.net
>>459
並行して使うタイマーが1000個とかあったらどうよ?
弾幕ゲームとかキャラ数何個だと思ってる?

486:774ワット発電中さん
16/06/17 13:08:51.67 lN8K2SKw.net
>455
CCP機能に SPECIAL EVENT TRIGGER という便利な機能があるのでそちらを使えばいいだけ。
TMR1が指定値になったら自動でリセットされ、CCPの割り込みが発生する。

487:774ワット発電中さん
16/06/17 13:20:34.88 F3z7X/Xm.net
>>457
だから>>455でそれがダメだって話をしてんじゃん
>>461
割込み頭で自動調整されるInterrupt Latencyって4桁型番になったあたりからの機能でしょ
8bitPIC全般の話(少なくとも型番指定されていない話)してる訳で・・・

488:774ワット発電中さん
16/06/17 13:41:58.52 3P/WD7/b.net
>>464
そんなことはない。16F690だってそうなってるよ。
PICはPeripheral Interface Controllerだけあってその辺は良くできている。

489:774ワット発電中さん
16/06/17 13:54:40.07 jpZ3b4Dj.net
>>462
意味わからん。
それをタイマー割り込みの内部で処理させるほうがよほどおかしいと思うが?

490:774ワット発電中さん
16/06/17 14:41:02.91 PmgxiNEt.net
結局
2命令処理�


491:フ途中でタイマー割込がかかったときの対策は、ないんでしょ?



492:774ワット発電中さん
16/06/17 15:38:58.50 lN8K2SKw.net
>464
いや古いチップでも2ステップ命令実行時でも割込みタイミングはずれないよ。
PIC16F84(A無しの相当古いチップね)のデータシートより
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
勘違いしてる人多いけど、1サイクル命令も2サイクル命令も命令フェッチと実行に1サイクルずつ計2サイクルかかってるのは変わらない
1サイクル命令だと前の命令の実行と次の命令のフェッチが同時に行われるので見かけ上 1サイクル動作に見えるだけ。
2サイクル命令は前の命令の実行でPCが変更されるため同時に行ってる次の命令のフェッチが無効になり、次のサイクルで再取得の為
2サイクルまるまるかかることになる。
つまり割り込み掛かった時点の命令が完了するタイミングは1サイクル命令も2サイクル命令も変わらない。
割り込みの場合 図(FIGURE6-4)でいえば Inst(PC)まで実行される。Inst(PC+1)のフェッチはキャンセルされる。

493:774ワット発電中さん
16/06/17 16:15:15.43 lN8K2SKw.net
>467
>2命令処理の途中でタイマー割込がかかったときの対策は、ないんでしょ?
2命令というのが2サイクル命令という意味なら>468で書いたように1サイクル命令も2サイクル命令も差はない。
2命令が割り込み内で更新される16bit幅のカウンタか何かをメインルーチンで取得するという意味なら
A)>454のように2回取得して比較する。TMR1の取得にも使われる(PIC18FのTMR1は改良されてるね)
B)取得する間 割り込み禁止にする
Aはコードが面倒くさい。
Bは割り込みに入るタイミングがずれるので、割り込み内でTMRの再設定してたら蓄積されるズレが生じる。
ただTMRをフリーランで動かすなり、>463で書いたCCP機能つかえば蓄積されるズレは発生しないので
問題はないはず。もしこの数命令の短い割り込み禁止のタイミングすら問題となるなら、それはメインルーチンで
処理する内容ではなく割り込みルーチン内で処理するべき内容かと

494:774ワット発電中さん
16/06/18 00:22:10.99 gLnwO2Wr.net
>もしこの数命令の短い割り込み禁止のタイミングすら問題となるなら、それはメインルーチンで
処理する内容ではなく割り込みルーチン内で処理するべき内容かと
そうとは限らない。おつむの能力の問題だな

495:774ワット発電中さん
16/06/18 04:11:28.80 Q44NuWBq.net
volatile int val16;
void interrupt intfunc( void )
}
val16++;
}

int getval16( void )
{
int i;
di();
i=val16;
ei();
return i;
}

void main( void )
{
int j;
for(;;){
for( j=getval16(); j==getval16(); ){}
}
}
アセンブラ至上主義者には言いたいこともあろうが、割り込みで変更される可能性がある変数を参照するときは、専用の関数を用意すれば問題無し。

496:774ワット発電中さん
16/06/18 04:55:07.36 IFaudQVm.net
割込を禁止してるけど、定時になったときに仕事できないと思う

497:774ワット発電中さん
16/06/18 06:08:42.13 y8/e0mwO.net
EEPROMは電源切っても消えないデータってのはしってるけど
データSRAMってなんのこと?
どうゆうとき使うんだろ

498:774ワット発電中さん
16/06/18 06:52:27.43 RdEZPIYR.net
>そうとは限らない。おつむの能力の問題だな
具体的に書かずに誹謗だけするのはなぜなんだろな。この人のこの面は良くないと思う。
>>472
割り込みを禁止している期間は割り込み関数の起動の遅延をもたらすわけだけど、
その遅延がどれぐらい問題になるのか、問題にならないのかは用途次第だよね。
タイマー動作を突き詰めれば、(CPU内蔵のものを含めた)ハードウェアの支援がより必要に
なるし、そうすると場合によってはCPUの選択肢を狭くする。これぐらいは問題なし、と
言えるものなら、よりコストが低い方法も採れる。

499:774ワット発電中さん
16/06/18 06:55:44.64 RdEZPIYR.net
>>473
最近のPICには、内蔵(あるいは外付け)のRAMとは別に、
「DATA SRAM」っていう特別な機能があるのでしたっけ。

500:774ワット発電中さん
16/06/18 12:28:07.30 y8/e0mwO.net
>>4


501:75 サンクス



502:774ワット発電中さん
16/06/18 13:14:05.56 IhMw1bto.net
>473
EEPROMには大きな欠点が2つあり、第一に書き換え回数による寿命がある(品種により違うかもしれないが100万回程度)
第二に書き換えるのに時間がかかる(数ms程度) 1サイクルで書き換えできるSRAMと比べると1万倍位遅い事になる。
この欠点により電源ONの動作中に使うにはEEPROMは不適切で、書き換え寿命が無く高速なSRAMを動作中はメインに使うことになる

503:774ワット発電中さん
16/06/18 13:31:37.77 TTdLfpHD.net
>>473
そこで言うデータSRAMとは単にメインメモリ位の認識でいいです
一時的な変数を格納したり、関数行ったり来たりする際のワークに使ったりと
そういう使い方です
プログラムメモリはその名の通りプログラムコードを格納してある場所で、
普通はNANDフラッシュ領域で書き換えて使うことは稀です(最近はEEPROMの
変わりに使ったりしますが)

504:774ワット発電中さん
16/06/18 13:32:44.04 TTdLfpHD.net
>>475
いや、単に内蔵RAMの事をデータSRAMと読んでるだけ
どっちも同じ

505:774ワット発電中さん
16/06/18 13:42:19.12 upMq/c71.net
マイクロチップのバッテリーバックアップつきI2C接続のSRAM買ったけど眠ったままだわ

506:774ワット発電中さん
16/06/18 16:28:13.03 8QqRPwfy.net
入れる物の名前+メモリ と
動作特性の名前+メモリ など、いろいろ呼び方があるから、
チェリーな僕は混乱してしまいます。
Flash PROM
・プログラムが格納されているメモリ。RAM変数の初期値も書かれている
・プログラムで書換はできない
・電源offでも消えない
・容量 32kWとか大きい
SRAM
・計算に使用するメモリ。スタックとか変数とか
・プログラムで書換する
・電源offで消えてしまう
・容量 384byteとか
・データメモリとも呼ばれる
EEPROM
・プログラムで書換できる
・電気offしても覚えてる
・でも書込みが遅い
・容量 512byte とか

507:774ワット発電中さん
16/06/18 16:52:59.70 RdEZPIYR.net
>>481
PICマイコンをお使いになるぶんには十分な理解だと思います。
略語は一度は元が何なのかを調べておかれる方が良いです。
Flashメモリの「PROM」が微妙でして、Microchip ではFlash program memory って呼んでる
と思います。 プログラムを格納するメモリですね。
ROMは Read Only Memory が元になっています。
書き換えできるのに Read Only って変ですが、今では、RAMほど自由に書き換えできないって
ぐらいの意味しかないと思います。
前についているPですが、世間でPROMといえば、programmable ROM でして、これはプログラムを格納する
ではなくて、「プログラム(書き込み)可能な」です。
Flashメモリ自体は、仕組みはいろいろあるのですが、プログラムを格納するものとは限らず、身近な
SDメモリカードなんかはデータの保存に使いますね。

508:774ワット発電中さん
16/06/18 18:58:03.79 VzLBq0EK.net
>>481
釣られません

509:774ワット発電中さん
16/06/18 19:36:19.95 dH9BoPVT.net
MRAM使えば全て解決

510:774ワット発電中さん
16/06/18 19:59:03.65 8QqRPwfy.net
>>482
どうもありがとうございます。
略語の語源を知ると、理解が深まりますね。
EPROM = Electric Program Read Only Memory
EEPROM = Electric Erasable Program Read Only Memory
ですね。
FRAM とか

511:774ワット発電中さん
16/06/18 22:32:07.91 OYYIGxs1.net
EPROMはErasable PROMだよ

512:774ワット発電中さん
16/06/18 22:42:51.80 RdEZPIYR.net
MRAMはちょいと消費電流が大きいと思う。
でも、バックアップが要らなくてアクセスタイムがSRAMみたいに速いのはいいね。
使ったことはないけれど、TIのFRAMマイコンって惹かれる。
同じメモリをプログラムエリアにもRAMエリアにも使えるんだって。
PICだとこういうのは難しい


513:かな。



514:774ワット発電中さん
16/06/18 23:13:47.07 8QqRPwfy.net
>同じメモリをプログラムエリアにもRAMエリアにも使えるんだって。
すごい。ちょっと感動。
でも、しっかりブロックしておおかないと、ROM領域に書き込んでしまったら
大変なことになりそうですね。

515:774ワット発電中さん
16/06/18 23:33:51.82 sIeOwce3.net
ハーバードアーキテクチャでググって

516:774ワット発電中さん
16/06/19 10:16:29.28 zV699GXB.net
自己書き換ぇ…

517:774ワット発電中さん
16/06/19 12:11:32.70 +g8FOTp+.net
>>487
MRAMは磁界に晒すと記憶が飛ぶのみならずぶっ壊れるって聞くからこわい

518:774ワット発電中さん
16/06/20 03:44:05.56 GXzOPeZL.net
ピックでLEDをキラキラさせたいんですが、電気制限抵抗なしでも大丈夫でしょうか?
それがないと大電気が流れてLEDを死なせてしまうというのは理解させたのですが、
プログラムてきにすごい短い時間だけ光らせるようにすれば制限抵抗がなくても
大丈夫だったりしませんでしょうか?
例えば「0.1μセック点灯→5μセック消灯→以下繰り返し」みたいな感じです

519:774ワット発電中さん
16/06/20 06:49:33.02 5C0mnaMD.net
どちらかと言うと死ぬのはPIC側

520:774ワット発電中さん
16/06/20 07:35:46.56 DbAy/U7M.net
物理的にぶっ壊れるまえに全ポートの電流合計上限越えると
プログラム暴走すっから気を付けてね。

521:774ワット発電中さん
16/06/20 09:09:16.92 zUsmHOZu.net
>>494
どう暴走すんの?原因はなんなんですかね

522:774ワット発電中さん
16/06/20 09:22:48.45 zmbZWlog.net
当然だけどプログラムが不意に停止(ICSP書き換えとか含め)すると流れっぱなしになるよね
それでも3V電源なら直結流れっぱなしでも25mAに届かないと思う、
5Vだとヤバいかな(適当)と思う

523:774ワット発電中さん
16/06/20 10:07:47.61 DbAy/U7M.net
Lレベル上がっちまうからじゃね?<暴走

524:774ワット発電中さん
16/06/20 10:11:37.54 DY5ovjmj.net
>>492
抵抗なしは、ダメです。
必ず抵抗を入れています。

525:774ワット発電中さん
16/06/20 11:21:26.62 BjJhKEYl.net
抵抗は損失があるから
LEDに噛ますのは電力が勿体ないな
スイッチングして省エネに決めたくなるなw

526:774ワット発電中さん
16/06/20 17:10:35.84 CiFFnWBS.net
>>492
抵抗入りLEDが便利ですよ

527:774ワット発電中さん
16/06/20 17:54:11.36 ApsmG4i+.net
>>499
スイッチングするにしても、抵抗なしではダメでしょ

528:774ワット発電中さん
16/06/20 18:01:47.62 DbAy/U7M.net
ネタだからそれ、

529:774ワット発電中さん
16/06/20 19:02:12.25 NImi7+kP.net
スイッチングする前提なら、コイルを使えば良いのよ

530:774ワット発電中さん
16/06/20 19:11:30.26 NImi7+kP.net
>>472
割込みの応答時間が問題になるなら、
フラグを1つ用意すれば対応できるけどね。

531:774ワット発電中さん
16/06/20 20:05:37.94 xBDZgxE0.net
自分も質問があるのですが12F1827で100Hzから1Hzまでの周期をカウントして7セグLEDに表示したいのですが、どの様なカウント方法が良いでしょうか?
7セグでタイマー1は使っています。

532:774ワット発電中さん
16/06/20 21:07:48.16 02+eSUFs.net
周期って何の周期?
PICに波形が入ってくるの?

533:774ワット発電中さん
16/06/20 21:48:02.68 FRe37nqg.net
月に一度の・・・

534:774ワット発電中さん
16/06/20 22:19:45.42 NImi7+kP.net
給料日?

535:774ワット発電中さん
16/06/20 22:31:47.88 Kx8k00rQ.net
インプットキャプチャ?

536:774ワット発電中さん
16/06/20 22:32:06.94 5crJfF4B.net
>505
CCP機能のCAPTURE MODEを使って周期の間の時間を測って逆数を表示させるのが良さそうなんだけど
CAPTURE MODEはタイマー1限定なんだよね・・・
まあ16F1827はタイマーはいっぱいあるようだから、1秒(に近い値)を作るのと周期をカウントするタイマーで
二個使えばいいんじゃない

537:774ワット発電中さん
16/06/20 22:43:36.45 ZXFv1aa+.net
外付けのFRAM使ってるけど値段も安いし動作は高速で
快適に使えています。
しかも低消費電力・・・・
寿命も10の15乗とかなり長い・・・
書き換え時間は100ns,バイト単位で書き換え可能、

538:774ワット発電中さん
16/06/21 00:40:03.63 qBoZzscp.net
寿命がある時点でダメだな

539:774ワット発電中さん
16/06/21 07:55:29.01 9YSV01el.net
電解コンデンサはもっとだめだな

540:774ワット発電中さん
16/06/21 12:49:50.89 wOVH2aLt.net
セラコンで済ませる

541:774ワット発電中さん
16/06/21 12:52:49.88 BT560blq.net
セラミコは大容量の物が少ないし、大容量のMLCCは特性がなぁ
ケミカルをセラミコで置き換えるのはなかなか難しい

542:774ワット発電中さん
16/06/21 12:57:45.01 /0VRA1rB.net
10^15回かぁ。
1μsに一回書き換え続けたとして、電源入れっぱなしでも
10^15/10^6/3600/24/365≒31.7年
ってとこか。

543:774ワット発電中さん
16/06/21 16:19:37.29 heRNbx9Y.net
ちょっと前に真空中で動かす基板を設計したことがあったけど
ケミコン使えないのでセラコンで設計したな。
ま、なせばなる。

544:774ワット発電中さん
16/06/21 17:23:57.55 Zw5hrYNb.net
そういや、あちらの参考回路だとタンタルコンデンサが良く使われてるよね。

545:774ワット発電中さん
16/06/21 17:37:32.38 jyH1gbg/.net
>>518
昔は今の積セラ位性能がいいのってタンタルぐらいだったからね。
ヒューズタンタルですら信用置けないってなったのと、積セラの性能向上で駆逐されつつあるけど…。
あと一桁って所には使うのかな?
東芝か富士通は使用禁止されてたはずだけど。

546:774ワット発電中さん
16/06/21 18:19:36.38 9YSV01el.net
タンタルはショートモードで壊れるし

547:774ワット発電中さん
16/06/21 20:26:06.67 ugOoiGxG.net
オーディオ信号のカップリングには今でもタンタル使われているよな
セラミックは非直線性で波形が歪むから

548:774ワット発電中さん
16/06/21 20:50:49.34 tawZgEdV.net
先日、16F1825買ってみたけど、いまだにLチカすらできません。
14ぴんの16F1825と20ピンの16F1829は兄弟らしいので便利だととびついたのですが、甘かった。
いろいろ検索してみたけどだれも使ってないのかXC8のサンプルプログラムがみつかりません。
そこでどなたかお願い、16F1825,あるいは16F1829のLチカのXC8版プログラムおしえてください。

549:774ワット発電中さん
16/06/21 21:03:06.25 iEQfy0sw.net
>>522
"16F1829"でグーグル検索すると一番上に出てくるサイトはもう見ましたかね?
「PIC16F1829使い方:16F1829覚書」
というのが出ると思うので、そのサイトをじっくり、リンク先も含めて読んでみて。
URLリンク(www.geocities.jp)

550:774ワット発電中さん
16/06/21 22:48:43.57 JuJL1MND.net
タンタルは昔これしか使えるものがなく多用してましたが
故障したときの原因究明でかなり苦労させられたのと
今ではそれほど性能がよくありません。
今では、セラコンとOSコンで使い分けしています。
(電解コンデンサでもかなり性能のいいものもありバカには出来ないと
 思い知らされたこともありました)

551:774ワット発電中さん
16/06/21 23:57:48.03 A5UcbI3o.net
アナログはスチコンかポリプロピレンだな
もちろんメタライズじゃダメだ

552:774ワット発電中さん
16/06/22 00:51:55.47 QZUC4o6W.net
>>521
歪みはどのコンデンサでも少なからずある
セラミック使わない一番大きな理由は圧電効果でノイズ源になるから

553:774ワット発電中さん
16/06/22 01:20:24.66 HS5lkcQm.net
>>523
読みました
「16F1827と殆ど変りません、ですから異なる所のみ記述して置きます、
後は16F1827覚書を参考にして下さい。」
と言うことなので16F1827のプログラムを多少変更してやってみたんですがだめでした。
変更と言ってもとりあえずはPORTB をCにくらいは変えましたが。

554:774ワット発電中さん
16/06/22 01:30:48.99 1bAMysSS.net
>>527
大丈夫だと思うけど、
・ポートのI/O方向は出力にしてるよね?
・ポート入力は、PORTxx という記述で、
 ポート出力は、LATxxという記述だけど、大丈夫?
とりあえず、全ポート出力に設定して、
1ピンだけのI/Oはやめて、8ポート全部まとめて
LATに0xff、タイマーで待ち、LATに0x00、タイマー待ち
をやってみれば、兼用ピンの無いピン1つくらいは、出力on/offすると思う。

555:774ワット発電中さん
16/06/22 05:42:55.38 HkqhOfDo.net
10F200から始めればいいじゃない

556:774ワット発電中さん
16/06/22 09:50:04.88 xYzV1HPx.net
>>522
ほれ
#include <xc.h>
#pragma jis // 日本語文字列を使うための宣言
// Config wordsの設定
#pragma config MCLRE=OFF, PWRTE=ON, WDTE=OFF, FOSC=INTOSC, LVP=OFF, PLLEN=OFF
// CP=OFF,CPD=OFF,BOREN=ON,CLKOUTEN=OFF,IESO=ON,FCMEN=ON,WRT=OFF,STVREN=ON,BORV=19は設定不要
#define MHz 1000000
#define _XTAL_FREQ 32*MHz // 32MHz
void DelayMs(int cnt){
while(cnt--)
__delay_us(1000);
}
// 初期設定
void InitPic(void){
// 内蔵クロック設定
OSCCON = 0b11110000; // 8MHz Internal OSC with 4x PLL
// IOポートの設定
OPTION_REG = 0x05; // Prescaler 1/64 for 32MHz Clock
PORTA=0;
ANSELA = 0b00000000; // アナログ入力OFF
LATA = 0;
ANSELC = 0b00000000; // アナログ入力OFF
LATC = 0;
}
// 主処理
void main()
{
InitPic(); // 各種初期化
TRISC=0; // ポートCをすべて出力に設定
for(;;){
LATC=1; // ポートCのbit0のみをHにする
DelayMs(500); // 500ms=0.5s何もしない
LATC=0; // ポートCをすべてLにする
DelayMs(500);
}
}

557:774ワット発電中さん
16/06/22 20:34:03.90 HS5lkcQm.net
>>530
ありがとうございます
感謝!感謝!

558:774ワット発電中さん
16/06/26 15:48:51.96 t6MAzMNx.net
16F1827ですがRA5を出力で使おうとしたところ出力が出ないのですが何か設定など有るでしょうか?
MCLRは使用しないにして
ポートをデジタルにするために
ANSELA=0b00000000;
ANSELB=0b00000000;
コンパレータも使用しないので
CM1CON0.C1ON=0;
CM2CON0.C2ON=0;
として
入出力は出力なので
TRISA =0b00000000;
としています。
RA5ポートを出力にする場合他にも関係するところなど有るでしょうか?
よろしくお願いします。

559:774ワット発電中さん
16/06/26 16:12:12.33 wuA


560:RKIMp.net



561:774ワット発電中さん
16/06/26 16:24:36.87 t6MAzMNx.net
>>533
そうなんですか?
データシートにOutput type CMOSと書いてあったので安心しきってました。
16F88から乗り換えたばかりで解らないことだらけです。

562:774ワット発電中さん
16/06/26 18:18:14.55 SoQORQ8P.net
>>533
16F88だってRA5はインプットのみでしょ、MCLRピンなんだから

563:774ワット発電中さん
16/06/26 18:18:45.34 SoQORQ8P.net
いかん
×>>533
>>534

564:774ワット発電中さん
16/06/26 18:31:38.14 t6MAzMNx.net
>>535
F1シリーズは全ピン入出力出来るのかと勘違いしていました。
お騒がせしました。
すみませんがもうひとつ質問させて頂きたいのですがタイマー0とタイマー1とINT割り込みを使っていて割り込み関数内でフラグの状態で処理を分岐させています。
この場合、一つの割り込み処理を行っているときに別の割り込みが入るとどの様な挙動に成るでしょうか?

565:774ワット発電中さん
16/06/26 18:49:55.65 PmNmfDMd.net
16F1や12F1のような割り込みレベルが1つしかないPICに限定して話すなら
現在処理中の割り込み処理が終わって割り込みルーチン抜けた直後に次の割り込み
処理が走るだけ

566:774ワット発電中さん
16/06/26 19:05:55.63 0QYz6etZ.net
>>537
いやまあそれでも、データシートの書きようは悪いと思う。
RA5の output type の表記は「-(ハイフン)」であるべきだよね…。

567:774ワット発電中さん
16/06/26 19:18:10.09 PmNmfDMd.net
PORTAの説明より
「The exception is RA5, which is input only
and its TRIS bit will always read as ‘1’」

568:774ワット発電中さん
16/06/26 19:49:34.15 gnLfj7Sx.net
>>539
どっちのチップの何ページのどの表?

569:774ワット発電中さん
16/06/26 22:02:23.75 0QYz6etZ.net
>>541
URLリンク(ww1.microchip.com)
これの11ページ。表1-2 (表1-2しかないけど)

570:774ワット発電中さん
16/06/26 23:03:06.95 t6MAzMNx.net
>>538
ありがとうございます。
実行中の割り込み処理が終わってからですか。
と、言うことは、3つの割り込み使う場合、溜め込まないようにしないと困ったことに成りますね。

571:774ワット発電中さん
16/06/26 23:49:20.56 o9O009yU.net
>543
別に割り込みから帰らずに、割り込み内でループして他に立っている割り込みフラグ(TMR0IF,TMR1IF,INTF)を
チェックして立ってたら割り込み処理してから帰ってもいいよ。割り込みから戻っても再度割り込みに入るくらい
厳しいスケジュールなら戻らずに処理してしまった方がレジスタの退避とかの時間を節約できる。
割り込みレベルと割り込みベクタが1個しか無いミッドレンジの話ね

572:774ワット発電中さん
16/06/28 23:02:59.49 dUx3jph/.net
12F683のスイッチ入力をMicroCで行おうとしているのですが、
以下、PICとMicroCのサイトで参考にしているプログラムが動きません。
具体的には、スイッチを押したときGP2の出力がONがonに、
離したときGP2の出力をoffにしたいのですが、ずっと出力が
出続けてしまいます。なぜでしょうか・・・?
void main() {
TRISIO = 0b00000100; //GP2を1:入力に、他を0:出力設定
//内蔵発振器 8MHz使用に設定
OSCCON.IRCF2=1;
OSCCON.IRCF1=1;
OSCCON.IRCF0=1;
ANSEL = 0b00000000; //GP0~5をデジタル利用に設定
OPTION_REG.NOT_GPPU = 0; //内部プルアップ利用に設定
WPU = 0b00000100; //GP2を内部プルアップ
GPIO = 0b00000000; //GPIOの中身をきれいにする
CMCON0 = 0b00000111; //コンパレータを使わない
do {
if(Button(&GPIO, 2, 1, 0)) { //スイッチONの場合
GPIO.F4 = 1; //LED ON
} else { //スイッチOFFの場合
GPIO.F4 = 0; //LED OFF
}
}while(1);
}

573:774ワット発電中さん
16/06/28 23:03:58.47 dUx3jph/.net
訂正:GP4の出力

574:774ワット発電中さん
16/06/28 23:16:02.29 dUx3jph/.net
545ですが、出力先をGP0,GP1にしたら動きました。
GP4は何等かの理由でずっと出力が出続けるようです。
これだけ理由分からなかったので、どなたか解説お願いします・・・

575:774ワット発電中さん
16/06/28 23:29:27.61 oNGl4gGp.net
CLKOUTになってんじゃないの

576:774ワット発電中さん
16/06/29 00:24:05.79 arpwhsig.net
>>545
全部プルアップに指定してると回路にスイッチ繋ぐよってはずっとオンに認識されてるとか。

577:774ワット発電中さん
16/06/29 04:41:45.16 UjicKbUi.net
PIC24は3.3V駆動の場合でもデジタルIO専用ピンについては入力5.5VまでOKらしいんですが
どのピンがデジタルIO専用なのかはどこを見れば分かるんでしょうか?
もしかして「5.5V tolera


578:nt input pins」と書かれたピンがそれに該当するんでしょうか? もしそうならたった6本しかない(USB対応品だとD+とD-で2本取られるので実に4本だけ!) 事になるんですが・・・



579:774ワット発電中さん
16/06/29 06:43:18.80 nlXLj5vy.net
6本もあれば十分

580:774ワット発電中さん
16/06/29 06:48:05.43 N9lFenMG.net
周辺回路を見直す事すらしたくありません、って輩ですか?

581:774ワット発電中さん
16/06/29 11:12:12.85 UjicKbUi.net
頭の悪いコメは無視します
>>551
PICに繋いでるモジュールがバス接続しかないので8本欲しかったのです

582:774ワット発電中さん
16/06/29 12:26:47.08 AAcmM8qR.net
後出しじゃんけん乙。

583:774ワット発電中さん
16/06/29 12:45:41.62 /j1nOVMi.net
>554
???
>554=552かな

584:774ワット発電中さん
16/06/29 13:07:37.11 H9QRfMYL.net
>>553
>「5.5V tolerant input pins」と書かれたピン
それが正解です。
しかし、デジタル信号なので、閾値さえ跨いでいれば良いので、
「5.5V tolerant input pins」と書かれたピンでなくても、抵抗を直列に入れれば
使えます。
抵抗が、5Vと3.3Vの間を「バネ」のような役目をして、調停してくれます。
周辺モジュール(0V-5V信号)-------抵抗------PICピン(非5Vトレーラント)
という感じです。
抵抗値は、周辺モジュールとのやりとりスピードに依りますが、
1k~10kΩを付ければ、まず動きます。

585:774ワット発電中さん
16/06/29 13:12:53.28 BEvcjuFL.net
それじゃ分圧になってないから定格超えちゃうよ

586:774ワット発電中さん
16/06/29 18:15:58.06 H9QRfMYL.net
>>557
入力電流を期待するのは良くないでしょうか?

587:774ワット発電中さん
16/06/29 19:03:44.85 YMHckKRx.net
期待すべきは保護ダイオードだろ

588:774ワット発電中さん
16/06/29 19:28:52.41 EGMHmAVs.net
>>559
ちょっと前に話題になりました。
・保護ダイオードを通ると、端子電圧はVCC+VFになる。これは絶対最大定格を超える。
・一方で、端子入力電流が絶対最大定格に描かれている。流れるためには、保護ダイオードに電流が流れる必要がある。
・なぜ電圧と電流の両方が書かれているのだ。
・絶対最大定格は一瞬たりとも超えてはいけないのだ、いけないのだ。
厳格に考える人には解決が難しいですね。

589:774ワット発電中さん
16/06/29 19:56:22.23 H9QRfMYL.net
>>559
そもそも入力電流の経路はダイオードなんですよ。

590:774ワット発電中さん
16/06/29 20:58:31.24 8r74jGPo.net
>560
そもそも入力端子保護用に入っているクランプダイオードはあてにしていい物なのか?
実質的には問題無いだろうけど、メーカーが保障した使い方では無いよね。

591:774ワット発電中さん
16/06/29 21:54:43.54 ts51i3MH.net
XC8でインランアセンブラを各方法は
asm("xxxxxxxxx");
以外にもあるらしいのですが、他にどんな記述方法があるんでしょうか?
一行一行 asm() で括るのが面倒なのでC18みたいに複数行まとめて指定する
方法はないでしょうか?

592:774ワット発電中さん
16/06/29 22:07:09.86 mUJOoHNA.net
#asm
#endasm

593:774ワット発電中さん
16/06/29 23:07:58.39 EGMHmAVs.net
>>562
メーカーによってはそういう使い方ができる、というガイドをしています。
URLリンク(ww1.microchip.com)
TIP#10 5V→3.3V With Diode Clamp
大きい電流を流すとラッチアップの恐れがあるから抵抗で抑えるように、と。

594:774ワット発電中さん
16/06/29 23:34:56.02 EGMHmAVs.net
>>565に追記。
URLリンク(rohmfs.rohm.com)
URLリンク(www.analog.com)


595:AD8624_jp.pdf ttp://japan.xilinx.com/support/answers/19146.html ttps://www.altera.co.jp/ja_JP/pdfs/literature/hb/max2/max2_mii51008_j.pdf ttp://www.nxp.com/files/microcontrollers/doc/app_note/AN2433.pdf (スピードの観点から分圧することを例示しています) 探せば他にも出てくると思います。



596:774ワット発電中さん
16/06/30 02:04:07.47 jDAx9T9T.net
5Vトレントの方法調べててバススイッチとかいう神の様な素晴らしいデヴァイスを見つけた。
もうバススイッチだけでいいんじゃないかな

597:774ワット発電中さん
16/06/30 02:38:24.95 5rz3sGdV.net
pic24fj64gb004でlcd表示について
starterキットのデモからlcd.cとlcd.hを移植中です
Delayを使用せずに初期化する方法ないですか?

598:774ワット発電中さん
16/06/30 06:03:24.24 iPN5JyTg.net
>>567
MYリレー最強

599:774ワット発電中さん
16/06/30 06:36:45.96 kFMCipXO.net
>>569
タイマー割り込みを使う。
Delayではダメな理由がわからん

600:774ワット発電中さん
16/06/30 06:59:17.83 fDbut3ov.net
>>567
それはそれで不都合もあります。用途次第ですね。

601:774ワット発電中さん
16/06/30 10:45:00.68 VUf1yJbN.net
>>568
初期化なんだからDelayで行なうのが一番
(それ以降使用しないから)

602:774ワット発電中さん
16/06/30 12:08:07.53 jDAx9T9T.net
>>571
吸いません、参考までにどのような場合に不都合がありますでしょうか?
あんまり高速な信号は通せないってのはなんとなく感じますが

603:774ワット発電中さん
16/06/30 12:24:01.69 fDbut3ov.net
>>573
それと関係している部分もありますが、外部にプルアップが必要なものもあります。
見つけられたという神のようなバススイッチの型式がわかると具体的な議論もできますね。
あと、タイプミスかもしれませんが、トレント(torrent?) ではなくて トレラント(tolerant 耐性)です。

604:774ワット発電中さん
16/06/30 12:32:47.67 jDAx9T9T.net
インターネットしててこれはまさに神のデヴァイスだ!と思ったのはテキサスのSN74CB3Tです
双方向で方向を全く考えなくて済むし、PICと外部回路の間に置くとして外部回路側は
3.3Vでも5Vでもどっちでも(大抵は)いけるし、難点があるとするなら入手ややや困難なこと
くらいかなぁと
PIC(Vcc3.3V)→バススイッチ(Vcc3.3V)―*→外部回路(Vcc5V)の場合に信号振幅が3.3Vまでしか
無いので、それじゃ足りない場合だけ*の部分をプルアップしてやる必要がありそうですが
通常は無くても大丈夫かなぁと

605:774ワット発電中さん
16/06/30 13:16:24.21 FoJbfc/i.net
単方向3.3V<->5V変換を高速低消費電流で実現したいので
ワンゲートICのTC7SH125とTC7SET125だけで済ませてる

606:774ワット発電中さん
16/06/30 19:48:57.03 5h/xuE8j.net
>>553
コメ…?

607:774ワット発電中さん
16/06/30 21:53:32.54 fDbut3ov.net
>>575
あー、なんかいいかも。
俺の知ってる東芝のは、3.3V-1Vあたりから上でドライブ能力がぐっと落ちました。
これもそうかもしれんけれど、一回評価してみます。
不都合があります、とか書きましたが、よく調べていなかったかな。すみません。そしてありがとう。

608:774ワット発電中さん
16/06/30 23:00:57.82 AGy34ahj.net
>>572
そうですね。ありがとうございます。
秋月の
URLリンク(akizukidenshi.com)
3.3v4行lcdは、3.3vだと表示濃度が薄いですね
5vだと余裕がある感じです
手持ちの3.3v2行はクッキリなんですが
i2cでポートを節約したいと思っても値段が高かったり
チャージポンプで5vlcdを使うのが良いのかな?

609:774ワット発電中さん
16/06/30 23:22:06.70 AGy34ahj.net
>>576
74vhc125をリールで買おうかと悩んだ時があった
でも、レベルシフト無くても大丈夫な事が多く
秋月で買ったモジュールは袋に入ったままです

610:774ワット発電中さん
16/06/30 23:31:06.28 VRbFSc40.net
12F683で、GP0,GP1にLEDを取り付け、
GP2に押しボタンスイッチを取り付けます。
押しボタンを押す事で、以下点灯パターンを
0→1→2→3→0→1→・・・・
と切り替えるプログラムをつくりたいと考えていますが、
上手く行きません。どのあたりに問題があるか
御教授いただけますでしょうか?
(何か根本的に間違えていそうな気がしますが・・・)
パターン0:GP0が点滅 GP1が消灯
パターン1:GP0が消灯 GP1が点灯
パターン2:GP0が点滅 GP1が点灯
パターン3:GP0,GP1どちらも消灯

611:581
16/06/30 23:31:41.90 VRbFSc40.net
以下、プログラムです
void main() {
unsigned short int n;
TRISIO = 0b00000100;//GP2:Input Others:Output
OSCCON.IRCF2=1;
OSCCON.IRCF1=1;
OSCCON.IRCF0=1;
ANSEL = 0b00000000;//GP0~GP5:0(digital use)
OPTION_REG.NOT_GPPU = 0;//Internal pull up use:0(on)
WPU = 0b00000100; //GP2:internal pull up
GPIO = 0b00000000; // First, clean GPIO signal
CMCON0 = 0b00000111; //Do not use comparater
//LED initial state setting
GPIO.F0 = 0;//LED:OFF
GPIO.F1 = 0;//LED:OFF
n = 0;
do {
if(Button(&GPIO, 2, 1, 1)){
n++;
}
if(n==0)
{
GPIO.F0 =1;
Delay_MS(500);
GPIO.F0 =0;
Delay_MS(500);
}
if(n==1)
{
GPIO.F0 =0;
GPIO.F1 =1;
}
if(n==2)
{
GPIO.F0 =1;
Delay_MS(500);
GPIO.F0 =0;
Delay_MS(500);
}
if(n==3)
{
GPIO.F0 =0;
GPIO.F1 =0;
Delay_MS(500);
}
if(n==4)
{
n=0;
}
}while(1);
}

612:774ワット発電中さん
16/06/30 23:53:38.09 IZYf/Vl0.net
>>581
使っている言語はmikro Cですか?
開発ツールやそのバージョンも示して下さいね。
あと「うまく動かない」だけではなくて、具体的にどういう不具合なのかを分かるように伝えてくれますか?
ソースを見る限りでは、Button関数を毎ループ読んでいるので、押している間ずっと、
高速でn++されるように思いますが…

613:581
16/07/01 00:09:51.95 7ntcvQ5z.net
>>583
失礼致しました。
環境はMicroCの6.6.3です。
MicroCで1つのプッシュスイッチで数パターンの点灯パターンを切り替えるような作例でも見つかれば良かったのですが、中々見つからず適当に作ってみたところ、どうやらご指摘の通りの動作をしているようです・・・

614:774ワット発電中さん
16/07/01 00:38:41.42 vofYpafo.net
>>581
スイッチは2ピンにしてINT割り込み使えばいい。
そして割り込み関数のなかでn++すれば良い。

615:774ワット発電中さん
16/07/01 00:47:14.08 lD6SUhQ0.net
INT0割り込みが発生した場合の割り込み処理へのジャンプってラグタイムなしで
即座にジャンプしてくれるんでしょうか?
命令1(4) ←割り込みルーチンの先頭
命令2(4)
命令3(4)

命令a(4)
命令b(4) ←この命令を実行してる最中にINT0の状態が変化
命令c(4)

このような場合、
命令a
命令b
命令1
命令2
こんな感じで命令bのフェッチ&実行に続けて即座に命令1のフェッチ&実行が
行われるんでしょうか?それとも命令bと命令1の間にはタイムラグが
生じるんでしょうか?

616:774ワット発電中さん
16/07/01 03:35:13.23 BsgfxE7q.net
>586
PICの種類が分からないけどmidrangeのPICなら命令bと命令1の間で2サイクル分のラグがあるね
URLリンク(i.imgur.com)

617:774ワット発電中さん
16/07/01 08:09:38.11 m81c1Iw2.net
似たような話で揚げ足取りになるけど、完全に同時に複数ピンのデータ取れますかって念を押してくる人いるよね…。

618:774ワット発電中さん
16/07/01 09:21:31.48 lD6SUhQ0.net
>>587
ありgとうございます
そのものずばりな回答で、まさに


619:探していた回答はこれでした ここから考えるに、すでにFetch済みの次命令は実行されて、かつ割り込みルーチンの 最初の命令をFetchするためにダミーで1TCY必要って感じですかね



620:774ワット発電中さん
16/07/01 15:58:43.37 x7a0IvmT.net
PIC専用のスレは消滅なのだろうか
あっちが元祖なのに

621:774ワット発電中さん
16/07/01 16:02:22.65 x7a0IvmT.net
あれ勘違い
ちゃんとあったわ

622:581
16/07/01 20:12:17.09 7ntcvQ5z.net
>>585
581ですが、書き込み通りやったら出来ました、ありがとうございました。

623:774ワット発電中さん
16/07/02 01:04:37.15 7zeeH9UT.net
>>566のロームので理解した気がする
電圧の定格は保護ダイオードを働かせない限界で、
電流の定格は保護ダイオードが壊れない限界なんだな

624:774ワット発電中さん
16/07/02 02:49:03.56 dcnT50H+.net
でも、電流の限界に行くまでに、電圧の限界を超えると思いますが、
その点については、どのように理解されましたか?

625:774ワット発電中さん
16/07/02 04:17:52.73 xRbLE3n/.net
メーカーによって解釈は違うね。
どちらか先に達した方を取るメーカーと保護ダイオードに流れる電流が
超えなければいいというメーカーがある。
マイクロチップは後者ということでしょう。

626:774ワット発電中さん
16/07/02 06:50:40.40 qLIWLpKS.net
>>594
絶対最大定格はわずかでも、一瞬たりとも超えてはいけない、という文面を四角四面に解釈していると先に進めないですね。
>>566であげたガイドを受け入れるならば、少なく十クランプダイオードが入っている入力端子の電圧の絶対最大定格については、
「ソース抵抗0Ωの電圧源で電圧をかけた場合に許容される電圧範囲」
が妥当だと思います。
たとえば、VCC+0.3V という規定になっている場合、VCCが5Vであるとすると、
「たとえ100A出力可能な電源装置であっても、5.3Vならかけても大丈夫
でも、それを超えるとクランプダイオードに過大な電流が流れて壊れるかもよ」
ということで良いでしょうね。
シリコンダイオードでクランプダイオードが作られているとして、VFは0.7Vぐらいですが、実際にはもう少し低い電圧から
流れ始めますし、温度が高ければ電圧は下がります。それでも、VCC+0.3V までなら、クランプダイオードに電流は流れないということでしょう。

>>595で書かれているように、メーカーによっては、この使い方を積極的に開示していないところもあります。
あと、そもそも、VCC+0.3Vを超えたらICの中の何が壊れるのか、ですね。

627:774ワット発電中さん
16/07/02 09:32:43.55 mF3+ySs/.net
初めてのPICの人はオームの法則とか知らないのかな

628:774ワット発電中さん
16/07/02 09:47:38.93 sVgN7Cm5.net
データシートも読まない&勝手な解釈がデフォ
>「ソース抵抗0Ωの電圧源で電圧をかけた場合に許容される電圧範囲」
>が妥当だと思います。
とか、馬鹿の極みとしか言いようが無い。

629:774ワット発電中さん
16/07/02 10:40:14.98 dcnT50H+.net
>>598
意見を言えよ、意見を。

630:774ワット発電中さん
16/07/02 10:45:05.32 qLIWLpKS.net
>>598
おちついて。
汚い言葉で俺を非難したところで誰も得をしません。
あなた自身が間違っていたときに引っ込みがつかなくなってしまいますよ。
とりあえず>>566のリンク先のクランプダイオードにかかわる部分の解釈をしていただけませんか。
俺が書いていることの意味がわからなくて、丁寧に議論したいということなら
そういうふうに言ってもらえる方が良いと思います。
最終的には回路をどんなふうに組むのかは、設計者や依頼者のポリシーに依存しますし、
いついかなる場合もクランプダイオードに電流を流すようなことはしてはいけない、と考える人がいても良いですし、
少なくともメーカーがOKって言ってるなら使おうじゃないか、と考える人いても良いと思います。
中には、それは大丈夫なものである、と考える人もいるかもしれませんね。
半導体メーカーの技術サポートに本件のような質問をしたことがあります。



631:セいたいこんな流れです。 「絶対最大定格を超えてはいけないのですか」 「超えてはいけません。一瞬でも超えたらいけないのが絶対最大定格です」 「入力の電圧も超えてはいけませんね」 「その通りです」(★注) 「電流の規定もありますね。どんな場合に流れますか」 「クランプダイオードに電流が流れる場合です」 「その電流が流れていても規定値以下なら良いのですか」 「はいそうです」 「その規定値以下、たとえば 5mA のときには入力電圧はどのようになりますか」 「だいたいVCCプラス0.6から0.7Vです」 「その状態で電圧の絶対最大定格を超えていますね。さっきダメですとおっしゃいました」 「しばらくお待ちください」 「お待たせしました。適切な直列抵抗が入っている場合は構わないとのことです」 技術サポートの窓口の人はたいていが、データシートを見て答えているように思います。 ですから、まずは、データシートに書かれている表面上のことしか答えてくれません。 もし、俺が>>596 のような話に疑問を投げる立場なら、上の(★注)の回答をもらった段階で、質疑を 打ち切ったかもしれないですね。



632:774ワット発電中さん
16/07/02 11:27:21.21 sVgN7Cm5.net
頭が悪くてとっ散らかってるのはわかるが
 3 行 に ま と め ろ

633:774ワット発電中さん
16/07/02 11:38:34.85 qrcc4B0v.net
お前らうぜえ抵抗2本で済む話だろ。

634:774ワット発電中さん
16/07/02 12:52:44.03 LGi/Z3No.net
2本って、どんな接続?

635:774ワット発電中さん
16/07/02 14:28:14.55 B15NCpTY.net
自分だけは馬鹿じゃないと言う前提

636:774ワット発電中さん
16/07/02 17:56:49.26 qLIWLpKS.net
>>603
2本といえばこういう接続のことが多いです。
プルアップの必要がない場合とか、やりとりするのがアナログ信号でないなら
これでもOKですね。
sssp://o.8ch.net/dt2n.png

637:774ワット発電中さん
16/07/02 17:59:18.37 Q+71M02J.net
スピードが求められないならね

638:774ワット発電中さん
16/07/02 18:05:24.75 nVTdQhz+.net
IOピンの入力インピーダンスよりも十分低い抵抗使えば抵抗比の電圧に落とせるね
でもスピードは関係ないでしょ

639:774ワット発電中さん
16/07/02 18:22:18.29 qLIWLpKS.net
>>607
抵抗1本の場合でもそうなのですが、低い抵抗を使うことは消費電流とのトレードオフになります。
抵抗値が高ければ当然スピードは遅くなりますね。

640:774ワット発電中さん
16/07/02 18:59:20.64 Tpv+LEvb.net
すみません、次のようなケースでどうしたらいいのか迷っています
PIC18F2553のRB0-RB4にコネクタを付けて、そこに出来合いのモジュールを
とっかえひっかえ差し替えられるようにしたいと思っています
コネクタは6pでVcc、GND、RB0-RB4です
RB0-RB4の4つのIOのうち2本は入力で2本は出力です(使いたいモジュール
との独自プロトコルの通信にあわせてこうしています)
ただ、1つのモジュールだけが
IO1: In
IO2: In
IO3: Out
IO4: Vcc
となっていてIOに直接Vccが繋がっているのです。つまりこのモジュールを
コネクタに指した場合、PICのRB4はダイレクトにVccに繋がる事になります
RB4は入力にしたり出力にしたりと言うことはなく、PIC側は常に入力設定ですが
Vccが直接繋がる事になんとなく気持ち悪さを感じています
このような場合PICのRB4はどのような対応をするのが良いでしょうか?
(ジャンパでIO4→RB4の接続を切り離せるようにする、という方法以外で)

641:774ワット発電中さん
16/07/02 19:02:34.69 nVTdQhz+.net
>>608
ごめん全然わからないんで、
>抵抗値が高ければ当然スピードは遅くなりますね
これを詳しく説明いただけませんか?
LやCを外付けするなら時定数が関係してくるのは判るけど、抵抗でなぜ遅くなるんですか?

642:774ワット発電中さん
16/07/02 19:18:16.60 xRbLE3n/.net
クランプダイオードに電流を流さない前提で抵抗分圧だと電源のシーケンス
を規定しないといけなくなりますね。
厳格に0.3V以下を守ってる人は共通電源の


643:場合でもオーバーシュート/アン ダーシュートが0.3V以下になるようにダンピング抵抗入れたりショットキー ダイオードでクランプしたりしてるのかな?



644:774ワット発電中さん
16/07/02 19:30:20.37 qLIWLpKS.net
>>610
ICの入力端子に静電容量があるので、これが問題になるケースがあります。
I/Oポートでソフトウェアでやりとりするケースだと問題にはなりにくいかも
しれませんが、高速の同期通信だと気になる場合があるかもしれません。
用途に合わせて使い分ければ良いと思います。
sssp://o.8ch.net/dt5v.png

645:774ワット発電中さん
16/07/02 19:47:41.83 1IEi9lUL.net
ICの中にCがある訳じゃない。
浮遊容量は何処にでもある。

646:774ワット発電中さん
16/07/02 19:56:11.14 nVTdQhz+.net
>>612
ありがとうございます。
そういう極端な例を持ち出す人だったんですね。
プルアップとかアナログとか言ってる時点で気づくべきでした

647:774ワット発電中さん
16/07/02 20:39:35.69 Q+71M02J.net
>>607
極端な例でもなんでもない
ICの入力ピン容量の他に配線のバス容量もある
I2C通信でスピードが速いほど低いプルアップ抵抗値が要求されるのは
何故なのかを考えてみればいい

648:774ワット発電中さん
16/07/02 21:23:59.61 nVTdQhz+.net
I2Cの話でしたっけ

649:774ワット発電中さん
16/07/02 22:19:32.92 iARwwInD.net
>>609
変換コネクタみたいなもの

650:774ワット発電中さん
16/07/02 22:42:37.32 qrcc4B0v.net
>>609
自分ではやろうとは思わないがプルアップの代わりに電源に付けてる例はあるな。

651:774ワット発電中さん
16/07/03 00:21:44.12 +9unBFJN.net
>>616
マイコンのポートに直列に抵抗を入れるのと、I2Cのようなプルアップで
オープンドレインで駆動するのと、電気的には同じだということが
わかるまで勉強しよう

652:774ワット発電中さん
16/07/03 00:32:43.90 +9unBFJN.net
正確には、
・プッシュプル出力に直列に抵抗を入れてL→Hにバスを駆動する
のと
・プルアップ抵抗でプルアップしたバスに対してオープンドレイン駆動でL→Hする
のは同じ

653:774ワット発電中さん
16/07/03 01:09:46.80 VJCmOpHc.net
グダグダだな。理解出来て無いのだろうw

654:774ワット発電中さん
16/07/03 02:07:38.07 +9unBFJN.net
┐('~`;)┌

655:774ワット発電中さん
16/07/03 07:34:42.18 /rtfhrDN.net
これみんな戦争で戦前の日本が行った残虐行為
若い人たちは知らないだろうけど
俺たちのご先祖様はこんなことやってきたんだ。。。
我々日本人は反省しなければならない
そして戦争のない時代を築いていこう
今回の選挙は、戦争反対の「民進党」に投票しよう!!!
共産党でもいいよ!
URLリンク(www2.biglobe.ne.jp)
URLリンク(www2.biglobe.ne.jp) URLリンク(www2.biglobe.ne.jp) URLリンク(www2.biglobe.ne.jp)
URLリンク(www2.biglobe.ne.jp) URLリンク(www2.biglobe.ne.jp)
URLリンク(www2.biglobe.ne.jp)
URLリンク(www2.biglobe.ne.jp)
URLリンク(www2.biglobe.ne.jp)
URLリンク(www2.biglobe.ne.jp)
URLリンク(www2.biglobe.ne.jp)
URLリンク(www2.biglobe.ne.jp)

656:774ワット発電中さん
16/07/03 07:53:52.73 ag3opEVT.net
>>621
質問とかけ離れた持論を展開するタイプなんだろう

657:774ワット発電中さん
16/07/03 10:55:38.00 IXoX6LGM.net
>>614
特に極端な話ではありません。
PICマイコンのデータシートには入力静電容量は書かれていないのですが、おおよその目安として10pFぐらいは考えておいて良いと思います。
10pFの場合、直列抵抗が10kΩなら立ち上がり時間は220n秒となります。上で書いたように同期シリアル通信なら、抵抗値に気を付けた方が良い場合もありますね。
たぶん、この入力静電容量の話を「極端だ」と思われたのは、今はそれが問題になるような使い方をされていなくて、実感がないからです。
I2Cのことを書いてる人もおられますが、頭の隅にでも置いておいてもらって、そういう使い方をするときに、思い出してもらえれば良いなあと思います。
(I2Cの場合は、入力容量の問題は、マイコンだけでなく、ぶら下がるすべてのデバイスで効いてきますのでより影響が出やすくなります)

658:774ワット発電中さん
16/07/03 12:09:58.23 dihxS+SG.net
MOSFETのゲート自体がシリコン酸化膜のコンデンサーみたいな物だし
URLリンク(ja.m.wikipedia.org)

659:774ワット発電中さん
16/07/04 12:53:08.83 gHuybw4F.net
>>625
いいこと言いますね。まさにその通りだと思う。
入力容量というか、デジタル信号=アナログ信号だと思っていない人が
多いように思う。
I2Cの場合は、それぞれのI2Cデバイスの所に、プルアップ抵抗を付けるのが好きです。
トータルでの抵抗値は守りつつ

660:774ワット発電中さん
16/07/05 03:24:17.99 SdpPKanr.net
マイコンできる人 ≠ アナログできる人 ですからね。
電圧では考えられても、電流の気持ちになれる人は、あまりいない。

661:774ワット発電中さん
16/07/05 07:51:49.82 Nr0gS/H9.net
謎の決め付け

662:774ワット発電中さん
16/07/05 08:29:01.43 5auvO6yR.net
>マイコンできる人 ≠ アナログできる人
こんな風に書かれていると、なぜか
マイコンできる人 = アナログできない人
と解釈して反発する人が出てきそう。
それより「気持ち」というキーワードで、わざわざ壁を作らなくても。
「電圧で考えられても、電流で考えられない人はあまりいない」で良かったのに。
それでも、説明が要りそうですけど。

663:774ワット発電中さん
16/07/05 08:42:38.47 aJiDiJQX.net
言いたいことはわからんでもない
デジタルで考えて電圧方向も時間方向も理想的だと考えちゃう
波形の過渡状態とか考えずに

664:774ワット発電中さん
16/07/05 10:02:22.00 oqkF32+s.net
世の中の全てはアナログでデジタルはアナログの一状態に過ぎない
って習った。

665:774ワット発電中さん
16/07/05 11:31:17.08 poG6tksE.net
職業ソフト屋が趣味でマイコン維持ってと言う典型的な私がそれだ
ソフトから見た世界はわかるけど、一度マイコンのポートから出た先は未知の領域
そもそもマイコンのポートとてハード屋さんが準備してくれた多くの未知の領域ありきだった訳だし
ソフト的にわかっても現実世界はアナログ量、この壁が難しくて四苦八苦

666:774ワット発電中さん
16/07/05 11:44:13.00 XZt8J8po.net
URLリンク(siesta.la.coocan.jp)
マイコンにアナログの温度センサーを付けただけで
こんなトラブルが発生した例があるんだな

667:774ワット発電中さん
16/07/05 11:52:02.55 9gUiXlIJ.net
>>628
残念
>電流の気持ちになれる人 → 電流の気持ちがわかる人 が正解だね。
相手の気持ちになると、動作の理解がとても進むよ。
それにしても「気持ち」とは、うまいこと言った。

668:774ワット発電中さん
16/07/05 14:02:14.21 vatTZYft.net
>>634
何年か前に、LM35DZを長さ1.5mほどの安物シールド線で使ったときに、同じようなトラブルを経験した。
具体的な症状は少し異なるが、高級シールド線に変えると2m長でも症状が出ない。
色々と調べてCを並列に入れて解決した。(そのページの【対策】2 と同じ方法)
解決まで半日以上かかったので、
「クソッ、こんな温度センサー二度と使わんぞ」と固く心に誓ったのであったw

669:774ワット発電中さん
16/07/05 15:47:53.23 YuxTVhxZ.net
シリアル信号一つ受けるだけならこうです
if (RCIF==1){
RCIF = 0;
data = RCREG;
}
これを連続で三つ続いたシリアル信号受けるにはどうしたらいいですか。
三ケタの数


670:字送りたいんですが。



671:774ワット発電中さん
16/07/05 17:18:37.62 oqkF32+s.net
3つ並べるか3回ループするか、お好きな方をどうぞ。

672:774ワット発電中さん
16/07/05 17:32:09.79 XknlqyvH.net
【BS11:ニュース・経済】 <報道ライブINsideOUT>放送時間:毎週月~金曜日 よる9時00分~9時54分<br>
(金曜日:寺島実郎の「未来先見塾」~時代認識の副読本) #bs11 URLリンク(www.bs11.jp)

673:774ワット発電中さん
16/07/05 19:06:32.29 4OW44REn.net
>>637
RCIFはr/o、RCREGを読めば自動的にクリアされる。

674:774ワット発電中さん
16/07/05 20:47:33.45 YuxTVhxZ.net
>>638
>>640
ありがとうございます

675:774ワット発電中さん
16/07/07 18:59:45.21 sFBpDXZK.net
>>634
うちはLM35の近くにオペ1発入れて、その後シールド線にしてる

676:774ワット発電中さん
16/07/08 12:47:13.73 SWbPh+Fc.net
オペ1発w
虫垂でも取っとくれ

677:774ワット発電中さん
16/07/08 15:04:58.93 R8Cb7L/X.net
>>638
…三つ並列にしても三つとも第一ワード読んで終わっちゃわね?

678:774ワット発電中さん
16/07/08 15:06:19.98 eR1LnLY9.net
PICにそんな品種あるんでしょうかw

679:774ワット発電中さん
16/07/08 15:08:10.10 MBfnEA5P.net
>>644
>>637のプログラムをを3っつ並列動作して第1ワード読んで終わっちゃうプログラムってどう書くんだ?
もちろんPICは1個だよな?

680:774ワット発電中さん
16/07/08 19:11:56.45 Qlh9fYaW.net
>>636
REF19xっていう比較的高精度なリファレンスICがあるのだが、
出力がバッファされてると思いこんじゃって似たような失敗やらかしたことがある。

681:774ワット発電中さん
16/07/09 20:25:28.63 ckiDJsv9.net
16F88用のCCP機能のキャプチャモードのサンプルを16F1827で使おうと思っい、
変更カ所を調べてANSELのところだけと解ったのでそこだけ
変えてビルドして書き込んでも動かない状態てす。
していることは、RB0に接続された発信器の周波数が
60ヘルツ以上か以下か見てRB3とRB4のLEDをのどちらかを点灯させるだけです。
他にも何か変更されたところなど有るでしょうか?

682:774ワット発電中さん
16/07/09 21:39:41.40 6sN5oC0U.net
比較、調査不足という事でしょ?
もう一度調べ直すしか無いと思うよ。
Cソースコンパチなんて、ほぼ無いと思った方がいいと思うけど。

683:774ワット発電中さん
16/07/10 01:17:49.59 Meqq3FBC.net
XC8のboolについて質問させてください
stdbool.hの中を見ると
typedef unsigned char bool;
#define true 1
#define false 0
と定義されていました
ということは
bool a = false;
bool b = !a;
の2行目のような記述はできないということでしょうか?

684:774ワット発電中さん
16/07/10 03:27:01.92 hcVGJQyA.net
>>650
なんでダメだと考えたの?
できると思うけど

685:774ワット発電中さん
16/07/10 03:29:30.93 HZMniIcp.net
PICはArduinoにはなれなかったから
ガキみたいなジジイがいろんなとこで粘着してんだよな

686:774ワット発電中さん
16/07/10 03:58:24.08 ntTqGd/P.net
>>650
cではできる。javaではできない。

687:774ワット発電中さん
16/07/10 04:04:31.92 Nzgju4XR.net
>XC8のboolについて質問させてください
>javaではできない。

688:名無しさん@そうだ選挙に行こう! Go to vote!
16/07/10 09:24:56.11 4UMUO8kc.net
>>650
記述はできるだろ。
その後の判断文とかめんどくさいかもしれないだけで

689:名無しさん@そうだ選挙に行こう! Go to vote!
16/07/10 13:50:20.04 NLEDwi/1.net
>PICはArduinoにはなれなかったから
AVRはもう同じ会社なんだしどうでもいいこと

690:ss
16/07/11 17:10:49.37 Gc1Lr/sG.net
以下のサイトを参考にしてPIC18F452でPCと
シリアル通信をしようと思っています
バンクの切り替え部分でエラーになり、必要ないと考えて
その部分を省いたのですが、うまくいきませんでした
PIC16F877のプログラムをPIC18F452で使いたい
ということなのですが他にどこを変えればよいのでしょうか?
どなたかよろしくお願いします
PIC-パソコン間シリアル通信 PIC受信テスト
URLリンク(infoseek_rip.g.ribbon.to)

691:774ワット発電中さん
16/07/11 17:25:23.64 BGz+fIrO.net
>>657
ハードウェア依存部分の移植が自分でわからないのであれば、
アセンブラのソースを移植するのはやめたほうがいいと思うよ。
アーキテクチャがかなり違うし、チェックや移植項目が多すぎで、掲示板で聞いた程度ではなんともならない

692:774ワット発電中さん
16/07/11 22:51:24.82 43GQ8WOP.net
データシートしらみ潰しに読めば答えがあるよ。

693:774ワット発電中さん
16/07/12 02:18:13.71 GuknfHX3.net
> バンクの切り替え部分でエラーになり、必要ないと考えて
> その部分を省いたのですが、うまくいきませんでした
こんな事やってるレベルの人がデータシート読んでどうにかなる問題じゃないだろ

694:774ワット発電中さん
16/07/12 06:19:05.57 c1NcLK7A.net
>>657
普通にC言語で作れば????
Web上にサンプルなら沢山ある・・・・・

695:774ワット発電中さん
16/07/12 06:46:28.22 8F6d1yqz.net
>>657
バンク切り替えをして動いているものを省いたら動かないだろう。
バンク切り替えが何なのか調べて書き直さないと。

696:774ワット発電中さん
16/07/12 10:45:45.70 EykqW8RN.net
根本的な解決法はバンクなんかが無いCPUに乗り換えることだ。

697:774ワット発電中さん
16/07/12 12:12:31.38 hQAP2Mdn.net
で、それやろうとしてんじゃないの?
もう元のやつは考え方だけもらって、コードはスクラッチで書いちゃったらどうよ?

698:ss
16/07/12 12:39:02.35 dwK5m2CM.net
ご意見ありがとうございます
18系でそのまま動くサンプルを探すことにします

699:774ワット発電中さん
16/07/12 13:57:43.47 q3ejKCCg.net
>>665
サンプル探すのもいいけど、自分で書いてみるのはどうですか?

700:774ワット発電中さん
16/07/12 18:08:10.45 y6KlYI0Y.net
>>665
そのサンプル、単純な1文字送受信だろ?
どこにでも転がっているだろうし、それくらい自分で作れないとアプリケーションが無理だろ。

701:774ワット発電中さん
16/07/12 19:20:26.43 wlW+tQYB.net
アップリケ って
アプリケーションが元かな

702:774ワット発電中さん
16/07/12 22:52:47.46 46Q0KATB.net
>>668
激しくスレチだけど、
URLリンク(matome.[)ねえばあ].jp/odai/2137637118529549601
わお。語源は同じだ。考えたこともなかった。
そのセンスはすごいな。あなたは語学得意なん?
※URLがNGワードになるので一部改変しています。

703:774ワット発電中さん
16/07/13 11:19:31.25 vAUjIzzb.net
いまどき16F877とかアセンブラとか新しいものを受け入れられないお爺ちゃんか

704:774ワット発電中さん
16/07/13 19:50:47.94 /V4bkrwZ.net
趣味なら何でもありだろ、なに言ってんだコイツ

705:774ワット発電中さん
16/07/13 19:52:32.78 nyCBwCkG.net
>>671
お爺に論破されたのがトラウマになってるんだよ生温かく見守ろうよ

706:774ワット発電中さん
16/07/14 17:58:35.26 +ELiGkWS.net
デジキー見てると40ピンぐらいは1個150円ぐらいが並んでてデバイス選�


707:ムつらい。 ってMAPSのSys. Mgmt. Features でPin Count 48のみにしたらデバイス無くてワロタw 登録されてないデバイスでもあるのかな?以前何かのシリーズで見かけた記憶があるが名前忘れちゃったんだよな…



708:774ワット発電中さん
16/07/14 18:00:47.85 +ELiGkWS.net
と思ったらdsPICにあった、探してるのは多分違うけど。

709:774ワット発電中さん
16/07/19 15:08:04.38 Z2FGOWz5.net
初心者質問スレから誘導されました。
現在18f2320を使ってTowerproのMG995というサーボモータを制御しようとしています。
URLリンク(physics.cocolog-nifty.com)
このページを参考にしながら試行錯誤していますが上手く行きません。
理論はなんとか理解出来ているのですが18f2320だとページの参考プログラムをどのように変更したらいいのでしょうか。

710:774ワット発電中さん
16/07/19 15:23:43.62 qbjYpFyg.net
>>675
理論が理解できるって、何が理解できてるか言ってみ?
……その石に対して16F88なんか参照にしてたら余計混乱するかと(16と18は違うんだから)
ちなみにちゃんとそのピンが出力になっていればHi/Lo命令とディレイ関数と並べるだけで動くよ?
(電源に逆説は絶対ダメ、タンタルとか使ってるのも多いし1発でイク)
C18とかなの?
とりあえずソース見せてみ?

711:774ワット発電中さん
16/07/19 15:26:19.99 qbjYpFyg.net
あ、あと向こうのスレで移動した旨伝えてきて?
見た目マルチまがいだから罵られても知らないよ?

712:774ワット発電中さん
16/07/19 15:54:26.97 Ll7/kHWn.net
>>675
道具は何が使える? オシロスコープありますか?
あと、16F88と18Fxxxは、全然別物なので、要注意ね。

713:774ワット発電中さん
16/07/19 16:04:05.78 Z2FGOWz5.net
>>676
>>678
学内のpcで動かしているのでソースのコピペは出来ないです、すみません。
一応内部クロック1Mhzとプリスケーラ16はこのように設定しています。
現在進行形で改善しながら動かしていたらなんとかはっきりした角度には動いてくれるようになりました
void main(void){
OSCCON =0b00110000;
CCP1CON = 0b00001100;
OpenPWM1(0xFF);
OpenTimer2(TIMER_INT_OFF & T2_PS_1_16 & T2_POST_1_1);
while(1){
SetDCPWM1(0x1F);
Delay10KTCYx(15);
SetDCPWM1(0x2E);
Delay10KTCYx(15);
SetDCPWM1(0x3F);
Delay10KTCYx(15);
SetDCPWM1(0x2E);
Delay10KTCYx(15);

714:774ワット発電中さん
16/07/19 17:13:59.90 DnCGggPk.net
>>679
何のライブラリ使ってるか?
周期はどれくらいで、各設定のパルス幅はどれくらいのつもりか?
その出力をオシロかロジアナでチェックしたか?
あと、回路図は?

715:774ワット発電中さん
16/07/19 18:01:41.98 Z2FGOWz5.net
>>680
一応オシロスコープで波形を確認しながら操作してます
内部クロック1MHz、PR2=255、プリスケーラ16で
(255+1)×4×(1/1×10^6)×16=16msの周期にしたいと考えています。
サーボの目安の周期が20msに対してパルス幅が5ms~15msなので周期の1/4と考えて、周期16msに対して3FFの1/4でFAくらいにしたのですが振り切れたような動作をしていたので、
自分で微調整して30°60°90°あたりになった値を入れています。何故その値になるかはよくわかっていないです。もしかしたら周期が16msに設定出来ていないのでしょうか
ライブラリは
<pic18f2320.h>,<delays.h>,<pwm.h>,<timers.h>だけです。

716:774ワット発電中さん
16/07/19 18:25:28.48 /ok0s06i.net
>>681
振り切れたときの波形�


717:ヘどうでした?想定どおりの波形でしたか?



718:774ワット発電中さん
16/07/19 18:53:56.36 Z2FGOWz5.net
>>682
振り切れた時の波形はpwmのパルス幅が50μsだったり目標値よりかなり小さかったです。
そこから値を少しずつ大きく調整して今の値に落ち着きました

719:774ワット発電中さん
16/07/19 20:56:14.75 cLDhimDP.net
>>681
ここには、制御パルス:0.5ms~2.4msとなってるけど?
URLリンク(akizukidenshi.com)
以前自分でやった時はGWS PICOで0.9~2.1msだったので、まあそのオーダー。
>パルス幅が5ms~15msなので
は、どこ情報?

720:774ワット発電中さん
16/07/20 00:08:44.56 2EY4gOxI.net
>>684
すいません入力ミスでした参考資料でも0.5ms~1.5msみたいです。
もしかしたら調整する前は勘違いして5ms~15msでやってたかもしれないです…しょうもないミスで申し訳ないです

721:774ワット発電中さん
16/07/20 00:37:00.67 L7jIgXuE.net
>>685
別に謝る必要ないよ。
こっちは痛くもかゆくもない。
やっと原因がわかって良かったね。

722:774ワット発電中さん
16/07/24 03:13:19.21 P+/R0J+O.net
テスト

723:774ワット発電中さん
16/07/26 15:02:21.40 aY0MPSVV.net
test

724:774ワット発電中さん
16/08/02 12:51:48.44 SGjLoi+o.net
てすと

725:774ワット発電中さん
16/08/02 17:18:08.15 5qjCyLeH.net
USBの電源を使って、温度をはかってシリアル通信でパソコンにデータ取り込んでるんですが
電源のせいかデータが安定しない。
3.3Vのレギュレータ使ったら電圧は安定しそうなんですが、3.3VでPICを動かすのはどうなんでしょうか?
ちょっと電圧低すぎるのかとおもうんですが。

726:774ワット発電中さん
16/08/02 17:25:50.35 ceMmL1pD.net
>>690
PICの型番やクロックが何かによる

727:774ワット発電中さん
16/08/02 17:57:44.67 WKsMu5J/.net
最近のは2.4Vでも動くからなー
ADCの幅が狭くなるくらいかな
電源ラインにケミコン積んだりとか、複数回サンプリングで平均化とかしてる?

728:774ワット発電中さん
16/08/02 18:18:08.97 vi9NKsZ7.net
ケミコン必要か?
電源コネクタに数u 電源ピン毎0.1uのセラコンで充分だろ

729:774ワット発電中さん
16/08/02 18:37:42.45 61ymfazZ.net
USBから電源取ってるなら電源ラインは10uFまでと決まってる

コネクタに近いところに10uFのケミコンか適当なセラコン、んでPICのVccそばに
0.1uFのセラコン。これが鉄板です。

730:774ワット発電中さん
16/08/02 19:07:44.43 a/1y8klS.net
>690
電源のせいでADCを安定して読めないんならデジタル出力型の温度センサにしたら
こんなのとか URLリンク(akizukidenshi.com)
ちょっと高いのと1WireっていうI/Fが面倒かもしれないけど

731:774ワット発電中さん
16/08/02 19:11:25.61 O1JxgXk6.net
>690
回路図は?

732:774ワット発電中さん
16/08/02 19:54:12.28 61ymfazZ.net
>>695
1-wire使うならDS2480みたいなラインドライバ併用すれば制御も簡単だけどな。
DS2480自体が300~700円くらいするけど

URLリンク(akizukidenshi.com)
この辺が値段そこそこでI2Cで吐いてくれるから楽そう
モジュール化されたやつが500円だけどpull-ups抵抗4つとパスコンしか必要
無さそうなんでIC単体で買えば十分だと思う

733:774ワット発電中さん
16/08/02 19:58:07.33 61ymfazZ.net
自己レス
温度制度的に許容出来るならこの辺も安い
URLリンク(akizukidenshi.com)

734:774ワット発電中さん
16/08/02 20:13:54.24 O1JxgXk6.net
精度が悪くていいならPIC内蔵とか

735:774ワット発電中さん
16/08/02 20:18:50.44 HhEOCapQ.net
サンプリングして、少しデータ溜めて、
積分して許容範囲から飛び出したやつの傾向


736:を見れば、センサーの傾向がよくわかるよ。



737:774ワット発電中さん
16/08/02 20:40:10.09 O1JxgXk6.net
なんで積分?
単純にフィルタ掛けずにグラフにしてみるのが第一だろ。

738:774ワット発電中さん
16/08/02 21:34:24.35 x/ldwOgn.net
デジタル出力のセンサにしたって電源が安定してなかったらだめでしょ

739:774ワット発電中さん
16/08/02 21:43:15.09 O1JxgXk6.net
デジタル出力のセンサは内部にリファレンス持ってるだろ。
しかし、アナログセンサでもそこそこ使えそうだが
どれくらいの精度を要求してるんだ?

740:774ワット発電中さん
16/08/02 22:45:56.42 zLMyXFGY.net
入力レベルが足りてるかも心配。


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