1read 100read
2012年09月電気・電子11: PIC専用のスレ Part40 (587) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【ニキシー管】絶滅表示デバイス 7【デカトロン】 (947)
今日の出来事@電気・電子板 1.01 (617)
AVRマイコン総合スレ Part26 (629)
3Dプリンター 個人向け (324)
破裂とか][痛かった件について][感電とか (283)
PIC専用のスレ Part40 (587)

PIC専用のスレ Part40


1 :2012/08/21 〜 最終レス :2012/10/23
....  /Microchip ./|
 /( ゚∀゚)    /  | アセンブラのアの字もわからない
 |~ ̄ ̄ ̄ ̄ ̄|  /. 超初心者からHEXが読めてしまう
 |/Z./Z./Z./Z_|/ ||  鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
  ||. ||. ||. ||
大人気のPICマイコンのスレ。
なんといっても情報が豊富だし、開発環境も多いし、パッケージも豊富。
使いやすくて、しかも安い。やっぱりPICだよね。
例の如く基本リンクだ
http://www.microchip.com/  マイクロチップ本社(Microchip Technology Inc. )
http://www.microchip.co.jp/ マイクロチップ テクノロジー ジャパン 株式会社
またーりやっておくんなまし。
教えて君はとりあえずGoogle(http://www.google.co.jp/) くらい使おう
前スレ
PIC専用のスレ Part39
http://uni.2ch.net/test/read.cgi/denki/1340094455/

2 :
マイクロコントローラ歴史 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リマップ

3 :
【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

4 :
【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可能

5 :
【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幅 プログラム組む上で制限多し(割込無イヨ

6 :
秋月じゃ売ってないけど面白しろそうな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

テンプレはここまでだよ。

7 :
>>1
おつ

8 :
わからん!!!!!!!!!!!!
PIC16F688とMCP4822をつかってD/Aをしたいのだが電圧がでない。。
PICにSPIがないので汎用IOで通信。接続は
RA0<->SCK
RA1<->SDI
RA2<->CS
俺のスペック
PIC:初めて触る
C言語:文法は知ってる。
電子回路:よく知らん。
今回、「キホンからはじめるPICマイコン」で勉強してる。
その他最低限必要な知識は頭に入れてるところ。
DAのところのソースは、、

9 :
// DA(VoutA)出力
void OutputDaA()
{
unsigned long cycle = 1;

unsigned char buf_da1_msb = da1_msb;
unsigned char buf_da1_lsb = da1_lsb;
PORTAbits.RA0 = 0; // SCK端子 -> Low
__delay_ms(DELAY0);

/* 通信開始 */
PORTAbits.RA2 = 0; // CS端子 -> Low
__delay_ms(DELAY0);
/* 設定bit出力 */
PORTAbits.RA1 = 0; // SDI端子 -> チャンネル選択(L:ch=A, H:ch=B)
__delay_ms(DELAY0);
PORTAbits.RA0 = 1; // SCK端子 -> High
__delay_ms(DELAY0);
PORTAbits.RA0 = 0; // SCK端子 -> Low
__delay_ms(DELAY0);

PORTAbits.RA1 = 0; // SDI端子 -> dumy(Low)
__delay_ms(DELAY0);
PORTAbits.RA0 = 1; // SCK端子 -> High
__delay_ms(DELAY0);
PORTAbits.RA0 = 0; // SCK端子 -> Low
__delay_ms(DELAY0);
PORTAbits.RA1 = 1; // SDI端子 -> ゲイン選択(L:G=2, H:G=1)
__delay_ms(DELAY0);
PORTAbits.RA0 = 1; // SCK端子 -> High
__delay_ms(DELAY0);
PORTAbits.RA0 = 0; // SCK端子 -> Low
__delay_ms(DELAY0);

PORTAbits.RA1 = 0; // SDI端子 -> シャットダウン設定(L:シャットダウン, H:出力イネイブル)
__delay_ms(DELAY0);
PORTAbits.RA0 = 1; // SCK端子 -> High
__delay_ms(DELAY0);
PORTAbits.RA0 = 0; // SCK端子 -> Low
__delay_ms(DELAY0);

10 :
/* DACインプットコード転送 */
// 送信データをMSBから順次1ビットずつ出力する
int i = 0;
for(i = 0; i < 4; i++)
{

if((buf_da1_msb & 0b00001000) == 0)
{
PORTAbits.RA1 = 0; // SDI端子 -> Low
__delay_ms(DELAY0);
}
else
{
PORTAbits.RA1 = 1; // SDI端子 -> High
__delay_ms(DELAY0);
}

PORTAbits.RA0 = 1; // SCK端子 -> High
__delay_ms(DELAY0);
PORTAbits.RA0 = 0; // SCK端子 -> Low
__delay_ms(DELAY0);

buf_da1_msb = buf_da1_msb << 1; // 1bit左へシフト
}
for(i = 0; i < 8; i++)
{

if((buf_da1_lsb & 0b10000000) == 0)
{
PORTAbits.RA1 = 0; // SDI端子 -> Low
__delay_ms(DELAY0);
}
else
{
PORTAbits.RA1 = 1; // SDI端子 -> High
__delay_ms(DELAY0);
}

PORTAbits.RA0 = 1; // SCK端子 -> High
__delay_ms(DELAY0);
PORTAbits.RA0 = 0; // SCK端子 -> Low
__delay_ms(DELAY0);

buf_da1_lsb = buf_da1_lsb<<1; // 1bit左へシフト
}

PORTAbits.RA2 = 1; // CS端子 -> High
__delay_ms(DELAY0);
}

11 :
インデントがなくなって見にくくなったな。。
ポートの設定は
// Register: CMCON0
CMCON0bits.CM = 7; // (RA0,RA1,RC0,RC1) -> IO
// Register: ANSEL
ANSEL = 0; // (RA0,RA1,RA2,RA4,RC0,RC1,RC2,RC3) -> IO

// Register: TRISA
TRISAbits.TRISA0 = 0; // RA0:出力->DAC
TRISAbits.TRISA1 = 0; // RA1:出力->DAC
TRISAbits.TRISA2 = 0; // RA2:出力->DAC
TRISAbits.TRISA3 = 1; // MCLR
TRISAbits.TRISA4 = 1; // OSC1
TRISAbits.TRISA5 = 1; // OSC2
// Register: TRISC
TRISCbits.TRISC0 = 0; // RC0:出力->リレーON/OFF
TRISCbits.TRISC1 = 0; // RC1:出力->トランジスタON/OFF
TRISCbits.TRISC2 = 1; // RC2:入力<-SW
TRISCbits.TRISC3 = 1; // RC3:入力<-センサー
TRISCbits.TRISC4 = 0; // シリアル通信(TX)
TRISCbits.TRISC5 = 1; // シリアル通信(RX)
だ。

12 :
PCとシリアル通信してるから
PORTAレジスタをLOGって見ると、プログラム通りに
動いてる感じ。。
da1_msbとda1_lsbはPCから送られてくる。。

13 :
> 電子回路:よく知らん。
ダメジャン

14 :
> ダメジャン
だけど、コンデンサ、トランジスタ、抵抗、リレーくらいはしってる。
ブレッドボードで、そこそこやった。

15 :
>>12
MCP4822のLDACはGNDに接続してる?

16 :
>>15 接続してる。よーわからんから5Vに接続してみたりもした。
こわれたかなw

17 :
予備のでやってみたけどやっぱだめだ。。

18 :
>>17
シャットダウン設定が逆じゃね?
>PORTAbits.RA1 = 0; // SDI端子 -> シャットダウン設定(L:シャットダウン, H:出力イネイブル)

19 :
>>8
前スレ使わんと

20 :
解決しました

21 :
完全に詰んだ。。。。。
タイミングチャートの通りに、(SDI,SCK)一つ一つ電圧レベルを
確認しながらやったけどDAが出ない。。

22 :
あ、スレがのびてた。。。。
>>20 やってみる。

23 :
>>20
できた!すごい!
シャットダウン設定の意味がよーわからんがw
PICって何?てとこからはじまってたから、ハードル
たかかったわ。サンクス。

24 :
俺に言われても困る

25 :
AAAは一体何と会話してるんだ。。

26 :
MikorCの試用版でPIC32MXの簡単なプログラムを試してるんですが、凄く遅いです
同じコードでdsPIC33で動かすと、それと比較して半分以下になっています
ネットで調べると、純正コンパイラはsystemconfigperformance()という関数があり
waitstatesやキャッシュ有効などの最適化をして最高速度を出すみたいなんですが
もしMikroCでPIC32いじってる方いましたら、どうすれば最高速度を出せるか教えて下さい
よろしくお願いします。

27 :
>>26
データシートに書いてあったような。

28 :
人のスレだけど個人的に参考になったので勝手に貼り
843 :774ワット発電中さん:2012/08/13(月) 20:07:21.20 ID:d9vIhKnq
 だったらいっそBANKなど無い PIC24/dsPICのほうが
 PIC16Fのアセンブラやる根性あるならPIC24のアセンブラの方がずっと楽、レジスタも増えてるし、SPもある。
 演算もベース、ソース、デストネーションを別に指定できる(同じでも可)、こんな命令も1命令で可
 ADD W2, [W3++] , [W4++] ; W2の値を、W3が指すメモリ内容と足して、W4が指すメモリへ & W3,W4はそれぞれ+2
 PICらしさの W0のみだけど即値で指定したメモリとの直演算も可能
 
 PIC24/dsPICはすごく使いやすい命令セットになってるのに、アセンブラがほとんど使われないのはとても残念。
 PIC32は・・・これはコンパイラ必須だなと思った。定数ロード命令はなく、ゼロレジスタとの足し算って・・・なんか違う。
847 :774ワット発電中さん:2012/08/13(月) 22:11:47.43 ID:d9vIhKnq
 PIC32はぜんぜんちがう。例えば
 サブルーチン呼び出したらリターンアドレスはレジスタR31(ra)に保管される。
 更に呼び出す場合どうするんだろう? と調べたらサブルーチン先頭で
 自前でスタックに積む必要がある、さらにPUSHなんて便利な命令は無く
 spレジスタをマイナスした後,そこにR31(ra)をストア
 リターンするときもR31を取り出して、sp動かして R31のアドレスにジャンプ
 
 普通ならCALL〜RETですむのに。
 
 もしこれをアセンブラで書かないといけないとかなるとPIC16Fと同じくらいきついかも
849 :774ワット発電中さん:2012/08/13(月) 22:40:28.37 ID:d9vIhKnq
 まだ命令ながめてる段階だから。多分PIC32でアセンブラ使うことは無いだろうし
 ただ知識としては入れておきたい。
 で一番の疑問は、このアーキテクチャって速いの?
 
 同MIPS値のCISC的なPIC24と比べたら、RISCなPIC32はできることが限られる分
 遅くなるわけで、その分を高クロックで補うかといわれるとラインナップもMax80MHz(80MIPS)
 PIC24E/dsPIC33EのMax70MIPSとあまり変わらない。
 超高性能を期待したのだけど32bit以上の演算を行わないとPIC24とたいして変わらないor以下
 なのかなと

29 :
>>847
もともとMIPSアーキはCコンパイラの吐くコードを速く走らせる目的で
設計されてる。
内部で関数呼び出ししないleafな関数は、r31を積まないので速い。
分岐命令の後ろの遅延スロットとか、load命令直後のレジスタ参照ペナルティ
とかあるんで、そもそもアセンブラで書くもんじゃないと思っている。

30 :
MIPSであと驚いたのが、フラグが無いこと。
桁上り(キャリー)どうするのとおもったら
addu v0 , a0, a2 ; v0=a0+a2
sltu t0 , v0 , a0 ; if v0<a0 then t0=1 else t0=0
1命令と32bitレジスタ1個潰してキャリーフラグ相当作るのかよ・・・
まあ32bitあれば桁上りする数値扱うことも少ないだろうから
合理的なんだろうけどね

31 :
キャリー付加減算がないおかげで多倍長演算
が遅いって、うちのばあちゃんが言ってた。

32 :
まあトータルで考えて、ソフト的には重荷になるけど(コンパイラでしのげるし)ハードウェハを出来るだけ
簡素かしてトランジスタを減らすのが効率がいいという結論なんだろうな>MIPS
前スレで計算したMIPSあたりの消費電力も32bitで不利なはずなのに 3.3Vで 1.7mW/MIPSと
他の16bitPICより低消費だし(低消費が売りのPIC24F08KL200には負けるけど)
(参考)データシートから消費電力と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】0.8mA@1.8V,4MIPS
[PIC16F1827] 【15mW ,1.9mW/MIPS】3mA@5V,8MIPS , 【3.1mW ,0.8mW/MIPS】1.7mA@1.8V,4MIPS
[PIC18F2550] 【125mW ,10.4mW/MIPS】25mA@5V,12MIPS
[PIC18F14K50] 【65mW ,5.4mW/MIPS】13mA@5V,12MIPS , 【3.6mW ,0.9mW/MIPS】2mA@1.8V,4MIPS
[PIC18F26K22] 【39.5mW ,2.5mW/MIPS】7.9mA@5V,16MIPS , 【2.2mW ,0.5mW/MIPS】1.2mA@1.8V,4MIPS
[PIC24FJ64GA002] 【49.5mW ,3.1mW/MIPS】15mA@3.3V,16MIPS , 【5.2mW ,1.3mW/MIPS】2.6mA@2V,4MIPS
[PIC24F32KA301] 【65mW ,4.1mW/MIPS】13mA@5V,16MIPS , 【4mW ,1mW/MIPS】2mA@2V,4MIPS
[PIC24F08KL200] 【25.6mW ,1.6mW/MIPS】7.76mA@3.3V,16MIPS , 【2.6mW ,0.6mW/MIPS】1.44mA@1.8V,4MIPS
[dsPIC30F4012] 【620mW ,20.7mW/MIPS】124mA@5V,30MIPS , 【99mW ,5mW/MIPS】30mA@3.3V,20MIPS
[dsPIC33FJ32GP202] 【178.2mW ,4.5mW/MIPS】54mA@3.3V,40MIPS
[dsPIC33EP64GP502] 【135.3mW ,1.9mW/MIPS】41mA@3.3V,70MIPS
[PIC32MX1xx/2xx] 【66mW ,1.7mW/MIPS】20mA@3.3V,40MIPS

33 :
>>6
> 5V入出力! → PIC24FV32KA301 (DIP20,16MIPS,32KB-FLASH,2KB-RAM,512B-EEPROM) $3.09
5V動作も可、と書くべきでは。
5Vトレラントなピンを持つ3Vデバイスもあるし。

34 :
PICkit 2 ProgrammeでRevisionを表示してくれないかな。Device IDを読み取って
デバイスを表示してるんだからRevisionも同時に読み取っているはず。

35 :
dsPIC30F4012でEEPROMに書き込みたいのだが何故か書けない。
__asm__ volatile ("TBLWTL W1,[W0]"); 
ここでPICkit3 が
PK3Err0031: Failed to get PC
と表示されて止まってしまう。何故?

36 :

おまえら、ライター何使ってるんですか?

37 :
PICkit3

38 :
>>36
自作
適当な古いPCのDOS環境で、シリアルーパラレル変換するだけの、極めて単純なプログラムを作る。
いまさらDOSのプログラムをデバッグしたくないから、とにかくバグが出ないようシンプルに作る。

Windows環境で、↑のためのPICライタのプログラムを書く。
Windowsなのでプログラム書きやすいし、なんといってもデバッグが簡単。

パラレルポート用のPICライタとしてはAN589(だっけ?)があるが、
LVP専用ってことなら適当な抵抗を介して繋ぐだけでOK。

とりあえず最低限の機能のPICライタをゲットしたことに

単なるシリパラ変換でPC1台使うのもアホらしいので、
早々にPICマイコンに置き換える。
このとき、シリアルを別のPICマイコンにスルーするシカケを入れておく。

書き込み速度が遅いので、単なるシリパラ変換ではなく、
コマンドを送ると一定の処理して結果を返すものを作る。
接続は
PC→シリアルケーブル→レベル変換→前段のPIC(シリパラ変換だけのPICライタ)→後段のPIC(高速版のPICライタ)→書き込み対象のPIC
こんな感じでテストやデバッグとかやり、満足したら後段のPICをソケットから抜いて前段の位置にさしかえる。

使える速度のPICライタをゲットしたことに。
こんな車輪の再発明なんか、やるだけ無駄っていう気もするんだが、自作の強みが1つある。
それは、pickit等が未対応の最新のPICでもデータシートさえあれば書き込めるってこと。

39 :
>>38
>それは、pickit等が未対応の最新のPICでもデータシートさえあれば書き込めるってこと。
今までそういう機会ってどんだけあった?

40 :
>>39
無い。

41 :
いや、あったぞ。
PIC16C84が秋月で売られはじめた直後、
AKI-PICなんちゃらが非対応だったし、
AN589ライタを使おうにもAT互換機なくて。
AN589ライタの回路を9801のプリンタポート用に変更して、
ライタのソフトもデータシートとAT互換機用のサンプルコードを元に書いた。
・・・いまどき、そんな機会はもうないか。

42 :
趣味なんだから、楽しんだ(苦しんだ)者勝ちじゃね。

43 :
>>35
MPLABのデバッガでflashメモリをデバッグしようとしたら動かなかったよ。
デバッガがターゲットのreservedメモリエリアに何か置いてるっぽいんだけど、それがTBLWTを嫌がるのかもね。
プログラマで書き込んでデバッグするしかない。

44 :
10MHzの水晶を使ってトリマコンデンサで微調整して出来るだけ10MHzにして時計を作ったら1年でどのくらいずれますか?
20MHzにするとどのくらい改善するでしょうか?

45 :
>>44
比較とする10MHzとピッタリ合わせた場合、比較元の10MHzの誤差を元に計算すればOK
温度は…例えば一年中25度、ズレは0.1度以内で。とかになる

46 :
>44
具体的な数値が無いのに、どうしろと・・・
無調整の水晶振動子で±50ppm位か、調整したら±5ppm程度にできるのかな
さらに温度特性で10ppm位上乗せで±15ppmくらいか(年間±473秒)
市販の時計レベルの月差±15秒(±5.8ppm)を通年で達成するのは簡単じゃないよ。

47 :
そこでデムパ時計ですよ

48 :
>>44
水晶という素子の特性だから絶対確度そのものは、周波数に依存しないんじゃないかなぁ・・
製造工程や、雰囲気温度に左右されると思うよ

49 :
117に1時間おきにダイヤルすれば問題ないあるよ

50 :
OCXOなら年に1秒以内とか楽勝だな。

51 :
AC100Vの波数を数えるとかいうネタもあったね。
周波数の変動はあるけど、1日当たりの波数は最後に微調整してあるとか何とか。

52 :
>>51
最大一日30秒くらい。年間では数秒かな。遅れたり進んだりしながらトータルでは合ってるよ。
オレ電源同期の時計を現役で使っている。停電で点滅になっちまうが・・・

53 :
電話の発信音も原子時計に同期してるらしいが
ムダな精度だよな

54 :
その昔、セイコーだったかが、32.768kHzで低消費電力(μAオーダーだったな)
の精度0.5ppmなんていう水晶発信器を作っていたんだがな。
製造中止になってしまった。

55 :
昔売ってた腕時計は、月差の微調整をアップダウンで設定できて便利だったんだがなぁ

56 :
>>52
> 最大一日30秒くらい。
ときには一日で戻しきれないのか・・・
どのぐらいで戻るもんなの?

57 :
>>53
発信音の精度のために原子時計を使っているのではなく、
交換機どうしがマスタークロックに同期して動いているので、
発信音などもマスタークロックに由来してるってだけだよ。

58 :
TWI=I2Cの理解でOK?

59 :
最も昔から問題視されたクロックスキューの1つか

60 :
>58
それはAVRのスレで聞いたほうがいいよ。TWIと書いてるのはatmelくらいかも
TWIが Two Wire Interface の略なら TWIの中にI2Cが含まれるってのが正しいのかな?
3線のSPI (SSは置いといて)
2線のI2C
1線の1-Wire
あたりがメジャーか(1-Wireはそうでもないかw)

61 :
1wireつこーてみたけど、やっぱプロトコルがそれなりに複雑やなぁ

62 :
AVRマイコンのTWIはクロックストレッチにも完全対応の
完璧なI2CだよI2Cの機能以外の機能は何もない

63 :
AC100Vの周波数の話は以前も出たけど、これだな
ttp://www.tepco.co.jp/corporateinfo/provide/engineering/wsc/freq-j.pdf
>9.1.2 常時の調整目標と調整範囲
>常時の周波数調整は標準周波数(50Hz)を目標とする。
>なお、常時の周波数・時差の調整範囲は以下のとおりとする。
>(1) 常時の周波数の調整範囲 50.0±0.2Hz以内
>(2) 常時の時差の調整範囲 ±15秒以内
瞬間的に見れば0.4%も誤差が出る場合があるが、調整を行うので誤差が蓄積されない
1時間で15秒近くずれるかもしれないが、10年たっても誤差は15秒以内 (停電しないことが前提だが)

64 :
>61
温度計のDS18B20なんか高精度で電源含めて2ピンだけで複数個接続できて便利だけど
変換に1秒近くかかるのと、プロトコルの複雑なのは使いづらいね。特に複数接続時の
ID検索とか

65 :
>>63
昨年の計画停電のときに商用電源をモニタしてた人達は面白かっただろうなー。
普段では見られないくらい周波数が下がりっぱなしになったり、
深夜に一気に遅れを取り戻したりと・・・

66 :
30秒ずれた人は、何かやばいときに動作させてたんだろうか・・・

67 :
質問です。
pic24fファミリリファレンスマニュアルとpic24fj64ga004のデータシートにおいての
SPI通信のマスターモードのクロック周波数の所で、
「Tcy=Tosc/2に基づく。ダズモードとPLLは無効とする。」
「Based on Tcy=Tcy/2; Doze mode and PLL are disabled.」
という記述があるのですが、これはPLL回路を使った命令サイクル周波数が無効になるということなのでしょうか?
この記述が示すところが何なのかさっぱりわかりません。orz

68 :
今USBの無線LANアダプタものすごく小さいものが出回っているんですね。(LAN-W150N/U2BK)
こういうのUSB PICで使えたら楽しいだろうなぁ、と。

69 :
>67
全く自信ないけど
TCY=2*TOSC , ただし Doze mode と PLL が無効の場合のみ左式は成り立つ
TCYは1命令サイクル
データシートのTABLE 27-13: EXTERNAL CLOCK TIMING REQUIREMENTSを見ると
TOSC=1/FOSC とのこと,でFOSCってのが
4xPLL通す前のクロックらしい(PLL有設定の上限が8MHz、無なら32MHzなので)
Doze mode は 周辺回路のクロックを1とした場合のCPUのクロックを1/1〜1/128まで
遅くする機能(CLKDIV)
Doze mode と PLL があると式が複雑になるので、省きたかったのでは

70 :
>>68
USBホスト対応のPICなら、使えるんじゃね?

71 :
>>69
なるほど、それでは内臓発振8MHzを4xPLLしていた場合、
SPI通信の最大のクロック周波数は4MHzになるということですかね。
自分はPIC間の通信に使うつもりなので、たぶん同じ値にしておけば問題はないのですが、
気になったので質問させてもらいました。
今度、通信が成功した後、どうにかして計ってみようと思います。
返信ありがとうございました。

72 :
>71
周辺回路へ供給されるクロックは4xPLL後だから16MHzじゃないかな。
あの表現は、実はたいした意味が無いのかも

73 :
>>70
ハード的には出来るかもと思わせますがね・・・

74 :
>>73
何がネックになるのだろう。

75 :
>>74
よくわかってませんが、以下のような困難な作業があるのではないかと思います。
1)Wifi子機のUSBのIF仕様の入手
2)Wifiプロトコルの実装
3)TCP/IPプロトコルの実装
4)Wiifi子機ドライバの実装
どこかから一式DLできるのならいいのですけどね。
自分はWiport使ってチマチマやっていますが、
値段とサイズで圧倒的する市販のUSB無線LANアダプタを使いたいな、と。

