PIC専用のスレ Part35

このエントリーをはてなブックマークに追加
1ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY
....  /Microchip ./|
 /( ゚∀゚)    /  | アセンブラのアの字もわからない
 |~ ̄ ̄ ̄ ̄ ̄|  /. 超初心者からHEXが読めてしまう
 |/Z./Z./Z./Z_|/ ||  鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
  ||. ||. ||. ||

大人気のPICマイコンのスレ。
なんといっても情報が豊富だし、開発環境も多いし、パッケージも豊富。
使いやすくて、しかも安い。やっぱりPICだよね。

例の如く基本リンクだ
http://www.microchip.com/  マイクロチップ本社(Microchip Technology Inc. )
http://www.microchip.co.jp/ マイクロチップ テクノロジー ジャパン 株式会社
またーりやっておくんなまし。
教えて君はとりあえずGoogle(http://www.google.co.jp/) くらい使おう

前スレ
PIC専用のスレ Part34
http://kamome.2ch.net/test/read.cgi/denki/1309466648/
2774ワット発電中さん:2011/08/15(月) 09:03:49.77 ID:ON53QEfO
[秋月の新シリーズのPIC16F1xxx テンプレ用]
旧シリーズより機能が大幅にアップしていて値段も下がってる。新規に組むならこちらから選択すべき

[40pin] 16kwハ必要ナイカモシレナイケド10円差ナラ
◎16F1939 \180 16Kw 1024 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2
○16F1937 \170 8Kw  512 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2

[28pin] ナゼ同価格ニ設定サレテイルノカ理解デキナイ
◎16F1938 \150 16Kw 1024 I/O25 ADC11 CapS8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2
×16F1936 \150 8Kw  512 I/O25 ADC11 CapS8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2
×16F1933 \150 4Kw  256 I/O25 ADC11 CapS8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2

[18pin] 18ピンの割にMSSPが2コ,ADC入力ピン多,タイマーx5,CCPx4と多機能
◎16F1827 \120 4Kw  384 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2

[14pin] 機能的に8ピンとあまり変わらないのは残念
◎16F1823 \100 2Kw  128 I/O12 ADC8 CapS8 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP-

[8pin] 8ピンでUSARTもI2Cも使えるってのは大きいね
◎12F1822 \80 2Kw  128 I/O6  ADC4 CapS4 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可能
3774ワット発電中さん:2011/08/15(月) 09:04:24.53 ID:ON53QEfO
秋月のPIC12/16F(旧)シリーズ 命令セット14bit幅&DIP品限定ピン数別評価
あくまでも旧シリーズ内での相対評価。新シリーズが使えない場合のみ有効
(先頭のvは値下げ,-は維持,*は新規)'11/8更新版

-40ピンは◎16F887 \200 40ピン600mil幅が許せるなら 旧シリーズ最強
-28ピンは◎16F886 \190 887よりピン数減ってスリム(400mil幅)
ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31K-8MHとフルサポート
新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを

20ピンはF690のバリエーション多,価格差小なのでF690か,OPアンプF785,ポート割りがチョットカオス
-◎16F690 \210 ADC有,eCCP有,eUSART有,SSP有,4Kw,内蔵31K-8MHzとバッチリ
-○16F689 \180 F690からeCCP機能削られた
-×16F687 \180 さらにF689を2Kwと半分に
-△16F677 \170 さらにF687からeUSARTも削られた
-○16F685 \190 F690からSSP&eUSART機能が削られた
-◎16F785 \180 ADC有,CCP有,2Kw,内蔵31K-8MHz,OPアンプ搭載が異色(新シリーズにも無)

18ピンは種類は多いけど選択の幅は狭い。F88カ値段でF716いっそ20pinにするか
-×16F84A \250 機能無,1Kw,新規では不要だけど作例参照用or互換用に
-△16F648A \180 CCP有,USART有,4Kw,内蔵4MHz,ADCないのはオシイ
-△16F628A \160 F648Aの2Kw版,売りが値段だけだと厳しいかな
-×16F627A \160 F648Aの1Kw版,売りの低コストで628Aと並ばれると・・・
-×16F627 \200 F627Aの改良前Ver,なぜこんな物が・・・
-◎16F88 \200 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31K-8MHzと旧18ピンの王者
-×16F87 \200 F88にADC無い,F88と同価格では不要・・・
-○16F819 \180 ADC有,CCP有,SSP有,2Kw,内蔵31K-8MHz,F88とはROM容量の差
-×16F818 \200 F819の1Kw版,上位のF819より高くては不要・・・
-◎16F716 \110 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い,ADC8bit注意

14ピンはF688の値下げで他2がほぼ不要に
v◎16F688 \120 ADC有,eUSART有,4Kw,内蔵31K-8MHz
-×16F676 \140 ADC有,1Kw,内蔵4MHz
-△16F630 \110 F676のADC無し 無機能で影薄い、今まで存在に気付かなかったw

8ピンはF683だと思っていたがF615も\100にしてはなかなか良い
-◎12F683 \150 ADC有,CCP有,2Kw,内蔵31K-8MHz,8ピンとしては多機能
-○12F675 \120/130 ADC有,1Kw,内蔵4MHz ,環境によってはE/P版
-○12F629 \80 675のADC無(機能無しってこと),この値段ならチョット使うに便利
-△12F635 \120/130 機能無し,1Kw,内蔵31K-8MHz,環境によってはE/P版
-◎12F615 \100 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無し
-×12F609 \100 F615からADC,eCCP機能省かれてる

(参考)機能無,EEPROM無,命令セット12bit幅 プログラム組む上で制限多し(割込無イヨ
△16F57 \100 28ピン,2Kw,内蔵CLK無,安くて多くのI/O欲しいなら
△16F54 \60 18ピン,0.5Kw,内蔵CLK無,安いI/O欲しいなら
◯12F510 \60 ADC有(8bit),1kw,内蔵4Mor8MHz,EEPROM無し
×12F509 \60 機能無し,1Kw,内蔵4M,EEPROM無し
△10F222 \70 DIP8ピン,1/2Kw,内蔵4Mor8MHz,米粒PICのデバッグ用
△10F200 \70 DIP8ピン,1/4Kw,内蔵4MHz,米粒PICのデバッグ用

マークの意味
◎お勧め、用途決まっていないならこれ買っとけ
○内蔵モジュール減ってるけど、その分値段も安くなってるから、まあまあ
△内蔵モジュール大幅に減ってる、\10でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない。
4774ワット発電中さん:2011/08/15(月) 09:04:47.79 ID:ON53QEfO
秋月DIP品限定18,24,dsPICシリーズ

18Fシリーズは多いけどUSBが使えるこのあたり(他のは性能の割に高い)
-◎40ピン 18F4550 \400
-◎28ピン 18F2550 \400 (△18F2420 \300 USB無し)
v◎20ピン 18F14K50 \170 5V動作,Max48MHz,8Kw,768RAMナラUSBナクテモ

24,dsPICシリーズ(24F,dsPICは品数限られていて,値段も高め)
40ピン
-○30F4013 \650 16kw 2KB EEPROM1KB
-×30F3014 \750 8kw 2KB EEPROM1KB

28ピン
-◎24FJ64GA002 \350 21.3kw(64kB) 8KB EEPROM無 リビジョンはイクツカナA3/4ハナイヨナ
-△24HJ12GP202 \400 4kw 1KB EEPROM無
-○30F4012 \750 16kw 2KB EEPROM1KB 5V必須ならこれかな
-△30F2020 \700 12kw 0.5KB EEPROM無
-△30F2012 \500 4kw 1KB EEPROM無
-○33FJ32GP202 \450 11kw弱(32kB) RAM2KB 高速性能を求めるなら

18ピン
-○30F3012 \500 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命令有
5のうし:2011/08/15(月) 09:07:10.70 ID:WZRrV51C
んで、もまいらはそんなDSPレベルので何すんのよ?
6ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY :2011/08/15(月) 09:08:32.08 ID:ON53QEfO
個人的に一押し
DSPIC33FJ16GS502I/SP
33Fシリーズ Vdd3.0-3.6V Max40MIPS DSP命令有 高速高精度PWM機能付き
7774ワット発電中さん:2011/08/15(月) 09:10:39.04 ID:ON53QEfO
>>5
電源、オーディオ制御。(アルゴリズムを自分で考えるって意味で)
ロートルだとこれが限界かな。
(大規模DSPは下手するとFPGAよりむずいw)
85:2011/08/15(月) 09:20:19.98 ID:WZRrV51C
DSPがワンチップになっていると楽だ罠。

いつの時代だか、テキサスのDSPをゲットして、なかなかない高速メモリと接続して「早っえー!」なんてやったけど今は味気ないねえ。

ワンチップじゃない時代はバスサイクルが見れて面白かった。

ところでモーターのベクトル制御なんかどうよ?
9774ワット発電中さん:2011/08/15(月) 10:57:02.79 ID:SXkGi44J
>>8
 センサレスベクトル制御とかかっこいいよなー。
 中身理解して自分で書き下ろすのは、できるの?って感じだが…
10774ワット発電中さん:2011/08/15(月) 11:09:49.08 ID:wVW5WxLP
シーケンサ以外の用途となると数学がわからないと何もできないね。
11774ワット発電中さん:2011/08/15(月) 11:18:23.49 ID:Bigns0/z
MATLABで簡単に動いたよ。
128:2011/08/15(月) 11:44:42.43 ID:WZRrV51C
こぉゆうの

http://kamome.2ch.net/test/read.cgi/denki/1300348885/11-

なんかを最大効率でやってみるのが面白そう。
ググると意外と素人がベクトル制御に手を出しているけど、その先(機械的用途)があまりないみたいな‥

持っていると(その機能を)使いたくなるDSPだけど、また先の使いたくても使わないモーター ってかw
13774ワット発電中さん:2011/08/15(月) 12:40:37.32 ID:TlbBrVYZ
MATLABいいねぇ
高くて買えないけど。
14774ワット発電中さん:2011/08/15(月) 13:14:47.99 ID:YR1Pyt9W
>>13
Scilabでいいやん。
>>1
結局テンプレのままかよ。
FAQが書けないとは、情けない奴だな。
15774ワット発電中さん:2011/08/15(月) 13:36:19.47 ID:TlbBrVYZ
>>14
おお、DSPIC用のブロックセットがあるんだね。
これでLチカやってみよう
1612:2011/08/15(月) 14:01:17.02 ID:WZRrV51C
DSPでLED点滅? すごい転送量だろうなw‥
17774ワット発電中さん:2011/08/15(月) 18:54:26.90 ID:Bigns0/z
Cしか出来ない奴はMATLABネタについてこれないから静かだな。
と思ったら変なのがwww
18774ワット発電中さん:2011/08/15(月) 19:15:22.09 ID:jKjRNtQd
アセンブラは難しいとでも言いたいのか?
一番簡単。
19774ワット発電中さん:2011/08/15(月) 19:18:51.06 ID:rmB42CQ9
組み立てるのがめどいだけだな。
スパゲティでいいなら、アセンブラだろうとC言語だろうと、覚えてしまえば書けるし。

ところで
MATLABって数値演算に特化した言語よね?
PICで有意義に使える使い道ってそんなに無いような…
20774ワット発電中さん:2011/08/15(月) 20:26:01.85 ID:NLmPCl89
>>19
> PICで有意義に使える使い道ってそんなに無いような…
フィルター組むなら常道。知らんの?
21774ワット発電中さん:2011/08/15(月) 20:36:07.89 ID:Bigns0/z
MATLABはオプションが沢山あって、そのうちのSIMULINKをつけとくと
ブロック線図を描けばシミュレーションが出来るし、エンベデットコーダーも付ければ
ブロック線図がそのままCに落ちるからマイコンでH∞制御とか簡単に出来る。
DSPIC向けのブロックセットがマイクロチップから出てるので、それも入れれば
DSPIC用のCが吐き出されると言う訳。
DSPICでロケット飛ばすのも乙かも試練。
22774ワット発電中さん:2011/08/15(月) 20:39:42.43 ID:Bigns0/z
>>20
フィルタ組むならMATLABなんて不要だな。
てか、出来ない訳じゃないが目的が違う。
23774ワット発電中さん:2011/08/16(火) 03:52:27.32 ID:GcBFWIuq
デジタルフィルタや2次系以上のフィードバック制御を設計
できる香具師はここには居ないか、居てもアセンブラ対C
の議論をニヤニヤしながらROMしてるだけだと思う。
24774ワット発電中さん:2011/08/16(火) 06:35:33.54 ID:fOjRfTjv
Cしか出来ない奴ってMATLAB使うセンスは無いんだな。
てか所詮コーダーだから不要かw
アセンブラ位なら口を出せるけど中途半端だしw
25774ワット発電中さん:2011/08/16(火) 08:26:38.87 ID:T8VE7VNM
>>24
その論理展開、無茶苦茶だな。
26774ワット発電中さん:2011/08/16(火) 12:17:01.83 ID:pNzdlWJc
>>21
なんかおもしろそうだ。
が、そこまでする元気はないな…

MATLABをググってみたが、アセンブラからの遠さ的には、CとBASICの間ぐらいかしら? 拡張は別として。
27774ワット発電中さん:2011/08/16(火) 14:15:54.17 ID:/52HjEqA
matlabやmaximaは数式処理が出来るからCとかBASICとかいう話とは方向性が異なるよ。
maximaでぐぐってみるとよろし。
28774ワット発電中さん:2011/08/16(火) 14:19:11.98 ID:/52HjEqA
maxima solveや
maxima ratsimpでぐぐった方が早わかり
29774ワット発電中さん:2011/08/16(火) 15:37:13.17 ID:fOjRfTjv
>>26
まあ、金も掛かる品
言語としてはBASICみたいなもん。基本的な部分はインタプリタでBASICより数式処理が得意なだけだが
エンベデッドコーダーやリアルタイムワークショップを追加するとブロック線図(GUI上でいろんな機能のBOXを並べて線でつなげるだけ)
がそのままスタンどアローンのPCで動くようにコンパイル出来るし、各社IOボードもGUI上のBOXが用意されてる。
コンパクトにしたいならDSPICやFPGA用にもコンパイル出来る。

MATLABが単なる数式処理アプリだったのは過去の話でそれだけならフリーでも沢山あるが
肝はSIMULINKとそれの各種ブロックセット。フリーで似たようなことが出来るのはScilab位だな。
PCでしたシミュがそのままターゲットでリアルタイム処理として動くから
制御系やるならとても便利だけどオプションが高いから簡単に数百万いく。
仕事で使うなら安いもんだと思うが最初動かすまでが大変かもな。
30一応大学生:2011/08/17(水) 03:42:03.34 ID:rDzpOG8M
こんにちは。
いま、SDCCでコンパイルされたソースをPIC16F88に書き込んでLCDの制御をしようと思い、datasheet見たりネットでいろいろ調べて、
DB4〜DB7をRA6、RA7、RA0、RA1の順で接続、RSをRB6、ENをRB7に接続して、
4BITモードの設定や文字出力の信号がでるように、プログラムを立てたのですが、
LCDは、うんともすんとも言いません。
回路は大丈夫のようなのですが・・・・
ここでしたら、分かる方がいると思い書かせていただきました。
よろしくお願いします。

↓C言語で書いたプログラムです。コンパイルはできました。
int main (void)
{
ANSEL=0x00; /*アナログ OFF*/
TRISA=0x3C; /*RA2〜RA5を入力設定*/
TRISB=0x0F; /*RB0〜RB3を入力設定*/
PORTA=0x00; /*ポートAを初期化*/
PORTB=0x00; /*ポートBを初期化*/


delay_ms(36);ここから
PORTA=0x80;
PORTA=0x80;
PORTA=0x03;
delay_ms(1);
PORTA=0x00;
PORTA=0xC3;
delay_ms(1);
PORTA=0x00;
PORTA=0x40;
delay_ms(2);
PORTA=0x00;
PORTA=0x81;ここまでがLCDの初期設定(4BITモード)の部分です。

PORTB=0xC0;ここから
delay_ms(1);
PORTA=0x8C;
PORTA=0x44;ここまでは、文字データ出力です。

return (0);
}

ちなみに、delay_ms(n) はnミリ秒間待つ関数です。
31774ワット発電中さん:2011/08/17(水) 03:47:29.19 ID:JKFbMOtL
>>30
>回路は大丈夫のようなのですが・・・・

この自信はどこから来るのだろうか…
32774ワット発電中さん:2011/08/17(水) 04:03:05.17 ID:NJP37GYq
>>30
コントラスト調整VRを回して、何か変化がある?

>プログラムを立てたのですが、
プログラムは、立てるとはいわない。作ると言う
33774ワット発電中さん:2011/08/17(水) 04:05:29.54 ID:secleO1G
電流計で流れていないところがないってことを確かめただけで、
安易に大丈夫だろうと考えています。
やっぱり、ちゃんと調べるべきですよね。
34774ワット発電中さん:2011/08/17(水) 04:08:09.71 ID:secleO1G
>>32
バックのLEDの明るさが変わります。

プログラムはつくる。
わかりました。
35774ワット発電中さん:2011/08/17(水) 04:17:52.21 ID:brWdICvd
>30
TRISのbit設定が逆じゃないですか
E(EN)信号が全く制御されていないようだけど…

配線を楽にしたいからと言ってbit並びを滅茶苦茶にするのはどうなんでしょ
下記が何をしたいかさっぱりわかりません。通常はDB7-4="0011"にして
E信号を0→1(最低230ns)→0にする処理だと思いますが
>PORTA=0x80;
>PORTA=0x80;
>PORTA=0x03;

36774ワット発電中さん:2011/08/17(水) 04:52:00.09 ID:secleO1G
>TRISのbit設定が逆じゃないですか
 えっと、TRISって"1"で入力、"0"で出力じゃなかったでしたっけ。
 "bit設定"って上のとは違うもののことですか?
 "bit設定"という言葉が何をするものなのかわからないので、
 よろしければ教えてください。


> E(EN)信号が全く制御されていないよう
 インストラクションを送る際にもE信号は必要なのですか?
37774ワット発電中さん:2011/08/17(水) 05:38:21.96 ID:SOtI6oyY
>配線を楽にしたいからと言ってbit並びを滅茶苦茶にするのはどうなんでしょ
>下記が何をしたいかさっぱりわかりません。通常はDB7-4="0011"にして

全然問題ない。プログラムが見辛いのはセンスが無いから。
38774ワット発電中さん:2011/08/17(水) 05:51:58.43 ID:ChjjF6B7
39774ワット発電中さん:2011/08/17(水) 07:32:11.06 ID:RGFsiDuE
>>34
表現が間違っていると願いたいが、
コントラストの調整でLEDの明るさがなぜ変わる。
40774ワット発電中さん:2011/08/17(水) 07:51:22.07 ID:brWdICvd
>36
ごめんTRISの件は勘違いだった。

>インストラクションを送る際にもE信号は必要なのですか?
インストラクション? 。データでもコマンドでもLCDにデータを送る際は必ず必要
もちろん最初の"0011"や"0010"を送る際も必要

41774ワット発電中さん:2011/08/17(水) 11:27:06.18 ID:UCEEPSuk
ところでPICの入力(スイッチつなぐ方)って1が電流流れてない状態で0が流されてる状態なの?
42774ワット発電中さん:2011/08/17(水) 11:45:01.97 ID:mT/qoGWa
>>41
回路による。

マイコンの入力端子自体は、入力インピーダンスが高いので、どちらの状態でも
ほとんど電流は流れない。
43774ワット発電中さん:2011/08/17(水) 11:45:07.35 ID:HvFEbXUV
意味不明、トランジスタの構造から勉強し直し。
44774ワット発電中さん:2011/08/17(水) 18:16:53.79 ID:w1CT54ng
内部プルアップ使ってれば、そう言っても間違いじゃないな。
45774ワット発電中さん:2011/08/17(水) 18:32:09.54 ID:G5k095kd
>43
入力端子っていっても、
トランジスタと違ってFETを使ってるわけだし、
GPIO入力で内部プルアップを使う場合を除けば入力電流は微少で、
0でも1でも電流の値は変わらない(少なくともデータシート上は)のが普通では。

GPIO以外の入力端子(GPIOとして使えない入力専用の端子なんて付いてないチップが大半だけど)なら、
42の答えでも間違いじゃない気がするんだが...
4642:2011/08/17(水) 18:57:33.54 ID:mT/qoGWa
>>43>>41へのレスではないかと・・・
自分(>>42)と>>43の書き込み時間の差は6秒も無いし。
47774ワット発電中さん:2011/08/17(水) 19:56:53.33 ID:C1tOg50E
>>45
>GPIO入力で内部プルアップを使う場合を除けば入力電流は微少

内部プルアップに限らず、単極単投のスイッチを使う場合は、内部または外部の
プルアップ/プルダウン抵抗が必ず必要ですよね?

この抵抗無しで単極単投スイッチを使える方法があるのなら、是非教えて
頂きたいのですが…
48774ワット発電中さん:2011/08/17(水) 20:01:00.44 ID:mKiJ5urR
シリアル受信のタイムアウト処理をアセンブラで書きたいんだけど、いまいちわからん。
受信フラグRCIFの監視ループ内にタイマの割り込みフラグ監視いれるの?
最初のデータまでは、タイムアウトしたくないんだけど。
うまく質問できないので、サンプルプログラムがあるとうれしい。
49774ワット発電中さん:2011/08/17(水) 20:12:11.83 ID:mT/qoGWa
>>47
目的は?
部品点数を減らしたいだけなら、素直に内部プルアップすればいいよね?

>>48
自分なら、一定の周期でメインループを回して、その中でRCIFを読むという処理にする。

受信フラグがあるなら、バッファを読みに行く。無いならそのままメインに戻る。
タイムアウトが欲しいなら、RCIFを読みに行った回数を数える。
受信後すぐに処理をしたいのなら逆にシリアル受信そのものに割り込みを使う。
50一応大学生:2011/08/17(水) 20:17:20.06 ID:7MiDXfqz
>>40
そうだったんですか!
timing chartにはdata writeって書いてあったので
勘違い。これで出来たらまた書きます。

>>39
コントラストのピンに半固定抵抗ちゃんとつけて、コントラスト変わってます。
51774ワット発電中さん:2011/08/17(水) 20:47:49.19 ID:Qx0EAdZR
>>47
回答1:抵抗という部品を使わない方法という命題への解でよければ低電流ダイオードを使えば良い
回答2:30cmくらいの電線をつないでおき、電線が拾った誘導雑音の有無をソフトで判別してスイッチのオンオフを判断する。
52774ワット発電中さん:2011/08/17(水) 21:01:52.14 ID:SACezc7g
>>48
通信系ならミリ秒ぐらいのカウンタは常に回してるだろ?

tick_t start = GetTickCount();
while (((result = serial_get()) != NOTHING) && (GetTickCount() - start >= timeout)) ;

あ、アセンブラは自分でかけ
53774ワット発電中さん:2011/08/17(水) 21:03:09.77 ID:SACezc7g
どうでもいいが
== NOTHINGだた
54774ワット発電中さん:2011/08/17(水) 21:03:59.54 ID:SACezc7g
タイムアウト判定も逆だしww
もうこれはスルーしてくれてかまわない
55774ワット発電中さん:2011/08/17(水) 21:07:56.17 ID:SACezc7g
つーかRCIFって、普通はバッファに溜めないか?
おれが言うのもなんだがアセンブラでもレイヤーはきちんと分けたほうがいぞ
56774ワット発電中さん:2011/08/17(水) 21:53:28.04 ID:brWdICvd
>48
タイマ割込みは適当に1/10秒位に発生するようにして
タイマ割込み処理内は適当なカウンタを+1するだけ(桁あふれも無視)

RC受信割込み内では受信した後に、、データ受け取ったフラグを1に
上記の適当なカウンタをいつも"0"にする

メインルーチンで最初にデータ受け取ったフラグを0にして
L1:
 データ受け取ったフラグが0ならL1へ
 適当なカウンタが50以上(5秒)だったらタイムアウトへ
 GOTO L1
57774ワット発電中さん:2011/08/17(水) 21:59:07.28 ID:brWdICvd
>56
誤)データ受け取ったフラグ → 正)最初にデータ受け取ったフラグ
だった。RC受信割込み内で受信処理全て行う前提ね。
5847:2011/08/17(水) 22:30:30.07 ID:C1tOg50E
>>49 >>51
ありがとうございます。

>>49
>目的は?
省電力化です。

やりたいことは、
・マイコンは、PIC12F683あたりを使用。
・使うセンサは水銀スイッチみたいな物で傾斜やゆれを検出。
・センサがONかOFFで一定時間の変化が無ければ、Sleepする。
・Sleepからは、センサのGPIO変化割り込みで復帰させる。
・Sleep中センサOFF→センサONの変化で復帰。
・Sleep中センサON→センサOFFの変化でも復帰。
・なるべく小型にしたい(小さなコイン電池を使いたい)

で、Sleep中にプルアップ抵抗に流れる電流がPICの消費電流に比べて
多すぎて、PICの省電力を生かせなくて悩んでいます。
プルアップに数十MΩの抵抗を使うのはノイズ的に不安ですし…

>>51
と言う事で回答1の「定電流ダイオード」は不可です。
(条件の後出しでごめんなさい)
回答2は、誘導雑音を積極的に使って、アンテナ(電線)の長さの変化を
検出する訳ですね?
面白いアイデアですけど、電線の電位が電源電圧の1/2位だと、
逆に消費電力が増えませんかね?
59774ワット発電中さん:2011/08/17(水) 23:00:40.34 ID:mT/qoGWa
>>58
常套手段だから、既に検討してるんじゃ無いかとも思うけど、WDTでループを作って
測定時だけ電源供給というのはどうだろう。

1.SLEEP
2.WDTでSLEEPから復帰
3.内部プルアップON
4.GPIOの読み取り
5.内部プルアップOFF
6.1.へ戻る

問題点は、消費電力を下げようとすると、測定間隔が長くなること。
傾斜の検出ならともかく、揺れの検出は出来ないかも。
60774ワット発電中さん:2011/08/17(水) 23:53:02.13 ID:BIhBhJs8
こんなんじゃだめかなあ。。
電流はON→OFF/OFF→ONの変化時しか流れないけど、
1/2Vccでwakeupするかどうかは知らん。
ずれてたらごめんなさい

Vcc--R--C-+-C--GND
|
+-SW--GND
|
GPIO
61774ワット発電中さん:2011/08/17(水) 23:53:57.18 ID:BIhBhJs8
ずれたw

Vcc--R--C-+-C--GND
     |
     +-SW--GND
     |
    GPIO
6247:2011/08/17(水) 23:57:06.92 ID:C1tOg50E
>>59
WDTをONにすると消費電流が2uA(typ.3V)も増えてしまいます。
(WDT等すべてのモジュールをOFFにすれば、たったの0.15uA)

殆どの時間がSleepしている用途なので、電池寿命が1/10程度に
なりそうで…
6347:2011/08/18(木) 00:06:45.36 ID:RRxe9u9M
>>61
コンデンサで直流電流が流れないようにする訳ですか?
今日はもう寝ますので、明日にでも検討してみます。

ありがとうございます。
64774ワット発電中さん:2011/08/18(木) 00:13:38.16 ID:0ZQ0Pt/k
>>58
> アンテナ(電線)の長さの変化を 検出する訳ですね?
そういうやりかたもあるが、アンテナをスイッチで GND に落として
ノイズがなKなることを判定する方法もある。

できるなら、センサがオフになっている時間が多くなるようにしたうえで、

1μA流れるくらいで外部抵抗でプルアップしておけば、ボタン電池の
容量が 150mAH として計算上17年間持つわけだか不足かな?

ノイズ対性を上げるには、Sleep から目覚めた後、PORT の状態を複
数回チェックして、前回から完全に変化していなければソフトで無視す
るという方法も吉。
6559:2011/08/18(木) 01:13:47.24 ID:ILauXAe4
>>62
WDT自体の消費電流は、メガオーム程度でプルアップしたときとコンパラか。
そう言われてみれば、中身はRC発振なんだと思えば、そんなものかもしれない。
6630:2011/08/18(木) 02:51:54.22 ID:TgClva7I
SDCCを使ってPIC16f88でLCD(ACM0802C-NLW-BBH)を制御しようとしている一応大学生です。
以前、書かしていただいてあらゆるレスをいただき、
その中でコマンドでもデータでもLCDに信号を送る際にはE信号を送るというのを
教えていただき、もう一度データシート見てプログラムを作りなおして
実行しましたが、ダメでした。

それで、シートを見ていて気なったのですが、、、
いま、16f88を内部クロック8MHzで動作させています。
また、LCDのデータシートには FOSC=270KHzと書いてあります。
何か、関係ありますか?

↓4BITモード設定するための手順が書かれているので使わせていただきました。
 よろしければ参考に。これを書いている方も同じLCDを使っていました。
