[新シリーズのPIC16F1xxx テンプレ用] ('11/09版) 旧シリーズより機能が大幅にアップしていて値段も下がってる。新規に組むならこちらから選択すべき 秋月に入荷していないラインナップも表記(未)。円高のおかげか若干値下げあり(v) [40pin] 16kwハ必要ナイカモシレナイケド10円差ナラ v◎16F1939 \170 16Kw 1024 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 v○16F1937 \160 08Kw 0512 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 [28pin] こちらも10円差なら -◎16F1938 \150 16Kw 1024 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 v○16F1936 \140 08Kw 0512 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 v×16F1933 \140 04Kw 0256 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 [20pin] こちらは秋月に無し -未16F1829 ---- 08Kw 1024 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 -未16F1828 ---- 04Kw 0256 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2 [18pin] 18ピンの割にMSSPが2コ,ADC入力ピン多,タイマーx5,CCPx4と多機能 -未16F1847 ---- 08Kw 1024 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 v◎16F1827 \110 04Kw 0384 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 -未16F1826 ---- 02Kw 0256 I/O16 ADC12 CapS12 Comp2 Timer2/1 MSSP1 ECCP1/- CCP- [14pin] 下位のチップしかなく機能的に8ピンとあまり変わらないのは残念 -未16F1825 ---- 08Kw 1024 I/O12 ADC-8 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2 -未16F1824 ---- 04Kw 0256 I/O12 ADC-8 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2 v◎16F1823 \090 02Kw 0128 I/O12 ADC-8 CapS-8 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP- [8pin] 8ピンでUSARTもI2Cも使えるってのは大きいね -未12F1840 ---- 04Kw 0256 I/O-6 ADC-4 CapS-4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP- -◎12F1822 \080 02Kw 0128 I/O-6 ADC-4 CapS-4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP- 表記 Timer[8bit]/[16bit],ECCP[Full]/[Half],CspS=CapSense,Comp=Comparator 共通 EEPROM256byte,EUSART,SRLatch(555相当?),10bitADC,5bitDAC,1.024V基準電圧,温度計(?) VDD1.8〜5,5V,Max32MHz(Vdd2.5V以上),4xPLL有,内蔵OSCでも32MHz可 プログラム面で新命令追加,bankは32マデ拡張,スタック16レベル,LATが追加,割込時のレジスタ自動保存 16bit幅で2本になったFSRデ連続配置RAMやプログラム領域アクセス可能 追加命令群 ADDWFC,SUBWFB : キャリー,ボローを含んだ加減算 ASRF,LSLF,LSRF : シフト命令 BRA : PCLATHやページ境界に関係なく相対ジャンプ [9bit幅] PC+255〜PC-256へ BRW : PCLATHやページ境界に関係なく前方へのみ相対ジャンプ PC+W(0〜255) ADDWF PCL,f ヨリ便利 CALLW : 上位はPCLATH,下位はWのアドレスにサブルーチンコール MOVLB,MOVLP :バンクセレクト,PCLATHに直接定数入れる TRIS,OPTION :TRIS(A〜C),OPTION_REGにWの値入れる(12bit幅品互換?) RESET : ソフトウェアリセト ADDFSR : FSRに定数(-32〜+31)加減算 MOVIW,MOVWI : INDFガツカイヤスク FSRに対して[PRE/POST][+1/-1]や定数(-32〜+31)offset可能
秋月のPIC12/16F(旧)シリーズ 命令セット14bit幅&DIP品限定ピン数別評価 あくまでも旧シリーズ内での相対評価。新シリーズが使えない場合のみ有効 値下品多数あり(先頭のvは値下げ,-は維持,*は新規)'11/9更新版 40ピンは決まり v◎16F887 \180 40ピン600mil幅が許せるなら 旧シリーズ最強 28ピンはフラッシュとSRAMの差をどうとるか v◎16F886 \170 887よりピン数減ってスリム(400mil幅) v○16F883 \150 886との違い8Kw→4Kw,SRAM368Byte→256Byte ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31K-8MHとフルサポート 新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを 20ピンはF690のバリエーション多,価格差小なのでF690か,OPアンプF785,ポート割りがチョットカオス v◎16F690 \140 ADC有,eCCP有,eUSART有,SSP有,4Kw,内蔵31K-8MHzとバッチリ v○16F689 \130 F690からeCCP機能削られた v△16F687 \120 さらにF689を2Kwと半分に v×16F677 \120 さらにF687からeUSARTも削られた v×16F685 \150 F690からSSP&eUSART機能が削られたのに値段高いとは v◎16F785 \130 ADC有,CCP有,2Kw,内蔵31K-8MHz,OPアンプ搭載が異色(新シリーズにも無) 18ピンは種類は多いけど選択の幅は狭い。値段でF716いっそ20pinにするか -×16F84A \250 機能無,1Kw,新規では不要だけど作例参照用or互換用に v×16F648A \160 CCP有,USART有,4Kw,内蔵4MHz,ADC無同士でF87に軍配 v△16F628A \140 F648Aの2Kw版,売りが値段だけだと厳しいかな v△16F627A \120 F648Aの1Kw版,上に同じ v×16F627 \180 F627Aの改良前Ver,なぜこんな物が・・・ -○16F88 \200 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31K-8MHzと旧18ピンの王者ダガ高い v○16F87 \150 F88のADC無Ver,ADC無が問題なければ v○16F819 \170 ADC有,CCP有,SSP有,2Kw,内蔵31K-8MHz,F88とはROM,USARTの差 v○16F818 \150 F819の1Kw版,多機能なだけに1Kwに不安を感じる v◎16F716 \80 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い,ADC8bit注意 14ピンは10円差ならF688 v◎16F688 \110 ADC有,eUSART有,4Kw,内蔵31K-8MHz,CCPは無が残念 v△16F676 \100 ADC有,1Kw,内蔵4MHz v×16F630 \100 F676のADC無し 無機能で影薄い 8ピンは多機能のF683かEEPROM無くても良いなら\60のF615 v◎12F683 \100 ADC有,CCP有,2Kw,内蔵31K-8MHz,8ピンとしては多機能 v△12F675 \80/90 ADC有,1Kw,内蔵4MHz ,EEPROM必要なら,環境によってはE/P版, v△12F629 \70 675のADC無(機能無しってこと),EEPROM必要で安いの求めるなら v△12F635 \90/100 機能無し,1Kw,内蔵31K-8MHz,31KHz〜必要なら,環境によってはE/P版 v◎12F615 \60 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無さえ問題なければ v×12F609 \60 F615からADC,eCCP機能省かれてる (参考)機能無,EEPROM無,命令セット12bit幅 プログラム組む上で制限多し(割込無イヨ v△16F57 \70 28ピン,2Kw,内蔵CLK無,安くて多くのI/O欲しいなら -△16F54 \60 18ピン,0.5Kw,内蔵CLK無,安いI/O欲しいなら -×12F510 \60 ADC有(8bit),1kw,内蔵4Mor8MHz,EEPROM無し v×12F509 \50 機能無し,1Kw,内蔵4M,EEPROM無し v△10F222 \45 DIP8ピン,1/2Kw,内蔵4Mor8MHz,米粒PICのデバッグ用 v△10F200 \35 DIP8ピン,1/4Kw,内蔵4MHz,米粒PICのデバッグ用 マークの意味 ◎お勧め、用途決まっていないならこれ買っとけ ○内蔵モジュール減ってるけど、その分値段も安くなってるから、まあまあ △内蔵モジュール大幅に減ってる、\10でも安くしたいなら、どうぞ ×ソースを変更できない等の理由がないなら、選択する必要なし 自分で、プラグラムもハードも作れる人のためのリスト。 そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら 指名買いするしかないのだから お勧め度は意味がない
秋月のPIC18Fシリーズ 5V動作可で比較的高速(12MIPS)だが16F1xxx(8MIPS) dsPIC30F(30MIPS)に挟まれて値段も高めで苦しい,拠り所はUSB 40ピン USB不要なら18F4525もありかな ◎18F4550 \370 16Kw/2048/256 [USB],Max48MHz(31k-8MHz),PLL,CCP1/1,SPP △18F4520 \340 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL,CCP1/1 ○18F4525 \380 24Kw/3968/1024 Max40MHz(31k-32MHz),4xPLL,CCP1/1 △18F4585 \500 24Kw/3328/1024 Max40MHz(31k-32MHz),4xPLL,CCP1/1,CAN ×18F452 \500 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP1/1 28ピン USB不要なら大容量で18F2620あたりも ◎18F2550 \350 16Kw/2048/256 [USB],Max48MHz(31k-8MHz),PLL,CCP2/0 △18F2455 \340 12Kw/2048/256 [USB],Max48MHz(31k-8MHz),PLL,CCP2/0 ○18F2450 \260 8Kw/768/0 [USB],Max48MHz(31kHz),PLL,CCP1/0,eUSART,MSSP無,TMR16bitx2少 △18F2420 \280 8Kw/768/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0 ×18F2320 \420 4Kw/512/256 Max40MHz(31k-8MHz),4xPLL,CCP2/0 ○18F2620 \420 32Kw/3968/1024 Max40MHz(31k-32MHz),4xPLL,CCP2/0 ×18F258 \530 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP1/0,CAN 20ピン 値段的にも格安でお得 ◎18F14K50 \170 8Kw/768/256 [USB],Max48MHz(31k〜32MHz),4xPLL,CCP0/1 18ピン 2ピン差だと体積的にメリット小 ×18F1320 \220 4Kw/256/256 Max40MHz(31k〜8MHz),4xPLL,CCP0/1 PIC18F共通 VDD 〜5.5V,10bitADC,eUSART,TMR8bitx1/16bitx3,MSSP 24,dsPICシリーズ(24F,dsPICは品数限られているが値下げでお買い得感向上) 40ピン v○30F4013 \480 16kw 2KB EEPROM1KB v×30F3014 \500 8kw 2KB EEPROM1KB 28ピン v◎24FJ64GA002 \330 21.3kw(64kB) 8KB EEPROM無 リビジョンはイクツカナA3/4ハナイヨナ v◎24HJ12GP202 \260 4kw 1KB EEPROM無 この値段で40MIPSはお得感大きい v○30F4012 \460 16kw 2KB EEPROM1KB 5V動作必須でメモリ大きいのなら v×30F2020 \500 12kw 0.5KB EEPROM無 v△30F2012 \350 4kw 1KB EEPROM無 5V動作必須で安いの欲しいなら v◎33FJ32GP202 \320 11kw弱(32kB) RAM2KB メモリサイズ許容できれば24FJ64より、高速 18ピン v○30F3012 \400 8kw 2KB EEPROM1KB 共通 24Fシリーズ Vdd2.0-3.6V Max16MIPS (一部ピン5V入力可) 24Hシリーズ Vdd3.0-3.6V Max40MIPS 30Fシリーズ Vdd2.5-5.5V Max30MIPS DSP命令有,(5V動作可) 33Fシリーズ Vdd3.0-3.6V Max40MIPS DSP命令有
【Enhanced Mid-Range】[新シリーズのPIC12F/16F1xxx テンプレ用] ('12/03版) 旧シリーズ(Mid-Range)より機能が大幅UPしていて値段も安い、新規に組むならこちらから 秋月に入荷していないラインナップも参考のため表記(未),MIPS値はクロックの1/4 [40pin] 16Kwハ必要ナイカモシレナイケド10円差ナラ -◎16F1939 \170 16Kw 1024 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 LCD24 -○16F1937 \160 08Kw 0512 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 LCD24 -未16F1934 ---- 04Kw 0256 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 LCD24 [28pin] こちらも10円差なら -◎16F1938 \150 16Kw 1024 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 LCD16 -○16F1936 \140 08Kw 0512 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 LCD16 -×16F1933 \140 04Kw 0256 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 LCD16 [20pin] こちらは秋月に無し -未16F1829 ---- 08Kw 1024 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 -未16F1828 ---- 04Kw 0256 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2 [18pin] 18ピンの割にMSSPが2コ,ADC入力ピン多,タイマーx5,CCPx4と多機能 -未16F1847 ---- 08Kw 1024 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 -◎16F1827 \110 04Kw 0384 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 -未16F1826 ---- 02Kw 0256 I/O16 ADC12 CapS12 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP- [14pin] 下位のチップしかなく機能的に8ピンとあまり変わらないのは残念 -未16F1825 ---- 08Kw 1024 I/O12 ADC-8 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2 -未16F1824 ---- 04Kw 0256 I/O12 ADC-8 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2 -◎16F1823 \090 02Kw 0128 I/O12 ADC-8 CapS-8 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP- [8pin] 8ピンでUSARTもI2Cも使えるってのは大きいね -未12F1840 ---- 04Kw 0256 I/O-6 ADC-4 CapS-4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP- -◎12F1822 \080 02Kw 0128 I/O-6 ADC-4 CapS-4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP- 表記 Timer[8bit]/[16bit],ECCP[Full]/[Half],CapS=CapSense,Comp=Comparator 共通 EEPROM256byte,EUSART,SRLatch(555相当?),10bitADC,5bitDAC,1.024V基準電圧,温度計(?) VDD1.8〜5,5V,Max32MHz(Vdd2.5V以上),4xPLL有,内蔵OSCでも32MHz可(8MIPS) プログラム面で新命令追加,bankは32マデ拡張,スタック16レベル,LATが追加,割込時のレジスタ自動保存 16bit幅で2本になったFSRデ別アドレスに連続配置RAM(0x2000〜)やプログラム領域(0x8000〜)アクセス可能 追加命令群 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可能
【Mid-Range】秋月のPIC12/16F(旧)シリーズ 命令セット14bit幅&DIP品限定ピン数別評価 ('12/03版) あくまでも旧シリーズ内での相対評価。新シリーズが使えない場合のみ有効,MIPS値はクロックの1/4 40ピンは決まり -◎16F887 \180 40ピン600mil幅が許せるなら 旧シリーズ最強 28ピンはフラッシュとSRAMの差をどうとるか -◎16F886 \170 887よりピン数減ってスリム(400mil幅) -○16F883 \150 886との違い8Kw→4Kw,SRAM368Byte→256Byte ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31k-8MHとフルサポート 新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを 20ピンはF690のバリエーション多,価格差小なのでF690か,OPアンプF785,ポート割りがチョットカオス -◎16F690 \140 ADC有,eCCP有,eUSART有,SSP有,4Kw,内蔵31k-8MHzとバッチリ -○16F689 \130 F690からeCCP機能削られた -△16F687 \120 さらにF689を2Kwと半分に -×16F677 \120 さらにF687からeUSARTも削られた -×16F685 \150 F690からSSP&eUSART機能が削られたのに値段高いとは -◎16F785 \130 ADC有,CCP有,2Kw,内蔵31k-8MHz,OPアンプ搭載が異色(新シリーズにも無) 18ピンは種類は多いけど選択の幅は狭い。値段でF716いっそ20pinにするか -×16F84A \250 機能無,1Kw,新規では不要だけど作例参照用or互換用に -×16F648A \160 CCP有,USART有,4Kw,内蔵4MHz,ADC無同士でF87に軍配 -△16F628A \140 F648Aの2Kw版,売りが値段だけだと厳しいかな -△16F627A \120 F648Aの1Kw版,上に同じ -×16F627 \180 F627Aの改良前Ver,なぜこんな物が・・・ -○16F88 \200 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31k-8MHzと旧18ピンの王者ダガ高い -○16F87 \150 F88のADC無Ver,ADC無が問題なければ -○16F819 \170 ADC有,CCP有,SSP有,2Kw,内蔵31k-8MHz,F88とはROM,USARTの差 -○16F818 \150 F819の1Kw版,多機能なだけに1Kwに不安を感じる -◎16F716 \80 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い,ADC8bit注意 14ピンは10円差ならF688 -◎16F688 \110 ADC有,eUSART有,4Kw,内蔵31k-8MHz,CCP無が残念 -△16F676 \100 ADC有,1Kw,内蔵4MHz -×16F630 \100 F676のADC無し 無機能で影薄い 8ピンは多機能のF683かEEPROM無くても良いなら\60のF615 -◎12F683 \100 ADC有,CCP有,2Kw,内蔵31k-8MHz,8ピンとしては多機能 -△12F675 \80/90 ADC有,1Kw,内蔵4MHz ,EEPROM必要なら,環境によってはE/P版 -△12F629 \70 675のADC無(機能無しってこと),EEPROM必要で安いの求めるなら -△12F635 \90/100 機能無し,1Kw,内蔵31k-8MHz,31kHz〜必要なら,環境によってはE/P版 -◎12F615 \60 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無さえ問題なければ -×12F609 \60 F615からADC,eCCP機能省かれてる (参考)【Baseline】機能無,EEPROM無,命令セット12bit幅 プログラム組む上で制限多し(割込無イヨ -△16F57 \70 28ピン,2Kw,内蔵CLK無,安くて多くのI/O欲しいなら -△16F54 \60 18ピン,0.5Kw,内蔵CLK無,安いI/O欲しいなら -×12F510 \60 ADC有(8bit),1kw,内蔵4Mor8MHz,EEPROM無し -△12F509 \50 機能無し,1Kw,内蔵4M,EEPROM無し -△10F222 \45 DIP8ピン,1/2Kw,内蔵4Mor8MHz,米粒PICのデバッグ用 -△10F200 \35 DIP8ピン,1/4Kw,内蔵4MHz,米粒PICのデバッグ用 マークの意味 ◎お勧め、用途決まっていないならこれ買っとけ ○内蔵モジュール減ってるけど、その分値段も安くなってるから、まあまあ △内蔵モジュール大幅に減ってる、\10でも安くしたいなら、どうぞ ×ソースを変更できない等の理由がないなら、選択する必要なし 自分で、プラグラムもハードも作れる人のためのリスト。 そもそも、教科書に載ってるのとか他の方の作品とかを作るだけなら 指名買いするしかないのだから お勧め度は意味がない
【PIC18】秋月のPIC18シリーズ。5V動作可(J除)で比較的高速(10〜MIPS) 新型のKシリーズは多機能で 高速(16MIPS),USB機能ありがラインナップ,命令系は16F(Mid-Range)から+αレベル,MIPS値はクロックの1/4 ('12/03版) 40ピン 旧ラインナップしかないので苦しい、USB&12bitADの4553か不要なら4525もありかな *◎18F4553 \430 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,12bitADC,CCP1/1 -○18F4550 \370 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,CCP1/1,SPP -△18F4520 \340 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL,CCP1/1 -○18F4525 \380 24Kw/3968/1024 Max40MHz(31k-32MHz),4xPLL,CCP1/1 -△18F4585 \500 24Kw/3328/1024 Max40MHz(31k-32MHz),4xPLL,CCP1/1,CAN -×18F452 \500 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP1/1 28ピン 新ラインナップが強力。多機能・高速の26K22か12bitADCの25K80かUSBで26J50か -×18F258 \530 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP1/0,CAN -×18F248 \500 8Kw/768/256 ↑258のメモリ縮小版 -×18F252 \450 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP2/0 -×18F242 \420 8Kw/768/256 ↑252のメモリ縮小版 -×18F2580 \430 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL.CCP1/0,CAN -×18F2480 \390 8Kw/768/256 ↑2580のメモリ縮小版 -×18F2620 \420 32Kw/3968/1024 Max40MHz(31k-32MHz),4xPLL,CCP2/0 -×18F2420 \280 8Kw/768/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0 -×18F2320 \420 4Kw/512/256 Max40MHz(31k-8MHz),4xPLL,CCP2/0 *△18F2553 \420 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,12bitADC,CCP2/0 -×18F2550 \350 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,CCP2/0 -×18F2455 \340 12Kw/2048/256 ●USB,↑2550のメモリ縮小版 -×18F2450 \260 8Kw/768/0 ●USB,Max48MHz(31kHz),PLL,CCP1/0,MSSP無,TMR0/2 -×18F2523 \390 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0,12bitADC -○18F2431 \340 8Kw/768/256 Max40MHz(31k-8MHz),4xPLL,CCP2/0.14bitPWMx6 -×18F2321 \240 4Kw/512/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0 -×18F2221 \220 2Kw/512/256 ↑2321のメモリ縮小版 -◎18F26K22 \220 32Kw/3896/1024 Max64MHz(31k-64MHz),4xPLL,eUSART2.TMR3/4,MSSP2,CCP2/3,SRLatch *○18F25K22 \170 16Kw/1536/256 ↑26K22のメモリ縮小版 -△18F23K22 \160 4Kw/512/256 ↑25K22のさらにメモリ縮小版 -◎18F25K80 \220 16Kw/3648/1024 Max64MHz(31k-64MHz),4xPLL,eUSART2,TMR2/3,CCP4/1,12bitADC.ECAN -○18F26K20 \190 32Kw/3936/1024 Max64MHz(31k-64MHz),4xPLL,CCP1/1 -△18F23K20 \150 4Kw/512/256 ↑26K20のメモリ縮小版 -◎18F26J50 \260 32Kw/3776/0 ●USB,Max48MHz(31k-48MHz),PLL,eUSART2,TMR2/3,MSSP2,CCP0/2,リマップ,▲3.6V -○18F25J50 \230 16Kw/3776/0 ●USB.↑25J50のメモリ縮小版,▲3.6V -△18F26J11 \240 32Kw/3776/0 Max48MHz(31k-32MHz),4xPLL,eUSART2,TMR2/3,MSSP2,CCP0/2,リマップ,▲3.6V -△18F25J11 \210 16Kw/3776/0 ↑26J11のメモリ縮小版,▲3.6V 20ピン USBの有無でK50かK22を -◎18F14K50 \170 8Kw/768/256 ●USB,Max48MHz(31k〜32MHz),4xPLL,CCP0/1 -×18F13K50 \170 4Kw/512/256 ●USB,↑14K50のメモリ縮小版 -◎18F14K22 \160 8Kw/512/256 Max64MHz(31k-64MHz),4xPLL,CCP0/1,SRLatch 18ピン 20ピンから選択すべき、14bitPWMx6に魅力あれば1230を -×18F1320 \220 4Kw/256/256 Max40MHz(31k〜8MHz),4xPLL,CCP0/1,MSSP無 -×18F1220 \210 2Kw/256/256 ↑1320のメモリ縮小版 -△18F1230 \220 2Kw/256/128 Max40MHz(31k-32MHz),4xPLL,TMR0/2,MSSP無,CCP無,14bitPWMx6 PIC18F共通 VDD 〜5.5V,10bitADC,eUSART,TMR8bitx1/16bitx3,MSSP 追加表記 CCPx/y x=CCP数/y=eCCP , TMRx/y x=8bit/y=16bit
【PIC24/dsPICシリーズ】16bitマイコン アーキテクチャの大幅な改良,同MIPS値のPIC18F以前と比べて数倍高性能 40ピン -○dsPIC30F4013 \480 16Kw/2KB/1KB ADC12bit TMR5 UART2 SPI1 I2C1 PWM2 CAN -×dsPIC30F3014 \500 8Kw/2KB/1KB ADC12bit TMR3 UART2 SPI1 I2C1 PWM2 28ピン -◎24FJ64GA002 \330 21Kw/8KB/--- ADC10bit TMR5 UART2 SPI2 I2C2 PWM5 -◎24HJ12GP202 \260 4Kw/1KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2 -○dsPIC30F4012 \460 16Kw/2KB/1KB ADC10bit TMR5 UART1 SPI1 I2C1 PWM3x2 CAN -×dsPIC30F2020 \500 4Kw/512B/-- ADC10bit TMR3 UART1 SPI1 I2C1 PWM4x2 -△dsPIC30F2012 \350 4Kw/1KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2 -◎33FJ32GP202 \320 11Kw/2KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2 18ピン -○dsPIC30F3012 \400 8kw/2KB/1KB ADC12bit TMR3 UART1 SPI1 I2C1 PWM2 共通 24Fシリーズ Vdd2.0-3.6V Max16MIPS(32MHz) (一部ピン5V入力可),I/Oリマップ 24Hシリーズ Vdd3.0-3.6V Max40MIPS(80MHz) (一部ピン5V入力可),I/Oリマップ 30Fシリーズ Vdd2.5-5.5V Max30MIPS(120MHz) DSP命令有,(5V動作可) 33Fシリーズ Vdd3.0-3.6V Max40MIPS(80MHz) DSP命令有,(一部ピン5V入力可),I/Oリマップ
秋月じゃ売ってないけど面白しろそうなDIP品群
32bit性能 → PIC32MX250F128B (DIP28,40MIPS,USB,128KB-FLASH,32KB-RAM)
32bit再安 → PIC32MX110F016B (DIP28,40MIPS,16KB-FLASH,4KB-RAM)
驚70MIPS! → dsPIC33EP64GP502 (DIP28,70MIPS,64KB-FLASH,8KB-RAM)
5V入出力! → PIC24FV32KA301 (DIP20,16MIPS,32KB-FLASH,2KB-RAM,512B-EEPROM)
18p40MIPS → dsPIC33FJ12GP201 (DIP18,40MIPS,12KB-FLASH,1KB-RAM)
14p 16bit → PIC24F08KL200 (DIP14,16MIPS,8KB-FLASH,512B-RAM)
アナログ色々 → PIC16F1783 (DIP28,8MIPS,2kW-FLASH,512B-RAM,256B-EEPROM,OpAmp,12bitADC,8bitDAC)
米粒 上位 → PIC10F322 (DIP8,4MIPS,0.5kW-FLASH,64B-RAM,命令Mid-Range,SOT-23デバッグ用)
マイクロコントローラ歴史
ttp://www.cqpub.co.jp/hanbai/books/37/37291/37291-intro.pdf 最初のPIC, PIC1650 GeneralInstrument社('89に1事業部門が独立して現在のMicrochip社へ)
ttp://www.rhoent.com/pic16xx.pdf (命令セットはBaseline Architecture 命令長12bit品とほぼ同じ)
以上。時間無いので前スレから転記。
乙保守
前スレ
>>994 >パッケージ違い持ってるか? 温度範囲違いも揃えてるのか? 型番の末尾に-ICD -ICE付いてるのも揃えてるのか、なんて煽るといい。
保存用と観賞用も必要だな
いざというときの予備も
布教用を忘れてるぞ
すると、次のような品種を集めれば「神」でしょうか。
{ 全種類 } × { パッケージ違い } × { 温度範囲 } × { -ICD -ICE } ×
{ 保存用、観賞用、予備、布教活動用 }
国内の代理店で普通郵便や定形外で1コから送って欲しいかも。 もちろん郵送事故は無保証で。 でも、これだと儲けが出ないから デベロッパー登録で年会費制にするとか。
コンビニで「吊し商品」で売ってる、とか 自販機で16F88とか売ってるとか、 ないですよね。
18 :
774ワット発電中さん :2012/06/20(水) 19:34:33.43 ID:+akTfQad
20 :
774ワット発電中さん :2012/06/20(水) 21:23:47.87 ID:tL9zGzar
>>19 年会費20万????
いったい何個買うんだ!
micorochip DIRECTでチップ3個買ったが、輸送費10ドル未満だから国内便との差を感じないよ。
秋月の通販とさして変わらない。
マイコンは割引しないけど、年会費1万円で送料無料とか、
年会費5千円で送料100円とか。
>>20 以前は15ドルだったけど安くなったんだ。
microchip DIRECTは注文から届くまでが意外と速いんだよね。
ちなみにチップワンなら\450かな。
ポイントが付くといいね。 金額じゃなくて、I/O数とかで。 商品は、 ・足が金メッキの、PIC16F88 ・デートコードの下に、あなたの名前が刻印された、PIC16F877 ・外囲器をスケルトンにした、iPic12F683 ・全I/Oピンを出力固定にしたPIC
毎週異なるPIC1個、解説書付き。初回限定100円、次回以降1000円。見て良し、作って良し。 全500種(仮)ご購入で、もれなく豪華収納ケースをプレゼント。 … 何かを作るどころじゃなくなる予感
秋月がんばれ PIC32MX250F128B-I/SP、microchipダイレクトで4ドルだぞ
今更MIPSも無いものだ
どうせC言語で開発するし、アセンブラのレベルでのデバッグはやらないから、MIPSかARMかは関係ないなー。 それよりも、割り込みがかかるとmmioに二重書き込みが生じるってエラッタとか、笑っちゃうな。
だったら、別にARMでいいんじゃね? わざわざMIPSな開発環境作ることもあるまい。
たぶんMIPSの方がライセンス料が安いはず。 これまで自社製コアを使ってきたマイクロチップとしては 余分なライセンス料はなるべく抑えたいだろう。
同じ理由でARMの環境つくることもないな それともARM一括りにできるような統合環境でもあるんだろうか PIC32ならMPLABXが統合環境になるので従来からPIC使ってる人は新しい環境は必要ないけど
ARMは他でもあるからねぇ。 MIPSはもはやPIC32以外で使う事も無いし、PIC32自体もどうなることやら
PIC32でDRAM混載とかないの? CPUコアの処理能力に比べてメモリ容量が少ない気がする。 せめて16MBできれば64MBくらいメモリがあれば、フルサイズのLinux走りそうじゃね?
>>23 同朋舎出版とか省心書房とか、ですか。
>>22 > ・足が金メッキの、PIC16F88
メッキ無しのデバイスが無いと金メッキできないから、実は結構レアかも。
> ・デートコードの下に、あなたの名前が刻印された、PIC16F877
素人でも作れそう。
> ・外囲器をスケルトンにした、iPic12F683
外囲器って何?
> ・全I/Oピンを出力固定にしたPIC
書き込めない……
>>32 マイクロチップは工場で書き込むサービスも提供してるよ。最小ロット知らないが。
>30 先の事なんか、その時考えればいいんだよ。 今 現在 ここに来る大半の人はMPLABがインストールされていて あとはC32 Compiler を DL してインストールすれば統合環境の完成。 チップは秋月に行けば32bitMCUのDIP28ピンがピンが手に入る すごくお手軽だろ
ピンがピンが、元気になりそうな言葉だ
>>31 Linux走らせたいならRaspberry Piあたりがお手軽じゃね?
Raspberry Piは商用組み込みで使いたいんだが。 今のところ教育用で一人一台とか言ってるし。実用的ではないよ。
PIC32MXってMMUあんの? 無かったらLinuxなんか無理だろ。 uCLinuxならいけるだろうけど。
VIAもRPiを豪華にした感じの出すんじゃなかったかな aitendoのでもよさそうだし
40 :
774ワット発電中さん :2012/06/22(金) 07:19:42.46 ID:c3emNmXH
C18 の過去Verってどっかにないの? 新しいのは仕様が変わってエラーが多発してしまう。
41 :
774ワット発電中さん :2012/06/22(金) 07:26:44.15 ID:c3emNmXH
組込PCボードならARMやx86があるから。
>>38 ない。
43 :
774ワット発電中さん :2012/06/22(金) 23:03:54.07 ID:zPg2F1QT
秋月のPIC18F2550を使ったUSBマイコンボードは本当に便利だと思う。 USB関係なくてもさくっとテストができてしまう。
>>37 どうせ走らせて遊んで終わりなんだから1台あればいいんじゃねぇの?
それにしても、商用組込みで使おうなんて、リスキーなことを良く思いつくね。
そんな製品使いたくないわ。
>>43 それなら、シミュレータで、実機レスでテストできる方が便利じゃね?
お前に使ってもらいたい訳じゃない。 ただ安く抑えたいんだ、金のない業界でね。 マイコンだとUXGAや1080の出力が重荷だ。
2550無敵だよな
秋月のモジュールなら2553推しとく。2550から値段据え置きで強化されてる。
>>45 そんな調子ならどうせ先が無いからとっとと廃業したほうがいいんじゃねぇの?
おまえに心配される筋合いかよ。気色悪いからネイネチ絡むな。 PICからHブリッジをフル制御してる例を見たが、どうも誤作動の可能性が気になる。 がっちり行くなら最後にハードウェアロジックを挟みたいところだ。
>PICからHブリッジをフル制御してる例を見たが、どうも誤作動の可能性が気になる 子供向けの教育ボードを製品に使おうとしてる程度の 感覚なら、そんな誤作動なんて気にするほどのこともないだろ。
煙出たら、まずくね?
>44,49,52 なんでそんな煽るだけのレスするんだ、傍から見ても不愉快だからやめてくれ。
次から秋月DIP更新分 ----------------------------------
【Enhanced Mid-Range】[新シリーズのPIC12F/16F1xxx テンプレ用] ('12/06版) 旧シリーズ(Mid-Range)より機能が大幅UPしていて値段も安い、新規に組むならこちらから 秋月に入荷していないラインナップも参考のため表記(未),MIPS値はクロックの1/4,エラッタ注意 [40pin] 16Kwハ必要ナイカモシレナイケド10円差ナラ -◎16F1939 \170 16Kw 1024 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 LCD24 -○16F1937 \160 08Kw 0512 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 LCD24 -未16F1934 ---- 04Kw 0256 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 LCD24 [28pin] こちらも10円差なら -◎16F1938 \150 16Kw 1024 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 LCD16 -○16F1936 \140 08Kw 0512 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 LCD16 -×16F1933 \140 04Kw 0256 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 LCD16 [20pin] こちらは秋月に無し -未16F1829 ---- 08Kw 1024 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 -未16F1828 ---- 04Kw 0256 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2 [18pin] 18ピンの割にMSSPが2コ,ADC入力ピン多,タイマーx5,CCPx4と多機能 -未16F1847 ---- 08Kw 1024 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 -◎16F1827 \110 04Kw 0384 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 -未16F1826 ---- 02Kw 0256 I/O16 ADC12 CapS12 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP- [14pin] 下位のチップしかなく機能的に8ピンとあまり変わらないのは残念 -未16F1825 ---- 08Kw 1024 I/O12 ADC-8 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2 -未16F1824 ---- 04Kw 0256 I/O12 ADC-8 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2 -◎16F1823 \090 02Kw 0128 I/O12 ADC-8 CapS-8 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP- [8pin] 8ピンでUSARTもI2Cも使えるってのは大きいね -未12F1840 ---- 04Kw 0256 I/O-6 ADC-4 CapS-4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP- -◎12F1822 \080 02Kw 0128 I/O-6 ADC-4 CapS-4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP- 表記 Timer[8bit]/[16bit],ECCP[Full]/[Half],CapS=CapSense,Comp=Comparator 共通 EEPROM256byte,EUSART,SRLatch(555相当?),10bitADC,5bitDAC,1.024V基準電圧,温度計 VDD1.8〜5,5V,Max32MHz(Vdd2.5V以上),4xPLL有,内蔵OSCでも32MHz可(8MIPS) プログラム面で新命令追加,bankは32マデ拡張,スタック16レベル,LATが追加,割込時のレジスタ自動保存 16bit幅で2本になったFSRデ別アドレスに連続配置RAM(0x2000〜)やプログラム領域(0x8000〜)アクセス可能 追加命令群 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可能
【Mid-Range】秋月のPIC12/16F(旧)シリーズ 命令セット14bit幅&DIP品限定ピン数別評価 ('12/06版) あくまでも旧シリーズ内での相対評価。新シリーズが使えない場合のみ有効,MIPS値はクロックの1/4 40ピンは決まり -◎16F887 \180 40ピン600mil幅が許せるなら 旧シリーズ最強 28ピンはフラッシュとSRAMの差をどうとるか -◎16F886 \170 887よりピン数減ってスリム(400mil幅) ○16F883 \150 886との違い8Kw→4Kw,SRAM368Byte→256Byte ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31k-8MHとフルサポート 新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを 20ピンはF690のバリエーション多,価格差小なのでF690か,OPアンプF785,ポート割りがチョットカオス -◎16F690 \140 ADC有,eCCP有,eUSART有,SSP有,4Kw,内蔵31k-8MHzとバッチリ -○16F689 \130 F690からeCCP機能削られた -△16F687 \120 さらにF689を2Kwと半分に -×16F677 \120 さらにF687からeUSARTも削られた -×16F685 \150 F690からSSP&eUSART機能が削られたのに値段高いとは -◎16F785 \130 ADC有,CCP有,2Kw,内蔵31k-8MHz,OPアンプ搭載が異色(新シリーズにも無) 18ピンは種類は多いけど選択の幅は狭い。値段でF716いっそ20pinにするか -×16F84A \250 機能無,1Kw,新規では不要だけど作例参照用or互換用に -×16F648A \160 CCP有,USART有,4Kw,内蔵4MHz,ADC無同士でF87に軍配 -△16F628A \140 F648Aの2Kw版,売りが値段だけだと厳しいかな -△16F627A \120 F648Aの1Kw版,上に同じ -×16F627 \180 F627Aの改良前Ver,なぜこんな物が・・・ -○16F88 \200 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31k-8MHzと旧18ピンの王者ダガ高い -○16F87 \150 F88のADC無Ver,ADC無が問題なければ -○16F819 \170 ADC有,CCP有,SSP有,2Kw,内蔵31k-8MHz,F88とはROM,USARTの差 -○16F818 \150 F819の1Kw版,多機能なだけに1Kwに不安を感じる -◎16F716 \80 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い,ADC8bit注意 14ピンは10円差ならF688 -◎16F688 \110 ADC有,eUSART有,4Kw,内蔵31k-8MHz,CCP無が残念 -△16F676 \100 ADC有,1Kw,内蔵4MHz -×16F630 \100 F676のADC無し 無機能で影薄い 8ピンは多機能のF683かEEPROM無くても良いならF615,本来はデバッグ用ダガF322も -◎12F683 \100 ADC有,CCP有,2Kw,内蔵31k-8MHz,8ピンとしては多機能 -△12F675 \80/90 ADC有,1Kw,内蔵4MHz ,EEPROM必要なら,環境によってはE/P版 -△12F629 \70 675のADC無(機能無しってこと),EEPROM必要で安いの求めるなら -△12F635 \90/100 機能無し,1Kw,内蔵31k-8MHz,31kHz〜必要なら,環境によってはE/P版 -◎12F615 \60 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無さえ問題なければ -×12F609 \60 F615からADC,eCCP機能省かれてる *◎10F322 \45 8bitADC,PWM,0.5Kw,内蔵31k-16MHz,I/O4コダガFVR,温度計,CLC,NCO,CWG (参考)【Baseline】機能無,EEPROM無,命令セット12bit幅 プログラム組む上で制限多し(割込無イヨ -△16F57 \70 28ピン,2Kw,内蔵CLK無,安くて多くのI/O欲しいなら -△16F54 \60 18ピン,0.5Kw,内蔵CLK無,安いI/O欲しいなら -×12F510 \60 ADC有(8bit),1kw,内蔵4Mor8MHz,EEPROM無し -△12F509 \50 機能無し,1Kw,内蔵4M,EEPROM無し -△10F222 \45 DIP8ピン,1/2Kw,内蔵4Mor8MHz,米粒PICのデバッグ用 -△10F200 \35 DIP8ピン,1/4Kw,内蔵4MHz,米粒PICのデバッグ用
【PIC18】秋月のPIC18シリーズ。5V動作可(J除)で比較的高速(10〜MIPS) 新型のKシリーズは多機能で 高速(16MIPS),USB機能ありがラインナップ,命令系は16F(Mid-Range)から+αレベル,MIPS値はクロックの1/4('12/06版) 40ピン 新ラインナップ45K20(注3.6V)か旧だけどUSB&12bitADの4553。不要なら4525もありかな *◎18F45K20 \180 16Kw/1536/256 Max64MHz(31k-64MHz),4xPLL,CCP1/1,▲3.6V -◎18F4553 \430 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,12bitADC,CCP1/1 -○18F4550 \370 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,CCP1/1,SPP -△18F4520 \340 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL,CCP1/1 -○18F4525 \380 24Kw/3968/1024 Max40MHz(31k-32MHz),4xPLL,CCP1/1 -△18F4585 \500 24Kw/3328/1024 Max40MHz(31k-32MHz),4xPLL,CCP1/1,CAN -×18F452 \500 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP1/1 28ピン 新ラインナップが強力。3.6V可ナラ大容量・多機能27J53,高速ナラ多機能の26K22か12bitADCの25K80 -×18F258 \530 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP1/0,CAN -×18F248 \500 8Kw/768/256 ↑258のメモリ縮小版 -×18F252 \450 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP2/0 -×18F242 \420 8Kw/768/256 ↑252のメモリ縮小版 -×18F2580 \430 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL.CCP1/0,CAN -×18F2480 \390 8Kw/768/256 ↑2580のメモリ縮小版 -×18F2620 \420 32Kw/3968/1024 Max40MHz(31k-32MHz),4xPLL,CCP2/0 -×18F2420 \280 8Kw/768/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0 -×18F2320 \420 4Kw/512/256 Max40MHz(31k-8MHz),4xPLL,CCP2/0 -△18F2553 \420 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,12bitADC,CCP2/0 -×18F2550 \350 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,CCP2/0 -×18F2455 \340 12Kw/2048/256 ●USB,↑2550のメモリ縮小版 -×18F2450 \260 8Kw/768/0 ●USB,Max48MHz(31kHz),PLL,CCP1/0,MSSP無,TMR0/2 -×18F2523 \390 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0,12bitADC -○18F2431 \340 8Kw/768/256 Max40MHz(31k-8MHz),4xPLL,CCP2/0.14bitPWMx6 -×18F2321 \240 4Kw/512/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0 -×18F2221 \220 2Kw/512/256 ↑2321のメモリ縮小版 -◎18F26K22 \220 32Kw/3896/1024 Max64MHz(31k-64MHz),4xPLL,eUSART2.TMR3/4,MSSP2,CCP2/3,SRLatch -○18F25K22 \170 16Kw/1536/256 ↑26K22のメモリ縮小版 -△18F23K22 \160 4Kw/512/256 ↑25K22のさらにメモリ縮小版 -◎18F25K80 \220 16Kw/3648/1024 Max64MHz(31k-64MHz),4xPLL,eUSART2,TMR2/3,CCP4/1,12bitADC.ECAN -○18F26K20 \190 32Kw/3936/1024 Max64MHz(31k-64MHz),4xPLL,CCP1/1 -△18F23K20 \150 4Kw/512/256 ↑26K20のメモリ縮小版 *◎18F27J53 \300 64Kw/3776/0 ●USB,Max48MHz(31k-48MHz),PLL,eUSART2,TMR4/4,MSSP2,CCP7/3,12bitADC,リマップ,▲3.6V -○18F26J50 \260 32Kw/3776/0 ●USB,Max48MHz(31k-48MHz),PLL,eUSART2,TMR2/3,MSSP2,CCP0/2,リマップ,▲3.6V -○18F25J50 \230 16Kw/3776/0 ●USB.↑25J50のメモリ縮小版,▲3.6V -△18F26J11 \240 32Kw/3776/0 Max48MHz(31k-32MHz),4xPLL,eUSART2,TMR2/3,MSSP2,CCP0/2,リマップ,▲3.6V -△18F25J11 \210 16Kw/3776/0 ↑26J11のメモリ縮小版,▲3.6V 20ピン USBの有無でK50かK22を -◎18F14K50 \170 8Kw/768/256 ●USB,Max48MHz(31k〜32MHz),4xPLL,CCP0/1 -×18F13K50 \170 4Kw/512/256 ●USB,↑14K50のメモリ縮小版 -◎18F14K22 \160 8Kw/512/256 Max64MHz(31k-64MHz),4xPLL,CCP0/1,SRLatch *△18F13K22 \150 4Kw/256/256 ↑14K22のメモリ縮小版 18ピン 20ピンから選択すべき、14bitPWMx6に魅力あれば1230を -×18F1320 \220 4Kw/256/256 Max40MHz(31k〜8MHz),4xPLL,CCP0/1,MSSP無 -×18F1220 \210 2Kw/256/256 ↑1320のメモリ縮小版 -△18F1230 \220 2Kw/256/128 Max40MHz(31k-32MHz),4xPLL,TMR0/2,MSSP無,CCP無,14bitPWMx6 PIC18F共通 VDD 〜5.5V,10bitADC,eUSART,TMR8bitx1/16bitx3,MSSP 追加表記 CCPx/y x=CCP数/y=eCCP , TMRx/y x=8bit/y=16bit
【PIC24/dsPICシリーズ】16bitマイコン アーキテクチャの大幅な改良,同MIPS値のPIC18F以前と比べて数倍高性能('12/06版) 40ピン -○dsPIC30F4013 \480 16Kw/2KB/1KB ADC12bit TMR5 UART2 SPI1 I2C1 PWM2 CAN -×dsPIC30F3014 \500 8Kw/2KB/1KB ADC12bit TMR3 UART2 SPI1 I2C1 PWM2 28ピン -◎24FJ64GA002 \330 21Kw/8KB/--- ADC10bit TMR5 UART2 SPI2 I2C2 PWM5 -◎24HJ12GP202 \260 4Kw/1KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2 -○dsPIC30F4012 \460 16Kw/2KB/1KB ADC10bit TMR5 UART1 SPI1 I2C1 PWM3x2 CAN -×dsPIC30F2020 \500 4Kw/512B/-- ADC10bit TMR3 UART1 SPI1 I2C1 PWM4x2 -△dsPIC30F2012 \350 4Kw/1KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2 -◎33FJ32GP202 \320 11Kw/2KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2 18ピン -○dsPIC30F3012 \400 8kw/2KB/1KB ADC12bit TMR3 UART1 SPI1 I2C1 PWM2 共通 24Fシリーズ Vdd2.0-3.6V Max16MIPS(32MHz) (一部ピン5V入力可),I/Oリマップ 24Hシリーズ Vdd3.0-3.6V Max40MIPS(80MHz) (一部ピン5V入力可),I/Oリマップ 30Fシリーズ Vdd2.5-5.5V Max30MIPS(120MHz) DSP命令有,(5V動作可) 33Fシリーズ Vdd3.0-3.6V Max40MIPS(80MHz) DSP命令有,(一部ピン5V入力可),I/Oリマップ ;---------------------------------------------------------------------------------- 【PIC32シリーズ】32bitマイコン MIPSアーキテクチャ 最適化されたアーキテクチャで1.65DMIPS/MHzを叩きだす高性能('12/06版) *◎PIC32MX220F032B \220 FLASH32+3KB RAM8KB ●USB *○PIC32MX210F016B \200 FLASH16+3KB RAM4KB ●USB *○PIC32MX120F032B \200 FLASH32+3KB RAM8KB *△PIC32MX110F016B \190 FLASH16+3KB RAM4KB 共通 VDD Max3.6V,Max40MHz,UARTx2,I2Cx2,(SPI/I2S)x2,RTCC,10bitADC,DMA
マークの意味
◎お勧め、用途決まっていないならこれ買っとけ
○内蔵モジュール減ってるけど、その分値段も安くなってるから、まあまあ
△内蔵モジュール大幅に減ってる、\10でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書に載ってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない
秋月じゃ売ってないけど面白しろそうなDIP品群
32bit性能 → PIC32MX250F128B (DIP28,40MIPS,USB,128KB-FLASH,32KB-RAM)
驚70MIPS! → dsPIC33EP64GP502 (DIP28,70MIPS,64KB-FLASH,8KB-RAM)
5V入出力! → PIC24FV32KA301 (DIP20,16MIPS,32KB-FLASH,2KB-RAM,512B-EEPROM)
18p40MIPS → dsPIC33FJ12GP201 (DIP18,40MIPS,12KB-FLASH,1KB-RAM)
14p 16bit → PIC24F08KL200 (DIP14,16MIPS,8KB-FLASH,512B-RAM)
アナログ色々 → PIC16F1783 (DIP28,8MIPS,2kW-FLASH,512B-RAM,256B-EEPROM,OpAmp,12bitADC,8bitDAC)
マイクロコントローラ歴史
ttp://www.cqpub.co.jp/hanbai/books/37/37291/37291-intro.pdf 最初のPIC, PIC1650 GeneralInstrument社('89に1事業部門が独立して現在のMicrochip社へ)
ttp://www.rhoent.com/pic16xx.pdf (命令セットはBaseline Architecture 命令長12bit品とほぼ同じ)
このリストとても参考になって、いつも助かってますわぁ
気が付いたらこんなにあるんだなぁ もっとも12Fか16Fの決まったのしか使わんが
>>51 の質問に誰か答えてください。<(_ _)>
お願いします。
それともお金を請求されるのだったら、最初に請求画面ぐらいがでて
一発でわかるようになっているのでしょうか?
>>64 Standardは有償。Liteはフリー。Evalationは一定の期間、Standardが使えるのだったと思う。
ダウンロードするファイルは同一で、
インストールするときに、LiteにするかEvalationにするか、聞かれるんじゃなかったかな。
>>65 レスありがとうございます。
検索してみると、Evalutionをダウンロードすることを
説明するサイトがほとんどのようなのですが、
60日後には最適化(がどういうものかしりませんが)ができなくなる
ということなので結局Liteでインストールしておいて、なにか
Standardが使いたくなったときに、Evalutionを再インストールするというのが
うまいやりかたでしょうかね?
とにかくLiteでやってみます。多分機能としてはその最適化というのが
使えないだけだと思いますので。
ありがとうございます。
>>67-68 情報ありがとうございます。
工作にも参考になりそうな優良サイトですね。
70 :
774ワット発電中さん :2012/06/25(月) 00:43:46.38 ID:zSuPgw+V
40年くらい前の初歩のラジオをめくったら白黒のゲーム機を 改造してカラー化するっていうのがあったっけな。
PICでインベーダーができる日も近い
水晶の力か?
PICクリスタルパワー メークアップ!!
ファミコンって、なにげに256x240 60fpsなんだよな
「なにげに」って? ファミコンに限らず、当時のドット絵ベースのビデオゲームって大体それ位のスペックじゃん。
VDPとかPPUとか分離されてる機械は、とりあえずそういうスペックは保てるよね。 60fps表示できても、60fpsで書き換えできるかは別だが。
素のDRAMのアクセスタイムは、ファミコン時代も今も、60〜80nsだよね。
81 :
774ワット発電中さん :2012/06/25(月) 21:48:57.97 ID:Kdc/F3qK
>>80 ファミコンとDRAM関係ないし、ファミコン当時一般に流通してたDRAMって150nとかそんなんだよ。
83 :
774ワット発電中さん :2012/06/25(月) 22:41:44.59 ID:UPLZGzOQ
150ンス
ファミコンはメインメモリもVRAMもSRAMだな
なんて贅沢な
picだって全部SRAMでしょーが。 プログラム領域とEEPROM領域はともかくとして。
秋月のPIC16F1823と1827の在庫が復活したぞ。 さて、リビジョンは、どうなったかなー。
>>70 レコードがCDに置き換わって、いずれはどんどんデジタルになっていくだろうとは想像できたけど、
キャリアだの変調だの言う世界までデジタルで、しかも誰でも買えるワンコイン程度の石で
できるとなると、すごい進化だなぁと思うね。
そのうち、一石ラジオとか出てきたりして。
すみません、PICを勉強しようと思って、 解説本のアセンブラのサンプルプログラムを打ち込んでビルドしてみたところ、 下にあるようなエラーが出てしまいます。 make[2]: *** No rule to make target `build/default/production/newAsmTemplate.o', needed by `dist/default/production/aaa.X.lib'. Stop. make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2 make[1]: Entering directory `D:/03_Electoronic/MPLABX_PRJ/aaa.X' make -f nbproject/Makefile-default.mk dist/default/production/aaa.X.lib make[2]: Entering directory `D:/03_Electoronic/MPLABX_PRJ/aaa.X' make[2]: Leaving directory `D:/03_Electoronic/MPLABX_PRJ/aaa.X' make[1]: Leaving directory `D:/03_Electoronic/MPLABX_PRJ/aaa.X' BUILD FAILED (exit value 2, total time: 51ms) 打ち間違いかと思って、 #include P12F683.INC end だけにしても変わらず。 申し訳ないですが、原因がさっぱりわからないので御知恵を拝借できないでしょうか? プロジェクトの保存先を別ドライブに変えただけで、 他はデフォルトのままMPLAB X IDE v1.20を使用してます。 MPLAB付属のサンプルプログラム(C言語のほう)は問題なくビルドできてるんですが・・・
>>89 PIC特有の問題ではなく、makeの使い方だね。
makefileの中身をチェックしてみよう。
>No rule to make target `build/default/production/newAsmTemplate.o', needed by `dist/default/production/aaa.X.lib'. って、親切にメッセージ出してくれてるじゃん。
エラーメッセージを読まないアホは多い。
>>93 20年前を生きている人は、ほっといた方が良い。
釣り宣言されちゃうぞ
電子工作板に来るわりに超再生ラジオもレフレックスラジオも知らんのか。無知は怖い。 え? 一石ってそういう意味じゃないの? そうか。
検波部分もIC化するという意味じゃないかな バーアンテナもバリコンも不要な感じ
>>87 この問題は、表示されるメッセージからだけで判断するとMakefileの
書き方間違いのように思えるが、実際は自動生成されたmake関連ファイルが
壊れてしまったことが原因(MicrochipのFAQにも載っていたはず)。
これらのファイルを再度生成するには、ProjectのPropertiesを開いて
(Projectを右クリックで表示されるメニューから選択)、表示された
ダイアログの右側(Configuration)のHardware toolsをの設定を変える。
例:PICkit3→Simulatorなど
そして「OK」をクリックすると、設定変更が反映されたmake関連ファイルが
生成される。
これでたぶん、"No rule to make target"というエラーは出なくなるはず。
98 :
774ワット発電中さん :2012/06/27(水) 09:25:14.85 ID:oULLqNyW
アンテナの高周波を直接A/DしてDSPにぶち込んでFFTでAFを取り出すんだろ。 それを専用のパッケージでやるんじゃなくてマイコンやFPGAの片隅でやるのが今後流。 専用パッケージや専用回路でよければソフトウェアラジオとして研究はすでに進んでいる。
研究も何も、商品出てますがな
>アンテナの高周波を直接A/Dして 高周波アンプぐらい通さないとめちゃくちゃADCに金がかかりそうだw
aitendoの240x320のTFT液晶で遊んでるんですが 制御方法は8ビットと16ビットの2種類あって、 8ビットだったらデータを8ビット2回送信して16ビット分、 16ビットだったら16ビット1回分ですみます。 16ビットのdsPICで制御する場合、やはり後者の方が高速に制御可能と考えて間違いないでしょうか?
>>93 そんなICもあるんだねぇ。
>>98 そそ。
そんなのがPICでできちゃう日も来るんだろうなぁ、と。
18F14K50を焼こうと思ったら秋月ver4は対応してないのか。 pickit3行っとけばOK?
>>97 ありがとうございます。
ひとまずHardWare Toolsの変更したところ、
INCLUEDとENDの記述のみの状態ではビルドできるようになりました。
実際のプログラムが入るとまだエラーを吐いているのですが、
前に進めそうです。
他の方もありがとうございました。
未だにmakefileが読めない こんなのは使わなくても何とかなるし、 すぐ滅びる風習だと思ってたのになかなか滅びない
ちんまい開発なら全部コンパイルしなおしても全然問題ないけど、大きくなるとねえ。 結局makeとMakefileの代わりになる何かが必要になるんでなかろか。 sh、make、sendmail、tex、こいつらが飲むファイルの仕様はみんなウンコ。
「僕の頭には入りきりません」
まさにそれだよ。覚えにくい書式。忘れやすい書式。 自分で育てたMakefileがあるから新規プロジェクトで悩まずに済むけど、 ゼロから書けって言われたら「初めてのmake」とか「誰でも書けるMakefile」とかが無いと無理。
学校の試験じゃないんだから暗記しなくていい。 むしろ不確かな記憶で書いてミスするよりも、 アンチョコを見て確実さを取れ。
110 :
774ワット発電中さん :2012/06/28(木) 20:07:01.74 ID:n2ue6Krz
8PINデバッグしづれえええええええええ ほとんど騎乗デバッグ もう泣きそう
PICの8ピンて何かしずらい理由あったっけ?アーキテクチャ以外で
112 :
774ワット発電中さん :2012/06/28(木) 20:38:41.05 ID:n2ue6Krz
ヘッダなくて空きピンもない 実機で問題起きたら内部状態の確認できない
デバッグは、ピンが多いやつを使えば?
>>110 マイクロチップ社の純正のICD使えばいいじゃん。
115 :
774ワット発電中さん :2012/06/28(木) 21:44:45.18 ID:n2ue6Krz
買ってもらえないでんがな
シミュレータでも使え
>>106 makefile使わなくても、IDE使ってれば変更のあったソースだけコンパイルしてくれるっしょ
118 :
774ワット発電中さん :2012/06/28(木) 22:49:26.49 ID:n2ue6Krz
シミュレータと実機は微妙にちがうからなあ IDE X のシミュレータまだまだっぽいし
だったらICDを自腹切って買え。 それも嫌なら、仕事なんて辞めちまえ
最適なデバッグ方法を模索するのも醍醐味の一つだろ何言ってんだ
そういう事態に備えて1ピンをパイロットランプ兼シリアル出力にしとけばいい 0xAAあたりを出力した後一定期間入力も受け付けるようにするとか
8ピンじゃなければな
貯めに貯めたストレスを煽りと荒らしで発散してる人物が一名。 なお発散が間に合っていない模様。頑張れ。
>>121 スイッチ入力と圧電スピーカも重ねて付けられるぜ
PICは型番の命名規則が分かりにくいな。 開発時はメモリやピンが多いものを使って、あとで少ないものに置き換えたい場合に、 品番の選択が面倒くさい。
16F84の死蔵在庫が100個くらいある
俺16F628が30個くらいある
16C84が3個ぐらいある
余剰在庫自慢スレはここですか?
もっそい数の回路組んだけど、使ったPICは2個だったな なんて安上がりなおもちゃ
>もっそい どういう意味? どこの方言?
方言じゃないと思うな ただのスラング
PIC16F1823で内蔵オシレータ使って単純なLED点滅テストしてるんだけど パスコンも最短で入れてるのに時々フリーズする。なにが原因だろう? WDT入れてるから度々リセットされる。
オシロでLEDのパタパタ信号を眺めてれば判るんじゃないの
>>133 単純なスタックオーバーとエスパーしてみる。
>133
前々スレで置いといたのが、残ってるから入れて動作確認してみれば
ハードかソフトか切り分けられるんじゃないか?
>535 名前: 774ワット発電中さん [sage] 投稿日: 2012/03/31(土) 14:27:46.77 ID:WIj4IWaR
>Enhanced Mid-RangeのPIC
>PIC12F1822 8ピン
>PIC16F1823 14ピン
>PIC16F1827 18ピン
>PIC16F1938 28ピン
>をアセンブラで初期化とI/Oを1秒毎にH/Lを繰り返すだけのサンプル上げておきました。
>
ttp://ux.getuploader.com/mcnc/download/100/PIC16F1xxxASM.zip >初めて使う際の参考にどうぞ
みんなありがとう、早速調べてみる。 原因判ったら書くよ。
133だけど、結論から言うとLEDの点灯位置を書き込んであるEEPROMを 頻繁に読み出していたのを、ロジック改良して激減させたら止まらなくなった。 EEPROMをリアルタイムで読みまくる処理って、そういえば書いたことないけど そういうものなの?
レジスタの退避が不味いんでないの、知らないけど
140 :
774ワット発電中さん :2012/07/01(日) 21:13:07.30 ID:DF4EI/MR
単純なLEDオンオフに何故EEPROMのアクセスが必用なのか、わかりませんが 要はLEDのオンオフ以外にもいろんなことやってんでしょうね。
>>140 点滅パターンを作ってあるのかな?
文字列、フォントとかも含めたり
>>140 EEPROMに書いた通りに6コのLEDが光るかどうかの
テストをしていただけで別に目的があるわけじゃないよ。
あとEEPROM関係無かった。
結局あらぬタイミングでフリーズすることがあって(完全不規則)
設定見てたら、PLLがEnableになってて、それDisabledにしたら
一切止まらなくなった。理由は相変わらず判らないけど。
もしかしてブレッドボード使ってる? GNDが接触不良になってないか?
単に初心者の良くやる必要無いポートを入力にしちゃって、なおかつプルアップしてない感じだな
>>142 書き込みにPICkitを使い、実行時も接続したままとか。
それであれば物は試し、外してみる。
PLLをDisableにすれば実行速度半分な気もするけど、それは目標に対して問題無いの?
原因を究明できないと動いたことにならないよ
>>133 の書いたプログラムが悪いに1票。
本当にWDTによるリセットなのか、ちゃんと確認したのかな。
回路図とソースうpしてみたら
基板実装によっても違ってくるから、写真も。
スリーサイズもよろしく
あ、足のサイズもよろしければ・・・・
これが原因とは夢にも思っていなかったので後出しになるけど、
某社のCコンパイラの試用版を試していたら、この現象が起きた。
で、試しにHI-TECH Cで全く同じ処理を書いたら、10時間以上経つけど今も止まってない。
この件であまり引きずる気は無いのだけど、とりあえず皆さん求めとるので
捨てアドで動画アップした。
ttp://youtu.be/A3A0Kbzq2kg 動画ではA/Dで速度変えた時に起きたように見えるけど、実際はそういうの関係なくて、
また速度にも関係なく、何の前触れなどもなく止まる。(ADCを全OFFにした状態でも発生する)
ソースは気が向いたらアップする。
とりあえずコンパイラ変えたら期待通りに動いてるので、趣味工作の俺的にはそれで解決でいい。
たまたまタイミングが変っただけとか、そういう可能性もあるな。 そういうのこそ厄介だから、しっかり原因究明しとかないといけないのだが・・・まぁ趣味ならいいか。
迷宮入りしました、次の方どうぞ
>.>152 LEDとPICの間の抵抗が、茶茶黒金に見えるんだが、気のせいか?
>>152 まっ、そのうち変なことがまた起きるかもしれないけどな。
趣味ならどうでもいいわな
やけに突っかかるな
そもそも、ここにいる連中は皆仕事でPIC使ってるわけ? 趣味で使ってる奴は居ないのか
ADC_Read()はMi*roCの標準ライブラリ関数だから判らない。たぶんブラックボックス。 普通に考えたらADGOとADRESを使った3〜4行程度の処理とは思う。 LCDで戻り値を監視した時は0x000〜0x3FFの値を綺麗に返してくれてたよ。
163 :
774ワット発電中さん :2012/07/02(月) 23:17:28.82 ID:A4bwr9s5
念のために書いておくと、0x3FF以上の値が返る可能性を考えて 0x3FF以上がリターンされたら0x3FFにする処理も入れて試したけど結果は変わらず。
>>162 そのPIC16F1823のリビジョンは何かな?
リビジョンによっては、ADCの変換が終了しないことがある、っていうエラッタを抱えてる。
標準ライブラリがエラッタ対策までやってくれていれば、いいんだけど・・・
ADCON0のGO/DONE#ビットが0になるのをポーリングで待ってたら永久ループになる。
しかも、これは必ず発生するわけではないので、たちがわるいエラッタなんだよな・・・。
ちなみにADC終了の割り込みも発生しないからね。
>>164 1044KYA
マジか? 確かに該当のロットみたいだけど・・・
ちなみにHI-TECH Cで書いた方は永久待ちやらせてるけど一切止まらず未だ正常に動き続けてる。
それに
>>152 にも書いた通りADCを完全に切ってても変わらずフリーズが起きる。
>>165 止まらない時は止まらないんだよなー。
発生条件が良くわからないから、このエラッタは厄介なんだよー。
Mi*roCで書いた方は相当頻度が高くて、HI-TECH Cの方は 電源入れ直したりして試してるけど未だに症状はゼロ。 この二種で完全に切り分けられてる状態なんだよな・・・。 とりあえずADCに関しては条件ループに変えるとして、 今回はADCをOFFにしててもフリーズするから、別の何かに引っかかってる可能性があるわけか。
とにかくありがとう。機会があったらもう少し調べてみる。 あと1129P70というロットのも持ってるからそっちで試してみるよ。
これは見てる方も気持ち悪いから原因は突き止めて欲しいな PICは実機デバッグしないと何が起こるか判らんね
どこで止まっているのかは調べたほうがいいよね。 適当なポートにLED 1個つけてさ、 あるコード範囲に入ったら点灯、出たら消灯 これを何回か繰り返して絞り込むとか。 EUARTでPCにログを吐くというのも手だ。
コンパイラが吐き出したasmを比較するとかは?
それが一番早いよね
ていうかマイクロチップ社の純正コンパイラでいいじゃない。
アセンブラは読めませんとしか言わないことはわかりきってるんだから期待するだけ無駄だな。 読めるんなら言われずとも比較くらいはしてるはず。
177 :
774ワット発電中さん :2012/07/03(火) 21:47:02.23 ID:qtLYCqEp
結構話題になってるね。彼は。
言われずともasmを吐き出して調べるくらいはしてくれそうな
>>175 に期待。
当然俺は俺で調べるが、
>>175 にだけは教えるの嫌なんでいいわ。
MacOSXでPK2CMDを使って、PICKIT2で16F88に書き込みをしてるのですが 初回はうまくいったのに2回目から「Program Merory Error」というメッセージが出て書き込みが失敗してしまいます。 同じようなエラーが出た人は居ますか? 調べたところVDDとVSSにコンデンサーを入れると良いと言うのを外国のフォーラムで見たのですが… これで治るのかがよく判らないので、何かご存知の方おられましたら、ご教示下さい。
ハイテックのライブラリはエラッタ回避してあるのでしょう。
>>179 VPPとVDDの間には抵抗入れてる?
一度PICを初期化してみるとか。
>>181 抵抗は入ってないですけど、やっぱり入れた方が良いですか?
とりあえずやってみます。
まだPIC始めて間がないので判らない事だらけですが、
なんとか頑張ってみます,ありがとうございました。
>>183 MCLRのプルアップなので4.7k〜10kΩ程度のを入れた方が良いけど
無くても書くことはできた記憶はある。
>>180 HI-TECHのライブラリには、PICの周辺機能を操作するようなものは含まれてないよ。
だから自分でチマチマとレジスタ操作するんだが・・・もしかして違う?
>>185 俺もそう思う。たぶん使う関数と言ったら__delay_*sくらいじゃないか?
それ以外はレジスタ触りまくりの自力実装。
自力実装がいちばん楽しい部分なのに
MOVLW a BTFSC PORTA,0 GOTO LOOP MOVLW b BTFSC PORTA,0 GOTO LOOP . . . . . でLOOPに入ってMOVWF PORTBとしても どれもa〜fに対応した値が出てこないのですが何故でしょう? BTFSCで飛んだのならその一個手前のMOVLW (a〜f) の命令があるのでa〜fの値が出ないといけないのですが。
コードを書きます。 LOOP1 MOVLW a MOVWF THIS BTFSC PORTA,0 GOTO LOOP2 (b〜fも同様だから略) GOTO LOOP1 LOOP2 MOVLW THIS MOVWF PORTB GOTO LOOP2 とやってもTHISにa〜fに対応するのが出てきません。
>189 >MOVLW THIS 写し間違いじゃなければ、これ。MPLABのシミュレータ使ってる?
>>190 MOVLW THISじゃ何故だめなのでしょう?
どうすればよろしいでしょうか?
>191 MOVF THIS,w
>>192 どう違うのでしょう?
MOVLW a〜z
MOVWF PORTB
ならaからzちゃんと表示されますが。
>>193 何でも人に聞かずにデータシートをよく読め。
>193 メモリのアドレスかメモリの内容をWに移すかの違い。 まったく理解できていないようだけど・・・ 例えば MOVLW z ってどういう動作するかわかる? zが定義されているのが前提で、zのアドレス値がWに入る >195 移動する前にも書いたけど >PICは何で、動作は確認したのか、どうやってPORTBの出力を確認したのか位 書きなよ 今までのやり取りレベルだと、動作すらしていないような気がするが。
>>195 MOVF THIS,x
のxが0と1逆になってました
ちゃんと動きました ありがとう
z EQU D'10'
だと10は値のつもりなのですが間違いでしょうか?
MOVLW zによってWレジスタに00001010を移し
00001010をPORTBに値として移すという
MOVLW a
MOVWF THIS
(W→F)は間違いがないんですよね?
つまりF→Wに移すとき注意という意味でOKですか?
心優しき方々にお願いです。 128x64のグラフィック液晶用に20x20ドットくらいのフリーの漢字のフォントデータあったら教えて下さい
ggrks://www.google.co.jp/search?q=%E3%83%95%E3%83%AA%E3%83%BC+%E6%BC%A2%E5%AD%97+%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88
面白いプロトコルだな。
>>197 > z EQU D'10'
その命令はバイナリコード(以下テキスト)に10を埋め込んで、そのアドレス値をzとして記憶する。
アセンブラ内でzを参照するとアドレス値が使われるだけで、10は永遠に使われない。
どうしても使う場合、最新のPICなら INDF と FSR を使えば10を読みに行く事も可能だが。
PICみたいなハーバードアーキテクチャでは使わない方がいいと思う。
テキストとデータが同じアドレスに来得るからアセンブラが文句言うし。
そして根本的に問題なのは、初期化済みデータセグメントを扱う方法がPICに無いという点。
EEPROM領域ならともかく、SRAMには初期値を自動的にロードする手段が無い。
プログラムの頭でせっせとmovlw 10; movwf z; するのが常道。
で、zの確保のセオリーはこれ。
cblock 0x070 ;data memory bank 0|1 0x070..0x7f
irh_w
irh_status
loop
endc
cblock 0x020 ;data memory bank 0 0x020..0x06f
z
endc
cblock 0x0a0 ;data memory bank 1 0x0a0..0x0bf
endc
プログラムの頭で初期値を手で書き込んでおく。
読み出し方はこれ。
banksel z; movf z,w; banksel PORTB; movwf PORTB;
がんばれ。
何か
>>201 は出鱈目な気がしてきた。
特にequ疑似命令に関するところが嘘っぱちのような。
寝よう。
寝る前に12F1822の書き込みテストしようと思ったら秋月ver4は対応してないでござる。 ついにpickit3の出番か。
便乗、18F25K80もpickit2対応してないのかな? 18F26K80は対応してるっぽいけど pickit3買わないといけないのかねえ
206 :
774ワット発電中さん :2012/07/05(木) 22:00:53.91 ID:1qwPsJfC
>>198 そういうデータが仮にあったとして、PICのROMに収まるのかい?
必要な文字だけなのだろうか?
フォントデータだけど、Windowsのプログラムで画面に書き出し、
ピクセルを読み込めば自分でデータを作れる気がする。
やったことないけど。
>>206 なふたふさんとこにまさにその機能を持ったプログラムがあったわ。
それに、外部ストレージにフォントデータはぶち込められるし。
>>208 1Mbには512kbにない「ブロック」の制御が入るから注意だよ
どうせ、実際にやりゃしないんだから関係ないって
PIC使いって組み込みプログラマーになったら重宝されるの?
PICに限らずきちんと理解してれば使ったことのないマイコンを指定されても 対応できるよ。
>>208 秋月では買えないけど、SPIのEEPROMのほうが転送速度速くて安いからいいよ。
M25P16 16Mbit Max.75MHz 93円
バッファのRAMが確保できないので結局なにもできない
215 :
774ワット発電中さん :2012/07/06(金) 15:11:28.47 ID:68cdcK6j
16Mbitって何バイト? よくわかりません
2メガバイト
217 :
774ワット発電中さん :2012/07/06(金) 17:40:48.71 ID:YYsQ+hGE
1バイト=8ビット 160000ビット÷8=80000バイト
218 :
774ワット発電中さん :2012/07/06(金) 17:41:30.28 ID:YYsQ+hGE
1バイト=8ビット 160000ビット÷8=20000バイト だった
お、おう・・・
もうレジスタは64bitなのに、1byteはいつまで8bitなんだろう
>>220 1ワードは16bitだったり32bitだったりするけどな。
往年のPDPシリーズなんぞは中途半端なワード長だったりするんだぜ?
そんなの持ち出さなくても、PIC16が1ワード14bit
最近見なくなったけど昔は12bitマシンとかあったよな 昔「12はオクターブなので音楽用に適してる」なんて書いてた雑誌があったw
1命令長はPICの中だけでも色々 12bit Baseline 14bit Mid-Range , Enhanced Mid-Range 16bit 18F 24bit PIC24/dsPIC 32bit PIC32
1バイト=8ビット 1600000ビット÷8=200000バイト だった 話変わるけど1メガバイトって、1億万円というのに似てるな 似てねーか、テヘw
>>220 定義でも8bitとは限らないし、実際そうじゃないものも存在してたと聞いた。
オクテット・・・
玉川カルテット
最初の質問からして釣りだろ
単位の換算すら満足にできなくてどうやって回路組むんじゃボケェ! っていうケツバットかと。
>>214 シーケンシャル読み出しなら、命令サイクル=SPIクロックのとき、10サイクルくらいで1バイト読み出せた記憶が。
内蔵フラッシュのリードと同じくらい、内蔵SRAMの間接アドレッシング読み出しよりちょっと遅いくらい。
だからバッファRAMとか要らないくらいだと思う。
すみません教えてください。 スイッチのチャタリング防止は、回路側でするのかプログラム側でするのかどちらが確実でしょうか? LEDチカチカ程度しか技術はないのでサンプルの回路とかプログラム(C言語)などありましたら教えて下さい。
すみません、素人の疑問に答えていだだけないでしょうか?
http://www.dragonlabs.net/site/DragonOSDplus この部品にカメラと発信機をつけるとラジコン飛行機をUAVのように操縦したり自動操縦させるモノなんですが、余りに簡素
基板にのってるチップは次の3つだけで、裏面にはセンサーらしき部品がついているだけです。
・dsPIC33FJ 128MC804
・18831SZ B945FQ
・24FC512
たったこれだけでどうやってスーパインポーズ付の画像を生成しているんでしょうか?
dsPICで頑張ってソフトウェアでビデオ信号を処理してるのだろう。
>>234 回路でやると部品が増える→コストが掛かる
なので普通はプログラムでやりますけどね。
単純に作るならタイマーで数ms間隔で割り込み発生させて
割り込みの中でポート読んで2回続けて一致したらポートの状態を確定する。
平のプログラムはポートを直に読まずに割り込み内で確定された状態を使う。
回路で鈍らせてあるからといって、全面的に信じるのは恐いな 時定数大きめでシュミットトリガにしとけば大丈夫かな
>>238 ソフトで実装するにせよRは無条件に入れるけどな。静電対策になるから。
Cもランドは確保するけど実装しない事も多い。
と、全然PICとは関係のない話w
>>237 ありがとう、直接ビデオ信号を作る「技」があるんですね。
ただのSEなんでびっくり
PIC32MXやPIC24FJってXTalや電源周りだけで10本近く足もってかれて 28Pinパッケージでちょっと凝ったことするとピン数ギリギリだな。 DIP40Pin出ないかな〜。
I/Oエクスパンダ代わりにPIC16Fあたりをコバンザメ
iPhoneと同じ機能の製品を動かすには、PIC16Fは何個必要でしょうか? PIC32の場合も
そういう疑問を持ってる人のレベルでは、何個あっても無理。
>>246 液晶画面はPICでどうやって作るんだ?www
タイマー2をPWMにしてアンプに繋いで音を出しています。 で、PWMの出力をやめた後は出力ポートはどんな電圧状態になるのでしょうか? もし自分で0Vと設定するとアンプを経由すると、-2.5Vになるようだし、5Vと設定すると+2.5Vになるようです。 どうしたらいいのでしょうか?
できないなら黙ってればいいと思いますよ
>>244 同じ機能を動かすのに速度1/10でもいいの?
別のレガシーCPUに脳内変換してみると、質問自体成り立たない事が分かる。
>>249 答えられもしないのに、横ヤリ入れるバカは黙ってたら?
>>251 まあ、そういうことだ
>244 の質問が、多義的(ある意味ではバカ)すぎるんだよ。
りんごをいくつ集めると、牛肉になりますか? みたいな感じ
>>252 仲間だと思われたくないのでそうしますね
暑くなってきたせいかキチガイが沸くなあ。 メガバイト君にアイフォン君か。同一人物だといいんだけど。
だが、できないなら黙ってろってのは的を射てるな 回答するわけでもないのに黙ってられないバカが最近増えてる
よく吠える一匹狼だな
>>257 的外れすぎる。
正確な表現は「荒らしに反応する人は荒らし」。
餌を投入するキチガイが主犯ではあるが、
>>244-259 全て荒らし。
>>248 実際に試してみればいいじゃん。
たぶん、あなたの希望は、HとLの中間の電圧になってほしいんだよね?
それなら当該ポートを適当な同じ値の抵抗で、5Vにプルアップ、0Vにプルダウン、両方やっておき、
PWMをやめたときに出力ではなく入力に設定してPICをハイインピーダンス状態にすれば、中間の電圧になるよ。
ただし、当該ポートでweak-pullup機能が有効になってたりすると上にズレるし、
当該ポートの入力がデジタルで、なおかつ、シュミット・トリガではない場合は、動作が不安定になる恐れが。
とりあえずアナログ入力モードに設定しちまうのがいいだろうね。
アンプ出力にカップリングコンデンサ入れればいいんでないの?
入力の前に入れた方が
>>244 PIC16やPIC32が、並列処理に向いているかどうかだよね。
多分向いていないから、いくつ並べてもiPhoneと同じ性能には
ならないかと。仮にハードが出来ても、すべてのソフトを並列処理用に
書き換えないといけないから、非現実的。
264 :
774ワット発電中さん :2012/07/09(月) 07:08:06.64 ID:WWUyMnsH
>>244 iPhoneのIOSは基本UNIXだからMMUも必須だし広いメモリ領域も必要。
PIC16は論外だし、PIC32は MMU もないしメモリ空間も組み込み用に特化して
あるから何個並べようとIOSのようなOSは動作させられない。
スレでも比喩的に指摘している人が、小さいものを並べることで、大きいものと
同じことができるわけじゃない。
別の発想をすれば可能かもしれないが、そもそもコスト的なメリットが
全くないので、そんなことを考える人はいないだろう。
PICでアドレス指定する時に割り当てた名前ではなくて、 20H + i みたいな形でiをカウントアップさせて順次内容を参照したり書き換えたりできないでしょうか?
できます
>>265 Indirect Addressingがキーワードで、具体的なレジスタ名はINDFとFSR。
268 :
774ワット発電中さん :2012/07/10(火) 14:27:39.51 ID:A4h/jlAG
CCS-C バーアップしたらWDTがおかしくなった setup_wdt(WDT_OFF)が効かないで1リセットしちゃう。 WDTCONのビット0をクリアしてるけど これってWDT_SWの場合有効では ? #FUSEでWDT****じゃなくて WDT_SWにしなきゃダメ? おせえて頭のいい人
>>264 >別の発想をすれば可能かもしれないが、そもそもコスト的なメリットが
>全くないので、そんなことを考える人はいないだろう。
皆がPIC使って仕事で実用的なもん作ってるとは限らないし、ホビー用途なら
なんでもありだろ。
PICじゃないけどAVRでこんなことやってる奴はいるぞ。
『8ビット/24MHz動作の「ATmega1284p」プロセッサでARM Linuxを動かす、ログインできるまで6時間』
http://hardware.slashdot.jp/story/12/04/02/180257/ 似たようなアプローチでPICでiOSも可能だろう。
iOSってオープンソースじゃないし・・・
PIC16F1509とか、EEPROMの内蔵されていないPICが最近出てるみたいだけど プログラム領域に保存できるのか?
質問なのですが、PIC32を使う意義を知りたいです。 他のPICに比べて優れていることを教えてください。 ほかのPICにたいして、PIC32でないとできないことはありますか?
それより何がしたいんだい?
スイカ食べたい
>>274 いや、別にやりたいことはすべてPIC18で何とかなっちゃってるんだけど、
どういう機能があるのかなと思って聞いただけです。すみません。
>>275 1ヶ月待て。
笑えばくれるようになるから。
>>272 プログラム用フラッシュは自己書き換えできるけど、書き換え可能回数は、それほどでもない。
用途によってはデータ用EEPROMは未使用で放置されることもある。
>>273 処理速度が速い。
>>273 自分はPICを使ったことがないから、使うんならPIC32と思うな。PIC18は
知らないが、PIC16みたいな気持ちの悪い制限の多いCPUは使う気にならない。
PIC32が秋月で販売されるまではPIC24って思っていたが。電源も同じ3.3Vで、
値段も変わらないし、USB HOSTもある。
だったら、PIC32でいいんじゃないって思っている。
JTAGで書き込みできるんだが情報が少ないな。PICKIT3を持ってないんで、手持ちの
JTAGケーブルが使えないかなと思っているんだが。安いから買ってもいいんだけど。
PIC32やPIC24はUSBホストの機能があったような。
秋月で売ってるPIC24にはUSB自体ないよね。 知ってる限りUSB付き24FはDigi-KeyとかRSで買うしかない (2年ぐらい前の認識) つーか千○とかマ○ツは秋月と同じPIC売らないで違う型番のPIC売ればいいのに。 あれ秋月閉店後の30分〜2時間しか意味無いよ…。
型番は同じでもリビジョンが違うなら価値が出てくる。 秋月よりも新しいリビジョンを売るなら。
>>271 どうやって、iosをポーティングするのか三行で
>>283 ハードウェアすべてをエミュレーションすれば、あるいわ。
なんだ最近のガキは。 チューリングマシンも知らんのか。 え、そういう話じゃないの? すまん。
>>283 誰か
OSを移植するような話を
してんの?
>>286 iOSをポーティングするのもiphoneエミュレータを作るのにもiOSや端末の仕様その他がないと無理ゲーだろってことだよ
>>287 で、iiOSがオープンソースでないというのとどんな関係のある話?
訂正 iiOS ↓ iOS
290 :
774ワット発電中さん :2012/07/11(水) 06:59:01.88 ID:QaAxq6/Z
IOSKISS
FMトランスミッターばらしたらLEDの電流制限抵抗が入ってなくて オシロで波形見るとPWM制御で光量調整してるっぽいんだけど、 こういうのってありっすか?
>>269 のエミュレーションは、UARTにテキストを出力しているだけ。
それでもすごいことだが、OSにGUIを実装するところまでたどり着くのには
膨大な手間がかかる。IOSの移植うんぬんを議論できるほどのレベルではない。
暇つぶしの議論としては有効だろうが、膨大な知識と調査そして時間が必要で、
私にもそしてスレを読んでいる他の人にも到底実現可能なレベルではない。
>>292 iOSにGUIは実装されてるのだから移植云々とか言ってるのは馬鹿。
作業的には、PICにメモリと液晶+タッチパネルを実装してエミュレータを書くだけ。
MIPSのAndroidだってあるのだから、わざわざARMをエミュレートする必要はない。 ただ、速度の問題を解決しないと、iPhoneモドキにすらならない。 PICは最速で80 MHzなんだから、さらに10倍ぐらいの速度にして、 かつ、外部DRAMに高速アクセスできるようにしなきゃならない。 そんなに簡単な問題じゃないよ。
>>294 「iOS動いた! ワースゴイ 遅い遅い! ゲラゲラ」ってのやりたいんだから話ずれてるぞ
お前さんの言っているのは「PICでARMがエミュレートできるか」と同義じゃない。 それはそれで面白いんだけどね。もうちょっと、色々考えてみようよ。
>>291 普通に考えればLEDを定電流で点灯させてるんだろと思う。
PICに直結されていたのなら、抵抗内蔵のLEDランプなんじゃ?
>>296 元々の発端が「iPhoneと同じ機能の製品を動かすには〜」というのだけど、
現状のAndroidはiPhoneと同じ機能じゃないし、同じ機能になるまでAndroidを
独自に拡張するよりは、iOS動かすほうが労力少ないだろ?
秋月のPIC16F1823のは即完売。入荷が8月。 数ヶ月前のロットはエラッタァにAD変換のバグがあったから 直っていることを期待したいぜ。
俺もヲチしてたけど、あっという間に完売になったな。 1827も完売になったが復活した。
>>293 >iOSにGUIは実装されてるのだから移植云々とか言ってるのは馬鹿。
やれやれ、こんなヤツに馬鹿呼ばわりされるとは悲しくなるね。
CPUが同じだけじゃ、言い換えれば、CPUのエミュレーションをしただけでは、
OSは動かないよ。周辺回路が違えば修正やデバイス・ドライバを作ったりと
膨大な手間がかかる。iOSデバイスはハードもソフトもオープンじゃないから
部外者による移植は不可能に近いだろう。
>>294 PIC32はメモリが制限されているしMMUもないからからAndroidを移植するのは
無理でしょう。何らかのエミュレートをしないと、動作させることはできないと
思うよ。
>>298 >労力が少ないだろ?
うけるんですけど
>>301 >CPUが同じだけじゃ、言い換えれば、CPUのエミュレーションをしただけでは、
>OSは動かないよ。
誰がCPUのエミュレーションをしただけで動くなんて言ってるんだか。
馬鹿は自分の思い込みが基準だから話にならんな。
>>302 じゃどこまで、どのようにエミュレーションするんでしょうか?
ご説明願いますか。
PIC32MXは、MMUこそないが、 CPUコアの処理速度だけ見れば、 DECstation3100や初代プレステよりも速いんだろな。 メモリが少ないので複雑な処理はできないし、 パイプラインや割り込みなど複雑なので アセンブラでクロック数えてのコーディングにも向かないが、 まぁとりあえずPIC16や18よりも使うのが楽な場面が多そう。
>>303 どれくらいのレベルの話なら馬鹿に理解できるのかな?
「プロセッサから見てとりあえずダミーの値でも返ってればエミュレータは結構動く」くらいの話は理解可能?
>>305 よくわかりませんが、例えば仕様の分からないカレンダーICがあり、コマンドを出したあとに
ステータスを要求していますが、分かりません。そこは適当に返して動きましたが、
後のほうで動作がおかしくなりました。そのようなハードはたくさんあります。
どこの動作がおかしいか、あなたならどうやって特定しますか?
>>305 他にも出力ポートをオンにしていますが、先に何がつながっているかわかりません。このポートが
オンになったときに、どのような動作が起こればよいか分かりますか。
>>305 割り込み駆動がイベントになるハードがあるようですがわかりません。どんなハードが
どんなタイミングで割り込みをかけてくるかわかりませんが、必須のようです。
どのようにエミュレートすればよいのでしょうか?
>>306-308 当たり前だけどコード追っかけるしデバイス叩いてるとこでトラップ掛けたりもするよ。
それで分からんかったこと今までないわ。iPhoneのエミュレータ書いたことはないけどな。
>>306-308 つーか、例えばLinuxのドライバ書いてる連中って、全部ハードの仕様があってやってると思ってる?
エミュレータ側のドライバなんて操作される側の振りするだけなんで、操作する側のドライバ書くのに比べたら
段違いに楽なんだがなあ。馬鹿には理解できんか。
>>309 自信はあるのかもしれないけど、コード追っかけるといっても、ソースがあるわけでも
ないし、デバッガがあるわけでもない。さて、どうエミュレートするかの回答ももらって
ないが。あなたのいうように、もし簡単に実現できるのなら素晴らしいと思うけど。
>>310 答えになってないと思うが。誰にも理解できないと思うよ。
>>311 >コード追っかけるといっても、ソースがあるわけでも?ないし、デバッガがあるわけでもない。
馬鹿の言うことはマジ訳分からん。
コード追っかけるのにソースやデバッガが必須だとでも思ってるのか?
自前でエミュレータ作る前提の話だからどこで止めようが履歴取ろうが自由自在なんだがなあ。
>>314 ROMした人は分かっただろうか、結局のところ彼は何も説明してない。
断片的に抽象的なことを言うだけ。そして馬鹿には理解できないを繰り返すだけ。
>>310 ではLinuxのドライバがとか聞かれてもない話をしている。
残念ながら彼には他人に分かるように体系的に説明する能力もないし、そもそも
説明できるようなものも持ってないということ。本当に能力のある人間は他人に
分かるように説明できる。馬鹿だから分からないは無能な人間の言い訳でしかない。
分かったふりをする無能な人間の書き込みは、だいたいこんな感じだよね。
そうじゃないっていうなら、体系的な説明をしてほしいな。無理だろうけど。
>>315 ほとぼりが冷めたころを見計らっての勝利宣言ですか?
お花畑回路
320 :
774ワット発電中さん :2012/07/11(水) 19:34:15.90 ID:AR6hPfMV
SLEEPから復帰するのって最短でどのくらいかかるますか?
PICのSLEEPは困ったちゃん。 CPUコアだけでなくメインのクロックごと止めてしまうので、周辺機能まで止ってしまう。
>>320 クロックソースによって違う。
発振が安定するまで1024クロック捨てるとか。
とりあえずデータシートを読め。
その方が省電力だろ
>>323 周辺機能が止っても構わない用途なら、いいんだけどね・・・
周辺機能を動かす必要があるならSLEEPしとる場合じゃないだろ
pickit3速すぎワロス。 秋月ver4がゴミになった。
>>325 PIC16F1823のADCを使おうと思ったらAD変換中はSLEEPしなきゃいけないんだ。
pickit2じゃもう役不足なのか?
329 :
774ワット発電中さん :2012/07/12(木) 00:47:57.17 ID:gvAm5dWp
>>327 そんな面倒な型番の物をわざわざ使わなくとも
アナログ入力のピンって何故に、リセット時はアナログ入力に設定されてるんだろう? 疑問に思って調べてみた。 貫通電流 − 関連度90 ラッチアップ − 関連度70 メタステーブル − 関連度0
アナログ入力っていうかHi-Z
>327 そんなエラッタあったっけ? あるのはAD変換が自動で止まらないから、プログラムで86±2命令後(@32MHz Tad=Fosc/32)に BCF ADCON0, GO/DONEで変換を手動で止めろのはずだけど、このエラッタはAD変換完了割り込みも ダメになるからSLEEPすると復帰もできないような AD変換中はSLEEPしたほうがノイズが減って高精度になると聞いたことはあるけど
エラッタ回避策は、もう1つある。 メインのクロックではなく、SLEEP中のAD変換用のクロックを使ってAD変換すると止まる。
335 :
774ワット発電中さん :2012/07/12(木) 18:16:05.58 ID:HTKlhwb4
今、PIC16F785の内蔵クロックを用いてLEDを点灯・消灯させるプログラムを作成しています。 その際に、0xff―>0x00をループするようにプログラムしているのですが、目視では点灯しているだけです。 もちろん1秒待つサブルーチンも入れてはいるのですがどうも動作していないようです。 オシロで確認すると1msごとに瞬間的に消えて点灯の繰り返しになっています。自分には良く分かりません。 内蔵クロックを使用する際に何か設定しなればいけないのでしょうか? INITIALIZE BANK1 MOVLW B'01110100' ;INTRC 8MHz MOVWF OSCCON BANK1 MOVLW 0x08 MOVWF TRISA MOVLW B'00110000' MOVWF TRISB CLRF TRISC BANK0 CLRF PORTC 自分では初期化のことをよくわかっていないのでここが間違っていると思っています。 LEDを光らせる出力はPORTCを使用しています。 知恵をお貸しくださいよろしくお願いします。
>>331 ハードのよくわからないソフト屋目線で答えると
「先に何がつながってるかわからないからアナログ入力になってるのが一番安全」
ということなんだという程度で理解してる(^^;
>335 他の初期設定は大丈夫なのANSEL0とか
>334 おお、そんな方法が。 変換用のクロックにFRCを使えばいいのか、ならスリープしなくてもと思ったら >FRCオシレータが選択されている場合、ADCはスリープ モード時のみ動作します。 結局 変換中は何もできないのか
>>335 WDTで定期的にリセットされてるとか?
340 :
774ワット発電中さん :2012/07/12(木) 21:12:27.95 ID:MB/42Lmf
ありがとうございます。 >337 知り合いに相談した時にLED光らせるだけなら出来るだけ簡単にしたほうがいいよと言われたので消してました。やはり必要でしょうか? >339 __CONFIG _INTOSCIO & _PWRTE_ON & _WDTE_OFF & _CP_OFF & _FCMEN_OFF & _CPD_OFF & _BOREN_OFF & _MCLRE_OFF & _IESO_OFF 設定はこのようにしているのでWDTは動作してないと思います。
1秒待つサブルーチンにバグがあるんじゃないの?
342 :
774ワット発電中さん :2012/07/12(木) 22:03:15.93 ID:MB/42Lmf
>341 もはや自分ではどこが合っているか間違っているのか分からなくなったので部分的なプログラムをのせます。 GPR_1 EQU 0x2C GPR_2 EQU 0x2D GPR_3 EQU 0x2E GPR_4 EQU 0x2F T0_5mS EQU 0x40 T100mS EQU 0x41 T05S EQU 0x42 T10S EQU 0x43 ;============================================ ; メインルーチン ;============================================ MAIN BANK1 CLRF TRISC BANK0 CLRF PORTC LOOP MOVLW 0FFH MOVWF PORTC CALL T10S MOVLW 000H MOVWF PORTC CALL T10S GOTO LOOP END ;============================================= ;WAIT_xS ;============================================= T0_5mS MOVLW 0F9H MOVWF GPR_1 T05LP NOP DECFSZ GPR_1,F GOTO T05LP RETURN T100mS MOVLW 0C7H MOVWF GPR_2 T100LP CALL T05mS DECFSZ GPR_2,F GOTO T100LP RETURN T05S MOVLW 005H MOVWF GPR_3 T05LP CALL T100mS DECFSZ GPR_3,F GOTO T05LP RETURN
>>342 久しくPICでアセンブラ使ってないんで、的を外しているかもしれんが、
なんで
> T0_5mS EQU 0x40
> T100mS EQU 0x41
> T05S EQU 0x42
> T10S EQU 0x43
こんなことするの?
345 :
774ワット発電中さん :2012/07/12(木) 22:33:30.57 ID:MB/42Lmf
まず、T10Sが抜けているのは気にしないでください。実際のプログラムには書いてあります。 >343 最初は書かなくてビルドしたらnot symbol〜みたいのが出てきたのでレジスタ設定しました。 なんでエラーが出てくるかが分かりません。 >344 あっ、本当ですね。コピペしたり、何度も書き直したりしたので気づきませんでした。 ありがとうございます。明日修正して試してみます!
>>345 > なんでエラーが出てくるかが分かりません。
前方参照かな。
エラーメッセージは注意深く読み、きちんと理由を理解したほうがいい。
なんかよくわからんが、こうやるとエラーメッセージが消えるっていうのは、危険だよ。
まぁ外していたらゴメン。
347 :
774ワット発電中さん :2012/07/12(木) 23:36:40.26 ID:MB/42Lmf
>346 指摘ありがとうございます。出てきたエラーついてもしっかり理解したいと思います。
スタバなら座って立ち読み出来ますよ
351 :
774ワット発電中さん :2012/07/13(金) 15:26:17.00 ID:CqmmhMku
>347 点灯・消灯出来ました! MAINとプログラムの最後にENDを書いていました。このような凡ミスで自分でもびっくりしました。 知恵をお貸しくださった皆様には感謝いたします。今後もPICの勉強をしていくので質問に来るかと思います。 その際にはよろしくお願いします。
終わり
再稼動推進
20ピンPICが充実しないかな〜なんて・・・・ 7セグ3つ繋ぐと18ピンじゃ足りないなぁ〜なんて・・・
7セグ4つ使うと、5つ使うと・・・
>>354 >7セグ3つ繋ぐと18ピンじゃ足りないなぁ〜なんて・・・
ダイナミック点灯すりゃ 8+3=11 ピンで十分じゃん
デコーダー使えば4+3ピンで… でも今時は4ピン多いマイコンに変えたほうが安かったりしてな
汎用のデコーダよりも、安いPICマイコンをスレーブで繋いだほうが安いとか、 マイクロチップ社のアプリケーション・ノートに書かれていたような・・・。
単に保持するだけだから、シリパラ変換で十分なんだけどな 7セグ1個50円で、シリパラ30円くらいならそっちにする
CのプログラムをXC8でコンパイルしてRCDライタで書き込めるようにするにはどう開発環境を作るのがいいと思いますか?WindowsXPです。 いまはコマンドプロンプトでxc8 --chip=16F88 main.cって入れるとhex(のほかによく分からんファイルが沢山)吐き出されるのを突き止めたのでPICProg4Uで書き込んでます
>>360 質問の意図がよくわからない。
IDEの上でXC8を使いたいなら
Project -> Set Language Tool Location -> XC8 toolsuit
でコンパイラの場所を指定すりゃ幸せになれるかと。
ん、そういう話じゃないの?
たぶんIDEから、書き込み操作をしたいのでしょう。
364 :
774ワット発電中さん :2012/07/15(日) 03:39:37.69 ID:UgZQV2iZ
軽石☆ふぁくとりぃが見れないのですが、みなさんどうdrすか?
mpasmの質問。 マクロ内でラベルを定義してマクロ内で何度かループしたい。 マクロを2回以上呼んでるとアセンブルできない。 自分でインストラクションを数える、サブルーチン化する、という手段もあるが、 正統な解決方法は?
LOCAL
疑似命令に連番付けるような機能があればベターだけど、あるかな? 無難なところでは$-Xみたいな表現、 スタックの深さ、オーバーヘッドが大丈夫ならサブルーチンが無難で安全。
368 :
774ワット発電中さん :2012/07/15(日) 22:44:31.19 ID:98g4BOln
すいませんが質問です。 18f44k22を使い始めたのですが、内部オシレータを4倍して64MHzで動作させたいのですがconfigは↓のようにすればいいのでしょうか? コンパイラはHI-TECH のPICC18 LITEを使っています。 #pragma config IESO = ON, FOSC = INTIO67, PRICLKEN = OFF, PLLCFG = ON picを使うのは初めてでタイマーで確認するのもよくわかりません、よろしくお願いします
>>367 サンキュー。
とりあえずサブルーチンに逃げておいた。
$-Xはbankselの命令数やら、手に少し余る。
>>368 実デバイスを触れる環境なら、オシロのプローブを当ててみればいいでは?
又はダムループで遅くしてLEDかテスター。
不自由なデータシートからのオープンループだけで書くよりも、確実。
12F1822の32MHz動作で相当てこずった。データシートか実デバイスのどっちかが間違ってると思う。
>369 おいおいスルーされた>366さんの立場は WAIT MACRO TT LOCAL T1 MOVLW TT MOVWF TMP T1 DECFSZ TMP GOTO T1 ENDM こんな風に定義しておけば、マクロ外の通常ルーチンでT1が定義されてても平気だよ
そしてマクロ内でTMPを使ってることを忘れて・・・
>>371 ありがとう。
366を読んでlocalマクロについて調べたが、使い方が全くわからんかった。
371くらい親切に書いてくれれば馬鹿でも使えるんで、参考にして書き換えてくる。
call, returnの16クロックが節約できるのは貴重。
秋月16桁2行LCD表示器で教えてください。 うまく動きません。症状は、目的の桁位置より1つ右に表示されてしまいます。 main()で、 y=0; for(x=0; x<0x0f; x++){ LCD(x, y, 0x30+x); // 0からの数字を書いてみる 0.5sec待つ } } のように記述して、位置を順番に移動しながら文字を書きます。 void LCD(char x, char y, char moji){ adr = x; adr = ( y==1 )? 0x40 : 0x00; adr += 0x80; tx_LCD(0, adr); tx_LCD(chr, moji); } ロジアナで確認したところ、 RS=0, D7_4=8, E=↑↓ RS=0, D7_4=0, E=↑↓ RS=1, D7_4=3, E=↑↓ RS=1, D7_4=0, E=↑↓ RS=0, D7_4=8, E=↑↓ RS=0, D7_4=1, E=↑↓ RS=1, D7_4=3, E=↑↓ RS=1, D7_4=1, E=↑↓ RS=0, D7_4=8, E=↑↓ RS=0, D7_4=2, E=↑↓ RS=1, D7_4=3, E=↑↓ RS=1, D7_4=2, E=↑↓ という具合に進んでいきます。LCDへのデータは正しいと思っています。 ところが、実際には、文字位置(x,y)=(1,0)から右へ表示されていき、(0,0)から表示されません。 1) DD RAMセットだけなら、カーソル位置は変化しない(自動的に右に移動しない)ので、 2) 続けて文字を送信すればいいと思っています。 3) 2)の後、自動的に右に1桁進みますが、次回の1)であえて座標指定しているので、 (15,0)の次は、ちゃんと(0,0)から書いてくれるはずだと思っています。 みなさん、のような経験は無いでしょうか? 自動で右に1つ進む機能はいらないのですが、切る設定があれば教えてください。 右か左かの選択だけで、offにできなかったと考えています。
ロジアナの結果を見ると間違いなさそうだけど、とりあえず adr = ( y==1 )? 0x40 : 0x00; は adr += ( y==1 )? 0x40 : 0x00; の間違いではない? 自分は inst(0b10000000|(y*0x40+x)); みたいに書いたけど。 あと、カーソルを進まなくする方法は無い。
376 :
774ワット発電中さん :2012/07/16(月) 10:13:44.98 ID:w8eF/WlY
>>375 ありがとう。
1)〜3)の考え方は、合っていますでしょうか?
あの初期化は何してるのかよく判らないな
>377 秋月のオレンジのバックライトのLCDで、 座標位置指定コマンドだけ妙に遅かった覚えがある… 100us位かかってた。 3.3V駆動してたから気にしてなかったが、 もしかして俺も初期化しくってたのかw
そうかもしれない。初期化は面倒だよね。 今回で思ったのは、オリジナルのHD44780でみなさんが使っているところに、 後発メーカーが新規に食い込むには、44780と同じにする。 そのため、 「データシートなんて、適当に書いておけばいいんじゃない? どうせ読まないし」 ということになるんではなかろうか。 ただ、このST7066Uを使ったLCDAssyメーカー(さんライクみたいな)会社の データシートには、日立と同じ初期化例が書いてある。 それを「中身のコントローラのデータシートのほうが神だぜ」と、 注意して見なかった僕の責任。
「データシートには気を付けろ」か。あんまり楽しい結論じゃないねえ。
♪私だけはと 誰でも思うけれど
うまく動かないと、「二度と使わんぞ」と嫌いになってしまいそう。 でもうまく動くと「今度も使おうかな」となる。
文のテンプレートっていうのか、 「こーゆーときはこー書く」「こーゆー意味の言葉はかならずこの単語」 っていうフォーマットが無いんだろうな。 SPIを書いた人の癖が強すぎて生きていくのが辛い。
♪書いてるまま 初期化したら 駄目☆ 駄目☆
,-、 ,.-、 ./:::::\ /::::::ヽ /::::::::::::;ゝ--──-- 、._/::::::::::::::| /,.-‐''"´ \:::::::::::| / ヽ、::::| / ヽ| l l .| ● | んーとね・・ l , , , ● l ` 、 (_人__丿 、、、 / `ー 、__ / /`'''ー‐‐──‐‐‐┬'''""´ ,-、 ,.-、 ./:::::\ /::::::ヽ /::::::::::::;ゝ--──-- 、._/::::::::::::::| /,.-‐''"´ \:::::::::::| つ / ヽ、::::| っ / ノ ヽ| l ヽ l .| ● u | んーっとね・・・・・・・・・ l , , , ● l ` 、 u (_人__丿 、、、 / `ー 、__ / /`'''ー‐‐──‐‐‐┬'''""´
12F1822だとUARTとSPIの両立は不可能かー。 ピンの割り当てに少しの工夫があればいけるのに。惜しいというか足りないというか。 UARTのRXを諦めてSPI用のピンに回してみよう。
XC8コンパイラーが最近出たそうですがその対応デバイス表とかありますかね。 それともすべて対応なんですかね。
マニュアルにこんな記述が。 See Section 2.8.20 “--CHIPINFO: Display List of Supported Devices” for information on finding the full list of devices supported by the compiler. 要するにコマンドラインからxc8を --chipinfo の引数を付けて実行しろって事でしょ。 それと、3月の話が最近ってアンテナ低いぞ。
>>387 SPIはソフトでやればいいんじゃないの
逆でもいいけど
391 :
774ワット発電中さん :2012/07/17(火) 21:10:05.44 ID:+LZ00uCc
>>388 MPLAB Xをインストールすると
Program Files/Microchip/MPLABX/mplab_ide/mplab_ide/modules/docs/Device Support.htm
に有る
おいおいスルーされた>389さん(俺)の立場は
いいってことよ(他人)
いえいえ却って恐縮します。絡んでごめん。 PICと周辺ICの間のSPI通信がうまくいかない。 4つの極性はデータシートを見て慎重に合わせた。4線式3線式も確認済み。 BFビットとWCOLビットは多分適切に操作してる。 クロックとデータがそれっぽい周波数なのは確認できた。 でも読み出しがうまくいかない。 4ch 4MHzサンプリング程度のオシロかロジアナがあれば楽なのかなー。
あ。
周辺のICに電源端子を片方繋ぎ忘れてた。
全く、あわてんぼうさんだな。
>>390 サンキュー。内蔵機能でカタが付きそう。
・2MHzのSPI ・18cmのジャンパワイヤ ・ブレッドボード の条件で、SPI既定の逆エッジ読み込み(SSP1STATのSMP=0)だとビットがずれる。 同期回路っぽく正エッジで読んだらOK。SSP1STATのSMP=1、これね。
ソレはさすがに送り出し側が性エッジで出してるんだろう
そのエッジは、むっくり立ち上がるんだな
18cmならシュミットトリガ入力を検討してもいいかも。 ていうかPICのI/Oポートはシュミットトリガに設定できるポートが少ないぜ。 まぁ速度がいらないならアナログ入力にしてADしてソフトウェアでヒステリシス持たせればいいんだろうが。
>>399-400 いやらしいですわ。
いやらしいですわ。
>>401 本組みは4MHzのSPIの予定。ソフトでは追いつきそうもない。
配線長は1cm程度になるだろうから今よりも条件は良くなるはず。
しかし良くわからない。
SMP=0(ラッチタイミング読み)だとどんなにBRを遅くしても送受信できる極性が無い。
SMP=1(シフトタイミング読み)だとどんなにBRを速くしても(遅くしても)3つの極性で受信できる。謎。
>>348-350 立ち読みしてきた
誤植か原稿が間違ってるのか
受信機を送信機と書いたり
けっこうやっつけ仕事やってんだな
技術書だと思ってたが全然違った
PICでAD入力して値を表示しています。 別のPICでそのPICに与える信号を出力したいのですが PWMで出力した後に平滑をしないと当然LoかHiの値になってしまうと思いますが コンデンサとコイルの値を教えて頂きたいです。 パルスは10kHzでDutyは0%-100%、5Vです。
バルス!
コイルはいらないだろ。抵抗とコンデンサを適当につないどけ。
具体的な値を教えて欲しいです いろいろつけてオシロで見たらどうやっても脈動が出ていました 完全な平らな直流にしないとまずいですよね?
10bitA/Dなら1LSB=5mVだから、むやみにリップルを減らしても意味ない。
元がデジタルならデジタルのまま教えてやれよ
63%カットオフが1/f=2πRCだから104を先打ちして、150Ω〜220Ωくらい。 もっとリプルを減らすなら104に対して1kΩ〜1.5kΩくらい。 っていうか馬鹿やってないでさ。 アナログで伝送するなら、元のアナログ信号を分岐するべき。 デジタルで伝送する方が更に賢い。
fCOで計算したのより10倍くらいはきつくしないと、全然駄目だよ 全然カットオフしてねーじゃん、と緩いフィルターの現実を見ることになる どうしてもアナログで伝える必要があるなら、PWMよりラダー抵抗とかの方がいい
最近のPICには5bitDACが入ってたりするよね。
技術的な挑戦だったらともかく、実用を考えたらPWMもラダー抵抗もどんぐりだと思うよ。 オペアンプでバッファして分岐お勧め。秋月だとお勧めはNJU7044D、NJM2732D辺り。 * 秋月で売ってる Rail-to-Rail ** NJU7044D 4ch (2.2..5.5)[V] Iout40[mA] @150 @125q2 ** LMC6484AIN 4ch (3.0..15) [V] @200 ** OPA2353UA 2ch (2.7..5.5)[V] @300 Iout40[mA] ** AD8506#### 2ch (1.8..5.5)[V] @250 キット ** NJM2732D 2ch (1.8..6.0)[V] @100 ** AD8656ARMZ 2ch (2.7..5.5)[V] @200 msop-8 ** AD8616ARMZ 2ch (2.7..6.0)[V] @200 msop-8 ** AD8506ARMZ 2ch (1.8..5.5)[V] @200 msop-8 (キットあり) ** LMC6482AIN 2ch (3.0..15) [V] @150 ただし売り切れ
意欲的だと思うけどシリアルでデータ送ったほうが早いだろうなとしか思わん。
そもそも何が目的なのか・・・
417 :
404 :2012/07/18(水) 23:55:13.82 ID:XRsHIdPD
いろいろ教えてくれてありがとうございます。 現在は受信側は実験(動作の確認)でPICを使っていますが 実際に使いたいのはPICではないのでデジタルで読み取り側も対応させるということができません。 そのためPICで0V-5Vの電圧をつくりたいです。
信号はDCなのか オシロがあれば一発というか、 どっちにしろオシロが無いと不安で使ってられないような
>>417 それなら必要な分解能を持つDACを外付けしましょ
受信相手が何なのかわからないけど、受信側とそのオシロで、分解能がどれだけ違うのかという問題かと思う 本当にオシロで測定不能なレベルの脈動でなければいけないの?
wに16未満の数値が入ってるとして、 他に変数を使わずにasciiの'0'〜'9','A'〜'F'に変換する上手いコードは無いものだろうか、 と考えた。 10を引いてCフラグで分岐 sublw 10 btfss STATUS,C addlw 'A'-'0' addlw 10+'0' 又はbrwとretlwを使う(古いPICで使えないのと、callが余計に入るのが欠点) addlw 1 brw retlw '0' retlw '1' 〜 retlw 'F' もう少しスマートな方法プリーズ。
あれ、sublwって w=l-w なのかな? w=w-l かと思ってた。 少し修正が必要っぽい。
修正終了。 andlw 0x0f ;念のためマスク sublw 9 btfss STATUS,C addlw 10+'0'-'A' sublw 9+'0' 正味4命令か。マクロ・埋め込みならこっちが速くてコンパクト。 brw版も修正。addlw 1 は不要だった。 callとretlwを入れて正味?実質?6命令なので、サブルーチンならこっちが速い。 使い分けだな。
424 :
404 :2012/07/19(木) 13:14:06.70 ID:e0DtUp0N
コメントありがとうございます。 DACは使ったことがないのでぐぐってみて出来そうならためしてみたいです。 受信相手は出来るだけいろいろなものに対応させたいですが 受信側にある可変抵抗の設定値をPICで作り出したいという用途なので完全な直流を作り出すことができればいいです。 PICで表示する3桁の7セグで0%-100%を直線的に出力電圧と対応させたいです。 最後に出力したい電圧は0-5Vだったり0-20Vだったり(受信側の可変抵抗の両端にかかっている電圧)なのですが PIC以降(PICからはDuty0-100%のパルスを出力)はどんな構成だと電圧の変更などにも対応しやすいでしょうか? 出来れば抵抗などを変更しないで出力信号の電源電圧がそのまま0%-100%に分割されるようにしたいのですが そういうことは一般的な回路で実現可能でしょうか? よろしくお願いします。
>>424 市販されている、リモートコントロール可能な安定化電源を作りたいということでよろしいか?
難易度は高いと思う。
ところで、20Vを出力しようとしたら、ロジック電源とは別に20V以上の
電源が必要になるということはわかっているかしら?
>>425 >リモートコントロール可能な安定化電源というのが良く分からないのですが
安定化電源で例えるなら出力電圧設定の可変抵抗の部分を改造してPICで数値で設定したいという感じです。
出力したい電圧(20Vなど)はロジック電源とは別に要るというのは理解できてます。
その電圧は改造する安定化電源のVRの両端に来ている電圧を使うつもりです。
また最大電圧の時に19Vなどにならずにめいっぱいの20Vを出力できるようにしたいです。
えっ
なんか絶縁とかも必要なんじゃねーの? もしかして。
PICを始めようと思うのですが、やはりアセンブラよりC言語のほうが使い勝手が良いのでしょうか? プログラムも経験が無く、これから勉強していく次第であります
432 :
774ワット発電中さん :2012/07/19(木) 17:49:45.95 ID:ESRoVLq3
強くC ただし、アセンブラも並行
>>431 プログラム入門には、PICは避けたほうが良いと思う。
他の環境に比べ、変な決まりごとが多く躓く要素が多い気がする。
門前払いしてどうする
ホビー用途だったらCで事足りるがな
PIC32は普通のRISCだから安心というかCコンパイラ使うのが前提みたいな石だね
>>426 安定化電源の基準電圧の方をD/Aでコントロールする。
電圧検出の方は、D/Aの最大値になるように設定する。
入力電圧と出力電圧を同じにするのは、難しいだろうね。
入出力ともレールトゥウレールのOPアンプを使った、微少電流のものなら簡単だろう。
ただ、耐圧が20Vもなかったような気がします。
小出し後出し過ぎて何が目的でどんな課題でどんな材料と技術が用意できるのかさっぱりわからん。
>>431 アセンブラ厨は加齢臭漂うおっさんか、最適化ができない貧乏コンパイラユーザーだろw
趣味なら気楽なCが良いかと。
RCDライタが書き込み失敗して開発が進みません。 安く手に入り確実に使えるライタは何ですか?
黙ってpickit3。 と言いたいけどターゲットデバイスに対応してるか要確認。
>>438 ちょっと前に居た車のメーターをデジタルで読みたいですの人だと思う。
調べはしたけど結局理解に至らず人任せって感じ。
>>441 3900円か(´・ω・`)
作りたい物あんまり無いしこんな金かかる趣味もうやめようと思う。
1万円分も在庫した部品どうしよ・・・ほとんど抵抗なんだけど
アドバイスありがとうございます Cで始めてみたいと思います また、このスレで質問をする時があればよろしくお願いします
>>443 10万円分の7セグ買い込んで押入れで死蔵してる俺の前で何言ってんの?
446 :
774ワット発電中さん :2012/07/20(金) 00:35:34.44 ID:z6WU/2gV
>>443 学生さん?
いろいろなことをやって知識を得るのは重要よ
3900円なんか安い授業料だ
俺もマイコン使った電子工作覚えるまでは「別に作りたい物無いしなー」みたいに思ってた。 でもそれはマイコンで何ができるのかを知らなかっただけなのさ(キリッ
もし学生ならPICライタは自作したらいい。 ネットで作例とか調べたりせず、マイクロチップ社のデータシートとサンプルコードだけを見てハードもソフトも自前設計でさ。
タイマー関係の用語で「フリーラン」ってどういう意味?
450 :
774ワット発電中さん :2012/07/20(金) 04:54:45.46 ID:E3WOlBt1
フリーやん
>>445 俺なんか安いうちに買い溜めしちゃえと60万円以上の不良債権が・・・
使える部品なら不良債権じゃないっしょ。 スチコンとかPIC16F84とかならまだ回収見込みあるんでは NMOSのICはそろそろ不良債権かもね
>>445 7セグを無駄遣いした・・・カレンダーとか、Youtubeで上がってるよね。
けど配線で心折れるかもしれない。
>>445 まとまった数があるなら100個単位くらいでオクに出せばいいんじゃない?
性能良いやつだったら入札するよ
>>443 つか抵抗なんて決まった値だけ袋買いでいいだろ
ツールも昔に比べたら破格だと思うが
在庫なら十数万か数十万かあるな。 頻繁に使うものじゃないけど、時々無いと困るものばかりだから困る。 モノ一つ作るのにかなり金かかってるのは確かだ。
あー、単位はマンコじゃなくてマンエン
>>454 二束三文で落札する気だろ。失礼な奴だなぁ。
買った時の値段で良ければ売ってくださいお願いします、だろうが。
>>458 相場の4割引で売って下さい、お願いしまっす
460 :
774ワット発電中さん :2012/07/20(金) 10:01:18.31 ID:WeeuPhOZ
>>431 マイコン固有の命令セットを理解して、アセンブリ言語でプログラムを書き直していたのでは困難になります。
そこで登場するのが、C言語に代表される高級言語です。
フリーランではないタイマーは、カウントアップあるいはカウントダウンが特定の値になったら止まる。 フリーランのタイマーは、特定の値になったら別の特定の値にリセットされて動き続ける。インターバルタイマーともいうような。
16F690で下記の設定でシステムクロックとTIMER1の両方を2pinからの外部クロックで動作させようとしたんだが、 CPUは動くがTIMER1がカウントアップしない。EC_OSCを_INTOSCIOに変えてCPUを内部クロックにすればTIMER1は 外部クロックで動くし、TMRR1CS=0にしてTIMER1のクロックをFosc/4にしても動く。 データシートを読んで同時に使用できると判断したんだが、どうも2pinのクロック入力が排他使用になってるようだ。 データシートの理解が間違っているのか、チップの使い方が悪いのか、データシートが間違っているのか分かりますか。 __CONFIG _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_ON & _CP_ON & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _EC_OSC ; __CONFIG _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_ON & _CP_ON & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTOSCIO movlw 0x87 ;T1GINV=1,TMR1GE=0,T1CKPS=00,T1OSCEN=0,/T1SYNC=1,TMR1CS=1(外部クロック),TMR1ON=1 ; movlw 0x85 ;T1GINV=1,TMR1GE=0,T1CKPS=00,T1OSCEN=0,/T1SYNC=1,TMR1CS=0(Fosc/4),TMR1ON=1 banksel T1CON movwf T1CON
>>463 外部クロックで動作させるときには、タイマのクロックソースを
内部にしなけりゃいけないと思うんだが
>>464 RESどうもです。
データシートの記述でFOSC ModeがXXXになってるので、すべてのFOSCモード
で使えると解釈したんだけどこれがおかしいのかな。
同時に使えなくする理由も思いつかないんだけど。
Clock Souce T1OSCEN FOSC Mode TMR1CS
----------- -------- ---------- --------
T1CKI pin 0 0 XXX 1
それはあくまでTimer1内部のクロック選択がそういうロジックだってだけの話 データシートのFIGURE4-6を見ると、INTOSC Modeが1じゃないと RA5からTimer1にクロックが入って行かない
>>466 おお、これですっきりしました。どうもありがとうございます。
結果的にはFOSC Mode=10Xですね。
昔秋月で買ったDDSキットのXTALをOCXOに同期させるPLLの分周にTMER2、位相比較に
TIMER1でちょうど良かったんだけど、もう一つ16F690を追加して対処しました。
次は別のOCXOをGPSに同期させたものを作る予定なので、クロック入力が別のピンに
なっているPICを使います。
>>462 そういう解釈があるよね。俺も同じ解釈。
ネットで検索したら「セットリセットがかからないタイマ」って記述があった。で、混乱中。
>>454 実は7セグというのは嘘だ。
KA2311-42B-UR91
大きい16セグで15万円分くらい。単価はググればわかる。
受け取って箱も開けずに即、押入れの堆肥。
>>468 >大きい16セグで15万円分くらい。単価はググればわかる。
ぐぐったら一個50円で買ったとかいうブログ記事あったぞ
>>468 な、なるほど、デカくて直列並列入り乱れてるやつね。しかもアノードコモン……。
0.8inchのだったら使い道あるけど、これだけデカくて16segだと用途がなかなか……。
サイズのわりに単価死ぬほど安いけど、ン千個単位で買ったの?
単なる物欲的に20個くらいなら買ってもいいかもだけど
アノードあまり好きじゃなかったりw
>>468 とりあえず買いたくなる気持ち、わかるわー
あ、それ俺も持ってる aitendoで見かけて5〜6個買ったけど忘れてた
バックトゥザフューチャーのパネルは作るよな
PIC16F1823のADCのエラッタ回避なんだけど、 マイクロチップ社のサンプル通りに BSF ADCON0, GO (ここでN命令サイクル分ウェイト) BCF ADCON0, GO とするわけだが・・・ このウェイトが足りないと、AD変換結果の下位ビット側が全部0または1になるのは、確認できた。 逐次変換(だっけ?)方式だから、こうなるのは分かる。 問題は、ウェイトが多すぎたときに、AD変換結果がどう狂うのか。 AD変換結果のLSBが0や1に固定されることもなく、適当に0と1が混じってるように見える。 ウェイトが多すぎても構わないのなら、バックグラウンドでAD変換できるのだが・・・ みんなどうしてる?
12F1822使用中だけどADはもう諦めてる。無理に使わない。
どんなエラッタか知らないで書くけど いっそウェイト足りないままで、LSBをマスクして4/8/16回分とか平均化した方が 気分爽快な気がするけど
int型とlong型の変数をEEPROMへ読み書きする関数を書いたのですが、 書き込みはできるのですが、読み込みがなぜかできないです 下記に関数を書きましたので何がおかしいか教えて下さいよろしくいおねがいします。 void write2byte(int a,int b) { EEPROM_Write(a,hi(b)); delay_ms(20); EEPROM_Write(a+1,lo(b)); delay_ms(20); } void write4byte(int a,long b) { EEPROM_Write(a,highest(b)); delay_ms(20); EEPROM_Write(a+1,higher(b)); delay_ms(20); EEPROM_Write(a+2,hi(b)); delay_ms(20); EEPROM_Write(a+3,lo(b)); delay_ms(20); } void read2byte(int c,int d) { hi(d) = eeprom_read(d); lo(d) = eeprom_read(d+1); } void read4byte(int a,long b) { highest(b) = eeprom_read(a); higher(b) = eeprom_read(a+1); hi(b) = eeprom_read(a+2); lo(b) = eeprom_read(a+3); }
>>478 本当に書き込めているの???
hi とか lo の定義がおかしいのでは?
>>479 書き込みは問題なくできました。
最初に書き込み関数を書いてから、読み込みを下記の通常通りにして確認しました
hi(変数名) = eeprom_read(100);
lo(変数名) = eeprom_read(101);
hiとかloというのは、2バイト以上の変数を"built_in.h"でバイト単位に分割する場合に使用するものです
>void read2byte(int c,int d) >{ >hi(d) = eeprom_read(d); >lo(d) = eeprom_read(d+1); >} hi()/lo()の定義によるかもだけど、read2byteから戻るときに読んだ値(d)は消えちゃうと思う
間違えた 値はdに入らないね
>>478 >void read2byte(int c,int d)
>{
>hi(d) = eeprom_read(d);
>lo(d) = eeprom_read(d+1);
>}
>void read4byte(int a,long b)
>{
>highest(b) = eeprom_read(a);
>higher(b) = eeprom_read(a+1);
>hi(b) = eeprom_read(a+2);
>lo(b) = eeprom_read(a+3);
>}
お前C言語分かってんの?
void read2byte(int c,int d) void read4byte(int a,long b) bとdが値渡しになってるだけじゃないの
>>482 すみません
ここに書いた関数が間違っていたので
プログラムからコピーして下記に書き直します
これでもやはり読み込みのみできないです
void read2byte(int a,int b)
{
hi(b) = EEPROM_Read(a);
lo(b) = EEPROM_Read(a+1);
}
void read4byte(int a,long b)
{
highest(b) = EEPROM_Read(a);
higher(b) = EEPROM_Read(a+1);
hi(b) = EEPROM_Read(a+2);
lo(b) = EEPROM_Read(a+3);
}
どこが直ってるの?b,dのミススペルのことじゃないよ
>>485 >void read2byte(int a,int b)
>{
>hi(b) = EEPROM_Read(a);
>lo(b) = EEPROM_Read(a+1);
>}
>void read4byte(int a,long b)
>{
>highest(b) = EEPROM_Read(a);
>higher(b) = EEPROM_Read(a+1);
>hi(b) = EEPROM_Read(a+2);
>lo(b) = EEPROM_Read(a+3);
>}
ここで答聞くよりまともなCの本読んで勉強したほういいよ。
>>487 >>488 あ、そういえば
void read2byte(int a,int b);
void read4byte(int a,long b);
上の関数から呼び出し元へは『b』の値は渡せないですね^^;
書き込み関数は値を渡して関数側でEEPROMを書き込んでるから問題ないってことなんですね
とても恥ずかしいことしていますorz
どうもすみませんでした
このスレすごい。 ポインタ演算子もアドレス演算子も出さずに解決するとは。
491 :
478 :2012/07/21(土) 23:24:02.48 ID:6cVNnsZn
478の早とちり初心者です^^
下記のように初めてポインタというものを使用して
呼び出し元からは下記のようにしてみたところ上手く読み込みできました!
C言語とPICの勉強は4か月程度ですが、ポインタを覚えたらいろいろ幅が広がりそうです
PICにて、あーんなことやこーんなことをしてみたいと妄想しております!
>>479-
>>488 のレスにてヒントをを下さった方にお礼申し上げます!
ありがとうございました!
main()
{
read4byte(100,&変数名);
read4byte(200,&変数名);
.
.
.
}
void read2byte(int a,int *b)
{
hi(*b) = EEPROM_Read(a);
lo(*b) = EEPROM_Read(a+1);
}
void read4byte(int a,long *b)
{
highest(*b) = EEPROM_Read(a);
higher(*b) = EEPROM_Read(a+1);
hi(*b) = EEPROM_Read(a+2);
lo(*b) = EEPROM_Read(a+3);
}
普通に戻り値で返せばいいだけじゃん
動かない理由を胃に穴が開くほど考え込んで動いたときの快感がたまらないです
大体がくだらないミスなんだけどな、気づいた瞬間に穴が塞がる安堵感。
結局、コンパイラのバグだったりすることも
マイコン本体の不良を疑って実際不良だった試しなし
バグは自分の頭の中にある
.... /Microchip ./| /( ゚∀゚) / | |~ ̄ ̄ ̄ ̄ ̄| /. |/Z./Z./Z./Z_|/ || ||. ||. ||. || ↑の子のことですね、わかります。
500
40ページのデータシートのたった1行を見逃して動かない。 最近そんなんがあった。 自力で一週間いろいろ試して全敗するも、 動作実績のあるコードをネットで漁って3分で解決。
CCS本家でコンパイラ(PCM:マニュアル、CD-ROM付き、日本円で16000円くらい) を買った俺は時代遅れ?orz
ご愁傷様です
503です。 そもそも、「改訂版C言語によるPIC入門」を手始めに読んだのが 間違いだったかもしれない。 かくなるうえは、PICKit Debug Expressのデモボードだけ買って、 脱・入門者を目指すしかないな・・・
503です。 訂正: 「改訂版C言語によるPIC入門」 →「改訂版C言語によるPICプログラミング入門」 PICKit Debug Express →PICKit2 Debug Express
>>505 自分もそれ買いました
PICもC言語も電子回路も全くの初心者だったので、いきなり読んでも初心者には絶対に理解できないと思います
ってか、ある程度はPICとC言語を理解しとかないと無理だと思います
そもそも、ある程度理解している人間には必要無い本で無駄金を差し出すようなものです
なんということでしょう。。 だめじゃん。。
コンピューター関連の本には、ろくでもない糞本が多い。 キャッチーな書名だけで勝負するようなヒドイのがね。 なかには中身ほとんど一緒なのに、 その時々の最新のコンパイラのバージョン名を付ける そんな本もあるけどなー。 付録に旧バージョンと最新バージョンとの違いの概要のリスト付けただけで、 最新バージョンほげほげ対応とか帯つけるんだぜ。
趣味ならHI-TECH C、C18、C30、C32の各無料版で十分だと思う
金が無い時に約5年ぶりに浦島太郎でPICに復帰したのが逆によかった。
XC8、XC16はまだ味見してない。
つーかこれいい加減更新しろw
ttp://www.picfun.com/c01.html 「PIC コンパイラ」でググルとTopにこんなの出るから不幸な人々が増えるんだ
新しいXC8って無料なの?
505です。 確かに、最近、PIC関連の本はダメなのが多いと思う。 HI-TECH Cの存在は知っていましたが、文献が少なく、 あったとしても、今となっては旧仕様なのが多く、これまた難しい。 Webからの情報の方がはるかにマシ。 幸い、私は図書館で借りた本ばかりですからいいですが・・・。
513 :
774ワット発電中さん :2012/07/23(月) 08:02:34.99 ID:atPpAGQy
>>511 すべての言語、最適化をしないなら無料。使って見てから有料版にすればいい。
裏ワザを使えば半永久無料化できるが、面倒臭い。システムの復元ポイントを使え!
>>491 土曜日からレスが付いていないようだし、
それでいいならいいんだけど、きっとどこかで何かある。
結構恥ずかしい間違いしてるよ。
道楽程度だからポインタって使ったことないなぁ
>>512 最新版を書いてくれ
そういえば昔のPIC用Cコンパイラはポインタがまともに使えなかったのあったけど 最近の触ってみたら、ちゃんと使えるのな
>>516 ポインタ型のサイズは対象によって変わるんだよね。アセンブラリスト見て「おっ」て思った。
単にアドレスとしてポインタを使いたいだけなのに、 型による違いとかサポートしないといけないから、コードが無駄に複雑になるんだよな
アドレス+インデックス*型サイズってだけなのに、複雑かなあ?
521 :
491 :2012/07/23(月) 17:50:02.53 ID:38vGf0KS
>>514 ご指摘ありがとうございます。
ポインタについては、何分初めて使ってみたので正しい使用方法をまだ理解していません
例のコードで、どこがどうおかしいのか教えて頂けると助かります
どうしても2chで教えて欲しいならム板いったほうがいいよ
PICのCって言語って言うよりCっぽい記述ができるプリプロセッサの塊なん? 変数の管理とかはやってないよな、多分。
変数の管理って何?
long read4byte(int a) { union{ long l; char b[4]; }u; u.b[0] = EEPROM_Read(a); u.b[1] = EEPROM_Read(a+1); u.b[2] = EEPROM_Read(a+2); u.b[3] = EEPROM_Read(a+3); return u.l; } なんてのはどうだろう? やったこと無いけど。
>>525 hi()とかlo()がそれと同じ役割をやってるよ
>>510 LEDをチカチカぐらいなら、最適化も無くダラダラコードを吐いても関係ないのは、良く分かるw
>>503 CCS Cは一癖あるけど、時代遅れとか何言ってんだw
他のクソ高いコンパイラと比べても、なんら遜色ないけど。あえて言うなら、関数の戻り値にポインタが使えないことだろう。
>>521 ポインタとポインタ変数の違いを調べてみよう。
無料版のコンパイラだと、 ちょっとprintf使っただけで、 2kWのプログラムメモリが残り10%くらいになっちまう。
よく16F以下でCを使う気になるな。どんな風にコンパイルされるのか想像した だけで使う気にならない。
>>531 フリーのおまけコンパイラじゃないなら、へたれPGのアセンブラよりもはるかにマトモだよ。
>>531 ふつーコンパイルされた結果を1度くらいは自分の目でチェックするだろ。
そんなに悪くはない。
感心する最適化をしてる部分もあるんだけど、無駄も多いな 金を取る為にわざとやってるんだろうけど
アマチュアならメモリ容量の大きな型番を使えば、いいんですよ。 コンパイラの値段よりもチップの値段のほうが安いから。
C18は無料版でも十分な品質だけど、HI-TECHはひどいよね if文一行が、 btfsc goto goto goto goto … みたいに展開されててびっくりした
536が意味不明で困る。
>>535 ウケる。
最適化をやる意味がまったく分かっていない。
斬新なご意見だw
見てみたらいいって 本当にこんなんだから
>>538 スピードか? それなら、より高速なPICを使えばいい。
最適化には -O3 と -Os があるからね。 sdccを使ってる限り、有料がどうとか最適化効かないとかコードサイズ制限とかそんな心配いらないわ。 色々と捗るぞ。
草うぜーな。 ID:D1utwNtm ID:HIU5VQmr ID:VqyrKz2i
wレジスターですな
>>528 構造体返せないなら分かるが、ポインタを返せないってどういう事?
ポインタを返せないってことは、構造体も返せないのか?(要するに8bit値しか返せない?)
それとも戻り値にポインタが使えないけど構造体は使える変な仕様?
strcat とか strchr とか全滅かよw
>>531 よくCで16F以下を使う気になるな。どんな風にコンパイルされるのか想像した
だけで使う気にならない。
>>546 おいおいPIC32ならともかく、PIC16とかPIC18でstrcatなんて・・・
オクで趣味の範囲で車とかバイクの自作パーツ売ってるんだが、PIC18ではもう限界みたいだ PIC32とか使いたいんだけど、16や18とは全く別物というならいっそのこと違うマイコンに移行しようかな いろいろあるけどどのマイコンがいいのだろう・・・
550 :
774ワット発電中さん :2012/07/24(火) 14:30:22.87 ID:w/f1SW4u
価格ならAVR 性能ならH8
>>550 性能ならH8はでたらめ。実際は遅い。いずれにせよ、廃品種のCPU、候補から
真っ先に外すべき。
ルネサス的にはそろそろH8も何とかしたいようだしなあ。 製造の都合でSH2も滅びそうだし。 PICライクである必要があるのか、マイコンなら何でも良いのか、もっと使いやすいマイコンが欲しいのか、によっても違うし。
質問です。PICkit3のデモボード使っていてパソコンに繋いだはいいのですが、MPLAB IDEにはずっと「Connecting」の表示のままで30分待ってもそのままでした。デモボードを読み込ませるにはどうすればいいですか? ちなみにMPLABのバージョンはv8.50です。
554 :
774ワット発電中さん :2012/07/24(火) 17:19:34.94 ID:w/f1SW4u
ルネサスの唯一の黒字部門はマイコン部門だよ。 つまり、世界的競争力があることの証明。
555 :
774ワット発電中さん :2012/07/24(火) 18:32:42.29 ID:70wtJWyd
いま xc8_v1_01_windows.exeってのを downloadしてきました asmは色々やってきました pickit3で書き込むことは出来ます しかし、初めての Cで、どうとっかかれば良いのか??です 18F14K50用の LEDチカチカソースをどなたかお願いします 18F25K80でも良いです
>ソースをどなたかお願いします ソースの何をお願いしているの? Cのソースを書いてくれってこと?
だろうねー ググれば入門サイトはいろいろあるにね
558 :
555 :2012/07/24(火) 18:55:59.33 ID:70wtJWyd
ごめん見つかりました PIC 18F14K50 LEDチカチカ で探したらあった
>>545 戻り値にポインタが使えない仕様w
代わりに配列を使う。
組み込み関数はちゃんとポインタで返すから、誤解ないようにw
560 :
774ワット発電中さん :2012/07/24(火) 21:05:00.12 ID:LdYy2N2I
16シリーズで40pinある奴買いたいんだけど 割り込みポートは1個しかないの? RB0/INTって奴か 後RA RB RC RDは どれが入力で出力?
>>560 まずデータシートを読んでくれ
話はそれからだ
>>559 良く判らんけどありがとう
CCSCの怠慢だと思うよ
時代遅れと言われても仕方がないかも
332 名前:名無しさんの野望[] 投稿日:2012/07/24(火) 19:46:11.70 ID:0qClN0gC pickit3さしたままminecraft立ち上げるとタイトルロゴ表示で落ちてしまうことを知った 誰の役に立つかわからんけど一応書いておく だってさ!
大丈夫だ、スペック不足で問題ない
565 :
774ワット発電中さん :2012/07/25(水) 00:15:30.66 ID:EXmPq7xT
>>563 俺も俺も
18F14K50
TRISで OUTPUTにしても ON OFF出来ない、何でだ- 2日ぐらい戦った
初期設定が ANSEL ONでした
ANSEL OFFにしたら OUTPUTしました・・・
やっとpickit2買った
>>566 おめでたう!
それでは次にPICKIT3を買うための貯金を始めるんだ!!
>>567 うん、そうする
限定モデルやプレミアムモデルが出ないことを祈る
pickit2だとF1シリーズ書けなくない? がんばって次にいけー
書けないことはないでしょ
MIKROPROGとKIKROBOOTLOADER併用している俺が最強だよな
MIKROBOOTLOADERだった
小さいパッケージ欲しい。 クレカ無しで12F1822のDFNパッケージ買えるとこないかな。 秋月マルツとDIPしか売ってない。
Digi-Key microchip-DIRECT
RSオンラインもあったか
さて、アセンブラも勉強するか・・・
RSオンラインって、 僕の周りではみんな「RS」と言うけど、オンラインまでつけてるの?
通じるかどうかの問題じゃね?
激しくどうでも良いし
RSコンポーネンツのインターネット通販サイトがRSオンラインという認識でいたけど
文章切ったのか、続きを書こうとしたのか、ちと気になった。
それが・・・彼の、最後のレスだった。(声:森本レオ)
子供のころは、水軍のパイロットになりたかった。(声:森本レオ)
子供のころは電車の運転手になりたかった。 大学で就職活動をする段になって鉄道会社には入社できないことを成績が教えてくれた。 大学の1つ上の先輩でJRに就職した人がいたが、 大卒入社で運転手になることは可能だが、そういうキャリアプランは非常識なのだとか。 運転手になりたければ学校の勉強を真面目にやって普通の四大に進学しちゃいけなかったんだ。 ソッチ系の専門学校に行くべきだったんだ。
でも今は現業でも大卒はゴロゴロ居るぞ
いいなぁ。
RSポンコーネンツ
所詮学歴もカネ次第だしな。 ビンボー人は一刻も早く就職を考えざるを得ない。 そんな切り詰めた生活の中でもバイトしながらなんとか専門学校には行ったが。
>digi-key >microchip direct >rs ありがとう。 パラメトリック検索が世界最強のdigi-keyを使うかな。 rsは爪の垢を煎じて飲んでほしい。
何年も前から、ここでRSの使いにくさを嘆いているけど、 一向に改善されない。 こんなところで吠えてもダメか。 RSの関係者見てないか?
rsだとコンデンサひとつ検索できないからね。 容量・耐圧で絞って、パッケージはこれとこれと・・・とか。 digi-keyなら何の苦労も無い。 単価でソートがかけられないのが玉に瑕。確信犯だろうけど。
592 :
774ワット発電中さん :2012/07/28(土) 03:35:08.82 ID:PXuKhZY2
>>591 digikeyは単価でソートできるよ。
確信犯の言葉の使い方が間違ってるよ。
確信犯 = 正しいと信じて疑わない状況で行う犯罪。
犯人は、世直しのためなど、正しいと信じている。
意味が通じてるならいいじゃないか
digikeyで単価ソート出来ないってあんなわかりやすい場所にボタンあるのにw 個数指定での単価ソートも出来てすばらしい。
4年前には実装されてなかった気がする。要望に押されて実装したのだろうか。
>>593 意味が通じれば、何でもいいのか?
結果オーライでは、世の中が崩壊するぞ。
597 :
774ワット発電中さん :2012/07/28(土) 12:40:02.37 ID:u/P6WR6o
>>591 digikeyって部品屋、最近見付けちゃいました!!!おっしゃあああ!!!の方ですか?
朝鮮人が沢山いますね
>>598 どのように違っていますか?
教えてもらえないでしょうか?
602 :
774ワット発電中さん :2012/07/28(土) 17:50:58.67 ID:nsn2B+jP
PIC16F785でLチカカンリョウ!
よかったねっw
エッチチカンカンチョウ
言語は時代とともに変化すると何度言えば…
かわいい女の子とLチカしたいハァハァ
>>597 んー、違う。7年位前から。
高性能なFETとその販路を探してて辿りついた。
DFNが今日明日に納品されるとも思えないから、とりあえずpicはDIPで、
ADXL345はLGAで空中配線しておこうと思う。
すいません、 PICでがんばって扇風機をやっとのことで作れるようになったんですが、 今度はこれにUSBのハブを付け足そうと思ってググってたんですけど まったくもってどうやって作ったらいいのか載ってるページがないんです どなたかどうやって作ればいいか教えていただけませんか?
既製品のUSBハブをバラして組込んだほうが早いよ
ハブ付けてなにするの?
扇風機を刺します。
もうちょっと頑張ってエアコン作れ
>>610 扇風機で涼しい風を送るHUBとかイケメンじゃないですか!
614 :
774ワット発電中さん :2012/07/29(日) 10:29:20.26 ID:VTqFKjtm
>>610 PCから風量コントロール出来るようにするんでしょ、当然
615 :
774ワット発電中さん :2012/07/29(日) 15:40:09.70 ID:ALMu0srS
dsPIC初めて使ってみたんですが、イマイチわかりません 18Fシリーズの場合、ポートを出力で使用する場合はLATA、LATBと記述しますよね? dsPICも同じ記述で問題ありませんか?それともPORTAとかPORTBですか?
>>615 LATA,LATBでOK
やってみて出来なかったの?
617 :
774ワット発電中さん :2012/07/29(日) 16:56:35.46 ID:ALMu0srS
>>616 PORTAとLATAと、どっちも動作するので疑問に思ってました
一体、どちらが正しいのかと・・・
ググるとサンプルプログラムが沢山出るのですが、PORTA、LATAとバラバラだったもんで
連続でbit操作したり自身との演算結果(incfとかも)を出力するときは必ずLATx使え。
619 :
774ワット発電中さん :2012/07/29(日) 17:27:52.62 ID:ALMu0srS
殆どの場合はどっちでも動くし、だからこそLATなんか存在しない期間がずっとあったのだけれど、 折角あるのに使わないと設計者が泣くので使うように
621 :
774ワット発電中さん :2012/07/30(月) 12:48:17.07 ID:A/0X1KM2
入力時 PORTx 出力時 LATx で変身使ってる ちなみに 入力時の LATx は 1bit の RAM として使える
622 :
774ワット発電中さん :2012/07/30(月) 12:50:08.73 ID:A/0X1KM2
訂正 文中の「変身」は抹消して下さい。iPad の訂正誤変換
dsPIC使うならPIC32だよね 単価も安いしdsPICの知識遺産もほぼそのままだし
薄くて8ピンぐらいでi2c付いてて、入手しやすいPICの定番はありますか?
秋月に売ってなければ無い
知識ない奴は黙ってろよ 薄くて、というのがよく判らんけど、PIC12F1822なんかどう
薄いと BGA だから半田付けメンドイぞ
PIC10F322でI2Cやってる人いるよ
>>628 BGAで8ピンなんてあるのか?
SOPの8ピンなら十分薄いと思うが?
BGA じゃなくて DFN だった・・・ パッケージ削るという手もあるけど。 8pin I2C って時点で 12F の 1822 か 1840 しかないね。
PIC32ってPIC24FみたくフリーのCコンパイラあるの?
逆に、個人が1個から買えるマイコンで無料バージョンの Cコンパイラ用意されてないのって今時あるのかな…? 次スレのテンプレはCコンパイラも追加したほうがいいかもね
>634 attiny11あたりは無かったような。 メモリ少なすぎでコンパイラの余地ないとかで。
>>635 C32しかないのか
ググったらgccがあるって書いてあったけど
pic24fのC30の関数が使いにくいからなあ
>>637 あれ?C32==gccだと思ってたわ。
>>570 569だけどデバイスファイルアップデートしたらkit2で書けました。
いつのまにやら、MPLAB IDEはレガシー表記になってたのね。 そろそろMPLAB Xに移行時期かな?
>>625 おいおい秋月はPIC氷山の一角しか売ってないぜ。
それを言うなら、 おいおい秋月で売っているPICは、氷山の一角だぜ。
PIC30パチってきたはwwwwwwwwwwwwwwwwwwwwwwww
警察通報したはwwwwwwww
秋月で買える=定番という認識はそんなに間違っているとも思えない
今は地元のパーツ屋が全然無いからなぁ・・・
田舎だから地元のパーツ屋倒産した
逆に言うとあのパーツ屋がなぜ成り立っていたのかがいまだに謎
650 :
774ワット発電中さん :2012/08/01(水) 22:16:16.87 ID:hBQCe1WQ
送料500円だから相当近場でないと交通費のほうが高いからね。 しかも、行ってもない可能性がある。
実家近くにあるK県内唯一の電子パーツ屋行ったら 「PIC?H8?何だそれ?」言われた
>>651 a県の なぜか 普通科高校の向かいにあるパーツ屋は『マイコン?知らん』とおっしゃいました。
…マジでディスクリード部品しか売ってねえ。
>>652 ディスク に リードですか
橙色のセラミックコンデンサかな?
質問です。18F2550の仕様書を読んでいたら、 次のことが書いてありました。 When an interrupt is responded to, the global interrupt enable bit is cleared to disable further interrupts 割り込みに応答している場合、グローバル割り込み許可ビットは、 さらに割り込みを無効にするためにクリアされます。 c18コンパイラでいままでプログラムしてましたが、 割り込み時にGIEを1に戻した記憶がいままでありません。 これはコンパイラの方で暗黙でやってくれていたのでしょうか。
GIEは立てっぱなしだけどIEで割り込み制限は立ててるけど。 そうしないと処理終わる前に次の割り込み入っちゃうでしょ。
>>655 The “return from interrupt” instruction, RETFIE, exits
the interrupt routine and sets the GIE bit (GIEH or GIEL
if priority levels are used) which re-enables interrupts.
656の回答はイミフだが657の回答でイナフ。
答になってないじゃん
657は限りなく明示に近い暗示。美しいと思うよ。 656はいろいろ間違ってて痛々しい。 今DS41413Cのpage330見てたらRETFIEの欄にあからさまなバグ見つけた。これだからmicrochipは。
いろいろ間違ってて痛々しいところ全部教えて
あー、昔18Fで書いたソース見たら明示的にGIE=0にしてから処理書いてるな。 で16FではGIEはそのままで割り込み対象だけ切ってる。 何か意図してのことか全然思い出せん。
そもそも割り込みのネストって出来るの? ハードウェアスタックで割り込み用は1レベルしかない、だったような・・・。
秋月で買ったPIC32MX220F032BなんですがPICKIT3でデバイスが選択できません どうやって書き込めばいいですか? コンパイラはmikorCのフリー版でビルドしたLチカプログラムのHEXを読み込んでも違うデバイスが勝手に選択されて失敗してしまいます
>661 ・質問の意図がわかっていない。”割り込み処理終了時のGIEセットはコンパイラがやってくれてるの?”が質問 ・GIEは割り込み中はクリアされている。 ・各割り込み許可用のxxxIEを割り込み処理内で普通セットしたりクリアしたりしない、他要因の多重割込を許可でもする気? ・自分が詳しいと思っていること で >そうしないと処理終わる前に次の割り込み入っちゃうでしょ。 間違ったことをドヤ顔で書いてしまうところが痛々しい。 まあこんな事 イチイチ書いてるる私も痛々しいがw
667 :
774ワット発電中さん :2012/08/02(木) 19:44:25.92 ID:CWlCRgA0
PIC(16F785)からシフトレジスタ(TC74HC164)を経由してLEDを点灯させたいと思っています。 直接PICからLEDを右シフトで点灯させることはできました。 ○●●●●●●●→●○●●●●●●…●●●●●●●○(○:点灯、●:消灯) しかし、このままではどこかのポートをシフトレジスタの入力に繋いでもシフトしてきたときにQA〜QHまで全部が当たり前ですが、一斉に点灯してしまいます。 これをPORT0〜6はPICから直接LEDに、PORT7をシフトレジスタに繋げて、15個のLEDを一つ一つ制御したいと思っています。 その際に、どのようなプログラムを組めば良いでしょうか?
>>667 PICと164をどう繋いでどんなプログラムで動かしたか出せば答えやすいよ
ここにプログラム貼るなよ。
素直にラッチのついたシフトレジスタを使えばよいのでは? まあ、LEDを点灯させるだけなら高速に移動させてごまかしても良いけど
LEDのコモン側にMOSFET付けてシフト中はMOSFETをOFFしてLEDが点灯しないようにしたな俺の場合 一瞬全LEDが消灯するけど一瞬だからダイナミック点灯の原理と同じで消えたようには見えない
672 :
質問者 :2012/08/02(木) 21:37:01.35 ID:DgoMClo4
>>657 これが知りたいことでした。
単なる見落としでした。すみません・・。
MPLABX v1.30で Tools -> Options -> Embedded の Make Command:の欄が C:\gnuBins\GnuWin32\bin\make.exe と赤字で表示されて、修正ができません。 これは間違いだと思うので、 C:\Program Files\Microchip\MPLABX\gnuBins\GnuWin32\bin\make.exe に変更したいのですが、 どうすればいいかお教えいただけないでしょうか。 (MPLAB IDE8 & MLPABC18 -> MPLAB X & XC8 への移行で苦戦してます。)
674 :
774ワット発電中さん :2012/08/03(金) 01:55:59.84 ID:u0pxzr5f
>>668 プログラムは出力のPORTCのビット7のみを点灯させ、0.5秒待った後ビット6のみを点灯
0.5秒待った後ビット5のみを点灯…と光る場所を右にシフトさせ最下位まできたらまた
最上位に戻って(ループ)というようにしています。
接続は出力(PORTC)の8本のうち7本は抵抗とLEDをそれぞれつないで、残りの1本はシフト
レジスタの入力のAに接続しました。そしてQA〜QHには同様に抵抗とLEDをそれぞれ繋いでいます。
ただ、作ったプログラムではシフトレジスタについて何も考慮してないものなのでうまく
いかないことはわかっていたのですが何をどうすればよいのか分かりません。
知恵をお貸しください。
675 :
AAA :2012/08/03(金) 15:08:30.03 ID:ljfz5oqF
PIC・電子回路初心者はここで 質問してええんか??
どっちかってと、初心者スレだろうなあ。 PICにべったりな内容ならまあどっちでも。
>>674 >シフトレジスタについて何も考慮してないものなのでうまくいかないことはわかっていたのですが
>何をどうすればよいのか分かりません。
答え書いてるね。
シフトレジスタについて考慮すればいい。
まずはHC164のデータシートを読む。
「安価なPIC書き込み環境」を探しています 検索してきます(^^♪
LVPでよければPCのパラレルポートに抵抗を介して繋ぐだけ。 ライタのソフトは自分で作ればプライスレス。
680 :
774ワット発電中さん :2012/08/03(金) 18:10:11.46 ID:8wfWqdWZ
>>677 そうですよね、とりあえず読んでまた来ます。
681 :
774ワット発電中さん :2012/08/03(金) 18:59:09.22 ID:8wfWqdWZ
データシート読んで、プログラムを変更しないといけないのだろうとは思いました。 しかし、QAから一つずつ順に点灯させるにはどうすればよいかわかりません。 PORTCのbit7を入力のAにつなぐことを考えるとQAからQHそれぞれを制御するように プログラムを設定するということで合っているんでしょうか? でもそれだとbit7の0,1のみでQA〜QHの8個を制御することになるのでは? それはできませんよね…シフトレジスタを使用する際に何か特殊な命令でもするのでしょうか? なにやら?ばかりですいません。
74HC74を数珠繋ぎにして終わりのQと始まりのDをつないで、 リセット回路で、どこかをOFFにすれば1ビットでシフトできませんかね? だめだ、ヒキの俺にはこんなことしか考えつきません。
そもそも164使ってる人間に74使わせんなw それと、リセット回路にリセット信号を送るのはどこなんだよw 結局PIC外の回路が増えるだけでI/O1本減るかどうかなら、無理せず164で行けとw
安いPICマイコンをI2CスレーブのI/Oエキスパンダ化して使った方が簡単だと思う
>>666 >各割り込み許可用のxxxIEを割り込み処理内で普通セットしたりクリアしたりしない
いや、するでしょ
687 :
774ワット発電中さん :2012/08/03(金) 23:53:28.67 ID:u0pxzr5f
>>682 あぁ、根本から違ってたわけですね…。
URLありがとうございます。
これはシンクでやってますけどソースでも大丈夫ですよね?
もしLEDをもっと増やす場合に、シフトレジスタを2個使用するとして
出力をPORTCの8本しか使わないとした場合
@それぞれのAにポートを割り当てて、CLRは共通(LED数は5+8+8?)
A片方にポート割り当て、QHを他方のAにつなぐ、CLRは共通(LED数は6+7+8?)
Aがポートの節約になるのはわかりますがLEDを多くつけようとする場合
には同じように感じます。
@とAでは何か違いがあるのでしょうか?
>>689 あ、それ、試しにブレボ上でPICと繋いで、7セグをドライブしてみたよ
中身はただのロジック回路なので、使いやすかった
ブレボって何? ブリティッシユレボリューションか何かの略?
それとも
>>690 にしか通じない、勝手な造語かな。
あれ?ブレッドボードのことブレボっていわない?w おれだけだったらすまんw
ブレッドボードのことだろ。ふつう察しがつく
うむ。言わないけど察しはつく。
>>692 分かっててナングセ付けるジジイはタ匕ね
>>692 >あれ?ブレッドボードのことブレボっていわない?w
聞いたことない。
>>693 察しがつくかもしれないが、つかない人もいるかもしれない言葉は使わないほうが無難。
余談だけど、英語圏だとソルダーレスブレッドボードと全部言わないと通じないらしい。
>>695 略語使うと必ず湧くスレ名物なんだからキニシルナwww
699 :
774ワット発電中さん :2012/08/04(土) 12:00:34.67 ID:Ef7JiP7i
>>674 ローテイトは右シフトと左シフトのORで作り出せる。
>単に"ブレッドボード"と言った場合、「試作用基板」という意味になり、広義にはユニバーサル基板なども含むことになる。 >日本のアマチュア工作の世界では"ソルダーレス"と付けない人が多いが英語圏には通用しない。 とウィキペディアにあるな。
順次点灯だったらトランジスタでもつないでダイナミック点灯もどきでもやればいいのに ブレッドボードはパン板だからな。まないたみたいなもんでしょ、向こうでは…
>>700 どっかの質問サイトで同じこと指摘したらそのリンク先貼られた。
「脚注」が追加されて無い頃の話だ…。
こまかいなぁ
>>703 こまかいんじゃなくて、情報は正確に伝えるというのが基本だから言ってる。
なんでもOK、変な省略OK、ローカルな仲間内でしか通じない言葉Ok
なんて言っていたら、正しいコミュニケーションできない。
10人に伝えたら、10人に正しく伝わるのが、コミュニケーションの基本。
「伝わるからいいじゃん」という考え方は、
今回はたまたま伝わったからよいものの、次回必ず伝わるとは限らない。
そういうのがダメなんだ。
結果オーライは、言い逃れです。
融通が効かないとか言われないといいね!
なんかごめんほんとに(´・ω・`)
ブレボごときでこんなにレス来るなんてどんだけ話題が無いんだよ・・・
PICとか全角で書き込むと反応するやつもいるよ
PICのアナログ回路の性能がイマイチな件について オペアンプとかコンパレータもPIC内蔵で行こうかと思ったんだけど、 オフセットがデカくて、電流検出をGND側でやるのには使えないんだ。
質問です、ご存知の方いたら教えて下さい。
PICの中にはコンパレータ入力用の参照電圧モジュールがあって、
Vref+とVref-に入力した電圧を32分割(24分割)したうちの
16段階を比較元として使えるようになっていますが、
このVrefに、例えば3.0Vと2.0Vを与えたい場合、
ツェナーダイオードなどで定電圧化した3.0Vと2.0Vでないとダメですか?
それとも抵抗2本で分圧しただけで作りだした3.0Vと2.0Vで良いですか?
http://ww1.microchip.com/downloads/jp/DeviceDoc/jp020587.pdf この Figure23-1 です。多分前者だと思っていますがどうなんでしょう。
>>708 PIC・・・ あれなんで? 特別なブラウザつこうてんの?
>>710 TABLE 28-3: VOLTAGE REFERENCE SPECIFICATIONS
にあるように32個直列の各Rの抵抗値は約2kΩだから
32個直列で64kΩということになる
抵抗で分圧した電圧を直接Vref+-として与える場合分圧抵抗の抵抗値が64kΩに対して
十分小さい必要がある
分圧抵抗の抵抗値を高くしてLM358等のオペアンプでバッファリングするのも手だろう
ツェナーダイオードなどで定電圧化する場合ツェナーダイオードに直列にする抵抗は
64kΩよりもずっと小さいだろうから問題ないだろう
PICのアナログ回りってさ、内部にボルテージ・フォロワを持っていてくれ、って思うことがあるよね。 入力インピーダンスが微妙に低くて、ちょっと気を遣う。
>>710 俺もよくわかんないんだがP404のΔVREFは大丈夫?
電位差が足りない気がする
715 :
774ワット発電中さん :2012/08/05(日) 02:25:25.81 ID:/xK/3ELd
>>689 そのようなものもあるのですね。情報ありがとうございます。
たくさんの情報の提供、分かりやすい回答有り難く思っております。
身勝手ではありますが、今回は164を使って挑戦したいという思いがあります。
そのため687にある質問にお答えしていただけないでしょうか?
本当に身勝手ですがよろしくお願い致します。
Aは6+8+8になる
717 :
774ワット発電中さん :2012/08/05(日) 12:48:54.24 ID:/xK/3ELd
>>716 それはQHにLEDをつけてなおもう一つのシフトレジスタのAにつないでも
動作すると理解していいのでしょうか?
素人の僕が思うには、シフトレジスタなんて外付け部品は使わずに40ピンとか100ピンとかのPIC使ってやったほうが簡単だと思います 単価も変わらないですし・・・
非同期システムも面白いよ?
>>718 シフトレジスタを使うメリットを考えてみると・・・
配線・・・PICからLEDまでパラレルな配線をするより、LEDの隣に置いたシフトレジスタにシリアルな配線したほうが楽
電源・・・PICのソース・シンク能力には限りがあるので、シフトレジスタにLEDを駆動させたほうがラクチン。
18FでTFTカラー液晶を制御していたんだけど、dsPIC33でやったら体感的に10倍以上?早くなった ホビーユースを超えちゃってますw(自分の中ではw)
PIC16F1823使ってるんだが、プログラムメモリ2kワードじゃ足りん。 コンパイル結果を見ながらデカい部分を削ったり色々やるのがアホらしい。 いっそPIC32MX120いっとくか。
どうせCPUコアごと変わるならこの際Cortex系にでも移ったら?
>>722 PIC18F27J53はプログラムメモリ64Kワードだよ
725 :
774ワット発電中さん :2012/08/06(月) 20:18:15.01 ID:m+ZY4AT+
>>722 >2kワード
90円ならしょうがないよ。
普通は500円ぐらいのを買う。
差の410円は簡単に元が取れる。
726 :
774ワット発電中さん :2012/08/06(月) 20:37:23.89 ID:VhPEEpGJ
>722 プログラム領域大きいの必要なのに、なぜそんな低価格&低容量のを選ぶかな この辺り見て >56-60 (一応これが最新版) 別なのを選択してみては?
728 :
774ワット発電中さん :2012/08/06(月) 20:50:46.99 ID:5sKEAC3w
test
PIC32MX1xxシリーズのTQFP使ってみたんだが最高速で動かすとほんのりと温かくてワロタ もしかして本格的に使うならヒートシンクっているの?
730 :
722 :2012/08/06(月) 22:49:24.35 ID:M9UANfWc
大した処理やらないのでPIC16F1823で十分だと思ったのよ。 かつてアセンブラで書いてた頃はPIC16F84の1kワードが余りまくってたし。 Cで書くとブクブクに膨れ上がるのは覚悟してたが、予想以上だったよ。 Cコンパイラの出力をチェックすると、ボトルネックは8bitという点にあるようで、 16Fから18Fにしても解決せず、24FやdsPICを飛ばして32MXに行こうかな、と。 とはいえ、ピン数が増えるのは鬱陶しいんだよねー。14ピンで十分なのに。
731 :
774ワット発電中さん :2012/08/06(月) 22:52:37.02 ID:m+ZY4AT+
足が多くても、そのうち14本だけ使えばいいんじゃね。
ニッパーという便利な道具も売っている
>>729 30fシリーズなんか「放熱対策が必要」って入門書に書いてあるぞw
とりあえず、データシートの消費電力について書かれたところ読んだら?
>730 14ピンにこだわるなら秋月じゃ買えないけど 単にメモリ多めの PIC16F1825 8Kw 16bitのPIC24F08KL200 8KB(命令長24bitなので2.67Kw、少なめだけど命令体系良くなってるので大丈夫かと) 18ピンまで許容出来るなら秋月でも売ってるこれとか dsPIC30F3012 \400 8kw/2KB/1KB ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
プログラムメモリサイズを表現するとき8Kw みたいにw付けてサイズの小ささを嘲笑するのはやめるべき
>>735 …釣り…だよな?
Kwのwはワードの略で、PICはハーバードアーキテクチャで命令語が中途半端なビット数だから、
プログラムメモリの一命令分の大きさをワードで表してるだけだからな。
>735 (笑)じゃないからなw PICはバイト単位にきちんと収まらないのが多いから、ワード表示が良いと思うよ Baseline[10/12/16] 命令長12bit MidRange[10/12/16] 命令長14bit PIC18 命令長16bit PIC24/dsPIC 命令長24bit PIC32 命令長32bit
近所の部品屋に置いてある16F1827が新しいリビジョンに変わってて 今までのHEXを焼いたらUARTがウンともスンとも言わなくなって困った・・・・ これは・・・・エラッタですか・・・・?
>>731 開発中は、同じシリーズの、よりピン数やメモリ量の多いものに、変換基板かませておくのが良さそうね。
メモリが足りなかったときのために、PIC16F1827も用意していたんだけど、
ADCエラッタの件もあるし、最初から1827で作れば良かったかも・・・。
この16F18xxシリーズ、
ピン数の増減だけでなくピンアサインが違ってたり、内蔵機能が少しずつ違ったり、
データシートが別になっていたりで、置き換えに気を遣う・・・。
>>734 ありがとう。
PIC16F1825を秋月で扱ってくれてたらいいのにねぇ。
値段が高くても、開発中にはメモリが多いのは便利だと思う。
740 :
774ワット発電中さん :2012/08/06(月) 23:57:33.22 ID:c55BtHzI
>>735 メモリが8kW・・・・熱そうだな
てかてか
データシートから消費電力とMIPS辺りの消費電力出してみた、電圧上限側と下限側(あるものだけ)
[PIC10F222] 【4mW ,2mW/MIPS】0.8mA@5V,2MIPS , 【0.5mW ,0.3mW/MIPS】0.25mA@2V,2MIPS
[PIC12F683] 【14mW ,2.8mW/MIPS】2.8mA@5V,5MIPS , 【0.8mW ,0.4mW/MIPS】0.41mA@2V,2MIPS
[PIC16F84A] 【17mW ,3.4mW/MIPS】3.4mA@5V,5MIPS
[PIC16F887] 【14mW ,2.8mW/MIPS】2.8mA@5V,5MIPS , 【0.8mW ,0.4mW/MIPS】0.41mA@2V,2MIPS
[PIC16F690] 【20mW ,4mW/MIPS】4mA@5V,5MIPS , 【0.8mW ,0.4mW/MIPS】0.41mA@2V,2MIPS
[PIC12F1822] 【11.5mW ,1.4mW/MIPS】2.3mA@5V,8MIPS , 【1.4mW ,0.4mW/MIPS】
[email protected] ,4MIPS
[PIC16F1827] 【15mW ,1.9mW/MIPS】3mA@5V,8MIPS , 【3.1mW ,0.8mW/MIPS】
[email protected] ,4MIPS
[PIC18F2550] 【125mW ,10.4mW/MIPS】25mA@5V,12MIPS
[PIC18F14K50] 【65mW ,5.4mW/MIPS】13mA@5V,12MIPS , 【3.6mW ,0.9mW/MIPS】
[email protected] ,4MIPS
[PIC18F26K22] 【39.5mW ,2.5mW/MIPS】7.9mA@5V,16MIPS , 【2.2mW ,0.5mW/MIPS】
[email protected] ,4MIPS
[PIC24FJ64GA002] 【49.5mW ,3.1mW/MIPS】
[email protected] ,16MIPS , 【5.2mW ,1.3mW/MIPS】2.6mA@2V,4MIPS
[dsPIC30F4012] 【620mW ,20.7mW/MIPS】124mA@5V,30MIPS , 【99mW ,5mW/MIPS】
[email protected] ,20MIPS
[dsPIC33FJ32GP202] 【178.2mW ,4.5mW/MIPS】
[email protected] ,40MIPS
[PIC32MX1xx/2xx] 【66mW ,1.7mW/MIPS】
[email protected] ,40MIPS
dsPIC30Fの0.6W超はすごいな、それに比べたらPIC32大したこと無い。
乙 消費電流が少ないからこそ、 I/OポートにLEDつないで点灯しただけで、 VddやVssの電位が動いて、 ADCの結果が大きくブレふんだなー。
追加
[PIC24F32KA301] 【65mW ,4.1mW/MIPS】13mA@5V,16MIPS , 【4mW ,1mW/MIPS】2mA@2V,4MIPS
[PIC24F08KL200] 【25.6mW ,1.6mW/MIPS】
[email protected] ,16MIPS , 【2.6mW ,0.6mW/MIPS】
[email protected] ,4MIPS
[dsPIC33EP64GP502] 【135.3mW ,1.9mW/MIPS】
[email protected] ,70MIPS
新し目のチップはさらに低消費電力になってるね。
dsPIC33EP/PIC24EPシリーズなんか80MHz(40MIPS=dsPIC33FJ相当)で動かすと27mAでdsPIC33FJの半分だ
PCを買い換えてからPICいじってなかったんですが、Pickit3を買ってMPLAB Xの環境で再開しました。 ところが、MPLAB X IDE v1.30を使って、動いていたPICからプログラムを読もうとしてRead Device Memoryアイコンを押してもConnection Failed.と表示されて読めません。 PICkit3 Programmer を使うと、Read Write ともできますのでハードに問題は無いようです。 MPLAB X IDE v1.30 側で、何か設定があるのでしょうか?
>>745 ありがとうございます。
3つのチップ抵抗とも開腹しないで外から見える位置だったので確認すると、
全部最初から0Ω(表示は000)がついていましたので別原因のようです。
747 :
774ワット発電中さん :2012/08/07(火) 16:40:37.76 ID:83UthIZt
PIC24HJ256GP610の仕様書にはポートBは双方向入力ポートとの記載があるのですがデジタル入力として使えないのでしょうか? if(input(PIN_B10)){}が働きません。
>747 PICのお決まりのパターンで初期状態がアナログ入力でデジタル入力に設定しなおしていないとか? AD1PCFGH AD1PCFGL AD2PCFGL へ0xffff書き込んでみては
お前ら、0xFFFFとか記述してるけど、0〜65535まで1つずつ何も見ないで書けますか?
新たな釣りかw そんなの無理だから、わかりやすい方で書くよ。 今回は全bit1=0b1111111111111111でもいいけど長いから0xFFFF タイマーやカウンタに入れる値とかなら10進数の方がわかりやすいから10進数で書く
1つずつ書いていったら書けちゃうだろってのは揚げ足取りに入りますか?
ゲソ揚げってやつかな?
>>744 MPLAB Xは使ってる人が少ないと思いますよ?
自分もたった今、インストールしてみたんだけど、使い方すら意味不明で付属のMPLAB IPEという
単独で書き込みできるアプリも何故か認識以前に、パスワードがどうちゃらとか出てよくわからない
それですぐに削除しました
素直にMPLAB8でやってみてはどうですか?
PIC32MX220F032B-I/SPでSDカードの制御って出来る? なんかSCKはあるのに他の端子はPPC?とかいうので指定しなきゃいけないみたいだし・・ 参考になるようなサンプルプログラムはないでしょうか?
HI-TECH C 9.82なんだが、LITEモードで出力されるコードの水増しがヒドス たとえば、 movwf (?_HOGE) とせずに、わざわざ clrf (?_HOGE) addwf (?_HOGE) とかやる。 Standardモードでも、やる。 PROモードで、ようやくmovwf一発になる。 またLITEでは随所に movwf (??_HOGE+0)+0 movf (??_HOGE+0)+0,w を挿入しやがるし、 Standardモードでも movwf ??_HOGE を挿入しやがる。 そりゃPROのライセンスを売りたいんだろうけど・・・。
>>754 データシートの64ページから良く見た方がいいですよ?
使用したいピンと機能をセットしなければ駄目です
757 :
744 :2012/08/07(火) 23:39:33.59 ID:L0f0nupk
>>753 そうだったんですか。慣れない自分が人柱状態だったとは・・・。
とりあえずはMPLAB X でHEXまで作って、PICkit3Programmerで書き込んで動作確認しています。
使えなくは無いのでこのままで暫く使いたいと思います。いずれどなたかが救ってくれるでしょう。
小さくなるだけじゃなくて遅くしないといけないしな optimizeの反対語をpessimizeという
759 :
774ワット発電中さん :2012/08/07(火) 23:53:54.04 ID:zCXIkdtv
>>756 サンキュー、もうちょっと頑張ってみるよ
>>757 MPLABXで使ってるけど特に問題なくWrite/Readできているよ?
(Macで使いたくて、必然的に選択肢がMPLABXだったって感じだけど)
Readが出来ないってことは書き込みも出来てないんだよね?
1. プロジェクトを右クリックでPropertiesを選択
2. Categories:のConf: [default]を選択して、右に出てくるConfigurationの中
のHardware Tool: でPICkit3が選択されているかを確認
それから、よくはまるやつとしては、Deviceへの給電設定
PICへの給電が、基板側からの供給でない場合は、PICkit3から給電してやらんと
いかんから、その設定をせにゃならん
やりかたは、
1. プロジェクトを右クリックでPropertiesを選択
2. Categories:のPICkit 3を選択して、右に出てくるOption categories:の
プルダウンメニューからPowerを選択
3. その下に出てくる、Power target circuit from PICkit3にチェックを入れる
761 :
744 :2012/08/08(水) 00:20:41.71 ID:oBcYuQDI
>>760 質問をしたあとでいろいろいじっている時に、その設定にチェックを入れてみましたが読めませんでした。
Program Options のEnable Low Voltage Programming もチェックしましたが変わりません。
Conf: [default]ではPICkit3が選択されていてシリアル番号も表示されています。
>>761 そーすかぁ。。なんだろうねぇ。
Pickit3Programmerで書き込めている時と、PICとの接続は同じなんだよね?
ちなみにマイコンはなんですか?
>>761 MPLAB X1.10だけどpickit3 programmerを同時に立ち上げてると認識はするけどconnection failedになる
こうなったら一旦pickitを引っこ抜いてソフト両方落としてMPLAB Xだけ立ち上げないとちゃんと認識しないな
なんとw なんかそれっぽいなぁ、Pickit3 programmerと競合してそーw
765 :
744 :2012/08/08(水) 01:31:30.62 ID:oBcYuQDI
いろいろありがとう チップは12F1822で、入力1、出力2の簡単なプログラムです。 再起動後にMPLAB Xだけ立ちあげてもやっぱり読めませんでした。 最新のJAVA7を入れてもだめでした。
766 :
774ワット発電中さん :2012/08/08(水) 10:38:09.38 ID:V+HMRwvr
>766 \200のチップでカラーとは凄いですね。 PIC32の作例少ないので色々参考にさせて頂きます でも以前MIPS32の命令見た時に、すごく使いにくそうとは思っていたけど 32bit(long)以上の演算でもしないと同MIPS値のdsPIC/PIC24に劣るんですね。
>>766 どうせなら、HC04も取ってしまって1チップだとインパクト大きいのに。
>>766 何を言いたかったかというと、
必要最小限の部品構成にしたほうが、人が注目するということです。
770 :
774ワット発電中さん :2012/08/08(水) 17:49:44.24 ID:bcBKSALS
771 :
774ワット発電中さん :2012/08/08(水) 19:24:40.11 ID:05S3/TuN
凄く漠然とした質問なのですがLinuxやWindowsのドライバ作成の練習台にPICは向いていますか?
PICやマイコンうんぬんと、Windowsのデバイスドライバが、同列にあると思う根拠は何だ?
PIC16F1939 WDTでリセットかかったにもかかわらず、STATUSレジスタのTOビットがクリアされないって現象で悩んだ。 結局わからずPCONレジスタで代用した。
>>772 いや〜、以前どっかでドライバ開発にルネサスのボードを相手にすると練習になると見た気がするんで
PICはどうかなと思ったわけで
こっちのほうが安そうだしw
>>774 772と同じ人?
ルネサスボード云々は、対抗装置として使うという意味じゃないだろか?
USB接続してWindowsドライバの作成中に相手の挙動や通信内容を確認するとか。
それであれば安い、高いの前にボード側の環境があるのか?がポイントになりそう。
776 :
766 :2012/08/08(水) 22:12:11.37 ID:V+HMRwvr
>>768 最初にHC04なしで実験したんだけど、全然正しく色が出なかった。
定格は15mAだからぎりぎりいけると思ったんだけど。
もうちょいそれぞれの抵抗を大きくしたらいけるかも。
あとCVREF端子に直結もやってみましたが、さすがに無理でした。
OPアンプでボルテージフォロア組むくらいなら、HC04のほうが安上がりだし。
PIC32MXのDMAって、ビデオ信号出力には使えないのかな。
778 :
766 :2012/08/08(水) 23:14:07.89 ID:V+HMRwvr
>>777 PIC32MXのDMAはメモリ TO 汎用I/Oができるようなので、できるかもしれません。
だけど、結局信号データ生成の時間が必要だし、それにRAMにも余裕がないので、
やめました。
なるほど。
XC8の評価ライセンスをクラックするなってのは当然だとして、 LITEモードのまま最適化を働かせるのは、やっていいのかな。 *.cから*.objに一気にコンパイルするのではなく、 *.cを-S付けてコンパイルして*.asを出力させると、 普通のLITEモードのコードが出力されるんだけど、 その*.asを-O付けてアセンブルすると、 standardモードに似たコードに最適化されるのよ。
内部的にはそうやってるだけだったりして
assemblerに-Oがあるとは知らんかった
俺が会得したLITEモードの裏技は 浮動小数点演算は1行当たりの式をできるだけ複雑にしたほうが コード水増しの嫌がらせが減る だ
-OオプションはDS52053A MPLAB XC8 C Compiler User's Guideの4.3.8に書かれてるよ。
最初は2000ワードちょいあったのを、*.lstファイルを見ながら手作業で最適化して1100ワードくらい。 それを-Oオプションを使うと900ワード少し切るくらいになった。ちなみにPROモードだと800ワードを少し切ってた。 いくつか試してみたが、-Oオプションで、けっこう縮むね。
786 :
774ワット発電中さん :2012/08/09(木) 06:20:55.96 ID:4aT6vp6I
>>785 なんか、最初からアッセンブラで作ったら?って感じの作業量だね
> *.lstファイルを見ながら手作業で最適化して1100ワードくらい。 ってのはアセンブリ言語のレベルではなく、C言語のレベルですよ。 たとえば関数コールではshortの値を渡すよりもポインタを渡したほうが小さくなる、とか。 (どうせリエントラントではないので、グローバル変数にしちゃったほうがいい、って話もあるが。)
.LSTはアセンブルリストだと思うのですが…
アセンブリ言語で書くのと、C言語で書いてアセンブリ言語を読むのとでは、雲泥の差ですよ。
>>780 なんかグレーっぽいけど何が違うのだろう?
データ配置属性を最適化しているのか?>そんな記述あったっけ?
PICアセンブラでおぷちまいずできる事ってなんだろ?
>>790 DS52053A MPLAB XC8 C Compiler User's Guideの4.5 Assembly-Level Optimizationsを読もうぜ
みなさん、PICマイコンはどんな石をメインに使用してますか? そしてPICで作ったもので一番大規模なものはどんなものですか? 僕は16F84で精々7セグ時計程度です
すいません、テンキーの入力状態をPICで受け取ってみようと テンキーを分解してテンキーのそれぞれの部分にケーブルをくっつけて PICのRCやRBに取り付けて全てINにしてテンキーをおしてみたのですが テンキーを押していてもたまーに押されたことにぐらいですぐに押されてないことに なっちゃうんです これっていわゆる信号を増幅して受け取らないと駄目っていうやつなんですか?
よくわからんがチャタリング
いえ、チャタリングなら一瞬の出来事じゃないですか わたしの場合だとテンキーを押してたとえば2秒後に一瞬だけ押されたことになって そのあとすぐまた押されてない状態にもどるといった感じなんです
796 :
744 :2012/08/09(木) 14:59:36.14 ID:VgmBeinU
押してるのに押されていないことになってる状態で、テスターで電圧を確認すればいいじゃない
797 :
744 :2012/08/09(木) 15:05:26.89 ID:VgmBeinU
MPLAB X でPICkit3経由の読み込みができない件、一応自己解決しました。 PICkit 3 Programmer → Tools → Revert to MPLAB mode を実行後に MPLAB X で読めるようになりました。 おさわがせしました。
>>796 ところがどっこいテスター持ってないんです
>>798 そうです、マトリックスのやつです
とりあえずでいまSC1815GRを買ってきたのでこれで2倍に増幅したらいけるのかなとやってみるところです
>>799 マトリックスで使うには全てINにしてはダメ
とりあえずマトリックスの使い方を調べた方がいいかも
そもそも既存の回路そのままにPICを繋いでいるような予感。
>>800 えーと、押されたことだけを確認してみたかったので
まさに
>>801 さんのいうとおりキーボードの基盤に直接半田付けして
PICとくっつけてるのです
押された時に、そのつないだケーブルにどんな信号が流れるのかも確認せずに増幅したからと言って解決にならないと思うよ テスターも持ってない人が1815で2倍増幅になる回路を組めるのかという疑問。 そもそもNPNでいいのか信号によっても変わるし。
>>803 そ、そうなんですか
なんかいろいろむずかしそうですね
わたしの中ではいままで一方通行だったものにケーブルを半田付けしたから
2つに分岐したぶんパワーを増せばいいんだな!
って簡単なイメージだったんですw
暇だからスレ住人をテストしてるんだね
なんとなく状態がわかってきた 既存の回路のマトリックスの出力側と入力側にPICの入力を繋いでそれで入力を読み取りたいという事だな? 1:マトリックスの知識はあるか 2:繋ぎ方は間違ってないか 3:PICの電源はどこから取っているか 4:PICの電源は5V対応か
>>807 そうですそうですw
マトリックスはばっちりです!
つなぎ方も押してるときにたまに押されてる判定されてるんで問題ないとおもういます
PICの電源はPCからとってて5V対応でう
ふつう12本全部INに入れたら 6本が常時押された状態で
残りの6本のどれかがキーを押したときに押された状態になるはずじゃないですか
それが押しててもたまーにしかPIC側では押されたことにならないんです
あ、OUT側は順に点灯ですねw
みなさんお騒がせしますた 接触がちゃんとできてなかっただけでしたww
なんだもう終わりか
間違ったら死ぬ覚悟でやれ。
LITEモードで最適化する件、 aspicに-o付ける cgpicから-q外す これで、PROとStandardの中間くらいのコードサイズになる気がする。 残念ながらライセンスファイルの有無でcgpicの出力するコードが変る。 PROの評価ライセンスファイルがあるPCでは、上記でPROと同じコードサイズになった気がする。 気がするだけなんで詳しいこと聞かれても答えられない。
815 :
774ワット発電中さん :2012/08/10(金) 08:50:15.93 ID:Jxj7zZx2
>>377 >4bitモードに入れるとき、PoewerOn→規定時間後→0x30→スグに0x2*になっています。
「スグ」じゃ無く
37μ秒@fosc=270KHz 4.5Vと書いてある。
電源電圧が低いとクロックが下がるから更に待ち時間を増やさないといけない。
とりあえず「スグ」では無くて、仕様書通り5Vで37μ秒以上ウエイトかけてから文句言え。
816 :
766 :2012/08/10(金) 11:33:16.63 ID:BeUWl9pW
>>768 >>776 PIC32MXでのカラービデオ出力の話ですが、
HC04外してもきれいにカラーで出ました。
単にストレート出力にしたときのプログラムミスでした。
ということで、1チップで実現できました。
サイトのほうも近いうちに修正しておきます。
(と言いつつ今日から出かけるので、帰ってからになりますが)
PICでインベーダーやブロック崩しが出来る日が近づいてきた
テニスか何かはあったような・・・ トラ技かインターフェースで見た気がする
mikroCコンパイラを使っている方いますか? 価格の割にはライブラリが多そうなので、製品版を買おうかどうか迷ってます マイクロチップ純正はPROバージョンは10万円近くするので無理です その他も最上位グレードが同じような価格なのでちょっと・・・ mikroCはPRO版でも某サイトで2万数千円なのでどうなのかな?と思いました。
> PICでインベーダーやブロック崩しが出来る日が近づいてきた すでにあったような。モノクロだけど。
>>819 config設定が本文に書けない
portなどの基本的な書式が純正と違う
ライブラリは豊富だがソースはない
1年くらい使ってないけどこんな感じ
初心者向けだけど日本ではマイナーだよね
822 :
819 :2012/08/10(金) 20:20:48.24 ID:K/aAOFIw
>>821 レスどうもです
mikroCを1年使っていないのは何か理由がありますか?
そして今は他のコンパイラを使ってるということでしょうか?
mikroCはADコンの関数でVREF使えなかったような。。
ライブラリって必要? USBあたりになると自分で書くのは嫌だけど。
825 :
774ワット発電中さん :2012/08/11(土) 00:08:29.91 ID:d8LfGMoA
>>824 ライブラリ使わないんだったら、アッセンブラでも良いんじゃ?
小数点の計算がアッセンブラは出来ないけど・・
USB絡みはもうライブラリっていうか、枠組みは全部用意されて、 ここからここまで自分のコードを書け的な感じになってしまう
>>825 んなこたーない。
生産性が、かなり違うよー。
microchip社の開発ツールの無償版でも、ある程度のライブラリは使えるし。
LITE版で最適化、さらに進んだ。 clrf (hoge) addwf (hoge) を movwf (hoge) に置換 clrf (hoge) bsf status,0 rlf (hoge),f を clrf (hoge) incf (hoge),f に置換 これでPRO版とLITE版+"-o"-"-q"でコードサイズが同じになった。 -oはdocumentedなオプションだから良いとして、 -qはundocumentedなオプションなので微妙かも。 ちなみにStandard版だと-qsが付加される。 しかし不思議だよな。 -qオプションはインパクトが大きいのにライセンスチェックの対象外で、 単純なコード肥大化の嫌がらせがライセンスチェックの対象だってのは。
今mikroc使ってるけど値段の割に悪くないんじゃないかな ICD混みで今だと三万ぐらいか mikrocについて日本語で書かれた本はなさそうだけど、ネットでなら日本語で書かれた資料は結構あった気が でもヘルプが結構しっかりしてるから英語読めるならあまり困ることはなさそう
コンパイラ作者の矜恃みたいなものかと
秋葉原でUSBホスト付きPIC売っている店ないかしら? 今月号のトラ技でもスマホ工作特集でPIC24FJ64GB002取り上げられてるし、 秋月あたりで扱ってくれないかな〜
USBで外付けのXTAL必要ないモデル、はやく秋月で扱ってくれないかな。
>>830 そうかもしれん。
もひとつライセンスチェックの対象を見つけた。
switch-case文でのストラテジ選択。
LITE版・・・simple固定っぽい。
PRO版・・・space/speedに合わせて自動選択されるっぽい。
Standard版・・・pragma switchで選択可能。
まぁこれは能書き通りの挙動だね。
>>832 アキバから買って来ました。
レスを見てPIC32MX220F032買って来ました。
USB OTGという規格が、親(Host)にもなれるというものなのですね。
デバイス側しか作ったことがなく、USB自体あまり知識もないのですが、
色々試してみたいと思います。どうもありがとうございます。
16F1938を使っています。タイマー1がもう一つないかと調べたら、18Fにはタイマー3というものがあってタイマー1と同じ機能があるという。 今更散々練ったプログラムを18F用に書き換えたくない・・・・・ でも、確か18FはBANKSELがないらしいからそれも魅力的だ・・・・・ どこかにタイマー1と3の付いているF1PICはないでしょうか?
あることはあるんだなPICは奥が深いな
漢なら黙ってARMですよ
PICで20Hから変数を定義して、80Hまでに収まらなかったので、 BANK1を使う事にして、BANK1の20Hから変数を定義しました。 代入するときは直前に BANKSEL 1としています。 MPLAB IDE のView→File Registerで見ると、 80H+20HでA0H以降に代入されて筈だと思うのですが、 どうしてなのか、20H以降に代入されています。 何が悪いのでしょうか?
BANKSEL 1だと、「アドレス0x01のレジスタがあるバンクを選択する」という意味なので そういう動作で正しいです 0xA0以降のRAMがあるバンクを選択するなら、BANKSEL 0xA0ですね
842 :
774ワット発電中さん :2012/08/13(月) 14:36:24.58 ID:KWF9Bjqf
2個目の BANKにしか無い変数を指定するのが良いんじゃ? それと 18Fにすると、相当長い連続した変数領域取れるよ
だったらいっそBANKなど無い PIC24/dsPICのほうが PIC16Fのアセンブラやる根性あるならPIC24のアセンブラの方がずっと楽、レジスタも増えてるし、SPもある。 演算もベース、ソース、デストネーションを別に指定できる(同じでも可)、こんな命令も1命令で可 ADD W2, [W3++] , [W4++] ; W2の値を、W3が指すメモリ内容と足して、W4が指すメモリへ & W3,W4はそれぞれ+2 PICらしさの W0のみだけど即値で指定したメモリとの直演算も可能 PIC24/dsPICはすごく使いやすい命令セットになってるのに、アセンブラがほとんど使われないのはとても残念。 PIC32は・・・これはコンパイラ必須だなと思った。定数ロード命令はなく、ゼロレジスタとの足し算って・・・なんか違う。
RISCだし、そんな事もあるさw
24とdsと32は似たようなもんかと思って放置してたが、そうか。 ちょっと調べてみるか。
>>843 例えば li (load immediate, 32bit) って書けばアセンブラは
lui (load upper immediate, 16bit); ori (or immediate, 16bit)に展開してくれないの?
MIPS32なら頭の中のCコードを頭でアセンブリ命令列にできますが、
PIC16Fではコンパイラがないと無理ぽ
PIC32はぜんぜんちがう。例えば サブルーチン呼び出したらリターンアドレスはレジスタR31(ra)に保管される。 更に呼び出す場合どうするんだろう? と調べたらサブルーチン先頭で 自前でスタックに積む必要がある、さらにPUSHなんて便利な命令は無く spレジスタをマイナスした後,そこにR31(ra)をストア リターンするときもR31を取り出して、sp動かして R31のアドレスにジャンプ 普通ならCALL〜RETですむのに。 もしこれをアセンブラで書かないといけないとかなるとPIC16Fと同じくらいきついかも
マクロ位使えよ
まだ命令ながめてる段階だから。多分PIC32でアセンブラ使うことは無いだろうし ただ知識としては入れておきたい。 で一番の疑問は、このアーキテクチャって速いの? 同MIPS値のCISC的なPIC24と比べたら、RISCなPIC32はできることが限られる分 遅くなるわけで、その分を高クロックで補うかといわれるとラインナップもMax80MHz(80MIPS) PIC24E/dsPIC33EのMax70MIPSとあまり変わらない。 超高性能を期待したのだけど32bit以上の演算を行わないとPIC24とたいして変わらないor以下 なのかなと
>>847 その通り全部自前で書かないといけないけど、
お決まりのパターンなのでそんなに難しくはないと思うよ。
851 :
774ワット発電中さん :2012/08/13(月) 22:44:10.86 ID:3EyFnTC5
CPU ではなく PIC である理由を忘れて内科医?
マイクロコントロラーならビット反転位1命令でできるようにして欲しいよ PIC16F MOVLW 0x01 XORWF PORTA,f PIC18F BTG LATA,0,0 PIC24/dsPIC BTG LATA,#0 PIC32 ; LATINVがなかったら何命令必要なんだ? LUI v0,0xBF88 ;LATAINVのアドレス0xBF88603C の上位16bitをv0に入れる v0=0xBF880000 ADDIU v1,zero,1 ;ロード命令ないので 足し算で代わり v1=zero + 1 SW v1,0x603C(v0) ;v1→[v0+603c]へ
PIC32のコアのMIPS32はワークステーションなんかを目的に作られたと思ったが…
最初はMIPS I で、MPIS32ではなかった。そんな気がする
今の若い人はMIPSアーキ知らないのか。 RISCの中でもMIPSアーキは、かなりストイックなほうかもしれん。 設計した人が何を考えてそうしたのかは、通称「ヘネパタ本」を読めば分かるだろう。 基本的にアセンブラで書くことは想定外だよ、MIPSは。
若い人じゃないけど知らんなあ RなんとかシリーズはMIPSではなくRISCとして紹介されてた気がする
お前が無知なだけw
MIPS・・・アーキテクチャの名前 RISC・・・CISCと対比してのジャンル分け
860 :
774ワット発電中さん :2012/08/14(火) 01:15:48.25 ID:DoBmGUR8
で、普段おまいらが使ってる石はどんなのよ?
861 :
774ワット発電中さん :2012/08/14(火) 01:19:43.88 ID:DoBmGUR8
こーれーこそーはーとー信じれる石がー この世にーあるだーろーかー? 信じるー石がーあったとしてもー信じないーそーぶりー
>>861 そんな若い人の知らないような唄の替え歌は反応はあまりないと思うよ(^^;
>>861 PICの角に頭ぶつけて氏ね (・∀・)
864 :
774ワット発電中さん :2012/08/14(火) 12:25:03.50 ID:EfAAiodE
>>863 そんな若い人の知らないような諺は反応はあまりないと思うよ
水を対象物にぶつけて切断するウォーターカッターという道具の存在を知る者ならば、 豆腐やPICの角に頭をぶつけて死ぬことも不可能ではないことが理解できる筈だ。
867 :
774ワット発電中さん :2012/08/14(火) 13:17:51.58 ID:fv70zovp
>>860 趣味なんでそんな色々は試してないけど
16Fを使ってる人は、18Fに乗り換えるべきだな
アッセンブラの命令が洗練されて良い
banksel不要
変数領域が連続して長く取れる
movff追加
条件ブランチ命令 brzとか、が追加 (16Fでもあるのか?)
タイマーの数が多い
16bitの加減算を追加して欲しい
Cでしか書かない人にとっては、タイマーくらいしか違わないのか
2バイト変数使いまくりとか
2バイト変数をバリバリ使うならPIC24か。 なんかPIC24は秋月の扱いが弱いからか、流行らんな。
16bitPICは、このへんのが秋月に入荷したら 面白そうなんだけどね。 驚70MIPS! → dsPIC33EP128GP502 (DIP28,70MIPS,128KB-FLASH,16KB-RAM) $4.14 5V入出力! → PIC24FV32KA301 (DIP20,16MIPS,32KB-FLASH,2KB-RAM,512B-EEPROM) $3.09 18p40MIPS → dsPIC33FJ12GP201 (DIP18,40MIPS,12KB-FLASH,1KB-RAM) $2.97 14p 16bit → PIC24F08KL200 (DIP14,16MIPS,8KB-FLASH,512B-RAM) $1.80
DIP40PinのPIC24/PIC32は世間的に需要ないのかな? ないよな…。
>872 まあ40ピンまで行くと変換基板でいいか・・・となってしまうのかもな。 16bit以上のPICでDIP40ピンは4種しかないようだし、需要少ないんでしょうね。 dsPIC30F3011 dsPIC30F3014 秋月\500 dsPIC30F4011 dsPIC30F4013 秋月\480
余計なピクトは入ってるけど、秋月のキャラ液晶より安いな しかし、Tekのオシロ欲しいわ
>>874 あら可愛い。
ちょっとした電子生物でも作れそうな予感。
一度I2C液晶使ったら、4bitパラのやつには戻れんなw
5Vだしな もう過去の胃酸にしてしまっていい
ステマ
電子工作もプラモデル化してきたな
それは本人次第
秋月のI2C液晶はマイコンの余った端子をI/Oエキスパンダ的に使えるように したら商品価値が上がったと思う
それなら自分でI2C→パラレル変換をPICで実装すりゃいいじゃんかー。
まあ、
>>884 はせめてって感じだろうな
秋月I2C液晶も値段がもうちょいこなれてくればいいと思うけど
まぁわかる。 液晶の横にタクトスイッチ付いてたら便利だよな〜とも思うけど、 そういうのがあったらあったで、ボタンの配置が気に入らないとかなるだろうし・・・・。
>>877 同意、I2Cの便利さは一度覚えると病みつきになりそう
>>884 ,
>>885 それならI/Oエキスパンダのポートに液晶を繋いだほうが早いような
ああ、通信が余分に必要になるか
891 :
890 :2012/08/16(木) 04:43:40.05 ID:YY5YaYSU
あ、間違えました 128x64ドットのグラフィック液晶です
>>890 秋月で1300円。同等品が加工して1000円?
無加工で600円位になるなら無加工を買う
ああ、資料読んで意味がわかった。 てか、素直にSPIじゃないやつで放出すりゃいいんじゃね? 500円くらいなら馬鹿売れすると思うが。
送料込みで1000円ならいいけど、送料別なら秋月でほかのものと一緒に買ったほうがべんりかな
>>893 そうか、素でSPIなら800円くらいかな。改造してSPI接続にするから1000円かと
流れから勝手に思い込んでたが。
なにげにPIC24とか、すごいやつなんだな。 128KWって昔で言ったら256KBとかだろ? こいつをROM代わりにしたら、ファミコンのカセットとか作れそうだ。
KWじゃなくKBだった。 ファミコン/MSXぐらいなら、バスの動きをソフトで追いかけられそうだ。
PICで電子工作を楽しんでいる者です 1階の玄関に自作したインターホンのボタンを付けて、2階に設置したPICで信号を受け取り いろんな機器を動作させたいのですが、配線の長さが5メートルくらいになってしまいます そこで、プルアップ抵抗は内蔵のものでも誤動作とか心配なので内蔵+外付け抵抗の両方でした方がいいですか? また、プルアップだけでなく必要な回路ってありますか? よろしくおねがいします。
>>899 基板から盛大に引き出す場合は、レベルを明確にするために、あとPICを守るために、トランジスタなりフォトカプラなりを挟むがよいにょ。
フォトカプラは賛成だが、トランジスタで何するつもり?誤動作の解決にならないでしょ。
>>899 RS422なりのノイズに強いトランシーバを内蔵UARTで駆動して、
状態遷移をシリアル通信で行うことをお勧め。
カネかけられるのなら無線LANとかも検討の余地有り(電波ゆえの怖さもあるが)。
903 :
774ワット発電中さん :2012/08/18(土) 19:52:47.31 ID:cacKez9O
ケーブル引っ張る代わりに装飾用ファイバあたりを使えば可視光LEDで済むんじゃね
ここでrfPICを使う人柱^H^H勇者が出てくるのを期待w
クロックがrf?
>>899 内蔵プルアップは本当に弱いので、機器外に出す配線は抵抗でプルアップしたほうがいい。
ノイズ受けずに長距離を確実に伝送するなら、同軸ケーブルつかってきちんと終端したほうがいいかな。
5Vの信号がノイズで狂ったりするものなの? キャパシタ成分が増えて速度が出ないなら判るけど
そこは「光ファイバー」で。おもしろそうだから。
受光素子もLEDでやってくれ。
>>907 外来ノイズが何ボルトで現われるかは、伝送路のインピーダンス次第でしょう。
>>901 トランジスタでカレントループ伝送じゃないの?
電流伝送は、電圧伝送よりもノイズや強いし距離も伸ばせる
たかが5mでそこまでせんでもと思うけど 心配しなくても、30cmでやってることをそのまま延長したら何もしなくてもうまくいくのでは
昇圧だ、昇圧
光速通信じゃないんだから、てけとーなプルアップ抵抗とノイズ取りようCをぱらっときゃええっしょ
>>911 PICを守るためと書いてあるぞ
それにカレントループ伝送とか言うとカッコイイと思ってるようだが
押しボタン伝送に使う言葉か?
ボタンを押す人が高橋名人の場合、条件がちょっと厳しくなりそう 心配性なら、もうワイヤー引っ張ればいいんじゃないか?自転車のブレーキみたいに 電気的なノイズに対しては最強だぞ
917 :
774ワット発電中さん :2012/08/19(日) 01:06:08.66 ID:czs9V1F8
5m程度ならMIDIケーブルでも参考にすればいい 各部屋にパソコンがあるような環境ならethernetに変換してしまうと敷設が楽
プルアップに1Kくらい入れてパスコン入れればいいだけだろ 何で話が飛躍するんだ?
最近、雷が多くてなぁ・・・・
925 :
774ワット発電中さん :2012/08/19(日) 08:47:20.51 ID:aQiM6BKt
>>899 スイッチ側にもPICを入れてシリアル通信がお勧め。複数の釦があっても2〜3本の配線で済む。
ケーブルは安いLANケーブル使っとけば、電源も送れるし。
pickit3programmerにも簡易ロジアナ付いたんだな 2ばかり使っていたから知らなかったわw
つまりMicrochipからはpickit2の在庫が捌けたんだなw
じゃあ次はPickit3にもUARTツールが追加されるのかな。 PIC32も使ってみたいし、Pickit3 そろそろ買うか 秋月 \3900+送(佐川)\500 DigiKey \3910+送料(UPS)は\7500以上の注文で無料 ただし\10000以上で+消費税 Microchip $44.95+送料は Japan , DHL and FedEx 2nd Day or IPD , (最小)$9.33 , (3kg)$41.49 , (5kg)$51.69 , 2 business days 1$=\80なら最小で ($44.95+$9.33)x\80=\4342 と秋月トントン 他に\4000弱買い物があればDigiKeyがお得 問題はUPSやFedExの受け取りか
単にソフト的な問題だったのか
MPLAB C18 から XC8 に乗り換えようとしたけど 18F の拡張命令に対応していない。 乗り換えはしばらく先だ
PIC32MX220F032Bを使用しております。 RTCCが使いたくて秋月の32.768KHzの振動子を買ってきました。 SOSCの両端にXtalと22pFをぶら下げて一番近いGNDに落としております。 オシロで波形を見るとRCの充電みたいな波形で、立ち下がりを計測してみます と、ほぼXtalの公称値と同じ周波数がオシロに表示されています。 で、RTCCの機能で7番ピンだったとおもうのですが、秒でHi,Lowするモードがあると思うのですが、 そこにLEDを付けてます。 問題がここで、オシロをつないだ時の場合はほぼ1秒なんですが、オシロを外してみて見ると明らかに違います。 たしかプローブが10pFくらい容量を抱えてるはずなので、それくらいの容量を抱かせてあげなきゃ駄目なんでしょうか? それとも他の何処かが間違えてるという事でしょうか? 素人ですいません。
>>933 まさに、Cはぱらっとかないとあかんね
10p〜22pの間で安定して発振するところで調整してみなはれ
935 :
933 :2012/08/19(日) 15:26:15.34 ID:18Nd0foR
あわわわ、型式が中途半端でした。PIC32MX220F032B-I/SPです
先ずレシプロカル方式の周波数カウンタを製作する
>>934 やはり調整しなくてはいけませんか。
有り難う御座いました。
>>936 有り難う御座います。
制作ですか。32KHz程度の発振をコントロール出来ない人間に周波数カウンタが作れると思っていらっしゃいますか。
スキルアップには必要かと思いますが、当然のごとく回路は浮かびませんし。
最悪人の家のカウンタで計ってもらうって手が有りますので。
自己解決しました。 ストレージオシロを引っ掛けてたコンデンサの足に10pFをちょん付けしたら、 ゆっくりしてってねだったLEDが秒で動いてくれました。 こういう場合はちょん付けよりも、22pFを抜いて33pFを入れるのがスジなんでしょうか。 一応10p,15p,22p,33p,47pと手持ちが有るんですが。
33pFでokで 22pFと47pFでもokなら 自信をもって33pFでokといえる
そもそも何で22pFにしたのか、と。 秋月で売ってる振動子ってデータシートないジャンクなんだっけ?
昔PIC16F877のタイマ1に時計用水晶付けたときはコンデンサは47pFだった AVRマイコンのatmega328pのタイマ2に時計用水晶付けたときは コンデンサなしでも公称周波数で発振して33pF以上では発振しなかった マイコン依存の要素もあるから実際に試してみるしかない
データシートに参考値が記載されている。 負荷容量は、水晶メーカにより異なる。 製品にする場合、水晶メーカからパラメータもらって調整。 ホビーなら、経験値や参考値でで良いだろう。
そんな面倒なことで作業が止まるならSG-8002とかのオシレータ使えばいいんじゃね?って思う 高々、数百円も違わないんだから・・・
そんな面倒なことやめて海いこうぜ! と等価のレス。
>>941 http://www.nahitech.com/nahitafu/mame/mame1/xtal.html ここを検索で引っ掛けてしまい、人気があるんだー、俺もーって感じでつい22pF
にしてしまいました。
あと、22pFだと増やすのも減らすのも1個で済むなーなんて思いまして採用と。
実際オシロで波形出て数値出てるから良い物だと思っていたのですが大間違いでした。
えーと、データシート付いています。負荷容量は4.5〜12.5pFって書いてあります。
売り物じゃないし、丁度20年ぐらい卒業してから経つし、こんなもんでいいんだっけかなー
みたいな感じでやっております。
>>944 さん、とてもナイスなページ、どうも有り難う御座いました。
>>945 もちろん、考えましたが検索にかけても、なかなか32.768KHzの商品が無い、あるいは表面実装品しか無かったりとか、
でまいったにゃーって感じだったのですよ。
768kHz
表面実装でいいじゃん
32bit構成にしたタイマのコンペアマッチ機能で システムクロックを分周することで簡単に1Hz作れると思うのだが
>>947 そのページのR1の説明は変だね。R1はインバータをリニア領域で動作させる
ためのバイアス抵抗だと思う。
953 :
933 :2012/08/20(月) 19:05:41.19 ID:1d0O7Ffi
>>949 さん。ユニバーサルで作っているので、どうやって接続したらいいかイメージしたら、私の持ってるジュンフロン線が黄色なので、ナウシカ状態になってしまうと思ったので辞めました。
ちょっと自作品の発表の為なので、せいぜい月差1時間くらいでいいんですよ。
>>950 さん。有り難う御座います。ただ、もう動いちゃっているのでこのまんまで行こうかとは思います。
>>951 さん。いやいや、1Hzって具体的に書いたのでそう思われたのかもしれませんが、
1Hz出力はちゃんとRTCCにつないでるXtalがちゃんと発振してますよって言うのを目で確認する為、
Lチカさせているのであって、ただ1Hzを出力したい訳じゃないんです。
文章の書き方が悪かった私がいけないんですね。
以下 次スレ用秋月DIP品テンプレ行きます
955 :
733 :2012/08/20(月) 23:21:08.42 ID:wWvrXK+Y
マイクロコントローラ歴史
ttp://www.cqpub.co.jp/hanbai/books/37/37291/37291-intro.pdf 最初のPIC, PIC1650 GeneralInstrument社('89に1事業部門が独立して現在のMicrochip社へ)
ttp://www.rhoent.com/pic16xx.pdf (命令セットはBaseline Architecture 命令長12bit品とほぼ同じ)
マークの意味
◎お勧め、用途決まっていないならこれ買っとけ
○内蔵モジュール減ってるけど、その分値段も安くなってるから、まあまあ
△内蔵モジュール大幅に減ってる、\10でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書に載ってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない
以下秋月DIP品
;-------------------------------------------------------------------------------
【PIC32】32bitMIPSアーキテクチャ 最適化されたアーキテクチャで1.65DMIPS/MHzを叩きだす高性能
ただ完全なRISCで単純命令しか持たない為16bit以下の演算では命令効率,速度とも
同MIPS値のPIC24/dsPICに劣る。32bitマイコンのDIP版は貴重,MIPS値はクロックと同じ('12/08版)
28ピン
-◎PIC32MX220F032B \220 FLASH32+3KB RAM8KB ●USB
-○PIC32MX210F016B \200 FLASH16+3KB RAM4KB ●USB
-○PIC32MX120F032B \200 FLASH32+3KB RAM8KB
-△PIC32MX110F016B \190 FLASH16+3KB RAM4KB
共通
Vdd2.3-3.6V,Max40MIPS(40MHz),UARTx2,I2Cx2,(SPI/I2S)x2,RTCC,10bitADC,DMA,I/Oリマップ
;-------------------------------------------------------------------------------
【PIC24/dsPIC】16bitマイコン 16/18F等の8bitマイコンとは全く別物な洗練されたアーキテクチャ
同MIPS値のPIC18F以前と比べて数倍高性能。高めの価格とPIC32の安価での登場で厳しい
70MIPS版PIC24E/dsPIC33Eも存在するが秋月未。MIPS値とクロック関係は下記参照('12/08版)
40ピン
-○dsPIC30F4013 \480 16Kw/2KB/1KB ADC12bit TMR5 UART2 SPI1 I2C1 PWM2 CAN
-×dsPIC30F3014 \500 8Kw/2KB/1KB ADC12bit TMR3 UART2 SPI1 I2C1 PWM2
28ピン
-◎24FJ64GA002 \330 21Kw/8KB/--- ADC10bit TMR5 UART2 SPI2 I2C2 PWM5
-◎24HJ12GP202 \260 4Kw/1KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
-○dsPIC30F4012 \460 16Kw/2KB/1KB ADC10bit TMR5 UART1 SPI1 I2C1 PWM3x2 CAN
-×dsPIC30F2020 \500 4Kw/512B/-- ADC10bit TMR3 UART1 SPI1 I2C1 PWM4x2
-△dsPIC30F2012 \350 4Kw/1KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
-◎33FJ32GP202 \320 11Kw/2KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
18ピン
-○dsPIC30F3012 \400 8kw/2KB/1KB ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
共通
24Fシリーズ Vdd2.0-3.6V Max16MIPS(32MHz) (一部ピン5V入力可),I/Oリマップ
24Hシリーズ Vdd3.0-3.6V Max40MIPS(80MHz) (一部ピン5V入力可),I/Oリマップ
30Fシリーズ Vdd2.5-5.5V Max30MIPS(120MHz) DSP命令有,(5V動作可)
33Fシリーズ Vdd3.0-3.6V Max40MIPS(80MHz) DSP命令有,(一部ピン5V入力可),I/Oリマップ
【PIC18】8bitマイコン。5V動作可(J除)で比較的高速(10〜MIPS) 新型のKシリーズは多機能で 高速(16MIPS),USB機能付きもラインナップ,命令系は16F(Mid-Range)から+αレベル MIPS値はクロックの1/4('12/08版) 40ピン 新ラインナップ45K20(注3.6V)か旧だけどUSB&12bitADの4553。不要なら4525もありかな -◎18F45K20 \180 16Kw/1536/256 Max64MHz(31k-64MHz),4xPLL,CCP1/1,▲3.6V -◎18F4553 \430 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,12bitADC,CCP1/1 -○18F4550 \370 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,CCP1/1,SPP -△18F4520 \340 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL,CCP1/1 -○18F4525 \380 24Kw/3968/1024 Max40MHz(31k-32MHz),4xPLL,CCP1/1 -△18F4585 \500 24Kw/3328/1024 Max40MHz(31k-32MHz),4xPLL,CCP1/1,CAN -×18F452 \500 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP1/1 28ピン 新ラインナップが強力。3.6V可ナラ大容量・多機能27J53,高速ナラ多機能の26K22か12bitADCの25K80 -×18F258 \530 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP1/0,CAN -×18F248 \500 8Kw/768/256 ↑258のメモリ縮小版 -×18F252 \450 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP2/0 -×18F242 \420 8Kw/768/256 ↑252のメモリ縮小版 -×18F2580 \430 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL.CCP1/0,CAN -×18F2480 \390 8Kw/768/256 ↑2580のメモリ縮小版 -×18F2620 \420 32Kw/3968/1024 Max40MHz(31k-32MHz),4xPLL,CCP2/0 -×18F2420 \280 8Kw/768/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0 -×18F2320 \420 4Kw/512/256 Max40MHz(31k-8MHz),4xPLL,CCP2/0 -△18F2553 \420 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,12bitADC,CCP2/0 -×18F2550 \350 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,CCP2/0 -×18F2455 \340 12Kw/2048/256 ●USB,↑2550のメモリ縮小版 -×18F2450 \260 8Kw/768/0 ●USB,Max48MHz(31kHz),PLL,CCP1/0,MSSP無,TMR0/2 -×18F2523 \390 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0,12bitADC -○18F2431 \340 8Kw/768/256 Max40MHz(31k-8MHz),4xPLL,CCP2/0.14bitPWMx6 -×18F2321 \240 4Kw/512/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0 -×18F2221 \220 2Kw/512/256 ↑2321のメモリ縮小版 -◎18F26K22 \220 32Kw/3896/1024 Max64MHz(31k-64MHz),4xPLL,eUSART2.TMR3/4,MSSP2,CCP2/3,SRLatch -○18F25K22 \170 16Kw/1536/256 ↑26K22のメモリ縮小版 -△18F23K22 \160 4Kw/512/256 ↑25K22のさらにメモリ縮小版 -◎18F25K80 \220 16Kw/3648/1024 Max64MHz(31k-64MHz),4xPLL,eUSART2,TMR2/3,CCP4/1,12bitADC.ECAN -○18F26K20 \190 32Kw/3936/1024 Max64MHz(31k-64MHz),4xPLL,CCP1/1 -○18F23K20 \150 4Kw/512/256 ↑26K20のメモリ縮小版 -◎18F27J53 \300 64Kw/3776/0 ●USB,Max48MHz(31k-48MHz),PLL,eUSART2,TMR4/4,MSSP2,CCP7/3,12bitADC,リマップ,▲3.6V -○18F26J50 \260 32Kw/3776/0 ●USB,Max48MHz(31k-48MHz),PLL,eUSART2,TMR2/3,MSSP2,CCP0/2,リマップ,▲3.6V -○18F25J50 \230 16Kw/3776/0 ●USB.↑25J50のメモリ縮小版,▲3.6V -△18F26J11 \240 32Kw/3776/0 Max48MHz(31k-32MHz),4xPLL,eUSART2,TMR2/3,MSSP2,CCP0/2,リマップ,▲3.6V -△18F25J11 \210 16Kw/3776/0 ↑26J11のメモリ縮小版,▲3.6V 20ピン USBの有無でK50かK22を -◎18F14K50 \170 8Kw/768/256 ●USB,Max48MHz(31k〜32MHz),4xPLL,CCP0/1 -×18F13K50 \170 4Kw/512/256 ●USB,↑14K50のメモリ縮小版 -◎18F14K22 \160 8Kw/512/256 Max64MHz(31k-64MHz),4xPLL,CCP0/1,SRLatch -△18F13K22 \150 4Kw/256/256 ↑14K22のメモリ縮小版 18ピン 20ピンから選択すべき、14bitPWMx6に魅力あれば1230を -×18F1320 \220 4Kw/256/256 Max40MHz(31k〜8MHz),4xPLL,CCP0/1,MSSP無 -×18F1220 \210 2Kw/256/256 ↑1320のメモリ縮小版 -△18F1230 \220 2Kw/256/128 Max40MHz(31k-32MHz),4xPLL,TMR0/2,MSSP無,CCP無,14bitPWMx6 PIC18F共通 VDD 〜5.5V,10bitADC,eUSART,TMR8bitx1/16bitx3,MSSP 追加表記 CCPx/y x=CCP数/y=eCCP , TMRx/y x=8bit/y=16bit
【Enhanced Mid-Range】8bitマイコン 新シリーズのPIC12F/16F1xxx,旧シリーズ(Mid-Range)より 機能が大幅UPしていて値段も安い、新規に組むならこちらから 秋月に入荷未品も参考のため表記(未),MIPS値はクロックの1/4,エラッタ注意('12/06版) [40pin] 16Kwハ必要ナイカモシレナイケド10円差ナラ -◎16F1939 \170 16Kw 1024 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 LCD24 -○16F1937 \160 08Kw 0512 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 LCD24 -未16F1934 ---- 04Kw 0256 I/O36 ADC14 CapS16 Comp2 Timer4/1 MSSP1 ECCP2/1 CCP2 LCD24 [28pin] こちらも10円差なら -◎16F1938 \150 16Kw 1024 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 LCD16 -○16F1936 \140 08Kw 0512 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 LCD16 -×16F1933 \140 04Kw 0256 I/O25 ADC11 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/2 CCP2 LCD16 [20pin] こちらは秋月に無し -未16F1829 ---- 08Kw 1024 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 -未16F1828 ---- 04Kw 0256 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2 [18pin] 18ピンの割にMSSPが2コ,ADC入力ピン多,タイマーx5,CCPx4と多機能 -未16F1847 ---- 08Kw 1024 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 -◎16F1827 \110 04Kw 0384 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2 -未16F1826 ---- 02Kw 0256 I/O16 ADC12 CapS12 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP- [14pin] 下位のチップしかなく機能的に8ピンとあまり変わらないのは残念 -未16F1825 ---- 08Kw 1024 I/O12 ADC-8 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2 -未16F1824 ---- 04Kw 0256 I/O12 ADC-8 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2 -◎16F1823 \090 02Kw 0128 I/O12 ADC-8 CapS-8 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP- [8pin] 8ピンでUSARTもI2Cも使えるってのは大きいね -未12F1840 ---- 04Kw 0256 I/O-6 ADC-4 CapS-4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP- -◎12F1822 \080 02Kw 0128 I/O-6 ADC-4 CapS-4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP- 表記 Timer[8bit]/[16bit],ECCP[Full]/[Half],CapS=CapSense,Comp=Comparator 共通 EEPROM256byte,EUSART,SRLatch(555相当?),10bitADC,5bitDAC,1.024V基準電圧,温度計 VDD1.8〜5,5V,Max32MHz(Vdd2.5V以上),4xPLL有,内蔵OSCでも32MHz可(8MIPS) プログラム面で新命令追加,bankは32マデ拡張,スタック16レベル,LATが追加,割込時のレジスタ自動保存 16bit幅で2本になったFSRデ別アドレスに連続配置RAM(0x2000〜)やプログラム領域(0x8000〜)アクセス可能 追加命令群 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可能
【Mid-Range】8bitマイコン PIC16F84から連なる旧シリーズ,性能&コスト的に新シリーズへの移行推奨 評価は旧シリーズ内の相対比較 新シリーズが使えない場合のみ有効,MIPS値はクロックの1/4('12/08版) 40ピンは決まり -◎16F887 \180 40ピン600mil幅が許せるなら 旧シリーズ最強 28ピンはフラッシュとSRAMの差をどうとるか -◎16F886 \170 887よりピン数減ってスリム(400mil幅) -○16F883 \150 886との違い8Kw→4Kw,SRAM368Byte→256Byte ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31k-8MHとフルサポート 新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを 20ピンはF690のバリエーション多,価格差小なのでF690か,OPアンプF785,ポート割りがチョットカオス -◎16F690 \140 ADC有,eCCP有,eUSART有,SSP有,4Kw,内蔵31k-8MHzとバッチリ -○16F689 \130 F690からeCCP機能削られた -△16F687 \120 さらにF689を2Kwと半分に -×16F677 \120 さらにF687からeUSARTも削られた -×16F685 \150 F690からSSP&eUSART機能が削られたのに値段高いとは -◎16F785 \130 ADC有,CCP有,2Kw,内蔵31k-8MHz,OPアンプ搭載が異色(新シリーズにも無) 18ピンは種類は多いけど選択の幅は狭い。値段でF716いっそ20pinにするか -×16F84A \250 機能無,1Kw,新規では不要だけど作例参照用or互換用に -×16F648A \160 CCP有,USART有,4Kw,内蔵4MHz,ADC無同士でF87に軍配 -△16F628A \140 F648Aの2Kw版,売りが値段だけだと厳しいかな -△16F627A \120 F648Aの1Kw版,上に同じ -×16F627 \180 F627Aの改良前Ver,なぜこんな物が・・・ -○16F88 \200 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31k-8MHzと旧18ピンの王者ダガ高い -○16F87 \150 F88のADC無Ver,ADC無が問題なければ -○16F819 \170 ADC有,CCP有,SSP有,2Kw,内蔵31k-8MHz,F88とはROM,USARTの差 -○16F818 \150 F819の1Kw版,多機能なだけに1Kwに不安を感じる -◎16F716 \80 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い,ADC8bit注意 14ピンは10円差ならF688 -◎16F688 \110 ADC有,eUSART有,4Kw,内蔵31k-8MHz,CCP無が残念 -△16F676 \100 ADC有,1Kw,内蔵4MHz -×16F630 \100 F676のADC無し 無機能で影薄い 8ピンは多機能のF683かEEPROM無くても良いならF615,本来はデバッグ用ダガF322も -◎12F683 \100 ADC有,CCP有,2Kw,内蔵31k-8MHz,8ピンとしては多機能 -△12F675 \80/90 ADC有,1Kw,内蔵4MHz ,EEPROM必要なら,環境によってはE/P版 -△12F629 \70 675のADC無(機能無しってこと),EEPROM必要で安いの求めるなら -△12F635 \90/100 機能無し,1Kw,内蔵31k-8MHz,31kHz〜必要なら,環境によってはE/P版 -◎12F615 \60 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無さえ問題なければ -×12F609 \60 F615からADC,eCCP機能省かれてる -◎10F322 \45 8bitADC,PWM,0.5Kw,内蔵31k-16MHz,I/O4コダガFVR,温度計,CLC,NCO,CWG ;---------------------------------------------------------------------------------- 【Baseline】8bitマイコン 初代PIC1650(1978年)からホボそのまま,あまりに古い設計の為 制限多 新シリーズへの移行推奨 -△16F57 \70 28ピン,2Kw,内蔵CLK無,安くて多くのI/O欲しいなら -△16F54 \60 18ピン,0.5Kw,内蔵CLK無,安いI/O欲しいなら -×12F510 \60 8ピン,ADC有(8bit),1kw,内蔵4Mor8MHz -△12F509 \50 8ピン,機能無し,1Kw,内蔵4M -△10F222 \45 DIP8ピン,1/2Kw,内蔵4Mor8MHz,米粒PICのデバッグ用 -△10F200 \35 DIP8ピン,1/4Kw,内蔵4MHz,米粒PICのデバッグ用 共通 機能無,EEPROM無,命令セット12bit幅 プログラム組む上で制限多し(割込無イヨ
秋月じゃ売ってないけど面白しろそうなDIP品群 MicrochipDirect単価 32bitメモリ多→ PIC32MX250F128B (DIP28,40MIPS,USB,128KB-FLASH,32KB-RAM) $4.09 驚70MIPS! → dsPIC33EP128GP502 (DIP28,70MIPS,128KB-FLASH,16KB-RAM) $4.14 5V入出力! → PIC24FV32KA301 (DIP20,16MIPS,32KB-FLASH,2KB-RAM,512B-EEPROM) $3.09 18p40MIPS → dsPIC33FJ12GP201 (DIP18,40MIPS,12KB-FLASH,1KB-RAM) $2.97 14p 16bit → PIC24F08KL200 (DIP14,16MIPS,8KB-FLASH,512B-RAM) $1.80 アナログ色々 → PIC16F1783 (DIP28,8MIPS,2kW-FLASH,512B-RAM,256B-EEPROM,OpAmp,12bitADC,8bitDAC) $2.02
12F510は好きだったのに 同じ値段でもっといいの売られてたか
>>960 CCSの回し者ですが8ピンでアナログが付いててPCBコンパイラ(今なら無料でマイクロチップのIDEに付いてる)が使えるという利点があるよ。
8bitと荒くていいならすぐにでもPC直結型のセンサーポットが作製できる。
ソフトウェアUARTでデータ垂れ流しとかになるけど…。
おすすめリストは、個人で受け止め方が違うから ブログか何かでやってほしいって感じ。
このリストがあるから俺はこのスレに来てるんだ 黙ってろクズ
来なくてもいいのよ? というのはさておいて まとめサイトがあると楽なんだろうけど 別にスレを消費しても悪いわけでもなかろうて
つか、これは好みとかじゃなくてかなり合理的に判断されてるだろ よく見てないのかな 全ての点で機能が上の製品の方が安い、みたいなケースが往々にしてあって、 互換性とかの理由がない限り買う意味がない製品を避けるのに役立つ
よく会社にいるじゃん 他人のする事にいちいち批判的な奴 自分の価値や存在が確かめられなくて全て否定したがる可哀相な奴
しばらく見ない間に出てきた新製品をチェックするのに便利だ
良くできたリストだといつも感謝している
でも、チップの選定は、あれこれ調べるのも工作の楽しみ。 使う機能にエラッタが影響しないかもね。 面倒なら少し古い型番でメジャーなのを使うと安心
そういや秋月のPIC16F1823はADCエラッタ改善したリビジョンになったのかな。
く、車輪の再発明
>>974 毎度の事
ひらめいて、作り始めて、ヒントを探すと同じ物ってねw
スレ立て&リスト保守乙
978 :
774ワット発電中さん :2012/08/21(火) 21:21:25.38 ID:Rutkr4Ut
車輪を再発明するのが悪とでも言わんばかりの論調が スーパージェッタ−の実現を徒に遅らせる
マイクロチップでpickit2が2800円ぐらいだけど、買いなんだろうか。 1.8Vの回路なんかいじらんと思うけど、「拡張EE」とか「正確な参照電圧」とかって何?
pickit3にした方がいいと思う
pickit3買ったけど1回も使ってない 今のところpickit2でなんら不足は感じないし
PICライタ自作するのも手だ。
RCDは使ってた。ただ、PC買い換えたら、シリアルが無いんだ。 価格もこなれてきたので、PIC24あたりも使ってみようかと思ってる。
984 :
774ワット発電中さん :2012/08/22(水) 19:38:37.25 ID:UrRqPNK+
pickit3のほうが速いよ、特にデバッグ。
違いが判らん
>>974 自分も良く再発明するな。
再発明して一年後、ああ、5年前に読んだ本に書いてあったのはこのことだったのか、と理解できた。
>>983 USB接続のシリアルポートは1個もっとくと便利だよ。
LVPで書き込むなら高い電圧の電源いらないんでRCDのような回路も必要ないよ。
988 :
774ワット発電中さん :2012/08/23(木) 19:37:46.24 ID:cYIihJ+u
もう一つの方が進んできてるんで 1000!!
1日1埋め
なぜか皆、新しい方に入れちゃうのね。梅
畳となんちゃらは新しいほうが・・・
嫁なら3ヶ月ごとに新しくしてるのだが・・・
PICで電子工作を勉強中の者です PICのクロックは、内蔵のものと外部のもの2つを選べるのですが ネットなどで公開されている回路図は殆どが外部に水晶発信器やセラロックを使用しています 自分みたいな初心者は、内臓のほうが部品も少なくてすみ簡単だと思うのですがなぜなんでしょうか? 内蔵のものは精度が足りないことのようですが、精度を求めなければ内臓で十分だと思います 皆さんのご意見をお聞かせ下さい よろしくお願いします
オレは全て内蔵でやっている 内蔵の精度で十分な工作しかやってないから
>>993 PICに内部クロックが無かった世代に書かれた本を丸写ししてるから、かもねー。
>>993 要求される精度との天秤です。
例えば、24時間365日時間通り動くスケジュールタイマー作りたいとかは、
内部誤差5%もあって温度変化に弱いクロックなんて使いませんよね?
逆に、スイッチを押したらモーターが回るとか、シーケンスをこなす用途に
一つ数千円する100ppmオーダーの水晶なんて搭載しないですよね?
そういう部分を見極めればよいだけです。
通信関係なら、公称値という呼び方で定義されていてエラーレートがチップデータシートに
記載されているので、それが許せる範囲かを調べれば良いです。
趣味で作る場合は、できるだけコスト下げたいから、大抵は内蔵発振を使うと思いますよ。
基本的には内蔵だけど、外付けだと20MHzまでいけるからブースター的に使う
内蔵で32MHzなオレの立場は・・・
18Fなら内蔵64MHzいけるよ
1000? 埋め終わり
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。