76 :
なるほど・・・けっこう工数かかりそうだな・・・

77 :
USBメモリにログが取れるだけでいろいろ便利なのに

78 :
>どこかから一式DLできるのならいいのですけどね。
まっ、今の日本じゃ”自作=コピペ”だからな。

79 :
>>75
まじレスすると
USBのプロトコルとWiFiプロトコルに関する規格は各メーカまかせで
決まりがほとんどない
だから、あっちのUSBドングルでは動くけれど
こっちのドングルでは動かない
PCのUSBスニファソフト使えば、作れないことも無いだろうけれど
Linuxでの対応デバイスの状態を見れば明らかで、
この上なく面倒くせぇ
ついでに書くと、Bluetoothはそこら辺りの規格が無線大前提で統一されているから
ドライバ書くのも楽だしPICでの創作例は多々ある
もっとついでに書くと
USBドングルつかう場合は、Bluetooth含め電波法に接触する可能性がある
USBドングルメーカは技適を取得する際ドライバ込み(ソフトウェア)で取得している
(数社のUSBドングルで技適認証機関に問い合わせたら、ドライバ改変は対象外と云われた)
(そうでは無いメーカもあるかもしれないけれど、、、)
結論としては、
Xbee使えって事だな

80 :
wifiのドングルをOSなしのマイコンに繋げた例はまだ見たことないな
暗号化の壁かな