http://amahime.main.jp/lcd/main.php?name=lcd
67774ワット発電中さん:2011/08/18(木) 03:03:53.25 ID:IZRxDQ/x
>66
LCDはめんどいよね。
どの段階までは出来てるの?
1列目■、二列目空白で埋まってる通電状態は表示されてる?
コレすら出てないなら、電源の極性間違いかコントラスト端子の間違い。
68一応大学生:2011/08/18(木) 03:20:46.80 ID:dSC8kdhu
>>67
一列目は何もなってないです!
ああ、今までレスくれた人ごめんなさい。
69774ワット発電中さん:2011/08/18(木) 03:23:52.80 ID:UrH+TFSx
おまえら高度な話するなよ(´・ω・`)
70774ワット発電中さん:2011/08/18(木) 03:29:45.34 ID:Z+8/d5+J
>>68
手書きでいいから、回路図をup loadできない?
71一応大学生:2011/08/18(木) 03:33:27.36 ID:dSC8kdhu
やってみます。
ただ、画像ってどうやってアップロードするんですか?
72774ワット発電中さん:2011/08/18(木) 03:33:34.53 ID:IZRxDQ/x
1列目■はSC1602とか2004の話なのでもしかしたら動作違うかも。
多分互換だろうと思うけど。
73一応大学生:2011/08/18(木) 03:52:04.47 ID:dSC8kdhu
>>72
コントローラーICはKS0066です。
種類は、AZdispley社のACM0802C-NLW-BBHです。
74一応大学生:2011/08/18(木) 03:58:45.02 ID:dSC8kdhu
>>70
>>72
すいません。今日はもう寝かせていただきます。
ありがとうございました。
よろしければ、また明日来るのでレス頂けるとありがたいです。
回路図ですが、自分のレンタルサーバーに画像をアップロードして、
URL貼っておきます。
7530:2011/08/18(木) 07:23:30.21 ID:TgClva7I
おはようございます。
>>70

ひとつ聞いていいですか?

↓LCDモジュールとPIC16F88との回路図です。

http://chibayacht.web.fc2.com/gazo.html
76774ワット発電中さん:2011/08/18(木) 07:38:34.44 ID:IZRxDQ/x
>75
配線は一応OK。
なんだけどこんなピン配置でD4〜D7間違わない?
77774ワット発電中さん:2011/08/18(木) 07:58:18.99 ID:JXblIgVj
>>76
配線で楽をするとプログラムで苦労する事になる。それだけかな。
78774ワット発電中さん:2011/08/18(木) 08:08:38.85 ID:fdRKEJMn
ある意味器用だよね
ピン名称にdefineしちゃえば迷わないだろうけど、
出来ればRB4-7とか対応している方が脳内は楽かも

私も同じくsdccで遊んでいるけど特に問題ないからがんがれ!
79774ワット発電中さん:2011/08/18(木) 08:21:32.04 ID:wc26wNhU
>>75
VO(LCD contrast adjust)
データシート見れば可変抵抗にてVCCとVSSにつなげている

可変抵抗ないならばVOはVSS(GND)をつなげる
■■■■■■■■
□□□□□□□□(67氏のコメント通りこんな画面が出てくる
実際はコントラストによりかなり見づらいです
80774ワット発電中さん:2011/08/18(木) 08:40:47.73 ID:kchScx5q
白抜きは液晶ド初心者には敷居が高い
ドボジテタダノ1602ニジナカッタンディス!
81774ワット発電中さん:2011/08/18(木) 11:48:29.54 ID:r7w3yr3M
>>58
プルアップじゃなくて、どっかのポートから繋げばいいじゃん。
読むときだけ、Hを出力。マトリックスのスキャンと同じ。
82774ワット発電中さん:2011/08/18(木) 12:25:06.99 ID:0ZQ0Pt/k
通りすがりだが

>>61
スイッチがオープンした際 GPIO ピン部にどこから電荷が溜まってくるのか判らない

>>81
ポートの状態変化で sleep 状態から wake up して消費電力を抑えたいという要件を満たせない

83774ワット発電中さん:2011/08/18(木) 12:30:07.19 ID:wc26wNhU
>>30
16f88と白色抜き8×2行LCDあったので
75の回路図(VOはGNDに落とした)で動くプログラム作ってみた

ttp://www1.axfc.net/uploader/Sc/so/266503
pic

hexファイルのみ
これで動けば回路は問題ないということ
がんがれ!
8483:2011/08/18(木) 12:37:50.46 ID:wc26wNhU
>>30
>>83

言い忘れたが使用の際は自己責任でお願いします
8530:2011/08/18(木) 17:27:56.75 ID:TgClva7I


>>83
ありがとうございます。やってみます!!
8630:2011/08/18(木) 17:35:47.40 ID:TgClva7I
>>83
すいません。ZIPファイルをダウンロードしようとしたのですが、
キーワードが分かりません。
教えていただけますか?
87774ワット発電中さん:2011/08/18(木) 18:11:17.44 ID:MBpETLdZ
>>86
83じゃないけど良く見りゃ書いてあんじゃね。
88774ワット発電中さん:2011/08/18(木) 18:15:47.33 ID:kchScx5q
これは、まれによく見るアレなのかもしれない
本人を舞えにしてはとてもかけないが
89774ワット発電中さん:2011/08/18(木) 18:24:25.66 ID:UrH+TFSx
>>86
ググるくらいの努力はしような2ちゃん初心者
90774ワット発電中さん:2011/08/18(木) 18:37:03.77 ID:lefQx/bY
ファイル添付できない2チャンは根本的に不便だよな。
91774ワット発電中さん:2011/08/18(木) 18:42:04.14 ID:kchScx5q
どうしてもやりたきゃuuencodeとかあるけど
怒るキチガイがいるかもなw
昔はISH連投とか普通だったけどなあ
へっくすぐらいならいいんじゃね?とは思うが
9230:2011/08/18(木) 19:27:42.93 ID:TgClva7I
>>89
ファイルがアップロードされたサイトに、アップロードした人に
キーワードを教えてもらって、
ダウンロードすると書いてあったので、
86さんに聞いていますので、あしからず。
93774ワット発電中さん:2011/08/18(木) 19:41:20.05 ID:q3+0tJe2
URL の次の行の pic がキーワードだと思う。
確かに全くわからない相手には説明不足ではあるな。
9430:2011/08/18(木) 19:56:45.61 ID:TgClva7I
お騒がせしました。
93さんの言うとおり pic がキーワードでした。
95ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY :2011/08/18(木) 19:59:08.24 ID:UXsVVw6z
>■■■■■■■■
>□□□□□□□□
>白抜きは液晶ド初心者には敷居が高い

思いっきりフイタ  ( 笑

これだからPIC厨はw
ほかの石のスレだったらkawanaと同列に扱われておしまいの筈なのにw

まぁdsPICや32MXのDMA、QVGAライブラリ扱うぐらいだったら、こんなところで訊くことはないだろうけど。
96一応大学生:2011/08/18(木) 21:07:03.37 ID:dSC8kdhu
>>83
ダウンロードして、PICに書き込んで実行しましたが、
なんのはんのうもありませんでした。
接続の不具合などがあるかもしれないので、
しらべてみます。
97774ワット発電中さん:2011/08/18(木) 22:26:07.79 ID:IZRxDQ/x
>66と>75で

LCDの+5VとGNDのピンの順番が逆だけど?
9875:2011/08/18(木) 23:39:03.21 ID:dSC8kdhu
>>97
確かに。失礼しました。絵が間違ってました。
しかし、picやlcdのpinの接続については、
データシートなどで確認しながら接続しましたので、
間違ってはないはずです。
絵のpinの位置はめちゃくちゃですが、
言葉は間違ってはないです。
99774ワット発電中さん:2011/08/18(木) 23:58:45.00 ID:YfbWjzoc
>>98
なんだこいつw
100774ワット発電中さん:2011/08/19(金) 00:14:07.96 ID:+5fzz3nr
ハズ,ダロウは甘い悪魔の囁きだよ
事故のうちほとんどの人的要因がそのキーワード
101774ワット発電中さん:2011/08/19(金) 00:17:48.10 ID:T8Jm0e/w
>>98
配線が判る写真をうp汁
102774ワット発電中さん:2011/08/19(金) 00:19:20.33 ID:lHAihuRX
タイムアウトのやつなんですが、思い描いているようになりません。1回受信後からタイムアウトカウントします。
おかしいとこありませんか?

RCV ;受信
;if 処理フラグがたっていたら
CALL ISTIMEOUT ;タイムアウト判定処理

BTFSS PIR1,RCIF ;受信レジスタチェック
GOTO RCV

CLRF TIMEOUTCNT ;タイムアウトカウンタリセット
;処理 処理開始フラグをたてる
.
.

ISTIMEOUT ;タイムアウト判定処理
;if タイムアウトカウンタが0なら
CALL TIMERSET

BITFSS INTCON,TOIF
GOTO SKIP
MOVLW 1
GOTO NEXT

SKIP NOP
NOP
MOVLW 0

NEXT ADDWF TIMEOUT,F
;処理 タイムアウトカウンタが100ならタイムアウトでLCDに文字表示してMAINに戻る

RETURN

TIMERSET ;バンク1にして
MOVLW 087H
MOVWF OPTION_REG
;バンク0にもどす
MOVLW 09BH
MOVWF TMR0
RETURN

103774ワット発電中さん:2011/08/19(金) 00:50:47.88 ID:LCzqa/sj
>>102
「思い描いている」挙動や使っているPICの型番を説明しているレス番を挙げてもらえないだろうか。
BITFSS命令とかTOIFビットとかって、存在するの?
10456:2011/08/19(金) 00:53:39.89 ID:2WMuhWPG
>102
コメントなのか省略なのかわからないし、これは割込み処理じゃなくてメインルーチン?
さらに割込みは未使用…?
ちゃんとした(全部)のをどこかのサイトに上げないと判断できないよ。
まあ 気になるのはINTCONのT0IFをクリアしていないから1度TMR0がオーバーフロー
したら一気にいきそうだなって位
10598:2011/08/19(金) 01:21:45.01 ID:qnbL1Y9r
>>101

よろしくお願いします。
↓配線の画像6枚です。
http://chibayacht.web.fc2.com/gazo.html
106774ワット発電中さん:2011/08/19(金) 01:36:35.44 ID:8xpyGIaP
んで?
>67の表示は出たの?
出てなきゃ配線間違い。
というか各部の電圧テスターで見るくらいはやったの?

駄目でした出来ませんでしたばっかりで具体的に何をやってどこまでできたのか
報告がないんだよね。だからこちらも指示が出しづらい。


いっそ今の基板捨てて1から作りなおしたほうがいいかもね。
配線は大丈夫なはずだ、ていう思い込みってなかなか取れないもんだから。
107774ワット発電中さん:2011/08/19(金) 02:07:40.90 ID:7n5X6E+9
>>105
RA6 RA7から、出力が出ていることを確認した?
今一度、全部のピンが、ちゃんとLCDまで届いているか、確認をしてみて。
以下のような簡単なプログラムを作って、LCDをソケットから抜いて、
そのソケットにLEDかテスターをつないで、点滅 or 電圧↑↓を確認します。

while(1){                 // RA0の出力を0.5secでon/off
  a_port = 0b00000000; delay_ms(500);
  a_port = 0b00000001; delay_ms(500);
}

これを、必要なピン全部に対して1回1回行う。全部で7回?かな
108774ワット発電中さん:2011/08/19(金) 02:48:17.40 ID:TohjPwZp
2SC1815と2SA1015どちらも同じ機能を実現できる場合
どっちがいいですか?
コストは同じだし、手持ちが偏ってるときはそちらを使うようにしてるが。

近くでYとGRが混在するとマズいですか?
109774ワット発電中さん:2011/08/19(金) 03:03:23.08 ID:8xpyGIaP
>108
どっちでもいい時はどっちでもいい。
110774ワット発電中さん:2011/08/19(金) 03:05:47.11 ID:sUwXYtWq
近くって?

アナログ動作でペアで動作させるなら、できることなら合わせたい回路とかもあるが。
111774ワット発電中さん:2011/08/19(金) 03:06:48.97 ID:sUwXYtWq
てか、ここPICスレがないか。
続けるならどこか適当なスレで改めて質問したほうがいいと思う。
112774ワット発電中さん:2011/08/19(金) 03:08:26.68 ID:1IRMfqj+
>>105
とりあえずPIC差さない状態で
こんな表示になるか
ttp://www.dotup.org/uploda/www.dotup.org1920491.jpg

83のプログラムでこんなふうになるか
ttp://www.dotup.org/uploda/www.dotup.org1920495.jpg

もういちど配線を確認
またLCD PICは壊れていないか
あとPICにきちんと書き込まれていますか?

一つ一つ片付けていきましょう
113774ワット発電中さん:2011/08/19(金) 03:08:38.15 ID:pmMKwSM8
NPNを使いたい場面のほうが多いけど、俺はコンプリは同じ数買っちゃうから、どちらでも使える場合は余らせがちなPNPを使うかな。
NPNを使いたい場面が多いからとNPNを多めに買ってる人なら、NPNを使うのがいいんじゃないか。
要は在庫見て決める。

YとGRどちらでも正常に動作する回路で、特性が揃っている必要すらないならhFE混在も問題ない。
114774ワット発電中さん:2011/08/19(金) 03:08:38.63 ID:myhHZODc
>>108
設計にかなうなら好きな方を使えば良い。
同じランクの物を使っても設計・実装が悪ければ当然問題が起きる。

そもそも、回路図や仕様を知らせずに、
アナログ部の質問をする事自体が無茶。
11575:2011/08/19(金) 03:38:34.11 ID:V9biaMq5
>>106
一列目の■表示は、出てません。
報告については、すいませんでした。レス頂いた直後に確認してレスしたのですが、
もっと、分かりやすいように書きます。
今のところでは、105の写真のように半田付けした時点と考えていただいた方がいいかもしれません。。
確認したのは、picに+5VがかかっていることとLCDにもVcc-Vss間で5Vかかっていることです。

>いっそ今の基板捨てて1から作りなおしたほうがいいかもね。
配線は大丈夫なはずだ、ていう思い込みってなかなか取れないもんだから。

なるほど。基盤とかは、ただ半田でくっ付けとけばいいなんて思ってましたが、
そんな甘いもんじゃないんすね。気を付けます。

一列目に出るはずの■ですが、VccとVssに5Vかかっている時点でLCDに表示されるのですか?

>>107
現状は、上記したような状況です。
LEDが手元にないので、代用できるものがないのか探して、
確認してみます。

皆さんへ

初めて電子工作をするので、至らない部分が多々あり、大変失礼いたします。
初心者なりにでも頑張りますのでよろしくお願いします。
11675:2011/08/19(金) 04:36:53.55 ID:V9biaMq5
>>112
ありがとうございます!頑張ります。
117774ワット発電中さん:2011/08/19(金) 04:58:30.75 ID:1IRMfqj+
>>105
の配線見て
電源なに使っている?
電源スイッチ後に可変抵抗がついているのが見えるが何したいの?

画像荒くて推測だが
コントラスト調整用の可変抵抗の両方ともVDDがついているように見える
LCDのGNDとRSのどちらかが未接続?
(■見えなくても電源入れれば光りますか?<LCD)

書籍買ってLEDチカチカから始めることをすすめる
118105:2011/08/19(金) 06:00:39.09 ID:V9biaMq5
>>117
電源は単3電池を直列で4本使っていて合計6Vになってしまうので、
半固定抵抗で5Vに分圧しています。

>コントラスト調整用の可変抵抗の両方ともVDDがついているように見える
LCDのGNDとRSのどちらかが未接続?

見辛いかもしれませんが、モジュール側に直接ボリュームを
つけられなかったので、
複雑ですがボリュームを基板につけて
Voに接続しています。RS,LCDのGND共についています。


>(■見えなくても電源入れれば光りますか?<LCD)
バックライトはつきますが、LCDはつかないです。
119774ワット発電中さん:2011/08/19(金) 06:17:05.78 ID:T8Jm0e/w
>>118
> 電源は単3電池を直列で4本使っていて合計6Vになってしまうので、
3本の4.5Vでもいいと思うけど?
でも、三端子レギュレータを付けるのが吉。

さて、

1. パスコン付けてないだろ? 回路設計からやり直せ。その前に、電源の重要性を学べ。
2. 基板上のピン-ピン間の配線は、(なんだっけ?)ニッケル線?でするもんだよ。
3. 初心者はICソケットのピンから、直接リード線を引っ張りだすな。ニッケル線で間隔を取ってから接続しろ。恐らくショートしている。

こんなもんだけど、半田付けは止めて、ブレッドボード上でしたほうが良くないか?
120102:2011/08/19(金) 06:35:47.81 ID:lHAihuRX
行数の関係で、わかりずらくしてすいません。まさしく、すぐにタイムアウトになることでした。説明不足ですいません。
TMR0の使い方がいまいちわかってないんですが、カウンタ加算前で、T0IFクリアすれば良いんでしょうか?TMR0に再セットはしなくてもよい?クリアだけ?
121105:2011/08/19(金) 06:56:40.44 ID:V9biaMq5
>>119
いろいろ、詳しくありがとうございます。
もう一度考え直してみます。
122774ワット発電中さん:2011/08/19(金) 08:52:09.55 ID:pmMKwSM8
>>118
半固定抵抗で分圧って…
負荷で電圧変わるから無理だろ

回路も酷ければ実装も酷いな
やり直し
123774ワット発電中さん:2011/08/19(金) 11:44:23.47 ID:7n5X6E+9
>>120

× わかりずらく
○ わかりづらく ( わかり + つらい = わかりづらい )
124774ワット発電中さん:2011/08/19(金) 11:46:45.37 ID:7n5X6E+9
>>119
ニッケル線って何? 
初心者 と 使用する電源の種類 とは、相関関係はないよ。

ブレッドボードは、さらに状況を悪化させる に、100pic
125774ワット発電中さん:2011/08/19(金) 11:52:49.02 ID:7n5X6E+9
>>115
>LEDが手元にないので、
テスターもLEDも無しでやってるの?
ということは、
部品集め → 基板にハンダ付 → 配線 → PIC書き込んで差し込んで → 電源on
そして今に至る ということですか?

電圧が来ているか(何V来ているか)観測できるような物を用意して。←工作には必要
・ホーセンターでいいからテスタ買ってくる
・最悪は「330Ω抵抗+LED」でもいい。
126774ワット発電中さん:2011/08/19(金) 11:55:25.91 ID:7n5X6E+9
>>115
>LEDが手元にないので、
なのに
>半固定抵抗で5Vに分圧しています。
ということは、電圧を測る手段があるということ?
だったら>>107の確認してよ。
話はそれからだよ。
でないと、一生文字は出ないよ。
127115:2011/08/19(金) 13:29:09.09 ID:V9biaMq5
>>125
現状としては大体そのくらいです。
PICとLCDに5Vずつかかっているのを確認してます。

ちゃんとしたテスターではないですが、
簡単な電圧計、電流計はあります。
昔買った、学研の電子ブロックです。
付属の回路集に40V電圧計などあります。

>>126
はい。
上記したもので計りながら5Vになるようにしました。
すいません。早速確認してみます。
128774ワット発電中さん:2011/08/19(金) 13:58:37.14 ID:HOztVIwm
>>127
テスタ買って電圧だけじゃなくて導通もチェックしろ。
129774ワット発電中さん:2011/08/19(金) 14:02:23.66 ID:7n5X6E+9
>>127
1000円くらいでホームセンターで買えるので、ぜひ買ってください。

とにかく、>>107により、
「PICからの電圧が、LCDの期待するピンに出ているか」を
全部調べてください。
確認するときに重要なのは、
・プログラムは、1つのピンだけ↑↓して、他のピンは全て常時Low(0V)にすること。
 これをピン数の分繰り返す。一度に多ピンを変化させないで、1品ごとに行う。焦らずに。
・↑↓動作がテスターでもわかるように、時間は1secくらいでチカチカさせること。
 チカチカが速すぎると、テスターでは応答できず、正しい値を表示しない。
・PICのピンの↑↓を出力信号が、目的のピンに、5V←→0Vで届いていることを確認するだけでなく、
 PICのピンのLowを出しているピンの接続先には、↑↓信号が来ずに、電圧が常時0Vになっていることも確認。
 2.5Vとか0Vと5V以外の電圧が出ているところがあるかも知れないので、電圧をしっかり読む。←これ重要。

それが全部正しくなったら、ハードウェアの接続はOKということで、
工作のうまい/へた、ニッケル線?の使用有無は関係なくなります。
そうすれば、あとはソフトのバグに集中できます。

もし、可能なら、LCDへのデータ線は「続いたポート番号」に変更します。
例えば、RA0,1,2,3 とか。
また、RA6, RA7は、水週発振子を付ける特殊なペンなので、
設定をちゃんとしないと、出力されません。
よく確認してください。
130108:2011/08/19(金) 15:35:11.65 ID:y/n1vifF
2SC1815はベースに6mA 0.5Vで150mA流せて
2SA1015はベースに2mA 0.5Vで150mA流せるので
若干省エネだっていう意見はないんですか
131774ワット発電中さん:2011/08/19(金) 15:55:24.35 ID:pj7cktpk
スニカエレ!!
132774ワット発電中さん:2011/08/19(金) 17:08:20.54 ID:CLZYHdXL
おまえら親切だなw
133774ワット発電中さん:2011/08/19(金) 18:09:35.71 ID:1IRMfqj+
>>127
ひとこと

PICライタ何使っていますか
たとえば秋月製のですか
pickitならコネクタは大丈夫ですか
自作ライタですか
(mclr pgc pgdの端子知ってる?)
そのライタで実績はありますか
(pic16f88での書き込み実績です)
それは本当に自分で書き込みましたか

他者に自信を持って疑問を聞くことができるように
精進してください
13456:2011/08/19(金) 18:25:24.51 ID:2WMuhWPG
>120
その辺はデータシートなり後閑さんのHPみて勉強してくれ。
これを機会に割込み処理を覚えればプログラムもスッキリにできる
それとMPLAB IDEにSIM機能がついているので、それを使えば
各レジスタやフラグがどういう動きしているか理解できると思う
USARTの入出力のシミュレーションもあるので
ttp://www.picfun.com/mplab/V730/mplab316.html
これを使えばPC上でデバッグできる
135774ワット発電中さん:2011/08/19(金) 18:46:25.53 ID:8xpyGIaP
>133
いや、もっと根本的に

>127
今までにPICを動かしたことはありますか?
136774ワット発電中さん:2011/08/19(金) 18:54:32.49 ID:HCKOYiny
>>124
> ニッケル線って何? 
錫メッキ線かな。しばらく使って無いので名前を忘れた(汗
懐かしいな、万能基板上にいろんな物を作って遊んだっけ。

> ブレッドボードは、さらに状況を悪化させる に、100pic
写真見て、あの出来映えなら半田付け不要なブレッドボードがいいと思ったんだ。
一応大学生氏は、周囲に半田付けが得意な人がいないんだろうね。
その手の電子機器会社でバイトするといいかも。
137774ワット発電中さん:2011/08/19(金) 20:18:22.83 ID:pmMKwSM8
>>130
ん?それYとGRで比べてるんじゃないの?
C1815のGR使えば良いじゃん。
138774ワット発電中さん:2011/08/19(金) 23:34:44.33 ID:HDPQaDqC
大は小を兼ねる
139774ワット発電中さん:2011/08/19(金) 23:47:40.07 ID:ha7IyGYi
hFEに依存する設計をしてはいけない
140774ワット発電中さん:2011/08/20(土) 00:00:06.61 ID:LMNBjNpr
コンプメンタリは使うなとでも?
141774ワット発電中さん:2011/08/20(土) 00:07:36.27 ID:DjTcKEVl
PCとデータのやり取りする場合
RC232C(EIA-574?)とUSBどちらのほうが初心者向けでしょうか?
142774ワット発電中さん:2011/08/20(土) 00:10:38.35 ID:1+RILfBh
フィードバック掛ければ一緒しょ
143774ワット発電中さん:2011/08/20(土) 00:25:38.27 ID:wajSquKN
>141
232C
14447:2011/08/20(土) 01:35:30.94 ID:ucH5kxH8
Sleep中のGPIO変化割り込みにプルアップ抵抗を使いたくない件の
自分なりのまとめです。

数cmの電線をアンテナ替わりに誘導ノイズの変化を検出する方法を
実際に試して見ましたが、条件によってはノイズをほとんど拾って
くれませんでした。
仮に誘導ノイズを確実に拾うように電線を長くしても、商用電源の
周波数で割り込みが入るので、Sleepの復帰に使う用途には向かないと
思われます。

次にコンデンサでプルアップ抵抗からの直流成分をカットして、
スイッチ(センサ)の変化時だけ電流を流す方法ですが、よく考えたら
「電流が流れない」のだから「プルアップ抵抗が付いていない」のと
同じでノイズに弱そうですが、どうでしょう?

結局、高抵抗でプルアップし、必要ならWakeup後にソフトでノイズを
除去する方法が一番良さそうという結論になりました。

>>64
>容量が 150mAH として計算上17年間持つわけだか不足かな?
CR927リチウム電池(公称30mAh)を使うつもりだったので、Sleep時の
消費電力は多くてもその数分の1の数mAh程度で考えていました。

皆さん、色々なアイデアをありがとう & 長文失礼しました。
145127:2011/08/20(土) 02:16:37.44 ID:YelSSyKt
>>129
詳しい指示、ありがとうございます。
明日、テスターを探してみます。

>>133
ライタは秋月のものです。コネクタも一緒に買いました。
PICは学校の授業で動かしたことがあります。
授業中は教員のライタを使いましたが、書き込みは自分でやりました。


>>135
上記したように、動かしたことはあります。

>>136
そういうバイトもあるんですか。
ブレッドボードに関しては今回、LCD以外にもやりたいこともあり
ちょっと経済的なこともあるので、今回はやめておきます。
146774ワット発電中さん:2011/08/20(土) 02:29:38.13 ID:wajSquKN
>145
あ、まだやってたんだ
とりあえず一手ずつ、やる事を混ぜずに進めなさい。何が悪いのか今だに切り分けが出来てないでしょ?

・LCDの配線確認 : PICをソケットから抜き、LCDに電源投入。コントラストボリュームを調整して 1行目■の表示が出るか確認

これが出来なきゃそれ以降進めても無駄だから。
147774ワット発電中さん:2011/08/20(土) 02:32:55.51 ID:6ifBky6M
>>47
> 数cmの電線をアンテナ替わりに誘導ノイズの変化を検出する方法を
> 実際に試して見ましたが、条件によってはノイズをほとんど拾って
> くれませんでした。
だから 30cm くらいと書いたわけだが。
ご所望の省電力目的に不適格なことについては同意。

> 「電流が流れない」のだから「プルアップ抵抗が付いていない」のと
> 同じでノイズに弱そうですが、どうでしょう?
コンデンサが交流ノイズを吸収するのでコンデンサが無いよりノイズ
に強い筈だが、コンデンサが直流を流さないのでセンサの変化を検出
できないのではないのかな?実際にやってみて結果教えて?
148774ワット発電中さん:2011/08/20(土) 03:08:23.10 ID:CM6UyJTQ
>>144
ノイズ上等で、超高抵抗でプルアップしたものでWakeUpするようにしておいて
WakeUpした後でPIC内蔵のweak pull-uをONにして値を読み直すというのはどうだろう
あんまりノイズが多いようだったら頻繁にWakeUpするから、その辺の匙加減が難しそうだが
149774ワット発電中さん:2011/08/20(土) 07:55:49.41 ID:46N5zQjZ
>>112
スネークマンショーとかなついわ
150774ワット発電中さん:2011/08/20(土) 09:04:09.39 ID:zhpFyq3F
こなさん みんばんは
151112:2011/08/20(土) 12:48:05.38 ID:bXqAzgRk
>>149
>>150
ツッコミさんくす

これが元ネタ
ttp://www.youtube.com/watch?v=LLnhRjo79ng
ttp://www.youtube.com/watch?v=Y-kzoJq2_BM
スレチ失礼
152774ワット発電中さん:2011/08/20(土) 12:48:08.35 ID:w16pdbK3
こわら たうたろう です
153774ワット発電中さん:2011/08/20(土) 13:05:00.83 ID:v/sYRcSY
>>149
>とかなついわ
って、どういう意味? 日本語かな?
お馬鹿さんの使う「変な省略語」じゃないよね、きっと。
154774ワット発電中さん:2011/08/20(土) 13:07:38.11 ID:/YbkupuA
>>153
揚げ足取ろうとして滑ってんじゃん。ださ
155774ワット発電中さん:2011/08/20(土) 13:07:42.20 ID:JlJOxUBi
みついわ
156774ワット発電中さん:2011/08/20(土) 16:55:13.65 ID:T8RV5y98
今日は雨なので
すずい
157774ワット発電中さん:2011/08/20(土) 18:24:51.50 ID:Hsk6JWU1
冬の水に指を入れると
爪が痛い
158774ワット発電中さん:2011/08/20(土) 18:46:01.11 ID:FM9TWtFv
>>153は態度が悪いけど、おれ教えちゃうぞ。懐かしい、だよ。
159774ワット発電中さん:2011/08/20(土) 19:06:16.54 ID:2I872B5P
いや、>>153はそれよりまず区切りが分かってないんじゃなかろうか。
160774ワット発電中さん:2011/08/20(土) 19:17:10.53 ID:v/sYRcSY
>>158
ありがとう。
>スネークマンショーとかなついわ  → 〜とか、懐かしいわ
ですか。ありがとうございました。

でもなんで、
1. なつい と、ひらがななんでしょうか?
2. 懐い とは書かないんでしょうか?
3. 懐かしい→ なつい ←懐かしくない と、
   どちらにも受け取れますが、どうして「懐かしい」なのでしょうか?
もし時間があったら、教えてください。

161ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY :2011/08/20(土) 19:57:19.04 ID:wQf7X9wt
>>157
爪が痛くて効率落ちたなら、迷わず皮膚科に行くといいよ。

電電板なのに、PIC関係ない話題になったな。
16247:2011/08/20(土) 20:07:22.41 ID:ucH5kxH8
>>147
>コンデンサが交流ノイズを吸収するのでコンデンサが無いよりノイズ
>に強い筈だが、コンデンサが直流を流さないのでセンサの変化を検出
>できないのではないのかな?実際にやってみて結果教えて?
あ、そうか。
直流は通さなくても、交流成分はコンデンサを通してGNDに流れるから、
ノイズに弱い訳ではないですね。

で、>>61の回路を>>82を踏まえて考察してみると…
SWがONするとVcc側のコンデンサ(仮にC1と呼ぶ)は充電されて、GND側の
コンデンサは放電状態になる。
そこでSWがOFFしてもC1は充電済みで電流が流れないので、GPIOはLOの
ままで変化しない。
と言うことですね?


>>148
>WakeUpした後でPIC内蔵のweak pull-uをONにして値を読み直す
これは名案ですね。
特に部品点数が増えないところが良いです。
163774ワット発電中さん:2011/08/20(土) 20:13:15.00 ID:2I872B5P
>>160
おまえは「うざい」を「うざったい」といちいち言うのかと
「うざい」ときいて「うざったくない」と間違うのかと
164774ワット発電中さん:2011/08/20(土) 20:18:47.00 ID:v/sYRcSY
>>163
それは、どちらにも受け取れますし、もちろん「うざったい」と言いますよ。
うざい、きもい、きしょい、なつい、むずい 等や、変な省略語を使う人は
「私はお馬鹿さんです」と言っているのと同じですので、社員には使わせないようにしています。
165774ワット発電中さん:2011/08/20(土) 20:35:28.59 ID:Ozn5Q4Sc
スレチ
166774ワット発電中さん:2011/08/20(土) 20:38:11.58 ID:2I872B5P
そのまえに、なんか昔にこういうやりとりをどっかでたった気がするなあ。そんときはどう決着したっけな?

どちらとも取れる…
とりあえず「ない」の否定形と、それ以前の形容をくっつけて略すって、略としておかしい気はするが。
万国博覧会→万国+博覧会=万博、うざったい→うざった+い=うざい、であるから、うざったくない→うざった+くない…「うざくな」?
ああ、「うざくね?」ってこの形式の略だな。
というわけで、否定形の「ない」を略したものが「い」だけだと思うあなたがおかしい。

さて…社員が「うざったい」という状態ってどんなだ。

167774ワット発電中さん:2011/08/20(土) 20:54:10.27 ID:v/sYRcSY
>>166
おいおい、
>うざったくない
「うざくない」の立場はどうなるんだ?

>「うざくな」?
はぁ??

おっと、コンパイルか終わったようだ。
168774ワット発電中さん:2011/08/20(土) 21:02:59.29 ID:2I872B5P
「うざく+ない」だろう?ああつられたのか。なるほど。
169774ワット発電中さん:2011/08/20(土) 21:04:15.56 ID:2I872B5P
おっと、切れ目がおかしい。 まあいいや。
170774ワット発電中さん:2011/08/20(土) 21:09:31.68 ID:v/sYRcSY
>>168
だろ?
うざったい→うざい
うざくない→うざい どっちも同じになる。

だからやめようよ、そういうアホな言い方。
171774ワット発電中さん:2011/08/20(土) 21:24:04.49 ID:p4uxok5e
PICのアセンブラ覚えるのにいいホームページあったらお背しえてください
172774ワット発電中さん:2011/08/20(土) 21:32:10.14 ID:2I872B5P
>>170
なあ、
>うざくない→うざい
「うざった+くない」の略が「うざ+くない」なのに、なんでさらに「うざい」って略すんだ?
173774ワット発電中さん:2011/08/20(土) 21:34:45.26 ID:LJPduh4P
このスレに一体なにがあったw
174774ワット発電中さん:2011/08/20(土) 21:45:57.55 ID:w16pdbK3
>>173
いつもの事だ
薬が切れて暴れているだけ

その内収まる
175774ワット発電中さん:2011/08/20(土) 21:47:43.53 ID:trVT1bHf
略語に否定が含まれているパターンは普通考えないでしょ

万国でない+博覧会=万博

なんていう馬鹿は居ない
176774ワット発電中さん:2011/08/20(土) 22:12:55.03 ID:0BMdg4/K
え?何?
・・・・あ、夏休みか
177774ワット発電中さん:2011/08/20(土) 23:06:29.82 ID:FM9TWtFv
でも笑ったw
>>164も分かってて言ってるっぽいし。
もしあれがマジレスだとしたら「周りを見よう」「長い藻のには巻かれろ」と言いたい。
178774ワット発電中さん:2011/08/20(土) 23:40:40.81 ID:v/sYRcSY

だからやめようよ、そういうアホな省略言葉。
お馬鹿さんに見える
179774ワット発電中さん:2011/08/20(土) 23:55:24.19 ID:p4uxok5e
だれかPICアセンブラを勉強するのに良いホームページおせーて
180774ワット発電中さん:2011/08/21(日) 00:08:57.05 ID:25uYht26
>>179
電子工作の実験室
http://www.picfun.com/
181774ワット発電中さん:2011/08/21(日) 00:09:04.56 ID:9KT9j1Jy
そんなもの勉強しても何の役にも立たないぞ
182774ワット発電中さん:2011/08/21(日) 02:56:40.54 ID:M5kaHW/w
183774ワット発電中さん:2011/08/21(日) 06:05:14.77 ID:nv2dNvd2
>>181
なんで人の趣味にケチつけるかねぇ?
184774ワット発電中さん:2011/08/21(日) 06:47:55.54 ID:9KT9j1Jy
勉強すること自体が趣味なら、他人をあてにしないで自力でこつこつ努力しろよ
185774ワット発電中さん:2011/08/21(日) 06:55:56.85 ID:RQIpBONL
>>183
ニーモニック表があれば書けるアセンブラは、勉強するもんではない。
186774ワット発電中さん:2011/08/21(日) 07:26:30.68 ID:nv2dNvd2
187774ワット発電中さん:2011/08/21(日) 08:55:01.81 ID:B6dBr1Q2
ニーモニック表があれば書ける?
そんなわけないだろ。
188774ワット発電中さん:2011/08/21(日) 09:19:22.98 ID:cKsCLI1v
質問形式で書き込めばすぐに「人をあてに」とか、
この手の趣味は多くはないから身近な人と話題を共有するってことができない場合もあるだろう。
ちょっと前にかなり失礼な書込みをするアセンブラ使いがいてイメージが悪くなったところはあるけど
Cとアセンブラ、うまく使い分けられればアセンブラも有益なのだから。
189774ワット発電中さん:2011/08/21(日) 09:49:17.89 ID:r/HKV+pK
>>188
> ちょっと前にかなり失礼な書込みをするアセンブラ使い
居たな。

> Cとアセンブラ、うまく使い分け
同意する。
が、それ以前にPICを選択したのが間違い。
速度が必要なら、Cに適したMCUを使うのが正攻法。
190774ワット発電中さん:2011/08/21(日) 10:07:20.92 ID:l5WpSpOQ
連枝使っとけ
191774ワット発電中さん:2011/08/21(日) 10:19:09.03 ID:c1GdwgFY
ま、実際には他のCPUでもたいして早くないしすぐに部品や会社がディスコンするようなチップじゃ
保守も出来ないからPICで十分なんだがな。
192774ワット発電中さん:2011/08/21(日) 16:09:56.35 ID:bmNZQJPo
>>189
> Cに適したMCU

PIC24F以上ってそうじゃないの?
193774ワット発電中さん:2011/08/21(日) 16:16:38.10 ID:bmNZQJPo
>>160
略語が気に触って仕方が無いのはアスペの傾向の一つらしい。
194774ワット発電中さん:2011/08/21(日) 16:20:35.55 ID:RH+1eO95
>>193
アスペって何?
アスペクト?
195774ワット発電中さん:2011/08/21(日) 16:23:57.03 ID:bmNZQJPo
>>194
そうそう
196774ワット発電中さん:2011/08/21(日) 18:28:34.75 ID:EAwA1NNs
「冷たい」の語源は
「爪痛し」の略語
言葉という物は日々進化(劣化)するもの
たとえば現在の「こだわる」という使い方は昔とは違う意味になっています

なわけで
MPLAB Xを自分自身の進化のためにインストールしたが
日本語ファイル読み込むと文字化する
エンコード設定はどこでしょうか???
これを劣化と言ふ・・・違うか
197774ワット発電中さん:2011/08/21(日) 20:10:09.58 ID:STQAzelT
>>196
退化じゃね?
198774ワット発電中さん:2011/08/21(日) 20:53:23.12 ID:Xu7eg77U
エンコードってかフォントじゃなかろか。
199774ワット発電中さん:2011/08/21(日) 20:58:27.83 ID:9KT9j1Jy
>>196
その場合の爪は、「先端」という意味だけどな
200774ワット発電中さん:2011/08/21(日) 21:04:39.29 ID:as1xy2Le
前スレのRGBLEDアレイのネタを8MHzの○VRで検証してみた
http://akizukidenshi.com/catalog/g/gI-04761/
これの30LEDを50KHz割り込みで8bitソフトPWM制御するコードを
C言語で書いてみたが、やっぱ余裕だったよ
エンコの具合だろうけど、上がってる動画よりもなめらかに見える
ちなみに検証はLEDが届いて数時間で終わった

結局C言語どうこうじゃなくてPICのCがダメなんだと思うよ
201774ワット発電中さん:2011/08/21(日) 21:29:46.66 ID:lBJCFV5a
>>200
PICがダメじゃなくて、PIC18,PIC16がだめなだけ。
PIC24,dsPIC,PIC32なら楽勝っしょ。
202774ワット発電中さん:2011/08/21(日) 21:40:12.24 ID:5eKnZ1wq
>>200
> 結局C言語どうこうじゃなくてPICのCがダメなんだと思うよ
そう。それをアセンブラでどうとか、違う方向に…。
(選択ミスを認めたくない気持ちは判るけどさ…)
203774ワット発電中さん:2011/08/21(日) 21:58:03.51 ID:j+ZkPA6J
うちのPCにRS232Cがないので
USB・シリアル変換ケーブルなるものを使おうと思うのですが
これはUSBの仕様を理解してないと利用できませんか?
204774ワット発電中さん:2011/08/21(日) 22:09:58.58 ID:4qDc5jRT
>203
USBの知識は不要
PC側はドライバを入れればCOM5とかになるんでシリアル使えるソフトならそのままOK
PIC側はRS232Cレベル変換(TTL←→±12V MAX232C等)が必要だけどUSARTがそのまま使える
物によっては最初からTTLレベルなのでPICに直結できる
205774ワット発電中さん:2011/08/21(日) 22:37:19.07 ID:MH6dKvkA
>>203
最初からPIC18を使うべき
206774ワット発電中さん:2011/08/21(日) 22:38:09.30 ID:j+ZkPA6J
>>204
なるほどありがとうございました
207774ワット発電中さん:2011/08/22(月) 01:37:18.99 ID:Z9giA1o9
久し振りに作りかけのプログラムに手をつけてみたら、肥大化しすぎててわからんワロタw
20MHzOSCのときって、1cycleあたり50nsだよね?設定は合ってるはずなのに、ストップウォッチで1cycleあたり0.2u進んでしまう

ご無沙汰で俺がぼけてるのか?w
208774ワット発電中さん:2011/08/22(月) 01:40:53.17 ID:Yti0o4Td
ぼけてる
209774ワット発電中さん:2011/08/22(月) 01:41:42.26 ID:Z9giA1o9
まじかw
どこがおかしい?
半年ぶりぐらいだからorz
210774ワット発電中さん:2011/08/22(月) 01:55:12.51 ID:Z9giA1o9
すまんorz
自己解決。。
夜分遅くにどうも
211774ワット発電中さん:2011/08/22(月) 08:17:40.06 ID:qY1YqCAB
PICなど普通のマイコンについてるPWMとΔΣDAという名称のDA変換器、同じものかな?
DA変換器としては後者のほうが高性能なイメージがあるけど、もし2者が異なるものならΔΣDAは
どんな点でPWM方式のDA変換よりも優れてるのだろうか?
212774ワット発電中さん:2011/08/22(月) 08:44:25.18 ID:BIKo2H86
とりあえずウィキペディアでも見ろ、とか思ったが、ΔΣの記事、ぐちゃぐちゃもいいところだな。
213774ワット発電中さん:2011/08/22(月) 09:08:49.83 ID:7Ir3tVZL
デューティ比の代わりにパルス密度でアナログ量を表すのだから全然違う
実装しようと思ったけど無理過ぎて諦めた
あれはハード向けだわ
214774ワット発電中さん:2011/08/22(月) 09:26:06.66 ID:DZbn70uc
>>211
PWMの出力はデジタル。LPFを噛ますことでアナログになる。
デジタルだから距離を延ばしても劣化しない。
LPFが厄介。

DACは直にアナログを出す。
ノイズの影響にインビーダンスの影響を受けやすい。
バッファを噛ませるとフルスイングさせにくい。
でもLPFは要らない。
215774ワット発電中さん:2011/08/22(月) 09:31:54.65 ID:qY1YqCAB
ΔΣDAはパルス密度(PDM)なのか。
でもAD変換もPWMでよさそうだけどわざわざPDMにするメリットって何かな?
216774ワット発電中さん:2011/08/22(月) 09:56:42.12 ID:r4aSZ/f5
 理想的なDAコンバータなら、サンプリング周波数の半分までが
信号帯域になるのがサンプリング定理やん?
 実際はそこまでいかないけど、サンプリング周波数の0.4倍とか
その辺にカットオフ周波数を持つ、折り返し雑音除去フィルタを
付けて使う。
 ΔΣDAだと、もともとオーバーサンプリングされてるので、この
フィルタが普通のDAよりも適当で済む。

 逆に、PWMをDAコンバータに使うと、数学的にちゃんとした説明は
俺もわかってないんで省略するけど、折り返し雑音的なものがすごく
低い周波数まで分布しちゃう。
 PWMのクロックに対して、低ノイズで取り出せる信号帯域が狭い。
欲しいアナログ信号が直流かかなり低い周波数ならいいけど、音声
再生を綺麗にっていうと、だんだん苦しくなってくるのがPWM

 デジタルアンプも原理通りのPWM使ってるものは少なくて、それは
純PWMだとS/Nが稼げないからだな
217774ワット発電中さん:2011/08/22(月) 13:14:46.85 ID:c/gOMW9Z
>>215
PDMって何?
Pulse Density Moduration? とか?
パルス密度変調??
218774ワット発電中さん:2011/08/22(月) 13:50:12.91 ID:XialCq7N
確かこんなのじゃなかったけ
(PWM)
 ̄_________ 10%

 ̄ ̄________ 20%

 ̄ ̄ ̄_______ 30%

 ̄ ̄ ̄ ̄______ 40%


(PDM)
 ̄_________ 10%

 ̄____ ̄____ 20%

 ̄__ ̄__ ̄___ 30%

 ̄_ ̄__ ̄_ ̄__ 40%
219774ワット発電中さん:2011/08/22(月) 15:16:45.27 ID:75h+47kD
>218
それPFMって言わない?>下の図
220774ワット発電中さん:2011/08/22(月) 15:32:03.96 ID:BIKo2H86
Pulse Duration Modulation で、= PWM じゃね?
221774ワット発電中さん:2011/08/22(月) 15:56:48.80 ID:OjJm7ZgE
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ       220
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
222774ワット発電中さん:2011/08/22(月) 16:01:33.44 ID:A2E2qNyH
>>221
行間を読め
223774ワット発電中さん:2011/08/22(月) 23:04:43.08 ID:LUl5+oZJ
>>222
また難題を・・・w
224145:2011/08/23(火) 11:29:18.42 ID:c4H0WhzN
一応大学生です。
LCD動きました。原因は、LCDに2.5Vしかかかっていないことでした。
電源を5Vに分圧していて、PICとLCDを並列についないでいたのですが、
同時に電源につけると、2.5Vずつしか、かかってなかったです。
自分の確認を怠ったのが原因でした。
そこで、電源を大きくしたところちゃんと5Vずつかかりました。
そして、83さんに頂いたソースを実行したらちゃんと映りました。
お騒がせしました。
225774ワット発電中さん:2011/08/23(火) 11:50:52.78 ID:CQSt0lFp
>>224
>そこで、電源を大きくしたところ
そうじゃないから。PICやLCDの電源ににVRで分圧して供給なんてきいたことない。
そういう思考ができてしまう時点で、あなたは別世界にいることになる。
次から次へと新たな問題点の種を自分で播いて、自分で躓くタイプの人なんだね。
ちゃんとした電源インピーダンスの低い回路で的確な5Vを供給しないとイケマセン。
ところで、どこの大学ですか?
226774ワット発電中さん:2011/08/23(火) 12:20:17.74 ID:pQvQmunX
灯台じゃね
227774ワット発電中さん:2011/08/23(火) 12:22:12.47 ID:2wWodpC+
最近始めたばかりでよく分からんのだが
分圧ってその後ろに繋がる回路次第で
電圧かなり変わってくるんでそ?
228774ワット発電中さん:2011/08/23(火) 12:26:03.84 ID:evvhRqwD
>>224
それはよかったね。

もしテスター1台あれば「測ってみようかな」という気になるけど、
それも無ければ「ま、いっか」となり、
「はず」「つもり」という言葉が出てくるんだ。今回はその典型な感じだね。

デバッグは、状況の確認、把握が大事です。
229774ワット発電中さん:2011/08/23(火) 13:06:31.58 ID:WaCedbOW
最初から、まともに回路図出してれば、即終了なのに。

230774ワット発電中さん:2011/08/23(火) 13:57:47.56 ID:nEh5CxNi
>200
滑らかに点灯したと言い張るならUPしてみたら?
きっと「エンコの関係でちらついた動画しかUP出来ない」とか「動画撮る機材が無い」とか言い訳するだろうけどw
「エンコの関係だろうけど俺の作ったほうが滑らか」
なんて言い訳しても第三者から見れば、馬鹿じゃねーのって話だな。
66KHzのPDMと50KHzのPWMで50KHzのPWMの方が滑らかに見えると思えるAVR脳だから仕方ないけどさw
231224:2011/08/23(火) 14:15:17.74 ID:c4H0WhzN
>>225
千葉大学です。
二年次までだと、数学や物理学が主で、
機械的なことは余りやってないんで、
実際に回路を作るとなると分からないことばかりです。
232774ワット発電中さん:2011/08/23(火) 14:25:41.45 ID:B4sb7/XN
僕はボリューム使うことで明るさを滑らかに自在に変化させることに成功したんだ
233774ワット発電中さん:2011/08/23(火) 14:29:07.22 ID:efXTH98k
>>230
くどいわ。アホか。
234774ワット発電中さん:2011/08/23(火) 14:31:01.94 ID:pQvQmunX
AVRのも見てみたいな。
235774ワット発電中さん:2011/08/23(火) 14:41:17.77 ID:pQvQmunX
>>232
夏休みの工作はそれで決まりだね。
236774ワット発電中さん:2011/08/23(火) 15:35:27.60 ID:QUE6fY2l
>>224
分圧って聞いてすぐに指摘したのに今頃になってやっと確認したんだね
237774ワット発電中さん:2011/08/23(火) 17:24:12.24 ID:pQvQmunX
ど素人はだいたいそんなもん。
238銀翼の堕天使 ◆2TENKK.nkY :2011/08/23(火) 18:51:29.80 ID:KlAK7tRh
ardiunoでシールド合体させたり、
(スクリプトレベルの)ソフトウェアしかやったことない人は、いきなりやっても、難しい

たったそれだけのこと
239774ワット発電中さん:2011/08/23(火) 19:52:55.67 ID:PYSMIO/j
普通、後ろに繋がる回路込みで値決めるんじゃないかい?
240774ワット発電中さん:2011/08/23(火) 23:56:32.11 ID:xEOnTsmn
ところで66KHzって何か意味があるの?
66667Hzだとして、ミリ秒カウンタとかちゃんと作れてるのかな
そもそも50KHzと66KHzのチカチカが区別つくもんなのかギモンなんだけど
241774ワット発電中さん:2011/08/24(水) 00:37:03.46 ID:wqCW12F6
>240
まあ>200の書き方だと勘違いしやすいけど割込み周期が50kHzなので
ココから8bit=256諧調とRGBダイナミック点灯用の3で割って周期が決まる
50,000Hz÷256÷3=65.1Hz
Dutyが小さい色だとちらつきがきつそう
242774ワット発電中さん:2011/08/24(水) 00:58:30.17 ID:wqCW12F6
>240
それと66kHzは、割込周期の限界じゃないのかな
前スレの>983に8ch256諧調ソフトPWMで1割込み50命令(20MHzで10us)程度の
サンプル出したけど、それを10chにしてRGBのカソード側の処理を追加したら
12〜15us弱かるんじゃないか。PIC16Fの20MHzだとこの辺が限界かと
243774ワット発電中さん:2011/08/24(水) 01:06:49.14 ID:wPAFKEXD
AVRだとCで適当に書いても100KHz超えそうだなw
244774ワット発電中さん:2011/08/24(水) 02:31:02.50 ID:lThVUVZ5
>>243 わかったからあっちいけ
245774ワット発電中さん:2011/08/24(水) 05:27:59.57 ID:lmKxByjM
>>243
スレ違いだよ?

それともAVRスレで相手にされなかったの?
246774ワット発電中さん:2011/08/24(水) 05:41:20.72 ID:BzWMEF7j
PWMで65Hzだと肉眼でもチラ付くけど、カメラではもっと厳しいかも。
PDMで86Hzなら出力が1の時は上よりちょっと良いくらいだけど、2なら170Hz、3なら…
247774ワット発電中さん:2011/08/24(水) 07:45:08.63 ID:wqCW12F6
>243
ARM or AVR最強
PIC使う奴、頭悪い
 ・


寂しい、、、、誰かカマッテ、、、

という奴か
248774ワット発電中さん:2011/08/24(水) 07:50:02.49 ID:oF/bKXH4
速度が欲しいならFPGAで組めばよくね?
249774ワット発電中さん:2011/08/24(水) 08:35:33.56 ID:V2CCdsMW
>>247
> ARM or AVR最強
ARM使いだが、PICと一緒にさせてもなぁ。
メイン基板上にARMが載り、サブ基板上でビン不足を補ったり信号数を減らす役目がPIC。
PICの名前通りの正しい使い方をしているだけだけど、なにか?
250774ワット発電中さん:2011/08/24(水) 08:57:56.31 ID:SRdCxUnj
>248
スレ違い

>249
まあ、A○○厨に動画をUPする能力がない事には変わりないが
251774ワット発電中さん:2011/08/24(水) 10:16:57.96 ID:wPAFKEXD
>>246
つまりAVRでPDMすりゃすごいことになるな
そんな都合の悪い事は考えないかw
252774ワット発電中さん:2011/08/24(水) 10:57:25.61 ID:ZlFvPYYL
別に凄いのを狙っているわけではないから。
手元にある環境で好きなモノを作ればよい。
253774ワット発電中さん:2011/08/24(水) 12:57:59.16 ID:OYWfooh6
>251
現実にUPされてないじゃん。それが全てw
所詮ネット弁慶w
254774ワット発電中さん:2011/08/24(水) 13:01:06.07 ID:FqsqrKm8
>>249
そう。PICとARMはそもそも役割が違う。
にもかかわらず、PICスレでやたらARMを連呼してくる構ってちゃんがいるんだよ。
255774ワット発電中さん:2011/08/24(水) 13:56:53.92 ID:dEl7l2Z4
>>254
まあ、M0は8bitMCUの牙城を切り崩すためのコアですし。
それは置いといて24fのビデオアクセラレータ使ってみた奴いる?
256774ワット発電中さん:2011/08/24(水) 15:15:03.03 ID:P9dQmPGp
なんでこう夏なのかな?別にどっちでもいいだろが

出来る事をやれればいいだけ、面倒だろうが手間だろうが知らん
実際に作る人にとっては入手性も評価基準だが、
小屋の引き出しからES品で遊ぶならなんでもいいよ
257774ワット発電中さん:2011/08/24(水) 17:27:28.15 ID:x2MqIefb
ほんとだよ。
犬小屋をレンガでつくろうが木材でつくろうが本人の勝手なのに。

レンガの焼き方や、木材の切り方の優劣にアホほどこだわって、肝心の
犬小屋が作れないんじゃどうしようもない。
258774ワット発電中さん:2011/08/24(水) 17:27:47.48 ID:rk7puzNl
32kHzの8051に比べれば、どれも天国だと思わないか?
259774ワット発電中さん:2011/08/24(水) 17:29:36.54 ID:x2MqIefb
ロートルが衒学趣味振りかざし始めると途端に雰囲気悪くなる。
260774ワット発電中さん:2011/08/24(水) 18:00:58.53 ID:XC74hTNP
だれか>>255のねたで話を展開してくれよ。こっちのほうがよっぽど面白そうなのに。
picで画像出力とかほんとにできるのか?
261774ワット発電中さん:2011/08/24(水) 18:30:05.65 ID:vJyV7g3v
3LEDそれぞれでPDMの周波数を変化させてると、
ある周波数成分が強くなった時にちらついて見えることがある。
汚く見えるのはたぶんそれ。
262774ワット発電中さん:2011/08/24(水) 20:19:48.40 ID:ef6hfysK
全然そんな事は無い。知ったか乙w
263ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY :2011/08/24(水) 20:46:03.72 ID:MyoG74zf
>>260
24Hなら静的描画は余裕(オシロとか。詳しくは後閑哲也のHP・Microchip提供ミドルウェアで)
流石に32MXでも、外部RAMがないとQVGAの全領域にアニメーションは難しい。
(このあたりが、SDRAM付き基板、Cortex-A8、SH4より劣るとされている。尤も、これらのマイコンはロートル・小規模開発で扱うには高すぎるがな)
264ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY :2011/08/24(水) 20:55:58.86 ID:MyoG74zf
QVGAサイズのアニメはRAMじゃなくてROMが厳しいんだ。ワンチップだと。Coretex-M3でもそうだし
(SDから動画再生とかなら可)

>>260
VGA以上だと32MX・FPGA(外部ビデオチップ)未使用の場合、どんなに頑張ってもは難しいかもなw
(できたとしても超カクカク)
265774ワット発電中さん:2011/08/24(水) 20:56:19.55 ID:bjeTtEig
>>257
なんで被害者気取り?
>>260
可能だけと、アーキ的に向いてない。
趣味なら頑張れ。
仕事なら止めとけ。
266774ワット発電中さん:2011/08/24(水) 20:59:05.94 ID:/RK5Kmp4
>>255の言ってるのは24F DAの話じゃないの?
267774ワット発電中さん:2011/08/24(水) 21:07:55.49 ID:bjeTtEig
>>266
某ARMのCM3が動画の時代に突入しているのに、今更フォトフレームも無いだろう?
趣味でやってみたいなら、止めはしないけど…。
268774ワット発電中さん:2011/08/24(水) 21:22:37.27 ID:/RK5Kmp4
>>267
何を言っとるんだお前は?
269774ワット発電中さん:2011/08/24(水) 22:23:27.39 ID:XtvAhEbi
正論
270774ワット発電中さん:2011/08/25(木) 01:00:16.27 ID:wOEQf+4F
高い金払ってOSやらファイルシステムやらをパーツとして買ってきてARMで動画とか得意げに
語るとか趣味が悪い。こういったものすべてを自分で一から作って、結果フォトフレームってのも
趣味としてはありだろ。FPGA関連スレをみててもそうだが仕事でやってるようなやつの書込み
みると心が病んでるのではと思うわ。
271774ワット発電中さん:2011/08/25(木) 01:11:02.82 ID:Bu6wxxz3

PICスレには心を病んで被害妄想な奴がいるな。
272774ワット発電中さん:2011/08/25(木) 01:15:22.16 ID:Bu6wxxz3
とりあえず言っとくと、ARM Cortex-M0は大した性能じゃないぞ。
ttp://nahitafu.cocolog-nifty.com/nahitafu/2011/08/rx62narduinouno.html
273774ワット発電中さん:2011/08/25(木) 01:17:31.41 ID:hGy/qRpu
>>272
で、なに?
274774ワット発電中さん:2011/08/25(木) 01:56:20.25 ID:mELks5xD
ルネサスは信用ならないからな
俺が採用することはしばらくないはず
275774ワット発電中さん:2011/08/25(木) 02:26:32.35 ID:Bu6wxxz3
>>274
AVR並だというこっちゃ。
276774ワット発電中さん:2011/08/25(木) 08:18:02.53 ID:zrtIASU8
>255
そう、牙城なんだよな
所詮A○○じゃ足元にも及ばない。Lチカさえまともに出来ないんだからな。
277774ワット発電中さん:2011/08/25(木) 08:28:56.98 ID:Q9SCEHJ1
>>270
> こういったものすべてを自分で一から作って、結果フォトフレームってのも
出来もしない事を、大口叩くなよ。
278774ワット発電中さん:2011/08/25(木) 10:20:43.81 ID:2eadVl9l
>>277
あ、できないんだ(笑
279774ワット発電中さん:2011/08/25(木) 11:02:39.40 ID:WA3S9Dxv
久しぶりに来たら、ARM VS PICですか?w

PIC は面白いよね?

大きいMPUが、有る処理を依頼し小さいMPUが、それを受け取って処理を行う。
その間、大きいMPUは他の処理を行う。
処理が完了したら処理完了の信号を送る。

これって何て言う処理名だっけ?
280774ワット発電中さん:2011/08/25(木) 11:14:55.08 ID:WA3S9Dxv
ついでに
16F876って外部クロックを与えないと動作しなかったっけ?
281774ワット発電中さん:2011/08/25(木) 11:16:50.66 ID:2eadVl9l
>>280
ソウダヨ
282774ワット発電中さん:2011/08/25(木) 11:20:20.35 ID:wOEQf+4F
http://www.picfun.com/PIC24F/AP/app24F15.html
後閑さんのサイトではQVGAでグラフィック表示なんかやってるね。初めてパソコンを
さわったころプログラム作ってこんな表示させて遊んでたけど、このページのはpic24fで
計算と表示もさせてるってことかな。この表示で何秒くらいかかるんだろうか?
283774ワット発電中さん:2011/08/25(木) 11:26:43.82 ID:2eadVl9l
>>282
ようつべでPIC VGAとかで検索かけると動画たくさん出てくるよ。
284銀翼の堕天使 ◆2TENKK.nkY :2011/08/25(木) 11:56:52.31 ID:zoQy0Yix
VGA以上だと、例外なくフォトフレームor CUIな訳だがw
285774ワット発電中さん:2011/08/25(木) 11:57:52.89 ID:2eadVl9l
>>284
で、なに?
286銀翼の堕天使 ◆2TENKK.nkY :2011/08/25(木) 12:03:53.84 ID:zoQy0Yix
>>284
VGA以上の解像度の動画は32MXでも無理ってこと
287774ワット発電中さん:2011/08/25(木) 12:06:46.78 ID:2eadVl9l
>>286
そんな話全然してないし関係もないんだけど。したり顔で入ってくんなよw
288774ワット発電中さん:2011/08/25(木) 13:54:26.92 ID:VG6zP2F2
壁紙はフォトフレームレベルでも、その上に表示する文字は図形は
うまく処理すれば実用になるレベルなんだから、
そんなに落ち込むことないよ
でも客は動画とか要求してくるんだよね
まいっちゃうよね
ならもっと予算出せってね
289774ワット発電中さん:2011/08/25(木) 14:01:54.89 ID:VG6zP2F2
客が後からってことね
で、動画に対応しましたまではよかったが、
こんどはコンテンツのフォーマットの関係で
HD動画が必要とかね、ありがちだよね
だったらPCでいいんじゃ?ということになって、
結局PCになりましたとさw
290774ワット発電中さん:2011/08/25(木) 14:29:43.29 ID:i+VuyuQS
バスとか地下鉄の液晶に行き先とかCMが出ると「マイコンで動いてるんだろうなーキレイだなー」って思って気が付くと終点だよね
291774ワット発電中さん:2011/08/25(木) 15:11:59.68 ID:wOEQf+4F
>>290
それはマイコンというより産業用に筐体をなくしたパソコンといったほうがふさわしいのでは?
292774ワット発電中さん:2011/08/25(木) 16:15:31.89 ID:VG6zP2F2
電車とかのインフラで動画を垂れ流すような案件は全部PCだよw
コンテンツや広告動画とかはそれぞれ別会社だから
デコードの問題が常に付き纏うし、SD以下の画質では当然満足しない
そんなものをマイコンでやれんのかと
293774ワット発電中さん:2011/08/25(木) 17:11:11.67 ID:zrtIASU8
>292
出来なくはないが工数考えたら出来合いのボードでやるのが楽
294774ワット発電中さん:2011/08/25(木) 17:26:34.17 ID:oudC8JUe
16f688、4本分のポート割込みでランダムパルスを数えたいんだけど
外部ラッチが要るのか要らないのか、マニュアル読んでもよくわからない。

入力ポート自体に短いパルスをラッチしておいてくれる機能あるんですか?
295774ワット発電中さん:2011/08/25(木) 17:38:20.24 ID:mELks5xD
>>294
誰に聞いてんだよw
296774ワット発電中さん:2011/08/25(木) 17:54:15.75 ID:wOEQf+4F
>>294
「短いパルスのラッチ」とかそういう機能はない。パルス幅が短いと当然エッジ検出漏れもでてくるから
割込み処理にかかる時間などをきちんと見積もって検出漏れがあっても論理が破綻しないようにプログラム
する必要がある。

動画だのフォトフレームだの極端なアプリケーション例を持ち出せばPICネタからは外れてしまう。
キャラクタ液晶では自由度が足りない、で白黒グラフィック液晶を導入しもう少しカラフルにアイコンを
点滅させたい、でカラーグラフィック液晶の導入、そういうステップで考えれば小型カラー液晶も十分に
PICネタに入ってくる。LEDちかちかばかりじゃなくてこっちのほうもPICスレで話が活発化すると
いいね。
297774ワット発電中さん:2011/08/25(木) 18:07:55.18 ID:R34AXFcf
PICは知らないけど、普通のマイコンの割り込み端子はラッチ有るだろ?
298774ワット発電中さん:2011/08/25(木) 18:13:35.84 ID:HY2EaJM6
割り込みってなんだよ?
299224:2011/08/25(木) 18:15:23.81 ID:ZwzIMehz
一応大学生です。
LCDの表示に関してはありがとうございました。
さて、またLCDに関してなのですが、
PICが誤作動を起こしてLCDの表示が10秒後くらいに変わってしまいます。
ネットでしらべてパスコンをつけたのですが直りません。
不安定な電圧供給以外にPICが誤作動をおこす訳ってありますか?
300774ワット発電中さん:2011/08/25(木) 18:29:33.88 ID:xGpzJuFy
>299
なんで不安定な電圧供給をそのままにして先に進もうとするんだよ。
千葉大なんて嘘だろw
301774ワット発電中さん:2011/08/25(木) 18:34:22.22 ID:00Qk8UyF
>>300
段取りの下手さは、大学あんまり関係ないような… 卒業できるかは別として。
302774ワット発電中さん:2011/08/25(木) 18:35:35.64 ID:xGpzJuFy
>296
>「短いパルスのラッチ」とかそういう機能はない。

残念でした。SR-LATCH付のPICが存在する。
303774ワット発電中さん:2011/08/25(木) 18:37:59.24 ID:xGpzJuFy
>301
段取りってか、論理的思考。
小学生とかにありがちな、手当たりしだいに手をつけて
結局、何やってるか自分で理解出来てない奴。
304774ワット発電中さん:2011/08/25(木) 18:45:21.32 ID:mELks5xD
鏡よ鏡、バグの原因はなぁに
鏡に映ったのは ID:ZwzIMehz だったのです
305774ワット発電中さん:2011/08/25(木) 18:46:14.86 ID:DoQqA5WC
>>296
後閑乙
自演せずにそろそろコテつけろよ。
306774ワット発電中さん:2011/08/25(木) 18:59:59.53 ID:WA3S9Dxv
千葉大か?国立大?凄いな?
けれど、工学部電気系出ても「千葉大か?w」
と言うレベルだけどなww

今迄千葉大って私立か?と思っていた。

307774ワット発電中さん:2011/08/25(木) 19:11:00.06 ID:2eadVl9l
>>302
残念でしたとか、どっちが小学生だよ。アホか。
308774ワット発電中さん:2011/08/25(木) 19:15:50.37 ID:SW+UcesC
>>307
残念でした。俺は厨学生
309774ワット発電中さん:2011/08/25(木) 19:22:53.85 ID:ie782ODo
>299
普通に考えれば、プログラムのバグで暴走しているんじゃないか。
その10秒間にPICは何しているの? 試しに最初の文字を表示後
GOTO $で無限ループやSLEEPにして表示がどうなるか試してみたら。

それと どう表示がおかしくなるのか(画面が消える、ランダムな文字が
出力される,etc) 自分で何を試してどうなったか等を書かないと
全然 話が進まないよ。
310774ワット発電中さん:2011/08/25(木) 19:36:43.52 ID:i+VuyuQS
>>291>>292
あれパソコンなのか、明日からパソコンで動いてるんだろうなーって思いながら終点通過する
311774ワット発電中さん:2011/08/25(木) 19:56:42.12 ID:j8/Vb+l0
通過しちゃ駄目だろ。目的地で降りなきゃ
312774ワット発電中さん:2011/08/25(木) 20:12:13.73 ID:do7laX8W
これだから平成生まれはw
313774ワット発電中さん:2011/08/25(木) 20:12:18.85 ID:0cUOvKjW
windowsやunix以外で作れと言われても困るからな
314774ワット発電中さん:2011/08/25(木) 20:21:48.54 ID:hI5edaoY
千葉大のやつよりは電気系だったら芝浦とか電気大のやつらのほうができるだろ
オタクだけど
315774ワット発電中さん:2011/08/25(木) 20:34:52.73 ID:kWsahbFy
終点なら通過しないでしょ。折り返しか車庫行き。
316774ワット発電中さん:2011/08/25(木) 22:01:50.46 ID:SW+UcesC
時々車庫行きの人見かけるね。
317774ワット発電中さん:2011/08/25(木) 22:58:53.15 ID:0cUOvKjW
始発で倉庫から出てきた列車に乗ってるのな
318774ワット発電中さん:2011/08/26(金) 11:04:13.45 ID:SUS+46J2
車庫で一夜を過ごす
319774ワット発電中さん:2011/08/26(金) 12:05:40.38 ID:uZvNKkxv
PICで複数のアクチュエータ操作するときは
複数のゲームキャラ動かすような割り込み処理でやってんの?
それとも単にmainの中で総当りしてループかけてるの?
320774ワット発電中さん:2011/08/26(金) 12:34:38.71 ID:dvltX3VW
>>319 設計次第。つまりどちらもありうる。
321774ワット発電中さん:2011/08/26(金) 13:38:22.48 ID:PwX9ENii
総当りにしてもタイマーのカウント処理は割り込みだよな?
結局タイマーをゲームキャラのデータと見なして割り込み制御する感じか

Z80でやるかな
322一応大学生:2011/08/26(金) 13:44:48.91 ID:14Mfk5or
>>309
電圧計りなおしてみたら、LCDとPICには安定して4.5Vはいっていました。
LCDの表示ははじめの10秒はしてほしい動作(オの文字出力)の後、
ランダムな文字列に変わってしまいます。
ためしに、最後の文字の後のRS、ENも0(LOW)にする信号をプログラムの
最後に入れてもだめでした。
ループをかけてみましたが、直らなかったです。
323774ワット発電中さん:2011/08/26(金) 13:46:49.26 ID:J9+ZJStz
ソフトウェアUARTは以前からよくあるけどソフトウェアUSBなんてのはあまり聞かないね。
PICにはUSB内臓の機種があるけどAVRってそういうのはないのかな?AVR関連でV−USB
なんていうソフトウェアUSBプロジェクトがあるらしいけど、同じことをPICでもやれば16F88
あたりでも外付けチップ無しでUSB接続できて面白そう。
324774ワット発電中さん:2011/08/26(金) 14:00:32.39 ID:US9RWhlJ
>>322
テスタで測れないレベルで変動してるかもしれん。
5Vなら乾電池でもUSBからでも取れるだろ。
怪しいところはまずつぶせ。

それと回路図もプログラムもわからんが、MCLRのピンは使わなくてもプルアップしておけ。
325774ワット発電中さん:2011/08/26(金) 15:41:06.62 ID:dvltX3VW
>>321 タイマーはフリーランにしておき、各処理がフリーランタイマーを見な
がら前回からの差分で経過時間をチェックするというやりかたもあります。
326一応大学生:2011/08/26(金) 16:40:16.60 ID:14Mfk5or
>>324
わかりました。やってみます。
327774ワット発電中さん:2011/08/26(金) 16:40:51.88 ID:4ill435l
>>323
16F88の20MHzじゃAVRの5MHz相当だから無理だな
素直に内蔵のPIC使った方がいいよ
328774ワット発電中さん:2011/08/26(金) 18:01:35.66 ID:xCqChPTb
PICの品番の見方で教えてください。

よく、16F877A I/Pとか見かけますがこのアルファベットの箇所
A I/Pの部分

A:品種改良型
I:わからない
P:わからない
E:わからない

 それぞれのアルファベットは何を意味しているのでしょうか?
329774ワット発電中さん:2011/08/26(金) 18:12:35.93 ID:4ill435l
つまり、あおいうえ作文をせよと

I:異常な数の
P:PICの
E:エラッタ
330774ワット発電中さん:2011/08/26(金) 19:11:53.35 ID:J9+ZJStz
>>327
UARTの場合は処理速度に応じて通信速度を落とせばいいけどUSB(1.1)の場合は1.5Mbpsと
決まってて通信速度遅くてもいいからといってデータレート下げるってことはできないんですね。
331774ワット発電中さん:2011/08/26(金) 22:57:42.05 ID:XENJUIO0
>>328
データシートの最後の方に、型番の見方が書いてあると思うけど。

PICに限らず、IはIndustrial品、CはCommertial品、PはPlastic品、Aは改版revisionA
とか、相場
332774ワット発電中さん:2011/08/26(金) 23:46:32.35 ID:dvltX3VW
重箱の隅ですまないが
Commertial は Commercial ということで
333一応大学生:2011/08/27(土) 00:31:16.54 ID:jMfPhl18
324さんの指示通りプルアップ、ためしにプルダウンもやってみましたが駄目でした。
パスコンをPICの近くに1つつけているのですが、1つじゃ効果ないですか?
以前、ここの方に頂いたHEXファイルをPICに書き込んでみたら、ちゃんと表示出来てました。
334774ワット発電中さん:2011/08/27(土) 00:40:32.89 ID:VqH8MAT6
>>323
170円の18F14k50にハードウェアフルスピードUSB付いてるからメリットがない。
ロースピードかつソフト処理じゃ大したことできないからねぇ。
335 忍法帖【Lv=32,xxxPT】 :2011/08/27(土) 00:40:32.55 ID:F4FakazL
じゃープログラムミス
336774ワット発電中さん:2011/08/27(土) 00:50:05.72 ID:ir5D2t+J
ブレッドボード上に液晶を組んで実験してた時、正常に動いてたものがある日突然誤表示し始めた
って経験はあるが、接触の状態は大丈夫なのか?
「ちゃんと表示できてました」とあるが、この状態で10秒後くらいから表示がおかしくなるという
ことなのか?
ちょっと前にいいチェック方法をあげてた人がいたけどキャラクタ液晶は正しい電圧をかけ続けている限り、
新たにデータが書き込まれない限りは前回書き込んだ表示状態を維持するものだと思うので表示が
おかしくなるということはソフトのバグで意図に反したデータを書き込んだが瞬間的な電圧低下で
液晶が正常な動作モードからはずれて初期化からやり直さなければならなくなったとかいうことじゃないのかな。
337774ワット発電中さん:2011/08/27(土) 00:55:20.53 ID:ir5D2t+J
>>334
メリットはひとそれぞれだろう。もしソフトウェアUSBが実現できるのなら8ピンタイプの
picだって最小限の構成でPCに接続できるのだから。もっとも>>327のとおり無理かもしれないけど。
338774ワット発電中さん:2011/08/27(土) 01:01:21.51 ID:ir5D2t+J
キャラクタ液晶に関して、データ書込みルーチンで待ち時間を入れることになると思うが、
その時間は使用どおりの時間になってるのか、短すぎないか確認してみるとか。それとも
データ書込みが終わったかどうか端子の状態をチェックしてから次の書込みをしてるのかな?
339774ワット発電中さん:2011/08/27(土) 01:05:51.23 ID:AB4nPs5s
AVRは8ピンからUSBが使えるんだよなあ
でもSSOPの18F14K50が秋月で売ってるから、
それぐらい我慢できるよね
340774ワット発電中さん:2011/08/27(土) 01:13:02.80 ID:Zk382hbL
>333
いいからどっかに回路図とソース全部、省略一切なしで全部アップしろよ。
お前の『大丈夫』とか『異常ない』って判断は一切信用出来ないんだよ。
341774ワット発電中さん:2011/08/27(土) 01:33:40.00 ID:WyXl+njg
342774ワット発電中さん:2011/08/27(土) 01:42:17.74 ID:Zk382hbL
>341
お前は写真を配線図と呼ぶ星の人なのか?
343ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY :2011/08/27(土) 01:50:35.62 ID:Td5PDLy0
>>333
回路が(確証はないだろうけど)一応動くのであれば、
次のステップは当然プログラムの問題だよね。

Lチカの次にコピペしないでLCD駆動は、プログラム入門者にとっては少し敷居が上がるのが気になるところ。
7セグは動かしたことある?

CCSCかHitechであれば、穴埋め問題作るよ。
344774ワット発電中さん:2011/08/27(土) 01:53:24.36 ID:O30rhoJ+
だれかブレッドボード買ってあげて
345774ワット発電中さん:2011/08/27(土) 01:58:31.24 ID:Zh/fACfJ
あれって線さしっぱなしだと悪くなるんだろうか
346一応大学生:2011/08/27(土) 15:25:03.68 ID:jMfPhl18
>>336
僕がいちから書いたソースだと、10秒後に表示が消えて→ランダムな文字が表示→
またランダムな表示が消えて→元の表示→10秒後に表示が消えて→・・・・・
を繰り返すという感じで、

「以前にここの方に頂いたHEXファイルだと」、ちゃんと表示できていたということです。

>>340
↓配線図や写真、ソース貼り付けときました。
http://chibayacht.web.fc2.com/gazo.html

>>343
7セグメントは動かしたことないです。
コンパイラはSDCCを使ってます。


picは16f88を使っています。picのクロックの設定は20MHzです。
それで、秋月で買ったLCDについていた、データシート(?)には
condition: fosc=270kHz
と書いてありました。これって、270kHzで信号を入れろということでしょうか。
347774ワット発電中さん:2011/08/27(土) 15:31:27.23 ID:U3BTW9oF
>>331
言われたとおり、データシートの最後のほうに書いてありました。
ありがとう。
348346:2011/08/27(土) 15:55:47.86 ID:jMfPhl18
すいません。
PICは8MHzです。
349774ワット発電中さん:2011/08/27(土) 15:56:40.82 ID:Zk382hbL
>346
省略一切なしで、っつたろうが。
その+5Vはどっから来てるんだLCDのVOは何も繋いでないのか。
前回なんであんなに解決に手間取ったかまだ理解してないのか。
350774ワット発電中さん:2011/08/27(土) 16:02:39.95 ID:ba29VTOU
>>346
なんで最後return(0);で終わっちゃうんだよw
351774ワット発電中さん:2011/08/27(土) 16:04:05.06 ID:Zk382hbL
LCDのデータシートなり、そこらの解説ページ見ると
Eの上げ下げの幅について一定時間以上開けろと書いてある。
上げて全く待たずに即落としてる様だけど、条件は満たしているのかな?

参考:
ttp://homepage3.nifty.com/mitt/pic/pic5_17.html
352346:2011/08/27(土) 16:19:14.83 ID:jMfPhl18
>>349
すいません。
実際は4.5Vで乾電池3本直列です。
Voには半固定抵抗つけてあります。

>>350
return(0);ないと、コンパイルしたときに警告が出てしまうのでとりあえずつけてます。

>>351
余り気にしたことはなかったです。
353774ワット発電中さん:2011/08/27(土) 16:20:35.93 ID:xesfLmDy
だいたい昔の基盤や航空機の仲間は電気電子にいますね

354774ワット発電中さん:2011/08/27(土) 16:24:59.00 ID:zpXI8ily
>>350
スタートアップルーチンが再度mainを呼ぶ。と深読みしたけど、それ以前の問題だね。このソース
355774ワット発電中さん:2011/08/27(土) 16:26:25.56 ID:ba29VTOU
>>352
いやそうじゃなくて、無限ループで処理終了にしときなよw
その後にreturn(0);書きたきゃ書いていいから。
356346:2011/08/27(土) 16:30:45.82 ID:jMfPhl18
>>355
ループは初期設定の部分も含めてですか?
357774ワット発電中さん:2011/08/27(土) 16:35:01.68 ID:ba29VTOU
>>356
まあまずはいろいろ試してみることだて
358774ワット発電中さん:2011/08/27(土) 16:35:56.24 ID:AB4nPs5s
まず半固定が両面にあるのがありえない
回路図は当然として配置図も書いた方がいいな
大学生自称してるけど某スレの鉄工所並の頭の硬さ
FMV-BIBLOの時点でおっさんだとは思うけど
359774ワット発電中さん:2011/08/27(土) 16:41:36.98 ID:Zk382hbL
>352
乾電池の種類は?半固定の抵抗値とその配線は?
写真だと電源にスイッチ入ってるけどそれも書いてないよね?
いいかげん人に見せても文句を言われない資料の書き方ってもんを考えような。
大学のレポートでも必要だろ?


気にしろ。とりあえず今の状態だとE立ち上がり時間が何nsecなのか計算しなさい。
仕様より短かったらnop入れなさい。
360774ワット発電中さん:2011/08/27(土) 16:43:20.18 ID:zpXI8ily
>>356
プログラムの本を読んでから出直した方がいいよ。例題を先に理解してから次に進む。
1冊読むだけでもずいぶん違う。
361774ワット発電中さん:2011/08/27(土) 16:47:24.77 ID:Zk382hbL
乾電池は1.5Vと書いてあるが当然実際は違う。回路動かしながら電圧測ってみないと本当の電圧はわからない。
PICはともかくLCDの方は入力電圧が仕様書より低かったらまともに動かなくても文句言えないよね。

確か簡易テスターはあるって言ってたよね?電圧測って。


出来ることなら9か12VのACアダプタと、5V3端子レギュレータを買うことを強く勧める
362774ワット発電中さん:2011/08/27(土) 16:48:26.95 ID:ba29VTOU
>>361
どうでもいいけどなんでそんなに偉そうなんだよw
363774ワット発電中さん:2011/08/27(土) 16:57:06.04 ID:Zk382hbL
>362
指摘することが多すぎて文書書くのがダルいんだよw
でもまあちょっと気をつけます。一応大学生さんもあんまり気にしないでね。
まあ所詮2ちゃん住人だし、とでも思っといて。
364346:2011/08/27(土) 17:00:26.00 ID:jMfPhl18
>>361
LCDには、4.6V入っています。

>>357
はい。やってみます。

>>360
分かりました。探してみます。
365774ワット発電中さん:2011/08/27(土) 17:11:16.76 ID:ir5D2t+J
>>346からするとおかしいのは自分で書いたプログラムであって、電源、その他のハード面は
問題はあるにしろ直接の表示不良の原因ではなさそうだな。
>>351で指摘されてるけどLCDのデータシートを丁寧に読んで制御出力のタイミングを仕様
どおりにすることだな。
366774ワット発電中さん:2011/08/27(土) 17:18:51.40 ID:U3BTW9oF
>>346

 お初です。
 いま気になった点をあげます。

 回路図を見ましたが、LCDのDB4-7がポートAに接続されているようですね。
 お言葉なのですが、LCDのDB4-7は、それぞれ、ポートAの連番にあわせたほうが
 データシートとのプロトコルすりあわせ等で楽に作れると思います。

 あなたと場合だと、LCDのDB4-7は、それぞれ、RA0-3もしくは、RA4-7へ
 つなぎなおすことを、勧めします。

 そのメリットは、LCDのデータシートに初期化プロセスや、文字を表示する際の
 ビット列が書かれていると思いますが、ほぼそのまま流用できるからです。

>>348

 PICのクロックとして8MHzを使っていのですね、了解です。
 そうであれば、PICが8MHzのとき、delay_ms(1);は
 1ms時間待ち、しなければなりません。(当たり前のことなのですが)

 TRISB=0x00;
 while (1) {
   PORTB = 0xff;
   delay_ms(1);
   PORTB = 0x00;
   delay_ms(1);

 }

 これを実行して、オシロスコープで、1ms間隔でH/Lが切り替わるか確認してください。
 これで、いま書いたとおりの結果にならない場合、
 コンパイラが、実際にPICに接続されているクロックを知らないことになります。

#pragma か何かの設定で、コンパイラにPICは8MHzであることを教えてやる
 必要があります。

 コンパイラが知らないということは、delay_msに多大な悪影響意を与えます。
 また最後にdelay_ms(100000);と書かれていますが、オーバーフローの可能性ありませんか_

return(0);は問題です。
 一連の処理を終えた後、プログラムは自身を終了します。
 汎用OSではプロンプトと呼ばれる状態に戻るのですが、制御系ではどうなるか
 定義されていません。
 もしかすると、リブートされ、また1からスタートを永遠と繰り返すかも知れません。

 意図からして、

 while (1) {}
return(0);

 としてやることで、処理を終えた後、じっと待ちます。(電源を消すまで)

 さて、ここまでの回答でどうでしょうか?
367774ワット発電中さん:2011/08/27(土) 17:21:13.07 ID:/VBMcblh
なんというか自分で難易度あげまくってないか?
368346:2011/08/27(土) 17:27:43.72 ID:jMfPhl18
>>355
>>366
お二人の言うとおり、ループをreturn(0);の前に入れたら
なおりました。
ありがとうございます。
369774ワット発電中さん:2011/08/27(土) 17:36:56.85 ID:zpXI8ily
なおった。じゃなくて、ループを入れる事、ループにする意味を理解しないと、次のステップが厳しいよ。。
370774ワット発電中さん:2011/08/27(土) 18:40:42.82 ID:VxVMZxnn
社内でもありませんでしたか…

【創価・集団ストーカー犯罪】とは、

加害者達が集団で、被害者を鬱病や統合失調症に仕立て上げ、
社会から抹殺しようとする凶悪な犯罪です。

この犯罪は海外でも存在し、アメリカではテレビでも報道され、
【生命倫理に関する大統領諮問委員会】も開かれています。

日本では20年以上も隠蔽され続け、年間自殺率3万人以上と増加の一途。
一刻も早く集団ストーカー犯罪を規制する法律が必要です。


371346:2011/08/27(土) 19:33:16.66 ID:jMfPhl18
>>369
ループをいれた意味はPICが何も動作しないで待つ状態を作りたいからですよね
372774ワット発電中さん:2011/08/27(土) 19:52:37.18 ID:i7Z9iA1c
>371
おまえ>309で言われて>322のレスしといてそれかよ。
373774ワット発電中さん:2011/08/27(土) 20:05:11.86 ID:sLYJn33J
>>371
PIC焼き込む
電源onしたときのPICの動きは、
  電源on→最初にmain()の関数を実行する、と決まってるので、main()に飛び込んでくる→
  →LCDの初期化して、「オ」を表示する→関数終了でプログラム終了で止まってしまう。
という動きをします。しかし、これでは「1発野郎」の動作になってしまい、
もしかすると、LCDの文字がそのうち消えてしまうかもしれません。
だから僕たちは、PICにいつまでもずーっと「オ」の表示という仕事だけを繰り返して欲しいと考えます。

ところがmain()関数の中には、初期化と「オ」の表示が続けて書いてあるので、
初期化は1回だけ、「オ」の表示は何度も繰り返すようにして欲しいです。
そうすると、
  初期化
  条件がonなら繰り返してくれ、ここから
    「オ」の表示
  ここまで。
という書き方をする必要があるのです。
もしLCDが「オ」の表示を1回やるだけでOKというものなら、
  初期化
  「オ」の表示
  条件がonなら繰り返してくれ、ここから
  ここまで。
という書き方をすれば良いです。

条件がonなら繰り返してくれ → while(条件)
ここから → {
ここまで → }   という記述をします。

void main(){
  初期化
  while(1){
    「オ」の表示
    何かほかの処理
  }
}
374774ワット発電中さん:2011/08/27(土) 20:09:11.32 ID:tFhbIL/L
>>368なおったと考えるのではなく、今までも自分が作ったとうりに伝句
375774ワット発電中さん:2011/08/27(土) 20:15:07.36 ID:tFhbIL/L
失礼
>>368なおったと考えるのではなく、今までも自分が作った通りに
動いていたと考えるのだ
376774ワット発電中さん:2011/08/27(土) 20:28:13.07 ID:9mNaAbBh
12F1822を今弄っています。上手く動かないのでPICkit2でデバックしてみるかと思ったのですが、
MPLAB IDE v8.73aのdebuger→select toolの一覧でPICkit2が白文字表示で選択できません。
えーとこれは、何かのバージョンを上げれば対応しているでしょうか?
無理ならとうとうPICkit3を買わなくてはなりません。
どうでっしゃろ?
377774ワット発電中さん:2011/08/27(土) 20:36:27.17 ID:U3BTW9oF
>>376

IDE
configure→Select Device
で目的のPICを探してみて。
選んで、赤丸だったら未対応
緑丸だったら対応。

緑丸は一応対応なんだけど少し怪しい。
16F877なんか、pickit3対応って出てるのにどうがんばっても
debugに持っていけない。(普通のプログラミング読み書きはできる)
378371:2011/08/27(土) 21:05:02.41 ID:jMfPhl18
皆さんの言うとおりですね。
ありがとうございました。
379774ワット発電中さん:2011/08/27(土) 21:11:14.52 ID:WyXl+njg
>>342 オレに言われてもなぁ〜w
380774ワット発電中さん:2011/08/27(土) 22:12:57.05 ID:9mNaAbBh
>>377

ありがとうございます。PICkit3を買うしかなさそうですね。
最近なにかと出費が多くて嫁に何といわれるか・・・・
381774ワット発電中さん:2011/08/27(土) 23:05:48.54 ID:zpXI8ily
>>380
っシミュレーション。12F1822で先週試してみたけど素直に動いたよ。
IO含めてターゲット環境での動作不具合になると難しいけど、そのあたりは
UART、もしくはLED接続して状態を出力すればなんとかなるかと。
それよか、8pinだからデバッガとして接続するとピン数が厳しくないか?
382774ワット発電中さん:2011/08/27(土) 23:12:59.48 ID:zpXI8ily
今更ながら確認したら、PIC12F1822のMPLAB SIMは黄色のベータサポート(MPLAB IDE v8.70)だった。
変数の変化は期待値通りだったので・・・まぁ、赤色の未サポートじゃないから、試しに使ってみ
383774ワット発電中さん:2011/08/27(土) 23:13:59.86 ID:O4/w8ldt
自分の相談も聞いてください。

シリアルポートのバイナリ送信のLCD表示について、
可変長データ(20〜40バイト位)が連続で流れてきて、都度何バイト目かのデータの値をみて、
受信したデータのうちLCD表示する文字数を可変してます。
これまでLCD表示のデータをバッファにためて、まとめて出力しようとし
てたけど、オーバーランエラーが発生してしまったので、
データを受けながら、1バイトずつ表示するように変更しました。
その時、可変長データ毎に表示を書き換えるために、いったんLCDクリアのため、
LCDのクリアコマンドを挿入しました。
ところが、このコマンドのせいで、オーバーランエラーになってしまいます。
可変長データ毎にうまいことLCDを書き換える方法ありませんか?
割り込みというのは使ってないし、使うつもりもありません。
384774ワット発電中さん:2011/08/27(土) 23:21:47.90 ID:U3BTW9oF
>>383
LCD表示部分のコードは自分で設計しましたか?
コンパイラに標準装備の関数を使ってますか?
385774ワット発電中さん:2011/08/27(土) 23:50:32.41 ID:ir5D2t+J
LCD表示って結構時間かかるよね。数値を文字列に変換するのも必要だし。
データレートはいくらで20〜40バイトのデータ列単位の受信周期はどれくらい?
1バイトごとのデータをバッファに貯めるのは割り込みを使ってるんだよね?
386774ワット発電中さん:2011/08/27(土) 23:54:24.90 ID:zpXI8ily
>>383
LCDのクリアコマンドって結構な時間が必要だよね?確か数ms。
オーバーランエラー自体の発生意味を考えた方がいいよ。処理時間の分配も。
受信データ取得がポーリング方式なら、バイト通信時間2回分でオーバーランの可能性有り。
9600bpsなら約1ms/byte。なので約2msまでが単発の猶予時間。連続しちゃ駄目ね。
クリアコマンド使う代わりにスペース表示した方が処理時間は早いと思います。
387774ワット発電中さん:2011/08/27(土) 23:58:24.24 ID:tFhbIL/L
一般論として、もし、LCD に送れる速度(平均値)より表示したい
速度(平均値)の方が速ければオーバーランを防ぐことは不可能。
ソフト的に表示を間引く必要ある。

速度のピークが時々オーバーするだけなら、FIFO 処理でしのげ
るが、プログラミングの難易度は低くない。
388774ワット発電中さん:2011/08/28(日) 00:22:32.09 ID:LtFS2LZB
>>384
恥ずかしながら、的を得た答えかわかりませんが、
アセンブラでコーディングしています。
RCIFビットのポーリングループで、受信するたびにLCDのカーソルをずらしな
がら1バイト2文字ずつ書き込み処理してます。
プログラムは自分で書きました。

>>385
ビジーチェックというやつが、時間かかるっぽいですね。
データレートは、19.2kbpsで1バイト10ビット(スタート、ストップ、パリティなし)
なので1バイト0.52msだから、1データ10ms〜20msくらいですかね?
データとデータの間の間隔はすいません。ちょっと今わかりません。。。。
RCREGに値がはいったときに、RCIFのフラグがたちますよね?
それを見てるんですが、これも割り込みなんですかね。
強制的に4番地から始まるのが割り込みというイメージです。

答えになってるか分りませんがよろしくお願いします。
389774ワット発電中さん:2011/08/28(日) 00:25:48.79 ID:hMxUy/DD
>>388
シリアル受信に割り込みを使用。リングバッファの実装。
解決。
390774ワット発電中さん:2011/08/28(日) 00:30:53.25 ID:Xj2c0E4I
>>388
私の言いたかったことは、>>385-389です。

やっぱり、受信には割り込みを使うのがいいと思います。
食わず嫌いせずに一度チャレンジしてみてください。

割り込みには落とし穴もあるのですが、しっかりマスターすると
病み付きになります。
391774ワット発電中さん:2011/08/28(日) 00:53:14.57 ID:OFYZ2QuC
アセンブラなんて融通の利かない言語を使う時点で。
392774ワット発電中さん:2011/08/28(日) 01:34:06.01 ID:hdL1mSvl
>>388
mainルーチンのなかでRCIFフラグをチェックしてるのなら割り込みではないですね。
割り込みを使う気がないとありますが理由が何かあるのですか?
私も受信に割り込みとリングバッファを使うことをお勧めします。1つのデータ列の受信に
10〜20msということなので受信に割り込みを使えば1パケット受信完了後にデータ処理と
1画面分の表示を行っても次のパケット受信完了までに余裕をもって処理できるのではと思います。
データを取りこぼすこともなさそうに思いますが。
393774ワット発電中さん:2011/08/28(日) 06:25:59.04 ID:BQrVhOlA
LCD のビジーチェック中にシリアル受信しているか見ればいいと思うが。

まあ、結局割り込みをソフトでやってるようなもんだから、素直に割り込み使うことをお勧めする。
394774ワット発電中さん:2011/08/28(日) 10:01:11.72 ID:mAvLRNtG
すみません。
質問させてください。
16F88で外部クロック10MHzを接続し、ccsを使用してプログラムしています。
mainに
while(1){
output_high(PIN_A1);
delay_us(3333);
output_low(PIN_A1);
delay_us(3333);
}

このようにして、テスト信号用に、A1ピンからパルスを発信するだけの物を作りました。
3.333ms間ONが続いて、3.333ms間OFFになる、
単純な計算だと、1000/(3.333*2)=150Hzになると思うのですが、
周波数カウンターで計測すると131.5Hzしか出ていません。
outputが処理に時間を食っているとしか思えないのですが、
output_high(low)は使用上何ms食うのでしょうか?
調べても見当たらなかったので、質問させて頂きました。
よろしくお願いいたします。
395774ワット発電中さん:2011/08/28(日) 10:03:36.22 ID:fHFz7Z/x
>383
まず40バイトのRAMエリアを確保しそれをリングバッファとして書き込み、読み出しする
サブルーチンを作る。
Cなんかじゃ遅いので勿論アセンブラで。

タイマー0かタイマー1で0.5m秒位の割り込みを起動し、その中でフラグチェックし、データがあれば
リングバッファにコピーする。

ベースループの中でリングバッファにデータが有るか調べ、有ればデータを表示する。

これで問題ない筈。
あと、LCDのBUSYチェックをまじめにやってるなら、LCDがBUSYなら表示を保留して他の処理を動かすといい。
余力があるなら、LCDの表示は数十ミリ〜百ミリ秒毎にまとめて一画面表示する位でいい。
一生懸命書き換えてもどうせ見れないから。具体的にはRAM上に仮想VRAMを確保して一定時間毎に表示させる。
リングバッファを確保するのが難しければこちらだけでもいいが、後々の拡張性も考えればリングバッファを
作って置いた方が楽。
396774ワット発電中さん:2011/08/28(日) 10:07:21.80 ID:fHFz7Z/x
シミュレータを起動し、アセンブラ表示にしてストップウォッチ表示を見ながら
ステップ実行すると何処で時間が掛かってるかわかる。
Cなんかつかってる時点で…
397774ワット発電中さん:2011/08/28(日) 10:15:32.72 ID:Sj/gh0ad
>394

delay_us(3333) を抜いて動かしてみれば output_high(low) の時間がわかるんじゃね?
398774ワット発電中さん:2011/08/28(日) 10:21:55.77 ID:Nr+luM6l
>>396
いちいちCだアセンブラだなんつう話しすんなよ、荒れる元だ。
399774ワット発電中さん:2011/08/28(日) 10:35:34.31 ID:hdL1mSvl
>>395の「Cなんかじゃ遅いので勿論アセンブラで」というのはちょっと違うんじゃないか。
このケースでは全部Cでも十分だと思うけどな。

>>396の「Cなんかつかってる時点で…」というのはわからなくもない。
Cにおけるディレイ関数などは時間的精度はまったく当てにならないと考えるべきだろう。

400774ワット発電中さん:2011/08/28(日) 10:55:37.71 ID:O2Smxzby
好きな言語で作れば良し。どちらの言語でも目標は到達できるはず。
今回のケース(シリアルLCD表示)は処理時間とデバイスの挙動を把握できれば解決するはず。
401774ワット発電中さん:2011/08/28(日) 13:20:23.94 ID:O2Smxzby
>>394
CCSの言語仕様は知らないけど、源発振の定義が未定義、もしくは違う値と推測してみた。
マクロ定義を確認。けど、未定義だとコンパイルエラー出る気もするが、省略時の初期値
があるかもしれない。
402774ワット発電中さん:2011/08/28(日) 13:28:45.20 ID:Xj2c0E4I
>>394
コンパイラにPICが何MHzで動いているか指示していますか?

ソースコードの行頭に

#use delay(clock=10000000)
を入れてみてください。

使い方は
#use delay(clock='PICの周波数 単位はHz' )
です。
403774ワット発電中さん:2011/08/28(日) 13:32:02.31 ID:Xj2c0E4I
>>402
行頭ではなく、 #include行の下あたりが正しいです。
404774ワット発電中さん:2011/08/28(日) 13:54:06.62 ID:mAvLRNtG
>>401
>>402

有難うございました。
解決しました!

定義はちゃんと10MHzでしてありましたが、これが問題でした。

外部クロックに10MHzのセラロックを使用していますが、
この周波数を測ってみると9.95MHzと0.5%ほどの誤差がありました。

#use delay(clock=9950000)

と定義してみると、150.8Hzが出ました!
原クロックの誤差を侮っていました…
まだ、小数点以下の誤差がありますが、仕方のないレベルとします。

ヒントを頂きありがとうございました。
405774ワット発電中さん:2011/08/28(日) 14:10:56.34 ID:hdL1mSvl
Cで自分でディレイ関数を書くと長い時間の精度を優先すると短いディレイで誤差が大きくなり
逆の場合長い時間で誤差が増すといったぐあいになるけど、メーカーから提供されるライブラリ
のディレイ関数は時間的なレンジにかかわらず精度がでるのかな?
どんなコードになってるのだろう?
406774ワット発電中さん:2011/08/28(日) 15:09:30.57 ID:O2Smxzby
>>404
1台だけならいいけど、複数台やる場合は今回の値が当てはまらない場合有ります。
別のセラロックは誤差が逆方向って話もあり、仕様上は前後0.5%の誤差。
数十個に1個の割合でピッタリ。もありそうなので、選別するのも手です。

10MHz目標だけど、内蔵クロックを使ってみるのもあり(88はMax8MHz)。
温度帯域で誤差が出るけど、以外と健闘します。必要であれば微調整もできます。
個別調整は面倒ですけどね。
407774ワット発電中さん:2011/08/28(日) 15:30:04.62 ID:xtvNS20T
精度が必要なら、素直に水晶使え。
408774ワット発電中さん:2011/08/28(日) 15:35:50.77 ID:2VamxRJz
ですよね。
409774ワット発電中さん:2011/08/28(日) 16:16:14.29 ID:yy1WJ62G
セラロックの選別とかあまり聞いたことが無いな
410774ワット発電中さん:2011/08/28(日) 16:30:07.97 ID:O2Smxzby
セラロックありき。の様子なので、幾つか持っているんじゃないかと思った次第。
実際にはやらないと思うけど、まぁネタとして流して下さい。
411774ワット発電中さん:2011/08/28(日) 17:02:29.92 ID:XoAK2fpc
>>409
設計ミスって一回やらせた事があるなw
412774ワット発電中さん:2011/08/28(日) 17:09:27.66 ID:sJIGrSiM
量産時、チェッカーで自動校正してEEPROMに書き込ませた事はある。
413774ワット発電中さん:2011/08/28(日) 17:21:48.25 ID:Xj2c0E4I
セラロック安いからついつい選んでしまう。
シリアル転送もクロック同期でやっちゃえば
それなりに使えるしね。
非同期では・・・うーーーーー。
414774ワット発電中さん:2011/08/28(日) 17:24:36.22 ID:Sj/gh0ad
調歩同期だってセラロックで問題なかろう
415774ワット発電中さん:2011/08/28(日) 17:31:44.74 ID:k75Q2Izw
こまけぇこたぁ(ry
416774ワット発電中さん:2011/08/28(日) 17:51:11.59 ID:Xj2c0E4I
>>414
ハードウェアUART使うのなら問題ないけど
任意のポートでソフトで実現すると
結構気になる。私が未熟なだけだろうか?
417774ワット発電中さん:2011/08/28(日) 18:11:36.83 ID:sJIGrSiM
>>416
>私が未熟なだけだろうか?

うん
418774ワット発電中さん:2011/08/28(日) 18:18:10.36 ID:O2Smxzby
送信ならポート操作でがんばれるけど、受信ある場合は面倒なのでデバイス変える。ものぐさな俺。
常温範囲内限定になるけど、内蔵発振子でも調歩同期はいけるよ。1byte内で完結する世界だし。
時計とかの大きな時間を管理するなら水晶推奨。
419774ワット発電中さん:2011/08/28(日) 18:30:15.86 ID:Xj2c0E4I
精進します!
420774ワット発電中さん:2011/08/28(日) 18:35:28.00 ID:sJIGrSiM
暇な時にアセンブラでスケルトン作っとくと良いよ。
>>395にも書いたけど、基本は高速なタイマ割り込みで最低限の処理とタスク管理。
9600BPSなら26μ秒又は34.7μ秒周期の割り込みで送受信可能。
421774ワット発電中さん:2011/08/28(日) 19:59:59.05 ID:WYyH//n1
>>382

ありがとうございました。
MPLAB SIMもなかなか便利ですね。
しかし、残念ながらwatchでAdd SFRは登録できるのですが、
Add Symbolが塗りつぶされて使えません。
変数が見れないのが少し残念です。

これは黄色のベータサポートだからという事でしょうか?
422774ワット発電中さん:2011/08/28(日) 20:16:08.85 ID:HRnoZgON
内蔵クロックでシリアルは危ないのかな。
9600だと割り込み使って一応エラー無く動いてはいるが。
423774ワット発電中さん:2011/08/28(日) 20:43:38.54 ID:EaQ8C4kJ
>>418
たしかに物凄く長いビット長を仮定すると厳しそうだな
1バイト長ならパーセント以内の誤差なら問題なさそうだね
424774ワット発電中さん:2011/08/28(日) 20:46:12.17 ID:O2Smxzby
>>421
元382だけど、変数見られるよ。半日前と、そして今見直したけど、大丈夫。
最悪はファイルレジスタ表示かな。マップ利用で大変だけど。
あとはIDEのバージョン関係しそう。
425383:2011/08/28(日) 20:47:02.06 ID:KSQyke8J
いろいろありがとうございます。

なんとかなく難しそうなんで、割り込みというのを避けようとしてましたが、
使うというのが総じた意見のようなので、勉強してみようと思います。
426774ワット発電中さん:2011/08/28(日) 20:50:26.58 ID:aSu+1u0X
>425
割り込み発生した瞬間と抜けるときの挙動のクセさえ慣れればそんなに難しくない。
2,3個デモプログラム作ればだいたい慣れるよ。
427774ワット発電中さん:2011/08/28(日) 20:52:44.07 ID:O2Smxzby
>>422
230400bpsも内蔵でいけるよ。パリティ無し。16F1823、内蔵32M駆動での話。
ビット時間の誤差は-0.79%。室温環境。
428774ワット発電中さん:2011/08/28(日) 21:06:45.48 ID:k9rYG2SK
>>407 古いな。今ならMEMS発振器だよ。
429774ワット発電中さん:2011/08/28(日) 21:18:00.19 ID:fYg6/8QH
>>394
ccsを使ってないから憶測で申し訳ない

コンパイラの展開イメージ(アセンブラ)を見ると答えがありませんか?
仮に関数がマクロ関数だとしてもwhileのループ分の記述を0秒で処理出来ないです

(delay_usをマクロ関数に出来るなら…つかシビアなタイミングは割込みかアセンブラで書くしかない気がする)
430774ワット発電中さん:2011/08/28(日) 21:21:24.39 ID:fYg6/8QH
連投でごめんなさいよっと

>>404
なーんだ、ccsってそういう仕様なのか〜、勉強になりました

で、最後の誤差の話が私の書いた話でピッタリになるのかな?
セラロックをCXOにして150.000Hz位の精度が出せると面白いが趣味っぽい話だよねw
431774ワット発電中さん:2011/08/28(日) 23:15:37.17 ID:BP2mJsfQ
水晶振動子も中華の安い所なら
ttp://www.goodluckbuy.com/
で"HC-49S"で検索すれば20個 $4.44で出てくる
ついでに"Surface Mount Capacitor"でチップコンデンサ
個人的には0603(1608)サイズ位で22pF前後のやつをそろえておけば
手軽にそこそこ高精度で使える。
送料無料だけど2〜3週間位かかるし、届くかどうか多少不安あり
432774ワット発電中さん:2011/08/28(日) 23:47:12.55 ID:/E63cLcY
>>431
そのサイトいいよね
デジタルオシロが安く買えた。

抵抗が一種類だけ欲しかったから送料無料ってことで頼んだけど
頼んだのと違う値が届いて残念だったがw
433774ワット発電中さん:2011/08/29(月) 00:21:08.58 ID:HBuSMGwZ
LCDコントローラどれにしようか悩んでいたら、LCDダイレクトドライブというのを知りました。
LCDコントローラなしで、マイコンで直接駆動するらしいです。
PIC32なら、できる?
重ければ、メインとLCD制御用にPIC32を2つ載せればいいか、と考え中。
434774ワット発電中さん:2011/08/29(月) 00:32:56.48 ID:yGNmobPb
MCLRって「おまじない」で使わなくともプルアップしてるんですけど
しておかないとどんな不都合があるのですか?
(リセットがらみなのかなぁ)

8ピンPICをよく使うので、ピンを使わないような余裕はあまりないのですが
MCLRを入力に使ってて、アクティブHIGHなんかで設計してあるのを見ると
どうなんだろうと思って。
具体的にどんな不都合があるのでしょう?
435774ワット発電中さん:2011/08/29(月) 00:44:26.99 ID:UPZaXwpN
常にMCLR内部プルアップで使ってて、外に抵抗付けたこと1度もないけど不具合はないなあ。
436774ワット発電中さん:2011/08/29(月) 01:14:22.30 ID:EBm/KD/6
MCLRはVPPでもあるからかな?
437774ワット発電中さん:2011/08/29(月) 01:24:14.18 ID:/RYBy905
>432
俺も16x2のキャラクタLCD "JHD659"(バックライト有)が$4.76と安かったので
青地白文字を頼んだら黄地黒文字のが届いた。
さらに基板にJHD 162Aと書いてあるので、それが正しい方向と思って組んだら
上下逆だったw
最近 基板作成も始めたのかな "Soldering Manufacturing Service"
438774ワット発電中さん:2011/08/29(月) 01:50:35.59 ID:GQxXAO78
MPLAB SIMのロジアナ機能でSPI通信の波形を見ようと思ったんだけど
SSPSTAT,BFが1にならなくてループしちゃうのね・・・・PICに書き込んでオシロで見たらちゃんとSPIの波形出てるんだけど・・・・
439774ワット発電中さん:2011/08/29(月) 02:18:59.91 ID:BzDqXCU8
>>434
MCLRを入力として使うと内部プルアップされないんじゃないの?
少なくとも俺がよく使う16F690ではそうなってる。

MCLRとして割り当てるとweak pull-upになるけど、データシートではノイズ
による誤動作防止のために外部プルアップが推奨されてる。
440774ワット発電中さん:2011/08/29(月) 16:45:05.31 ID:/fchaSPv
>>438

質問に質問ですが、自分も今I2Cやっててうまく行かないのでオシロで波形を見てるんですが上手く見れません。
SEC/DIVはどのくらいにしてますか?
441774ワット発電中さん:2011/08/29(月) 18:08:21.92 ID:X9ZHQxYu
>>440
SPI通信ならCS信号にトリガーをかければ通信の様子が分かると思うけどI2Cは
クロックとデータ線だけだからちょっとやりにくそうかな。クロックに対するトリガー設定で
1バイト長のホールド時間を設定するとうまく波形がとまってくれないかな。
時間軸のレンジはデータレートが400kHzくらいだと思うので25us、50us、
その他知りたい情報により変わると思う。
442774ワット発電中さん:2011/08/29(月) 18:18:35.38 ID:/fchaSPv
>>441

ありがとうございました。さっそく試してみます。
443774ワット発電中さん:2011/08/29(月) 18:23:27.92 ID:/fchaSPv
今日、秋月でPICkit3を買いました。
まだしっくりと来ないのですがなんとか使ってます。
で質問なのですが、PICkit3 programer で Writeした後、succeedとかの表示が出ないのですがこういう仕様なのでしょうか?
それと表示の小窓が1行しかないのですがこれも仕様でしょうか?
444774ワット発電中さん:2011/08/29(月) 18:44:41.83 ID:zBqfz1q8
>>442
古典的な力業だけどSCを発行する関数で空きポートへパルス出力。それをデバッグ用に使う。
2chオシロ、別枠で外部トリガ入力があればベスト。そこにデバッグ用の信号を突っ込む。
トリガ条件を上手く設定できれば見るべき2つの波形の頭出しができるかなぁと。
空きポートがない場合は…。頑張れ。
445774ワット発電中さん:2011/08/29(月) 19:24:36.05 ID:j8P6CwgF
力業つーか、普通だよね
逆にSCをトリガにするロジアナ作るのもアリだし
446耳がダメなソシヲタ:2011/08/29(月) 20:41:19.33 ID:JNiARkX0
>>439
そのとおりなんだけど、>>435と同じく、実働上問題が起きてないのも事実。

シビアコンディションでは問題が起こるかもしれないし、解ってやるのでなければ
「噛ましとけ」が正解なんだけど。
447774ワット発電中さん:2011/08/29(月) 21:09:57.81 ID:/fchaSPv
>>444-445
ありがとうございました。
オシロ
448774ワット発電中さん:2011/08/29(月) 21:12:51.37 ID:/fchaSPv
>>444-445

ありがとうございました。

オシロ経験値が低いのでPICkit3を購入しましたが、両方こなせたら鬼に金棒ですね。頑張ってみます。
449774ワット発電中さん:2011/08/29(月) 21:30:31.28 ID:/fchaSPv
でもって8ピンで充分だと12F1822でI2Cやろうとしてましたが、SCLと ICSPCLKが同じピンなので諦めて18ピンの16F1827でやることにしました。
初めから素直に18ピンにしておけばよかったのですが、そもそもは12F683から始まった事なので仕方ありません。

でもって質問が続いていて恐縮ですが、SDA1/SDA2とSCL1/SDA2のどちらの組み合わせを使ってI2Cをやるかという設定はどのレジスタで設定するのでしょうか?
450774ワット発電中さん:2011/08/29(月) 21:46:23.50 ID:zBqfz1q8
>>449
データシート斜め読みだけど、2組あるんじゃね?16F1827の場合。概要でMSSPが2とある。
レジスタもSSPxCONがSSP1CON, SSP2CONと2系統。好きな方の系統に属するレジスタを
IIC有効設定すれば割り付けが自動確定する気がする。
451774ワット発電中さん:2011/08/29(月) 21:52:32.93 ID:/fchaSPv
>>450

そうでしたか、いまデータシートを見直したら16F1827は確かに2つ使えるようです。
てっきり1つのみだと思い込んでいました。
ありがとうございました。
452774ワット発電中さん:2011/08/29(月) 23:20:56.77 ID:yGNmobPb
MCLRの件、亀レスでごめんなさい。

ピンに余裕があるときにはMCLRとしてちゃんとプルアップしておくんですけど、
デジタルのInput portとして使う分には気にしなくてもいいんですかね。

ピンがが余ったから何もつながないで宙ぶらりんとか。
453774ワット発電中さん:2011/08/29(月) 23:31:02.53 ID:HppoHAPM
>>452
一般論として、未使用の入力端子は論理を固定しておく必要がある。
454774ワット発電中さん:2011/08/29(月) 23:49:48.77 ID:yGNmobPb
>>452

確かにそうですね。
面倒がらずに、ちゃんとGNDに落としておきます。
455774ワット発電中さん:2011/08/29(月) 23:50:40.28 ID:yGNmobPb
ごめんなさい。
>>453
でした。
456774ワット発電中さん:2011/08/29(月) 23:59:23.21 ID:V3e15XVC
12F509で遊んでいる。50円/個だから遊び甲斐がある。
ところで、この石は割り込み機能が無い。
自分でなんとか等価な機能をプログラミングしたいのだが、良い方法があるだろうか?
教えてクンで恐縮だが、ヒント欲しい。
457774ワット発電中さん:2011/08/30(火) 00:05:01.39 ID:4UK9jzlR
プログラムのループに定期的に(20命令ごととか)、条件満たしてるかチェックする行を追加する。
458774ワット発電中さん:2011/08/30(火) 00:07:25.68 ID:GmROTT3P
>>457
それって単なるループの一環の処理じゃん。
割り込み機能が無いんならコードでどうこうなんて無理だろ
459774ワット発電中さん:2011/08/30(火) 00:20:06.95 ID:miDvtd69
>>456
さすがにもう少し具体的に書かないと、レスがつけようが無いです。
>>458の言うとおり、割り込み機能が無い以上、割り込みと全く同じ事はできません。
(さもなければ、割り込み機能自体が必要ないことになる)
460774ワット発電中さん:2011/08/30(火) 01:58:11.28 ID:UKbURlCn
元々無いものをソフトウェアでエミュレートしようとすれば
>>457みたくなるわな
461774ワット発電中さん:2011/08/30(火) 03:29:27.45 ID:rlmDi2Vb
>>456
sleep 状態から wake up させることは出来るので、条件に
よっては、これを割り込みのように使える場合もある。
462774ワット発電中さん:2011/08/30(火) 06:08:27.89 ID:akhzIFk0
>>454
物が~MCLRピンならGNDに落とすよりVCC(VDD?)に上げるべきかもね
463774ワット発電中さん:2011/08/30(火) 06:26:30.48 ID:akhzIFk0
>>456
面白い、TMR0もあるのに割込みはない
Lチカにはうってつけじゃないか?w

WDTしかハード要件の因子ないね、>>461の方法しかなくね?
464774ワット発電中さん:2011/08/30(火) 07:36:01.70 ID:RziGRCpB
>>456です。
皆さん、レスありがと。やっぱ、>>457さんみたいにやるしかないか。

タイマーとかWDTとかWakeUpとかを利用できないかと思ったけど、
なかなかいい案が出てこなかった。
やりたいのは、Lチカです。3色LED一個に一個のPICが点灯制御。
電源、GND、通信線の3本(場合によっては、電源線に通信信号を入れて2本もあり)で、
これらを250個シリーズに接続。(通信ラインインピーダンスとか通信遅れとかはこれから検討)
3本の通信線の先にはメインCPUがあって、個々のLED+PICに対し、点灯制御信号を送り、
250個のLEDをソフトウエアで自由に点灯制御させる。クリスマスツリー用に検討中、いや妄想中。

通信線の信号で割り込みを掛け、PICに点灯制御信号を送るが、各々のLED+PICには固有の番号を割り当て、
制御信号がどのLED+PIC組合せに対して送っているかを識別させる。
250個ものLED、PICを使うのでできるだけコストは下げたく、12F509を選択。
割り込み機能が必須ではないので、もう少し考えてみる。(割り込みつき8ピンPICもあるのでそれも選択肢の一つだが)
465774ワット発電中さん:2011/08/30(火) 08:04:00.60 ID:WU1HvOLl
>>464
8x8マトリックスのダイナミック点灯なら、16本の信号で済む。
PIC一個で十分。

それを変な方向に走って、割り込み云々とは本末転倒。
466774ワット発電中さん:2011/08/30(火) 08:12:59.64 ID:VMgLrhkj
クリスマス用というのがポイントと思った。1個1個のLEDが離れた場所にある。
距離が短ければマトリクスで十分だけど、個々が数cm離れていると配線が大変。
64個、個々が1cm離れてればそれだけで64cm。線材だけで結構な金額になる。
本人は線材節約、通信による送受信を割り込み相当の制御で実現すべく奮闘中。
と、俺なりに解釈してみた。
467774ワット発電中さん:2011/08/30(火) 08:30:20.86 ID:HyZEe5wK
そういうのだったら低速通信でいいからポーリングでいいと思う
WDTで擬似タスクスイッチを実装するほどの事ではないと思う
468774ワット発電中さん:2011/08/30(火) 08:43:40.52 ID:rTQ+tMxj
250個のLEDか…クリスマスツリー用って事は電流余りケチれないと思うのだが、
20mAとしても個別制御だからLEDだけで 250個*3色*20mAの15A。
あまり触りたくねぇなぁ。。。
469774ワット発電中さん:2011/08/30(火) 12:31:33.26 ID:rlmDi2Vb
>>464
見るものが、1本の通信線の状態とタイマーのたった2つ、
オンオフするものがLED の3個のだけなのだから、きちんと
シーケンス組めばポーリングで楽勝でしょう。

#250個の PIC に別の ID 埋めるのがちょっと手間だね。
470774ワット発電中さん:2011/08/30(火) 12:46:30.15 ID:Nrnywmue
>>464
18ピンのPICでLED12個ぐらい接続して、
PICのID+ピン番号を通信で渡して制御すれば良いんじゃないの?
250/12=21個のPICで済むじゃん?
PICとLEDが1:1ってなんか意味あんの?
471774ワット発電中さん:2011/08/30(火) 12:49:49.71 ID:Nrnywmue
>>470
自己レス
対象は3色LEDか…
18ピンPICで4個制御がいいとこか…
それでも80個ほどで出来るな

ピンの組み合わせで制御するように工夫すればもっといけるけど。
472銀翼の堕天使 ◆2TENKK.nkY :2011/08/30(火) 18:03:17.97 ID:PKIXwVXX
シフトレジスタICは使わないのかね?
473774ワット発電中さん:2011/08/30(火) 18:38:50.36 ID:HmPBWB/W
MAXの豪華なLEDドライバを使ってみるとかおもったが、250個なら4つチェーンでコストが。
ttp://japan.maxim-ic.com/datasheet/index.mvp/id/1339
474774ワット発電中さん:2011/08/30(火) 19:17:34.59 ID:VMgLrhkj
これはまた、かゆいところに手が届きそうなデバイス。けど、高い。
475774ワット発電中さん:2011/08/30(火) 19:36:43.40 ID:ppCck92s
フルカラーLEDドットマトリクス表示機の
LED部を延長して配置しなおせばいいんじゃね?
16×16で256独立に表示できるでしょ

画像データ作るのがしっちゃかめっちゃかだけど
どのみちしっちゃかめっちゃかだろ
476774ワット発電中さん:2011/08/30(火) 19:43:01.62 ID:DbC25kb2
>472
いくらシリーズ接続とは言っても一本道の直列接続じゃ自由度が大幅に制限される。
個々にインテリジェントを持たせて、バスにぶら下がるような接続の方が分岐も延長も楽。
PICに余裕あるだろうからソフトPWMで多少明るさを変える事も出来そうだし。
IC 1個で複数制御も配置によっちゃケーブルが無駄に必要になる
(家の周り1周25cm間隔でとかだとIC間は普通につないでLEDは別に配線とか)

(■)PIC or コントローラ (○)RGB-LED

■=====■=====■=====
○=○―○  ○=○―○  ○=○―○

こっちの方がシンプルにならない
Т ̄Т ̄Т ̄Т ̄Т ̄Т ̄Т ̄Т ̄Т ̄
■  ■  ■  ■  ■  ■  ■  ■  ■ 
○  ○  ○  ○  ○  ○  ○  ○  ○
477774ワット発電中さん:2011/08/30(火) 19:56:55.60 ID:rlmDi2Vb
>>471
PIC 1 個で複数の LED をさばくなら
16F57 \100 (外部CR使う) が割安だな
478774ワット発電中さん:2011/08/30(火) 19:58:21.01 ID:mexm7LNr
最近24FのPICの話題が多いけど、何か良い方法ない?
479774ワット発電中さん:2011/08/30(火) 20:00:48.30 ID:Dkc/bVRd
>>476
I2Cで出来そうだな。リキ入れればRS-4xxとかCANもあるか。
SPIでチェーンもありだけど、距離が延びないだろうな。
480774ワット発電中さん:2011/08/30(火) 20:02:59.27 ID:Dkc/bVRd
>>478
なんの方法?
スレを分けるとかの話し?
481774ワット発電中さん:2011/08/30(火) 20:21:07.40 ID:xUGVuxQB
>>478

そんな話題でたっけ?
482774ワット発電中さん:2011/08/30(火) 21:41:26.40 ID:dqnfnrRN
16bit以上と未満で分けるのはいいかもな。
483774ワット発電中さん:2011/08/30(火) 21:48:41.85 ID:RziGRCpB
>>464です。
仕事から戻ったら、たくさんのレス来てました。 ありがとう。

一個の3色LEDに一個のPICは勿体無いのではとありましたが、
まぁ、確かにそうかもしれないけど、以下のような単純構成をたくさんシリーズに並べることで
飾りとしての自由度を確保させることを狙ってます。基本的にバスラインなので、パラに繋いでもOKですし。

―■―   ―はバスライン、■はPIC、○は3色LED


 ↑これを250個並べます。電流値が15Aにもなって危険!という指摘ももっともですが、
それならば、一列50個にしてそれを5列にしてもOKと思います。ツリーなので。
電源は、自室に転がっているATX電源を使う予定です。5V出力の電流が取れるので。電源ラインはヒューズは必須ですね。

メインCPUからの制御データは、ポーリングでも良いかもしれませんが、
もっと原始的にCPUからの一方向垂れ流しで考えることにします。大体アイデアができています。
点灯最短制御時間は、0.5秒を考えています。
あまり、高速にちかちかさせるとネオンサインみたいに味気なくなるので、
ゆっくり、カラーグラデュエーションさせたり、いろんな色の組合せでゆっくり、きれいにちかちかさせるつもりです。

とりあえず、20個ぐらいで試してみます。できたらアップします。
484ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY :2011/08/30(火) 22:10:51.15 ID:Ezht+fUU
ニコニコ技術部にでもうpするのか?
それだけ多いと、電流の問題がコネクタで顕著に出るから、それを考慮してがんばって
485774ワット発電中さん:2011/08/30(火) 23:21:12.31 ID:k7LeQ/ed
今日か昨日、誰か「電源に制御信号を載せる」ということを言っていたけど、
DC電源に載せるのって、どうやってやるのだろう。
というのは、DC電源は、パスコンとかがバッチリ入っているので、
制御信号をどうやって取り出すのかに興味がある。

あと、線路上のノイズとの区別はどうやってやるのだろう。
仮に5V電源で行うと、載せる制御信号は、1Vppくらい? つまり5V〜4Vの信号。
S/N上げるために5V〜2Vの信号とかにすると、伝送電力が落ちそうな気もする。
486774ワット発電中さん:2011/08/30(火) 23:28:21.84 ID:4UK9jzlR
>485
パスコンにフィルタされる前にカップリングコンデンサ付けて取り出せばいいんじゃない?
ノイズとは幅で区別。エラー訂正信号付加。

てか、PLCって知らない?

487774ワット発電中さん:2011/08/30(火) 23:34:38.07 ID:Rvwk/bfU
>>485
18世紀かよw
488774ワット発電中さん:2011/08/30(火) 23:43:55.47 ID:UKbURlCn
そういえば昔、IBMの人の本でM系列でクリスマス電飾作ったら
良い感じに光るとか見たことあるなあ・・・M系列とは言っても
シリアルのバスで通信させればフィードバックかけなくてもいいんじゃね?
489774ワット発電中さん:2011/08/31(水) 01:28:33.24 ID:YHcJleSw
LC同調回路+LEDを1ユニットにして、
制御線に流す交流の周波数を変えると
同調して光るLEDが変わってくってのはどうだ?
490774ワット発電中さん:2011/08/31(水) 02:42:46.59 ID:kc9BOWjK
周辺にゴチャゴチャ回路付けると、安いPIC選んだ意味が無いんじゃね?
どうせやるなら、10F200ぐらいまでスペック落としてやった方がチャレンジしがいがあると思うがw
491774ワット発電中さん:2011/08/31(水) 02:45:28.63 ID:1wbDov9E
>>489
1票。
振幅で判別するのは、ノイズ除去が困難。
周波数の方がいいね。

>>487
18世紀って? ワケワカラン。
492774ワット発電中さん:2011/08/31(水) 03:33:10.82 ID:P/C2Zw/+
19世紀には既にベルが電話を発明していたというこっちゃろ
493774ワット発電中さん:2011/08/31(水) 08:32:28.65 ID:faMPObF2
>>485
> DC電源は、パスコンとかがバッチリ入っているので、
> 制御信号をどうやって取り出すのかに興味がある。
単純にはHPF,LPFだな。

例えば電話回線、あれは50V?と音声が一緒の信号で一般的にはトランスでDCカットして音声を取り出す。
例えば Power over Ethernet。あれもトランスの直前でDCを分けてる。

> 仮に5V電源で行うと、載せる制御信号は、1Vppくらい? つまり5V〜4Vの信号。
それ、デジタル信号的な発想だなw

>>486
> てか、PLCって知らない?
あれはDCじゃなくてAC。

494774ワット発電中さん:2011/08/31(水) 09:16:10.47 ID:ZlCj3lO8
海外ではX10って規格が結構使われててだな…
http://ja.wikipedia.org/wiki/X10_(%E5%B7%A5%E6%A5%AD%E8%A6%8F%E6%A0%BC)
495774ワット発電中さん:2011/08/31(水) 12:24:53.18 ID:P/C2Zw/+
> 仮に5V電源で行うと、載せる制御信号は、1Vppくらい? つまり5V〜4Vの信号。

トランスもコンデンサも使わず電源ラインに乗せた制御信号を PIC ONLY で
取得しようとすると、この発想になりそうだが、、、さて、実現方法や如何に。
496774ワット発電中さん:2011/08/31(水) 12:25:59.67 ID:P/C2Zw/+
>>489
クリスマスが終わったらスペアナとして売りだす
497774ワット発電中さん:2011/08/31(水) 12:46:42.31 ID:sVX4EdJQ
俺はスペルマを売り出す!
498のうし:2011/08/31(水) 13:41:08.07 ID:LrrEFWpk
>>497

>きっと初めて聞く方も多いかと思いますが、私は「精子バンク医療科学研究所」の
【長谷部 恭子】と言います。
この度男性の精子を新たにストックする事となり役200人分の
精子を募集しています。(役400ml)
http://j-love-h.net/k-seisi/
精子を買い取る事は出来ませんが、
謝礼として1精射20万円差し上げます。
http://j-love-h.net/k-seisi/
【条件】
?年齢が18歳以上60歳未満である事(高校生を含まない)
?性病を持っていない方
?1度でも精子バンクに登録した事がある方
?1名当り最大で5精射までとさせて頂きます。
http://j-love-h.net/k-seisi/
※規定量、規定人数に達した場合は予告せず募集を終了する事があります。
予めご了承下さい。
詳しくはこちらをご覧下さい。
http://j-love-h.net/k-seisi/
499774ワット発電中さん:2011/08/31(水) 14:33:22.03 ID:sVX4EdJQ
>>498

▽サイト名
精子バンク医療科学研究所
▽サイトURL
http://love-pee.net/seisi//
▽被害状況
【長谷部恭子】と言います。
この度男性の静止を新たにストックすることとなり、役200人分の精子を募集しています。(役400ml)
http://love-pee.net/seisi//
精子を買い取ることはできませんが謝礼として1射精20万円差し上げます。

賢明な人は手を出さないようにしてください。規約を見たら、ポイント制になっています。
500774ワット発電中さん:2011/08/31(水) 15:25:18.76 ID:0v5A02o2
風俗と連携すると効率いいんじゃないか
501774ワット発電中さん:2011/08/31(水) 15:59:34.90 ID:T/sivR8i
射精の瞬間を見てくれるならボランティアでもかまわん
502774ワット発電中さん:2011/08/31(水) 16:57:45.91 ID:O9l4CTiU
旧帝大に通っていた頃、精液の買い取りが来てるらしいという噂がたまに流れていた
503774ワット発電中さん:2011/08/31(水) 18:59:40.65 ID:/dgfju8S
おまえらちょっと何言ってるかわかんない^^;
504498:2011/08/31(水) 19:06:11.47 ID:LrrEFWpk
教せーてほすぃーか? ( ̄ー ̄)ニヤリッ
505774ワット発電中さん:2011/08/31(水) 20:04:06.68 ID:498lstiH
新型の12/16F18xxって少ピンのはしょぼい(特に14pin)と思ってけどラインナップとしては
ちゃんとあって秋月に入荷していないだけなのね
[20pin]
未 16F1829 ---- 8Kw 1024 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2
未 16F1828 ---- 4Kw 256 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2

[18pin]
未 16F1847 ---- 8Kw 1024 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2
秋 16F1827 \120 4Kw 384 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2
未 16F1826 ---- 2Kw 256 I/O16 ADC12 CapS12 Comp2 Timer2/1 MSSP1 ECCP1/- CCP-

[14pin]
未 16F1825 ---- 8Kw 1024 I/O12 ADC8 CapS8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2
未 16F1824 ---- 4Kw 256 I/O12 ADC8 CapS8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2
秋 16F1823 \100 2Kw 128 I/O12 ADC8 CapS8 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP-

[8pin]
未 12F1840 ---- 4Kw 256 I/O6 ADC4 CapS4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP-
秋 12F1822 \80 2Kw 128 I/O6 ADC4 CapS4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP-
506774ワット発電中さん:2011/08/31(水) 20:12:38.56 ID:mfqTQTWF
久しぶりにPICkit2でICSPしたいのですが、既存の回路を保護するためにダイオードを入れた気がします。
何処にどんなダイオードを入れるち良いのでしょうか?
507774ワット発電中さん:2011/08/31(水) 21:06:05.39 ID:P/C2Zw/+
508774ワット発電中さん:2011/09/01(木) 13:00:52.39 ID:7VDQeo4w
レベル変換について
QVGAサイズのカラーLCDモジュールの動作電圧は2.8vとか3.0vとかが最適値らしい。
3.3v動作のマイコンと接続する時どのように接続してますか?3.3v系のIOを3.0v動作中の
LCDモジュールに直接接続していいんだろうか?わけあってマイコンの電圧は3.3v固定なので。
509774ワット発電中さん:2011/09/01(木) 14:20:00.82 ID:Rd4YbI7e
>>508
抵抗分圧w
510774ワット発電中さん:2011/09/01(木) 14:48:23.83 ID:+xlPqdE/
>>508
3.3Vを直で入れる。
定格内で趣味の用途ならという条件付きだけど
511774ワット発電中さん:2011/09/01(木) 15:20:43.73 ID:ciPCNMJW
509同様保護抵抗でおわりじゃね?
面倒なら510の考えもあり
多少無茶したってお遊びならこわれねーべ?
512774ワット発電中さん:2011/09/01(木) 19:03:56.24 ID:lKMm0TUl
>>508
仕事なら541を噛ませとく。

趣味でも抵抗分圧はやめとけ。
ケーブルで延ばすと浮遊容量が増え、それに抵抗だと波形が鈍る。
インピーダンスも高めになるから、ノイズの影響も受けるしな。
513耳がダメなソシヲタ:2011/09/01(木) 20:01:36.11 ID:+svR2ASI
> 509同様保護抵抗でおわりじゃね?
同様ではなさそうだけど。
514774ワット発電中さん:2011/09/01(木) 21:45:59.18 ID:YrPcEzVM
>>507

ありがとうございます。
そのサイトを見ての質問ですが・・・・

まr@
<CSPDATとICSPCLK
515514:2011/09/01(木) 21:53:59.30 ID:YrPcEzVM
>507

ありがとうございます。
そのサイトを見ての質問ですが・・・・

まずPIC側のICSPDATとICSPCLKピンはPICkit2のDATとCLK専用にして他の回路と分離する。
同じくPIC側のVppもPICkit2のVpp専用として他の回路と分離する。
そして、Vssはグランドに落す。

ここまでは問題ないと思うのですが、Vddの扱いについてなのですが、
他の回路に影響を与えたくないので、PIC及び周辺回路へは本来の電源から供給して
PICからは供給しない事とします。

そうするとPICkit2のVddピンは何処にも接続しなくてよいのでしょうか?
516774ワット発電中さん:2011/09/01(木) 22:44:53.14 ID:iA8ZaT9M
>>回路側からの Vdd への供給電圧が書き込み時の電圧を満足していれば接続しないで良いと思われます。
逆に回路側からの Vdd への供給が電池接続などで電圧が低い場合、PIKkit2 の電源を接続しておくと、
Vdd が低いよ、とワーニングを出してくれるので PICkit2 って結構親切だなあと思ったw。
517774ワット発電中さん:2011/09/02(金) 00:35:32.25 ID:HcTpE4Db
>>508
ショットキバリアダイオードはさんでみる
518774ワット発電中さん:2011/09/02(金) 02:18:56.45 ID:uAtAw+Yb

 はさんでみる → 挿入してみる
519514:2011/09/02(金) 21:32:25.28 ID:rGuflbi/
PIC12F1822でI2Cをやろうとしています。

>SSPCON2, SEN

この命令によってスタートコンディションが発行されるはずなのですが、
オシロで波形を見る限りそんな形跡はありません。
で、MPLAB SIMにてこのレジスタの中身を見ようとして愕然。

Special Function Registersを見てみると、SSPCON2がありません。
SSP1CON2とSSP2CON2なら有ります。
さて、どういう事でしょうかSSPCON2でアセンブルしてhexコードも出力されているというのに
そんなレジスタは使われていないようなのですww

どなたかよろしくアドバイスの程お願いいたします。
520774ワット発電中さん:2011/09/02(金) 22:16:11.08 ID:JZJvOiH/
"usbpicprog"っていうライター作った人います?
新PICにも対応してるみたいだし、USB接続だし、オープンソースだし
英語読めないけどorz
521774ワット発電中さん:2011/09/02(金) 23:03:51.67 ID:vYvn3ug9
>>519
SSPCON2とSSP1CON2は同じ。
SSP2CON2があるのがおかしい。
522774ワット発電中さん:2011/09/02(金) 23:05:05.28 ID:8GkbkSOX
>519
P12F1822.INCを見ると
>SSP1CON2 EQU H'0216'
>SSPCON2 EQU H'0216'
となっているからどっちでも同じじゃないか
523774ワット発電中さん:2011/09/02(金) 23:19:05.42 ID:vYvn3ug9
>>519
Configure -> Select Deviceメニューでデバイスを確認すべし。
524774ワット発電中さん:2011/09/03(土) 00:32:05.91 ID:a7CqX2ri
>>520
18F2550使うなら、PICkit2クローン作ったほうがよくないか?
525774ワット発電中さん:2011/09/03(土) 02:15:07.55 ID:v5930m/v
おまえら電子回路シミュレーションするのにどのソフト使ってるの?
526774ワット発電中さん:2011/09/03(土) 02:22:46.81 ID:NeqEmGUa
>>525
アミノ酸とブドウ糖かな
527774ワット発電中さん:2011/09/03(土) 02:29:27.10 ID://c6SW6B
PSPICEとか
528774ワット発電中さん:2011/09/03(土) 06:17:31.65 ID:e9INg5gZ
>>525
今ならLTSpiceだな。
ほれ、専用スレに行って来いw
http://kamome.2ch.net/test/read.cgi/denki/1290419322/
529774ワット発電中さん:2011/09/03(土) 07:40:54.68 ID:YrHToOIr
PICの初歩を学ぼうと思うんだけど、ライターはどれがいいかな?
PICkit2とPICkit3で悩んでるんだけど
どっちがいい?
電子工作は経験あるけど
プラグラムは初心者なんで
初歩的なことしかやらないから簡単な方がいいんです
530774ワット発電中さん:2011/09/03(土) 07:45:00.07 ID:eQufVDpJ
>>529
プラグラムは経験無いけど、PICKit2で充分なんじゃない?
PICKit3は問題というか癖があるらしいから
531774ワット発電中さん:2011/09/03(土) 07:58:24.43 ID:YrHToOIr
>>530
レスありがとうございます

秋月で1000円差
悩みどころですが、PICkit2は日本語マニュアルもネットで拾えるし
ネットでも使用方法の記事が多いのでこっちでもう少し検討してみます

書籍も何冊か買おうと思いますが、初心者が読むような本は少ないですね
PICマイコンの基礎、ライターの使い方
簡単なプログラム例、プログラムの意味
あたりがわかるような本はないでしょうかね

本屋で立ち読みしても欲しくなるようなものが見当たりません
532774ワット発電中さん:2011/09/03(土) 08:01:18.47 ID:h6oNeVwK
>>529じゃないけど、今までPICSTART Plusで頑張ってきたけど12F1822とか新しいPICの対応しなさそうなので
PICKIT2とPICKIT3、もしくはICD2かICD3
どれを買うのがいいだろうか?
533774ワット発電中さん:2011/09/03(土) 09:24:17.49 ID:mgk0Fa3X
全部買うのがいい
534774ワット発電中さん:2011/09/03(土) 10:45:43.36 ID:cjBwKcDw
8ピンごときマイコンのデータシートが4百ページ近くに及ぶ。
いつの日かプリントアウトしてやろうと思ってたがもはや無理なのれす(^p^)
535774ワット発電中さん:2011/09/03(土) 11:21:40.84 ID:kwbSgcc5
>>532
過去スレ掘り返してきたよ。

PIC専用のスレ Part33
http://kamome.2ch.net/test/read.cgi/denki/1305436859/151-

151 名前:774ワット発電中さん[sage] 投稿日:2011/05/28(土) 21:22:52.89 ID:ZaYtcsYO [1/3]
>>148
両方持ってるわけじゃないから、自信ないが。

PICkit2
× 新シリーズ非対応
○ ロジアナ機能あり
PICkit3
○ 新シリーズ対応
× ロジアナ機能なし

だったと思う。

154 名前:774ワット発電中さん[sage] 投稿日:2011/05/28(土) 21:57:35.01 ID:ZaYtcsYO [2/3]
PICkit2は、16Fの4桁シリーズへの書き込みは全く駄目なのかと思ってたが、そうでも無いみたいだね。
デバッグ機能までの対応となると開きがあるようだが・・・

Current PICkit 2 Device Support (March 2011)
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en027813
536774ワット発電中さん:2011/09/03(土) 11:26:35.92 ID:hBfp4ixv
>>531
>書籍も何冊か買おうと思いますが、初心者が読むような本は少ないですね
何冊もで中途半端な理解を積み重ねるくらいなら、ある程度概念を理解したところで、データシートをしっかり読むことをお勧めする。
537774ワット発電中さん:2011/09/03(土) 14:34:57.98 ID:bIBEIPwR
>>534
まともにプリントしたら邪魔になってしょうがないよね。A4に片面4面付けで両面印刷してる。
文字はかなり小さくなるがマイクロチップのデータシートは見やすいほうだな。使うパーツの
データシートはほとんど4面付けでプリントしてる。
538774ワット発電中さん:2011/09/03(土) 14:50:54.55 ID:Nd5CsNj1
すみません。初心者なんですが、データシートを見ながらタイマー0割り込みでポートBの出力をトグルするものを作ったのですが
動いてくれません。IDEのデバッカーでみてみるとmain_loopをずっと回っているだけです。割り込みを許可しましたしなにが原因でしょうか。
お願いします。

__CONFIG _CONFIG1, _CP_OFF & _CCP1_RB3 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_IO
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_ON

ORG 0x000
goto main

org 0x004
bcf INTCON,TMR0IF
goto LED

main
; OSCCON, OSCTUNE レジスタのある bank 1
bsf STATUS,RP0

movlw B'01010000' ; 2MHzに設定
movwf OSCCON

;TMR0関係設定
movlw B'11110111'
movwf OPTION_REG

bcf STATUS,RP0 ;bank 0
movlw 0xc3
movwf TMR0
bsf STATUS,RP0 ;bank 1

clrf TRISB
clrf ANSEL

;ワリコミ許可
bsf INTCON,TMR0IE
bsf INTCON,GIE

main_LOOP
nop
goto main_LOOP
LED
bcf STATUS,RP0
COMF PORTB,w
movwf PORTB
retfie

END
539774ワット発電中さん:2011/09/03(土) 14:55:15.42 ID:syDRcmzq
>>531
断然、PICKIT2
ICD2もPICKIT3ももってるけれど、一番使いやすい。
特に、PICKIT3は、PICの型番を旨く認識してくれないことが多い
540774ワット発電中さん:2011/09/03(土) 15:21:13.10 ID:58mQDJWn
>>537 紙の無駄
541774ワット発電中さん:2011/09/03(土) 16:02:44.37 ID:ywPAkQmd
pdfから良く見るレジスタだけテキストファイルがあれば十分だろ?
8pinの1xxx系でも200行にもならんぞ?
542774ワット発電中さん:2011/09/03(土) 16:30:03.77 ID:Ukblukor
ICD3が今一番安いのは、Digikeyですか?
543774ワット発電中さん:2011/09/03(土) 17:34:47.50 ID:nl+mviWB
>538
PICの型番書いてないから、あってるかどうかわからないけど(16F88辺り?)
>;TMR0関係設定
>movlw B'11110111'
>movwf OPTION_REG
これだと TMR0のクロックが外部端子にならないか?
544774ワット発電中さん:2011/09/03(土) 17:59:09.08 ID:Nd5CsNj1
>>543
ご指摘のとおりT0CSが外部クロックの設定になっていました
うっかりしてました
本当にありがとうございました
545774ワット発電中さん:2011/09/03(土) 18:39:08.70 ID:h6oNeVwK
>>535>>539
おおお、わざわざありがとうございます。
やっぱりPICKIT2ですね、秋月で5千円くらいかと思ってたんですが4千円切ってたので買うことにしました。
546774ワット発電中さん:2011/09/03(土) 21:07:25.63 ID:ZtIpyMSk
AKI-PICプログラマー Ver.4使ってるんですけど、
いつの間にやら完成品販売になってるんですね。
PICKIT2やら3やら、安くて小さいのもたくさんあるし。

新しいPIC使うつもりもないから、今のままでいいや。

547514:2011/09/03(土) 21:23:32.91 ID:cp/zBQmp
>>521-523

そうでしたか・・・・ありがとうございました。
これでスタートコンディションが発効できるか?と思ったけれど
結局また振り出しに戻ってしまいました。
548774ワット発電中さん:2011/09/03(土) 21:52:28.73 ID:5y16tHtT
明日、試験会場が山沿いにあるんだが流石に土砂崩れはないよな
549774ワット発電中さん:2011/09/03(土) 21:53:02.90 ID:5y16tHtT
>>548
誤爆
550774ワット発電中さん:2011/09/04(日) 09:04:49.24 ID:C/SuGgFT
>>547
SCL とSDA ピンに正しい値のプルアップ抵抗をつけること。
I2C モードを選択する前に、
SCL とSDA ピンがA/Dポートと共用の場合は、デジタルポートに設定すること。
SCL とSDA ピンは、TRIS レジスタのビットをセットして、入力設定にすること。
551774ワット発電中さん:2011/09/04(日) 09:14:05.70 ID:oZKrrmHL
>>546
たまに作る程度だったからVer.4使ってるけど
最近PICKIT2にしようか迷ってる
552774ワット発電中さん:2011/09/04(日) 09:21:33.49 ID:5xi2sWKK
>>551
抜き差ししなくても済むのは凄く楽。ただピンの割り付けは考慮必要。占有できるならいいけど。
553774ワット発電中さん:2011/09/04(日) 09:24:37.53 ID:qydPuQmF
誤爆にレスもなんだが
三重では凄い事になったらしいが気をつけてな
554774ワット発電中さん:2011/09/04(日) 09:36:40.64 ID:befM6meb
>>547
バンクは、合ってるかい?
555774ワット発電中さん:2011/09/04(日) 09:54:26.16 ID:Gou2n61m
今から買うのならPICKIT3がいいと思う
556774ワット発電中さん:2011/09/04(日) 11:07:48.10 ID:j6qxhN/J
もう4が出るまで待つか・・・・
557774ワット発電中さん:2011/09/04(日) 12:13:40.10 ID:M7/FTWqI
ICD-U64 って安いけど、どう。
558774ワット発電中さん:2011/09/04(日) 19:58:15.87 ID:3eLppk43
スレチかも知れないけど、
12F1822をAKIPICプログラマでかけないものでしょうか?

device6.iniファイル書き換えで対応できないか試していますが、
PGM_TYPEに何を指定していいのかわからんです・・・
559774ワット発電中さん:2011/09/04(日) 23:15:42.03 ID:aqVuvs+b
Beta6.72でもサポートしてないからできないんじゃ?

新しいPICは安くていいんだけど機能的にはまだ必要ないし、
PICKIT3買うんならPICそのものがずいぶんと買えちゃうので
AKI-PICプログラマで細々やってます。
560774ワット発電中さん:2011/09/04(日) 23:23:11.40 ID:T62TQtIL
この前、秋月に言った時に 12F1822の件聞いた。
AKIPICでは対応していない、とのつれない返事だった。
対応予定も不明みたいだった。店員がそこまで把握できているか分からんし。
561774ワット発電中さん:2011/09/04(日) 23:45:39.53 ID:cSISOc0X
pickit一択になってから長いしな
562774ワット発電中さん:2011/09/04(日) 23:55:10.44 ID:TAzdHD9r
ついでに言うなら、その前はWriter509一択だった。
決してAKI-PICではなく。
563774ワット発電中さん:2011/09/05(月) 00:51:46.16 ID:5jrIWDTd
なんにせよ、ピックやるならゼロプレッシャーソケットだっけ?名前あってるか分からんけどあれあるといいよね
564774ワット発電中さん:2011/09/05(月) 01:17:21.10 ID:e+7b7MJK
ZIF (Zero Insertion Force socket)

単体で買うと結構高かったような気がする。
565ヽ(`Д´)ノ ウワァァァン:2011/09/05(月) 01:43:06.68 ID:YIAztmPD


