【大人の】PIC専用のスレPart20【おもちゃ!】
秋月の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機能省かれてる
9 :
774ワット発電中さん :2008/06/04(水) 00:20:43 ID:6Gk4fx6T
8>> 参考になるです(^^♪
なんだか鬱だな。 どうして最初に秋月アセンブラに手を出してしまったんだろう。 また一から命令覚えなおしですわ。割り込み、タイマA/D ・・・使いたい機能いっぱいあるから時間がかかる。 いつになったら自作のツールに化けるのやら。
Cはだめか
>>10 命令が違うだけでレジスタアクセス手順は同じなんだから問題ないだろ。
てかMPASMくらいすぐおぼわるでそ。
D/A付きのPICは出ませんか? 出ませんね? ソウデスカ.....
16C620-642とやらに付いてたらしいんだが、フラッシュ版には無いっすよね?
しらないけどdsPICと言ってみる
>>15-16 ありがとう、dsPIC33Fに6種類見つけられました。
18 :
774ワット発電中さん :2008/06/04(水) 19:05:31 ID:Y9sHVOS9
このスレはPICで高機能な大人のおもちゃを作るスレなんですよね。 使用後に自分で洗面所まで歩いていって洗浄してくれるオナホールの開発をお願いします。
>>18 オイマテ、自動で洗浄のまえにまず、自動で上にまたがる機能
の方が先だろ。
スレ立てた奴キモイ死ね
無線板のジジイと同レベルだ。
いゃあ、みんな元気かい? この前、マルツのライターを買います
いゃあ、みんな元気かい? この前、マルツのライターを買いますた。 DsPICやることにしたのだけれど、秋月のは対応していなかったし、 そもそも、秋月のはバージョン3とか3.5とか4とかさ、 しかも上位互換でないから、必要に応じて基盤の抜き差しが必要だしな。 その点、マルツのは一つで、まぁ俺が使う石はすべて対応している。 しかも、基盤が小さい。難点は、遅いことだな。 でも、まぁいいではないか。一つで全部こなせるのだから。 まぁ、いまひとつマルツのがメジャーではないので、 ここに書いておきますた。
>>8 テンプレ入りは嬉しいのだが・・・
845 :774ワット発電中さん:2008/05/20(火) 01:08:15 ID:+m6DNryu
>>842 テンプレに入れませんか? 入れていいでしょ? 入れましょうよ。
あと、互換関係を見やすくしてもらえたら嬉しいです。
たとえば8ピンのはこんな感じとか。
2系統あって635だけなんか浮いてる、とか見えるし。
◎12F683 \150 2Kw 256 CMP ADC CCP T0 T1 T2 31kHz-8MHz
○12F675 \120 1Kw 128 CMP ADC ---- T0 T1 -- 4MHz
△12F629 \100 1Kw 128 CMP --- ---- T0 T1 -- 4MHz
△12F635 \120 1Kw 128 CMP --- ---- T0 T1 -- 31K-8MHz,KEELOQ
◎12F615 \100 1Kw --- CMP ADC ECCP T0 T1 T2 4MHzor8MHz
×12F609 \100 1Kw --- CMP --- ---- T0 T1 -- 4MHzor8MHz
846 :774ワット発電中さん:2008/05/20(火) 01:13:06 ID:q63FGAaU
12Cも欲しい
847 :774ワット発電中さん:2008/05/20(火) 15:57:53 ID:t66fGb/O
ぶっちゃけ初心者に薦めるのは24F一択でいいような気がするけど。
高いと言っても秋月で450円だし。
848 :774ワット発電中さん:2008/05/20(火) 16:54:43 ID:XZaSTKAf
参照できる資料の豊富さから言って12Fか16Fだな。
26 :
774ワット発電中さん :2008/06/04(水) 22:28:14 ID:53JHpePj
Part1の
>>1 ですがいつの間にやらPart20ですか!?!?
文句が変わってないのが素敵すぎですww
どなたかしらないけどAA素敵ですw
すいません、どなたか前スレのdatうpお願いできませんでしょうか?
Part19をどうすりゃいいの? うpろだにうpすればいいのけ?
>>24 microchip純正のpickit2でも買っとけば全種対応なのに、わざわざライター買うとは
∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵。∴∵
∴∵∴∵:。∴∵∴∵∴: --─- ∴∵∴∵∴∵∴∵
∴∵゜∴∵∴∵∴∵ (___ )(___ )
>>24 ∵。∴∵∴∵ ゜
∴∵∴∵∴:∵∴∵_ i/ = =ヽi ∴∵∴∵。∴∵∴
∴∵☆彡∴∵∵ //[|| 」 ||] ∴:∵∴∵∴∵:∴∵
∴∵∴∵∴∵ / ヘ | | ____,ヽ | | ∴:∵∴∵∴∵:∴∵
∴゚∴∵∴∵ /ヽ ノ ヽ__./ ∴∵∴∵:∴∵∴∵
∴∵∴∵ く / 三三三∠⌒> ∴:∵∴∵:∴∵
∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∵∴∵∴∵
∧∧ ∧∧ ∧∧ ∧∧
( )ゝ ( )ゝ( )ゝ( )ゝ 無茶しやがって・・・
i⌒ / i⌒ / i⌒ / i⌒ /
三 | 三 | 三 | 三 |
∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪
三三 三三 三三 三三
超簡易ロジアナ、シリアルインターフェースアナライザ機能もついてるし。 ICD2あるけど飼っちゃおうかな。安いし。
どこの?
え、Pickit2.
34 :
774ワット発電中さん :2008/06/05(木) 00:38:03 ID:CHJ/FMC0
REAL ICEのHIGH-SPEED Pak使ってるやついる? あれって8pinでDATとCLKって端子ついてるんだが、いまのとこつなぐ必要なし? いまから基板作るんだが、一応つないでおいたほうがいいのかな 初なんでよーわからん
初めてPICに手をつけてみたいんだが、PICって何ぞy(ry 目標としてはGPSの信号を解釈すること。 まずは何を勉強すればいいか教えてもらえるか?
とりあえずデータシートの読み方覚えれば良いと思うよ
>>36 とりあえず楽譜の読み方覚えれば良いと思うよ♪PIC PIC にしてやんよ♪
PICKIT2は基板に実装したのにも書けるらしいが、逆に、実装したのしか書けないよね? ライタっぽく使うには、ZIPソケット?とかついた基板を自作しなくてはいけない。 なら、はじめから、マルツのライターがいいな。遅いけど。 いやぁ、でもね、いつかpickit2を買う予定だけれどね。
普通PICKIT2の方が良い
オレも最初からPicquit2。
>microchip純正のpickit2でも買っとけば全種対応なのに 知らなかった・・・・・ほんと?
>40 実装した状態でのICSPを一度使ってデバッグしたら、もうZIFソケットで 書き込もうなんて気は二度と起きなくなると思うよ。 出来あいのプログラムをただ書き込むだけでデバッグ作業無いなら ZIFソケットでの書き込みでも不便は無いだろうけど。
チップが安くなっているので、ソケット代も結構バカにならないしな。
LCDに表示するぐらいであれば 検索すればあるよ
ネットだけでいけます 本を買うくらいならデータシートを印刷して眺めてるほうがマシです
>>47 >>48 基礎知識くらいならネットに載ってそうだから
限界を感じたら紙媒体に手を出すことにするよ。
分からなかったらここで聞くので( `・∀・´)ノヨロシク
分からなかったらまず試せ。聞くのはそれからだ。
AVRとPICはどっちがいいんだろう?
>52 真実を語れ。現実を直視しろ。
>>51 AVRはまともで、PICは変態だと よく聞く。
俺は変態だけどな( 。▽゚)
, '´  ̄ ̄ ` 、
i r-ー-┬-‐、i
| |,,_ _,{|
N| "゚'` {"゚`lリ
ト.i ,__''_ !
>>54 やらないか
/i/ l\ ー .イ|、
,.、-  ̄/ | l  ̄ / | |` ┬-、
/ ヽ. / ト-` 、ノ- | l l ヽ.
/ ∨ l |! | `> | i
/ |`二^> l. | | <__,| |
_| |.|-< \ i / ,イ____!/ \
.| {.| ` - 、 ,.---ァ^! | | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄l
__{ ___|└―ー/  ̄´ |ヽ |___ノ____________|
}/ -= ヽ__ - 'ヽ -‐ ,r'゙ l |
__f゙// ̄ ̄ _ -' |_____ ,. -  ̄ \____|
| | -  ̄ / | _ | ̄ ̄ ̄ ̄ / \  ̄|
___`\ __ / _l - ̄ l___ / , / ヽi___.|
 ̄ ̄ ̄ | _ 二 =〒  ̄ } ̄ / l | ! ̄ ̄|
_______l -ヾ ̄ l/ l| |___|
AVR ♥の動画記録 PIC 豚野郎
↑のAAは、人差し指と中指の間から親指が出ているのか?
親指を握り締めているんだよ。
ちょwwww阿部さんwwwwww何でこんな所にwwww
60 :
774ワット発電中さん :2008/06/06(金) 23:31:38 ID:p6DqEkue
なるべく少ないピンで複数のスイッチ入力回路を作りたいんだけど、 どうすればいいかな。 たとえば、12F675等のコンパレーターで −−−抵抗−−・−−抵抗−−・−−抵抗−−・ | | | スイッチ スイッチ スイッチ | | | −−−−−−−−−−−−−−−−−−−−−− こんな回路で抵抗値をうまく読み出せれば1pinで複数のスイッチを読み分け られると思うんだけどどうかなぁ。
>60 定番。おK。 リナザウ リモコンでぐぐれ。
どうせなら、、10キロオーム、47キロΩ、100キロΩ・・・ としてだ、110キロΩ相当の電圧だから、スイッチ1とスイッチ3がオンになったとか、やるのはどうかな? やったことないから、上手くいくかは知らんけれど。
>62 nキーロールオーバーもおk。
こんなとこでやねうが出てくるとは思わなんだ
>>65 ラダーD/Aだと、VCC,GND,OUTの三線必要になるのがネックだね。
でも、
>>60 の回路だとロールオーバーできない(あるスイッチをONにすると、そこで短絡されてそこから先のスイッチが検出できなくなる)ので、
スイッチと抵抗を直列に繋いだものをどんどん並列につなぐようにした方がいいのかな。
逆に、スイッチと抵抗を並列にしたものをどんどん直列につないでもいいけど。
69 :
60 :2008/06/09(月) 00:32:38 ID:cL9MJ3cm
>>61 ありがとう。
ぐぐったら、まるで僕がぱくったかのようなそっくりな回路図が出ててびっくりw
今のところ同時入力は考えてないのでとりあえずテスト回路を作ってプログラム
練習してみます。
コンパレーターはまだ使ったこと無いので(^^;
>>68 >60でも結局はGNDと電源は要るだろうて
ところでスレタイにある様にPICで大人のおもちゃを作ろうぜ ひとまず俺はこのすれが終わるまでにUSBオナホを完成させようと思う
仕様うp
ローターをPWMで強弱つけるか?www ゼロクロスの無接点リレーなんかと組み合わせてAC100の調光器つくって電マ制御でも良いかなwww
>>72 感電するなよー。
何て言って病院に行けばいいのか困るからな。
つ振動モーター
低周波 PIC PIC ピッ ピク どぴゅ
確かオートでピストンするオナホが売られてたはずだからそれと振動モーターをメカに使用し dsPICを用いてPCとUSBオーディオとして認識できるようにして声のリズムに合わせてピストンするようにしたらどうだろう? r'::::::::,:::::::::::::::::::::::\ 【USBオナホを実現させる会】に入会しませんか \::/::;;;:::::::::::::::::::::::::\ , ─ -v_;;. -─ ─ ── ─-、このオナホが実現すれば、パソコンにUSB接続して | , f-‐ ''_ .二 二二二 二._t 対応エロゲを立ち上げてペニスを挿入するだけで Y__,rYニニ -- ‐─ ──‐‐─`ー─‐-- 、画面のキャラクターが喘ぐんだよぉ♪ ,..‐Kノ,h;;::.,-rェ;ェエf7fv!Tl TiTit.、--':::::::::ノ キミの腰の動きに合わせて (:::::::::l::::ヽ.|l.|/,|l.1,!H、ト|` H┼I、l|l |l ト.-‐ ''´ わたしたちがアニメーションするの。 `,ニl:::::::::レl/!|lイh_ l|`` ,イrマ,イ| |l |レノ とっても素敵なアイテムでしょっ☆ く /|:::::::::レl.ィ!ll.l. ー‐' , kノハト,イレ:::::l / / !:::::::::|1l_l.|l.|ゝ"" (.ア ,仆!|::´:::::::| ゆっくり動かすと・・・じわじわと感じて、 └t. l l:::::::::N'::: N´ヽ`,,ーr t1リ::レ::::::::::: ! はげしく動かすと・・・失神とかもするんだよ☆ `ー弋:::::::`:::::::::ゝ ニァ@'ノ::、:::::::::::::::: ノ `ー、::::::: /:::::::,イ !ト`ヽ::ヽ:::::, ‐'´ わたしたちとバーチャルで繋がるから `ー1::::::└Ll_rー'::::::〉´ もう、即射精しちゃうよねっ☆ でも・・・USBオナホールは、まだ実現していないの・・・。 はやくみんなとエッチなことしたいなぁ・・・。 USBオナホールを実現させて次元を超えたSEXをしましょうねっ☆
機械的振動ではなく 電気的刺激でな
USBディルドーとか作れば、場所を越えた遠距離せくーすが可能になるのでは
腰にWiiのリモコンを装着
どこかで見た流れだなあ・・・w
83 :
774ワット発電中さん :2008/06/16(月) 01:46:10 ID:5i/QKCN/
USBマウスを少し改造すればオナホにならんか?w
84 :
774ワット発電中さん :2008/06/16(月) 02:29:42 ID:y7bDm+dq
高尚なPICスレが工口で埋め尽くされとるっ 嫌いじゃないし夢はあるんだが頼むから自重してくれ。誰だタイトルに大人の玩具とか書いた香具師はっ せめてインドアプレーンとかにしてよ
> 低周波 PIC PIC ピッ ピク どぴゅ サンコーレアモノショップに商品あるよー。 USB+マウス+EMSなダイエット器具だけど。 >84 どうしてPICユーザというのはスルーとかネタふりで正常化とかができないのか? 説教癖のある軽石頭ばかりなのか。
>説教癖のある軽石頭ばかりなのか。 いつも自己紹介乙です。
>86 みずからPICユーザはスルーできないことを証明してどうするwwww。
88 :
774ワット発電中さん :2008/06/16(月) 10:58:10 ID:Sz2flsSQ
>86 お舞みたいに、いちいち構うやつがいるからPICユーザーはアホって秋月スレでも言われちゃうんだよ。釣り耐性まるでなしのお子ちゃま集団。
さて、ここで電脳死さんの登場です、どうぞ〜
SDCCって18f2550対応? うまく動作しないんだが
91 :
774ワット発電中さん :2008/06/16(月) 19:26:37 ID:BBIf7tjV
バイブ作例まだー
PICで会話ができてセクロスもできるリアル二次嫁を作ってくれ
_,,....,,_ _ -''":::::::::::::::::`' 、 ヽ:::::::::::::::::::::::::::::\ |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ |::::ノ ヽ、ヽr-r'"´ (.__ _,.!イ_ _,.ヘーァ'二ハ二ヽ、へ,_7 ::::::rー''7コ-‐'"´ ; ', `ヽ/`7 r-'ァ'"´/ /! ハ ハ ! iヾ_ノ !イ´ ,' | /__,.!/ V 、!__ハ ,' ,ゝ `! !/レi' (ヒ_] ヒ_ン レ'i ノ _人人人人人人人人人人人人人人人_ ,' ノ !'" ,___, "' i .レ' > くつろいでいってね!!! < ( ,ハ ヽ _ン 人!  ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄ ,.ヘ,)、ハ )>,、 _____, ,.イ ハ―――― 、_ ( |ヘ,) `' ― '´ V __ ヽ、 / - 、 / ヽ/ /~ヽ l l l 。l / | | | | 。 ー´ノ / |、| | | |__ `ー - ´ ヽ〈/ / ( ノ | | ヽ / , /| l」l==~~~ |、| `ヽ 、 つ_/ |、└っ | | 〉 (:::):::) 〈_,、__3 | | / ノヽ | | | / l〈 〈 ヽ 〈 ノU l_|_l_l_リ `ー― ´
>>93 OK、精神的ブラクラゲット。
∧_∧
∧_∧ (´<_` ) 懐かしすぎるぜ俺ら。
( ´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ P I C / .| .|____
\/____/ (u ⊃
ぴーっく、ぴっくぴっく、ぴーっくかーーめらっ!
96 :
774ワット発電中さん :2008/06/18(水) 01:38:03 ID:YA4yH3Z2
質問なのですが、PIC18F2550をC言語でプログラミングしています。 コンパイラはmcc18.exeです。MPLAB上で作業しています。 char a[256]; とすると Error [1300] stack frame too large と表示されてコンパイル出来ませんでした。 SRAMは1024バイトあるので足りるとは思うのですが、 メモリーの動的確保はどうすればよいのでしょうか。
つ.lkr
梨花
99 :
質問者 :2008/06/18(水) 02:03:06 ID:YA4yH3Z2
// File: 18f2550.lkr // Sample linker script for the PIC18F2550 processor LIBPATH . FILES c018i.o FILES clib.lib FILES p18f2550.lib CODEPAGE NAME=page START=0x0 END=0x7FFF CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED ACCESSBANK NAME=accessram START=0x0 END=0x5F DATABANK NAME=gpr0 START=0x60 END=0xFF DATABANK NAME=gpr1 START=0x100 END=0x1FF DATABANK NAME=gpr2 START=0x200 END=0x2FF DATABANK NAME=gpr3 START=0x300 END=0x3FF DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED SECTION NAME=CONFIG ROM=config STACK SIZE=0x100 RAM=gpr3 これですね、それぞれいったい何を意味してるんでしょうか??
ググレカス
>>99 厳密には知らないけど、日本語に直訳するだけで大体の意味は分からない?
例えば
> ACCESSBANK NAME=accessram START=0x0 END=0x5F
アクセスバンク 名前:アクセスラム 開始:0x0 終了:0x5F
>>99 \MCC18\doc\hlpC18ug.chm の Managing the Software Stack の項
を見るといいだす。
でも個人的には,そんなでかいエリアは自動変数でなく静的に確保
した方がいいと思うだすが。
>>99 プログラムを組む前に、メモリ割り当ての記述方法とかを勉強しようぜ
趣味なら、先にプログラム組んで失敗して、それから勉強するほうが勉強時間が 短くて済むけどね。 しかし、いずれにしてもまずは自力で勉強しようぜ。その後、分かった部分を 挙げて分からない部分を質問。
>>96 PIC18Fではムリ、というかMCC18の制限か。
PIC24Fにすると解決する。
106 :
774ワット発電中さん :2008/06/18(水) 21:22:27 ID:hbNG9mU8
18F2550で512byteの配列確保してるけど、USBもちゃんと使えてる(仮想COMポートで) リンカでちゃんと確保して宣言するんだ かなり試行錯誤した覚えがあるが、最終的には使えた 今製品として動作してるんで間違いない
PICを使用した大人のおもちゃの作例まだ?
108 :
774ワット発電中さん :2008/06/19(木) 06:39:56 ID:2SpXTPwd
バーチャなやつばっかりで使えねえでやんのwwwww 質問者かわいそうwwwwwwww マイクロチップに質問したほうがもっと的確におしえてくれるよ。
110 :
774ワット発電中さん :2008/06/20(金) 00:22:52 ID:Z4k5S1wK
dsPIC30Fシリーズに内蔵されているA/Dコンバータは 0.1Hz〜20Hz帯域でも正しくサンプリングされますか?
111 :
774ワット発電中さん :2008/06/20(金) 07:48:16 ID:jCiQk+uE
>>110 なにをもって正しくといっているかが不明。
20ヘルツなら問題ないだろう。
サンプリング時間(安定時間も)がデータシートに事細かく書いてあるからそこを読めば
最大サンプリング時間が分かると思うんだが。
まずはデータシート嫁としかいいようがない。
>>107 つくるよ!!
俺が作る。
……秋月のWebを見ずにヤフオクで555買っちまった。
50個セットでお徳かと思ったが、秋月で買えば同数買っても700円も安いらしい……送料は入っているとはいえ欝だ…。
とりあえず555と10Fや12FのPICに何かモーターをつないで素人初心者が何が出来るか考えてみる。
シンクロナイズモーターとかステッピングモーターとドライバICを入れて電池はリポで充電式、さらにブルートゥースで制御するような妙に無駄使い的なのがいいな。
……幾らだよ、それ……orz
とりあえず来週から我が家でパーツ集めしてみる。
ちょうど今、東京おもちゃショウをやってるぞ。 一般客も入場無料。 参考にしてみては。
大人のおもちゃショーならサンプル目当てで行くんだがなぁ
PIC10F200-I/P
秋月見たらコレの安さが際立つんだけど
>>8 のテンプレではどういう位置づけになるんだろ
116 :
8 :2008/06/22(日) 05:01:18 ID:+xrWX1TT
>115 10F200はDIP品があるとは気がつかなかった、>8は12F,16F限定だし △10F200 \70 機能無し,1/4Kw,内蔵4MHz,EEPROM無し \100の615と比べて性能悪すぎる、値段以外のメリットが無し。 この品種は米粒パッケージ品に意義があり、この製品はそのデバッグ用と 考えるべき(それでも10F200より10F222の方がよいと思うが)
117 :
774ワット発電中さん :2008/06/22(日) 06:32:56 ID:jvG0DW2b
米粒パッケージを使ってみたいけど、書き方が判りません。 実装してからは、何もできない用途です。 どんな方法があるか教えて下さい。
変換基板に指で押し付けて書くって方法が シリコンハウスかどこかで掲示して会ったような
120 :
117 :2008/06/22(日) 09:46:42 ID:jvG0DW2b
>>118 ,119
有り難うございます。
試してみます。
自作品で何とかなりそうですね。
>>116 > 値段以外のメリットが無し。
世間では重要なメリットなんだが...値段。
まあ、「ホビーとして数個使うぐらいなら誤差の範囲」と言うのならわかるが。
122 :
8 :2008/06/22(日) 14:31:47 ID:+xrWX1TT
>121 当然ホビーとしての基準だよ。仕事で何万個も仕入れるなら秋月で 買う人はいないだろうし。 交通費や送料考えたら、使う時の為に買い置きするだろうから その参考に書いたつもり。 値段が高い割に低機能だったりする品があるからつかまないように
123 :
774ワット発電中さん :2008/06/23(月) 23:42:02 ID:Lb03myZV
いままで面倒でICSP使ったこと無かったけど 初めて使ってみたら最高。もう戻れない。 16F876でRBにLCDを繋げていたのだがうまくいかず、 VPP,クロック,データをダイオードで切り離したら 秋月ライタでもできた。
ICSPに配慮した回路にしないとだめだけど、その点を差し引いてももはやソケットには戻れない。
125 :
774ワット発電中さん :2008/06/24(火) 18:25:05 ID:X1imSGjj
PICのちゃんとしたデバッガ&書き込み器が欲しいんですが、 PICkit2 と ICD2 で迷ってます。 ヤフオクを見ると、5千円と2万円ほど(ICD2はdsPIC付き)。 これなら、PICkit2で十分? あと、PICkit2は赤ボタンを買うべきでしたっけ? ああ、悩ましい!
>>125 使ってないICD2があるからヤフオクで1000円スタート出してみるかな
PIC16F877で一つのマスターPICと 3つ以上のスレーブPICを用いることで 各スレーブについているモータの制御をしたいんだが、 スレーブ選択ってどうやるの? マスターPICが複数のスレーブの中から1つ 動作せるものを選んでくるようにしたいんだが、 スレーブ選択ピンSSの配線の仕方とか CCSでのやり方とか分かる人いる?
>>127 接続方法は?SPIだとしたら、74138のイメージで良いはずだが。
IOピンのオンオフでやればいいやないか・・・
>128 74138についてはまったくの素人で分からない・・・ 時間が空いたときに勉強してみる >129 >130 たしかに実用的な実装としては それでいいのかもしれないけど あきらめるのもどうかなと思って。 できるならできると言って欲しい。 それなら頑張れる。 できないなら>130の意見に素直に従う。
132 :
129 :2008/06/25(水) 23:08:17 ID:n5ehaZ8p
いや、そもそもマスタ側のSS出力は汎用Portを利用する前提なんだが。SPI理解してる? だからこそ複数スレーブに対応出来る。なお(RA5/)SSピンはスレーブ用な。 なおCCSでSPI関連は setup_SPI(mode), spi_read(), spi_write()などを使う方法と v4で追加された #use SPI(options), SPI_XFER()を使う方法の2種類あるぞ。 前者はハードウェア(内蔵MSSP)専用で、後者はハード/ソフト混在可能な。 どっちでも出来るが・・・どっちでやりたい?
>>129 >>132 ありがとう。
SSピンってスレーブ用だったのか。
初めて知る真実・・・。
#use SPIなんてあるのか。
自分が持ってるコンパイラリファレンスにそんなのあったっけな。
前者の方が理解してるつもりなんで
setup_SPI(mode), spi_read(), spi_write()だけで
できるならぜひそれで実現したい。
pic18c252→pic18f252への移植ではソースを変えることなく MPLABのデバイスを変えてリビルドするだけでいい筈ですが移植後のpicは動かずorz 何か記述や設定の変更が必要でしょうか?
>>134 少なくともConfig Bitsは違うね。
136 :
129 :2008/06/26(木) 09:01:27 ID:J4t6UX6O
>>134 リビルドしなくても.HEXのLoad(Import)後にデバイス変更とConfig Bits(word)の修正して書き込みすればいけるのでは?
137 :
774ワット発電中さん :2008/06/26(木) 20:22:03 ID:62YQewwj
SPIの使い方で質問します。 dsPICのSPIにA/D、D/Aコンバータを繋ごうと思っているんですけど、マニュアルには16bitでしか使えないようになっています。 アナデバの4ch D/Aコンバータなんかは24bit制御なので使えないのですかね? 普通SPIは8/16/32bitで使えると思っているのですが。
>マニュアルには16bitでしか使えないようになっています。 どこに書いてあるのか明示してくれよ。 でないと対策も示せないだろ。
139 :
774ワット発電中さん :2008/06/26(木) 23:27:51 ID:kvgypGnh
137です。 SPIのデータレジスタが16bitです。 またタイミング図にも16bitのパターンしか載っていません。
>>139 >>138 が言ってるのは最低限以下のことを示せということじゃないかな。
・そのマニュアルの公開されているURL
・問題の記述があるページ
・記述のある行数
141 :
129 :2008/06/26(木) 23:51:51 ID:J4t6UX6O
>>137 どこの世界のdsPICか知らないが、microchip製のは8/16bit切替出来る。
相手が24bitであれば一般的に (8bit) byte modeで3回転送すれば桶。
>>137 24bitのDACというのはオーディオ用だと思うけど、オーディオ用DACやADCの
インターフェースはI2Sという形式が主流で、これはSPIとは異なっていて
途切れなくデータを転送する必要がある
dsPICの一部品種には、このようなインターフェースに対応するために
DATA CONVERTER INTERFACE (DCI) というペリフェラルを内蔵したものがあるので、
それを使った方が簡単
143 :
774ワット発電中さん :2008/06/27(金) 00:06:32 ID:GnZSDyPU
>”dsPIC33FJ256GP710” ちょうどDCIを内蔵しているデバイスだな マニュアルの19章にDCIの解説があるよ
>>143 その15章にはちゃんと8ビット・16ビット切り替えの記述もあるだろ。
絵本じゃないんだから、絵だけじゃなく字もちゃんと読めよ。
146 :
774ワット発電中さん :2008/06/27(金) 08:39:58 ID:K4RX2khP
137です。 142さん、今使おうとしているものは A/Dコンバータ:AD7664です。 これは16bit/4ch入りで2ch毎にデータを読むようになっています。 よって32bit一連の動作が必要です。 D/Aコンバータ:AD5664Rも16bit/4ch入りで、データをセットする際には 8bit(ch指定等)+16bit(データ)=24bit一連の動作が必要です。 どちらもSPI対応となっています。 145さん 16bit以上のアクセス動作が必要です。それ以上(24/32bit)のアクセスは できないのでしょうかね?
147 :
774ワット発電中さん :2008/06/27(金) 09:19:16 ID:K4RX2khP
137です。 今回使用予定のA/DコンバータはAD7654、D/AコンバータはAD5664(どちらもアナデバ)です。 A/Dコンバータは16bit/4ch入りでデータ読み出しは2ch同時に行う必要があり、32bitの一連の 動作が必要です。 D/Aコンバータは16bit/4ch入りでデータの書き込みには8bit(Ch指定など)+16bit(データ)=24bit の一連の動作が必要です。
クロックがずっと一定周期で出っ放しでなくてはならないなんて ことが無いなら間があいたっていいんじゃねぇの?
>>147 SPIってのは、クロックの周期が不規則だったり途中に休止があっても全然OK。
すべてマスタの出力するクロックに同期してデータ変化するから問題なし。
「一連の動作」とかいっても時間間隔は任意で構わない。
24bitでも32bitでも 8bitの倍数だから 8bit modeでアクセスできるよ。
150 :
774ワット発電中さん :2008/06/27(金) 12:15:53 ID:abbY7d66
151 :
774ワット発電中さん :2008/06/27(金) 12:58:58 ID:K4RX2khP
137です。 dsPICでは16/8bitのアクセスが終了するたびにSS(Sync)信号がHiになります。 そうなりますと、このSS信号は直接接続できないのですね。 SS信号の代わりに別のポートを使って強制的にLowにして8bitアクセスを 繰り返せばいいわけですね。
24ビット一括転送と8+16転送は別物だぞ。 もしサンプリングレートが低ければ 直接IOポートでたたいた方が簡単そうだwwww
153 :
Cエラー :2008/06/27(金) 21:14:54 ID:OmnfKqyE
Microchipの「MPLAB C30 Student Edition」が次の二つに分けられ配布されました。 MPLAB C Compiler for dsPIC DSCs v3.10b Student Edition MPLAB C Compiler for PIC24 MCUs v3.10b Student Edition ところが、「MPLAB C30 Student Edition」でコンパイルできていたPIC24FJのプログラムが、 「MPLAB C Compiler for PIC24 MCUs」では全くコンパイルできません。 「MPLAB C30 Student Edition」の時期にMicrochipのHPで掲載されたサンプルプログラムなどもです。 「MPLAB C Compiler for PIC24 MCUs」になって、何が変わったのでしょうか?
GP802が届いた
外付けDACが必要ないんだぜ?これ
>>153 よくわからないけどヘッダファイルとかライブラリファイルが
MPLAB C30\supportみたいな変な所に入ってることがあるよ
155 :
774ワット発電中さん :2008/06/28(土) 20:38:51 ID:dLixIp+M
156 :
Cエラー :2008/06/28(土) 23:38:09 ID:XDmxwzvN
>>154 さん
>>155 さん
ありがとうございます。
ライセンス管理の問題の修正をしたバージョンでもだめみたいです。
ただ、ライセンス関連のトラブルらしいとわかっただけでも助かります。
ありがとうございます。
ICD 2 で、Calibration Bitsのデータを知る方法をおしえてください。 デバイスは12F683です。
>>157 ICD2では読めないみたいだね。PICkit2でも読めない。
WinPicとJDMでは簡単に読めてたんだけど;; [PIC12F683.dev]を書き換えればいけるのかなぁ
読み出しの仕組みは簡単だからね。 でもICD2ではそもそも表示する画面がないから、設定を変えた程度では どうしようもないと思うよ。 ってか、読めるツールがあるならそれ使えば・・・
MPLAB IDE のFile-Export で出てくるのに含ませられないかなとふと思ったんだ;
今までICD2LEでデバッグできてたのに、下記のメッセージが表示されてデバッグ不能になってしまいました。 ICD2が壊れちゃったのでしょうか? Programming Target... ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation ICD0200: Operation Aborted (Warning 51) . ICD0275: Programming failed. MPLAB ICD 2 Ready
メッセージのとおりに対処してみた?
LEはターゲットからしか電源の供給は出来ないので電源は問題ないと思います。 VPPはICD2から供給するのだと思いますが、その辺が良く分かりません。 ただ、昨日までは転送できていたのでどこかが故障したのかなと? デバイスは16F887を5V電源電圧で使用しています。
>>166 「電源は問題ないと思います。」じゃなくてテスターで確認しる。
あと、壊れたかも…と思うなら、別デバイスでどうか確認な。
つまり、まだメッセージのとおりに対処してないわけか。 まずはメッセージのとおりに対処してみろ。
169 :
774ワット発電中さん :2008/07/01(火) 12:33:32 ID:G69yOKsv
SPI通信って SSPBUFにコマンド入れれば後は勝手に 送受信してくれると考えてよいのですよね。 SSPBUFは8bitだから帰ってくる返事も8bit 残りのデータもコマンドか仮想データをSSPBUFに 叩き込んでやればいいんですよね。 I2C、SPIあるけど、この先どちらが反映 するのかな、SPIの方が同時送受信で高速 でもスレーブ分SS制御が必要になる。 I2Cは2本だけで無限ではないけど複数制御 出来る。
>>169 あらかじめSPIマスタとしてSPI送受信のためのレジスタ設定を済ませた後であれば、
SSPBUFにデータを入れると自動的に送受信が行われる。
SPIスレーブの場合、SSPBUFにデータを入れても入れなくても、SPIマスタの都合で
送受信が行われる。
>>167-168 電圧はMPLABの電圧確認窓で5.1〜5.3Vを表示していることを確認しました。
試しにPIKKIT2でデバッグしてみたら正常に動作しました。
REALICEでは、ICD2とはエラーメッセージが違いますが接続できない旨のメッセージが出ました。
REALICEが16F887のデバッグに完全対応してないからかも知れません。
成り行きでpicに手を出したんだが、LED光らせるだけでも妙な達成感。 ところでソケットからpic外すとき、簡単な方法ってないですかね。 いつもマイナスドライバーで外してるのだが 気をつけないとピンが曲がってしまうんで。
ZIFソケットに買い換える
平コンタクトのICソケットに挿して、それをソケットに挿す。
ソケットにえんぴつ差し込んでぐりぐりしてゆるくする
176 :
774ワット発電中さん :2008/07/02(水) 08:25:25 ID:+hYvl5S+
picライタから線を引き出してオンボード で書込み出来る様にする手があるけど 実際にやってみるとパスコン等がついて いるとエラーになってしまう。 タイミング調整の設定をいじってみたけど それでもパスコンの容量の性かNG、パスコン 全部はずしてokになった。
177 :
774ワット発電中さん :2008/07/02(水) 08:41:45 ID:GT6uJhYM
【ニュー速報+板からきますた】口コミで出来るだけ多くの人達に広めて下さい!!! 69:名無しさん@全板トナメ参戦中 :2008/06/30(月) 17:36:03 ID:2aGz0rPl0 【世界中から信頼される日本記者クラブの毎日新聞が英語版で、世界に向けて9年間も発信していた記事】 ■思春期の受験生の集中力を増すために母親はフェラチオで息子の性的欲望を解消する ■日本人の若い女性はファーストフードを食べると性的狂乱状態になる ■日本人主婦は皆コインランドリーに附属のコインシャワーで売春している ■日本のティーン(10代)たちはバイアグラを使ってウサギのようにセックスをする ■少女嗜好が発達した日本では、小学校に通うごく普通の少女たちが放課後、売春婦として働いている ■日本の看護婦たちは通常、病院内にバイブレーターを持参し、仕事柄、アナル開発に興じている ■日本人女性の55%は、出会ったその日に男と寝る ■20才から35才の間の日本人の4分の3がセックスの写真やビデオを撮ったことがある ■漁師経験者談;日本人は何とでもセックスをする ■24時間オルガズムが止まらない病気で苦しむ日本人女性の数が増えている ■六本木のあるレストランでは、コックは食事の前にその材料となる動物と獣姦する ■福岡の米祭りは、顔にベトベトの白い液体を塗るため、AV業界が「顔射」と呼ぶものによく似ている ■日本の最新の流行:70歳の売春婦 ■老人の売春婦の人気にもかかわらず、日本では小学生の売春婦にも仕事がある ■ほとんどすべての漁師は海でマンタとSEXしている ■男色は日本の伝統。八坂神社では女装祭りを行っている ■日本男子は柔道や空手の部活で男相手に童貞を捨てている ■日本の首相は結婚生活ではなくオナニーで政権が取れると言っている ■横浜の女装祭りはゲイの宣伝になる ■かつてパールハーバーと南京大虐殺を起こした日本政府が、児童性愛者向けのマンガを作ってオタクを自衛隊にひきつけようとしている ■熱海の伊豆山神社のある木は、屠殺人の木またナギと呼ばれ、その後イザナギと呼ばれたが、 ■イザナギは神道伝説の神話の神であり、日本列島は彼のこぼした精液から生まれた
>>176 ・VDD駆動能力の低いプログラマだとダメな場合がある
・VDD駆動能力が高くてもVDD立ち上がりが遅いとダメな場合がある
・読み書き時にVDDを上げ下げするプログラマだとダメな場合がある
無難なのは、VDDを入れたままで読み書きできるプログラマ+PICの組み合わせ。
MCLR/VPPはGPIOとして使用せず、MCLR/VPP専用ピンとして使用する。
>>172 PICとソケットの間にアイスクリームの棒を挟む。
182 :
774ワット発電中さん :2008/07/02(水) 18:16:32 ID:7raCwS5E
むしろソケットに挿入するときICの足を折ってしまう俺は
>>179 のリンクにある「ピンそろった」ってやつ欲しいな。
>>182 挿れるまえに指でちゃんとしこっておけばそんなもんはいらんだろ
お前みたいにしこるのに慣れてないんだよ!
毎晩ちゃんと練習すべし つーかマジレスすると机に押し当てて曲げると一列きれいにそろう
>>185 >机に押し当てて曲げると一列きれいにそろう
1列は確かにきれいに揃うんだが、DIPには2列あるよな?
机押し当て法で曲げると、その2列が微妙に平行に揃わなかったりするんだよなw
机でやってるが 問題ないぜ
>>182 IC引き抜き冶具は便利だけど、ピンそろったは・・・
確かにそろうけど、限界まではさんでもソケットの間隔よりも
広くて、結局机に押し当てることになるんだぜ?
>>187 68pinとかも使ってるが普通に揃うぞ?
>>187 何回やったんだ?
ちょっと試してみただけなら普通はそのうち上手くなる。
これまでに何十回もやっててそろえられないなら下手糞だからあきらめれ。
揃って無くても機能する。
つーか28pin位までなら指の腹でも十分そろえられると思うのだが…
dsPICについて勉強しようと思うのですがお勧めの書籍はありませんか? 因みに16,18シリーズはアセンブラ、C言語で趣味程度には開発をしてきたので主にDSPについての説明があるものを探しています
194 :
774ワット発電中さん :2008/07/03(木) 03:47:37 ID:XlEPkKII
195 :
774ワット発電中さん :2008/07/03(木) 23:29:59 ID:cehlzsBu
>>194 193ではないがGJ!
どうリンクたどればたどりつくんだ?
マイクロチップのサイトからたどりたいけど見つけられず
>>195 1.
http://www.microchip.com/ を開く。
2. 上のメニューで Design ⇒ Technical Documentation ⇒ Reference Manuals を選択。
3. 一覧の中にある「dsPIC30F Family Reference Manual(Japanese)」が、ソレ。
各章ごとに分割したやつもある。
ちなみに、下のコースを選択すると日本語版は表示されない。
1.
http://www.microchip.com/ を開く。
2. 上のメニューで Products ⇒ 16-bit PIC MCUs & dsPIC DSCs を選択。
3. Reference Manauls をクリック。
4. dsPIC30F Family Reference Manual Sections をクリック。
5. 一覧の中に日本語ドキュメントがないorz
dsPIC30F2020でRB7を使おうとしてダメダメで悶絶。 今エラッタ読んだら RB7はつかえねえよ 9(^Д^)プギャー っぽい。 ( ゚Д゚)ポカーソ
picってあいかわらずマルチファンクションだらけで いざとなると使えないピンが多いね。 最近は慣れたけどw
変態PICの仕様だからなぁ
慣れることも大事な才能さ
慣れたおかげで躓くこともありますが。 初めてのPIC16F84Aでは、RA4のオープンドレイン出力でハマリ・・・ PIC16F88に移行したらオープンドレインでないことにハマリ・・・
202 :
774ワット発電中さん :2008/07/04(金) 23:30:16 ID:6NJwllJk
RPxとかすごいぞ。機能が詰まってる
203 :
774ワット発電中さん :2008/07/05(土) 19:47:43 ID:z/nPldyS
お世話になります。初めてここに来ました。 PIC16F689を買って、まず、LEDを二秒に一回点滅させようとしているのですが、 (一秒点灯、一秒消灯、一秒点灯・・・の繰り返し) 一秒に一回になってしまいます。 クロックの設定が間違っていると思うのですが、どこが間違いでしょうか? 教えてください。よろしくお願いいたします。 #include "16f689.h" #fuses RC, NOWDT, PUT, NOPROTECT #use delay(internal=8000000) static char flip=true; int main(void) { while(1){ delay_ms(1000); flip = ~flip; output_bit(PIN_C0, flip); } }
osccon デフォでは4MHz コンパイラーで 設定を4Mhzにするか osccon を8Mhz にするか
205 :
203 :2008/07/05(土) 20:28:21 ID:z/nPldyS
書き忘れましたが、コンパイラはCCSCの7.045を使っています。 oscconを8MHzにするには、どうしたらいいでしょうか? #use delay(CLOCK=8000000, oscillator=8000000) としたら、正常に動いているのですが、 #use delay(CLOCK=4000000, oscillator=4000000) とした場合、一秒に一回点滅になってしまいます。 何か基本的な考え方が間違っているような気がしますが・・・
bit 7 Unimplemented: Read as ‘0’ bit 6-4 IRCF<2:0>: Internal Oscillator Frequency Select bits 000 = 31kHz 001 = 125kHz 010 = 250kHz 011 = 500kHz 100 = 1MHz 101 = 2MHz 110 = 4MHz (default) 111 = 8MHz マニュアルに書いてあるよ
> 何か基本的な考え方が間違っているような気がしますが・・・ だね。 アセンブラを使うのが基本。
>>203 #fuses RC, じゃなくて
#fuses INTRC, または INTRC_IO, だよ。
その指定で #use delay(clock=8000000)
または #use delay(internal=8000000) で 8MHz設定
209 :
774ワット発電中さん :2008/07/05(土) 21:19:28 ID:z/nPldyS
>>206-207 しょっぱなから避けてきたアセンブラを使わないといけないわけですねorz
そのためのCCSCだったのに・・・
>>208 INTRCで試してみましたが、どちらも一秒間隔になってしまいました。
とりあえず、#use delay(internal=8000000)した後、
メインの先頭でsetup_oscillator(OSC_8MHZ);してみたけど、これも一秒間隔。
ここのリストは以下のような感じです。
0085: MOVLW 71
0086: BSF 03.5
0087: MOVWF 0F
0088: MOVF 0F,W
何が間違っていますでしょうか?
>>205 > #use delay(CLOCK=4000000, oscillator=4000000)
それはオカシイかも。内蔵OSCの指定じゃない。
#use delay(internal=8M) でINTOSC:8MHzになる。
#use delay(internal=4M) ではINTOSC:4MHz動作になるけど
delay_ms(1000); の部分は 1秒に変わりないから点滅周期は一緒。
211 :
203 :2008/07/05(土) 21:55:28 ID:z/nPldyS
>>210 #use delayの指定で、本来1秒のはずのdelay_ms(1000);が500mSecになるんで、
何がおかしいんだろと思った次第です。
#use delay(CLOCK=8000000, oscillator=8000000)だと1秒になるのに、
#use delay(internal=4000000)、
#use delay(CLOCK=4000000, oscillator=4000000)、
#use delay(internal=8000000)だと500mSecになります。
#use delay(CLOCK=8000000, oscillator=8000000)でもsetup_oscillator(OSC_8MHZ);すると500mSec。
CCSCコンパイラが1秒を作り出す計算を間違えてると思うんですが、何故間違えるのかわからないのです。
#use delayはあくまでコンパイラがdelay命令を展開するときのためにPICのクロックを教えてあげるためのプリプロセッサ命令。 自分でsetup_oscillatorしない限り実機のクロックは変わらない。
213 :
203 :2008/07/05(土) 22:13:34 ID:z/nPldyS
>>212 はい、それは上で言われて気が付きました。
それで、以下の様にしたのですが、500mSecで点灯、次の500mSecで消灯になります。
#include "16f689.h"
#fuses INTRC_IO, NOWDT, PUT, NOPROTECT
#use delay(CLOCK=8000000, oscillator=8000000)
static char flip=true;
int main(void)
{
// オシレータの設定
setup_oscillator(OSC_8MHZ);
while(1){
delay_ms(1000);
flip = ~flip;
output_bit(PIN_C0, flip);
}
}
>>212 いや、そうじゃないんだ。
グローバル部分記述の #use delayで指定されてると
main()関数の初期部分でOSCCONの設定される。
間違いもあったので整理すると・・・
delay関数の基準になるのは clock=xxxの部分、
internal=xxxは内蔵OSC設定に影響する。
(oscillator=xxxは内蔵OSCと無関係)
#use delay(clock=4M,internal=8M)みたいな場合、
delay_ms(1000); が500mSになっちまうけど
>>211 がホントなら v4.045のバグかもしれんが確認できん。
v4.066ではそんな異常ないぞ。
215 :
203 :2008/07/05(土) 22:49:18 ID:z/nPldyS
すいません。一番大切なソースを正確に写すって事を怠りました。 正確なソースは以下で、約500mSec点灯500mSec消灯で動いています。 #include "16f689.h" #fuses INTRC_IO, NOWDT, PUT, NOPROTECT #device ADC=10 #use delay(CLOCK=8000000, internal=8000000) #use rs232(BAUD=9600, XMIT=PIN_B7, RCV=PIN_B5) #include <stdio.h> static unsigned int cnt_time0; static char flip=true; int main(void) { while(1){ printf("Hello!world!\r\n"); delay_ms(1000); flip = ~flip; output_bit(PIN_C0, flip); } } ただ、ここのprintfを切ると光る事すらしなくなります。 つまり、delay_ms()が全く効いてなくて、printf分だけたまたまdelayしてたって事になります。 それとコンパイラのバージョンを間違えてました。4.075でした。 一旦頭を冷やして、また月曜日にでも来ます。ありがとうございました。
delay_msの引数はunsigned charだったりして
>>209 避けたいなら避ければいいんだけど・・・見てると、デバイス仕様にもプログラミングにも関係ない、
間に立つ「コンパイラの癖」に嵌められてもがいてるようで、かわいそうになってくる。
>>215 printfで500msも掛かるとは思えない。
INTRC(_IOなし)で、クロック出力ピンの周波数測ってみたらどうよ。
あとはprintfでは正しく9600bpsで出力できてるの?
確認できる手段はたくさんあるからがんばって。
>>216 定数なら16bit、変数ならunsigned charだった。
> 定数なら16bit、変数ならunsigned charだった。 v3ではそうだが、v4は変数でも16bit対応になってるよ。
16はアセンブラ 24や30dはC 個人的に思うが16はアセンブラの方がCより楽に組める
221 :
203 :2008/07/07(月) 15:49:48 ID:0dwnQ1lc
会社からです。
まず、皆様に謝らなければいけない事が一点。見ているピンを間違えていました。
while(1)
output_bit(PIN_C0, 0);
output_bit(PIN_C0, 1);
}
のソースで見てみると、61.1Hz程度のパルスを出していました。
点滅してたポートは何故点滅しているか分からなかったのですが、UARTに関連してると思います。
で、
http://www.datadynamics.co.jp/ccsc/v4_feature.htmlの中段あたりの 「#USE DELAY() 改良」の項を見てみると、
内部オシレータを8MHzで動かす例が出ているのですが、これでも61.1Hzでした。
リストをみると
.................... while(1){
.................... output_bit(PIN_C0, 0);
0064: BCF 03.5
0065: BCF 07.0
0066: BSF 03.5
0067: BCF 07.0
.................... output_bit(PIN_C0, 1);
0068: BCF 03.5
0069: BSF 07.0
006A: BSF 03.5
006B: BCF 07.0
.................... }
006C: GOTO 064
なので、1命令4サイクルだとすると、
61*4*4=976Hzで動いているのかなと予想。
>>217 CCS Cを使うにあたり、コンパイラに速度を教えてあげないといけないから、
ここは避けて通れない道かなぁと思ってます。全部アセンブラ以外なら・・・
すいません PIC12F675で IOの設定をTRISIOにセットしてるのに outはOKですがinのデーターがちゃんと取れず うまく動きません。他に設定があるのでしょうか? 2日悩んでおります。
>>223 3.1章の最後「・・・・read'0'」辺りがヒントでしょうか
翻訳して考えて見ます。
またわからない場合は教えてください。
ありがとうです。
あまり役には立たないと思うが、私が使って12F675の最初のとこ list p=12F675 errorlevel -302 #include <p12f675.inc> __CONFIG _CPD_OFF & _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF CBLOCK H'20' EX1,EX2,INTR_W,INTR_STAT ENDC ORG 0 CLRF GPIO MOVLW H'7' MOVWF CMCON GOTO MAIN INTR MOVWF INTR_W MOVF STATUS,w MOVWF INTR_STAT ; Intrupt program ; BCF INTCON,x ;割り込み要因クリア MOVF INTR_STAT,w MOVWF STATUS SWAPF INTR_W,f SWAPF INTR_W,w RETFIE MAIN BSF STATUS,RP0 CALL H'03FF' ;補正値取得 MOVWF OSCCAL ;クロック補正 CLRF ANSEL ;デジタルI/O MOVLW B'001000' ;GP3 input only MOVWF TRISIO BCF STATUS,RP0 ;BANK0 ;Main program END
A/Dコンバータの変換数値の根拠がわからないのですが あれはボルトを変換してるんですよね? 10ビットだと128が0Vで+-128の最大値がPICの最大定格と同じで補間が128分解能だと思ったんですが、 0から始まって+のみだということはわかったんですが、どういう変換方式なんですか?
>>227 A/D変換の方式はいくつかあるけど、PICの場合は逐次比較型。
GND〜Vdd(あるいはAVss〜AVdd)間の電圧を2^10=1024段階、つまり0〜1023の値に変換する。
コンパレータとか、デフォルトでオフにしておいてくれたら互換性とりやすいのにな。
>>228 そうでした、8ビットと間違えました、1023に変換されるのは5V定格PICだと5Vってのは合ってますか?
232 :
774ワット発電中さん :2008/07/08(火) 21:53:07 ID:/ZlZCSxF
秋月ライタからPICkit2に今更ながら乗り換えた。 最高。 ・電源いらん ・書き込みが早い ・ICSPで書き込み終わってもリセット解除されない ・MPLAB IDEから使える ・887も書ける これで秋月ライタはシリアルEEPROMリーダライタ専用になった。 I2C EEPROMもページライトに対応すれば100倍速になるとおもうのだが。
PICkit2って対応してるICはどの位あるの?
24xCxxx, 25xCxxx, 93Cxxとかも書けるよ。
>>231 概ねそうだと思って良いよ。
>>232 PICkit2もEEPROM使えたはず。
自分はうまくいかなかったけど。
かぶった。すまん。 というか、おまいら ググレカスでかたづけないのな。 2chと思えないw
>>237 ZIFソケット治具をまだ作ってないので。
作ったらEEPROMも試してみるよ。
書き込み早かったら、もう秋月の出番無し。
秋月のだと24C1024の書き込みに3分くらい掛かる気がする。
>>239 8pin-EEPROMにZIFソケットなんて無駄だよ。
PICとはピン合わんし、丸ピンソケットで桶
マルチ対応させるんでは
>>241 もちろんそうだよ。
PICも色々対応させる。
>>229 アナログ入力が可能なピンは、「デフォルトでオフ」にするとデジタル入力に
なってしまうだろ。そうすると、実際にアナログ入力として使用される回路に
なっていると、リセット直後に(デジタル的に)中途半端な電圧が入力されて
しまって、デジタル入力バッファの貫通電流がえらいことになる可能性がある。
それを避けるには、リセット直後の状態を
1. 入力電圧をVIH以上あるいはVIL以下に固定
2. デジタル入力バッファをオフ
のいずれかにする必要があるんだが、1.は周辺回路側の対応になってしまう。
なので結局、チップレベルで対応できるのは2.しかない。
PICの場合、I/Oの設定が「デジタル入力、デジタル出力、アナログ入力」の
3通りしかなく、デジタル入力バッファがオフになるのはアナログ入力モード
しかないんで、リセット時のデフォルトはアナログ入力モードを選択せざるを
得ない。
まぁ、互換性を取るか、それとも(チップ破壊の回避という意味での)安全性を
取るかの選択で、安全性を取った結果ということだね。
>>231 場合によりけりだから、合っているor合っていないの2択回答なら、合ってない。
どういう場合があるのかは、まずはデータシートを読んで確認してみるとよい。
245 :
774ワット発電中さん :2008/07/09(水) 14:57:57 ID:fzW1rT4q
皆さんはPIC新品種が出たときどうやって書き込んでますか? ・Microchip製ライタだから問題なし ・自分のライタに対応した品種にしか手を出さない ・データシート読んで自作ライタを作る ・その他 12F615使いたいけど秋月ライタでは対応してなくて、どうしたもんかと悩んでいます。
247 :
222 :2008/07/09(水) 17:36:45 ID:jwkEZItG
ダメでした。 初期化の部分には十分気をつけたんですが まだダメな部分が ありそうです。GP2の入力でGP5の出力が変化する予定が GP2はいつも Lと判断しているみたいです。 今夜は酔いつぶれそうです。 SETUP BCF STATUS,RP0 ;Select Bank 0 CLRF GPIO ;全I/O クリア MOVLW H'07' ; コンパレータを使わない MOVWF CMCON CALL 03FFH ;内部OSC補正 MOVWF OSCCAL BSF STATUS,RP0 ;Select Bank 1 CLRF ANSEL MOVLW B'00001111' MOVWF TRISIO BCF STATUS,RP0 ;Select Bank 0 MAIN BTFSC GPIO,B'00000100' ;GP2 SW SENS GOTO LLED BSF GPIO,5 GOTO MAIN LLED BCF GPIO,5 GOTO MAIN
>247 >>BTFSC GPIO,B'00000100' ;GP2 SW SENS B'00000100'=4だから4bit目の GPIO4をチェックしていないか? それと今回は問題ないだろうけど、GPIOに直接BCFやBSFを 使うとはまることがあるよ
> BSF GPIO,5 と書けてるのに、なんで > BTFSC GPIO,B'00000100' ;GP2 SW SENS なんて書き方なんだよ・・・ それに、質問の仕方も悪い。ソースの内容はそれだけじゃないだろ。 回路図も出さないと、外部回路がまともなのかおかしいのか他人には判断できん。 なのに、なぜ隠す。他人に検証してほしいなら検証できるだけの情報を出せ。
250 :
222 :2008/07/09(水) 18:27:38 ID:jwkEZItG
>> 248 249 大変お騒がせしました。 正解でした。 検証していただいてありがうございます あまり長く書き込むとダメかと控えめにしていましたが たしかに 検証側にとっては全部ないと厳しいですね。 久しぶりにやるとこの様です。 今夜は、248 249さんに感謝の気持ちと己の様に乾杯して 酔いつぶれます。
251 :
774ワット発電中さん :2008/07/09(水) 22:57:58 ID:p6Fl79jM
最新picのDACが何かおかしい 説明書にはコンデンサ、スピーカ直付けでもいけると書いてあるのだが 小さい途切れた音がする 速度の問題かなDIVの前の周波数はシステムクロックですよね 内蔵PLLで75MHz これを3で割って 256サイクルで変換できるから約100kspsのはず
252 :
245 :2008/07/10(木) 00:33:08 ID:LQHyXlBx
>>246 レスサンクスです
が、例示して頂いたライタは私の小遣いでは手が届きませんorz
そこで私の進むべき道を誰か教えて下さい・・・
・18万円稼いで
>>246 のライタを買うべし
・Microchipのライタを買うべし
・ライタ買いなおすより、12F683使ったほうがトータル安上がり
・秋月ライタが対応するまで待つべし
・ライタが自作できるよう励むべし
使用目的は車電装の自作、年間10個ほど焼くかなーという所です。
>>245 pickit2でいいじゃん。
これくらいだったらこずかいで買えるだろう。
Microchipのライタを買うべし AVRに移行 自作ライターでも問題はでていない
255 :
245 :2008/07/10(木) 01:10:59 ID:LQHyXlBx
色々サンクスです! そんな安い純正ライタがあるんですね。 PICSTART Plus しか存在を知らなかったです。。。 海外からの買い物の仕方くらいは自分で勉強します。ありがとうございました!
国内でも扱ってるところがあるよ
息子がぴっくぴくキット
>>252 そりゃ金額だけで見れば
>・ライタ買いなおすより、12F683使ったほうがトータル安上がり
の一択だが。
>>251 >説明書にはコンデンサ、スピーカ直付けでもいけると書いてある
説明書ってどのドキュメントのこと?
>DIVの前の周波数はシステムクロックですよね
違う。
気付かなかったが、USB-OTGを内蔵したPIC24FJxxGB1xxファミリが出てるね。 これでSPIのクロック上限がもうちょいがんばってくれたらなぁ・・・
263 :
774ワット発電中さん :2008/07/10(木) 10:47:25 ID:q5d8ojBR
・自分のライタに対応した品種にしか手を出さない pickit2もいいけと、基本的にはコレで、使いまわしの利くひとつに絞るのが無難で、 わずかなコストの差で他に変えると使う度に調べ直したり作り直したりで面倒
PIC24ならSPIクロックは10MHzまで行けると思うんだが、それでも足りんの?
265 :
774ワット発電中さん :2008/07/10(木) 13:49:47 ID:A1XP9gj4
PICにコードプロテクトをかけると、 プログラム中からEEPROMの書き込みが出来ない。 なぜじゃ〜 できるとかいてあるやん。資料には!!
>>265 いや、普通にできてるけど。
使ってるデバイスの型番と、パッケージのマーキングを全部晒してみ。
ひょっとしたら、特定デバイスの特定リビジョンでそういうバグがあって
Errataが出てるかもしれんぞ。
1Msps/12bitのA/Dコンバータを接続したいんで、少なくとも12MHz、 できれば16MHzくらい欲しい。クロック16MHz超のマイコンは多々あるが、 SPIが16MHzまで行けるやつは選択肢が少ないんだよなぁ。 外部でシリアル・パラレル変換してPMPで取り込む手もないではないが・・・
1μsでどういう処理するのかは知らぬがな
269 :
774ワット発電中さん :2008/07/10(木) 20:32:34 ID:1oa5nH+X
SPI接続って嫌いだな ピンを贅沢に使ってパラレル接続こそ男
勝手に男やってろよ
いやですわ
272 :
774ワット発電中さん :2008/07/10(木) 21:26:17 ID:PpD9CEnE
男なら1ビット入魂だろ てか?
皮村の頑固じじいは要らないのでこのスレで引き取ってくれんか?
275 :
774ワット発電中さん :2008/07/10(木) 23:40:39 ID:BvTy+2d+
ヒータをSSRに接続して、PIC(16F819)で温度を調節したいのですが、 アセンブラでPID制御ってどうやればよいでしょうか?
一般的には温度制御って反応が緩慢だから、 適当にやればたいていはうまくいくw
TC622じゃだめか
>>267 ADのアナログ回路はその性能が出るの?www
P成分とI成分とD成分を計算して、足して、出力するといいよ。 って、それ以外の方法はないだろ。
>>278 回路設計能力や実装能力が十分かどうかは保証の限りではないが、少なくとも
使用する部品は1Msps/12bit品だよ。
アナログ入力を絶縁するんで、絶縁データ送受信のライン数を減らすために、
A/D結果の取り込みはシリアルでやりたい。そもそもA/DチップがSPIだから、
16MHz出せればSPIがいちばん楽ってのもあるが。
温度調節にDは絶対いらんだろ Pだけでもいいくらいだ
283 :
275 :2008/07/11(金) 02:09:25 ID:p5tg11Fo
>>276 ,279,281,282
皆さんレス有難うございます。
>>281 もうアセンブラで組んで来ているのでいまさらCにはできません。
Cも機会があれば勉強しようかと思います。
書き忘れていたのですが、積分や微分をどうやってアセンブラで表現するのか
が分かりません。
皆さんの書き込みを見ると割りと適当にイメージ的にできるように思います。
僕のイメージですが、設定温度から層内の温度の差を取り、差の大きさに従って
SSRのON/OFFのパルスの間隔を変えていくようなことでいいのでしょうか?
>>283 >積分や微分をどうやってアセンブラで表現するのか
>が分かりません。
それじゃ、Cならどう表現すればいいのか分かるの?
分かるなら、まずCで書いてみる。次に、浮動小数点の定数・変数・演算を
使っていたら、それをすべて整数のみに書き換えてみる。
そこまでやったら、それをアセンブラで表現するのも難しくないはず。
面倒なだけで。
逆に、整数演算のみのCで書けないようであれば、そもそもプログラミングの
知識が不足してるから、マイコンの使い方以前の問題。ここで聞くより
プログラム板あたりで質問するか、プログラミングに関する参考書で
勉強したほうがよい。
>>283 PID制御
ttp://www.picfun.com/motor05.html >もうアセンブラで組んで来ているのでいまさらCにはできません。
いまさらでもCで組んだ方が早いと思うけれどなー
アセンブラ組める人だったら、アセンブラのデバックする時間で
C言語少し勉強してプログラムした方が断然楽だと思うよ
C言語の事深く知らなくても、演算位はコーディングできるからね
コンパイラもフリーので事足りるだろうし、
アセンブラで組む必要性があるとすれば、学校の宿題か何かなのか?
温度制御って普通PDだよな。 遅れ要素があるからDは必要でしょ。
>>283 積分=>ある時間内の総和=>加算
微分=>ある時間差の間の差分=>減算
お風呂を沸かすようなのを考えると良い
設定温度と現在の差分に比例して火力を変える=>P(比例分)
ところが、これだと目標温度付近に近づいたのにいつまでも目標に達しない
(比例だけで計算したものでは微妙に火力が弱い)とか目標を超えた
ところで安定してしまう(微妙に火力が強い)てなことになるかもしれない。
そこで、差がある状態が長く続くようだったら火力を更に目標値に
近づくように変えてやる=>I(積分)
誰かが水を足したりすると温度が急に下がったりする。こういうとき
にすばやく対応するには、大きな変化(差分が大きい)があったときに、
火力をいつもより大きめに増減してやるといい=>D(微分)
PIDの効き具合をどんな按配にするかっていうのがツボ
EEPの書き込みにかかる時間って、データシートのどの辺の項目にかかれていますでしょうか?
EEPって何ですか? データシートには載ってないようですが。
>>290 ELECTRICAL CHARACTERISTICSの章
TDEWでpdf内検索 しる。
上のTDEW検索は PICの場合な。 単品のSerial EEPROMでは TWC (microchip) または TWR (ATMEL)とか
お前親切だな
>>292 しかし、察してやって甘やかしてばかりでは、初心者はいつまでたっても
初心者から抜け出せないのが難しいところだな。
295 :
774ワット発電中さん :2008/07/11(金) 17:51:08 ID:kn4o3jCT
それでいいような気もするけどw
>>291-293 ありがとうございました。PIC16F689の内蔵EEPROMの書き込み時間を知りたかったのです。
無事見つける事ができました。
297 :
ごるごるもあ ◆753Z/RLFiY :2008/07/11(金) 21:55:17 ID:4gVTXCv4
dsPICトロ過ぎなんだよね。16ビットっつうからPC9801ぐらいかと思って基盤設計したけど実際にはMSXぐらいしか出ない。 っつうわけでMPLABでdsPICのアセンブラ混在作ることになったんだけど、PICとは仕様が違うからめんどくせーんだよね。
298 :
ごるごるもあ ◆753Z/RLFiY :2008/07/11(金) 21:58:57 ID:4gVTXCv4
あと、dsPICの内部クロッが不安定過ぎる。スピーカー繋げてBEEP音鳴らしたらポンコツだってことがよくわかったよwww
>>299 >16ビットっつうからPC9801ぐらいかと思って基盤設計したけど
ってだけでジョークだと思わなくちゃ
302 :
275 :2008/07/12(土) 00:51:24 ID:cIcdXh6l
>>284 ,285,288,289
レス有難うございます。
>>284 小生はアセンブラの知識はそこそこあるのですが、Cの知識は学校で少々や
ったのみで皆無です。どう考えてもCのほうが楽というのは目に見えている
ので勉強していきたいと思います。
>>285 ずばり、その通りで学校の課題です。でも、PID制御すること自体が課題で
はないんですけどね・・・
>>288 このイメージがいわゆるPでしたか。参考HP有難うございました。
>>289 とても、分かりやすい説明有難うございます。
あまり、細かい式などは気にせず、そのイメージでプログラム組んでみようと
思います。(期日もせまってきていることですし・・・)
303 :
ごるごるもあ ◆753Z/RLFiY :2008/07/12(土) 03:01:47 ID:/a2gkpx1
dsPICのレジスタが16ビットなんですけど、PORTBに8ビットづつ送信するときどうやって書けばいいですか? ビットシフト8回するしか方法がないです。
304 :
ごるごるもあ ◆753Z/RLFiY :2008/07/12(土) 03:04:31 ID:/a2gkpx1
一回変数に代入してアドレス参照で1バイトずらしたほうが早いのかな。
305 :
ごるごるもあ ◆753Z/RLFiY :2008/07/12(土) 03:12:34 ID:/a2gkpx1
>>299 調べてみたら電源3.3Vだと80MHzまでしか出せないって書いてあったよ。
んで内部発振だと最高60MHzぐらいしか出せないからCPLDで5MHz作って16倍したら80MHzで安定しているwww
んで高速が必要なところをアセンブラに書き直したら当初予想した通り動作するようになったよ。
>>303 あんまりアクロバチックなことしないで、
すなおに
data >>=8 ;
って書いたほうがあとあと悩まなくていいと思うなぁ
1クロックでも節約したいなら止めはしないけどさ。
俺もコンパイラに任せる方がいいと思う。 そもそも、dsPIC だと複数ビットシフトも1サイクルだからべつに遅くないし。
DSP総合スレから来ました。DsPICの質問ですが、 DSP機能を使っていないので本スレに誘導されました。 DSPIC活用ガイドブックという本とDspic30F4013とブレッドボードで遊んでいます。 TRISD = 0b100; //rd2スイッチ入力 while(1){ if(PORTDbits.RD2 == 0b0){ //SW1入力チェック LATDbits.LATD3 = 0b1; LATDbits.LATD9 = 0b0; } else{ LATDbits.LATD9 = 0b1; LATDbits.LATD3 = 0b0; } } 電源から10kΩの抵抗とスイッチ経由でRD2に繋がっています。 スイッチのオンで5Vオフで0Vと、RD2のピンに電圧を掛け、テスターで確認しています。 同様にRD9とRD3に対してもテスターで電圧を測定しているのですが、 スイッチのオンオフに関わりなく、else文の実行結果になります。 で、このRD2のピンにはOC3という機能もあり、そちらが生きており、 I/Oポートの入力として機能していないのではないのか? 例えば、12F675に有るような、 CLRF ANSEL のような記述が必要でそれをしていないのではないのか?と思っています。 その他の原因も含めて、何が考えられるでしょうか? よろしくお願いいたします。
>>309 一部だけを公開して問題がありそうな場所を推理させるより、
全部を公開して問題のある場所をずばり指摘できるようにしてよ。
そのほうが回答者が楽なんだよ。
失礼いたしました。プログラムは以下のようになります。 #include "p30f4013.h" /// コンフィギュレーション設定 _FOSC(CSW_FSCM_OFF & FRC); _FWDT(WDT_OFF); _FBORPOR(PBOR_ON & BORV_20 & PWRT_64 & MCLR_EN); _FGS(CODE_PROT_OFF); int main(void){ ///ポート初期設定 TRISD = 0b100; //rd2スイッチ入力 while(1){ if(PORTDbits.RD2 == 0b0){ //SW1入力チェック LATDbits.LATD3 = 0b1; LATDbits.LATD9 = 0b0; } else{ LATDbits.LATD9 = 0b1; LATDbits.LATD3 = 0b0; } } } このプログラムは入力設定のRD2の状態がHIかLOWかを判断して、 出力設定のRD3とRD9へHIとLOW又はLOWとHIを出力するもので、 RD3とRD9のピンに掛かる電圧をテスターで測定することで、 IF文のどちらのケースを実行したか調べるためのものです。 そして、入力であるRD2へ電圧をオンオフします。 そのオンオフの変化はRD2に掛かる電圧をテスターで測定することで確認しています。 この状態で、RD2へ掛かる電圧をオンオフするのですが、 プログラムはまるでRD2の状態など見ていないかのように、 どんな時もelseを実行します。 で、こうなる原因は何なのだろうか?というのが分からないのです。 よきアドバイスお願いいたします。
312 :
ごるごるもあ ◆753Z/RLFiY :2008/07/12(土) 23:04:21 ID:V8SwVoUH
>>311 1行で書けよバカ
while(1)LATDbits.LATD3=^( LATDbits.LATD9 = PORTDbits.RD2 );
313 :
ごるごるもあ ◆753Z/RLFiY :2008/07/12(土) 23:05:32 ID:V8SwVoUH
while(1)LATDbits.LATD3=~( LATDbits.LATD9 = PORTDbits.RD2 ); NOTの字違ってたから修正。
難解プログラムコンテストじゃないんだから、チマチマ代入すればいいんじゃん。
指摘すると暴れるからほっとけ
つか、その書き方じゃ制御シーケンスの互換性が無いし(w
池沼はスルーで。
LATDbits.LATD3 = 0b1; LATDbits.LATD9 = 0b0; を LATD=0b0000001000; LATDbits.LATD9 = 0b1; LATDbits.LATD3 = 0b0; を LATD=0b1000000000; ってしたらどうなりますか?
319 :
774ワット発電中さん :2008/07/13(日) 03:39:04 ID:/euxwaEN
スイッチがオフのときピンが浮いてるんだろ ピン→抵抗→GNDをつけろ
320 :
ごるごるもあ ◆753Z/RLFiY :2008/07/13(日) 08:22:40 ID:luIMjsfb
PORT入力はPIC内部でプルアップされてるからスイッチONで5Vつなげても意味ないぞwww GNDだったら反応するんじゃねーの。
>>310-311 みなさん、レスありがとうございます。
今、会社の昼休みで自宅に戻っているところです。
あと10分ほどで戻らなくてはならないので、
夜に、レスに沿って確認したいと思います。
>>320 プルアップ設定ができるポートでプルアップ設定した場合だけだよな?
俺は釣られているのか?
H8ってなにがいいんですか?PICでできないことができるんですか?
鬼畜米英…じゃなかった、国産品を愛用しませう
>>323 良い点
・豊富な日本語の資料
・変な制限や仕様上の不備が少ない(無いとは言わないが)
・gccが使える。よってGNUの豊富なツールを比較的簡単に使用できる
・歴史が長く、多くのバリエーションがある。
不満な点
・入手性が余り良くない。秋月取り扱い以外のマイコンでは、少量入手は困難
・DIPパッケージがほとんど無いので、面実装を前提にする必要がある
入手性ねぇ・・・Digikeyにあればそれでいいやと思う今日この頃 今見たら在庫品だけで400種類以上あるんだな
>>319 >>311 >そのオンオフの変化はRD2に掛かる電圧をテスターで測定することで確認しています。
>>310-311 です。
皆さんレスありがとうございます。
>>318 残念ながら、状況に変化はありませんでした。
>>319 同じく状況に変化はありませんでした。
あと、重要な勘違いをしていたのですが、
どんな時もelse文を実行しているではなくて、その反対でした。
つまり、入力ポートRD2をいつもLOWとして認識しているようです。
RD2の電圧は間違いなくスイッチにより0V⇔5Vで変化しているのですが、
PORTDレジスタにピンの状態が反映されていないと言う事なのでしょうか?
とすると、どんな状況が考えられるのでしょうか?
宜しければ、引き続きお願いいたします。
>>328 回路図のUPと
実際の回路を写真にとってUP
dsPICは使ったことないんだけど、8ビットのPICの場合 ・ポートがアナログ入力になっている ・コンパレータがONになっている ・低電圧プログラミング機能が有効になっている あたりだよね。回路に問題がないとすれば。
>>330 最初嵌ったw
しかもデフォルトでアナログとかになってるしw
何を使っても駄目な奴は駄目。
>>329 今、フリーの回路図ソフトを探しています。
UPは数日掛かるかもしれませんがやってみます。
>>330 そのあたりの事でないかと思いつつ、謎のままです。
PICを棄てるなら、オレはdsPIC or PIC24の方がいいぞ。 dsPIC、PIC24は中毒性がある。二度とPICには戻れん。
>>335 すれ違いだが、Bsch のすれなんてあったんだな。
便利に使わせてもらってるので、今度見てみよう。
紹介ありがと。
>>335 レスありがとうございます。
同じフリーソフトをダウンロードしました。
ありがとうございました。
どうでもいいとは思うのだが 1)パスコンが無い。 VddとVssの間に0.1uF程度の積層セラミックを入れる。 2)MCLRは直接Vddに繋ぐのではなく、10kくらいでVddにプルアップする。 3)1MΩが大きすぎる。まずは、これを10kくらいにして、SWの上の10kはとりあえず0Ωにする。 どれも原因とは思えないけど、ちょっと気になる。
つっか、MCLRが直接Vddに接続されていると、ISPできないと思うのだが、 dsPICは別のライターで書き込んでから、回路を組んだ?
>>341 はい、秋月ライター&ZIFソケット仕様です。
秋月ライターは遅すぎなのでPICkit2が欲しいと思っています。
今日は何度もレスありがとうございました。
あっ、間違いました。 マルツライター&ZIFソケット仕様です。
344 :
774ワット発電中さん :2008/07/14(月) 02:36:04 ID:wil4TTtv
こんなことをネットで聞くのは努力が足りないんじゃないか? 学生ならともかく会社員ならわかるだろ? まずVccとMCLRの間に22kΩの抵抗を入れろ。 次にVDDとVSSの間に10μFのコンデンサを入れろ。 LATDbits.LATD3 = 0b1; これだけを書いたプログラムでRD3がオンになることをテスタで確認。オフも同様に確認。 RD9も同様に確認。 次にRD2に直接5Vをつないで動作するか確認。 0Vをつないで動作するか確認。 これやってから出直してこいよカス
どうみても学生だろwww みんなで若者を育ててあげようwwww
346 :
ごるごるもあ ◆753Z/RLFiY :2008/07/14(月) 06:12:45 ID:+1i1PzuP
dsPICのアセンブラには本当に腹が立ちます。MPLABのCとアセンブラで変数共有したんですが、どうやって変数定義したいんだけどどうすればいいのかわかりませんwwww extern int a; extern char b; アセンブラ .global a .global b ????←ここがわかりません。解説も探したけどなかったです。 .text
347 :
ごるごるもあ ◆753Z/RLFiY :2008/07/14(月) 06:14:48 ID:+1i1PzuP
MPLABのCとアセンブラで変数共有したいんですが、変数定義したいんだけどどうすればいいのかわかりませんwwww
348 :
ごるごるもあ ◆753Z/RLFiY :2008/07/14(月) 06:54:13 ID:+1i1PzuP
.global _a .global _b .section work, bss .align 2 _a: .space 1 _b: .space 2 ひとりでできた。でもalignの意味わわからん。
_bが奇数でアドレスエラーだよ。
20MhzのPICを2個組み合わせてきれいに交互に40Mhzとして信号を作り出すことは可能ですか?
>>350 何がしたいのか、明確にしたほうがよいと思う。
PCのサウンドカードのサンプリングレート44.1kHzはどうやって作ってるのかなとおもったんですが、 PIC複数でつくれないのかなと思いまして。
353 :
774ワット発電中さん :2008/07/14(月) 12:23:38 ID:IBas/68E
14.12MHzの水晶使えよ…
あ!!!すいませんkとMを勘違いしてました 今日めちゃくちゃ暑くないですか?
土曜日は耐えられないほど暑かったが今日は大丈夫
>>357 そう。16F675をWEBサーバーのシリアルポートにつなげて1分間隔でDBに取り込んでる。
>>358 × 16F675
○ 12F675
>>359 Product Family若しくはDatasheetの項目。
CCPという文字列がないな
>>358 なかなかやるね
最近、暑いからデータ取るのも面白そうだね
>>359 PIC18以上は多分、どれもPWM機能がある。
PIC16以下の場合、Timersの項目に「2 - 8-bit」とあるやつを選ぶ。
PWM機能があるのはTIMER2だから、おそらくこれで合ってる。
>359 リスト上部にある"Switch Views"で”Show All Specs”を選択して”Capture/Compare/PWM Peripherals”の項目を見る
どうもです!
PICを使った大人のおもちゃマダー?
>>366 縦は1℃の目盛りで0〜40度。
横は1時間の目盛りで0時から24時。
ちなみに若干ノイズっぽく見えるのはセンサがスイッチングダイオードなので熱容量が小さく
窓を開けておくと微妙な空気の流れでの温度変化に追従するから。
寒い時期で窓を閉めてる時は綺麗な曲線になる。
>>362 携帯からも見れる様にしてあるので外出先から帰る時
部屋の温度が下がるまでビールでも飲んで時間つぶしたりするよ。
急に温度が下がったら夜眠れなくなると思うんだ
俺の部屋なんて最近は夜でも気温30℃湿度60%以上で下手すりゃ昼の日中より暑くて眠れないぜ…
>>368 結構精度よさそうに見えるけど、校正はどうやったの?
PIC16F84AとPIC12F675でツマラナイ回路を作っています。 例えば、朝一番でACアダプタ(余裕の4A)をコンセントに刺して数秒でこの回路の電源スイッチを入れた場合。 PIC12F675は正しく動作しますが、PIC16F84Aは動作しません。 電源を入れ直すと直るのですが、原因が分かりません。 一度、起動した後は殆ど起こらないのですが、朝一発目とかになりやすいのです。 昇圧回路を含んでいるので、突入電流というものがあると聞いた事があります。 または、突入電流によって一時的に電圧が低下するとも聞きますが、 とんな原因が考えられるものでしょうか?
>>373 ブラウンアウトリセットはイマイチ。
確実なリセットは、外部リセット回路を組んだら解決すると思う。
>>372 温度計をセンサにセロテープで固定しておいて気温が高いときと低い時の読みを計算式にいれた。
DBにはADの値がそのまま整数値で格納してあるので、WEBアクセスが在った時に温度に変換してグラフを描画してます。
84Aって、リセットタイマー付いていたなぁ。 ブラウンアウト検出だけじゃなくて、もし付いていればリセットタイマーもONにした方が良い。 あと、/MCLR端子は、ちゃんとプルアップにしてる?
>>377 ウォッチドッグタイマの使い方は違うと思うよ。
>>378 いや、WDTきちんと使えば
正常メインループ動作でなければリセット掛かるから・・・
16F689でCCS Cコンパイラを使っています。内部オシレータは8MHzでCCSCのバージョンは4.075です。 タイマ1で1mSecの割り込みを作りたいのですが、 #use delay(internal=8M) #use rs232(BAUD=9600, XMIT=PIN_B7, RCV=PIN_B5) // タイマー1の設定 // カウント値=インターバル時間 / (CPUクロック×4) // =1mSec / (8MHz × 4) // =1mSec / (125nSec × 4) // =0.001 / 500nSec // =0.001 / 0.0000005 // =1 / 0.0005 // =10000 / 5 // =2000 // 2000 / 2 = 1000 // 65535 - 1000 = 64535 setup_timer_1(T1_INTERNAL | T1_DIV_BY_2); set_timer1(64535); // 割り込み許可 enable_interrupts(INT_TIMER0); enable_interrupts(INT_TIMER1); enable_interrupts(GLOBAL); だと、33mSecになってしまいます。 どこが間違っているのでしょうか?
381 :
774ワット発電中さん :2008/07/15(火) 00:43:31 ID:x6iWZwyD
質問なのにいつもの癖でsageちゃいました。すいません。
>33mSecになってしまいます。 「何が33msになってしまうのか」が書いてないぞ。 念じてから閃くまでか?
>>377 ちゃうちゃう、パワーアップタイマー(PWRT)のこと。
リセット信号がOFFになってから、一定時間リセット信号の長さを維持するタイマーのこと。
これを使うと、電源ON時の起動が一気に安定する。 蛇足だけど、CPUが複数ある場合は、リセット後の動作開始タイミングを合わせるために、 一方のCPUのI/Oポートから他方のCPUにリセットを掛けるようにした方が無難。 リセット解除タイミングズレがあると、一方は動き出したけど他方はまだリセット中で、 相互のやりとりがうまくいかない・・ということもある。
>>382 #use delay(internal=8M)
void main(void)
{
setup_timer_1(T1_INTERNAL | T1_DIV_BY_2);
set_timer1(64535);
// 割り込み許可
enable_interrupts(INT_TIMER0);
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
while(1);
}
static BYTE flip=0;
#int_timer1
void intval_timer1(void)
{
flip = ~flip;
output_c(flip);
}
こんな感じです。
これでLEDがHiの期間とLoの期間が33mSecです。
書きながら気が付きました。 割り込みの中に set_timer1(64535);がないって話ですね・・・orz
#include <16f876.h> #fuses HS, NOWDT, PUT, NOPROTECT, BROWNOUT, NOLVP #use fast_io(c) #use delay( CLOCK = 20000000 ) void main(){ long duty; set_tris_c(0x00); setup_ccp1(CCP_PWM); setup_timer_2(T2_DIV_BY_4,0xFF,1); duty = 500; set_pwm1_duty(duty); } CCP1ピンからなにも出力されないんですけど、これであってますか?
>>387 1. MPLAB SIMで、CCP1ピンに出力されてるかどうかを確認せよ。
2. 出力をON/OFFし続けるだけのコードで実行して、コードが実行されているか否か
(出力がON/OFFするかどうか)を確認せよ。
どっちもだめでした・・・
PICに接続して使える外部メモリで一番簡単に実現できるものってなんですか?
392 :
774ワット発電中さん :2008/07/15(火) 18:47:00 ID:x6iWZwyD
>>387 main関数がおわらない様に、下で無限ループしてみたら?
>>387 つまり、main関数の中身をまるごと
while(1){
}
で囲むってこと。
main丸ごとはまずいでしょ。 やるなら、set_pwm1_duty(duty); のあとに、while(1){}でしょう。
CCS-Cってmain()抜けるとどうなるの? HITECH-Cはmain()へ再び飛んで来るんだが...
>>391 >>393 ありがとうございます。EEPROMのROMって再書き込みできないって意味じゃないんですか?
そこの一覧の下にRAMってのがあるんですけど、PICで読み書きするならRAMがいいんですか
あでもROMの説明にフラッシュとかいてあります。よくわかりません。
>>398 「PICで読み書きする」だけが条件なら、EEPROM・RAMどちらでもよい。
どっちも読み書きできるメモリだ。
そうなんですか。RAMのピッチがブレッドボードで使えなさそうなのでROM買います。ありがとうございます。 外部メモリが必要になるとは思いませんでした。これで作れる物の幅が一気に増えますね!
そんなに憎らしいなら使わなければいいのに。
叩いても割れないから…AVRにおいで。
PIC Cコンパイラで、変数の配列はなんで容量MAXまで振れないんですか? 配列の限界数っていくつなんでしょうか。
>AVRにおいで。 リンク先を読めば分かるけど、ブログ主はAVRな人です。
SFRとかあるんだから容量MAXまで振れるわけないじゃん。
たとえば、PIC16f876のSRAMが368になってるんですが int16 a[80]; はエラーになるのに、 int16 a[40]; int16 b[40]; だとコンパイルできるんですが、この配列最大数はどうやって求めればいいんですか?
PIC間のSPI通信中に、割込みが発生して、 他に処理が移って、その処理が終了した場合、 何事も無かったように復帰して問題なく通信は行えるでしょうか? それともSPI通信中には割り込みが発生しないように設計しなければならないのでしょうか?
412 :
411 :2008/07/16(水) 19:39:01 ID:v2eoHfZu
ついでに例えば、DSPICを100Mhzで動かした場合でも、 特に問題なく行われるとの理解でよろしいでしょうか? あえて遅くしなければならないなど考えなくても良いのでしょうか?
>>409 だから、PICの品種とコンパイラ次第だと言うとろうが。
品種がPIC16F876ということだけは分かった。
>>410 そのSPI通信のプログラムが、途中でいったん処理を止めてから処理を
再開しても問題なく動作するものであれば、通信中に割り込みが
発生しても問題なく通信は行える。
そうでなければ、問題が発生するかもしれない。
CCS Cコンパイラです!
>>415 int16 a[80];は何バイトを占有するか分かる?
int16 a[40];の場合は分かる?
次に、PIC16F876のメモリマップ(Register File Map)は見たことあるか?
なかったら、PIC16F876のデータシートをダウンロードして見てみろ。
Figure 2-3にある。
占有するバイト数とメモリマップを突き合わせてみると、何か気づくことが
あるかもしれん。まずはそこから考えてみろ。
> まずはそこから考えてみろ。 考えてわかればこんなところにいない
>>417 ヒントを提示されてるのだからそれを元に考えて見るのがいいんじゃまいか。
まあ、コンパイラの吐くエラーメッセージを理解しようとしないのと
提示されたヒントを理解しようとしないのは相通じる物があるけどな。
>>417 勘のさえる人ならメモリーマップみて、
連続したエリアが取れないと分かると思うんだが。
エラーメッセージ出ると思うし。
最近答えだけを求める人が多くて大変ですね。
あと、購入者なら購入元に英文で聞いてね。
たいていのBBSやメーリングは善意で答えているから。
PICのソフト組むなら、ハードの勉強もしておけよ。 メモリ容量や動作クロックが無制限だと思いこんでいたら 永久にうごかないぞ。
>>417 ここの住人は性格が悪いから口も悪い。
しかし教えを請うためだから切れないで頑張れ。
怒ったほうが負けなんだよ。
「森北出版図解PICマイコン実習」という本でPIC16F84Aを使ったアセンブラ言語の勉強をして いるのですが、プログラムの解説が非常にわかりにくいので、もっとわかりやすく書かれた参考書は無いですか?
俺は後閑の本とサイトで学習した(以前はこの人の本位しか近所の本屋には無かった) でも最近はもっといい本やサイトがいっぱいあると思うけど…
>>419 >連続したエリアが取れないと分かると思うんだが。
だからPICなんて○○なんだよな。
素直にAVR使えってこった。
dsPICとかPIC24でもいいけどな
だな
PIC18でもいいけどな。
yaneuraoだって、PICに切れまくっている割に、結びでは 安くてIOが取れるのはこれしかない。っていっている。 つまり、トータルで考えて使えと言うことなんだよな、 PIC12F629だって市販100円で買えて2Vから動いて、待機電流を100ナノアンペア以下にでき、 Cで開発できるデバイスなんて早々ない。 まずは何をするかを考えるのがいいのだが、手段が目的になってしまうのは 技術者の性でもあるよな。
ASM30でdsPICを動かそうとしているが、Pic16に比べ敷居が高すぎ。 探したのですが、ASM30に関するサンプルが見つかりませんでした。 ニーモニックの種類そのものはマイクロチップのサイトから落としましたが。。。 コンフィグの書き方や変数宣言で早くも壁にあたってます。 どこかに簡単なコードのサンプルないでしょうか?
dsPICをアセンブラで動かすとは、相当な猛者ですな dsPICはよく分からないけど、24Fだったらリファレンスマニュアルにぼちぼち載ってたような 覚えがある。漏れはCしか出来んから読み飛ばしたけど。 一旦Cで書いて、コンパイラが吐いたアセンブリリストを見るってのはどう?w
愚痴……客先がうぜえ。 16F689でいいだろ、\40ぐらいしか変わらないのに677に拘るなよ。 こっちはCCS Cなんだよ、そっちでアセンブラコード解析して短縮方法渡されても困るんだよ。 MPLABインストールしてアセンブラでやれってか? そもそもあんたまだ最終仕様決めてないじゃねーか。 コード短縮でアセンブラ眺める暇あるならさっさと仕様決めてくれ。 どうせ仕様決まったら短縮しようが677だと入りきらない事はこっちにはわかってんだから。 ……大企業の研究者様は何考えてるかわかんねえ。
PICKit2のstart と Debug版は何が違うんですか? 調べると、18F 30Fなど対応してると、してないという情報がごちゃまぜなんですが
なんで、販売元のカタログ見ないの? ファームは更新されてるから、情報はどんどん変わるよ。
433 :
ごるごるもあ ◆753Z/RLFiY :2008/07/17(木) 05:22:54 ID:9e+TlWdO
MPLABのDisassemblyをアセンブラに変更する方法 ・バイト命令をワードに変更 例:mov.b #0x12,w0 →mov.w #0x12,w0 又はmov #12,w0でも可 ・メモリ直接指定を変数又はレジスタに変更。例えば0x0002ならw1、0x0034ならPSVPAG 詳細はdsPIC30F/dsPIC33F Programmer’s Reference Manual Core Register Map参照 アセンブラにすることでサイクル数を1/3ほど減らすことができる。つまり3倍高速化する。
>>430 >どうせ仕様決まったら短縮しようが677だと入りきらない事はこっちにはわかってんだから。
仕様が決まってないのに…もしかしてエスパー?
まあ、入りきらないのが判ってるならその旨伝えれば良いし、その理由が高級言語しか使いたくないもしくは使えない、からなのであれば
余計、伝えておく必要があると思うよ。先方はアセンブラで組めば入る事が判ってて君の能力を見切ってるのかもしれない。
それから、無いとは思うけど量産なら40円はでかいと思うよ。
>>428 C:\Program Files\Microchip\MPLAB ASM30 Suite\Support\templates\assembly
を見れ。サンプルあるぞ。
>>430 あるある。
コストとか納期とか意識する担当者と技術面だけを見る担当者が分かれてると、
そういう方面に走る技術面担当者が付いてしまうことがあるね。
そういうのは理詰めで鼻を折るしかないから、面倒なら適当に放置で。
>>437 PROはフリー版ではなく45日の期間制限のある体験版です。以前からあります。
PICの20Mhz内部48Mhzってやつは20Mの発信子を取り付けて、Cコンパイラのクロック設定は48000000にしていいってことですか?
変態picが好き
442 :
774ワット発電中さん :2008/07/17(木) 11:58:34 ID:SECHqsn9
PIC16F689の内蔵EEPROMのサイズはPeripheral Featuresの下にある表でわかったのですが、 開始アドレスはどこを見ればいいでしょうか? CCSCでソフト書き込み時にEEPROMにデータを書き込みたいのですが、アドレスが見つけられずに困ってます。
>>439 違うと思うけど、具体的に品種(Device)を書いてくろ。
(48MHzは 12M x4(PLL) か 8M x6(PLL)だと思う)
>>442 PIC16系なら 内蔵EEPROMの先頭は0x2100だな。
ccscでは
#ROM (0x2100) = {0,1,2,3, 0xff} みたいに書けるよ。
445 :
442 :2008/07/17(木) 12:37:29 ID:SECHqsn9
>>444 ありがとうございました。昼飯食ってる間に回答が頂けるとは!
ちなみにデータシートで0x2100で検索かけてもみあたらなかったのですが、
もしかして、PICのプログラム用のドキュメントって別にあったりします?
>>442 書込み・読込関数で指定するアドレスは 0〜255
初期値として書き込みたいなら
>>444
>>445 既に正解が出てるが・・・内蔵EEPROMの開始アドレスは0。
プログラムコード(フラッシュメモリ)、ファイルレジスタ(RAM)、EEPROM、
すべて独立したアドレスを持っている。
0x2100〜ってのはHEXファイルの書式で、メモリの開始アドレスとは関係ない。
HEXファイルの書式は PIC12F6XX/16F6XX Memory Programming Specification
に載ってる。
>5.3.2 EMBEDDING DATA MEMORY CONTENTS IN HEX FILE
(中略)
>The 256 data memory locations are logically mapped starting at
>address 0x2100. The format for data memory storage is one data
>byte per address location, LSb aligned.
>>447 とりあえずデータシートに書いてあるからよく嫁。
>>447 それはリンク先の回答を参考にデータシート見ればわかるだろう。
USB内蔵のPICは PLL Prescaler(PLLDIV)の分周設定次第で自由度高いな。
÷1/÷2/÷3/÷4/÷5/÷6/÷10/÷12 とか選べるから
外部発振子は4M/8M/12M/16M/20M/24MHzなど どれでも48MHz動作が可能。
ありがとうございます。そんな機能があるんですか。40Mhzで480Mhz動作とかも今後できるようになるんですかね 英語ができないでPICやってる人っていますか?翻訳ソフト新しいのにしようかな・・・
>>452 実際、dsPICの中には内蔵ペリフェラルが480MHzで動作する品種もある。
ところで、英語できないでPIC使うのであれば、日本語ドキュメントのある
dsPIC/PIC24を使うのが無難なんでないかな。
もうあるんですか!パソコンが動きそうですね 12Fからどんどん次のが欲しくなってきますが、最後はインテルの3GのCPUで電子工作できるようになったら最強でしょうか 日本語マニュアルで頑張りますありがとうございます。
>最後はインテルの3GのCPUで電子工作できるようになったら最強でしょうか _
ユニットの組み合わせならともかく、素人工作で高周帯扱うのは無理です
>>440 今までmikrocだったけどMPLABに統合できるしこっちに乗り換えよ。
情報ありがと。
458 :
ごるごるもあ ◆753Z/RLFiY :2008/07/18(金) 05:36:17 ID:lfbK8H0l
dsPICでDSP使った掛け算&割り算関数誰か作れ。誰も作らなければ折れがやる
DSPってなに?一言でお願い
調べていまいちピンとこない部分を含めて一言でお願い なにができるものなの?
演算
積和演算
ごめんそれをつかっていままでできなかったもので、なにができるようになるの?
パソコンは何に使えますかみたいな質問だな。 だから演算。 積和演算とか飽和演算とか、高速に出来る。
よくわかんね、まだオンとオフだけでいいや
467 :
ごるごるもあ ◆753Z/RLFiY :2008/07/18(金) 10:26:01 ID:lfbK8H0l
DSPで画像処理や音源などマルチメディアができる。 普通のPICではCPU負荷大きすぎてできねー。
デジタル信号処理
使うヤツの腕次第です
dsPicって、 mov #0x0000,W1 mov W1,TRISB NOP mov #0x000F,w0 mov w0,PORTB だけで、ポートを出力ONにできないの? MPLABでPORTBをヲチしても、PORTBが0のままなんだけど。。。
472 :
774ワット発電中さん :2008/07/18(金) 23:38:09 ID:KtOmtSUZ
すいません。dspのライブラリを使いたいのですがdspic language tools librariesって もうDownloadできないのでしょうか?
>>309 dsPICには、30F4012のように初期でBポートがアナログモードの設定になっているものがある
デジタルで使いたい時はレジスタでデジタルモードに設定してやるといい
DSPIC活用ガイドブックに乗ってる
474 :
774ワット発電中さん :2008/07/19(土) 01:38:56 ID:dGr3yYL8
PICのことを勉強したいんだがド素人でも理解できる本あったら教えてくれ
やめとけ
>>474 「ド素人」もピンキリで、理解できるかどうかは人それぞれだから、
当人が実際に読んでみないことには何とも言えない。
近所に大きい本屋があるなら、そこに行ってPIC関連の本を片っ端から
立ち読みしてみることを薦める。それでダメそうだったら、
そのダメそうだった本の書名を挙げた上で、ここで改めて質問すれば、
そこを基準にして他の本を薦めやすい。
これを読んでるひまないなら、PICをどうぞ。 かと思ったよ。
>>477 > PICを叩き壊してやりたいほど憎らしい17の理由
>
http://d.hatena.ne.jp/yaneurao/20080723 概ね了解だが、
>・秋月のPICライターが使いにくい。ヒューズビットはhexファイルから読み込んだものを反映させて欲しい。
>・秋月のPICライター、書き込みが遅すぎる。たかだか361B書き込むのに(実際はFLASH全域だから8Kwordだが)42秒もかかる。
これはオカドチガイだと思うw
yaneurao@ だだもれ
>>478 サンクス
近くの本屋で本探して見ます!
秋月ライタに依存してる時点で負け。
なんか 2chの規制に巻き込まれて今まで書き込めなかった orz
>>172 > 平コンタクトのICソケットに挿して、それをソケットに挿す。
俺は
>>174 の これに賛成。
PICを平ピンのソケットに刺した状態で それごと抜き差しすると楽。
485 :
774ワット発電中さん :2008/07/19(土) 13:52:46 ID:rNCNhOnb
PIC 16F689でMPLABとCCSCを使っています。発振器はつけていません。 最初に #use delay(internal=8M)で、8Mにして動かしているのですが、 条件によっては、速度を変えたくてsetup_oscillator(OSC_31KHZ); としました。 CPUのクロックは確かに変わったのですが、delay_ms()が使えなくなりました。 そりゃそうだと思うのですが、クロックを変えてもdelay_ms()が使えるようにできますでしょうか?
>>485 delay_ms()のソースなんで読まないの?
delay_ms()に与える周波数はコンパイル時に与えてるんじゃないの?
だとしたら、そんなの実行時に変更できるわけないでしょ。
ms単位のアバウトなwaitでいいなら、間にワンクッション入れるとか。↓
void my_delay_ms(int n)
{
delay_ms(n * my_F_OSC / F_OSC);
// F_OSC : コンパイルしたときに設定した周波数
// my_F_OSC : 現在の動作周波数
}
>>485 出来るよ。#use delayは何度も定義できる。
でも、ソフトrs232とかあると影響するし
何度もやり過ぎるとサイズでかくなるかな。
488 :
485 :2008/07/19(土) 14:49:55 ID:rNCNhOnb
>>486 delay_msのソース探したのですが、どこにあるか分からなくて。
とりあえず、ms単位なので、8Mの時の258分の1のdelayをかけるようにします
ありがとうございました。
バージョンのバグかもしれんがとりあえず#use delay(clock=31000)とか書いてみたらどうだろうか? internalは内部の設定だけに使われてdelay関数への反映が行われていないのかもね?
delay_ms()のソースなんてないし、定数を与えると定数にあわせて動的に
インライン展開されるから「ソースを読め」は的外れだよなぁ。
とりあえず
>>489 が正解。クロック設定を変えても#use delayの設定は
変わらないから、必要に応じて自分で#use delayを入れればおk。
16F887のI/Oの数なんだが、data sheetには35本って書いてあるのだが (秋月の商品説明なんかにも35と書いてある)、俺にはGND,Vccがそれぞれ2つで 40pin - 4 = 36にしか見えないんだ。 俺が何か見落としているのか?どこかにI/Oとして使えないピンがあるのか?
NECに移行すべき。 なんと言っても日本語! とか、言ってやれよ〜
はっはっは、そんな馬鹿な話が……って確かにI/Oは36有るな。 データシートのSUMMARY見ても RA、RB、RC、RDが8でREが4の計36。 でもデータシートの最初のページにはIOが35と書いてある……?
>>493 うん。そうなんだ。
俺敵にはMicrochipの連中は引き算(足し算?)も出来ないという結論に
なったのだが。
他のデータシートでも結構間違いあるようだよ。 特にVpp/MCLRピンをPort入力に使えるかどうか Deviceにより いろいろあって数え間違うみたいw
RE3 は、入力専用だから、I/O としては 35 が正しいと思う。 ただ、Web には 36 pin とか書いてあったりして、ちょっと混乱してるんだろうな。 そう言う意味では、35.5 が正しいかも。(w
あやしいピンは、I/Oとして使わないのがPICの鉄則www
499 :
774ワット発電中さん :2008/07/21(月) 03:16:35 ID:vcFaF/X/
なんだこのとんち問答w
500 :
774ワット発電中さん :2008/07/22(火) 01:05:41 ID:nJwz6/zw
アセンブラならPIC16かな。命令数が少ないから全部覚えられるし。
両方やった俺からすれば、PIC16のほうは○○○○が作っているとしか 思えないほどの書きづらさだったけどな。 レジスタに直交性が無いのと、他のプロセッサの命令とずいぶん違うのと 何をするにも FとWレジスタに対して操作しないといけないので参った。
PICの方が歴史があるからマクロライブラリが充実してて、アセンブラで全く問題なく書ける。 よって、品種の多いPICを使う事が多い。
>>503 マクロライブラリが何を指すのかは知らないが、
PICのほうは、アセンブラでの資産があるというのは同意。
ただ、普通は既存の資産を組み合わせるだけでプログラムが完成するわけでもないので
自分で書かないといけない部分が書きにくいのは嫌だな…特にそれが大きければ大きいほど。
Cで書けば命令セットの制限はほとんど気にかけずに済む。 他のCPUに移行するときも、ソースコードを一部修正するだけで 済む。 あえてアセンブラで書く必要性は無いと思うが。
まぁ、C言語使えるといっても、他人の作ったものをコピペしか出来ない輩も多いので、そんな人には PICでC使うと、一手間必要なこともあるので、AVRがお勧めかもね。 僕は、PIC専門だけれど、なんでっていわれても、特に困っていないからとしかいえないなぁ。 しかも、PIC12,16,18で間に合っていって、その先に行く機会に会わないし。 それよりか、SO-8,のPIC18でないかなとか、TSOP14のメモリいっぱいのやつでないかなとか 思いつつけております。なんで、16F688には、PWM出力無いんだーーー
流用が前提なら採用しているメーカの多さで8051が一番だけどね PIC使ったのはずいぶん昔に16F84だったかをもらったときに面白半分に2週間くらい かけてPS/2のマウス/キーボードに見せかけるアダプタ作ってみたのが最初で 最後だけど、ずいぶん楽な設計しやがったCPUだなという印象だけ残ってるな 最小限の機能だけで楽に作って、あとはソフトで頑張れっていう姿勢かな?
もう慣れちまったからPICでいいや。
>>506 CPUに対する要求仕様は人それぞれのようですね。
私も小ピンでメモリの大きなDIPパッケージのあるCPUが
ほしいのでPIC24に移行しました。
そう考えるとPICって日本のメーカーにはないCPUを
揃えてくれていて有難く感じます。
どっちでも構わないが、PICの方が入手性がよい。 手に入り辛いなら意味がない。 よて、PICを使ってる。
>>477 AVRに誘導したいなら、入手性をなんとかしろよ
>>511 俺は、PICとAVRは秋月で買っている。
秋月の品揃えはAVRもそんなに悪くはないと思うんだが?
みんなは俺の知らないところで買ってそうだな。
どこで買ってるのか良かったら教えて。
PICKit2でどうやってdsPICとか焼くの?
514 :
774ワット発電中さん :2008/07/22(火) 13:26:09 ID:WTgv33y7
>>512 普通にコンビニとかで買えるようになったら許してやるお(藁
どうやってって・・・どうやったら分からないなんて状況になるんだ・・・ 1. PICkit2 Programmer(専用書き込みソフト)をインストール 2. PICkit2 Programmerを起動 3. Device Family ⇒ dsPIC30, dsPIC30 SMPS, dsPIC33等を選択 4. HEXを読み込んでWriteで書き込み
>>515 PICKit2は俺は使ったことはないのだが、
ISPで書き込むためにZIFソケット用意したり、
target電圧用意したりするところから説明したほうが良いのでは…。
>>517 ISPで書き込むためにZIFソケット用意したり
ZIFソケットはイランだろ。
他人の作例をコピペするだけとか、量産する場合は別だけど。
何でPIC厨にはZIF中毒が多いのかね?
作例コピペ厨が多いから・・・・・だろw
よくわからないが、何かをつくらなければできないんだな? 8千円だまされた・・・
何を問題にしてるのかよくわからないが、まさかPICに書き込むことだけが 目的じゃないだろ? PICを使うために何かを作るんだから、書き込みも できるように作ればいいだけ。ピンヘッダ1個、ほんの数十円の部品の 追加で済むこと。
> PICを使うために何かを作るんだから、 まあ、確かにそうなんだけど... 本末てn(ry
> PICを使うために何かを作るんだから 何かとは書き込み器のことだな!
>>528 そうだな!!
PICライターでPICライターを作ろう!
PICKIT2の中にもPICあるし、 工作機械は工作機械でつくるし。 それを騙しと言えるかどうかねぇ。
> PICを使うために何かを作るんだから ワロタ、ここの住民は殆ど当てはまってるだろ
道具の為の道具を作るのがヒトとサルの違いデスヨー
基盤と現像するやつとかも買わんといけん どうせ現像するならPICKitごと作ったほうがいいじゃないか回路図を見つけてしまった 8000円・・・意味ねー
PICkit2クローンのPICを焼くためにPICkit2を買うんですね。
535 :
774ワット発電中さん :2008/07/22(火) 21:19:54 ID:8Q5d/NmS
PIC初心者で恐縮なのですが、dsPIC活用ガイドブックを見つつ、汎用モジュールを作成して ちゃんとA/D出来ているかを、256個の配列にA/Dした値を入れました。 ちなみに入力は1Khzの正弦波を入れました。 ICD2のデバック機能を使って、Watch窓にて配列の変数を確認すると配列の18個までのデータが、なんとかmemory(すいません忘れてしまいました) と表示されています。 dspicworksで確認したところ、それ以降は正しくA/Dされているのですが・・・ だれかご教授お願いします。 使用しているPICはdspic30F4011です。
PIC(に限った話ではないけど)をCで記述すると、電源投入直後のI/Oの状態は保障できないのでしょうか? 正確には、電源投入直後からI/OPort設定の記述を読み込むまでの極短時間ではありますが....
>>520 >だけど肝心なことを忘れてないか? 俺達はみな変態なんだぜ(゚ー゚)
確かにそうだったなw
538 :
774ワット発電中さん :2008/07/22(火) 22:18:50 ID:BsmcBv1o
>>536 デバイス自体の電源投入直後(パワーオンリセット直後)の状態は、デバイスの
データシートに書いてある。
その上で、高級言語のライブラリがどんな初期化をするのかは、使う高級言語の
マニュアルかライブラリのソースか逆アセンブルリストを参照するしかない。
マニュアルに記述がなく、ソースもなく、逆アセンブルもしたくない場合、
初期化状態は不明としか言いようがない。
>536 >538に追加すると、デバイスのリセット状態は普通インプット状態、さらにアナログ入力があればアナログ機能オンが大抵の場合初期状態になってる。 理由はアウトプットだとピンに繋がってる物次第で短絡になって壊れる恐れがあるし、 入力もデジタル入力のピンに1/2Vccとかハンパな電圧が入ってた場合にラッチアップで破壊される恐れがあるから。
>>539 × ラッチアップで
○ 貫通電流で
細かい指摘でスマソ
541 :
774ワット発電中さん :2008/07/23(水) 00:29:53 ID:BRxJhhD1
>540 指摘サンクス。
542 :
774ワット発電中さん :2008/07/23(水) 02:24:51 ID:Cm9ciHZY
ライタが作りたいだけならAVRもいいぞw 昇圧回路も要らないしUSB接続のがワンチップで作れる。
543 :
774ワット発電中さん :2008/07/23(水) 03:07:42 ID:BRxJhhD1
いっそAVRでPICライタを作れw
そしてPICでAVRライタを作るんですね
546 :
774ワット発電中さん :2008/07/23(水) 08:16:15 ID:ZIafkuUK
PIC16F648Aで作るAVRライタを読むとPICの細切れRAMの障害が痛すぎる。
そろそろライタ以外のものを作らないか
だが断る。
模型コントローラばかり作ってる
誰か飛びっ子の回路組んでくれよ。スレタイもおとなのおもちゃ!なんだからさ。
>>551 豆粒PIC(PIC10F)を女子の豆に取り付ければいいじゃないですかね?
せめてシリコンコーチングぢろよ
PIC CでPIC16系用の割り込みルーチン書いてるんだが、変数、volatileつけようが atomicじゃないんだな。これ、ひどいな。 実験はしていないが、割り込みルーチンでvolatile int型の変数を0x7fffからインクリメントしたら、 割り込みルーチンの外でその変数を読み出すと0x7fff→0x7f00→0x8000ってなるんだろうな。 atomicにアクセスしたいなら一時的に割り込み禁止にするべきなのか? di()にしておいて、ei()に戻したときに、この割り込み禁止時間内に来たUSARTのデータなんかは、 ei()にした瞬間割り込みがかかって、(1バイトだけなら)取りこぼさないと理解していいのか?
はい露光失敗したー いつになったらライタ完成すんね!!!
俺、554だがdi()で割り込み禁止にすると普通にUSARTの文字とりこぼすな。 タイマー割り込みだけ禁止か、タイマー一時停止させてもいいが、そうすると その期間タイマーがわずかにずれていくんだよな…。 idle中に頻繁にtimerの値を取得して、タイミングを調整するようなプログラムなので、 これもまずい…。 そうなると割り込み中でincrementするtimerを8bitにするとか(実用性に乏しい)、 割り込みの外からtimerの値を参照するときは2回アクセスして正しそうな値のほうを採用するとか。 何にしても割り込み中でインクリメントしているint型の変数の値を割り込みの外の関数から 取り出すだけで一苦労だな、これ。
557 :
485 :2008/07/24(木) 19:00:42 ID:ZlAQhDcI
>>554 PIC Cは触ってないので、的外れかもしれないけど、intって1バイトじゃないの?CCS Cだと1バイト。
>>554 まてまて何か話が妙じゃないか?
メインでインクリメント途中に割り込み入る場合のことか?
あと一時割り込み禁止の場合も短時間ならOKだろ。
USARTもダブルバッファだし 1byte分程度ならなんとか・・・
まぁ no waitで連続受信だと、そうも言ってられないが。
あ、スマソ メイン側の参照途中に割り込み側で変数変化の場合だな。 まぁ一時禁止はやむを得ないだろ。 割り込み処理は極力短くすりゃ問題なさそうだが。
>>557 PIC Cはintは2バイトなのです。
>>558 > メインでインクリメント途中に割り込み入る場合のことか?
逆です。1msのone shot timerで割り込みをかけて、割り込み処理中にインクリメントするのです。
ところがこの変数が2バイトなので、atomic性がないのです。
具体的に書けば、割り込みの外の関数内で
my_timer = timer;
のような代入文があるとして、timer = 0x00ffのとき、この代入の下位バイトが代入された瞬間に
タイマ割り込みがかかり、timerのインクリメントが行なわれた場合、timer = 0x0100になりますが、
その割り込みハンドラから抜けて、上位バイトをmy_timerに代入することになるので、
my_timerの値は0x01ffになります。
> あと一時割り込み禁止の場合も短時間ならOKだろ。
それがdi()〜ei()する実装だと、文字をぼろぼろ読みこぼしました。
原因はよくわかりません。タイマを一時的に停止させる実装なら読みこぼす問題はないのですが
Idle中につねにtimerの値を監視したいため、頻繁にtimerの値を参照しなければならないので
5%ぐらい進みが遅くなってタイマとしての使い物にならなくなってくるのです。
>>560 2回連続で読みだして、同じだったら正しいってことにしといたら?
同じじゃなければ、次の読みだした値を正しいものとする。
>>559 レスが入れ違いになりました。すみません。
> まぁ一時禁止はやむを得ないだろ。
なのですが、>560で書かせてもらったように、タイマとしての精度に問題が出てくるので
割り込み禁止は今回の場合、使えないのです。
そこで、次のように解決しました。
割り込みルーチンのなかではtimerはインクリメントしかしないので
割り込み外ではこの値を連続で2度読みして、
1) 2つの値が同じ→問題なし
2) 2つの値が1違い→大きいほうの値が新しい値なので大きいほうを採用。
ただし0xffffと0x0000なら0x0000のほうを採用。
3) 2つの値の差が0xffなら、上位バイトは大きいほう(ただし0xffよりは0x00が
大きいと扱う)を採用し、下位バイトは0とする。
ただ、実は、この変数はintではなく、unsigned longでして、4バイトなので
上のアルゴリズムの4バイト版を作らなければならず、結構面倒なのです。
レジスタが8bitなのが本当に恨めしい…。
>>561 なるほど!!! >562 を書いた自分が馬鹿みたいです…。
無事に解決したようでなりよりです。 volatile は最適化抑止のための指定なので、atomicかどうかとは関係ないですよ。
インクリメントで問題が発生するのは桁上げが発生するときで、 最下位がFFHから00Hになったときだから、最下位がFFHの時には 二度読みするなんていう実装したりしてな。 >それがdi()〜ei()する実装だと、文字をぼろぼろ読みこぼしました。 >原因はよくわかりません。 こういうのを放置して、とりあえず動いたからいいや・・なんてやってると 後で痛い目をみたりするんだよな。 遊びでやってるだけならどうでもいいけど。仕事だったら許されないな。
全体がいまいち掴めないので単なるアドバイスとして聞いてくれ。 タイマー精度の件だが・・・ 割り込みでTimer値の再set時に += で補正する手もある。 但し受信も割り込み処理なら高頻度で割り込み入ると影響大きそう。 ともかくCCP使えるようなら Timerオーバーフロー割り込みの代わりに Special Event Trigger使ってみたらどう? Timer値の範囲が違ってくるので要注意だが、 たぶんオーバーフローより扱いやすいと思う。
>>565 > 最下位がFFHの時には二度読みするなんていう実装したりしてな。
なるほど!!
> 遊びでやってるだけならどうでもいいけど。仕事だったら許されないな。
もちろん、そうです。私のほうはまだざっくりとしか調べてない状態です。あとで詳しく調べ直します。
>>566 Special Event Triggerというのを初めて知りました。面白そうな仕組みですね。
>>565 > インクリメントで問題が発生するのは桁上げが発生するときで、
> 最下位がFFHから00Hになったときだから、最下位がFFHの時には
> 二度読みするなんていう実装したりしてな。
そう言う実装にすると、平均的には下位バイトのチェックだけで
済むから効率的だけど、最悪時は 下位バイトのチェック +
前回との比較 + 再読み込み となってしまう。
組み込み用途だと最悪の状態でも正しく動作することを求められ
ることが多いから、そう言う実装はあまり勧められない。
逆に人間相手のソフトなら、たまにちょっと遅くなっても平均的
に早いほうがいいのでそう言う実装もありだ。
>>554 変数へのアクセスがatomicにならないのはPIC Cに限定された話じゃないよ。
atomicなアクセスはC言語の仕様に含まれていないから、C言語の標準の範囲内で
プログラムを書く限り、どのCコンパイラを使ってもatomicアクセスの保障はない。
atomicアクセスが必要なら、割り込みを禁止するか、atomicであることが
保障されているアクセス手段でセマフォを作ってアクセスバリアを作るしか
ない。
>>565 「最下位が特定の値のときに二度読み」だと
>>568 が指摘するような
レイテンシ差が発生する可能性があるので、必ず二度読みするのがお勧め。
これだとレイテンシ差が発生しないようにコードを書くのが容易。
PICで複数(20個とか)のLEDをそれぞれ違う輝度でPWM駆動することは可能でしょうか? どう考えてよいのかわかりません。
ハードでのPWMは1個しかないけど、ソフトでやればOK ループでもタイマ割り込みでもいいけど一定間隔で { カウンタを+1する(カウンタが上限いったら0にする) LEDの輝度を先ほどのカウンタと比較して 大きければ点灯、小さければ消灯する(必要なLED数だけ行う) } 例えばカウンタが上限255なら、輝度128なら Duty50%で点灯する 64ならDuty25%で点灯する。 問題は周期がハードに比べて遅くなる。
>>569 PIC用のコンパイラで使えるかは知らないけど
一応、Cの仕様にはsig_atomic_tという型があって、
・最低8ビットで
・volatile付きで宣言されているとき、代入がatomicである
ことになっているよ。
574 :
569 :2008/07/25(金) 04:20:46 ID:a59gaSgu
>>573 あーすまん、確かにそのとおりだ。
>>569 は言葉足らずだった。
言わんとしていたことは「型によらずatomicであること」の保障はない、だ。
>>569 は「変数へのアクセス」を「任意の変数へのアクセス」とでも
読み替えてくれ。
知ったか乙
576 :
774ワット発電中さん :2008/07/25(金) 07:36:47 ID:uD0mpU5s
PICKit2 Starter Kitについてるデモボードではあらかじめくっついてるマイコンにしか書き込みできないのでしょうか?
PICkit 2 Starter Kitに付属のデモボードの名称は
PICkit 2 Low Pin Count Demo Board
そのマニュアルが
Low Pin Count Demo Board User's Guide
http://ww1.microchip.com/downloads/en/DeviceDoc/Low%20Pin%20Count%20User%20Guide%2051556a.pdf その中の「1.3 Devices Supported by the LPC Demo Board」に
対応チップの一覧がある。記載されているのは
PIC12F508 PIC12F629 PIC12F635
PIC12F509 PIC12F675 PIC12F683
PIC12F510
PIC16F505 PIC16F630 PIC16F684
PIC16F506 PIC16F676 PIC16F688
PIC16F685 PIC16F689 PIC16F785
PIC16F687 PIC16F690
マニュアルの改訂のペースは遅いので、対応チップはもっと多い可能性もある。
PICKit2なんですが、100ピンのやつも配線がわかれば書き込めますか?あったら教えて
配線が分かって、なおかつ正しく配線すれば書き込める。
580 :
774ワット発電中さん :2008/07/25(金) 12:34:21 ID:ILMNW3aV
質問 16F877Aを使用しての質問なんですが パルスの周期(パルス間の時間計測)をキャプチャ機能 で測定しようと思ってます (設定は立上エッジで割込み)。 PICの動作としては割込が発生した時点でキャプチャ レジスタを読めばエッジ間の時間計測結果が分かるという ことで良いのでしょうか?
>580 そうだよ。差をとるんだけどね。
>>580 「割り込み発生時点でキャプチャ」じゃなくて「キャプチャ時点で
(割り込み許可になっていれば)割り込み発生」ね。
割り込みが発生するか否かによらず、キャプチャは行われる。
「割込が発生した時点でキャプチャ レジスタを読めば」
ぐはっ・・・なんという早とちり・・・
どんまいw
PICKit2ProgrammerでdsPICのHEX読み込むと Warning:Some configuration words not in hex file. Ensure default values above right are acceptable. 書き込もうとすると Programing failed at Program Memory address 0x000000 って出る、たすけて! #include "p30f4012.h" //4012のヘッダファイルの読み込み _FOSC(CSW_FSCM_OFF & EC_PLL8); //EC PLLx8=80MHz, Failsafe off _FWDT(WDT_OFF); //WDT(ウォッチドッグタイマ)オフ _FBORPOR(PBOR_ON & MCLR_EN); _FGS(CODE_PROT_OFF); //コードプロテクトオフ #define CLOCK 80 int main(void){ TRISC=0x8000; while(1){ LATBbits.LATB0 = 1; asm("NOP"); LATBbits.LATB0 = 0; asm("NOP"); } }
エンコーダやD/A変換のように値が上下するものは
・変換中フラグON
・データ取り込み
・変換中フラグOFF
として、データ参照側は変換中フラグONなら読まない。
>>569 これがセマフォというやつでいいですか?
値を読み込むシステムコールを用意して、ソフトウェア割り込みの中で読む
589 :
774ワット発電中さん :2008/07/25(金) 21:00:38 ID:uD0mpU5s
>>577 ありがとうございます。
恥を忍んで聞きますが、別のチップに書き込むにはデモボードにあらかじめついてるやつを一旦取り外すんですよね?
なんか外れそうな気がしないのですが。
591 :
587 :2008/07/25(金) 21:24:48 ID:Lj4POHjO
>>588 ありがとうです。リアルタイムOSの技術なんですね。
>>589 Starter KitはICソケットなので簡単に外れるよ。
PICKit2と基板を離して、6ピンのコネクタに別の基板orPICをつなぐ方法もある。
まじかよ!やっと基盤焼けたのに・・・もう今日はダメだ・・・・・
わざわざ基盤なんぞ作らなくてもICソケットの足に電線4本ハンダ付けするだけでDIP書き込み機作れるだろ。。 ハンダし直せばピンアサイン変わっても対応可能。
5本じゃね?
>>586 >Programing failed at Program Memory address 0x000000
の原因は、PICkit2にdsPICをちゃんと接続していないせいである可能性が高い。
いずれにしても、原因はハード的なもの。ソースプログラムをどれだけいじっても
解決しない。
>>587 細かいことを言いだすとキリがないが、考え方としてはそれでOK。
>>589 そう。
もしハンダ付けされているのであれば、それは外れない。
ICソケットに挿さっているのであれば、外れるはず。
基盤てかいているやつは、学生。 普通は基板。
基盤 基盤 基盤 基盤 基盤 基盤 基盤 基盤
プリント基盤 プリント基盤 プリント基盤 プリント基盤 プリント基盤 プリント基盤
基盤 基盤 基盤 基盤 基盤 基盤 基盤 基盤
プリント基盤 プリント基盤 プリント基盤 プリント基盤 プリント基盤 プリント基盤
基盤 基盤 基盤 基盤 基盤 基盤 基盤 基盤
プリント基盤 プリント基盤 プリント基盤 プリント基盤 プリント基盤 プリント基盤
基盤 基盤 基盤 基盤 基盤 基盤 基盤 基盤
プリント基盤 プリント基盤 プリント基盤 プリント基盤 プリント基盤 プリント基盤
基盤 基盤 基盤 基盤 基盤 基盤 基盤 基盤
プリント基盤 プリント基盤 プリント基盤 プリント基盤 プリント基盤 プリント基盤
満足したか?
>>597
で、凝視すると何が見えるんですかこれ
基盤って出来る店ってことなんだけど
602 :
774ワット発電中さん :2008/07/26(土) 01:48:50 ID:npDQOKna
あーそうか5本だった。なぜかGND数えるの忘れてたorz
>597 出たな軽石
>>586 >Warning:Some configuration words not in hex file.
コンフィギュレーションレジスタ設定が不足しているHexファイルを
ロードするとPICkit2ではそのようなエラーを表示し、書き込むとエラーに
なります。
>_FBORPOR(PBOR_ON & MCLR_EN);
Brown-out Reset voltage と Power-up Timer の設定が足りませんね。
_FBORPOR(PBOR_ON & BORV_27 & PWRT_16 & MCLR_EN);
606 :
580 :2008/07/26(土) 09:22:47 ID:oZD98a7R
580です 581-582さん、どうもです。 すいませんが、引続き16F877Aでのキャプチャ機能でのパルス周期計測 (パルス間の時間測定)の質問なんですけど。 質問 割込が発生(許可設定の条件で)した時のキャプチャレジスタ のカウント数の読込みと再設定の手順について 1.割込が発生した場合、割込フラグクリア後、先ずはタイマ1を 停止(T1CONレジスタのTMR1ONを0)させてからCCPRxH とCCPRxLのデータを取出せばよいのでしょうか。 2.CCPRxHとCCPRxLのデータを取出した後、TMR1HとTMR1L レジスタをリセット(クリア)してT1CONレジスタのTMR1ONを1にすれば、 また0からカウント開始するという手順でよいのでしょうか。
ありがとうございます!しかしPICKIT2のピンとdsPICの足の配線が全くわかりません! なんで対応デバイスでリストに載ってるのにマニュアルに書き込み方法が載ってないんですか!!!
つデータシート
>>606 別にTimer1止める必要ないよ。フリーランでok
パルス立ち上がり2回キャプチャ値の差をとるのさ。
610 :
580 :2008/07/26(土) 11:58:14 ID:oZD98a7R
>606さんどうもです 2回目のキャプチャ値−1回目のキャプチャ値 ということですね。 疑問なのがフリーランしているとTMR1レジスタが オーバーフローを起こして途中、0に戻ることが ないのかが疑問です。
>607 dsPICのデータシートの始めのほうにピン配置図あるだろ?それ見て書き込みに必要なピン探しな。 Vdd,Vss,MCLR,PGC,PGDの5箇所な。VddとVssは機種によっては複数ピン使ってる場合もあるから、そういう時はサボろうとせずに全部のVdd,Vssを繋いどけよ。 PICKIT2のコネクタのピン配置もPICKIT説明書に書いてあるから探せ。これでどことどこを繋げばいいか分かったろ? 基板にコネクタで接続とかカッコいい事考えずに、片側に抵抗の足の切れっ端ハンダ付けした電線を5本作れ。ブレッドボードのワイヤーみたいな奴。 それの抵抗の足の方をPICKKIT2のコネクタに突っ込め。んで反対側をPICの足に直接ハンダ付けしろ。直接が嫌ならソケット使え。書き込み基板なんて作らなくていい。
>>610 そりゃオーバーフローするよ。
Timer1割り込みでオーバーフロー回数カウントすれば
すっげー長い周期でも測定できるぞ。
>>610 オーバーフローは当然するよ。
オーバーフロー間隔よりパルスの間隔が短いとわかってれば、
前の値よりいま読んだ値が小さい時はオーバーフローが発生
したものとして扱えばいい。
パルス間隔がわからない時は、オーバーフローで割り込みか
けてソフトウェアで上位の値を制御するしかないけど、オー
バーフロー割り込みとキャプチャの割り込みが競合した時の
処理がちょっとと言うか相当厄介。
補足ね。 計測対象のパルス周期がTimer1周期未満とわかってるなら オーバーフロー無視して減算すればok。(減算ボローも無視) 演算結果には影響ないから。
入力専用の足をオープンのままにしておくのは良くないと聞いたのですが、なんででしょうか?
>>611 それだけかよ!現像液なんか必要ねーじぇねーかちくしょおおお
まじブレッドボード上で書き込みとテストを切り替えるだけでいいじゃねーか
極秘の配線があるのかと思ったよありがとう!
そうかPCDとPGCの2PINだけ書き込むときにつなげればいいのか やばいPICKit買ってよかった
619 :
774ワット発電中さん :2008/07/26(土) 15:01:33 ID:pSGysFrM
>>616 デジタル入力は入力抵抗(イソピ━━━(゚∀゚)━━━!!!!!!ダソス)がテラ高くて、何も処理シツェ!(;゚Д゚)ねーよwwwwwwと
手をかざしたおりしるだけでロジック1と0の狭間をさまようになり、
入力部分の回路に貫通電流が流れるなどシツェ!(;゚Д゚)、発熱したおりシツェ!(;゚Д゚)イクナ--(゚∀゚)-( ゚∀)-( ゚)-( )-( )-(゚ )-(A゚ )-(゚Aわけでつ。
最近のは、壊れるとかが稀ですたが、昔の4000番は一発で(・∀・) コワレタ !!。
なので、使わねーよwwwwww入力ピソは、1か0に固定(すなわちGNDかVCCに固定)しるのであるあるwwwんでうs。
CMOSならば電源直結でもかまわねーよwwwwwwでつが、Nチャソとかバイポ━━━(゚∀゚)━━━!!!!!!ラのやろうは
抵抗をいれまつ。ピソが出力になりうる時も抵抗をかませまつ。
>>616 いいから早く足を閉じなさい。はしたないわね!
621 :
580 :2008/07/26(土) 15:20:13 ID:oZD98a7R
612-615さん ありがとうござます。理解できました。 先ずは615さんのオーバーフローなしになるように 検討して、減算結果をポートにLED出力できる よう(16ケ必要ですが)やってみます。 失礼します。
622 :
774ワット発電中さん :2008/07/26(土) 15:22:56 ID:qzXatWsc
>イソピ━━━(゚∀゚)━━━!!!!!!ダソス これ好きだww
619 テンション高く見えるw
単にバカっぽい
皆は普段PICの周波数いくつで使ってる? 俺は16F84&10MHzの入門書で覚えてそのまま使ってるけど これから使いたい石が12F683、12F615や16F88なので 内蔵CLOCKに使える8MHzとか4MHzでの開発に慣れてったほうがいいかな。
慣れるも何もないと思うが。
クロックの周波数なんて状況に合わせて選択するものだろ、慣れるも何も無い。
628 :
774ワット発電中さん :2008/07/27(日) 08:32:45 ID:T/O4cQE6
クロック数の決め方は、
要求される仕ニャソに(σ・∀・)σYO!!て決められる。
例えばUART通信で通信誤差を少なくしたおければ、
8メガや16メガヘルツを選択しるとか、
誤差をゼロにしたおければ、6.144や12.288などと選ぶ。
一方、乾電池など消費電力を抑えたい場合は、
遅い《゚Д゚》ゴラァァァァァァァァァァァァア!!クロックを使用しる。
大抵のミッドレソジPICは4メガヘルツを境に動作電圧が変わる。
ゆっくりしていってね!!!!というようなタイマ━━━(゚∀゚)━━━!!!!!!
を作りたい時も、遅い《゚Д゚》ゴラァァァァァァァァァァァァア!!
クロックを選択しる事もあるあるwww。
人間相手のラフな動作でアれば、内蔵発振を使うことで
クロックに使用しるピソもIOとできる。
つまり、慣れぢゃなく漏れが何をしたいおのかで変わるとと、言ってミル。
▼2ちゃん風味 by
http://monjiro.net/ http://www.trance-media.net/
629 :
774ワット発電中さん :2008/07/27(日) 12:51:47 ID:I/ZiKHLj
LED点滅できた。超うれしい。
>>619 電車の中で読んでニヤニヤしてしまったじゃないかw
4本足水晶発振器のGroundはわかりますが、Outputと+VDCはOSC1と2のどっちに付けるんですか?
Ground==Vss, +V==Vdd(5V), Out==>OSC1/CLKI (CLKIN) じゃないか?
633 :
774ワット発電中さん :2008/07/27(日) 18:44:37 ID:SSdF1KQ0
>625 タイマー使う時は勘定しやすいから大抵4MHz使ってる。(1サイクル=1μsec) 電池で単純な事に長期間使いたい時は44.1kHzで。
ありがとうございます。これが外部発信器というやつですね。 2本足発信子はOSC2が+VDCで、OSC1が入力していたということであってますか?
あと、Outputを分岐させて複数のPICで使うことはできるんですか?
やってみるよろし
ありがとうございます。やってみます。
638 :
625 :2008/07/27(日) 22:07:18 ID:YlW2hTNy
>>626-628 クロック選定についてのアドバイスサンクスです
今まで何も考えずに10MHzセラロックで作っていたので
状況にあわせた必要なクロックの選定っていうのを
考えるきっかけになりますた!
PIC18FのUSBフレームワークってどこにあるんですか?
どうもです!
MPLABのCコンパイラユーザーズガイド見たんですが全然わかりません。 もっとわかりやすい本とかないんですか?こんな酷いPDF初めて見ました
すいませんいい本をみつけました
なんて本?
美乳看護婦と少年 淫らすぎるナースコール
mplab C18 コンパイラ実践活用です
>>646 thx
オレもちょっと同じようなカンジなんで参考なるなる
>>改訂版 電子工作のための PIC18F本格活用ガイド >>改訂版では、Cコンパイラとしてマイクロチップ社純正のものを使用するなど、内容を見直し更新しています。 これのほうがいいかな悩む。このシリーズ全部CCSかと思ってた
>>642 日本語訳版のマヌアルなんてだいたいそんなもの
651 :
774ワット発電中さん :2008/07/29(火) 12:05:02 ID:lSINHyrw
652 :
774ワット発電中さん :2008/07/29(火) 16:11:41 ID:s1vTgx+l
C言語によるPICプログラミング入門を読んでCCS CによるPICに挑戦してます。 ウォッチドッグに関する記述があんまりなかったので、かなり認識が曖昧なのですが、 #fuses INTRC, WDT, PUT, NOPROTECT, NOMCLR #use delay(internal=8M, restart_wdt) setup_wdt(WDT_2304MS); でウォッチドッグを動かしています。 ウォッチドッグを有効にすると、タイマ0の動作がおかしくなるのですが、 もしかして、タイマ0とウォッチドッグは同時に使えなかったりしますか? タイマ0は setup_timer_0(RTCC_INTERNAL | RTCC_DIV_16); set_timer0(130); こんな感じの設定です
タイマ0とWDTが共用のPICなんじゃないかと
654 :
652 :2008/07/29(火) 16:56:50 ID:s1vTgx+l
その可能性高いですよね・・・orz PIC16H689です。
このスレにはデバイスの仕様書みる 奴は居ないのか?
>>652 16F88や16F689等はWDT専用プリスケーラを持ちWDTCONで設定可能。
但し setup_wdt(WDT_2304MS); の記述では従来PIC同様
OPTION_REGでTimer0と共用プリスケーラ設定になっちまう。
WDTCONプリスケーラ設定で使いたいなら、例えば・・・
setup_wdt(WDT_ON|WDT_DIV_128); // 18mS x128
>>655 このスレに限らず、非マニア・非技術者が多数来るスレ全般に言えることだが、
質問する側には少ないし、回答する側には多い。
マニアしかいないスレなら「ググレカス」「データシート嫁」な書き込みは
少ないんだが、PICは他のマイコンよりカジュアルユーザ層が分厚いから
仕方がない。そういう層からでも、ある意味破壊力のある独創的な書き込みも
200レスに1個くらい稀にあって楽しめるしね。
658 :
656 :2008/07/29(火) 17:38:41 ID:yp9Ef+HY
ccs v4では setup_wdt(WDT_ON|WDT_TIMES128); // 18mS x128 だったかも。使用Deviceのヘッダーファイルで確認汁
こんなスレあったのかー… 古いPCM ver3.042がXP動かなくて、くずおれ中の俺 ○| ̄|_
>>659 ver 3.249(だったかな?)がXPで動いてるから、同じver 3のマイナー
バージョン違いで動かないやつがあるとは思いにくい。
多分、PowerUser設定とかにするだけで動くと思うよ。
661 :
652 :2008/07/29(火) 19:21:24 ID:s1vTgx+l
>>656 >>658 報告が送れました。
デバイスのヘッダー見ると、1/16まではWDT_DIV_16で行えて、
残りはWDT_TIMES_128とかになっていましたので、それに変更したところ、ちゃんと動きました。
ありがとうございました。
MPLAB C30 Cコンパイラで delay_ms(500); を使うには何かインクルードしないといけないんですか?
すいません忘れてください
何も買っていないはずなのになぜか自分のデスクにデジキーのカタログが届いてる……。 見てみたらPICにもRFとかモーター用('PWMが沢山出せるヤツ)とかあるんだねぇ…。 ……確かデジキーのカタログは会社にもあるからこれ持って帰ろうかな…。 あとで7500円分何かと纏めて買ってやろう。
>>664 EDNJapanか何か、REEDの無料誌を購読してない?
REEDは購読者名簿をDigikeyに売ってるから、購読者にはDigikeyの
カタログが届くよ。
>>660 ども。
結果として…ディレクトリ情報が狂ってた _| ̄|○
うごきだしたら今度は MPLAB の付けてくるオプションとか、デバイスのファイルとか
いろいろ文句いわれ中で、いろいろやってみ中
>>664 chip1stopのカタログは大きめで見やすい。
しかも今なら5000円以上で送料無料。
かりにかかったとして送料は450円。
Digi-keyと比較していないから価格差がわからんけど、数が少ないのであればこっちで済ませるのも手だよ。
まだ登録していないのであれば登録してみてはどうだろうか?
> chip1stopのカタログは大きめで見やすい。 個人門前払いの殿様商売は却下!
>668
> 個人門前払いの殿様商売は却下!
・当サイトのご利用は企業間取引に限定しております。
だが、
・営業目的にて当サイトを利用する個人あるいは個人事業主の方は、当サイトをご利用いただけます。
・営業目的にて当サイトを利用する個人あるいは個人事業主の方は、ご登録の際に以下のチェックボックスをクリックしてください。
会社名・団体名および所属部署名の入力が不要となります。
・詳しくは、当社ご利用規約をご覧ください。
これをどう解釈するかだ。
純企業相手だったら、カード払いなんてサービスしないでしょ。
(わたくすは、会社の名前、個人の住所で登録してまつ)
指をくわえて見てる?
http://www.chip1stop.com/AT163_M10_01.cfm
チップ1ストップって高い印象があるけど
俺はでたらめに団体名作って登録してる しかもそれっぽく教育関係職にしてある
> チップ1ストップって高い印象があるけど 物によりけり。 Digikey物も買えるしね。 Digikeyの送料ラインに引っかからない場合はまず検索を。
PICスレで、チップワンは必要ないだろ なぜ秋月で買わないんだ?
皆様方、アドバイスお願いいたします。 現在、Explorer16+PIC32MX USB PIM+USB PICtail+にICD2をコネクトさせようとしてますが、 Connect Failとなりコネクトできません。 USB PICtail+を外すとコネクトできますがProgram MemoryのReadができません。 接続可能機器としてICD2は黄色(RealICEは緑)なのが原因でしょうか? MPLABはV8.14を使用していて、プロジェクトは空のものを使用しDeviceを選択しています。 ICD2+Explorer16+PIC32でデバッグしてると言う方はいらっしゃいますか? やっぱ、RealICE必須なのかな・・・
>>669 昔から「個人あるいは・・・」なんてあった?
日経で便利そうな商売が始まったよ、ってニュース読んで、その日に登録しに
行ったんだけど、個人はダメ、的なことがハッキリ書いてあった気がする。
適当な屋号で登録しようとも思ったけど、まぁそこまで頑張ることもないかな、と。
#include <p30f4012.h> _FOSC(CSW_FSCM_OFF & XT_PLL8); _FWDT(WDT_OFF); _FBORPOR(PBOR_ON & BORV_27 & PWRT_16 & MCLR_EN); _FGS(CODE_PROT_OFF); これでコンパイルできたんですが、コンフィグの設定が足りないといわれるんですが、まだ足りないのがあるんですか?
PICって一部のピンだけ壊れるってことありますか? また、故障を調べる方法があれば、教えてください。
>>677 LEDちかちかだけど、
テスターのダイオードレンジでPin=>電源間に0.6V程度みえるか、
同じくGND->Pin間に0.6V見えるか。
逆は通がないか?
これがダメだと、過電圧かなんかで壊したと思う。
ちなみにMCLR Pinは当てはまりません。(オープンドレインのPinもかな。)
>>677 ある。壊れ方(モード)もいろいろある。
入力できない、出力できない、どっちもダメ、出力が弱い、etc...
681 :
664 :2008/08/01(金) 11:25:31 ID:VvVbiSQs
>>665 組み込み系の展示会で色々もらってきたからそのせいだな…
ま、会社にあるし一冊多くても問題ないけど。
そしてpic18F4331が燃える。
デジキーだとPWM8個だとか言ってたけど他じゃCCPで2個しか持ってないとか色々言っていて混乱したが、データシート見て理解した。
CCP2個とPWM8個かよ…
ttp://www.datasheetcatalog.org/datasheet/microchip/39616b.pdf 74HC238あたり噛まして複数サーボとか割り当てたらすごいことになるんじゃね?(もちろん実際どこまで出来るか計算してないし、制限も読んでない)
と思ったが、まずこのPICを焼ける焼き機が無いorz
後でロボット用のマイコンが必要になったら買ってやろう。
682 :
677 :2008/08/01(金) 15:33:50 ID:Dr1O+0OR
>>678 >>679 >>680 レス有難うございます。
>>679 で言ってた、テスターで計ってみましたが出ませんでした。
ちなみに、これは、出力されていなくても、0.6Vと出るのでしょうか?
PICをソケットのに挿したまま半田付けをしてしまったので、その後、少し
熱くなってたので、まずいと思ったのですが、しばらくは問題なく動作して
たので気にしていませんでした。しかし、数分してから、動作させよう
としたら動かなくなったので、時間差で壊れるってことありますか?
dsPIC33はC30Cコンパイラーで対応できますか?
thx
>>681 水を差すようだが、PWMモジュールの出力8本の内容は「ペア2本×4組」で、
デューティの制御は各組ごとになるから、実質的に制御対象は4つまでになるから
注意。それでもCCPとあわせて、全部で6組のPWM出力が出せるわけだが。
dsPIC30F1010/202Xだと、出力は同様の構成(CCP出力×2、PWMモジュール出力×8)
だが、ペア2本のデッドタイムを+/-どちらにも設定できるので、うまく使えば、
(PWM分解能は落ちるが)PWMモジュール出力×8本をすべて独立出力×8本として
使える。
687 :
656 :2008/08/01(金) 18:09:06 ID:AsTdeWFK
>>681 RCサーボ制御ならソフトPWMで委員じゃね?
16F873とかでも16〜20個くらい扱えるよ。
まぁ動作clockは高速な方がいいけど。
C30Cの UART_ALTRX_ALTTX と UART_ALTRX_ALTTX が dsPIC30F1010、2020、2023 でしかdefineされてないんですけど 他のPICは何を指定すればいいんですか?
すいません解決しました
MPLAB+CCS CでPIC16F689のプログラムを組んでいます。 mainの最初に来るまでに81mSecほどかかっているのですが、こんなもんですか? どうも、グローバルの変数を多く作りすぎたせいか、lstを見るとその変数のクリアが先頭の方にずらっと並んでいます。 これで時間がかかっていると思うのですが、グローバル変数の初期化を抑制する方法はありますでしょうか?
>>690 グローバル変数が初期化されるのはC言語の仕様だから仕方がない。
もっとも、初期化に81ms掛っているかどうかは、それだけでは分からない。
MPLAB SIMで、mainの最初の行が実行されるまでどのくらい時間がかかるか
調べてみろ。それでも81ms掛るなら、初期化にそれだけ時間がかかっているから
どうしようもない。SIMでは短時間で済んでいるなら、長時間かかる原因は
ハード側だ。
>>690 何から数えて81msなのかは知らないが、
パワーアップタイマの72msのwaitが入ってるとか?
81msって、4MHzで動かしているとしたら、81,000命令だろ。
ゼロ初期化だとしたら、wをクリアしたあとそのアドレスに放り込んでいくだけだぞ。1wordに
1命令か、間接アクセスだとしてもループ含めてもせいぜい4命令だろ。
どう考えても16F689のメモリ容量超えてるんだが。
まさか電源的な立ち上がりウェイトかかってたりしないよな。 リセットICとか。
694 :
690 :2008/08/01(金) 22:51:26 ID:9Tw1OKkb
>>691 MPLAB SIMでmain関数の一番最初にブレーク入れて、ProcessorResetの後、
stopwatchウィンドウだしてをZeroボタン押して、Animateで実行してみたところ、53.5μSecsでした。
>>692 プルアップしてあるポートが立ち上がってから、mainの一番最初に呼ばれる関数の中で、
set_tris_a(0x1B);
set_tris_b(0x30);
set_tris_c(0x80);
// Lowにする
output_bit(PIN_A5, 0);
を行って、信号が下がり始めるまでの時間です。
8Mで動かしているので、普通に考えたらそんなにかかりませんよね・・・。なんでだろ・・・
簡単なアセンブラで書いてみたら、即立ち下がりました。(数μ程度)
>>693 #fuses INTRC, WDT, PUT, NOPROTECT, NOMCLR
#device ADC=10
#use delay(internal=8M, restart_wdt)
#use rs232(BAUD=19200, XMIT=PIN_B7, RCV=PIN_B5)
#use fast_io(A)
#use fast_io(B)
#use fast_io(C)
の部分が時間がかかってるのかなぁと思ったんですが、どうなんでしょうか・・・?
>>694 俺CCSC使ったことないのでわからんのだが..
> の部分が時間がかかってるのかなぁと思ったんですが、どうなんでしょうか・・・?
そこまでわかってるなら、それを1行ずつ外していけばいいじゃん…。
あるいは、何もないところから追加して行って、いつそんなに遅くなるのか調べればいいじゃん…。
>>694 やはり Power Up Timer (PUT)の分だと思う。
697 :
690 :2008/08/01(金) 23:45:49 ID:9Tw1OKkb
>>696 パワーアップタイマでした。パワーアップタイマがなんだか知らなかったので見逃してました。
どうもありがとうございました。
さすがC使い。
Cとかの問題でなく、単に初心者なだけ
MPLAB SIMでstopwatchがグレイで押せないんですけど、どういうことですか?
それはないだろう
dspic33FJをJ−TAGで書き込みして使ってる 人いますか?
J-TAG しかも全角 J−TAG 降参です。参りました。許してください。私が悪かったです。
そんでもってJTAGなんだが....。
MPLABのstopwatchはどうやったら使えますか?
?エスパーを御希望か? プロジェクトフォルダまとめてアップしろ うちで使えるかどうか調べてやるよ
MPLAB、プロジェクトフォルダのトータル文字数が多いと駄目ってやつ直った?
直ってないが
>>708 すいませんが、その情報源を教えてください。
たまに、過去に設定していたブレークポイントが見かけ上は解除してあっても
実際には解除できず、プロジェクトを作り直ししています。
今回の件とは直接関係ないかと思いますが、制限事項の入手先を
理解できていないと思いますので、ご指導ください。
あ、今stopwatchが押せるようになってた でも押しても何も出てこない。また押せなくなった。どうなってるの?
どうなってるといわれても、お前の環境がこっちの手元に無きゃなんとも出来ん。 さあ、そのまま目の前のPCを梱包して俺んちに送れ。嫌なら自分で解決しろ。
なんか、基本的なところで勘違いをしている気がするが・・・ まずはドキュメントを読んでみれ。
int line line = (PORTB & 0x001F); switch(line){ case 0x0001: LATCbit.LATC0 = 1; break; case 0x0002: break; } 入力PINの16ビットをまとめて取ってくるにはPORTBを変数に代入する、で使い方あってますか?関数とかは必要ないですよね?
>>714 俺はPORTBが16bitのPICのデバイスを知らないのだが、
そのソースはPORTBの下位5bitしか対象としていないようだが?
デバイス名とCコンパイラ名ぐらい書いたらどうだ?
PORTBの値が欲しいならそのソースのようにPORTBというファイルレジスタから変数に
直接値を代入するだけで良い。
どうもです。30F4012のC30Cコンパイラです。 これをwhile(1)に入れてPORTBの入力確認を続けてるんですが、B0PINのスイッチ押してもC0がオンにならない、はまった・・・
>>716 俺、30Fなんて使ったことないけど、一般的に言って
・アナログコンパレータとかdefaultでonになってるが、すべてoffにしているか?
・パラレルスレーブポートモードセレクトとかになっていないか?
・TRISレジスタで入出力の方向を正しく設定しているか?
・そもそも電源リセットは正常にかかり、プログラムは実行されているのか?
(どこかのportに値を出力してみれば実行されているかどうかわかる)
>>714 ,716
もしスイッチ入力が負論理なら
line = (~PORTB & 0x001F); だな。
それから case 0x0001: は B0のみオンの場合だけど
そういう条件で委員会?
>712 >719 まあ、熱くならずにしようよ。それでなくとも暑いんだからさ。 とりあえず、MPLAB IDEを再インストールしてみたらどうかな?
>>716 PORTBだとFAQのADPCFGかな
>>717 どうもです。CloseADC10()を先にいれたんですが、だめでした。
TRISB = 0x003F; で入力方向は指定してます。
MCLRでリセットかかります。
RBのパラレルスレーブポートモードセレクトはよくわからないので、RE8を入力で試しましたがだめでした。
出力でLED点滅とかはどのポート、PINでもできます。
入力がおかしいです。やばいです
あ!!!stopwatchが出てきました。MPLABの作業域をスクロールできるのを知りませんでした。下の方にありました。すいません!
>>717 >>722 入力できました。ADPCFGでデジタル入力に切り替えたらできました。ありがとうございました。
727 :
774ワット発電中さん :2008/08/04(月) 21:45:12 ID:bwPeDAmT
picprog4uの次期バージョンを作るのはいいけど まずは不具合を修正してからにして欲しい。 新しいバージョンをがんばってブログにアップしたってそんなのはうれしくも何ともない。 不具合をほっておくという態度がめちゃくちゃ頭にくる。 不具合はそのままに次のバージョンの開発をするマイクロソフトと同じじゃん。 見切りをつけてpickit2を買った方がいいのか?
クレクレ君の癖に偉そうだな。 ちなみに MS も金を払うと不具合の対応してくれるぞ。
>>727 JDM用なら他に沢山あるのになんでpicprog4u?
UARTの通信速度で256000bpsで通信するにはどうすればいいんですか? 送受信両側とも同じ速度にすればいいんじゃないんですか?250000bpsとかじゃだめなんですか?
理論上は、送受信で同じにしておけばいいよ。 通信回路が対応しているかどうかは知らん。
>>730 通信する相手側が選択できる速度が決まっているのなら、それに合わせる
必要がある。例えばPCのハイパーターミナルなんかだと230400bpsとか。
通信速度として、250Kbps程度必要ということなら、256Kでも250Kでも
好きに決めればいい。
但し、PIC16辺りだと、この速度で通信するのは多分無理。
データーシート嫁。20MHzクロックの時最大で1250KBPS
>>730 PIC18なら
動作clock:40.96MHzで BRGH=1,SPBRG=9
動作clock:20.48MHzで BRGH=1,SPBRG=4
PIC24やdsPIC系なら・・・(ry
>>733 それはデバイス上設定できる最大の通信速度でしかない。
実際に割り込みやポーリングで通信を行うとして、通信バッファの操作や
通信データの処理を同時に行う必要がある。PIC16では20MHzでも処理が
間に合わず、きびしいだろうという事を言っているんだが...
ちなみにPIC24F(32MHz)を1Mbpsで半2重通信させてみたが、
受信するだけならなんとか間に合うが、データ処理が追いつかなかった。
PIC16とPIC24Fの処理能力を比較すれば、PIC16で250Kbpsの通信
がどの程度の負担になるかは、ある程度予想できると思う。
>>735 >
>>733 > それはデバイス上設定できる最大の通信速度でしかない。
なにか問題が?設定すればちゃんと動作する。
> 間に合わず、きびしいだろうという事を言っているんだが...
> ちなみにPIC24F(32MHz)を1Mbpsで半2重通信させてみたが、
> 受信するだけならなんとか間に合うが、データ処理が追いつかなかった。
いくらCPUが早くてもデーター処理をチンタラやってたら間に合わん。
そんな自分の設計能力の低さをひけらかさなくても良いんじゃ?
bpsと言うのは単なる変調速度で例えば100MbpsのLANだから100Mビットを毎秒転送出来る訳じゃない。
もし連続で転送出来なきゃ100Mbpsじゃ無いと思ってるなら
>>735 が無知なだけ。
シリアルも同様にフロー制御と言う物があってデーター処理が重い時にはこれを使う事になってる。
もしフロー制御さえも間に合わないソフトしか組め無いなら止めた方が良いかもね。
どうせ仕事でやってるレベルじゃ無いみたいだし。
> PIC16とPIC24Fの処理能力を比較すれば、PIC16で250Kbpsの通信
> がどの程度の負担になるかは、ある程度予想できると思う。
ちなみにPIC16F877とH8を1250Kbpsで殆ど連続で通信させた事がある。
仕事で治具としてだったが全く問題無く動作した。
>>736 なら、通信部分のソースをさらしてみろ。
せいぜい単純に送信しているだけとかじゃないのか。
ハードによるフロー制御(RTS,CTS)機能のないPIC16でフロー制御を言い出す
段階でずれてしまっている。
どうせIOポートを使って同じ事ができるとか言い出すんだろうが。
>>737 ずれてるのは
>>737 往生際が悪いね。
シリアル通信でフロー制御を意識しない方が素人。普通は意識した上でCPUの能力が十分である時に省略する。
しかもフロー制御はハードだけじゃない。
まあ、やった事も無いシリアル通信をデーターシートも読まずに
>>732 で知ったかレスをしたのが間違いだな。
もう一度書くが
100MbpsのLANだから100Mビットを毎秒転送出来る訳じゃない。
もし連続で転送出来なきゃ100Mbpsじゃ無いと思ってるなら
>>735 が無知なだけ。
>>738 通信部分のソースは?
当初の質問者
>>730 のレスに対して、プロがどうのこうのと、ほざいているが
どう見ても素人の質問だろうが。
プロがやれば出来るとして、そんな面倒な方法で出来ると返事するか?
せいぜい素人には無理がある程度の返事であるのが常識と思うが。
しかも、自称プロが、こんな高速度での通信でソフトによるフロー制御
を持ち出すなら、何bpsまでならソフトで対応可能かを示したらどうだ。
ご自慢の1.25Mbps動作でも、ソフトで対応できるというつもりか。
>>739 > 当初の質問者
>>730 のレスに対して、プロがどうのこうのと、ほざいているが
>どう見ても素人の質問だろうが。
馬鹿だな。
>>739 が素人だと言ってるのに。
もう一度書くが
100MbpsのLANだから100Mビットを毎秒転送出来る訳じゃない。
もし連続で転送出来なきゃ100Mbpsじゃ無いと思ってるなら
>>735 が無知なだけ。
2GCPUのPCソフトでデータ処理をしないで、受信データを配列に詰め込むだけの処理でUART転送速度何bpsぐらいからフロー制御が必要なんでしょうか? UART、PCともに250000bpsを設定したんですが、通信できませんでした。USB<>シリアル変換ケーブルの限界とかもあるんですか?
PICはdsPIC4012です。
>>741 >通信できませんでした。
どのように通信出来なかった?
例えば最初の数文字は読めるけどそのあと文字化けするのだったら受け側の速度が遅いかもしれない。
最初から文字化けするなら通信条件の設定が違うかもしれない。
その他色々あるけど…
あと、基本的な事だけど、PCの方はループバックで繋がるか。(9ピンの2と3を直結してハイパーターミナル等でキーボード入力が表示される事)とか
9600bps位でどうか試して見た?
>>741 変換ケーブルの最大速度はそのケーブルの取説嫁。若しくは型番を晒すこと。
>>741 >>744 の指示にあるように、9600bpsでループバック通信できるようなら、速度はそのままで
PICに接続してどうなるか確認してみたほうがいい。
これで動作するなら、通信速度が速くなることに対応していない部品が使われている。
可能性としてはUSB<>シリアル変換ケーブルとRS-232CインターフェースIC。
古いICだと120Kbpsまでしか対応していないものもある。
あと、インターフェースICとして5V用のICを3.3Vで使用しているとか。
IDにpic記念パピ
picよりMakに反応してしまった俺は横山ヲタ
ループバック通信は9600でも、115200でも出来ました。 250000にした場合、文字は最初から化けていました。 みなさんどういう環境でシリアルで115200以上の通信をしてるんですか?
>>736 >ちなみにPIC16F877とH8を1250Kbpsで殆ど連続で通信させた事がある。
マジですか?
>>749 実際にPCの設定画面で設定できる最高速度のやつがそうなんじゃねーの
そもそもそのUSBシリアル変換ケーブルって250Kbpsの設定ってできるの?
USB1.1という所で・・・・・
ソースも出さないで自慢するのはPICスレの名物ですw
ソース無しの時点でスルーしたほうがいい。
AVRのデータシートには2.5Mbpsとかあったな。
>>753 秋月で売ってるUSB-シリアル変換ケーブルで256Kbpsの設定できたよ。
1バイト受信して1秒待ち、とかの繰り返しなら1250kbpsでも十分通信できそうだなw
>>736 1250Kbpsって、1.25Mbpsだよね。
PIC16F877は4clockで1命令しか実行できないから、10命令で1bitずつ転送するとしても
1.25M×10×4 = 50MHzで動作してないと駄目だと思うんだけど。
オレオレプロトコル(独自プロトコル)で、8bitまとめて送っていいなら、この1/8で済むから、6.25MHz。
実際は10命令ではなくて20命令ぐらい使っちゃいそうなので、やっぱり12.5MHz…まあ、
なんとか間に合うかな。って言うような話ですか?
>>758 なんで1ビットずつソフトで操作するのが前提なんだよw
ふつうビット単位の転送はUARTに任せて、ソフト側は1バイトごとに操作だろ。
クロック20MHz、転送速度1.25Mbps、1バイトあたり10ビット構成なら、
1バイトあたり40命令サイクルある。
>>759 それなら了解。
758は単位をひょっとして書き間違えているのではないかというのを確認するための釣り(?)でした。
>>755 そのケーブルはPCのデバイスマネージャの中で変更できる値に256kの設定ってあるんですか?
自分秋月のPICライタ付属の変換ケーブルも持ってたので試したんですが文字化けしました。
デバイスマネージャ中の選択は128kまでしかありませんでした。教えてください!
ありがとうです。このソフトだとケーブル2本とも256kまで選択できますが115.2kまでしか無理でした。 最大レートをチェックして取得した数値ではないみたいです。それよりmikroBASICの使いやすさに感動しましたw18Fまでなのが残念ですが どこかの記事で500kまでシリアルでPCと接続できたというのを見たのでとりあえず115.2kを超えるところからと思ったんですが難しいですね・・・
秋月のUSB/シリアル変換ケーブルで230kの通信はできるよ。PCソフトの問題だと思う。 COMポートの上限は115kで、それ以上はハイシリアルを入れるとできるが マザボが対応してないとダメだった。
>>764 要求性能として高い転送速度が必要でなくて、単に取り合えず
動かしたいだけなら、もっと低い転送速度で実験することを薦めます。
通信は、マイコンに何かをさせる仕事のごく一部でしかない上に、
速度が上がってくるとそれなりに面倒な処理を追加する必要が出てきます。
まず、やりたいことを先に動かして、その上で通信速度がネックになるなら
そこで速度を上げる方法を考えればいい。
何をするかにもよるが、デバッグなんかで内部変数を表示したりする程度なら
9600bpsでも十分実用になる。
767 :
751 :2008/08/06(水) 00:34:21 ID:VevX3xhm
混乱する書き込みしてすまん。
不思議に思ったのは通信速度だけじゃなかったんです。
理由は長くなるから省略します。(事情もあることでしょうし、冶具だから気にしないっす)
>>766 同意。(アマチュア?)で250Kbpsが必要な理由って?
PICのあとにぶらさがってるのは何でしょう?
単に実験なら解決するのも楽しみのひとつです。頑張って下さい。
PIC使ってると、心が腐るんだな。うん。
腐ってるから、PICしか見えなくなるというか。 (ま、他のマイコンでもいえるけど。)
ちょっと質問なんですが、 PIC16F88のCCPとして使うポート(RB0かRB3)を プログラム中で動的に切替えたいのですが可能なんでしょうか 出来れば、コード例なども記述して頂けるとありがたいです。
>>771 やっぱりそうですかw ありがとうございます
774 :
774ワット発電中さん :2008/08/07(木) 23:14:46 ID:qkhltzLu
775 :
774ワット発電中さん :2008/08/07(木) 23:47:04 ID:JE56Ittf
まっ、そういう時はえてして信じられないような間抜なことをやってるものさ 基本に立ち返って1から全部見直すが早道
変数はデータシートにあるSRAMに格納されて、電源を切っても消えないデータがEEPROMでいいんですか?
今はそれでいいよ
>>774 EEPROMの書込みって数mSかかるから
それこそフロー制御とか入れないとダメなんじゃね?
>>774 ちゃんと書き込み終了を待ってる?
とりあえず、データシートにあるルーチンをそのまま使ってみたら?
>>774 一回書き込みできたっていうのが良くわかんないんだけど、私が嵌ったのは
WREG0 = adr; // アドレス
WREG1 = dat; // データ
__asm__ volatile ("TBLWTL W1, [W0]"); // 実行
って書いたら、コンパイルしたときに(アセンブラ知らないので表記が正しくないけど)
WREG0 <= adr
WREG0 <= dat
WREG1 <= WREG0
という形にされたようで、WREG0に入れたアドレスが壊れてしまい動きませんでした。
期限切れでコードが最適化されないからかな?
書き込みの部分はそんなに長くはならないでしょうから、シミュレーションでレジスタの
値をチェックしてみては如何でしょうか?
マイクロチップ公式HPのPIC一覧でPSPの機能があるかないかはどの項目でわかるんですか? Show All Specsにしたんですが、わかりません
>>781 どうやら項目はないみたいだね。
40ピン以上のPIC18なら多分どれでもPSPありだと思うが。
ありがとうございます!
774ですが、とてもくだらない原因でした。 MPLABのEEPROMウィンドウは、ブレークかけると更新される、少なくともクリックしてリフレッシュすれば更新されると 思っていたら、プログラムメモリ読み込みが必要だった、という落ちでした。 しかも、MPLAB起動して1回目は自動で読み込みに行くようです。 WREG0=adr; WREG1=dat; は、ひっくり返すと希望通り動きますね
>>75 回路を改造したエレキギターで感電死した香具師を知っている。
USBがしたくてMCHPFSUSB_Setup.EXEをさがしてるんですが、もしかして古すぎて存在してないんでしょうか? Microchip MCHPFSUSB v2.2 Installer.zipがあったので入れたんでですが、 PICで楽しむUSB機器自作のすすめの本の内容と違いすぎてコンパイルできそうもありません
ありがとうございます。早速やってみます
789 :
774ワット発電中さん :2008/08/11(月) 17:41:50 ID:RuqH2uH7
791 :
789 :2008/08/11(月) 17:59:01 ID:RuqH2uH7
熱容量とかまったく考えずに昔かったコテです。 100Vで15Wっていまいちなんですか?
15Wなら電子工作用だな じつにふつう。 コネクタ類はメッキなので、半田がのるようにするにはある程度暖める必要がある。 25〜30Wだとラクだろう。 1個潰すつもりで実験するなら、 コテ先に半田のせて、その半田を介してぐりぐりやってみ。
デカいコネクタは単純に体積大きいから暖まりにくいってのもあるな。
こういう時のために 少し大きめのコテも用意しておくのがいい。 自分は 18W 30W 60W
俺はイライラするの嫌だから、フラックスに助けを求める
俺はイライラするの嫌だから、若いやつに任せる
俺は軽くヤスリで磨く
単につきにくいだけなら、 サンハヤトの無洗浄タイプフラックス HB-20Fはどうだろう?
その類の端子は極新品以外はメッキが微妙に酸化してるので表面をヤスリなどで荒らしてやらないと半田のらないよ
表面面積が大きいから熱が逃げて表面がなかなか暖まらないんだろ
というか、4極プラグって普通に売ってるんだ知らなかった
Φ2.5もあるお。 って、違う4極?
いや、最近のデジカメの映像音声出力とか、4極使ってたりするでしょ 便利そうだけど特殊プラグだからなぁと思ってた。
PIC18FのLED点滅が動きません。 セラミック振動子20Mhzを使ってます。すごいスピードで点滅して少し経つと止まります。 教えてください。 #include <p18F2550.h> #define CLOCK 20 #pragma config FOSC = HSPLL_HS #pragma config CPUDIV = OSC1_PLL2 #pragma config PLLDIV = 5 #pragma config WDT = OFF #pragma config USBDIV = 2 #pragma config PWRT = ON #pragma config BOR = ON #pragma config BORV = 0 #pragma config LVP = OFF #pragma config VREGEN = ON #pragma config MCLRE = ON #pragma config PBADEN = OFF #pragma udata void delay_us(int usec){ usec = (int)(CLOCK*usec)/40; while(usec){ _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm _asm NOP _endasm usec--; } } void delay_ms(int msec){ int i; for(i=0; i<msec; i++){ delay_us(1000); } } void main(void){ TRISC = 0x30; TRISB = 0x00; while(1){ LATBbits.LATB0 = 1; delay_ms(1000); LATBbits.LATB0 = 0; delay_ms(1000); } }
すいません、標準のdelays.hでやったらうまくいきました。
ポートの初期化で、TRISA=0xFF;の設定をする前にLATA=0xFF;として初期出力をしている例がおおいのですが、 これはどういう意味があるんですか?
「PICとセンサの電子工作」買ってきた 「はじめに」のところに、「この本はみなさんの安全を保障することができません」と 書いてある。 たいしたものだ
まぁ・・・How to本ヤシに、安全の保証を求めるようなブツはダレも求めないから イイんじゃね?
PIC初心者です。 PIC24FとICD2を使って開発をはじめたのですが、 MPLABv8.1でブレークポイント設定したCソース行で プログラムが停止してくれません。 2−3行オーバーしたところで停まります。 ICD2ではなくMPLAB SIM(CPUエミュ)を使うと問題なく 目的の位置で停まります。 ICD2のデバッグってこんなもんなんですか? PIC開発暦の長い方、ご教授お願いします。
>>809 特に開発暦が長いわけではないが。C30を使用しているとして、
ブレークを設定する位置によっては、その行の実行完了後停止するケースは
良くある。
>>2−3行オーバーしたところで停まります。
というのが、多分これにあたるんじゃないか。例えば、
if(xxxx)
a = b;
else
c = d;
で、if文にブレークを設定するとxxxxが不成立なら次の実行位置はelse以降に
なり、この行で停止。
また、関数呼び出しの行にブレークを設定しても、関数を呼び出す前に停止せず
関数の入り口で停止する。
ただ、必ず上記のように停止するかどうかは、あまり記憶が定かでない。
このため、大事な部分では希望停止位置の少し手前にブレークをかけて
ステップ実行させていた。
>>810 早速の回答ありがとうございます。
ぴたりと停まらないのはPIC+ICD2の仕様のようですね。
安心しました、32bitCPUなみの開発環境を求めてはいけないんですね。
>また、関数呼び出しの行にブレークを設定しても、関数を呼び出す前に停止せず
>関数の入り口で停止する。
そう、これは不便ですよね。
関数の中をデバッグしたくないのに勝手に関数の中に入ってしまう。
それと、ステップアウトで関数を飛ばしてステップ実行したいときも、
実際には関数の中に入った状態になり、やたら時間がかかります。
PICの常識に慣れていくしかなさそうですね、、。
>>806 TRISA=0xFF;だと全部入力設定なんで、初期出力の設定はしないと思うけど、
かりにポートにLEDがつながってるとして、一瞬たりとも光らせたくない場合はLAT設定が先で
別に一瞬ひかってもいい場合は順番はどうでもいいかな。
実際、LEDならどうでもいいけど、他デバイスの制御線なら気を使うのでは?
>>812 なるほど、PICの故障につながる設定の決まり事なのかと思いました。
ありがとうございます。
dsPICからPCへの送信で unsigned int addata; printf("%5u", addata); これを実行した時に転送されるビット数は16ビット(2バイト)と80ビット(10バイト)のどっちでなんでしょうか?
どっちでもない。
驚愕の事実、"PICは暴走しない"伝説を吹聴しているやつって、秋月スレの荒らしだったことが発覚@自営スレ。
生活保護なんて廃止しろ 働かざる者食うべからず!
なんか芋づる式に出てくるなぁ(w
とあるコンデンサーの突入電流の影響で、電圧が下がる影響で、 電源投入時にPICが正しく立ち上がら無いことがあります。 で、突入電流は一瞬だと思うのですが、コンデンサが充電された後も、 永遠にPICは立ち上がりません。 このときPICはどんな状態なのでしょうか? 回避策はあるでしょうか? 突入電流を緩和する方法は思案してはいるのですが、 なかなか分かりません。 あわせて詳しい方いらっしゃいましたら、 ご教授願えないでしょうか
>>820 まわりくどい書き方してるけど、ようは電源の立ち上がりが遅いせいで
PICが不安定ってこと?
リセットICはいかがですか。
>>820 もしそのdeviceでリセットピンをI/Oに出来るならinputにしちゃいなよ。
出来ないなら、突入電流が入らないようにきちんと抵抗入れるなり、きちんとリセット回路を設計するなりしましょうってことで…。
カタログにMCLRに繋ぐ推奨CR回路図無かった? それでも早すぎるならリセットICしかないと思うし、 もし他の部分に引っ張られてPICの電源電圧が下がるようなら根本的に回路見直すべき。
>>820 >このときPICはどんな状態なのでしょうか?
電源投入時のリセットパルスが指定条件を満たせないときや、
クロック入力に不備があるときなどの状態での動作を考えることは
やっても意味が無い。理由はメーカーが保証していない上に
内部回路がどうなっているかを正確に知る方法が無いから。
よって不定になると考えて、そのような状態になることを回避する
方法を検討するべき。具体的な方法は他の人がレスしているので
参考に。
16FシリーズとかならPower up timer あるから、Configに _PWRTE_ON 入れとけばスタートを72ms遅らせてくれるけど普通ONにしてるか。
>>821-825 みなさん、ありがとうございます。
リセット回路という方法を取りたいと思います。
>>819 5文字、40 or 35bitじゃまいか
なるほどそういう変換関数でしたか。ありがとうございます。 printf("%1u", addata); でも、addataの4桁整数を出力できたのですが、よくわからない関数です。。。 あと、キーマトリクスで出力の後入力分岐までの待ち時間は最低いくつですか?100usで間に合ったり1msで間に合わなかったりなのですが
>>828 PICに関係ない質問ばかりだな。
初心者スレ行けよ。
>829 軽石さん、まあまあ。 PICスレ自体が、初心者スレみたいなもんですからw。
>>829 dsPICからPCに転送しているようなので、無関係ではないのでは?
>829 よくわかってないやつに限って、こういうことを言うんだよな。
大体何の処理系のprintfなのか書いてないから訳わかんないし printfが0の不定長ビット列を何処に垂れ流してもCの仕様的には全然問題ないし
>>824 > printf("%1u", addata); でも、addataの4桁整数を出力できたのですが、
> よくわからない関数です。。。
何で自分が間違ってるんじゃないかと思わないの?
printf() の "%1u" の 1 って、「最小」幅だから addata が 1234 なら、
4桁出力するのは当たり前。
> あと、キーマトリクスで出力の後入力分岐までの待ち時間は最低いくつですか?
> 100usで間に合ったり1msで間に合わなかったりなのですが
そんなもんそのキーマトリクスに依存するから、回路示すなりしないと誰にもわか
らん。
>>834 よくわかってないなら、口を挟むなよ。
836 :
774ワット発電中さん :2008/08/16(土) 07:50:11 ID:ntlcP986
>836 おまえもなプププ
軽石ってなんの隠語? 馬鹿ってこと?
軽石=池沼ってことです。 (マナー教室や、おトボケゴミレスで荒らす有名人でした。)
840 :
774ワット発電中さん :2008/08/16(土) 18:15:02 ID:pWMkGX7W
/www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2136&secgrp=PicMicro_sg&doctype=DeviceInfo&xdoctype=Data%20Sheets&prodprefix=pic 前までマイクロチップのdatasheetに少しだけあった日本語版が 次々シナ語版に置き換わっているのだが。。。。。。。。。。。。。。。 これは、日本が見捨てられた?
>>840 そりゃー製造拠点が中国にどんどん移行しているから、
日本語である必要はないだろうね。
逆に中国の安くて優秀なエンジニア用に使われる様に中文が多くなっている。
日本ではコストの絡みで案件レベルから中国に丸投げしている実態がある。
PIC出荷の約半数は中国向けらしいから 中文datasheetが多くなるのも当然ってこと。
>>841 優秀なエンジニアなら下手糞な翻訳版なんか使わないだろ。
優秀でないエンジニアの方が大多数です。 取り合えず翻訳版があれば、そちらをみて意味がわからない時だけ 英語のデータシート見てます。
845 :
774ワット発電中さん :2008/08/16(土) 21:59:26 ID:IX0KvqZ0
>>838 >>839 ごうら! JO_O
喪前のほうが軽石さんより、よっぽど悪党だよ。
いいかげんに汁!!
おもちゃ系のキットの説明書まで中国語だからなぁ〜 おもちゃとはいえ、オペアンプの基本4動作が分かるキット とかだと、日本語だったら・・・っておもう。
PICが正しく立ち上がった事を確認するために、 プログラムの先頭に以下の文を書きました。 PORTBの0,1,5,2,3,4は全てLEDに接続されています。 CALL文 TIM500は0.5秒の遅延ルーチンです。 始めにB0,B1,B5のLEDを点灯させ、 0.5秒後に消灯し更にB2,B3,B4のLEDを点灯させます。 その後全てのLEDを消灯します。 しかし、なぜかこの後、初めに消灯したB0,B1,BTが点灯します。 全てではなく、その時によってB1だけ再点灯したりB0,B1が再点灯したりします。 プログラムの先頭でこの処理をしているために、誤作動しているとおもうのですが、 如何したらよいのか分かりません。何方かよろしくアドバイスの程お願いいたします。 SYOKI BSF PORTB,0 BSF PORTB,1 BSF PORTB,5 CALL TIM500 MOVLW B'00000000' MOVWF PORTB BSF PORTB,2 BSF PORTB,3 BSF PORTB,4 CALL TIM500 MOVLW B'00000000' MOVWF PORTB
848 :
FAQ :2008/08/17(日) 01:56:47 ID:VJokOrib
Port出力のbit操作についてはチト問題あんのよ。 同じPORTBの連続操作なら間にNOP入れれば改善するカモ (PIC18以降ならLATx使え) 確実にやるなら・・・ MOVLW B'00011100' MOVWF PORTB あと 0クリアなら CLRF PORTBでも桶
>>848 ありがとうございました。格段によくなりました。
しかし、残念ながら、まだ同じ現象が起こることがあり、
いっその事と思い、別の新品のPICに変えたところ、更に改善しました。
しかし、まだ完全には直りません。
出力設定でLEDを点灯させる方法がよくなかった気もします。
入力設定でプルダウンすれば良かったかな?と思いつつ、
もう回路を引きなおす基板スペースも無いので、諦めました。
>>849 の
>そもそも電源リセットは正常にかかり、プログラムは実行されているのか?
という確認用の部分なので、まぁ、これでいい事にしました。
ポートに対して直接ビット操作しないで、 直接点灯パターンをMOVWFしたらいいんじゃねぇの?
>>847 LEDはどうやってPICに接続してる?
抵抗値が低過ぎるのでは?
>>851 最終的にプログラムは以下の輪うになりました。
SYOKI
MOVLW B'00100011' ;LED RB0,RB1,RB5点灯
MOVWF PORTB
CALL TIM500 ;0.5秒遅延
CLRF PORTB ;全LED 消灯
CALL TIM500 ; 0.5秒遅延
MOVLW B'00011100' ;LED RB2,RB3,RB4点灯
MOVWF PORTB
CALL TIM500 ; 0.5秒遅延
CLRF PORTB ;全LED 消灯
CALL TIM500 ; 0.5秒遅延
MOVLW B'01000000' ;ブザーをならす。
MOVWF PORTB
CALL TIM500 ; 0.5秒遅延
CLRF PORTB ;全LED消灯とブザーオフ
しかし、頻度は下がったのですが、初めに点灯させたRB0,RB1,RB5が、
このプログラムの最後 CLRF PORTBの後に1つ2つ点灯したりしなかったりします。
>>852 LEDはPORTBの各ピンから240オームの抵抗を経て接続した後GNDとなります。だいたい10mA流れています。
1kΩくらいにしたら?
>>855 試してはいませんが、あまり暗くなるのもLEDの役割を果たせませんし・・・
ところで、抵抗値を上げるのは、電位をより速やかに消費するのが目的でしょうか?
10mA…ポート全部消費したとして80mAか… 考えるのめどいからトランジスタアレイでも挟んでしまうとラクだな。
>電位をより速やかに消費する なに、その俺様用語。意味わかんね
本人もわかってないから良いんだよ
>>858 既に前のレスと同じ内容だったり、的外れかな?とか思う内容だったりしたが、
せっかくレスくれたと思ったので、こちらも一々丁寧にレスしたが、
君、何も分かってないじゃないか。
何様のつもりだよ
電位は消費するものではないぞ。電力ならわかるけど。 抵抗を大きくするのは、LEDに流れる電流を減らすため。 なんか レギュレータにコンデンサ入っていないとか、 78L05使っていて途中で電流制限入っているとか、 オシレータの設定が不適切とか、 2本足のレゾネータ直結とか、 リセットの設定変とか、 電源の配線が細すぎとか そんな話っぽい。PIC替えて症状変わったんだよね?
もう放置でいいと思うが。
所詮PICスレ、質問者もマトモじゃないw
まるで回答者もまともじゃないみたいじゃないか
まっ、>860はそんなことで一生悩んでれば良いんじゃねぇの?
>>854 10mAなら問題無いはず。
つまり、プログラムが正常に実行されてない可能性もある。
最後に点灯してしまうのは
最後のCLRF PORTB
の後に何をしているかによる。
↑ 翻訳すると 「偉そうなこと言ってるけど、 プログラムミスじゃねえのか?」 ってことだね。 ソースを全部さらすべきだね。
870 :
774ワット発電中さん :2008/08/18(月) 01:25:44 ID:C871g6+Z
うおっちどっくがおnのままで 途中からぽおとびいがアクセスされるに 340もりたぽ
高学生ってなんだ?
dsPIC33FJ256GP710-I/PFがMchipダイレクトだと 『このデバイスは代理店を...』とかで買えず、 デジキーは在庫無しでした。 2〜3個単位で入手できそうな店知りませんか?
875 :
873 :2008/08/18(月) 17:28:17 ID:ZeWiS771
みんなPICで何作っているの?
PICライターw
そのPICライターで何を作っているの?
PICライター
picライター
PICライターなんて1つあればいいでしょ?
その日の気分で使うpicライターを替える。
PIC布教用に決まってるじゃないか。
PICライター以外に作ったもの無いの?
AVRライター
ワンタイムPICライター
AVRライターもつくった、PICライターは20台は作ったぞ
そのPICライターの作り方を教えてくれないか?
PICライタ製作本キボンヌ
なんで急に黙るの?
簡単だから
もういいよ。お前ら馬鹿ばかりだった訳だ。
RCDライタ ↓ 309(だっけ?) ↓ PICKIT2クローンをネットで見つけて作成 ↓ ICD2クローンを(ry ってやろうとしてた俺に謝れ。
PICライタ製作 - Google 検索 PICライタ製作 に一致する日本語のページ 約 259,000 件
まったく、PIC扱うことは出来るのに何を作っていると聞けば、 ライター、ライター、ライター って他に作るもの無いのかと聞けば ライター、ライター、ライター ってじゃあ、どう作るの?って聞けば、沈黙・・・・・ 本当は、ライターも作れないらしい。
>>894 JDM−>ライタ509 …
の方がいいよ。
JDM(改)→ICD2クロソ
JDMだけで足りるな JDMで足りない用途にはPICを使うべきではない
簡単なライターなら1000円そこいらで作れるのに、ソケットだけでもう1000円近くかかるという…
902 :
774ワット発電中さん :2008/08/18(月) 22:57:28 ID:sQ6LQtPW
二つほど質問があります。PIC16F689でCCS Cを使っています。 今、write_eeprom()でPICが飛ぶ(正確には数回書いた後、プログラムの先頭に飛んでしまう)現象が起きています。 write_eeprom()関数を使う場所は自作の一個の関数のみで、その関数はあちこちで使っていますが、 飛んでしまうのは起動時に使っている時のみです。 どんな原因が考えられるでしょうか? 後、MPLAB SIMで入力pinの状態を設定するのってどうすればよいでしょうか? write_eeprom()関数を使っている関数は以下です。 #define EEP_DATA_SIZE 17 #define EEP_DATA_ADR 0 typedef struct{ BYTE bEcoFlg; BYTE bPwOffFlg; BYTE bWhereModeFlg; WORD wPwOffAdVal; WORD wCal4VoltBatV; WORD wCal5VoltUsbV; WORD wCal100PerLcA; WORD wCalTempBat60; WORD wCalSwBaud1V; BYTE bStrbWaitSlowFlg; BYTE ChkSum; }EEP_CONF_INFO; static EEP_CONF_INFO tEepConf; void EepWrite(void) { BYTE *DataPtr; BYTE EndAdr; BYTE ChkSum; INT8 i; // チェックサムの計算 ChkSum = ChkSumCalc((BYTE *)&tEepConf, EEP_DATA_SIZE - 1); // 変数にチェックサムを入れる tEepConf.ChkSum = ChkSum; // データのポインタの設定 DataPtr = (BYTE *)&tEepConf; // EEPROMにデータを書き込む EndAdr = EEP_DATA_ADR + EEP_DATA_SIZE; for(i=EEP_DATA_ADR; i<EndAdr; i++){ write_eeprom(i, *DataPtr); DataPtr++; } }
>>903 あー……その手があったか
ゼロプレッシャーしか頭になかったわ
>>902 >飛んでしまうのは起動時に使っている時のみです。
>どんな原因が考えられるでしょうか?
WDT有効で時間設定前に write_eeprom();したとか?
>後、MPLAB SIMで入力pinの状態を設定するのってどうすればよいでしょうか?
その程度なら、Stimulus - Asynchで
>>876 873です。発注ボタンを押した直ぐ後に、合衆国がどうした、こうしたと
代理店がどうした、こうした見たいな英語が出ます。
正:出た英文をそのまま書き写す (∵意味がわかる) 誤:出た英文を「どうした、こうしたみたいな英語」と意訳して書く (∵意味がわからない)
>>909 乙
もう一冊トラ技買っとくんだったorz
911 :
902 :2008/08/19(火) 14:14:46 ID:HNuCorm6
>>905 >> WDT有効で時間設定前に write_eeprom();したとか?
まったくその通りでした・・・orz
ちなみにWDT有効で時間設定前って、
WDTの時間はいくつになっているんでしょうか?
>> その程度なら、Stimulus - Asynchで
いじってみます。
ありがとうございました。
>>906 どの段階でどういうメッセージが出ているのか不明だが(というか
説明する気ないだろ?)、サポートに問い合わせしてみたら?
>>910 使ってないフラッシュ領域にソフトを書くのでトラ技BIOSもそのまま残るしくみ。
78K0基板1枚で作れるんだけどもう一冊は保存用なの?
PIC用とAVR用じゃないの?
AVR用かぁ 同じ作者のPICデュアル持っているので648A抜いてつぎはぎしたら早くなるかな
>>913 別荘用。海の近くでマターリ遊ぶのに使おうかと。
917 :
774ワット発電中さん :2008/08/21(木) 05:56:20 ID:uoxy3Esf
18F2550なんだけど、実行中にコンフィギュレーションビットの書き換えって可能? プログラム領域を記憶領域に使ってるんだけど、まれに一部領域が誤消去されるトラブルが発生するんで 普段は書き換え不可に設定しておいて、実際に書き換える必要があるときのみ許可したい データシートにはプログラム領域とEEPROMの書き換え方法しか載ってないんだが、やっぱ無理なの?
>>917 詳しい現象とソースを掲示して、詳細をみんなで議論すれば糸口が
見つかるかもしれん。
>>917 プログラム領域を記憶領域に…って、そんな変態仕様にしてまで何をしたいのか気になるな。
EEPぐらいなら3線シリアルあたりでめったやたらに増やせると思うのだが…
>>921 いたって普通の用法じゃない?
数バイト程度の記憶領域がほしい用途って結構あるし。
そのために外部回路は大げさでしょ。
例えば、計測器のキャリブレーションデータとか前回使った擬似乱数の種とか。
その程度なら内蔵EEPROMでいいじゃんっていう。
>>919 だらだらとソース書くなよ。
絶対だぞ。
PIC10などではたとえばピンの状態変化で「割り込み」でなく「リセット」の扱い となるみたいですが、そのばあい汎用レジスタの内容は変化なし(リセット前から 変化しない)ということでいいのでしょうか。 データーシート読みましたがなんかわかりにくい表現で自分には理解できません でした。週末にでも実験してみるつもりですが、注意点などあればお教えいただける と助かります。
927 :
917 :2008/08/22(金) 06:55:39 ID:BtC4V0Uu
>>918 やっぱり無理か、ありがとう
>>919 32バイトが00で埋め尽くされる現象が、ごく稀に発生する
FLASH書き換えルーチンは、512バイト一気に書き換える仕様なので、間違って呼んでも
32バイトだけ書いて終わるのは考えにくいので悩んでます。
そもそも開発環境でまったく発生しないんで、どう調べたものか・・・
USBの抜き挿し時(抜きか挿し)で発生してそうな感じ
(プログラム領域がやられたとき、動作中は動いていたが、一度抜いて挿しなおすと動作しなかったので)
>>917 そんなに不思議な用途とは思わないけど、512バイト*30の記憶容量が欲しかったのでFLASHに書いてる
なるべく小型&安価に作りたかったので、EEPROMは乗せませんでした
こんなトラブル出ると思ってなかったし
もちろん、書き換え頻度は低い 製品寿命中に100回以下と想定してます 用途は学習リモコン
基板作ってるんで、今から外部EEPROM実装は不可能 ファームウェアで何とかしたい
>>925 そういわれると書きたくなるのが人の常
>>917 面倒なんで試してないが、プログラマを使う場合、PIC18F2550のフラッシュROM
書き込みシーケンスとコンフィギュレーションビット書き込みシーケンスは
ほぼ同じなんで、それに倣って書き込みシーケンスを始めればコンフィギュレーション
ビットの書き込みもできるかも。
http://ww1.microchip.com/downloads/en/DeviceDoc/39622k.pdf PIC18F2XXX/4XXX FAMILY Flash Microcontroller Programming Specification
の 3.2 Code Memory Programming と 3.6 Configuration Bits Programming ね。
>>926 「汎用レジスタ」がWレジスタのことを指しているのならば、リセット前後で
Wレジスタの内容は保存されない。
その他のレジスタの内容については、データシートの
TABLE 9-1: RESET CONDITIONS FOR REGISTERS ? PIC10F200/202/204/206
ないし
TABLE 8-1: RESET CONDITIONS FOR REGISTERS ? PIC10F220/222
を参照。
930 :
926 :2008/08/22(金) 16:37:40 ID:kXwSUb31
>>929 ありがとうございます。
「汎用レジスタ」はデータシートの FIG 4-3 に示されているGeneralPurposeRegisters(10h〜1fh)の意味で書きました。
誤解を与えてすみませんでした。
TABLE 9-1 に載ってるのはGeneralPurposeRegisters以外のレジスタなのでこまっていました。
汎用レジスタがリセットでどうなるか、データシートの 9.3 Reset の項にある「Some registers」
が汎用レジスタをさすのなら、POR以外では変化しないと理解していいのかな。
PIC18F67J10なるPICをヤフオクで見かけたんだけど、これってPICKIT2以上しか対応してない? RCDや509のライタ対応表にはPIC18xxxxの様な四桁はあれども、PIC18xxJxxのような型番が見当たらない。 もしかして下のSelf-Writeってライター要らずってことですか? PIC18FXXJXXファミリー:10MIPS VDD=2.0〜3.6V,Self-Write,UpwardlyCompatible with PIC18/PIC16,77命令,C Compiler Efficient Instraction Set
>>931 Vddに5V印加すると壊れちゃうから、Vdd可変対応のライタ(Programmer)でないとダメ。
Self-Writeってのは内蔵EEPROMとほぼ同様にFlashメモリ書込み出来るやつ。
16F87xとか16F88とか多数・・・ようするにboot-loader実現可能ってこと。
933 :
16F88Xシリーズに苦戦しております :2008/08/22(金) 19:17:34 ID:cKVFmA7/
既に掲示板があったり、掲示板が違っていましたら申し訳ありません。 また、いろいろな議論中に割り込んで申し訳ありません。 現在、新種(?)の16F88X(882,883,884,886,887)シリーズを使ってみようと試みておりますが、 全ての入出力ポートをDigital I/Oとして使う場合は、 ANSELとANSELHの2つのレジスタを"0"にするだけで良いのでしょうか? また、RE3となっているMCLRを従来通りハードウェアのリセットとして使う場合の設定は、 どのようにすればよいのでしょうか? 以上に事項に関しまして必要な初期設定があるようでしたら教えていただけましたら助かります。 よろしくお願いします。
>>932 なるほど、低電圧でブートローダーも可能とはそりゃ敷居高いですね。
なかなかお目にかからないわけだ。
んん〜…今はスルーしてもう技術が上がってクローンライターも完成したら、狙ってみようかな。
だれか、この動画のPIC版を作ってくれ!
どの?
>>935 CGでよければ作ってやるぞ。
いくら出す?
16F88を1個
>>933 >ANSELとANSELHの2つのレジスタを"0"にするだけで
OK
>MCLRを従来通りハードウェアのリセット
Configビットで設定
>>936 これ、途中のプレゼン資料だけ日本語なのね。
あと、iPhoneってAVRだったのか。
やっぱ玄箱買おうかな。
なんで玄箱?
これでLED点滅を期待しているんですが、まったく出力が出ません。よろしくお願いします。 #include <12f675.h> #fuses RC, NOWDT, NOPROTECT, NOMCLR #use fast_io(a) #use delay( CLOCK = 4000000 ) void main(){ set_tris_a(0x0F); while(1){ output_bit(PIN_A4,1); output_bit(PIN_A5,1); delay_ms(1000); output_bit(PIN_A4,0); output_bit(PIN_A5,0); delay_ms(1000); }
>>943 外付RC発振で医院かい?
あとVer.は?
RCは内部じゃないんですか? MPLAB 8.14 CCS4.057です。
#fuses RC は外部RC発振の指定だよ。(GP4,5共I/Oに使えない) 内部RC発振で GPIO4,5共使うなら #fuses INTRC_IO な。
CCSの書き方は知らんけど CMCON=7; ANSEL=0; //アナログ入力を切る みたいな初期設定が要ると思う。
できましたありがとうございました。 なんでうまく行ってたのかが不明ですが、いままでずっとRCでやってました。どうもです!
>>947 ccsの場合、Ver.にもよるが無くてもok。
指定しなくてもデジタルI/Oに設定される。
でも、そういうお節介な部分で個別のバグが多いのさ。
不明っておま……RCしかないじゃないかw
952 :
947 :2008/08/24(日) 22:22:05 ID:VD16ctsE
>>949 そうですか。Hi-Tech Cしか使ったことないので参考になりました。
953 :
774ワット発電中さん :2008/08/25(月) 07:31:24 ID:JRRCtAvP
954 :
774ワット発電中さん :2008/08/25(月) 11:00:09 ID:2EtHAeus
間違えたのなら、削除依頼出して立て直すべきなんだがな。 まだ残り余裕あるし。
>>955 最近USBのをいろいろ触ってるけどFLASHと合体させると簡単に作れそうな気がする
しかし作っててむなしくなりそうだな
ていうか、こんなスレいるか?
HIDで通信するサンプルを18F2550で試してるんだが、インタラプト転送の周期を0x01にしても2ms周期でしか送れない。 512kbps必要だけどこれでは256kbpsになってしまう。 HIDってバルク通信使えたっけ?
COM デバイスじゃダメなの?
ありがとうございます
配線長が最短でない
963 :
774ワット発電中さん :2008/08/26(火) 23:47:15 ID:mr7oK748
>>961 中心値"3480"をプログラムメモリ最終番地に書いてから試されては?
その前に最終番地をリードした結果は"34xx"?
964 :
774ワット発電中さん :2008/08/27(水) 00:01:44 ID:Z6K6UXYP
せっかくお城があるならTXじゃなくCoutの周期を合わせ込めば?
>>962 それはある、片面基盤なのに部品取り付け側から見て裏側(足の出る方)にガンガン電線を配置してノイズだらけかも。
RS232まではほぼ直結に近い形で、延長コードなどは使わずに基盤に配置したDサブを直接さしてる。
…PICも近い方がいいのかな?
>>963 何でもいいと書いてあったから、多分最初に試した3FFF(完全にイレース)状態か3488だったと思う。
3番ピンからの出力は変化するし、7番ピンも何か意味のありそうなデジタル信号を出しているから問題ないかと思ってたけど明日試してみるよ。
>>964 ポカするたびに毎度合わせ込みながら何度も焼きこむのが(ry
多分焼き込めないほどまで使い切れないと思うけどね。作っておけば楽になるかなと…。
皆様の暇つぶしとして頑張ります。
レスを付けてくださってありがとう御座います。
966 :
774ワット発電中さん :2008/08/27(水) 01:05:04 ID:Z6K6UXYP
>>965 作者のHPでは中心値"80"から始める様に改定したとも取れるが、
今落として試したが3FFFの値を使うみたい。
OSCCAL手動設定してから試してちょ。
>>965 ソフトが間違ってるか、ハードが間違ってるんでしょ。
・・・としか言いようがないな。何も晒さないんでは。
>>959 できればドライバレスで動くようにしたい。
>>961 ハイパーターミナルはRxDだけとかの接続だと動かなかったりするよ。
ハンドシェークラインを使わないといかんかもしれん。
面倒だから俺は寺タームしか使ってない。
COMの場合必要なのはINFファイルだけだけどな
>>968 速度が必要なら仕方ないかと思ってCOMにしようかと思ったら…
最近配布されてるファームウェア集にはCOMが無かったorz
結局MPUSBドライバを使うことに…
やっぱバルク転送速いね。PICの処理速度がボトルネックになって960kbpsで頭打ちになったけど。
なんか誤解を招きそうだから補足。 PICの処理速度というか自分が書いたプログラムのPICでの処理速度だな。 PICのUSBモジュール的にはまだ速度は出そう。
C30コンパイラ使ったときの、RP端子とRPI端子ってピン割付の記述方法って違う?
C18コンパイラのtimers.hの関数でタイマ2起動したら動かないから自分でレジスタ設定したら普通に動きやがった。
秋月のpickit2安いな。
18Fシリーズのbootloader(千秋ゼミのUBWのページのFirmB)で プログラムを起動する場合って、プログラムに修正必要? Mybootで18F2550にHIDデバイスのプログラムを書き込んでも起動しないみたいです。 (bootloaderなしだとPCで認識される) 試しに千秋ゼミのHID-mouseを書き込んでみたら正常動作しました。 コンパイラはC18です。
977 :
774ワット発電中さん :2008/08/30(土) 15:08:45 ID:O0EsLxta
>975 Ver3.5+Ver4+USB2232ケーブル+製作の手間= 何円?
>>975 多少は売れなくなるかもしれないけれど、未だに初心者で16F84Aを指定する人もいるのと同様、
電子工作の雑誌等の手順どおりにしたい人も多いでしょうし。
ここまで安くなるとPICkit2以外のホビー用途のライタは駆逐されそうだな
あとはPICkit2のキットが出れば完璧だな。
982 :
774ワット発電中さん :2008/08/30(土) 17:56:16 ID:O0EsLxta
PICkit2kit ? ややこしいなw
でもPICからライタを作るって目的が無くなったらPICの需要なくなるんじゃね
そうかもしれんね。 PICの需要の8割ぐらいはライタだろうからね。
トラ技8月号を手に入れたぞ!
コノモール逃げる気ないのか?
甚だしく誤爆失礼
秋にPIC24Hキタ
PIC32はまだ〜(AA略
秋月ライタはバージョン上げると下位互換で無いから必要に応じてバージョン上げたり下げたりで面倒でいやだ。 どうせもう、あたらしいPICに対応する気もないのだろうし。
>979 つか、秋月自身が積極的に終わらそうとしているようにしか見えん。
まだオリジナルキット作ってた頃の製品だしな。 周波数カウンタキットとか完全に消えちゃったし終焉なんだろうね。
と言うことでこのスレもそろそろ終わらそう 埋め
>>996 何で統合とか言ってるの?
それが次スレでいいんだよ?
このスレ【大人の】PIC専用のスレPart20【おもちゃ!】 次スレ【DAC内蔵も】PIC専用のスレPart20【出たよ】 Part番号が一緒だから複数あるのとカン違いしているのでは
皆でトラ技509を作ろう
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。