81 :
ちょいとサイズは大きくなるが
ttp://buffalo.jp/product/wireless-lan/client/wli-utx-ag300/
こういうのを使うのが楽かもね。

82 :
PICで、バンク切り替えがなくなったという話を聞きました。
本当でしょうか?
クロックの1/4は、まだありますか?

83 :
>82
バンク切り替えが有る品種もあるし、ない品種もある
1命令の実行に”4クロック”かかるのも、”2クロック”かかるのも、”1クロック”で済むのもある
これなんかはバンク無いよw
ttp://ww1.microchip.com/downloads/en/DeviceDoc/41270E.pdf

84 :
>>83
ムカついたけどワロタ

85 :
秋月は一向にPIC10F322のSOT32を仕入れないな
200や222を売り捌くつもりなのか

86 :
75です。>>79さんのマジレスに大感謝です。ありがとうございます。
これは凄いと思って買ったWiportを1〜2年放置し、最近使い始めたのですが、
Xbeeを始め各種無線商品が出揃っていて、更に無線LANアダプタも凄くコンパクトに・・・
また誰かがこれを使って揚々と遊んでんだろうなぁと思うと、激しくやる気が削がれていました。
買ってしまえばWiport使うのはタダなので、これでじっくり遊ばしてもらいます。
>>81さん、情報ありがとうございます。金ができたら家のテレビに繋げたいと思います。