さっぱりワカランぽ
Error [1347] ; 0. can't find 0x102 words (0x102 withtotal) for psect "swtext1" in segment "CONST" (largest unused contiguous range 0x100)



566774ワット発電中さん:2011/09/05(月) 01:45:35.05 ID:YIAztmPD
ちなみに PIC16F687 でMPLAB付属の最近の HI-TECH C です。
567774ワット発電中さん:2011/09/05(月) 02:14:00.47 ID:wmO5npub
>>564

ttp://akizukidenshi.com/catalog/c/czero/
結構高いね。24Pで700円かぁ。
568774ワット発電中さん:2011/09/05(月) 02:34:52.73 ID:gmcFM1uc
>>563
ブレッドボード+ICSPでやってる
569774ワット発電中さん:2011/09/05(月) 03:19:56.78 ID:gmcFM1uc
最近USBの勉強してるんだがputrsUSBUSARTとputsUSBUSARTを間違ってて3時間ほどムダにしたorz
570774ワット発電中さん:2011/09/05(月) 03:54:06.72 ID:UnBZydKA
>>565
Error [1347]か。それ、多分単にプログラムメモリーが上限超えただけかと。
小さくなるように書きなおしてみたら?
571774ワット発電中さん:2011/09/05(月) 06:57:02.31 ID:83k1nkmM
ICSP使い始めると、ZIFでもめんどくさいって思うようになるけどね。
小さく作りたいとかPINが重複していて難しいとかを除いて(12F683のVREFとICSPCLKとか)
ZIFソケットも例の中華の店が安かったり
ttp://www.goodluckbuy.com/3m-gold-universal-zif-dip-ic-socket-assortment-kit-7pcs.html
"ZIF"で検索すれば、$4位でばら売りも出てくる
572774ワット発電中さん:2011/09/05(月) 07:05:53.40 ID:w/r41gWk
秋月のライターのZIFソケットと基板を流用してアダプタにすればいい。
573519:2011/09/05(月) 08:42:57.05 ID:q6t7Shrx
>>550>>554

