【16Fに】PIC専用のスレPart19【まだ新品種が!w】
1 :
774ワット発電中さん:
2 :
774ワット発電中さん:2008/03/19(水) 23:45:39 ID:FeQK5STh
3 :
774ワット発電中さん:2008/03/19(水) 23:46:02 ID:FeQK5STh
4 :
774ワット発電中さん:2008/03/19(水) 23:46:26 ID:FeQK5STh
5 :
774ワット発電中さん:2008/03/19(水) 23:46:50 ID:FeQK5STh
6 :
774ワット発電中さん:2008/03/19(水) 23:47:12 ID:FeQK5STh
7 :
774ワット発電中さん:2008/03/19(水) 23:47:54 ID:FeQK5STh
スレ立て以上
乙
>>1 久しぶりにマイクロチップジャパンのサイト行ったら、
レイアウトすっかり変わっててワラタよ。
マイクロチップジャパンから買ってないからか、秋月って代理店リストに
載ってないのな。w
小売店リストにあるお。
分類としては正しいと思われる。
あのー
MPLAB IDE 8.02なんですが
Windows Vistaだと ワークスペースのファイル一覧をダブルクリックしても
「指定したパスが見つかりません」となってソースファイルが開きません。
プロジェクトがMPLABをインストールしたドライブにあるとそんなことはありません。
回避できるのでしょうか?
ちなみに8.0でも同じで、バージョンアップしてみたのですが変わりませんでした
あれかな、Windowsのログオンユーザ名が全角文字になってるとか?
MPLABで影響あったかどうかは覚えてないけど。
15 :
12:2008/03/20(木) 15:49:19 ID:OgAfI3Pn
>13
プロジェクトのディレクトリ名が日本語だったので試しに半角にした
+
すべてアンインストールしてから再度インストールした
ら
うまくいくようになりました。
ユーザー名は半角です。
今更感が。。
MPLABでは 何度もそんな質問が出る。
あっちの人が作ったソフトは、基本的に全角は使ってはいけない。
パスに全角を入れるとか、この手のソフトでは御法度だよね。
秋月のPIC16シリーズDIP品限定ピン数別評価
40ピンは16F887 \250
28ピンは16F886 \230で決まり
ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31K-8MHとフルサポート
20ピンはF690のバリエーションモデルが多いけど価格差が小さいからF690でOKかな
◎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かいっそ20ピンにするとか
×16F84A \300 機能無,1Kw,いまさら不要
×16F648A \200 CCP有,USART有,4Kw,内蔵4MHz,今はF87があるから
×16F628A \200 F648Aの2Kw版,値段同じじゃ価値無し
△16F627A \160 F648Aの1Kw版,低コストで勝負かな・・・
◎16F88 \230 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31K-8MHzとGood
○16F87 \200 F88にADC無いだけ
×16F819 \250 ADC有,CCP有,SSP有,2Kw,内蔵31K-8MHz,F88に及ばない
○16F818 \200 F819の1Kw版,F87と比べるとROMとUSARTで負け,ADCで勝ち
◎16F716 \110 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い
14ピンは1品種だけだね
◎16F688 \160 ADC有,eUSART有,4Kw,内蔵31K-8MHz
8ピンはF683だと思っていたがF615も\100にしてはなかなか良い
◎12F683 \150 ADC有,CCP有,2Kw,内蔵31K-8MHz,8ピンとしては多機能
○12F675 \120 ADC有,1Kw,内蔵4MHz
△12F629 \100 675のADC無(機能無しってこと)
△12F635 \120/\130 機能無し,1Kw,内蔵31K-8MHz,環境によってはE/P版
◎12F615 \100 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無し
×12F609 \100 F615からADC,eCCP機能省かれてる
全角でパス ファイル名つけるといろいろ言われる
>>22 どのWikiかと思ったらWikipediaか。だったら最初からそう書けばいいのに。
しかしひでぇ内容だなww
まぁWikipediaらしくていいんじゃね?
英語版の内容にそのまま置き換えちゃってもいいような内容だなw
>>1IECgRJS
電源の立ち上がりが原因の可能性が高い。
パスコンだけじゃなくて、電解コンデンサを入れると立ち上がるようになったという報告が昔あった。
電源から直接PICに供給するのではなく、電源スイッチを間に入れるとそれだけでも動くかもね。
だから製品には素人目には無駄に見えるリセットICがついている事がある。
>>19 16F819はADCが5CHついてる
16F88は1CHだから819は結構使える子だと思う
>>26 88は
10-bit, 7-channel Analog-to-Digital Converter
>>前スレ987
ラッチアップの可能性が高いと思う。
>>27 まじすか
3年くらい前からずっとそう思ってた
何でそう思ってしまったんだろう
>29
なぜラッチアップは起きるの?
GP3/MCLRピン開放のせいで、不定期にリセットがかかっている(MCLR有効の場合)か、
過大な貫通電流やラッチアップが発生している(GP3有効の場合)のだろうな。
>>31 たしかCMOSの構造上、寄生サイリスタがあるためだたと思う。
ピンにVcc以上の電圧がかかるとサイリスタがONになっていわゆるツーツー状態に
なるから電源落とすまで過大電流が流れ続けてPICがアッチッチになる。
とりあえずツェナーかますとかダイオードでVcc-GND間クランプするとかサージ吸収
して再現しなくなるならソレが原因と思われ。
34 :
774ワット発電中さん:2008/03/21(金) 17:06:25 ID:1EZhYQ8B
PICを壊しちゃった凡人です。
全ピン出力設定にしているので、ラッチアップ対策なぞ
しようがないですよねえ。
で、秋月アダプタ5Vですが、たしかに5V直付け+パスコン0.1μのみなのですが、
パワーアップタイマONにしてから何回ON/OFFしても同様にはならず、ためしに
パワーアップタイマをOFFにすると、10回に1回くらいに同様になります。
ちなみにアダプタの出力の直接ON/OFFしています。
やはり電源ON直後に高い電圧が入ってラッチアップという構図っぽいです。
>>34 >全ピン出力設定にしているので、ラッチアップ対策なぞ
>しようがないですよねえ。
>>32嫁。使ってるのはPIC16F629だろ? それならGP3/MCLRは出力に設定できないから、
どう設定しても入力のまま。しかも、内蔵プルアップ抵抗もないから、オープンの
ままなら入力は不定になって
>>32になるぞ。
36 :
774ワット発電中さん:2008/03/21(金) 17:30:15 ID:1EZhYQ8B
GP3あーっ ダイオ-ドしかないわ・・・・
超鬱発生 逝きます・・・もうだめぽ
Microchipでは、ラッチアップ耐力試験は無視ですか?
>>34 >全ピン出力設定にしているので、ラッチアップ対策なぞ
>しようがないですよねえ。
電源ON->MCLR解除->Power Up Timer走行->PORT初期化終了
この約100mSもの時間区間では、端子電圧が不定ですから、
Pull downまたはPull Up抵抗をつけないと危ないですよ。
漏れの5V SW電源は立ち上がりにオーバーシュート電圧は全く無く
約20mSで0V->5Vへ直線的に立ち上がり5V一定に安定します。
>やはり電源ON直後に高い電圧が入ってラッチアップという構図っぽいです。
仮説を全て洗い出すのは大切な過程ですが、
オシロで測定し、そうかどうか確認しないと。
原因を特定して対策しないと、また壊れますよ。
>>19 12F,16FだとHiTECHのPICCLiteが使えるかどうか っていうのも
選択肢なんじゃないかと。
そうすると
PIC12F629
PIC12F675
PIC16F627A
PIC16F84A
PIC16F690
PIC16F877A
ですね
>>19 16F648Aに関しては3V系で動作するという点だけは16F88で代替出来ません。
16F88も実力値では3.3Vで動作するようですが、保証外なので。
>39 おっしゃる通りです。MCLR VCCに10kでつないで保護。
Power Up TimerONで快調です
ちなみに使っているのは秋月電源(500円)ですが、AC側をON直後は5Vまでふにゃーっと上がります。
一端上がっちゃえば5Vで安定しています とりあえずパスコン増量しました。
今電源のON/OFFを繰り返しても大丈夫です。 ありがとうございました
43 :
774ワット発電中さん:2008/03/22(土) 03:04:34 ID:eLZ6DQPf
すみません、初歩の質問ですが、シリアルEEPROM(24LC256)ライタ って、簡単に製作出来ませんか?
自分でプログラム書ける技量は全くないので、AKI-PICプログラマーを買うのは勿体無いのです。
現在、PICは 半畳RCDライタ+PICProg4U の環境で焼いてます。
RCDライタでは、PICは焼けませんよね?
44 :
43:2008/03/22(土) 03:07:06 ID:eLZ6DQPf
誤 RCDライタでは、PICは焼けませんよね?
正 RCDライタでは、シリアルEEOROMは焼けませんよね?
…はずかしい。
>>43 簡単に製作できます。部品表は以下の通りです。
8pin ICソケット 2個
PIC12F675
RS232 I/F IC
4MHzくらいの水晶
0.1uF積セラ 7個
1k抵抗 2本
D-Sub9ピンコネクタ
5V電源
こんなもんかな。
49 :
43:2008/03/22(土) 04:36:40 ID:eLZ6DQPf
>>46 ネットで拾ったのとかで、遊んでます。(といっても、まだ数個ですが。)
>>47 有難うございます。 回路図って、何処かにありますかね?
部品表を教えて貰っても、回路が推測出来ないんです。
あと、PICに書き込むプログラムも……
「ICprog RCD EEPROM」
じゃ駄目なの?
ICProgでやったら24LC256は書けたけど24LC64が書けないと言う不思議なことになった。
ちなみに俺は16F648Aとトランジスタで作ったレベル変換回路でEEPROMライタを作った。
シリアルポートのバスパワー(こう呼ぶべきではないと思うが)で動く。
12F629で論理反転済みのプログラムでやればもっと簡単になるんだろうけど、
ハードウェアUARTのほうが取りこぼしとかなくて安心できると思って。
最近のマイコンの高クロック化で妄想してるんだけど、ワンチップマイコンでファミコンの制御できないだろうか。
ntscも吐き出させて....しかし、ファミコンの仕様がわからない。
>>52 「ファミコンの制御」ってのが、謎の表現だな。
>ntscも吐き出させて....
…ってことは、ワンチップファミコンみたいな代物を作りたいのかな?
だとすれば、流石にマイコンでのエミュレートは無茶だろ。
>しかし、ファミコンの仕様がわからない。
解析資料が色々あるし、PC用のエミュレータのソースも役に立つっぽい。
別にファミコンそのものを作りたいわけでなくて
ビデオゲーム機を作りたいなら、色々作例があるな。
> …ってことは、ワンチップファミコンみたいな代物を作りたいのかな?
FPGAあたりならなんとか、ってところだね。MSXの例もあるし。
PICで当時のCPUをエミュレートするとしたら、一桁二桁足りなさそう。
ところで優しいお兄さんたち、教えてちょうだい。
データシート眺めてたら、12F508とか10F200あたりのプログラムモードへの入り方って、
V_DD → V_PPの順となっているんだけど、T_PPDPは5μs(min.)になってるんだよね。
ってことはつまり、5Vかけて10秒休んでから13Vかけてもいいことになるけど、
これって中の人が動作を始めてしまいませんか? 動作始めたら、ポートがぶつかる
事だってあると思うんだけど・・・
12F675あたりでは、V_PP先のモードがあるからそういうことはおきませんよね。
実際には、起動時リセット時間がMAX、って認識でいいんでしょうか。
>>56 命令レベルのCPUのエミュレーションならPIC32で十分可能だと思うけど、
タイミングまで合わせて、なおかつ周辺込みのエミュレーションは
PICのワンチップだけでは無理だろうね。
ところでT_PPDPの件。
T_PPDPは、V_DDの立ち上がりからV_PPの立ち上がりまでの時間だが、ここで言う
「V_PPの立ち上がり」とはV_PPが0Vから13Vに立ち上がることを指している。
V_PPとはすなわちMCLRなので、V_PPが立ち上がる前、つまり0Vの状態では
チップはリセット状態を維持し続けるので、中の人が動作することはない。
・・・ただし、これはGP3/MCLRがMCLRに設定されている場合の話。
GP3/MCLRがGP3に設定されていると、V_DD⇒V_PPの順に立ち上がると中の人が
動いてしまう。この場合、T_PPDPを制限するかVPP First Entryが必要になるんだが、
この辺の記述がないSpecificationが多い。
つーか、Programming Specificationは全般的に不備がけっこうある。ものによって
MinとMaxを取り違えてたり。
つまり、中の人が動き出すまもなく13Vを食らわせる必要がある、という認識でOKね。
ところで16F683のと見比べたら、T_PPDPとT_HLD0が逆っぽい。
こっちはT_HLD0が0〜2μsになってるから、中の人対策なんだと思う。
> この場合、T_PPDPを制限するかVPP First Entryが必要になるんだが、
> この辺の記述がないSpecificationが多い。
12F508には、VPP-firstは書いてないし、モードも存在しませんよね?
PIC16F84Aの質問なのですが、よろしくお願いします。
PORTBを出力設定にしておき、(CLRF TRISB)
PORTBの4番を情況によってHIGH,LOW切り替えます。
PORTB4番にはLEDが接続されていて、
点灯、消灯でその情況が判るようにしています。
(BSF PORTB,4 BCF PORTB,4)
ブレッドボードでは上手く動作します。
このPICをユニバーサル基板で作った回路に移動すると、
どんな時もLEDが点灯します。
試しにBSF PORTB,4としていた箇所も BCF PORTB,4にしました。
これで、PORTBの4番をHIGHにする箇所は無くなったのですが、
やはり、どんな時も点灯しています。
興味深いのは、リセットスイッチを押し続けても点灯し続けています。
ブレッドボードと違うのは、電圧(4Vと5V)だけのはずです。
他の心当たりは、配線を何度もやり直した箇所があるのと、
どこかでショートしていないかという事ですが、
目視とテスターでは異常は発見できていません。
どなたか、よいアドバイスをいただけないでしょうか。
ブレッドボードで動かないのならわかるが
とりあえず 電源レギュレーターのパスコン
>>58 V_PPの立ち上がり時間(T_VHHR)は1us(max)と規定されていて、これが満たされる
限りMCLRが解除されている時間は1us以内になるので、中の人が動作を始める前に
プログラミングモードに移行できる。
>12F508には、VPP-firstは書いてないし、モードも存在しませんよね?
そう、書いてない。
しかし、完全なVPP-firstか、そうでないとしてもV_DD印加からV_PPに13Vを
印加するまでの時間のmaxが規定されていなければならないのに、そのspecの
記述が抜けていることもまた確か。
というわけで、PIC12F508のプログラミングに関しては、ドキュメントに不備がある。
電源は、秋月の5Vのスイッチング電源で、安定化済みとなっていたのと、
テスターでの計測では電圧は一定していたので、それを信じてレギュレーターは通していません。
>>59 その同じPICを再度ブレッドボードに挿すと、ちゃんと動作する?
ちゃんと動作するのであれば、ユニバーサル基板で作った回路が間違ってるんだろうから、
確認して直せ。
>>63 ブレッドボードに戻せば、正しく動作します。
ユニバーサル基板での回路は何度も確認しているのですが、
どこが悪いか判らないのです。
自分では思いも付かない何かがありそうなので、
経験豊富な皆様に知恵をいただけないかと書き込みした次第です。
ブレッドボードとユニバーサル基板でほんとに回路は同じなの?
使ってないピンは見てないなんてことはない?
他人に見てもらえると案外簡単に見つかったりするんだけど、
誰か手じかに回路見れる人いないの?
>>64 んじゃ回路図とブレッドボード上の回路、ユニバーサル基板の表と裏、それと
実行しているプログラムコードを晒してくれ。
クロックが発振してないとか
レゾネーター クリスタルはおkか?
内蔵クロック持ったPIC使ってみる
PICの電源つなぎ忘れだろ
>>65 正確には、ブレッドボードはRORTBの4番を確認する為に作ったので、
ユニバーサル基板には他の回路もあります。
使っていないピン?ですか?自分でも少し気にしています。
使っていないピンは結線していません。
>>69 ブレッドボードの内部の接続がどうなってるかは全部把握出来てる?
>>66 すみません。回路図は書いた事が無いので今日明日にはUP出来そうにありません。
写真もボケボケで配線がクッキリ出ません。
せっかく乗り出して頂いたのに申し訳ありませんでした。
>>67 クロックですか・・ブレッドボードと同じ物をつけています。
セラロックの20MHです。
>レゾネーター クリスタルはおkか?
ググッてみても何の事だか判りません。
どういうものなのでしょうか?
>>68>>71 PICの電源はピンにテスターを当てて確認しています。
ブレッドボードの内部ですか・・これは経験上理解している範囲ですが、
これは予想外の事案はないと思います。
バイパスコンデンサはついてる?
それとプログラム晒せって。
>>75 プログラムは以下の通りです。
LIST P=PIC16F84A
INCLUDE P16F84A.INC
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
BSF STATUS,RP0
MOVLW B'11111'
MOVWF TRISA
CLRF TRISB
BCF STATUS,RP0
LOOP
BTFSS PORTA,1
GOTO TUDEN
BCF PORTB,4
GOTO LOOP
TUDEN
BSF PORTB,4
GOTO LOOP
END
それと・・・バイパスコンデンサ?とはなんでしょうか?
配線間違いでPIC介さずに電源が回りこんでたりして。
もしそうならPIC外して電源入れてもled点くな。
>それと・・・バイパスコンデンサ?とはなんでしょうか?
となると入ってない可能性が大だが・・・PICのVDDとVSS(GND)の間に入れる、
0.01uFから0.1uFくらいのコンデンサのこと。
>>78 当初は9VのACアダプターから電源を取り、
L78L05で5Vにする予定でした。
しかし、安定化済み5Vのスイッチング電源があったので、
コンデンサーはつけないことにしました。
この辺が気になってはいます。
新規で作り直したほうが早く解決しそう
>>80 そうですね。
かれこれ、半月ほどかけてトライアンドエラーを繰り返して来た
回路だったのであちこちガタが来ているのかもしれません。
惜しいですが、作り直してみます。
なんとなくセラロックがおかしくなっていそうな感じがしそうなので
発振がうまくいってるか確認したほうがいいよ
オシロがあればいいけどなければAMラジオを近づければノイズが確認できると思う
ブレッドボード(動作している)と比較でもすればいいでしょう
dsPICでA/Dと兼用になってるPORTをデジタルI/Oとして使うときは
設定でADPCFGの該当箇所を1にしないと、デジタル入力として使えないわけね。
結構意味無いループ繰り返しましたよ。自分。
>>79 電源が安定化されているか否かとバイパスコンデンサの有無は全く関係ない。
付けてないなら付けろ。
>>82 PICのI/Oが出力に切り替わっているということから、少なくとも発振は開始している。
持続しているかどうかまでは分からないが、開始したが途中で停止するということは
考え難いので、持続していると考えるほうが自然。
>>59 リセット中も点灯してるならPICは関係なく(RB4)ピンかLED辺りが電源とショートだと思うぞ
86 :
84:2008/03/25(火) 02:28:13 ID:zMXkprpx
すまん、それ(
>>59)読み落としてた。
確かにリセット中も点灯ならPIC関係ないわ。
>>84の後半は見当違い。
>>82もすまんかった。
*************************
皆さん暇そうなので燃料投下!!
*************************
PICマイコンの破壊について
MAD氏がやってた
ttp://www.fsinet.or.jp/~mad/0026.htm これにヒントを得て考えて見た
プログラムエリアの書き込み回数は1000回とかなので、これを書き込み不良にすれば破壊とは言わないか??
時限爆弾的な動作を得るなら通常のメインループで1秒のタイムカウントする、
例えば通電時間1ヶ月で時限爆弾を「爆破」するなら
60秒X60分X24時間X30日=2592000秒となる、
1)メインループ(プログラムエリアの先頭付近に配置)で1秒に一度EEPROMの指定したエリアをインクリメントする、
2592000回の書き込みはインクリメントする回数であるのでEEPROMの書き込み回数の上限は超えない物とする
通電時間が断続的にあったとしても、通電時間が1秒以上あればEEPROM内タイマーのカウントを行える
2)2592000をカウントしたら、プログラムエリアの最後に配置したサブルーチンに制御を移す
3)サブルーチンでは、アドレス00Hから順次インクリメントしながら、ビットエラーが確認出来るまでプログラムエリアの書き込みを行う
サブルーチン実行が継続的に行われれば、サブルーチンのエリアまでのプログラムエリアの破壊が行われる
以上で時限爆弾の出来上がりだが、技術的に何か問題でもあるかな?
--------------------------------------------------------------------------------------------
誰か正しい道に導いてやれよ。
成功しても成果はないし、失敗したらただのアホ。やってることは子供のいたずら。
もったいないなぁ
1000回で確実に破壊されるのか
1000回の確実性が問題だな
S○NY並みのタイマー組み込まんとな
>>61 > V_PPの立ち上がり時間(T_VHHR)は1us(max)と規定されていて、これが満たされる
> 限りMCLRが解除されている時間は1us以内になるので、
これはVDDとVPPの、立ち上げタイミングの時間差とは関係ないですね。問題にしていたのは、
外部MCLRが有効なら、VDD立ち上げてから10秒でも10年でも経ってからVPPを立ち上げて問題ない、
外部MCLRが無効だと、max.値が必要だろ、という話。話がどっか行ってます。
>>87 > 3)サブルーチンでは、アドレス00Hから順次インクリメントしながら、ビットエラーが確認出来るまでプログラムエリアの書き込みを行う
どうやるの?
自分自身に書き込みできるのか?無知ですまん
94 :
774ワット発電中さん:2008/03/25(火) 21:58:31 ID:6m93WwrW
>>93 フラッシュメモリに書き込めるのも有る。
16F877,877Aなど、この前EEPROMの容量が足りなかったから、試してみたけど、書き込み読み出しは今のところ
チャンと出来てる。
何時までもつかは、不明。
もともと「書き換え回数に制限がある」と仕様に規定されているものが、単に
そのとおりになるというだけのこと。飲んだら中身が減るボトル飲料みたいなもんだ。
でも中身がなくなっても別に爆弾だとは思わんがなぁ。俺の感覚が変なのか。
ビット不良って、爆弾と言うより臓器不全でご臨終って感じだよな。音を立てて火花散らすわけでもないし。
去年のセミナー受講者が購入できるICD2LEと、セミナーで教えて貰った
ディスカウントセールで半額で買ったREAL ICEをやっと使ってみた。
REAL ICEは、レジスタやメモリをフルに表示させてもストレス無く使えて良いね。
ICD2LEも思ったより使いやすい。
でも、ブレークやステップ実行の度に「ICD0116: MPLAB ICD 2 is busy
」が表示される。
REAL ICEでもICD2LEでもOS自体がフリーズする事も度々ある。
IDEv8.0にターゲットはDM300027 + 24FJ64GA002,、ソフトはそのサンプル。
同じような症状の人いる?
頻繁にEEPROMに書き込むなら不良が発生した場合、代行エリアに移行するプログラムも組まないとな。
>>98 難しいところだな。
実際の書き換え回数が保証値に収まるように設計するか否か、書き込み不良の
チェックをするか否か、書き込み不良だった場合に代替処理を行うか否か、
書き込み不良だった場合にユーザへの通知を行うか否か・・・
書き換え回数が保証値を超えそうなら、俺なら外付けEEPROMを使うかな。それだと
保証値が内蔵EEPROMの100倍以上あるから、まず保証値を超えることはない。
そもそもそんなに頻繁に書き換えるデータを
内蔵EEPROMに書き込むほうが間違ってる
書き換え頻度がエンドユーザの使い方次第になるアプリケーションだと、
判断がなかなか難しいんだよ・・・
103 :
59:2008/03/26(水) 19:17:43 ID:UMchs25R
>>82 レス遅くなりました。すみません。
AMラジオを近づけてノイズで発振を確認する。
残念ながら今回はノイズの違いを聞き分けれませでしたが、
良いノウハウを頂きました。
ありがとうございます。
104 :
59:2008/03/26(水) 19:21:56 ID:UMchs25R
>>84 バイパスコンデンサ・・・
ぐぐって見てどんなものか判りました。
今まで、何故ついているのか判らなかった
IC付近のセラミックコンデンサはこれだったのですね。
ありがとうございます。
105 :
59:2008/03/26(水) 19:31:44 ID:UMchs25R
>>77>>85そしてレス頂いたすべての皆様。
原因がわかりました。
電源周りの配線ミスでした。
たくさんの方々にレス頂いておきながら
原因はあまりにも単純なミスでした。
大変申し訳なく恐縮しております。
また
106 :
59:2008/03/26(水) 19:39:25 ID:UMchs25R
また今回、色々なあどばいすを頂く中で、
多くのノウハウを頂戴できとても感謝しております。
ありがとうございました。
PICの内臓EEPROMの保証値は100万回です。Microchipの外付けEEPROMも同様に100万回です。
>99の書き換え回数が超えそうなCPUは、PICではないと思われます。
>>94読んで初めて知った。鈍臭いながらも自己書き換えできるんだな。
>>107 877のデータシート見ると、プログラムが1万回、データが10万回っぽいが。
109 :
99:2008/03/26(水) 21:15:25 ID:z/y3hvrC
>>107 内臓じゃなくて内蔵な。間違えやすいから気をつけろ。
書き換え回数の保証値はチップによっても違うが、たとえばPIC16F88xシリーズだと
1万回だな。保証値が100万回もあるチップはPICにはなかったはずだから、
>>107が
見たのはPICのデータシートじゃなさそうだぞ。
それデータシートじゃないし、実験で得た回数は実力値であって保証値じゃないし。
亜ちゃーーーーーーーーーーーーーーーーー
データシートより。
16F84Aの内蔵EEPROMは最低1M、平均10M回は保証されてる。
疑うなら自分で見てみろ
>>110 リンク先、思いこみの激しい人みたいだね
オレが詳しい分野に絡む数カ所で、びっくりするような勘違いをしてる。
学生かなぁ。頭は良さそうだから、天狗にならずに勉強してくれるといいなぁ。
うむ、16F84Aのは100万回保証だな。
>>109は訂正するよ。
× 保証値が100万回もあるチップはPICにはなかったはずだから
○ 保証値が100万回もあるチップは古いPIC(83/84等)以外にはなかったはずだから
保証値が100万回になってるチップは、保証条件が25℃限定になっているんだが、
そのせいで結局、設計には使えない値なんだ。しかし確かに、データシートに値が
載っていることに違いはないな。
117 :
774ワット発電中さん:2008/03/26(水) 23:59:56 ID:wAvDIzh7
PICの人ってライタに凝ったり非現実的なあくせs(ry
目的も手段も区別がなんだか。
パラノ(ry
>>116 >○ 保証値が100万回もあるチップは古いPIC(83/84等)以外にはなかったはずだから
は×で
○保証値が1,000万回もあるチップは古いPIC(83/84等)以外にはなかったはずだから
のようですよ。
>>120 申し訳ない。流れから深く考えずに"保証値"という用語を使ってしまった。
データシートに記述されている次から引用したのだが、
? 10,000,000 typical erase/write cycles EEPROM Data memory typical
最近のPICのデータシートでは
- 1,000,000 write EEPROM endurance
と表現が変更されている。
かつての10000万回はTypical値で、最近の100万回は保証値(Minimum)ということだろうか。
>122 訂正
× かつての10000万回はTypical値で、最近の100万回は保証値(Minimum)ということだろうか。
〇 かつての1,000万回はTypical値で、最近の100万回は保証値(Minimum)ということだろうか。
>>122 >データシートに記述されている次から引用したのだが、
>? 10,000,000 typical erase/write cycles EEPROM Data memory typical
>最近のPICのデータシートでは
>- 1,000,000 write EEPROM endurance
>と表現が変更されている。
その1000万回や100万回は、どちらもtypicalだよ。
125 :
774ワット発電中さん:2008/03/27(木) 12:31:37 ID:u6hkyltL
秋月で16F887二個注文したら2SB1375 50個?入り2パック届いたw
これから問い合わせしてきます。
126 :
電脳死:2008/03/27(木) 12:43:36 ID:6Vhesgd0
キミは馬鹿だなぁ、それ売って877をイパーイにコロがすんだ!
ところでパーツの買い取りってどこにあるの?
127 :
126:2008/03/27(木) 12:45:52 ID:6Vhesgd0
×:877
〇:887
128 :
774ワット発電中さん:2008/03/27(木) 13:59:23 ID:F1YghtUH
おれは昔2SC1815を100個通販で頼んだら1815の200個パックが
100個とどいたことがある。
一生あっても使い切れない。すばらしい通販をする→千石
2万個か。個人じゃ余程の奴じゃない限り使い切ることは無いなw
>>129 ____
/ \
/ ─ ─ \
/ (●) (●) \
| (__人__) | ないない
\ ` ⌒´ ,/
r、 r、/ ヘ
ヽヾ 三 |:l1 ヽ
\>ヽ/ |` } | |
ヘ lノ `'ソ | |
/´ / |. |
\. ィ | |
| | |
131 :
電脳死:2008/03/27(木) 16:49:27 ID:6Vhesgd0
トランジスタが2万個有るなら、ハードロジックがCPUの製作でしょ。
>>128 さぁ、トランジスタでPICを再現するんだ!w
あと4まんこ買えば 68000 か。
あと48000個だな、文字通り68000個のくだりを信じるなら。
>>135 以前からの手持ちが 8000個かw スゴイね。
秋月のPICプログラマキットで書き込みしようとしたのですが、
「COM1ポートが開けません」とでて書き込みができません。
どうしたらいいでしょうか?
アドバイスよろしくお願いします
>>140 COMを探しましょう
マイコンピュータ右クリック→管理→デバイスマネージャ→ポート
貴方のPCのCOMが表示されます、確認したCOMナンバーをプログラマに割り当てます
>142 ではエスパーの私が
1)PCと秋月PICライタの接続方法は何か?(A:USBケーブル or B: シリアルケーブル)
2)ドライバのインストール
A:USBの場合 付属のUSBドライバインストール
B:シリアルケーブルの場合 PCのBIOSでCOM有効化後、ドライバインストール
3)
>>141
>>143 言うとおりにしたらできました
ありがとうございます!
さすがエスパーですね!
出力設定時のピンの電圧について質問します。
PIC16F84Aです。電源電圧4.2Vの乾電池です。
ピンを出力にしたところ、ピン〜GND間の電圧が2.2Vでした。
自分は電源電圧と同じ4.2Vになると考えていたのですが、
電圧は下がるものなのでしょうか?
実際に下がっているのですが、どうにも納得できません。
>>145 乾電池の電流容量(内部抵抗)について調べてみよう
>>145 負荷は何かつないでるの?
抵抗なしでLED直結してるとかw
> 抵抗なしでLED直結してるとかw
後田ビーン、責任取れよー!w
どっかではLEDを出力ポートに直結していた。
20mA程度しかでないからいいらしい
>>145 それで正常です。
LS TTL ICやCMOS ICと同じ理屈で、
端子電圧はプルアップ抵抗(例えば10kΩ程度)をつけると
Vcc(Vdd)近くに上昇し、
プルダウン抵抗をつけると0V近くに安定します。
プルアップ抵抗、プルダウン抵抗な無いと、そのように
中途半端な電圧(不定な電圧と呼ぶ)が出てしまいます。
この際、流れ出し電流IIloとか、ファンイン・ファンアウトの計算方法も
勉強してください。
>>153 > プルアップ抵抗、プルダウン抵抗な無いと、そのように
> 中途半端な電圧(不定な電圧と呼ぶ)が出てしまいます。
出力ピンで?
オープンコレクタ出力なら・・・・ね
>145
ピンに何か繋げてあれば(Vf2.2VのLEDとか) ON出力でそうなるね
けど、たぶんピンが出力になってないと想像するよ。
ときどき153みたいに自分の世界でものを言う人が出てくるけど、
PICユーザの特性ですか?
よくあることです。
159 :
145:2008/03/29(土) 21:39:31 ID:11DBN6/N
皆様レスありがとうございます。
その後、何度かテスターを当てて確認していたのですが、勘違いに気付きました。
そのピンは何にも繋いでいない状態ではあったのですが、
実は500Hzの音を出すべくスピーカにつなく予定で、オンオフを繰り返していたのでした。
オンオフが0.2msで繰り返していたため、出力が4.2Vの約半分の2.2Vという訳だったようです。
ほんとアホ丸出しです。アホというか学力不足です。
恥カキついでに質問なのですが、レス頂いた中で
>>156さんのレスなのですが、
PICは必要な電圧しか出力しないという理解でよろしいのでしょうか?
だとすると、
実は上のピンにスピーカーを繋ぐと2.2Vだったピンの出力が、0.2Vにまで下がってしまうのですが、
その事がなんとか理解できるのです。
どうかどなたかよろしくお願いします。
簡単のため直流成分で考える
スピーカの抵抗は数オームから数十オーム程度。これをR2とする
このときのPICの出力抵抗はこれの10−100倍ぐらいだろうか。これをR1とする
Vcc--[R1]--P--[R2]--GND
Pの電圧はほぼ0Vだということがわかる
>>159 >PICは必要な電圧しか出力しないという理解でよろしいのでしょうか?
ちがう
>>159 PICのピンから取り出せる電流が限られてるから電圧降下が発生する。
必要な電圧しか出ないなんて不可思議なことはおきない。
電気の基本から勉強したほうがいいんじゃない?
>>159 「必要な電圧」というのは意味不明ですね。
PICの出力端子にも内部抵抗(というか出力インピーダンス)があるので
電流を取り出しすぎると電圧降下が起こるのですよ。
で、出力インピーダンスよりも、インピーダンスの低い物をつなぐときには
トランジスタかトランスでインピーダンス変換するわけですよ。
まぁトランジスタでコンデンサ結合するのが普通かな
165 :
145:2008/03/29(土) 23:40:25 ID:11DBN6/N
皆様レスありがとうございました。
電圧降下・・・大変勉強になりました。
関連事項をもう少し勉強しようと思います。
「必要な電圧」 に 「必要な道路」
言葉遊びが好きな文系主導による、ゆとり教育の成果がここにも。
電圧・電流・抵抗 三位一体
これが本当のΩ真理教。
必要な電圧を出してくれる夢のデバイスが開発されたら、
電源屋さんは野垂れ死にですね。
D/Aのこと?
それは双
..いや、墓穴掘りそうだからヤメトコウ...
MPLABで対応しているライタの自作記事ってありませんか?
全部インテリジェントなもので、ハードだけじゃ無理だったりするんでしょうか。
MPLABのバージョン5を使い続けていたんで、パソコンも買ってビスタに
入れたんだけど、なんだかマイクロソフト更新が何回も出るようになったお。
アンインストロールしたら直った。
ビスタに対応してないのかな。WIN98で使ってるからいいけど・・・・・
>>173 PICを定電流源に繋いだら5Vが出てくれたりするのかw
LEDなら良いって言うかも知れんけど、電流が一定じゃなくてもVf付近の電圧が発生するし。
>>171 ICD2クローンの製作記事いっぱいあるよ。
ICD2 cloneでぐぐれ。
ちょっとCコンパイラについて教えてくれ。
C18がライブラリの関係で使えなくてmikroCを試してるんだが
while(1){
:
for(i=0;i<16;i++){
PORTA.F0 = (data>>(max-i+1))&0x1;
:
}
}
実際にはこんなコードじゃなくて、ある程度処理書いてるんだけど、
PORTAの行を追加しただけで1.5KB近く容量消費するのは仕様?
試しに、この行を「PORTA = data;」とか単純転送に変えても同じ。
この1行を追加しただけでアセンブラソースなんか40KBから一気に70KBまで増える。
おかげで容量制限すぐにオーバーして使い物にならない始末。
mikroC購入したとしても、こんな理不尽な消費の仕方されると困るので踏み切れずにいる。
mikroC並に豊富なライブラリを備えた、お薦めのCコンパイラってある?
>>176 その現象は
int main;
main() {
while(1){
for(i=0;i<16;i++){
PORTA.F0 = data;
}
}
}
でも出るのか?
その現象が発生する最小限のCプログラムコードを作成して、その現象の発生前・
発生後のソースコードと、対応するコンパイル結果のアセンブラコードをうpして
くれよ。
>>176 変数の値を1bitずつ送り出す処理ならもっと簡単に書けるんじゃない?
>>177 明日時間が空いたら試してみる。
>>178 素直にPORTA=data;と書けば済んだんだけど(それでも現象が起きるので)、
ただ「意味あるの?」って書くのがいると思って、デバッグ中のロジック思い出しながら書いた。
今見たら
>>176に書いたコード間違ってる。
もとはサブルーチンに書いた可変処理。
>>176 CCSコンパイラ高いけどお勧め
ライブラリべんりすぐる
>>177 非常に申し訳ない。dataに絡む浮動小数点演算を記述している箇所があった。
最終的にdataを使ったことで1.1KB近く消費してたらしい。
>>180 サンクス!
リファレンス見たら必要なライブラリも全て揃ってて申し分なしなんだけど
確かに高い・・・とりあえずCCSとmikroCのどちらかで購入検討してみる。
>>181 情報サンクス!
趣味使いで1万、商用でも2万は安い。
ただ制限事項見たら悲惨だった・・・。
ライブラリ充実CCSお薦め、PCM $150, PCH $200, PCWH $500
フリーのCのある他のマイコンを使った方が……
レスくれた全員サンクス!
ものすごく参考になりました。
>>184 CCSのライブラリは魅力的なんだけど、18の4K制限を超えそうな機会って
今後どれほどあるのかを考えると、どうしても悩んでしまう・・・。
HEXサイズが膨れあがる件が理解できたので、もしかしたらmikroCを選ぶかもしれない。
>>185 それも考えたんだが、あまりにもPICに慣れすぎてて浮気しにくい。(もともとはアセンブラ派)
今回はせめて容量制限が8Kくらいだったら助かるんだけど・・・2K/4Kって絶妙すぎる。
フリーのCだけならPICにだってあるが、問題はライブラリの充実度だよな。
ライブラリが充実していて、値段が安くて、コンパイラの品質が良いもの・・・と
3拍子そろったものは今のところないし、おそらく将来的にも出てこないだろう。
可能性があるとすればオープンソースベースのものだが、あまり盛り上がってないしね。
>>175 もしかして英語かね・・・
探してみる。
忝い。
日本語でいっぱいあった。3つぐらい見て、やる気が失せた。
PICプログラマに萌えないとは、PICユーザにあるまじき体たらくですね。
ごめんなさい。
シリアル接続のをいじることにします。
PICkit2供論どうよ。回路図とFirmともmicrochip自身が公開してるぞ
>>186 いやさ、PICでもC18とかC30がフリーで使える、PIC18系とか、dsPIC使え ってことなんでは?
(C18もC30も最適化オプションが使えなくなるだけ。で、その最適化オプションといっても
全く最適化がされないわけじゃないので、実際問題として全然問題ないし)
>>186 あと、SDCCっていう、フリーのコンパイラもあるし。
お試しアレ。
>>191 >いやさ、PICでもC18とかC30がフリーで使える、PIC18系とか、dsPIC使え ってことなんでは?
>>186は
>>176で
>C18がライブラリの関係で使えなくてmikroCを試してるんだが
と書いているわけだが・・・
>>191-192 元の質問
>>176読んでないね?
C18がダメといってるあたりから想像すると、
例えば FAT32なSD/MMCカードを扱えるかといったレベルの要求だと思うけど
どうかな?
>>193 おっと。失礼。
mikroCって、ここで「バギーなので使い物にならない」 ってな噂を見て
初手から弾いていた。
下手にライブラリに頼ると後で困りそうだ。
面倒かもしれないけど自分で独自のライブラリを作った方が良いと思う。
ライブラリを回路依存で作ると意味梨
>>196 Windowsアプリじゃあるまいし、そこまで気を回す必要もないんじゃない?
後で困るパターンってコンパイラ乗り換えくらいでしょ。
そもそもそれって開発以前の致命的なコンパイラ選定ミスだけど。
199 :
774ワット発電中さん:2008/04/01(火) 14:18:34 ID:RfDg5RPN
PIC24FにICD2でプログラムを書き込もうとしているのですが、ICD2のセルフテストが失敗して
しまいます。
セルフテストの結果を見てみるとTarget Vdd, Module Vpp, MCLR Vdd, MCLR Vppのいずれもが
Lowで、MCLR GndのみがPassです。
ICD2にはACアダプタを接続しており、PCとはUSBで接続してあります。
もしかしてPIC24FにICD2繋ぐ時って、PIC24F側に別途給電が必要ですか?
ターゲットのPICに周辺回路がつながってるならそのとおりだ
>>200 何も繋がっていません。
PICを指すソケットとICD2のモジュラーを直結させているだけの簡単な
基板です。
202 :
199:2008/04/01(火) 14:47:50 ID:RfDg5RPN
MPLAB IDEの"Select Device"をPIC24に設定すると"Power target circuit from MPLAB ICD2" の
チェックボックスが強制的に外されるみたいです。
ICD2からの給電は5V動作のPICにしか対応してないんですね。
>>201 PIC24F は 3V 動作なので,ICD2 の 5V を直接供給できないように
なってんじゃないかすら。事故防止のために。
ICD2からのVdd給電は約5V固定だからPIC24やdsPIC33系では供給できないようになっている。
ICD2にACアダプタ要らんけど、ターゲットへは3.3V給電しないとな。
因みにPICkit2はVdd給電も可変になってる。
なんでPICkit2でICD出来ないの?
つ[大人の事情]
予算の都合
ICD2が売れなくなるじゃまいか
でも、ホントはデバイスを売るための小道具....だけど、PICは大口につながるような客少ないからなぁ。
某テクニカライター後田びんが、PICKit2でもICDできるとか言ってたような。近藤@日湘さんも。
PICkit2でもICDできるよ。Mid-range MCU限定だけどね。
それ以外でも、ハード的にはできる。対応するソフトをMicrochipが作ってくれないだけ。
作らない理由は、単なるリソースの問題でしょう。ゆえに
>>207
>>210 PICkit2でもICDできるよ。Mid-range MCU限定だけどね。
PIC18系でもICDできるね。 でも PIC24以上はやはり・・・
PIC12F675です。
駆動電圧5vで内臓クロック4MHzが使えるでしょうか?
使っている回路図をネットで見かけたのですが、
3Vの時に4MHzと別のホームページで見たので疑問に思います。
継ぎはぎで作った下のプログラムが正しく動作しないのは、
なにが悪いのでしょうか?
MAINで
BSF GPIO,4
としているのですが、PIN6に電圧が掛かりません。
そもそも、クロックが正しく動いているのかも疑問です。
よろしくお願いします。
#include <p12f675.inc>
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
CBLOCK H'20'CNT1
CNT2
CNT3
ENDC
ORG 0x000
GOTO SETUP
SETUP
BSF STATUS,RP0 ;Select Bank 1
MOVLW B'00001010';
MOVWF TRISIO
;CLRF ANSEL
BCF STATUS,RP0 ;Select Bank 0
MOVLW H'07'
MOVWF CMCON
BCF INTCON,PEIE
CLRF GPIO
MAIN
BTFSS GPIO,1
GOTO NO_BUZZER
BSF GPIO,4
CALL TIM1
BCF GPIO,4
CALL TIM1
GOTO MAIN
NO_BUZZER
BCF GPIO,1
GOTO MAIN
TIM1
MOVLW d'124'
MOVWF CNT2
TIMLP2
DECFSZ CNT2,F
GOTO TIMLP2
RETURN
END
>>212 デバッグ時の定石は、プログラムのよく分からない部分を削除して、分かっている
部分のみにして実行してみること。
>MAINで
>BSF GPIO,4
>としているのですが、PIN6に電圧が掛かりません。
を確認したいのであれば、それに必要な最小限の部分だけを残して、関係ない部分は
すべて削除して実行してみろ。
>そもそも、クロックが正しく動いているのかも疑問です。
を確認したいのであれば、CLKOUTを有効にして実行してみろ。
何が悪いのかを他人に調べてもらうのは簡単だが、自分で調べられるようにならないと
いつまでたっても他人に聞くことになるぞ。
まぁ、誰かがピンポイントで回答を書くだろうとは思うから、それを待つのも手だが。
data sheetに書いてある
FIGURE 13-16: MAXIMUM AND MINIMUM INTOSC FREQ vs. VDD WITH 0.1μF AND 0.01μF
DECOUPLING (+25°C)
215 :
555:2008/04/02(水) 08:24:33 ID:FfpYR5RL
5Vで4MHz駆動は可能です。
なお、6PINに電圧がかからないということ
ですが6pin=GPIO,1つまりスイッチ?入力に
電圧がかかっていないということですかね
っということはスイッチ?入力の結線に問題が
あるみたいでクロックとは関係ないかもしれませんよ。
216 :
774ワット発電中さん:2008/04/02(水) 10:59:40 ID:GOT9cPuS
初心者の意見だがコンパレータ切ってみれ
movlw B'00000111'
movwf CMCON
>>212 ・ GP4は6番ピンではなく3番ピンですが、そこは大丈夫でしょうか。
・ CLRF ANSELがコメントアウトされていますが、そうするとアナログ入力ピンがディジタルになりません。セミコロンを外してください。
まずはこの2点を確認してください。
あと、NO_BUZZERラベルの下にある
BCF GPIO,1
これは不要じゃないですか?
219 :
555:2008/04/02(水) 12:25:22 ID:FfpYR5RL
>217
が正解かも。
16F877で大いに悩んだことあったんで。
いやっほうううううううううううううううううう
初めて自分で作った回路がうごいたああああああああああああ
PICばんざあああああああああああい!!!!!!!!!!1
PICの質問はここでいいですか?
質問いいですか?
質問の内容によるw
とりあえず書いてみ
225 :
222:2008/04/02(水) 16:55:29 ID:uFBEATpG
PIC16F877AはデュアルCPUですか?
あるところで発信機を2つもった回路を見ました
>225
デュアルコアPICって面白そう
内部に共用レジスタ持ってって通信できるような奴
>>225 デュアルCPUではない。
発振回路は2組内蔵している。
228 :
222:2008/04/02(水) 17:10:39 ID:uFBEATpG
ますますPICがわからなくなってきました
>>228 可能ならその回路図を晒して。
あと、16F87xAは発振回路を内蔵してないと思うんだけど。
>>227
タイマ1の発振回路のことだね。
メインクロックとは別にタイマを走らせるためのクロックとして使う。
スリープ中もタイマーが走るし、メインクロックとまったく異なる周波数が使えるから、時計作るのに便利そう。
俺もデュアルコアPIC欲しいんだけど。
どうしても配線で通信すると多ピン使うか速度犠牲にするか選択しないといけないし。
231 :
222:2008/04/02(水) 17:33:32 ID:uFBEATpG
232 :
222:2008/04/02(水) 17:38:27 ID:uFBEATpG
>>230 PIC16F877Aはそのデュアルコアだったのですね。
>>232 コアは1つ。
数を数えるだけのカウンターが内蔵されていて
これのクロックを別の発振回路で動かせるだけ。
234 :
227:2008/04/02(水) 18:11:58 ID:hnFkhqbK
>>229 PIC16F87XAには発振回路が2組内蔵されている。
データシートの14.2 Oscillator Configurationsを参照のこと。
>>235 Timer1の発振回路の話だろ。
16F87Xも16F88Xも同じ。
>>231 >周波数を切り換えるとありました
そんなこと、どこにも書いてねーよ。
第一、発振回路が2つでデュアルコアなんて発想が、どこからでてくるんだよ。
>>231 コアを動かす発振回路はOSC1・OSC2にきちんと繋がってるよね。
Timer1を動かす(演算しないのでコアとは言いません)為のクリスタルはT1OSO・T1OSIに繋がってるよね。
その回路図で言うところのX1が駆動用、X2がタイマカウンタ用。
まぁ、初っ端からTimer1を外部クロックで動かす物を見たから多分こんがらがってしまったのでしょう。
>>236 まぁ、その辺は何を発振回路と定義するかに依るよね。
何も接続せずに発振するものを発振回路と言うか、
クリスタルを発振させる外部回路を発振回路と言うか。
>>235は何も接続せずに発振する物を言い、
>>234は外部回路をそう言った。
でもそれだとデータシートの14.2項を言った意味が分からないかw
これは単純にコア発振用の回路だけでTimer1に関しては触れてないw
239 :
212:2008/04/03(木) 00:54:46 ID:9lnEcLUw
レス頂いた皆様ありがとうございます。
>>217さんの指摘どおりでした。
お蔭様で発振回路でスピーカーも鳴らせました。
主処理は16F84Aですが、発振回路だけ別の石にしたほうが良いと思い、
基板の空きスペースの都合とこの際別のPICも扱いたいとか思い、
12F675を使ってみました。
なかなか、便利な石なので、これからもっと勉強して掘り下げてゆきたいと思います。
ありがとうございました。
8pinPICは便利やね。
最近はPSoCに浮気
242 :
774ワット発電中さん:2008/04/03(木) 20:22:33 ID:yqRMXubL
I2Cで制御する部品をコントロールするため、PICを使おうと思っています。
PICなら簡単!・・と、思っていたのですが、MicroChipの日本語ページには
詳しい説明がなく、すぐに本国に飛ばされてしまい困っています。
WEBで調べてみると、C言語なら簡単に扱えるみたいですが、そうなると規模
が大きくなりそうです(8PIn以下のサイズで考えてます)
参考になりそうなHP、本があれば御紹介ください。
よろしくお願いいたします。
とりあえず
http://www.picfun.com/ かな。定番として。
あとは、何を優先したいのかによるだろうね。
・日本語の資料が存在すること
・C言語によるプログラム作成が無料で可能なこと
・8ピン品種であること
・低価格品種であること
等々
その内容によっては、PIC以外を選択するほうが現実的かもしれない。
マイコン活用シリーズ 【シリーズ一覧へ】
PICとH8で具体的な1-Wire,SPI,I2Cプログラミングを行う
マイコンの1線 2線 3線インターフェース活用入門
中尾 司 著
B5変型判 328ページ
定価2,730円(税込)
JAN9784789842082
2007年6月15日発行
好評発売中!
>>242 8pinでSSPモジュール(I2C/SPI)を内蔵してるデバイスはなかった気がするけど、それは大丈夫?
てかI2Cスレーブ付いてるデバイスは割と多いけど(それでも8pinにはない)マスター付いてるデバイスってあったっけ?
まあアセンブリでも掛けないわけじゃないからがんばって。
>>246 MSSPを内蔵しているのは28pin以上のデバイスにしかないっぽい。
18pinでも出してほしいな…
I2Cのスレーブ側だとSSPモジュールないと無理っぽいけど
自分のタイミングで作れるマスター側なら大丈夫でしょ。
めんどくさいけどw
特にI2Cだと
出力H →TRISx=1 , GPIOx=x
出力L →TRISx=0 , GPIOx=0
みたいにTRISxを操作してH/L切替えなきゃいけないくて
BANK切替えではまりそう
めんどくさいの(´д`)ヤダー
I2Cマスタまで付いてるいちばん少ピンのデバイスは、PIC16Fファミリだと
PIC16F677(20ピン)だね。
どうしても8ピンにこだわるなら、全部自前でI2Cの制御をするか、さもなければ
PICを諦めて「8ピンでもI2Cモジュール内蔵のマイコン」を使うか。
つーことで
>>243になる。
>>248 TRIS レジスタは FSR で指定しとけば多少煩雑さが減るかも。
>>251 FSR使うとbanksel要らないんだっけ?
>>252 一般論としては、必要。ただし
(1) 直接指定時のbankselと間接指定時のbankselはそれぞれ別のビットなので、
間接指定用のbankselをいったん行っておけば、直接指定用のbankselをどういじっても
FSRで間接参照できる。
(2) 8ピンPICを使う場合に限れば、8ピンPICは間接指定時のbankselが必要になるほど
レジスタが多くないので、間接指定時のbankselは不要。
>>242 I2Cマスタ用のアセンブリコードは後閑氏の見ながら書いた覚えがあるよ。
石によって少し書き換える必要が出てくるけどね。
>252
I2Cの相手にもよるだろうけど、EEPROMみたいに連続読み書きする場合
FSRを使うこと多くないか? Bugの元になりそうだから普通にBANK切り替え
したほうがよいような。
>>242 制御というか・・・温度センサIC(TMP102AIDRLT)かなwww
257 :
774ワット発電中さん:2008/04/04(金) 11:40:22 ID:iCDniQEA
PIC24FJ64GA002 を内部クロック32MHzで動作させたいのですが、8MHzでしか
動作してくれません。コンフィギュレーションビットでFNOSC_FRCPLLを
セットしているのですが他にも何か設定が必要でしょうか?
現在設定しているコンフィギュレーションビットは以下の通りです。(C30です)
_CONFIG1(JTAGEN_OFF & GCP_OFF & GWRP_OFF & BKBUG_OFF & COE_OFF &
ICS_PGx1 & FWDTEN_OFF )
_CONFIG2(IESO_OFF & FNOSC_FRCPLL & FCKSM_CSDCMD & OSCIOFNC_OFF &
IOL1WAY_OFF & I2C1SEL_PRI & POSCMOD_NONE)
>>258 以下のコードでUARTでPCと通信しているのですが。
U1BRGを求める式(PIC24FJ64GA004 FAMILY Data Sheetの16.1より)
【UxBRG = クロック周波数 ÷ (16×ボーレート) − 1】
に基づいてU1BRGを計算した場合…
32MHzで計算するとU1BRGは「207」になります。この値だと通信が化けてしまいます。
8MHzで計算するとU1BRGは「51」になります。この値では正常に通信できます。
U1BRGを32MHzの場合の207にして、PC側を2400bpsにしてやると正常に通信できます。
これは8MHzで2400bps通信時(8000000÷(16×2400)-1)と同じ値です。
なので8MHzで動作していると判断しました。
------- 以下コード ---------
#include "p24FJ64GA002.h"
_CONFIG1(JTAGEN_OFF & GCP_OFF & GWRP_OFF & BKBUG_OFF & COE_OFF & ICS_PGx1 & FWDTEN_OFF )
_CONFIG2(IESO_OFF & FNOSC_FRCPLL & FCKSM_CSDCMD & OSCIOFNC_OFF & IOL1WAY_OFF & I2C1SEL_PRI & POSCMOD_NONE)
int main()
{
RPINR18bits.U1RXR = 8;
RPOR4bits.RP9R = 3;
U1MODEbits.UARTEN=1;
U1STAbits.UTXEN=1;
//U1BRG = 207; //32000000/(16*9600)-1
U1BRG = 51; //8000000/(16*9600)-1
while (1) {
if (U1STAbits.URXDA!=00) {
U1TXREG = U1RXREG;
while (U1STAbits.UTXBF!=0);
}
}
}
FCY=FOSC/2と注意書きがあるが
U1BRG値をいろいろ算出してトライしてみてはどうだろうか
Doze mode and PLL are disabled.というのも気になるな
261 :
774ワット発電中さん:2008/04/04(金) 14:26:21 ID:5KIe1+tq
軽さーん!アートワークから製造まで数万円でやってくれるとこ教えてクレー!。
#2014 8/24/2002, 11:43 JST
Subject: re:プリント基板について
Name: 軽石 [nbf02247 at nifty ne jp]
Parent: #2013
Text:
こんにちはけんたさん
プリント基板は設計と製造があります。
設計はICの数(端子数)と面積で大体決まります。
製造については基板サイズと使用する面の数で初期費用が決まります。
:片面が一番安く、両面にすると値段がアップ。シルクをつけると更にアップ。
>部品数は、、トランジスタが2つ、抵抗が8つ、コンデンサが2つ、8本足のICが1つ
>になります。そして必要な穴の数は50位です。
>こんな要望でも喜んで聞いてくれるようなお店はあるのでしょうか?しかも安価で、、、
>皆さんにお伺いしたいのですが、このレベルの基盤を50枚作ってもらうとどれくらいの金額
>になると思いますか?
基板設計から製造まで国内で頼むと数万円(二桁行く可能性大・・?)くらいではないかと思います。
最近は海外で製造を委託する人もいるようです。基板設計はフリーのソフトを使って
製造だけ依頼する。
http://www.paken.org:8080/aaf/eda/olimex.html
スレ違い 関係者まとめて消えろ
263 :
774ワット発電中さん:2008/04/04(金) 15:44:07 ID:WiT6xHUt
そうだPICの話題はスレ違いだ
消えろ
264 :
257:2008/04/04(金) 16:35:04 ID:iCDniQEA
>>260 > FCY=FOSC/2と注意書きがあるが
気にはなっていましたが、FCYとFOSCが何の事やら分からないので放置してました。
32MHzがFOSCなのでしょうか?
データシートを眺めていたら、PLL使うとpostscalerを通るとのことで、CLKDIVレジスタを
調べたらデフォルトで4MHz(1/2にしている?)でした。
なのでmain関数の頭に
「CLKDIVbits.RCDIV = 0;」
を入れて8MHzに設定して、さらにU1BRGの計算の際にクロック周波数を1/2にすると、狙った
ボーレートで通信できました。
望んだ通りの動作にはなりましたが、果たして本当にこれであっているのかどうか不安です。
どなたか分かる方見えましたら教えて下さい。
>>264 データシートの7章にあるFIGURE7-1を見ると、内蔵クロックがPLLに入る前にポストスケーラがついてるね。
ここがデフォルトで1:2になってるから、PLLを通した後の動作周波数は16MHzになってるっぽい。
FOSCは動作周波数で、FCYはその半分だから8MHz。
つまり、U1BRG=207のときは 8,000,000/(16*(207+1))≒2400bps になるね。
いまはポストスケーラが1:1になってるから、動作周波数は32MHz。
FCYは16MHzだから、9600bpsで通信させるとするとU1BRG=16,000,000/(16*9600)-1=103。
合ってる?
まぁ、動作周波数を確認したいならLEDチカチカのほうが確実だと思うよ。
32MHzで1秒相当のウェイトを作るとかして。
オシロぐらい買おうぜwwww
周波数ならテスターで計れるやんか
秋の安物でも・・・
しかし、わたすにはお城は買えまへん・・・郊外の一戸建てが精々です。
秋のAAAであったタイマーIC いつも品切れから突然消えた・・・
あ 秋のスレと違った ごめん でも つい・・・
>>265 はい「103」で合っています、これでいいみたいですね。
今回の件でつくづくデータシートを隅々まで読み込む重要性を体感しました。
ありがとうございました。
PIC24FってFcy=Fosc/2なんだ
PICってFcy=Fosc/4なんだと思ってた
現在のところ、PIC24F/PIC24H/dsPIC33Fの3ファミリがfcy=fosc/2で、それ以外はfcy=fosc/4
訂正:
データシートぐらいちゃんと読もうぜwwww
274 :
774ワット発電中さん:2008/04/06(日) 10:32:48 ID:4T205Rbi
初心者質問ですみません。
PICライターとROMライターというものは全く別物なのでしょうか?
それとも共用できるものなのでしょうか?
275 :
774ワット発電中さん:2008/04/06(日) 10:40:32 ID:ZwSzQsla
>>274 エビカツサンドイッチと食パンというものは全く別物なのでしょうか?
#うまい例えが思いつかないなぁ
276 :
のうし:2008/04/06(日) 10:52:30 ID:fTawAeGO
PICのROMライターって思ったら?
PICの場合はシリアルで書いてるから作りやすい。
いつだかのスレタイみたいにライターだけ作って制覇した気分になれるぞ、プログラムできなくても。
>>274 全く別物です。
でも、2つを1つにまとめた物もあります。
たかが、PIC程度でも、素人であったとしても、オシロがなけりゃ
電子工作の楽しみの多くを享受できないと思う。
単純な、LEDチカチカでもオシロで見てみ。。。世界観が変わるかもしれないよ。
僕にしてみれば、Eメールがあるのに、FAXで十分といっているような感じだ。
279 :
774ワット発電中さん:2008/04/06(日) 11:24:34 ID:nGZWvLBU
いや、PICライタで書き込むのが目的だから、オシロは....。
それにシリアルポート壊してでも極安ライタにこだわる。
LEDチカチカも、プログラミングの一環ではなく、あくまで書き込み成功の確認行為。
そんなスレで、オシロの有効性を説いても....。
280 :
774ワット発電中さん:2008/04/06(日) 11:34:04 ID:nGZWvLBU
軽石さん、テキトーなことを言ってはいけません。
> 全く別物です。
> でも、2つを1つにまとめた物もあります。
数あるプログラマーの中で、PICだけしか書けないごく一部ものを指すってかんじでしょ。
281 :
774ワット発電中さん:2008/04/06(日) 11:48:06 ID:4T205Rbi
PICも書けるし、27C256や27C1001も書けるライターがあるということでしょうか?
世代が違うから ないだろ
ROM・ライターといっても シリアルEEPROM のこと指してるだろう
283 :
774ワット発電中さん:2008/04/06(日) 12:05:18 ID:nGZWvLBU
284 :
774ワット発電中さん:2008/04/06(日) 12:13:04 ID:4T205Rbi
ん〜、あるという人、ないという人、ご意見色々ですね。
私の理解力不足が問題なのでしょうけれども。。。
285 :
774ワット発電中さん:2008/04/06(日) 12:14:37 ID:ZwSzQsla
>>284 初心者向けにいうなら
「全く完全に違うもの。お互いに代用にはなりません」
とキッパリ言った方が楽なのかもね。
#例外はあるんだけどさ。気にするな。
286 :
774ワット発電中さん:2008/04/06(日) 12:19:53 ID:4T205Rbi
283のリンク先が例外なのでしょうか?
例外が多数派??
う〜ん、奥が深いのですね。
PICライターって書いてあったら、PIC+シリアルEEPROM程度ってのは堅い線かもね。
ROMライタって言うと、結構PICやらAVRも書けちゃう。
ハードは同じだからね。
殆どサポートの問題。
288 :
774ワット発電中さん:2008/04/06(日) 12:23:30 ID:ZwSzQsla
>>286 深く考えるな。
PICライターはPICライター
ROMライターはROMライターって割り切れ。
#何が困るかというと、ROMライターでPIC焼こうとしたとき、最新のPIC(dsPICとか)だと
書き込みがサポートされていない可能性が大なので、このPICは焼けるけど、あのPICは焼けない
とか面倒なので「ROMライターでPICは焼けない」と思っておけ。
289 :
774ワット発電中さん:2008/04/06(日) 12:25:49 ID:CaOpiguB
> 286
値段を考えると、割切りが必要。
3〜5万以上出せれば、大抵何でもライタになってます。
291 :
774ワット発電中さん:2008/04/06(日) 12:44:43 ID:4T205Rbi
アドバイスありがとうございます。
ROMとPICは分けて考えます。
ありがと!!!!!!!!!!!!!!!!!!!!!!!!!!
結局このスレが盛り上がるのはライタの話題だけ…と。
296 :
276:2008/04/06(日) 14:31:30 ID:fTawAeGO
こんなライターどうよ、PCも半田もいらない
297 :
296:2008/04/06(日) 14:32:14 ID:fTawAeGO
DVDとCDくらい違うだろ、ただ、CD読めないDVDドライブなんてねーよ、くらいのもんで。
ライターまでは誰でも到達できるが
その先へ進めないヤツが大勢wwww
実際、開発の仕事でもやらないと
マイコンを使う趣味ってそうそうないだろうし
かと言って、H8やSHやR8やMIPSを弄りまくってる立場からすると
PICは使いにくいことこの上ないのですよ。シリーズ大杉だし、ICEもなんだかねー
道楽ではH8/tinyとM8使ってます。
やっぱ目的がないとな。
おれは計測ロガー作ったけど。
>>301 俺も計測ロガー作った。
PIC自体が趣味って難しいよね。
「ほかの趣味があって、PICを使いたくなる。」か「PICが趣味だけど、
それを使うためのほかの趣味がある。」か・・・
304 :
774ワット発電中さん:2008/04/06(日) 23:36:11 ID:/xDpjDuh
温度ロガーつくりかたおせーてよww
16F84を使ってポートBにつないであるLEDを1秒ずつ交互に点灯させるプログラムを作りましたが、うまくいきません
実際につないで試してみたら、#10101010bの時には1秒でなく一瞬しか光りませんでした。
以下にそのとき使ったプログラムを書きますが何かおかしいところとかあるでしょうか?
アドバイスよろしくお願いします
include 16f84.h
.osc hs
.wdt off
org 0ch
tim0 ds 1
tim1 ds 1
tim2 ds 1
org 0
goto start
start
clr rb
mov !rb,#0
main
mov w,#01010101b
mov rb,w
call wait
mov w,#10101010b
mov rb,w
call wait
goto main
wait
mov tim0,#10
wa0 clr tim1
wa1 clr tim2
wa2 nop
djnz tim2,wa2
djnz tim1,wa1
djnz tim0,wa0
ret
306 :
774ワット発電中さん:2008/04/07(月) 00:21:53 ID:U33e6Plu BE:1134108094-2BP(0)
秋月アセンブラの達人の登場
まで待つしかないな
307 :
774ワット発電中さん:2008/04/07(月) 00:36:03 ID:JUrY5MDF
trisBの設定は?
308 :
774ワット発電中さん:2008/04/07(月) 08:26:32 ID:XBYeOhyZ
mov !rb,#0
ってなんだろう?
310 :
305:2008/04/07(月) 13:09:45 ID:rbQFgV4Z
>>307 trisBてなんですか?
>>308 ポートBを全ビット出力用に設定するものらしいです
>>309 同じ参考書です
305はその参考書に載ってるのをそのまま移しました
305はwaitのサブルーチンを2回使ってるので
そのサブルーチンをwait1とwait2に分けてやってみたらうまくいきました
1つのサブルーチンを2回使うとおかしくなるのでしょうか?
DS って何だっけwww
てか、まずは開発ツールを明記してくれないと
文法とか違うからフォローできん
文法が分からんけど、文脈的に define space だろうね。
06h PORTB
86h TRISB
だから ! でバンク切り替えを自動的に挿入してくれるのかな?
とりあえず
そのコードでclr tim1 と clr tim2 はムダだと思うけどな。
あっても問題は無いけどさ
で、動かなかった原因だけどさ、
たぶん、ウオッチドッグが働いたんじゃないかな。
clr tim2 の行を CLRWDT に変更してみたらと思うよ
314 :
305:2008/04/07(月) 16:48:20 ID:rbQFgV4Z
MPLABとかはつかってないです
秋月のPICプログラマについてたソフトしかつかってないです
アセンブリっていうんですかね?
>313
wdt offって行があるから違うんじゃない?
>305
mov !rb,#0 の前にbsf status,rb0が必要とかいう事は無い?
秋のは知らんけど普通の文法だと
BSF STATUS,RB0
CLRF TRISB
BCF STATUS,RB0
て感じの書き方なんだが。
なんでMPASM使わないんだw
参考書を参考にしてるから。
>>305 プログラムソースに問題は無いと思う。
動作がおかしかったのはアセンブラのVersionが古いせいとかじゃなかろか。
実は回路が間違ってたオチを予想w
320 :
774ワット発電中さん:2008/04/07(月) 21:23:04 ID:wm+VEqug
他のプログラムはちゃんと動くので回路は間違ってないかと思います。
ただ今確認したところ、参考書では秋月のプログラマーはver3でやってました。
やっぱMPLAB使うほうが一般的なんですかね?
MPLABを使うのが一般的。
そうでないとしても、Microchip純正ニモニックを使うアセンブラが一般的。
非純正ニモニックを使うのであれば、相談しても他の誰にも理解してもらえない
リスクがあることを覚悟しておく必要がある。
322 :
774ワット発電中さん:2008/04/07(月) 21:47:30 ID:XBYeOhyZ
>>305 16F84使っているなら、HitecのPICC-LITE使え。タダだ。
>>315 秋月ASMは使ったことないけど、
rbが普通にPORTB
!rbがTRISB
で、勝手に
BSF STATUS, RP0
をやってくれたと思う。
BCFの方はやってくれるかどうかは知らない。
>アセンブリっていうんですかね?
てwwwww
まず、秋月に行く前に本を買って一通り勉強しようぜwwww
いくらなんでも電子回路をなめすぎ
MPLAB SIMでは正常に動くのに、実際にPICつなぐと途中でフリーズしてしまう…
他のプログラムで動作を確かめたので、回路は合っている自信があるのですが(一応パスコンも付けてみた)
こんな場合考える要因を列挙するとどんなものがありますかね…?
一応外部入力は無い(全て出力)で動作させています。
PICは628Aです
・PCLATHの値がおかしくてテーブル参照がどこかへ行ってしまう
等々
なんか断片的でスミマセン
断片的だと自分で思うのなら、もう少し情報提供したら。
>>326 ttp://sageuploader.if.land.to/cgi-bin/1upload/src/sage1_4192.zip a.GIFのような回路で、7セグ4つをダイナミック点灯させる回路なのですが
Waker.asmのようなソースで動かしても、起動時いずれかのLEDが一つ光って止まってしまいます。
Wakertest.asmのように、点灯するだけの部分を取り出して動かすと、
しっかりダイナミック点灯しているのですが、
Waker.asmのどこで止まってしまっているのかが突き止められません。
MPLAB SIMでは問題なくダイナミック店頭が行われており、
それと動作の異なる部分で何か誤った動きをさせていると思うのですが…
テーブル参照は全てプログラムメモリのFFより手前に置いてあるはずです。
(使う度にPCLATHを0にしています)
酷く読みにくいソースですが、少しでも参考になれば…
命令が小文字なのは癖です
asmとかわからんなあ、
できればCで書いてうpしてくれ
>>327 a.GIFが入ってなかったが・・・それはともかくとして、その2つのasmファイルを
比較すると、大きく違う(Waker.asmにあってWakertest.asmにない)部分はざっと
3箇所というか3ブロックというか、そのくらいだな。
その3ヶ所を ifdef ... endif か何かで簡単に(1ヶ所の変更で)切り離せるように
して、まずはその2つのプログラムを1つにしてみろ。1つにしたプログラムからその
3箇所を切り離した状態でアセンブルして実行すると、ちゃんとWakertest.asmと同じ
結果になるはず。(そうでなければ、ソースプログラムの書き直しをしくじっている。)
Wakertest.asmと同じ実行結果が得られたら、今度は切り離す部分を減らして、再度
実行してみろ。うまくダイナミック点灯できたら、さらに切り離す部分を減らしてみろ。
点灯しなくなったら、最後に編集した部分が何らかの形で動作不良に影響している。
その部分をよく調べてみろ。どうしても動作不良が特定できなければ、切り離す部分を
最小限の単位(たとえば1行単位)で増減して、どの行を切り離したとき(あるいは
元通り実行したとき)に動作不良が発生するのか確認しろ。
ソース長くて読みたくねえなあ…
とりあえず、表示パターンを変えながらLED点灯するコードをプログラムのあちこちに挿入して、どこまで進んでどこで止まるのか確認するといいよ。
>>327 ともかく タイマ設定と各種変数の初期化前に割込み許可してるのは具合悪そう。
それと起動時に変数(pNOWLED)が不定だと演算GOTOであらぬ所に飛びそうだ。
>>328 答えられないなら書き込まなければいいのに
>>331 たしかにpNOWLEDは怪しい。
シミュレータだとたぶん0で初期化されてるから、「実機だと動かない」っていうのはそのあたりに原因がありそう。
割り込みに関してはぎりぎりセーフかなって気がする。タイマ2しか割り込みは使ってないみたいだし、
タイマ2を動かし始めてるのは初期化部分の最後だし。
アセンブルリスト見たけど、PCLで分岐させてる箇所で256をまたいでる部分(で通じるかな?)はないみたいだから
PCLATHに関しては問題ないと思う。
>>333 >>PCLで分岐させてる箇所で256をまたいでる部分(で通じるかな?)はない
私も実際にアセンブルして確認した事はナイショだ!!
>>328-334 ありがとうございます!
起動する度に止まるパターンがかわるのは、pNOWLEDの初期化をしていなかったせいでした。
そしてごめんなさい
周辺を1cycleずつ動かしたら気づいたのですが、callしたサブルーチンのなかでgotoするときに
誤った場所にジャンプして、returnできなかったのがフリーズした原因でした…orz
ジャンプした後retfieが控えていたのですが、シミュレータだとどうも毎回問題のない位置に戻すので、
正常に動いているとばっかり思っていました…
実機だと命令の無い場所へPCが飛ばされるのでフリーズしていたようです。
ご迷惑をおかけしました。
何にしても、原因が判明してよかったよ。
割り込み時のSTATUSレジスタ退避に関する話やけど
movf STATUS,W 命令だと zフラグに影響を与えるとかで
swap使うのが常道ですよね。
INT_ROUTINE
movwf WORK_REG ;Wレジスタの退避
swapf STATUS,W ←−−−−−−−−−−−−−
clrf STATUS
movwf WORK_STATE ;ステータスレジスタの退避
(割込み処理)
swapf WORK_STATE,W
movwf STATUS ;ステータスレジスタの復帰
swapf WORK_REG
swapf WORK_REG,W ;Wレジスタの復帰
retfie ;割込み処理完了リターン
でも、movf STATUS,W にしても
Wに書き込み後にzフラグが変わるっぽいので、
問題なさげなのですがどうでせう。
もちろん復帰時は movf WORK_STATE,W にしますが。
それとも、zフラグが変わるタイミングと
Wの書き込みが競合して時々\(^o^)/になりますかね。
なにげに movf STATUS,W を使っていた
漏れがoTLなのは、存じておりますが
>>337 退避時は movf STATUS,W でもいいんだよ。
復帰時に swapf 使えば
MPASM Suite\Template 参考にな。
あ、間違えたw
STATUSの退避/復帰はswapf要らんのよ。
swapf使うのはWregの復帰だけでOK
340 :
774ワット発電中さん:2008/04/11(金) 01:28:55 ID:xDMQEsSo
春なので・・・
大学で半導体物理を専攻、本業はソフトウェア/システム開発、
来年からPC周辺デバイスを設計・開発できるようになりたいと考えている、
ハードウェア/PIC初心者です。
今年はPIC12F683/PIC16F88をマスターし、効率は悪くても、内容の理解と
ある程度のことができるようになりたいと思っています。
ソフトウェアはSDCC(gputils/Eclipse環境)で誰かのF88用ソースを
HEXまで作成できる環境が作れました。(1D)
ハードウェアは気づいたら3V->5Vのコンバータが2つ出来上がっていました。
(LMC555とTL499のやつ。5D)
現在、オレンジ電子さんのPICライタを作るためのRCDライタを作成中です。(1D)
春だから・・・
こんな私に、励ましのアドバイスをいただければと存じます。
がんばれよ。(生あたたかめに・・・)
>340
まあ、がんばれ。技術者を志す人間を歓迎する。
どうやっても分からない事があったらここに質問に来るといい。
努力もせずに質問に来たらたたき出すがw
悪いことは言わないからライタぐらい買いなさい。
344 :
技術奴隷:2008/04/11(金) 02:57:16 ID:PYK+wV10
プログラミングスペックを見てライタを作れれば一人前。
去年のセミナーで貰ったデモ基板のコードと回路図をweb上でやっと見つけた。
温度センサが付いててA/D値と換算温度をRS-232Cで垂れ流してるんだね。
4個のLEDは温度の1の位をバイナリー表示してる。
電源プラグが内径2.5mmで秋月の奴内径2.1mmが使えないんだよね
秋月で変換プラグ買えばok
PORTBにつないだ8個のLEDを順番に点灯させるプログラムを作ったのですが、うまくいきません
ビルドしてもエラーは出なかったしシミュレータでも大きな間違いは発見できませんでした
ソースを載せておきますがどこか変なところはあるでしょうか?
アドバイスよろしくお願いします
LIST P=PIC16F84
INCLUDE "P16F84.INC"
TIM0 EQU 0DH
TIM1 EQU 0EH
TIM2 EQU 0FH
ORG 0
START
BSF STATUS,RP0
MOVLW 0FFH
MOVWF TRISA
CLRF TRISB
BCF STATUS,RP0
MAIN
MOVLW 80H
MOVWF PORTB
CALL WAIT
MOVLW 40H
MOVWF PORTB
CALL WAIT
MOVLW 20H
MOVWF PORTB
CALL WAIT
MOVLW 10H
MOVWF PORTB
CALL WAIT
MOVLW 08H
MOVWF PORTB
CALL WAIT
MOVLW 04H
MOVWF PORTB
CALL WAIT
MOVLW 02H
MOVWF PORTB
CALL WAIT
MOVLW 01H
MOVWF PORTB
CALL WAIT
CALL WAIT
いまの逆工程を省略
GOTO MAIN
WAIT
MOVLW 0AH
MOVWF TIM0
WA0 CLRF TIM1
WA1 CLRF TIM2
WA2 NOP
DECFSZ TIM2
GOTO WA2
DECFSZ TIM1
GOTO WA1
DECFSZ TIM0
GOTO WA0
RETURN
END
コンフィグないけどそこは大丈夫?
>>350 忘れてました・・・
なくてもビルドはうまくいったので気づきませんでした
>>351 シミュレータではうまくいくのですが、実際の回路だとLEDが全く点灯しません
ほかのプログラムではうまくLEDは点灯しているので、回路がおかしいということはない気がします
ちなみに秋月のPICライターで書き込みました
いまコンフィグいれてWDTOFFにしてみたら正常に動きました
ありがとうございました
WDTがONになってると動かないもんなんですかね?
C3とC5は積セラじゃまずいだろ。ところでうまく動かないってのはどのレベルだ?
1.全然動かない
2.なんか音がしてる
3.音楽じゃない音がする
4.思ってたのと違うけど音楽っぽい音がしてる
358 :
356:2008/04/11(金) 15:09:48 ID:/unfxG3r
説明不足すみません。
C2とC6、C4をセラコンに変更しています。電解コンデンサは、そのままです。
1、全然音しない です。
耳を近づけると、かすかにノイズ音は聞こえます。
359 :
774ワット発電中さん:2008/04/11(金) 16:48:34 ID:SrJuBpg0
まあ大抵そういう時の原因は
「自分ではあってるつもりだったが回路が間違っていた」
だよ。
オシロがあれば各点の波形見ながらどこがおかしいか辿っていけるんだがね。
信号波形見れないと回路の見直しはめんどいよ。
360 :
774ワット発電中さん:2008/04/11(金) 16:53:12 ID:LEP6iBZg
誤) 見れない
正) 見ることができない、見られない
362 :
春からPIC:2008/04/11(金) 23:59:14 ID:xDMQEsSo
>>341-344 レスどうもです。
Programming SpecificationsとApplication Notesで、
しばらく通勤電車は退屈しなさそうですよ・・・
363 :
774ワット発電中さん:2008/04/12(土) 00:01:20 ID:OqoiWMV6
いつのまにやらPICKIT2ソフトがVerUPされてるよ
ロジックアナライザ機能が追加されてるし、機能追加が多々あるみたい
ついでにC30コンパイラも3.02Cにアップされてた
364 :
774ワット発電中さん:2008/04/12(土) 01:41:21 ID:rqRTNi+G
なんぞ、パソコン無しでもPICが書き込めるようになったのかっ
Sugee
早速ダウソしてくるっ!
>>363 もはや、単なるPICライタじゃなくて、USB接続の便利ツールだな。
PICを使わなくても、一つ持っていると役に立ちそうだ。
1台といわず4台以上同時接続の実績があるので、デバッガ、通信とロジアナの同時利用が出来るんじゃないのかな。
大人買いだな(笑)
>365
ファーム入れ替えやってみた人いる?
2年前にこれだけの機能があったら楽だったのに。
最近PICさわらねえや。
370 :
364:2008/04/12(土) 10:41:57 ID:rqRTNi+G
371 :
774ワット発電中さん:2008/04/12(土) 11:22:38 ID:KEM5QTJH
これで出張に重いノートパソコンが解放される。
凄いもんだなPICkit2
>371の”出張”って、納入した製品のファームウェア更新?
374 :
774ワット発電中さん:2008/04/12(土) 15:10:44 ID:4V3Uwyix
>>373 >納入した製品のファームウェア更新?
大学でバイトしていたソフトウェアハウスでは、カバンに紙テープを詰めて持っていったもんだが
(そのカバン持ちがバイトw)
今はいい時代になったもんじゃわい。
>>374 その当時はカバン持ちのバイトができたが、今はそういうバイトはできないわけだ。
楽なバイトがなくなって残念な時代なんじゃ・・・
うちの会社の新人は現場へ部品もってこい、今日中だ!
と夕方になってから言われるのが伝統
俺は東京〜岩手県が最長だけど他から見たら短いほうだったな
ドングルすっかり忘れてて 後輩に東京から北海道にきてもらいました
378 :
774ワット発電中さん:2008/04/13(日) 00:14:51 ID:/VEVBRPt
後輩ラッキーだなw
その後輩がドングリ持ってきたらお笑いだな。
そのソフトが海外製なんだけど
担当者知ってるから電話かけて一時的にプロテクトはずして
もらおうかと考えてたけど持ってきてくれるめどがたったから
助かった 夜はジンギスカンたらふく食ったけど次の朝の○ンコは・・・・・
どゆこと? ジンギスカンって精力付くんだっけ。
朝ビンビンで後輩に頼んで抜かせてもらったとか。
ウ○コの臭いです
383 :
774ワット発電中さん:2008/04/13(日) 12:28:23 ID:4a+Ow/rO
あの、先週からpicを始めて、昨日やっと一つプログラムが完成しました。HEXを書き出したら3kBぐらいあったのですが、入門サイトに2k以上は、メモリの別のページに書かれるとあったのですが、直接gotoやcallですっ飛べないのでしょうか?
ファイルサイズとワード数は別物だよ。
>>382 了解w
いやーまじで「朝の○ンコ」って「朝のチンコ」か「朝のマンコ」しか浮かばなかったよ
387 :
774ワット発電中さん:2008/04/13(日) 13:57:29 ID:4a+Ow/rO
>>385 レスサンクスです。
とりあえず、書き込むソフトで読み込んでみれば分かりますかね?(秋月のやつでやってます)
大体600行くらいasmを書いたのですが、84Aでも大丈夫でしょうか?(内容にもよると思いますが)
388 :
774ワット発電中さん:2008/04/13(日) 14:20:29 ID:JDdRiSO7
389 :
774ワット発電中さん:2008/04/13(日) 14:30:15 ID:4a+Ow/rO
>>388 どうもです。MPSIMで出来れば、実機でも可能ということですね!昨晩MPSIM使ってて、なんも問題なかったので、安心しました。
指定したチップで扱えるプログラムより大きな容量のプログラムはMPSIMで走らせてもエラー吐くってことでおkですね?
一度回転寿し体験するのもいい社会経験だと思うよ。
PICkit2 のパチもの送料込み $34.99 だったんでポチってしまったけど、大丈夫かなぁ。
PICkit2を買うべきだったね
>>392 使い勝手が同じなら、安くても良いじゃない。
その分、数買っといて、故障しても部品交換になる
部品はほとんど決まっているだろうし。
395 :
774ワット発電中さん:2008/04/14(月) 13:53:35 ID:Uak6/S48
故障というか、電源投入のタイミングが悪いと起こるのか、原因はよく判らん
のだけど、PICkit2自体のファームウェアが飛んでUSBで認識されなくなる
ことがあるので、予備のPICkit2か、ICD2を持ってないと、怖くて使えない。
396 :
774ワット発電中さん:2008/04/14(月) 15:26:52 ID:EMEvRt3r
MPLAB入れたらWINDOWS更新が
止まらなくなったよ。誰かタスケテ
398 :
774ワット発電中さん:2008/04/14(月) 17:03:39 ID:EMEvRt3r
>>397 直りました。ありがとうございます。
>395
予備のPICkit2がどうにかなる心配はないのか?
>>395 自分でファームの再書き込みは出来ないんですか?
または、2台持っていれば、ファームの飛んだ1台目に2台目を接続して
再書き込みできるの意味?
>>400 395じゃないが、そういう意味だろ。
18F2550書ければいいから救済は秋月ライタv4でも可だな
5本引き出さにゃならんが
402 :
774ワット発電中さん:2008/04/14(月) 20:20:11 ID:Uak6/S48
>>399-400 ファームが飛ぶと、USBデバイスとして認識されなくなるので、PICkit2
のユーティリティにある「ファームの更新(Tools-Download PICkit2 OS)」
は使えない。
ツメを折らないように気をつけてPICkit2のケースを開けると、基板上に
ISPコネクタ用のパターンがあるので、そこにコネクタをハンダ付けして、
別のライタでHEXファイルを書き込む。
秋月あたりで売っている一列の丸ピンとヘッダのような、背の低いコネ
クタを使えば、コネクタをハンダ付けした後も、ケースの蓋を元通りに
閉めることができる。
確率的には低いだろうが、別のPICkit2でPICkit2を再プログラムしようと
して、運悪く2台目もファームが飛んでしまう可能性がないわけではない。
PICkit2 Firmware などでググると、割とよく起きるっぽい。ファームが
飛んだかどうか確認する方法として、赤ボタンを押した状態でUSBに繋ぐと
LEDが点滅するという隠し技があるらしいが、自分の場合は、LEDはちゃんと
点滅したけど、デバイスが認識されない状態が起きた。で、再書込したら、
ちゃんと認識されるようになった。
PICkit2買ったらWriter509作っておくといい。
Writer509でファーム飛びは聞かないし、構造が違うからまず同時には飛ばないだろう。
俺もPICkit2飛んで509で焼きなおしたクチだ。
>>397 これってMPLABのせいだったのか
>>402 まぁ1回目はコネクタ半田付けしなくても、ICクリップの先端のJでビアにひっかければいいんじゃないですか?
何回も飛ぶようなら、コネクタ付けたほうがいいかもね
ちなみに、僕の場合は、18F2550のConfigが飛んでました。(2回とも)
中身自体はOKだったんですけど
406 :
774ワット発電中さん:2008/04/15(火) 10:28:06 ID:DCK5bzLT
>>397 マイクロチップが悪いというより、マイクロソフトが悪いんだよな。
各国対応のOSなのに、同じファイル名で作るからバージョンコントロールできてない。
あと、windows うぷでーとも出来が悪い。ほんとに迷惑するよ。
マイクロチップも日本に気を利かせてdata1.cabからMSXML 4.0を交換したバージョン出せよ。
407 :
257:2008/04/15(火) 11:34:53 ID:ENLueFes
お世話になります。
>>257なのですが、また躓いてしまったので知恵を貸して下さい。
みなさんのおかげで
>>259のシリアル通信は問題なく動作するようになりました。
今度はRA3とRA4にLEDを付けてみた所、なぜかRA3だけが点灯しっぱなしになって
しまいました。
以下のコード内で「PORTAbits.RA3 = 0;」と書いても点灯しっぱなしで、RA4にも
LEDを付けてみたのですが、こちらは点灯・消灯ともに正常です。
データシートの[23.1.1]によると、RA3はOSCIOFCNで有効無効が切り替わると書いてあり
コンフィギュレーションビットの「OSCIOFNC_OFF」がそれだと理解しています。
どなたか原因分かる方見えましたらよろしくお願いします。
--- 以下コード
#include "p24FJ64GA002.h"
_CONFIG1(JTAGEN_OFF & GCP_OFF & GWRP_OFF & BKBUG_OFF & COE_OFF & ICS_PGx1 & FWDTEN_OFF )
_CONFIG2(IESO_OFF & FNOSC_FRCPLL & FCKSM_CSDCMD & OSCIOFNC_OFF & IOL1WAY_OFF & I2C1SEL_PRI & POSCMOD_NONE)
int main()
{
TRISAbits.TRISA3 = 0; // LED Green
PORTAbits.RA3 = 0;
TRISAbits.TRISA4 = 0; // LED Red
PORTAbits.RA4 = 0;
while (1) {
}
}
>>407 それ逆だぞ
OSCIOFNC_ONでOSCピンがI/Ofunctionに変わるんだよ。
409 :
257:2008/04/15(火) 13:11:53 ID:ENLueFes
>>408 うわ、ほんとですね。
ありがとうございます。
しょうもないことで馬鹿みたいに長い質問書いて
申し訳ありませんでした。
>>409 むしろ長い質問だからすぐ解決したと思うんだ。
ソースすら出さない単発質問に比べれば……。
あんまり短すぎるのも困るけどな
?
なぜか動かないぞ。
教えれ
とか
自分では原因がわからないときに、うまくまとめるのは難しいだろう。
短くて意味不明な質問より、少し長くても必要な情報がちゃんと入っている質問のほうがいい。
(1レスに収まらないくらいになるとちょっと長すぎるとは思うけど)
質問を小出しにして、回答にきれる。動作しても報告しない、お礼も言わないスレ
っていうスレがあったら需要あると思うんだが。
あぁ、時限爆弾用タイマーかw
大晦日まで・・・・
>>418 笑えるねー。
世の中にいろんな人がいるとは言うが(^^;
落札した人も然り。
昔、雑談スレで「困ったなー」と書いたら、
AD兼用ポートを初期化したか?
と返事をもらってビックリしたことがあるww
実はよくやるんだ・・・
自作自演かもしれんが
ほんとに落札したんだとしたらビツクリだよね(^^;
昨日、ダイソーで200円で小型のアラーム時計売っていたよ。
もちろん、LEDが一個付いているだけではなく(笑)
ちゃんと液晶の時間表示部も付いていますしたよ(^^;
画面が割れてるポケコンが落札されるくらいだから買う人いるかもしれないな。
427 :
774ワット発電中さん:2008/04/18(金) 07:44:30 ID:uelXDiG2
世の中マイコンのプログラムが出来て
回路設計も出来る人間は少ない
と思いますよ。
素人が見ればほしがる人いるのでは
ないでしょうか?
428 :
774ワット発電中さん:2008/04/18(金) 17:13:26 ID:EorSp55g
PIC関係のサイトに行ってみたが、怪しげなライタだらけだな。
規格無視で書ければいいみたいな物を製品に使ったりしてないよね。
あるサイトでPICkit2のコピーをやってて、動かないとオリジナルと
違うものを使った部品を1個づつ交換するようなやり方で動かしてる。
とりあえず書けるようになったらしく基板を起こして部品集めてキッ
トと称してる。販売する気ならガクブルだな。
>427
あの程度のプログラミングとあの程度の回路設計をできる人は
素人でも大勢いると思う。
そういや昔、dsだかpspだかのガワだけ安く売るよ〜っていう人が居たらしいけど、
あの後どうなったんだろう。いくらか追加したら中身もつけますよ、っての。
買った人は断って、なんかすったもんだしてたアレ。
>>427 >世の中マイコンのプログラムが出来て
>回路設計も出来る人間は少ない
そういう人は少ないかもね。
でも
>>418や
>>424のは、回路設計なんて皆無だし、素人に毛が生えたような
プログラムだから、それに付加価値を感じて買う人はよっぽどの数寄者だよ。
>>426 補修の為の部品取り用(必要な部分とったら出品)とか、
ガワとキーだけ頂いて、ドットマトリクス液晶+最近のマイコンで
オリジナルポケコンを作るとか、そういった落札は普通にある事
なので、一緒にするのはどうかと。
サーバの電源を制御しようとPICNICを買ってきたけど
UDPでガンガン通信してるとハングアップする事ない?蟹さんだからか?
いいこと思いついた。PICNICのACアダプタを別のPICNICで制g(r
>424
オークションの終了が 7/22 22:45
到着の知らせが 7/23 23:07
こんなに早く届けられるのかw
集配局に出して同一地域なら可能
出品地域 大分
落札者 広島
定形郵便で送ってるみたいだが
民営化の効果はすげえな
つーか、それ仲間内じゃなかったっけ?
いくつか前のスレでも話題になってたけど。
せめて液晶付ければいいのに。。
僕アルバイトォォォ!!
手違いで焼きPICしてしまった
441 :
774ワット発電中さん:2008/04/19(土) 16:41:20 ID:ZA1EPaki
あやまれ!PICにあやまれ!
死に顔を拝ませてください
443 :
774ワット発電中さん:2008/04/19(土) 22:53:37 ID:Cpat07KU
いま足が折れかけのPIC12F675をいじめてるところ。
プログラムが間違ってなかったらEEPROMの書き換えがもうすぐ1500万回目
444 :
774ワット発電中さん:2008/04/20(日) 23:40:46 ID:2DD2uliv
PICで電流を制御する方法を教えてください。
ぱっと思いつくのはPWMでFET動かしてコイルとコンデンサで平滑、電圧をチェックして
電流測定、フィードバック。
この方法以外に簡単に実現できますか?
バッテリーの充電器を作るのが目的。
なんか損失が大きそうだ
>>444 スイッチングでやるなら、どの方法もコントローラが違うだけで基本は同じだと思う。
>>444 PICの使い方以前の仕様が全然指定されていない。
せめてこれくらいは先に決めてくれ:
電流は定量的に制御するのか、定性的に制御するのか。
ON/OFFでいいのか、多段階〜実質的に連続量で制御するのか。
フィードバックが必要な場合、フィードバックを掛ける元になる測定値の測定方法か何か。
またどの程度の応答速度が必要なのか。
447 >
ちみの質問は
"バッテリーの充電器を作るのが目的"
から読み取れないか?
なぁ、近藤@日湘さん。
OSやツールのバージョンはいいのか?w
>444
あ、でも電池の種類とか電流値とか書くといいかも。
基本的にはPWMだけど、電流値や入出力の電位差小さいときはドロップしちゃったほうが。
電流値が固定ならば、安直に3端子レギュレータでやる方法も。
リチウムイオンなら3端子で定電流して、電圧見てるだけでおk
あと、故障時の検討してね。
PWMでonしっぱなしはカナーリまずいことになるので。
あと、オシロないとつらいかも。
450 :
774ワット発電中さん:2008/04/21(月) 01:35:08 ID:YsCARj46
各位
448-449は単なる荒らしなので無視願います
>444
あと、ニッケル系なら、-ΔV失敗時の対策も。
基本的にはタイムアウトだけど、時間が短すぎると大容量や充電電流の流れなくなった電池が満充電できなくなるけど、長すぎると当然危険。
直の回答はないけど、ここは読んでおくと勉強になりまつよ。
http://www.kansai-event.com/kinomayoi/ > 448-449は単なる荒らしなので無視願います
出たな、ただの仕切り厨、軽石。
そんなこと書かずに、まともな回答でスレ引っ張れよw。
452 :
774ワット発電中さん:2008/04/21(月) 01:52:26 ID:YsCARj46
はいはい
見苦しいからそれ以上アホを晒すなwww
> 見苦しいからそれ以上アホを晒すなwww
だから、それが荒らしだって。
> アホを晒すな
どの辺?賢いとこ見せてよ。
dsPICのSPDIPパッケージタイプはI2CとPGC、UART、SPIが同じ
ピンに搭載されてるけど、PICkit2挿したままだとI2C通信が上手くいかなかった・・・。
デバッグ毎にICSP外して、動作確認しないといけないのでしょうか?
誰か、ICSP外さずに解決できる方法知ってる方居ませんか?
SPDIPタイプでI2CとかSPIとか別々のピンに割り当てられたdsPICでないかな。
456 :
774ワット発電中さん:2008/04/21(月) 03:00:38 ID:BV5Ay2Pe
>450
>452
君らが荒らしだ。ゴミレスするな。
なぜスルーできん。
>448は、まともなことも書いてるじゃん。
もれも、>447の質問は不要だと思うよ。
そうだそうだ!
そうか? 俺にはむしろ、
>>447の内容が分からないことには、正確な回答の
しようがないと思うが。
>>444の質問内容からすると、回路構成と制御方法の両方を聞いてるわけだが、
メジャーな二次電池4種類だけを考慮するとしても、そのどれが対象なのかによって
取り得る選択肢は全然違う。対象が決まれば選択肢は狭まるが、それでも1種類に
固定されるわけじゃない。
例えば充電電流を不連続なパルス性にするか連続的なものにするかによっても回路は
変わるし、それに合わせて制御方法も変わってくる。極端な話、反応速度の
要請次第では、十分高速なマイコンならソフトでできることでもPICでは速度が
足りなくてハード側で対応しないといけない事態もあり得る。
まさか考えられる回路構成・制御方法をすべて列挙するわけにもいかんだろうし、
>>444の求める目標が明らかにならんことには、
>>444の求める回答はできんだろ。
すみません。 もう一つ質問させてください。
C30で1バイトのバイナリデータを2文字分のアスキーコードに変換するにはどうすれば良いでしょうか?
0xA1[Binary] → 0x41, 0x31[Ascii code]
自分で関数作らないとダメでしょうか?
>>459 こんなんじゃだめ?変数は勝手につけた。
入力data 出力outdata1,outdata2
if( (data
>>4) > 9 ) outdata1=( 'A' - 10 + (data
>>4) );
else outdata1=( '0' + (data
>>4) );
if( (data&0x0F) > 9 ) outdata2=( 'A' - 10 + (data&0x0F) );
else outdata2=( '0' + (data&0x0F) );
>>459 sprintf()関数で医院じゃね?
sprintf(outbuf, "%X", data);
>>459 char *hex = "0123456789ABCDEF";
u = hex[data >> 4];
l = hex[data & 0x0f];
とか。
>>460のほうがコンパクトかな…
>>461 printf関数の類はメモリを大量に消費するので自作したほうがよい。
>>462 >printf関数の類はメモリを大量に消費するので自作したほうがよい。
コンパイラによっては、printf関数の類はメモリを大量に消費する場合があるので、
どれだけメモリを消費するか事前に確認したほうがよい。
賢いコンパイラはprintf等で実際に使用されているフォーマット文字列を処理するのに
最小限必要なコードだけをリンクするので、コードを自作するのと比較してそれほど
大量にメモリを必要としない場合がある。ライブラリ関数はアセンブラ記述の場合も
あるので、むしろ自作より小さい場合もあり得る。
464 :
459:2008/04/21(月) 12:30:49 ID:UE6n+hXZ
>>460,461,462,463
レスありがとうございます。今日、それぞれの方法で実験してみようと思います。
sprintf()はメモリの問題を気にしなければ、最強っぽいですね。
465 :
774ワット発電中さん:2008/04/21(月) 16:44:35 ID:G1mBryCX
秋月ライター生活に疲れて、ICD2 を入手しようとし思っているのですが、
ヤフオクをみると2万円程度で落札できるようです。
これってお得でしょうか?
ショップの通販だと、3万円近くするところしか見つからないのですが、
探し方が悪いのかなと思って。
今熱いのはPICkit2
>>465 microchipのバーゲンを待つのがいい。
終わってしまったばかりだけど、またやるだろう。
自分は半額で購入。
microchipDIRECTで買っても2万くらいだな。US$160(+$15,送料)
469 :
444:2008/04/21(月) 20:18:08 ID:M7IjveyJ
皆さんたくさんレスありがとです。
教えてもらったリンクで勉強してきます。
秋月のROMライタを使っているのですが、
今回VISTAモデルを購入し、シリアルポートがないことに気づきました。
USBで接続して使う方法を模索しているのですが、
USBシリアル変換にするか、新たにUSB用のROMライタを買うか、思案しています。
ここの方々はどうされているのか、アドバイスを頂けたらと思います。
どっちでもいいけど、最小の出費で済ませるならUSBシリアル変換だろうね。
472 :
774ワット発電中さん:2008/04/21(月) 21:40:13 ID:Nl/cbEZI
諸々考えると、Pickit2がおすすめ。
軽石こと近藤@日湘ですもお勧め(^o^)
デバッグ機能や先々考えるとPicKit2に1票かな。
秋月のは知らないけど、ハンドシェーク信号を使ってるアプリではトラブルおきがち。
秋月、新デバイスに対応してくれる人材いないみたいだし。
>474
昨日から屑レス粘着荒らしの軽石団は失せろボケ!
476 :
774ワット発電中さん:2008/04/21(月) 22:42:43 ID:842SKuOF
まあ、Pickit2でしょうね。
i2cアナライザになるとの噂もあるし
>>475 荒らしはスルー汁!
なんでID:qIjPKqHhはこんなに必死なの?
479 :
774ワット発電中さん:2008/04/21(月) 23:28:04 ID:0NVY3Juv
最近PICを触りだした者です。
今PIC16F84Aを使ってLEDの制御を試みてるんですが、8つのLEDの制御をしてみました。
8ビットのマイコンでもっと多くのLEDを制御する方法はありますか?
16ビットのマイコンを使えば16個まで制御できるんだろうけど、
もっと多く制御する方法を知りたいです。(トランジスタで増幅させるとかそういう意味ではないです。)
30個くらい制御できればいいんですが…。
シフトレジスタとか、マトリクスとか
PORTA PORTB .......
30個なら出力ポート6個で制御できるよ。
http://xcrosgs2wy.web.fc2.com/picclock/ ↑のやり方だとポート5個で30個だけど、D21からD30の点灯でちょっと無理をしている。
ポート6個にすれば無理なく30個制御できる。
ただし、ポートの駆動能力で同時点灯できる数が制限されるから、その分、
ダイナミック駆動のデューティ比が小さくなって、暗くなる。
明るくするには、トランジスタ等で電流増幅してLEDに流す電流を増やすか、
同時点灯数を増やしてデューティ比を上げるか、というところ。
>>479 マイコンのビット数と制御可能なLEDの数は関係ない。
8ビットでポート数が多いものもあれば16ビットでポート数が少ないものもある。
84Aでもっと多くのLEDを制御したいのであれば、ダイナミック点灯という方法がある。
検索すればすぐに出てくると思う。
アクセス時刻からすると夜型なのかしれないけど、粘着なのはあんただろうが。
レスポンスの速さはさすが粘着。
>電流値が固定ならば、安直に3端子レギュレータでやる方法も。
この方式を詳しくよろ。
>>444 こいつ自身が釣りじゃないか?
微妙にはずした質問してお祭り騒ぎがしたいだけだったりしてるかも。
とりあえずバッテリーの種類をはっきりさせてほしいね。
俺としては質問者の方式でええんでないかと思う。
486 :
774ワット発電中さん:2008/04/21(月) 23:52:49 ID:rqeHRMJA
>484
近藤@日湘さん、用語の使い方間違ってまつよw
> >電流値が固定ならば、安直に3端子レギュレータでやる方法も。
> この方式を詳しくよろ。
”三端子レギュレータ 定電流”でぐぐれ。
三端子レギュレータの動作を考えればわかる。
488 :
774ワット発電中さん:2008/04/21(月) 23:59:15 ID:rqeHRMJA
>485
なんかねちねち。糸引いてまつよ。
クレクレしないでしらべおう。
高輝度LED点灯回路の定番の一つだよ。
490 :
774ワット発電中さん:2008/04/22(火) 00:04:40 ID:8zFv7KDf
>485 >489
ねちねちネチケット男、分身の術!
>487
後田びんに定電流を説いても無駄w
493 :
774ワット発電中さん:2008/04/22(火) 00:38:17 ID:nCqcuApS
WikiPediaのPICの欄をみて写真にビックリ。内容もちょっと古すぎ?
>プログラムコード用にフラッシュROMを備えたものもある。
>なお、バスは一切出力されていない。
ダメンジョン大発生中。
GW進行で徹夜仕事しているならまじめに仕事汁。
495 :
774ワット発電中さん:2008/04/22(火) 03:04:47 ID:4W4SETNV
MPLABでPICC使ってるんですけど、サンプルのdelay.hを使ったときうまく行きません。
#ifndef XTAL_FREQ
#define XTAL_FREQ 10MHZ
#endif
としているんですけどコンパイラは12MHZだと思い込んでいるようで
DelayUs(100)とすると20%くらい動作が遅く、120usくらいで実行され、
÷1.2 した値でDelayUs(83)とかすると100usピッタリの様です。
Enable assembler optimizationはチェックを入れて、それ以前よりもだいぶ
ましになって20%ズレまで来ました。
この先、どこら辺を調べれば良いでしょうか。アドバイス頂けたら幸いです。
496 :
479:2008/04/22(火) 08:24:29 ID:f7N+Ow35
ありがとうございます!
プログラムが大変そうだ〜;
頑張ってみます。
PICでUSB接続のオーディオDACを作りたいのですが正確にCLK、LRCLK、WCLK、DATAを吐かせるにはどのようにしたらいいですか?
タイマではイベント発生時にその都度タイマをかけなおすためタイムラグが発生すると思うのですがアセンブラでコマンド数を調べて微調整する以外方法は無いのでしょうか?
499 :
774ワット発電中さん:2008/04/22(火) 13:34:22 ID:u+dypSdS
>>495 そんなもんだよ。ソフトタイマーなんて。
MPLABのストップウォッチ機能をつかって、
DelayUsの間を測って、数値を微調整する。
数値は1〜255
続けたい場合は、何段も書けばOK
正確なものが必要なら、timerを使う。
>>497 タイマを掛け直さなければタイムラグは発生しない。
>>495 DelayUs(x)の定義はこうなっているらしい。
#define MHZ *1000L /* number of kHz in a MHz */
#define DelayUs(x) { unsigned char _dcnt; ?
_dcnt = (x)/((12MHZ)/(XTAL_FREQ))|1; ?
while(--_dcnt != 0) ?
continue; }
そりゃ10MHZを指定しても12MHZを指定しても同じになるわな。
_dcnt = (x)/((12MHZ)/(XTAL_FREQ))|1; ?
のところを
_dcnt = (x)*(XTAL_FREQ)/(12MHZ)|1; ?
と変更すれば、マシになるんでないかな。
>>497 タイムラグの問題が無くても、オーディオDACへの信号を
プログラム制御で吐かせるなんて多分ムリ。
UARTのような調歩同期式なら間に合わなくなっても調整出来るが、
オーディオDACの信号は完全同期式なので遅れは許されない。
信号が途切れたら、多分DACからポップノイズが出ると思われ
サンプリング周波数が低ければ出来るかもしれないが、
オーディオDACだと48kHzに対応する必要があるから、
ステレオ16ビットの場合のCLKは 48kHz*16*2=1.536MHz になる。
>>502 その例で言えば、32クロックの周期が正確に48KHzでさえあれば、CLKは正確に
1.536MHzである必要のない場合がほとんど。
48kHzならばタイマ割り込みでも十分に扱える範囲。48kHz周期で、32ビット分の
データをDACデバイスの仕様が許す範囲内の適当な速度で送出すればよい。
音質求めるなら専用のDAIを挟むべきだな
505 :
774ワット発電中さん:2008/04/22(火) 18:53:03 ID:NoHDgYlt
DACの出力レジスタに、FIFOレジスタなり、ダブルバッファが
入っていれば、タイマで割込による駆動でも、バッファが空に
なる前に次のサンプリングデータが入っていれば問題ない
だろ?
>>502 > オーディオDACだと48kHzに対応する必要があるから、
> ステレオ16ビットの場合のCLKは 48kHz*16*2=1.536MHz になる。
1.536MHzは何のクロックで? データ転送レートのつもり?
正誤はともかくステレオだから×2はいいとして、×16している
理由は?
48kHz(約20,8μ秒)間隔で、2バイト(16bitデータ)を2つ(ステレオ)
出力すればよいだけでは?
メモリ空間が狭いのは置いといて、チャンネル間で転送チェイン
できる16bit対応のDMACがあれば、CPUの処理はDMAC設定
だけで済むので8bit CPUでもいける気がする。
>>505 /
ぷちっ /
∩___∩ . 从 /
| ノ ヽ /
/ ● ● | (=)ヽし
| ( _●_) ミ/ ` ノ
彡、 |∪| ノ /
/ ヽノ / ノノ
/ /
/ /
>>505 ムシャ |
ムシャ |
∩___∩ | ぷらぷら
| ノ ヽ. (( |
/ ● ● | J ))
. (( | ( _●_) ミ ・
彡、 |∪}=) ,ノ ∴
/ ヽ/^ヽ ヽ 。
| ヽ \ |
>>497 は「PICで」って書いてるのに、なんでDMAが出てくるんだ?
釣られてやろう。
DMAC持ったPICもある。
誰がどの品種を推しても構わんが、
>>497は
>PICでUSB接続のオーディオDACを作りたいのですが
と書いてるから、俺はUSB I/Fの入ってないPICを推す気はない。
PIC18Fでやろうとすると、48kHz・16ビット・2chだとしてもタイミングがギリギリ。
PIC24Fなら、96kHz・24ビット・2chまでは何とかなりそう。
どっちにしても、いちばん大変なのはDACへのデータ送出じゃなくてレートマッチング
なんだが。USBで受信する(PCが送信してくる)オーディオデータの転送速度と、
PICからDACに送信するデータの転送速度は微妙にずれる。そのずれをどうやって
吸収するかのほうが問題。詳しくはwww.usb.orgあたりのドキュメントでも
読み漁ってくれ
>>497
>>497 ソフトだけだとちょっと苦しいな、1つの信号だけを制御すればいいのなら
SPI を無理矢理使うなりでしのぐ手はあるけど、CLK, LRCLK, WCLK, DATA
みたいに複数の信号ラインを同期して出力するのは多分無理。
>>508 のように専用 I/F 付の奴を使うか、小規模な FPGA で回路組んだ方が
いいと思う。
ところで、USB 側はどうしてるんだ?
て言うか、PIC のどのシリーズ使おうとしてるんだよ。
511 :
774ワット発電中さん:2008/04/22(火) 22:48:17 ID:IGlwhB/a
>>497 は「PICで」って書いてるのに、なんでなDMAが出てくるんだ?
それは、半可通王子の近藤@日シ相さんが、ググってコピペな回答だからだ。
いいんだよ。
電気スレの掃きだめなんだからwwww
513 :
774ワット発電中さん:2008/04/22(火) 22:52:27 ID:p1LXykPS
ここで軽石とか近藤とか言ってるやつ、はっきり言って頭おかしいよ
>>513 当人以外みんな分かってる。あぼん指定して放置しとけ。
516 :
774ワット発電中さん:2008/04/22(火) 23:37:53 ID:uRLr7MNA
うん、なんで敢えてPICなのかと。
このスレならではの発想だな。
まー軽石がベテラン面してた石だし。
517 :
774ワット発電中さん:2008/04/23(水) 02:28:08 ID:NoSydybZ
最初にICSPで「USBやシリアルでPCから暗号化されたプログラムを受信し、復号して自己書き込み
機能でプログラムメモリに書き込む」プログラムをPICの最初の方のアドレスにコードプロテクトで
書き込んで、その後PCに接続して暗号化されたプログラムをPICに転送するのってあり?これだと
エンドユーザーにコードを見られる事無く、エンドユーザーサイドでファームアップができると思う。
518 :
495:2008/04/23(水) 02:33:24 ID:pnHnAEyb
>>501 ありがとうございました、無事解決しましたm(__)m
もちろんあり。ごくありふれた方法。
520 :
774ワット発電中さん:2008/04/23(水) 02:49:30 ID:UpuTv4NW
問題はPICで復号できる程度の暗号などその気になればあっさり解読されてしまうだろうという点。命令数も36(だっけ?)しかないから手がかり見つけやすそう。
メモリと時間に制約がないならメモリ容量最大まで複雑にすればそこそこの強度にはなりそうな希ガス
ファームのバージョンアップを必ず1ステップずつに制限してよいなら
(たとえば、v1.0⇒v1.1⇒v1.2⇒v2.0は許すが、v1.0⇒v2.0は許さない)、
PICのフラッシュに書き込まれた現行ファームそのものを復号化キーにすることで、
平文長とキー長が同じになり、メモリと時間をケチっても実質的に解読不能
(総当りと同等程度)の暗号強度が実現できる。
上の例でv1.0⇒v2.0等も許すようにしてしまうと、同じ平文を異なるキーで暗号化した
複数の暗号文が入手できてしまうので、暗号強度が落ちる。
>522
現行データと更新後のデータの差を送るというのはどうか。
アップデートは現行データに加算して上書きの繰り返し。
これがホントの差分データw
>>523 それは
>>522の実装の一例だな
ゼロフィルを使わないように注意すれば、それだけでおおむねおk
525 :
774ワット発電中さん:2008/04/24(木) 00:06:32 ID:pEVPI4zo
526 :
774ワット発電中さん:2008/04/24(木) 00:23:02 ID:Yh2JU/k1
>525
RCDとか100円単位のセコいプログラマー使ってる住人のスレで、あまりにも無体な相談。
528 :
774ワット発電中さん:2008/04/24(木) 01:07:54 ID:7QTB75VX
マイクロソフトのc18とc30の大きな違いを是非教えてください。
>>527 最もな話だとは思うけど、変なURLを貼るのはやめよう。
>>528 マイクロソフト?
マイクロチップのC18とC30は対象としているチップが違う。
530 :
>>529:2008/04/24(木) 01:23:26 ID:vR2nN85n
×最もな
○尤もな
>>525 dsPIC30Fで商品開発? 仕事なら表面実装でも問題ないだろうから、
ほとんどの場合はdsPIC33Fの方がオススメだよ。
dsPIC30Fは消費電力がデカ過ぎるので、フルスピードでは使い難い。
dsPIC33Fの方が低消費電力で演算速度が速くDMA機能があり価格も安い。
dsPIC30Fの方が優位なのはEEPROM内蔵の品種がある位かな?
DIPの品種が豊富という事もあるけど、仕事なら関係無いよな。
12F675のADCって、VREFをVDDにしておけば、VSS〜VDDが0〜1023に変換される
ということでいいんでしょうか。
533 :
774ワット発電中さん:2008/04/24(木) 07:22:21 ID:7QTB75VX
>>532 そうです。しかし、1LSBの精度を出すには、電源設計やサンプリング方法に工夫が必要です。
例えば、AD変換中はスリープさせてAD変換終了割り込みでwakeupさせるようにするとかすれば
かなりの精度が出せます。単純ADはそのままでもまあ8〜9bit位の精度は
出ますので、用途に応じて設計してみたらどうでしょうか。
ありがと。
内蔵のコンパレータとか一般的なオペアンプとか、電源電圧まで使えないものが
多いから、なんか心配だったんで。
>>531 5V系で使用、0〜5VをAD変換、EEPROM必須、なるべく部品削りたい、で30Fのほうにしました。
>535
ナットク。 消費電力や発熱は問題ないんだね。
537 :
774ワット発電中さん:2008/04/24(木) 16:43:42 ID:Kx8kgKJ3
> 変なURLを貼るのはやめよう。
如何わしいサイト呼ばわりされて、軽さんカワイソソス。
いかがわしいサイトとはこういうサイトのことだろ
www.genpin.com
>>535 問題ないわけではない
ただ、部品の数は動作前に分かるが、消費電力、発熱の悪影響はやってみないとわからないから
考えるのを後回しにしただけ
いちおう、保険として33Fでも回路図ひいてる
問題が出たらこっちを試すつもり
>>533 単調性とかどうなの?
モータ制御用だと、結構適当だったり。
>>540 データシート上のスペックの話なら、どれも単調性は保証してたはず。
542 :
774ワット発電中さん:2008/04/25(金) 02:20:22 ID:oaAWsWX/
へんな書きこみ大嫌い。
くだらない。反応しないほうがいいと分かっているけど。書いてしまう。
でも、ここにいい人たちがいっぱいあるからこのスレッド維持できてるんだよな。
いつもお世話になってますよ。
切磋琢磨で宜しくお願いいたします。
543 :
774ワット発電中さん:2008/04/25(金) 08:27:34 ID:ALjYBOwY
>542
善人面した荒らしだな。
なに考えてんだか。バカ。
荒らしと認識している書き込みにレスするお前って...
なに考えてんだか。バカ。
545 :
774ワット発電中さん:2008/04/25(金) 22:29:24 ID:F6vuACkP
だから>544は、最強すげー馬鹿。
(∩´∀`)∩ワーイ
547 :
774ワット発電中さん:2008/04/26(土) 01:12:10 ID:vDD0j/vt
> 542
ソフト荒らしって感じだよ。
語気はソフトに荒らしを行い、ゴミレスを誘う。
すばらしいよ、スレがゴミのようだ。
普通に雑談でいいだろwww
549 :
774ワット発電中さん:2008/04/26(土) 12:27:43 ID:g37u46ZQ
中に入れて書き込むタイプだよな。
>511
荒らしやめろよぉ。
うむ・・・雑談スレだと思えば何でもアリだな
所詮PICスレだからなんでもありだよな
555ゲト
556 :
774ワット発電中さん:2008/04/26(土) 21:47:27 ID:/aqPUhPw
NE555は偉大なんだぞ
>>556 NE556の記事も載ってるな。
というわけで556も購入義務発生
すみません、質問させてくだしあ。
PIC12F675を購入し、JDMライタを作成し、ネット上で見つけたプログラム等で遊んでいました。
プログラムも自作しようと思い、SDCCを用いてプログラムを書いたのですが、
PICに書き込むと、それ以降、書き込みが反映されず、また、
読み込むと中身が3FFFで埋まっているように見えるようになってしまい、
PICが使えなくなってしまいました。
いろいろ調べた所、configビットに3f84と書いてしまたのが原因かなと思っています。
この状態から復帰する事はできないのでしょうか?
使用したJDMライタは下記のサイトにあった遅延回路つきの物です。
http://www.geocities.co.jp/NatureLand-Sky/8265/ よろしくお願いします。
560 :
774ワット発電中さん:2008/04/27(日) 14:17:44 ID:urHoi2SN
561 :
774ワット発電中さん:2008/04/27(日) 17:02:05 ID:+TIfh2zp
なんでライタをケチろうとするのかな…
ライタしか作るもの無いし
563 :
774ワット発電中さん:2008/04/27(日) 17:12:00 ID:ams1jAwm
564 :
774ワット発電中さん:2008/04/27(日) 17:41:31 ID:NdLJABXZ
>>563 乗り換えを勧めるならPICkit2のほうが
> 乗り換えを勧めるならPICkit2のほうが
それができる人は、最初からJDM.をえらばない(ry
AKI−PICプログラマー Ver.4 今日届きました。これからよろしくお願いします。
>>559 素直に標準回路に戻して、PICprog4uでも使いなさい。
書き込める環境ができたら、一つ一つやりたいこと(ライタソフトを
作るとか)をすればいい。
>>560 それを見て、「Vddの遅延回路をとりつけたJDMプログラマでの対処方法」を試してみたのですが、
復旧しませんでした、また、読み込めるデータが3fffである事もあり、
微妙に症状が違うようです。
Writer509への乗り変えも検討しておきます。
ありがとうございます。
>>563 リンク先にもあります通り、AVRはドキュメントリソースが不足していると思います。
リンク先では、データシートの和訳やまとめWikiの存在を示し、
今後ドキュメントの整備が進む事を示唆していますが、現在不足している事は覆せない事実ではないかと思います。
>>559 ご指摘ありがとうございます。試してみます。
ところで、PICprog4uを使うとどういう理由でPICが復活するのでしょうか?
>568
>今後ドキュメントの整備が進む事を示唆していますが、現在不足している事は覆せない事実ではないかと思います。
「不足している」訳ではない、「充実していない」のは事実だけど。
和訳データシートとAVR WikiとELM(
http://elm-chan.org/)で、基本的には足りる。
プログラムを自作せず、公開された作例をそのままコピーしたり小改良だけで
済まそうとする場合は、PICになるだろうケドね。
ドキュメント不足してるって言われて Wiki とか個人の HP 出す奴って...
英語が問題なければアトメルの Technical Documents だけで十分だけどね。
もしかして「書籍」の意味?
572 :
774ワット発電中さん:2008/04/27(日) 22:20:53 ID:YCQ2Rsh+
ちゃんとしたプログラマだらけで、ちゃんと動いちゃうAVRはつまんね。
PCのポートか、プログラマか、はたまた実はbugとか、渾然一体な状況でデバッグするのが、PIC最大の楽しみじゃないか。
>559が、まともなプログラマをスルーしてることでも明白だろ。
AVRはほんと本もいらなくて日本語データシートと個人のサイト見ればわかるからな。
PICは書籍とかは多いけど内部構造のマゾさとアセンブラでの命令の少なさとコンパイラのバグに泣ける。
574 :
774ワット発電中さん:2008/04/28(月) 01:10:30 ID:65HiVe4I
MPLAB8.10がでたお
えーーと、RA0とRA4がどうしたこうしたの辺りを誰か解説してくれないか?
PICのアセンブラは変態的というけれど、
例えば比較命令で0か1でしかできないから、ある変数の値が7になっているかとか、
そういうのもAVRならできるのかな?
>>576 おれ、現役でアセンブラやってたのは、大昔だから忘れたけれど、
他の石は一発でやれなかったかな?
例えば、comp a,'111'bみたくさ。
SATAのHDDからwav+cueにリッピングしたオーディオCDのデータを再生できる装置を作ろうと考えているのですが
dsPICで処理能力は間に合うでしょうか?
DACはシリアル方式の外部のものを使う予定ですがコンパクトに仕上げたいのでDAIはできればプログラムで実現させたいと考えています
>>577 12, 16, 18 シリーズには、リテラルデータとの直接比較命令は無いな。
dsPIC30 にあるのを確認したが、符号付き 5bit まで。
他の主 8 bit CPU だと、
AVR あり
78K0S あり
PSoC あり
H8 わかんね
12, 16, 18 シリーズだと、W 非破壊って訳には出来ないね。
>>578 ・・・SATA と dsPIC をどうやって繋げるんだ?
>578
買ったほうが安くね?
あと、SATAのデシリアライズはどするの?
SATA-IDE変換アダプタをかませて制御すれば桶。
>>583 無線LANカード挿せて、2chビューア付いてるなら\7,980でも買うのに
578です
レスありがとうございます
なぜHDDプレイヤーを自作しようと思っているかと言うと市販の物ではDACやアンプ部の音質がイマイチだからです
SATAとしたのは部屋の中での利用だけではなく車載を想定しているので耐震性のある2.5インチのものを選ぶと容量の大きなものは現状としてSATAしか市場に無さそうだったからです
ご指摘があったのでSATAの規格について少し調べてみましたが扱いが面倒そうなので変換アダプタを介すなりIDEに変更しようと思います
それとプレイヤー物の自作例を見ているとFATやFAT32を採用しているものがほとんどのようですがNTFSやEXT2,3のフォーマットを扱うのは難しいのでしょうか?
耐震性のないHDDなんかよかラフに扱えるSDかCFかSSDでも使った方がいい気がする。
非圧縮の16Bit44.1kHzを入れるとなると半導体じゃ多分容量不足だろうな
2.5なら3.5に比べりゃ遥かに振動に強いし高耐久モデルもあるよ
結構難しそうだが出来たらレポよろ
ノートPC+USBDACでいいじゃん
USBDAC位ならdsPICで十分いけると思うぜ?
まぁドライバの開発が面倒そうだけどな
あーそれよいね。とっかかりに。
標準ドライバ?使った作例あったぞ。
>>588 非圧縮でも64GBのSSDならそこそこつかえるだろ
SSDとか高杉
それに大した転送速度要らないのにSSDは勿体無いだろ…常考
そういや自宅鯖内のSambaで共有してるMP3群を無線LANで再生できるプレイヤを作ろうとして
部品は集めたのに2年近く放置プレイしてるのを思い出した…
てかSSDならIDEかSATAだからHDDとかわらん。
正直ここで質問するような人が無圧縮waveを生かせるほどローノイズなDACの周辺回路を組めるとは思えないんだが。
騒音だらけの車載使用でそこまで音質にこだわるのもよくわからんし。
純然に趣味か妄想だろ。
重要なのは「ローノイズなDACの周辺回路」なのに、ADC の型版も出さずに
dsPIC 云々言ってるところ見ると妄想に一票。
595 :
774ワット発電中さん:2008/04/29(火) 22:44:28 ID:Zw0PIW8B
超初心者なんですが、こんな事できますか?
↓こんなこと
5Vのパルスが100個入ったら1個出力する、
50個入ったら1個出力する
70個入ったら、1個出力する
こんなの簡単にできるんでしょうか・・・・・
教えてくださいませ エロい人
仕様書は明確にw
597 :
774ワット発電中さん:2008/04/29(火) 22:47:35 ID:Zw0PIW8B
おお!!
今一生懸命仕様書書いてます
10分ほど お待ちくださいませ
教えられるけどエロく無いので教えられない。
>>595 入力パルスが高周波だと外付け部品が必要だろうな。
601 :
774ワット発電中さん:2008/04/29(火) 23:03:56 ID:Zw0PIW8B
仕様
電源電圧14.4V(電源回路は自分で作れます)
入力 5Vパルス 最大1sec/10,000パルス 最小1sec/1パルス
出力 5Vパルス
入力:出力比 300:1 200:1 150:1 100:1 75:1 50:1 25:1 7種類
入出力比は選択式
パルス入力の無い時は、出力しない。
用途
車の速度パルスを所定の入出力比によって除算する。
こんなの簡単に作れるもんでしょうか?
入出力比は所定の1種類のみでもかまいません。
1から順にカウントしていき、3の付く数字と3の倍数の時だけ
アホになるってのも出来るね。
>>602 どうやら俺もエロイひとだったらしい。
>>601 PICスレに書き込んでいるからPICでやろうとしてるんだよな?
プログラム次第だから分周なんて簡単。
まぁ勉強しろ。
JISかなんかで車速は 637パルス/kmって規定があるけど
それは知ってるのかな
606 :
774ワット発電中さん:2008/04/29(火) 23:37:57 ID:Zw0PIW8B
>>604 フリップフロップで分周回路を組めばよいのですね。
PICで簡単にできるということですね、明日部品買ってきて
がんばってみます。
>>605 すみませぬ、それは知りませんでした。
取り付ける車両は2輪車なのです。
車の場合、タイヤ1回転ぐらいで1パルスということは知ってはいたいのですが
2輪の場合は、タイヤ1回転で100パルス程出るので
ナビにパルスを突っ込むと、
パルスが多すぎてナビがバカになってしまうので、
パルスを減らしたいんです・・・・
PICでもいいけど
1/2^n カウンターであれば TC4040 あたりが楽でないか
>>606 ちなみにフリップフロップはいらんぞ。PICだけでよい。
それとナビ次第だがパルス数は学習しないか?
しばらく走るとパルス数と実際の距離を自動補正すると思うが・・・
多すぎて駄目なのか?
609 :
774ワット発電中さん:2008/04/30(水) 00:02:54 ID:aBZEdH+o
611 :
774ワット発電中さん:2008/04/30(水) 00:15:58 ID:aBZEdH+o
>>610 いろいろ考えてくれてありがとうございます
ナビには必ず5Vパルスを入れてやら無くてはいけないので
それと、時速300キロまで耐えようにしないといけないので
たぶん、回転部分のどっかに接触させてカウントさせると
スイッチが壊れてしまいます。
>>611 自転車の場合はスポークに磁石つけて、それをカウントだよ。
接触はしてない。(もっともセンシング側はカチカチいってたりするがw)
613 :
774ワット発電中さん:2008/04/30(水) 00:19:06 ID:aBZEdH+o
どうもエロ人達 ありがとう
いろんなヒントがありました。
今日はこれにて寝ますです。
Thanxxxxx!!!!!!!!!!
614 :
774ワット発電中さん:2008/04/30(水) 00:24:04 ID:aBZEdH+o
>>612 おー なるほど
磁石ですか!! ママチャリの3段変速の磁石と一緒ですね
しかし、ホイールに磁石(おもり)をつけると、回転バランスが崩れるので
危険でできません。
ホイールのボルトにピックアップコイル接近させて回転をを拾うというやり方も考えましたが
波形が鈍ってしまうので、これも不採用にしました。
>>602 俺もエロい人だった OGC
>>601 簡単と言うか、昔なら
>>607 の言うように IC を数個使えば済む。
ただ、車載だと半田付けの個所が少ないに越したことないから 8pin
の PIC で頑張ると言う手もあるけど、そもそもライターとかの準備
は大丈夫なのか?
あと、PIC はタイマー周りの融通がいまいち利かない (外部入力を単
に設定値で分周して外部に出すことができない... 全型名見たわけ
じゃないのでそう言う奴があったらすまん、ついでに教えてくれ) の
で、スレチだけど、AVR の ATtiny2313 とかを使えばソフトは少し楽
できる。
まあ、所詮上限 10KHz なのでソフトで全部やっても十分なんだけど。
>>611 > 時速300キロ
マジで?
616 :
774ワット発電中さん:2008/04/30(水) 00:28:33 ID:aBZEdH+o
>>615 250キロは確実に出るので
300キロ位は耐えないと駄目なのですよ・・・・
どうもありがとう
とりあえず
>>601の仕様を満たしそうなのをAVRのTiny13で作ったけどスレ違いなので動作確認全くしないで寝てくる。
わざわざPICを使わなくても、4040とかTC9122一個で解決しないか?
それっぽいパルス・距離比になってたらナビが自動調整してくれるはずだけど。
>620
だよな。
公道で使用するなどとは一切
仕 様 書 に 書 か れ て い な い
www
ハードウエアを勧めている人もいるけど
趣味でオシロがないとノイズを食らった時に訳ワカメになっちゃうから
ありえないパルスをソフト的にリジェクト出来るという意味で
マイコンで分周というのは結構アリだと思う。
623 :
774ワット発電中さん:2008/04/30(水) 11:48:54 ID:7CbvRL43
おい、お前ら教えろ。
複数(10個くらい)のPICを全く同時に動かすにはどうすればいい?
同じ種類のPICに同じコードを入れて、夫々のPICの出力信号のエッジをピタリと
揃えたいのだが。
ダミーの信号を出しといて、それを監視して乱れたら即リセットする仕掛は必要け?
>>623 単一のクロックを全体に分配。
スタートのパルスも全体に分配。
クロック同一にしてPIC積み重ねればいいだろ
同期信号を入れれば一発だろ
遅延は考慮しとけ
>623
「同時」って言うことはせめてヨクト秒の単位で同期してなきゃだめだよな?
そんな無理だバカ。諦めろカス。
628 :
技術奴隷:2008/04/30(水) 15:29:41 ID:Msyf5sis
>>623 まず、同期される側のPIC全ての凡そ中央にドリルで穴を開ける。パッケージは硬いので超鋼ドリルがお勧めだ。
次に、全てのPICの足をパラに接続する。
ちなみに同期される側はプログラムしなくて良いし、接続した後でもISP出来る。どうだ、簡単だろ?
>>623 ・外部から同期信号とクロックを供給する。
・PLLを持った品種では、PLLを使わない設定する。(でないと内部クロックの
位相が揃わない。)
・命令実行サイクルの位相を揃えるため、いったん全部Sleepに入れておいて、
外部からの同期信号で一斉にWakeupさせる。
>629 同期すべきすべてのPICが同じ基板上にあるのか? 互いに10kmはなれた場所にあるかも知れんぞ
どんな用途なんだろう
>>623 リセット/Sleep 解除のどっちで同期させるにしても、その信号をクロックに
同期させておかないと1クロックずれてしまうことがあるので注意が必要。
もしかしてクイズの早押し器か?
いやいや、広域地震観測システムかも試練
火星探査機と地上の予備を全く同じに動かしたいのだろう。
637 :
のうし:2008/04/30(水) 21:00:17 ID:sVpj1U9+
尊師の脳波と‥ なんてヘッドギアがあったらすぃ。
100万くらいしたとか。
ちなみに当時のPICはnMOSだったっけ?
638 :
559:2008/05/01(木) 00:23:39 ID:8c0Tn3zs
一昨日質問させていただいた
>>559 でし。
>>567 様の勧めの通り、標準回路との切り替えスイッチを用意し、
PICprog4uを使い、消去と書き込みを繰り返したところ、
使える状態に復帰しました。
なぜ復活したの理解できません。お分かりの方ご教授願えればと思います。
また、
>>560 様他の人の勧めの通り、Writer509に乗り換えようと思います。
お騒がせしました。
>>630 10Kmも離れたら同時性の定義が必要かも
A地点とB地点の光の伝達時間は33μsなので
40MHzのMPUで1333サイクルも異なるよね。
で、同時って何?
A地点とB地点の中間点で光を放出し
届いた時刻を0とするの?
3点以上あったらどうするの?
なんで光の速度が関係するんだ?
641 :
774ワット発電中さん:2008/05/01(木) 10:11:44 ID:DIG/Sw8n
スパゲティ・ナポリタンのコピペ話思い出したw
642 :
774ワット発電中さん:2008/05/01(木) 11:56:50 ID:w9SIDd8s
>632
きまってるだろ。6軸の同時読み出しだよ。
並の奴らなら簡単なSHカマシテ済ますだろうけどな。
漏れはそんな小細工はゲイン別での読み込みの為に使う。
PICを同時くケーブルで結んだらどうだろう?
16bitPICは中毒性があるな。一度使ったら、もう8bitに戻れなくなった。
たしかに10F〜16FのPICは変態だからな、AVR使い出したらPICで作ること無くなって秋月で買いだめした12F675と16F88が使われないまま何年も残ってる。
AVRは消費電流でかい&プログラムメモリ浪費だとおも
PICが変態なのはそこら辺を克服するためじゃね?
>AVRは消費電流でかい
PICはAVRの1/4の速度だから、AVRのクロックを1/4にしたときの
消費電流で比較しないとフェアじゃないと思う
16bitに乗り換えたのはいいのだが、アレもコレもと買い込んだチップどうしよ(w
でもこれで一つお利口になったよ。
「マイコンは必要なとき必要なだけ買え。」
それは言えてるな
俺も家に一度も使ってないマイコンをいろいろ死蔵してる
それは言えてるな
俺も家に一度も使ってないマイコン開発ツールをいろいろ死蔵してるorz
それ(ry
俺なんて数ページしか読んでない入門書とかいっぱいあるぞ。w
俺なんてPICのデータシート印刷して読んでないのがいっぱいあるぞw
パソコン上で確認で済ませてしまう。
>>642 > きまってるだろ。6軸の同時読み出しだよ。
仕様ぐらいちゃんと把握しようよ
>>623 >> 夫々のPICの出力信号のエッジを
w
でも俺の方が勝ってるな。
実は16C84の紙のデータシートを、
昔のクソ役に立たないOCRソフトに食わせて
ほとんど読めない状態のファイルがあるぞwwww
印刷したデータシートもあるけどな。表紙だけMDプリンタで
ケント紙に印刷してきれいに簡易製本して・・・
数回しか読んでない。w
>>651 俺なんて必要だと思って買ったがそのまま作りたい物ごと寝かせてるのとか(ry
>>654 あるあるwww
俺も過去何部か印刷したが、結局検索しやすいためにpdfの方で見るわwww
AVRの日本語版データシートになるとリンクされてる単語をクリックしたら目的のページに飛んでくれるから検索すらいらなくなってる。
だれかPICでも似たような日本語版データシート作ってくれw
今まで16f877動作していたのを16f877aに置き換えたら、電源オンから
走り出すまで4秒くらい掛かるようになってしまいました。
リセット関係で変更しなければならない事があるのでしょうか?
>>659 もしかして発振回路の起動が遅くなってしまっていることってないですかね。
PICの置き換えをしたことで、適切な定数が変わってしまうこともあるのではないかと思います。
PICじゃありませんが、時計用の水晶を使った回路をいくつか作ったところ起動時間がすごく
ばらついたことがありました。そのときは水晶まわりの定数の調整で改善しましたよ。
>>660 レスありがとうございます。
電源オン時に、タイマ値をクリアしてなかったので、走り出しのタイマのカウント値
が大きくて最初のタイマールーチンに届くのに時間が掛かってしまったようです。
イニシャライズルーチンでタイマ値をクリアする事で解決しました。
そう言えば16F84Aから16F88に移行したときもそんな現象がありました。
新しいデバイスになった事で電源オン時のRAMの状態が変わったのかな?
何れにしても私のプログラムミスでお手数お掛けしてすいませんでした。
>>661 単純な初期化忘れなら、同じデバイスでも初期値は異なる。
C言語のグローバル変数のように、最初から初期化してくれる
訳ではないので、初期状態を期待すること自体が誤り。
>>656 ちゃんとエラッタを確認してから製本しただろうな。
16C84とか16C74とか16C64とかあるよ。うちにも。
pdf、ひいてはPCのディスプレイをずっと見てると目が疲れるので、pdfでざっと眺めて、必要なところだけ印刷してる
液晶ディスプレイはCRTよりも目が疲れる気がする
>>661 単体の液晶モニターなら少し暗めにしつつ色温度下げる。さらにコントラストを少し上げるとGood。
>664
CRTの場合は、リフレッシュレートが低いと疲れる。理論上どうしてもチラついています。
LCDの場合は、発色の悪さやコントラスト比が低いのを明るさでごまかす設定(初期値)になっていると、
明るすぎて疲れる。
だまされたと思って>666の言うように調節して、「少し薄暗くて見難いなあ」と思う状態で
3日間くらい続けてみると、実は疲れにくいとなるかも。
自分のCRTのリフレッシュレートは120Hz、個人的には80Hz以上なら目が疲れなかった。
4000円はたけーよ
pickit 2 買っちまった
>>671 共立のも単なるアダプタやん。深土川からの送料込みでも共立より安い。
675 :
774ワット発電中さん:2008/05/02(金) 16:53:27 ID:Ma0+DlEN
677 :
774ワット発電中さん:2008/05/02(金) 18:23:57 ID:Ma0+DlEN
Pickit2にZIFソケットつけるより、ICクリップ5本つけたほうが便利だよ。
どんな配置にも対応できて自由度が高い。
ZIFソケットが便利なのは同じ種類のPICを何個も焼く場合だけでしょ?
間違いとかあるだろうから
ZIFソケット方式がいいな
>>670 西日本だとちらつく。立体視でもしない限り120Hzはいらんと思うぞ。
80Hz位にしとけ。
681 :
774ワット発電中さん:2008/05/03(土) 02:15:57 ID:H8FDFklm
>672
4000円 ハタケ!ってお前キョウリツ工作員?
682 :
774ワット発電中さん:2008/05/03(土) 09:21:37 ID:OYxPvVpW
MPLABっていつからCコンパイラと分離インストールになったの?
OS入れなおししたんで、MPLABも最新入れてみたら、C32しか入ってなくて驚いた
C30は2種類になってるし、フォルダ構成も変わってる
プロジェクト修正しないとだめだった
C18も別に入れなおし
684 :
774ワット発電中さん:2008/05/03(土) 23:59:59 ID:KW7GK+1O
駆るさんの次はダメンジョンかぁ。
GW真っ盛り。
もうageてやる!