87 :
>85
そうかもね。
10F222(SOT-23)3000個(12万円)の在庫がAAAって事は相当持っているだろうから
ただ3000個も欲しい人はmicrochipDirectから買うだろうなw 3000個なら単価$0.38
1$=80円で計算しても9万1200円 送料や税金入れても10万円程度だろうし


88 :
最近18F26K22をいじり始めたんだけど、TIMER1の外部非同期入力の周期が最大
60ns(16.7MHz)なのでTIMER1そのものが16.7MHzまでしかカウントできないのかと
思ったら、システムクロックを64MHzにして内部で供給したらちゃんと64MHzで
カウントするんだよな。
入力バッファかセレクタが遅くて外部クロック16.7MHzまでしか使えないとしたら、
なんかもったいないな。

89 :
>88
クロック内部入力は実質 同期入力だからかな。非同期だと内部動作といろいろかち合いそう
プレスケーラを使うか、もっと速いの使うか(dsPICやPIC32は40,20nsと高速化されてるみたい)
ちょっとめんどくさいけど、プリスケーラ値を読み出すテクニックもあったはず
”プリスケーラ読み出し PIC”で検索

90 :
>>89
レスどうもです。
今は10MHzで使う予定なので良いのですが、ちょっともったいないと思ったもので。
そういえば、同期入力でプリスケーラ使うと50MHz(20ns)までいけるのに、
非同期入力でプリスケーラ使っても16.7MHz止まりっていうのも何か変だな。
試しに非同期入力で50MHz入れてみようかな。
クロックを内部FOSCにするとゲートがFOSC/4に同期させられて下2ビットが
意味なくなるというエラッタ(Rev A5でも直ってない。直せない?)もあるし、
入力周波数範囲がDC〜50kHzなんて書いてあっていまいち信用できない。