レスありがとうございます。
ご指摘いただいた点は再度確認しましたが問題ないようです。

はじめは手動でI2Cをやろうと考えていたのですが、低価格なPICでMSSPが出来ると知って今に至ります。
今なぜスタートコンディション(SCLが1の間にSDAが1→0に変化)が発効できないかと考えていると、
そもそも入力設定のピンの電圧のオンオフをどのように制御しているのだろう?という疑問が頭を離れません。
I2Cを手動でされている方も多いわけですし、どのような方法で実現しているのか・・そこに何かの答えがあるのでは・・・とか考えています。
出力設定のピンならオンオフの設定は普通に出来ますが、入力設定のピンはオンかオフかは外部回路しだいでPICはタダの受身と思っていたのですが・・・
ここに大きな勘違いがある気がします。
どなたかご指導お願いいたします。
574774ワット発電中さん:2011/09/05(月) 09:02:26.67 ID:kY7V6I3o
>>573
0を出力する状態と入力のみの状態を切り替えてる。
そのためのプルアップ。
575774ワット発電中さん:2011/09/05(月) 09:49:15.16 ID:syCtMRHk
>>573
PORTを0に固定して、TRISを変化させるのと同じだよ。
TRISが0ならポートは0になり、
TRISが1ならポートはオープンになるからプルアップ抵抗で1に引っぱってやる必要がある。

