11/12/03 16:32:06.28 Fy7Hkjqm
Petit FatFsを使ってできたな
でも、あれ少しバグがある
18:774ワット発電中さん
11/12/03 16:52:49.23 IDvEbAjY
質問。
PIC 18F2550(USB内臓)をPCとUSBでつないで
バスパワーでLEDを光らせたいのだけれど。
開発環境はMPLAB IDE + MPLAB C for PIC18
ソース:URLリンク(loda.jp)
回路図:URLリンク(loda.jp)
いざUSBに接続しても通電確認用のLED(LED2)しか点灯しない。
せめてLED1かLED3のどちらかでも点灯するはずなんだけど……。
PICのVdd - Vss間には確かに5v来てるところまでは確認済み。
どこが悪い?
19:774ワット発電中さん
11/12/03 17:01:38.88 DHBGmMZr
向こうでレスついてるよ
こっちで続けるなら、取り下げてきて
20:18
11/12/03 17:11:22.06 IDvEbAjY
>> 19
向こうでついたレスの分は修正済みでUPし直した。
PICスレ池って言われたので。
21:774ワット発電中さん
11/12/03 20:16:23.53 SFmh2jQU
PIC18F2550/4550はブートローダー、各種フレームワークねたも含めて
選ぶのが困るほどweb上に情報があるから、とりあえず適応なサンプル
プログラムを見てみたら? 例えば↓
URLリンク(www-ice.yamagata-cit.ac.jp)
22:774ワット発電中さん
11/12/04 10:34:13.89 DmZyNd0o
誰かさんのwebじゃなくてマイクロチップ自身が出してるからそっち参照したほうがいい
USBデバイスのサンプル豊富で助かる
23:774ワット発電中さん
11/12/04 10:47:21.82 zP1AhmbH
マスターになるサンプルが見つからない
USBメモリに記録させたいのに
24:774ワット発電中さん
11/12/04 12:36:59.61 DmZyNd0o
>>23
マスター⇔スレーブじゃなくてホスト⇔デバイス・ファンクションね。
マイクロチップのUSBライブラリ付属のサンプルに
「Host - Mass Storage - Thumb Drive Data Logger」
ってあるけどこれは要求に沿わないの?
25:774ワット発電中さん
11/12/04 12:57:42.24 iDIOK+6F
USBメモリにファイル保存するだけなら
>>15>>16>>17のやり方が普通だと思うよ。
USBホストのハード用意して
マスストレージクラスドライバを積んで
なんてしたら、ハード規模が大きくなり
PICを使う利点が無いよな。
たぶんPIC24Fを使うのだとは思うけど。
26:774ワット発電中さん
11/12/04 13:12:13.48 a2xp5sIm
PICkit2 Programmer使ってて「Auto Import Hex + Write Device」というボタン
を押しとくと、アセンブルしてHEXファイルが更新されると自動的に書き込んで
くれるんだな。これはデバッグに便利。
結構長く使ってるけどこんな機能知らなかった。
27:774ワット発電中さん
11/12/04 13:50:46.24 mJEQ3I0t
ものすごく初歩的な質問。。
例えばPORTAの1(RA1)の値を読み込むとき、Cで書く場合
どうすればいいんだっけ?
int i;
TRISA = 1;
i = RA1;
だとうまくいかない。。
28:774ワット発電中さん
11/12/04 14:03:38.85 H8XGlkyK
HI-TECH C だとそれでうまくいくけどね bitがうまくいくように定義されているから
普通は
(PORTA)&(1<<RA1)==0ならRA1は0で
(PORTA)&(1<<RA1)!=0ならRA1は1とやるのでは
29:774ワット発電中さん
11/12/04 19:08:12.09 mJEQ3I0t
>>28
HI-TECH Cだとできるんだね(前やったときおれもできた気がした)
今C30コンパイラ使ってやってるんだけど、そもそもRA1がundecleared
となって使えない状況なの。。
で、いろいろいじって、一応、苦肉の策で
if((PORTA & 0x02) == 2){
// RA1が"H"の時の処理;
else{
// RA1が"L"の時の処理;
}
で動くようにはなった。(0x02はRA1がPORTAの2ビット目なので)
もっとスマートな書き方があるといいんだけど。。
30:774ワット発電中さん
11/12/04 19:37:46.08 DmZyNd0o
>>29
C18だとPORTAbits.RA1みたいな名前だったから、C30もそんな感じなんじゃないの?
定義読むべし。
31:774ワット発電中さん
11/12/04 20:17:52.34 mJEQ3I0t
>>30
すばらしい!
下記でできたよ。
if(PORTAbits.RA1 == 1){
// RA1が"H"の時の処理;
else{
// RA1が"L"の時の処理;
}
で、ヘッダーファイルを読んでみると、
#define _RA1 PORTAbits.RA1
とさらに置き換えしてあったので、試しに
if(_RA1 == 1){
// RA1が"H"の時の処理;
else{
// RA1が"L"の時の処理;
}
でやってみてもちゃんと動いた。
これからは横着しないでヘッダーファイル読むよ。。
どうもありがと。助かりました
32:774ワット発電中さん
11/12/04 20:31:01.74 mJEQ3I0t
てかこれでいいねw
if(_RA1){
// RA1が"H"の時の処理;
else{
// RA1が"L"の時の処理;
}
33:774ワット発電中さん
11/12/04 20:46:43.79 /7NZrSvi
>>32
ポートの値(1/0)だから可視性が落ちる
できればBOOL型のときだけ使いたい
・・・・個人的な思いだけどね
34:774ワット発電中さん
11/12/04 20:53:12.36 DmZyNd0o
俺はboolとbitは意味的には同じ物として見ちゃってるなー
まぁbool型が実際にはintと同じサイズだったりはするけど
35:774ワット発電中さん
11/12/04 21:52:26.11 mJEQ3I0t
わかってて書いたけど、可読性という意味では、>>32はよろしくないねw
横着すると、後ではまるのがプログラミング。。
それから、PORTAbitsはSFRの構造体になっているので、そう言う意味では、
_RA1ではなく、ちゃんとPORTAbits.RA1とメンバー指定の書き方で書いた方が
より実際の実装状態を意識した書き方になるね
ヘッダー読めばこの辺りもちゃんと書いてあるよね。最初から読んでれば。。
すみませんでしたm(_ _)m
36:774ワット発電中さん
11/12/05 13:07:13.12 oJ697q+u
よくいるよね、if(SW){・・・・と書く人。その書き方、僕は嫌い。
if(SW==H){・・・とか、if(SW==1){・・・とかでないと。
37:774ワット発電中さん
11/12/05 13:20:48.39 ZEKPl10Y
ネットで発表しているプログラムでif(SW==H)とか書いてるとわーーーこの人素人さんだ
たいしたことないわねと思われるんだよ
無理してでもif(SW)と書くべきそうすればワンランク上の人と思われる
38:774ワット発電中さん
11/12/05 13:53:21.77 rhwm4PBa
びットテーブルなら、(!SW)と(SW)でいいんだろうけど、読むときにうっとおしいのであえて == のある式にするなあ。
書式の統一をかねて。
while(1)
ぐらいならやるけど。
while(-1)
じゃなくなったのはいつからだろう?
39:774ワット発電中さん
11/12/05 14:33:54.26 TRxfjwWW
>>38
真は1だし、最適化で違いはなくなるからね。
40:774ワット発電中さん
11/12/05 15:43:34.31 36x1CuzK
わざわざアセンブラ1行をCで1行にする意味について。
41:774ワット発電中さん
11/12/05 16:09:50.31 TRxfjwWW
>>40
読みやすく移植性が高いとか。
42:774ワット発電中さん
11/12/05 17:21:25.43 36x1CuzK
移植性とか言うけど、PICからAVRに移植するならCでも手直しが要るだろうし、
同じPICならアセンブラのほうが手直しが楽だと思うが。
43:774ワット発電中さん
11/12/05 17:48:28.99 TRxfjwWW
>>42
マイコンの性能をギリギリまで絞り出すならアセンブラ、そうでなければC。
それに、複雑なアルゴリズムはCを使いたいよね。
44:774ワット発電中さん
11/12/05 17:54:41.82 oJ697q+u
>>37
>無理してでもif(SW)と書くべきそうすればワンランク上の人と思われる
逆だと思う。
SW==Hと、ハッキリと明示することが、勘違いしない、バグの出ないソース、
であることを知っている人だ、と思われるんではない?
経験が長い人ほど、押さえなければならないポイントをしっかり把握しているよね。
45:774ワット発電中さん
11/12/05 17:55:23.63 V24wnOs5
なんとなく負論理の方がカコイイので、
そのままif文にすると読めなくなる
46:774ワット発電中さん
11/12/05 18:24:01.07 rhwm4PBa
>>45
なんでかっこいいんよ…
さて
ポートの論理を加味して、徹底的に読みやすくすると、defineとかに行き着くんだろうか…
#define SW_READ(x) !(x)
#define ON 1
if (SW_READ(SW) == ON)
みたいな
47:774ワット発電中さん
11/12/05 18:28:51.49 GkVrRtC3
>>37
はぁ、可読性とか負論理は考えないのかw
48:774ワット発電中さん
11/12/05 18:40:46.62 36x1CuzK
Cも平たく書けるのに、わざわざ難解な書き方して俺ってプロwwとかいう言語仕様をしてるのが気に入らん。
49:774ワット発電中さん
11/12/05 18:52:52.68 1KE7Zq/u
んな細かいとこに拘るより、もっと大切な事があるだろう。
50:774ワット発電中さん
11/12/05 19:00:13.53 n8Cp+oR/
スイッチ入力が正論理か負論理かは回路に依存するので
それを吸収できるコードの方が望ましいっちゃー望ましいけどな
51:774ワット発電中さん
11/12/05 19:23:32.01 TRxfjwWW
>>46
そこまで書くなら何のスイッチがオンになったかのマクロの方がよいのでは?
#define SW_START() (!(_RA1))
#define SW_STOP() (!(_RA2))
52:774ワット発電中さん
11/12/05 20:03:17.92 RM4ofQbd
>>51
俺の場合、更に isを頭につけてる。 if (isSW_START()) てな感じ。
環境依存はdefineの中に押し込み、プログラムの記述にハードウェア論理を持ち込まない様にしてる。
ここ最近はこの形が多いけど、暫くすると、また書き方を変えるかもしれない。
53:774ワット発電中さん
11/12/05 20:21:02.89 V24wnOs5
defineだけで逃げ続けないといけないのが辛いな
関数使っていいならいくらでも綺麗に書けるのに
54:774ワット発電中さん
11/12/05 20:33:29.27 TRxfjwWW
>>53
マクロから関数に簡単に変えられるでしょ。
ポートを読むだけならマクロで十分でしょう。
55:774ワット発電中さん
11/12/05 22:20:11.12 HmVOEqcO
>>51
ああ、そうか。ビットテーブルだっけか。
>>54
関数っぽい記述にしておけば、関数にもすぐ差し替えられるね。
56:774ワット発電中さん
11/12/05 23:02:12.09 zMOfgNhQ
私は特殊レジスタの初期化は必ず B'11101111'みたいに書く
でも世間では、H'fb' とか、わざわざ16進で表記するひとが多い
あれは何で?
データシートと付き合わせるなら2進の方が都合がいいと思うんだが
57:774ワット発電中さん
11/12/05 23:06:07.86 V24wnOs5
C言語に2進表記が無いから
58:774ワット発電中さん
11/12/05 23:29:59.81 GkVrRtC3
最近は結構使えるんじゃないか
59:774ワット発電中さん
11/12/06 00:00:02.28 KH8pkgeS
>>57
アセンブラでも16進の人が多いんだよな
本業の方のC言語で16進使ってるからつい流れでそうしちゃうってことかな
60:774ワット発電中さん
11/12/06 00:08:28.57 m6lHbqqv
2進表記は位取りが誤読し易く読みにくいのでうちの職場ではNG。
16進表記ぱっと見てビットパターンが思い浮かぶようになっていれば見易い。
61:774ワット発電中さん
11/12/06 00:11:51.23 4dXpDjfE
そこで十進数ですよ
62:774ワット発電中さん
11/12/06 00:18:03.44 m6lHbqqv
10進、、、ビットパターンが思い浮かばん、、、。
63:774ワット発電中さん
11/12/06 01:14:19.76 mANZ/gzf
カウントに使うなら、ありかな。
64:774ワット発電中さん
11/12/06 01:14:47.73 KH8pkgeS
>>60
そういうことですか。
確かに16進からビットパターンが浮かぶようになっていれば一瞬で正確にビットパターンが読み込めるわけで
プロならそれは必須そうですね。
アマだけど覚えなくちゃ仕方ないかな
65:774ワット発電中さん
11/12/06 02:57:54.30 LPEZhWTU
>>53
たかだかポートアクセスごときで関数化してたらオーバーヘッド多くて低速になってしまう。
粒度の細かい抽象化にはマクロ関数が最適。
66:774ワット発電中さん
11/12/06 22:03:42.01 qAJBC1EZ
~広めてください。
▼スイス政府 国民保護庁 著「民間防衛」(civil defense)
武力を使わずに他国を侵略する段階を説明しています。
マスコミは乗っ取りがほぼ完了しており機能していません。。クチコミでも身近な人に広めましょう。
日本は今、侵略されつつあります。平和ボケから目覚め、行動を起こしましょう!
現在第五段階です。
TPP ・ 日中韓FTA ・ 人権擁護法 ・ 外国人参政権 などが実現してしまえば最終段階が始ってしまいます。
猶予がありません。声を挙げて下さい!
第一段階「 工作員を送り込み、政府上層部の掌握と洗脳 」
第二段階「 宣伝。メディアの掌握。大衆の扇動。無意識の誘導 」
第三段階「 教育の掌握。国家意識の破壊 」
第四段階「 抵抗意識の破壊。平和や人類愛をプロパガンダとして利用 」
第五段階「 教育やメディアを利用して、自分で考える力を奪う 」
最終段階「 国民が無抵抗で腑抜けになった時、大量移住で侵略完了 」
67:774ワット発電中さん
11/12/06 22:28:05.26 xh9cbqb2
>>64
プロでもなかなか2進⇔16進できるやつは少ない。たいてい関数電卓でやっちゃう。
できるやつってのは大抵アマのうちに趣味のPCでキャラ作ってた奴とかだった。
68:774ワット発電中さん
11/12/06 22:32:16.66 UHb777kB
16進と2進は4bitごとにわけて考えられるから、16通り憶えればいい
結構すぐできるようになると思うけど
69:774ワット発電中さん
11/12/06 23:03:25.50 eZTGe75E
16進を2進に変換するなんて九九を覚えるより簡単でしょ。
70:774ワット発電中さん
11/12/06 23:15:40.60 N6D/axRp
>>69
俺は片手で31まで数えられる
でも、二進十進の暗算は苦手
71:774ワット発電中さん
11/12/06 23:30:22.41 4dXpDjfE
通は16進で九九が言える
72:774ワット発電中さん
11/12/06 23:46:34.34 ZRUkenVa
16進数を言われて、2進数がパッとわかるのは、以下のものだけ。
0x00 = 0b00000000
0x01 = 0b00000001
0x02 = 0b00000010
0x03 = 0b00000011
0xaa = 0b10101010
0xcc = 0b11001100
0x88 = 0b10001000
0xff = 0b11111111
および、ニブル入れ替えの数値も
73:774ワット発電中さん
11/12/07 00:03:00.77 A7/644r6
少なくとも2^n系はすぐわかると思う
0x00, 0x01, 0x02, 0x04, 0x08
0x10, 0x11, 0x12, 0x14, 0x18
0x20, 0x21, 0x22, 0x24, 0x28
0x40, 0x41, 0x42, 0x44, 0x48
0x80, 0x81, 0x82, 0x84, 0x88
74:774ワット発電中さん
11/12/07 00:38:39.81 MKYTwsHq
URLリンク(www.vector.co.jp)
これ使ってる
75:774ワット発電中さん
11/12/07 00:39:33.86 0tGDqmun
0-7は普通に判るだろ
8以降も、8とFは判って当然
9は8+1だし、EはF-1だからいいとして、問題はAからDの4種類
Aはまだ10進の10だとという認識が強いから2+8に分解すれば1クッションで判る
B=1011 C=1100 D=1101
このへんが最後まで残る
せめて、10進での1と9とか2と8みたいに、
Bと4、Cと3、Dと2が補数に見えればいいのだけれど、
一旦10進に戻してると1クッションでは済まない
76:774ワット発電中さん
11/12/07 00:54:15.20 giaYdZTD
何度も使ってれば勝手に覚えちゃうもんだと思うんだけどな
電卓とかキーボードで入力するようなのはなおさら
77:774ワット発電中さん
11/12/07 01:00:23.21 6ssXB+oF
ちょいと疑問なんだが。
PICでLEDを点滅させてるんだが、
内部発振回路(4MHz?)を使うと 10k x 25 ウェイトでちょうど1秒になる。
外部発振回路(水晶 20MHz)を使うと 10k x 200 x 2 ウェイトでちょうど1秒になる。
ソースはこんな感じ
#ifdef USE_XTAL
Delay10KTCYx(200);
Delay10KTCYx(200);
#else
Delay10KTCYx(25);
#endif
それぞれ、なんでその計算になるのかがわからない。
ついでに
Delay10KTCYx(200);
Delay10KTCYx(200);
を
Delay10KTCYx(400);
とすると、ちゃんとウェイトがかからなくなる。
これもわからない。
わかる人教えでください。
78:77
11/12/07 01:13:11.83 6ssXB+oF
ぜんぜんちょうどじゃなかった。
Delay10KTCYx(200);
Delay10KTCYx(126);
くらいが一番近いかも。
79:774ワット発電中さん
11/12/07 02:26:35.67 O0/znQO8
引数はunsigned char型なので0~255の範囲
0のときは256とカウント
256を超えるときには複数回に分ける必要がある
ウェイト時間が計算値と違ってるのは
割り込みを使ってるのか?
クロック設定が違ってるのか?
プログラムがまずいのか?
何かしらの原因があるのでしょう
80:774ワット発電中さん
11/12/07 03:28:05.97 Gi8kHp6v
HI-TECH Cだと
255以上も使えたような気がする
あまりよろしくなさそうだけど
__delay_ms()の引数を変数できなかった気がするのだけど、
数値によってコード(マシン語?)が変化するからかな?
81:774ワット発電中さん
11/12/07 07:20:09.02 0tGDqmun
あれは数値決め打ちのループ命令に置き換わってるからな
82:774ワット発電中さん
11/12/08 06:02:46.55 g9G8LXvf
秋月の300円LCDモジュール在庫切れのままだ・・・・
83:774ワット発電中さん
11/12/08 08:04:45.16 lf+1aW05
あんなのは売り切っておしまいでしょう
84:774ワット発電中さん
11/12/08 10:53:09.43 cgsS5mGl
>>82
手元に7つ余らせてる
85:774ワット発電中さん
11/12/08 10:54:48.41 TNE9TCJX
aitendoに同等品が売ってたような
86:774ワット発電中さん
11/12/08 10:55:10.12 LLD+U8DA
300円液晶は今年の春頃在庫切れになって少したって復活した
あわてて14個買ったさ
87:774ワット発電中さん
11/12/08 14:09:56.47 caxbMoIm
後閑さんとこのPIC CLUBミーティング写真、平均年齢たか! 今の電子工作の世界は普通?
88:774ワット発電中さん
11/12/08 14:34:53.73 plBlVtzO
普通かどうかわからんが発表内容の頭の柔らかさにビックリする
89:774ワット発電中さん
11/12/08 16:31:33.27 nBBCVbTI
>>87
CQ ham radioを読んでる俺には見慣れた光景だ
オープンソース系のミーティングもいずれはああなる
90:774ワット発電中さん
11/12/08 16:39:37.91 nBBCVbTI
老人は死なず、年金もらって長生きするのみ
91:774ワット発電中さん
11/12/08 23:55:02.88 g9G8LXvf
>>85
ありがたいっす、注文しちゃった
92:774ワット発電中さん
11/12/09 20:43:20.44 IVTZjPtj
ちょっと教えて欲しい。共立エレショップ、スーパーメロディICキット
URLリンク(eleshop.jp)
URLリンク(www.technobase.jp)
これ使ってる石はオーディオアンプとPICの2個だけだが、16ビットDA出力で
音出してると言う。
PICでオーディオ16ビット出力できるのなんてあったんでしたっけ?
93:774ワット発電中さん
11/12/09 21:00:27.53 hjL3oN34
>92 HT38A5ってなーんだ?
94:774ワット発電中さん
11/12/09 23:33:36.42 bci1xWCK
こんばんは。お力を借りたくやってきました。
picで電圧の精密な測定を行いたいのです。サンプルは電流・電圧どちらもです。
構成は、 サンプル-(オペアンプ)-pic-D/Aコン-表示 の予定ですが、
↑ココ と ↑ココ
にバッファやノイズ対策用のアンプ?などを挿入するべきでしょうか?
要求使用は5V,10ビットで誤差1%程度が望ましいのですが・・・。
また組み込むべきであれば、オススメの部品も教えていただけると非常に助かります。
よろしくお願いいたします。
95:774ワット発電中さん
11/12/09 23:49:06.43 MjFXw6df
>>94
まず、言葉の定義を、「サンプル」とは何?
電気回路で類似している言葉に「サンプル アンド ホールド」というものがあるが違うのかな?
また要求使用(仕様?)で測定時間(間隔)は?
D/Aコン(バータ?)を使っての表示とはどのようなもの?
PICを用いる意図は?
96:774ワット発電中さん
11/12/10 00:00:52.32 FecfKzww
>>95
どう考えてもターゲットのことです
97:774ワット発電中さん
11/12/10 00:07:15.23 uIactOHS
何で知らないのに首を突っ込みたがるんだこの回答者様は
98:94
11/12/10 00:14:16.47 jF0KTTCT
>>95
仕様誤字すみませんでした。
サンプルは>>96がおっしゃるとおり、測定したい電流値、または電圧値です。
picを用いる意図は、サンプリングタイムが数m秒で、A/Dコンバータを有していること。など
D/Aコンバータ→表示だとおかしいですね。表示ではなく、昇降圧後に外部機器に接続します。
なぜ単純にDC-DCコンバータを使わないのかと言われそうなので、
小数点2桁目ぐらいまで制御したいためです。そのためのpicでもあります。
99:774ワット発電中さん
11/12/10 00:18:21.63 gWuYyeoc
// チラシの裏
// PICのADCで電圧受け取ってそれを加工、さらに加工したものを外部の
// DACでアナログにして、アナログ式のパネルメーター?で表示するわけか
// いまどきアナログ表示使おうとかいい趣味じゃネエか
// 車のメータ類みたいにステッピングモータ使っても面白そうだな
// チラシの裏終わり
100:774ワット発電中さん
11/12/10 00:24:39.52 zxKiRHU7
>>98
計測用途でDCDC使おうとか思うのは、廚かキミ位なんで安心して欲しい
101:774ワット発電中さん
11/12/10 00:26:42.75 /5JfxlqL
質問に答えられないなら黙ってればいいのに
いちいちちゃちゃ入れて
嫌なオヤジ達だな
102:774ワット発電中さん
11/12/10 00:29:09.39 mDT2vu8p
とりあえず後出しにしないで作りたい物を具体的に書いた方がいい
>>98の仕様を見ると定電流、定電圧の電源が作りたいの?
URLリンク(news.mynavi.jp)
103:774ワット発電中さん
11/12/10 00:29:13.72 m0ScnDly
5Vを10ビットサンプリングか。
104:774ワット発電中さん
11/12/10 00:35:40.10 B22TSxHX
ぶっちゃけ、この情報量で答えられる訳が無いんだがw
測定電圧がPICのVref- ~ Vref+の範囲
Vref- と Vref+には高精度の電圧を与えること
ADCの変換クロックはできるだけ遅くすること
測定対象とPICのGNDは共通にできること
測定対象のインピーダンスは10KΩ以下
この条件を満たせるならばPICのADCのピンに直接電圧を与えれば宜しい
105:774ワット発電中さん
11/12/10 00:42:51.52 jF0KTTCT
最近のバイクはスピードメータがデジタルでオジサン悲しいです。
>>102
作りたいのは複数個の定電圧源です。ですので、D/Aコンバータも4chだったりします。
具体的には、
0~1Vをいじって1Vで出力。 1~1.5Vは1.25V 1.5~3Vは2.5V 3~5Vは5V
みたいな感じのを作りたいのです。もちろん値はもうちょっと細かくなりますが・・・
106:774ワット発電中さん
11/12/10 00:45:34.44 2e4XXW3y
所詮、質問の質に見合った回答しか帰ってこないってこった
何を作るのか不明
使うPICの型番も不明
測定対象の範囲も不明
文章、用語の意味不明
これじゃ何もわからん
まずは自分の作りたいものを正確に説明できるようでなければ
まともな設計も制作もできないと思ったほうがいい
107:774ワット発電中さん
11/12/10 00:47:48.07 uIactOHS
聞きたいのはノイズ対策についてだしな
PICの型番が回答に影響するのか
108:774ワット発電中さん
11/12/10 00:50:25.20 2e4XXW3y
>>107
影響しないと思うのならお前が答えてやれ
109:774ワット発電中さん
11/12/10 00:54:39.19 B22TSxHX
そうだね
>>105でもまだ具体性に乏しくて何をどうすれば良いのか
アドバイスのしようがないかも
110:774ワット発電中さん
11/12/10 01:11:04.91 mDT2vu8p
>>105
この仕様ならPICに入力された電圧によって出力するchと電圧をわければいいんだな
PICで電圧測定してDC-DCを4個用意して電圧調整して電圧をリレーとかでそれぞれ出力すればいける
111:774ワット発電中さん
11/12/10 01:15:49.19 jF0KTTCT
う~ん、素人なのでどの情報が重要なのかっ、てのがいまいちわからないです。
0~15Vの電圧を降圧し、PIC内でいくつかのしきい値を設定し、それらに応じた定電圧を出力
したいので、出力側にもアンプなどを置く必要があるかー、というのが知りたかったのですが・・
とりあえず、>>108さん、PICの型板がどう影響を及ぼすのかだけ教えていただけませんか?勉強になるので
112:774ワット発電中さん
11/12/10 01:19:26.72 mDT2vu8p
>>102のHPを見てないのか
113:774ワット発電中さん
11/12/10 01:27:52.33 jF0KTTCT
>>112
なるほど、ありがとうございます。あと、表1ならさらっと見ました
114:774ワット発電中さん
11/12/10 01:31:21.10 jF0KTTCT
>>113追
性能差はもちろんわかりますが、あくまでノイズがPICによって変化するのかなーと思ったので
115:774ワット発電中さん
11/12/10 01:42:17.90 jF0KTTCT
全部読みましたが、なるほどわからんです。電子工作向いてないんですかねぇ・・・
皆さんありがとうございました。特にmDT2vu8pさん助かりました。
116:774ワット発電中さん
11/12/10 01:47:54.72 k781YKhx
AVRに押されてあまり使われなくなった
117:774ワット発電中さん
11/12/10 02:27:12.09 rKkYPbZD
>>116 ぜんぜん荒れないじゃないか! 責任取れ!
118:774ワット発電中さん
11/12/10 02:38:08.46 3pSVBa/B
>>116 わかったから、あっち行け。
>>117 これでいいか?イイナw
119:774ワット発電中さん
11/12/10 02:50:05.92 rKkYPbZD
悪口罵詈雑言飛び交う2chはどこへいったのだ?
まったりお茶のも
>>118 ヴォケ!
120:774ワット発電中さん
11/12/10 07:42:20.51 sHE0Gl6N
>>115
全部読みましたが、あなたは電子工作向いてないです
121:774ワット発電中さん
11/12/10 11:23:02.05 B22TSxHX
電子工作に向いてないってことはないだろうが
>>94 → >>98 → >>105 → >>111と言ってることがコロコロ変わりすぎている
自分でも何したいのかわかってないんじゃないか?
とりあえず一度は自分の思うように作ってみればいい
その上で疑問が出たらまた来て下さい
122:774ワット発電中さん
11/12/10 11:47:58.70 Xo2pkJPq
PIC使う必要なくね?
コンパレータとトランジスタスイッチでいいじゃん
123:774ワット発電中さん
11/12/10 20:46:35.69 CF2qDEdH
>>111
つまり、まとめてエスパーすると、
入力が 0~1V -> 1Vを出力
入力が 1~1.5V -> 1.25Vを出力
入力が 1.5~3V -> 2.5Vを出力
入力が 3~5V -> 5Vを出力
(各出力電圧帯の電圧値は微調整可能)
な電源(4ch出力)が欲しいので、下記の様な構成を考えたんだけど、※1・2に
バッファやノイズ対策用のアンプ等必要でしょうか?
PIC
┌───┐
※1 │┌─┐ │ ※2
ch1 ─[Buff]─┤┤A | ┌─┐.├─[D/A]─[Buff]─ch1 OUT
││/D.| │ソ ││
ch2 ─[Buff]─┤┤コ .| │フ │├─[D/A]─[Buff]─ch2 OUT
││ン .| │.ト.││
ch3 ─[Buff]─┤┤バ│└─┘├─[D/A]─[Buff]─ch3 OUT
││││ │
ch4 ─[Buff]─┤┤ タ│ ├─[D/A]─[Buff]─ch4 OUT
│└─┘ │
└───┘
かな?
なんかの冶具だろうか…
124:774ワット発電中さん
11/12/10 20:53:56.05 uhniTxq9
アナデバの複数電源を制御できる石かなw
とか言いたくなるような何かだな。
便乗して質問を…
stricmpで140個ぐらいのコマンドを識別させようとしたら10個でもRAMが足りないとかでたww
こういうときにどういう書き方をすれば上手く削減できるんでしょうか…現状素人がかじった様な感じなんで思いつきませぬ。
ついでに言うと、この後130組み合わせぐらいの切り替えもしたいんだけどこっちもどう書けばいいか…何か参考になるもの無いですかねorz
125:774ワット発電中さん
11/12/10 21:23:17.13 cT61yKCF
A) (なるべく)値がカブらないハッシュを作る
B) トライ木を作る
とか。
126:774ワット発電中さん
11/12/10 21:24:52.50 LZZIbFGj
コマンドの文字列群をプログラムメモリに記憶されるようにして(const char?)
1個ずつ作業用の配列にコピーして比較対象の文字列とstricmpするとかかね
127:774ワット発電中さん
11/12/10 22:31:20.57 uhniTxq9
>125-126
トライ木は知りませんでした。
両方の手法をどうやったら実装できるか、まず自分で考えて見ようと思います。
ありがとうございます。
128:774ワット発電中さん
11/12/11 09:52:01.75 kinSRaxd
>>123
スーパーエスパーすると鉛バッテリー4個の並列充電装置
129:774ワット発電中さん
11/12/11 11:00:41.31 2/lWWmTE
>>128
!
130:774ワット発電中さん
11/12/12 22:30:01.62 1n+u0+KC
16F690でSSP(I2C)を使いたいのですが、HITEC-Cにてどうやって使うのか良く判りません。
解説サイトもうまく検索にひっかかってくれません。
解説書でもなにかお勧め情報ありませんでしょうか?
131:774ワット発電中さん
11/12/12 22:43:29.97 FxVpRCu7
データシートやアプリケーションノート見るべきかと
ライブラリにないから使えないんじゃarduino厨と同じだよ
132:774ワット発電中さん
11/12/12 23:46:52.31 elqVzrc6
16F690のSSPはよりメジャーなPIC16F886 887とかのと同じ構成っぽいから
PIC16F886 887とからめて検索すればいいものが見つかるかも
PIC16F886のSSPもPIC16F876 877のSSPにスレーブアドレスマスク機能が
追加されただけで他は互換性あるから参考になる情報が見つかるかも
自分なりに想定するi2cの動作があってそれをどう実現するかの観点でデータシート読めば
マイコンが換わっても難しいことないけど最初はなかなか難しいものですよね
133:774ワット発電中さん
11/12/13 01:09:14.34 DaJhnOJW
16F690のはMSSPじゃなくて16F88とかと同じSSPなんですねI2Cマスター機能がないという…
>>132のレスは取り消します
134:774ワット発電中さん
11/12/13 14:42:39.58 B7GEsJ49
icd3を使っていますが、以前は問題なく動作したicc3が
今日使ってみると以下のようにエラーが出ました。
ICD3Err0086: Target Device ID (00000000) does not match
expected Device ID (42070000). If you experience persistent
problems communicating, the ICD 3 test interface can be
used to help diagnose the problem.
picを変えても同じエラーが出るのでicd3の故障でしょうか?
135:774ワット発電中さん
11/12/13 15:01:29.51 FV0A8RmT
いままでそういうメッセージ見たことない?
通信エラーでデバイスIDさえ読み出せない
配線短くするとか、対症療法的に信号線に小容量のコンデンサ(10pF程度?)
ぶら下げるとか、電源電圧振って試してみるとか
136:774ワット発電中さん
11/12/13 15:15:35.27 B7GEsJ49
>>135
今日初めてみました。
また、コンデンサを接続しても治りません。
137:774ワット発電中さん
11/12/13 15:23:29.96 AOejU9ZV
>>134
通信ケーブルの断線や接触不良
PICに電源が通っていない
138:774ワット発電中さん
11/12/13 19:33:11.84 B7GEsJ49
>>137
通信ケーブルの断線や接触不良でもないようです。
139:774ワット発電中さん
11/12/13 20:37:18.06 d9fTu9iu
前スレだか前々スレだかで
ピン配置はこうだろうって思い込みでデバッガーと接続して
動かねー動かねーって言ってたのいたよね
140:774ワット発電中さん
11/12/13 20:41:22.26 XkyUv+9/
CCSでdspicを使ってモーター動かそうと思ってるんですけど
レジスタを直接いじらないといけないんですか?
ちなみにPWMモジュールを使いたいです
141:774ワット発電中さん
11/12/13 22:55:49.92 B7GEsJ49
134ですが、
通常であればicd3とpicをicsp接続してるときはpicのMCLRピン
(icd3の1番ピン)は0Vとなるはずなのに、現在は電源電圧が出力されています。
142:774ワット発電中さん
11/12/13 23:00:01.30 7LFTqTrr
>>141
あんたの秋月の中華ICD3?本家版ICD3?
診断用ターゲットでテストしてみた?
143:774ワット発電中さん
11/12/13 23:08:10.19 B7GEsJ49
>>142
本家です
診断用ターゲットの結果でもmclrピンがエラーみたいです。
ICD3Err0083: Test interface MCLR level failure.
ICD3Err0057: Interface test could not be completed. Please
contact your local FAE/CAE to SAR the unit.
144:774ワット発電中さん
11/12/14 00:23:00.99 ChxeQAld
134ですが、
10kの抵抗を介してpicのmclrピンとVDDを接続していますが、
この抵抗を接続しない(picのmclrには何も接続しない)ときは、
エラーが出ず、書き込みが出来ます。
145:774ワット発電中さん
11/12/14 00:28:04.69 GjsweTA9
>>144
pickit2、3しか使ったことないけど、pickitの場合ICSPで書き込む時にはMCLRの所に書き込みの時の高電圧が逆流しないようにダイオードを入れてる
146:774ワット発電中さん
11/12/14 00:58:52.77 ChxeQAld
134ですが、マイクロチップ社のホームページを調べていたところ
URLリンク(ww1.microchip.com)
このようなものがありましたが、素人なので詳しいことはわかりませんが、
上記のように1kΩの抵抗を100Ωの抵抗に変更すれば治る可能性はありますか。
147:774ワット発電中さん
11/12/14 01:55:50.39 N2Paq//r
>>146
そんなETN出てたんだ
Assy#が該当してれば変更して直る可能性はある
こういうのは本当に困るんだよね
同じような回路修正ETNがPickit2とPickit3にもあって、両方とも中をいじったことがある
148:774ワット発電中さん
11/12/14 02:21:59.98 XJWaOGPL
>>146
本家のやつなら、マイクロチップに問い合わせてみればいいじゃん。
今まで使えてたんなら、壊れたんじゃないの?
あと、MPLAB最新にしてFWのUpdateしてみたら?
149:774ワット発電中さん
11/12/14 10:14:44.32 96UCCRhm
マイクロチップに問い合わせをしたところ、以下のように帰ってきました。
We have automated ICD 3 replacement (RMA) process.
So, a customer does not have to enter a ticket and wait for the response.
Please visit www.microchip.com/cisar web site.
The web site will walk you through the troubleshooting steps.
If this does not help then in the end the web site will open a form before you.
You can fill out your shipping address and ICD 3's serial number.
You should receive the replacement tool within a week.
内容は、「ウェブサイトを見ても解決しなければ交換するから
住所とシリアルナンバーを教えてください。」
ということですよね?
150:774ワット発電中さん
11/12/14 11:54:30.78 63U03ALP
USARTとUSBについてわからないことがあるので質問させてください。
いまPIC(a)→PIC(b)→USBという順番でデータをPCで処理しようと考えています。
PIC(a)→PIC(b)ではUSARTで、PIC(b)→PCはUSBで通信しようとしています。
しかし、どうも期待通りに動いてくれず困ってます。
環境はMPLAB C18コンパイラを、サンプルとしてMicrosoft SolutionのCDC Basic Demoを利用しています。
USARTのテストとして単純な送受信のみをプログラムし実行したところ、少しおかしいところはありましたが通信はできています。
また、PIC(b)とPCとの通信も無事に行えていることを確認しています。
しかし、これらをつなげPIC(a)からPCにデータを運ぼうとすると、CDC Demoのウィンドウにメッセージがなにも表示されません。
PICはともに18F4550(PICaはそのうちPIC16F785にする予定)を使っており、PIC(b)は秋月のUSB完成版です。
PIC(a)は内蔵8MHzで動作させ、PIC(b)は48MHz(?)で動作させ、PIC(a)とPIC(b)のTX-RXをジャンパ線で直接つないでます
また、PIC(a)のRA1にはトグルスイッチをつなげてあります。
ソース
PICa:URLリンク(dl.dropbox.com)
PICb:URLリンク(dl.dropbox.com)
151:774ワット発電中さん
11/12/14 14:10:16.13 2mmArGau
>>144
MCLR = 0.5 volts (too hi) - looks like bad driver in MPLAB ICD 2. Light load = 51k pup on target!
152:774ワット発電中さん
11/12/14 22:18:29.96 XJWaOGPL
>>149
?? 日本のマイクロチップに問い合わせたの?
日本のマイクロチップにメールか電話すればいいじゃん。
公式にのってるんだから。電話したの?
153:774ワット発電中さん
11/12/14 23:23:57.23 gRDtJAdJ
>>150
>USARTのテストとして単純な送受信のみをプログラムし実行したところ、少しおかしいところはありましたが通信はできています。
まずこれ直すのが先じゃね?
RS232で繋ぐならPIC(b)使わんでもFT232とかでいいと思うが
154:774ワット発電中さん
11/12/14 23:49:32.89 Cv7cfuTj
MPLAB IDEではコメントになら使えていた気がするのですが、
MPLAB Xでは全角コメントは使えないのでしょうか?
155:774ワット発電中さん
11/12/15 02:43:31.79 zwYSuM4a
>>150
ソースは見てないけど、
・必要な事が書かれていない
・一度書いた後で見直しをしていない
・正しいと思い込んで間違いを見つけられない
・しょーもないポカミスをしている
という可能性が高いように思う
>>150のコメントにはこれら全ての要素が含まれているからね
156:774ワット発電中さん
11/12/15 03:55:10.27 o1S+gBgl
「できない、できない」っていう人は>>155さんの言ってる
要素満載だからね。
少しおかしな部分がありながら、その原因を探らないあたりに
問題があるんじゃないのかい?
157:774ワット発電中さん
11/12/15 11:00:26.26 wlTtvoeM
あー、グランドの配線外れて877Aがしんでもーたーーーー
158:774ワット発電中さん
11/12/15 12:05:11.81 nzQAf07O
そりゃ、電源オフになっていたいうことか~~~~~~~~~?
159:774ワット発電中さん
11/12/15 14:31:17.97 QsRCgAKL
>>157
なんでGNDが外れて壊れるの?
160:774ワット発電中さん
11/12/15 14:53:57.92 cAanqYE+
PICのポートは保護ダイオードを介してVdd端子とGNDとに接続されているから
PICのポートがGNDに接続された状態でGND端子未接続だと
Vdd端子や出力ポートから吸い込んだ電流が保護ダイオードを介して、GNDに接続されたPICのポートに抜け
保護ダイオードを破壊するということはあるかも知れない
161:774ワット発電中さん
11/12/15 16:18:15.08 wlTtvoeM
詳しい解説サンクス。
これならマイクロチップが熱くなるのも当然な気がする。
+: ノートPCのアダプター →7805の電源基板→ ブレッドボード
-: -------------------------------------------→
+: ノートPCのアダプター →7805の電源基板→ ブレッドボード
-: ---------------→ ・・・・・外れた・・・・・ -----------
↓________________________________↑
ブレッドボードのターミナルを使って共締めしていたんだけど、緩んで外れたみたい。
162:774ワット発電中さん
11/12/15 17:32:32.45 /djvppjS
>>153
USARTの設定の baudUSART を追加し、送信するメッセージに CRLF を追加記述しました。
baudUSARTについては触れていない人が多いので、どうやら期待通り動かない原因は送信するメッセージに CRLF を記述していないことだったようです。
シリアル通信ではこれは必要なことなんですね
FT232ですか。確かにそちらのがいいのかも。詳しく調べて検討します。
>>155,>>156
前述の通り、しょーもないポカミスでした。
PIC-PICのUSARTは期待通りの動作をしてくれるようになりましたが、そこにUSBの情報を追加すると期待通りにいかなくなってしまっています。
しかし、USARTの部分を取り除たらサンプル通り動いています。
ということはUSARTの設定で間違っているのでしょうか。
そこで質問なのですが、20MHzクリスタルでPLLで48MHz(96M?)に分周してUSBで必要な周波数を稼いでいる場合、
メイン処理のクロックはいくつになるのでしょうか。
USBのクロックが48MHzになっているだけで、メイン処理は設定しているオシレータ、今回は20MHzなんでしょうか。
163:774ワット発電中さん
11/12/15 17:39:23.13 cAanqYE+
>>161 それだと単純に7805のレギュレーション機能が動作せず
ノートPCのアダプターの電圧が不完全動作の7805を介してそのままブレッドボードに、ということかも
164:774ワット発電中さん
11/12/15 17:40:37.17 cAanqYE+
そうわかっててのレスだったんだな 申し訳ない
165:774ワット発電中さん
11/12/15 17:41:15.44 wlTtvoeM
たぶん、そうだと思います・・・300円がぁ。
166:774ワット発電中さん
11/12/15 18:00:28.02 yqkx8f5J
俺は1個1000円のPIC16F877を2個壊したことある
A/D入力に直列の保護抵抗なしに15Vぐらいを入力して1個
負電圧も出力することがあるオペアンプの出力をA/D入力に直列の保護抵抗なしに接続して1個
167:774ワット発電中さん
11/12/15 19:10:17.04 QsRCgAKL
PICのADって、+15Vを許容するの?
電源電圧以下、つまり5V以下じゃないの?
168:774ワット発電中さん
11/12/15 19:15:00.60 hjomVL6T
>165-166
そういう人のために新製品をお安くご用意しております。(マイクロチップ
とか言い出すはず、いやそれでいい。
しかし、PICにDACあったよなぁ~って調べてたらPIC12F752なるものを見つけてしまった。8ピンで1chとはいえDAC(5bit)付とは…
サンプルすらないがすぐデジキー辺りに並ぶかなぁ…まあ急いでも使いたいのは半年後ぐらいなんだけど安いといいな。
>167
そんなこと聞かないで、次はこちらでどうでしょうってHV薦めとくんだよ。
877には無いかもしれないけど。
169:774ワット発電中さん
11/12/15 23:55:42.09 ejn6TjZG
>>162
データシートくらい読んだら?
4550の場合、CPUとペリフェラルのクロックは、
・主発振周波数÷(1,2,3,4)
・USB用PLL出力96MHz÷(2,3,4,6)
・タイマ1オシレータ
・内臓クロック(31,125,250,500k,1,2,4,8M)
から設定で選べる。どれになってるかなど知らん。
170:774ワット発電中さん
11/12/17 17:56:53.01 lnlAPaQ3
11 名前:774ワット発電中さん[sage] 投稿日:2011/09/24(土) 01:11:29.77 ID:ZrkLo4kS [1/3]
[新シリーズのPIC16F1xxx テンプレ用] ('11/09版)
旧シリーズより機能が大幅にアップしていて値段も下がってる。新規に組むならこちらから選択すべき
秋月に入荷していないラインナップも表記(未)。円高のおかげか若干値下げあり(v)
[40pin] 16kwハ必要ナイカモシレナイケド10円差ナラ
v◎16F1939 \170 16Kw 1024 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2
v○16F1937 \160 08Kw 0512 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2
[28pin] こちらも10円差なら
-◎16F1938 \150 16Kw 1024 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2
v○16F1936 \140 08Kw 0512 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2
v×16F1933 \140 04Kw 0256 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2
[20pin] こちらは秋月に無し
-未16F1829 ---- 08Kw 1024 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2
-未16F1828 ---- 04Kw 0256 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2
[18pin] 18ピンの割にMSSPが2コ,ADC入力ピン多,タイマーx5,CCPx4と多機能
-未16F1847 ---- 08Kw 1024 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2
v◎16F1827 \110 04Kw 0384 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2
-未16F1826 ---- 02Kw 0256 I/O16 ADC12 CapS12 Comp2 Timer2/1 MSSP1 ECCP1/- CCP-
[14pin] 下位のチップしかなく機能的に8ピンとあまり変わらないのは残念
-未16F1825 ---- 08Kw 1024 I/O12 ADC-8 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2
-未16F1824 ---- 04Kw 0256 I/O12 ADC-8 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2
v◎16F1823 \090 02Kw 0128 I/O12 ADC-8 CapS-8 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP-
[8pin] 8ピンでUSARTもI2Cも使えるってのは大きいね
-未12F1840 ---- 04Kw 0256 I/O-6 ADC-4 CapS-4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP-
-◎12F1822 \080 02Kw 0128 I/O-6 ADC-4 CapS-4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP-
表記 Timer[8bit]/[16bit],ECCP[Full]/[Half],CspS=CapSense,Comp=Comparator
共通 EEPROM256byte,EUSART,SRLatch(555相当?),10bitADC,5bitDAC,1.024V基準電圧,温度計(?)
VDD1.8~5,5V,Max32MHz(Vdd2.5V以上),4xPLL有,内蔵OSCでも32MHz可
プログラム面で新命令追加,bankは32マデ拡張,スタック16レベル,LATが追加,割込時のレジスタ自動保存
16bit幅で2本になったFSRデ連続配置RAMやプログラム領域アクセス可能
追加命令群
ADDWFC,SUBWFB : キャリー,ボローを含んだ加減算
ASRF,LSLF,LSRF : シフト命令
BRA : PCLATHやページ境界に関係なく相対ジャンプ [9bit幅] PC+255~PC-256へ
BRW : PCLATHやページ境界に関係なく前方へのみ相対ジャンプ PC+W(0~255) ADDWF PCL,f ヨリ便利
CALLW : 上位はPCLATH,下位はWのアドレスにサブルーチンコール
MOVLB,MOVLP :バンクセレクト,PCLATHに直接定数入れる
TRIS,OPTION :TRIS(A~C),OPTION_REGにWの値入れる(12bit幅品互換?)
RESET : ソフトウェアリセト
ADDFSR : FSRに定数(-32~+31)加減算
MOVIW,MOVWI : INDFガツカイヤスク FSRに対して[PRE/POST][+1/-1]や定数(-32~+31)offset可能
171:774ワット発電中さん
11/12/17 17:57:59.35 lnlAPaQ3
秋月のPIC12/16F(旧)シリーズ 命令セット14bit幅&DIP品限定ピン数別評価
あくまでも旧シリーズ内での相対評価。新シリーズが使えない場合のみ有効
値下品多数あり(先頭のvは値下げ,-は維持,*は新規)'11/9更新版
40ピンは決まり
v◎16F887 \180 40ピン600mil幅が許せるなら 旧シリーズ最強
28ピンはフラッシュとSRAMの差をどうとるか
v◎16F886 \170 887よりピン数減ってスリム(400mil幅)
v○16F883 \150 886との違い8Kw→4Kw,SRAM368Byte→256Byte
ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31K-8MHとフルサポート
新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを
20ピンはF690のバリエーション多,価格差小なのでF690か,OPアンプF785,ポート割りがチョットカオス
v◎16F690 \140 ADC有,eCCP有,eUSART有,SSP有,4Kw,内蔵31K-8MHzとバッチリ
v○16F689 \130 F690からeCCP機能削られた
v△16F687 \120 さらにF689を2Kwと半分に
v×16F677 \120 さらにF687からeUSARTも削られた
v×16F685 \150 F690からSSP&eUSART機能が削られたのに値段高いとは
v◎16F785 \130 ADC有,CCP有,2Kw,内蔵31K-8MHz,OPアンプ搭載が異色(新シリーズにも無)
18ピンは種類は多いけど選択の幅は狭い。値段でF716いっそ20pinにするか
-×16F84A \250 機能無,1Kw,新規では不要だけど作例参照用or互換用に
v×16F648A \160 CCP有,USART有,4Kw,内蔵4MHz,ADC無同士でF87に軍配
v△16F628A \140 F648Aの2Kw版,売りが値段だけだと厳しいかな
v△16F627A \120 F648Aの1Kw版,上に同じ
v×16F627 \180 F627Aの改良前Ver,なぜこんな物が・・・
-○16F88 \200 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31K-8MHzと旧18ピンの王者ダガ高い
v○16F87 \150 F88のADC無Ver,ADC無が問題なければ
v○16F819 \170 ADC有,CCP有,SSP有,2Kw,内蔵31K-8MHz,F88とはROM,USARTの差
v○16F818 \150 F819の1Kw版,多機能なだけに1Kwに不安を感じる
v◎16F716 \80 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い,ADC8bit注意
14ピンは10円差ならF688
v◎16F688 \110 ADC有,eUSART有,4Kw,内蔵31K-8MHz,CCPは無が残念
v△16F676 \100 ADC有,1Kw,内蔵4MHz
v×16F630 \100 F676のADC無し 無機能で影薄い
8ピンは多機能のF683かEEPROM無くても良いなら\60のF615
v◎12F683 \100 ADC有,CCP有,2Kw,内蔵31K-8MHz,8ピンとしては多機能
v△12F675 \80/90 ADC有,1Kw,内蔵4MHz ,EEPROM必要なら,環境によってはE/P版,
v△12F629 \70 675のADC無(機能無しってこと),EEPROM必要で安いの求めるなら
v△12F635 \90/100 機能無し,1Kw,内蔵31K-8MHz,31KHz~必要なら,環境によってはE/P版
v◎12F615 \60 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無さえ問題なければ
v×12F609 \60 F615からADC,eCCP機能省かれてる
(参考)機能無,EEPROM無,命令セット12bit幅 プログラム組む上で制限多し(割込無イヨ
v△16F57 \70 28ピン,2Kw,内蔵CLK無,安くて多くのI/O欲しいなら
-△16F54 \60 18ピン,0.5Kw,内蔵CLK無,安いI/O欲しいなら
-×12F510 \60 ADC有(8bit),1kw,内蔵4Mor8MHz,EEPROM無し
v×12F509 \50 機能無し,1Kw,内蔵4M,EEPROM無し
v△10F222 \45 DIP8ピン,1/2Kw,内蔵4Mor8MHz,米粒PICのデバッグ用
v△10F200 \35 DIP8ピン,1/4Kw,内蔵4MHz,米粒PICのデバッグ用
マークの意味
◎お勧め、用途決まっていないならこれ買っとけ
○内蔵モジュール減ってるけど、その分値段も安くなってるから、まあまあ
△内蔵モジュール大幅に減ってる、\10でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない
172:774ワット発電中さん
11/12/17 18:53:36.37 uAhCzt7Y
MPLAB X IDE v1.00出てたんだね
知らんかった
173:774ワット発電中さん
11/12/17 20:51:32.91 FbzWBHnW
10F222買ったんだけど楽しい
174:774ワット発電中さん
11/12/17 20:57:54.64 uAhCzt7Y
debug時に必要なcofiguration bitの設定一覧とか知ってる人いない??
175:774ワット発電中さん
11/12/18 00:34:31.57 5W3pdJFn
久しぶりにPIC購入を考えてたけど色々増えてるな。
Writer509系ライタでも書けるやら書けないやらか、実に楽しそうだな
176:774ワット発電中さん
11/12/18 01:05:42.15 8bNZ4qMq
microchipはもっとわかりやすくしてくれないかねぇ
debugするのに、いちいちconfiguration bitを変えなきゃならんて
どういうことなの?
そんなの自動でIDEがやってくれよって感じ
177:774ワット発電中さん
11/12/18 01:18:23.16 dEHzB7Jy
#1:すぐに話の風呂敷を広げる
#2:よく理解しないまま突っ走る
#3:嫌われていると勝手に思い込んでいる
#4:キレて他人に八つ当たりする
#5:やたらと自分の正当性を主張する
#6:何も自分で決めない
#7:何かにつけて理屈をこねる
#8:やたら褒めてほしがる
#9:他人の話を聞かない
#10:何が言いたいのかわからない
URLリンク(japan.zdnet.com)
178:774ワット発電中さん
11/12/18 01:19:23.04 8bNZ4qMq
>>177
そんな即座にコピペ貼らないでよ。ごめんて。。。
179:774ワット発電中さん
11/12/18 02:02:13.00 UdDk4hYT
かわいいなおいw
180:774ワット発電中さん
11/12/18 05:03:08.80 fEA5BCti
13 名前:774ワット発電中さん[sage] 投稿日:2011/09/24(土) 01:14:40.82 ID:ZrkLo4kS [3/3]
秋月のPIC18Fシリーズ 5V動作可で比較的高速(12MIPS)だが16F1xxx(8MIPS)
dsPIC30F(30MIPS)に挟まれて値段も高めで苦しい,拠り所はUSB
40ピン USB不要なら18F4525もありかな
◎18F4550 \370 16Kw/2048/256 [USB],Max48MHz(31k-8MHz),PLL,CCP1/1,SPP
△18F4520 \340 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL,CCP1/1
○18F4525 \380 24Kw/3968/1024 Max40MHz(31k-32MHz),4xPLL,CCP1/1
△18F4585 \500 24Kw/3328/1024 Max40MHz(31k-32MHz),4xPLL,CCP1/1,CAN
×18F452 \500 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP1/1
28ピン USB不要なら大容量で18F2620あたりも
◎18F2550 \350 16Kw/2048/256 [USB],Max48MHz(31k-8MHz),PLL,CCP2/0
△18F2455 \340 12Kw/2048/256 [USB],Max48MHz(31k-8MHz),PLL,CCP2/0
○18F2450 \260 8Kw/768/0 [USB],Max48MHz(31kHz),PLL,CCP1/0,eUSART,MSSP無,TMR16bitx2少
△18F2420 \280 8Kw/768/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0
×18F2320 \420 4Kw/512/256 Max40MHz(31k-8MHz),4xPLL,CCP2/0
○18F2620 \420 32Kw/3968/1024 Max40MHz(31k-32MHz),4xPLL,CCP2/0
×18F258 \530 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP1/0,CAN
20ピン 値段的にも格安でお得
◎18F14K50 \170 8Kw/768/256 [USB],Max48MHz(31k~32MHz),4xPLL,CCP0/1
18ピン 2ピン差だと体積的にメリット小
×18F1320 \220 4Kw/256/256 Max40MHz(31k~8MHz),4xPLL,CCP0/1
PIC18F共通 VDD ~5.5V,10bitADC,eUSART,TMR8bitx1/16bitx3,MSSP
24,dsPICシリーズ(24F,dsPICは品数限られているが値下げでお買い得感向上)
40ピン
v○30F4013 \480 16kw 2KB EEPROM1KB
v×30F3014 \500 8kw 2KB EEPROM1KB
28ピン
v◎24FJ64GA002 \330 21.3kw(64kB) 8KB EEPROM無 リビジョンはイクツカナA3/4ハナイヨナ
v◎24HJ12GP202 \260 4kw 1KB EEPROM無 この値段で40MIPSはお得感大きい
v○30F4012 \460 16kw 2KB EEPROM1KB 5V動作必須でメモリ大きいのなら
v×30F2020 \500 12kw 0.5KB EEPROM無
v△30F2012 \350 4kw 1KB EEPROM無 5V動作必須で安いの欲しいなら
v◎33FJ32GP202 \320 11kw弱(32kB) RAM2KB メモリサイズ許容できれば24FJ64より、高速
18ピン
v○30F3012 \400 8kw 2KB EEPROM1KB
共通
24Fシリーズ Vdd2.0-3.6V Max16MIPS (一部ピン5V入力可)
24Hシリーズ Vdd3.0-3.6V Max40MIPS
30Fシリーズ Vdd2.5-5.5V Max30MIPS DSP命令有,(5V動作可)
33Fシリーズ Vdd3.0-3.6V Max40MIPS DSP命令有
181:774ワット発電中さん
11/12/18 08:28:52.23 +jkgCRc4
>>176
謝ってたけど(?)とりあえずレス。 それってDebugビットの話?
前PICkit2で実験したけど、プログラムによるDebugビットの指定よりもIDEに対するDebug指定の方が
優先。プログラムを書き込んだときに自動設定されてた。と、結果から解釈。
なので、プログラムではDebug指定は常にオフ。IDEのDebugTool指定だけで切り替え。
デバイス依存なのか、1年前の話で勘違いしているかもしれないけど、参考まで。
182:774ワット発電中さん
11/12/18 10:44:31.68 bjuWjUBG
Arduinoモドキ
懐かしのBASICを再開したい方にどうぞ
URLリンク(www.myamicus.co.uk)
URLリンク(www.myamicus.co.uk)
↑FiermwareのHEXファイルのありかがなかなか探しにくい
183:774ワット発電中さん
11/12/18 11:06:42.87 bjuWjUBG
こんなのもあるな
URLリンク(ohararp.com)
184:774ワット発電中さん
11/12/18 13:13:38.57 LBEp5Qt5
>>176
18F2550のデバッグをPICkit2で何度かやってるけど、Configuration Bits はIDEが勝手に設定してくれたよ
185:774ワット発電中さん
11/12/18 14:52:40.81 8bNZ4qMq
>>181, >>184
みんなレスありがとう!
やっぱ基本IDEが自動でやってくれるよねぇ。。
書き込みしたの発端は、Pickit3+MPLAB X IDE v1.00+24FJ256でdebugやって
みようかなと思ってDebug実行したら
Programming...
Programming/Verify complete
The target device is not ready for debugging. Please check your configuration bit settings and program the device before proceeding.
と、書き込みまでは完了するけど、そのあとデバイスがdebugできる状態
になってないから、configuration bit設定を確認せぇと出たの。
しかたないから、例によってソースコードに
_CONFIG1のBKBUG_ONを設定してみたんだけど変わらず。
それで、他にWDTはOFFにしてみたり、ちょこちょこ他のbitも変えてみたりしたん
だけど、何か上手くいかない状態。
IDEのDebug Toolしては、Pickit3を設定されてるけど。他に設定が必要なのかな。
何か、前のMPLAB IDEだと、Project -> Build Configuration -> Debugにすれば
いけるのかなと思うんだけど、MPLAB X IDE にはこのメニューが見当たらない。。
一応ここを参考にやっていてるんだけど、IDEが違うから苦戦中。
URLリンク(www.eleki-jack.com)
くそーmicrochipめぇー、お前どうして(ry
おっと、またコピペが貼られるのでこの辺にしとくか
186:774ワット発電中さん
11/12/18 15:08:59.83 +jkgCRc4
>>185
MPLAB「X」IDEは未経験なので、わからないです。
是非、道を切り開いて下さい
187:774ワット発電中さん
11/12/18 16:14:25.48 8bNZ4qMq
>>186
うん、ちょっと引き続きトライしてみる
ありがとうございます
188:774ワット発電中さん
11/12/18 20:23:10.10 yNKpzZf2
18F2550に書き込もうとPICerFTを作ったのですが
回路図のQ2のトランジスタ前後でVppが途切れてしまいます。
このばあい原因は何が考えられますか?
189:774ワット発電中さん
11/12/18 20:24:20.10 5W3pdJFn
ちょっと質問、12F615世代でキャリブレーション飛ばなくなったんだっけ?
それ以降の新型でキャリブレーション飛ぶ奴って出てる?
190:774ワット発電中さん
11/12/19 04:27:08.88 A87lL8Ov
>>188
VPPが出ない時にVPPを計測しようとした、Q2が壊れてる、抵抗値が違ってる(カラーコードの読み間違え)、
どこかで短絡してる、配線間違ってる、FT232のモジュールが壊れている、その他いろいろ
悪いことは言わん、素直にPICKit3を買え
個人でハード/ソフトを作ってるライタは対応デバイスの増加に追いつかない
それを手間かけて作ってもPICKitにあるデバッグ機能等が無いのは寂しい
191:774ワット発電中さん
11/12/19 04:31:46.89 A87lL8Ov
>>189
それをいちいち全部確認できないほど製品数が多いからわからんよ
192:774ワット発電中さん
11/12/19 10:18:07.63 0ef+mbX3
プログラム板から移動してきました
PICのプログラムを考えていただきたいのですが
やっていただけるかたはいますでしょうか?
PIC16F877Aで時計+αのプログラムです
詳しい動作や回路はやっていただける方がいましたら
また説明させていただきます
193:774ワット発電中さん
11/12/19 10:23:11.20 KG7hpw66
月差300秒ぐらいならw
194:774ワット発電中さん
11/12/19 10:39:42.34 gRP3VHYH
月差秒数×1万円で請け負うわ
月差秒数仕様は当方にまかせてもらいます
195:774ワット発電中さん
11/12/19 11:37:44.58 oTS912sg
「こういうプログラムを作ってください」とか
「学校の宿題の答えを教えて下さい」
みたいな書き込み、よく出来るよな
196:774ワット発電中さん
11/12/19 12:28:51.77 KG7hpw66
いや、いいと思う。 この依頼者にとってはPIC自体は目的を達成する手段の一つなのだから。
それを現実のものにするために、それが得意そうなのがいる(と思われる)所に打診しただけ。
197:774ワット発電中さん
11/12/19 12:31:27.58 KG7hpw66
>>194 マジで?
それって「願いことを3つまでかなえろ」状態じゃんw
∧_∧
< `∀´> チョッパリ 願い事を3つまで叶えろ
( ∽)
)ノ _
(_ /~ヽ
[il=li] <('A` 。) えっ!? 俺が叶えんの ?
)=(_ ( )>
(-==-) <^ヾ_
`ー‐''
198:774ワット発電中さん
11/12/19 12:34:44.88 cf0bSJPq
一行100円くらいで請け負ってもいいよ。
1バイト20円とかのほうが良心的かな。
ちなみにこないだやったバイトは1000行くらいだけど30万円もらった。
199:774ワット発電中さん
11/12/19 12:38:35.27 KG7hpw66
ぐぐったらすぐ出てくるじゃん。
URLリンク(homepage2.nifty.com)
200:774ワット発電中さん
11/12/19 17:16:24.07 3tFFOdp5
ようやくUbuntu使いの俺に春がやってきたか。 mplabx!
残るは、PSocだけだな。
201:774ワット発電中さん
11/12/19 17:47:09.92 SB1T2axN
>>191
そうかー、テンプレに載ってる分だけでもと思ったけど仕方ないね。
わかってる分だけでも追記されてたらとも思うけど新型に手を出す人自体がまだ少ないのかな。
202:774ワット発電中さん
11/12/19 21:04:07.58 8N7VIAv+
GPSのNMEAを読んでそのまま表示
203:774ワット発電中さん
11/12/19 21:40:13.07 tlVjxohj
>194
ひどすぎ。精度悪い方が高いとは、動かない時計作れば 3600x24x30 x1万円で約260億円かよ
JJYやGPS無しで月差±0.1秒の時計が1000円なら格安だけど
204:250
11/12/19 23:30:30.31 LZd3mbf8
>>194
月差ゼロで無料で作れやw
205:192
11/12/19 23:37:57.16 8Ny10aeM
192です
もし質問する場合は
新スレ立てたほうがいいでしょうか?
ちなみに月差ゼロがいいですw
206:774ワット発電中さん
11/12/19 23:52:06.30 LZd3mbf8
>>205
クソスレたてんな」って聞いたこと無い?
207:774ワット発電中さん
11/12/20 01:10:01.01 oiZU0gMd
>205
自分で考えて作る気が無いなら市販品を使えばいいのでは?
卓上タイプの電波時計ならAmazonで\1000以下で買えるでしょ
208:774ワット発電中さん
11/12/20 09:10:54.28 nRwVK8XI
>>205
目の前の画面の左隅に時計が
209:774ワット発電中さん
11/12/20 09:58:42.65 f77x02LI
おれのは右下
210:774ワット発電中さん
11/12/20 11:42:59.76 YHaMKQ86
32.768KHzのクリスタル使うのと、普通に20MHzのセラロックつかうのではどれぐらい月差がでるのだろう。
211:774ワット発電中さん
11/12/20 12:30:15.64 r4xSiMqf
クリスタルは電圧変動や温度の影響を受けにくい。
誤差はppmレベルだが、ソフト的に補正は必要。
セラロックは問題外。
212:774ワット発電中さん
11/12/20 18:45:10.19 SBmzf9Pz
>>210
セラロックは日差を超えて時差の世界
213:774ワット発電中さん
11/12/20 19:15:06.24 9v9QULPK
根本的に周波数と精度の区別がついてなさすぎワロタ
214:774ワット発電中さん
11/12/20 19:21:44.18 H8f5Npxb
>>208
いったい目の前には何があるんだ。
215:774ワット発電中さん
11/12/20 21:59:35.60 GecNi/Iv
>>214 鏡
216:774ワット発電中さん
11/12/21 11:44:59.92 xOvhDFXN
picで時計単体を作るなら難しくないけど
時計機能と何らかの制御を同時にするなら
専用のデバイスに時計機能を任せる方が楽だよな。
少ないタイマーを一個時計専用に取られるのは痛い。
それに専用デバイスならスーパーキャパつけるだけで
1日以上電源オフでも動いているし。
217:774ワット発電中さん
11/12/21 12:21:18.16 52O3/+J5
一時間毎にブザー鳴りっぱにして、時間あわせを強要するようにすればいいね。
そうすれば壊すかしぶしぶ時間合せるかの二択
218:774ワット発電中さん
11/12/21 13:40:37.85 7v+lw92K
実際に時間をあわせたかどうか確認するために正確な時間をGPSとかから取れば尚良いね。
219:774ワット発電中さん
11/12/21 16:07:33.04 Tze2J47O
最近は水晶が安くなって廃れてるけど
交流電源同期の時計はそんじゃそこらの水晶より遥かに正確だよ
事実上電力会社が常に校正してくれるわけだから
だけどPIC16F????の液晶時計なんてどっかにそのまま使えるのが載ってない?
16F877に拘っちゃ駄目だよ。16F877はピンが余りすぎるから作例はなかなか見つからないでしょう
220:774ワット発電中さん
11/12/21 16:11:13.86 21FgZ7y0
PIC自身の作った1Hzを、
インプットキャプチャ機能を使って、GPSからの1Hzと比較、
遅れ、進みの情報を得る。
その1秒信号をカウントすれば、かなり正確な時計が作れるよ。
221:>>192>>205
11/12/21 19:03:35.20 XKyDfg2V
みなさんありがとうございます
上で書いたかもしれませんが
オリジナル機能(説明が大変なので割愛)を付加した時計が作りたく
877にした次第です
皆さんの意見を元に結局自分で
コツコツやってみようかなと思いますw
よく考えたらPICのライターも買わなくてわw
222:774ワット発電中さん
11/12/21 20:52:08.91 RSItkUhq
つ RCD
223:774ワット発電中さん
11/12/21 22:06:24.97 jiZJJU0H
>192
移動前ってこれかよ。
>500 名前: デフォルトの名無しさん [sage] 投稿日: 2011/12/19(月) 00:42:02.24
>pic用のプログラムを考えて頂きたいんですが
>まるまる全部なので
>新スレ立てたほうがいいでしょうか?
>502 名前: デフォルトの名無しさん [sage] 投稿日: 2011/12/19(月) 01:03:34.28
>電子工作好きのおっさんが
>プログラム入門しよう!
>って考えたんですが
>いざプログラミングってなったら萎えちゃって・・・・
>でも回路は作ちゃったし・・・・
>慣れてる方には簡単だと思えるプログラムだと思うので
>お金出して頼むのも・・・
>っていう感じなのですが
224:774ワット発電中さん
11/12/21 22:41:27.38 FdwDCW+b
>>223
簡単だからって、知らんオヤジの為に趣味のコードなんて書くわけ無いよね?
225:774ワット発電中さん
11/12/21 23:03:29.13 jFXb9DxG
タイマー関数使わずにPC用の時計ソフト作ってみれば、自分の言ってる事の手間と難易度が分かるんじゃないかな。
226:774ワット発電中さん
11/12/21 23:35:57.31 MXor/ff7
LCDに時計表示しようとアセンブラで書いたら1日で1時間以上ずれた・・・・
227:774ワット発電中さん
11/12/21 23:46:31.46 +rPqcMYc
インターバルタイマー割り込み使えば発振器の誤差以上にずれないわけだが。
228:774ワット発電中さん
11/12/21 23:58:55.74 azbX/yMu
よくわからねえな、市販品にあるようなものなら今時買ったほうが早いしむしろ安い。
完全にオリジナルな機能なら面白がって作ってみようとする奴もいるかも知れないがそこには一切触れようともしない。
それでいてプログラムが面倒とか言うんだからよくわからねえな。
229:774ワット発電中さん
11/12/22 00:05:02.56 nvAP+oDR
馬鹿でかい7セグLEDが眩しいばかりにテカテカ
光るダサいデザインにこそ希少価値がある
光らないLCD表示の時計なんてどこにあるのか
分からないじゃないか
230:774ワット発電中さん
11/12/22 00:34:50.36 /QG/89og
>>229
世間がズレてるのか、君だけが妄想に取り憑かれてるのか
知人に意見を求めてはどうだろう。
ちなみに俺の手元には縦65cm級のデジタル時計基板があるよ
231:774ワット発電中さん
11/12/22 03:20:48.67 GGqa2NUk
16F877用に作ったソースがあります。きちんと動いています。
これを、3.3V電源で動かしたいのですが、ソースというかコードは触らずに、
チップだけ変えれば、そのまま焼ける、そんなPICってありますか?
それとも何某かの手当をしないと、そのままでは動かないものでしょうか?
16LF877では20MHz水晶が使えないので、別品番になると思っています。
232:774ワット発電中さん
11/12/22 04:04:15.90 4r2IF5+K
16LF877は低電圧動作に適した半導体プロセスで16F877とは別に作っているわけではない
16F877として作ったものを低電圧で動作するか追加で動作テストしてパスしたものを
16LF877として売っているだけ
16F877を3.3V20MHzで使ってみて動いたらそれでいいんじゃね
という話しは置いておいて
PIC16F887はPIC16F877の後継でA/D変換機能とBポートの状態変化割込機能が
レジスタのビット定義とかが変更になっいてそのままでは使えないだけで
その他の機能は互換性があってプログラムの変更なしに使える
PIC16F887で追加された機能も多いがリセット直後の状態ではPIC16F877と互換性が
とれるように配慮されているから
だから16F877用のプログラムの最初に
ANSEL=0x00;
ANSELH=0x00;
の2行を追加して、リセット直後の状態では無効にされている
アナログ入力と共用のデジタル入力を有効にするだけでそのまま動くプログラムは多い
233:774ワット発電中さん
11/12/22 10:05:21.55 /1oQcltR
そういう時、何%ずれたのか計算して調整すればOKなの?
234:774ワット発電中さん
11/12/22 10:22:05.20 7KvvojjW
>>233
周囲温度が一定ならば校正すればかなりの確度が出せるんだが
クロックの発振周波数には温度特性というものがあって
周囲温度の違う夏と冬ではどうしてもズレが生じる
対策としては
1、周囲温度を一定に保つ
2、温度補償するような仕組みを作る
3、温度特性の良い発振器を使う
235:774ワット発電中さん
11/12/22 10:45:32.74 /1oQcltR
なーるほど。 じゃADCで現在温度取得してウェイトを可変してやって、OSCも良いの使えばかなりいい線いくんだね。
それを考えると腕時計ってすげーな。
236:774ワット発電中さん
11/12/22 10:57:41.49 QCYoOSml
>>232
わかりやすい説明、ありがとうございました。
その線で調べて勉強してみます
ありがとう
237:774ワット発電中さん
11/12/22 20:19:12.55 artURNoR
>>235
腕時計程度の精度なら普通の水晶一発でいける
月差30秒=78ppm
238:774ワット発電中さん
11/12/22 20:32:21.54 pCvDYBdq
> 月差30秒=78ppm
計算が合わない気がする・・・・
239:774ワット発電中さん
11/12/22 21:41:43.67 artURNoR
失礼。11.5ppmでした。計算途中で分母分子間違えてた。
そうなると時計用水晶って精度いいんだね
240:774ワット発電中さん
11/12/22 23:35:20.17 3JkKzVx8
>>239
1000円以上したと思う。
241:774ワット発電中さん
11/12/22 23:46:32.78 WNj/5gFI
>>221
「PIC LCD 時計」とか「PIC 液晶 時計」で検索すれば山のように作例が見つかるし、
その殆どがプログラムを公開しているんだけど、
ここでプログラムを依頼する理由は何だろ?
自分好みのカスタマイズを施したいから、既成のプログラムではどうしても駄目ということなのかな?
それとも
PIC16F877限定でしか調べてないからまだ見つけていないということなのかな。
そんなに自分でプログラミングしたくないなら、自分好みのカスタマイズなんか諦めて
他人の作例をそっくり真似すればいいのに
もう回路は作ったということだけど、他種のPICに合わせて回路やソケット周りを改造するなんて
自分で回路を作ったくらいなら、ごく簡単なことだろうに
242:774ワット発電中さん
11/12/23 00:17:22.45 8nopdagn
>>234
温度の影響を受けて電源電圧も変動するので、そっちの考慮も願いたい。
243:774ワット発電中さん
11/12/23 01:07:23.27 2ecKXxet
3端子レギュレータを使っていれば温度特性はとても良いので気にする必要なし
だいたい1℃の温度変化に対して出力電圧の変化は約0.01%くらい
温度が±20℃変化しても電圧の変化は±0.2%
このときの周波数変動は出来の良い発振回路なら±0.1ppm程度
年差で言うと±3秒
244:774ワット発電中さん
11/12/23 02:56:38.87 s695LMPy
教えてください。
秋月で売っている、16桁×2行のLCD文字表示器を、C言語で操作するとき、
4bitモードと8bitモードの違いです。
僕は、1回のアクセスで済む8bitモードを多用していますが、
4bitモードでも時間は変わらないという人がいます。
変わっても5us程度だと言うのですが、2回アクセスするから、もっとかかるんじゃないか?と思うです。
昔、4bitモードでプログラム作ったら、LCDのおかげで処理が遅くなってしまい、
8bitモードにしたら速くなった思い出があり、今でも引きずっています。
みなさんは、どのようにしていますか? 時間は変わらないのでしょうか?
245:774ワット発電中さん
11/12/23 03:17:06.67 3ztuB6jY
C言語であろうとアセンブラであろうとシミュレーターで簡単に調べられる
246:774ワット発電中さん
11/12/23 04:06:36.17 8m07XUgL
>>244
4bitと8bitで違うか違わないかと言えば、当然違う
違う事するんだからね
それがどれだけ全体に影響を与えるかは、プログラムによって変わってくるから
一般論として「影響がある」とか「影響は無い」とは言えない
ただ、余程特殊な状況、たとえばダイナミック点灯でグラデーション出すとか
極端にクロックが遅いとか、そういうのでなければ、4bitか8bitかで大幅に
プログラム全体への影響が違うという事はあんまり無い。
もし影響があるとすれば、何かバグってるかマヌケなプログラムで無駄な事をしてる可能性が高い。
247:774ワット発電中さん
11/12/23 04:47:12.62 q4htSulW
ついでに質問
1msの割り込みタイマーを作ったらLCDが文字化けしたりして正常に表示ができなくなった
割り込みを長く(たしか10ms)すると改善した
割り込み1msでは短すぎ?
後閑氏のライブラリーを4bitモードで使用
248:774ワット発電中さん
11/12/23 05:03:56.53 2ecKXxet
まず、タイマ割り込みルーチンの実行時間を計算してみよう
仮に0.5msかかっているとすると処理能力の50%をタイマ割り込みで使ってしまっているということになる
LCDの表示処理中に1ms間隔ごとに0.5ms待たされることになるが
それによって誤動作を起こすようなライブラリーならば
タイマ割り込み中の間隔を広げるか、タイマ割り込みルーチンを見直す必要があるだろうな
249:774ワット発電中さん
11/12/23 08:43:51.76 GIE2r4NQ
割込処理から1msも戻ってこられないようなプログラム組んでるのなら、
根本的に何か間違ってるだろ。
1usくらいで戻せよ。
250:774ワット発電中さん
11/12/23 10:02:32.20 YqaSabP5
>>244
通信より消去待ちとかのほうがはるかに時間掛かるからじゃね
>>249
8ビットのPICで1usだと割り込みジャンプ+無条件にフラグクリア+リターンで終わるんだが…
251:774ワット発電中さん
11/12/23 10:18:54.30 QOm4i14/
>247
LCDドライバのデータシートのタイミングチャートだと
URLリンク(www.adafruit.com)
時間的に上限が規定されているのは、信号の立ち上がり/下げと
(Readの)データの遅延位なので、途中で割込みでかかっても時間的には問題ない。
あるとすれば、割込み処理内でLCDと共用になっているポートを更新して
LCDに使用しているBitを上書きしたりしていないか?
252:774ワット発電中さん
11/12/23 11:10:41.05 9ggo1tby
>>247
LCDは機能により制御時間がかかるから1msでは終わらないモノもあるよ。
ビジー状態を監視するか、規定時間待たなければ駄目。
単なる文字表示は大丈夫だと思うけど、消去指定とかは時間要するよ。。
253:774ワット発電中さん
11/12/23 11:17:52.42 9ggo1tby
>>235
時計の作り方みると面白いよ。サイエンスチャネルのTheMaking。
URLリンク(sc-smn.jst.go.jp)
15分番組で頭から2分くらいのところで色々やってる。
254:774ワット発電中さん
11/12/23 12:25:46.52 8nopdagn
>>243
水晶専用の電源としてればね。
255:774ワット発電中さん
11/12/23 13:14:21.25 6hlJG3gw
DIPパッケージでmicrochip純正Cコンパイラ(C18とか)で開発できる
おすすめPICって何??
256:774ワット発電中さん
11/12/23 13:24:45.24 4mGp6niY
>255
>170-171,180
257:774ワット発電中さん
11/12/23 13:26:56.59 6hlJG3gw
>>256
お、おう、出てたね
さんくすべりーまっち
258:774ワット発電中さん
11/12/23 16:11:47.87 3ztuB6jY
>>242
温度によって水晶発振子、電源どちらも影響を受けるが、
それぞれの補正を個別におこなったり考えたりする必要は全くない。
どちらもできるだけ温度に対する安定性を高くした上で、
単純に温度にしたがって時間を補正する仕組みをプログラムに組み込めばいい
259:774ワット発電中さん
11/12/23 18:18:24.39 8nopdagn
>>258
誰も個別にとは言っとらんが?
260:774ワット発電中さん
11/12/23 18:56:36.84 3ztuB6jY
>>259
>>242本人だとしたらわかってない
>>242はそもそも必要のないレス
原因に関わらず補正すればいいだけ
261:774ワット発電中さん
11/12/23 19:04:06.48 3ztuB6jY
>>260
いかんちょっと説明が拙かった
温度という、原因が同じでありさえすれば、どの部分が狂いの原因になろうと、淡々と補正すればいいだけ
と訂正
262:774ワット発電中さん
11/12/23 19:05:59.30 QOm4i14/
>258
簡単に言うけど温度に対する補正係数ってどうやって調べるの?
実際に組んで回路全体を恒温槽に入れて、温度毎に周波数カウンタでデータ取るの?
263:774ワット発電中さん
11/12/23 20:10:25.97 UxtuKnC5
アマなら実測して補償マップでも作る程度の手段しかないんじゃないの。
264:774ワット発電中さん
11/12/23 20:16:00.99 3ztuB6jY
>>262
桁数の多い周波数カウンターがあれば便利だけど
ない場合は、当該の時計を恒温部屋に置いてデータを取る
もちろん膨大な日にちがかかる
265:774ワット発電中さん
11/12/23 20:42:16.68 QOm4i14/
>264
非現実的だなぁ…データ取れた時にはエージングでずれてそう
それだったら、温調した方が良さそう
266:774ワット発電中さん
11/12/23 20:49:09.78 3ztuB6jY
>>265
>それだったら、温調した方が良さそう
意味がわからん
温度で補正する為にずれに関するデータを取ると言っているだが
267:774ワット発電中さん
11/12/23 21:00:48.44 3ztuB6jY
>>265
エージングによるずれをそこで持ち出すのはおかしいぞ
周波数カウンターでハード完成後に短時間で校正する方法こそ、エージングによる影響を軽視しているんだからな
268:774ワット発電中さん
11/12/23 21:25:00.15 0YHNrwi2
御回答願います。
dspic30f4012でSPI通信をしたいです。
具体的には、適当な配列 (bit[i] (i=0~10)) に2進値を代入し、
この配列を適当な変数 Data に代入して、Dataの値をSPIで送信したいのですか
bit[i]をDataに代入するのがうまくいきません。
どうすればできますでしょうか?ご教授願います。
269:774ワット発電中さん
11/12/23 21:41:52.86 BAJRMEux
GTカット水晶を使うと温度特性は良いんだけどね。
URLリンク(www.jpo.go.jp)
270:774ワット発電中さん
11/12/23 21:42:49.49 IFbGkeEz
>>268
strcpyでよくね?
271:774ワット発電中さん
11/12/23 22:03:08.86 GIE2r4NQ
>>268
SPIとか関係なく、
forで回してシフトしてマスクしてorじゃだめなのか?
272:774ワット発電中さん
11/12/23 22:23:36.04 QOm4i14/
>267
個人で恒温槽持ってる人なんて極わずかでしょ。そんな非現実的な事って意味で>262を
書いたのだけど本気だったのね。
恒温槽なんて持ってない私を含む多くの人は夏冬 1年かけてデータ取って1年前のデータで
補正掛けるより、3端子レギュレータと水晶発振器とマイコンと温度センサにTr(加熱用)を
小さいアルミケースにでも入れて40℃位で温調する方が現実的と思うけど。こっちなら40℃
の時の補正値だけ調べればいいからエージング分の校正も随時可能だしね。
273:774ワット発電中さん
11/12/23 22:48:16.64 O/l6inlr
個人個人持てっるケツの穴は優秀な恒温
274:774ワット発電中さん
11/12/24 00:17:52.44 d04eents
ここまでくれば時計の精度なんぞを追求することが如何に無駄であるかが分るよね。
精度が必要なら大人しく電波時計にしたほうが労力もエネルギーも僅かでいい。
275:774ワット発電中さん
11/12/24 00:37:08.82 Rm+GvuQa
個人で高温層を持っているって…いるのか?冷蔵庫?なんか方向性が違うぞ、やっぱり。
温度補償水晶発振器内蔵のRTCを買った方が手間いらず。DS3234Sとか。ちょっと高いけど精度2ppm。
サンプル入手済みだけど、時間なくて放置中。
276:774ワット発電中さん
11/12/24 01:25:11.47 bMXrMuKg
すみません、兄にPCを支配されてしまって・・・
>>270
配列を一つの変数に代入したいのです。勘違いだったらゴメンナサイ。
>>271
つまり
int bit[10], Data=0x0000;
for( iは大きい方から ) {
if ( bit[i] == 1 ) { Data | 0x0001 ; }
Data << 1 ;
}
て感じでしょうか?今ビルダというか、デバッガの調子が悪くて確認できないのですが
277:774ワット発電中さん
11/12/24 04:02:46.86 wnVX3hQt
>>276
お前みたいなリソース無駄使い野郎を修正してくれる教師に出会えることを祈ってる。
278:774ワット発電中さん
11/12/24 05:01:05.57 VAhtsMs6
>>276
やり方(アルゴリズム)がわかってないんじゃなくてC言語(文法)がわかってないんじゃね?
279:774ワット発電中さん
11/12/24 05:06:17.89 RUUavLhV
>>272
アルミケースより断熱性の良い厚い発泡スチロール製の箱がベター
温度の安定度は確実に良くなる
手間かけて自作しなくとも以前はアマチュア無線機のオプションの
OCXOを簡単に入手出来たんだけど今は無いみたい
>>273
お下劣!
だがしかし医学系では実際に直腸温度測定しながらの実験をする
ことがあるのでお下劣発言を非難出来ない
280:774ワット発電中さん
11/12/24 08:11:25.80 7vtYncEe
ESPECのちっこい奴でいいから欲しいな。
小型の水槽をスタイロフォームで完全に覆って半分ほど水を張り、
ヒーターとサーモスタットを入れれば40度ぐらいまでなら
そこそこ安定しそうな。
その上にあまったスタイロ浮かべて、その上に時計を置く・・・。
ただし、湿度がパンパ無いので電食が発生するかも。
タッパーに入れておくのがいいのかな。
281:774ワット発電中さん
11/12/24 09:05:52.15 NrySxpf+
俺は、12Vで動作するキャンプようのポータブル温冷庫(クーラー)を
恒温槽にしてるけど、なかなか具合良いよ。
制御も簡単。
282:774ワット発電中さん
11/12/24 20:35:09.82 0xpPVkYX
最初の質問とはかけ離れてしまったな。
283:774ワット発電中さん
11/12/24 22:51:58.87 rfZP3t5j
最初の質問を実現するための手段をこれだけ詳しく書いてくれるとか優しいじゃないか。
284:774ワット発電中さん
11/12/25 15:56:51.09 Wob6tQhA
つまんねぇな。 結局、何作れんのさ もまえら!
285:774ワット発電中さん
11/12/25 16:09:47.39 l2uyeKMm
作れるものが作れます
286:774ワット発電中さん
11/12/25 16:44:01.80 YP5u49Yh
>>268 0-10っていうから送りたいビット数は11個なのね?
相手はセンサーか何かかね
16ビットで送るとして 11ビット送ってあとはオール0とかでいいの?
data = <bit[10] ... bit[1] bit[0] 0 0 0 0 0>
とかなればいいのね?
ならいちばんださいwやり方書くのでfor文使ったかっちょいい書き方は
自分で考えて
data = bit[10] * (1<<15);
data += bit[9] * (1<<14);
data += bit[8] * (i<<13);
...
data += bit[1] * (i<<6);
data += bit[0] * (i<<5);
287:286
11/12/25 16:45:52.08 YP5u49Yh
おおまちがえた (i<<13), (i<<6), (i<<5) はそれぞれ
(1<<13),(1<<6),(1<<5)と読み替えて スマソ
288:774ワット発電中さん
11/12/25 21:31:28.75 Cubr9aVM
>>284
ライタに決まってる
289:774ワット発電中さん
11/12/25 21:48:48.71 QqWt8kxB
飴 珈琲
290:774ワット発電中さん
11/12/26 00:03:55.39 dd0Cfq+F
>>288
レガシー・インターフェースがすたれたのでもうライタ作りはもう流行らない
291:774ワット発電中さん
11/12/26 19:29:42.52 epttILnl
レガシーが駄目ならUSBでやればいいじゃない キリッ
…もう、ZIPソケットまで積んだ自動書き込み器的な無駄に楽な装置とか欲しいな。
5インチベイにマイコンまでストックしてて、CD-ROMドライブ風に書き込んだマイコンをトレーに載せて吐き出すようなの。
292:774ワット発電中さん
11/12/26 20:30:49.70 aBooBKcr
電圧やポート指定や、およそマイコン書き込みに必要な要素を全て設定ファイルから
自由に拡張できるオールインワンなライタは作りたいな。
293:774ワット発電中さん
11/12/26 22:00:41.01 dd0Cfq+F
ソフト作る手間を考えると結局メーカー製を買うことになる
古き良き時代のレガシー・ポート直結簡易ライタとフリーのライタ・ソフトは役割を終えたとしか言いようがない
294:774ワット発電中さん
11/12/27 00:09:29.21 arkd8olB
>>291
なにそれかっこいい
295:774ワット発電中さん
11/12/27 08:48:17.10 loLY9Jz8
デバイスの使い回しが多いので単なるイレーザーが欲しい。ブレボで組んでもいいけど。。
使い終わったら消す癖をつければいいのだけどね。どうも忘れてしまう。
296:774ワット発電中さん
11/12/27 15:53:43.88 jejjhMG+
PIC24F(V)32KAxxxが入手できるようになってから、avrから戻って参りました。
いや~、メモリ空間か゜広いという事はいいな。 安いし、20pinだもんね。
297:774ワット発電中さん
11/12/27 17:07:30.04 L/zKmkTz
>>295
どうせならギャングタイプ作ればいい
50個ぐらい一気にいくやつとか
298:774ワット発電中さん
11/12/28 00:11:30.16 2kWBZknQ
あれ何でギャングって言うんだろう
299:774ワット発電中さん
11/12/28 01:52:54.32 Yd0DWFl4
>>298
gang には「群」「集団」って意味がある。
300:774ワット発電中さん
11/12/28 02:02:31.55 2kWBZknQ
だとしても、普通はbatchとかblockとかそんな用語を選択するだろうに
301:774ワット発電中さん
11/12/28 03:18:08.14 DgYTdGCX
>>295
無くても不便を感じないのだけど、書く時にイレースするのでは駄目?
以前、CAL値を全自動で復活させるのは作った事あるけどね。
302:774ワット発電中さん
11/12/28 08:03:30.44 2mTkeOYh
>>301
秋月のライターの様にターゲットから完全に外された状態で書き込みを行うなら、過去のしがらみは関係なし。
PICkitの様にオンボードで書き込みを行う場合、消去されていない過去のプログラムが異なる回路、基板上で
いきなり動作しないかを心配してた。電源供給をターゲットと書き込み機のどちらにするかで変わってくる。
フラッシュメモリを書き込む上での作法になっちゃうから、自身が注意していれば大丈夫。運用手順次第。
1つのPICを別の回路に転用しない。という自己ルールを作っておけば、これも問題無し。
303:774ワット発電中さん
11/12/29 07:19:21.15 ImL6mC80
と、昨日書いてる当日、キットが出てしまった。
URLリンク(akizukidenshi.com)
切り替えは個別対応。仕方ないか。ブレボで作っても十分と思えてきた。
304:774ワット発電中さん
11/12/29 09:01:15.70 pc1TFZyM
>>303
おれ、昨日、8ピン書き込みようにZPF使って同じようなの作ったとこだよ。orz
305:774ワット発電中さん
11/12/29 09:23:37.04 VFVo/owD
使わなくなった秋月の書き込み器をばらしてZIFの部分だけを使えば作れるな。
306:774ワット発電中さん
11/12/29 12:10:06.05 NaSiw449
>>303
商魂逞しいな
307:774ワット発電中さん
11/12/29 14:32:15.20 rRGS5Dka
>>303
AVR版こそ望まれてるな
308:774ワット発電中さん
11/12/29 14:58:46.96 m/OI+sRa
>>307
うむ
309:774ワット発電中さん
11/12/29 16:27:07.03 pvy33HXH
>>300
ニュアンスが若干違うんじゃない?
310:774ワット発電中さん
11/12/29 16:41:10.90 s3FA/Am6
>>303
前に作ろうと思ったけど、ブレボで良いじゃんwと思って放置。
aitendoでゼロプレッシャーソケットが安かったので
幾つか買ってあるw
311:774ワット発電中さん
11/12/29 16:47:49.49 uipnSX+/
3軸加速度センサ:KXP84モジュール,PIC:16F88,サーボ:s3003,mikroC
を使って,加速度センサの傾きと同じ角度だけサーボを動かすようなプログラムを
検討しています.どのようにプログラムを書いたらいいでしょうか?
312:774ワット発電中さん
11/12/29 16:55:32.84 FI1IFnnk
加速度センサの傾きと同じ角度だけサーボを動かすように書く。以上。
313:774ワット発電中さん
11/12/29 16:57:31.70 mFJNnTuR
>>303
使ってない28ピンのゼロプレッシャーソケットが余ってたのでPICkit3を買ったときに作ったよ。
デバイスの切り替えは複数あるICSPのコネクタ(ヘッダピン)にライタを差し替える方法。
314:774ワット発電中さん
11/12/29 17:07:48.91 m/OI+sRa
>>313
ICSPコネクタ差し替える方がいいな。。
315:774ワット発電中さん
11/12/30 12:52:58.14 l730dYtg
12F675と16F1938を同時に動かして同時にデバッグしたいのですが、PICkit2とPICkit3の2つで同時にやるにはMPLAB IDEが対応したいないのでしょうか?
他に出来る方法はあるでしょうか?
316:774ワット発電中さん
11/12/30 14:22:27.82 jn0OsrrT
MPLAB IDEを二つ起動させれば出来るよ
317:774ワット発電中さん
11/12/30 14:35:08.21 l730dYtg
>>315
共有違反が発生しました。
というエラーが出てMPLAB IDEを2つ起動できないのですが、出来る方法があるのでしょうか?
318:774ワット発電中さん
11/12/30 14:35:47.08 l730dYtg
アンカーミス>>316でした。
319:774ワット発電中さん
11/12/30 16:00:12.36 8NYUMAc3
PCを2台使えばおk
320:774ワット発電中さん
11/12/30 16:21:01.36 l730dYtg
>>319
そうか、それでいいのか!!
321:774ワット発電中さん
11/12/30 20:40:56.06 vAJnBUzQ
すまん、鼻で笑ってしまった
322:炬燵熊猫
11/12/30 21:08:03.03 wMPesnmy
MPLAB IDE 8.53 + PicKit2使ってるけど、PIC16F747で書き込みと実行は出来る
でもデバッガでフリーランさせると動かないのは何でだろう?
デバイスサポートリスト見ても、アダプタが必要とか書いてないし・・・?
323:774ワット発電中さん
11/12/30 21:13:47.18 l730dYtg
すいません。PCが2台無いのですがどうすればいいでしょうか?
324:774ワット発電中さん
11/12/30 21:31:03.37 bT7PVyES
同時にデバッグするなんて馬鹿でしょ
まず一方をある動きにおいて正常に動くことを確認した上で
もう一方のデバッグに用いればいいでしょ
12F675で何をさせてるの?まずそっちを正常にしたら
325:774ワット発電中さん
11/12/30 21:32:11.26 bT7PVyES
シミュレーターだってあるんだよ
何でもかんでもリアルハードに拘ることはない
326:774ワット発電中さん
11/12/30 22:23:31.47 ThxAvTMB
>>323
VMwareとかで仮想PC作れば、本体+仮想PCで同時デバッグできるかも。(未確認)
とりあえず、VMware上でのMPLAB + PICKIT2 は問題なく動く。
327:774ワット発電中さん
11/12/31 01:48:56.48 UuUImsbE
>>326
もちろんホストPCがよほど古くて能力不足ってことさえなけりゃ、その方法は実行可能
だけどそんなデバッグ手法は実際にはまず必要ない
質問者は殆ど開発経験がないと思う
328:774ワット発電中さん
11/12/31 02:49:19.23 X72tRYHs
ほっとくと路頭に迷いそうだな、誰か助けてやれよw
329:774ワット発電中さん
11/12/31 14:19:15.99 ee+SjvhN
>>323 VM 立ち上げれば良いのでは?
330:774ワット発電中さん
12/01/01 00:14:54.00 cAyCe7Dn
あけましてオメデトウございます。
さっそく質問させていただきます。
Main
BTFSC EVENT_STA,4
GOTO Main1
BTFSC EVENT_STA,5
GOTO Main12
GOTO Main
Main1
プログラムが1番最初に動き出して、はじめてMainにきた時だけ誤動作します。
EVENT_STAには0が設定されており、1行目にブレークポイントを設定してView→File Registersにて確認もしていますが、
どうした訳か2行目のGOTO Main1が実行されてしまいます。
Main1以降を実行した後に再度Mainに戻った際はそのようなことはありません。
はじめだけどうして?と頭を抱えています。
よろしくアドバイスをお願いいたします。
331:774ワット発電中さん
12/01/01 05:54:49.33 jAVVIPp+
バンクの切り替えが怪しい気がするなあ
332:774ワット発電中さん
12/01/01 06:26:15.32 iDdDmQr3
あまり親切にするとタメにならないけど
ソースそのものをうpしてくれたらたちどころに判明すると思う
333:774ワット発電中さん
12/01/01 07:13:45.53 cAyCe7Dn
>>331-332
あけましてオメデトウございます。
早速のレスありがどうございました。
>>331さんのご指摘のとおりでバンクの切り替えが出来ていませんでた。
お二人ともありがとうございました。
334:774ワット発電中さん
12/01/01 08:23:48.21 cAyCe7Dn
続けて質問行きます。よろしくお願いいたします。
5V電源を抵抗無しでPICに繋いで問題ないでしょうか?
入力設定のRB4のピンを2KΩの抵抗でグランドに繋ぎプルダウンしています。
5Vの電源から1kΩの抵抗とタクトスイッチを経由してRB4に繋いでいます。
通常はタクトスイッチは開放してあるのでRB4はグランドと繋がっていて0Vになっています。
ここで、タクトスイッチを閉じる事で、5Vの電源と繋ぐと、RB4の電圧は2KΩ/(1kΩ+2KΩ)で3.3Vになります。
一応PICの立ち上がりエッジ割り込みは発生するのですが、どうせなら5Vにしたいと思うのです。
そこで、電源とタクトスイッチ間の1KΩの抵抗を外すとそれは叶うのですが、
5V電源を抵抗無しでPICに繋いで問題ないのか?という不安があります。
RB4と電源の間にはドライブするものは何もないので電流は流れない筈なので、問題ないと思うのですが、
やがてPICが壊れるような使い方だと困るので質問いたします。
よろしくお願いいたします。
335:774ワット発電中さん
12/01/01 09:44:04.46 mCIaMNDI
寄生素子がある。
336:774ワット発電中さん
12/01/01 10:33:23.03 iDdDmQr3
ウェブで作例検索したらいくらでも直に繋いだ例が見つかる筈
PICの入力ポートは非常に大きなインピーダンスを持つ(確か何十メガΩ)
直につないでも殆ど電流は流れない
今度からは目の前の回路と2chだけを睨んで悩むんじゃなくて、
どんどん検索した方がいいと思うよ
1kΩの抵抗は電流制限の意味じゃなくて、コンデンサと組み合わせてちょっとしたノイズ除去フィルタになってると思う
1kΩを取り除いたんならソフトウェアでチャタリングチェックすればいい
実際にはそんな中途半端なフィルタがあったとしてもソフトウェアでチャタリングチェックをおこなうのが(かなり)一般的
337:774ワット発電中さん
12/01/01 11:27:00.21 cAyCe7Dn
>>336
大変勉強になりました。
ありがとうございました。
チャタリング防止についても再考します。
338:774ワット発電中さん
12/01/01 13:15:28.71 iDdDmQr3
>>334
そもそも論で言うと
プルダウン抵抗を大きくすれば済む話
10kΩにすれば1kΩをつけたままでも4.4V以上になる
339:774ワット発電中さん
12/01/01 18:57:00.68 T33zxvS4
電源とタクトスイッチ間じゃなくて
タクトスイッチとPICのポート間に抵抗入れればいいじゃねーかw
340:774ワット発電中さん
12/01/01 20:34:47.12 mCIaMNDI
dirをミスることがある。
341:774ワット発電中さん
12/01/01 21:02:26.19 iDdDmQr3
>>339
分圧でできる電圧に関しては違わない
それに多分既にそうなっているだろう
342:774ワット発電中さん
12/01/01 21:24:26.39 Muy1GbAf
URLリンク(2ch-dc.mine.nu)
弟夫婦が来たので、甥を初詣に連れて行って「子供おみくじ」てのを引かせたんです。
そしたらこんなん出ました。 甥曰く「ねえマイコンて何?」
これは子供おみくじじゃなくて、まるで神様から私への今年一年、いや今後の物作りの
方向を考え直せというお告げなのでしょうか?
343:774ワット発電中さん
12/01/01 23:15:12.38 IXn48bR8
分圧になるような接続にしなけりゃいいのにな
344:774ワット発電中さん
12/01/01 23:32:44.26 iDdDmQr3
>>343
いやいや、こういう接続はよくあります。
ただし、こういう接続をするにしても、>>334のような2kと1kの組み合わせじゃなくて10kと1kの組み合わせとかが定番です。
2:1の比率は異端過ぎ。分圧してできた電圧がスレッショルドに近すぎ
最初からこのことを書けば良かったんだけど、入力インピーダンスのことを書きたかったから先にそっちを書いてしまった
レスし過ぎた。冬休みだからある程度小まめにレスしたけどスペースの浪費だからもうやめる
345:774ワット発電中さん
12/01/01 23:37:46.62 c/lUgMwO
失敗して学べばいい
346:774ワット発電中さん
12/01/02 00:08:54.57 ADtVkOkG
単純なスイッチ入力では内蔵プルアップ設定しておいてGND側にスイッチ繋いで負論理入力にして抵抗使ってないんだけど、異端かな…
347:774ワット発電中さん
12/01/02 00:19:50.53 UFLGwQT0
>>346
物の道理が判ってないという意味でなら異端
判ってやってるならご立派
348:774ワット発電中さん
12/01/02 01:06:13.00 mM1w7Es6
PICの内蔵プルアップは最新チップ除いて
スイッチ入力に使うには抵抗値が少し高いので
安定して入力するなら外付けで10Kほど付けたいところ
またスイッチ入力は指が触る箇所なんで静電気による破壊を防ぐため
ポートのクランプダイオードを保護する電流制限抵抗も欲しい
ポート → 保護抵抗 → プルダウン → スイッチ → Vdd
という接続にすればポートに入力される電圧は分圧されないので
入力保護抵抗に高い抵抗値のものを使うことができる
349:774ワット発電中さん
12/01/02 01:09:18.36 GFzh9bjq
内蔵プルアップだけでやる勇気をたたえたいね。
350:774ワット発電中さん
12/01/02 01:48:00.71 RL9aPgP5
>>342
351:774ワット発電中さん
12/01/02 02:20:11.42 zqe9gRH8
PIC16F887+キャラクタ液晶で作った装置にリチウムイオン電池2本直列の8Vを数秒加えちゃったけど
どっちも壊れなかった アナログコンパレーターの充電時間を測定してアレするものだったけど特性の変化もなかった
新年早々運がいい みんなも気をつけてね
352:774ワット発電中さん
12/01/02 03:16:33.21 2gbKWIaF
>>348
>ポート → 保護抵抗 → プルダウン → スイッチ → Vdd
今年からは、
信号は左から右、上から下という書き方をしようね。
Vdd → スイッチ → プルダウン → 保護抵抗 → ポート という感じね。
353:774ワット発電中さん
12/01/03 11:23:44.80 /qdojJY4
>>346
PICなんかは、多少荒っぽくてもちっこくできれば正義、な世界なんだから、王道中の王道。
354:774ワット発電中さん
12/01/03 15:13:51.26 2m9UPS67
>>342 ファミコンの間違いか? 何十年も同じ版のまんまなんだろうな?www
355:774ワット発電中さん
12/01/03 16:13:10.04 Rco7WzPi
>>354
「ファミコン」(R)は特定の商品名だから、一般名詞として当時流行った「マイコン」をあてたんだろうな。
356:774ワット発電中さん
12/01/03 23:40:33.41 y3VxelIy
ゲームじゃダメなの?
357:774ワット発電中さん
12/01/04 00:02:41.53 uBWXfSWq
昔はPCはマイコンと呼んでいたからな。
マイコンベーシックマガジンとかよく読んだなぁ~
358:774ワット発電中さん
12/01/04 00:12:55.03 lsH131lE
PCはIBM-PCから来た呼び名で、オフコンとかに対して付けられたんでは?
359:774ワット発電中さん
12/01/04 01:17:12.81 BIVacq2e
そのまま「マイコン」という本もあったけどな
360:774ワット発電中さん
12/01/04 01:39:53.49 EEqRTLLQ
マイコンというあだ名の刑事もいたな
361:774ワット発電中さん
12/01/04 06:05:48.53 Mk8k4gkv
パーコンという呼び名がはやりそうになった。