91 :
直ってないならエラッタではない

92 :
MPLABX IDE v1.30
PicKit3 (0Ω抵抗実装済み) ファーム01.27.20
OS win7-64bit
上記にてPIC16F1823は正常に読み書きできるが、12F1822では読み書きできない。
書き込み時のエラーメッセージは
Target Device ID (0x0) does not match expected Device ID (0x2700).
デバイスIDが読めていないみたい。
なんで?
ちなみに古いほうのPC(WinXP、MPLAB IDE v8.66)では12F1822の読み書き可。

93 :
ターゲットマイコンへの給電設定とかだいじょぶっすか?

94 :
だいじょうぶっす

95 :
12F1822のターゲットの基板の電源の消費電流が大きいんじゃない?

96 :
ブレッドボードに組んでるので、プルアップの10kΩと電源の0.1uF以外何も無い状態で、PicKit3から電源供給してるんで消費電流は問題無しです。
ちょうど今、Win7PCにMPLAB IDEv8.87もインストール(Xと共存するか不安だったので今までやってなかった)して確認すると、
v8.87ではやっぱり12F1822の読み書き可です。
MPLAB X のバグとしか考えられない・・・
MPLAB X とPicKit3の組み合わせで12F1822の読み書きできてる人いるんですかね?

97 :
ブレッドボードで単独書き込みのできる環境を作って試してみるとか。