よくわからなかったら、MSSPを使わない方法でポートが制御できるか確かめた方がよいのでは?
できたら、MSSPの設定が間違っている。
できなかったら、ポートの設定が間違っている。
ピンが複数の機能を兼ねている場合は、その全てのモジュールについて設定の優先順位を確認しましょう。
アナログポートは、必ずデジタルポートより優先されます。
例えば、A/Dコンバータを使わない設定であっても、それは変わりません。
アナログポートになっていると、デジタルポートはポートから切り離されてしまいます。
これは、デジタルポートにアナログ信号が加わらないようにするための工夫なのです。
576774ワット発電中さん:2011/09/05(月) 10:04:57.24 ID:syCtMRHk
>>565
segment "CONST" だから、static 変数の初期値の部分だと思う。
577774ワット発電中さん:2011/09/05(月) 10:29:08.20 ID:2reel/D7
>>565
ぐーぐるさんの翻訳でも意味わかるんだな

>>>エラー[1347]を、0。セグメント"CONST"のPSECT"swtext1"のための0x102ワード(0x102 withtotalを)(最大未使用の連続した範囲は0x100)を見つけることができません

swtext1変数が0x102バイトの連続領域を要求したのか?
0x100バイト以上の連続領域はないとコンパイラ様が仰せだぞ?

>>570
プログラムサイズなのかね?変数領域を取れなかった感じに読めた

>>576
あぁそれだな
578774ワット発電中さん:2011/09/05(月) 11:09:48.73 ID:LnDzk4bW
ZIFソケット

Aitendoが安い
直営店も復活したし
579774ワット発電中さん:2011/09/05(月) 11:38:45.06 ID:jaYYiTrJ
ICSP の場合、ソース修正後、ビルド→焼きこみ→実行開始
がビルドのクリック一発でできるのが快感です。
580774ワット発電中さん:2011/09/05(月) 12:18:28.15 ID:maV+ZL1N
ところでデータシートってなんだよ?
581774ワット発電中さん:2011/09/05(月) 12:41:25.05 ID:fA4378kp
データシートはデータシートだ
582774ワット発電中さん:2011/09/05(月) 13:39:27.12 ID:fLBUg2Cm
583774ワット発電中さん:2011/09/05(月) 13:40:53.12 ID:kkmrO/B5
8pin DIP のZIFやTEXTOOLが欲しいんですが、見つけられません。
ご存じな人、教えてください。
584774ワット発電中さん:2011/09/05(月) 14:08:01.85 ID:jaYYiTrJ
>>583
「zif 8pin」でググる
585774ワット発電中さん:2011/09/05(月) 16:09:55.62 ID:83k1nkmM
>583
以外と無いもんだ、マイコン書き込み用だと兼用にしちゃうから8ピンZIFソケットは需要少ないんだろうね。
ZIFソケットじゃないけどICテストクリップ使う手もあるよ。
ttp://akizukidenshi.com/catalog/g/gC-04752/
586774ワット発電中さん:2011/09/05(月) 17:14:20.39 ID:maV+ZL1N
>>582
英語とか読めねーよwww

なにがデータシートだよwww

イングリッシュシートじゃんwww
587774ワット発電中さん:2011/09/05(月) 17:31:06.58 ID:Pels8lBy
お、ねだん以上、ユトリ♪
588774ワット発電中さん:2011/09/05(月) 17:35:45.74 ID:GUhcvIi9
イングリッシュシートいいなwwww
589774ワット発電中さん:2011/09/05(月) 19:35:06.34 ID:jaYYiTrJ
>>586
読むんじゃないんだ、機能を理解するんだ。

一部だが日本語版もあるよ。
http://www.microchip.co.jp/download.html
590774ワット発電中さん:2011/09/05(月) 20:03:30.28 ID:mjThiBqd
2.4"カラーTFT液晶の実験をしています。後閑さんのライブラリのおかげで表示するところ
までできました。文字や画面全体の単色表示では気になりませんが写真データを表示させると
全体的に青みがかった、というかくすんだ感じの色調になります。もっと鮮やかな色で表示
させたいのですが、設定などについて情報をお持ちの方はいませんか?
初期化パラメータは後閑さんと同じ設定にしています。
今回使用した液晶は
http://www.aitendo.co.jp/product/2923
液晶の型式は異なるかもしれませんがこちらのサイトの方も発色について同じような感想を
持っているようです。
http://nixie.blog123.fc2.com/blog-entry-142.html
591774ワット発電中さん:2011/09/05(月) 21:07:28.77 ID:titJ4oLH
>>590
個人的には、好きな内容だけど・・・
ATmega644PってAVRでスレチじゃね?

