[秋月の新シリーズのPIC16F1xxx テンプレ用] 旧シリーズより機能が大幅にアップしていて値段も下がってる。 新規に組むならこちらから選択すべき [40pin] 16kwハ必要ナイカモシレナイケド10円差ナラ ◎16F1939 \180 16kw 1kRAM EEP256 I/O36 ○16F1937 \170 8kw 512RAM EEP256 I/O36 [28pin] ナゼ同価格ニ設定サレテイルノカ理解デキナイ ◎16F1938 \150 16kw 1kRAM EEP256 I/O25 ×16F1936 \150 8kw 512RAM EEP256 I/O25 ×16F1933 \150 4kw 256RAM EEP256 I/O25 [18pin] ◎16F1827 \120 4kw 384RAM EEP256 I/O16 [14pin] ◎16F1823 \100 2kw 128RAM EEP256 I/O12 [8pin] ◎12F1822 \80 2kw 128RAM EEP256 I/O6 VDD1.8〜5,5V,Max32MHz(Vdd2.5V以上),4xPLL有,内蔵OSCでも32MHz可 1.024V基準電圧(FVR),5bit-DAC等の内蔵モジュール強化 プログラム面で新命令追加,bankは32マデ拡張,LATが追加,割込時のレジスタ自動保存 16bit幅で2本になったFSRデ連続配置RAMやプログラム領域アクセス可能 追加命令群 ADDWFC,SUBWFB : キャリー,ボローを含んだ加減算 ASRF,LSLF,LSRF : シフト命令 BRA : PCLATHやページ境界に関係なく相対ジャンプ [9bit幅] PC+255〜PC-256へ BRW : PCLATHやページ境界に関係なく前方のみ相対ジャンプ PC+W(0〜255) ADDWF PCL,f ヨリ便利 CALLW : 上位はPCLATH,下位はWのアドレスにサブルーチンコール MOVLB,MOVLP :バンクセレクト,PCLATHに直接定数入れる TRIS,OPTION :TRIS(A〜C),OPTION_REGにWの値入れる(12bit幅品互換?) RESET : ソフトウェアリセト ADDFSR : FSRに定数(-32〜+31)加減算 MOVIW,MOVWI : INDFガツカイヤスク FSRに対して[PRE/POST][+1/-1]や定数(-32〜+31)offset可能
秋月のPIC12/16F(旧)シリーズ 命令セット14bit幅&DIP品限定ピン数別評価 あくまでも旧シリーズ内での相対評価。新シリーズが使えない場合のみ有効 (先頭のvは値下げ,-は維持,*は新規)'11/5更新版 -40ピンは◎16F887 \200 40ピン600mil幅が許せるなら 旧シリーズ最強 -28ピンは◎16F886 \190 887よりピン数減ってスリム(400mil幅) ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31K-8MHとフルサポート 新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを 20ピンはF690のバリエーション多,価格差小なのでF690か,OPアンプF785,ポート割りがチョットカオス -◎16F690 \210 ADC有,eCCP有,eUSART有,SSP有,4Kw,内蔵31K-8MHzとバッチリ -○16F689 \180 F690からeCCP機能削られた -×16F687 \180 さらにF689を2Kwと半分に -△16F677 \170 さらにF687からeUSARTも削られた -○16F685 \190 F690からSSP&eUSART機能が削られた -◎16F785 \180 ADC有,CCP有,2Kw,内蔵31K-8MHz,OPアンプ搭載が異色(新シリーズにも無) 18ピンは種類は多いけど選択の幅は狭い。F88カ値段でF716いっそ20pinにするか -×16F84A \250 機能無,1Kw,新規では不要だけど作例参照用or互換用に -△16F648A \180 CCP有,USART有,4Kw,内蔵4MHz,ADCないのはオシイ -△16F628A \160 F648Aの2Kw版,売りが値段だけだと厳しいかな -×16F627A \160 F648Aの1Kw版,売りの低コストで628Aと並ばれると・・・ -×16F627 \200 F627Aの改良前Ver,なぜこんな物が・・・ -◎16F88 \200 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31K-8MHzと旧18ピンの王者 -×16F87 \200 F88のADC無,F88と同価格では不要・・・ -○16F819 \180 ADC有,CCP有,SSP有,2Kw,内蔵31K-8MHz,F88とはROM容量の差 -×16F818 \200 F819の1Kw版,上位のF819より高くては不要・・・ -◎16F716 \110 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い,ADC8bit注意 14ピンはF688だね -◎16F688 \160 ADC有,eUSART有,4Kw,内蔵31K-8MHz -△16F676 \140 ADC有,1Kw,内蔵4MHz *○16F630 \110 F676のADC無し 無機能で影薄い、今まで存在に気付かなかったw 8ピンはF683だと思っていたがF615も\100にしてはなかなか良い -◎12F683 \150 ADC有,CCP有,2Kw,内蔵31K-8MHz,8ピンとしては多機能 -○12F675 \120/130 ADC有,1Kw,内蔵4MHz ,環境によってはE/P版 -○12F629 \80 675のADC無(機能無しってこと),この値段ならチョット使うに便利 -△12F635 \120/130 機能無し,1Kw,内蔵31K-8MHz,環境によってはE/P版 -◎12F615 \100 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無し -×12F609 \100 F615からADC,eCCP機能省かれてる (参考)機能無,EEPROM無,命令セット12bit幅 プログラム組む上で制限多し(割込無イヨ △16F57 \100 28ピン,2Kw,内蔵CLK無,安くて多くのI/O欲しいなら △16F54 \60 18ピン,0.5Kw,内蔵CLK無,安いI/O欲しいなら ◯12F510 \60 ADC有(8bit),1kw,内蔵4Mor8MHz,EEPROM無し ×12F509 \60 機能無し,1Kw,内蔵4M,EEPROM無し △10F200 \70 DIP8ピン,1/4Kw,内蔵4MHz,米粒PICのデバッグ用 マークの意味 ◎お勧め、用途決まっていないならこれ買っとけ ○内蔵モジュール減ってるけど、その分値段も安くなってるから、まあまあ △内蔵モジュール大幅に減ってる、\10でも安くしたいなら、どうぞ ×ソースを変更できない等の理由がないなら、選択する必要なし 自分で、プラグラムもハードも作れる人のためのリスト。 そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら 指名買いするしかないのだから お勧め度は意味がない
秋月DIP品限定(24F,dsPICは品数限られていて、値段も高め) 24,dsPICシリーズ基本 24F Vdd2.0-3.6V Max16MIPS (5V入力可) 24H Vdd3.0-3.6V Max40MIPS 30F Vdd2.5-5.5V Max30MIPS (5V動作可) 33F Vdd3.0-3.6V Max40MIPS 40ピン ○30F4013 \650 16kw 2KB EEPROM1KB ×30F3014 \750 8kw 2KB EEPROM1KB 28ピン ◎24FJ64GA002 \350 21.3kw(64kB) 8KB EEPROM無 この値段がうれしい △24HJ12GP202 \400 4kw 1KB EEPROM無 ○30F4012 \750 16kw 2KB EEPROM1KB 5V必須ならこれかな △30F2020 \700 12kw 0.5KB EEPROM無 △30F2012 \500 4kw 1KB EEPROM無 ○33FJ32GP202 \450 11kw弱(32kB) RAM2KB 高速性能を求めるなら 18ピン 30F3012 \500 8kw 2KB EEPROM1KB
18Fシリーズは多いけどUSBが使えるこのあたり(他のは性能の割に高い) 40ピン 18F4550 \400 28ピン 18F2550 \400 (△18F2420 \300) 20ピン 18F14K50 \200
イケメン乙!
>>998 メカトロ系だと、各ブロックにマイコンを積むから珍しくない。
そもそも遅い処理なら、FPGAよりマイコンの方が簡単。
FPGAで同じことすると、5倍くらい書かないと。
そいえば前スレで“ソフトが大変”と言っている奴がいたな。 たかがPICでどんだけ自分様?
そんな奴は検索に引っかからないが お前の頭が大変じゃ
10 :
774ワット発電中さん :2011/07/01(金) 14:49:40.71 ID:zJpCPAVB
前スレでPIC24F以上触ってないのにPICにやめとけとかアドバイスしててワロタw すげえ偏見じゃん。 つうかマイコンなんでプログラミング言語と一緒でどれか一個やれば置き換え簡単だよな。 IDEが変わったり、ライターとかICDがもったいないからそのままなだけで。
11 :
774ワット発電中さん :2011/07/01(金) 15:47:40.61 ID:iGxzBsFf
>>10 ARM最強
PIC使う奴、頭悪い
寂しい、、、、誰かカマッテ、、、
>>IDEが変わったり、ライターとかICDがもったいないからそのままなだけで そんなの口実で、本当はただ面倒くさいからだよ。
>>10 PICだけで全部網羅した気になっている奴w
>>13 そういう子供みたいな「俺のほうが知ってるもん」からいい加減卒業したら?w
15 :
774ワット発電中さん :2011/07/01(金) 18:07:35.20 ID:cAVQhyrV
サンデープログラマーを相手に勝ち誇るってのも情けない話だな。
>>16 ワロタ!
ID:zJpCPAVB こいつが今日のアレか
毎日飽きずによく湧くなあ
18 :
774ワット発電中さん :2011/07/01(金) 22:42:38.15 ID:tUEiPens
ARMに20pinとかのDIPタイプの石があれば使ってみたいよw
亀レス > 979 名前:774ワット発電中さん[sage] 投稿日:2011/06/30(木) 22:47:59.05 ID:g+6gBKAi > 30年前なら有名な8bitプロセッサは出揃ってたころ > その頃にPICの醜悪なデザインはありえない・・・ > > 980 名前:774ワット発電中さん[sage] 投稿日:2011/06/30(木) 23:22:31.18 ID:++wXvQnS > ’80年頃の時点、すでに主要な8ビットアーキテクチャが出そろってた時点で考えても、 > それほど無茶なデザインとは思わんけどなあ。 当時としては合理的なデザインだと思うけどな。 PICは大胆にも外部メモリをスッパリ切り捨てた。外部バスが無いのは革命的だった。 外部バスが無いから出来る、レジスタレスアーキテクチャを採用。 これは当時の8bitCPUには類似例が見当たらない。 ブロック図がよく表している。 一般的なSoCなら[CPUコア]と書かれるが、PICではコアの中身までぶちまけて書かれている。 こんな書かれかた、PIC特有と言っていい。 モノバスアーキテクチャとも言ってかな、バスは内部に一つしかない極めてシンプル。 でも、これらの特徴はこのアーキテクチャの限界でもあり、性能向上のボトルネックになる。 将来の半導体の集積度アップを残念ながら考えて無かった様にも見える。
>>19 いや、理由はどうでもいいんだよ。
事実DIPの大きさで手軽なハンダ付け作業って所が肝心
そりゃ、いくら高性能で安くても、BGAしかなければ、 ホビーユースは絶望的だし、会社で試作するのも、大変だ
安心しる PICにBGAは無いw 正しくはあるけどさ スレチだけど、BGAの試作は発注するだけだから、設計者にとってはどうって事ない。 設計そのものが大変かな。パスコンの置き方も注意が必要だし、そもそも改修がほぼ無理だから間違いが無い設計しないといけないし。
24 :
774ワット発電中さん :2011/07/02(土) 15:50:33.92 ID:bpy+8mJa
試作品をわざわざ発注して作ってもらうなんて零細には無理な相談だw
よくAVR厨が「PIC(特に16F)は酷い」って言ってるじゃん 「PICでプログラム書く時間よりAVRのコマンド覚えて書き直す時間の方が短かった」とか あれってやっぱ元PIC使いだった人が多いんだろうか
>>25 もうそういうネタはいいだろ。荒れるばっかだ。
そもそもAVRスレで聞くべき内容だし。
1からpic16f84学びたいんだけどどうすればいい?
>>28 単に使いたいだけなら、後閑さんの本でも読んでろ。
それとも、FPGAの学習ボードでアーキテクチャを学びたいという意味か?
PIC16F84Aでグラフィック液晶SG12864Aを動かそうとしています。 アセンブラで制御するにはどのような信号を送り込めばいいのでしょうか? C言語で記述している記事は見かけるのですが アセンブラで記述している記事は見たことがありません 達人のみなさま、ご指導よろしくお願いします
>>28 はネタなんだろうけど、とりあえずLEDをピコピコさせるだけなら
ググればできる。それもわかならないなら諦めろ。
>>31 コンパイラの吐いたアセンブラソースを読むか、
バイナリをディスアセンブルすれば?w
>>31 テストパターンを描画するだけって解釈しておk?
まともに扱うなら、PIC16F87x + 外部ROM(SPI、I2Cとかでもよい) ぐらい必要。
18Fシリーズ以上を推奨するが。
>>28 ネタだろうけど新規でPIC始めるのはお勧めしない
仕事でPICを使わざるをえないとかではなく
純粋に趣味なら
>>25 みたくAVRのほうが良いよ
>28 PICスレで言うのもなんだけど、今から新規ならPIC16FじゃなくてAVRやった方が良いよ。 PIC16Fは命令形が独特だから使いづらい面も多い。 AVRは情報や製作例もPIC16Fの次に多いし、秋月で買えるから安価で入手性が良い。
それなら24Fでいいじゃん。
意固地なPIC厨どもがAVRをすすめるなんて 明日は槍でも降るんじゃなかろうかw まぁPIC16FもPIC24Fも初心者向きではないわな さすがにARMとはちょっと言えないけどwww
>37 PIC24/dsPICは性能も上がって、使いやすくなってるけど圧倒的に情報や製作例が少ない。 何か始める時や、作る時はやっぱり先人からの情報が必要だと思う。 性能 dsPIC,PIC24 > AVR(Tiny,MEGA) > PIC18F > PIC12/16F 情報 PIC12/16F > AVR(Tiny,MEGA) > PIC18F > dsPIC,PIC24
>>19 メカトロだからってPICに電流をガンガン流すってどんな使い方してんだ。
3.3Vの24使うならARMを使っちゃうなぁ
>>39 相対的に見ればそうかも知れないけど、何かを作るのに致命的なほど
絶対的に情報不足ではないよ?
>42 マイコンにそれなりの経験があって、英文のデータシートも苦も無く読める人ならそうだろうけど >1からpic16f84学びたいんだけどどうすればいい? この質問者に対して、いきなり高度でそれなり規模のPIC24/dsPICやARMの製作例があっても ついていけないよ。
>>40 ピンごとの最大電流しか憶えていないから、
Vcc、GNDのトータルの定格を超えた使い方でもしているんじゃない?
素直にトランジスタアレイやドライバ使ったらw
初心者に薦めるのなんかどうでもいいだろ 16Fで全く問題ない むしろそういう苦労を経た後、AVRとか24F使ったときに なんじゃこりゃ!と思って欲しいわけだが
>>47 いらぬ苦労はする必要ないよ。なにかメリットでもあれば別だけど。
ならマイコン自体手を出さない方がいいな
くだらん根性論なんて聞きたくないね そんなに苦労したいならマイコン自体使わない方がいい ハードロジックで組んでみたら?
PIC24FJ64GA002で周波数カウンタを作ろうと思い、外部クロック入力の タイマーで対象の周波数をカウント、外付けのGPSからの1PPS信号で インプットキャプチャして測定しようと考えたのですが タイマー1 16bit,FOSCに非同期可,インプットキャプチャ不可 タイマー2,4 32bit可 , Prescaler後にFOSCに同期 , 2のみインプットキャプチャ可 タイマー3,5 16bit , Prescaler前にFOSCに同期 , 3のみインプットキャプチャ可 インプットキャプチャが使える2,3はFOSCに同期のためPICの動作クロックの 半分程度(?)しか読めないだろうし、高速な非同期のタイマー1はキャプチャ不可って… 割込みでタイマー1読みに行くと、割込み時の命令によって1サイクル前後する可能性があるし 何かうまい方法ないものかなと
外付けのANDつかって1ppsでゲート掛けて読めばいいじゃん ごめん適当な事言った
>52 それだと1秒測定、1秒休みでしかカウントできないような、出来れば毎秒周波数をカウントして おきたいんです。32bitカウンタで前回との差を毎秒記録しておいて、直近の過去10秒,100秒の値から 平均値出して小数点以下も表示で毎秒更新。(1サイクル位誤差だろと言われそうですが) あと出しですみません。
>>40 >>44 おまえら、要求動作保証環境温度85℃で設計したこと無いだろ?w
放熱性が必要 = 電流をガンガン流す用途って、どんだけ単純思考なんだ?
情けない野郎どもだ。
>>53 そもそも何MHzまで測りたいん? 8MHz?
タイマー3なら64kHzまでだろうし、32bitの精度が必要ならタイマー2でメガの計測は可能だろうけど。
そこ聞かないとなんとも言えないんだけど。
MHz単位なら、俺ならCPLD使うかな。
>おまえら、要求動作保証環境温度85℃で設計したこと無いだろ?w 趣味出し問題ない、ヒートガンで300度(ハンダ解けてる)にしても問題なく動いてるけどなw
>55
30MHz程度までは測定したい。
後閑さんのPIC24F周波数カウンタの製作例でT1CK(タイマー1)に直に受けて
50MHzまでカウント可能と言う事なので、これ自体は問題ないと考えている。
ttp://www.picfun.com/PIC24F/AP/app24F01.html タイマー1自体は16bit幅でもオーバーフロー割込みで 別にカウントすれば
連結して32bitでも可能なはず。
タイマー1をインプットキャプチャ出来ないので1PPSの立ち上がりで割込み掛けて
割込み処理内でタイマー1を取得すると、1サイクルの前後が生じてしまうはず
後閑さんの製作例では気にしていないようだけど内部6.4MHz動作だと
1サイクルの遅れで、50MHzを測定の際7Hzとかの誤差が出る場合があると思うんだが
すみません教えて下さい PICを制御部にして手歩丼迎撃ミサイルを作りたいんですけど、ミサイル本体とPICは用意しました あとは何を用意すればいいですか?
59 :
のうし :2011/07/03(日) 08:17:30.09 ID:80PQtjLq
敵
>>57 なる、精度を出したいんだ…。
それなら、PICの前にプリカウンタを設けたら?
例えばタイマー2が4MHzまでしかカウント出来ないなら、D-FF1段噛ませれば8MHz。2段で16MHz, 4段で64MHzまで計測出来る様になる。
そのプリカウンタには例えばAC161を使い、CLR入力に1PPSを接続。
AC161の出力にはAC373とかを使い、1PPSでラッチして、PICの何処かのポートに接続。
値の取得には、タイマー2の下にAC161の値を付け足せばOK。
>>56 300℃で、10年動作保証が出来るなら何も言うことはないけどねw
61 :
774ワット発電中さん :2011/07/03(日) 10:38:00.40 ID:5jZLoA4a
>>56 フローとかリフローとかいう半田付けの手法では基板全体を部品ごと数分間200度〜300度くらい
の高温にするので、部品自体は短時間ならその高温に耐えられるように作られている。でもこの数分間
を超える長い時間の動作保証はまったくない。最近のアマチュアプログラマをあいてに得意げに語る
なんちゃってプロが目立つけど内容を見て判断しよう。
>>60 プリスケーラー設けても、見かけ上の許容上限クロックを引き上げるだけで、
測定精度は向上しないと思うんだけど?
むしろ、同じ周波数を入力した場合、プリスケーラーなしの時と同じ有効桁数
を出すには、プリスケーラーなしに比べて、逆にゲートタイムをプリスケーラ
の分周比の分だけ、長くしなければならない。
>>57 > タイマー1自体は16bit幅でもオーバーフロー割込みで 別にカウントすれば
> 連結して32bitでも可能なはず。
カウンタの桁あふれはソフトでどうでもできるけど、タイマ/カウンタの許容
最大周波数を超えるクロックでは周辺が動かない。そういう場合はプリスケーラ
を使う。
絶対精度を上げるには、マイコンの内蔵発振などではなく、温度補償された
外部発振回路を使う。 有効桁数を増やすには、ゲート時間を長くする。
>>54 85℃なら、最低でも105℃ないし125℃での動作保証されたマイコンを選ぶ
ことになるけど、マイコンよりも、コンデンサや水晶発振子、コネクタ等の
受動部品の選定の方が難しい気がする。
要求される温度差が広くなると、チップ部品(セラミック)と基板板材(エポ
キシ)の温度膨張差による引っ張り応力により、チップ部品自体のパッケージ
割れや、ハンダ剥がれが生じる可能性が出てくるので、DIPやリード付き部品
の方が向いていると思う。
鼻からヨーグルト出ちゃいました。
↑誤爆
精度が出ますね
>>62 よく読め。
カウント後にプリスケーラの値を読むから精度は落ちない。
GPSの1PPSをゲートにするって言ってるんだから、PICのクロックの精度は関係ない。
>60
こんな感じでしょうか
ttp://loda.jp/mcnc/?id=228 161の前回との差を取った方が累積時の差が出ないと思うのでクリアははずしました
なんかいけそうな感じです。ありがとうございます
>62
とりあえず>60さんの案のプリスケーラを検討してみます。
今回内蔵発振はあまり関係ないような…速い方がよさそうだけど
>>66 あまりに素人提案なんでツッコミ入れなかったけど、精度以前の問題で、
そもそも74xx161のクリアってクロック非同期なんだよ。
クリアに'L'が入っている間は、クロック入力が変化してもカウントは変化
しない。ちなみに同期クリアは74xx163な、チラ裏まめちしき。
1PPSで与えるクリアパルスの幅は何ns?
TIの74AC161の場合、/CLRの'L'パルス幅は最小4.4ns(-40℃〜+85℃,Vcc=
5.0V±0.5V動作時)、クリア状態からのリカバリタイム(/CLR↑からCLK↑)
は、5.3ns(同条件)。
1PPSでラッチとか、遅延時間のない世界?
50.00MHzのクロック周期は20.00ns、50.10MHzのクロック周期は19.96ns。
あんたのやり方ではこの0.1MHzの差さえ測定できない。
>>67 >>60 のは厳密にはプリスケーラじゃない。
>
ttp://loda.jp/mcnc/?id=228 RCO(Ripple Carry Out)はその名の示すとおりヒゲが出るので、これを
カウンタ入力で数えるのはお勧めできない。詳しくはデータシートの等価
回路を参照。
文周された1/16クロックが欲しければ、QD出力を使うべき。
文周された - × 分周された - ○
>>62 > 絶対精度を上げるには、マイコンの内蔵発振などではなく、温度補償された
> 外部発振回路を使う。 有効桁数を増やすには、ゲート時間を長くする。
それも考えたけど、GPSの1PPSって精度が±1ppmらしいじゃない。
これより精度の良い発振器を自前で揃えるのは面倒だなと、頭の中で却下した(^^;
>>67 > なんかいけそうな感じです。ありがとうございます
どもども。
録り溜めた「24」を見終わって、ここを覗いたら回路図まで出来ててびっくりしました。
>>68 > 精度以前の問題で、そもそも74xx161のクリアってクロック非同期なんだよ。
それも考えた。
元が±1ppm精度とは、1MHzでパルスが1個増えるか増えないかの違い。
30MHzを計測するなら、パルスが1個増えようが増えまいが、1PPSの精度以下になって拘ってもしょ〜がない。
161/163も確かにそうなんだけど、373も非同期なんだよね(^^;
74を2個並べたほうがいいかも
>>67
>>71 元パルスのクロック精度と、そのクロックを引き回す配線やゲートによって
生じる遅延時間やジッタは関係ない。根本的に設計の考え方が間違ってる。
> それも考えた。
最初から考えていたらあの結論はありえない。
回路図上では同じ1PPSを取り回しているけど、PICの入力ピン〜内部のタイマ
/カウンタ部のラッチタイミングと、AC161のラッチタイミングの時間のズレが
担保できない。
GPSの1PPSはデューティ比50%だと思うので、そのまま繋ぐと/CLRが'L'になる
0.5秒間+α(リカバリタイム)の間、クロック入力があってもカウンタはクリア
された状態が続く。CLRパルスを短くしても、高い周波数ではCLRパルス期間中
とCLR解除後の不感期間が無視できない。
> 元が±1ppm精度とは、1MHzでパルスが1個増えるか増えないかの違い。
> 30MHzを計測するなら、パルスが1個増えようが増えまいが、1PPSの精度
> 以下になって拘ってもしょ〜がない。
30MHzに対する±1ppmは、パルス数±30個(±30Hz)ですが?
そもそも、内蔵カウンタで50MHzまでいけて、上限30MHzでよいから測定分解能
を上げたい(小数点(=1Hz)以下の桁数を増やしたい)という目的ならプリスケーラ
はまったく見当違い。 基本的にはゲートタイムを長くしてカウント数を換算
する。
もちろんゲートタイム1sのまま移動平均を計算して小数点以下を出すことは
できるが、それはあくまで表示上の問題であって、担保できない。
対象の周波数が低ければ、入力パルスのエッジ周期を計測して、逆数計算で
周波数を求めることもできるが、やはり表示上の問題であって、測定値として
担保できるかどうかは別問題。
>>72 ごめんなさい。
> 373も非同期なんだよね(^^;
これがやっぱり問題。
何故って、161の4段目が変化しているときにラッチすると、大きな誤差になってしまうから。
なので、1PPSを74を使って測定信号に同期させ、その立ち上がりでFFにラッチさせないと誤動作してしまいます。
> 1Hz信号とみた場合はもっと精度良いみたいです。
>
ttp://ojisankoubou.web.fc2.com/lpro-101/index.html お〜、「GPS の周波数誤差は 100 秒ゲートだと ±1〜3 ppb ぐらいでうねっている」っすか!!
10e-9って、凄すぎる…
>>74 > なので、1PPSを74を使って測定信号に同期させ、その立ち上がりで
> FFにラッチさせないと誤動作してしまいます。
え゛っ?
確かにF/Fを通せば、状態変化中にラッチされる問題はなくなるが、F/Fを
通して被測定周波数に同期させることによって生じる、1PPSのスキュー誤差
(遅れのバラツキ)はいいの?
おまけに、そのトンデモ回路を追加すると、副作用で被測定周波数が変わ
ると、ゲートタイムの周期(パルス幅)も被測定周波数の周期単位で大きく
変わっちゃいますが?
あと、エッジトリガの374を使わず、あえてトランスペアレントラッチの
373を使う理由も理解できん。
そもそもの質問は、入力クロック上限はともかく、内蔵タイマの分解能が
16bitなので、タイマ単体だと最大で65535までしかカウントできなくて、
30MHzを1Hz単位まで測定(30000000カウント)しようとすると、カウンタが
桁あふれするってのが問題だったのでは?
>>75 なんか喧嘩腰に見えるんだけど、もう少し穏便にやったら?
77 :
774ワット発電中さん :2011/07/03(日) 15:03:29.66 ID:EGcahiQW
間違った事を得意気に人に教える これがPIC厨なのだ これでいいのだ
>>76 いいの。
ID:l9v1M6w0さんはどうやら叩き上げのエンジニアさんみたいで、細かなところは鋭いから。
ただ、全体を見通す力が(ry
>73 >回路図上では同じ1PPSを取り回しているけど、PICの入力ピン〜内部のタイマ >/カウンタ部のラッチタイミングと、AC161のラッチタイミングの時間のズレが >担保できない。 これは確かに問題でPIC24Fのブロック図みながら考えたけど、イマイチ確証が もてなかった。測定周波数と1PPSとPICのクロックがバラバラで全く同期して いないのが問題なんだけど。 161の出力が1111→0000に戻る直前に1PPSが立ち下がった場合、ラッチは1111を保持 PICのカウントアップとキャプチャはFOSC(内部クロック,Max16MHz)に同期なので 次のFOSCタイミング前に測定周波数のカウントが来るとFOSCのタイミングでタイマが+1され それがキャプチャされてしまいそうに読めた( 0-1111の次が 1-1111 になるかも 累積はサレナイハズダケド) >75 >そもそもの質問は、入力クロック上限はともかく、内蔵タイマの分解能が >16bitなので、タイマ単体だと最大で65535までしかカウントできなくて、 >30MHzを1Hz単位まで測定(30000000カウント)しようとすると、カウンタが >桁あふれするってのが問題だったのでは? ちょっと違います。16bitなのは問題じゃなくてPIC内部クロック非同期で 高速入力に使えるタイマー1でインプットキャプチャを使えないのが問題。 1PPSのタイミングでタイマの値を取得するには インプットキャプチャだと 0〜1サイクル(PIC)の誤差が生じる(と思う)、これは仕方がない 変化割込み等だと0〜2サイクル(2サイクル命令実行中は1サイクル余計にかかる)の誤差 割込みで1サイクル余計にかかるかもしれないってのを何とか出来ないかなってのが 最初のスタートです。30MHz測定なら1サイクルで2Hz程度で、この誤差は蓄積されない から長時間測定すれば小さく出来るし、そもそもメインループでNOPでもズラズラ 並べておけば2サイクル命令に当たる確率も減るのですが。 すみません、つまらないこだわりで。
>>78-79 全体を見通す力ねぇ。(w
インプットキャプチャはFOSC同期(例:内蔵OSC 6.4MHz≒周期156ns)しなければ
使えないので、精度を問題にするなら使えない(論外)では?
ここ
ttp://www.picfun.com/PIC24F/AP/app24F01.html の作例でも、インプットキャプチャ機能は使っていない。
> タイマを2個使って32ビット連結タイマを構成できますが、外部クロック入力は
> 常に内部クロックに同期させた構成にしかできませんので、高速の外部クロック
> 入力ができません。そこで非同期カウンタが構成できるタイマ1を使います。
インプットキャプチャは使っていないが、タイマ1のクロック入力にあるANDゲートの
片方の入力(TON)を制御しているので、次にゲートが開くタイミングまではタイマの
カウント値は変化しない。(ソフトで読み出すには十分余裕がある)
問題は、上記サイトのFOSCをタイマ4で分周・生成している1秒パルスの代わりに
GPS出力の1PPSを使った場合、内蔵タイマのように任意でクリアできないので、
1秒計測・1秒休止という動作にならざるを得ない。
まぁ、それを解決したいなら10MHz出力できるGPSかルビジウム発信器でも持って
くればいいだけ。
あるいは非同期入力可能なタイマが2本あれば、並列に接続して交互に動かす
ことで回避できるだろうが、件のPIC24FJ64GA002には、条件に合うタイマは
タイマ1しかない。
要は、FOSC同期ロジックが入っていて、レジスタ設定でバイパスできないタイマ
4/5およびタイマ2/3は、周波数カウンタの初段には使えないの。
>>80 > >/カウンタ部のラッチタイミングと、AC161のラッチタイミングの時間のズレが
> これは確かに問題でPIC24Fのブロック図みながら考えたけど、
ここはPICスレでPICのカウンタを使う解を示したけど、本当は、
>>55 > MHz単位なら、俺ならCPLD使うかな。
と最初に述べた通り、CPLDで全部カウントしてしまう事をお薦めするな。
>>60 で示したLogicICを組み合わせる方法もアリと言えばアリなんだけど、今日の議論の通り色々と懸念事項はあるよね。
だからCPLDに計測は全部任せて、PICはその結果を受け取るだけの方が簡単。
そのCPLDもEPM3032AとかEPM3064Aなら200円位で買えるみたいだし、カウントするだけなら200MHzまで動きそうだし。
この回路ならRTLを知らなくても、回路図入力でいけるだろうし。
CPLDが嫌なら、161の後にHC4040を3段重ねる手もあるよ。 色々と考えなければいけない問題があるけど、次善の策って事で。
>CPLD CPLDが使えないケースだから、苦労しているんじゃない? 標準ロジックを使いこなす方が、VHDLで単に回数数えるよりも、 アカデミックな勉強が必要なので、課題で禁止されているケース。 もしくは、プログラム可能デバイスを無闇に増やすなっていうケース。
85 :
774ワット発電中さん :2011/07/03(日) 19:06:05.39 ID:5jZLoA4a
低レベルPICでできるところに無理してARMなどの32ビットマイコン使うのはばかげてるが 30MHzという高速パルスを測定したいとかいうことなら、その仕様に見合ったマイコンを選ぶ ことも考えていいのでは。 標準ロジックICの使用範囲は20MHz以下くらいじゃなかったかな。もっと高速なパルスを扱う ならCPLDとかFPGAを使うのがいいようだ。
30MHzっていっても、
周波数はかるだけなら、PICとプリスケーラ(専用ICか単純ロジック)で十分じゃん。
CPLD使わない方が、はっきり言って、勉強になるぞ。
波形をFIFOにぶっ込んで解析して、はじめてARMやれds,32MX、SHでしょ。
そんなに高温、高温て、車載とか、屋外機器とか想定しているのかね?普通、熱源とは隔離するでしょ。
どうしても趣味でPICを高温な環境で動作させるって、計測機器自体がオーブンの中とかしか考えられないな。
尤も、アナログ的に解析するならELMさんがLCRメータのセクションで言っていたとおり、
実務経験8〜18年(周波数次第)のベテランか修士レベルでないと、あきらめた方がいいよ。
いくらソフトで取り繕っても、S/N比は良くならないしw
(自分は単なるFランクの萌え豚
>>61 の下の行だがなw)
30MHzまでしか計れない仕様のカウンタであれば、 74ACがおすすめかもしれないぞ
>>85 いや…、この問題は「ARMなら解決出来る」問題ではないんだ。
厳密には、測定対象信号という名のクロックで動作する回路(カウンタ)のクロックドメインから、1PPSという名のクロックドメインへの変換なんだ。
いわゆる「クロック載せ換え」(Clock Hand-Off)の問題で、そんな事が出来るタイマーを搭載したマイコンは無いか、あったとしても見つけるのが困難。
ただ、クロックが低ければ誤魔化しでもなんとなるか。でも速かったら測定対象信号でカウントした結果をDP-RAMに書き込み、それを1PPS信号で読み出すと考えた。
その為にはCPLDが必要じゃんってのが
>>55 の背景だし、厳密に解決するにはマジにこの手しか無い。
でも、CPLD案は
>>57 でスルーされちゃったし(orz)、
>>57 ではPICで作るのが前提みたいだからLogicIC案の
>>60 を出したと。
もっとも、最初っからこんなにロジカルに考えてた訳ではなく、右脳からポロッとCPLDという解が出て来たんだけどさ(汗
まだやってたの?(w
別に周波数を計るだけなら同期カウンタである必要はないし、30MHzくらい
までなら、LS-TTLの74LS90あたりをカスケードして、カウンタ出力を74LS47
ないし72LS247あたりのデコーダ使って7セグLED表示させるとかでギリギリ
いけるかな。
入力のANDゲート制御で済むのに、わざわざ同期カウンタの出力を低速クロ
ックでラッチしようとするから面倒な話になる。
電気バカ食いだけど、TTLでもFASTやASあたりならfmax=125MHzくらいまで
いける。
74ACはちょいと速過ぎで、無駄に元気がよくて扱いが面倒なンで、LS相当の
CMOS版74AHC/AHCTあたりでちょうどいいかと。もっとも、ACもAHCも、一部
型番はもうディスコンかもしれんが。(w
STマイクロの74AC161なんぞ、5V動作時でfmax=250MHz(typ)だし。
ttp://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00001 680.pdf
計るだけなら、インプットキャプチャを使う必要はないし、picfunの作例の
やり方でなんら問題ないでしょ。TONが閉じたタイミングで割り込みかけて、
再びTONが開くまでにソフトで読めばいい。
ただ、ゲートタイムが1PPS直接接続で固定だと、任意タイミングで計測を
再開できないので、1秒計測・1秒休止になる。それが嫌だったらGPSでも
ルビジウムでも10MHzなりの基準クロック使いなさいと。(秋月の高精度
12.8MHzは既に販売終了)
そうすれば1/10000000分周で1Hzが作れるし、周波数カウンタのタイマ値を
読み取った直後にソフトでゲートタイム生成カウンタのレジスタを操作して
すぐに次の計測処理に入れる。
お前ら! 猫の様にならないようになw 以下コピペ 猫の喧嘩ですけど、ニャーニャーなんて声出さないよ 喧嘩時の声は 「マーオ」 これを互いが連呼し合う 交互にやりとりしていくにつれてどんどん伸びる&後部が高音になっていく こんな感じ A「マーオ」 B「マーオ」 A「マーーオ」 B「マーオ」 A「マーーーオ!」 B「マーーオ!」 A「マーーーーーーーーオ!!!!!!」 B「マーーーーーーーオ!!!!!」 A&B「ギャフベロハギャベバブジョハバ」
91 :
のうし :2011/07/04(月) 07:39:08.95 ID:ijqUSJ0V
MicroShaft Winbrowsで、ビルゲイツとモッディー(モデム)が喋ってるのもそんな感じだったな。
>>89 > 入力のANDゲート制御で済むのに、わざわざ同期カウンタの出力を低速クロ
> ックでラッチしようとするから面倒な話になる。
よく読め!
>>53
ゲーティングするとどうしても不感時間できるよね。 フリーランのカウンタを1PPSごとに読んで前回との差から求めるか、 ゲーティングして測定する回路を並列動作させないと、要求は満たせないんじゃね?
>>それが嫌だったらGPSでもルビジウムでも10MHzなりの基準クロック使いなさいと。 そんなの使うのが嫌だから1PPSでやりたいんだろ。 それじゃ本末転倒じゃないか、察してやってくれよ。
95 :
774ワット発電中さん :2011/07/04(月) 11:28:47.09 ID:VvfwGoC2
1PPSにPICのクロックを同期させれば無問題。
ソースパルスと同期取れないと同じだろうがよ
>>95 TIに器用なPLL ICがあったな。
1Hzでも動いたかな?
よく読むと、 > それが嫌だったらGPSでも 変なこと言ってるよ、この人
もう1PPSの期間PICのメインクロックをカウントして、それを基準にするとかでいいんじゃねw
>>98 GPS受信機が内蔵されてて、GPS時計に同期した正確な10MHzを出力する発振器があるのを知らないのか
>>93 ゲーティングは、特に低い周波数で辛くない?
例えばAC100Vからホニャララして作ったTTLレベルの50/60Hz信号を測りたいとする。
AC100Vだから、精度はそこそこな50/60Hz。でも、1PPSとは位相が合ってない。
こんな測定対象信号をゲーティングすると、ゲートが開く時と閉じる時に間違いなく半端に切り出しそう。
すると、ゲーティングによる測定は毎回52/62Hzになる気がするんだが、俺の気のせい?
>>88 > その為にはCPLDが必要じゃんってのが
>>55 の背景だし、厳密に解決するにはマジにこの手しか無い。
やっぱ、CPLD使ったら負けな気がするんだw
インプットキャプチャを使いこなすのが、スレ的には正道だろ?JK
でも、PIC24F16KA102のインプットキャプチャって1chしかなく、16bitしかキャプチャ出来ないやん。
しかも、俺の理解によるとタイマー2かタイマー3しか繋げない。
その上タイマー2/3は内部で同期化されるから、32MHzで動かしたときに扱える上限を4MHzと考えるのは正しいとおもた
ならその前段にAC161を4っつ並べて16bitカウンタを作り、内部と合わせて計32bitでどうよ。
そのカウント結果のラッチに
>>88 の問題があるというなら、
>>75 の意見と組み合わせてAC374でかつ入力信号でラッチ。
そのラッチした出力にはさらにAC374で今度は1PPSでラッチ。
折衷案でかつ合体案のいいとこ取りで、これでよくね?
>>51
>>100 常に1カウント多く出る気がするが…
最終的なカウントから1引けば低周波だろうと高周波だろうと問題ない希ガス
>>102 パルス波なら、常に引いてはいけない希ガス
>>101 AC374をかまして入力クロックでラッチしても、その出力はAC161の出力は
入力クロックのパルス1つ分相当遅れたカウント値が得られるだけで、入力
クロックと1PPSが同期していない以上、本質的には何も解決していない。
16F、18Fシリーズで8ビット以上のADCを積んだチップは有りますか? 自分で調べてみたけど、見つけられなくて、ご存じの方がいらっしゃれば、お願いします。
>>105 すみません。ADCじゃなくてDACです。
107 :
774ワット発電中さん :2011/07/05(火) 11:57:48.08 ID:fktFHaNi
>>106 そんなものはないんじゃないか。PWMにフィルタをかけてDAとして使うか
他のマイコンを検討するか。
PWM+フィルタじゃ性能が担保できないでしょ。高ビット分解能を要求するなら 尚更のこと、I2Cバスとかで外付けした方が簡単・確実・ローコストでは?
「まだやってたの?(w」 (C) 2011 ID:l9v1M6w0
こうして、引き延ばす俺もアレなんだけどさw
>>101 > やっぱ、CPLD使ったら負けな気がするんだw
諦めてCPLD使ったほうがいいと思うよ、俺は。
>>101 > そのラッチした出力にはさらにAC374で今度は1PPSでラッチ。
>>104 > 入力クロックのパルス1つ分相当遅れたカウント値が得られるだけで、入力
> クロックと1PPSが同期していない以上、本質的には何も解決していない。
そうそう、374を単に二段重ねしても誤動作を防げる訳じゃないし。
でもね、実は「パルス1つ分相当遅れたカウント値」でいいのさ。
ロジックICでやろうとしたら、一段にしておいて、
>>74 > なので、1PPSを74を使って測定信号に同期させ、その立ち上がりで
> FFにラッチさせないと誤動作してしまいます。
これでいい。
するとスルーしたツッコミ、、
>>75 > 通して被測定周波数に同期させることによって生じる、1PPSのスキュー誤差
> (遅れのバラツキ)はいいの?
が予想されるけど、こんなのは誰もが知っている簡単な問題。
それは「特性が揃った素子が欲しければ、同一パッケージ無いのもう一つの素子を使う」って事。
つまり、74の中のもう一つのD-FFを161の初段に使えばいい話し。
これだと初段の74からの出力がちょっと速いけど、ちょっとゲートでも噛ませばいい。
もう一つスルーした、
> ゲートタイムの周期(パルス幅)も被測定周波数の周期単位で大きく
> 変わっちゃいますが?
もあるだろうけど、これも問題無し。
何故って、同期化したSync1PPSでラッチしたいのは「パルス1つ分相当遅れたカウント値」だから。
>>110 >「まだやってたの?(w」 (C) 2011 ID:l9v1M6w0
うわ、キモい。
そのキモい自己顕示欲、リアルで発散できないのかよ。
すいません、いま秋月のPIC18FのUSBついてるやつで
信号を送ったらモーターが動くっていうものを作ろうとがんばっているのですが
http://ichigo-up.com/cgi/up/qqq/nm38413.jpg.html ↑
こんな感じで作成したのですが、信号を送るとランプはついても
モーターは回らないんです(手で回してあげて慣性をつけてあげれば回り始めます)
ふつうの単1電池を直接くっつけるとちゃんとモーターは回ってるのですが
ちゃんと信号送ったら勢いよくウィンウィン回ってくれないのはなぜなんでしょうか?
>>112 なぜ12Vモーター
モーターは回り始めにアホのように電流喰うから、その電流値が確保できてないんじゃおまへんか?
というか、12V用意して、ポートからトランジスタでスイッチしなはれ。
>>113 12Vなのはたまたま家にあったからなんですw
USBのバスパワーでどうしても動かしたいので
回り始めにいっぱい必要なら
12Vを貯めれるコンデンサをVDDとC1815の間に挟んでやれば
よさそうな感じというやつですね
115 :
774ワット発電中さん :2011/07/06(水) 00:05:27.91 ID:KeBiQVfW
>>112 2SC1815を使ってるんだよね。電圧もそうだけど、トランジスタとモーターの接続が
おかしくないですか。
>>114 チャージ回路を作る気ならOKだが…電気回路のほうは判っているのか?
>>115 電圧はパソコンからとってるので5Vはあるとおもいます
接続もハンダでしっかりくっつけてるのでまず大丈夫だと
>>116 チャージ回路!?コンデンサってバケツのようなものとイメージしていたので
信号を流さない間にかってに満タンになってくれて信号流す瞬間は12Vきっちり
いけるはずだって考えたんですが、なんか違ってそうですね(*´д`*)ハァハァ
>>177 水は高いほうから低いほうへ流れる
水位が同じなら流れない
電圧=水位だと思うべし
しかも都合よく満タンで12Vきっちりになるわけがない
ちょっとは回路を勉強しなよ
MPLABでpic16fに書き込めない
120 :
774ワット発電中さん :2011/07/06(水) 00:55:53.10 ID:KeBiQVfW
>>117 トランジスタの使い方がおかしいという意味だよ。回路図が間違ってる。
トランジスタのスイッチとしての使い方を見直してみて。
>>114 >12Vを貯めれるコンデンサをVDDとC1815の間に挟んでやれば
コンデンサをVDDとC1815の間に挟んでやれば
. ↓
コンデンサをVDDとC1815の間に入れてやれば
12Vを貯めれるコンデンサ
. ↓
12Vを貯められるコンデンサ
>>119 デバイスとプログラマの組み合わせによっては
MPLABから直接書き込みできないこともあるんですよ。
MPLABのConfgure->Select Deviceで確認して見てください。
パソコンの12V引いてくればいいじゃない
>>122 普通のLED回路を光らせようと思ってる。
デバイスはpickit3使ってる。
>>112 悪いことはいわない
その程度の電気知識でUSBバスパワーを使うのは止めた方がいい
んなこたぁない 実際に壊せばそれが生きた知識になるというものだ
127 :
95 :2011/07/06(水) 08:04:55.47 ID:R55ep5RB
>>97 「器用なPLL IC」は知らないので良ければ詳しくよろ。
俺は675をPLLに使って1PPSから10MHzを作ってる。
Cしか出来ない奴には無理かも知れないが、アセンブラなら簡単なプログラムなので
周波数カウンタと同居出来る可能性もある。
>>117 テスターがあるなら、モーターの両端の電圧を測ってごらん。
ついでに言うと、その回路だとモータOFFにしたときに
トランジスタがとってもかわいそうなことになるんで、
ちゃんと保護してあげて。
トランジスタの妖精エクボちゃん。
ベースに抵抗も何もつけずに信号直結したらトランジスタ燃えて、 なるほどと思った
>>130 それ、信号直結じゃなくて電源直結したんじゃw
>>127 kwsk
何かPLL用の周辺回路が入っているんだっけ?PLLの位相比較器は外部に
付加回路なし?最高の20MHz動作時で200ns/命令のハズだけど、ソフト
だけで位相比較してると?
それと、発振回路がPIC12F675の原発振だったとして、アナログPLLの
場合、位相比較した結果で周波数を制御するため、周波数可変のVXOや
VCOが必要だけどそのあたりは?
それとも、もっと単純に位相比較前段部の1/N分周器をランダムロジ
ックやCPLDで実装する代わりに内蔵タイマを使ってるだけ?
ちなみに、器用なPLLは知らないが、基本的に1/Nカウンタを外付けして
位相比較すれば、発振周波数は任意でよく古典的なMC4044でも可では
ないか?
CMOSの4000シリーズだったか、14500シリーズだったかにも汎用のPLL
ICはあったはず。
>>132 と、言われてCMOSの箱を開けてみた
うん、あるな、有名処が
「4046」こいつじゃねか?
200円位の癖にPLLでは一時覇を取った程だと思った
何せここに5個も残ってやがるw
ただこれメーカかロットで部分的に違いがあるような記事をどっかでみたな
まー探せばいくらもサンプル回路図あるんでない?
連投で申し訳ないけどPLLで思い出した 基準クロックで秋月で100円?だかで京セラのモジュールがあったよね? あれの代わりをどっかで見たんだよね・・・どこだったか ま、PICの話しよぜ!因みに汎用PLL並みにPIC16F84Aかな?使って なんだっけかな?ソフトラジオっぽいチューニング方法をどっかの高専の学生がラジオ作ってたな ブレボでまねしたらかなり高感度高性能で妙に納得した記憶がある
>>133 CMOSやTTLの時代は、基本的に論理的な動作くらいしか互換性ないよ。
なんせ、データシートのAC特性にゲートの遅延時間が25℃時のMAX値しか
書いてないとかザラ。まともにタイミング計算したら、回路が組めない。
秋月コンパチのモジュールは、どこか忘れたけど確か時計のキットを売って
いる個人のサイトで見た記憶がある。ピンコンパチだけど、値段はコンパチ
ではないよ。
>>132 いや、ソフトで組む。ちなみにタイマ0は60MHz以上でも動くから楽勝。
やってみればわかるが、普通のロジックを使ったPLLじゃ1Hzの基準周波数は不可能に近い。
発振回路はマイコン内臓でもクリスタル外付けなら行けるかもしれないが、純粋な10MHzが欲しいので
トランジスタでOCXOを組んでる。制御は675からのパルスをフィルタしOCXOの制御電圧としている。
138 :
774ワット発電中さん :2011/07/06(水) 20:35:33.89 ID:bn7kWJqx
139 :
774ワット発電中さん :2011/07/06(水) 21:02:33.86 ID:G6HxTJkn
ディスクリートでOCXO組んでる人も少数ながらいるよ まぁ温特の変極点で使わないとあまり意味ないけどね
140 :
97 :2011/07/06(水) 22:59:13.08 ID:IIUofyaL
141 :
774ワット発電中さん :2011/07/07(木) 00:41:51.31 ID:8w4doJ50
GPSとかJJYはOCXO使わないとうまくロックしないかも
このスレの住人はPICをどんな用途に使ってるんだい? 仕事、研究、単なる趣味?
>>142 LEDチカチカさせたり
ライターの実験させたりする為にPICを使う
32bitPICでも16bitPICでも8bitPICでも
これが永遠のテーマなのだよ!
144 :
127 :2011/07/07(木) 09:23:32.39 ID:WgQpXhL6
>>138 ジッタとかCNの意味を理解してる?
まあ、Cしか出来ない
>>138 には無理かもしれんが。
>>139 ATカットを温度上げて使う人も居るから理解せずにやってる人も多いのだろうな。
俺は小さなペルチェで温調してる。温度上げるより経年劣化を抑えられるし普通のATカットが使える利点は大きい。
>>140 ありがとう。
1Hz用もありそうな気はするけど需要はどうだろうね。
地デジ対応を安く済ませたい でもHDD録画もしたい ということで、外付けの地デジチューナーを買うことにして、 録画は外部入力をチャンネルに指定する 予約の時間にチューナーのチャンネルを自動で変える必要があって、 それをPICでどうにかしたい どうするのが一番スマートだろう
PT2買う
>>145 赤外線リモコン操作(あること前提)を学習させるプログラムと構成かな。
温度センサもつけてエアコン制御もできてしまうかも。
予約機能が付いてるだけで値段が倍になるので敬遠してたけど、 探せば安いのもあるみたいなので、それにすることにすることにする
DTV板に行くのがスマート
150 :
133,136 :2011/07/07(木) 14:19:53.21 ID:tC5lGzh2
>>150 音を聞くのとクロックを作るためにロックさせるのは別次元だろうにw
>>142-143 全部当てはまってるw
あと、ドットマトリクスLEDを動かした時点で、天狗になる人が多いな。
学生や老害のオワコンは、エラッタ一覧やアプリケーションノートも読まずに、
動かした気分になっているから困る。
(尤も、入門者でエラッタの概念理解しているのはごく少数。学生とかは普通にほかのチップに逃げるでしょ)
>>147 ヤフオクでクロッサム2入手すれば、すべて解決だな。
>>152 pic24fと16fをオワコンと言われないくらいまで勉強するのにどのくらいかかりますか?
>>145 もちろん受光モジュールで学習させて、
EEPROMに記憶してっていうのを考えているんだよね。
NEC、家電協、SONYフォーマットが何わかれば、オワコンのPIC16F84Aでも十分だな。
USB対応PIC使って、そこらのソースをコピペすりゃ、
レガシーポートがないPCでも、受光したデータを確認できるし。
38kHzだったら、アナログ的なノウハウは、工業高校レベルで誰でも出来るから、安心しろ。
キャリア周波数が違っていたら、フォトダイオードの周辺回路とある程度の処理能力が必要だが、それでもそこまで難しいことじゃないな。
>>153 アセンブリ言語も、C言語も、C言語コンパイラが吐いたアセンブリ言語も、コンパイラのバグも理解しなくちゃいけないから、
相当なPICヲタクじゃないと、一寸大変かもね。
PIC厨名乗るなら、そこまできわめるでしょ。
ドットマトリクスのダイナミック点灯だって、自分でゼロからコード書いて いるのはごく一握りで、大半はゴッゴル先生とコピペでは? リモコンのデコードやエンコードも同様。 エラッタはともかく、アプリケーションノートは読まないかなぁ。 ちなみに、赤外線用のフォトトランジスタで受光して、38kHzのキャリア周波数 成分だけを通過させるQの高いフィルタや、その先のコンパレータを、単電源の OPアンプで組んだりするならともかく、赤外線リモコン用の受光素子を使うなら アナログまったく関係ないでそ。
157 :
140 :2011/07/07(木) 23:38:25.35 ID:1SOqO78j
>>144 その10MHz OCXOにCDCE906を組み合わせれば、精度の良いクロックを自在に作り出せそうね。
> ジッタとかCNの意味を理解してる?
たぶん、
>>138 さんはソフト制御でPLLを作ったと誤解している。
位相比較している訳ではないので、PLLではなくFLL(frequency locked loop)とでも言うのかな?
158 :
144 :2011/07/08(金) 00:20:04.76 ID:KWuhM6/b
>>157 FLLはやってる人居るね。
でも俺が作ったのはPLL。位相比較してるよ。2現象のオシロで1Hzをトリガにすると10MHzがきっちり止まる。
159 :
774ワット発電中さん :2011/07/08(金) 00:26:11.52 ID:OVGtPCkD
FLLとPLL、何が違う?
161 :
774ワット発電中さん :2011/07/08(金) 01:31:49.06 ID:gIWtTgil
>>159 2つの信号の位相差か周波数差で制御する違い。
FLLの場合数100mHz以下の周波数差を比較するので制御は数10秒ごとにおこなわれる。
163 :
774ワット発電中さん :2011/07/08(金) 09:53:31.76 ID:OVGtPCkD
>>127 675とはPIC12F675のこと?
>Cしか出来ない奴には無理かも知れないが、アセンブラなら簡単なプログラムなので
>周波数カウンタと同居出来る可能性もある。
これはどういう意味?なぜCではできない?
>1PPSから10MHzを作ってる
10,000,000回カウントして1Hzのパルスと位相比較してるという意味だよね?
温度制御ならフィードバックループは遅くてもいいが、RCサーボでは比較的速くないといけない。
PLLの場合どれくらいの周期でフィードバックかけるのがいいんだろう?
たとえば0.5kHz〜1.5kHzの周波数を作りたい場合など。
164 :
774ワット発電中さん :2011/07/08(金) 09:55:43.46 ID:OVGtPCkD
163です。 >たとえば0.5kHz〜1.5kHzの周波数を作りたい場合など。 0.5MHz〜1.5MHzの間違いでした。
16F84でサーボ制御できた マジうれしすwww
>>165 で、いくつサーボ制御できたの?
まさか1つな訳ないよねw
167 :
774ワット発電中さん :2011/07/08(金) 21:25:26.96 ID:FfCu3F8z
>166 お前は人間のクズだ。 >165 おめ。
プロPICerなら100個は固い
>>163 > なぜCではできない?
あくまで推測だけど、C言語だとソースから直接命令ステップ数が読めない
からかなと思った。
ただ、1命令あたり最小200ns(@20MHz)なので、ソフトで処理するとなると、
I/Oポート読んでビット演算していたら、1us以下の位相比較は実質的にでき
ないと思うんだな。I/Oポートのレベル変化検出で割り込みを使用するのでも
同様。
だから、位相比較は外部回路ではないかと思った。但し、それならシビアな
タイミングは要求されないのでC言語でも問題なく書ける気がする。
あと、発振部がVCOでもOCXOでも、位相比較した結果で発振周波数を制御する
アナログ電圧を発生する必要があるけど、この部分も単純なPWM+LPFだと厳し
い気がする。
それとも、フロッピーディスク用のデータセパレータICに使われていたデジ
タルPLLみたいなのを作ったと言ってるのかなぁ。
170 :
774ワット発電中さん :2011/07/08(金) 21:55:11.42 ID:Eg/WKf5+
>>156 昔リモコンの受信機を作ろうとして
受光素子(TSOP1738)で実験していたところ、寒い朝は正常に作動するけど
気温が高くなると数秒間隔でノイズが出て諦めた。
>>163 > 10,000,000回カウントして1Hzのパルスと位相比較してるという意味だよね?
これって、先週のPIC24Fと同じ問題だよね?
PIC24Fでも面倒くさそうなのに、PIC12で出来るの?
外部にフリーランなカウンターがあるのかな?
俺のチンコサーボならPICいらずに自由に制御… …出来ん…
173 :
774ワット発電中さん :2011/07/10(日) 00:10:46.75 ID:8u0MOh+r
>>170 そのノイズはほんとに気温と関係があるのだろうか?
一般的な赤外線リモコン用の受光素子は無信号時にはパルス性ノイズがあるのが普通だね。
でもパルス信号を受信しているときは、パルスのローレベルの短い時間にノイズ性パルスが
でることは経験上ない。実際に市販のリモコンシステムで誤作動した経験はほとんどないのではないか。
リモコン信号のスタートパターンをノイズと正しく判別し、ノイズなら直ちに受信処理をリセットして
次のスタートパターンを待つようにプログラムすれば誤作動はなくなると思うよ。
ただセンサーの電源ラインには簡単なRCフィルタくらいはいれといたほうがいいかもしれない。
どうせインバーター照明と同期したとかの落ちだろう
人間が耐えられる程度の気温で誤動作したら製品として使い物にならないしな
インド向けの製品は低温側がかなり緩いらしい
※ 赤外線リモコンを課題で製作している諸君 ※
必ずテストに出るから、
>>174 の内容のメモを取っておきなさい。
>177 それより >173の >ただセンサーの電源ラインには簡単なRCフィルタくらいはいれといたほうがいいかもしれない。 こっちの方が重要かと。秋月で受光素子を買った時、資料にRCフィルタ入れろと書いてあったのに 無視して作ったらノイズ凄くて全く読めなかったけど、資料通りに入れたら何の問題もなく読めるようになった。
そのノイズの原因が照明だと気づかんのは哀れだなw
悪魔の照明
LF帯ってノイズ除去が重要だなーノイズ源だらけ そういえばJJYもノイズだらけで帯域絞ったら読めるようになった やっぱインバータとかのノイズがよろしくないんだろうな
>>170-181 _人人人人人人人人人人人人人人人_
> わりとどうでもいい <
 ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^^Y^ ̄
ヘ(^o^)ヘ
|∧
/
外人もPICにはうんざりなのは判った
186 :
183 :2011/07/11(月) 13:52:49.02 ID:8xAZH2+d
自己レスです。 Pickit3で問題無かったのにPickit2に代えたら異常となった。 てっきり潜在的な問題があるのかと考えたのだけれど浅はかだった。 ICSPのケーブル断線というしょうもないオチで申し訳ない。 >184 PICにうんざりしたの訳ではないと思うよ。乗り換え先は 18f25k22だもの。
>>186 ダメな奴ほど製造元のバグのせいにするよね
死んじゃえばいいのに
>>187 ダメな奴ほど、自分がダメだと認識しないから当然だろ
人のせいにしたり、物のせいにする人間だからな
こういった性分は幼少時の教育に左右され、
大人になって直るものじゃないと思う
先祖代々、ダメ人間ってことだな
ダメだって いいじゃない PICだもの さっさとA○○に乗り換えれば ハッピーになれるものを
192 :
170 :2011/07/11(月) 21:44:48.68 ID:tLBeuu4H
>>191 学生風情でダメだってわかっているなら、直ちに(ARM、AVRに)変えるのが普通だよな。
特に、論理的思考が苦手な暗記脳の中高生には、アセンブリ言語に於いては、フラグ調べて分岐よりも、直接分岐する命令の方がわかりやすい。(自分がそうでした)
いつまでも後閑哲也さんの本片手に、「できた、できた」では、少しかわいそうな気がするし。
趣味だと、せっかく買ったお小遣いがっていう問題があるから、ロートルのための給与かお小遣いまではそれで我慢するんだな。
アホの子でもわかりきった上で使うのが仕事というものだよ。
Cがわからないおっさんのために、Cでやるはずのところをわざわざアセンブリ言語併記のバイリンガルにしたぐらいだから。
仕事では使えないがdsPIC33は面白そうだなぁ。
DIPにもかかわらず、タッチパネルのフリック入力でジェスチャーで解錠するアプリケーションぐらいは出来そうだ。
>>192 ・立ち上がった時間をタイマXで判定
・参考書とか、グッグル先生でLPFの定数を調べる。
(LT spiceが使えればベスト)
>>193 > 特に、論理的思考が苦手な暗記脳の中高生には、アセンブリ言語に於いては、フラグ調べて分岐よりも、
> 直接分岐する命令の方がわかりやすい。(自分がそうでした)
この類の命令ってx86のJCXZぐらいしか思いつかないが、どのアーキテクチャの命令セットを
さして”わかりやすい”と言ってるかが気になる・・・
>193 そういうわかりやすさを優先するなら、 ARMの特色である「条件実行」なんて削られて当然と言えるだろうな 実際、Thumb命令では削られてるが。
197 :
774ワット発電中さん :2011/07/11(月) 23:43:09.69 ID:lqU/o5G2
>>192 キャプチャ波形では確かにノイズが見えてるね。それだと正しく信号を読み取れない。
でも同じセンサーを使ったことあるけど使い始めのときは同じようなノイズに悩まされたけど
最終的には誤作動することはなくなった。他にも使用実績は多いと思うのでセンサー自体に特に
問題があるとは思えないんだよね。
どれくらいの頻度で読み取りエラーが発生するのか?トランスミッタ側は市販のリモコンなのか、
自作のリモコンなのか(出力が違う)?送受信の距離はどのくらいでテストしてるのか?センサーに直接太陽光が
あたっていないか?電源にノイズを発生するような装置がまわりにないか?とか
いろいろわからない点があるから適切な助言を送るのは難しい。
ARMとかAVRは使い易さと性能を求めて考え出されたアーキテクチャだし 血筋がそもそも違い過ぎる 一世を風靡したPSGに比べて、PICはあまりに酷い
グッグル先生 で検索した結果 1〜10件目 / 約53,000,000件 - 0.15秒 グーグル先生 ではありませんか?
このスレも変なコテが住み着いたなあ。
>198 PIC16Fは設計が古いのだから後発のAVRやARMとアーキテクチャを比べてもしょうがないだろ ちゃんと後継に18Fや24F/H,dsPICも出てるし、24F以降はだいぶ洗練されてるよ。 逆に言えば設計も古く、アーキテクチャもひどいPIC16Fが今も現役だってのは、それらがたいした 問題では無いって事じゃないのか?
16Fでもパチスロの設定判別は完全に出来ましたよ。 当時は最先端でしたが
203 :
774ワット発電中さん :2011/07/12(火) 01:35:58.75 ID:WJ34IHyV
Cコンパイラがかなりの部分を吸収してくれるからね。 16Fあたりで32ビット長のデータを扱うプログラムを走らせてるなら32ビットマイコンとの 速度差はかなりでかいと思うが8ビット処理のコードを32ビットマイコンで走らせても名前が表す ほどの動作速度的なインパクトはないんだよね。しかもせっかくの高性能32ビットマイコンだからと バス拡張しようとしても外部データバス幅は16ビットしかなかったり。 どこかに書いてある32ビットの売り文句に乗せられて自分で判断することができないんじゃないかと 思ったりする。
>>203 それじゃPIC使う意味無いじゃん
それに趣味で弄るようなユーザーが使うのは
ほとんどが問題の多いPIC16Fなんだし
>205 逆なんだよ。 どのワンチップマイコンでも出来るじゃん→じゃあPIC12/16Fでいいや 使い慣れて、情報が多くて、秋月のおかげで安価で入手性も良い。
どのワンチップマイコンでも出来るじゃん→使い易くて情報が多くて秋月で買える ・・・だとPICじゃなくてAVRが選択肢じゃん。PIC16Fには何の優位点もないよ
>>201 > 逆に言えば設計も古く、アーキテクチャもひどいPIC16Fが今も現役だってのは、それらがたいした
> 問題では無いって事じゃないのか?
そう思っている間に80やら68は消えたな。
30年続いたPICが、あと30年使えるなんて甘くはないよ。
>>203 8bit処理って、単なるシーケンス処理だろ? しかもI/Oさせながらたろ?
それで大差が無いって、それはI/O処理の話しジャマイカ?
それと外部32bitって、何年前? 今時外部32bitなんかにしないよ。
Rocket I/Oでサクっと繋ぐのが普通w
この手の宗教論争じみたフレーミングはすぐに収束するもんだけどなあ… なんでスレ跨いでまでやっってんの? かつて技術系のMLやBBSにあった「個人の好みを議論するのは不毛」って コンセンサスは失わたのかね。
>207 あなたにとっては、そうなのかもしれないけど。 じゃあ何の優位点も無いPIC16Fがまだ使われているのはなんで? 1)使い慣れて(既に開発環境があって、使い方もわかってる。使い易いかどうかは別) 2)情報が多くて(出版されてる書籍も多いし、後閑さんのHP等の情報も豊富) 3)秋月のおかげで安価で入手性も良い(ココはAVRも同等かなTiny2313 \100はいいね) 他にもあるだろうけど、こんなとこでしょ。
>208 なんで先の事を心配しなきゃいけないの? もう使えないと思ったら、その時 別なのに移行すれば済むだけ 趣味で使ってる分には何の問題も無い。 仕事で使ってる人は…2chに仕事の話なんて書きこまないよね
古い人は去り新しい人は入ってくる。 何年も同じ人たちが同じ議論をしてるわけでもあるまい。 ・・・多分
>>208 ・別にPICでもAVRでも、目的が達せられるなら、どっちでもいいと、本当は思ってる。
・しかしPICでうまくやっているのに、AVRとか言う別のマイコンを覚えたくない。
・AVRの信者の勧誘が嫌い。特に何も言わなければ「AVRもやってみよかな」と思う。
・AVR信者は「AVR以外はマイコンじゃない」ぐらいの勢いで言うので、それだけでイヤ。
・AVR信者は・・・
・AVR信者は・・・
・AVR信者は・・・
・AVR信者は・・・
ってとこじゃないかな。
AVR信者とエホバは良く似ている ・他人の家にズカズカやってきて、求めてもないのに宣伝しまくる ・帰れと言ってもしつこく居座る ・やっと帰ったと思っても、次々違うヤツがやってくる ・自説は絶対であり、自説に同調しない者は、憐れなヤツだと思ってる ・自分が信じるのは結構だが、周りの人にも強制する etc. etc... 神の王国なんかに入れてくれなくて結構なので、放っておいてくれ
マイコンの優劣なんて関係なく、PICしかできない故に離れられない、ネットに 転がってる情報が多い(=本質を理解していないので劣化コピーしか作れない) あたりが理由でしょ。 まぁ、本人は強く否定するだろうが。
>216 それでいいんだよ。 趣味でやってる人は、マイコンを理解したくてやるんじゃ無くて作りたい物があるからやるんだから。
最初はコピーから始まってだんだん理解していくモンだと思うけど。
PICからはじめたからPICで済む用途はPICで済ましてる 買い置きもあるし、USB付きの石が手ごろなのもある 別にH8もARMもNiosもMicroblazeも使えるけどAVRは使った事ない 買い置き切らして、デバッガ付きのライタが安く手に入るならAVRに移行してもいいかなと思うけど
>>216 今の時代で、他人のふんどしでやった気分になっている人の代名詞は
ardiunoだけどね
本当に電気のデの字も知らなくても出来るので、デザイナーとか全然電子と縁がない連中が手を出す。
PIC16F877とか84が厨房の代名詞っていう考えは少し古いね。
>>216 が的を得ているように思う。
他のプロセッサは「プログラミングしやすい」とか「速い」とか
聞いて知っているけど
古いPICは情報が多くてコピペしやすいから乗り換えられない
実のところ未だにPICが生きながらえてるのは、
PIC教()の総本山、秋月の存在が大きいかもね
>>220 お前おんなじことばっかしか書かないな。
どっかいけよ気持ちわるい。
うんうん。的を得てる。
では>216の意見で まとまったという事でAVRやARMを信仰している方はお帰り下さい。 必要になった時はこちらからそれぞれのスレを参考にさせてもらいますので
PIC原理主義ですね。わかります。毎日秋月の方向に礼拝するのでしょうか? でも、自称クリエイターのあるでぃ脳も、大半はネットのコピペだから、 ご心配めさるな。 劣等感というよりも近親憎悪なのかな?あるいは、癖のあるPICにデキの悪い 愚息(非オットセイ)を投影しているとか。
的なんか貰って嬉しいか?
>>212 > なんで先の事を心配しなきゃいけないの?
逆になんで新しいのに目を向けないの?
新しいのって、凄く面白いじゃん。
新チップのデータシート読みながら、昔不満足な出来だったアレをこのチップを使ったらどうなるか、ワクワクしない?
こいつならアレが出来ると、新しいアイデアに興奮しないの?
日本人って、携帯とかは新しい物好きなのに???
>225 ただのワンチップマイコンを信仰したりはしないよ。わざわざ他のマイコンのスレで 布教活動しないし、このスレで新規に始める人きたらAVRを勧めてるだろ。 やっぱり、おまえPICスレ来てPIC使ってる人をバカにしたいだけなんだな(>11)。
>PIC使ってる人をバカにしたい人 いまだにPIC使っている連中が、PIC16F84あたりでシコシコやっているイメージしか頭にない、 ドッグイヤーのネットから、隔離された、孤独者だから。
>>229 悪いか?
昔からあって、参考資料が膨大にあって、それなりに安価で、性能が十分ならそれでいいだろ。
性能が不十分になって初めて他のマイコンに手を出せばいいし、
PIC16F84で十分な工作?ダサッ と言われる筋合いもない。
どうでもいいが、dspicでpictncの改良版を作りたいんだが、
誰かpictncのソースの解読とAX.25プロトコルの実装手伝ってくれw
>>230 それでいいだろ?って言われたって、ヘタすれば30年前の8bitパソコンより少ないメモリ環境。
そこにちっちゃなプログラムを書いて、動いた動いたと喜ぶ?
それ、面白いの?
どっちみちPICなんてそんな単純作業を行う用途にしか使われないだろ
>>231 作っていて楽しい工作だからといってハイスペックなマイコンが必要とは限らないんじゃないか?
バーサライタを作って、それをモーターで回転させて時計を作るのをたまに見るがあれに必要なスペックはそう高くない。
でも、見てて派手だし結構面白いと俺は思うぞ?
234 :
51 :2011/07/13(水) 02:04:37.29 ID:SdpIiOUP
周波数カウンタの件でお騒がせした>51です。
とりあえず素直に割込みで、ソフトの方を作ってみました。
すみません >アドバイスいただいた方々
ttp://loda.jp/mcnc/?id=231 秋月の今は亡き12.8MHz高精度オシレーターを測定すると12,800,000.4xxHz(1000秒)と
なかなか良い感じです(xxの部分は安定しない)
初めてのPIC24Fで戸惑ったけど、慣れれば良い感じになりそうです。
>231 別にPICファンじゃないオレでさえ、オマイサンの理屈はおかしいと思う。 >217とか>219とか>230、>232、>233 の言ってる方が妥当だろうと思うんだ。 自分が使いたい石を使えばいい。 それで性能不足なら、それから対処を考えたら充分。 オレはまだ、どの石に手を出すかを考えてる段階だけど、 231の発想には賛同できん。
>231 創造性のないアホには理解出来ないだろうけど、PICを使うことが目的じゃなくて 何かを作る手段として、1パーツにPICを使ってるんだよ。 全てのパーツが最良のものでないと何も作れないの?
237 :
774ワット発電中さん :2011/07/13(水) 02:09:22.33 ID:PdDm1SVQ
1822の基準電圧源とDACは便利だお LEDの明るさ変えるのに重宝してるお
>>236 もし使ってるのが16Fなら、別のプロセッサ(例えばここで叩かれてるAVRとか)
を使えばプログラミングの労力を別の部分に振り分けられるかも知れないよ
新しいのを使ってるならそのままで良いと思うけど
>238 PIC16Fも慣れればそれほど苦にならないよ。Wレジスタ1個しかないというけど RAMとWの演算結果をRAMに入れられるから、RAMをレジスタのように使える。 引き算(SUB)が逆なのもそういう理由だと思う。 この辺は個人の主観だから他人にはわからないだろうけど。 それとココでAVRはたたかれていないよ、逆によく出来たマイコンだと 思ってる人が多いはず。 叩かれているのはPICスレまで来てPICをけなして、さらにPICを使っている人まで けなす奴が叩かれているだけ、人として行動がおかしい。
>>236 それってさぁ、最良でない(=並か最悪)(=使い辛い)なPIC使って、俺はこんなに創造性のあるものを作ります/作りましたと言っている訳でしょ?
でも、中身は30年前のワンボードマイコン(古!!)にI/O繋げているのと一緒。
全然説得力無いんだけど…。
生きている化石、シーラカンスかと思ってしまふ。
>>240 端から見てても不快なんだけど
なんか楽しいのか? そういうの。
ほら、夏休みに入ったことだし。
>>243 人に迷惑を掛けることに血道をあげる奴は死ねばいいんだよ。
ほんと死ねばいい。
あぁ、東電の方でしょうか?死ねばいいとはフクシマの人のことですか? 被災民は死んでいるようですが、それとも逆でしょうか?
246 :
774ワット発電中さん :2011/07/13(水) 09:27:16.57 ID:zRofoj25
>>237 秋月で買えないのは残念。店頭では売ってるのかな?
理屈で勝てないとわかると話を飛躍させる奴って頭悪そう
>>246 テンプレ
>>2 の新シリーズのことでそ。
秋月でも売ってるよ。
16F88から乗り換えようと思って、16f1827買ったけどまだ使って無い。
基準電圧は外部回路が減るし計算も楽になるから便利っぽいな
250 :
774ワット発電中さん :2011/07/13(水) 11:06:25.92 ID:zRofoj25
>>247 クワッドパッケージはPICらしくないね。高いし。秋月でDIPタイプ早く取り扱ってほしい。
ところでPIC16F1822でmicrochipのサイト内で検索してもpickit2関連のものだけでチップ自体の
情報が見つからないんだが。
12F1822
253 :
774ワット発電中さん :2011/07/13(水) 12:28:27.60 ID:zRofoj25
このDACはVREFの延長線上の機能で分解能が低いから一般的なDAC用途としてはちょっとって ところだな。ただバッテリー動作でADCを使いたいときは便利だね。 16Fシリーズの最新型と18FシリーズってCコンパイラとともに使うとき何か違いがあるのかな? 特になければ12/16Fと18Fで機能が同じなら前者から優先的に選びそうなんだけど。安いし。
>>253 18Fは容量が大きいので、
ドットマトリクスやモノクログラフィックLCDを動かす時に便利。
でも、周辺機能は最型16FはDACやオペアンプ、captouchがあったりするので
モノクログラフィックLCDうごかすとかじゃないなら断然16Fの最新型がいい。
18FはPIC17Cのフローで当時の上位機種として作られた。
しかし、今では24や32があるなか、中途半端な価格性能比の、終わコンでしかない。
>245 あっちで会津を叩き続けてるひとかな? 鬱陶しいから黙ってくれ。 アンチ会津の粘着は頭がおかしい。
>>255 > CLC(Configurable Logic CELL)
> NCO(Numerically Controlled Oscillator)
> CWG(Complementary Waveform Generator)
これだけだと、PSoCの二番煎じに思えるがどうなんだろう?
CLCはD-FFを何個あるのか?
pdfのフォーマットが特殊でスマフォから開けんorz
258 :
774ワット発電中さん :2011/07/14(木) 09:52:53.98 ID:BVujmr1O
>>257 PSoCはアナログ部分の自由度が特徴的な印象がある。マイコンとは開発手続きが違うので
マイコンと同じ手法で使えるこの手の機能は大きなメリットがあるのでは?
>>258 「マイコンと同じ手法で使える」となると、逆に魅力を感じないかな。
Logic Cellと聞くとCPLD/FPGAを連想する。
FPGAにソフトマイコンを追加するのがアルテラやザイリンクスなら、
マイコンにFPGAを追加するアプローチがあってもいい。
8bitならシリコンが余っているだろうし。
PDF見る限りは、そんなに高機能なもんじゃないみたいね>CLC 論理1個 or FF1個分を、外付けしないで済みますよって程度みたい。
>259 モトローラかどこかのマイコンで、 チップ上にFPGAのようなアレイを内蔵してる石があった希ガス。
262 :
257 :2011/07/15(金) 00:30:45.29 ID:uN1mr725
>>260 pdf見た。
うむ、CLCよりCLCを制御するレジスタの方が多そう。
CPLDとは言わないけど、せめてPLD位の機能を持たせても良かっただろうに。
PLDと汎用マイコンって製造プロセス一緒で行けるのかね? 特許絡みで躊躇してるのかな。
>>263 FPGAならSRAMだから問題ないだろうね。
CLCもその方向だし。
265 :
774ワット発電中さん :2011/07/16(土) 02:01:58.49 ID:Lp5abHHQ
MIPSだけで判断するのかw 値段の差が性能の差ですよw
>265 その表のPIC16FもAVRもDhrystone MIPS値じゃなくてただのMIPS値の様な気がするが さらにPIC16FのMIPS値は5MIPS@20MHzだろと まあ速度が必要な用途もあるだろうけど、マイコンの場合 上限周波数で動作させている方が 少ないんじゃないか(PIC16Fを20MHzで使うより内部クロックで使う方が多い)
>>265 > PIC16Fでもインテル386DXとそれほどかわらない
4MIPSと11.4MIPSが同じだと言う訳?
それと
>>267 さんも指摘しているけど、MicroChipはDhrystone MIPSだと明言してないよ。
>268 横レスだが、たぶんwikipediaの記事書いた人の勘違いだろ 4MIPSという記述をDhrystone MIPS値と思いこんで記事を書いてるだけとしか思えない。
270 :
774ワット発電中さん :2011/07/16(土) 19:35:38.20 ID:Lp5abHHQ
wikipediaって素人でも誰でも書き換えできるんだっけ?
271 :
774ワット発電中さん :2011/07/16(土) 19:51:06.84 ID:Lp5abHHQ
>>268 >MicroChipはDhrystone MIPSだと明言してないよ
この意味がよくわからないんだけど。wikipediaの情報が正しいと信じるなら「Intel 386DX」も
「Microchip PIC16F」もDhrystone MIPS値であると読み取れるのではと思うのだけど。なぜなら
「Motorola 68000」は「1 MIPS at 8 MHz (Dhrystoneではない)」と明記されてるので。
Dhrystone が走るほどのメモリサイズを持ち合わせない16F84で、 どうやってDhrystone MIPS値を測定したと思ったんだろうな。
それより4クロック1サイクルなら20MHzでは 4ではなく5MIPSじゃないだろうか。 一体wikiペの値は何なんだ。 しょぼい命令セットに対するペナルティのつもりなら もっと低くなるはずだが。
275 :
774ワット発電中さん :2011/07/17(日) 01:03:14.92 ID:gYgRbkFf
>>272 なるほど、そこまでは見てなかった。
>>274 普通のMIPS値に比べればDMIPS値は低い値になるってことかな?
参考として、「このCPUではMIPSではいくらだけどDMIPSではこの値になる」みたいな
情報があれば、そこからおおまかに推測できそうだが。
つーか8bitのPICじゃ1DMIPSもいかないってば
インテルと比べるなんておこがましい ぜいぜい同周波数の8080と戦ってろって事だな
8080なんておこがましい。せいぜい8008だろ
PICの用途では、Dhrystoneは意味ないよね。
>277-278
いや、同じ組み込み向けである80C51と戦うべきだ。
クロックあたりの性能だって似たようなレンジだろ?
>280
いやまあ、意味がないのはみんな理解してると思う。
ただ、知りたいんだよ。
ということで、ソースコードを探してみた。
既に世間の興味が去ってしまった古いベンチだからか、見つかりにくかったが、
ttp://www.xanthos.se/~joachim/vaxmips.html のページの最下段がソースコードのようだ
ttp://eetimes.jp/content/3650 の記事によれば、8051の場合で3.2kB近いコードサイズになるようだし、
ワークメモリも少なからず使う(文字列のコピーとかも行うから仕方がない)から、
けっこう上位のモデルじゃないと動作しないと思うが、誰か挑戦してもらえんだろうか?
>282 PIC24もdsPICも実質2サイクルで1命令(PIC16Fは4サイクル=1命令)だから 同じ16bitMCUで1サイクル=1命令なMSP430の方が周波数当たりでは高速でしょうね。 MSP430は25MHz版(25MIPS)まででdsPIC33は80MHzの40MIPSだから 速度的にはdsPIC33が勝っているけど、この速度が必要な用途がそうそう あるわけでもないな…
>>281 8051だったら、Silicon LabsのC8051F12x(100MIPSpeak)でもええのか?
285 :
774ワット発電中さん :2011/07/17(日) 21:58:09.22 ID:gYgRbkFf
電子工作でいろいろ作ってるとうっかり定格以上の電圧をかけたりすることがあるよね。 PICとかH8とかそういう定格以上の電圧がかかっても短時間なら壊れることはないけど Silicon Labsのマイコン、過電圧に異常に弱くないかな。このメーカーのマイコンはいくつか 故障と思われる経験がある。他のはないけど。
286 :
774ワット発電中さん :2011/07/17(日) 22:09:30.35 ID:cWHRX6AI
俺は大便を一分で済ませられるぞ! 早いだろ〜 ブポポツ! カラカラ ジャー! 頭のMIPS値は100ピコMIPSだけどな!
> 俺は大便を一分で済ませられるぞ! それ、普通・・・
俺はゆっくり出さないと痔が騒ぐ・・・・
DhryStoneをi8080とかZ80で実行するなら処理の大半は 整数乗算と除算時間が支配的になるんで、ハードウェア の除算器がないPICはきついだろーな。
>>285 > うっかり定格以上の電圧をかけたりすることがあるよね。
無いな。
しっかり、指差確認して電源入れる癖を付けるといいよ。
電圧よーし (ビシッ!
16F84Aだけど7V入れたら壊れたことあるぞ
なんで5V定格の所に7Vとか入れるかなw
電池の6Vなら内部抵抗による電圧降下があるのでぎりぎり動く
>>294 充電式の1.2Vなら、4本で4.8Vだ。 3.3V〜動作するPICならそれでいける。
296 :
774ワット発電中さん :2011/07/18(月) 13:16:25.25 ID:xWuNfNvW
>>285 H8マイコンに三端子レギュレータの故障に気づかず10V程度が数十秒の間かかってたことがあったんだけど
マイコンが壊れなかったって経験がある。「うっかり定格以上の電圧」って書き方をしたけど真意は「明らかな
異常電圧」のはなしじゃなく、定格上限を超えるか超えないかのところでほんの一瞬の過電圧ってことだったんだけど。
Silicon Labsのマイコンは最大定格4.2Vでバッテリー動作用にデザインされたと思われるマイコンがある
けど、電源の抜き差し時に起こりうるノイズ性の過電圧程度でも簡単に壊れやすいんじゃないかってはなし。
まあ、自作系でメジャーなマイコンじゃないから特に関連情報もでてこないだろうけど。
297 :
774ワット発電中さん :2011/07/18(月) 13:35:20.62 ID:COaSKcSh
>>295 3.V系なら3本だろ。じゃないと多くは定格オーバーするよ。16F84Aをエネループ4本で使っているがちょうど良い。
過電圧が怖いならツェナーを入れるのは昔から常識。
299 :
290 :2011/07/18(月) 15:43:22.39 ID:UINRuHd3
(二度も否定して申し訳ないけど)
>>296 > H8マイコンに三端子レギュレータの故障に気づかず
まだマイコン少年だった頃はやった気もするorz
でも、今は無いなぁ。
まず、回路図を書く前に各ブロックの消費電流を計算して、それに見合ったレギュレータを選定する。
次に、ショートしそうなところにはPTCで保護する。
最後は、
>>298 > 過電圧が怖いならツェナーを入れるのは昔から常識。
うん、常識。
その他、突入電流が定格を超えないかとか検討するとか、パワーアップシーケンスを考えるとか、パワーダウン時に各電圧間で逆電圧にならない様にダイオードを入れるとか、考慮しなけりゃいけないところは色々あるし。
> 定格上限を超えるか超えないかのところでほんの一瞬の過電圧ってことだったんだけど。
そうならない様、定格内に治まる設計をするのがいいよ。
>>299 >回路図を書く前に各ブロックの消費電流を計算して
これは具体的には、どのようにして計算するのでしょうか?
301 :
298 :2011/07/18(月) 18:38:10.50 ID:xZttJ0Cb
>>299 パワーアップやパワーダウンの振る舞いは、期待した通りかどうか確認しないとヤバいよね。
大昔に、5Vと12Vを使う回路で、5Vの立ち上がりが速くて、CMOSのバッファがボロボロ死んだ。
暫定対策で5Vから12Vへダイオード入れて、恒久対策は12V系から5V作った。
ツェナーの5.6Vは5V系に直結するにはぴったりで良く使った。
ショートモードで死ぬことを保証してるヤツを選んだけど、実際に死んで赤熱とか笑った。
>>300 どの様に計算するって、極普通のやりかたなんだけど…。
・ブロック図を書いて、そこに適切なキーコンポーネントを選定する。
・選定したら、そのデータシートのIccの項を見てすべて書き出して合算する。
・明記されていない事が多々あるから、参考になりそうな値から見積もる。
(Voh,Volの項に書かれている計測電流を全部合算したら幾らとか、Ioh,Ioiの値を合算するとか)
(そこにコアの電流を加算すればOK)
・FPGAとか、消費電流を計算るツールが提供されている場合があるから、そういうツールも利用する。
・さらにそこにPull-up/downの電流も加算する。
・それらにディレーティングを加えてそのブロックの想定消費電流とし、レギュレータ選定に用いる。
こんなとこ。
肝心な事を書き忘れorz
>>301 > 恒久対策は12V系から5V作った。
うん、パワーアップシーケンスって大事。
なので各ブロックの消費電流を見積もったら、ブロック図とは別に電源系統図を書く。
例えば5Vには、5V系以外にパワーアップシーケンスを勘案して5Vか3.3Vを作るとか。
そうではなく、3.3Vを5Vから作ると5Vレギュレータがデカクなるから12Vから作る。作るけど、3.3V系レギュレータのイネーブル信号は5V系から作るとか。
それで要求される立ち上がり時間に間に合うかな?とかも考える。
なんだかんだで全体をデザインして、最終的に各レギュレータをデザインして、回路図に落とすという極普通のお話。
セリアの昇圧USBでいいだろ 300mAくらいまでは概ね5V出ると信用していい。
教えてください。 巷で売っている電池式の扇風機を、 PICで回転数を変化させようと思います。
回路から仕組みから全て教えろって事かな?w
希望通りの製品を作って権利諸共よこせって事だろ。
PIC使わなくてもそういうドライバーが1チップになってないか
部品屋で12F1822発見して買ってきた、ひとつ120円で安い! こんな田舎で手に入るなんてありがたやありがたや
>>305 > 教えてください。
>
> 巷で売っている電池式の扇風機を、
> PICで回転数を変化させようと思います。
>
PIC使わないで、555使おうな
プログラム使わなくても出来るよ
おれもそれは思った。 空中配線すれば100円掛からないかな。
模型用の安いマブチモーターならパルス関係無いから
315 :
774ワット発電中さん :2011/07/19(火) 22:50:42.91 ID:y4Eo6ajg
>>311 手元にあるエレコムのUSB扇風機は風力が変えられるんだけど、
風を弱くしても、常に風が当たってるというのは意外と疲れるんだよね。
で、PICで適当に乱数出してPWM制御したら
いんちき1/fゆらぎができるかなぁなんて思ってたとこなんですけど
どんなものでしょうね。
>>315 >
>>311 >
> 手元にあるエレコムのUSB扇風機は風力が変えられるんだけど、
> 風を弱くしても、常に風が当たってるというのは意外と疲れるんだよね。
>
> で、PICで適当に乱数出してPWM制御したら
> いんちき1/fゆらぎができるかなぁなんて思ってたとこなんですけど
> どんなものでしょうね。
ほほう、そういうことなんですね
PICで出来るんでないかい(マジでやるのならdsPICか?)
PIC − FET−Moter でいいんでないかな
FETはモータの消費電流によってはダーリントンにしてね
Moterにはサージ吸収用ダイオードもよろしく
FETでダーリントンとか無茶苦茶いってるなw ダーリントンはバイポーラじゃなきゃ使えないし、 そもそもFETなら電圧駆動だから増幅率気にしなくてOKだし
ついでに全引用でウザい
>そもそもFETなら電圧駆動だから増幅率気にしなくてOKだし おまえも相当無茶苦茶言ってる気がするぞw
負荷が「モター」ならその理論でもOKなのかも知れない
PWMキャリア周波数とモータのインダクタンスの関係を気にする必要がある。 課長行きでのPWMはうるさいからね
>>319 なんか変な事言った?
電圧駆動だから1mAの駆動能力しかなくてもFETで10Aだって流せる。
バイポーラは電流増幅率hFEを掛けた値までしか流せないからダーリントンとかが必要。
もちろんFETは容量性負荷だからスイッチング速度やスイッチング損失には影響あるけど。
例えば、こういうとき(>305)って秋月にある中でどんなMOS-FET選ぶ? おそらく 電源3V,マイコンで制御,対象モーター,電流Max1A位 パワーMOSFETってVGSが3VだとRDS大きいし、ゲート容量大きくて マイコンから直だと高速なスイッチングが出来ないし
324 :
774ワット発電中さん :2011/07/20(水) 01:25:27.88 ID:ywcghA5P
>>323 >パワーMOSFETってVGSが3VだとRDS大きいし、ゲート容量大きくて
マイコンから直だと高速なスイッチングが出来ないし
教科書的にいえばそうだけど、ロジックレベルのFETなら実際にやってみると3Vでも
十分に駆動できる。電流1、2Aというのはそんなに大きな値ではないし、スイッチング
速度もせいぜい数百から数キロHzってところで速いとはいえない。数百から数MHzで大
電流をスイッチングする昇圧レギュレータなどで問題になってくる話じゃないかな。
uPA2753GRは結構好きなFETだな。 PIC直結でも200kHzのスイッチングは余裕だった@5V ただ電源3Vは電源電圧低下するときつい気がする。 秋月でもP-chは低閾値のFETがあるけど、N-chはないかな?
326 :
774ワット発電中さん :2011/07/20(水) 14:41:03.40 ID:b9/oO2ZM
GPS受信機を買いました。後ろから1秒と10MHzが出ているやつです。 この1秒は、どのような原理で出てくるのでしょうか? 10MHzを分周して1秒を作っている、GPSからの1ppsと比較している、程度は知っています。 GPSの電波の何から1ppsを作っているのか、みたいなことが知りたいです。 すれ違いでしたら、誘導をお願いします。
GPSの衛星は原子時計を積んでるんだぜ?
買った受信機は、Z3805Aです。
>>327 >GPSの衛星は原子時計を積んでるんだぜ?
私の説明が悪いですね、すみませんでした。
それは知っていますが、そういう話ではなくて、
L1の1575MHzの電波から、どのようにして1ppsが出てくるのか、
知りたいということです。すみません。
検索すると、自位置の算出原理は、たくさん出てくるのですが、
1ppsの出てくる原理が見つけられません。
質問はまだたくさんあって、
搭載されているOCXO(Oven controlled X'tal Oscillator、恒温槽付き水晶発振器)の
の種類(メーカーと型番)によって、10MHzの正確さが変わるものでしょうか?
GPS受信機から出てくる10MHzが、本当に10.0000000000MHzなのか知る方法はないでしょうか?
GPS受信機から出てくる10MHzの、ジッター(Jitter, 周期バラツキ)を測定する方法はないでしょうか?
どこか適切なスレがあれば教えてください。
332 :
774ワット発電中さん :2011/07/20(水) 18:13:30.87 ID:R/1F8h1G
>>329 GPS受信機が測位できている時、UTCに同期した1PPS出力を生成する。
これはUTCに対して100ns〜1μs程度の誤差がある。ただしこの誤差は累積さ
れない1000秒では1E-10程度の誤差になる。
もっと長期だともっと誤差が小さくなる。この1PPSでOCXOを制御することで、OCXO単体より高精度の発信器が実現できる。
333 :
774ワット発電中さん :2011/07/20(水) 18:18:16.03 ID:R/1F8h1G
>>332 訂正
1E-10程度の誤差→1E-9〜1E-10の誤差
>329 ヤフオクでも4,5万するZ3805Aを入手しておいて、全然関係ないPICスレに質問するのか理解できませんが 測定器、計測器のスレとか水晶振動子のスレに行った方が良いです。 ただその超高精度な物の誤差を測定しようとすると、とても個人で手に負えるものではないと思いますが。 まさかと思いますがピュアオーディオ関係ですか?
質問者も回答者も酷いと思わないか
336 :
774ワット発電中さん :2011/07/21(木) 06:51:34.01 ID:LdRGdl4H
10MHz、1PPSをPICで使いたいが、ふとその仕組みが知りたくなり、ついここで質問したとか...
自分で作りたかったんじゃね でもこんな所で聞いてるレベルじゃ無理だな。 技術的にも読解力的にも。
nanoWatt XLP ってどこで買えるの?
>>337 チャレンジすることに意味がある、最初はね。
>>339 2chにチャレンジするよりも真面目に勉強する事をお勧めしておく。
>>338 >>341 nanoWatt XLPというのは製品の名前じゃなくてアーキテクチャーというか
テクノロジーの名称だから、マイクロチップから直接買うしか無いんじゃないかと・・・
売ってくれるかどうかは知らんww
マイクロチップを買収しちまえってこった
nanoWatt XLPなPICじゃなくてそのものを買いたいのかよw
つーかマイクロチップ買収したら、古いPICは速攻廃止にするけどな 悪いイメージを払拭することで、かつてPIC→AVRに移行したやつみたく 他のプロセッサからの乗り換えを狙えそうだから
>>345 勝手にどんどんディスコンにするようなメーカーなんて信用できないから使わない。
348 :
566 :2011/07/22(金) 00:39:57.00 ID:CPr7v+J2
> 悪いイメージを払拭することで、かつてPIC→AVRに移行したやつみたく > 他のプロセッサからの乗り換えを狙えそうだから ナニをいいたいのかわからんw
何を言いたいのかだって? AVR使いの1/4は元PIC使いであるという事実
>>345 > 他のプロセッサからの乗り換えを狙えそうだから
PICに戻る奴なんて、いないと思うな。
PICが嫌になって離れたんだろうから。
PICからAVRに移行してきたんですけど、AVRStudio5.0+WinAVRをインストールしました。 AVRLibは必要でしょうか? 教えてください
AVRで透明あぼーんにするとスッキリ
AVRは品種が少なすぎて使う気にならないな。 もうちょっとがんばってほしい。
ああ、そうだね・・
AVRは、信者がいなければ使ってみたい。 信者うるさいから。
ARM信者も出番を窺っています
我らが教祖も言ってるな「8ビットのPICはクソすぎて話にならない。 16ビットのPIC24でなんとかAVRと勝負できる」とコード効率の話を
PICの方が速い場合もある。 A V Rは0x20以上のアドレスに1サイクルのin/outが使えないので、 2サイクルのlds/stsになる。 その関係で1バイト読んで修正して戻すって処理が5サイクル以上掛かる。
>358 PIC24は1命令が24bit長になってるから8bitの演算中心だと1命令16bit長のAVRの方が そりゃコード効率はいいだろうけど、16bit超の演算になったら8bitのAVRじゃPIC24には 全く及ばないよ。 それにAVRはレジスタ間の演算しか出来ないから32個のレジスタに収まるうちは速いけど メモリとの演算になると前後にLD,STが必要でコード効率も速度も落ちる。 PICは8bitのPIC16Fの時レジスタが1個しかないのでメモリも演算に使えるようにしていて PIC24になっても16個レジスタ(W0-15)のうちW0(=WREG)限定だけどメモリのアドレス直指定で 演算可能(Wnレジスタをポインタとしてアドレス指定するならW0じゃなくてもOK) 例えばPORTB(LATB)の出力 bit11-8を0にしたい(他bitは現状維持)時とか MOV #0xF0FF,W0 AND LATB みたいな。(PIC24が即値の演算が即値10bitまで対応していないからってのもあるけど)
コード効率が良ければ売れる訳じゃない品 パソコンの変遷もそうだが、沢山売れれば安くなるし 種類も豊富になって使う人も多くなるしソフトも増える。 いくらアーキテクチャがすっきりしてていいとか言ってみた所で 売れなきゃ進化しない。 68000なんかも、プログラマから見たらすっきりしてたけど おかげで石は複雑になるし速度は出ないしで結局PCとしては使い物にならなかったな。 所詮ICなんて沢山売れたほうが勝ちなのさ
PICの方が売れている、みたいな認識でワロタwwwこれだからPIC厨は・・・ 実際の世界シェアNO1はなんとルネサスだったりするし PICよりAVRの方が高いシェアなのに どちらも国内より海外でよく売れてるのだが
364 :
774ワット発電中さん :2011/07/22(金) 23:24:29.49 ID:MQetJKlo
>362 68000の遅さは筋金入りだったなあ... ちょっとした命令でもすぐ10サイクルぐらい使うし、 アドレシングモードが複雑になれば30サイクルオーバーとか珍しくない。 乗算とか除算とかの多サイクルで当然な命令を除いても30サイクルオーバーとか、 普通じゃないと思う人が多いんじゃないかな。
まあルネサスのSH/R8/RXと、8bit PICとdsPICだけで大抵の用は足りるからな 棲み分けも補完もできるし AVRは中途半端
ソフト屋としてはメーカーの変な試供品やおまけコンパイラの使い分けなしに gcc1本で済むところはいいんだけどな。
すると、ディスコンとは言え、78k0とか78k0sが12%ってことか 1:PIC、2:78K0、3:STM8、4:H8、5:HC08/HCS08、6:AVR って感じだったのか
>367 PICもAVRも8bitは健闘してるけど、32bit(PIC32,AVR32)は両社とも 半導体大手にはかなわないんだな(Freescaleは元Motorolaだし) 最近 Microchipが8bitに力を入れてるのはそのせいか >363 でAVRがPICより売れてる根拠は?
PICこれから弄ってみようと思うんだ、完全に1からだからどこまで出来るか分からないけど・・・ サーボ使うのにPWM信号出す必要があるんだけど、これってPIC側が対応してないと使えないって認識でいいのかな?
>>370 RC用サーボの話と仮定して
CCPがないとダメか?っていう質問ならなくていい。
というか簡単だけどCCPじゃ大まかにしか制御できないので実用的じゃない。
>>371 という事は細かく制御しようとしたらCCP以外でPWM信号を扱って制御するって事・・・?
正直あんまり理解出来てない感じなんで、良かったらそこら辺が詳しく載ってる所を教えて下さい
373 :
367 :2011/07/23(土) 03:03:33.74 ID:Rd8GbnaW
>>368 うん、そんな感じだろうね。
で、そんなゴミみたいなAVRを、なんでみんな敵視するの?
ほっとこうぜ!!w
H8Cのスレはどこですか?
>>374 なるほど、単に自分でPWM信号作った方が柔軟に動かせるって事なのね
大した額でもないし一応CCP出力ついてる石も買って両方試してみようかと
あとURLthx、ちょっと色々調べながらやってみます
>>369 > 32bit(PIC32,AVR32)は両社とも半導体大手にはかなわないんだな
ゴミみたく、相手にされてないんだな。
それよか、16bitでTIにすら負けている件
ルネサスは寄り合い所帯過ぎてワケワカメ それにしても今も昔もPIC使いはAVRを意識せざるを得ない 最近で言えば欧米()でのAruduinoの隆盛が大きかったのかも オレのまわりはもう少し前、Mega8の頃に使い始めたやつが多かったかな そういうヤツは沢山PIC買い込んでたわけだが、高い性能とプログラムし易いのとで 一時良く知られた「PICを捨ててAVRを使おう」状態になった でも新しいPICは使い易いからまた復権してきてる感じかな
PIC32はMIPSなのに、AVR32はオリジナルなんだよね。 Atmelは、ARMだって作っているのに、なぜなんだろう。 Microchipは、実績のある周辺に実績のあるCPUコアを選んで様子見状態なのにね。
昔のMIPSは凄く大変だったけど、マイクロチップのは凄い簡単に動いたな。
>>367 それは、金額ベースの比較だよね。
8ビットに強いだけだと、単価が安いから、たくさん使われていても順位が低くなってしまう。
384 :
774ワット発電中さん :2011/07/23(土) 19:35:23.86 ID:lpU2MOYQ
PICはPIC24に注力すべきだと思う。 以前、話があったみたいにAtmelを買収して8bitはAVRに絞るとか。 でも32bitは競争が激しすぎて勝ち目はないかも知れない
あさげ
>>377 Totalでは、MicrohipがTIに勝っているよ。
16ビットが単価が安いのか販売数量が少ないのか、それとも両方なのか・・・
まあ、パーセントで現されていないから、その程度の違いしかないのかもね。
I2Cやるんだけどお勧めのPICって何?
>>386 > 16ビットが単価が安いのか販売数量が少ないのか、それとも両方なのか・・・
両方だろうね、MSP430のほうが安いから。
それよか16bitのInfenionってなんだ?
日本ではほぼ無名じゃん??
つかインフィニオンになったのってだいぶ前なんだから 今さら知らんとかおかしいだろ
>>392 > 今さら知らんとかおかしいだろ
たぶん、東工大卒じゃないか?
>390 そりゃたしかに遅いな。 68000では整数除算が32bit÷16bit(他のサイズはなかった)で、 無符号の場合140サイクル、負号付きなら158サイクル。 乗算は符号の有無にかかわらず70サイクル(16bitx16bit→32bit) 単純命令で遅いのは、ソース・ディスティネーションとも32bitアドレスを直接指定する場合だった。 32bitのアドレスを読み込むのに、それぞれ8サイクルずつ合計16サイクルが必要で、 データの読み込み・書き込みともに32bit値だから8サイクルずつ必要だから、合計32サイクル。命令本体も合わせると36サイクル、とかね。 move命令以外はソースもしくはディスティネーションのいずれか一方をレジスタにする必要があったから、もう少し速い。 命令フェッチの速度が68000よりも8086の方が速い(僅差かな?)ことの影響がありそうだ。
395 :
388 :2011/07/23(土) 23:25:37.16 ID:Rd8GbnaW
>>391-393 行間が読めなかったらしいな。言い直すわw
「日本ではほぼ、Infineonの16bit MCUなんて無名じゃん??」
すいませんPIC24FでのMPLAB SIMで質問なんですが RRC Ws,Wd や INC Ws,Wdの命令で INC [W1],[W1++] RRC [W1],[W1--] 等を実行後 W1レジスタが変化しないのですが、これは仕様なのでしょうか? INC [W1++],[W1] RRC [W1--],[W1] だとW1レジスタは変化しますが、保存先がずれてしまうので使えません。
実装でそうなってんだからそうなんだろ? それ以外の答えなんて無いよ。
>>395 お前の書き方に問題があるのに「行間が読めなかった」は無いだろ
失礼なヤツだ
「16bitのInfenionってなんだ?」じゃなくて「Infenionの16bitってなんだ」なら
わからなくもないが
>>398 "Infenion"じゃなくて"Infineon"じゃないの?w
確かにwこれじゃ「インフェニオン」だな そのままコピってしまったw
>>395 >「日本ではほぼ、Infineonの16bit MCUなんて無名じゃん??」
日本というくくりでの比較なんてしていないからね。
ルネサスだって、どこに製品が使われているかなんて、知らない人がほとんどでしょう。
>>404 無名だから売れていない事にはならないんだよね。
大口ユーザを掴むことが出来たかの順位ですよ。
もしかしたら、ソフトとかシステム開発込みのチップの値段かもしれない。
インフィニオンはかろうじてフラッシュメモリで見たことある マイコンなんてやってたのか
DRAM、やってなかったっけ?
インフィニオンのメモリ部門=キマンダ
>402,403 Ver.8.70です。 最新版の8.73a落としてやってみます、ありがとうございました
410 :
396 :2011/07/25(月) 01:54:43.83 ID:FywDlFNi
>402,403 MPLAB IDE 8.73aでやってみたら半分OKでした(半分NG)。具体的にはオペランドにWs,Wdを指定できる ASR [W1],[W1++] ;× LSR [W1],[W1++] ;× SL [W1],[W1++] ;× RLC [W1],[W1++] ;× RLNC [W1],[W1++] ;× RRNC [W1],[W1++] ;× NEG [W1],[W1++] ;× COM [W1],[W1++] ;× DEC [W1],[W1++] ;○ DEC2 [W1],[W1++] ;○ INC [W1],[W1++] ;○ INC2 [W1],[W1++] ;○ ; ○は実行後W1は+2され , ×はW1変化なし 算術・論理系(ADD,ADDC,SUB,SUBB,SUBR,SUBBR,AND,IOR,XOR)の3オペランド Wb,Ws,Wdは全てOK ADD W0,[W1],[W1++] ;W1は+2されました。 ネットで情報探してみます。
411 :
396 :2011/07/25(月) 02:08:30.38 ID:FywDlFNi
地アナが終了したらテレビで時報をやらなくなったので、 HDDレコーダの時計が狂いまくりです PICで時報の音を作って毎正時に鳴らして、それをアンテナ入力に入れてやるにはどうすれば あと、そのデバイス自体の時計の補正の仕組みはどうしよう
地デジの時刻合わせは、リアル時刻に合わせると、番組の頭数フレーム取りこぼすんじゃねえの?
>>412 どうせそんな古いのは大したものじゃ無いんだから、
NTP対応かデジタルで自動修正の機種に買い換えれば解決でしょ?w
なんでRFである必要があるかというと、時刻合わせチャンネルに外部入力が指定できないから それ自身の時刻合わせは、電波時計にすると自己完結してていいけど、大変なので、 PCとUSBで繋いでたまに時刻を送って貰うのが楽かなと
417 :
774ワット発電中さん :2011/07/25(月) 13:04:50.52 ID:1telS7BQ
>416 USBの方が面倒じゃね? 秋月のGPSモジュールにしたら?時差はゼロだしシリアル通信。
RFを使わない手段 リモコンの赤外線を出して、時刻設定画面を呼び出して、 タイミングよく送信する 下手すると1分ズレる
今12F683のデータシート見ているのだが、8-Pin Diagram (PDIP, SOIC)というのと、8-Pin Diagram (DFN)というのと、8-Pin Diagram (DFN-S)の違いはナンだが教えてくれないか? 秋月で買ってくる12F683はどれなんでしょうか?ミスプリじゃなきゃ微妙にピンの名前が違うんだよなぁ〜
421 :
774ワット発電中さん :2011/07/25(月) 14:19:08.41 ID:qMykceQ2
>>419 外観とサイズの違い。秋月の通販で買えるのはPDIPかSOICのみ。PDIPはスルーホール基板用の
2.54mmピッチタイプ、SOICは表面実装用で1.27mmピッチ。でOK?
>421 どうもです。という事はおいらの持ってるのは全部PDIPという事が判明しました。
回路図うpしたいが何処がおススメ?
GP0,1をライタ用に残したほうが開発が楽じゃないだろうか PICKIT使ってないの?
main関数に飛ぶ前のスタートアップ用のアセンブラ(crtとか?)を 変更したいんだけど、どうやったらいいんだかサッパリわからんです。 スタートアップ用のオブジェクトファイルをリンクして使っているみたい なんだけど、、、 どなたか教えてください。 コンパイラ:MPLAB C30
PIC24だったら.sじゃね?
8ピンのPICでUSARTとPWMがついてるものってありますかね
あるよ
429 つPIC12F1822
すごい8ピンですね ありがとうございます
>>427 C:\Program Files\Microchip\MPLAB ASM30 Suite\lib
ここに、ASM30 でも使える C30 用のスタートアップがある。
C30 用も同じような場所にあるはず。
>>425 386の出力はCで直流切ってね
同じく386の入力もCで直流きり、VRでレベル調整してちょうだい
入力レベルデカ過ぎる
435 :
pic ちょいmster :2011/07/26(火) 12:50:57.52 ID:+MxNLf8C
PIC18F45K80のデバイスでMPLAB内でシュミレーション中だが、 EEPがリード出来ないし(0x00とよめる)、ライトも出来ない。 EEPROM窓では確認出来るがプログラム上のコマンドではだめみたい。 なぜ??????????????? HI-TECH Cで書いている。 下記、プログラムソース 105: EEPGD = 0; 15AA 9E7F BCF EECON1, 0x7, ACCESS 106: CFGS = 0; 15AC 9C7F BCF EECON1, 0x6, ACCESS 107: EEADR = 0x12; 15AE 0E12 MOVLW 0x12 15B0 6E74 MOVWF EEADR, ACCESS 108: RD = 1; 15B2 807F BSF EECON1, 0, ACCESS 109: celvl_carib = EEDATA; 15B4 CF73 MOVFF EEDATA, 0x2a 15B6 F02A NOP 15B8 6A2B CLRF 0x2b, ACCESS
実機では正しく読めるのならシミュレータの制限なんだろ
>>435 いきなりリストファイル書き込んできれてる男の人って
コードを出さなければ叱られ コードを出しても馬鹿にされ
439 :
pic ちょいmster :2011/07/26(火) 15:27:54.31 ID:+MxNLf8C
実機ではやってないですが、PIC18F4550のシュミレーションではOKでした。 どうやら
440 :
pic ちょいmster :2011/07/26(火) 15:31:03.55 ID:+MxNLf8C
実機ではやってないですが、違うチップのPIC18F4550のシュミレーションではOKでした。 どうやらEECON1のRD,WRビットが落ちない様子。 無理やり手書きしても変わってくれない。 チップorMPLABシュミレーターにバクがあるのか??? 誰か実際にチップを使用した人はいるのかな?
シムの未対応って結構あるよ。1822のIOCとか。
シムなんか使うのやめとけ それすなわちシムのデバッグやらされるに等しい マイコンとガチンコprintfデバッグが正しい
あっ、誤解しないでよね printfデバッグと聞いて、本当にprintf使う馬鹿がいるけど ここでは語源の方のプリントフォーマット、すなわちシリアルデータとかの 人間が理解できる形に可視化するコト全般を言ってるんだから 勘違いしないでよね
SIMのA/Dシミュレートの機能には随分助けられた。
445 :
774ワット発電中さん :2011/07/26(火) 16:56:21.22 ID:nmLgcuz0
実機があるなら実機検証が一番いいと思うのだが、シミュレートとかどんなメリットがあるの?
理論上の正確な動作と数値が見えます
入力信号が自由自在、出力にはロジアナ ブレークポイント無制限 実行時間を細かく測定 コンパイル後に書き込む必要がない もっとあるかな?8ピンでIO余ってないよ!な場合に助けられてる
>436,397 わからないなら、書き込むなよ。
449 :
774ワット発電中さん :2011/07/26(火) 19:57:40.44 ID:nmLgcuz0
入力信号はたとえばリモコンの信号だったり、シリアル通信の信号だったり、リアルタイムに 変化する生き物だけど、そういう入力をシミュレートできたりするのかな?
>>436 × シミュレータ
× "シュミ"レータ"ー"
○ フルICEを除く簡易ICE(Pickitみたいなやつ)
間違ってレスしていない?
シミュレータでもC言語のミスなら見つかるよ。(プログラム言語の不勉強なら
>>447 で十分)
電気回路的な問題、エラッタの再現みたいなのは実機しかあり得ないが。
>>449 SIM は、実プロセッサのスピードはないから、実世界の信号を処理できないと考えるべき。
その代わり、Stimulus を使えば、自分の思ったとおりの信号を入力することができるよ。
typedef struct{ R:符号なし整数8ビット G:〃 B:〃 }COLOR; の構造体の作り方を教えて下さい
#pragma pack(push,1) typedef struct { unsigned char r,g,b; } COLOR; #pragma pack(pop)
union s_byte_dat{ struct{ short led1 :1; short led2 :1; short led3 :1; short led4 :1; short led5 :1; short led6 :1; short led7 :1; short led8 :1; short led9 :1; short led10 :1; short led11 :1; short led12 :1; short led13 :1; short led14 :1; short led15 :1; short led16 :1; short led17 :1; short led18 :1; short led19 :1; short led20 :1; short led21 :1; short led22 :1; short led23 :1; short led24 :1; short led25 :1; short led26 :1; short led27 :1; short led28 :1; short led29 :1; short led30 :1; short led31 :1; short led32 :1; }sled_bit; int sled_int[4]; int32 sled_double; }; struct sled_color_str{ union s_byte_dat red; union s_byte_dat green; union s_byte_dat blue; }; struct sled_color_str sled_dat;
ASM30(PIC24F)で質問なのですが(MPLABのバージョンは8.73) ~ Bit-wise not. One’s complement はどのように使うのでしょうか?. .equ FLAG,0xF0FF MOV #~FLAG,W0 だと Error: Invalid operands specified ('mov #~FLAG,W0'). となってしまいます。~はてっきりビット反転した値になると思ったのですが… 調べてみると FLAGの値を0〜0x7fff までにするとちゃんとbit反転になるのですが FLAGの値を0x8000以上にすると上記エラーが出るようで… 私の使い方が間違いなのでしょうか?
>>454 おまえはすっこんでろ。目障りなんだよ。
458 :
454 :2011/07/27(水) 11:09:51.25 ID:8Iaxirkq
えへへ、おこられちゃった
>>456 .equ x, (~0x8888)&0xffff
.equ y, -0x8888
x みたいにすれば通るよ。
y をオペランドに使おうとするとエラーになる。
このことから計算は符号付き16ビット以上で行っていて、
オペランドは符号付き16ビットを受け付けることになります。
>>456 訂正
オペランドは、符号無し16ビットと符号付き16ビットを合成した範囲を受け付ける。
かな・・・
>459,460
レスどうもです
.equ FLAG,0xF0FF
MOV #(~FLAG)&0xFFFF,W0
確かに、これだとエラーになりませんね。ExORでFLAG^0xFFFFの方がシンプルですが
MOV #(~FLAG)
>>16 ,W0
>>15 だとエラー。
>>16 だと結果は0xffff,
>>31 だと0x0001な所を考えると
32bitで演算されているのかな。
>461 チルダが問題おこしてるんじゃなくて、カッコが足りないからじゃないの? >459 で .equ y, (-0x8888) とするとか、 >461 で MOV #(~FLAG),W0 みたいな 記述はどうよ? GNU asの即値記述で嵌まるパターンだけど... C30 は gcc 由来だけど asm30 はどうか知らん。
PIC12F1822 は、CCSコンパイラー + MicroEngineeringLabのUSBライターで 開発、書込できるでしょうか?
466 :
774ワット発電中さん :2011/07/29(金) 17:04:15.50 ID:p85yiDSa
乗算器とビットの関係について Single-instruction 32 × 32 multiply and divide producing a 32-bit result のような仕様の乗算器で100,000x100,000を計算すると結果は32ビットを超えると思いますが このような場合どう処理されるのだろうか?
>>466 オーバーフローフラグが立つ。
C言語では、オーバーフローフラグを無視する。
おまえらどうやってPICに詳しくなったの? 独学じゃ限界あるよね(´・ω・`)
独学で十分だろう 情報なんて海外のネットに沢山あるし
PICなんて、実物だって数百円だからなぁ
安くてぴっくり!
>>468 もちろん、
後閑哲也さんの本っていう人(笑)が多いでしょw
この前久しぶりに秋月行ったらPICkit3が売っていたので欲しくなったが、PICkit2と比べて何処が良くなったの?
474 :
774ワット発電中さん :2011/07/29(金) 22:39:20.29 ID:LsKVUuTq
>473 別に…
>>473 最新のPIC16Fはpickit2だと書けない。
(これがきっかけで、pickit2捨てた。)
ストップウォッチ機能とかが使えたかなぁ。
あと、挙動がICD2に近い。石を変える前にファームウェアをちょっと時間かけてロードする点とか。
配線がめんどくさい&&安いと助かるロートルでは、最新16Fを使わない手はないな。
(最高32MHz、31KHz内蔵、DAC、ECCP内蔵で安いとか。これでオペアンプが入っていれば最強なのだが)
ただ、今までの16Fのように扱うと、いろいろと問題出るから、英文資料が読めないと少し難しいかな。
会社にもいたな データシートを読むのを完全に諦めてる奴
12F510 が @\60 と安いのであまり調べもせず 12F675 の低位互換だろう と思い込んで買ってきてしまったのだが、PICkit 2 で自動デバイス認識し ないぞ、というころから始まって結構悩んで(時間をかけて)しまった。 まあ、結局はデータシートをトコトン読み直したのと多少の試行錯誤の結果 PICkit 2 でも難なく使えるようになったのだが、日本語のデータシートや移 行記事がインターネット上にみつからない現状、こういうことは英語のデータ シートを読もうとしないと無理っぽいなあと思いました。
>479 それは>2,3のテンプレを読んでいればよかっただけなのでは…
公式のデータシートに
>>2 と3のテンプレを記載すれば良い
>478 別にその機種使わないし…
510を使いこなすのは、ちょっと障壁があって楽しいぞ
484 :
774ワット発電中さん :2011/07/30(土) 00:37:01.32 ID:S7tyJRGM
ダメな奴は何をやってもダメ
>480 その通り。12F510 を買って悩んだ結果(解決した後)、このスレッドにきたのでR。 >481 テンプレ >3 の 「命令セット12bit幅 プログラム組む上で制限多し」にちょっと改定要望 命令セット14bit幅に対して ADDLW SUBLW が無いくらいでさほどの制限は感じないが、 「命令セット12bit幅 命令セット14bit幅とソース互換と思ったら焼けどするよ」というのが実感 内部OSCが8MHzで動いて8bit A/D 4ch内臓で @\60 という神レベルの C/P に惚れた >483 思った通りに動かなかった方が動いたときの達成感があるに1票。
ADC4chといっても ADC4モジュール入っていて同時に使えるわけではなく、 ADC1個と4chのマルチプレクサ1個が入ってるだけだからね それをADC4hと偽ってスペックに記載してしまうマイコン業界には呆れる
オシロの世界で2chといったら2現象同時って意味だ 恥ずかしげも無くADC4chと記載するなんて 頭がおかしいよね
内臓 神れべるのCP 笑えてきたとも
>486 スマソ データシートを確認すると ・Analog-to-Digital (A/D) Converter - 8-bit resolution - 4-input channels と記載されていて ADC 4ch とは書かれてないわ
> オシロの世界で2chといったら2現象同時って意味だ いや、これはおかしいだろ。 altやchopだって電子銃はひとつだ。 一昔前の2chベンチトップDMMだってADCは一つしか入ってなかったぞ。
ADCが一つでも、経路が四つあれば4chじゃね? channel ―【名詞】 【1】 水路; 経路, チャンネル, ルート. 【2】 チャンネル《テレビなどでの (ある局に割り当てられた) 周波数帯》. 【3】 チャンネル, 回線《電気信号の経路》.
地デジチューナーに例えると判りやすい チューナー1個だとチャンネル変える毎に デコードに何秒か待たされるだろ 12チューナーあれば瞬時に切り替わるし 録画も12ch同時にできる わかりますたかー?
>>493 そんな事はみんな知ってる。
お前の用語の使い方が間違ってると言っている。
しかし、
>>493 は語るに落ちたな。
お前の常識なら、12chといったら12ch同時に見られるんだろ?
>485 >テンプレ >3 の 「命令セット12bit幅 プログラム組む上で制限多し」にちょっと改定要望 >「命令セット12bit幅 命令セット14bit幅とソース互換と思ったら焼けどするよ」というのが実感 テンプレ2-5の元を書いた者だけど、こういうのは大げさに書いといた方が良いと思うんだ 割込み無いし、スタック2段じゃ場合によっては致命的だから 新シリーズの12F1822が\80の状況だともう値段的にみてもメリット少ないですしね。
ああ、そういうことか ADC4chで何の問題もないな ADC最高変換レートとch数を併記するのが悪いんだよ
>495 >スタック2段じゃ場合によっては致命的 なるほど、今のところ運良くスタック2段に嵌ってなかっただけで、 「プログラム組む上で制限多し」に該当する違いと言えそうですね。 改定要望、取り下げます。 >12F1822が\80の状況だともう値段的にみてもメリット少ないですしね。 12F1822が◎については異論ありません。12F510には機能的なメリット は「なし」のようですね。値段的以外に強いて挙げるとすれば、データ シートのページ数が3分の1以下なので、全貌の理解がしやすい というくらいでしょうか(メリットとは言えないような内容ですが、 1週間前の私にとっては重要でしたw)。
>488 PIC の「はらわた」なので内臓で良いとは思いませんか?w
>>498 日本語を再発明すんなよ
ただでさえ2chは再発明杉なんだからよw
PIC18F2550とPIC18F25J50を間違えて取説を参照したせいで RA5の取り扱いでえらい目にあった。
内臓オシレータとか書かれると、心臓とか? って思う。
>>500 自己レス。RA5じゃなくてRA4だった。18F2550はRA4があるが、
18F25J50はそもそもRA4が出ていない。
実は10年前にPICを使ったきりだったんだけど、
最近のPICはピンのりマッピングもできるし、
水晶は内蔵だし、コンパレーターも充実してるし、
ほんと、PICに直接つなぐだけで事足りる感じになってるんですね。
あとはデジタルポテンショメータを内蔵して下さい。
>>487 オシロだって、アナログはビームが一本しか無いのだから交互に描いてるだけだし
デジだってch分ADを用意してるとは限らない
終わってた話だった。すまん
>>502 水晶も内蔵しているのは、何番のPICでしょうか?
>487 低価格というか、趣味向け(にも使えるレベルの)マイコンで、 ADCが何ポートとか言うときは、PICに限らず、たいていは>486 みたいな構成 ADC 4chなんてかわいいほうで、ADC 8ch とかADC 10chとかもある。 マルチプレクサの入力チャンネル数のことであって、ADCのユニット数はたいてい一つだけだ。 複数のADCを積んでるマイコンって、けっこう規模が大きいヤツしかなかった気がする。
507 :
472 :2011/07/30(土) 18:16:15.87 ID:TFO+Ld5P
同時に測定できる必要なんて殆どないしな
>>505 >>502 よ、答えてやれよw
大方、水晶発振とRC発振との区別がついていないんだろうが。
「PIC12F675を使いこなす」という本は持っています。 しかし675じゃなくて683中心に書いた本は無いのでしょうか? ネットで色々情報は探せても古い世代なのかしらないけれど画面じゃなくて書籍でないと集中して入り込めないのです。 何かないですかね?おすすめは?
>>510 なんで今からPIC12?
PIC24とか、PIC18とかにしとけ
8ピンがないからだろ 今からとか言い出すぐらいならAVRにしとけ 色々捗るぞ
>>510 とりあえず675でやってみてはどうか。683もそんなに大きく変わるわけではないし。
旬のマイコンというのは頻繁に変わるものなので、特定の型番だけの本と言うのは難しい
と思う。昔のPIC16F84みたいな事はもう無いと。
話は変わるけど「画面じゃなくて書籍でないと集中して入り込めない」の件について。
参考文献と開発環境を見比べながら作業したいということなら、PCのモニタを増設すると
緩和するかも。
>>513 年寄りみたいだから、モニタにしろ本にしろ、集中力が衰えてるんだろ。
本が無いから出来ないなんて言い訳に過ぎない。
>>510 マイコン焼くよりも、瀬戸物焼いた方が楽しいと思うー
高性能8ピンは何か一つ出て欲しいな
ピン割り当て機能を駆使して20pinの石並みの機能を積んで…って 使いどころが限られるな…
高性能な8ピンなら>2からPIC12F1822で決まりでしょ。
追加命令群,LAT追加,FSRが16bit幅で2本に拡張
内蔵クロックは31kHz〜32MHzまで可変
10bitADC,5bitDAC,基準電圧内蔵,Timer 8bitx2 16bitx1
ECCP,MSSP(I2C,SPI),EUSART,CapSense
2Kw,SRAM128,EEPROM256
新シリーズ上位のPIC193xのデータシートなら日本語版あるから
これ読んでおけば追加された機能が理解しやすいと思う
ttp://www.microchip.jp/docs/41364B_JP.pdf
なんでそんなに8ピンが好きなん?
最近の流行みたいだから
6pinも充実してほしい。w
0.9Vで動く3ピンも欲しい
いっそ2ピンで 電源線が信号線を兼ねる
1ワイヤーかマキシムに吸収されてしまったダラスセミコンダクタだな。
2ピンマイコンってあったら何に活用できるかな?
電源や信号はチップ内臓のコイルで1本の信号は取り出せるね。
6pin以下は米粒PIC以下にはならんだろう… つまり6pin未満は不要 8pinで高機能って言っても14pinのTSOPとか使えば小さくできるし
だったら8pinのSOPならもっと小さいだろ 何言ってんの
9ピンのBGA
CSPというのもありかも。
MICROCHIPのアプリケーションノート AN982を見て 12F675でI2C使ってEEPROMからデータ読もうと考えています。 サンプルプログラムは ByteRead.asm p12f675.inc これだけを使うので良いのですよね? これを読み込もうと考えています。 いやしかし、12F1822なんていう強力8ピンがあるとは・・・しかも683の半額80円とは・・・・
そういや、電子工作のためのPIC16F活用ガイドによると、開発中として12F683と12F684ってのが書いてあるのだが684って世の中に出た事あるの?
>>523 2ピンが最低だと思ってるかもしれないが、1ピンどころか
バッテリー内臓&送受信アンテナ内臓、オプションとして温度セ
ンサーとか光センサー内臓の0ピンマイコンの可能性が無いわ
けではないぞ、とふと思った。
オイラは5PIN
右手・左手・右足・左足・頭(両足の間のバリは含まず) で5pin?
ワンチップ人工衛星か!スペースデブリにしかならないな。
PICkit2で3年ぶりに書き込みしようとしたら、12F683も675も16F84Aもリストに出てこない。なぜですか?
5pin can package
>>542 バージョンV2.61にするだけじゃデータは古いままなのですか?
>>541 てかその辺の石なら当初からサポートしてるだろ
リストって何のこと?
>>545 どうもです。ついでに12F1822もリストに載ってたし、そっちにするかなぁ〜
1822って内蔵32MHzだっけ?
>>548 ほいよ
・ Precision 32 MHz internal Oscillator Block:
- Factory calibrated to ± 1%, typical
- Software selectable frequencies range of
31 kHz to 32 MHz
・ 31 kHz Low-Power Internal Oscillator
おお、遊べそうだ 32MHzで動かすだけでちょっと大変だけど
何がどう大変なのだろう?
内部32MHzは、8MHz × 4 = 32MHzという計算だよね。
そういや以前ここの住人にPICで何作ってる?って聞いたら殆どが「ライター」って言っていた。 PICkit2が廉価になってから彼らは絶滅したのかと思っていたが、 なんとPICkit2を自作してしまう人達がいると聞いた。おまえらもその1人なのか?
>殆どが「ライター」って言っていた。 小咄かよ
PIC/AVRを始めることにした。まずはライタを作らないと。 ライタ作った。さて、何を作ろうか。 …作りたいモノがない!! しかし、何か作らねば…。 そうだ、新しいライタを作ろう。
AVRはライタいらないんじゃね
ライターだけに火のコントロールにPICを使おう
ライターを作った後は、LEDチカチカ入門者を馬鹿にする その他の小難しい事はしない これがPICユーザの王道であり黄金律なのである
通信相手用のディレイよりは、人間相手で使う方が多いからな
561 :
774ワット発電中さん :2011/08/03(水) 11:54:31.64 ID:BItewBJR
古いデジカメ分解して出てくる液晶を流用してみたいといつも思うんだけどピン機能の配置や インターフェース仕様がわからなくて困るんだよね。このての液晶は基本的にデジタルRGB と考えていいのかな?
562 :
774ワット発電中さん :2011/08/04(木) 22:33:18.90 ID:PP0QwrGe
picstart plus をUSB-RS232C変換ケーブルでパソコンのusbポートに接続していますが、 パソコンのポート番号を調べてみると Port_#0002.Hub_#0005 と表示され、ポート番号が何番なのかわかりません。 教えてください.
それはPICの質問なのか? USB-RS232C変換ケーブルが変換しているはずだろう、まずはその型番と問題の部分の画像をキャプチャして晒すんだ。
566 :
河内 :2011/08/04(木) 23:06:30.95 ID:36//8tM0
すみません。dsPIC30Fシリーズで教えてください。 SPI通信時にSSxピンというものがあるとマニュアルには書いてあるのですが、 ピン配置図にはSSxピンなるものが記述されていません。 40ピンのdsPIC30F4013を使っているのですが、SSxピンは何番ピンのこと なのでしょうか? よろしくお願いします。
ターミナルからのシリアル入力をキャラクタLCDに表示するアセンブリ
プログラム書いてるんですが、mplabのシミュレータでUSARTのシリアル疑似入力をしたいんです。
下記サイトを参考にして直接入力してもファイルレジスタのRCREGの値が変わらないしステップ実行しても、
PIR1のRCIF?の値を見てるループを抜けられません。
ttp://www.picfun.com/mplab/V730/mplab316.html この状況説明で難しいかもしれませんが考えられることはないでしょうか?
ちなみにp16f877aを使ってます。
>>562 デバイスマネージャのポート(COM と LPT)にあるはずだし、
プロパティにある詳細設定で変更できるはず。
Ubuntuでpk2cmd使ってる人いる? あれってdspicとか32mxとかも使えるの?
571 :
河内 :2011/08/05(金) 00:18:08.82 ID:jYUdngPI
>>568 すみません。見落としてました。4番ピンがSS1ですね。
ありがとうございます。
>>561 余程の事が無い限りアナログは考えにくいね
573 :
774ワット発電中さん :2011/08/05(金) 01:52:11.01 ID:juswheaL
>>562 ですが、
RS232-usb変換ケーブルがwin7に対応してなかったみたいです。
お騒がせしました。
これから趣味としてpicをはじめてみようと思うのだけれど Microchip PICkitってあんまり人気無いの? 初心者はAKI-PICプログラマー買うのが無難ですか?
>>574 PICkitがデフォだよ。今時秋月のプログラマー買うやつなんていない。
そうなのかthx 値段も安いしとりあえずPICkit2でトライしてみるよ
PIC24F用に3.3Vと、その他LED用に12Vが欲しいんだけど 電源はACアダプタを使う前提で、どういう電源構成にすればいいんだろう? 12VのACアダプタから3.3Vをレギュレータで取り出すのってすごく 熱くなりそうな気がする。 5VくらいのACアダプタからDC-DCで12Vを作るほうがいい? もっと他にいい方法ある?
その他LED用に、本当に12V必要なの? PICなど3.3Vで、どんだけ電気使う予定なの?
LEDって12Vいらないよねー
>>578 青色LEDを3個直列×16でLEDドライバに繋げたいのです。
PIC周りはたぶん200mAもあれば十分かなと。
3直列なら5Vでやれよ
>>581 1個3.5Vで計算しても5Vじゃ足りないよう
>>576 何も持ってないならPICkit3の方が・・・
2Vくらいで光るLEDもあると思うけど3.5Vくらいで光るやつなら 3並列を 3.3V で駆動したらどうなん? PICとセットで1Aも要らんだろうし・・・ 周辺回路が分からないのでアレだが
>>583 ちょうど今悩んでた
1000円しか変わらないし3買うほうが無難か
>>584 オームの法則で電流=熱になるのでエコじゃないんでしょ。
>>586 何を言ってるのか理解できんのだが・・・
12Vを3.3Vにして電流0.2Aなら、損失は(12−3.3)×0.2=1.74W まあまあ熱い。TA48033Sとかなら、放熱器なしで大丈夫だけど、 触ったら、うぉあつっさわってらんねーってなるくらい。 しかし5Vを12VにDCDCで昇圧するくらいなら、12Vを3.3Vにする DCDCのほうが手間ないんじゃねーっていう気はする。
589 :
774ワット発電中さん :2011/08/05(金) 15:14:47.16 ID:2YOef351
12Vで動くマイコン使えばいいのに
12Vから3.3VをDCDCするのが一番良さそう
そもそも TLC5940NT って 12V 逝けるの? 3.3〜5V じゃない??
12VかけるのはVCCじゃなくてLEDの駆動側のほうね、すみません
そんな低い電圧のシンクドライバなんてあるん?
VCC=5Vで120mAまでドライブしてくれるらしいから 双方5VかけてLEDを3パラで30Ωくらい抵抗いれておけばいいんじゃない? DCDCがんばっても、安物だと効率70%とかだし・・・ 5V2Aな電源で逝けると思う。
今、入門書見ながら必要な物を秋月のオンラインストアで探してます ところが電源5V1Aの物が必要なのに品切れで 一番近そうな電源が5V1.2Aなんですけど流用は可能でしょうか? 入門なので作る回路は簡単なLEDの制御なんですけど・・・
>>596 何言ってるんだか?
ACアダプタは、電流大は小を兼ねる(近似値なら)・・・
っていうか、もっと小さくても間に合うと思うよ。
そんな豪華なマイコン使うならマイコンで昇圧&定電流回路を組める。 てか、PICKIT3買ってマイコンは16F1938あたりで十分。
ごめんよ、電気のことはさっぱりなんだ・・・ とりあえず、電圧は高すぎなければ大丈夫で 電流は足りれば大丈夫って感覚でいいんだろうか?
>>589 プロじゃないからどうするのが正確かはわかんないけど…
電池駆動みたいに低消費電力にこだわる必要がなくて、LEDを12Vで
駆動したほうが楽だと思うなら、12Vを使えばいいんじゃね。
3.3Vの消費電流が100mA台だと俺なら3端子レギュレータで済ます。
AC100Vで使うなら、エコには反するけど1W程度の損失は問題ないし
そのために慣れないDCDC自分で組んだり、数百円するDCDCモジュール
買ってくるのもなんだなーと思う。
>>595 のいうように5Vで済ますのも手だと思う。
>>599 電圧は5Vぴったりが必要。低くても高くても駄目。
電流のほうは、基本的には足りればOK
>>600 プロじゃなくてもデーターシート位嫁よw
3.0V〜5.5Vって書いてあるじゃん。
しかもマイコンは2〜3.6Vだから、共通にするなら3.3VのACアダプタを使うのが正解。
5Vかけたらマイコンが壊れる。
昔とは違うんだよ、おじいさん。
5VのPIC使えば単一電源で動くと思うけど PIC24Fを使うことが必須なのか
ヤンキー経営のLチカカーアクセサリ屋に入社してしまい、PIC24で回路書かないと河川敷でフルボッコにされるかわいそうな設計者を皆で支えて行こうではないか。
ついにPIC12F509に書き込むことに成功しました……
>>601 ちょっと何を言ってるのかわからない。
PIC24を使ってLEDを12Vで点灯させたい
>>577 ,
>>589 と、
入門書を見ながら5V1AのACアダプタを探している
>>596 ,
>>599 とは
まったくの別人だろ?
んで前者のLEDの点灯に使おうとしている TLC5940NTは、LEDを
つなげるOUT端子だけ18Vの耐圧があるんで、12VでOKだし。
後者は本に5V1Aって書いてあるんだから、指定通り5Vが安全だろう。
>>601 ああ、今ごろ理解した。5VのアダプタじゃPIC24F動かすのに
レギュレータいるだろってことか。
言い出したの自分じゃないから、正直真面目に考えてなかった。
でも3.3Vじゃ白色LEDの電流値を決めるの大変じゃない?
パワー食うLED用電源を昇圧で作るより、三端子レギュレータで
マイコンで電源作るほうが楽だと思うけどなあ。5Vから3.3Vなら
効率66%が得られるわけだし
>604 おめでとう。次は同じ \60 でも ADC 内蔵 8MHz 動作可の 12F510 に挑戦かな?w
これからPICを勉強しようと思っている初学者です。 参考になる書籍を2,3冊くらい買おうかと思っているのですが 今からPICを勉強するに当たってお薦めの書籍といったらどれが代表的ですか?
>>608 www.google.co.jpというところで、「PIC 本」というキーワードで検索した時に表示される本の
上から3冊を買えばいいです。
>608 amazon で pic で検索して気に入ったの買え
被ったorg
pic 本 でググるとPICはやめてエーヴィーアールにしろって勧めるキチガイのページが出てくる
どうでもいいけど昔はマイクロチップの純正ライターなんか2万だか3万だかして誰がこんなもん買うんだって感じだったのに 今じゃ秋月のライターより安いもんな しかも秋月のライターは完成品のみになっちゃってキットですらなくなってるし どうせ完成品買うんだったら純正品のしかも安い方買うだろ 意味がないよな、あの品揃え
>609 すげっ id が PlC だ! # 厳密には真ん中小文字 L だな
あっちの 803 には優しいレスがいっぱい付いてるのに
こっちだと
>>609-614 みたいなレスしか付かないんですね
PIC スレの民度が推して知るべし
まあ、今からPICなんて薦められないからな 遠まわしにやるなって言いたいんだろ
AVRって凄いの? PICちゃんは駄目な子なの?
>>618 PICのスレで何を言ってるんだ。
あー… 逆なら答えるんじゃね?
>615 本当は英文データシートを読めば充分じゃね?とかググレカスとかレスさ れるところを、609-610 のように親切に答えて貰っていること早く気づけ。
622 :
774ワット発電中さん :2011/08/06(土) 10:50:03.11 ID:Ntj9WUgT
PICだ、AVRだっていってる人はいまだにアセンブラでプログラム書いてるのかな。 C言語とか使えばマイコンの種類なんてほとんど関係ないのに。FPGA上のソフトコア のマイコンでさえPICと同じ感覚で使えてしまうのに。いまからはじめるならPICの 最新の機種でいいんじゃないか。
Cなんかでちんたら動かしてもつまらない。アセンブラでキビキビした動きのほうが楽しい。
そう思っていた頃もありました。けど アセンブラでちんたら書いてたら、納期間に合いませんでしたw
年をとると集中力が続かないんだろうね。
新しいものを覚えるのが億劫になります。
おしっこの回数が増えます。
商売で使ってる奴がしたり顔でこんなスレに書き込んでることに驚く 脳内エンジニアか?
てかPICでいいような用途で、アセンブラでカリカリにした速度が要る(というか目に見えて楽しい)ってどんな状況だ。
>>627 昔から多いな。
コーヒー飲みすぎなんだけど、仕事の合間に自分で焙煎したコーヒー淹れると
集中力が増す気がする。
>>629 例えば、8ピンPICでLEDを5個、PWMで滑らかに明るさを変えるプログラム組んでみそ
それ「滑らかに」の程度で相当変わる気がするんだが
まあ、作ったとして、周期も一緒にしたら、人間の目には区別付かねえだろうけどなw
C言語でも割り込み使ってやれば周期はほぼ確実にとれるから…えーっと メインループ1周期でPWM1デジットずつ増減させるぐらいの「なめらかさ」? やっぱり意義がわからないし楽しいとも思わない… Z80あたりでもっと奇っ怪な処理をカリカリチューンするとかならまだ分からなくもないが… 1デジットでおもいだしたが、PWMのレジスタ下位2ビット、書き間違えてるページがわりとあって困った。 最初どうしても0.5%誤差が取れなかった…。 データシートみれば一発なんだけどさ。
>>632 >>633 御託はいいからやってみろよ。滑らかの程度なんて、自分が納得出来りゃいい。
Cしか出来ない奴は全体を見れないしセンスが無いから、そんなお遊びのプログラムさえ
仕様を自分で決める事さえ出来ないんだろうけど。
>>636 めんどくせえし興味無いから作らねえよw
>>634 >やっぱり意義がわからないし楽しいとも思わない…
センス無いなぁw
ちなみに君が見積もったPWMの周期はどれ位になる?
640 :
774ワット発電中さん :2011/08/06(土) 12:49:39.77 ID:Ntj9WUgT
LEDのPWM制御ならC言語でも十分な気がするが。分解能は256ステップである必要はないし PWM周波数も数十msでちらつきなく表示されるだろう。32ステップ(1周期32ms)として 1ms周期の割り込みで処理すれば実現可能じゃないかな。もしちらつくようなら16ステップの 分解能に下げてもいいだろう。
>>640 32msはかなりちらつくよ。20msでも視線を移動したら目障りな残像が見える。
あと、人によるとは思うけど16ステップは滑らかとは言いがたい。せめてその倍位はあった方が良いのでは?
ちなみにアセンブラなら、4MHzPIC使った時、256ステップで60Hz(16.7ms)、128ステップで120Hz位。
Cだとその1/10以下が良い所だろうから、検証してないけど、Cだとインラインアセンブラでも使わない限り
ギリギリ出来るか出来ないかって所だろうな。まあ、Cしか出来ない奴はちょっとぐらいちらついてたり
滑らかに変化して無くても「こんなもんだろ」とか言える問題意識の低さ(おおらかさw)があるから
出来ると言い張るだろうけどw
>>638 もしかしてモジュール使わない手動(?)PWM?
PICのCは特別製なんだよね
うん、だからここの人は 24の話なんてしてないよねw
>>645 他のCPUのCならアセンブラと遜色ないとか思っちゃってる
Cしか出来ない人?
>>642 8pinで5個のPWMモジュールが付いてる物があるなら型番よろ
内蔵32MHzの1822ならCでもいけそうな気がする
アーキテクチャの問題
いつまでたってもアークテキチャって言っちゃう
>>647 あー…そういう話か。
すまん、自動的にPWMモジュールからANDなトランジスタドライブが脳内で構成されてた。
8MHzとかだと1ms割り込みx16の16分解ぐらいが楽に揺らぎ無いぐらいかしら?
割り込みの中だけアセンブル埋め込みにするものありかもしれん。
652 :
774ワット発電中さん :2011/08/06(土) 17:42:12.31 ID:w2EkXR3H
すみません。dsPIC30Fシリーズでお聞きしたいことがあります。 EEPROMのエリアはプログラムからアクセスして読み書きできるのでしょうか? 可能だとすればCのソースはどのようなソースコードになるでしょうか?
>651 前フルカラーのLEDを滑らかに変化させようとやった時、ちらつきは100Hz位あれば 気にならなくなるけど、色の変化はDutyで256階調位だと滑らかには程遠かった。 200→201の違いは区別なんてつかないけど0→1→2なんてもろに変化がわかってしまう。 人間の感覚は対数に比例するんだなと実感した。
PICの特別製のCやアセンブラで学習を終えちゃった人は PWM制御程度で自己満するのが精一杯で想像すらできないよね
> 0→1→2なんてもろに変化がわかってしまう。 > 人間の感覚は対数に比例するんだなと実感した。 あ。 俺、いまの今まで勘違いしてたわ。ありがと。
>>655 消えてる付近とかって情報の飽和や残像が減る分シビアっぽいよね。
そこはそれ、調光として割り切るしか。
>>657 それ以前にLEDの特性とかも関わらないか? 知らんけど。
>>648 多分ね。
32MHz使えればアセンブラならもっと色々出来るよ。
てか、1938でやろうとしてる。
661 :
774ワット発電中さん :2011/08/07(日) 00:01:50.39 ID:+DtcuoiR
中古ショップでicd2が5000円で売ってたけど pickit2とどっち買ったほうがいいかな
>>662 > picket
picketの意味や和訳。 【名詞】【可算名詞】1a(労働争議の時,組合側から出すスト破り
防止のための)監視員,ピケット.b[集合的に] 監視隊.2【陸海軍, 軍事】a小哨(しよう
しよう), 見張り(兵).b[集合的に] 警戒隊....... w
>>659 >対数とか大げさな物じゃなく、1から2への変化は倍だけど
>200から201は1/200しか無いからでは?
それを対数という
666 :
774ワット発電中さん :2011/08/07(日) 10:12:25.48 ID:wh8t2Qar
>>659 綺麗だね。C言語のも誰かUPしてくれないかな
667 :
774ワット発電中さん :2011/08/07(日) 10:37:08.33 ID:Z+knYSsH
>>659 、
>>666 たしかにきれいだね。でもいくらアセンブラで書いたとはいえソフトウェアで5チャンネル
独立に15kHz周波数で256ステップの分解能ってのはよほどうまいアルゴリズムなのではと
感心する。割込みと割り込みの間は66命令分しかないので。どんなコードを書いたのか
簡単に説明して欲しいな。
あと「対数とか大げさな物じゃなく、1から2への変化は倍だけど」ってところはちょっと元の
書込みと違う話になってると感じたんだけど。1/256から2/256の明るさの変化の度合いと200/256から
201/256の話だったので。
pickitって、なんと発音するのでしょうか。 ピックキット ピキット
ぴっくきっとちゃん
俺はぴっくきっとたんって呼んでる
pk2cmd使ってる人は一人もいませんか、そうですか
ありがとうございます。 敬称は、ちゃんでしょうか、たんでしょうか、 統一されたものがあるでしょうか?
ピックキットツー すこしなまって ピカツー
ピキッザサー
自分でPWMのお題出しといてPDMを提出しちゃうおばかさんでしたか
あせんぶら脳って怖いね
677 :
774ワット発電中さん :2011/08/07(日) 15:48:24.80 ID:Z+knYSsH
>>675 妄想がはげしいな。
PDM(Pulse Density Modulation)ってのは聞きなじみがないけどソフトウェア的に
PWMより負担が軽くなるのだろうか?イメージがわかない。
678 :
774ワット発電中さん :2011/08/07(日) 15:52:47.32 ID:Z+knYSsH
>>677 いちいちIDチェックしないから勘違いしてた。
>>676 平成生まれゆとり君のあるでぃ脳に近い存在だね。
何時までも配列すら分からないオワコンとか
C言語でもアセンブラ脳の人がマクロアセンブラとしか思えないようなソースを書くのを見たことがあるな。 #define 文で関数がことごとくインラインアセンブラで定義されていたりしてなw つまりCでもアセンブラのように使うことができるが、アセンブラではCのようには使えない。一般論として
>>680 マクロアセンブラのマクロ駆使して高級言語の真似してどや顔の記事あったな
20年くらい前に。
PDMは電源電圧の1/2が最大レベルだから(PWMで言うDuty比1:1) どう考えてもLED制御には向いてないんだよね そんな物を恥ずかしげもなくお気に入りのBGM付けて動画にして ようつべにうぷしちゃったってことは、よっぽどの自信作なんだろうね (´;ω;`)ブワワッ
自分では何も作らずに他人を批判するような人にはなりたくないな とつくづく思う
>>682 > どう考えても
って、具体的には何を考えたの?
685 :
774ワット発電中さん :2011/08/07(日) 19:19:18.04 ID:ihSuZrai
え、どういうこと?
>>682 君は現時点では口先野郎。悔しかったら長文ではなく実装すべき。
『ヒント:〜』とか『どう考えても〜』とか書きつつ、具体的なことは何も書かないやつと言うのは、 もったいぶってるように見せて、実は何も考えが無いだけ。
そういう問題か? PWMどこいった? あせジジイの仲間か?w
> PWMどこいった?
それは、PDMを使って良いんだったら
>>689 にもうpできるという主張?
出てきたものが違うものなのに、 それに文句を付けると論点すり替え始めて しまいにキレるとはw もしかして中華の方ですか?
>>692 > それに文句を付けると論点すり替え始めて
OK。
論点をすり替えてるつもりは無かったが、問いに答えなかったのは悪かった。
> そういう問題か?
肝心なのは、アルゴリズムそのものより現実に実装できているかだろう。
> PWMどこいった?
使用されていない、PDMが使われている(らしい)。
> あせジジイの仲間か?w
仲間の定義は知らないが、別人だ。
> もしかして中華の方ですか?
違う。
こっちは、問いに答えたんだ。
>>692 も論点をすり替えずに答えろよ。
>> PWMどこいった?
> それは、PDMを使って良いんだったら
>>689 にもうpできるという主張?
あと
>>682 には
>>684 にも答えて欲しいな。
できませんでした、 ごまかそうとしました、ってことだろ 恥ずかしい奴だな
695 :
774ワット発電中さん :2011/08/07(日) 20:10:02.37 ID:ORVbla5O
>>694 悔しくて仕方ないのかw
態度が子供だぞ。
真性すぎて着いていけないからそろそろ帰って
>>695 悔しいかって、
それはID:nORuoR45の方じゃないか?
大丈夫か?息してるか?w
ま、少なくとも論点をすり替えようとしてるのがどちらなのかは、はっきりしたな。
はっきりしたのは分かったからそろそろ帰って
700 :
774ワット発電中さん :2011/08/07(日) 20:40:04.30 ID:ORVbla5O
小中学校の時に必ずクラスにこういう奴が一人はいたw 誰かが何か作ってくると 「そんなの別にたいしたことない」 ってわざわざ言う奴w
>>698 どっちがって、
じゃあお前はできんのか、
って、いきなり変な流れだなあと思ってたら
やっぱ本人すかあ?w
火消し大変ですね?
ここまでのキチっぷりとはww
さすがアセじじいw
おい、図星かよ ま、アセじじいに任すと、半端もんが出来上がるのははっきりしたなw
>>659 これだけ一気に盛り上がるとは、
>>682 による火に油があった
にせよグッドジョブだったということです。パチパチパチ。
PWMですら無い時点で、分解能がいくつですとか、何の意味もないけどなw 作ってる最中じじい自身で疑問に思わなかったのか? 「明るさがなぜか直付けより暗いナー?」 「LEDの故障カナー?」 「PICの限界カナー?」 いやいやいや、 お前が原因だっつーのww
まぁまぁそんなにいうなよ・・・自分で「PDMです」って言ってんだからさ なかなか綺麗なものじゃないか、それにPDMでも分解能は定義できるでしょ
"普通の技術者"は、16FのPWMを使って、1KHz程度の"三角波"ぐらいは出せる。 しかも、プログラムの納期は殆どかからないでしょ。(仕事で1日なら、学生・ロートルは7日程度)
>>683 ロートルではARMの移植でこんなの作っている。
(mbedの1/10でしかも DSC 使えば結構音質良いし)
dsPICでSDから萌え画像表示しながら、
音楽を起きるときの寝る前に再生
「もう寝る時間ですわ」とか。
音声リモコンで勝手に電気が消えるとか。
ファイルシステムは、アプリケーションノートが使えれば良いだけなので、
C言語の基礎が分かっていれば何も難しいことはない。
うっかりvolatile抜いてしまうことがたまにw
708 :
774ワット発電中さん :2011/08/07(日) 23:53:41.58 ID:Z+knYSsH
電子工作系のブログとか内容はかなり高度で尊敬するんだけど、そのほとんどが オタク系のアニメ画像とセットなのはなぜだろう?不思議に思う。
アキバが電気街からオタ街に変わったのもうなずけるな
710 :
774ワット発電中さん :2011/08/07(日) 23:56:33.27 ID:ORVbla5O
>>708 基本的にインドアでジメジメした趣味だからね。
>>710 そうだったのか!部品が真空管から半導体に時代が変わって
いくことによって、静電気が敵→乾燥は良くない→ジメジメw
別にそういう趣味があっても構わないし、集合はかなりの割合で重複してるだろうと思うけど、 別に全面に押し出さなくてもいいだろう とりあえず電子工作とは何の関係もないのだし
714 :
659 :2011/08/08(月) 02:00:30.94 ID:7wviDkDL
今別荘に遊びに来てるので散々遊んで帰ってきたらwww
Cしか出来ない哀れな奴らが暴れてますなwwwww
しったかして1/2までしか出ないとか訳のわからん自己擁護してるしwww
ちょっとは勉強したらどうなんだw
http://en.wikipedia.org/wiki/Pulse-density_modulation >>666 多分無理でしょう。Cの方が簡単だとか言いながら、Cしか出来ない奴らは実力無いし考える頭も無いから
ちんたら動くプログラムしか書けないし、めんどくさいとか誤魔化すのがせいぜい。
>>667 ソース見直したら多分50マイクロ秒周期の割り込みだったので20KHz256ステップだった。コメントアウトされてたけどもしかしたら60マイクロ秒周期かも。
もともとPWMでコーディングしてたけどチラツキが目立つのでPDMに変更。PWMだと一律78Hzでちらつくけど
PDMならキャリア周波数の20KHzで制御するので、殆どちらつかない。LEDならPDMの方が良いかも。
コードは、タイマ0で50マイクロ秒の割り込みを作ってポートの出力、PDMの計算、10m秒タスクの起動、100m秒タスクの起動。
MAINLOOPで、56ビットのM系列によるランダム生成を回しておき、10m秒のタスクでLEDの明るさを1ステップずつ増減&点灯時間、消灯時間を
ランダムに変移させてます。なので最初は一度に点滅するけど徐々にばらついてくる。
>1/256から2/256の明るさの変化の度合いと200/256から201/256の話だったので。
結局、変化した割合の問題でしょ。何割変化したか。
まあ、その他にも非線形が要素があるからどうでも好いっちゃいいんですが。
>>708 アニメ画像系の人たちは自己主張が激しいんでは?
多分、非アニメ系の人はネットで公開する事は少ない。
716 :
774ワット発電中さん :2011/08/08(月) 04:45:26.36 ID:F3l4+Bfr
創作物を見せたい願望 他がどう思うかは関係ない ま、みててイタタ、、 と思うのは普通の感情だわなぁ 彼らは見方が普通と違うんだよ
>>680 > #define 文で関数がことごとくインラインアセンブラで定義されていたりしてなw
やったやったw
昔はコンパイラの最適化も甘かったし、CPUパワーも不十分だったし。
先にCでアルゴを作っておいて、速度不足な箇所をゴリゴリと手で最適化してた。
> アセンブラではCのようには使えない。一般論として
>>681 > マクロアセンブラのマクロ駆使して高級言語の真似してどや顔の
うん、マクロアセンブラでも出来たらしいな、覚えるのが面倒でやったことないけど。
ただ、今でもBIOSはアセンブラで書かれているんじゃないか?
5年位前にそんなソースを見た覚えがある、台湾で。
>>715 ミ爻ж 銀翼の堕天使 ж爻彡
みたいなののことだな。
いい年したオッサンだろうに銀翼の堕天使ってw
キモイわイタイわ、何をこじらせたらこうなるのか。
>>718 人の趣味にケチつけるのは止めた方がいいよ。
電子工作も人によっては暗いしキモく見られるだろう。
俺もあいつはいろいろどうかとは思うけどもさ。
>>717 >昔はコンパイラの最適化も甘かったし、CPUパワーも不十分だったし。
そうそう。ところがCPUが高度化すると、下手なアセンブラを手で書くより
Cコンパイラの方が上手いアセンブラを吐き出すようになっちゃってな。
CISC の話な。
> マクロアセンブラのマクロ駆使して高級言語の真似して
たしかにソースコードがまるで高級言語のようなアセンブラもあったな。
だがしかし、C言語仕様で書けるマクロアセンブラは無かったと思う。
もしあったら、それはCコンパイラとか呼ばれていたかもしれんw
PICスレが伸びているので覗いてみたら... > 今別荘に遊びに来てるので散々遊んで帰ってきたらwww > Cしか出来ない哀れな奴らが暴れてますなwwwww > しったかして1/2までしか出ないとか訳のわからん自己擁護してるしwww > ちょっとは勉強したらどうなんだw > > ソース見直したら多分50マイクロ秒周期の割り込みだったので > 20KHz256ステップだった。コメントアウトされてたけど > もしかしたら60マイクロ秒周期かも。 まるで自分で書いたソースじゃないみたい。『コメントアウトされてた』 って、まさか他人のコードをパクってきてどや顔ですか? x86でMASMやOPTASMを使ってた世代だけど、全角「w」を多用している点と 言い、数字や英字も全角だし、とても日常的にアセンブラを使い込んでいる とは思えないなぁ。 > PWMだと一律78Hzでちらつくけど 後学のために伺いますが、この「一律78Hz」という数字はどういう計算から 導き出されたのでしょうか?気になります。 ちなみにAVRマイコン(16MHz)で、フルカラーLEDをI/O操作のPWMで制御した ことありますけど、65us周期(60Hz×256諧調)のタイマ割込ルーチン含めて 全部C(avr-gcc)で冗長に書いても楽勝でした。 さすがに、VUSB(ソフト実装のUSB)との併用は無理でしたが、送受信とも割込 処理するUART経由で動作中に明るさや周期を変更するコマンドを実装した。 コンパイラは基本的に引数や戻り値がスタック渡しなので、コンパイラの方が いいコードを吐くというのには全く同意できない。たぶん、まともにアセン ブラが書けない or 書いた経験がない脳内評論家だろう。 違うアーキテクチャとの比較なら話も違うが、いくらCPUのクロックが速くなっ ても、x86に限っては、コード系は今もMASMで書いていたのと変わらない。
722 :
774ワット発電中さん :2011/08/08(月) 15:46:28.57 ID:+GrqbO4B
LED自体の特性に依存するのかしないのかわからないけど手元にある実験基板でPWMによる
LED点灯テストをした結果16ms周期(62.5Hz)でちらつきはまったく感じなかった。
32ms周期だとほとんど点滅に近いね。16ms周期で16ステップの場合、ゆっくりと点灯/
点滅サイクルを繰り返すとステップ間の明るさの差が割りと大きくてちらついているように錯覚する。
蛍光灯の場合50Hzから60HzだからLEDでもそのくらいの周波数でちらつきは出ないのでは
ないかと思うけど。家の浴室はLED照明なんだけどなんかちらつきを感じる。どんなドライブを
してるんだろうかね。
>>714 とは別人なので断っておく。インライン・アセンブラ程度は使えると役にたつけど通常はCで十分。
>>721 結局何が言いたいんだか。
他人の褌で衒学趣味ですか?w ┐(´д`)┌
> 蛍光灯の場合50Hzから60HzだからLEDでもそのくらいの
> 周波数でちらつきは出ないのでは
LEDと違って、蛍光灯の場合は、インバータ方式じゃなくても、正/逆両方向
の波で点灯するので、電源周波数が50Hz/60Hzでも、点滅周期は100Hz/120Hz
ではないかと。
ブラウン管の蛍光塗料による蓄積効果があるといっても、停波したアナログ
方式テレビのフレーム周期がNTSCの場合約60Hzで、間引き走査で実質的には
30コマ/秒ですからね。
人によっては動体視力が良くて、チラツキが見えるとか。
あと、実測したことはないけれど、可視光領域LEDはOn/Offに対する反応
速度は思ったより遅いと思いますよ。赤外LEDを使うフォトカプラでも、
汎用で低速のものは、MIDIの通信速度に使えなかった記憶があります。
> 家の浴室はLED照明なんだけどなんかちらつきを感じる。
おそらくインバータの出力が波打ってるんじゃないですかね?
>>723 「衒学」なんて知らない単語をひけらかされるので、思わずググっちまい
ましたよ。フケ顔の若年寄さンでしょうかね?
衒学 約 172,000 件 ありふれた言葉っすねw ┐(´д`)┌
mplab v8.63 PICKit3 12f683の環境にて org 0x2100 de 0x00 といった具合にプログラム内にてEEPROMの初期値を設定しています View - EEPROM を確認しbuild allまでは正常なんですが PICに書き込もうとするとEEPROM内容の数カ所が勝手に書き変わってしまいます (View - EEPROMにて確認しPICをREADしても変わっていた) なんとなくprogrammerのsettingsが原因かと思うのだが・・・ ヒントありませんか?
>>725 フケ顔の若年寄
約 2,460 件
フケ顔の若年寄 アニオタ
約 552 件
絶滅危惧種でつね。
>>727 俺の使う言葉はこんなにマイナーなんだぞって?
アニオタ? どっから出てきたんすかw
アホですか? アホですねw ┐(´д`)┌
>>724 >あと、実測したことはないけれど、可視光領域LEDはOn/Offに対する反応
>速度は思ったより遅いと思いますよ。赤外LEDを使うフォトカプラでも、
>汎用で低速のものは、MIDIの通信速度に使えなかった記憶があります。
速度が出ないのは受光側の問題ね。低速なフォトカプラの受光部はフォト
トランジスタ、高速用はフォトダイオード。
PWMの周期によるチラツキはDuty比が小さい時に顕著に感じるから Duty比を1/256とかにしても試してみないと。 以前7segLEDで時計作った時、CdS読み取って部屋の明るさに応じて LEDのDuty比下げて暗くするようにしたら、もろにちらつきを感じた Duty比1/256だと100Hz以上必要だった
視線を動かすとハッキリわかるんだよね。 自動車のLEDテール、車種によってはチラツキが酷くて後ろを走るのが嫌になる。
なにこのチラツキへの執念
執念って言うか、本当に気になるよ。 じっとしてればなんともないのに、ちょっと動くとちらちら。 テレビとか、蛍光灯とか、「CRTは60Hzでは目が疲れる」とか、いろいろ 言われてもぜんぜん気にならなかった俺が気になるんだからw
>>718 > いい年したオッサンだろうに銀翼の堕天使ってw
いや、書き込みからすると奴は新人二年目のペーペー。
粋がって血気盛んなお年頃なのさw
眼球をプルプルさせることのできる俺は、走査式のLED表示器でも頭を動かさずちらつきを見ることができるぜ。非常にどうでもいいぜ。 フォトカプラが高周波を通さないのは発光部もさることながら、受光側の反応というか引き込み性能とかも大きくなかったか? トランジスタ1つかますだけで立ち上がりだけもっさりさんになって苦労した覚えはある。 そういやLEDってアナログ的に明るさ変えるのってダメだっけね…? いや、コンデンサ挟んで平滑するとどうなるんだろうなーと思っただけ。
>>733 読み飛ばしているけど、
>テレビとか、蛍光灯とか、「CRTは60Hzでは目が疲れる」とか、
CRTの話しは本当。
HD-TVだと60Hzから微妙にズラしてあった筈
>>734 >新人二年目のペーペー
やることからして、厨二病だから、その程度であることは察するべきでしょ。
もっとも、世の中のできて当たり前は、PCI-expressとか、USBドライバ自作で、
それ未満の技術で舞い上がっているのは学生が厨二病になっているだけ。
それ以下のLEDちかちかしかできない小学生が多いのが、PIC厨の特徴だけどw
(学生風情で世の中のできて当たり前の技術が全部はいっていたら、戦略コンサルにでもなっているでしょw)
>>721 > コンパイラは基本的に引数や戻り値がスタック渡しなので、コンパイラの方が
> いいコードを吐くというのには全く同意できない。
突っ込みどころ満載
・引数がレジスタ渡しのコンパイラがあることも知らないのですか?
・戻り値がスタック渡し?そりゃ珍しいコンパイラですな
・「なので、コンパイラの方が」、、そこだけしか見ないのですか?
Cで3行分のソースコードが1ステップのアセンブラになって
いたときに言葉を失った経験による。CISC の全アセンブラ命令
に精通しているのはコンパイラメーカーだけだと悟ったわ。
くだらない宗教戦争だな
もっと具体例があれば俺みたいなROM専も 楽しめるので以降意識改善お願いします
>>708 つ MAKE: Japan
現実見ろw
>>735 > 眼球をプルプルさせることのできる俺は
俺と同じ特技を持ったやつがこんなところに!
小さい頃、誰でも出来るものだと思って人に見せたら、気持ち悪いからやめろといわれた・・・
>>739 >Cで3行分のソースコードが1ステップのアセンブラ
具体的に3行のどんなCソースが何というCPUの1命令になるのか
教えて頂けませんでしょうか?
まさか2行がコメントとかじゃないですよね?
ちなみに、
>>739 > ・引数がレジスタ渡しのコンパイラがあることも知らないのですか?
引数を明示的にレジスタ変数にすることも可能。
この場合、関数を以下の様に書く。
void fnc(register int a, register int b)
{
;
}
PICだと意味無いけどw
>>740 だな。
こういう何の結論も出ないフレーミングはfjあたりで卒業しとけよw
俺の方がすごい合戦。
それで相手が黙ったら何かスカッとするのかね?
>>742 なるほどねえ、だいたい人と成りが分かったわ。
ちっちゃい人間だなあんたw
おまえらPICでなにしてるの?仕事してるの?それとも遊んでるだけ?
>>739 所詮はその程度の知識よのぅ。まんまと釣り針にかかるとは。
もう何年もアセンブラは書いてないが、当時他のコンパイラに比べて最適化された
コードを吐くと言われたx86のMSCあたりでさえ、MSCの出したアセンブラソースを
雛形に手で直していくと、自己書き換えとかトリッキーな手段を使わなくとも、
生成されるバイナリ比較で1/2〜1/3以下になった。
アセンブラならCフラグの状態でエラーの有無を返せるが、Cでは実装により決ま
ったレジスタで返さなければならない。 汎用レジスタは関数内で破壊される可能
性があるので、上位関数では関数の前後で変数の保持に使えない。
例えば、x86系の多くのコンパイラは、16bit値ならAXレジスタ、32bit値ならDX:AX
レジスタで値を返すが、戻り値がvoid型の関数として定義しても、コンパイラは
これらのレジスタは破壊される前提でコードを吐く。
したがって、register宣言を付けてレジスタ渡にしても、実際は関数の呼び出し
前に、スタック上のローカル変数ないしグローバル変数から汎用レジスタへの
コピーが行われるため速くはならない。おまけに、レジスタ渡しにしたところで、
その関数内から別の関数を呼ぶと、変数渡しに割り当てられたレジスタが破壊
される想定が必要なので、結局、コンパイラは関数内でスタック領域へ変数の
コピーを置く領域を割り当て、ストアしなければならない。
さらに、レジスタ渡しの関数をあちこちで呼び出すと、上記の関数呼び出し
の際のレジスタ代入コードがばら撒かれ、コード量も増える。
アセンブラでは関数ごとに、呼び出し前後のレジスタ保持ルールや、同じint型
の値でも返すレジスタを任意に選択するなど、一歩間違うとバグるリスクと引き
換えに、最大限の最適化ができるが、Cコンパイラはそこまで賢くはなれない。
>>745 昔のことなのでエビデンスが出せなくて申し訳ないですが、
たしか、テーブルを2重に参照した後で char のポインター
を += 4 するような3行のCのソースコードが1つのアセン
ブラ命令に翻訳されていたですよ。
>>750 うーん話自体は興味深いが、賞味期限の切れた内容が多いような
今どきx86アセンブラで組むのはすごくニッチな気がするのだが。
>>753 最近のCPUは汎用レジスタが増えてコンパイラが作り易くなっているけど、
基本的に、移植性を除けば、Cコンパイラに対するアセンブラの優位性は
昔と変わらない。
>>751 68系とか、死滅したV60/70シリーズあたり? せめてCPUアーキテクチャが
判らないと、嘘か本当か判断しようがないな。ポインタのオートインクリ
メントを除いても、1命令で二重テーブル参照は、x86系ではどう転んでも
ムリだな。
単純なテーブル参照や、二次元配列ならXLAT命令とか、MOV AL,[BX+SI
+offset]とかでいけるが、アセンブラならともかく、Cならメモリ上の変数
からBXレジスタやSIレジスタへの代入するコードも必要。
作ったメーカーに聞けっていわれそうなのですが、 PIC学習キットでWinodows7に対応していないものがあります。 FIRST PICk V3 USB PIC トレーニングセットというものです。 だれか使用している人がいて、うまい方法がある人は教えてください。
作ったメーカーに聞け ってか、XPしか動かんって公式に書いてあるじゃん XPのPC探してきてそこで動かすか、捨てろ
757 :
396 :2011/08/09(火) 01:19:21.12 ID:fj5RFoF9
ちょっと愚痴らせて。 アセンブラでチマチマと書いていて、MPLABのSIMでOK PIC24FJ64GA002に書いて実行、結果NG。 4時間ほどあーでも、こーでもやってて、まさかとエラッタと読んでみたら 24FJ64GA002 A3/A4 REPEAT命令が指定回数より足りない事がある…って (ついでにMPLABのCコンパイラはREPEAT命令を生成しませんと) 結局、下記が本来の4回のはずが3回しか実行されていなかったよ REPEAT #3 ; #n+1回次の命令を実行のはずが ADD W0,[W2],[W2++] simでハマって実機でもハマるPIC24は厳しいな
>>754 >せめてCPUアーキテクチャが判らないと、
アーキテクチャは Pentium MMX の時代。(ただし、MMX 命令の話ではない)
> MOV AL,[BX+SI +offset]とかでいけるが
そうそう、そんな感じの命令。
> Cならメモリ上の変数 からBXレジスタやSIレジスタへの代入するコードも必要
それがな、画像処理で for ループでグルグル回す処理だったので、
SI と DI への代入はループの前で1回実行されていたとjは思うが
回している変数が BX に直接アサインされていて、
MOV AL,[BX+SI +offset1]
MOV [BX+DI +offset2],AL の BX の += 4 付き?
とういう感じでピタリと嵌っていたのです。
>>758 > MOV AL,[BX+SI +offset1]
> MOV [BX+DI +offset2],AL の BX の += 4 付き?
>
> とういう感じでピタリと嵌っていたのです。
「ピタリと嵌っていた」って、それ2命令だし。(w
それに、単なるブロック転送なら、ストリング系(LODS,STOS,MOVS)命令の
ほうがコードサイズが小さいし。486以降なら、よりコードサイズが小さい
とループ全体が命令キャッシュに収まる可能性が高い。
もうx86系のアセンブラもかなり忘れちまったが、ベース(BX/BP)+可変イン
デックス(SI/DI)+オフセット命令にはインクリメント付きはなかったように
思う。
あっても転送データサイズ(バイト単位)とインクリメント/デクリメントは
同じサイズしか(バイトなら±1、ワードなら±2)選択できなかった様な ...
曖昧な記憶ではアレなんで、リフレッシュ動作兼ねて調べてみた。
ttp://download.intel.com/jp/developer/jpdoc/IA32_Arh_Dev_Man_Vol2A_i.pdf 35/616ページあたり。
やっぱ、86系はストリング系やPUSH/POP命令以外、オートインクリメント/
デクリメントってないわ。オートインクリメント/デクリメントが割と自由に
使えたのは、6809や68Kだな。
>>759 > それ2命令だし。(w
いやいやアセンブラの片方の行が元々Cで3行だったわけで
> 単なるブロック転送なら
単なるブロック転送ではなくて、各データ値に対してテーブル
を引いて変換する処理のつもりでしたが
> オフセット命令にはインクリメント付きはなかったように 思う。
そうですか。私の記憶違いかな?
思い出して試してみようとしてみたが、時間的に頓挫。
宗教戦争というよりケースバイケース 実際の作業ではコードサイズだけでなく、保守性・可読性の問題、 ユーザや発注主の意向など様々なのに何故アセンブラだCだと騒いでるんだ? 余りに凝った書き方はたとえ高級言語でも倦厭される事もある が、その分コメントやドキュメントの充実でカバーする方法もある 一概にどっちがどうこうとか意味不明
>>750 それってPIC用のどのコンパイラのことですか?
それともスレ違い薀蓄乙ってことですか?
クソの役にも立たないトリビアのお披露目会かよw 年寄りがバッドノウハウを有難がってるのは見苦しいなw
764 :
774ワット発電中さん :2011/08/09(火) 10:15:10.84 ID:F2occUxF
Cコンパイラとしては移植性にちょっと問題が多いと思うけど、最適化ではcc5xが最も 優れてたりして。Cの場合、割り込みのインとアウトで合計20インストラクションくらいはいるので どうしても短周期の割り込みはきつくなるね。
765 :
774ワット発電中さん :2011/08/09(火) 10:43:15.79 ID:wYywaH9Z
まあ実際こんなたぐいの話は技術でもなんでもないわな。ただ知ってるってだけで。
>>721 >まるで自分で書いたソースじゃないみたい。『コメントアウトされてた』
>って、まさか他人のコードをパクってきてどや顔ですか?
単にPICに書き込まれてるプログラムがどちらかわからなかっただけ。
1から自分でコーディングしてるよ。
>後学のために伺いますが、この「一律78Hz」という数字はどういう計算から
>導き出されたのでしょうか?気になります。
フルカラーLED1個しか制御した事無いから理解出来ないのかな。
割り込み毎に5ポートのLEDを制御するからPWMだと同期するでしょ。
>x86でMASMやOPTASMを使ってた世代だけど、全角「w」を多用している点と
>言い、数字や英字も全角だし、とても日常的にアセンブラを使い込んでいる
>とは思えないなぁ。
レスの文字とアセンブラを使う事とはなーんも関係ない。その論理性の無さやその他の内容から察するに
アセンブラの経験が浅いみたいだな。くちばしの黄色いひよっ子レベル。
フルカラーLEDって、PWM3個分という事かな。16MHzを使えるならPICでも余裕で出来そうだね。
ちなみに10セグメントのフルカラーLED(30個のLED)を15マイクロ秒の割り込みで256ステップに制御してみたが
アセンブラなので6〜7割りしか負荷が掛かってない状態で余裕。
http://www.youtube.com/watch?v=4nRSUyp7L4U 残りのX86の件は俺へのレスじゃ無いと思うので割愛(スレ違いの上意味不明だしw)
>>722 安物LED照明は平滑してないから導通角が狭い。つまり、点灯時間が短いのでちらつきやすい。
>>767 > 1から自分でコーディングしてるよ。
これは失礼。(w
> フルカラーLED1個しか制御した事無いから理解出来ないのかな。
> 割り込み毎に5ポートのLEDを制御するからPWMだと同期するでしょ。
たまたま付いていたのが1個だけだったからですが? それと、チラツキと個数
は無関係だし、「3(R,G,B)」や「5個」からは、「78」って出てこない数字だと
思んですが? もう一度聞きますが、78Hzという数字の根拠は?
> フルカラーLEDって、PWM3個分という事かな。16MHzを使えるなら
> PICでも余裕で出来そうだね。
もともとAVRは基本的に1命令1クロックだけど、PIC16F1938って32MHzで動くし、
分岐命令除いて、1命令1クロックなのね。 ただ、同じことがPICでできるか
は、効率的なコードを吐くCコンパイラがあるかどうかでしょうね。
データシートには、1命令1クロックで動くRISCと書かれているけど、結局は
従来のPIC16と内部レジスタモデルや命令互換のままなんですよね?
> ちなみに10セグメントのフルカラーLED(30個のLED)を
> 15マイクロ秒の割り込みで256ステップに制御してみたが
> アセンブラなので6〜7割りしか負荷が掛かってない状態で余裕。
PWMなら、ちらつきなしには50Hz×10分割セグメント×256ステップだと、割込
周期は7.5us以下が必要な気がしますけど。 倍の15usにしたのは、アセンブラ
でも間に合わなかったから?
32MHz動作なら1命令31.25nsだから、いくらPICのコード効率が悪くても、割込
周期(7.5us)あたり200ステップ以上走る計算なのでは?
計算間違い? チカチカだけで負荷が6〜7割って少なくない気がします。
ちなみに、PDMだと、音声出力など常時変動する低周波はいいけど、(FS換算)で
1/256⇔2/256みたいな、低レベルかつ変動幅が小さいと、まともに制御できない
と思うんだが、これも気のせい?
「256ステップ」と称していますが、PDMで「1/256」固定値が続く状態では、
時系列でどういうON/OFF出力を出してます? あるいは1秒間隔(50点灯)で
「1/256」⇔「2/256」が交互に変化する時は?
新型でも18F以下は相変わらず1サイクル4クロックだよ
>>769 なるへそ。確かに ...
> All single-cycle instructions except branches
だけしか見なかったけど、データシートをよく見たら
PIC12F629は、
> Operating speed:
> - DC - 20 MHz oscillator/clock input
> - DC - 200 ns instruction cycle
PIC16F1938も、
> Operating Speed:
> - DC - 32 MHz oscillator/clock input
> - DC - 125 ns instruction cycle
ってすぐ下に書いてありますね。(w
早い話、単純に命令処理速度で比べると、20MHzのPIC12F629はAVRの5MHz相当
で32MHzのPIC16F1938は、AVRの8MHz相当ってことですね。
タイマ周期が同じ15usでも、AVRの20MHzなら300ステップ走るのに対して、PIC
だと32MHzで動かしていても半分以下の120ステップしか走らないと。
遅い上に内部レジスタ少なくて、コンパイラに向かない命令セットだから、
欠点カバーするためには、アセンブラで頑張るしかないと。修行でつね。(w
PIC16F1938が秋月で安いから思わず手を伸ばしそうになったけど…
やっぱAVRでいいや。(w
771 :
774ワット発電中さん :2011/08/09(火) 13:54:43.67 ID:0GjRKQOq
すいません。質問させてください。 コンパイラ C30のフリー版があると見たので ダウンロードしようと思っているのですが MPLAB C Compiler for PIC24 and dsPIC v3.30b これでよいのでしょうか? 調べたサイトではEvalution Versionというのがあるようなのですが それが見あたらないのですが? お金請求されたら怖いなと思いまして質問させてもらいました。 あと、いろいろ調べると以前はPIC24とdsPICは別々になっていたようなのですが 今はいっしょになったのですか?
773 :
774ワット発電中さん :2011/08/09(火) 13:55:54.26 ID:F2occUxF
PICの32MHzでもAVRの16MHzより遅いことになるね。でもこの1インストラクション あたりに要するクロック数の違いはどうしてできるのか、その仕組み的なところをだれかわかりやすく 説明してくれないかな。
なんでPICのクロックすら分からない人が来てるんだろう?
>>774 そんなことを言わないでよ。
超初心者も歓迎ということになっているみたいだから。
僕も1命令あたりの必要クロック数が違う構造上の理由が知りたいです
>>770 >PIC16F1938が秋月で安いから思わず手を伸ばしそうになったけど…
>やっぱAVRでいいや。(w
その方が幸せだと思うよ。
多分、腐ったCコードしか書けない人とかデーターシート読めない人には向かない。
たかがフルカラーLEDのチカチカなのに周波数が計算出来ないのはLEDさえまともに動かせない事に他ならない。
悔しかったら大好きなARMとCで10セグメントフルカラーLEDを動かしてみな。少しは進歩するかもしれん。
ちなみにLEDは秋月で買った。
PIC使いはLEDチカチカとライタ製作は必須科目だからなw
psocと言う手もあるよ。 pwm程度なら、プログラム書かずに設定だけでok
PSOCはもう少しアナログの精度が良くなれば良いんだけどねぇ かなりノイジーだし、CPUとして見たら処理能力も今市だし…
PIC脳、根性まで腐ってやがるな。(w どうせ、チカチカもライタ製作も、他人の作品の劣化コピーだろうに。 PC側ソフト含めてイチからライタを作ってるのは何人いるやら。 東電といい、民主党といい、いつから、日本ってここまで馬鹿が増長する ようになったんだろ?
自民党がでばってるよりはバカじゃないのは事実だがそれはこのスレでは関係ない PICがなぜ4クロックで1インストラクションなのかなんてZ80時代からのお約束だ 調べりゃいくらでもでてくるだろうが?誰もggrりもしない質問乞食か?
>>780 残念でした。まだトラギで紹介されるより遥か昔から使ってるので
オリジナルの回路だし故にアセンブラでPC用のソフト書いて使ってたよ。
今使ってるのはPICKIT3だけどなw
まあ、LEDさえまともに制御出来ないんじゃ当分無理だろうけど。
どうやら、LEDチカチカ房の、触れてはいけない唯一の拠り所の「何か」に 触れてしまったやうだ。 年を取っても、こうはなりたくないものだ。 たぶん「78Hz」だな。(w チカチカの動画再生回数が伸びないけど、途中でブラウザ閉じてるだけ だから、気にすんなよ。(w
>>773 ロジック回路を勉強すればわかるけど、どんなCPUでも1クロックでは動かない。
フリップフロップやラッチが使われてるから。
ARMだってそう。単に内部で複数のクロックを作ってるだけの話。
>>784 ん? AVRは1クロックで動いてるだろw
だれか
>>771 の質問に答えてください。(´;ω;`)
789 :
774ワット発電中さん :2011/08/09(火) 15:15:52.88 ID:F2occUxF
>>784 それでいくと例えばAVRに16MHzの水晶クロックを入力すると内部で64MHzとかに
クロックを上げて処理してるってことなのかな?
「どんなCPUでも1クロックでは動かない」という、その意味するところは理解できる。
ハイエンドなマイコンはパイプラインとかいう処理で見かけ上1命令あたりのクロック数を
下げてると思うけどAVRの場合、パイプラインなどという説明はないみたいだけど。
>>786 1クロック処理が多いだけで、
ADIWとかMULSとか1クロックで処理出来ない演算命令もあるし、
呼び出し系は数クロックかかる。
スレチじゃない範囲で色々議論があっていいとは思うけど、そもそも低速な周辺機器を制御するのに 高い処理能力って必要なのかなーって。
>>789 CPUの設計によって必要なクロック数は変わるから一概に4倍とは言えない。
AVRもインストラクションフェッチは一つ前のサイクルとカブって読み込んでたような気がする。
つまり少なくても2クロック。
>>788 非同期とは言ってないけど、おまいさんの言うような逓倍回路なんぞない、
スタック絡みで仕方なく分断される命令はあるが基本1クロックで動くぞ。
>>788 非同期ならクロックすら要らないよ
クロックごとに動いてるなら同期回路
命令あたりのクロック数は、簡単に表現すると(複雑なCPUではもっと計算が複雑)
データパスの通過フリップフロップ数/パイプライン段数
PICはこれが8と2だから4クロック/命令
別に同期回路かつ逓倍なしで1クロック1命令は実現可能だが…
なんでレベル低いのにアーキテクチャに踏み込もうとするんだろうね
ブラックボックスと考えてLEDチカチカしてればいいのに
AVR のデータシートにあるタイミングチャートを見れば、非同期な部分がないと無理なことがわかるよ。 結果として消費電力が大きめになってるのが欠点といえるのかな?
>>796 データシートのタイミングチャート見て、内部が非同期だと思った訳?
笑っていいか?
>>744 おお。同士。
ただ俺の場合は、長いこと自分の視界を揺らせるだけだと思ってた。
TVでそんな特技が〜とかいうの見て、初めて眼球がプルプルしてるんだと知った。
>>797 それは、タイミングチャートがデタラメだということかな?
データを取り出し、計算して、書き戻すという3ステップの作業をしている。
クロックの両エッジを無理して使っても同期回路なら2ステップしか実行できないよ。
>799 その3ステップとやらの間では、 データを取り出すときのアドレスラッチ、 書き戻す時のデータラッチ、 の2個所でしかクロックエッジが要らない。 データバスとアドレスバスが別のアーキではこの二つを同時に出来るから パイプラインしてもいいなら 1 クロック 1 命令に出来る。 AVRアーキの困難(回路が膨れあがる要因)は使い勝手向上のための一部の命令の実装の難しさにあるのであって、 一般的な部分だけ見るならどうということはない。
801 :
774ワット発電中さん :2011/08/09(火) 21:53:24.84 ID:AIy2Csc6
>>767 綺麗だな
AVR+Cで同等のチカチカ出来るのかな。
ちょっと位早くても厳しい気がする。
>>800 タイミングチャートを確認した?
同期とか非同期だといっているけど、基本は非同期なんだよ。
途中のステップをクロックなしで連続で処理してしまうというのは、その間は非同期で処理しているということになるよ。
>>798 > 初めて眼球がプルプルしてるんだと知った。
視界が揺れてるから、鏡とか見てもどうなってるのか分からないんだよね・・・。
実を言うと、未だに他人からどう見えるのか分かって無い。
804 :
774ワット発電中さん :2011/08/09(火) 22:21:25.04 ID:5e6ERjqY
>>791 レスありがとうございます。
頼まれついでにもう一つの質問、
つまりdspicとPIC24のコンパイラが
合体しているのかどうかという質問も
教えてもらえませんか?
以前は別だったんですよね?
806 :
774ワット発電中さん :2011/08/09(火) 23:34:02.64 ID:F2occUxF
>>805 PICを含むマイコン全体に共通の話題だから俺的には許容範囲なんだけど。
LEDチカチカばかりやってても飽きちゃうし。
>>795 >PICはこれが8と2だから4クロック/命令
この具体的な数字8とか2とかはどこからくる話なのかな?PICってパイプライン処理してるの?
>>806 俺も何処でもいいんだけど、AVRアーキならAVRスレの方がいいと思った。
ところで、奴が言っているのはFigure 6-5. Single Cycle ALU Operationの事か?
>>794 逓倍回路が無いとアナウンスされてるのかな。
そもそも俺は逓倍回路があるとは書いてないけどな。
>>795 相変わらずAVR厨は馬鹿だな。非同期ならクロック要らないとか、短絡的過ぎるw
腐ったCのコーディングでもしてれば良いのに。
もしそうなら、RTLを知らないトーシロ発言。
>>800 がまぁ正解。
(後半はハーバードアーキテクチャの話しで、ちょっと次元が違う)
汎用のCPUがFPGAと同じレベルと思ってるなら井の中の蛙
>>810 それは知ってる。だが、非同期ならクロックが要らない訳じゃない。
そのCPUはクロックが要らないように設計されてるだけ。
そもそもクロックが必要なCPUの話をしてるのにクロックが要らない訳ないw
>>802 「1クロックに複数の処理したら非同期」って定義が曖昧すぎると思うんだけど。
ALUの前と後でラッチしてたら同期回路で、
デコーダとALUを1クロックで通したら非同期になるの?
ALUの中の全加算器だけでも最長でゲート7段通るんだけど、
いったいラッチ間がゲート何段までなら同期回路なの?
>>806 データシートくらい読んでくれ
PCインクリメント、フェッチ(3clk)、命令ラッチ、デコード、実行、ストアで計8クロック
これを2段パイプラインで処理することで4クロック/命令を実現している
AVRは2段パイプラインで1クロック/命令らしいから、データパスは2クロックと思われる
AVRのことは知らんので詳しい人フォロー頼む
814 :
774ワット発電中さん :2011/08/10(水) 00:25:52.13 ID:QMsPUBh8
>>810 そのリンク先の非同期というのは
>>808 がいってるところの非同期とは微妙にニュアンスが違う
気がする。クロックに対しては非同期だけど、クロックとは別の方法で特定の回路ブロックごとに
きちんとタイミングをとりながら動作してるという意味では基本概念としては同期と呼べるのでは。
>>813 > デコーダとALUを1クロックで通したら非同期になるの?
ID:TxYqFsiYは理解しない悪寒。
そもそも同期回路とはなんぞやから説明しないとダメなんだろうな。
以下ゴミ
>>810 RTL=FPGAなのか?w
>>812 > だが、非同期ならクロックが要らない訳じゃない。
クロックを使っている非同期回路の事例があったら教えてくれよ。
間違えた
>>811 RTL=FPGAなのか?w
>>814 > 基本概念としては同期と呼べるのでは。
そりゃそうだけど、今話題にしている同期回路はクロック同期回路。
>>815 >
>>810 > RTL=FPGAなのか?w
アンカくらいまともにつけろよw
だからFPGAちょっとかじっただけの癖にCPUの細部をトンチンカンに語るんだぜw
>クロックを使っている非同期回路の事例があったら教えてくれよ。
非同期カウンタでググレカス
>>816 >そりゃそうだけど、今話題にしている同期回路はクロック同期回路。
予想した通りだな。FPGAをかじった(使ったわけではない)程度の知識だったなw
819 :
774ワット発電中さん :2011/08/10(水) 00:45:28.37 ID:QMsPUBh8
>>813 >PCインクリメント、フェッチ(3clk)、命令ラッチ、デコード、実行、ストアで計8クロック
コードを書くのに必要な部分のデータシートは読んでるんだが、一部抜けるってこともあるだろう。
16F88のデータシート見てるんだけど1命令に4クロック必要ってこと以外見つからないんだが。
ただそのたったの一行をきちんと書けば情報に信憑性が出てくる。
>>817 > >クロックを使っている非同期回路の事例があったら教えてくれよ。
> 非同期カウンタでググレカス
ワロタw
おいおい、非同期カウンタがクロックを使う非同期回路なのか?
馬鹿も休み休み言えよ。はらわたが捻じれて痛て〜よw
821 :
774ワット発電中さん :2011/08/10(水) 01:13:49.20 ID:lCrrDbVG
気が触れたか
元からそうなんだよ、そっとしといてやれ。
所詮他のデバイスをいじれない PIC厨の頭なんてこの程度なんだなぁw
>>819 データシートによっては、省略されているものもあるみたいだよ。
非同期カウンタは、1ビットのカウンタを数珠繋ぎにしただけのもので、 最下位のクロック入力による桁上がりがさざ波のようにつたわるからリップル・キャリーと呼ばれている。 同期カウンタは、ラッチとその値に1を足す回路からできているもので、 クロック入力を与える前から結果がわかっているから、それをラッチするだけ。 同期回路では、クロックが来たときには入力が確定しているから、回路の設計がしやすい。 非同期カウンタでも同期回路は組めるけど、結果が1クロック以上遅れてわかるのでは、使い物にならないよね。
>>825 おっ、フォローありがと。
しかし、何言い出すかと思えば非同期カウンタとは…。
入ってくる信号が例えノイズであっても、まぁカウンタから見えばクロックだな、クロック違いだけどw
827 :
774ワット発電中さん :2011/08/10(水) 09:25:28.05 ID:lCrrDbVG
>非同期カウンタでも同期回路は組めるけど、結果が1クロック以上遅れてわかるのでは、使い物にならないよね。 そんな事無いよ。設計が難しいだけで性能は向上する。
>>827 非同期カウンタをプログラム・カウンタに使えるのか?
非同期というのは、NANDゲートのように入力を与えたら少し経って結果が得られる状態のことだよ。
それをクロックでラッチして同期させるだけのこと。
3ステップというのは、非同期の部分で、どれだけ複雑なことをやっているかというだけの話だよ。
処理速度は4倍上がるかもしれないけれど、どうも消費電力は4倍以上使うみたいだねといっただけ。
比較対象が適正とはいえない部分があるから、これが本当だとはいえない部分があるよ。
830 :
774ワット発電中さん :2011/08/10(水) 11:59:27.64 ID:lCrrDbVG
>828 非同期カウンタは非同期じゃ無い? >829 >非同期カウンタをプログラム・カウンタに使えるのか? 当然使える。原理的に非同期カウンタの方が高速だから、同じプロセスルールで 他社より高速にしたけりゃ非同期カウンタを使う選択肢も当然あるだろうね。 それ以降、意味不明。
>>830 >原理的に非同期カウンタの方が高速だから
非同期カウンタは、遅い回路の代表だよ。
例えば、32ビットのカウンタなら1ビットのカウンタの32倍の時間をかけないと結果が出ないからね。
>それ以降、意味不明。
マイコンをかじったことがある程度の知識ということだね。
PICはLEDチカチカでスレが潰れる勢いで大騒ぎ 他のマイコンだと話題にもならず終了・・
厨二病どころか、小学生だからねぇ >Lチカ連中及び、性能を必要としない物までARMでやらせようとする輩
>832 まあ何の話題も無いよりはましじゃないですか それにこういう時ってPICの事 しらない人もよく書き込んでるようだし 寂しくてAVR,ARMスレあたりから来てるんでしょ。 で、話題をぶった切るように…テンプレ更新したんで書いときます。
[秋月の新シリーズのPIC16F1xxx テンプレ用] 旧シリーズより機能が大幅にアップしていて値段も下がってる。新規に組むならこちらから選択すべき [40pin] 16kwハ必要ナイカモシレナイケド10円差ナラ ◎16F1939 \180 16Kw 1024 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 ○16F1937 \170 8Kw 512 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 [28pin] ナゼ同価格ニ設定サレテイルノカ理解デキナイ ◎16F1938 \150 16Kw 1024 I/O25 ADC11 CapS8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 ×16F1936 \150 8Kw 512 I/O25 ADC11 CapS8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 ×16F1933 \150 4Kw 256 I/O25 ADC11 CapS8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 [18pin] 18ピンの割にMSSPが2コ,ADC入力ピン多,タイマーx5,CCPx4と多機能 ◎16F1827 \120 4Kw 384 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 [14pin] 機能的に8ピンとあまり変わらないのは残念 ◎16F1823 \100 2Kw 128 I/O12 ADC8 CapS8 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP- [8pin] 8ピンでUSARTもI2Cも使えるってのは大きいね ◎12F1822 \80 2Kw 128 I/O6 ADC4 CapS4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP- 表記 Timer[8bit]/[16bit],ECCP[Full]/[Half],CspS=CapSense,Comp=Comparator 共通 EEPROM256byte,EUSART,SRLatch(555相当?),10bitADC,5bitDAC,1.024V基準電圧,温度計(?) VDD1.8〜5,5V,Max32MHz(Vdd2.5V以上),4xPLL有,内蔵OSCでも32MHz可 プログラム面で新命令追加,bankは32マデ拡張,スタック16レベル,LATが追加,割込時のレジスタ自動保存 16bit幅で2本になったFSRデ連続配置RAMやプログラム領域アクセス可能 追加命令群 ADDWFC,SUBWFB : キャリー,ボローを含んだ加減算 ASRF,LSLF,LSRF : シフト命令 BRA : PCLATHやページ境界に関係なく相対ジャンプ [9bit幅] PC+255〜PC-256へ BRW : PCLATHやページ境界に関係なく前方へのみ相対ジャンプ PC+W(0〜255) ADDWF PCL,f ヨリ便利 CALLW : 上位はPCLATH,下位はWのアドレスにサブルーチンコール MOVLB,MOVLP :バンクセレクト,PCLATHに直接定数入れる TRIS,OPTION :TRIS(A〜C),OPTION_REGにWの値入れる(12bit幅品互換?) RESET : ソフトウェアリセト ADDFSR : FSRに定数(-32〜+31)加減算 MOVIW,MOVWI : INDFガツカイヤスク FSRに対して[PRE/POST][+1/-1]や定数(-32〜+31)offset可能
>>833 何が気に入らないんだよw
シロートがシロートなりに楽しくやってんのが癇に障るのかw
どっちが小学生だ。
秋月のPIC12/16F(旧)シリーズ 命令セット14bit幅&DIP品限定ピン数別評価 あくまでも旧シリーズ内での相対評価。新シリーズが使えない場合のみ有効 (先頭のvは値下げ,-は維持,*は新規)'11/8更新版 -40ピンは◎16F887 \200 40ピン600mil幅が許せるなら 旧シリーズ最強 -28ピンは◎16F886 \190 887よりピン数減ってスリム(400mil幅) ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31K-8MHとフルサポート 新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを 20ピンはF690のバリエーション多,価格差小なのでF690か,OPアンプF785,ポート割りがチョットカオス -◎16F690 \210 ADC有,eCCP有,eUSART有,SSP有,4Kw,内蔵31K-8MHzとバッチリ -○16F689 \180 F690からeCCP機能削られた -×16F687 \180 さらにF689を2Kwと半分に -△16F677 \170 さらにF687からeUSARTも削られた -○16F685 \190 F690からSSP&eUSART機能が削られた -◎16F785 \180 ADC有,CCP有,2Kw,内蔵31K-8MHz,OPアンプ搭載が異色(新シリーズにも無) 18ピンは種類は多いけど選択の幅は狭い。F88カ値段でF716いっそ20pinにするか -×16F84A \250 機能無,1Kw,新規では不要だけど作例参照用or互換用に -△16F648A \180 CCP有,USART有,4Kw,内蔵4MHz,ADCないのはオシイ -△16F628A \160 F648Aの2Kw版,売りが値段だけだと厳しいかな -×16F627A \160 F648Aの1Kw版,売りの低コストで628Aと並ばれると・・・ -×16F627 \200 F627Aの改良前Ver,なぜこんな物が・・・ -◎16F88 \200 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31K-8MHzと旧18ピンの王者 -×16F87 \200 F88にADC無い,F88と同価格では不要・・・ -○16F819 \180 ADC有,CCP有,SSP有,2Kw,内蔵31K-8MHz,F88とはROM容量の差 -×16F818 \200 F819の1Kw版,上位のF819より高くては不要・・・ -◎16F716 \110 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い,ADC8bit注意 14ピンはF688の値下げで他2がほぼ不要に v◎16F688 \120 ADC有,eUSART有,4Kw,内蔵31K-8MHz -×16F676 \140 ADC有,1Kw,内蔵4MHz -△16F630 \110 F676のADC無し 無機能で影薄い、今まで存在に気付かなかったw 8ピンはF683だと思っていたがF615も\100にしてはなかなか良い -◎12F683 \150 ADC有,CCP有,2Kw,内蔵31K-8MHz,8ピンとしては多機能 -○12F675 \120/130 ADC有,1Kw,内蔵4MHz ,環境によってはE/P版 -○12F629 \80 675のADC無(機能無しってこと),この値段ならチョット使うに便利 -△12F635 \120/130 機能無し,1Kw,内蔵31K-8MHz,環境によってはE/P版 -◎12F615 \100 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無し -×12F609 \100 F615からADC,eCCP機能省かれてる (参考)機能無,EEPROM無,命令セット12bit幅 プログラム組む上で制限多し(割込無イヨ △16F57 \100 28ピン,2Kw,内蔵CLK無,安くて多くのI/O欲しいなら △16F54 \60 18ピン,0.5Kw,内蔵CLK無,安いI/O欲しいなら ◯12F510 \60 ADC有(8bit),1kw,内蔵4Mor8MHz,EEPROM無し ×12F509 \60 機能無し,1Kw,内蔵4M,EEPROM無し △10F222 \70 DIP8ピン,1/2Kw,内蔵4Mor8MHz,米粒PICのデバッグ用 △10F200 \70 DIP8ピン,1/4Kw,内蔵4MHz,米粒PICのデバッグ用 マークの意味 ◎お勧め、用途決まっていないならこれ買っとけ ○内蔵モジュール減ってるけど、その分値段も安くなってるから、まあまあ △内蔵モジュール大幅に減ってる、\10でも安くしたいなら、どうぞ ×ソースを変更できない等の理由がないなら、選択する必要なし 自分で、プラグラムもハードも作れる人のためのリスト。 そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら 指名買いするしかないのだから お勧め度は意味がない。
838 :
774ワット発電中さん :2011/08/10(水) 14:01:12.39 ID:EOjzDeJk
秋月DIP品限定18,24,dsPICシリーズ 18Fシリーズは多いけどUSBが使えるこのあたり(他のは性能の割に高い) -◎40ピン 18F4550 \400 -◎28ピン 18F2550 \400 (△18F2420 \300 USB無し) v◎20ピン 18F14K50 \170 5V動作,Max48MHz,8Kw,768RAMナラUSBナクテモ 24,dsPICシリーズ(24F,dsPICは品数限られていて,値段も高め) 40ピン -○30F4013 \650 16kw 2KB EEPROM1KB -×30F3014 \750 8kw 2KB EEPROM1KB 28ピン -◎24FJ64GA002 \350 21.3kw(64kB) 8KB EEPROM無 リビジョンはイクツカナA3/4ハナイヨナ -△24HJ12GP202 \400 4kw 1KB EEPROM無 -○30F4012 \750 16kw 2KB EEPROM1KB 5V必須ならこれかな -△30F2020 \700 12kw 0.5KB EEPROM無 -△30F2012 \500 4kw 1KB EEPROM無 -○33FJ32GP202 \450 11kw弱(32kB) RAM2KB 高速性能を求めるなら 18ピン -○30F3012 \500 8kw 2KB EEPROM1KB 共通 24Fシリーズ Vdd2.0-3.6V Max16MIPS 5V入力可(全ピンジャナイヨ) 24Hシリーズ Vdd3.0-3.6V Max40MIPS 30Fシリーズ Vdd2.5-5.5V Max30MIPS DSP命令有,5V動作可 33Fシリーズ Vdd3.0-3.6V Max40MIPS DSP命令有
LCD(バックライト無し)が壊れてないか簡単にテストする方法ってありますか?
>>840 同形式の液晶使ったキット買って来てつなぎ変えてみる
>>842 「PICを使って」って言いたかったんじゃね?
定番のLCDなら、そのへんに転がってるPIC用のLCDルーチンでデモ作ってLCD繋ぐってのが一番楽だな。
mikroCとかだとルーチンかってに付いてくるし。
LCD単体でテストメッセージ表示出来ればいいのにってよく思う
新スレが立つ度に重うんだけど、
>>835 > [秋月の新シリーズ
>>837 > 秋月のPIC12/16F(旧)シリーズ
>>838 > 秋月DIP品限定18,24,dsPICシリーズ
なんでテンプレが秋月の広告な訳?
テンプレなら、繰り返される質問の回答を書いといてほしいな。
例えば入門書にはこんなのがあるとか、ライターは今は純正がお勧めだとか、LEDチカチカならここ見ろとか。
値段重視ならデジキーやダイレクトがあるし。 近場ならお前が探せと言えるんじゃないかと。 秋葉原で有名ところで探すとなると秋月が圧倒的に安いし。 しかも、新品の性能がいいほうが安いと来てるからじゃないか。 入門書ったってCCSCでいくかそれ以外でいくか、 ライターはなぜPICKIT2お勧めなのか、LEDチカチカのソースを晒しているところなんて物好き以上はw となりそうなんだがなぁ… 自分でこんなのどうって上げるやつの宣伝なら考える。 …@wikiあたりで、よってたかってLEDちかちかのソースコード上げるってのも面白そうだなw
>>845 このリストを便利だと思う人がいるから、テンプレから外れた事もあったけど
リクエストがあって直ぐに復活した。
あと、初歩的な質問はテンプレ見ればおk状態にしちゃうのこのスレの存在価値がなくなっちまう(ジョーク)
2550って前はもっと高くなかったっけ
2550は変わってないと思う。 14k50はちょっと安くなった。
秋月の2550ボードは足とジャンパ取るとUSB小物作る時に重宝する。
>>845 > なんでテンプレが秋月の広告な訳?
広告程に揃った情報ではあるな、値段までわかる、ありがたいw
PIC取扱品種の多さ、入手の容易さで秋月を越える小売があればそこに取って代わる
そんだけじゃね?
>>847 > このリストを便利だと思う人がいるから、
リストの中でも
>>835 の新シリーズは便利。
でも旧シリーズの
>>837 って必要か?
それと
>>838 がDIP限定もなんだ?だし、PIC32が無いのは何故?
>>835 だけあれば十分かな。
それよりFuck!と叫びながら、FAQ書いとこうよw
853 :
774ワット発電中さん :2011/08/11(木) 07:25:38.80 ID:fQ/P7d1m
>厨二病どころか、小学生だからねぇ >>Lチカ連中及び、性能を必要としない物までARMでやらせようとする輩 書き込みするだけで物になってないけどなw
>>851 > PIC取扱品種の多さ、入手の容易さで秋月を越える小売があれば
それ言ったら終わってしまうやん。
PICだけで9,000種もヒットするDigiKeyに秋月が勝てる訳ないし。
「宣伝乙」って言われるのがオチ。。。
テンプレは、スレの性格を方向付けしてしまうからな。
今のLEDチカチカと、ライターと、その他多くの雑談スレでいいなら、これまでのテンプレでいいんじゃね?
いやもう飽きたって思うなら、ちょっと考えるべきだろうよ。
オレはこのままでいいかなw
PIC vs AVRも面白いし、ちょい上の非同期カウンタもすんげぇアホでオレも笑えたし。
面白いからこのままでいいやw
> ちょい上の非同期カウンタもすんげぇアホでオレも笑えたし。 うむ、アホというより、まさに「群盲象をなでる」の状況な。 像はうちわみたいなものだ、いやいやそんなことはない像は柱のようなものだと。。 ある観点で見れば誰も完全に間違ったことは言っておらん。
856 :
774ワット発電中さん :2011/08/11(木) 09:42:33.61 ID:3hAk2ojR
DIGIKEYも利用することあるけどDIGIKEYdigikeyと秋月、どちらでも買えるなら秋月で買う。 送料が無料になるまで数量がまとまらないともったいないからね。
>>854 >
>>851 > > PIC取扱品種の多さ、入手の容易さで秋月を越える小売があれば
> それ言ったら終わってしまうやん。
> PICだけで9,000種もヒットするDigiKeyに秋月が勝てる訳ないし。
んじゃもう一文字だけ足してやるよ「小売」を「小売店」に
店構える前提で9000種も置いてるなら秋月なんて行かないよ
>>856 同様、必要ならDIGIKEYを利用するが店先のちょっとってのもおつなものだ
もっとも首都圏に住む者の贅沢といわれればそれまでかも知れない
簡単に秋葉原へひょいひょい行けない人にはそれ自体が選択肢にならないしな
ふと思ったけど日本橋界隈とか名古屋のなんだっけ?電気街みたいな場所
こういう取り扱いの小売店ってないのか?
金額に大差なければ、秋月にお金おとすよ 無駄に外資系を儲けさせても仕方ない 1つ2つ買うんじゃなければ 店に出向いて(探しながら)買いそろえるよりも 送料500円はらってピッキングしてもらったほうが安い
859 :
774ワット発電中さん :2011/08/11(木) 10:36:02.99 ID:viXgYGn7
テンプレとは、テンプレート、記入用の雛型のこと。
スレの先頭書き込み、
>>1 >>2 のことを指すわけではない。
>>858 > 無駄に外資系を儲けさせても仕方ない
マイクロチップって、何処の会社だっけ?w
国産がいいなら日の丸ルネサスでも使っとけw
おれは出来るだけアマゾンで買わないようにしてる それだけだ
テンプレとは?(Wikiより) > 前スレからの変更がない場合は、前スレのURLなど1〜2箇所の修正で使えるようになっている。目的やルール、参加するにあたって最低限必要な知識などが含まれており、ひととおり読んでおくことが求められる。
>>854 >ちょい上の非同期カウンタもすんげぇアホでオレも笑えたし。
PIC のタイマ特有の用語である同期カウンタモードや非同期カウンタモードと
本来の意味での同期カウンタや非同期カウンタを混同しているんだよね。
(タイマモードも忘れてはダメだね。)
本来の意味で考えれば、読み書きできるタイマが同期カウンタで
プリスケーラが非同期カウンタになるわけです。(さあ本当かな?)
>>826 >しかし、何言い出すかと思えば非同期カウンタとは…。
>入ってくる信号が例えノイズであっても、まぁカウンタから見えばクロックだな、クロック違いだけどw
同期回路の最小例といえるのが同期カウンタだからね。
非同期カウンタは、その元になったのだから、比較が可能だろ。
>858 名古屋の大須? 去年行ったけどあんまり。 一般部品なら大抵揃うし、ロボットのパーツとかオーディオ系もあったけど マイコンは無かった。
866 :
774ワット発電中さん :2011/08/11(木) 13:00:16.30 ID:OpGNJBO3
大須で買うなら送料払って秋月通販で買ったほうがはるかに安い。
867 :
774ワット発電中さん :2011/08/11(木) 13:42:00.95 ID:fQ/P7d1m
>831 同期カウンタは32倍+キャリ伝播にかかる時間だから 更に遅くなる。
>>865 >マイコンは無かった。
ホント? どこに行ったの?
>>868 確かに、アメ横ビルにあるパーツショップ(第一、第二の両方)にあったマイコンの品揃えはたかが知れてるけど、
マルツの上小田井にある店よりはましだと思う。
だとすると、 >マイコンは無かった。 というのは違うってことだよね?
ごめんごめん。旅行で行った時に寄ったんだが、徹底調査したわけじゃないんでね。 場所とか詳しいことは地元の人、又はショップの中の人お願いw
872 :
774ワット発電中さん :2011/08/11(木) 17:57:16.85 ID:viXgYGn7
だから、そういうときは、見つけられませんでした、って言うのよ 無かったって言うと、 全部調べたのか? となる
めんどくせええええええええ
生きているのがメンドクサイの?
あんた、頭大丈夫?ww
あんた、あの娘のなんなのさ
>>873 ロジック回路やソフトを長年やっていると
・曖昧さを排除しなくてはならない
・問題の原因を徹底的に追究しなくてはならない
という習性が体に染み込んでしまい、一般的な人間からは
嫌がられる性格になってしまうものだ。気にするな。
いま「やさしいPICマイコンプログラミング&電子工作 第2版」と言う本を参考に LCDを使った回路を組んでるのですがうんともすんとも動作してくれません LCDへのハンダ付けの際に何度も失敗し付け直したのですが ハンダ付けでLCDが壊れるといった事例は割とあるんでしょうか? もしそうであればもう一度新しいのを買ってトライしてみようと思うのですが・・・
879 :
774ワット発電中さん :2011/08/11(木) 21:39:26.04 ID:GYaBcGTg
マイクロチップ社のホームページにエラーが発生して mplabとコンパイラがダウンロードできないんだけど
>>878 本の通りやったから、俺は悪くないとでも?
回路は、思ったようには動かない。
作ったように動くだけだ。
LCDをつなぐ前に、LEDなどで、動作確認しなきゃ
881 :
774ワット発電中さん :2011/08/11(木) 22:22:33.01 ID:3hAk2ojR
>>878 電子部品が半田ごての熱で壊れるというのはわれわれが一般に想像するよりも少ないのではないか。
システム全体の動作が正しいかどうかを疑うのがさきかな。バックライト無しの液晶でもコントラスト
の調整が必要じゃなかったかな。
回路を組んだだけじゃ動かないよレベルだな PICは難しいマイコンの1つだから 買いなおすなら別のにしときなさい
回路とプログラムはここ3日程で色々試してみました。 LEDを使った信号の目視確認もしています。 ですが1度たりともLCDに変化が現れなかったので もしやハンダ付けの段階で壊してしまったのかと 思い質問に至った次第です。 熱で壊れる可能性は余り無いとの事なので もうすこし見方を変えて頑張ってみようと思います
>>878 その本を持ってないので一般的な話しで。
> LCDを使った回路を組んでるのですがうんともすんとも動作してくれません
こんな感じで問題を切り分けたら?
1. (通電せずに)テスターで配線を一つ一つ確認し、回路図通りになっているか?
2. (通電せずに)テスターでVccとGND間を測って、ショートしていないか?
3. (通電して)Vccの電流は想定の範囲内か?
4. LCD無しの状態で、ライターにPICが反応やら書き込みが出来るか?
5. LCD無しの状態で、LEDでもテスターでも、動いていると確信できる状態か?
> LCDへのハンダ付けの際に何度も失敗し付け直したのですが
基板に何度もコテを当てると、パターンが断線することはあるよ。
物理的なミスだとしたら 断線よりも残ったハンダでショートしてる可能性の方が高そう
3日も掛けてんだからテスターで短絡ちぇきぐらいやっとるわい
>>883 PICは動いているんだ。
> ですが1度たりともLCDに変化が現れなかったので
なら、配線間違いとか。
1pinの数える順番を間違えてないかい?
>>887 なぜ、そこでアンタがキレる?
PICも配線も予定通り出来てる、て場合は初期化手順の問題じゃねえかな。 LCDの説明書に載ってる通りの初期化手順だと失敗して、 各待ち時間を倍に伸ばしたら動いた事がある。
配線間違いだと 1,2ピンの電源極性を逆に配線してた(1602と2004、または互換品で間違う) 3ピンに電圧かけてない(1/3Vccくらいかけとく) 4ピンをGNDに落とし忘れ(やらないと書き込みモードにならない) あたりかね。
あ、間違い。 誤 : 4ピンを〜 正 : 5ピンを〜
自分の場合は、13と14を逆に繋いでたな 他の部分と順番が逆 まーその場合には、変な文字が表示されると思うが 何度も確認して間違いないはずなのに、何故か間違いが出てくるのがプログラム アセンブラは似た命令も多いし余計じゃないかな 焦らず、試行錯誤してるうちに、間違ってる場所が発見できるよ
自分の場合、初期化コマンドが間違ってたことがあったな たぶんデータシートのミスか何かで、表示OFFのまま終わってた 表示ONコマンドをくっつけたら文字が出た
PICってBASCOM-AVRみたいなお手軽コンパイラないのか? あれならピンアサイン定義しとけば「LCD "Hello World"」で終わり
LCDのコネクターは、LCDの裏から見たピン番だった。 つまり、列単位で左右がテレコだった
LCDを繋いだ状態で、電源電圧は何Vだった?
マジレスするとそんなに簡単に壊れないぞ しかし電源の逆接だけは絶対ダメwメチャメチャ熱くなって終了(確実に壊れる) たまに電源周りのピンアサインが逆とかのがあるからね・・・ 深センの通販部品屋で買った\300ぐらいの安い液晶を使ってるんだけど モジュール壊すのはやっぱダメージが大きいw
昨日、ピンソケット(@60)を4つくらい買いに わざわざ上小田井のマルツ逝ったら棚卸しとかで閉まってた ガソリン代、かえせ!
LCDは…単にコントラストの調整だけ。と、推測してみる
>>898 マルツには、落ち度は無いと思うよ。
文句言っているキミの人間性は疑うけどね。
901 :
774ワット発電中さん :2011/08/12(金) 12:02:17.07 ID:f3aAtihU
俺もおんなじような感じになったことあるよ。 データシートの通りに初期化コマンド送ってるはずなのに液晶半分真っ暗。 仕方ないからmikroCのライブラリが出力する初期化コマンドでやってみたら動いたよ データシートとは違ってた
MPLAB IDEが8.76になっていたので変えてみたけど >410 治ってない、簡単には直せないものなのか いっそMPLAB X 使った方がいいのか
毎回エラッタ大漁旗の会社がエミュ直す暇なんてあるのか? I部門が違うんだろうけど
すまん、 直す暇なんてあるのか?でなく 直す気なんてあるのか?だな じゃんじゃんクレーム送っちゃいなYO
そう言えばdsPIC33系のEXCH命令はずっとバグ持ちのままだね。そんなに使う命令じゃないけど
>>898 そろそろ棚卸しなんて必要ないシステムにして欲しいね
無理
>>906 この国に税金というものがなくなれば実現できるよ。
棚卸し、20:00〜9:00 でやればいいのにな
911 :
774ワット発電中さん :2011/08/12(金) 19:10:04.00 ID:hHM12ob9
どこの近所にもあるスーパーとかって棚卸のために店閉めたりしてる?
店を閉めることで売上が減るんだけど
>>911 最近は深夜にやるところが多いよ
棚卸しごときで店を閉めたほうが損失(機会ロス)が大きいからね
筆おろし・・・・
秋月の棚卸やばそうw
ウチの近所にあるダイエー系列のグルメシティってスーパーは棚卸しのために店閉めてるよ。 丸1日全部閉めるわけじゃないけど。
>>908 そういう事を言いたい訳じゃないんだがなぁ
在庫を合理的に把握するシステムにして欲しいってことだ。
>>917 売れた分だけなら簡単だろうけど、盗まれたりするし、現物計数は必須。w
USARTでMIDIデータを受信してその内容でLDEを点灯するプログラムなのですが どうしてもLEDがつかないで、OERRが1になるばかりです、どこか間違っていますでしょうか。 MPLAB、PIC16F873 です 割り込みを使わないRCIFだけの受信には成功しています __CONFIG (0x3D32); short i=0; unsigned char rec_dat[3]; void interrupt isr(void) { i=i%3; LED=1; if(RCIF) { rec_dat[0]=RCREG; while(!RCIF); rec_dat[1]=RCREG; while(!RCIF); rec_dat[2]=RCREG; if(rec_dat[0]==0x90) { LED2=1; } else { LED2=0; rec_dat[0]=0x00; } } LED=0; } void init() { TRISA = 0x00; TRISB = 0x00; TRISC = 0b10000000; LED=0; LED2=0; RX9 = 0; //8bit rec CREN = 1; SPBRG = 9; GIE=1; RCIE=1 SPEN = 1;//シリアルピンとして使用 } void main() { init(); while(1) { if(OERR==1) { LED=1;LED2=1; } } }
商品すべてにID入りのICチップを付けておき 夜な夜な一斉点呼させりゃいい。これなら毎日でもできる 天井に取り付けたスキャナからRFで電力供給+読み取りするわけ
>>918 バーコードラベルにRFIDタグつけろって話だろ?
小売りの売上がそれほどあるならそもそも昼日中に棚卸ししたりはしないんじゃないか
922 :
774ワット発電中さん :2011/08/12(金) 23:38:37.48 ID:hHM12ob9
割込みフラグは割込みサービスルーチン内で手動でクリアしてやらないといけないんだが 大丈夫?それから割込み処理内でwhileはあまり使わないと思うんだけど。
>>922 割り込みフラグというのはここではRCIFのことですか?
RCIFはRCREGからリードするとクリアされるらしいですが
あと
void interrupt isr(void)
{
i=i%3;
LED=1;
if(RCIF)
{
rec_dat[i]=RCREG;
i++;
}
LED=0;
}
こんな風に変えてみましたけど
OERRは1になってしまいました
>>918 だからそういうのひっくるめてのシステムだって言いたいんだよw
>>925 ありがとうございます
PEIEを1にしたらできました
16Fの設定方法はすべて一緒というわけではないんですね・・
>>919 OERRビットをクリアすること。
セットしたままだと受信できなくなるよ。
クリアするには、CRENビットをクリアしてから、セットします。
あの割り込みツリーの例外ありまくりな感じがPIC
929 :
774ワット発電中さん :2011/08/13(土) 21:50:19.82 ID:UI78USWH
AVRでLEDのソフトPWMやってみましたが、チラついてしまいます。 PICなら幸せになれますか
それはマイコンの問題ではない
931 :
774ワット発電中さん :2011/08/13(土) 22:30:18.74 ID:MX/i91Tj
くだらないことに血道を上げずにLEDドライバ使え。
932 :
774ワット発電中さん :2011/08/13(土) 23:45:40.34 ID:vLXhWbOV
>>all ID:Iey6t+bS ↑この糞ったれはあっちこっちで迷惑書けてる荒らしです。2ch規約に反して上げてるのがその証拠 特徴として糞丸出しのアホすぎる文章と全角英数しか使えません。はっきりいって能なしです
>>924 どシロートのお前に発言権なんてない。失せろゴミ
935 :
774ワット発電中さん :2011/08/14(日) 02:38:38.82 ID:hn43krxA
>831 PIC(Peripheral Interface Controller)で出来る事を 他のチップを追加しないと実現できないのは単に実力不足。
>>929 PWMで比率を変化させる時は周期と同期させないとチラつくよ
あとは、PWMでもPDMでも周波数が低すぎるとチラつくから
なるべく高くするだけ
256 * 60 = 15360Hzぐらいないとチラついて見える
AVRの8MHzなら
8000000 / 15360 = 520
1割り込みで520サイクルもあれば余裕かと
938 :
774ワット発電中さん :2011/08/14(日) 09:37:33.01 ID:hn43krxA
>936 ありがとうございます。少し前に出てたフルカラーの10ポイントLEDを真似しようと ATtiny2313で作ってみたのですが、1割り込みで30個のLEDを動かさなくてはいけないので なかなかうまく逝きません。
2313で30個?はともかく、500 / 30 = 16 1LED16サイクルもあれば余裕かと
940 :
774ワット発電中さん :2011/08/14(日) 10:03:12.82 ID:hn43krxA
>939 LEDを入手してから気がついたのですが、RGBX10のマトリクス結線になってるので R、G、Bを順番に点灯するだけでも結構大変です。最初R、G、BをPWM周期で切り替えてたのですが ちらつく上に色がめまぐるしく変わって見えるので、今は割り込み毎にR、G、Bを切り替えてます。 切り替えに4ステップ取られて残りでPWMの計算だとCでは不可能に思えますが。 実力の無さを痛感しておりますorz
で、その方法はアセンブラだと可能な見積りになるのか? だったらアセンブラでやればいいんじゃね?
942 :
774ワット発電中さん :2011/08/14(日) 10:23:14.19 ID:hn43krxA
PICでなければCでも余裕みたいな書き込みがあったので挑戦中。 現実は、高速化の為にCとは思えないプログラムになってしまって、それでも動かないw
何が大変なのかさっぱり判らん 愚痴ならAVRスレでやれよ
今日のNGID:hn43krxA
945 :
774ワット発電中さん :2011/08/14(日) 11:05:00.26 ID:j1mDpY6Z
ここでPICについて質問しようとしてる奴、悪いこと言わないから 初心者スレに行ったほうがいいぞ。
>>942 Cしか出来ない奴が「今のCは良くなった」とか「アセンブラと遜色無い」とか言うのは昔から変わってないが
普通に書いたアセンブラに対し普通に書いたCじゃ10〜100倍は遅いのが常。
その上このスレに来てるアンチなんてレベル低いんだから、鵜呑みにする奴が馬鹿を見る。
まあ、ヌルヌルAV Rなんて捨てて、PICで猛勉強すればちょっとは実力UPするかも試練w
>>942 ちなみに>767は
>>940 と同じ方法。つまり、RGBを割り込み周期毎に順次点灯させ、色が変化しないようにしてある。
AVR厨じゃハードのセンス無いから聞いても無意味。そういう意味でもPICに乗り換えた方が良いかもね。
948 :
774ワット発電中さん :2011/08/14(日) 12:07:37.50 ID:j1mDpY6Z
いちいち煽らないとレスできんのかお前は。
うん
このスレ、アセンブラ至上主義者がよく湧くなw ポータビリティないコードなんて一年後には意味無いし。 そもそもアセンブラでガリガリしなければいけない時点で、既にチップ選択を間違えている事に気付けよ。
951 :
774ワット発電中さん :2011/08/14(日) 13:48:41.60 ID:j1mDpY6Z
Cかアセンブラかなんて他のチップじゃ10年以上前に廃れた話題なのにな。
952 :
774ワット発電中さん :2011/08/14(日) 13:52:10.63 ID:aCk6kvvb
PICってチップはアセンブラでごりごりして初めて息吹が吹き込まれるのだろう?
>>950 なら、Cで余裕で動かせるチップを教えてくれ。選択なんかした事あるのかよ。
洗濯の勘違いだろw
今はチップの速度が速くなってるのでコンパイラでじゅうぶんなんじゃねぇの? アレか ソフトウェア資産の継承、じゃなくて ハードウェァ資産の継承に懸けてるのか?
すべて、適材適所
ttp://www.rt66.com/~shera/ppsdiv.zip The PIC source code for a single chip frequency divider that takes a 10 MHz input and produces 9 square wave outputs - one for each frequency decade from 100 kHz to 0.001 Hz (1000 s period), courtesy of Tom Van Baak,
[email protected] :
>>947 10〜100倍なんて、相変わらずPICゆとり脳は、ビッグマウスですね。
デキの悪いアーキテクチャのマイコンでも、アセンブラに比べたCコンパイラの
速度低下(≒コード効率によるプログラム量の増加)は、PICみたいな汚いアーキ
テクチャですら、せいぜい5倍以内じゃないですか?(w
もし仮に、同一のクロック速度環境下で動く、機能的に同じプログラムにおいて、
Cで開発したコードの速度が、アセンブラによるプログラムと比べて10〜100遅い
としたなら、それは無駄に挿入されたループ処理で時間をつぶすか、速度の低下
と反比例してコード量が肥大化していなければならない。
悪意を持って意図的に作られたコンパイラでない限り、前者の仮定はない。
つまり、アセンブラで10KBのバイナリと同じ機能を、同じアルゴリズムで
C言語で書いたら、生成されるバイナリが100KB〜1MBになると主張している
のとほぼ等しい。これが真実なら、MicrochipがPIC用に提供しているCコン
パイラを買うのは滑稽なことだ。
いくらC言語で書くプログラムサイズが大きくなるといっても、アセンブラも
C言語も書けるプログラマなら、市販コンパイラやGCCであれば、せいぜい
2〜3倍、マイコンによっては2倍を下回る効率でコード生成することを経験的に
知っている。
つまり、32MHz(実質8MHz)動作のPIC上で、必死の形相でアセンブラで書いて
やっと処理が間に合うプログラムは、20MHz動作のAVR上でCで言語で書いて、
結果コード量が2倍程度に増えたとしても、(命令実行速度で約2.5倍速いので)
難なく動いて至極当たり前なことなのだ。
>>954 目的による。コンパイラでチンタラもっさりしてても問題無い用途もあるだろ。
ソフトの継承ししても、
>>659 と
>>767 はほとんど同一コードでRGBへの変更等当たり前の修正で動いてるし
DSPIC版も動いてる。
今時Cでファーム書いてる男の人ってダメだと思うの
>>956 いくら長文で誤魔化しても、実物が出来てない癖にwww
それこそビッグマウスw
アセンブラもCもできた上で適した方を使ってるなら何も問題はない。 アセンブラしかできないとかCしかできないのはカタワ。
誰でも判ることに一般論を長々とたれられても何の役にもたたないし,参照先間違いてるし
なあ… 言語って言語スレってかソフトウェア板で語ることじゃね? 何をどうしようと、やりたいことができりゃいいんじゃね? ソフトの技術が無くて出来ないってんなら上位の石に逃げようが何しようが勝手じゃね? ここでいちいちつつくのは、正否にかかわらずただの愚痴じゃね? なあ…
964 :
774ワット発電中さん :2011/08/14(日) 14:47:26.88 ID:j1mDpY6Z
>>963 言っても無駄。飽きるまで待つしか無い。
965 :
774ワット発電中さん :2011/08/14(日) 15:01:42.53 ID:IKH9hIER
アセンブラはプロ用の記述言語ってイメージがあったけど今はプロ用はCでアマチュア(趣味)向けに アセンブラって感じになってるね。
>>963 マイコンの場合は開発環境も含んで一つのスレでいいと思うぞ。
以降は同意だが、スレのCPUをこけおろす割には自信満々のAVRで
なーんにも動かせないビッグマウスが弄られてるだけ。
以前は同一クロックでもCで書けるとかのたまってたけどな。
>>966 言語+マイコンなのはいいよ… 言語でモノを作るんだからさ。
でも、言語の本質とか優位性とかそんな話は要らんのよ…
968 :
942 :2011/08/14(日) 15:49:53.00 ID:hn43krxA
Lチカでこんなに熱くなれるなんてステキw てか、もう一度PICアセンブラに挑戦してみます。 シリアルに接続する自作ライタしか持ってないのですが 買うとしたら何がお勧めですか?
王道で、pic3kit
PICKIT2もあると便利
pickit1?
972 :
942 :2011/08/14(日) 18:00:28.51 ID:hn43krxA
どうもです。過去スレも参考にPICKIT3をポチりました。 アセンブラでPWM出来るようにがんばります。 ソフトの出来が悪い分はDSPICでカバーw
973 :
774ワット発電中さん :2011/08/14(日) 18:15:06.16 ID:hn43krxA
>967 マイコンは動いてなんぼですから、動かない言語で薀蓄垂れられてもねぇ 時間に厳しいアプリはいつになっても存在すると思いますよ。 しかもそういうアプリが結構面白い。人に拠るとは思いますが。
>>973 そうだねえ、メモリ管理の仕組みもわからないで発言してるのが多いしねえ。
手間をかければアセンブラ最強なのは当然で、
生産効率と実行効率との兼ね合いをどこでバランスさせるかなのに
2元論に落とそうとする奴は、はたからはどう見ても頭悪く見えるよね。
>>950 >そもそもアセンブラでガリガリしなければいけない時点で、既にチップ選択を間違えている事に気付けよ。
そう、PICを選んだのが間違いだったんだ……
USB接続できる何かを作るには何がいりますか? コネクタさえあればできますか?あ
>>975 いや、歴史的背景でそうなってしまう事は良くある事だw
センサのサンプリングを上げる必要があるとか、当初の計算精度では性能未達とか。
さすがにハードを替えたら信頼性試験もやり直しだから無理だわな。
>>976 キットか完成品を買うほうがいいと思うよ。
たとえばPCのUSBからの信号をPICで受け取りたい場合 単純にPCのUSBと回路側のUSBをつないで PICで入力を調べるだけじゃだめなんでしょうか?
>>956 > デキの悪いアーキテクチャのマイコンでも、アセンブラに比べたCコンパイラの
話しはちょっと外れるけど、そうなんだよな。
PICはそもそも、8bitマイコンでコンパイラが難しい時代に作られたアーキ。
Cが最適コードを吐きにくいには違いない。
その結果、アセンブラが一番という意見が出るのも無理はない。
アセンブラ厨は、PICは手で最適化しないと使えないクソアーキだと、主張したいのか?
事実だろうけどw
>>980 PICは由来的にはシーケンサだから
そもそもPDPのレジスタ演算を前提にした関数型のCとは相入れないアーキではあるね。
ソフト(割込み)でPWM制御する場合って、こんな感じ? CLRF PORT_TEMP INCF PWM_COUNT,f ;1個目 MOVF LED0_LIGHT,w SUBWF PWM_COUNT,w BTFSS STATUS,C BSF PORT_TEMP,0 ;2個目 MOVF LED1_LIGHT,w SUBWF PWM_COUNT,w BTFSS STATUS,C BSF PORT_TEMP,1 ;3-8個目略 MOVF PORT_TEMP,w MOVWF PORTB レジスタの退避・復帰とか入れて8chで50命令位(20MHzで10us) 余裕見て20usだと割込み周期は50kHz 諧調が256だと200Hz弱 RGBだとさらに1/3で上の処理も追加がいるし60Hzってのは限界っぽいな。
984 :
774ワット発電中さん :2011/08/14(日) 22:26:32.74 ID:IKH9hIER
USBを使う時はいつも仮想COMポートとしての扱いで本当のUSBとして使ったことがない。 本当のUSBとして使えてる人たちをうらやましく思う。
>>979 それでいいよ
PIC18F14K50(秋月170円)
とUSBコネクタと12MHzのセラロックとパスコンがあればできる
>>979 入力を調べるだけでは駄目で、規格どおりの応答をしないといけない
サンプルプログラムがあるから、ちょっと弄れば好きな動作のものが作れる
>>981 おっと、アセンブラ優位論からすんごい話しになった。
そうすると、「Cでプログラムを書く人は、PICを選ぶのは間違い」に帰結する。
ついでに世間のPIC本は、あまり薦められないC+PICを読者を欺いて出版したこともなる。
>>941 >>942 >>946 どうするんだよw
オメーらがアセンブラ優位論を展開すればするほど、「Cに向かないPICを使うのが間違い」になるじゃねーかよw
989 :
774ワット発電中さん :2011/08/15(月) 06:52:10.27 ID:Bigns0/z
むなしい弱者の遠吠えだなw 昔から主流になれない三流品を使ってた奴はひねくれてたwww
そろそろ次スレだな。 埋めるか
次スレ立ってねぇーし
9時までに立たなければ立ててくるよ
>>989 少し前に貼られてた8bitシェアNo.1はルネだっけ?
でも、マイコンで一流も三流も無いけどな。
適材適所で使う、それだけ。
ただ、アセンブラでガリガリするほど暇な開発会社は無いけどな。
>>994 9時狙いありがとう、見事にゴミスレ2本だわー
うめ
梅!
そろそろ1000か?
999ならPIC全部廃番
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。