【16F193x】PIC専用のスレPart22【次世代PIC】
1 :
774ワット発電中さん :
2009/02/14(土) 16:45:19 ID:HnfecRFF
2 :
774ワット発電中さん :2009/02/14(土) 16:46:06 ID:HnfecRFF
3 :
774ワット発電中さん :2009/02/14(土) 16:46:41 ID:HnfecRFF
4 :
774ワット発電中さん :2009/02/14(土) 16:48:54 ID:HnfecRFF
5 :
774ワット発電中さん :2009/02/14(土) 16:49:47 ID:HnfecRFF
6 :
774ワット発電中さん :2009/02/14(土) 16:54:36 ID:HnfecRFF
参考資料(個人的見解があるので参考までに) 秋月の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,3.3Vでも動くよ ×16F628A \200 F648Aの2Kw版,16F648に移行 △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ピンはF688だね ◎16F688 \160 ADC有,eUSART有,4Kw,内蔵31K-8MHz,機能的にもマアマア △16F676 \140 ADC有,1Kw,内蔵4MHz,F675の14ピン版か・・・ 8ピンはF683だと思っていたがF615も\100にしてはなかなか良い ◎12F683 \150 ADC有,CCP有,2Kw,内蔵31K-8MHz,8ピンとしては多機能 ○12F675 \120/130 ADC有,1Kw,内蔵4MHz ,環境によってはE/P版 △12F629 \100 675のADC無(機能無しってこと) △12F635 \120/130 機能無し,1Kw,内蔵31K-8MHz,環境によってはE/P版 ◎12F615 \100 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無し ×12F609 \100 F615からADC,eCCP機能省かれてる (参考)機能無,EEPROM無,12bitコア プログラム組む上で制限多し △16F57 \100 28ピン,2Kw,内蔵CLK無,安くて多くのI/O欲しいなら △16F54 \60 18ピン,0.5Kw,内蔵CLK無,安いI/O欲しいなら △10F200 \70 DIP8ピン,1/4Kw,内蔵4MHz,米粒PICのデバッグ用
7 :
774ワット発電中さん :2009/02/14(土) 16:58:56 ID:HnfecRFF
VistaでMPLAB IDEが起動しない
コンピュータの管理者であるにもかかわらず、インストールまたは実行しようとしているプログラムから、管理者権限が必要というメッセージが表示されます。
インストールしようとしている場合、プログラムのインストール アイコンを右クリックし、[管理者として実行] をクリックします。 管理者のパスワードまたは確認を求められた場合は、パスワードを入力するか、確認情報を提供します。
プログラムがインストールされるが動作しない場合、プログラムのアイコンを右クリックし、[プロパティ] をクリックします。[互換性] タブをクリックし、[管理者としてこのプログラムを実行する] チェック ボックスをオンにして、プログラムの実行を試します。
http://science6.2ch.net/test/read.cgi/denki/1228312753/990
8 :
774ワット発電中さん :2009/02/14(土) 17:00:27 ID:HnfecRFF
>>6 ×16F84A \300 機能無,1Kw,いまさら不要
→教育用として今でも大量に使用されている
レーティングは△16F84A
9 :
774ワット発電中さん :2009/02/14(土) 17:03:57 ID:HnfecRFF
10 :
774ワット発電中さん :2009/02/14(土) 17:04:28 ID:HnfecRFF
以上でテンプレオワリデス
UART使おうと思って、PIC16F88 を選んでみた。 相手方が偶パリなんで、パリティ付きで通信しようとしたら、 UARTハードはパリティ生成しないんだな この石。 マニュアル読んでみたら、パリティ・フラグが無いよこのCPU orz しょうがないんで、Cで書いたらチャチイ機能の割りにはコードがデカイ。 結局アセンブラで書き直したが、みんなはどうしてんの? parity8: movwf p8, f swapf p8, f xorwf p8, f movwf p8, w rrf p8, f rrf p8, f xorwf p8, f rrf p8, w xorwf STATUS, w andlw 0x01 return
>>13 128ワード食ってもいいならテーブルかな
>>14 ccs-cは使った事無かったけど、HI-TECH C PRO(LiteじゃなくPROで) はイマイチだった
(アセブラで書いたモンの2倍くらい)
>>15 8Bitだから、テーブルでも 速度対サイズ で見ればバランスは悪くないよな。
なるほど。 Tnx
>>13 古いPICの16Fにそんな高機能を期待されても(汗
PIC18もC18ライブラリでも全くパリティ非対応だし PIC24,dsPICから8bit+パリティ対応だけど 7bit+パリティは非対応とか残念
>8 >6のリスト作った者だけど、先頭の◎○△×の意味は ◎お勧め、用途決まっていないならこれ買っとけ ○内蔵モジュール減ってるけど、その分値段も安くなってるから、まあまあ △内蔵モジュール大幅に減ってる、\10でも安くしたいなら、どうぞ ×ソースを変更できない等の理由がないなら、選択する必要なし 自分で、プラグラムもハードも作れる人のためのリスト。 そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら 指名買いするしかないのだから お勧め度は意味がない。
>>22 禿同。
16F84Aを使ってる本や記事があったら、古いか、新しいのを知らない人が書いた
ものと考えて良い。
もちろん新しいものを知らない人の書いた記事が駄目な記事とは限らない。
デバイスの選択が古くても、それ以外の部分で参考になる場合はある。
念のため。
まぁでも、電圧のオンオフを判断してオンオフを出力する。 それだけなのに、色々な制御が出来る。 そう聞いて、想像を膨らませたものです。 入門には、それしか出来ない16F84Aもよいかもしれないと思います。
初心者の俺にとっては やっぱりお手本に紹介されてるPICをそのまま使って みよう見まねで覚えて行くのは大変楽だった これからはいろんなPICを使って試してくよ
>>24 電圧のオンオフを判断してオンオフを出力するだけなのに発振子が
要るCPUってのもレトロだよね。まあRCって手もあるが。
そうか、セラロック屋の陰謀だったんだ。w
世の中、「枯れた技術」と呼ばれる物も有るから。長年実績のある方が最新式より 好まれる世界もあるのだから。 軍事・航空・宇宙・医療などは、数世代前の部品が使われていたりもするから。 ただそれをパーソナル分野に当てはめたら、必ずしもそうとは言えないが…
枯れてようがどうだろうがやりたい事が出来れば何でもいい やるときに参考になるから情報がいっぱいある方でやる できるんならね
前スレ 999 774ワット発電中さんsage2009/02/14(土) 20:06:29P4XhBf50P PICは暴走しないんだぞ。 ロジックの故障推測機能もあるし。 なぜがアセンブラじゃないとアクティベーとしないんだが。 恥ずかしながら初めて聞いた。 誰か教えて
キティガイに呼応して現れた粘着の言っていることだからスルーで
パスコンないとよく暴走したがそれは別なのかい?
以前、DsPIC30F4013+3mのLANケーブル+PICKIT2でデバックが出来なかった。 V8.15a以降にDsPICに対応するはずだから待つ事にします。 と言って去ったものです。 V8.20で出来ました。DSPICに対応できたようです。 そして、本筋ではないおまけの話ですが、 ケーブルは出来るだけ短いほうがよく20cm以下が良いと言われていましたが、 なんと3mのLANケーブルで出来ました。
えーと、補足です。 MPLAB IDE V8.20 PICKIT2 V2.60 これが今の最新でこの組み合わせでうまく行きます。 それにしても、ICD(でいいのかな)は良いですね。 サクサクとデバッグが進んで楽しいです。
34 :
774ワット発電中さん :2009/02/15(日) 15:42:40 ID:BHaQzSkQ
こういうPICライタってないもんですかね。 ・書き込み用電源外部給電(ACアダプタor006Px2) ・USB接続 ・部品代1500円程度 ちょっとここ一年くらいPIC使ってないので、状況がわからないのですが 5V単一電源によるプログラミングってできるようになりました?? USB接続可能なPICが出ている現行で、わざわざシリアル接続形のPICライタ しこしこ作るって、ICProgで「このデバイス対応してねぇぇぇ(涙」とかやる のもどうかなと思ったもので。
>>34 Writer509作るか、PICKit2の真似をすれば良いと思うよ。
バスパワーじゃなくて外部電源にする理由は?
5VプログラミングはLVP付いてるPICなら出来るけど、
コンフィグ書き換えたら出来なくなるから従来の方法は残すのがお勧め。
外部給電として乾電池つかったものもあってもいいような気がするんですけどねぇ。 ZIFソケットつかった自作ライタならともかく、50円のICソケットの抜き挿しする 場合、結構しっかりライタ抑えて抜き差ししないと、PICの足が曲がったりとか、 8ポンの足が親指に刺さるとか普通にありますもんね。 一個100〜400円のデバイスだとしても、壊してしまうとゴミになり金の無駄に なるわけですし。 ライタに内蔵した乾電池が重りになれば、抜き差し時にライタは安定するし、 パスケースサイズ以上のケース使えば、抜き差しのときケースを適当に押さえ てもひっくり返らないだろうし。 とりあえず自分で設計してみよっかな.... でもなぁ。 なんでライタから開発しないとあかんねん。
37 :
774ワット発電中さん :2009/02/15(日) 15:52:57 ID:DblkYaRV
>>35 いまどきのノート、とくにネットブックで使いたいのですけどUSB備えてないし、
そもそもモバイルノートだとシリアルついててもプログラミングミスする場合
がありますし。
うちのはそう。
外部給電なら書き込み安定するだろうし、ライタ乾電池内蔵で大型化といっても
ネットブックと同じか、もうちょい小さいくらいの大きさならあまり邪魔にもなら
んだろうと。
USBじゃなくてシリアルポートの間違いです。
失礼しました。
>>37 純正だと今度は機能が多すぎるし、かばんに無造作に突っ込めるほどスマート
(突起物がソケットとケーブルだけ)にできてないでしょ。
>>36 (俺も含めて)抜き差しを気に病むような人は ICSP で良いじゃん。
まあ 8pin とかなら仕方ないけど、そうでなれればソケットのライタなんて
悪夢だったとしか思えん。
pickit2は十分に小さいし 無造作にカバンに放り込めるし。 それでもって機能がたくさんあるなんて こんないいことないし。
>>36 PICburnは駄目なの?
とりあえずUSBと1500円以下の条件を満たすけど
PICkit2はロジアナ機能とかも付いてるから、本腰入れてPICやるなら買っといて損は無い。 最近安くなったしね。俺が買ったころの半額ぐらいで買えるじゃん。当時はロジアナも無かった。
pickit2のあの赤いボタンはなんざんしょ
自爆装置に決まってんだろ。
47 :
PIC24F :2009/02/16(月) 08:46:07 ID:o1zpnnfM
PICkit 2 Programmerを2.60にバージョンアップしたら PIC24Fに書き込めなくなった。VPPの電圧異常のエラー表示がでる。 ターゲットを別の基板のPIC24Fにかえても同じ。 ところが、MPLAB IDEでプログラマーをPICkit 2に指定して 書き込むと問題なく書き込める。 PICkit 2 Programmerは2.60で「低電圧書き込み」をサポート したということだけれど、その関係でエラーが発生する?
>>47 PIC24FJ64GA002をPICKIT2で書込みテスト
ApplicationVer. 2.60.00
DeviceFileVer. 1.60.00
OSFirmwareVer. 2.32.00
>>47 で書かれるようなエラーは全く確認されず
50 :
774ワット発電中さん :2009/02/16(月) 14:26:18 ID:A7U3WL/X
PIC16F88 UARTのTXとRXを接続して、1線で双方向通信しようと思ったら、この石出来ないんだな。 非同期UART(SPEN=1, SYNC=0)を選択すると、 TRISBの設定に関係なく、RX(RB2)は強制入力、TX(RB5)は強制出力になってしまう。 2つが同時にしか変えられないのね。 遊んでみようとしたICカードがこの方式なのよね。 ガックリ・・・、 別の手かんがえよっ
>>51 3ステートバッファかませりゃいいじゃん。それかソフトで対応。
53 :
774ワット発電中さん :2009/02/16(月) 18:51:15 ID:h4zALqGd
TX側に1KΩ程度の抵抗を直列に入れてみるとか。
54 :
51 :2009/02/16(月) 19:17:48 ID:ckB0SxHf
>52 >53 遊びでやってるんだけど、外付けの部品は一切使わない方針。 なんで、ソフトでTXを作って逃げました。 -- データ・シートをじっくり見てからデバイスの選択すれば良かったんだけど、 モードに関わらず、I/Oの極性はBIT毎の選択できるモン と決めてかかってたょ。
55 :
PIC24F :2009/02/17(火) 06:57:59 ID:N7eWTwLi
>>49 そうですか。
びっくりして古いバージョンに戻してしまったのですが、
今度もう一度インストールしていろいろ試行錯誤してみます。
>>50 情報ありがとうございます。
PICkit3にはPIC24FJ256GB106が使われているんですね。
この型番のPIC24FはUSBモジュールがついているので
採用されたのでしょう。あとプログラムメモリやRAMも
けっこう容量がありますし。
「PIC24USB」
http://optimize.ath.cx/pic24usb/index.html ベリファイエラーが出るというのは、やはり書き込み
電圧あたりに起因するトラブルの可能性がありますね。
56 :
34 :2009/02/17(火) 09:16:09 ID:fwA7L2Zz
PICkit2調べてきました。 なんか安くなってますね。 高い高いと思ってたのは、2000年頃のOh!Xのムックの記事にのってた純正ライタが 普通の値段(ROMライタの普通の値段つったら(汗)ぽかったので変わってないと思っ てました。 ということでPICKit2を注文しました。 あと来るまでの間に内にあるパーツでWriter509作りました(意味なし 今度は、ソケット部と回路基板部で二枚基板構成で、ソケット部には ICソケットのみ、ついておりケースの上からソケットだけ顔を出すと いう感じ。あとはケースの加工すれば終わりです。結局電池仕様になら なかったのですが、単三乾電池8つを錘として、ケース下部の隅にガムテ ープで貼り付けてありますw ケース上部から出るソケットは、8pinと18pinのICソケットをひとつずつ、 基板のセンターつけました。またICソケットのセンターにスズメッキ線で フックをつくり、釣りのナイロンテグスを通しておきました。 ですんで8pinをずらして挿したり、18pin引き抜くときにコンデンサを斜め に押してしまうこと、これで抜き用の糸を入れ忘れてドライバー使って取り 外することなくなるでしょう。 それでも駄目なら、ソケット用の基板にZIFソケットつけたのを作って取り替 えればいいし。でもそれだと手持ちパーツでおさまんなかったので.... ISCPは、PickKit2が来てから考えます。 つか書き込み信号が、他回路に影響を及ぼさないようにする回路ってバッファ いれるんですか?石が一個増えちゃうよ....
57 :
34 :2009/02/17(火) 09:20:14 ID:fwA7L2Zz
日本語がw まあいいや。
>>56 ライタ用なら8/14/18/20pinまで1pin合わせでソケット共用できるだろ。
配線まちがえてないか
配線確認汁。 >16F886や16F690が認識されません。 28pin/20pin用の配線が怪しい >16F84Aや16F88等なら、問題なく読み書きできますので、 18pin用の配線はok
すいません。簡単な質問ですが、 eccpとは、ccpとどう違うのでしょうか? 教えてください。
65 :
60 :2009/02/17(火) 20:08:50 ID:Rfa8vG2b
>>61 >>62 ありがとうございます。
配線を何度確認しても問題ないので、1個1個導通チェックしてみたところ
L字ピンヘッダPGDとPGC部分(20pinと28pinのピンヘッダ2個)が
内部でショートしているようです。
外見上では明らかに繋がっていないで・・・
交換して、様子を見てみます。
捨てることになってたシャープ炊飯器ばらして基板とってきた。 シャープの赤LEDx12/緑x3 タクトスイッチx3 松下のリレーx1 圧電ブザーx1 さてこれらで、なにを作ろうか。 ISCPのテスト用とはいえ、単にデバイスのOn/Off繰り返すだけじゃなくて、 最終的にその辺においてなんかに使えるものってなんだろ。
PICは抜き差し激しくて足が二本折れた628A使います。 LVPでできそう.... つかEZ-USB搭載のUSB-PDCにピンヘッダつけたものがあるんだから、EZ-USB側の TXとRXをWriter509に直接つなげば、昇圧回路とMAX232使わないで直接書き込み できそうな気がする。 つか、作ってみます。
>>67 あーやっぱ足折れちゃうことがあるんですね
俺はデバッグや製作中は
一旦ソケットに差してそれを更にライターや基板のソケットに差しています
派手なラーメンタイマー?
>>63 うちでも PICkit2 2.60 は PIC24FJ256GB106 で書き込みエラーになる。
もちろん MPLAB IDE v8.20 からは書き込みできる。
慣れないC言語でつまらないものを作りました。 このプログラムは正しく動作すると、 PRTDATに0x41を入力する予定で作りました。 がうまく行きません。 view→WATCHでBITDAT、PRTDATをモニタしても、out of scopeと表示されるだけで、 実際どんな数値になっているのか判りません。 どなたか、よろしくアドバイス頂けないでしょうか? int main(void) { char BITDAT; char PRTDAT; BITDAT = 0x16; PRTDAT = trance(BITDAT); } void trance(int BITDAT){ switch(BITDAT) { case 0x16:return(0x41); break; case 0x1C:return(0x42); break; default:return(0x43); break; } }
void trance(int BITDAT){
×view→WATCH ○View→Locals もしくは ×int main(void) { char BITDAT; char PRTDAT; ○ char BITDAT; char PRTDAT; int main(void) {
>>71 voidって意味わかるか?
trance()は戻り値を持っているのにvoid
これいかに。
C32のソースにコピペしてみたら main.c: In function `main': main.c:15: error: void value not ignored as it ought to be main.c: In function `trance': main.c:29: warning: `return' with a value, in function returning void main.c:32: warning: `return' with a value, in function returning void main.c:35: warning: `return' with a value, in function returning void Halting build on first failure as requested. だと 数値のモニタどころかコンパイルすら通らん void→char で
>>72-75 なるほど・・・・みなさんありがとうございます。
・ mainに限らずルーチン内で宣言された変数はローカル変数である。
・ ローカル変数をモニタする場合はview→LOCALである。
・ VOIDは何も受け取らず、何も戻さないから引数を扱う場合は使えない。
・ ルーチンの宣言は戻り値の型によってchar又はint又はその他で行う。
以上で宜しいでしょうか?
とても勉強になりまた。
色々ご指摘ありがとうございます。
77 :
774ワット発電中さん :2009/02/19(木) 00:17:31 ID:upM3F5ur
Cしかわからん奴はセンスがないなww。
>>76 >・ VOIDは何も受け取らず、何も戻さないから引数を扱う場合は使えない。
そりゃ違う。引き数と戻り値を区別せよ。
>・ ルーチンの宣言は戻り値の型によってchar又はint又はその他で行う。
ルーチンというか関数な。
いっぺんちゃんとした本でも読んで勉強した方がいいんでないか。
あの日、僕は自室にひとり閉じこもり、電子工作に没頭していた。 半田の溶ける匂い。半田の煙。 これが電子工作の世界をすべて表現しているような気がした。 僕が電子工作に夢中になったのは、去年の夏休み、粗大ゴミ置き場に落ちていたあるICとの出会いがきっかけであった。 「PIC」 興味本位でインターネットを利用し調べるうちに、いろいろと役に立つICだということが分かった。 「これで電子工作してみたいな」 思いがけない衝動に駆られた僕は、急いで近くのホームセンターから半田と半田鏝を購入し、 電子工作を開始した。 そう、これが僕とPICとの始めての出会いであった。 始めてLEDが点灯した時の喜び。 I2C通信が使えた時の嬉しさ。 RS-232Cというインターフェイスを通じてPICが初めて僕に語りかけてきたときの感動。 あの日以来、僕は電子工作をやめることはできなくなっていたのであった。 というわけで、半田付けしてたらPIC動かなくなった。 熱で氏んだのかな?
熱い恋の炎が燃え上がるのであった
ソケットかませよ
16F688で内部発振8MHzでシリアル送受信を行いたいのですが、3Vでできますか?
85 :
774ワット発電中さん :2009/02/19(木) 17:08:07 ID:ztJo51aW
>84 Cしか書けないヤツはこれだからww。 センスが無い。 アセンブラでおk。
>>85 アセンブラ爺はレスまで臭いから困る。
こっちくんな。
>>87 シリアルのスピードが判らないとむりぼ。
早すぎるとダメだけど、9600とかでよければ大丈夫みたい。
俺か?
88 :
774ワット発電中さん :2009/02/19(木) 18:42:23 ID:ztJo51aW
俺だ。 ただアセンブラを使えばいいわけではない。 Cしか書けないやつにはない、センスが必要だ。
そうだね。よかったね。
16F688は、 ハードでEUSART機能をもってる。 普通に、115.2k でもイケるんじゃぇね?
さすがPICスレ、AVRスレと違ってアセンブラ信者の荒らしが酷いな。 もっと技術的な内容で議論しろよ。
まあPICスレ名物じゃね?
>>84 英語わかんなくても表とグラフぐらい見ろよ?
電位レベルのことならTABLE14-1
Fosc=8MHzでの上限BRGはTABLE10-5
115.2kは通信相手によるかもね
データシート読めばわかることを質問するのは技能の向上に繋がらないからやめたほうがいい。
技能の高い人間が増えることは技術者にとって脅威なので、 むしろデータシートなど読まずどんどんネットで教えてクソしてほしい。
>技能の高い人間が増えることは技術者にとって脅威 そんなエセ技術者は無用だから早く転職し下さい
>>93 趣味でやってる奴のハードルを下げてやるのは良いこと
コツをつかんだ奴から回答者に回ってくれれば嬉しい
97 :
774ワット発電中さん :2009/02/19(木) 20:34:53 ID:ztJo51aW
> 電位レベル 素人がw。正しい言葉使え。 > 技能の向上 技能は工場労働者が磨くものだ。 エセ技術者がww。
sdcc使ってる人いない?
煽り屋うぜえ
電位レベル 電位=レベル(Vのことか?
102 :
774ワット発電中さん :2009/02/19(木) 23:50:13 ID:3+uKTUse
ダイオードの印もそうなんけど電子でゲートしてのに 電流計算するじゃんね?陥ると暗算下手になんよね。 シリアルでなんて負電源扱いですし
同意
激しき同意
106 :
PIC24F :2009/02/20(金) 02:54:21 ID:2/BMnSvt
>>63 ありがとうございます。
ハードの供給電圧にからむもののようなので、
慎重に対処したほうがよさそうですね。
予備のPICkit2もないし…。
ご紹介のアーカイブのページの旧バージョンは
2.55になっていますね。どうしてなんでしょう。
自分が使っている旧バージョンは
PICkit 2 V2.52.00
Device File V1.52.00
で、その前のは2.51です。この2.51もアーカイブ
にはありません。
一度2.55を試してみます。
107 :
774ワット発電中さん :2009/02/20(金) 03:59:31 ID:S49LJcqK
dsPIC33FJ32GP204の使用を検討している者です。 データシートを見ておりますが、2,3つ程、不明な点があります。 一つ目はUART用の送受信ピンUxRX, UxTXに該当するピンが、 ページ6のパッケージ図に示されていない点です。 データシートでは、Remappable Peripheralsと記されており、 任意のI/Oピンに割り当てが可能という事でしょうか? 二つ目は、PIC kit2で書き込みをする場合、 書き込み対象のデバイスとMCLR/PGD/PGC等を接続する必要があります。 dsPIC33Fでは、PGD/PGCに対応するピンがPGECおx、および、PGEDxと表記され、 それぞれ4組あります。 これは、書き込み時に都合の良いものを選択して使用するという事でしょうか? また、コンフィギュレーションで何か指定する必要がありますでしょうか? 識者の方がいらっしゃいましたら、アドバイスを頂きたいです。
>>107 > 任意のI/Oピンに割り当てが可能という事でしょうか?
RPなんちゃら という名前のピンへ任意に割り当て可能
> これは、書き込み時に都合の良いものを選択して使用するという事でしょうか?
> また、コンフィギュレーションで何か指定する必要がありますでしょうか?
どのペアを使っても書き込みはできる。
コンフィギュレーションでの指定と一致しないとデバッグできない。
109 :
107 :2009/02/20(金) 13:33:53 ID:NE6U407g
>>108 ありがとうございます。
とても助かりました。
PIC初心者です。 これまでデモボードの16F887で試験していたプログラムを、12F683に移植しようとしています。 12F683は初めてなので、とりあえずLED点滅を試してみようとしたのですが、 __CONFIG(DEBUGEN & WDTDIS & LVPDIS); // Setup the configuration word for ise with ICD2 が HI-TECH C PRO for the PIC10/12/16 MCU family (Lite) V9.60PL5 Copyright (C) 1984-2009 HI-TECH SOFTWARE (1273) Omniscient Code Generation not available in Lite mode (warning) Error [800] s:\temp\s8h4.; 41. undefined symbol "LVPDIS" Error [800] s:\temp\s8h4.; 41. undefined symbol "DEBUGEN" とエラーになります。 12F683のデータシートは読んでいるのですが、ICDについては配線しか見つけられませんでした。 12F683でICDを使用するには、どうすればよいのでしょうか。 また、CONFIG設定についての資料はどのあたりを当たるのがよいでしょうか。 こちらの環境は、 MPLAB IDE v8.20 + PIKkit2赤ボタンです。 以上おかしな点など指摘いただけないでしょうか。
>>110 同じく初心者だけどデータシートの84ページは参考にならない?
多分エラーに書いてあるとおりLVPとDEBUGが使えないんじゃないかと思うんだけど
84ページみるとWDTは記載あるけど他がないっぽい。
多分 __CONFIG(WDTDIS); // Setup the configuration word for ise with ICD2 これなら動くよね。ICDを使いたいっていう話なら俺には分からない。 なんせICDを使った事がないので。
おまえら、 PIC-8Pinフラッシュを選ぶとしたら、どれを選択する。 どれ選んでも、大概200円以下だから 値段は2の次という前提で・・・
12F675
12F609 との違いはなんだろう?
ごめん、 12F675 EEPROM:O Int-OSC:4MHz 12F609 EEPROM:X Int-OSC:4/8MHz てな感じで、EEPROMと内蔵クロック辺りが違うな。 俺はEEPROM使う予定がなかったんで、速度優先で12F609を選んだけど 参考になったよ。
テンプレあったのか〜 12F609選ぶくらいなら12F615を選ぶのが正解だったようだな・・・ テンプレが在るの知っただけで、 チョイスの参考になるわ。 THX
うむ。作った人に乙と言いたい。
8ピン最強は12F683だろ ADもEEもINTRC8MもPWMもついてる あとはUSART付いてればなー
個人的にはもっともクリティカルなRAMサイズが載ってないのがな。 >114 の問いには俺的に 683以外ありえん。こいつだけ128バイト。残りは64バイト。
124 :
110 :2009/02/21(土) 15:03:23 ID:CnTITnFH
解答ありがとうございます。 なるほど、12F683はICDでは16F887と同じ使い方は出来ないという事ですね。 >111,112 112氏の設定だとコンパイル通ります。 もしかして設定方法が違うとかシンボル名が違うのかとも思ったのですが、 そもそも機能が無いとは思いませんでした。 >113 私の読んでいたデータシートでも、ICDについて書かれているページでは、 PIC12F683-ICDという14pinのデバイスが記述されていました。 8pinでは対応していないわけですね。ありがとうございました。 評価ボードで試している場合は、動かない原因はソフトだと考えられますが、 ハードも自作だとどっちの問題か判りにくくなるので、ICDを使いたかったのです。 ソフトとハードの設計みっちり行ってICDなしでがんばります。
PICを使った風力計(風圧計?)を考えました。 ・ペットボトルを切り開いて羽を作る。 ・適当なモータに取り付けて、モータの出力をA/Dにつなぐ。 ・10秒ごとにA/Dの出力を測定して記録する。 ・10秒のうち遊んでいる時間は、モータの出力をゴールドキャパシタに溜める。 どうみても俺にはオーバースペックです。 ありが(ry 秋月で売ってるパーツだけで作れそうなので、誰かPIC製作ネタとして使ってください。 ペットボトルを使うというのがミソです。 小中学生を闇wに引きずりこめます。
風力発電による電力でマイコン動作だし。 エコ実験ということで、東電の小中学生向け夏休みイベントなんかで使える ネタかもしれない。
つうかぐぐったら即効でてきましたねw みんな工作ネタを巡って日々苦労してるんだなぁ....
鳥よけ風車つくってけろ
> ・ペットボトルを切り開いて羽を作る。 > ・適当なモータに取り付けて、モータの出力をA/Dにつなぐ。 ここでものすごく挫折しそうなふいんき(な
ロータリーエンコーダというものを教えてあげたい
発電したいんじゃないのかね
ロータリーエンコーダで耐久性は大丈夫かな 風速計って四六時中ぐるんぐるんしっぱなしだよね
光学式でいいんじゃないか? 回ってる方向は関係ないだろうから それこそ黒い円盤に反射板はっつけてってレベルでもいいような 昔、投げ売りされてたどこのか判らないマウスをバラしたら 接点式のロータリーエンコーダ入ってて噴いた
>>132 風速なら方向検出要らないから簡単なスリットと一組のフォトインタラプタでok
部品も、たぶんマウスを流用するのがいいかも。
だからモーターで発電が主なんだってば。 その電力蓄電してPIC起動とデータ計測 あとで夜にパパのPCにUSBでさしてデータ取得 20日たったら、データをもとにグラフつくって自由研究の課題もらくらく みたいなw 設計する側としては、発電しゴールドキャパシタに蓄電するところと、それに よってPICの起動、電力切れによるブラウンアウト時の処理、不確定な動作に 対するウォッチドッグ処理、A/Dに入力による風力計測、そのデータのEPROM への書き込み 電池がないだけで一気にやること増えるす
136 :
774ワット発電中さん :2009/02/22(日) 01:54:22 ID:pGYA0PNe
Cしかかけない奴はセンスがないな。
138 :
774ワット発電中さん :2009/02/22(日) 02:07:09 ID:pGYA0PNe
団扇ならあるんだけどナ。
テーブルを持っておけば、A/Dだけでも風力を計測できるんじゃないか?
テーブルなんてなくても擬似乱数に1/fフィルタ掛けるだけでおk
142 :
774ワット発電中さん :2009/02/22(日) 11:07:07 ID:5+09oF8a
風とか動きのある工作はニコニコ技術部が得意そうだなww
羽にネギの絵を描いて 「今日のネギは何回転〜」 とか永遠にやってればいい
PICkit 2 was unable to establish a valid Vdd on the target (Attempted 5.00V - Read 0.24V) このエラーってなんざんしょ? MPLAB IDEでデバッグしていて、実行中にICSDでプログラムを書き換えた。 だったかな。なにかへんな事すると、こんなエラーが出て、もう何をしてもなおりません。 しかし、次の日やると治っています。なぜですか?
145 :
774ワット発電中さん :2009/02/22(日) 22:04:55 ID:X/jJ+PUD
お前の頭が悪いから
そうじゃないでしょ。 何かの不具合と思うのだけれど、 こうなった場合の対処法が知りたいのです。
ターゲット基板側の給電はどうしてるんだ? PICKit2経由だけだとパワー不足かもね
>>144 その聞き方じゃ頭悪い言われてもしょうがないよ。
英語だから意味がさっぱり判らないのか、英語の意味は判るけど
心当たりがないのか、その場合どうしてそう思うのか、そのくらい
書かなきゃだよ。
失礼しました。 通常は問題なく動作するのでエラーメッセージでいうような電源がらみの問題は無いはずです。 デバッグ作業の過程で何かをやらかしてしまい、PICKIT2が誤動作しているようです。 PCを再起動しても<
PCを再起動しても改善せず、PCとPICKIT2を繋ぐUSBケーブルをはずしても改善しません。 そういえば、以前、そのつどファームをダウンロードし直すというレスがありましたね。 ためしてみます。
>通常は問題なく動作するのでエラーメッセージでいうような電源がらみの問題は無いはずです 「ないはずです」 これだこれ。 こういうこと言う人に限ってそれが原因なんだよね。 んなこと言う前にまずエラーが出たときに電源電圧測ってみなよ。
PICkit2は目標の有効なVddを設立できませんでした(試みられた5.00V--0.24Vを読んでください)。 ってエキサイト君は言っている。 多分対象のPICの電圧たりねとかそういうコトじゃね? 5V在るべきところに0.24Vしかねーよとか。 その日はダメで次の日OKって事は回路に乗ってるコンデンサとかが悪さをしているんじゃないかと思う初心者です。 って、ググれば結構出てくるな。 The PICkit2 can only supply about 100ma to the target. Try powering the target with a power supply. だそうな。
次の日ってのも謎だな 原因の切り分けとして、次の日と同じ条件になる事(再起動とか電源再投入?)はやったのかのう という疑問が湧く
154 :
774ワット発電中さん :2009/02/23(月) 10:19:24 ID:KGuwvcAG
> 次の日ってのも謎だな USBのVBUSに入ってるポリスイッチが復帰するんだろ。 熱でトリップするから、復旧に時間がかかる。 ノートだと100mA行かずにトリップするのもあるし。 > 電源がらみの問題は無いはずです。 いう前に、テスター買ってきて、実電圧と消費電流晒せと。 これだから、Cしかわからないヤツは開発止めろと。
ここはツンデレなスレですねw
>>154 相変わらずアセンブラ禿元気だね。
自分はアセンブラが出来るからえらいと思い込める、妄想は自分の脳内でだけやって欲しい。
>ノートだと100mA行かずにトリップするのもあるし。
ノートの場合設定で電流制限をできるようになっている場合があるよ。
ポリスイッチでだけやると思い込んでいるのは幸せだね。
>156 この件に関しては、ブラオヤジの話のほうがあってる気が。
100mAしか出ないとかいつのノートだよ 今時、ノートでもピーク1Aは出るよ。 じゃなきゃ光学ドライブや外付けHDD回んない。 最近はポリスイッチじゃ電圧降下が大きいから能動素子使ってるのが多い。 昔、5V共用ラインに溶断ヒューズ使ってるノートがあってUSBショートしたら起動すらしなくなってあせった。
PICで作った容量計と、秋月のテスタとどっちが正確ですか? 容量計でもつくろうかなと思ったら、秋月でたった2000円で容量はかれる テスタうってやがる.... 4000円だせば、周波数と照度と騒音のオマケつきだ 15年前、4800円でV/A/R3レンジくらいのアナログテスタを手にした俺につきつけたら 卒倒するんじゃないかと。 あとはLの測定キットくらいだな。 まためんどくさい... つかコイルつかった回路なんてつくんないし....
USB給電が切れたらPICkit2自体の認識出来なくなって まったく違うエラーになるだろ。 ブラ爺のアホ推測につられてどうする。
>>159 どっちが正確かは別として、趣味で電子工作をするならテスタぐらい
買ったらどうでしょうか。
出来る限り高精度なら高精度のほうがいいというよりは、必要な
精度・機能を絞った設計が出来るのが自作のメリットだと思います。
なので、自作を考えるのは既製品の性能面やコスト面で不満が
あるのかを確認してからのほうが良いでしょう。
・・・もちろん、工作自体を楽しむというのも大事ですが。
> 100mAしか出ないとかいつのノートだよ > じゃなきゃ光学ドライブや外付けHDD回んない。 A4とか小型ノートは外付けドライブとか動かないのがデフォだよ?。
164 :
774ワット発電中さん :2009/02/24(火) 10:09:37 ID:fKLyc1Pk
>163 ハブあたり500mA,ポートあたり100mAじゃなかったっけ? んで、小型ノートは結構動かないよ。 わざわざ”バスパワー対応”なんて謳ってるポータブルドライブ多いし、Aコネが2個ついてるYケーブルなんてのもあるし。 うちの動かないしorz. 事故る確率の高い自作ターゲットなら、ICD2にACアダプタ挿した方がいいでしょうね。
高パワーポートで500mA, 低パワーポートで100mA
166 :
774ワット発電中さん :2009/02/24(火) 10:32:10 ID:cwN52Znn
>>166 試せば判るけど案外100mA以上とれるよ。
一応、電源短絡とかはFB電圧でソフト検出保護するけど…
保証値はともかく、実際のところPICkit2にハードウェアの
給電電流制限機能は無く、USBポート側の制限で決まる。
それより、USB給電トリップじゃないだろうと。
168 :
774ワット発電中さん :2009/02/24(火) 13:40:57 ID:cwN52Znn
>
>>167 取れるんじゃなくて、やるなよと書いてあるんだよ。
PICkit3の回路見てりゃわかるが、こんなSOT-25チップで100ミリを流したい心理
がようわからん。それでもやるやつは自分で考えながらやれって事だがな。
最近のマザボはUSBの電流を測っているやつもあるからな。
PIC12F675を使って バッテリーの負荷制御(過放電遮断と満充電自動復帰)をやりたいと思います。 AN0:遮断電圧の判定 AN1:復帰電圧の判定 GP2:リレー制御 と使おうと思います。 電源は5Vとします。 AN0/AN1 の電圧を外部の可変抵抗で調整したいため、PICのプログラム上では AN0<512ななれば遮断、AN1>512になれば復帰、と決め打ちにしようと思います。 バッテリーの電源を分圧してAN0/AN1に見せるようにして、 その分圧時に可変抵抗を用いて、512(2.5V)を調整したいのですが、 AN0/AN1の内部抵抗が分からず、分圧の抵抗値を決めかねています。 消費電流を減らすため、なるべく抵抗を大きくしたいのです。 ぶっちゃけの話、5VをAN0/AN1に直結すると、何A流れるんでしょうか? 極論いうと、10MΩ×2で分圧させた中間点をAN0/AN1に測定しても計れるんでしょうか?
170 :
774ワット発電中さん :2009/02/24(火) 18:14:49 ID:l1We6Qr1
>>169 データシート穴が開くほど眺めろ。しっかり等価回路でてんだろうよ?
で10Mなんて無理。せいぜい10K
入力とパラにコンデンサ入れれば高抵抗でも問題ない あとは分圧器のGND側をIOポートに繋いで測定の時だけL出力にするとか 待機時は入力にしとけば流れる電流はゼロだ 電圧範囲が定格から外れないか十分確認する必要はあるけど
173 :
774ワット発電中さん :2009/02/24(火) 18:21:43 ID:fKLyc1Pk
>171 半可通軽石乙。
174 :
172 :2009/02/24(火) 18:45:39 ID:NoBosA7q
問題ないか否かはサンプル速度によるということを補足しておく まあバッテリーの電圧検出なら高速な応答は必要ないことが多いから、 このアプリケーションの場合は問題ないだろう
ttp://sim.okawa-denshi.jp/teikokeisan.htm の「抵抗分圧2」という便利なサイトで分圧抵抗を出しました。
16VからV2= 12VとV3= 10Vを得る抵抗分圧
R1=3kΩ、R2=1.5kΩ、R3=7.5kΩ (合計12kΩ)
R1=5.1kΩ、R2=2.7kΩ、R3=13kΩ (合計20.8kΩ)
これでしたら、どっちでも可と見て良いですか??
私の場合はR2が可変抵抗になりますが
↑最大電圧を16Vとし 遮断電圧を10〜12Vの範囲で、可変抵抗で設定する、という前提っす。
あと、PICのプログラムの閾値 512 は無視してください。 (実際には512にならないと思う)
>>172 >GND側をIOポートに繋いで測定の時だけL出力にするとか
そのアイデア頂きます!
ありがとうございます。
>>175-176 分圧計算はともかく、PICに10〜12V入力する訳じゃないよな?
ところでアナログコンパレータ使った方が簡単じゃね?
てか、GP3をAN0のGND点、GP4をAN1のGND点、それぞれのスイッチに使って 必要に応じて数秒おきに起動させて電圧チェックする、という風にすれば、分圧抵抗による消費電流も、全く無視して良いレベルになりますねー どうもありがとうございました。 175の件は、どっちでも良くなりました。
>>179 実際には可変抵抗の手前で 1/4 くらいに分圧させて
PICの閾値を調整しようと思ってます。(512じゃなくて)
連投ですみません 675ありきだったのですが、648はアナログコンパレータが2つ入ってるみたいですネ 続きは自己解決します ありがとうございました。
GND点をスイッチさせるとPICに12Vが入力されるけど大丈夫かな。 1/4くらいに分圧させて の回路が解らないので何とも言えんが
プラス側でスイッチしないと駄目だな この場合は
>>162 俺の東芝B5ノートは光学ドライブもHDDもYケーブルなしでバスパワー駆動できるよ。
hp、NEC、東芝と使ってきてNECだけ厳格に500mAで遮断されてHDD回らなかった。
>>165 規格上はそうだけど実機でローパワーポートはまずないよ。
フラッシュメモリですら100mA超えるから使い物にならない。
HPは駄目だったなぁ。あと富士通も。
--- ここまでUSBの仕様について言及なし・・・ --- pickit2がホストに500mA使ってもいいか? てっ許可取らないと100mAまでしか使っちゃいけないのがUSBの仕様です。
PICkit2がホストに要求してるのは100mA それでも100mAで遮断したりしないのが実機です 制限が緩いのを頼って設計しちゃいけないんだけどね
dsPICをクロック最大(30MIPSぐらい)で動作させるとPICだけで100mA流れるのもあるんだよね。 この辺がPICkit2の限界ということなのだろうね。
>>187 > USBの仕様
その通りなんだけど、仕様もない周辺機器ばかりで空文化してます。
節電モードに入ったとき電気食わないように、って設計してないでしょ、普通。
191 :
774ワット発電中さん :2009/02/25(水) 19:22:31 ID:Ryu+qkJ+
動いた=おk という発想がすごく素人。こんなことでスレッド消費するなよ。 説明以前にPICkit2に限界も何もない。 無駄なデバッグにならないように黙って取説通りのスペックで使っておけ。 それ以上使う場合はターゲットから電源作っておけ。 たったそれだけだ。
>>191 >動いた=おk
でも良いと思うんだが・・・ここはプロしか書き込むなって事なのか?
アセンブラ爺か?
>>189 ターゲットの電源をPICkit2から供給しなければ良いだけでは?
>>192 動いてるときは良いだろうが、トラブルが起きたら真っ先に疑うべきだろうね。
オーバースペックに頼った上で、動かない動かないなんて言う奴は批判されて
当然だと思う。
動けばおk、というつもりは無いが・・・ ハードウェア修正しながらデバッグしてると うっかりターゲット電源つなぎ忘れちまうこともある。 するとPICkit2のAuto給電で平然と動作しちゃった。 因みにDellノートPCのUSBポート。 測ってみるとターゲット消費電流は330mA程度。 (給電リミットを探るテストはしなかった) 当てにしちゃ拙いが、その位の給電能力あるみたいだよ。
許可云々なんて、PC側で実際にはやってないよなー 求めれるまま供給して、過電流になったら遮断、っていうパターンと思う
>>195 > うっかりターゲット電源つなぎ忘れちまうこともある。
あるある。w
ターゲットの電源が無い場合とりあえず供給しようとする、って挙動は
ちょっと怖い気がするんだよね。供給強制オフスイッチが欲しい。w
User's Guideに回路図が載っているんだからどの程度まで流したらマズイかはFETの発熱量まで計算できるやつなら推測できるはず。 ただ、ここでの話題はあくまでも自己責任でという前提ならいいんじゃないの。
>>197 Auto給電は便利なんだけど、確かにちょっと怖いね。
再確認したらIDE(v8.20)でも Settings - Use target power always
のチェックでoff出来るようになってたよ。
>>200 こちらも見落とさないようにね。
When using only 1 S/H channel or simultaneous sampling,
SAMC must always be programmed for at least one clock cycle.
>>201 その文のalwaysの解釈に困ってるんだけど、
・常に1以上の値が入ってれば良い
・毎回1以上の値を書き込まなければならない
のどっちだろう。
S/Hチャネルを1個しか使わない場合や同時サンプルする場合にTadに応じた適切なサンプル時間が必要ってことはわかってるんだけど。
PICKIT2でdsPICに書き込みしようとすると、 No Device Detectedと表示されます。 この前まで、問題なく動作していました。 何も変えていません。 壊れたのでしょうか?
壊れました。
そうでしたか、PICを取り替えたら直りました。 ありがとうございます。 しかし何故壊れたのか・・・・ 700円位したのに・・・・
脚に亀裂入ってませんか
509ライタをLVP書き込み用に変更したいのですが、どうやったらいいですかねぇ。 信号のHへの立ち上がりが、下のような順になるように作ればいいから.. 高電圧 ~MCLR->VDD->PGD 低電圧 VDD->PGM->~MCLR->PGD 元の回路の~MCLRとVDDの結線を変更し、PGMをCRで遅らせて入力したらソフト無変更 で動かないかな... 読み書きのコマンドそのものは、低電圧もまったく同じみたいだし。
先日お世話になったものです。 つまらないプログラムの続きです。 これは、109キーボードの例えばAボタンを押すと、LCDに"A"と表示するためのプログラムです。 109キーボードの任意のボタンを押すと、スタートビット+1文字分8ビット+ストップビット+パリティビットで 11ビット分のデータがRC13に送られてきます。ビットの区切りはRC14のオンオフで判断します。 lcd_str()はdsPIC活用ハンドブックにあるLCD表示用の関数で正しく動作します。 プログラムの通り道の各所で1〜7の表示と"-"の後に trance()で変換した文字この場合は"A"をLCDに表示します。 そう作りたいのですが、もともとどこかのサイトで12F675当りのアセンブラで書かれたものを 慣れないCに書き直しています。 例えば、"A"ボタンに対応するコード番号は31で16進だと1F、2進だと00011111になります。 これをプログラムBITDATという変数をシフトしながらORする事で読み取り、 trance()関数でLCD表示用のコードに変換して lcd_str()にて表示します。 で、いまBITDATのシフトがうまく行きません。 BITDATはいつも0x80になります。 *をつけた箇所が正しく動作していない気がしますが、 どなたかアドバイス頂けないでしょうか? lcd_str("1"); BITDAT = 0x00; while(PORTCbits.RC14 == 1){} while(PORTCbits.RC14 == 0){} for(i=7;i>=0;i--){ while(PORTCbits.RC14 == 1) {} lcd_str("2"); BITDAT == (BITDAT >> 1); if (PORTCbits.RC13 == 1) * BITDAT == (BITDAT |= 0b1000000); while(PORTCbits.RC14 == 0) {} } lcd_str("4"); while(PORTCbits.RC14 == 1) {} lcd_str("5"); while(PORTCbits.RC14 == 0) {} lcd_str("6"); while(PORTCbits.RC14 == 1) {} lcd_str("7"); while(PORTCbits.RC14 == 0) {} PRTDAT = trance(BITDAT); lcd_str("-"); lcd_data(PRTDAT); //lcd_data(PRTDAT); //ASCII文字 delay_ms(1000); //1秒間隔
==。 とりあえずK&Rを10回くらい読み返した方が良いと思うよ。
代入はイコール一個だよ?C言語の基礎からやり直したほうがいい。 BITDAT = (BITDAT >> 1); BITDAT = (BITDAT |= 0b1000000);
|=の使い方もおかしい。
なんというか、大雑把な人が適当に書いたプログラムという感じだな。w
判定式の値が真か偽か調べる時、値が1か0とは限らないと書いてあったりするけど、 じゃあ1/0以外の何が入るんだろう?って思ったことがある。 -1とか?
このチビ人間!とかいう人形ですか
ビットに返すと0/1で、バイトとかに返すと0/-1だっけか
Cなら0が偽で0以外は全て真だわな
だからC言語なんか偽って言ってるだろ。
/ / { __ { \ _. -=ニ.._ ̄ ‐-|::! >‐' <: : : : : :`丶. |:jヽ / /: {: : : ヽ \、 || ', /. :/. : : ヽ‐- 、 . : :ヾx|| ! ' : / : l: \、___\ Zヽ.:| __ { :l :|ヽ ヽ __.≧_!. . : :|W}:レ'::::: どうもいんらいんになりました ',: :|. . :レ' \ 个ぃリ'| : : : l-〃:::::::::/ ヽ| : : : : | ,ィテx. ! C'´|!: : :|/ ̄ ̄〈 |ヘ: : :トヽ┘,\| |ハ: : :|: \ ̄::} ヽ: : :ヽ 、- ,イ |: : |ヽ : \┴ \__ `ー┬‐,- ィ | j: l |:::|\ : \ ヽ|i W__::个 ノ. :! l:::| ヽ: }ハ|/ /.:::{ /{ : | 厂 }: : ____ / /\_l/,ィ: レ DTM/. : rf_{_ムr'⌒/^ヽ{ ̄/:| : ソ==z∧: : /.::::::/.:ゝ〃.::/三≧xL/= .::::::/| !: : / /.::::::/.::::::::|! :::{三三三} :::::::::::√{ }: : /:| /.::::::/.:::::::::::|l::::::::::::::::::::::::::::::::::/ ∨. : { l /.::::::/.:::::::::::::ハ.__________________ノ‐- 、_} | ∨.:::::/.::::::::::::〃.:::/ :::::::::::::::ヽ、::::..ヾミzン] !: /.:::::/.::::::::::::〃.::::/.:.ヽ:::::::::::::::::ヽ、:::::::::ノ.:| ∨.::::/.::::::::::::〃.:::::ハ::::::..ヽ :::::::::::::::::::::::::::::::ノ
ごばく きにしないで
223 :
774ワット発電中さん :2009/02/28(土) 19:30:35 ID:TRclIBSv
質問です。 16F648A internal 4M ccs CでRS232の通信をしようとしていますが baud 19200までは指定できるのですが22000は指定できません。 データシートでは指定できるのにどうしてCでは指定できないのでしょう? わかる方教えてください。
Fosc=4MHzで22000bpsだとレート誤差3%以内のSPBRG値が求められないからな。 Fosc=8MHzとかなら大丈夫。セラロック付けるとか16F88に換えるとか・・・
12F683のADコンバータについて質問です。 可変抵抗で分圧した電圧を入力すると、きちんと値を取り込めているのですが、 オペアンプの出力を繋げると、ADの取り込み値が常時最大値となってしまいます。 AD入力をオープンにしても取り込み値は最大値となります。 オペアンプはLM358で、1Kと10KのRで11倍の非反転増幅器としています。 音声のライン入力を入れると、出力が増幅されることは確認しています。 PICのADにオペアンプ直結でインピーダンスの問題は無いと思うのですが、 どこか間違っている事があるのでしょうか。 また、AD入力をオープンとすると最大値を読み取るのは正しい動作でしょうか。 ちなみに入力をグランドに落とすと、0入力となります。 以上なにか判る事があれば教えてください。 AD入力は以下のように行っています。 void init_a2d(void){ ADCON0=0; // select Fosc/2 // ADCON1=0; // select left justify result. A/D port configuration 0 ADON=1; // turn on the A2D conversion module } /* Return an 8 bit result */ unsigned char read_a2d(unsigned char channel){ // PIC12F675 if((ADCON0 & 0x02)==0){ channel &= 0x03; // truncate channel to 2 bits ADCON0 &= 0xC3; // clear current channel select ADCON0 |= (channel<<2); // apply the new channel select ADCON0 |= 0x02; // A/D変換開始 while(ADCON0 & 0x02)continue; // A/D変換完了待ち } return(ADRESH); // return 8 MSB of the result }
226 :
774ワット発電中さん :2009/02/28(土) 22:11:05 ID:TRclIBSv
>>224 そうなんだ・・・・
もう一つ質問です。CCSでusartの同期、非同期の設定はないのでしょうか?
ないとすればどっちでしょう?
>>226 #use rs232でサポートされてるのは非同期のみ。(RS422/485系も扱える)
もし同期通信が必要なら TXSTAなど直接弄れば委員じゃね?
>>225 12F683の場合、A/D変換clock指定(ADCS)はANSELにあるよ。
動作クロック判らんけど Fosc/2では速過ぎじゃね?
それと channel select直後に変換開始は拙いっしょ。
20us程度delay入れるべきでは?
その他、ANSELやTRISIOとか他にもpin機能設定の再確認な。
>>225 ピンをオープンにしたときにどの値になるかは決まってない。
漏れ電流が流れ込んで何らかの電圧が示される可能性はある、つまり正常。
オペアンプとPICの電源電圧を教えてくれ。
LM358じゃ電源電圧-1.5Vくらいしか出ないから最大値にはならないと思う。
あと直結じゃなくて1kくらいはさむと良いかも試練。
助言ありがとうございます。
>>228 クロック8Mです。
試しにFosc/32設定し、変換開始前に1ms入れてみましたが、状況
変わりませんでした。
入力値をLED出力して確認していますが、ADをGNDに落とすと0入力、
可変抵抗で電圧入力してみても入力に応じた電圧が読み取れている
のは確認できているので、pin機能の設定は間違っていないと
考えています。
設定は以下の通り。
CMCON0= 0x07;
ANSEL = 0b00101000;
TRISIO= 0x00;
OSCCON = 0b01110000; // 8MHz
>>229 電源はPIC,オペアンプ共にPICkit2からの5Vです。
PICとLM358の間に1Kの抵抗を挟むのも試してみましたが、変化ありません。
20μFの無極性電解コンデンサを挟んでみても変化ないです。
PICとオペアンプを接続せずにそれぞれ単独では思った動作をしています。
PICの入力にかかっている電圧をLM358が受け切れていないのかと漠然と
考えているのですが……
アナログ回路の知識が絶望的に不足しています。orz
なにかお気づきの点あればよろしくお願いします。
うーん、回路とか晒して見せたらいいんじゃね?
SPI通信を使うためにMPLABのSIMで試したけど全く動かず 設定をいろいろいじってもさっぱり。ネットで検索したら MSSP機能をMPLABのSIMは対応していないと・・・ それにしてもView-Simulataor Logic Analyzerは便利だけど 何でズームで時間軸(横軸)だけじゃなく縦軸も拡大しちゃうんだろ
>>231 回路図です。
回路図エディタとかは使っていないので、ペイントでアナログ周りを
ざっくり描いただけですが。
http://uproda.2ch-library.com/lib110024.jpg.shtml key:12F683
>>232 ご指摘の意図が判らないのですが……
PICと接続しない状態では、オペアンプの出力に増幅された波形が
出力されることはオシロで確認しています。
PICと接続すると、電位は5Vになります。PICのAD端子の電位をLM358
が受け切れていないのでは、という想像はここからきています。
16F88xではADとオペアンプ直結という例は見るのですが、12Fxxxとは
ADの構造に違いがあるのでしょうか……
>>234 OpAMPの電源ってどうなってますか?
あと直流成分をカットしている意図は?
このチップのA/D入力の等価回路がどうなってるかは知らんけど、 Cの後、適当な電圧にDCバイアス掛ける(A/Dピンをプルアップ+プルダウン) のが普通だと思うのだが、何かの理由で省略できるという確信があるの?
>>235 オペアンプの電源はPICと共用の+5V単一電源です。
…そういえばパスコン入れてないや。
コンデンサには積極的な意図はありません。
参考にした回路図に入っていたので。
現在はブレッドボードで試作しているので、コンデンサを外して
試してもいますが、現象に変化はありません。
>>234 はいはい、非反転入力端子にバイアス抵抗が入ってない。
>>230 >ANSEL = 0b00101000;
>TRISIO= 0x00;
これだと GPIO4/AN3ピンがDigital out兼Analog inなんだよね。
つまり GPIO4=0なら AN3=0V, GPIO4=1なら AN3=5V
て、言うか出力にも入ってない。
>>237 なんか参考にしてるものにも問題ある気がするなあ。
その回路が悪いというより、貴方のやろうとしてることと意図が違うというか。
丸コピーじゃなく、部品一個一個の意味をちゃんと考えましょう。
入出力のDCカット部分は、バイアス点が明確になってないんで不安定そうにみえるが オシロで確認されているようだから、その部分は期待通りの出力が確認できてるって前提で・・・ --- オペアンプの出力にプルダウン抵抗をつけてみぃ。 1〜2kΩとかを このオペアンプ、電流吐き出し能力(SOURCE)は高いけど、吸い込み能力(SINK)は殆ど無いんで 結果、ちょっとした負荷でも下側の電位(例えば0.6v以下とか)が出力出来なくなるよ。 オシロがあるんだったら、すぐわかるんじゃね
>>236 出力のCの後ろで、1Kプルアップ、100Ωプルダウンしてみると、ADからオペアンプ
の出力を取り込む事ができました。
抵抗値は適当なので、自分の思った通りの動作ではありませんが、238氏指摘
の入力バイアスと併せて勉強します。
これで解決できそうです。ありがとうございます。
>>239 ご指摘通りの設定ですが、Analog設定が優先されるので、Digital outは設定
自体が無視されるものだと考えていました。
もう一度データシート確認してみます。
>>242 100Ωプルダウンのみ行ってみたところ、ご指摘の通りADから取り込みできました。
オシロといっても、昨年のトラ技の付録基盤の簡易的なものなのですけど。
今度オペアンプを選定するときは、ご指摘の所の注意してみます。
LM358はオペアンプを扱うのが初めてなので、メジャーで安いというだけで選んだ
ものでして…
結局PICの使い方ではなく、オペアンプの基本的な使い方が解っていない事が原因
でした。
スレ違いの質問に答えていただいた皆様に感謝します。
秋葉でpickit3乳化したとこある?
データシートには "The state of the ANSEL bits has no affect on digital output functions. " と書いてあって Analog設定が優先されるとは書いてないよ。 GP4に関してはCONFIG-Reg:FOSC<2:0>辺りを確認してみぃ GP4だから たまたま動いただけで、他のポート 例えばGP0とかを選ぶとだめなんじゃねぇ? ここはTRISIOで設定するのが普通とおもうぞ。 あと、100Ωは重すぎるぞ。 それと >"1Kプルアップ、100Ωプルダウン" ってえらく非対称・・・
16F88と16F88-I/Pって何が違うんでしょうか?
>>245 ANSEL = 0b00101000;
TRISIO= 0b00011000;
として、GP4のI/Oを入力に設定すると、AD3端子オープンで
取り込まれる値は不定でぱらぱらします。
(ノイズを拾っているように見える)
AD設定を無効にしないとデジタルIOが使えないというのを誤解していたようです。
この設定だとオペアンプの出力とPICのADを直結しても値が取り込めました。
ここまでまとめると、
・AD入力端子を同時にDigital OUTに設定しているので信号が回り込んで(?)いる
・単一電源でオーディオ信号扱うのにバイアスを考慮していない
補足
・オペアンプの電流吐き出し・吸い込み能力を考慮していない
といったところですか。
助言ありがとうございました。
>>249 普通に VDD(全部) VSS(全部) MCLR PGD PGC をPICkit2に接続
MCLRをVDDに抵抗でプルアップ
ENVREGをVDDに接続
VDDCOREとVSSの間にパスコン
で良いと思う(この場合、VDD=3.3V)
ICSPで使う端子をスイッチ入力にすれば、ISCP時にその端子につながる基板の回路はオープンになってるので、ISCP 時は専用線同様に扱えますがなにか?
>>252 ISCPの為に仕様変更する技術者ハケーン
ここ最近みかける「ISCP」は何の略でつか?
International Studio & Curatorial Program
コラww
>>253 ICSPのために仕様変更するのなら普通のことだと思うけど
つかICSP無しで使うなんてもう考えられない
C18で18F2550のUSBプログラムを書いてます。 (ROM BYTE *ROM) これはROM上のBYTE型変数(定数)へのポインタがROM上に置かれているという解釈でいいのかな? どっちのROMがどっちに対応してるのかワカンネ。 もーハーバードアーキテクチャ大嫌い。 型チェックがVisualC++並みに厳しければ不具合の原因がわかりそうなもんだが。
PICライタの18pinのソケット周りの配線みると、RB5/11pinにもPGDが入力されてるんだけど RB5がPGDのデバイスってあるんですか?
>>259 です
その後の検証で理解。
(ROM BYTE *ROM)
↑ ↑
│ ポインタをROM上に置く
ポインタの指すBYTE定数がROM上にある
あと、不具合はMPLABの変数ビューアが変な値を表示していただけで、
実際の変数には正しい値が格納されていた模様。
>>259 変数名の付け方を何とかしないといけないような
>>262 普通の C や C++ の const 規則と同じじゃん。
つか、C18は覚えてないけど、C30は #define ROM const だった気がする。
265 :
774ワット発電中さん :2009/03/06(金) 08:29:29 ID:++qSp+iS
これだからCしかかけない奴は
μPD780-C1の頃はアセンブラ弄ってた Cは少しカジっただけでC++に逝っちゃった
267 :
259 :2009/03/06(金) 16:05:23 ID:3sRyggBN
PICKit2ではじめてICDやってみた。これは便利すぐる。
ブレークポイントで止めてもUSBモジュールは動いてるから切断されないし。
>>263 USBファームウェアを書いたマイクロチップに言ってくださいw
ファームウェアあるのはうれしいけど、実装されてる関数の説明足りない上にフローもわからないから辛い。
>>264 externとかvalatileとかも同じだよね
どうも規則が覚えられない
>>267 > externとかvalatileとかも同じだよね
普通の書き方をしている限りは、
* の左側に書くのは、ポインタの指してる先のものの属性
* の右側に書くのは、ポインタ自体の属性
と覚えておけば大丈夫だと思う。
ICDは18Fだと周辺が止まらないのが残念だ 全部止まるのは24Fからだっけ?
PICKit2安いねぇ。 秋月で実験用の15F877つきユニバーサル基板が付いて、5000円だもんね。 509ライタのUSB化は辞めにしよう..... いや509もいいんだけどね。 でもISCPが使えないとね。 つかもっとお手軽にISCP使いたいなら、トラ技78K0とかストロベリーlinuxの USBのAVRとか、ITプラザでぜんぜん売れなくて大量在庫しているEZ-USBに適当 に大電流流せるバッファかまして使えばいいんだけどね。 畜生、ゴロとロゴが良すぎるんだよ>PIC
AVRならFTDIの基板買えば1000円でお釣りくるじゃん。 PICKit2は3500円になってやっと買う気になれたよ。
>509ライタのUSB化は辞めにしよう AVRのmega48を使ったUSB−シリアル変換に509繋ぐ手も……。
うちは秋月のPICKit2互換ボードが何気に一番使用率が高いかも。
秋月のPICkit2互換ボードは何が良いんだ? ゼロプレッシャがついてる所? 結構前から気になっているんだが。
なんとなく、あの形状が安心する人達のためさ。
PIC18F2550を使ってパソコンとシリアル通信をしようとしています。 パソコンのターミナルでキーを適当に打つと それに応じて文字を出力するようなプログラムなのですが、 何故か、キーを打った途端にPICがリセットされてしまいます。 コンパイラにはCCSコンパイラを使っています。 スタックのオーバーフローかとも思いましたが違うようです。 #use rs232(baud=9600,XMIT=PIN_C6,RCV=PIN_C7,ERRORS) c = getc(); switch(c){ case 'g': printf("g\r\n"); break; (中略) default: printf("Unknown char:%c\r\n",c); break; } 上がソースの一部です。何が原因なのでしょうか……。
>>269 選択できるなら良いけど、無条件に止められると困る。
USBなんかモジュール止めたらPCからデタッチされてしまうからね。
>>274 ソケット付いてるとはいえ、純正より高いなんて売れるかよw
って思ってたけど、実は結構売れてるのかな?
>>276 リセットされたことはなにで把握してる?
ウォッチドッグタイマは切ってる?
>>277 スタート時に1度だけされる処理がキー押すごとにされていたことから
リセットされているのだろうと判断していました。
が、restart_cause()でリセットの原因を調べてみたところ、
「NORMAL_POWER_UP」と出ました。
リセットされたというよりも、何らかの原因で0番地に戻った、
と考えたほうが良いのでしょうか……。
ウォッチドッグタイマはコンフィグで切っています。
RS232をFORCE_SWでやってみたり、RXピンのTRISの値を変えてみても駄目で、
最適化の値を変更しても、getcをgetsにしても駄目でした。
いったい何が起こっているのか……。
main()ループがないとかじゃねーよな? getc()よりも前のprintfは吐けてるのよな? ハードはあってるのか、±12Vになってる? シリアル設定あってんの?
>>278 c = getc();
↓
c='g';
とかにしてスタートに戻るかどうか試してみたら?
この状態でMPLAB SIMでシミュレーションしてみても何かわかるかもしれない。
(シリアル通信までシミュレートするのは面倒なので)
281 :
278 :2009/03/08(日) 01:09:37 ID:qFvsTUHU
>>279 はい、main入ってすぐのprintfの表示も大丈夫です。
シリアル端子の電圧は、負の方は-9V〜-10Vでした。
変換ICはADM3202を使っています。
>>280 そのようにしてみたところ、スタートには戻らずちゃんと動きました。
switchは合っているようです。
シリアル通信もRCREGをいじってシミュレートしてみましたが大丈夫でした。
皆さんありがとうございます。とりあえずもうちょっと試してみます……。
>>278 各所にprintfを置いといて
確かめたいところのすぐ後にwhile(1);を入れて
どこまで実行したらリセットするか確かめる
283 :
774ワット発電中さん :2009/03/08(日) 08:23:45 ID:dDRoZbrs
ブラウンアウトリセットによる可能性はないでしょうか?
>>282 while(1){
c[0]=getc();
putc(c[0]);
}
これが動かなかったのでどうにも……。
アセンブラを見てみても間違っている様子もありませんでした。
>>283 restart_cause()では正常起動と出ていました。
ですが、オシロなど無いので受信時の実際の電圧は確認できていません。
何でわざわざ配列なんて使ってるんだ?
>>285 あ、c[0]に関しては特に深い意味はありません。
getcでなくgetsでやったら動くかも、と配列を作っただけです。
結局動きませんでしたが……。
TeraTermから変なコマンドを出しているんじゃないかと思い
ハイパーターミナルからやっても駄目orz
ちょっと自分で通信するプログラムを組んで試してみることにします。
>>284 それでどうやってリセットがかかったかと判断するんだ?
c[0]='g'; で動いて c[0]=getc(); で動かないんなら組み込み関数の問題じゃないの
アセンブラを見て間違いじゃないって分かるってのもどう分かるのかと
組み込み関数系はレジスタの状態を無視して連続で読み書きすることも多いので
ビジー検出やバッファのクリアを意図的に入れて試してみればどうか
>>287 284のループだと、本来であれば送った文字がそのまま返ってくると思いますが、
実際にはPICは起動時特有の動作(LEDチカチカ)をしたため、
最初に戻っているんだな、と判断しました。
アセンブラは単に、BRAによる分岐で
変なところに飛んでいる様子も無かった、
リセット関連のレジスタをいじっている訳でもない、
ということから大丈夫だと勝手に判断しました……。
>ビジー検出やバッファのクリア
ありがとうございます。試してみます。
>>288 受信した信号でリセットはないと思う。
ICDで調べるのが手っ取り早い気はする
ICD2かPICkit2持ってない?
18F2550とPICkit2は持ってるけどCCSはないからなぁ…
興味深いからプロジェクト一式貰えれば検証してみるかもしれない
て言うかなんでソース全体を晒さないのかと。
pickit3は何時になったら秋葉で買えるんだろ…
292 :
774ワット発電中さん :2009/03/08(日) 20:22:54 ID:ZdIb9hqU
ハードかソフトか切り分ける意味で、 レベル変換ICを取り外すとかして、PICの送信端子と受信端子を接続して データを折り返してみるとどうなるかな? ハードの変更難しければ、PCに接続しないでシリアルのコネクタのところで 接続して折り返してみるとか。。。
>>289 残念ながらどちらも持ってないです。
今後のために買って(作って)おこうかな……。
>>292 その発想は無かった……!!
試してみたところきちんと動きました。
しかしここでターミナルでキーを打つと、なぜかPICがリセットされました。
レベルコンバータの電源はつないだまま、TX・RX共にはずしても同様の現象が。
そして気づいてしまいました。なんと愚かなことか、ICSPの端子を繋いだままでした……。
ライターには自作したRCDライタを使っており、
恐らく文字を受信するときにプログラム用の13Vの電圧が発生してしまい、
それが原因でリセットされていたのだと思います。
分離したところ、正常に動作しました。
こんなくだらない事に貴重なお時間をとらせてしまい、恥ずかしい限りです。
大変失礼しました。レス下さった皆様、どうもありがとうございました。
RCDライタから線を引っ張り出してもICSPにはならないんだが……。
USB/シリアル変換器を追加するとコネクタの繋ぎ換えもなく 開発がスムーズに進むけど、RCDライタだとコモンが違うからダメかな
せっかくの18F2550なんだからUSBで通信すればいいのに
>>294 ICSPとそうじゃないのって違いあるのか?
使い方の違いでプロトコル的には同じじゃないの?
>>295 JDMはコモンが違うけどRCDは一緒だよ
297 :
774ワット発電中さん :2009/03/09(月) 06:26:58 ID:wekGtRS/
pickit2ってそれだけでpic書き込みに必要十分ですか? デバッグエクスプレスのほうがいいのかな? 秋月のpicライタはゼロプレッシャーソケットついてますが そちらのほうがメリット大きいでしょうか? よろしくお願いします。
>>297 出来れば、延長ケーブルを用意した方がいい。
共立ではこれ。
KBC-P18LAN-PICkit2用ケーブル/KBC-POP-EX6
プログラム開発するのに、実機を製作出来るならPICKIT2で十分。
ハードは触ったことがないようなら、EXPRESS買っとけばいい。
>>296 > JDMはコモンが違うけどRCDは一緒だよ
PCから電源を取ったりしなければ、そんなことは関係ない。
>>299 回路図を見る限りJDMもRCDもPCから電源取ってる気がするんだが。
301 :
774ワット発電中さん :2009/03/09(月) 22:29:48 ID:MH8LMK69
>299 半可通軽石は引っ込んでろ、ボケ。
C18でユーザーが使っていいFSRってあるのかな 連続データだったらポインタ使うよりPOSTINCレジスタ使ったほうが圧倒的に速くなりそう
303 :
295 :2009/03/09(月) 23:01:48 ID:sQVICtHX
>>296 >JDMはコモンが違うけどRCDは一緒だよ
RCDはGND共通なんですね今頃知りました。
GND共通でないとCOM1で書き込み・COM3で通信テストができませんから。
>ICSPとそうじゃないのって違いあるのか?
CPU RUNのときは当然電源入りのまま。
MCLRはGND,Vpp,電源プルアップの3出力ほしいし。
VppファーストのPICは一旦電源を切らないとダメなのでちょっと面倒。
PGCLK,PGDATAにLEDがつながっていても影響されない出力が必要かな。
RCDはGND(SG)とVss共通だけど JDMではGND(SG)がVdd、Vssには-5V でも、そんなことよりVpp/MCLRとかに RCDライタ繋いだままハイパーターミナルでキー打つと リセットって・・・何ですぐ気付かなかったんだ?? 元がプログラムの質問で、結局そんなオチとはw
305 :
774ワット発電中さん :2009/03/09(月) 23:06:57 ID:lqaOCZJR
つーか、安くなったPICkit2を買(ry
306 :
302 :2009/03/09(月) 23:33:36 ID:9B5oxeD2
手元のプログラムのDisassembly Listing見るとFSR0〜3全部使ってた。 ユーザーが使うときは一度退避して戻すようにして、 途中でコンパイラがFSRを使わないことを確認する必要があるようだ。
307 :
774ワット発電中さん :2009/03/10(火) 07:46:21 ID:8rKMQnaO
JDMやRCDライターってPICkit2が出る前のつなぎの役目を果たした 歴史的なライターなので、今なら間違いなくPICkit2を使ったほうが 色々な意味で有利と思います。 ライターかターゲットのどちらの問題で起きているのかを切り分けるために もPICkit2が最良の選択ですね。 秋月では売り切れましたが、まだマルツとかデジキーでは4000円以下で 購入できます。
308 :
774ワット発電中さん :2009/03/10(火) 10:29:55 ID:fOk4b45i
ライタ509(675)なら4000円あれば10個は用意しておけるし チップの予備を交換する事も出来る上、ファームが勝手に書き換わってしまったりしないから安定してる。 Cしか出来ない奴は半田付けなんて無理だろうから出来物しか使う術を持たないだろうけど そうでなければJDM+ライタ509最強!
>>308 PICkit2は書き込みが速いのとドライバが要らないこと、デバッグができる点で優れてる。
回路図もhexファイルも公開されてるから自作も可能。
12F509とUSBシリアル変換IC買うより18F2550のほうが安くてDIPだから手軽。
そういう俺もWrite509発表直後からPICkit2買うまではお世話になったんだけどね。
いち早く手持ちの12F675で使いたくて逆アセンブルして移植までした記憶が…
>>308 何個もいらん。1個あれば十分。
10個?あほかいな。
PICをマイコン教材として使ってると、40個単位で開発キットが欲しくなるよ
>>312 そうか?
教材からといって必ずしも純正品使わなくたっていい気がする。
確かにpickit2は便利だが、ある意味509の方が使いやすい気もする。
40台も用意するなら509を学生に作らせるのも手だと思う。
と中学生らが受験しているので高校(ちなみに普通科)が休みの生徒が言ってみたが、どうだろうか?
予算とあと何を学ばせたいのかとの兼ね合いだと思いますよ。
>>313 教えるのはツールではない。PICの中身やマイコンの動き。
だからデバッガーとしての機能は必須。まずそこから駄目。
決して509を否定しているわけではない。
素晴らしいツールであると思う。
でも教材ではない。
教材としてお勧めという話と、ライターとしてお勧めという話がごっちゃになってる。 険しい道のほうが勉強になることもあるだろうが、先へ行くことが目的なら 障害の少ない道をお勧めするのが普通だろう。
>>316 同意
ライターを作らせるはありえない
プログラムとか電子回路の楽しさとかを教えた後に作らせろ
ライター作って楽しい人間は限られている
なんということを・・・・・PICはライターに始まりライターだけで終わると言うのが定説なのに・・・・・
>>318 それはHobbyとして楽しむ場合だけだ。
320 :
774ワット発電中さん :2009/03/10(火) 17:40:42 ID:sldFBDNr
えー、PICって書き込み器のためのデバイスでしょ?。
321 :
774ワット発電中さん :2009/03/10(火) 17:56:23 ID:A8gf7sl3
ProgrammerInterfaceController >319 俺は仕事を楽しんでいるぞ。 勝手に権利を奪うな。
>>321 Hobbyって趣味の事。
趣味と実益が両立すならそれもよし。
でもあくまでHobby。
なにかチカチカを忘れていませんか
324 :
774ワット発電中さん :2009/03/10(火) 19:17:10 ID:A8gf7sl3
ProgrammableIilluminationController
>>317 まっただ中w
ICD2クロン+IDE8.20a で楽しくハマり中
326 :
774ワット発電中さん :2009/03/10(火) 20:15:41 ID:9Ht9Z7Lu
もまえら、今月のトラ技買った?
買った、というか送られてきた。
PIC18F2550 でやるなら、あらかじめ40台にブートローダを書いておけば良い。 ブートローダを飛ばしちゃった子の奴は、先生の PICkit2 で修理すればよろし。
>>330 18F2550のDIPが450円、知ってる。でもUSB接続出来る様にしてくれている
ので、1000円の方勧めてる。
つまり、ブートローダ内蔵してれば、USBから焼けるんだ。そっかー便利。
>>333 でしょ。便利でしょ。PICライタがいらないので、即LEDチカチカとか
モータを回してみるプログラムから始められる。
親子ロボット教室を開けば、子供よりお父さんの方がのめり込む。
ノートPCさえあれば家でも色々遊べる。
PCスピーカの電源を入れずに、イヤホンのボリュームを変更できたらいいなと 思ってヘッドフォンアンプの製作を必要性を感じたのだが、サウンドカードの 出力に直接イヤホンをつなげて聞いてみると、十分過ぎるほど音が大きいし 音質も特に不満がない。 つうことでUSB接続のできるPICに、ボリュームをつけA/D変換し、その変 換値をPCで読み取り、サウンドカードのボリュームを変更するようなものを 思いつきました。 検索したら既に製品が出ていました_no でも簡単だから、A/D変換機能の入門にもなるね。 誰か回路かい(ry
いわゆるアナログコントローラだね。 ボリュームの両端をVDDとGND、中点をANピン、あとはUSB関係を繋げば終わりかな。
> あえて難しい道を選ぶもの一興かねぇ PICユーザならではでしょ。 書き込みに自分で障害を作って、解決して楽しむ。 時としてPCのシリアルポートを壊して不幸自慢。 他のマイコンではできない、PICならでは楽しみ。
ドMすぐる
デジタルボリュームならば、BカーブVRで取り込んだ値を、AにもCに補正できる ので、音声のみならず、いろいろ使えるかなとおもったもんで。 たとえばすぐ思いついたあたりで ・ビデオカードのガンマ変える ・オーバーレイの明るさ/色合い/色の濃さを変える つかボリュームコントローラ付きのキーボード探したほうが速い気がしてきた。
>時としてPCのシリアルポートを壊して不幸自慢。 最近だと、USBのヒューズ飛ばしたぜ!とかもあるんだろうな・・・
そうすると、USBは何mA流せるという方向になるのもこのスレのいいところ。 とくに、ノートはまちまちなのがよくわかった。
>>336 AD変換よかよっぽどUSBの扱いのほうが面倒だぜ
MicrochipがHI-TECHを買収したらしい。 これでHI-TECH CのPro版がフリーになったら嬉しいが・・・無理かな。
(うちも買い取ってくれないかなぁ・・・)
347 :
774ワット発電中さん :2009/03/14(土) 01:05:01 ID:kYiLSuiq
だれか教えて、16F876Aが書き込みできなくなった。 JDMライターでIC-Prog106Bつかってます。 書き込みは何回かやっていた。 Verify failare がでてしまう。 ためしに "Read ALL"すると X0-X8 all 000 X7-XF all 3FFF がずっとつづく。 これって壊したのかなぁ? だれか、エロい人教えてください。
>>347 石が死んでるかどうかの切り分けもできんのか、最近のゆとりは
C言語ばかり使っているから。 そういう>348はできるのか?
350 :
774ワット発電中さん :2009/03/14(土) 01:26:22 ID:OLhvqAd+
もいっこ同じ876A買ってきて同じ環境で書き込みしてみればいいじゃない 書き込み成功したら石の故障 失敗したらライターかお前が悪い。
予備のチップか予備のライタが無いと苦しいわな。 そういう言い訳が許されるのは中学生くらいまでだが。 大人ならチップくらい大人買いしようぜ。w
次は二発打ち込め。〜バトー
LVPビットがオンになってるとか。 あとは、内蔵クロックで走らしてるんじゃないの? おれは16F628Aをソケット逆挿して焼いてしまったとき似たような現象に なったけど、「JDMプログラマで12F629/675に再書き込みで きない問題」に書いてあるやり方をしつこくやったらなぜか治ったよ。 それ以来、JDMライタでLVP対応の新しめのデバイス使うときは、内蔵 クロックは使ってない。 つか手元にジャンク基板いっぱいあって、いまどきなのに正方形とか長 方形の立派な水晶使えるっつう環境なのもあるけど。
354 :
774ワット発電中さん :2009/03/14(土) 10:01:33 ID:xDn1OykS
>>353 直ったつもりでも、一部のファンクションが壊れる事はザラにある。
たとえば、コンペア機能が死んでいたとか、特定の内蔵クロックだけ使えないとか、
USARTから出力されないとか、どれも経験した話。
ましてや、逆ざししたPICはこれらのリスクが非常に高い。
疑わしいPICは使わず、新品をいくつかストックしてそれを使うべきだな。
355 :
774ワット発電中さん :2009/03/14(土) 10:43:03 ID:VChrBn7c
>>354 そうだったんか!!!
逆刺したPIC 12F675が大丈夫だったのに、プログラムして、
特定のPIN(GPI2)が周期的リセットされる不思議な現象が発生
なやんで、そのピンを使わないよう変更したことがある。
ストックは30個ほどあるけど、PICバグと思って交換まで考えなかったな
356 :
774ワット発電中さん :2009/03/14(土) 11:08:34 ID:e9/eFwW9
そういう疑わしい部品をそのまま部品棚に戻すなよ。 頼むから…
>>355 うちにある逆ざし12F675は、一度完全に死んだと思わせて何日かして
なんとなく動かしたらいちおう動いたけど、A/Dが1ピン完全にイカれてる。
でも、まあ動くんで動作テスト用に使ってる。
臨死体験というやつだな。 これを経験した奴は人が変わるというから、あながちウソでもなさそうだ。
だから 頭に輪みたいのがのってるんか
361 :
774ワット発電中さん :2009/03/14(土) 17:22:47 ID:pxnuLESl
>>354 そんなにしょっちゅう逆挿ししてるのか。
もうちょっと慎重に扱ってください。
PICが川isoすぐる
>>347 いったんPCの電源を落として、熱いお茶でも飲んで一息ついてから
もう一度挑戦してみては。
シリアルポートが固まることもあるみたい。
>>361 もういっそ逆挿ししてもOKなようにブリッジダイオードを内蔵しる>Microchip
レギュレータ内蔵してる HV シリーズなんて作ってる会社だから そこまでやっても不思議ではないな。w
マジレスすると、逆挿しで壊れなくてもI/Oピンが別位置に挿さったんでは 動作せんし、出力ピンと入力ピンが逆になったら外部回路を壊す可能性もあるから、 逆挿ししても動作するには、逆挿しを検出してI/Oピンの割り当てまで自動的に 「回転」せんといかんね。
もうどうにでも付けられるように丸形にしようぜw
台形にすれば間違った挿され方もおきないと思う。
少pinのは仕方ないかもしれんが 一々抜き挿しするのやめてICSPに汁
369 :
353 :2009/03/14(土) 23:24:32 ID:BE9hxUl/
しょっちゅうじゃなくて逆挿しはたったの一回だけです。 でもそれ以来、PIC使うときに気をつけるようにしたことは ・ピン数にあわせたソケット基板用意して使う->ずらして挿す可能性がなくなります。 ・ICソケットの1/18pin(凹み)の上と、利用するPICの1/18pinに位置あわせシールを貼る。 これ以来バックはないですねw 人間なんですよ。 プログラムが思ったように動かないと抜き差ししているときも、 頭のなかでソース追っかけてたりするんですよ。 そんな余計な事考えてる瞬間でも、五感で確認できるような、目立つ印は やっぱ必要なのですよ。 止まれは赤で、進めは青なのですよ。 はははは_no
昔、自作ライタ使ってたときは何度も逆挿ししたよ ゼロプレッシャーも使ってなくてケースもなしだったから 上手くいかなくてボケてきたら気をつけてるつもりでもうっかりとね 書込み機買ってISCP覚えたら幸せになりました
若松のトラ技広告の誤植で がっかり。 realice 27,300円 電話したら「ごめんなさい」とさ。
RCDライタで何台ものパソコンのシリアルポートが死んだことならある。
373 :
774ワット発電中さん :2009/03/15(日) 09:08:17 ID:kNQZWLnh
>>369 10F200なら、1番ピンを曲げてソケットに爪楊枝の先を切って突っ込んでおけば逆刺しはゼロになるけどな。
>>372 おまえの脳味噌がそもそも死んでいそうなレスだw
>>371 若松のサイト見たら realice 79,800円だとさ。
「ごめんなさい。」で済むのかねえ。
済むのかねえ、ってクレーマーかよ。www 広告の間違いなんて普通じゃん。
377 :
774ワット発電中さん :2009/03/15(日) 21:11:20 ID:yQhm4JAo
>>376 公正取引委員会なら怒りそうだ。
ところで質問です。
mclrピンで、リセットを行いたいのですがデータシートを読むと
パルス的なリセットではリセットできないとあります。
確かに、リセット時間が短いとうまくリセットになりません。
それでどのくらいの時間でリセットがかかるのかを考えると個体差もあるのでしょうか?
最小時間はどれくらいあればリセットのなるかどこかに記載されてませんか?
また、パルス的なリセット信号でリセットさせるにはどうすればいいでしょう?
教えてください。
>>377 使ってるデバイスのデータシートに書いてない?
例えば(たまたま今見ていた)16F684だと
MCLR pulse width (low) って項目があって
min. 2μs(85℃まで)
min. 5μs(全温度範囲)
と書いてあるよ。
レス、ありがとうございます。 その部分を見落としていたみたいです。
あー、そうか。以前12F675がどうにもうまく動かなくてプログラムを何度も 見直したけどわからず、結局A/Dが不良だったっていうことがあったけど・・ 今思えばPICの初期不良じゃなくて一回逆挿ししちゃったからなんだな orz
18ピン系の配置が頭にこびりついてるんで、どうしても間違えてしまう。 まあ、イージーミスっていうのはわかってるんだけど、感覚的にも下がGND って思ってしまう。 わかってても毎回データシート見るくせをつけないと。
18ピンは真ん中の左がGNDだろ
PIC間の接続について教えてください。 PICをそれぞれ使った回路があって、片方のPICの出力のONOFFをもう片方の回路で取得したいです。 その場合の接続方法はどうするのがいいのでしょうか? 1.そのまま直でつなぐ 2.間に抵抗を挟む 3.他の方法? PIC間の連携となるとシリアル通信とかI2Cとか見るのですが、 ONOFFだけわかればいいのでもっと簡単な方法でできるのでは?と思っています。 よろしくお願いします。
>>384 直でも良いし、安全兼ねて数K程度の適当な抵抗を挟んでも良い。
>>384 >>385 も言ってるけど、プログラムにバグがあったら困るんで抵抗はいれておいたほうが
いいと思う。出力同士になったらぶっ壊れるかも。
>>385 >>386 返答ありがとうございます。
間に抵抗を入れておいた方が安全みたいですね。
そのようにやってみます。
> 出力同士になったらぶっ壊れるかも。 きっと1Aとか流れる想像してるんだろうなぁ・・・
ローインピーダンス同士の組み合わせはアウトってことだよ。
390 :
774ワット発電中さん :2009/03/16(月) 21:12:13 ID:f3XDOfNS
391 :
384 :2009/03/16(月) 21:15:43 ID:SSP09cW0
>>389 PICの入力はハイインピーダンスだと思っていたんですけどあってます?
あともう一つ質問お願いします。
384で書いたように二つの回路を連動させたいんですが、
連動するかしないかをスイッチで切り替えたいと考えています。
二つのPICの間にスイッチを入れればいいかと思ったけど、
スイッチを切った場合、入力側の電位が安定しなくなりますよね?
出力側がオンのときに連動したいのでプルアップは使えなさそうです。
別のポートに切り替えのスイッチをつけるのは避けたいんですけど、
なにか良い方法ありませんか?
こんな感じでよいのではないだろうか □は数kΩの抵抗で。 送信側PIC ─□─┬─PIC受信側 │ / スイッチ │ ┴ ///
(´Д`) 1年ぶりくらいにMicrochipにサンプルを注文しようとしたら、 2種類までに制限されているし、$7.50も手数料(?)がかかるらしい。 無料でバンバンもらえる内にもらっておくべきだったかなぁ?
>>393 みんな、もらいすぎたんだろ。
送料ぐらい負担シル!ってことか。
>>391 入力はハイインピーダンスだけど、PICも人間も絶対死んでも出力モードには
しませんという保障がないので、抵抗入れておいたほうがいいかな
ってことです。
じゃぁRxとかスイッチ入力も凡て直列抵抗入れるの?
通常は、通信のソフトやハードを組む時の原則は、「「相手側を信用するな」 そんなんで、通信のときはそんな風にする設計者が多いってことさ。
高橋名人が使うスイッチなら、 高い電圧が発生してしまう希ガス
>>398 そうだね。
同じ基板内のマイコン同士で、両方自分がプログラム書くなら
(自分ならば)抵抗は入れないな。
実際には100mAくらいでリミットされるから壊れることは少ないし。w
プログラムもハードもそうだけど、極力小さく、少部品(少ステップ)にするか、お約束どおりに して安定感(安心感)を狙うか、それだけのことなんで。 入れないから間違いとか、入れたら間違いとか、そういうのはないと思う。
入力専用のリセットピンですら直列抵抗は入れたほうがいいって データシートに書いてあった。 ラッチアップ防止だとか。
>>391 プルダウンでいいと思うけど、何が問題なのか?
405 :
391 :2009/03/17(火) 18:12:14 ID:58/FIkU4
レスをくれた皆様ありがとうございました。 プルダウンでOKですね。 スイッチオンで連動切りなのがちょっと引っかかっていたので。
内部プルアップでも委員じゃね?
>>400 「直結怖い病」患者が聞いたらビビリそうな電流だな。
同じ基板内で別系統の電源をもつ2つのCPUという罠が…ってそこまで特殊なのは滅多にないか。 ちなみにそういうのをやったときは、フォトカプラで系統を切るけどもね。
双方向通信しないなら、ダイオードを入れればいい。
複数電源対策と馬鹿除けの話がごっちゃになってるw
PICのスレなのに・・・
PICスレですから
そもそも連動はプログラムでオンオフさせるのであって、スイッチで強制切断するような回路がまずいだろ。
ま、動かなかったり焼けたりして「なんで?」ってところから始まるんだろうけどね。 他趣味に比べれば、費用とかも大したこともないし。 お金はかからんが、最後の1個とか焼損させるとショックでかい。 また買うのに 2〜3日我慢か・・ とか思うのが。 スーパーで電子部品売ってればいいんだけどねw
最後の1個使う前に注文しるだよ。 どうせスーバーで販売していても、「ここで買うと500円、秋月だともっと安いから秋月で買う」と言って買わないのはお約束だろう?
秋月だと数量割引あって 量販スーパーとコンビニのどっちを取るか経済学みたいなもの、か
>>416 そうだなー。
部品屋そのものは近くにあるんだけどね、PICまでは売ってない。
なんかやってる時はすぐに欲しいんだよなあ。あと1個あればいいのに
ってこと、しょっちゅうある。そのための買いだめだと思うけどね。
買いためておくと、今度は10年も使わないデッドストックができるw
スレ違いスマソ
おれは秋月までの電車賃より、通販送料が安いが、 それでも通販レベルまで部品リストが溜まるのを待つのがつらい。
代引き代300円くらいケチらずに買いなさいなw
> 代引き代300円くらい 300円で届けてもらえるなら誰も大騒ぎしない
どちらにしても大騒ぎするような話ではないけどなw
どうせなら、業者さんとして、界隈一括購入通販してくれると助かるが。 秋葉買い物代行業者とか。 プーな奴、やらんか?
>>424 プーは金に困っているから、金渡すと全部持ってっ茶うね
426 :
774ワット発電中さん :2009/03/20(金) 21:07:43 ID:zBkl8eMP
>>423 それなら、チップワンストップで買えばいいじゃん。
どうせならdsPICでMP3デコードまでやると面白いな
429 :
774ワット発電中さん :2009/03/21(土) 09:28:00 ID:zlqXk9lu
>>427 PICでの製作例だと、デコーダチップを付けないと無理だな。
MP3プレーヤーならdsPIC+デコードchipとして ADPCMでもATMEGA88と対比するなら PIC18F24J10くらいが適当かな。
>>428 dsPICでMP3デコード再生する実装例は、Microchipフォーラムに出てたね。
>427 SDカードの読み込みって、簡単なのかな。 ファイル指定できるのかな。
SDの読み書きはSPIインターフェースで簡単だけど、あくまでセクタ単位。 ファイルシステムの知識は要るですよ。
フリーのファイルシステムあるよ。それ使えば楽。
スレ違いで申し訳ないが、FATってどんなのか実際に見てみようと Linuxで試そうとしたけど(ddでコピーしたりして)、知識がないもんで挫折した。 Windows環境ではそんなハードウェアに直接アクセスするようなことはできないのかな?
debug コマンドでできないか
>>437 お、なんだか行けそう。
でも通常起動時には出来ないのかな。
>>435 WinHEXていうバイナリエディタが物理ドライブのセクタを直接覗けて便利
>>435 SD→PIC→PCとつないで、デバッガ風コマンドでダンプ表示するのもいいと思う。
442 :
無職猫 :2009/03/21(土) 22:37:25 ID:HPH1VPdp
>>435 Microsoft 純正のソフトでは dskprobe.exe がるけどね
ttp://itaya.corso-b.net/TIPS/DiskProbe/index.html FDD と MO 230MB 640MB を つないで FAT12・FAT16・FAT32 の違いを調べた事がある。
FAT12 は 偶数と奇数で 上下が異なり ややこしいけど 実は
FAT12 全体を リトルインディアンで並べて 下位 → 上位へ 12bit づつ区切ってるだけの簡単構造だったりするよ。
覗くソフトは他の人のアドバイスも参考にして下さいね。
× Microsoft 純正のソフトでは dskprobe.exe がるけどね ○ Microsoft 純正のソフトでは dskprobe.exe が有るけどね
444 :
774ワット発電中さん :2009/03/22(日) 21:39:11 ID:QxXTBFsK
「500ms間入力がなかったらタイムアウト」 と言う処理を行いたいのですが、どうするのが定石なんでしょうか?
大麻余ってたら大麻。余ってなかったらソフト大麻。
別にセオリーなんて無いよ。 カウンタータイマーが余ってればそれの割り込み使う手もあるし 単にループさせてカウントする方法でも良い。 その組み方次第だろ。
447 :
774ワット発電中さん :2009/03/22(日) 22:01:44 ID:TGfWk5xr
1msecを10回ループ さらにそのループを10回 更にそのループを5回回すとか
Writer509用のソフトで、IC-PROGみたいにバイナリエディットして すぐさま書き込みできるソフトってないすか? 要するにEEP-ROM領域や、プログラムのコード領域に配置した定数データを、 バイナリエディタ感覚で読み書きできるソフトがなくてちょっと使いづらい。
449 :
774ワット発電中さん :2009/03/23(月) 09:40:19 ID:XiLykvQB
質問なんですが、ピンの名前で上に線のついているのはどういう意味ですか? MCLRとか、SSとか、上に線がついて表記されていますよね。
タイムアウトと言えば、UARTのタイムアウトをまともに書いてるプログラムって見たこと無いな。
いや、書けよ、普通に
UARTのタイムアウトって何? オーバーランのこと?
わたし待つわ いつまでも待つわ たとえあなたが Transmit してくれなくても
不覚にもワラタ
456 :
449 :2009/03/23(月) 21:47:14 ID:PiN+NlYP
>>454 アスキーモードが主だから
わたし待つわ いつまでも待つわ
たとえあなたが Enter 押してくれなくても
BIN モードだとタイムアウト付けるけどね
秋月のpickit2売り切れてて、昨日まで3月下旬入荷って書いてあったのに 今日から4月上旬に変わってた。やっとRCDライタから縁切る決心ついたのに
459 :
774ワット発電中さん :2009/03/24(火) 07:24:20 ID:hpDcuf0a
>>458 やはり変更になったのか
Microchip Direct ですら4月下旬入荷予定だからなぁ…
在庫切れってトラ技効果かな?
トラ技読んでいるような人は、すでに持っていると思う。 PikKit3が出たから流通しなくなったんでしょ。
464 :
774ワット発電中さん :2009/03/25(水) 00:41:17 ID:/0QrCdgO
>>463 違うよ。
PICKIT3の期待が大きかったんだけど、実際販売開始したら
しょぼかったから、PICKIT2を買う人が集中したんだよ。
PICkit3 発売と前後して販売店は kit2の在庫調整 kit2/3購入予定者はどっちにするか模様眺めしてたけど 結局・・・(Ry
PICkit3 はまだソフトが未完成って感じだね。 これから良くなるんじゃね?w
つか、ほんと書き込み器の話題は盛り上がるねぇ。
今、欲しいというならpickit2でも別に止めない。 しかし、半年もすりゃpickit3一色になってるぞ。 このスレもMPLAB IDE9と合わせてその話題で埋まってる。
>>468 いや、そりゃないだろ。
MPLABのバージョンアップと違ってハードの更新は時間がかかるからな。
今でも秋月PICライタの話題があるくらいだし。
>>468 この値段で半年も遊べりゃ御の字だと思うがな。w
pickit2でも別にずっと使えるだろ
472 :
774ワット発電中さん :2009/03/25(水) 12:18:54 ID:Ez5JlBT7
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★ このスレを見ている人はこんなスレも見ています。(ver 0.20) 超零細町工場 親子二人または一人の会社7 [製造業界] ●PIC・AVR 初心者のためのスレッド-3サイクル目● [機械・工学] 【いよいよ】YAMAHA TENORI-ON 1台目【日本発売!?】 [DTM] ★メタハラ★ メタハラ専用スレ ♪7灯目♪ [アクアリウム] 【PHP】フレームワーク CakePHP 6ホール目【v1.2】 [WebProg]
シャア専用になるだけなの?Pickit3
MPLAB 8.20a使ってます。 エディタでタブを入力すると、ときどきスペースが1文字しか挿入されない 場合があるのですが、どこの設定直せばいいんでしょうか? 4,1,4,4,4,4,1,4 という感じです。
あ、ごめんな。便乗。同じか解りませんが、 4TAB 、フォントは日本語、等幅設定でも TAB1つで、半角4文字になっておらず、 外部テキストエディタで見ると . //---- . char a = 0; //---- . int b = 0; //---- のように、気持ち悪いことになっています。
つか、むしろ外部エディタでしか編集しないようにしている。
>>477 タブを半角スペースで表す設定は
[Editor Opions]-['C'File Types]タブの "Insent spaces"ラジオボタンにチェックじゃないかな
TABの表現はエディタ毎に違うからおかしく見えるんじゃない?
>>477 とは無関係だけど
おまけに表示とも無関係だけど外部エディタを使う人は下記の様に付け加えるとリストファイルが見やすくなるよ
IFDEF P18F452
LIST P=18F452, F=INHX32, R=DEC, X=ON, n=66, c=255, b=4
include "P18F452.INC"
ENDIF
R=DEC 数値を明確に指定しない場合 10進数として扱う
X=ON マクロ内をリストファイルに展開する
n=66 1ページを 66行とする
c=255 横の長さを 255文字までとする
b=4 リストファイルの TAB は 4個のスペースとして表示する
481 :
774ワット発電中さん :2009/03/27(金) 10:18:27 ID:vvlGPMeR
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★ このスレを見ている人はこんなスレも見ています。(ver 0.20) 超零細町工場 親子二人または一人の会社7 [製造業界] ●PIC・AVR 初心者のためのスレッド-3サイクル目● [機械・工学] 【いよいよ】YAMAHA TENORI-ON 1台目【日本発売!?】 [DTM] ★メタハラ★ メタハラ専用スレ ♪7灯目♪ [アクアリウム] 【PHP】フレームワーク CakePHP 6ホール目【v1.2】 [WebProg]
>>476 MPLABの表示と一般テキストエディタの表示が異なる原因は
命令とかの表示をBOLDにしているからと思われ。
俺も前から気になってた。タブ文字数4の設定でも半角スペース4.5個分くらいの空間ができる。 insert spaceにしても既存のソースはそろわないし。
Textタブ - [Colors] Choose Colors で 各項目のBoldをoffだぞ。 何かVer-upするとデフォに戻っちまうようだな。
Bold関係なかったよ 行頭の半角スペースx4とTabの時点で幅が違うんだからやはりBoldは関係ないだろう 昔いじってたときはフォントによってずれるか否かが違った気がする ずれるフォントでもフォントサイズによってはずれなかったり…
うちではズレない。
内部エディタはブレーク張るときだけしか使わないんで諦めてる。 で、流れきってしまうんですが18F97J60弄ってて詰まったんで質問。 データバス幅16bitでFlash付けてみたんですがまったく書き込めません。 波形みてみると一回の書き込みの時2回chip enableがLowに落ちてて 調べてみると偶数アドレスにアクセスしたときに1回落ちて、 奇数アドレスにアクセスしたときに、もう一回落ちてwrite enableが落ちてる。 外部バスにアクセスしてる間はずっとCEは落ちてると思うんですが なんで2回も落ちるのか不明。 レジスタのセットはMEMCONでword writeにしかしていないんですが、他に設定必要なんですかね?
フォントはFixedSysかTerminalにしている。MPLABに限らず 開発環境系はほとんど。MSゴシックとか「1」なのか「l」なのか「I」なのか見にくいし。 Boldやめればズレないけどなあ。
Bitstream Vera Sans Monoいいよ 0とOの違いがわかる
>>487 データーシート嫁。
これだからCしか出来ない奴は…
ナニができようが、マニュアルやなんかというのは、聞くことに慣れているとまーまず読まない いわれてから「あ、そうか」と読み出す
493 :
774ワット発電中さん :2009/03/29(日) 19:38:24 ID:XNOVPy3O
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★ このスレを見ている人はこんなスレも見ています。(ver 0.20) 超零細町工場 親子二人または一人の会社7 [製造業界] ●PIC・AVR 初心者のためのスレッド-3サイクル目● [機械・工学] ★メタハラ★ メタハラ専用スレ ♪7灯目♪ [アクアリウム] 【いよいよ】YAMAHA TENORI-ON 1台目【日本発売!?】 [DTM] 【PHP】フレームワーク CakePHP 6ホール目【v1.2】 [WebProg]
494 :
774ワット発電中さん :2009/03/29(日) 20:24:45 ID:uvqzt4qr
495 :
774ワット発電中さん :2009/03/30(月) 21:12:47 ID:UKyEW228
16F54の使い方が良くわからん 誰か教えてくれポートAとBの入出力どうやったらいいの? わけわからん アセンブラでどう記述していいか教えてください
何が判らないか、より、何なら判るのか、を書いたほうが良いかも
497 :
495 :2009/03/30(月) 22:28:37 ID:UKyEW228
入出力の設定には大体バンク切り替えてんでもってTRISっての使うと思ったんだけど データシーと見ても良くわからないし そもそもどうやって入出力の設定をすればいいのかわからなくなった・・・
16F54にはバンクなんて無いぞ。 さらにTRISレジスタはメモリMAP上には無く 代わりにTRIS命令がある。 データシートに例があるから欲嫁
データシートを読む能力が無いなら PIC使うのは諦めようねw
いや、データシート読めないやつがPIC使うんじゃね。 解説本がイパーイあるPIC.
左様。データシート読めれば解説本の類は殆ど要らない。
問題はPICの場合データシートが分かりにくい事だと思うんだ。
あの程度でか?
全くだ。 どのマイコンならデータシートが分かりやすいと思ってるんだろうな。
日本語で読めるだけありがたいと思うべき。
506 :
のうし :2009/03/31(火) 10:17:58 ID:iX1UTtvC
16F54のデータシートとにTRISの使い方は書いてあるのはわかったけど それをどのように使って入出力ポートを設定するのがわからないんで 誰か書き方教えて下さい
流れを切手もうしわけありません。 PICのノイズについての質問です。PICの命令によって外部に出るノイズって 違うのでしょうか。ノイズの出やすい命令、出にくい命令について検証した ホームページや論文などのありかについてご存知の方、ご教示いただければ 幸いです。
509 :
電脳師 :2009/03/31(火) 10:59:57 ID:iX1UTtvC
実験してみてはよろしかと。 でも、命令によってではなくPICの接続や配置とかの方の問題だとおもわれ。 オレが実際に経験したのはバラックで単純ループを実行した際、FMラジオが受信しずらくなった。 またロジックだけで作った書き込み器が書き込んだ際、とても大きなノイズが出た。 プログラム電圧は高いからかな?
510 :
774ワット発電中さん :2009/03/31(火) 11:33:09 ID:DWVZ5KqB
ノイズ対策って、スナバ回路でやるもんであって命令で決めるもんじゃないだろ。 ノイズ出やすいからって、その命令を使わないつもりか?
>>509 人間、楽な道を選びたがるものでございます。やはり自分で実験してみる
ことが最短の道なのでしょうね。重い腰を持ち上げてみることにします。
512 :
774ワット発電中さん :2009/03/31(火) 12:07:27 ID:PKhAzW6B
最近のPIC使いは電源ピンにパスコンも入れないのかね。
513 :
774ワット発電中さん :2009/03/31(火) 12:10:35 ID:YVESIEAm
> ノイズ対策って、スナバ回路でやるもんであって wwww さすがPICスレww
>>510 アナログ・デジタル混在回路にて、デジタル側からのノイズをできるだけ
低減したいという志向でございます。PICは命令の種類によって強烈な「さー」
ノイズが出ることを最近の実装で発見しました。そこで、新しいプログラミングの
着眼点として、ローノイズプログラミングを提唱したいと思っております。
そのための資料集めの一環としてここで質問させていただきました。
高ノイズ命令を使わないスマートなPICプログラミングというのがあっても
良いと思います。
極微消費電力のマイコンなら
>>514 最近の質問者って情報後出しが多いよね
事象が個体差かロット差か機種差かくらいは検証したの?
電源は?周辺回路は?測定機器、方法は?
何をどう検証したかくらい書いたらどう?
手の内を明かしたくない匂いがプンプンするんだよね
命令に依存してノイズが乗るようなことがおきない、スマートな回路・基板設計を行うのが 良いと思います。 ノイズのために命令を使わないようなプログラミングはちっともスマートではありません。
ノイズの原因になると思われるのは内部信号の変化、外部信号の変化 同時に変化する信号の数が多い場合ノイズの信号レベルが大きくなり 変化する頻度が多ければノイズの周波数も高くなると思われる。 命令が格納されている部分の信号を考えると前後の命令の組み合わせでも ノイズの出方が変わるだろうから、きっと特定の命令がノイズが高いとか 低いとかではなく前後の組み合わせも考慮する必要があるんじゃないかな。
519 :
509 :2009/03/31(火) 12:48:53 ID:iX1UTtvC
32768Hzとかもテだな。
>>507 例えばPORTB全出力なら
MOVLW b'00000000'
TRIS PORTB
ちなみに OPTION とかも、命令としてそのまま書くだけ
MOVLW b'00100000'
OPTION
↑こんな感じ
RETURN で警告が出るので、RETLW 0
以上、16F54豆。
521 :
520 :2009/03/31(火) 13:14:44 ID:PG+xSNPc
ああ、あとデータシートにあるから蛇足だけど リセットベクタは1FFhなので、ORG 1FFhからジャンプじゃないと動かない。
PIC使ってアナデジ混在で回路組んでる人なんて大勢いるんだから、高ノイズ命令とやらを調査するよりも 先人の知恵に学んだ方がいいと思う。 もし高ノイズ命令とやらを避けることが必要なら、とっくに誰かがまとめてると思うべき。
ノイズが出やすい命令がわかっても、その命令を使わなければならない場合はどうするのか。 そこまで考慮しないとなるとCでプログラムするのは不可能になるわけだが、さて?
そこでCしかできないやつはおじさんの出番なのかもね。
525 :
774ワット発電中さん :2009/03/31(火) 15:45:56 ID:NPuzv6Dm
誰もリトルインディアンに突っ込んでやらないとは
>>442 がかわいそすぐる
>>525 ん? なにに突っ込めばいいんだ? インディアンじゃなくてエンディアンとか?
>>527 それはよかた。ハード的にならデータシートでほとんどOKだが
ソースの書き方はイマイチわからんからなあ。そんな時は
サンプルソース見ればわかる。そうすればどんなにググっても
出てこないやつでもわかる。
te
命令を実行しないのが最も低ノイズ。
特にA/D変換のときはスリープさせるといいよ。
>>509 単純ループだと動きが分散しないので特定の周波数だけ目立つのでは。
MPLAB IDE v8.30 が来てるね
PICkit 2 V2.61.00 も来てたのか New Features: ------------- > Programmer-To-Go updated to support 3rd party PICkit 2 workalike devices with more Programmer-To-Go memory. Bug Fixes: ------------- > PIC18F97J60 programming bug in device file v1.60 fixed > PIC24FJ programming problems introduced in software v2.60 fixed > Configuration Editor display issue in some Asian editions of Windows addressed.
>>508 出遅れたが・・・系統的に調べた例や論文の心当たりはないが、発生する
ノイズの量や傾向が命令によって違うのは確かだ。
>>532 >> Programmer-To-Go updated to support 3rd party PICkit 2 workalike
>devices with more Programmer-To-Go memory.
PICkit2互換プログラマにわざわざ対応したってことかね。
よくやるなぁ。
534 :
508 :2009/04/01(水) 15:39:49 ID:AesPtwZj
皆様、いろいろとご意見ご鞭撻ありがとうございました。 参考にさせていただきます。
>>533 > PICkit2互換プログラマにわざわざ対応したってことかね。
> よくやるなぁ。
PICを量販してるとこの要望なのでは?
ウチのキットにも対応してもらわないとPICもう買わないよ?とか。
実際、潜在ユーザは多いだろし。
敷居を低くして、ユーザーをPICへ取り込む方針だと思われ
ですなあ。 PICそのものが売れて欲しいんだと思うよ。 アセンブラとはいえ、あれだけの開発環境を 無償で提供するのは結構大変だと思うし。 周辺なんかタダ同然でいいから、とにかく 使ってくれみたいな。
敷居を下げて入ってきたユーザーがProgrammer-To-Go機能なんて使わないだろ しかも趣味の世界での売り上げなんてたかが知れてる おそらくはPICkit2を自分のところで作って大容量のフィールドプログラミングを しようとしている企業からの要望なんじゃないか
539 :
774ワット発電中さん :2009/04/02(木) 22:26:15 ID:CM/9KJB/
プログラム動作中にポートに割り当てた機能(アナログorデジタル、入力or出力)を切り替えられるPICってある?
切り替えられないPICってあるの?
そうなんだ、とっても初歩的なことを聞いてすまん。 ANSI-CとかN88とかしか触った事がなくて、マイコン初めてだから良く分からないんだ。 早速、それっぽい命令を探して組んでみる事にするよ、ありがとう。
スイッチ入力を出力に切り換えると短絡するから 抵抗かました方がいいよ。
12F683とか内臓クロックで31KHzを選べるようだけど精度はどうなのだろうか? RTCを考えてる。
みりっぽ。電源VCOと思ったほうがよか。 つーか、データシート嫁。
>>546 RTCとしてはお話ならない位ずれる。
厄介なのか温度依存あること
549 :
774ワット発電中さん :2009/04/04(土) 08:59:49 ID:05CzC0S2
水晶じゃないからね〜
セラロックですら時計には使えないのにRCでやろうとするとはw
機械式の時計で満足出来る人が居るくらいだから そういうのもありかもね。俺は嫌だけどw
機械式の時計でも日差30秒くらいには収まるのは当たり前だろうけど これで誤差350ppm。(0.0350%) セラミック発振子の精度は±0.5%くらいだから、機械式時計より1桁悪い ちなみにマイコン用のクロック発信器(発振回路までパッケージになったもの) で誤差50ppmくらい(月差120秒程度)
ああ勘違いしてたw データシートの3.1で LP - 32kHz Low-Power Crystal mode. てのは内蔵クロックではなくて 3.4.3にあるとおり外に32.768kHzをつないだ場合だったのね。 他のやり方を考えよう。 壊れた時計からクリスタルを外す 67.108864MHz(2^26)を買ってフリップフロップで分周して使う NHKの時報で修正する。
>>553 > 壊れた時計からクリスタルを外す
アマチュア的にそういうプロセスを楽しむなら余計なお世話だけど、
32.768kHz のクリスタルなら千石で100円だよ。
千石は送料690だからね。 他に買うものがあればいいのだけどな 秋月通販でクレカ使いたい一心で1万円以上を集めるのも酷なんだよ。 その作業を1ヶ月やってるんだけどw PICのまとめ買いだったらmicrochip directの方が品数が豊富なだけ美味しそうだし
>>555 大物買わなければ、駄菓子屋で1万円使えって言ってるようなもんだからなあw
まあ、売るほうも大変だろうけど。
>>553 別に何MHzでもいいからクリスタル買ってタイマで分周すればいいっしょ
2のべき乗じゃなくてもタイマ2使えば綺麗に分周できる
最大の20MHzでもタイマ2だけできっちり1ms周期の割り込みが可能だったと思う
タイマ1じゃね?
559 :
774ワット発電中さん :2009/04/04(土) 17:56:07 ID:kfjsycA9
>>557 そうするとタイマ使用に縛られるからねえ。
ただでさえ使い勝手が悪いんだしマイクロコントローラーなんだから
クロックの周波数ごときでも拘るよ、俺は。
ものぐさな俺は安易にPIC24FのRTCCで済ますな。 らくちんだよん。w
>>559 拘るならTCXOとかOCXOにしたら?
もしくはロレックスのテンプの動きをフォトトラで検出するとかw
>>558 タイマ1じゃ2^16分周しかできない。
値をセットするのはなしね。精度出ないから。
タイマ2なら周期レジスタがあるから任意の周期が可能。
>>559 2のべき乗のクロックにしたってどれかタイマ使うんだからそんなにかわらないと思うんだが
CCPあるならタイマ1でも任意の周期が可能だろ
おーCCPはPWM以外使ったことなかったから知らなかったwスマソ。
RTC程度の精度なら、タイマ0でも十分だけどね。
566 :
774ワット発電中さん :2009/04/05(日) 00:40:41 ID:TAyrTMDH
PICkit2をUSBにつなぐと常にVDDに3Vくらいの電圧があるんですけど、故障でしょうか・・・? PICは何もつながないで、Programmerも立ち上げない状態でも出てます。
すいません PICを使用して船(プラモ)を作りたいのですが まったく知識がありません。一から書いてある本でいい本あったら 教えてください><
PICで船は作れんだろう モーターの制御かなにかか?
PICの足を開いて油でも塗ったら…アメンボみたいな船が作れないかな.
ISPコネクタやLCD接続とかに使う 6ピンとか10ピンとかのフラットケーブルって マイコン使うと頻繁に必要になってくるかと思いますが あのケーブルのコネクタってどこで入手されていますか?
574 :
Tac :2009/04/05(日) 11:40:17 ID:B8qcjH4l
576 :
774ワット発電中さん :2009/04/05(日) 12:26:39 ID:rdQ//gKr
テポドン射出とほぼ同時刻ごろ、出処不明ライターのぁゃιぃカキコをファイル比較によって確認しました。 俺のもそうゆうそのそれ、なんだろか
秋月だが、いつの間にか648Aとか877Aが値段下がってたんだな。
578 :
774ワット発電中さん :2009/04/05(日) 15:48:18 ID:6uYrOv5n
一部値下げされているようなので更新 秋月のPIC16シリーズDIP品限定ピン数別評価(先頭のvは値下げ,-は維持) v40ピンは◎16F887 \200 値下げでさらに盤石 v28ピンは◎16F886 \190 こちらも値下げ ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31K-8MHとフルサポート 新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを 20ピンはF690のバリエーションモデル多.価格差が小さいからF690か,OPアンプのF785 -◎16F690 \210 ADC有,eCCP有,eUSART有,SSP有,4Kw,内蔵31K-8MHzとバッチリ -○16F689 \180 F690からeCCP機能削られた -×16F687 \180 さらにF689を2Kwと半分に -△16F677 \170 さらにF687からeUSARTも削られた -○16F685 \190 F690からSSP&eUSART機能が削られた -◎16F785 \180 ADC有,CCP有,2Kw,内蔵31K-8MHz,OPアンプ搭載ってのはいいね 18ピンは種類は多いけど選択の幅は狭い。F88かいっそ20pinにするとか -×16F84A \300 機能無,1Kw,いまさら不要 v△16F648A \180 CCP有,USART有,4Kw,内蔵4MHz,同じ値下組のF819と比較するとキツイ v△16F628A \160 F648Aの2Kw版,売りが値段だけだと厳しいかな -×16F627A \160 F648Aの1Kw版,売りの低コストで628Aと並ばれると・・・ -◎16F88 \230 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31K-8MHzとGood -○16F87 \200 F88にADC無いだけ v○16F819 \180 ADC有,CCP有,SSP有,2Kw,内蔵31K-8MHz,値下げで価値が急上昇 -×16F818 \200 F819の1Kw版,上位のF819の値下げで不要に -◎16F716 \110 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い 14ピンはF688だね -◎16F688 \160 ADC有,eUSART有,4Kw,内蔵31K-8MHz -△16F676 \140 ADC有,1Kw,内蔵4MHz 8ピンはF683だと思っていたがF615も\100にしてはなかなか良い -◎12F683 \150 ADC有,CCP有,2Kw,内蔵31K-8MHz,8ピンとしては多機能 -○12F675 \120/130 ADC有,1Kw,内蔵4MHz ,環境によってはE/P版 v○12F629 \80 675のADC無(機能無しってこと),この値段ならチョット使うに便利 -△12F635 \120/130 機能無し,1Kw,内蔵31K-8MHz,環境によってはE/P版 -◎12F615 \100 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無し -×12F609 \100 F615からADC,eCCP機能省かれてる (参考)機能無,EEPROM無,12bitコア プログラム組む上で制限多し -△16F57 \100 28ピン,2Kw,内蔵CLK無,安くて多くのI/O欲しいなら -△16F54 \60 18ピン,0.5Kw,内蔵CLK無,安いI/O欲しいなら -△10F200 \70 DIP8ピン,1/4Kw,内蔵4MHz,米粒PICのデバッグ用
PIC始めたてなのですが、ピンも多く高機能に見える16F887が16F84Aなどよりも安いのはなぜなのでしょうか?
>>579 ものの値段はその質じゃなくて需給で決まるから。
売れ筋現役のチップは超大量生産されるので値段安くなるし入手性もよい。
>>560 やはりRTC内蔵のPICがありましたか。情報THXです。
でも2週間分と妥協したのでそこまでの機能はいらんのですよ。
24Fは秋月で450円からあるけど秋月ライターは非対応。
pickit2を買わなくては。
>>579 印刷みたいなもんだからでしょ。
トラ技スペシャルより週刊現代の方が安いのと同じじゃないかな
583 :
774ワット発電中さん :2009/04/06(月) 16:25:29 ID:iJI74LWy
名古屋大の平成19年度の技報によると、
「これまでの8ビットタイプでは、乗算器がなく乗算命令もない」って書いてある。
http://etech.engg.nagoya-u.ac.jp/gihou/v10/039.pdf でも秋月で250円の18F24J10のデータシートを見てみると
「All PIC18 devices include an 8 x 8 hardware multiplier」
と乗算器の存在を示してるしMULWF f,aというオペランドの説明で
「Multiply WREG with f」とあり乗算命令も当然存在している。
俺って旧帝大を超えた?
単なる勘違いだろ。 て言うか、総合力はいざ知らず分野限れば帝大卒でもバカはいっぱいいるよ。
それ書いたときにはきっと、えびふりゃー分が不足してたんだよ。
>>583 そういえば昔のPICSTART Plusに入っていたPIC17C44にも乗算器が入っていました。
>>583 > 俺って旧帝大を超えた?
君はいろんな意味で、いろんなものを越えてると思うよ。w
そもそも、ローテート命令があれば乗算は出来るし、そのほうがずっと高速。 乗算命令って、サイクル数増えるだけであんまり使わないんだよな。
>>588 えええええええええええええええええええええええっ
>>588 そんな乗算ばかりで今まで生きてこられたとは、幸せな人ですね
つかぬことをお伺いいたすが、ロールやシフトで単純にできるのって、2の乗数倍だけだよね?
>>588 何云ってんだよ。PIC17/PIC18以上なら乗算命令で
1byte x 1byte → 2byte演算を 1サイクルで処理出来るんだぞ。
>>592 ロールというのもあまり聞かないが、どこのCPU?
ROLとか…
ローテートでしょ?
おおう うちわ語が出ただけだから気にしないでくれ>ロール で、よく考えたら、ロールだと巻くであって回転じゃないな
うちわ語。 昔々、パーツ屋で、74LS00を買おうとして、「ななよん ろーしょっと ぜろぜろ」って言ったら、 「そんなもんは、おへん」と。 すみません、スレチ。
18F452と18F4520ってどこが違うの? 秋月だと4520の方が1個買うと100円安いけど10個かうと同じ値段。
>>601 452の改良版が4520。大幅に機能アップ(内蔵オシレータ, EUART, ECCP, 新命令など)
して、しかも安いので、新規設計で 452 を選択する意味は無い。
完全素人なんで実際にあって色々教えてくれる人いないですか?w お礼は体でします。
607 :
のうし :2009/04/07(火) 08:15:27 ID:FCl6ghZl
>600 TTLに限らず「あるものはある、ないものはない」のスタンスだから しょうがないね。 ケースにずらっと並んでて自分で探せるんなら それで妥協。 ただ、探してくれない、超無愛想なわりにしっかり 鍵のついたショーウインドウの中にいれてあって、型番とか正確に 確認できないとか、そういうのはちょっと困るね。
欲しい型番を正しく言えば出してくれよ。
>>600 は「ろーしょっと」なんて言うから出してくれねえ。
電子パーツ屋では常識。
そうとも限らん。 「そんな細かい指定するな、ある物を買え」などとほざくふざけたオヤジもいる。 どことは言わんがラジデパ某店のお前だ、お前!
PIC24FJ64GA002-I/SPが気に入りました。 これに書き込めるライターで安い奴はありますか? やはりpickit2でしょうか
>>610 まあ、そういうのは観光地とかでよくある、およそまともに商売やってるとは
思えない空気というか名物だから。 観光地と違って、押し売りボッタクリが
ないだけマシ。 むしろ部品屋で「何かお探しですか?」とかいって服屋や
量販店の店員みたいについてくるほうがキモい。
>>611 お勧めは PICkit2 だね。
予算と熱意に応じて、製品買うんでも自作するんでも良いと思う。
(初心者は製品買うほうが良いと思うけど)
>>611 おいらはpickit2でISSP使いしてる。
秋とadwinのは書けないみたいでめんどい。
ハードのピン配列をいじれるのはいいね。配線引き回しが楽。
GA006はPBがないんだよな。買ってみてありゃりゃ。
どなたかPICでC言語のセルフコンパイラを作っていたサイト知りませんか? 以前どこかで見かけたんですけど、どうしても見つけられなくて。お願いします。
トーンデコーダ内蔵のPICってありますか? オペアンプで作ったBPFかませて後はプログラム組むってやりかたも有るかも知れませんが
>>610 表現はともかくとして、ないものは買えんのだから、
あるものを買うか、それとも買わないかの2択しかないだろ。
>>615 PIC向けコンパイラというだけでも数少ないのに、さらにPIC上で
動作するコンパイラなんて本当にあったの? あれば興味深いが。
>>616 ない
619 :
のうし :2009/04/08(水) 09:18:59 ID:CXZQN0As
M社のライブラリになかったっけ? 逆の発音だったかな‥ でも自前で組めるよな、FFTでいく? 周波がいくつかで固定だからもっと簡単で正確なのいけそうな。
トーンデコーダって何ですか? 電話のピポパ? PSoCに移民すると夢が見れるかも
PICの製作講座をしたいのですが、 どういったものがいいですか? 予算:1000円未満 みなさん、アイディアをください。
A/D 8ch(ボリューム)、UART 1ch(232)、デジタル 5ch(ぐらい)、CCP(PWM) 1chぐらいを同時に使いたいんだけど、どのPICならこの条件に合うかな。
PIC16F688はデジタルも少ないし、CCPなしみたいなのは見つけたんだけど…マイクロチップのWebカタログ表だとCCPってドレみりゃ良いんだか…。
(個々のシリーズのページを開けばCCPっでてくるけど…)
PIC16F914とか逆にCCP多いし、こんなにピンは必要ないんだけどねぇ…。
まずはネックになりそうなA/Dが二つか三つまとめられるならいいのかな?
ちなみにこんなの作りたい。
ttp://uproda.2ch-library.com/117749Rxj/lib117749.jpg ボリュームの値をPICで読んでCCPからPWMを吐いてサーボを動かす。
モーションが決定したら現在のボリュームの値をPCへ送ったり出来ればマイコンでのモーション作成の時間短縮に役に立つと思って。
まずCCPが必要な分解能で必要な周期を出せるかどうかだけどね…。
PICのCCPの性能ってデータシートのどの辺の記述を読めばいいんだ?
>621 ぶった切ってすまそ。 232系の書き込み器でも800円くらいだっけ? ソフトはただで手に入るから、書き込み器込みで1500円で行くのが良いと思う。 ……でも布教活動(帰ってもらってからウチでやる事)を考えるとUSBタイプでお願いしたい所だけどなぁ…。 無難なところ逆に費用を500円ぐらいに下げて、PICは書き込み済みでLEDチカチカ? ボタンを押すたびにパターンが変わるとか、そういう部分でお茶を濁すしかないと思う。 それならボリュームで速度変化でもさせなければアナログチャンネルのついたPICはいらないし、 後必要なのもパスコンやら電池ホルダ、LED(せいぜい一色、袋買い推奨)と抵抗(一種類ならみんなで大量に使う事を考えても安いし)、あとはタクトスイッチとICソケットだけで十分じゃね。 パーツは秋月とデジキーで購入でおkじゃね?問題は何人に対して行なうかとその講座をソフトウェアも含めて教えるべきかだな。 ソフトウェアは第二回目でRCDライタを作らせるって事で我慢してもらえませんかねw
12F615でスイッチング電源作ろうと思ったけどなんかめんどくさくなった俺に誰かやる気が出る一言を頼む
>>623 PIC16系で20pinなら16F690、28pinなら16F886でok
RCサーボ制御 8ch程度ならCCP無くても出来るよ。
PWM出力狙いタイマー精度はシビアで有りたいという要求を持ってたとする。
必要なピン数はPCとの送受信にそれぞれ2本、PWMの出力に1本。
本体クロックは内部で妥協するから残りは電源2本に外部タイマークロックに2本。
ということで8ピン物で十分足りるはずと思った。
しかし20pinクラスのPICはT1OSIとT1OSO端子にタイマー用のクリスタルをポン付けできるようだが、
8pinはタイマー1どころかタイマー0まで外部クロック入力ができるのに発振回路を外付けしなければならないようだ。
じゃあ14pinで妥協ってことになるとEEPROMとPWMがあるのは16F684だけみたい。
この14pinはタイマー1外部狙いでいくと本体クロックは内部に限定されるようだがタイマー1は外付け発振回路が必要なようだ。
16F648のSOパッケージでも狙いますかね?
こういったものも100円であるようだしさ
http://www.akizukidenshi.com/img/goods/1/P-02409.jpg
すいません 初心者なのですが、外部トリガで10Mhz 16bitデータ(8x2)を取り込み たいのですが どれがいいのでしょう? また外部トリガの最高周波数ってどこをみればよいのでしょうか
>>631 1秒間に10M回データ取り込むってことじゃないよな・・・?
ダイナミックにデータ取り込むとか無理そうだから素直にI/Oポート16個以上のやつ使っとけ
16F690とか16F886とか
その次は何言ってるのか分からん
>>631 PIC32MXが良いんじゃね?
DMAあるし。
>>627 あー 歩くのがマンドクセー 息をするのもメンドクセー
でわ、氏ね
635 :
774ワット発電中さん :2009/04/09(木) 12:22:30 ID:+pJ+cBC+
>>621 デジタル時計きぼん!
2000円払うから6桁で
LED 7セグでね↑
>>637 今、こしらえてるようですねw
中華マニュアルなら見れました。 とりあえず感覚で読めるw
>>635 7セグ4つでYYMM表示。
タクトスイッチ三つで時送り、分送り、00セットの機能を持たせる。
チョン押しで一桁目、長押しで2桁目が送られるとか面白そう。
世の中、「濡れ手に粟」なことはいっぱいあるんだろうなあ。( ゚Д゚)
>>641 そんなもの無いから、まじめに働きなさい
LED7seg輝度(duty)を時間帯別に可変、 時間設定時も設定桁(以外を低輝度にして) 判りやすくしてくりょ。
645 :
774ワット発電中さん :2009/04/09(木) 18:20:10 ID:vJjy/j2Z
ハンダOFFとか面白そうね マルツ2FとかでPIC焼きとか時計作りとか 2次会は夜桜で一杯とかとかとか だれかしる!
646 :
774ワット発電中さん :2009/04/09(木) 18:44:13 ID:7gArOtV2
ジジイの集い?
>632 >1秒間に10M回データ取り込むってことじゃないよな・・・? そういうことです、0.1μSecごと外部からTRGが与えられて(8bitx2) のデータが来るということです(当然IOは16本必要です) >その次は何言ってるのか分からん 外部信号のON/OFFでデータを取り込む場合、どの程度の速さまで対応しているのか? というのはどこのパラメータで判断したらよいのでしょうか?ということです ex.内部CLK以上の外部TRGは当然できませんので よろしくお願いします
649 :
774ワット発電中さん :2009/04/09(木) 21:16:46 ID:7gArOtV2
>>648 どんなPICでも取り込む位は出来るよ。
そのデータを使ってなんらかの動作をするかどうかはわからないけど。
まずはやってみたら?
>>648 > 外部信号のON/OFFでデータを取り込む場合、どの程度の速さまで対応しているのか?
> というのはどこのパラメータで判断したらよいのでしょうか?ということです
・外部のデータを読んで必要な判断・処理をするのに何命令・何サイクル必要か考える
・クロックをサイクル数で割る
という判断方法が一般的だと思うが。
dsPICで高速に8bitレジスタのLSBとMSBをひっくり返したいんですが、 きっと常套手段があるだろうとぐぐって見たものの全く見つからず。 とりあえず、キャリーを受け渡しに使ってビットシフトで書いてみたんですが、 他に手がありますか?
>>648 DMAがついてるPIC24使えば外部割込みでデータ取り込み可能だけど、肝心のタイミングチャートが見当たらないから最高何MHzまでいけるかはわからん。
そもそも20MB/sものデータを処理するのに40MIPSとかじゃ全然足りないと思うんだけど。
初心者でどのパラメータ見たら良いのかわからない状態でいきなりこんな帯域扱うのは無理だと思う。
>>649 10MHzなんてDMA無いPICじゃ無理だろ
654 :
774ワット発電中さん :2009/04/09(木) 22:11:42 ID:7gArOtV2
>>653 > 10MHzなんてDMA無いPICじゃ無理だろ
いや、ピンに印加するだけなら100MHzでもOK
たとえDMAが付いてた所で、メモリに展開して何らかの作業する前に上書きされるなら
なにもしなくても結果は同じでしょ。
まずは当人が何をしたくてそれにはどれ位の実行時間がかかるか理解できる程度
には勉強する事が大切。いくら初心者とはいえ。
>>654 > いや、ピンに印加するだけなら100MHzでもOK
ぎゃふんww
後半は全く同意
正直言ってこのレートだとFPGA使わないと処理できないよーな
>656 EZ-uSB FX2みたいに瞬間最大風速96MB/sが受け取れるコントローラも世にはないでもない。 まあファミリにUSBハイスピードIF付のがあるようなのでないと20MB/sは無理とおも。
621です。 みなさん、ありがとうございました。 時計ですか、難度が高そうですね。 もう少し、簡単なものでないでしょうか? あと、もちろんPICを使った製作です。 1000円は、基盤、消耗品、部品等を含めた値段です。 よろしくお願いします。
(´・ω・`)16bitを1秒間に10M回受信したらそれ160Mbpsだよね・・・なんかごめんなさい
結局どの程度の初心者なんだ
>>658 「製作講座」っていろんな意味に取れる
お客さんの年齢やら特殊技能やら教えてくれたほうが
>>658 忘れないうちに書いとく
星のカービィの「刹那の見斬り」と「かちわりメガトンパンチ」っぽいので
>>658 ええ〜LED時計期待してたのに(ヲイ
ならばLEDチカチカしかあるまいw
>>647 すまん、本当にあったのか・・・と思いながら読んでみたが、
>>615 ではC言語と
書いてあるんだが、そのサイトにあるのはC言語のコンパイラじゃないよ。
C言語コンパイラなら、Small Cをポーティングするほうが早いかもしれんね。
>>658 動作が実感できないと面白くないから、LED系か音系に限られる。このうち
音系は音に関する基礎知識がないと難しいから、より簡単なものだとLED系オンリー。
単純なLEDチカチカがつまらないなら、ナイトライダーかね?
>>658 ここに来るような人は、簡単なものなら製作講座なんか見なくても出来るからね。
受けが良いのは家パチ・スロットのオート化あたりかね、実用性があるから結構見に来るようだ。
>>658 LEDチカチカ、電子ブザー(オルゴール)、あとはせいぜい温度計かな。
それらを組み合わせてもいいかもしれない。
入門だと結果が目に見えたり聴こえたりしないと面白くないし。
たかがチカチカっていっても、ルーレットみたいにするとかアイデアしだい
ソフトしだいで面白いものも作れるかもしれないし、少ない部品で12和音とか
作ってる人もいるんで。
ただ、部品代が1000円でもソフト作りにかかる時間っていうのも
金銭的価値としてみないとね。 ボランディアでやるんなら別ですが。
PICでロイツマ! ぴっぽぽぽ〜ぽ♪
>>658 電子サイコロでいいでしょ。デュアルにしてチンチロリンとか丁半賭博ができるようにするとか。
実用性高いから、みんな一所懸命つくると思う。
>>667 秘密の方法で狙った目が出せたらいいかも。
>>668 バレたら半田ごてで焼きを入れられるわけですな
670 :
774ワット発電中さん :2009/04/10(金) 14:08:33 ID:gM3mDyHi
まぁ、×2だから左に1ビットシフト、 ÷2だったら右に1ビットシフト。 これしか知らないなら↑のほうのレスも仕方が無い。 ヒントとしては、掛けるときは右シフト、割るときは左シフトなんだよ。
PIC18F13K50とか使って温度ロガーはどうかね? USBでPCと通信するのが売り。 RAMはUSBのデータメモリとしても使うからあまり計測データは蓄えられないけど
>>658 >時計ですか、難度が高そうですね。
どんなところの難度が高そうと思うんですか?
>>657 あれ12MIPSだから受け取れても処理できないよ
PCに送って処理させるにしても20MB/sなんてちょっとした負荷で取りこぼしが出る
>>658 工具とかPIC書き込み器の予算は別で用意できるの?
PICは書き込み済みのを配るのか、客がプログラムを1から書くのかとか
基本的な情報が足りないと思う。
あと、あなたはどのくらいのことならできるの?
>>674 >あれ12MIPSだから受け取れても処理できないよ
FX2は大量のデータはCPUで処理しないで、内蔵のハードで処理させるものだと思う。
だからCPUの速度は関係ないよね。
でもこれからはFTDIでいいや。どうせFX2でもSlave FIFOしか使ってなかったし。
>>675 >内蔵のハードで処理
SlaveFIFOから受け取ったデータってPCに送る以外の処理(演算とか)をハードでできたか?
DSPじゃあるまい
LED7セグ4桁時計はよく見かけるけど 6桁時計はなかなかでないねぇ 出てもなかなか難しいつくりだw ニキシー管でやってる人がいるけどあれLEDに直せないか?
LED時計くらい製作例いらないだろ、Cで簡単に作れるしさ。 1/100秒まで表示できる8桁時計作ろうとしたが壁掛けの電波時計が980円だったのでそれを買ってしまい作らずじまい。
679 :
774ワット発電中さん :2009/04/10(金) 19:31:42 ID:gv9d5uan
これだからCしか出来ない奴は…
だって既製品のほうが見た目いいじゃないか。 せっかくつくってプラやアクリルや金属ケースに入れても家族にダサいからやめて!って言われるしさ。 (´・ω・`)
>680 その声を糧にすごい物を作ると… A、口コミで近所に大反響、趣味のはずなのに家族に見張られながら休日も働くハメに。 B、既製品の方が安いの一言で撃退。 ICD2クローンを作ってたら、買えよと言われた俺。 個人用なんだから良いじゃない作ったって…。
682 :
774ワット発電中さん :2009/04/10(金) 21:52:03 ID:jN1Yd3zE
>>681 趣味と悟られたらおしまい。あくまで研究といいはるのが基地。
ところで ここ的にはMAX7219とかは邪道なんだろうか
>>684 別に邪道じゃないと思う。抵抗の本数節約できるし、ソフトで輝度調整できるから
夜は暗くしたりとか発展性もあるよね。
でも秋月の安い7セグってアノードコモンなんだよな
>>684 時計だと桁数多いからPICのIO使い切っちゃうし、しょうがないんじゃないの。
>>686 トランジスタを入れて、ちょっと回路を変更するだけで使えるし、PIC側のアンペア数を気にしなくていいからアノードの方がいいんじゃないの。
6桁あると接続が大変だね。最初から6桁分ダイナミック接続してある1つの 部品ならいいけど、6個バラバラじゃハンダ付けの下手な俺ではそれだけで 悲しくなる。 要するに入門のPIC教室には向かない気がする。
PCB起こせば問題なくね?
>>689 過去レスからずっと見てるけど、PIC「教室」で初心者向けで1000円の予算で
みんな夢がひろがりんぐで厳しくね?
>>685 ほむ。普通にお題に混ぜても問題はないのか。
いや、このスレをつるつるーっと見てると、「とりあえずPIC直結」っていうイメージが沸いたんで。
LEDのドライブ回路とポートの中身を知るには直結がいいけどね。
すいません、質問があります。 誰かASM30の表と言うか、一覧と言うか、命令語?の簡単な解説が載ったサイトか本知ってませんか? "電子制御・信号処理のためのdsPIC活用ガイドブック"を買っては見たのですが命令語の解説はほとんどと言っていいほど無いし 流石に、C30だけの開発と言うのにも抵抗があります。 無償版だと、最適化処理にリミットがかかるし、だからといって高校生の身分じゃ有償版も買えそうに無い・・・。 あと、LED8*5のスクロール時計なんかどうです?
>>693 書籍だと秀和システムの「やさしいPICマイコンプログラミング入門」がいいんじゃないかな。
>>693 ちなみに、コンパイラの最適化処理なんてのは、床屋で最終段階で髪を乾かした後に最後にちょこっと入れるハサミ程度のものです。
もしくは、頼んでもいないのに勝手に肩をもみだすようなものです。痛いから辞めて欲しいのです。 いや違った、設計者の自己満足であって大勢には微塵も影響ないものです。
621です。 みなさん、いろいろアイディアをありがとうございます。 難度が高いと思ったのは、ユニバーサル基盤を使いたいので、 (ハンダ付け作業を、講座のメインに考えて) 配線が多くなるかなぁと思いました。 プログラムは時間があれば、打ってもらっても 基本は用意しておいたプログラムを、 焼くだけにしようと思っています。 みなさんの言われるように、(自分の技術レベルからも)、 サイコロが簡単そうでいいかもしれません。 他にも、アイディアがあれば、教えてください。 ありがとうございました。
701 :
774ワット発電中さん :2009/04/11(土) 22:01:27 ID:6d8Rryqf
>>698 picと言えばバーサライタ、バーサライタと言えばPIC
ぐぐると沢山ヒットする。
>>701 これは、簡単にできそうですね。
しかし、これは、昼間は見られないようですね。
それだと、少し困るかも。
あと、文字を書き換えるのが大変そうですね。
自分で勉強するには、ちょうどいいかもしれません。(^_^;)
ありがとうございました。
>>702 > 昼間は見られないようですね。
試せば判るけど、そうでもないよ。青空授業でなければ大丈夫。w
704 :
774ワット発電中さん :2009/04/12(日) 00:48:47 ID:m+2XSEx2
>>703 そうなんですか。
昼間はできないのかと思いました。
ありがとうございました。
秋月のPickit2が4月上旬入荷だったのが先週から4月下旬になってるな・・・ これはもうマルツか互換を買うか
>>706 俺もそれ狙ってぴったり張り付いてたが、一度中旬ってのもなったぞ。
3500円で売ってたのか。 次はもっと高くなるよね? 車を買い換えるのやめるわw
安い車だなw
mikroCでLEDだけを光らせるプログラムを書いたんだけど、ずっと点灯しっぱなしで、点滅してくれないのですが、どこが悪いんでしょうか・・・・ 使用PIC 18F452 使用ポートRB7 void main(){ TRISB = 0b00000000; PORTB = 0b00000000; while(1){ PORTB.F7=1; Delay_ms(500); PORTB.F7=0; Delay_ms(500); } } 設定のポートを変えると違う場所もちゃんと点灯しっぱなしになるので、OFFが出来ない?のかもしれません・・・かれこれ1日ぐらい悩んでます・・。
config は弄った?
Delay_ms()この関数の引数は 0〜255 なのか 0〜65535 なのか ちゃんと確認したかな?
Delay_ms()の引数をどっかんと大きくしてみろ。
>>711 ANALOGやコンパレータがオフになってないとかいうのはない?
WDT有効でリセット繰り返してるんじゃね?
>>716 ,717
これは初めてのとき良くハマったよ
とりあえず原因はMCLRだった。 間違えた理由が基礎すぎて申し訳ない。
釣ってなかったのか
とりあえず解決乙。 何だったにせよ、原因をちゃんと報告したことは評価したい。
質問なんだけど16F88のフラッシュメモリって何年保持できるの? EEPROMには40年って書いてるけど温度による保持力の違いやフラッシュメモリについて書いて無くて。
>>724 古い製品では規定されていない。
規定のある製品で「20年以上」と「40年以上」の2種類があるから、
20年以上は期待できるだろうが、保証値ではない。
急な質問失礼します。 dsPIC33FJ32MC302を使い始めたんですが MPLAB8.0+C30の環境で書き込みしようとするとヘッダーファイルがないというエラーが出たのでMPLABのヘッダーのフォルダを確認すると確かにありませんでした Microchip社のHPからヘッダーが落とせると聞いたので探してみたのですが、英語が苦手なのでうまく見つけられません。 どのあたりで探せばいいのかわかる方いらっしゃいますか?
>>727 > 書き込みしようとするとヘッダーファイルがない
なんか根本的に勘違いしてるような・・・。w
コンパイルしようとすると、って意味かな。であれば具体的に使っているヘッダー
ファイルの名前を書いたほうがアドバイスが得られやすいと思う。
730 :
727 :2009/04/16(木) 23:23:51 ID:rMdD4gCi
>>728 ,729
ありがとうございま
とりあえず新しいC30を入れてみます
書き込みじゃなくてコンパイルでしたぁ^^;
C30 でも PIC24 と dsPIC とは別になってるYO
Super-endとかHyper-endとか呼べばよかったのに。
今さらだよね。 Mid なんて作らないで、普通に PIC18 を充実させればいいのに。
本当に今更だが、それでも投入してくるということは、需要が期待できるって ことなんだろうなぁ。あっちでは、あからさまに需要がなかったら株主がうるさいからね。
種類増えすぎて訳わからんことにっ
738 :
774ワット発電中さん :2009/04/18(土) 13:23:30 ID:dy37VCA8
PIC開発でC言語っていうけど どこの何がモヌヌメなんすか?
>>738 C18コンパイラと
PIC18F2550,PIC18F4550 が定番
利点を聞いてるのかとオモタ。
とりあえず、先月のトラ技買って来たお MPLABインスコ中
PIC17 シリーズが最初にさわった PIC だった。 その直後 PIC18C452JW に移行。上司が作った PIC16 用のサブルーチンが動かなかった。 上司は 上位互換だから お前のプログラムが悪いと一点張り。 数年後に PIC16 シリーズでソフトを組んだ時に CARRY フラグの挙動の違いを理解した。 どっちがバカなのかは今となっては分からない。
そのときに原因調べて上司に説明できないお前の方がバカだと思う。
よく調べもしないでお前が悪い何とかしろじゃ、馬鹿上司でしかない。
746 :
774ワット発電中さん :2009/04/18(土) 19:54:02 ID:J2hGtTl0
上司は馬鹿なもの。上司と鋏は使いようと言ってだな(ry
そしてまた、部下をうまく使うことこそ上司の仕事。 結局どっちもダメだったっつーことだね。
両方おバカ
仕事では良くあること。普通は、下位の者が証明しないと駄目。
証明できたほうが勝ち。 後の糧になるから。 心の中にしまっておくことが多いけど。
しかしそれを証明してしまうと チカラ技で上司に消されてしまうという罠
最も理想的な解決策は転職または独立だねw
753 :
774ワット発電中さん :2009/04/18(土) 21:48:41 ID:J2hGtTl0
俺の上司は自分から会社辞めたけどなw
これは、上司が作ったサブルーチンをPIC18に移植したら動かなかったって事だろ。
だとしたら、
>>743 の経験不足という事ではないだろうか。
自分だったら、最初からコードを書き直して「はい、出来ました」って上司に報告するけどな。
いや、完全互換だから動くと言った上司がイクナイ。嘘つき。 間違ったら上下に関係なく誤りを認めるべきです! と言ってみたい。 処置は>754と同じ。 能あるタコは吸盤隠す。
こんなのデバッグ時にわかる話じゃないの? デバッグ環境なしでやってたの?? どっちが無能かって・・・部下だろw 上司はその頃別なことやってただろうし。
上司擁護派は日常の自分と重ねて自分を擁護しているのだろうな。
CASカードとホストの間にPIC入れて何が出来るんだ
>758 クズ上司なんですね。わかります。
>760 6区を解除。たぶん
>>758 , 761
職場崩壊なんですね。分かります。
764 :
774ワット発電中さん :2009/04/19(日) 17:02:28 ID:H9084PtQ
16F676でハマちゃったので先達の方々教えてください。 program 2K 内部OSCで4Mを利用。 キャリブレーション値をOSCCALに反映させる目的のコードです。 MPLAB(8.30)SIMで step in 実行させている限りではサブルーチン CAL から返ってきたときに、 Wに 0x5c が反映されていないのだけど。 もしかして、これ以前に別のお約束手続きは必要なのかなぁ? ちなみにcal値 5c は現在つかっている個体から読み取った値です。 org 0 goto 初期化 初期化 cfrl STATUS bsf STATUS, RP0 call CAL movwf OSCCAL ... ... CAL org 0x3ff retlw 0x5C end
>>764 HEXに間違いがなければ、ステップ実行の使い方を間違えてるんだろう。
766 :
764 :2009/04/19(日) 18:59:18 ID:H9084PtQ
typo...orz
cfrl STATUS -> crlfSTATUS
>>765 ありがとう
F7 を押して、ステータスバーを確認する以上の
ムズカシさが有るのかもしれないな。
同じコードでCALを org 0x300 なら動くんだよなぁ…
.lst みても ちゃんと 03FFからアセンブルされてるみたいだし
Callって、11bit リテラルだよなぁ
767 :
764 :2009/04/19(日) 19:06:46 ID:H9084PtQ
CAL を org 0x3fe でも動いたのに org 0x3ff だと動かない ターゲットまだつくってないから試してないけど MPLABのバグ? とりあえず、org 0x3fe でごまかすことにする。
>>767 あーちょいまて。ターゲットはPIC16F676なんだよな。それだと、HEXファイルのデータのうち
フラッシュに書き込まれるのは「0000hから03fehまで」が仕様だから、asmで03ffhに
コードを置いても無視されるんでない?
実際にMPLAB ASMで試してみたら、実行開始した時点で03ffhのコードはretlw 0として
扱われるみたいだな。
実際、03ffhにどんなコード書いててもそれは書き込まれず無視されるわけだから、
バグというよりは正しい動作と見るべきだと思う。
769 :
764 :2009/04/19(日) 19:48:41 ID:H9084PtQ
>>768 あ、やってくれたんだね。貴重な休日を申し訳ない。
CALデータをなくした時対策でやってたから無視されるんならそれで良いわ
プログラマもCAL読んでくれる心配せんでもええね。
トンクス
ちなみに、
>>フラッシュに書き込まれるのは「0000hから03fehまで」が仕様だから
てなぁ、マニュアルどのあたりか後学のためにおしえていただけるかしら?
いま手元では DS40039E を見てる。
770 :
767 :2009/04/19(日) 20:32:10 ID:YTrXz1Wh
まずは訂正から >実際にMPLAB ASMで試してみたら MPLAB ASM⇒MPLAB SIMね(苦笑) >>>フラッシュに書き込まれるのは「0000hから03fehまで」が仕様だから >てなぁ、マニュアルどのあたりか後学のためにおしえていただけるかしら? >いま手元では DS40039E を見てる。 より正確には「03ffhのデータをあらかじめ読み出しておき、消去・書き込み時に 元の03ffhのデータを書き戻すべし」が仕様ね。 書き込みに関する仕様は「ほげほげ〜Memory Programming」という別の仕様書に 分かれている。PIC16F676の場合、「PIC12F629/675/PIC16F630/676 Memory Programming」(DS41191D)に書いてある。
771 :
768 :2009/04/19(日) 20:32:58 ID:YTrXz1Wh
うひゃー恥かし。自分の番号間違えたしorz
772 :
764 :2009/04/19(日) 20:46:39 ID:H9084PtQ
767様 本当にありがとう、助かりました。 重ね重ね m(__)m
教えていただけると幸いです これからPICついて学習をしていこうと考え PICライターを購入しようと思っているのですがいろいろ種類がありすぎて困っています。 秋月電子HPにて以下の4つを候補にあげているのですが、特徴や扱いやすさなどお教え願いないでしょうか なにとぞお願いいたします。 AKI−PIC2プログラマボード(PICkit2互換) AKI−PICプログラマー Ver.4(完成ボード) マイクロチップ PICkit2 マイクロチップ PICkit2デバッグエクスプレス
ググレカス
>774 軽石こと近藤豊○氏ね。
> 763 > 職場崩壊なんですね。分かります。 未就業なんですね、わかります。
777 :
764 :2009/04/19(日) 23:48:50 ID:H9084PtQ
自分はJDMプログラマで済むディバイスしか使ってないけど 近いうちにPICKit2買う予定でいる。 使用の感想は他の方に譲るとして この選択肢で迷う必要あるかなぁ? >>マイクロチップ PICkit2 しかないと思うよ。 この選択を見るとKitを作る楽しみ目当てではなさそうだから 秋月のPICkit2互換プログラマがどうしても欲しければとめませんが 純正より高いものがなぜほしいのか理解できないです。 ライターで悩まなくても、もっと悩むところや後でたっぷりあるよ. >>マイクロチップ PICkit2 >>マイクロチップ PICkit2デバッグエクスプレス の選択については その他の外付け部品(C,R,LED etc) が手元にあるなら デバッグボードはブレッドボードで代用していいのでは? 最初からフラットパッケージしか使わないというのでなければ 秋月なら差額で買えるブレッドボードで十分対応できる #あ、電源は必要だね)
>>773 特別な理由が無ければ PICkit2 で決まり。
デバッグエクスプレスはサンプル基板が付くという違いだけ。
秋月のPICKit2単品の方は昨日で売り切れたな・・ また買う機会逃したorz
PICKit2安いからな。 他を選ぶ理由が殆ど無い。
781 :
774ワット発電中さん :2009/04/20(月) 12:26:40 ID:fyunlTsx
>>773 まったく初めてなら、最後の奴のほうがいいいかもな。
1番目と2番目はやめたほうがよい。
とくに2番目は時代遅れだし新しい石に対応できていない。
自分は半田付けの練習もかねてVER3.5辺りを買ったが、
対応するPICの種類が少ないので、秋月ライターを新たに買ったりもしたが、
結局ICPSやデバッグまで出来て4000円ほどのPickit2を買った。
4番目のデバッグエクスプレスにしようかも迷った。
ICPSやデバッグのやり方をどの程度か知らないが、習得しやすいと考えたからだ。
結局PICkit2を買って、どこかのサイト見ながら覚えました。
馬鹿だからか知らないが習得するのに時間掛かりましたね。
秋月のPICプログラマV4を使ってます これはHEXを読み込んだあとに「IDワード」というところをいじることができます このIDワードの値をプログラム内で読むようにプログラムすることはできるのでしょうか? 値の設定なら__IDLOC(値)でできるんですが、読み出したいです どこかのレジスタに格納されているのでしょうか?
PIC16ではできない。 PIC18以上はできたような・・・仕様書を確認してくれ。
すいません、この程度の機能なら、「すべてのPICで使える」「すべてのPICで使えない」のどちらかだと思ってました 16Fでデータシートと格闘していたのですが、やはり不可能だったんですね ありがとうございます
773です 皆様の意見を参考にし マイクロチップ PICkit2を購入しようと思います。 この度は皆様方からの貴重なアドバイスありがとうございました 大変感謝いたします。
IOが140個くらいあってRAMやEEPROMが2Kバイト(ビットじゃない)くらいあるけどその他の機能は84Aと同じ程度でいい そんな都合のいいPICが欲しい けど887か886を並べることにした こいつら機能の割に安すぎ これであってるんだよね?都合によりIOのダイナミック使用はできません
実際の用途が判らんからアレだけど、書き込みとかめんどくない? 俺なら小さいPIC+I/Oエキスパンダを第一候補で考える。
789 :
774ワット発電中さん :2009/04/20(月) 22:24:56 ID:Imlt4Xke
>>787 そう。PICはもともとそういう目的のマイコン。
I/OエキスパンダもPICで作ればメインPICでコントロールできる。
>>788 まあ、オモチャだから
>>789 もともとそういう用途だったんかPICって
>>790 結局ピンの数が多数いるから887/886使っても値段が変わらないような気がする
ダイナミックドライブしてコンデンサで遅延出させりゃなんとかなりそうだけどコンデンサの価格がエライことになりそうだったからやめたんだ 887で16×8すりゃなんとかなるんだけどね・・・まあいいやって感じで
アク禁で書き込めなかったから遅レス
>>743 その上司は意外と賢いぞ。
18は16の上位互換と嘘をつく事により
上司は18でも自分の作った16用のサブルーチンが有効とできるので
自分の現場スキルも有用であったと評価される
さらに部下の低スキルを印象付けた上
部下を圧迫、その結果サービス残業をさせることも可能。
人件費を抑えることが出来て管理能力もアピールできる。
>>779 入荷したのは知ってから教えてやろうと思ったが
あいにくのアク禁。
買いそびれた人は2ちゃんの運営側に文句を言ってくれw
794 :
774ワット発電中さん :2009/04/20(月) 23:33:03 ID:Imlt4Xke
>>787 CPLDでも使ったほうがいいんじゃないか
スレチだがFPGA/CPLDにもDIPタイプがあればアマチュアの電子工作でもっと 使われるのにと思う。昔は22V10とかあったが、さすがに設計が古すぎる。
チミは後田びんかw。 PLCCのソケットでいいじゃん。2.54ピッチだし。
自分の組んだプログラムを見てみたらEEPROMにまったく同じデータを何回も何回も書き込むことが起こりえるみたいです こういう場合でもEEPROMの寿命は縮まるんでしょうか? データを読み出して、書き込むデータと異なっていた場合は書き込み、という処理をしてやらなきゃいけないんでしょうか? ググってみましたが力尽きました
799 :
774ワット発電中さん :2009/04/21(火) 01:47:15 ID:eYEE4vPF
CFのFAT12とかは、FATを点々と変えてるんだっけか?
>>799 ありがとうございます
データを読んで、比較、分岐して書き込むことにします
個人的には0xABが書き込まれているところに0xABを書き込もうとした場合はハード的になんかしてくれてもいいと思ったんですがしてくれないんですね
802 :
774ワット発電中さん :2009/04/21(火) 10:29:07 ID:67aVR60o
eagleを初めて使うのですがpicのライブラリはどこにあるのでしょう? どこからか落として入れるのですか?
microchip のところにあるでしょ
〜.BXL こんな拡張子のファイルしか見つけられません。 urlを教えてください。おねがいします。
>>796 IOが140本くらい欲しいって話なのにDIPとか使えないだろw
アマチュアが使うなら実装済みボード買えばいいだけの話だな
808 :
743 :2009/04/21(火) 20:32:16 ID:ZYOdq/91
>>793 何度も同じような事をされたよ。
もう会社を辞めたから気にしていない。
当分この業界に戻るつもりは無い。
2種免許を取得したから、タクシーに乗ってのんびり暮らすよ。
過去に10年間この業界から離れていて、代行運転の経験が5年あるから何とかなるだろう。
浦島太郎にならないように時々は顔を出すかも知れないけどね。
みなさん、ありがとうございました。またいつかお会いしましょうね。
ポートをbus構造としてラッチ等で組めば、欲しいだけ幾らでも増やせる、 以前Z80で200本程度を製品化した。
>>806 ありがとうございました!!
でも、全部のpicがそろっているわけではないんですね。
自分で作るのか・・・・・
ds30f4012とか需要が多そうなのに。
足りないのは既存のものをコピーしてて作ればいい
なんつーか、人それぞれだと思うけどPICっていうのは低スペックで メモリや足の数がギリギリとか、そういうところが工作として気持ちがいい っていうこともある。 部品や予算の範囲を無限に広げたら面白くないかも。
813 :
のうし :2009/04/22(水) 09:20:51 ID:3gXu+0G6
昔の技術者が555で何でもやろうとするのに似てるやうな‥
>>812 部品・予算はぎりぎりに切り詰め、しかし時間だけは潤沢に使える。
そういう、パズルを解くような気分だね。
仕事だと時間が予算に匹敵するくらいのトレードオフ条件になるから、
なかなか気持ちよさが満喫できないんだなぁ。
>>812 PICってボケ〜っと正面から見ると、メモリやI/Oが少ないって感じるけど、
頭使って斜めから見ると結構使える。だから
>>813 のように、全部PICで
って発想してしまうという問題が出てくるのも事実。
最近PIC24に走ってる俺はここでも異端者なんだなw
817 :
813 :2009/04/22(水) 11:21:35 ID:3gXu+0G6
24Fで何をするのかと訊きたい。それでないと出来ないのなんかだったら興味津々。 よくdsPICなんかでもこんなことある。
>>817 だいたいが温度計、ロガーか音出しピカピカの延長だからなあ。
さすがにパックマンとか作ってる人には驚いたがw
>>814 仕事といっても、1個や2個作っておしまいならそんなちゃらいトレードが成り立つかもしれないが
100万個単位の量産設計だとデバイスの値段が1円違えば100万単位で損失が増減する。
ってか、やっぱ板的に本業の人多いのかな。 俺はソフト屋なんで、ハードからんでも試作、試験機くらいしかいじったことないし。
100万作るのに、PICは使わんだろw
>>817 まあ、やってることは大したことじゃない。ピカピカの延長といえばそうかも。w
ペリのピンを(一部を除き)自由にアサインできるのと、Cで書いたときの制約が
少ないので、特にコストやピンを減らしたいということが無ければデフォで使う。
タイマとかもリッチだから、後で○○が足りない、って目に遭いにくいし。
>>821 しったか乙。
初期ロットはフラッシュで、品種によってはマスク対応もしてくれるから便利。
>>821 4ビット(当然PICじゃ無い)もやるけど最低発注数量が数万個だしマスク前提だから小回りが効かない。
100万個目標の製品でもいきなり100万個作る訳じゃないからね。
4ビットで花粉でもでんの? マスク前提でも服とかに付着してるから気をつけろよ
花粉PIC? コメ粒PICより小さいの?
悔しそうだなw
すげえな、マスク対応の花粉PICって秋月にあったよ。
幼稚なケンカはVIPでやれよw
こんにちは。作りながら学ぶPICマイコン入門で 入門に片足を突っ込もうとしています。 オシレータ(HS_OSC)にセラロック互換?というYICのZTT20.0MHzってのを 秋月でかったのですが、これをOCS1,GRD,OCS2のつっこめばとりあえずOKなんでしょか。 タイマのカウンタ処理でいきなり躓き、早くも挫折な予感。
>>831 コンデンサ内蔵品ならそれでOK
コンデンサ別付け品なら、別途コンデンサも必要
・・・って、秋月のサイト見たらコンデンサ内蔵らしいな。
スペルマ・ファック・レジスタが両バンクに振り分けてあるのってウザイ。 バンクゼロに空きがあっても何故かバンクワンに振ってあるんだよな。 片バンクのみてのは12F509とか10F200ぐらいなもん。 こいつらにもTMR1があったらと思うぜ。 だろ?
別に・・・
つ PIC16F5x系
>>831 その本て16F877Aが材料だよね?
読んだ事あるけど高機能チップに頼ってるって感じがした。
たとえばシリアルごときで安直にUSARTに走るとか。
俺みたいに普通のポート2本あればシリアルできないとまずいと思うぜ。
最近思いついたんだがICSP用端子と共用のポートをわざシリアル用に使う。
そうすれば外に出してるのはシリアル用の端子だけなのにプログラムを変えることが可能って塩梅。
これ豆知識な
>>835 PIC16F5x系にTMR1は無かったと思う。
16bit無いとリアルタイムできないじゃん
>>836 だが信号レベルが違ってるから無理。意味なかったw
スレ汚しすまん
>>836 Vppとかイランの?
ブートローダーって手もあるが
>>837 ならPIC18FやPIC24系
マイクロチップダイレクト、26個以上買うと安くなるのが悩ましい
>>839 プログラム書き換えるときはDSUBのついた特製アダプターを使う。
841 :
871 :2009/04/22(水) 23:33:23 ID:knSTmOtW
アドバイスありがとです。 PIC16F877Aです。 なかなか手ごわいですね、、試行錯誤してみます。 シリアル通信ですか、、、PICはじめた目的でもあるのですが、 まだまだ道のりが長いようです・・・
ICSP用のPGCLKとPGDATAを使いVddレベルのまま通信すればいい。 書き込みコネクタで実行時は通信はよくやると思うけど。
>>841 「PICマイコンによるメカトロニクス入門」
という本を最近読んでるんですが
USART無しでのシリアル通信の実現方法が書いてある。
16F84A用のテストプログラムがアセンブラのソースつきで出てる。
RS-232Cについても必要充分な情報が出てるし。
この本の真骨頂はワンスタイム用の12C509とかにもう一度書き込む裏技が紹介してあること。
これを知ってたら昔、大器氏のところで安く出てた書き込み済みの12C509を買ってたよw
>>842 PICkit2のUARTモードが使えるよね
>>836 > たとえばシリアルごときで安直にUSARTに走るとか。
あるものを使うのは別に悪くないと思う。
特に入門書ならば。
なんか無い時代の苦労自慢みたいで、ちょっとなあと思った。
気を悪くしたらゴメン。
>>845 USARTの無いPICは今の時代でもある。
シリアル程度だったら普通のポートでやってからUSARTに走った方が色々な意味でいいと思うが。
ま、苦労自慢というより安いPICを使うというセコ自慢なんだがねw
一般的にはUARTじゃね? 8251とかはUSARTとか言ってたけど、Synchronousは使わん罠。今日日。
848 :
831 :2009/04/23(木) 00:58:23 ID:HAAjAmx7
ふむふむ、、、Amazonで検索 最終的にやりたいこととしては ODB2->ELM323->PIC-> (LED)->Serial(MAX232/FT232)->USB->MonitorSW みたいな感じですが、LEDの点灯でこんなにはまるとはおもわなかったです。 Cはやっていたのですが、アセンブラでコード書くのは久しぶりで、 苦労もありますが、たのしいですね。 仕事でやっているとはすごいとおもいます・・・
>>846 ポートがカブってUARTが使えない事はあるな。
まあ、使えるなら使えばいいし、そうでなきゃソフトで済むならソフトで済ませりゃいい。
>>847 >Synchronousは使わん罠。今日日。
ちんたら通信するだけなら非同期でも良いが、高速に通信したい場合は普通に使うよ。
使わない人もいるだろうけど。
825 名前:あぼ〜ん[NGID:U3bL+QID] 投稿日:あぼ〜ん 828 名前:あぼ〜ん[NGID:U3bL+QID] 投稿日:あぼ〜ん 833 名前:あぼ〜ん[NGID:U3bL+QID] 投稿日:あぼ〜ん 836 名前:あぼ〜ん[NGID:U3bL+QID] 投稿日:あぼ〜ん 837 名前:あぼ〜ん[NGID:U3bL+QID] 投稿日:あぼ〜ん 838 名前:あぼ〜ん[NGID:U3bL+QID] 投稿日:あぼ〜ん 840 名前:あぼ〜ん[NGID:U3bL+QID] 投稿日:あぼ〜ん 843 名前:あぼ〜ん[NGID:U3bL+QID] 投稿日:あぼ〜ん
唐突だが・・・12F509でHello world! #include <12f509.h> #use delay(internal=4M) #use rs232(Baud=9600,Xmit=PIN_B2) void main(){printf("Hello world!\r\n");}
LEDチカチカの足元にも及ばない駄作
16F886の1番ピン(RE3)を出力に設定してRE3=1しても何も出力されないんですけど俺なんか悪いことしました?
まあたぶん何か悪いことをしているのだろうね。w
>>854 configbitがどうなっているか確認汁。
せめてソースくらいは……
入力専用だな
MCLREの値が怪しいっぽいけどよく分からん RE3を普通のI/Oにするにはコンフィグをどうすればいいんだ RE3=1してから無限ループするだけのプログラムすら動いてくれない 他のポートは入出力できるのに
ほんとだここ入力専用じゃないかwwwwwwwwww 俺何も悪いことしてないね
データシート読めませんでしたで賞
ごめんなさい PORTAの全部とPORTBの上半分とPORTCの下半分を出力に使ってて、 それぞれPORTx=[char型の変数]ってやってるんだ で、あと1ビットだけ出力したいんだけど、上の操作に影響されないように出力するにはどうすればいいかって考えたところ今まで「なんでそこにいるんだ」って不思議だったRE3があることを思い出したんだ で使ってみたら入力専用でした 本当にごめんなさい PORTx=[char型の変数]ってやって上半分しか変更されないようにするにはどうすればいいのかな
>>862 釣りじゃないよな?
前に出力した値を覚えておいて、下半分だけ変更した値を出力したらいいじゃないか。
質問がよく解らんが上位半分そのままでbit3を変えたいときは PORTx |= 0x08; 又は PORTx |= (1<<3); でbit3がH PORTx &=~0x08; 又は PORTx &=~(1<<3); でbit3がL になるよ。
兄貴たちにお願いがあるんだ PICKit2 StarterKitを買ったんだけど いかせん英語表記でチンプンカンプンなんだorz どこかいいサイト教えてください
>>863-864 マスクしてオア代入なら考えたけどそんなんでよかったん・・・?
なんか無駄な処理っぽくない?けどマイコンがそうしろって言うならそうするありがとう
軽石ふぁくとりぃ karuishi.servehttp.com/ 英語を読むのが辛くなくなるよyo!。
>865 軽石ふぁくとりぃ karuishi.servehttp.com/ 英語を読むのが辛くなくなるよyo!。
>>864 PORTxレジスタは書き込んだ値と読み出した値が一致するとは限らんから、
前に書き込んだ値を保存しておいて、保存した値に対して操作するのが安全だよ。
871 :
864 :2009/04/23(木) 23:18:12 ID:MGlLai9g
おぉ、そうでした。負荷状態で変わるんですね。
PICのI/O同士を何段か繋げて大量のLEDを点灯させたいと思っています。 秋月かgdigi-keyで手に入る中で、I/Oの多くて安いPICってやっぱりPIC16F5xでしょうか? PICは種類が多すぎて探すのいやんなっちゃうよ…。 LEDの光がさえぎられない位透明なユニバーサル基板ってないかなぁ…。 と思ったが、チップ抵抗、チップLED、表面実装PICを敷き詰めたら結局殆ど見えないか…そこまでするつもりはないけど。
>>872 大量というのが漠然としていてわかりませんし、全部点灯させるだけなのか
部分点灯なのか点滅も含むのかわかりません。まず、大量というのは、何個くらい
なのでしょう。1万とか10万とかでしょうか?
1万個の点灯だって、外付け回路を使えば、12FXXXシリーズ1個でできますよ。
それにI/Oが多くても、トータルで流せる電流に制限がありますから、すべての
I/OピンにLEDを付けることはできないはず。結局外付け回路が必要になります。
もう少し具体的に書いていただけると、こちらも助かります。
>>872 16F5x は安いけど、内蔵オシレータが無かったりしてトータルではコスト高に
なったりする。16F7xx(たとえば16F722あたり)も考えると良いかも。
おっと、いっぱい使うなら内蔵オシレータに拘らなくても外部クロックでいいか。
PIC多数使うと書き込む手間も馬鹿にならんよね。(表面実装みたいだし)
>>873 の言うように外付け回路との組み合わせも検討するのが良いと思う。
>868 >869 兄貴たちありがとうー これでなんとかがんばれそう ちなみに 軽石ふぁくとりぃ はどこを見ればいいの?
>>862 そのなかで上半分だけ出力のPORTBならマスクする必要ない。
>>877 TRISB=0b00001111からTRISB=0b00001011にしたい
TRISB=0b00001111なら・・・必要ないんだが・・・ まぁいいや
>>872 点滅とかPWM制御とかどうするつもりなの?
ただ点灯するだけならPICすらいらないわけだが
>>881 200円もするけど?
50個買う金で簡保の宿が買えまっせ
ここから 1カンポあれば何が買えたかスレ になります。
mtouchって使い物になる?
シリアルに使えないピンの1/0を制御してシリアルの信号を出力したいんだけど、 コピペしたら使えるソースがどっかに転がってません? こんなのどっかに転がってそうなもんだけど一通り見た感じなかった
PICの割り込みで、 RB0/INTピンの外部割込みと、 RB4からRB7までの入力変化割り込みの違いがわかりません。 ボタンを押下したとに割り込みをさせる場合、 どっちも同じに見えるのですが、 違いはなにでしょうか?
888 :
888 :2009/04/25(土) 18:53:02 ID:3jWe2P3s
あと、もうひとつ質問ですが、 18F2550のRB0〜RB7までLEDを1kオームの抵抗を入れて接続しました。 RB0〜RB5までは、点灯させることができますが、 RB6とRB7の点灯ができません。 データシートを見ると、DEBUGが怪しかったので、 #pragma config DEBUG = OFF とC18にて宣言していますが、やはり点灯できません。 PORTB = 0xFF; で点灯できるのが、RB0-RB5です。 ちなみに、 TRISB = 0x00; にしています。 ほかになにかしなければ、RB6とRB7は出力ピンで使えないのでしょうか?
>>887 RBx/INTx ピンは立ち上がり、立ち下りのどちらか片方だけで割り込みが発生する。
(↑で RB0/INT0 と書かなかったのは PIC18 シリーズ用を考慮したからですよ。)
RB4〜RB7は入力 PIN が、以前の状態と異なったら割り込みが発生する。(出力 PIN の変化は無視される。)
割り込みが発生したら割り込み内で PORTB を 読み込んで RAM に記憶、他ではその記憶した RAM を参照した方が良い。
むやみやたらに PORTB を 読み込むと割り込みが発生しない場合も起こり得るので注意してね。
bcf や bsf も PORTB を 読み込むので気を付けましょう。
Q1 ステートで命令解釈
Q2 ステートで読み込み
Q3 ステートで bcf や bsf の処理
Q4 ステートで書き戻す
押しボタンSW の読み込みに割り込みを使う人は少ないと思うよ。
チャタリングの処理が面倒だもんね。
>>889 非常にわかりやすいご回答ありがとうございました。
私が期待する状態変化の場合は、RB4-RB7の割り込みがよさそうです。
>RAMにコピー
非常に親切なお答えありがとうございます。
RAMにコピーして、使うようにいたします。
実際はスイッチ(テストはスイッチですが)ではありませんので、チャタリングはございませんが、
そこまで考慮説明ありがとうございました。
もうひとつ、あつかましい質問ですが、
RB4-RB7の割り込みは、いずれかの端子が入力変化を起こすと、
全て割り込みが発生し、どのピンから発生した割り込みであるかどうかは、
事前のキャッシュと比較して自分で判断するのでしょうか?
あと、888の質問ですが、自己解決しました。
購入した環境が、秋月のPickit2のコンパチ機というものでしたが、
エミュレータモジュールのPRGがONでした。3時間ほど悩みましたが、
環境の問題などエスパーさんしか答えられない質問、失礼しました。
891 :
774ワット発電中さん :2009/04/25(土) 19:52:19 ID:B6V/dKee
>>889 >押しボタンSW の読み込みに割り込みを使う人は少ないと思うよ。
>チャタリングの処理が面倒だもんね。
素人の人はそういう理由を思いつくのかもしれないが、スイッチで割り込みと言うのは
結構良く使われる。特にバッテリ駆動等で普段スリープさせておく時等は必須だな。
892 :
890 :2009/04/25(土) 19:56:36 ID:6C/vhrfq
確かに sleep モードからの復帰には非常に有効ですね。 ひとつ賢くなった、でももうこの業界から足を洗っってしまたなぁ。
893 :
892 :2009/04/25(土) 20:00:34 ID:6C/vhrfq
892 の 890 は 889 の間違いね。 >事前のキャッシュと比較して自分で判断するのでしょうか? あたり前田のクラッカ〜♪
>>893 ありがとうございます。
PICへの愛情が深まりました。
>>890 >RB4-RB7の割り込みは、いずれかの端子が入力変化を起こすと、
>全て割り込みが発生し、どのピンから発生した割り込みであるかどうかは、
>事前のキャッシュと比較して自分で判断するのでしょうか?
そのとおり。
そして、割り込み発生からRB読み込みまでに再度入力変化が発生すると、
「どの入力変化で割り込みが発生したのか」が分からなくなる。
極端な話、たとえばRB4の変化で割り込みが発生して、入力変化ビットを確認するため
RB読み込みを行うまでのあいだに再度RB4が変化して割り込み発生前の値に戻ってしまうと、
どのビットが変化したのかすら分からなくなる。
897 :
889 :2009/04/27(月) 02:42:26 ID:8QHS5e7s
>>896 そこまでクリティカルな信号を拾うのには向かないと言う意味ですね。
どうしてもと言うなら割り込みを High グループに設定しておいて
レジスタ保存より前に PORTB の 状態を 保存してから
Wreg や BSR の割り込みで破壊するレジスタを保存
その後に 保存した PORTB で処理する必要がありますね。
32KHz で スリープからの復帰だと1命令が 1mSEC 程度だったかな?
この場合は要注意になりますね。
898 :
897 :2009/04/27(月) 06:22:09 ID:8QHS5e7s
×1命令が 1mSEC ○8命令が 1mSEC 低消費電力優先で 32KHz のままで使用すると1ワード命令で1クロックの場合 8命令で 1mSEC もかかりますね。
>>898 32kHzの場合、1クロック31.25μSだと思いますが
8命令で1mSになるのはどういった計算ですか?
マジっぽいなw
先生、分かりました。 PICは1命令1サイクルの処理速度で1サイクルは4クロック。 だから8命令の処理速度は 31.25*4*8=1000μS すなわち1mS でいいですね?
いいんじゃない?性格悪いな、回答者たちw それに厳密に言えば1msじゃないな、たぶん
「回答者」が現れたようには見えないがw
>>900 PIC18 シリーズなら movff が使える。
ただし むやみやたらに PORTB を 読み込むに該当するので
自分で RB4〜RB7 が変化したかを調べて変化していればそれなりの処理が必要になる。
PICの現在の電源電圧を見たい 8ビットで、ツェナーダイオードの電圧を見てこのADCがこの値ならこの電源電圧、ってテーブル作ってみた 256すべて苦労してデータ取ったけど、うまくいかない データが安定しないし、精度も低い 諸先輩方はなんかいいアイデア持ってません?てかこういうのの定石ってもしかしてあります?
>>906 とりあえず何度か読んで平均を取るようにするとか。
でも元々そんなに精度良くないかも。
>>906 見事な釣りだな。
詳しく説明しているように見せていながらその中身は空っぽ。
精度が低いと言い切っているが、そのデータのばらつき具合とかは出ていない。
単純に考えれば部品代ケチってシャントレギュレータを使わないからおかしな結果に悩む典型的な例。
ツェナーダイオードって使い方を間違えるとノイズ発生源になるとまじレスして見る。
ワシも馬路れす ×シャントレギュレータ ○ちゃんとレギュレータ
シャントがちゃんととかご冗談を
>>909 寝起きが悪いのは OSC1・OSC2 接続水晶の起動待ち時間の TOST = 1024 TOSC に縛られるから。
32.768kHz だと時間が顕著に目立つだけ。
T1OSO・T1OSI に 32.768kHz 接続の場合は時計用に時間を計測するのが目的なので常時発振してるから起動待ち時間は不要。
(自分のプログラムで停止を掛けたら責任持たねーよ)
んでぇ OSC1・OSC2 の起動待ち時間がもったいないので最近の PIC18 シリーズでは 1024 TOSC の待ち時間の間だけ T1OSO・T1OSI で動作させる事も可能になっている。
>>906 どうやって精度低いことを確認した?
もともと電源電圧が不安定ということはない?
>>915 PIC16F87/88とかPIC16F193xなんかも同じかな?
918 :
915 :2009/04/28(火) 07:54:27 ID:SWtQTQCn
>>915 THX
PIC18FシリーズのいくつかとPIC24FはRTC内蔵なんでそちらに逃げようかと思い始めてた。
T1OSO・T1OSIのあるやつで一番安い奴って16F716ですよね?
>>917 マイクロチップダイレクトみたら193Xは未来物ってあった。
ということは遅れないで逆に時計が進むんだよ。
いや、遅れて現実が進むのか。
こりゃアシンシュタインの出番だな。
>>907 精度よくないのはPICというマイコンのADCの機能そのものが?
>>908 精度が低いってのは、電源電圧3.5Vで「ある動作」をさせるようプログラムしたけど、その閾値が0.3Vくらいは平気でずれるってことです
手元で無駄になってるRD2.0Eを役立たせてやろうかと思ったけど無理か
>>913 マルツで「基準電圧IC」って売ってたような気がする
>>916 電源は普通の安定化電源です
ボロいですがオシロスコープもあります 横軸は信用できそうだからこれでいいかって感じ
ちょっとマルツ行ってくる ありがとうございました
あ、基準電圧IC使ったら「逆算」はテーブル作らなくても計算で求められるのか はじめからこうすればよかった・・・
PICのタイマーは、割り込み以外にも使えますか? 割り込みというか、処理の経過時間が知りたいのだけど。
SFRのTMR0とかのカウントアップをポーリングすればいいんじゃね?w
>>921 ツェナーの電流を抵抗で取ってるなら、電源の電圧変動をもろに喰らうよ。
定電流ドライブするか、基準電圧ICを使うか考えたほうが良いかも。
あと、他の人も言ってるけどノイズが多いから C を抱かせるか、複数回読んで平均
するか、そういう対策もやったほうが良かろう。
>922 基準電圧ICも外れを引くと絶対値は怪しいからね。 自分が持ってる(あるいは借りれる)測定器の確度と相談しながら 補正するよろし。 温度変化とか経年変化はテスター程度じゃ測れないけど。
回路構成の問題じゃなくて、実装の問題だったりして。 写真で見たら「あーこりゃダメだ」ってな感じで。
マルツから帰ってきた 帰りに吉野家寄って
組んでみたけど、なんかいい感じ
>>926 ツェナーの電圧を抵抗と一緒にとって、リファレンス電圧を電源電圧にして、
ツェナーの電圧はフラフラしてもADCがこの値ならこの電源電圧、ってテーブルを作ったんだ
ADRESレジスタをそのままPORTxレジスタに放り込んでLEDを見てデータを取った
けどこれは意味なかったっぽい
>>927 愛用のDMMだけは大学に戻って校正してきたからきっと大丈夫
「いきなり自宅待機」とか「16連休」のそんな類の人が暇だしやってる感じです
>>928 ブレッドボード内部で断線って過去に一回あった
あれは笑えた
>電源電圧3.5Vで「ある動作」をさせる 情報隠ぺいの法則に忠実に隠されてるから妄想してみる。 モーターとかを使っていて電源電圧が暴れていて、 しかもPICの電源とツェナダイオードの間に何らかの抵抗 (実装の不備を含む)があって、電源と基準電圧が リンクしていない気がする。 あるいは単に パ ス コ ン が 入 っ て い な い とか
>929 俺が必死にタイプしている間にカキコするんじゃねぇゴルァ! ところで >ツェナーの電圧を抵抗と一緒にとって ってどゆ意味?
>>931 V+ - 抵抗 - ツェナー - GND
「一緒」って言うのが分からないんだよ。 V+ @ 抵抗 A ツェナー B GND とした時、AのノードをPICのADCの入力につないで BのノードがPICのVSSにつながっていると考えて桶? それなら普通にふつうなんだが。
スマン。それなら言う事なし。 以上チャットおわり。
つか、おまい、ロクに作らないで2ちゃんべったりだろw
>>936 まあ大体はそんな感じですね
今、横で安定化電源のヴィィィィィィインって音をBGMにDMMの値を眺めてるところです
おまえら楽しそうだなw
仲間に入れよ。 おれ、今から抜けるからw
PICでの数字、文字変換を教えてください。 int aa =0x0064; とした場合、十進数では100ですが、 100という値をLCDに表示する場合、文字列に変換する必要があると思います。 char Buffer[8]="hoge"; とした場合、 putsXLCD(Buffer); ←IDEで提供されているメソッド で"hoge"とLCDに表示されますが、 変数aaを十進100で表示するのはどうやって犯るんですか?
そんなこんなで電源電圧上げすぎたらPIC壊したっぽい V+とGNDをつなげただけで大電流が流れる ライタに認識されないっぽいし また近所のマルツ行かなきゃ
>>940 sprinti(Buffer,"%u",aa); //unsigned か
sprinti(Buffer,"%d",aa); // signed で
委員じゃね?
DMM、 秋月のチョン製のやつってリード線が固くて測る度にテスター自体が動いていらつくよね
>942 sprintf?でしょうか? 使えねぇです。 と原因を調査。。。。 C18のリコンパイル。 sprintf.c → vfprintf.c 参照 vfprintf.c → slenpgm.asm 参照 バッチと同じようにslenpgm.asmのコンパイル mpasmwin /w1 /rDEC /l- /o /q /d__LARGE__ /p18cxx slenpgm.asm ちなみにatoiもあるんですね。 atoi.asm でもこれもコンパイルエラーでclib.libに組み込まれない様子。 犯りたいのに犯れません。
補足ですが、 slenpgm.asm のコンパイルでエラーになります。
自分で変換すれば良いんじゃないかいなと
>>944 ライブラリ関数使えず再構築必要なの?
そっちの面倒見る気もないから・・・
自前の変換関数用意すりゃ委員じゃね?
void my_itoa(char *buffer, char digit, unsigned int data) {
buffer += digit;
while(digit>0) {
digit--;
buffer--;
*buffer = (data % 10) + '0';
data /= 10;
}
}
// usage : my_itoa(buffer, 3, value)
948 :
774ワット発電中さん :2009/04/28(火) 21:22:15 ID:5ra8zdWb
>>944 そのまま諦めたほうが犯罪者にならなくて済むよ。さようなら。
>>921 電源電圧3.5Vの検出なら青色LEDの順電圧を利用してみたら。
+V--LED--抵抗--GND
(抵抗は330ぐらい)
温度特性は良くないし、直線変化でもないけど抵抗分圧より検出しやすい電圧差。
A/Dも1本ですむし、LEDの明るさでも電圧が判るよ。
>>947 犯れました。逝けました〜。
ありがとうございました。
ただライブラリは駄目でした。
気持ち悪いので、明日中に、標準関数は使えるようにしたいです。
というか、アセンブラで用意されている関数の多くがコンパイルエラーになるんですが。。。
なんだこりゃです。
お暇があればコンパイルしてみてなんだこりゃを味わってみてください。
ありがとうございました〜。
952 :
949 :2009/04/28(火) 23:48:05 ID:t5HHHm9I
>>951 すみません,>932は見ていましたが勘違いしてました。
+Vref=電源そのものということですね。
意味ないアイデア書いてしまいました。
PIC16F87xAあたりの新しいPICならコンパレータと電圧リファレンスが
あるので抵抗分圧だけで検出できるんじゃないかと
953 :
952 :2009/04/29(水) 00:37:28 ID:uNnU9Xsi
自己レス コンパレータの電圧リファレンスは内部で抵抗分圧しているので使えなさそうですね。 ちなみにPIC16F87xAの動作範囲は4V〜5.5Vでした。色々スマソ
基準電圧IC:「ところで俺の電圧を見てくれ こいつをどう思う?」 電源電圧が大きいとき: PIC:「そんなに大きくないです」 電源電圧が小さいとき: PIC:「すごく・・・大きいです・・・」 こういうことか
俺はいつもこうしてる。 Vdd-[1kΩ]-+-[Diode]-Vss ↓ PIC ADC 6段階のバッテリメータにしてるけどわりと安定してるよ。 なんていったって外付け部品2円で済むし。
>>955 一円のだおいーど、しょうかいしちくれぁ!
958 :
955 :2009/04/29(水) 15:19:36 ID:a+/UXooX
秋月のPickit2入荷したけど即効で売切れやがった。 結構需要あるみたいだからPickit3でも大量に仕入れて安売りすれば良いのに
なんだもう売り切れか こりゃマイクロチップダイレクトで買うしかないな。 ダイレクトで買えて秋月で買えないお薦めPICを紹介して。 まず言い出しっぺの俺から。 18F66J60,$4.63,LAN内蔵QFP64pinは秋月の変換基板あり 18LF24J11,$2.51,RTCC内蔵
961 :
774ワット発電中さん :2009/04/30(木) 00:35:27 ID:f8nzMdyK
μチップダイレクトみてきた。 part#DV164221 のPICkit2って何でチャイナオンリーなんですかね? デバッグエクスプレスなのに30ドルだそうで
962 :
774ワット発電中さん :2009/04/30(木) 11:29:29 ID:Cp2tmxpb
バッテリー電圧の測定
みんな賢いなあ
基準電圧をADポートで読み取ると
バッテリー電圧が下がると相対的にAD読み取り値が上がるのか
しかも
>>955 の回路のVddをIOポートにすれば
測定するときだけ電流が流れてバッテリーを長持ちできるね
もしかして常識?
963 :
774ワット発電中さん :2009/04/30(木) 12:48:33 ID:NZ3pKzwl
>>962 常識だけどあまり出番は無いな。大抵アナログ回路に基準電圧がもともと必要だったりするかられをPICの電源に使う。
せっかくADのってるPIC使うなら他の用途にもAD使うから正確じゃないと困る事が多いし
そもそもいい加減なバッテリ残量なんて不要で、リセット要因を確認して動作するプログラムにするだけで
十分な事が多い。
964 :
774ワット発電中さん :2009/04/30(木) 16:23:19 ID:LeCW0ufD
わかる方教えていただきたいんですが… ネットを探して見つけたPICを使ったウィンカーの基板です。 PICで8つのLEDを繋いでモーションをつけて流したりしています。 ウィンカーの入力信号の処理が、この基板でどうなっているかがわかりません。 RAでウィンカーの信号を拾って、RBから出力して、トランジスタアレイに繋いだLEDを制御しています。 しかしウィンカーの信号は点滅する断続的な信号なため、RAへの入力が不規則になり、それに伴ってRBの出力も不規則になってしまいました。 そこで以前ここで解決策を聞いたところ、ON/OFFする断続信号をリレーを使って一定の信号に変換する方法(リレーと抵抗とコンデンサを使用)を教えてもらって回路を組みました。 一応動作には問題ないんですが、この画像の基板に比べたら作るのに手間が掛かるので、他に方法が無いか探しています。 この基板では右の白いコネクタよりウィンカーの信号(右・左)を入力して、フォトカプラ→コンデンサ→抵抗→PIC入力となっているようですが、 この場合フォトカプラとコンデンサと抵抗がどのように使われてるのでしょうか? この基板の方法でできれば、今のリレーによる方法より
965 :
774ワット発電中さん :2009/04/30(木) 16:24:31 ID:LeCW0ufD
>>964 ウィンカー断続ON/OFFをONと判断するよう
PIC内プログラムで処理すりゃいい。
わかりぬくいな。質問するなら回路図くらい起こせや。
不思議なフォトカプラの使い方だな。 それ、フォトカプラである必要あるか?
>>964 ホトカプラーの次のコンデンサの容量を大きくすればおk
悪いことは言わない。止めておけ。 アンタの商品が元で事故が起きて、訴訟問題にでもなったらどうする。 質問の様子から、ど素人なのは間違いない。
>>966 前にチラっと聞いたこあるんですが検索しても見つかりませんでした。
Pic内で処理できれば一番いいんですが…どういうプログラムを組めばできるんでしょうか?
PIC16F84A、88あたりにCで書いてます。
Cでそういったプログラムをする方法を知りたいです。
第三者に提供するつもりはありません。
PICで収めるんだったら最初のウィンカーONでモーションを始めながら 点滅の滅の時間を越えたあたりで点でにあればモーションを続ける、滅のままなら終わり。 これでいいんじゃね?
975 :
774ワット発電中さん :2009/04/30(木) 20:43:55 ID:NZ3pKzwl
>>972 >PIC16F84A、88あたりにCで書いてます。
どうみても、cしか出来ない以前に、なんにも出来ない奴にしか見えない。
cで書いてますって、なんのcだよw
シアンのマジックで書いてるのか?
Cしか出来ないという君はチキンボーイっぽいが?
arduinoのPIC版ってありますか?
GWになるとおかしな輩が湧き出すからきらい。 PIC-MLはそろそろ廃止してもいいと思えてきた。
>>978 俺はとっくに廃止してるよ(個人的にw)
>>964 フォトカプラは入力電圧に対して出力電圧も変化するので、不安定になるのは当たり前だな。
簡単にするならフォトMOSリレーを使うとか。
981 :
774ワット発電中さん :2009/04/30(木) 23:45:41 ID:GOjhcFlN
プログラム中でmalloc使う場合はMPLABでheap sizeを指定しなければいけないと いうことなのですが、なるべく大きく取りたいです。 プログラムにもよると思いますが、一般的にスタックの消費量というのはどの 程度のものなのでしょうか?
982 :
774ワット発電中さん :2009/04/30(木) 23:52:37 ID:HbjqmutA
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★ このスレを見ている人はこんなスレも見ています。(ver 0.20) ●PIC・AVR 初心者のためのスレッド-3サイクル目● [機械・工学] 超零細町工場 親子二人または一人の会社11 [製造業界] 【いよいよ】YAMAHA TENORI-ON 1台目【日本発売!?】 [DTM] ★メタハラ★ メタハラ専用スレ ♪7灯目♪ [アクアリウム] 太陽光発電スレ part3 [環境・電力]
>>981 その辺の話はPICの種類(10/12/16/18/24/32)によって大きく異なる。
まず使いたいデバイスを書くべし。
984 :
774ワット発電中さん :2009/05/01(金) 00:29:38 ID:XQhaXuPa
>>984 だったら、スタックの量は
(関数あたりのローカル変数の量+α)×呼び出しの深さ
と考えればよい。
(αはリターンアドレスとかフレームポインタの分)
普通は256バイトも取っておけば大丈夫じゃないかな。
(ローカル変数で配列とか取らなければ)
987 :
774ワット発電中さん :2009/05/01(金) 08:21:19 ID:EnZ45had
またヱ瀬工企のダメンジョン君が暴れ始めたなぁ。 休みになると暴れる? > > 私は伊藤さんに非があるとは微塵も思っていません > この認識は甘過ぎると思います。 > 伊藤さんは管理者権限を悪使して、きぬくわない人をブラックボックスに > いれたり、記事削除を行ってきました。 > これらは、憲法の定める基本的人権を定めた規則に抵触している可能性があり、 > また他人の人格を毀損する発言を繰り返している事実があります。
>>986 PCF8583なんていうRTCを使ってやんのw
俺ならRTCC内蔵かTMR1用に時計用クリスタルを使う。
7セグデコーダどころかB2Dデコーダまで使ってるw
ここも俺ならI/Oの多い品番を使うけどね
そこらへんはなんとかするけど 6桁にするにBCDデコーダー使う例が多かったのは意外だった PICで全部やらせるには_があるわけね ってなことで部品集め中
>>989 別に_ちゃう思うけどな。ダイナミック駆動だと結構電流流さなきゃならんから
ドライブIC入れるくらいならいっそ、ってことじゃないかな。
ソフトでやったほうが変な字形が出せて面白いぞ。w
くるくる回したりできるもんな。なんなら足いぱーいPICにすれば オンリーも軽くいけるし。
セグごとに輝度(duty)変えたりも出来るしな。
12F675を壊してしまいました 中途半端な壊れ方をして故障だと断定するのにすごく時間がかかりました お前らも手を合わせてやってください
>>993 そーゆーのは動く範囲でチカチカなどに利用し、本気で死ぬまで
電気を流し続けてくだしあ
どはまりしてます。。どなたかアドバイスお願いします。。。 電源ONでLEDを点滅させる単純なPGMをつくっていますが、 電源ONで動き出してくれず、途方にくれています(16F877A) ・PickKit2でプログラム書き込み後、デバッグ・Run→点滅動作する ・ACアダプタを5V1Aの電源回路をl経由して接続→動作しない ※テスターで極性、電圧ともにOKです ・クロックはRC、セラロック両方ためしてみましたがいずれもNG ・他の5V200mAのアダプタを接続してみたがNG なんかすごく単純なことなのかもしれませんが、かれこれ3日程はまってます、、、
電源に発振防止のセラミックを入れる
>>996 ずっとPICkit2繋いどきゃ委員じゃね?
ってのは冗談で、MCLRプルアップすればどう?
1000 :
996 :2009/05/01(金) 17:35:20 ID:wnkiEpmH
皆様即レスありがとうございます。 MCLRもVCCにつないでいます。 この線をはずすとなぜか点灯するのですが、点滅しませぬ。。 電源は秋月で買ってきた5V1Aのキットで、セラミックと電コンが はさまってますです。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。