PICで動かして持って来いや〜!www
     *      *
  *  うそです   +  
     n ∧_∧ n
 + (ヨ(* ´∀`)E)
      Y     Y    *

最近中国液晶の話題が多いな?
果たしてシェアを増やすのは、R8かAVRかARMかPICか?
PICは後閑さんが頑張っているな?

日立系のR8・SHとかはモジュールやノウハウを公開しないから
シェアが減る一方の様なきがす。
592591:2011/09/05(月) 21:11:47.34 ID:titJ4oLH
よく読んだら>>590 はPICで動かしているのね?

俺は24Fが焼けないから、傍観しているけど
593573:2011/09/05(月) 21:50:32.60 ID:q6t7Shrx
>>574-575

ありがとうございました。中々進みませんがコツコツやってゆきます。
594ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY :2011/09/05(月) 22:09:31.09 ID:Pels8lBy
>>590
データシート読んでガンマ値とか地道に直すしかないと思う。
595774ワット発電中さん:2011/09/06(火) 02:01:36.88 ID:qDZMOV5O
24FってAD変換・振動子内蔵、その割に安かったりしてすごいらしいけど
製作例などの情報が少ないから手を出しにくいんだよな。

12F、16Fでも十分だし。
596774ワット発電中さん:2011/09/06(火) 07:23:31.76 ID:zCQvkeed
>>590です。
他の液晶のデータシートを読んでたらRGB独立でガンマ調整可とか書かれているものもあるみたい。
今使ってる液晶はグレイスケールのガンマ調整となってるようだが国産デジカメ等に使われてる液晶
とは性能・機能面で省かれてる部分があるのか?それともレジスタの設定の問題だけなのかな?
デジカメ画像と自作のを見比べてみると鮮やかさが違う。RGBはちゃんと出てるみたいなんだけどな。

液晶の制御は16F88でもできそうなので移植するのもおもしろいと思う。
597774ワット発電中さん:2011/09/06(火) 08:14:41.78 ID:wPuR2ALK
>>596
自前でγ補正すれば?

ちなみに良い液晶は輝度が高く、安い液晶は輝度が低い。
それが明暗がハッキリしなくなる理由。
それでγ補正する場合、明るい色は潰す処理をする。
598774ワット発電中さん:2011/09/06(火) 09:07:32.18 ID:pd/GRyvk
>>590は当分楽しめそうだな
599 忍法帖【Lv=1,xxxP】 :2011/09/06(火) 10:04:58.67 ID:89jV6g05
18f2550で8個のLED光らせたいだけなんですが
このプログラムでRA4ピンのLEDしか光らないんですが何故?故障?


void main(void){
unsigned char d,ch,c;
int i;

OSCCON = 0b01111111;
ADCON1 = 0b00001111;
TRISA = 0;
TRISB = 0;
TRISC = 0;
PORTA = 0xff;
PORTB = 0;
PORTC = 0xff;

PORTAbits.RA0 = 1;
PORTAbits.RA1 = 1;
PORTAbits.RA2 = 1;
PORTAbits.RA3 = 1;
PORTAbits.RA4 = 1;
PORTCbits.RC0 = 1;
PORTCbits.RC1 = 1;
PORTCbits.RC2 = 1;

while(1){
}
}
600774ワット発電中さん:2011/09/06(火) 11:48:32.74 ID:6KeBiUvY
>>599
ドキュメント見ないで書く

RA4って~MCLR(?)じゃないか?入力専用ピンだと思うぞ?
601600:2011/09/06(火) 11:54:58.50 ID:6KeBiUvY
あわてんぼさんでした、ごめんなさいm(__)m

RA0〜RA3についてはコンパレータの機能を止めてください
CMCON=0x07; でいけるはずです

RCもなんらの理由なのでしょうが今からドキュメント100回読んできます
602774ワット発電中さん:2011/09/06(火) 11:57:01.80 ID:A0EMmlF/
MCLRはRE3だ。

後半のビット操作って必要なくね?
603774ワット発電中さん:2011/09/06(火) 12:05:52.52 ID:QmESXW/+
必要ないね。
やっていけないことは無いが。
LEDをどうやってドライブしてるのかわからんが、流す電流によっては定格超えてるかも。

LED点けるだけじゃなくて点滅させたほうがうまくポート制御できてるかどうかわかりやすいと思う。
604600:2011/09/06(火) 12:12:16.89 ID:6KeBiUvY
ふ、まだ1読途中だぜい、4550買ったままpdf放置してたが
どうやって繋いだのか知りたい

って既に602,603が書いてた

Trでドライブしてるんちゃうん?
28.0 ELECTRICAL CHARACTERISTICS
を越えちゃうとよくないよー
605774ワット発電中さん:2011/09/06(火) 12:41:10.11 ID:fLhlC0oV
I2Cの勉強をしてるんだけどSSPCON2,SENの後、SSPIFが立たないんだけど
なんでだろう・・・?誰か助けて・・・
使用してるPICは16F886

;**********************************************************
; I2C初期設定
;**********************************************************
I2CSET
BANK_0
MOVLW B'00101000'
MOVWF SSPCON

BANK_1
CLRF SSPCON2
CLRF SSPSTAT
BSF SSPSTAT,SMP

BANK_1
MOVLW H'31'
MOVWF SSPADD
BANK_0
I2CSET_END
RETURN

;**********************************************************
; Start Condititon
;**********************************************************
STCN
BANK_0
BCF PIR1,SSPIF

BANK_1
BSF SSPCON2,SEN

BANK_0
BTFSS PIR1,SSPIF
GOTO $-1

BCF PIR1,SSPIF
STCN_END
RETURN
606774ワット発電中さん:2011/09/06(火) 15:34:50.68 ID:EV4SfB38
>>605
1011 = I2C firmware controlled Master mode (Slave idle)
607774ワット発電中さん:2011/09/06(火) 16:01:23.31 ID:QUR+qSzm
ダイバージェンスメーターの1602版が完成
608774ワット発電中さん:2011/09/06(火) 17:48:41.46 ID:037wvwgq
ダイバージェンスメーターって流行ってるの?なんか別の場所でもそんな名前聞いたような。
609774ワット発電中さん:2011/09/06(火) 17:51:10.48 ID:maZx6i26
そりゃまあ、現在放送中のアニメだし。
610774ワット発電中さん:2011/09/06(火) 17:52:10.17 ID:H8JmbaGa
PICを簡単に学べるアニメ作れや。
611774ワット発電中さん:2011/09/06(火) 18:04:30.25 ID:AdSliPTW
俺も「ダイバージェンスメーター」って何?
と思っていた。
ググると、ニキシー管?なにそれ?

世の中には、いろいろな趣味と興味を持っている人がいるものだ・・・
と思った。
612774ワット発電中さん:2011/09/06(火) 18:38:23.90 ID:roS+UG85
ニキシーは某SFモドキエロゲー原作アニメにそれを使ったガジェットが出てきて値段が高騰してるらしいな
ほんとクソアニオタ氏ねだわ
613774ワット発電中さん:2011/09/06(火) 18:56:37.05 ID:NqEPP5qs
ニキシー管が高騰しようが誰も困らんだろうに
614774ワット発電中さん:2011/09/06(火) 19:57:00.68 ID:8lvhGIiV
あちこちのスレでニキシー管と聞くと同じ書き込みを繰り返しているキチガイです。

相手にしないでください。
615774ワット発電中さん:2011/09/06(火) 20:43:01.76 ID:tNezqTgV
アナログちっくなサイバーさが減るけど、PICからの制御なら蛍光表示管のほうが楽でいいよね。
616774ワット発電中さん:2011/09/06(火) 21:32:36.05 ID:RcZnYwe5
Twitterでもニキシー管、ニキシー管うるさい人がいたわ。
あんまり自分語りと自慢話が多いんでアンフォローした。
617774ワット発電中さん:2011/09/06(火) 23:04:24.62 ID:SwP/LxwB
>>606

ファームウエア制御のマスターモードにしろという事?
これってマスターモードとどう使い分けるのですか?
618774ワット発電中さん:2011/09/07(水) 02:20:01.03 ID:6SCIl/xu
>595
24FやdsPICは情報少ないから多機能になったモジュールを使いこなすのは大変だけど
命令セットが大幅に使いやすくなっていてうれしい、アセンブラ限定だろうけどw
以前ココで相談したGPS1Hz使った周波数カウンタは、24Fから変更してなぜか持っていた
dsPIC33FJ12GP201(40MIPS動作)で作りました、速い方がよさそうなので

24F/dsPIC(DSP命令以外)インストラクションを表(エクセルファイル)にまとめたので
アップローダーにあげておきます
ttp://loda.jp/mcnc/?id=276
619774ワット発電中さん:2011/09/07(水) 02:49:02.38 ID:0U/TGi4Q
>>605
BANK_0やBANK_1の定義は?
620774ワット発電中さん:2011/09/07(水) 08:15:54.01 ID:hLAtQeL3
>>618
> 24FやdsPICは情報少ないから
別スレ立てないか? 12Fとか16Fと混ざって埋もれてしまう。

> 以前ココで相談したGPS1Hz使った周波数カウンタ
外付け回路は結局どうしたの?
621774ワット発電中さん:2011/09/07(水) 08:36:41.71 ID:NwIbfmvi
わざわざ別スレたてるまでもない。同様に扱えるし違いといっても誤差の範囲。
622774ワット発電中さん:2011/09/07(水) 08:48:56.20 ID:O1WL3Qpz
どうも605です

>>606
設定しましたがSSPIFは動作しませんでした・・

>>619

BANK_0 MACRO
BCF STATUS,RP0
BCF STATUS,RP1
ENDM

BANK_1 MACRO
BSF STATUS,RP0
BCF STATUS,RP1
ENDM
とマクロ定義してます
623774ワット発電中さん:2011/09/07(水) 09:02:31.06 ID:eQRtwxFh
12f、16f以外をPICと称して良いものか? 別スレの方がよくね?
624774ワット発電中さん:2011/09/07(水) 09:03:13.67 ID:PYiHf7tc
>>623
これっぽっちも必要なし
625774ワット発電中さん:2011/09/07(水) 09:51:45.16 ID:jc6RQEeh
>>623
そりゃお前、マイクロチップ社がPICだつってんだから
626774ワット発電中さん:2011/09/07(水) 10:24:05.48 ID:0U/TGi4Q
>>622
もしかして SIM ?
627618:2011/09/07(水) 10:34:50.12 ID:6SCIl/xu
>620
前スレの234でも書きましたが、結局外付け回路は無しにしました。
うまく伝えられなかったのですが、元々は2サイクル命令がある為 割込みに対する
応答時間はn(固定)+(0〜2安定せず)サイクルと思っていましたが、リファレンス読むと
24/dsPICは割込み処理までの時間を一定にさせるように1サイクル命令と
2サイクル命令後半での割込み発生の場合NOPを挿入し、2サイクル命令前半で
割込み発生したのと同じタイミングで割込みに入るようです。
結局応答時間はn(固定)+(0〜1安定せず)サイクルと言う事で、これなら
1サイクルを短くすれば(16→40MIPS)問題ないだろう…

別スレ案の件は、今のままが良いかと。24/dsPICの話題は滅多に出ないので
邪魔にはなりにくいし、必要な人は読むだろうし、分けて閑古鳥が鳴くスレじゃ寂しいですし
628774ワット発電中さん:2011/09/07(水) 11:10:03.08 ID:cHV56OY3
ゴルア〜秋月っ!

PICの24F焼けるようにしろやっ!!ww
629774ワット発電中さん:2011/09/07(水) 12:43:09.17 ID:rQ4dgnIp
>>623
俺も12f,16fがウザい。別スレに一票。
まぁ、建てたもん勝ちだけどねw
630774ワット発電中さん:2011/09/07(水) 13:39:32.19 ID:PYiHf7tc
>>629
一票とか言ってないで欲しけりゃ立てりゃいいだろ。
俺は移動しないけどw
631のうし:2011/09/07(水) 13:41:12.09 ID:uqjK9/we
>PICの24F焼けるようにしろやっ!!ww

マイクロチップのプログラミングリファレンスに焼き方が書いてあるぞ。
16Fなんかは手書き(?)ができるくらい簡単なシリアルのフォーマットだった。
632774ワット発電中さん:2011/09/07(水) 14:07:49.73 ID:5Gr7PTGN
勢いが30未満な過疎スレに別立てるとかないわー
8月15日のこのスレがまだ630程度なんだから我慢しろ
30日で1本消費できない
いっそAVRとかも一緒にしちまえよw
633774ワット発電中さん:2011/09/07(水) 14:11:17.52 ID:NwIbfmvi
A○○厨は口だけだから一緒にされると迷惑
634774ワット発電中さん:2011/09/07(水) 18:07:46.19 ID:5Gr7PTGN
P●C厨もLチカ程度なら大差ないって、一緒でいいじゃない?
いっそ過疎ってそうなマイクロデバイスごちゃでもいいんじゃないの?
Z180とか来たらそれはそれで面白そうだしw
635774ワット発電中さん:2011/09/07(水) 18:22:48.49 ID:NwIbfmvi
実際にA○○厨のLチカ動画UPされなかったじゃん。
所詮口だけwww
636774ワット発電中さん:2011/09/07(水) 18:25:41.31 ID:CxZz31l8
Lチカだけ優遇するなんてズルい
モーターをクリクリ回すモークリ廚も頼む
637774ワット発電中さん:2011/09/07(水) 18:30:46.27 ID:NwIbfmvi
モーターも面白いね。アセンブラ+DSPICは出来たのだけど
MATLAB+DSPICに挑戦中。
638774ワット発電中さん:2011/09/07(水) 18:36:25.86 ID:cHV56OY3
>>637
>MATLAB+DSPIC
何それ?
何か豪華そうww
639774ワット発電中さん:2011/09/07(水) 18:40:22.53 ID:d83020+O
RCに使われてるようなサーボとかブラシレスアンプとかを自作するってのも面白そうだね。
640774ワット発電中さん:2011/09/07(水) 18:51:40.89 ID:dwC9zcEe
簡単なモデルベース設計か?
641774ワット発電中さん:2011/09/07(水) 19:36:13.24 ID:vvztDHX5
>>622

その定義間違ってませんか?
642774ワット発電中さん:2011/09/07(水) 21:30:43.24 ID:S+64cstX
9.22MHzのセラロックで時計は作れますか?
643774ワット発電中さん:2011/09/07(水) 21:33:00.44 ID:dd9JCsTe
>>622
>>641

BANKSEL疑似命令がおすすめ
644774ワット発電中さん:2011/09/07(水) 21:40:45.84 ID:ea8oLYeN
>>642
精度はどれぐらい必要なの?
普通にタイマー割込で時計作るならかなりズレが出ると思う
精度を出すなら精度のいい水晶、RTC、GPS、NTP、電波、AC電源の周波数とかで出すといいかも
645774ワット発電中さん:2011/09/07(水) 21:54:46.47 ID:HGpLZ1eb
>>637
モーターを回す止める、一定の速さで回すだけの制御なら簡単だが、
エレベーターのような滑らかな位置決め制御なんぞをしようとすると、
難易度が高くなるよ。
646774ワット発電中さん:2011/09/07(水) 22:25:03.65 ID:NwIbfmvi
>>642
作れるよ。
初期精度はあまり良くないから一日位動かして時報でずれ量を調べて補正してやると
そこそこ使い物になる制度になる。

>>645
その為のMATLABでしょうに。
647774ワット発電中さん:2011/09/07(水) 22:46:13.82 ID:0A9B67+2
>>642
時計はおまけ機能と仮定して、9.22Mとは半端な気がするが、用途はなんだろう?
それとも、時計がメインなのか?セラロックという時点でズレは覚悟しないと。
9.22Mは動作のみで、時計はRTC外付けが簡単かな?
648774ワット発電中さん:2011/09/07(水) 23:02:10.69 ID:bsjP9gxY
>>628
>PICの24F焼けるようにしろやっ!!ww
PIC18F*にpic18spxを焼いて、pic18spxでPIC24Fを焼くという手がある
649774ワット発電中さん:2011/09/07(水) 23:19:35.19 ID:d83020+O
20MHzとかのクリスタルで時間カウントすると1日で0.5秒程度ずれた。
この程度のずれは実用上たいしたことはないし、市販の時計では気に留めることは
ないが自作するとものすごく気になるんだよな。
650774ワット発電中さん:2011/09/07(水) 23:19:52.38 ID:dwC9zcEe
セラロックって温度安定性はどんなもんだっけ?
651774ワット発電中さん:2011/09/07(水) 23:23:29.13 ID:NwIbfmvi
>>649
市販の時計が気にならないのは調整してあるから。
自作でもちゃんと調整してあれば気にならない。
いくらクリスタル使ったって誤差があるのだから調整しない事には話しにならない。
652774ワット発電中さん:2011/09/07(水) 23:31:37.57 ID:d83020+O
>>651
そういう問題じゃなくて。市販品の誤差が0なわけないし。じっさいはずれてても
ずれてるかどうかを気にすることがないというだけの話だな。まあちゃんとした時計用の
クリスタルはそれ自体の精度が汎用品よりも優れてるかもしれないが。
653774ワット発電中さん:2011/09/07(水) 23:36:40.33 ID:NwIbfmvi
>>652
>ずれてるかどうかを気にすることがないというだけの話だな。

わかってて突っ込んだ。
昔の時計はクリスタルの発振周波数を調整していたが今の時計はカウント数を変更出来るようになっている。
マイコン用に使われるクリスタルは周波数精度が悪い物が多いから、調整しないとコンビニで売ってる時計にさえかなわない。
654774ワット発電中さん:2011/09/07(水) 23:50:12.52 ID:CxZz31l8
>>652
いやいや、そういう問題だろ
655774ワット発電中さん:2011/09/07(水) 23:51:09.69 ID:dUTxnSTX
洗面所用に買って来た100均のデジタル時計が豪快にどんどん狂っていく
656774ワット発電中さん:2011/09/08(木) 00:08:37.15 ID:hW7twhKW
JJYが停波したとき電波時計が一日1秒ずつ進んでいってラジオの時報時に
表示されている秒数が3.11からの日数を示していたときは切なかったな。
657774ワット発電中さん:2011/09/08(木) 00:11:04.90 ID:5HfV8I29
>>649
誤差は5.79ppmか。立派なもんだよ。
>>651
その調整が、普通レベルでは無理って事に気がついてほしいもんだ。
658774ワット発電中さん:2011/09/08(木) 00:28:58.04 ID:Vfj1NS7c
>>657
周波数カウンタとか使わないでも24時間での誤差を計測して周波数からズレたカウント数を計算して1秒のカウント数を修正したらそれなりに精度出るんじゃね?
24時間である必要もないがそれなりに長いほうが精度出そう
659 忍法帖【Lv=2,xxxP】 :2011/09/08(木) 00:45:40.83 ID:YT3ISzhc
pickit3を購入しました

pickit3ProgrammerでHexファイルをインポートし、writeを押して書きこもうとすると
program operation of program memory failed.
その下にいっこスクロールすると
Address 0x0, read 0x3FFF, expected 0x118A

と表示されています

対象PICは16f88でhexはHI-TECH Cでコンパイルしたものです

何も繋がないままwriteするとNo device〜 と表示されますが
PICへ繋ぐ表示されます。配線が間違えてるのでしょうか?

Readは普通に成功してる? 「Reading device... Program... EEPROM... Config... User(略」とか表示されます

解決策を教えて下さい
660774ワット発電中さん:2011/09/08(木) 01:09:37.81 ID:5HfV8I29
>>658
お〜〜〜、ワルぃ。周波数カウンタしか頭に無かった(汗
その手があったな orz

(それでも温度特性による誤差は残ると思うが)
661774ワット発電中さん:2011/09/08(木) 01:16:11.75 ID:T66vPxiz
>>659
>Address 0x0, read 0x3FFF, expected 0x118A
アドレス0x0、読まれた0x3FFF、予期されている0x118A
アドレス0x0に0x118Aを書き込んだつもりが0x3FFFになっている。
0x3FFFは初期値だから全く書き込めていない。
Vppの配線がおかしいでのは?
662コンピュータ拷問の仕方:2011/09/08(木) 02:58:33.23 ID:bCVhIDrE
アセンブラでNANDを入れたら二ーモックのエラーと処理でコンピュータ拷問できる
663774ワット発電中さん:2011/09/08(木) 05:02:21.68 ID:5svm8lD4
>649
せっかくの自作なんだから高精度にしたいってその気持ちよくわかるよ。
私も今は亡き秋月の高精度12.8MHzオシレータで時計作ったら、0.5ppm位の
ズレでその値をソフトで補正するようにしたけど、季節によって±0.3ppm位と安定しない。
このページ見て
ttp://www.geocities.jp/ja3npl/gps/counter_11dgt_v1.html
1ppm以下の精度欲しければ温度一定にしないとだめと思い、オシレーターに
直接 熱源としてTrとセンサ(LM35)巻きつけて36℃で温調。
今の所 ソフトの補正値込みで30日で0.1〜0.2秒位のズレ。冬場もこれを維持して
年差2秒以内に収めたいな。
JJYとかGPSやNTPがあるのに何やってるんだと言われそうだけど。

通常の水晶だと常温付近で -0.3ppm/℃位の温度特性なのかな
664774ワット発電中さん:2011/09/08(木) 07:51:05.89 ID:hW7twhKW
>>663
そう単純ではないね。

例;
http://www.tamadevice.co.jp/9mhz-temp.htm
665774ワット発電中さん:2011/09/08(木) 08:26:39.99 ID:Rsz4cdwB
おー、クロノメーターやねぇ
666774ワット発電中さん:2011/09/08(木) 12:45:17.30 ID:FP36DFEt
>660
やった事無いのバレバレだなw
そういう奴に限って声がでかいwww

ちなみに温特性も長期間で合わせればかなり相殺される。
667774ワット発電中さん:2011/09/08(木) 12:49:22.81 ID:i3PgLCZu
>>666
あるわけないだろ、仕事なんだから周波数カウンタを繋げば済む話w
668774ワット発電中さん:2011/09/08(木) 12:59:10.91 ID:FP36DFEt
仕事で時計の校正に周波数カウンタつなぐなら愚かとしか言い様が無いなw
669774ワット発電中さん:2011/09/08(木) 13:50:10.57 ID:cRwCx7a1
パソコン起動中のみ315MHzに標準時刻(パソコンの)を垂れ流しておいて
離れた場所にある各マイコンで、そのデータが受信できたときに時刻あわせ、が一番安上がりかな
670774ワット発電中さん:2011/09/08(木) 14:01:48.81 ID:FP36DFEt
微弱で届く範囲なら繋げちまえって気もするが…
最近は小さいペルチェがあるので温度を若干下げて安定させると
周波数が重要な時には便利。
671774ワット発電中さん:2011/09/08(木) 14:24:19.83 ID:7E6ayLzJ
>>660
温度センサー \100@秋月 を PIC につなぎ、温度(気温)と周波数(時刻)の誤差の関係を丹念にデータ取得
そのデータを元にソフトで補正汁
672774ワット発電中さん:2011/09/08(木) 14:29:33.86 ID:UJwDvSBt
ワイヤレス方式とケーブル接続方式の2つの商品があればワイヤレスのほうがいいよな。
でも個々で議論してるレベルの精度についていうならパソコンの時刻はまったく当てに
ならないだろうな。
673774ワット発電中さん:2011/09/08(木) 14:34:46.49 ID:cRwCx7a1
パソコン、NTPに合わせておけば、ほぼ常に概ね±1秒以内になると思うけど
674774ワット発電中さん:2011/09/08(木) 14:39:41.49 ID:I1+Pa70L
日時計最強
675774ワット発電中さん:2011/09/08(木) 14:49:03.82 ID:UJwDvSBt
>>673
一般的な用途においては実用上問題ない。でも1秒以内というのはどうなのかな。
PCからリクエストを送信して時刻情報を受信するわけだけど通信にかかる時間は
回線状況に依存するし。さらにウィンドウズではバックグランドでいろんなサービスが
動作してるので処理の順番でずれるケースも出てきそうだけど。
676774ワット発電中さん:2011/09/08(木) 14:55:45.70 ID:2P2SwV20
RTC
677774ワット発電中さん:2011/09/08(木) 15:04:54.39 ID:ic+ourcy
1秒の誤差が2秒になったとしても、この誤差は蓄積しないんだから、
それはそれで意味あるんじゃないか?
678774ワット発電中さん:2011/09/08(木) 15:08:04.19 ID:cRwCx7a1
そう。

誤差が累積しない前提なら、外に水晶つけず内部クロックだけで時計やっても大きな問題にならない。
RTCなんて更に要らない。
679774ワット発電中さん:2011/09/08(木) 15:20:58.81 ID:FP36DFEt
>ワイヤレス方式とケーブル接続方式の2つの商品があればワイヤレスのほうがいいよな。

そうとも言い切れない。パソコンのノイズで微弱電波の通信が安定しない事はよくあるし
そもそも、時計の時刻あわせなんかよりももっと他のアプリに周波数を割り当てたい事もあるだろう。
まあ、時計さえまともに動くように作れないなら致し方無いが。
680774ワット発電中さん:2011/09/08(木) 15:39:32.50 ID:FP36DFEt
>678
内蔵クロックだけじゃ周波数精度悪すぎてイーサに接続出来なくない?
681774ワット発電中さん:2011/09/08(木) 15:51:45.98 ID:cRwCx7a1
イーサに直結は厳しいしコストかかるだろう
315MHz帯にシリアル300bpsで時刻たれながし、とかどうだろ
682774ワット発電中さん:2011/09/08(木) 16:31:29.33 ID:DjdOzugF
>>681
君はマジでバカだな
683774ワット発電中さん:2011/09/08(木) 16:53:28.78 ID:cRwCx7a1
そ、そうなのか、馬鹿だったのか

言うだけじゃダメだろうってことで
315MHzの送受信ともにアイテンドーにポチった後だ
684774ワット発電中さん:2011/09/08(木) 17:07:21.61 ID:FP36DFEt
>681
コスト気にするなら40kJJYでOK
ペットボトルにウレタン線巻けばアンテナになる。
685774ワット発電中さん:2011/09/08(木) 17:16:11.14 ID:pJuIO725
おい、クロックってなんだ?
686774ワット発電中さん:2011/09/08(木) 17:27:40.58 ID:cRwCx7a1
エンコーダ/デコード付きの方を選んだので
そのままシリアル垂れ流せると錯覚してるんだが・・・違うのか?
687774ワット発電中さん:2011/09/08(木) 17:37:21.44 ID:7E6ayLzJ
>>684
そのアンテナを直接ポートにつないでソフト処理
だけで 40k JJY を受信できたらすごくね?
688774ワット発電中さん:2011/09/08(木) 17:40:37.49 ID:7E6ayLzJ
>>685
クロックは置時計でウォッチが腕時計って習ったよ
689774ワット発電中さん:2011/09/08(木) 17:43:03.18 ID:4iDG2FaV
>>686
データ(時刻情報)を送受信するのなら、エンコーダ/デコーダなしの方じゃないとだめ。
690774ワット発電中さん:2011/09/08(木) 17:44:25.66 ID:cRwCx7a1
orz
691774ワット発電中さん:2011/09/08(木) 18:07:25.03 ID:FP36DFEt
>687
送信所に持っていけば逝けるかも
692663:2011/09/08(木) 18:48:31.91 ID:5svm8lD4
JJYやNTPで補正しろという流れになるのはわかっていたけど
こういうのは、無駄にこだわってみたいんだよね。
正確な時計が欲しいわけじゃなくて、正確な時計を作ったという
自己満足が欲しいんだ。チラウラな話でごめん

>670
ペルチェを付けて温度下げるのは、経年変化も減るというし良さそうですね。
目標温度にもよるけど夏場に排熱できるかが問題か
693774ワット発電中さん:2011/09/08(木) 19:14:24.86 ID:WoZeckni
>>670
気温以下に冷やすのは大変だけど、加熱は割と容易
65℃辺りで恒温管理すればw
694774ワット発電中さん:2011/09/08(木) 19:24:58.23 ID:0/Oac7gh
CALL Waitとやったら以下のプログラムは何秒稼げるのでしょうか?
Wait
movlw D'249'
movwf count
Wait2
nop
nop
nop
nop
nop
nop
nop
decfsz count,F
goto Wait2
RETURN

countは待ち時間カウントのために予め定義しておく。
ピックは16F84A、MPASM、20MHzのセラロックを使用します
695774ワット発電中さん:2011/09/08(木) 19:27:18.43 ID:0/Oac7gh
すみません、うまく表示されてませんがWaitとWait2以外の行は最初にタブが入ります
696774ワット発電中さん:2011/09/08(木) 19:42:09.88 ID:aEWt28/M
PICにテンキーとLCD繋げようと思ったら、どういう構成が一番楽だろう?
LCDはともかく、テンキーってどう繋げばいいのかサッパリわからない。
USBのテンキーにしてMicrochipのライブラリ使えば簡単に行くんだろうか?
697774ワット発電中さん:2011/09/08(木) 20:06:31.37 ID:WoZeckni
>>696
I2Cのテンキーと液晶でよくね?
698774ワット発電中さん:2011/09/08(木) 20:10:23.37 ID:aEWt28/M
>>697
I2Cのテンキーなんてのもあるんだ。ちょっと探してみます。
699774ワット発電中さん:2011/09/08(木) 20:20:02.84 ID:Vfj1NS7c
I2Cのテンキーあるのか
入力マトリックスしか思いつかんかったw
700774ワット発電中さん:2011/09/08(木) 20:57:18.29 ID:63vZjlYe
>>696

mikroBasicのテンキーライブラリ使え(もちろんLCDもあるでよ)。
701774ワット発電中さん:2011/09/08(木) 21:18:55.92 ID:4Wa9h8jx
すごいこと思いついた。
I2Cの大容量ハードディスクとか
I2Cの高詳細ハイリフレッシュレートのディスプレイとか作れば
何でも2線で繋げられて便利じゃね?
専用規格のシリアルとかUSBとかって、もうイラネじゃね?
702774ワット発電中さん:2011/09/08(木) 21:23:26.99 ID:I1+Pa70L
すぐ特許取らないと真似されるぞ!
703774ワット発電中さん:2011/09/08(木) 21:23:58.44 ID:FP36DFEt
>693
昔ながらのOCXOはそうなんだけどアレニウス則で劣化するし
そもそも専用に作って貰った水晶じゃないと周波数がずれる。
一般に安く出回ってる水晶は25℃位にあわせてあるからね。
704774ワット発電中さん:2011/09/08(木) 22:56:57.13 ID:T66vPxiz
>>696
8-Pin Flash Microcontrollers (DS40040)
ttp://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf
これに、A/D 1ピンでテンキーをつなぐアイデアがあるよ。
705774ワット発電中さん:2011/09/08(木) 23:21:40.10 ID:2P2SwV20
>>694
20MHzのセラロックつかうなら1クロックあたりかかる時間は
1/20MHz=1/20,000,000=0.00000005(sec)=0.05μs
ここまではわかると思う。
PICアセンブラは1サイクル(1命令)につき4クロックかかるから
1サイクルあたりにかかる時間は4*0.05μs=0.2μsかかることになる。
その後、そのループを抜けるのには何サイクルかかるのかを調べれば良い。
Wait
movlw D'249’・・・1サイクル
movwf count ・・・ 1サイクル、この2行だけで合計2サイクル
Wait2
nop*7 ・・・合計7サイクル、249回ループするので7*249=1743サイクル
decfsz・・・これについてはスキップするときは2サイクル、しないときは1サイクルなので
スキップを行わない最初の248回は1サイクル、最後の249回目は2サイクル必要である。
合計248+2=250サイクル。
goto Wait2・・・これも2サイクルの命令。249ループ中最後の1回だけは実行されないので、合計248回実行される。
2サイクル命令だから2*248=496サイクル。
RETURN・・・これも2サイクルの命令。249ループ目に初めて実行されるので
2サイクル*1回実行=2サイクルかかる。

これまでかかったサイクル数をそれぞれ足すと
(movlw)1+(movwf)1+(nop7個)1743+(decfsz)250+(goto)496+(RETURN)2=2493サイクル。Waitを呼び出すことによって2493サイクルの命令が実行される。
最初に書いたように1サイクルあたり0.2μsかかるので
2493サイクルに0.2μsをかけると2493*0.2μs=0.0004986=0.4986mS≒0.5ms

0.5msじゃないかなとおもったがちょっとおかしいな。
計算ミスがあるかもごめんね誰かに指摘してもらえることを祈る。


706774ワット発電中さん:2011/09/08(木) 23:42:20.54 ID:PREt156e
優しいな
707774ワット発電中さん:2011/09/08(木) 23:44:25.08 ID:PREt156e
もとい、親切だな
708774ワット発電中さん:2011/09/08(木) 23:50:38.50 ID:dNCpnek5
>>696
マイコンでPS/2キーボードを作るのはちょっと面倒だったけど
マイコンにPS/2キーボード(テンキー)を繋いでキーコード受信するのは結構簡単だった

見た資料
http://www.oadg.or.jp/tosho/index.htm#techref
http://kyoutan.jpn.org/uts/pc/pic/x68key2/
http://kyoutan.jpn.org/uts/pc/pic/x68key/
709774ワット発電中さん:2011/09/09(金) 00:03:55.76 ID:x0MTbDde
>>701
> 何でも2線で繋げられて便利じゃね?
USB2.0も2線なんだけど、なにか?
710774ワット発電中さん:2011/09/09(金) 00:17:21.59 ID:BqQ40n9+
>>674
PIC に光センサーをつないで明るさの変化で時刻を補正する日時計を作ろう。

# 緯度・経度が判っていれば年間の日の出日の入り時刻が予め判るので、
# 2〜3ヶ月の間毎日の,日の出日の入り時刻を明るさから求め、日の出日
# の入り時刻のカーブに最も添う日を求めるようにすること。
711774ワット発電中さん:2011/09/09(金) 00:17:52.57 ID:BqQ40n9+
>>691
送信所の近隣なら PIC の電源もアンテナから取れるな
712774ワット発電中さん:2011/09/09(金) 00:25:00.80 ID:QkCJB15L
PIC10F200 を使って、虹色発光装置が出来たよ、
3色LEDをPWM制御、16階調で、赤⇒黄⇒緑⇒水色⇒青⇒紫⇒赤な感じ光る。

http://www.youtube.com/watch?v=1iH3diLqrBs
713774ワット発電中さん:2011/09/09(金) 00:46:06.89 ID:Qe4d3mSo
>>712
面白いね?
714774ワット発電中さん:2011/09/09(金) 01:31:34.92 ID:qbdTVXYy
>>712
きれい
715774ワット発電中さん:2011/09/09(金) 07:24:15.29 ID:r8Pj4js7
>>712
いいね
716774ワット発電中さん:2011/09/09(金) 08:02:21.96 ID:FaTIzKmW
>>708 それだ!
717774ワット発電中さん:2011/09/09(金) 09:09:29.61 ID:Kgl36kMM
>>709
USBはHUB要るけど、I2Cはそのままパラってイケるってことじゃね?w
718774ワット発電中さん:2011/09/09(金) 10:15:15.99 ID:cCVUTajw
>>708
PS/2のプロトコルわかると、受信は楽よね。
昔、H8で98バスマウスをPS/2マウスに変換したりしたが、いまならPICで十分だな。
719774ワット発電中さん:2011/09/09(金) 10:42:52.16 ID:oNej4SG3
サンヨーのモバイルエナジーブースター(モバブー)は5Vが出ています。
これをPICの電源に直接使っている人います?
安定度について評価したことのある人がおられたら教えて下さい。
720774ワット発電中さん:2011/09/09(金) 11:38:56.77 ID:ur1AwJtf
>>690
エンコーダ/デコーダ方式は複数のポートから選んでON/OFFする方式。
データを送れる可能性はあるかも。
721774ワット発電中さん:2011/09/09(金) 12:37:52.21 ID:CA+tTXie
SDカードとのSPI通信用にCRC−7の計算コードを調べてます。
この2つのサイトがコード化しやすそうに書かれています。
1)http://www.wdic.org/w/WDIC/CRC
2)http://page.freett.com/seaside/vip/crc/Cal2CRC.htm

以下、サイト1)の計算手順の抜粋です。

大雑把な計算方法は、次のとおり。16ビットCRCを、アセンブラーで処理すると仮定し、
16ビットのCRCを計算するとする。メモリーから1バイト(8ビットとする)を随時読み
計算する方法を述べる。
1)CRC格納レジスタを0クリア
2)計算するメモリー長ループ
2.1)データを1バイト読む
2.2)8回ループ
2.2.1)データを1ビット左シフト (桁溢れ分はキャリーフラグ)
2.2.2)CRC格納レジスタを1ビット左ローテート (LSBには上のキャリーフラグを代入)
2.2.3)16ビットから桁溢れしたら、CRC格納レジスタを多項式でXORする。
3)完成

これを私自身が忠実に再現したつもりのコードが次ですが、正しく計算されません。
どこがおかしいのか、心当たりがあればアドバイスお願いします。

検算用のデータは次のとおり
DATA1: 0x49, 0x00, 0x00, 0x00, 0x00
正しいCRC=0xAF

DATA2: 0x4D, 0x00, 0x00, 0x00, 0x00
正しいCRC=0x0D

*このCRCはストップビットを含むSDカード制御コマンドの6バイト目のデータをあらわす。
722774ワット発電中さん:2011/09/09(金) 12:38:52.46 ID:CA+tTXie
unsigned char calc_crc7(unsigned char* data)
{
unsigned char CRC_7 = 0x89; //0x0112; // 0x89;
unsigned int i, j;
unsigned_word c;
unsigned_word d;
unsigned char cz, dz;

c.WORD = 0x0000;
for (i=0; i<5; i++)
{
d.BYTES.L = data[i];
for (j=0; j<8; j++)
{
d.WORD = d.WORD << 1;
dz = d.BYTES.H & 0x01;
c.BYTES.L = c.BYTES.L << 1;
c.BYTES.L = c.BYTES.L | dz;
cz = c.BYTES.L & 0x80;
if (cz == 0x80)
{
c.BYTES.L = c.BYTES.L ^ CRC_7;
}
}
}
return ((c.BYTES.L << 1) | 0x01);
}

<unsigned_word>は次のように定義されています。

typedef union word_data {
unsigned short WORD;
struct {
unsigned char L;
unsigned char H;
} BYTES;
} unsigned_word;
723774ワット発電中さん:2011/09/09(金) 12:41:08.00 ID:JJSjtHnv
>>721
そんな仕様書みたいな文章じゃなくて、コードそのものを出してくれたらいいのに。
ついでにそのコードを通して出てきた間違ったCRCも出してくれたらいいのに。
724774ワット発電中さん:2011/09/09(金) 12:42:50.87 ID:JJSjtHnv
書き込み途中だったのね。こりゃ失礼
725774ワット発電中さん:2011/09/09(金) 12:51:25.82 ID:JJSjtHnv
>>721
そのものずばりがあったよ
ttp://nabe.blog.abk.nu/0355

てか、SDカードのSPI通信用ライブラリってMicrochipに置いてあった気がする。
726774ワット発電中さん:2011/09/09(金) 12:58:15.31 ID:sNstpnZd
ビット操作はアセンブラだなぁ
727774ワット発電中さん:2011/09/09(金) 19:33:17.05 ID:CA+tTXie
>>725
情報ありがとう。

なにか自分でミスしてるかもしれないけど、そこのコードも試してみたけど検算用として示した結果が
得られなかった。だれか他に確認できる人はいないかな?
このコードではデータの並びが逆になってるよね?
たとえばDATA1だと{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x49 }みたいな。

自分のテスト環境では次のサイトのコードで検算用データと一致した。
http://bluefish.orz.hm/sdoc/psoc_mmc.html#CRC

マイクロチップのライブラリ、チェックしてみたけどCRCに関するコードは計算ルーチンではなく
各コマンドに対するCRCの値がテーブルとして埋め込まれてるね。計算そのものにも興味があって
いろいろ情報を集めてました。

>>722について、日本語の解釈で勘違いしてるところがあるのか、何か気づいたところありませんか?
728774ワット発電中さん:2011/09/09(金) 19:50:09.55 ID:TRQJT8dV
>>727
>16ビットのCRCを計算するとする。メモリーから1バイト(8ビットとする)を随時読み
このメモリーってRAM?ROM?SD?

とりあえずCRC計算をする前のデータは正しく読めてる?
SDカードってフォーマットのやり方によってファイルの始まる場所が何バイト目からになるか、変わるらしい
729774ワット発電中さん:2011/09/09(金) 19:50:50.52 ID:r7WudKum
多分インディアンやビットシフト関係じゃないの
PCとかの適当な他のCで同じになるか調べれば早い
730774ワット発電中さん:2011/09/09(金) 20:50:04.08 ID:q4z0v7wi
エンディアン・・・
731774ワット発電中さん:2011/09/09(金) 21:52:42.82 ID:CA+tTXie
>>728>>729
CRC計算ルーチンの単体テストの段階でデータはすべてマイコンのRAM上にあります。
レス内容からコーディングにはあやしいところは見当たらないとみていいのかな?
732774ワット発電中さん:2011/09/09(金) 22:33:06.83 ID:r7WudKum
全然だめです
733774ワット発電中さん:2011/09/09(金) 23:38:32.04 ID:r7WudKum
>>725を見ながら書き直したもの
unsigned char calc_crc7(unsigned char* data) {
unsigned char CRC_7 = 0x89; //0x0112; // 0x89;
unsigned char i, j, c, d, crc_prev;
c = 0;
for (i=0; i<6; i++) {
if (i<5) d = data[i];
for (j=0; j<8; j++) {
c <<= 1;
crc_prev = c;
c |= (d & 0x80) ? 1 : 0;
d <<= 1;
if (c & 0x80) {
c ^= CRC_7;
}
}
}
return crc_prev | 1;
}
734774ワット発電中さん:2011/09/10(土) 00:49:50.46 ID:UKMdazoa
>>733
とても読みやすいコード、ありがとう。
このコーディングで見ると>>721と同じ考え方がベースになっているのがよくわかりますね。
手元の実行環境に移植して試してみましたが正しく計算されました。最初にアップしたコード
のどこが悪かったのかについても違いがわかりました。
735 忍法帖【Lv=3,xxxP】 :2011/09/10(土) 01:38:23.51 ID:79xH3JKM
C18コンパイラ使用してます

1バイト変数の配列の一部をintやlong型、バイト長の異なる変数に移したいのですが正しく代入できません

unsigned char chr[2] = {0xff, 0xff};
unsigned int num;

num = chr[0];

USARTでPCに送って確認すると変数numの値は255となっていました
0xffff,65536にしたいのですがどうしたらいいのですか?
736774ワット発電中さん:2011/09/10(土) 01:54:39.98 ID:Uk2IZ8Ed
num = chr[0]; は、
num = 0xff; なので、
>変数numの値は255となっていました   で、OKなんじゃないの?

chr[2] = { 0x12, 0x34 };  を、 num = 0x1234 にしたいなら、
計算して代入するしかないよ
num = ( (unsigned int) chr[1] ) << 8;
num += ( (unsigned int) chr[0] );
とか、
num = ( ( (unsigned int) chr[1] ) << 8 ) + ( (unsigned int) chr[0] );
とか。

(unsigned int) chr[1]  → いったん 0x0012 と、int幅にして
<< 8             → 左に8bit回して、 0x1200にして、
+ (unsigned int) chr[0] → さらに、chr[0]をint幅に拡張したもの(0x0034)を加算する




737 忍法帖【Lv=3,xxxP】 :2011/09/10(土) 02:00:07.10 ID:79xH3JKM
ビット演算を使うんですね
ありがとうございます
738774ワット発電中さん:2011/09/10(土) 07:18:41.68 ID:jySLWRmz
SPIモードならCRCは省略しても良くなかったっけ?
739774ワット発電中さん:2011/09/10(土) 08:17:43.68 ID:qQX8I2Xo
>>735
代入じゃなくて参照でもいいならint型のポインタ使うのが一番スマートやけどね。
740774ワット発電中さん:2011/09/10(土) 08:46:52.43 ID:R5l8jLQa
>>735
符号拡張の話かと思いきや、バイト2つの代入ね(確かに文章もそうなってた orz)。
例題的には >>736 の様に上位、下位と値を変えた方がわかりやすい。
>>739
高速化しようとポインタで4byte操作したらエラーメッセージも出さずコンパイラが落ちた事ある。
一度経験すると疑う箇所が絞り込めるのでいい経験だったけど。当時は悩んだ。
ソースを削って削って、残ったのを見て、おまえか!って感じ。
741774ワット発電中さん:2011/09/10(土) 09:04:28.68 ID:UKMdazoa
>>740
ポインタで処理したらシステムによって結果が違ったりする、つまりバグの原因になる、という意味?
742774ワット発電中さん:2011/09/10(土) 09:17:10.34 ID:bSkkUw09
そもそもこんな処理にポインタなんて使うほうがどうかしてる。
せめてアセンブラで組むかCRC用ハード内蔵のPIC使えよ。
743774ワット発電中さん:2011/09/10(土) 09:19:37.80 ID:u55W+WNw
同じアドレスを指す、型が違うポインタってのは、C言語の仕様として変なふるまいを
しても問題ないことになってるので、そういう手抜きをせずunion使え。
744774ワット発電中さん:2011/09/10(土) 09:27:44.79 ID:yrdDq1dp
PICド初心者なんですがちょっと質問させて下さい
環境はHI-TECH C lite + PIC16F1827です
内蔵クロックを使って32MHzで動作させるつもりでいたのですが、何故かPLL4xが動かないんです。
OSCCONの設定は
SPLLEN = 1; //PLL4x有効
IRCF3 = 1;
IRCF2 = 1;
IRCF1 = 1;
IRCF0 = 0;
//割り当て無し
SCS1 = 1;
SCS0 = 0;
となってます、8MHz動作*PLL4xで32MHz動作の筈なんですが・・・。
何かこれが原因じゃないだろうか?という点があったら教えて頂きたいです。

自分はもう何が悪いのか全然分からないので、関係のありそうな設定の行を適当に列挙しときます
#define _XTAL_FREQ 32000000

CONFIG内では
FOSC_INTOSC
IESO_OFF
FCMEN_OFF
PLLEN_ON ←これだけでもPLL4x有効になるって話なんですが・・・
のように設定しています。
745774ワット発電中さん:2011/09/10(土) 09:31:55.15 ID:R5l8jLQa
>>741
システム依存になりそうなのは属性。ポインタの存在する場所(ROM/RAM)、
ポインタが指す場所(ROM/RAM)、指す場所が専用か、ROM/RAM共用かにより
展開具合が微妙に違うので注意してる。用途によりポインタ変数のサイズも違う場
合ある。
746774ワット発電中さん:2011/09/10(土) 09:34:50.28 ID:pv9hqXmj
>>744
config,config2
747774ワット発電中さん:2011/09/10(土) 09:41:25.81 ID:R5l8jLQa
>>742
普通はunionで対処してるけど、コンパイラ都合、処理速度、容量対策等、
やむを得ない場合はポインタ使うよ。マクロで定義しておけば問題無し。
HL関係もマクロ側で吸収するようにしてる。
748774ワット発電中さん:2011/09/10(土) 09:56:03.46 ID:UKMdazoa
unionだと100%保障されるのかな?自分もよく使うけど
バンクの境界とか意図するRAM配置にならないケースがないか不安になることがある。

Cではポインタが難しいとよく言われるがコーディングが難しいというよりシステム依存
があって難しいってことかな。
749774ワット発電中さん:2011/09/10(土) 09:57:00.92 ID:yrdDq1dp
>>746
ごめんなさい、もうちょっと詳しく教えて下さい・・・・
CONFIG1、CONFIG2の中身は共に
__CONFIG( 〜 & 〜 &・・・・);
といった感じでまとめて突っ込んでますが、そこに問題があるんでしょうか?
pickit2から見る限りconfiguration wordは意図した通りに設定されてる気がするんですが・・・・
750774ワット発電中さん:2011/09/10(土) 09:57:30.92 ID:LIkKlpxT
F1827は使ったことないのでわかんないが
データシートの5.2.2.6 32 MHz Internal Oscillator Frequency Selection
を見ると、内部オシレータで4xPLLを使うにはSCS<1:0>は00にしなきゃいけないと
書いてあるけど。
751774ワット発電中さん:2011/09/10(土) 10:14:16.63 ID:yrdDq1dp
>>750
まさにそれでした、解決しました。
internal oscillator blockってPLL4xを噛ませる前の内部発振だったんですね・・・完全に勘違いしてました。
本当にありがとうございました。
752774ワット発電中さん:2011/09/10(土) 10:14:55.60 ID:qQX8I2Xo
>>748
バイトアライメントがどうなるかなんて、一回デバッグしてみりゃ分かることだしね。
753774ワット発電中さん:2011/09/10(土) 14:57:12.52 ID:BX7z5eqD
>>749
andすかw
754774ワット発電中さん:2011/09/10(土) 20:07:28.08 ID:Kx4XdBJz
>>753
CONFIGは、0にすることが意味を持つ場合が多いからね。
755774ワット発電中さん:2011/09/10(土) 20:26:24.80 ID:A+4/otJ0
>>751
俺は使う事は無いが
「具体的に書いて置いてもらう」
と有りがたいと思う。
756774ワット発電中さん:2011/09/10(土) 22:20:08.38 ID:xjVpEjeQ
EPROMが1を0にする名残りなんだろうか
757774ワット発電中さん:2011/09/10(土) 23:24:26.37 ID:BulSO7GA
Flashも最初1?
とりあえず、PICライターは初期値FFだから1だと思うけど。

そういう意味で、コア繋ぐだけで初期値が完成するからこそ、初期値1かと。
758774ワット発電中さん:2011/09/11(日) 05:13:11.26 ID:jA2XChfB
>>756
名残もなにも、消去した時に1になるだけの話。
759774ワット発電中さん:2011/09/11(日) 06:26:41.73 ID:1Yt436pw
FUSEを焼き切った時の名残じゃね?
760774ワット発電中さん:2011/09/11(日) 07:34:25.96 ID:jA2XChfB
セルは性能のいいNチャネルを使うだろうから、電荷を放電した状態が1になるのでは?
その後のセンスアンプは一番単純(=高速)なのはNONインバーティングなアンプだろうし。
761774ワット発電中さん:2011/09/11(日) 07:35:06.15 ID:BwrmnrxG
FUSEなら焼き切ったらHとかもできるだろうに
そもそもHとLのどっちを1と思うかが自由だし
762774ワット発電中さん:2011/09/11(日) 16:17:01.38 ID:jA2XChfB
いくら自由とはいえ、1が無いのにHするのもどうかと思うがな
763774ワット発電中さん:2011/09/11(日) 19:01:21.49 ID:bX1hTv0G
オマイら暇?
スレチで悪いのだけど雑談と言う事で、
日頃お世話になっているクロウト達の意見を聞きたいw

ふとパチスロ関係のスレを見ていたのだけど
こんな記事が有ったんだ
CR「エヴァンゲリオン」
http://blogs.yahoo.co.jp/fuminori62/archive/2010/9/3
LAN端子やRS232C(プリンタポート?)が有るのは遠隔じゃないか?
と言う事らしいのだが?このスレの住人には実際にパチンコ台の設計をしている人
も居ると思う。実際の所はどうなの?
764774ワット発電中さん:2011/09/11(日) 19:12:53.88 ID:10nkyqe+
>>763
ホール制御のホストとつなぐだろ
765774ワット発電中さん:2011/09/11(日) 19:20:50.86 ID:+LIQtRT+
766774ワット発電中さん:2011/09/11(日) 19:53:33.03 ID:bX1hTv0G
>>764
>>765
ありがとー判ったw
限りなくクロと言う事でおk!w
767774ワット発電中さん:2011/09/11(日) 22:31:36.97 ID:zm9AB12i
どんなところにも裏と表があるってこった
768774ワット発電中さん:2011/09/11(日) 22:43:21.36 ID:dvwdHDLp
馬鹿だな。
こんなもん、全部フォトカプラで切ってある出力端子だ。LANでもシリアルでもない。
なので、ついていても何も問題ない。合法だよ。
769774ワット発電中さん:2011/09/11(日) 23:21:12.71 ID:7cepX6G5
だいたいRJ11だからLANじゃないことくらい(ry
770774ワット発電中さん:2011/09/11(日) 23:59:49.46 ID:tWdzD9zA
LANポートやシリアルポートがあれば中身弄れるって飛躍も凄いよな。
771774ワット発電中さん:2011/09/12(月) 00:10:04.49 ID:yBDLH8J4
>>743
union は、複数のデータ型を同じメモリ領域に格納することができるけど、
それで、データ型を変換できるなんてことはないんだよ。
772774ワット発電中さん:2011/09/12(月) 00:52:10.03 ID:q0IAw+wD
主基板が入力を受け付けてないんだから、
サブ基板がどう頑張っても演出を組み替えるのが精一杯

CPUのメーカーを変えただけで検定に通らないくらい厳しいのに、
外から線刺しただけでどうにかできる訳ないだろ
773774ワット発電中さん:2011/09/12(月) 01:05:01.77 ID:B4TxcFYS
>>771>>741
このスレの特徴かなとみてるが、それぞれのレスが完全に間違いでもないけど、完全に正しいという
わけでもないということかな。Cをよく使ってるけどデータ型の扱いとかキャストとか正しく使うの
結構難しいと思う。
774774ワット発電中さん:2011/09/12(月) 01:26:19.75 ID:Pa2Vfww0
unionで型変換できるかどうかは実装に依存する話
C言語の規約的には>>771が言うように、同じ領域を複数の型で使えるというだけ

だから、
「Cではunionを使えば型変換できる」←完全な間違い
「○○C(ある特定の処理系)ではunionを使えば型変換できる」←正しいかもしれない
               (けど、条件によっては試した時と違う振る舞いをするかもしれない)
775774ワット発電中さん:2011/09/12(月) 02:22:32.07 ID:odmJfM3g
pic初めて1ヶ月の初心者ですが教えてください
EEPROMに書き込んだデータは、新たにプログラムを書き込むと0xFFになるのですか?

例えば、
EEPROMのアドレス0x00に0x17というデータを書き込むプログラムを作る
PICに書き込んで実行(pickit2のreadで見たところ、EEPROMへの書き込み成功)
その後別の、EEPROMを使用しないプログラムを書き込み
読み込んだところアドレス0x00のデータが0xFFになっている

こんなことが起こるのですが、保持したい場合は毎回書き込むしかないのでしょうか?

picは16F88、コンパイラはHI-TECH C PRO (Lite mode)を使っています
776774ワット発電中さん:2011/09/12(月) 02:24:59.78 ID:yBDLH8J4
>>774
volatileがない頃のC言語だとunionのあるデータ型に代入しても
別のデータ型では、それが反映されていないことがあったんだよね。
C言語から見れば、それぞれのデータ型で別々の変数と見てよいから
実際の代入はかなり後にされてしまうことが珍しくなかった。
それを防ぐために何もしない関数を呼び出して、
代入を強制するなんてことをする必要があったんだよね。
unionをアセンブラのイメージで使うならアセンブラの知識と
使っているC言語の詳細な知識が必要になるということだね。
777774ワット発電中さん:2011/09/12(月) 02:31:01.31 ID:yBDLH8J4
>>775
書き込む前に全てのメモリを消す設定になっているのでは?
Settings...にその設定があるよ。
778774ワット発電中さん:2011/09/12(月) 06:44:13.30 ID:VNtGSctJ
>>774
コードジェネレーターの結果みればいいじゃないか
それすら手間か?
確かにコンパイラの挙動はブラックボックスだから確証はないだろうけど癖は読み取れると思うぞ?

もっともそこにばかり注視してても目的の開発には有益ではないとは思うがな
でもホビーなら別にそこまで言わなくても…仕事ならなお更アウトプットの確認するだろうし
779774ワット発電中さん:2011/09/12(月) 07:23:18.45 ID:dRgfZ/ni
言語規約上は保証されないことになってても
現実ではunion多用されてるけどなー

unionでの型変換なんて
エンディアンで順番が変わるくらいだと思うのだけど
同じCPU(同じエンディアン)でもコンパイラによって動作違うの?
780774ワット発電中さん:2011/09/12(月) 08:26:56.29 ID:WyKOuwKN
> volatileがない頃のC言語だとunionのあるデータ型に代入しても
> 別のデータ型では、それが反映されていないことがあったんだよね。
> C言語から見れば、それぞれのデータ型で別々の変数と見てよいから
> 実際の代入はかなり後にされてしまうことが珍しくなかった。
> それを防ぐために何もしない関数を呼び出して、
> 代入を強制するなんてことをする必要があったんだよね。
> unionをアセンブラのイメージで使うならアセンブラの知識と
> 使っているC言語の詳細な知識が必要になるということだね。

現代のCの規格にちゃんと「strict aliasing rule」があるんだが。
781774ワット発電中さん:2011/09/12(月) 09:42:09.57 ID:ZqhGhNne
PICって書籍もいっぱいあるし、いったいどこから手をつけていけばいいのか良くわからん。なんか良い入門書とか推薦ない?
782774ワット発電中さん:2011/09/12(月) 09:59:55.48 ID:zVfBXz6v
つ[データシート]
783774ワット発電中さん:2011/09/12(月) 10:05:54.33 ID:B4TxcFYS
>>779
コンパイラ(リンカかな?)が変数をRAM上に割り付ける時、必ず連続したアドレスに
割り付けるってわけではない場合があったりするんじゃないかな。そうなるとエンディアン
の問題だけじゃなくなる。こんなときはいままで動いてたのに一つの変数をコードの途中に
新しく定義しただけで動作がおかしくなるなんてことになる。
784774ワット発電中さん:2011/09/12(月) 10:26:15.83 ID:qYuAoNg5
devicefile更新したpickit2で16F18xx系に書き込んでるんだけど
50%ぐらいの確率で失敗する上に失敗箇所が毎回違ってたりして全然原因が分からないんだ
16F648Aとかに書き込んでた時は全然そんなの起こらなかったけど、何が悪いんだろ
785774ワット発電中さん:2011/09/12(月) 10:35:15.43 ID:q0IAw+wD
GNDが繋がってないのに書けてるとか、そんなんじゃないの
786774ワット発電中さん:2011/09/12(月) 10:47:58.59 ID:qYuAoNg5
ICSPのGNDは間違いなく繋げてるんですけどねぇ・・・・
787774ワット発電中さん:2011/09/12(月) 11:23:49.04 ID:6lzUoAjy
16F1827でI2Cをしています。
先週何度か書き込みしてアドバイスを貰った者です。

ようやくオシロで波形が確認できるようになり、PICkit3でのデバックも出来るようになりました。
現在はブレッドボードでテストしているのですが、もしかしてこれが原因ではないかと薄々感じてはいたのですが、
ブレッドボードとACアダプタ間に取り付けたスイッチボタンを触ったりするとリセットされるようです。
原因は空中に張り巡らされた配線とどこかのジャンパ線の接触不良ではないのか?
と思いつつ何かの対処方法でブレッドボードでのテストを続けられないか?と思ったりもします。
I2Cの速度は400kbpsですが、ブレッドボードでは限界でしょうか?

テスト用の回路なのでブレッドボードで・・・と思いましたが、ユニバーサル基板とすずメッキ線で回路作った途方がはや道でしようか?
よろしくお願いいたします。
788774ワット発電中さん:2011/09/12(月) 11:32:32.53 ID:yBDLH8J4
>>784
Vppの電圧を下げる回路は入れてる?
789774ワット発電中さん:2011/09/12(月) 11:51:21.74 ID:6lzUoAjy
>>784
もしかしてPICkit2の回路への接続に問題はないでしょうか?
PICkit2と基板との間のケーブルは短いほどよく20cm以下が良いそうです。
自分も前に同じような症状になり秋月などで売ってるピンで直接基板にPICkit2を差し込んだところうまく行くようになりした。
ただ、そのピンは少し短くてPICkit2の差込口にシッカリはまらない事があるので、そうするとやはり上手く動作しません。
790774ワット発電中さん:2011/09/12(月) 12:48:13.79 ID:qYuAoNg5
>>788
え・・・・全く入れてないんですが、5Vじゃマズイんですかね?

>>789
思いっきり30センチ近くありますね・・・・今度もう一個短いケーブル作ってみます。
791787:2011/09/12(月) 13:00:04.79 ID:6lzUoAjy
PICKkit3でデバッグも出来るようになり・・・・と書いたとたんにデバックが出来なくなりました。WW
>>787の質問ですが、PICのVDDへ繋がるジャンパ線の接触が悪かったようで、現在はデータ線もクロック線もひっきりなしに動いています。
やっと次の段階に移れます。
あとは受け取った音声データをPWMでアンプに出力するだけです。
しかし、CCP1のあるRB0のピンがピクリともしません。
そこでデバッグを・・・・と思ったところでバックが出来ません。

ブレークポイントを設定してRUNボタンをクリックすると、数秒の沈黙の後、プログラムの最初の行で停止します。
どこにブレークポイントをつけても同じです。何かでリセットされてまたゼロ番地から開始されているような印象です。
オシロの波形を見るとデバッグなど知ったことかと信号を送っています。
いったい何が悪いのでしょうか?
792774ワット発電中さん:2011/09/12(月) 13:03:32.03 ID:iexerVhk
>>787 PIC使ったことないけどパスコン入れてる?
793787:2011/09/12(月) 13:04:41.72 ID:6lzUoAjy
>>792

あっ・・・入れてみます。
794774ワット発電中さん:2011/09/12(月) 13:17:59.94 ID:yBDLH8J4
>>790
データシートに回路があるよ。
TL431 で VPP の電圧を落としている。
795774ワット発電中さん:2011/09/12(月) 14:13:03.45 ID:yBDLH8J4
>>790
PICkit2 だと ICD2と違って VPP は可変できるみたいだから必要ないのかも。
でも、サポートするは、PICkit3 でなんだよね。
ファームウェアに問題があるのかもしれない。
796774ワット発電中さん:2011/09/12(月) 14:22:55.51 ID:yBDLH8J4
>>791
Watchdog Timer がオンになっているとかね。
ステップ実行は試してみた?
797774ワット発電中さん:2011/09/12(月) 15:44:19.45 ID:B4TxcFYS
>>787
接続点の接触不良というのはまったくないわけではないが、400kHz程度でブレッドボードが
使い物にならないということはありません。20MHzクラスのマイコンとブレッドボード上に組んだ
周辺回路を接続してテストすることはよくあるけど、スイッチなど物理的力がかかって接触状態に
変化があるケースを除いて動作不良の経験はバグ以外ではありませんよ。
798787:2011/09/12(月) 15:58:40.56 ID:6lzUoAjy
>>796

コンフィグ設定で _WDTE_OFF としているのでウォッチドックタイマーの線はなさそうです。
ステップ実行はでは画面が変化せず、プログラムの第1行でカーソルが止まったままです。
まるでデバッガが無視されているようにさえ思います。

>>797

ありがとうございました。安心してこのままテストを続けます。
799774ワット発電中さん:2011/09/12(月) 20:12:05.81 ID:odmJfM3g
>>777
ありがとうございます
settingsのprogram loadingタブですか?
800774ワット発電中さん:2011/09/12(月) 21:08:08.43 ID:y9VG7316
>>798
797 が書いてるように、ブレッドボードで400Kbps、I2Cは問題無く動いたよ。源発振は内蔵32MHz。
EEPROMを連続3千万回くらい書き読みテストしたけど、特に問題無し。
801774ワット発電中さん:2011/09/12(月) 21:45:51.77 ID:lc+bYiV7
>>787
とりあえず回路図とソフトをうp
802774ワット発電中さん:2011/09/12(月) 23:07:25.08 ID:yBDLH8J4
>>799
DebuggerやProgrammerにあるSettings...だよ。
PICkit2を選ぶと、メニューの内容が変化するから見落としたのかな?
Preserve device EEPROM にチェックを入れてみて。
803774ワット発電中さん:2011/09/12(月) 23:27:50.55 ID:yBDLH8J4
>>798
Resetしても変わらないの?
Outputに何かエラーが表示されてない?
804774ワット発電中さん:2011/09/13(火) 00:04:08.28 ID:oO2W+5dR
>>798
ブレッドボードでも「動かないことはない」ですが、
>>791
「PICのVDDへ繋がるジャンパ線の接触が悪かったようで、」という不慮の事故は、
避けられません。

一方、ユニバーサル基板のハンダ面に直接部品を貼り付ける方法は、
ササッと作れて「ほぼ間違いなく動き」ます。

ソフトのデバッグに熱中しているときに>>791のような事故があると、
何倍も無駄な時間を費やしてしまうことになります。
慣れない時期こそ、急いでいるときこそ、
わずかでも不安な要素は、捨てる(排除する)べきです。

ハンダ付けが自由自在に使えるようになるのは、意外に簡単です。
いろいろな事情が良くわかってきてから、ブレッドボードを使っても遅くないよ。

オシロやテスターのプローブを引っ張ったら、苦労して差し込んだ線が「バサッ」と抜けるかもしれません。
今からでも全然遅くありません。
ハンダ付けをオススメします。
805774ワット発電中さん:2011/09/13(火) 01:18:49.83 ID:WO3F4FLO
PICでハッキングツール作る方法教えろ
806787:2011/09/13(火) 06:24:07.32 ID:RKarddJ6
>>800

ありがとうございます。それにしてもサクサクッっとそこまで出来るレベルに憧れます。
感謝いたします。

>>803

はい変化はありませんし、なんのメッセージも表示されません。

>>804

>ソフトのデバッグに熱中しているときに>>791のような事故があると、
>何倍も無駄な時間を費やしてしまうことになります。

そうですね・・・
807774ワット発電中さん:2011/09/13(火) 07:42:28.43 ID:uNM8UmC2
>>805
勉強する
808774ワット発電中さん:2011/09/13(火) 10:30:40.34 ID:ZfIuXwP7
>>805
マヂレス

ハッキングしたいパソコンを考える。
キーボードにPICのデーターロガーを付ける。
シリアルのコードを蓄積
10日置く
回収・解析 そしてその人のパスをゲットする。
809774ワット発電中さん:2011/09/13(火) 10:43:06.81 ID:VZsWngDs
記憶容量、滅茶多そうな気がする。
赤外線リモコンをハッキング。なんてのは色々なところで見かける。
学習リモコンは良い例かな。便利という意味で。
810774ワット発電中さん:2011/09/13(火) 10:46:09.69 ID:cu9e0geG
プログラムとしては小さいから、余ったフラッシュメモリに書き込んでいけば人間の打つキーボード位余裕で記録できる。
811774ワット発電中さん:2011/09/13(火) 10:47:00.76 ID:32e8KJPU
シリアルに噛ませるドングルって、間にPIC入れて信号ぶっこぬいたら
簡単に破られちゃうんじゃないの?
って思ったけど、そんな簡単なもんでもないよね。
812774ワット発電中さん:2011/09/13(火) 11:26:13.96 ID:DCA2N3mA
>>806
Programmerで書き込んでない?
Debuggerと違ってデバッグ用コードが書き込まれないからデバッグができない。
813774ワット発電中さん:2011/09/13(火) 11:35:26.64 ID:bahjdRG/
回路図の書き方聞いてもいいか?
814774ワット発電中さん:2011/09/13(火) 12:18:41.75 ID:PuY1qweW
テロリストが暗号通信してて、傍受しても解読できないから、
部屋に侵入してキーボードにロガーを設置する許可を裁判所が出してたな
815774ワット発電中さん:2011/09/13(火) 12:37:10.79 ID:bahjdRG/
LEDのスイッチ回路にチャタリングを加えるってどうやりますか?
816774ワット発電中さん:2011/09/13(火) 12:43:28.65 ID:SDxh/WyN
>>815
チャタリングを加えるって何だ?
除去するのならハード的にもソフト的にも対応可能だが
817774ワット発電中さん:2011/09/13(火) 12:58:34.22 ID:cu9e0geG
picで試験用のチャタリング発生回路作った事ある。
818774ワット発電中さん:2011/09/13(火) 14:01:46.15 ID:bahjdRG/
LED点灯のスイッチ回路にチャタリング防止回路を加えた回路図を書きたいのだが
上手く伝えられずすまない。
819774ワット発電中さん:2011/09/13(火) 14:22:38.31 ID:z0Eees/F
820774ワット発電中さん:2011/09/13(火) 14:26:49.42 ID:cu9e0geG
>>819
その回路はあまり良くない。
821774ワット発電中さん:2011/09/13(火) 14:27:36.06 ID:2HWDv80N
822774ワット発電中さん:2011/09/13(火) 15:56:14.97 ID:t7KG10HT
え?チャタリング除去ってプログラムだけでやるものじゃないの?
回路作らないといけないん?(´・ω・`)
823774ワット発電中さん:2011/09/13(火) 16:05:37.31 ID:2HWDv80N
>>822
マイコン使うならそれでいいだろうけど、スイッチの質が悪すぎる場合、遅延回路組んだり。
電子工作のほうとマルチってるところを見るに、マイコン使う気ないんだろう。
824774ワット発電中さん:2011/09/13(火) 16:27:22.08 ID:t7KG10HT
>>823
なるへそですね。
825774ワット発電中さん:2011/09/13(火) 16:56:36.29 ID:8Wu4bS3X
>>811
USBアナライザで信号見れるけど、毎回違うシードをPCから送ってるでしょ。
解析はPC側のソフトを追わない限り難しいと思うよ。
826774ワット発電中さん:2011/09/13(火) 17:19:02.58 ID:OmjMbErJ
>>825
公開暗号について教えてあげなよ
827774ワット発電中さん:2011/09/13(火) 20:13:12.98 ID:ZfIuXwP7
チャタリング発生装置ってPWM使うとか?
プログラムは絶対に要らないぞ
マルチを甘やかす必要は無い
828774ワット発電中さん:2011/09/13(火) 20:15:50.93 ID:OmjMbErJ
>>822
いま書いてるところ。明日デバックして、明後日アップします
待っててね
829774ワット発電中さん:2011/09/13(火) 20:40:55.97 ID:YsA1pu+j
チャタレイ夫人の変人
830806:2011/09/13(火) 22:00:24.00 ID:RKarddJ6
>>812
ご指摘の通りでした。debuggerメニューからも書き込みできたとは・・・・
ありがとうございました。
831774ワット発電中さん:2011/09/13(火) 23:44:10.38 ID:uNM8UmC2
>>827
高機能電話の製品化前試験でボタンチャタ除去の妥当性検証用
PWMじゃ無いよ。もっと複雑な波形を生成する。
832774ワット発電中さん:2011/09/14(水) 00:25:45.42 ID:y1mEARnN
これはどーなってる?
http://www.youtube.com/watch?v=SqBw7XapJKk
833774ワット発電中さん:2011/09/14(水) 04:20:52.33 ID:Hr5dFrug
腰の横棒はなんでしょうか、
転倒時のクッションなのかな?
834774ワット発電中さん:2011/09/14(水) 04:32:43.37 ID:kpUITahn
>>832
すごくかわいいw
835774ワット発電中さん:2011/09/14(水) 06:54:43.20 ID:6U9xCYdb
スタート時の制御が面白そうだが、きっと中の人が片脚をペダルに乗せているんだろうな。
両脚をおろして停車してからの再スタートができたら凄いが。

というより良くできたトリックムービーのような気がしてきた。
836774ワット発電中さん:2011/09/14(水) 08:28:53.71 ID:Jds+zCdx
ムラタセイサク君
837 忍法帖【Lv=6,xxxP】 :2011/09/14(水) 11:22:30.11 ID:vnLe7TPz
TRISC = 0b00000000;
CCP1CON = 0b00001111;
T2CON = 0b00000111;
PR2 = 92;
CCPR1H = 0x00;
CCPR1L = 128;

18f2550 48MHz で8khzのPWM出力するよう設定してるはずなのに
テスター、オシロで測ると直流のままになってるんですが何故?

ちなみに、PR2 = 255;にすると計算通り2.9KHzで出力されます
838774ワット発電中さん:2011/09/14(水) 11:58:22.23 ID:ZEmpz751
データシートも見ずにコメントするけど、ポートの機能設定やconfigを確認すると
何か見つかるかも。プログラムを書いてないってオチは無しね。
端子として機能しているかを見るなら、単に出力ポートにしてソフトでオン、オフを
繰り返すような処理を入れると、物理面や測定器面の切り分けは早いと思うよ。
839774ワット発電中さん:2011/09/14(水) 12:18:50.04 ID:alub7/+t
>>837
CCPR1L > PR2 だからでは?
840774ワット発電中さん:2011/09/14(水) 16:31:15.47 ID:0Sp5ZRAB
SPIモードによるSDカードへのアクセスについての質問です。
コマンドへのレスポンスを受信するとき、1バイトのレスポンスは常に読み取りシーケンスの
バイト境界に配置されるのでしょうか?
たとえばCMD17(シングルリード)を送ったあとカードからのレスポンスを調べるために
1バイト分のデータを読みにいくと1バイト読み取り中の3つ目のクロックからレスポンスが
返ってくるといったことが起こるのだろうか?もしこんなケースが起こるならハードウェア
SPIモジュールを使う場合、レスポンス、データの読み取りがやっかいそう。
841774ワット発電中さん:2011/09/14(水) 19:28:39.42 ID:0Sp5ZRAB
>>840
悩んでて書き込むと直後に解決することって結構多いね。解決済み。
842774ワット発電中さん:2011/09/14(水) 19:51:45.46 ID:byddQ+c+
>>841
解決方法がわかったら書いておくほうがいつか自分が見返したときや、誰か同じことで悩んで検索した人が役立つかもしれんから
できたら書いておいたほうがええで
843774ワット発電中さん:2011/09/14(水) 19:52:09.17 ID:XYss6/VZ
>>841
解決したのなら、何故解決したのか?
を書く事が・・
844774ワット発電中さん:2011/09/14(水) 22:06:39.50 ID:NNinN0eF
;**** 変数の定義
TEMP EQU 020H

MOVLW 80H
MOVWF TEMP


MOVF TEMP,W
MOVWF CCPR1L

というプログラムなのですが、TEMPには80Hが代入されたのは確認しました。
しかし、CCRP1Lには80Hが代入されません。
TEMPという変数の内容をCCPR1Lに代入したいのですが、
文法が間違っているでしょうか?
845774ワット発電中さん:2011/09/15(木) 00:23:21.33 ID:wRVhylOn
>>844
>TEMPには80Hが代入されたのは確認しました。
本当に確認したのか疑わしいよ。
846774ワット発電中さん:2011/09/15(木) 00:29:29.74 ID:9RGQ+UYy
>844
問題は無いように見えるけど、MPLABのSIMで試してるの?
ありがちなのは バンクが0以外になっているとか
step実行で試して見ればわかると思うよ
847774ワット発電中さん:2011/09/15(木) 06:51:10.72 ID:YajTr5jV
>>844
恐ろしく基本的な事を聞くが石はどれを使ってるの?
848774ワット発電中さん:2011/09/15(木) 07:55:10.09 ID:YajTr5jV
連投になって申し訳ない

>>844
キャプチャモードでもないんだよね?
849774ワット発電中さん:2011/09/15(木) 20:46:12.21 ID:vwzouS8y
>>845-848

皆様ありがとうございました。
>>846さんのご指摘の通りでBANK 0になっていませんでした。
自分で定義した変数はどのバンクでも使えると思い込んでいました。
大変勉強になりました。

>>847 石は16F1827です。
PICkit3でデバッグしていました。

それにしてもプログラムの3割はBANKSELではないか?というほどバンクの切り替えが多すぎで困ります。
なんとかならないものでしょうか?
850774ワット発電中さん:2011/09/15(木) 20:51:45.31 ID:RQfXYPtl
>>849
>プログラムの3割はBANKSELではないか
レジスタのビットに意味を持たせるとかBANKSELを減らせるように
レジスタアサインを考え直すとか、時間をかければかけたなりには
減らせると思うがかける時間が勿体無いので適当に妥協汁
851774ワット発電中さん:2011/09/15(木) 21:29:50.66 ID:kC86NRKd
ADRESLとADRESHが別バンクだった頃に比べたらマシ
852846:2011/09/15(木) 21:30:44.45 ID:9RGQ+UYy
>849
BANKSELは使わず自分でBANK管理する(BANK0を標準として他BANKを使ったら
すぐにBANK0に戻す)とか。メモリマップとにらめっこすることになるけど…

BANK0以外のRAMはFSRでのアクセスになるように工夫する。
70H〜7FHまでの各BANK共通RAMを活用する。新16Fだと割込み時レジスタが自動で
シャドウレジスタへ保存なのでフルに16バイト使えるのかな

大きなシステムになるようならAVRやPIC24,dsPICを考えてみる
PIC24Fのアセンブラは素直で使いやすい、レジスタ16個も使いきれないけどw
>618のアップローダーでインストラクション表あげてあるので参考にどうぞ
853774ワット発電中さん:2011/09/16(金) 17:14:19.96 ID:eY4P8cYm
16F88でMikroCのコンパイラを用いてライブラリ使わずI2Cスレーブの実装したいのですが、
参考になる資料はありますか?
I2Cでのレジスタの扱いがいまいちよくわかりません。
854774ワット発電中さん:2011/09/16(金) 17:55:56.89 ID:9R444z0a
>>853
>ライブラリ使わず…
ライブラリ使えば。と答えてしまうが。。
参考になる資料って言っても検索すればいくつも出てくるだろに。

パソコン使えず検索の仕方がわからないというのであれば別だけど。。
855774ワット発電中さん:2011/09/16(金) 18:25:23.75 ID:eY4P8cYm
正確に言えばMikroC5.01ではi2c.hのライブラリがあるみたいですが、I2Cスレーブとしては使えない見たいなのでネットで調べながら雛形は作ってみましたけどレジスタの扱いがあっているのかどうかがよくわからず…
unsigned char i2c_address = 0, i2c_data = 128;
void i2c_write(unsigned char buf)
{
while(SSPSTAT.BF==1){
// wait
}
for(;;){
SSPCON.WCOL = 0;
SSPBUF = buf;
if(SSPCON.WCOL == 1){
continue;
}
SSPCON.CKP = 1;
break;
}
}
void i2c_handler()
{
unsigned char stat;
stat = SSPSTAT & 0b00101101;
if(stat == 0b00001001){ // Read, Address
i2c_address = SSPBUF; // Address??
} else if (stat == 0b00101001){ // Read, Data
i2c_data = SSPBUF; // Data??
} else if(stat == 0b00001100){ // Write, Address
i2c_write(i2c_address); // Address??
} else if(stat == 0b00101100){ // Write, Address
i2c_write(i2c_data); // Data ??
}
}
void Interrupt()
{
if(PIR1.SSPIF==1){
PIR1.SSPIF=0;
i2c_handler();
}
}
void main()
{
// i2c_init
SSPADD = 2; // Device Address
SSPSTAT.SMP = 0;
SSPSTAT.CKE = 0;
SSPCON.SSPEN = 1;
SSPCON.CKP = 1;
SSPCON.SSPM3 = 0;
SSPCON.SSPM2 = 1;
SSPCON.SSPM1 = 1;
SSPCON.SSPM0 = 0;
// Interrupt
PIR1.SSPIF=0;
PIE1.SSPIE=1;
INTCON.PEIE=1;
INTCON.GIE=1;
for(;;){
// loop
}
}
856774ワット発電中さん:2011/09/16(金) 22:01:20.10 ID:sCGJTOzb
>>855
何もお役に立てるレスはできませんが、
少なくとも、sspstatは面倒でもビット毎に見て
処理をすべきと思います。
いまのままだと、ビットレスが想定される全てのパターンで
if文を作らなければならず、実用適ではありません。
857774ワット発電中さん:2011/09/16(金) 22:05:17.22 ID:sCGJTOzb
t     est
858774ワット発電中さん:2011/09/16(金) 22:18:45.79 ID:sCGJTOzb
>>853
おせっかいかも知れませんが、
マスター側は、あなたが意図するデータを送信する事が可能な
装置なのですね?
それができてないと、スレーブの開発は大変かもしれません。
859774ワット発電中さん:2011/09/16(金) 22:39:49.38 ID:jSWIN0Ag
ち●こにPICを埋め込んだらおしっこを制御できますか?
860774ワット発電中さん:2011/09/16(金) 22:48:08.83 ID:7VPA6R+y
射精の制御もできるようになります
861774ワット発電中さん:2011/09/16(金) 22:51:33.12 ID:MenC1kUN
プログラムミスで射精ルーチンに入れずに永久ループを回る悪寒。
862ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY :2011/09/16(金) 23:35:46.29 ID:ci12t4gD
dsPIC33なら射精の勢いと質をDSPで制御できます
863774ワット発電中さん:2011/09/16(金) 23:45:47.13 ID:dHGReQTK
>>859 ツマンネ
864774ワット発電中さん:2011/09/17(土) 01:08:53.81 ID:XHV+sHgp
2色LEDでカソードコモンのとアノードコモンのがあって、
PICで直接光らせるときはカソードコモン使っとけばいいですよね。
逆に、アノードコモンはどんなときに使うんですか?
865774ワット発電中さん:2011/09/17(土) 01:42:01.88 ID:PD7u6uJd
>>864
どっちでも使える

PICの出力をLowにしたときに光るかHighにしたときに光るかの違い
866774ワット発電中さん:2011/09/17(土) 02:05:01.27 ID:KNhSJg1H
便乗です。

PICってどれだけ、吸い込めるのだっけ?
また吐き出し(出力)はどの位?
例えば 16F628 で・・・

またLEDと470Ωで、どの位の電流で計算しています?
867774ワット発電中さん:2011/09/17(土) 02:26:05.31 ID:PD7u6uJd
>>866
仕様はデータシートのELECTRICAL SPECIFICATIONSの項目に書いてあった

(電圧 - VF) / 抵抗 = 電流
868774ワット発電中さん:2011/09/17(土) 02:37:43.62 ID:ykVVHIff
>>866

16F627A/628A/648A

絶対最大定格
各ピンあたり±25mA。
PORTA、PORTBあたり±200mA
パッケージあたりではVDDから最大300mA、VSSへ最大250mA
さらにパッケージあたりの消費電力が最大800mW

869774ワット発電中さん:2011/09/17(土) 09:33:13.77 ID:KNhSJg1H
>>867-868
ありがとう

やった事無いけど、A・Bポート合計16本に
LED+470Ω 全て点灯って出来そうですね?

後気になった点は、
>パッケージあたりではVDDから最大300mA、VSSへ最大250mA
これって、吸い込みの方が小さいと言う事?

あとは、無茶を承知で小さいモーターなら動く?
25mAも有れば動きそうなものだけど、
素直にダーリントンを噛ませろと言われそうだけど
仮に動いたとしても、ノイズで誤動作しまくりとかない?w
870869:2011/09/17(土) 09:39:53.77 ID:KNhSJg1H
あっ 今調べたらどんなに小さいモーターでも動かないね
無かった事にしてw
871774ワット発電中さん:2011/09/17(土) 14:34:24.16 ID:nlh0F5kP
起動電流は25mAどころじゃないと思うぞ
872774ワット発電中さん:2011/09/17(土) 15:00:55.54 ID:KNhSJg1H
>>871
頼む!忘れてくれ

頭の中でマイクロモーター位なら
5Vで動くか?と一瞬思った。送信した後、後悔した。

どちらか?と言うと冗談で書いて
「世の中、○○と言うのが有るよ」
と言うのを期待した。
が、余りにも間抜けな質問過ぎたと思っている。
873774ワット発電中さん:2011/09/17(土) 15:13:06.42 ID:/GPX1WAg
トランジスタで動かしても、電源共通にするとばんばん落ちるぞ
874774ワット発電中さん:2011/09/17(土) 16:26:40.45 ID:jNrSGaqW
>872
太陽電池用のモータなら動くんじゃまいか。このへん。
http://www.mabuchi-motor.co.jp/ja_JP/cat_files/rf_500tb.pdf
875銀翼の堕天使 ◆2TENKK.nkY :2011/09/17(土) 16:35:38.28 ID:SMupg0kq
太陽電池向けでも、急激に電圧が立ち上がると突入電流がかかることには変わりない
876774ワット発電中さん:2011/09/17(土) 16:38:34.03 ID:j7E5zNU2
>>874
ストールすると0.5Aも流れるよ。
877774ワット発電中さん:2011/09/17(土) 19:52:14.52 ID:WPMP2sTn
pickit2でデバックしています。wレジスタの値を確認するにはどうすればいいでしょうか?
878855:2011/09/17(土) 21:08:37.28 ID:iQwNMBLm
>>858
マスター側はArudinoで2台のArduino間のI2Cは動くのを確認しているのですが、いざPICのスレーブでやると詰まってしまい。

>>856
そもそもの解釈ですが、
割り込みがかかるのはマスター側からのスタートビットが立つ時で、
R/WレジスタのReadは受信、Writeは送信で、
D/AレジスタのアドレスはI2Cデバイスのアドレスでよろしいのでしょうか?
879774ワット発電中さん:2011/09/17(土) 22:24:49.93 ID:c9FEBGip
>>878
最近i2c通信を学び始めた素人です。間違っていたらすみません。

私が参考にした資料は、
マイコンの1線2線3線インターフェース活用入門 中尾司 著

割り込みは、ACKビット時に立ちます。参考ttp://www.picfun.com/c15.html
R/Wレジスタは1のときマスタ側から見て受信(スレーブ送信)、0のときマスタ側から見て送信(スレーブ受信)
になります。
D/Aレジスタは1のときデータ、0のときアドレスです。
マスタ側から送信するアドレスをスレーブのアドレス>>855で設定したSSPADD = 2;と一致させれば、
割り込み発生(SSPIF=1)が起こります。
参考ttp://www.stevens.edu/me551/PIC16F88DataSheet.pdf

考え方は間違っていないと思います。
880774ワット発電中さん:2011/09/18(日) 00:10:08.08 ID:XHhikjhh
>>878
PIC16F877なら日本語データシートがあるみたいです。
30292A_JP.pdf 71ページ 9.2章から、説明があります。
私が作ったことあるのは、スレーブの受信までで
スレーブが応答を返すところは未経験です。
お役に立てずすみません。
881774ワット発電中さん:2011/09/18(日) 05:24:16.89 ID:saJ+eX5T
PICを頭に入れたら賢くなれますか?
882774ワット発電中さん:2011/09/18(日) 05:28:35.98 ID:FAMfy2bb
なる。
おまえなら。
883774ワット発電中さん:2011/09/18(日) 06:42:52.01 ID:g97qPWiG
>>881
未書き込みのPICだと変わらない
PICに書き込むプログラム次第
884774ワット発電中さん:2011/09/18(日) 06:45:48.08 ID:QlyMCyG5
ツマンネ
885774ワット発電中さん:2011/09/18(日) 07:01:47.43 ID:FAMfy2bb
>883
未書き込みのPICには無限の可能性があるので、
それだけでも881よりはましだと思うがどうよ?
886銀翼の堕天使 ◆2TENKK.nkY :2011/09/18(日) 13:26:11.77 ID:+W3TrvHo
picの使い方を頭に入れたらって言いたいのだろうな
887774ワット発電中さん:2011/09/18(日) 15:20:01.39 ID:kl7llD5X
>>875
モーターはコイルなので「急激に電圧が立ち上がる」と電流は流れない。
トルクが発生してる時が電流が流れている時。
ちなみに、太陽電池用モータはインピーダンスを上げてあるので突入電流はPICの仕様範囲内であり、レモン電池でさえ動く。
http://www.mabuchi-motor.co.jp/ja_JP/cat_files/rf_330tk.pdf
888774ワット発電中さん:2011/09/18(日) 18:36:31.97 ID:vFK1wUWl
最大電流になるストール時でも25mAしか流れないのか、すごいな。
当然トルクは小さいわけだ。FA130RAの1/10…
889774ワット発電中さん:2011/09/18(日) 18:56:08.58 ID:HIzMxX12
電気回路でいう「突入電流」については確かに、モータはインダクタだから流れない、
で正しいが、この場合始動電流が問題なんだな。
890774ワット発電中さん:2011/09/18(日) 19:03:28.16 ID:DvYljj4g
いろいろと応用が利きそうなモーターだよね?
ドライバ無しで動くと言う所が面白いw
891774ワット発電中さん:2011/09/18(日) 19:47:51.12 ID:kl7llD5X
>>889
だったら始動電流って書けば?「急激に電圧が立ち上がる」なんて書くから突っ込まれる。
一時間掛けてゆっくり立ち上がった所で、トルクが発生している間は電流が流れる。
892774ワット発電中さん:2011/09/18(日) 20:14:28.75 ID:dZAfG6jl
>>877
View -> Special Function Registers の最初にある WREG
893774ワット発電中さん:2011/09/18(日) 20:19:19.93 ID:dZAfG6jl
>>887
それ 1.5V での値だろ。
894774ワット発電中さん:2011/09/18(日) 20:25:50.06 ID:3+sTHL1B
>>892

ありがとうございます。
895774ワット発電中さん:2011/09/18(日) 20:29:42.64 ID:kl7llD5X
>>893
だから何?
ちなみに発注すれば3V用に巻いてくれるよ。そうすれば電流は更に小さくなる。
個人じゃ難しいかもしれないけど、以前、もっと細い線を巻いてももらって量産した事がある。
>>887に示した資料はあくまで一例で実際は仕様を提示すれば色々作ってくれる。
どうしても個人でやりたければ自分で巻きなおす手もある。
896774ワット発電中さん:2011/09/18(日) 20:35:44.54 ID:4CK1Q73t
自演?
897774ワット発電中さん:2011/09/18(日) 20:39:25.45 ID:uygVqklS
これはひどい
898774ワット発電中さん:2011/09/18(日) 20:48:12.83 ID:kl7llD5X
悔しそうだねw
まあ、キモイコテで戯言書いてるとこれからも突っ込みが入ると思うぞw
899774ワット発電中さん:2011/09/18(日) 20:51:34.65 ID:dZAfG6jl
>>895
もう、本末転倒になっているよね。
ただ回るためだけのモーターを作ってもらってどうするの?
900774ワット発電中さん:2011/09/18(日) 20:53:46.14 ID:kl7llD5X
>>899
回る為だけの為に量産してもらうと思う?ちゃんと使い道はあるよ。
901774ワット発電中さん:2011/09/18(日) 20:54:08.98 ID:HIzMxX12
キモイ戯れ言書きはおまえだろ。

さきごろツッコミ喰らいまくって自爆してたバカじゃねーの、おまえ。
902774ワット発電中さん:2011/09/18(日) 21:07:27.47 ID:9rddNuuK
起動時も25mA超えないモーターがあるよ

こう書けば済んだものを・・・
903774ワット発電中さん:2011/09/18(日) 21:36:57.69 ID:dZAfG6jl
>>900
量産したのだから用途があるのはわかるよ。
最初の質問者も>>902みたいな回答を期待したけど、
それでは使い物にならないことにも気がついて撤回したわけだろ。
904774ワット発電中さん:2011/09/18(日) 22:00:16.76 ID:dZAfG6jl
微弱電流で動くモーターとしては、アナログ時計がある。
これなら簡単に入手できて PIC で制御できるよね。
メカとしては、針がなめらかに動くものと1秒ずつ動くものがあるけど、
どちらが制御しやすいだろうか?
905ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY :2011/09/18(日) 22:12:46.51 ID:nUcnaX69
>>904
タイマ割り込みが理解できれば、大して差がない。

まぁ、どちらが難しいというなら割り込みの時間がよりかかる連続秒針だろうね。
なんなら、サイレントステップでも挑戦してみる?
(格段に難易度が上がる)
906ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY :2011/09/18(日) 22:15:07.98 ID:nUcnaX69
「割り込みの時間」 じゃなくて「時間あたり割り込み命令で消費する時間の割合」だな
失礼
907耳がダメなソシヲタ:2011/09/18(日) 22:40:40.08 ID:yjgMPAnT
> 微弱電流で動くモーターとしては、アナログ時計がある。
モータって感じがしないけど、この手のってμAクラスなんだよね、確か。
普通のテスタじゃ測れない。
908774ワット発電中さん:2011/09/19(月) 00:12:45.24 ID:pHFmqRBw
あんなんでも、秒針を短くするとか、先を細くする、とかの努力で電池の寿命が延びる
909774ワット発電中さん:2011/09/19(月) 00:52:37.39 ID:0z77oAn9
秒針を短くするぐらいなら、壁掛け時計みたいにバランス重りつけたほうがよくね?
910774ワット発電中さん:2011/09/19(月) 03:50:05.34 ID:deH0F4z5
>909
それだと運動エネルギー的には浪費になるんじゃね?

電池が減った時の秒針の上りでのトルク不足を重りで解消と、
秒針短くして電池の寿命延長、トータルではどっちが良いのかなあ。
911774ワット発電中さん:2011/09/19(月) 09:50:12.00 ID:7TbVkRWE
そういえば電池が減ってくると37〜8秒あたりから針が上に上がれなくる時計があったなw

連続秒針ならバランス、ステップ秒針なら針を軽くが良い希ガス
912774ワット発電中さん:2011/09/19(月) 10:11:23.15 ID:lvEcCy+W
>>907
CF5761 series CMOS Analog Clock IC によると、
コイルには数mAの電流を流すらしいです。
ステップ運針だと、針が動くときだけ電流を流すので数十分の一になるみたいで、
平均すると100μA程度になるものと思われます。
スイープ運針だと、電流は流し放しなので、数mAを消費してしまいます。
百均の掛け時計の電池の持ちが悪いのはスイープ運針だからかと考えてしまいましたが、
大昔に買った掛け時計はスイープ運針なのに、そんなことはないので、
それ以外の要素もあるのだろうと思います。
913774ワット発電中さん:2011/09/19(月) 11:04:49.10 ID:TXNB/Ifo
[新シリーズの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可能
914774ワット発電中さん:2011/09/19(月) 11:12:10.85 ID:TXNB/Ifo
秋月の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でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない
915774ワット発電中さん:2011/09/19(月) 11:28:04.39 ID:TXNB/Ifo
秋月DIP品限定18,24,dsPICシリーズ

18Fシリーズは多いけどUSBが使えるこのあたり(他のは性能の割に高い)
v◎40ピン 18F4550 \370
v◎28ピン 18F2550 \350 (v△18F2420 \280 USB無し)
-◎20ピン 18F14K50 \170 5V動作,Max48MHz,8Kw,768RAMナラUSBナクテモ

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命令有
916774ワット発電中さん:2011/09/19(月) 11:32:40.77 ID:Y6q4Zv1r
>>913-915 乙

新PICの温度計の精度が気になる
917774ワット発電中さん:2011/09/19(月) 12:33:06.70 ID:TXNB/Ifo
>916
ttp://ww1.microchip.com/downloads/en/AppNotes/01333A.pdf
Vddからダイオード2個or4個の電圧降下した信号をADCで読み取るようだけど
Vfの変化は -1.32mV/℃(typ)、4個直列でも-5.28mV/℃。Vdd5Vだと10bitADCの
最小単位は4.88mVだから だいたい1℃単位でしか読み出せない

精度的にもVDDの影響をもろに受けるしあんまり期待できそうにない
918774ワット発電中さん:2011/09/19(月) 14:18:27.32 ID:NS+3mOho
値下げマークのバーゲンセールや!!
919774ワット発電中さん:2011/09/19(月) 14:54:30.75 ID:EiBd0Y87
>>910
動く、止まる、で慣性の法則発動か…。
無段階でにゅるにゅる回る秒針とかあるが、アレだと大丈夫かな?
920774ワット発電中さん:2011/09/19(月) 17:43:53.98 ID:edrlo6Vf
>>911
うちの目覚ましだ
921774ワット発電中さん:2011/09/19(月) 18:53:54.62 ID:GZUUFmkk
サイレントステップ秒針でスタンダードなデザインの奴があったらほしいと思っているのだが
922耳がダメなソシヲタ:2011/09/19(月) 21:53:28.30 ID:INsKyKTR
温度計が標準・・・ダイ温度を確認できそうだな。
923774ワット発電中さん:2011/09/19(月) 23:04:32.93 ID:pHFmqRBw
まあ、室温を測る用途は想定してないだろうな
924774ワット発電中さん:2011/09/20(火) 07:44:31.60 ID:91lKiVae
>>923
6ピンのパッケージなら室温も測れそう。
925774ワット発電中さん:2011/09/20(火) 10:35:00.57 ID:zzQMdD7g
ずっとsleepにしないと室温にならんな
926774ワット発電中さん:2011/09/20(火) 19:11:15.20 ID:91lKiVae
6ピンのPIC10F320/322にも温度計があるけど、A/Dが8ビットなんだよな。
何に使えるのかな?
オーバーヒート検出とかかな?
927774ワット発電中さん:2011/09/20(火) 23:29:03.01 ID:M4sdT24y
温度補償的な用途にも、8bitあれば十分でしょう
928774ワット発電中さん:2011/09/21(水) 09:49:23.88 ID:5VBmNzEV
温度計はおまけみたいなものでA/Dをフルスケールで使えないからね。
>>917から推測すると、8ビットA/Dでは、4℃単位でしか測定できないことになる。
929774ワット発電中さん:2011/09/21(水) 10:49:38.16 ID:DcgNE3lD
WDTとかBOR的な、まさかの為の安全装置として、
温度監視をループのついでに入れておくと、少しは安心かもしれない
930663:2011/09/21(水) 15:37:49.58 ID:SU1tLwm/
今は亡き秋月の高精度12.8MHzオシレータを温調しても何かイマイチ
(例のGPS1Hz使った周波数カウンタの値と実際に時計に組んだ時の誤差が0.1ppm弱ある)
アルミケース作って中にオシレータと温調用のPIC12F683と3端子レギュレーター78L05等入れて
外は発泡スチロールで包んで、長時間の周波数測定してみた。
ttp://loda.jp/mcnc/?id=282.***
温度安定したと思っても全然だめなんだな、2万秒位で上昇が緩やかになるけど3万秒経っても
まだ上昇しているような。
途中で温調温度を4℃上げてみたら2Hzほど下がったので計算すると36.4℃位で温調すれば
よい感じかな、チラウラ話でごめん
931774ワット発電中さん:2011/09/21(水) 16:51:30.92 ID:C+jZIaCR
>>930
いつの時代基準の高精度なんだろうねぇ
932774ワット発電中さん:2011/09/21(水) 18:51:00.88 ID:SU1tLwm/
>931
PICマイコンの内部クロック精度が±1%位、セラミック発振子で±0.5%位
水晶発振子を無調整でつないで±50ppm位を考えれば、-20〜60℃で
12.8MHz±3ppmなら今でも十分高精度かと。
\200という安価で無調整ってのは大きかった。

今 個人が簡単に入手できて高価じゃないものってこれ位
ttp://blog.digit-parts.com/archives/51683835.html
ttp://www5b.biglobe.ne.jp/~YASUSI/shop/tcxo/ys_tcxo.htm
(RTCだけど) ttp://akizukidenshi.com/catalog/g/gI-05006/
933774ワット発電中さん:2011/09/21(水) 19:22:53.20 ID:wAXh6uoa
つ デジキー
934774ワット発電中さん:2011/09/21(水) 20:45:49.53 ID:FgVLp9Z3
C言語の型って難しいな。次のパターン(1)のコードを書いて(c = 0)の結果がほしいのだが結果は
(c = 1)となり意図した動作にならない。パターン(2)だと期待している(c = 1)という結果が得られる。
どうなっているのだろう?それぞれのパターンで変数a、bの値をHEX表現の文字列に変換するとどちらも
E5となるんだけどな。


パターン(1)

 char a = 0xE5;
 unsigned char c;
 switch(a)
 {
 case 0xE5:
   c = 0;
   break;
 default:
   c = 1;
 }

 結果:  c = 1;


パターン(2)

 unsigned char b = 0xE5;
 unsigned char c;
 switch(b)
 {
 case 0xE5:
   c = 0;
   break;
 default:
   c = 1;
 }

 結果:  c = 0;


ちなみにパターン(1)でswitch文を「 swtich( (unsigned char) a ) 」と記述すると意図したとおり
(c = 0)という結果になる。
935774ワット発電中さん:2011/09/21(水) 20:58:31.62 ID:ME/QcGjA
switchにマイナス値なんて気持ち悪いじゃないか
936774ワット発電中さん:2011/09/21(水) 21:10:12.16 ID:Grm9yjRZ
定数の0xe5がint扱いじゃなかろうか。
0xe5 = 0x00e5 でプラスの値。パターン1はマイナスの値で一致せず。
違ったかな?
937774ワット発電中さん:2011/09/21(水) 21:51:09.60 ID:kzdAygAF
>>930
それはKTXOであってTCXOではない
どこぞのブログに書いてあったぞ?
938774ワット発電中さん:2011/09/21(水) 21:57:28.36 ID:hCjn8pZe
>>934
基本はunsignedで宣言するクセをつける
939774ワット発電中さん:2011/09/21(水) 23:21:59.54 ID:FgVLp9Z3
レスから判断してswitch文の定数として負の値は取れないということのようだが書籍等で
明示してないですね。例として普通に

int a, c;
switch(a)
{
case 1:
  c = 0;
  break;
case 2:
  c = 1;
  break;
default:
  c = 2;
}

のような書き方をしていて、ただ(負の値)は使ってないという感じですね。
はっきりとした理屈がわからないのでそのうち忘れて同じミスをやりそうだな。
940774ワット発電中さん:2011/09/21(水) 23:33:27.22 ID:88SdislQ
処理系によるのだが、switch 文の引き数は大抵が汎整数、つまり int。
char a = 0xE5; が int に拡張されて 0xFFE5 になるよ。

確かめるには、パターン(1)で case 0xFFE5: とやってみて。
941774ワット発電中さん:2011/09/21(水) 23:34:19.31 ID:WczbdxP1
単に switch は int を取るってだけだろ。

char → int 変換は符号拡張し、
unsigned char → int 変換はゼロを埋めて、
unsigned int → int 変換はビットパターン保存

てだけ。
942774ワット発電中さん:2011/09/21(水) 23:35:35.93 ID:88SdislQ
すまん、これは int が2バイトの場合ね。
もう面倒くさいから、考えるのやめてもいいよ。
943774ワット発電中さん:2011/09/22(木) 00:01:34.88 ID:Kd3osZ2t
>937
このあたりでしょうか?
ttp://gomisai.blog75.fc2.com/blog-entry-406.html

ただ、こちら(一番下)には10〜50℃までの温度特性グラフがあり
ttp://www.geocities.jp/ja3npl/gps/counter_11dgt_v1.html
>15℃、40℃に変曲点があり、温度補償の効いているのが判ります。
水晶の温度特性グラフが3次曲線になる事を考えれば-20〜60℃でも
20Hz程度(±1ppm弱)に収まりそうに思えます。
通常のATカットの水晶は10〜30℃で55Hz(±2.7ppm)もずれてる事を
考えると何らかの温度補償がされているのでは

グラフ見て気付きましたが温調は40℃でした方が安定性良さそうだな。
944774ワット発電中さん:2011/09/22(木) 00:03:45.47 ID:o7EMdLo0
>>941
ここでの変換というのはキャストを意味するのかな?

コンパイラが文句を言わなくなるから、とか計算結果が意図するとおりになるから、とかいう理由で
キャストを後付したりして実際に運用実績のある(趣味でだが)コードを書いてはいるが、キャスト
によって変数の値が具体的にどう変わるのか正直あいまいに済ましてるな。これはやっぱだめかな。
945941:2011/09/22(木) 00:20:21.38 ID:RL1Tt2mD
>944
キャストという認識がそもそもダメかも…
ちゃんと言うなら integral promotion (整数拡張)

Cの版によってルールが異なるので、微妙なところでキャストを付けるのは正解。
946774ワット発電中さん:2011/09/22(木) 00:39:16.32 ID:8ciSSHiY
>>944
暗黙的な変換はキャストとは言わない
整数拡張ね
947774ワット発電中さん:2011/09/22(木) 06:35:54.62 ID:65KHLvLI
>>943
15・40度がグラフから読めるね
因みに杓子定規さんの試験では常温から60度まで炙ったら70Hz狂う事もあると言う
でも杓子定規さんの追試って恒温槽でもないみたいだしカウンタは何を使ったのかな?

TCXOといわずあえてKTXOと言うから悩ましい。
ねがてぃぶろぐさんも書いているけどTrによる温度補正(PN接合の温度による変化)を利用して保証回路はできなくない
実は手持ちにKTXOとTCXO(NDK製)があるが、手持ちに精度の良い周波数カウンタがないw

一つ疑問に思ったのはGPSさん?のKTXOのラベルの色
ねがてぃぶさんや杓子定規さん、私の手持ちは黒なのだけど撮影条件の違いか?
(某現在同等品入手可能で紹介されていたところのも黒だよね ロットで緑バージョンあったのかな)
948774ワット発電中さん:2011/09/22(木) 07:59:17.35 ID:t61y0R3s
>>947
ヘアドライヤーで加熱したら温度補償が効かなくなるのは当然でしょ。
949774ワット発電中さん:2011/09/22(木) 11:39:00.20 ID:ZiiLxvNf
内部の人しかわからないことですが、
I2C通信って、送受信したビット数を数えるカウンタが必要ですよね。
内部でどこのレジスタ使ってるんですか?
わかる人教えてください。わからない人は知るかボケとレスください。
950774ワット発電中さん:2011/09/22(木) 11:50:19.48 ID:kMqylhhC
別に名前は付いてないのでは
951774ワット発電中さん:2011/09/22(木) 12:13:05.60 ID:Z7oFxrk3
見られないんじゃね?スタックみたいに
952774ワット発電中さん:2011/09/22(木) 12:17:29.07 ID:BM83Cz+0
>949
知るかヴォケ
953774ワット発電中さん:2011/09/22(木) 12:27:01.32 ID:d2gMXTWC
>>949
2行目と3行目の間に飛躍がある。
カウンタが必要なのは確かだけど、レジスタにマッピングする必要は無いでしょ。
954774ワット発電中さん:2011/09/22(木) 12:41:15.00 ID:ZiiLxvNf
picって隠しレジスタあるんだ。
955774ワット発電中さん:2011/09/22(木) 12:46:33.20 ID:d2gMXTWC
>>954
そうなの?知らなかった。
例えばどんなのがあるの?
956774ワット発電中さん:2011/09/22(木) 12:51:36.77 ID:ZiiLxvNf
>>955
I2C通信の送受信ビット数カウンタとか。
957774ワット発電中さん:2011/09/22(木) 13:09:18.63 ID:nD8LzAtb
FIFOで十分だろ
958774ワット発電中さん:2011/09/22(木) 13:48:19.19 ID:t61y0R3s
>>949
カウンタというよりステートマシンだよ。
ステートマシンは、現在の状態を記憶するレジスタと次の状態を決定する論理回路で構成されている。
入力と現在の状態から次の状態を作りレジスタに記憶するだけのこと。
レジスタの一部から出力を取り出して、例えばシフトレジスタを制御したりするけれど、
そのもずばりを読み出せたりはしないのがふつうだよ。
内部的な存在であるSSP1SRもアクセスできないでしょ。
959774ワット発電中さん:2011/09/22(木) 14:37:21.66 ID:D40QkLzf
CPUなんて、レジスタ空間やメモリ空間にマップされてないレジスタはいくらでもあるでしょ。
パイプラインのレジスタとかいちいちマップしても何の意味もない。
タイマのレジスタなんかクロックドメインがCPUと違ったりするからシンクロナイザ要るし。
全レジスタをマップしようとしたら、シンクロナイザのレジスタをマップするためのシンクロナイザが要るようになって収拾付かなくなるぞw
960774ワット発電中さん:2011/09/22(木) 15:28:27.19 ID:kMqylhhC
Z80のRは何で見えてたんだろ
961774ワット発電中さん:2011/09/22(木) 16:26:52.80 ID:TQibrOoz
リフレッシュか、、、、
内部デコードが余ってたとかハードデバッグ用とか?
疑似乱数ジェネに使った覚えがある。
962774ワット発電中さん:2011/09/22(木) 21:36:33.84 ID:5Yivy6YA
>>960
仕様だから
963774ワット発電中さん:2011/09/22(木) 21:44:01.33 ID:t61y0R3s
>>959
タイマ1だと外部クロックのシンクロナイザをオフにできるけど、
それでも正しく読めると書かれているんだよね。
どういう仕組みなのかな?
964耳がダメなソシヲタ:2011/09/22(木) 23:52:39.49 ID:FeqZsVeH
> 内部デコードが余ってたとか
余裕があるなら8bitで作れ、と。
965774ワット発電中さん:2011/09/23(金) 13:09:39.79 ID:JaUeLdfb
>>964
リフレッシュアドレスを7ビットの値で外部から与える必要があった大昔のDRAM用だからね。
その仮定自体が甘すぎて、すぐに古くさくなるという、技術の進歩の速さを実感させてくれた痕跡器官ということです。
966774ワット発電中さん:2011/09/23(金) 13:38:48.42 ID:XuAy7TTO
>965
Z80より後にでた 64kbit DRAMが 8bit x2アドレス指定なのに
リフレッシュは7bitでいいという、独占は正義というリアルをみせてくれたシステムだったような。
967774ワット発電中さん:2011/09/23(金) 15:40:16.49 ID:hHUUVgnP
なんだなんだ懐かしいな
てかここに集う世代って何年生まれだよw
昭和30年代多そうだなww
968774ワット発電中さん:2011/09/23(金) 16:46:52.14 ID:bzcUY9J9
>>965
かなり長い間、君臨していたと思うぞ
969774ワット発電中さん:2011/09/23(金) 18:45:03.27 ID:9hr6K8Nw
>>967
平成生まれです
970774ワット発電中さん:2011/09/23(金) 19:58:14.83 ID:y0iYyl+F
microchipの24FC1025というEEPROMからI2Cでデータを読み取ろうと思います。
1025は1Mビットの容量があります。バイトではなくてビットです。
なのでバイトに直すと16384バイトです。ならばアドレスは2バイトで65536バイトまで扱えるのでそれで充分だと思います。
がしかし、2バイト+1ビットを使います。
何故なんでしょうか?
971774ワット発電中さん:2011/09/23(金) 20:02:35.64 ID:sYT9IRkI
>>970
1Mbitなら125kBytじゃね?
972774ワット発電中さん:2011/09/23(金) 20:06:42.13 ID:JaUeLdfb
Z380になるとRレジスタは、ただのレジスタになったそうです。
Rレジスタは、あっても互換性なしです。
こういうものを命令セットに組み込むのは考えものですね。
973774ワット発電中さん:2011/09/23(金) 20:09:45.75 ID:y0iYyl+F
>>971

そうでした。とはいえアドレス指定に何故に2バイト+1ビットが必要なのかわかりません。
974774ワット発電中さん:2011/09/23(金) 20:15:14.88 ID:sYT9IRkI
>>973
EEPROM使ったことないけど2バイトならメモリアドレス65535までしかアクセスできないからじゃない?
だとすると65535バイトまでしかアクセスできない
17ビットなら131071バイトまでアクセスできて1Mビット=125kバイトまで全部アクセスできる
使ったことないからただの予測だけど
975774ワット発電中さん:2011/09/23(金) 20:27:11.02 ID:y0iYyl+F
>>971 >>974

計算違いをしていました。
すみません。そして、ありがとうございます。
976774ワット発電中さん:2011/09/23(金) 21:15:17.15 ID:JrQhTnYF
微妙に数字が違っている気がするのだが、125Kバイト?
977774ワット発電中さん:2011/09/23(金) 21:26:05.40 ID:k+DR6Ycw
たぶん 1024*1024bitじゃなくて 1,000,000bit だから
978774ワット発電中さん:2011/09/23(金) 21:53:13.17 ID:ZOlCnFZs
1000000bit ÷ 8 = 125000byte か。 125キロバイトではないな。
979774ワット発電中さん:2011/09/23(金) 21:59:58.78 ID:sYT9IRkI
125kバイトでは違うな125000バイトが正解だな
980ミ爻ж 銀翼の堕天使 ж爻彡 ◆2TENKK.nkY :2011/09/23(金) 22:17:01.18 ID:9hr6K8Nw
重複スレがあるが、次スレはここを使う?

PIC専用のスレ Part35
http://kamome.2ch.net/test/read.cgi/denki/1313366752/
981774ワット発電中さん:2011/09/24(土) 00:25:54.07 ID:DfGMnPdS
>>969
平成でも二十歳以上がいる…と思ったがそんな輩が未だにZ80でリフレッシュなんて話か
懐かしきワンボードやPETで遊んだ日々

>>980
無駄に立てても仕方ないしええんでないの?
実質36って事で次37の人注意ってのといつものテンプレかな?
テンプレの最新版ってどこだっけ?
982774ワット発電中さん:2011/09/24(土) 00:34:58.16 ID:ylRtynE0
いつの間に重複したんだ
983774ワット発電中さん:2011/09/24(土) 00:39:30.97 ID:aj5+VIvA
>>982
立ったときに。
俺はこのスレ使い切って向こうに移行するものと思って、ずっとチェックだけはしてる。
984774ワット発電中さん:2011/09/24(土) 01:18:19.77 ID:ylRtynE0
大抵はそんなのは即死するもんだが、わざわざ保守してる馬鹿がいたか
985774ワット発電中さん:2011/09/24(土) 04:59:46.59 ID:nHTQizpz
過疎板じゃ即死なんかしないよ。ウザいくらい残る。
この板がどうであるかは知らないけど。
986774ワット発電中さん:2011/09/24(土) 07:01:24.29 ID:DfGMnPdS
あ、どなた様か存じませぬがテンプレありがとう\(^o^)/
1スレ1月ちょっとなら保守があってもいいかもね
板内で割りと活況なほうでない?<PIC

さて、そろそろ梅か
987774ワット発電中さん:2011/09/24(土) 08:39:26.88 ID:Yt9MTF/2
おいおい。このスレひどいなww
1MbitのEEPROMなら普通は1024*1024だよ。
128KiBが正解。
988774ワット発電中さん:2011/09/24(土) 09:09:09.12 ID:dIAN/wVl
おいおい。このスレひどいなww
”KiB”って、一体どんな単位なんだよw
989774ワット発電中さん:2011/09/24(土) 09:19:49.93 ID:rWjo9orQ
990774ワット発電中さん:2011/09/24(土) 09:52:25.20 ID:yvnsC6cq
>>988
そんなことも知らないヤツはコンピュータやめちゃえよw
991774ワット発電中さん:2011/09/24(土) 10:22:24.18 ID:SOgxoCtJ
うめぇ
992774ワット発電中さん:2011/09/24(土) 10:43:53.67 ID:ylRtynE0
993774ワット発電中さん:2011/09/24(土) 10:45:49.04 ID:dIAN/wVl
>>990
おいおい、ジョークか?
Kiloは"Ki"じゃね〜よ、小文字の"k"だ。
"128kB"と書くのが正しいんだよ、覚えとけks
994774ワット発電中さん:2011/09/24(土) 12:09:16.85 ID:i4NST9bl
釣りにマジレスだがキビバイトだろjk
995774ワット発電中さん:2011/09/24(土) 12:12:28.38 ID:Hd7rgiqu
キビバイトとか云われるとサトウキビ畑でバイトしてるのかと思うわよね。
996774ワット発電中さん:2011/09/24(土) 12:52:11.86 ID:MP3xCmZI
ヲマイ等
きうめぇー
997774ワット発電中さん:2011/09/24(土) 13:39:04.01 ID:MJNSQWCl
KiB=1024バイト
kB=1000バイト
と明確になるように新たに定義された単位だよ。
998774ワット発電中さん:2011/09/24(土) 13:47:18.41 ID:xsq6l0Ic
キビ
メビ
ギビ
テビ
ペビ
エクスビ
ゼビ
ヨビ
ネビかと思ったらマビだったでゴザビ
999774ワット発電中さん:2011/09/24(土) 14:42:16.38 ID:XKXD98qu
999
1000774ワット発電中さん:2011/09/24(土) 14:46:54.51 ID:AvyAn58I
1000ならPICはAVRに完全敗北
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。