98 :
あっ、やってたのね。すまぬ。。

99 :
まえも、v8.87とXじゃなかったけど、ソフトが競合しててダメだった人いたなぁ
両方ソフト終了して、PicKit3抜き差しして、Xだけ立ち上げ直してもだめかねぇ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
アンプを作ろうPart2 (723)
俺のコイルガンがよわい (294)
高周波電源 (205)
☆電気・電子の宿題,試験問題スレ☆11 (237)
【ついに来た・・】2SC1815が新規設計非推奨に…Tr3 (263)
【学部】電気工学系学生の就職【研究】 (241)
--log9.info------------------
【ECサイト】CS-Cart Part1 (944)
くだらない質問でも偉そうに聞いていいスレ (397)
ショッピングカート総合スレ (416)
PHP上級者が集まるスレ (582)
【毒】 DokuWiki 総合スレ 【毒】 (376)
PHPで作られた有名サイトってあるの? (696)
IDにPerlが出たら神!PHPが出たらシメジ Part32 (478)
OpenPNE その6 (506)
Apache2.x 【新鯖入荷しました】 (636)
■CGIは死滅。これからは.NETできまり■ (360)
php5これでCGIはphp1色の時代へ (845)
サーバーサイドJavaScript総合 (242)
Google App Engine for Python 4アプ目 (881)
WebLogic に詳しい人いません。 (621)
[PHP][フレームワーク]CodeIgniter Part2 (592)
CGIで運営される2ちゃんねる (222)
--log55.com------------------
新・5文字だけでしりとり その7
【平成しりとり】 Part.4
漢字あたまとり その85
☆前の人のIDで制限されるしりとり★Part43
(^-^)キョ子ちゃんの手で持てない物しりとり13
【新】漢字しりとり【玖】 Part 72
新・漢字1文字とって千人名前を連ねよう!上級編353
【あの人は今】しりとり★3