PIC専用のスレ Part38

このエントリーをはてなブックマークに追加
1774ワット発電中さん
....  /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専用のスレ Part37
http://uni.2ch.net/test/read.cgi/denki/1329524296/
2774ワット発電中さん:2012/05/02(水) 21:47:30.03 ID:b4xeqkTp
[新シリーズの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可能
3233:2012/05/02(水) 21:48:51.25 ID:b4xeqkTp
秋月の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でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない
4774ワット発電中さん:2012/05/02(水) 21:49:53.97 ID:b4xeqkTp
秋月の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命令有
5774ワット発電中さん:2012/05/02(水) 22:17:18.52 ID:rE16su77
一応 リスト新しいの作ってあるので貼っとく
6774ワット発電中さん:2012/05/02(水) 22:18:00.68 ID:rE16su77
【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可能
7774ワット発電中さん:2012/05/02(水) 22:18:36.16 ID:rE16su77
【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でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書に載ってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない
8774ワット発電中さん:2012/05/02(水) 22:19:24.17 ID:rE16su77
【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
9774ワット発電中さん:2012/05/02(水) 22:19:57.91 ID:rE16su77
【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リマップ
10774ワット発電中さん:2012/05/02(水) 22:21:15.59 ID:rE16su77
秋月じゃ売ってないけど面白しろそうな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デバッグ用)
11774ワット発電中さん:2012/05/02(水) 22:22:14.68 ID:rE16su77
マイクロコントローラ歴史
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品とほぼ同じ)
12774ワット発電中さん:2012/05/02(水) 23:23:01.33 ID:mmssslHv
>>1-ちょっと前
まとめも乙。

しかし、まとめてもこの数・・・
どっかにWikiでも置かないか? 管理は任せた。
13774ワット発電中さん:2012/05/02(水) 23:59:45.97 ID:zxkoMyGL
2chの過去ログ以上に保全されるなら
14774ワット発電中さん:2012/05/03(木) 00:17:34.67 ID:pSCzZuzw
このリストがあるからこそ私はこのスレにくるのだ
15774ワット発電中さん:2012/05/03(木) 00:39:27.25 ID:RfPahMMF
8pinのPICで6pin全部出力に出来るのって有りますか?
めぼしい機種を調べてみたんですが、
1pinが入力のみになってるのしか見つからないんです。
もしかしてそんなものは存在しないのでしょうか(´・ω・`)
16774ワット発電中さん:2012/05/03(木) 00:43:46.61 ID:5tRj51l1
確かに5個までのしか知らないな
17774ワット発電中さん:2012/05/03(木) 00:52:57.27 ID:a2Zd3imz
>>15
8ピンPICで入出力可能なのは5本までだけど、MCLRを弱プルアップして擬似的に出力として使う裏技があったと思う。
18774ワット発電中さん:2012/05/03(木) 00:57:11.31 ID:pSCzZuzw
なるほどなるほどI2C的な手法ですな
19774ワット発電中さん:2012/05/03(木) 01:01:42.27 ID:5tRj51l1
しかし、出力しかないプロセッサは何を処理するんだ?
20774ワット発電中さん:2012/05/03(木) 01:02:28.55 ID:N2KT4mEh
6pin全部Outにしちゃったら、どうやってCLRするんだ?
21774ワット発電中さん:2012/05/03(木) 01:21:25.12 ID:aClcsE71
車のCAN通信から信号拾って
キャラクタ液晶に速度を表示させたいんですが
今時だとどういう方法がおすすめでしょうか。

保有スキルは、PIC16F84Aでキャラクタ液晶に文字を出せる程度です。
2215:2012/05/03(木) 01:29:47.78 ID:RfPahMMF
LEDを6個8pinのPICに繋げようとしたら、1ピンだけ入力onlyだったんです、それで
picは種類が有るから、もしかしたら6pin全部出力なのが有るのかなぁと思って質問した次第なんです。
おとなしく14pinのPICを使う事にします(´・ω・`)
皆様、どうもありがとうございました。


23774ワット発電中さん:2012/05/03(木) 01:40:39.68 ID:92bdA6Zn
出力6ピン無くても
LED6個なら個別にON/OFFできるぞ
24774ワット発電中さん:2012/05/03(木) 02:05:36.54 ID:HJZ7N4lk
>>21
CAN対応のPICにキャラクタ液晶つないで適切なプログラム書けばいいんじゃね?
25774ワット発電中さん:2012/05/03(木) 03:39:19.69 ID:l0ZvwbJT
>>21

これ買えばいいお
悩まなくてすむお
http://www5b.biglobe.ne.jp/~tekhanzo/subhtml/pic_CAN.html
26774ワット発電中さん:2012/05/03(木) 03:43:26.80 ID:a2Zd3imz
>>22
LEDがスタティック表示でなくてもいいなら、出力4本あればシンクとソースの組み合わせで何とかなるんじゃないかな。
27774ワット発電中さん:2012/05/03(木) 04:14:39.24 ID:d3lEOYOo
8ピンPICで7セグ4桁の時計も作れるみたいだしやり方しだい
ttp://xcrosgs2wy.web.fc2.com/picclock/
28774ワット発電中さん:2012/05/03(木) 08:49:39.90 ID:xyxZepXH

I/Oエキスパンダーという選択肢
29774ワット発電中さん:2012/05/03(木) 09:03:46.14 ID:nbcU0JhV
>11
PIC1650って現行のBaseline(16F57や10F222等)のPICと比較して
命令でCLRWDT,OPTION,SLEEP,TRIS無いだけなんだな
(というかPIC1650からこの4命令が追加されただけ)
メモリ構成も現行と変わらない
00H - INDF , 01H - TMR0 , 02H - PCL , 03H - STATUS, 04H - FSR
05H - PORTA , 06H - PORTB , 07H - PORTC, 08H - PORTD
09H〜1FH RAM

Mid-Range(多くの16F系)も18Fもこの延長だし、古くさい設計だとずっと
思っていたけど36年も前とは、ほんとに古かったんだな(笑)
30774ワット発電中さん:2012/05/03(木) 09:18:53.02 ID:fDRSwftZ
>>17
その裏技をもそっと詳しくたもれ。
31774ワット発電中さん:2012/05/03(木) 09:52:31.81 ID:5tRj51l1
プルアップするかしないかで出力するんでしょ
32774ワット発電中さん:2012/05/03(木) 10:21:41.80 ID:nbcU0JhV
>30
ttp://arms22.blog91.fc2.com/blog-entry-153.html
多分この事だと思うけど…

この例の10F222は データシートの図(BLOCK DIAGRAM OF GP3)で
OPTIONレジスタのGPPUでpull-upの有無を制御できそうだけど
例えば12F683だと、データシートの図(BLOCK DIAGRAM OF GP3)から
ConfigurationWordのMCLREでしか制御できない様に見える
CONFIGの動作中書き換えって出来ましたっけ?
33774ワット発電中さん:2012/05/03(木) 10:27:05.93 ID:92bdA6Zn
MCLR兼用ピンのプルアップはできるのとできないのがある。
34774ワット発電中さん:2012/05/03(木) 10:37:50.21 ID:nOZV0+jO
>>28
MicrochipのI2C I/Oエキスパンダを通してグラフィック液晶を駆動したんですが、
描画速度が異様に遅かったです。PIC I/Oポート直接接続にすると
使える速度でした。私のI2Cインターフェースプログラムがタコなのか、
I2C(400kHz)で動かすと本質的にトロいのか、どっちなんでしょうか。
35774ワット発電中さん:2012/05/03(木) 10:45:31.62 ID:nbcU0JhV
>33
ざっとデータシートみた感じだとこんなかな やっぱり新しい12F1822だね
○12F1822 入力モードでPull-up制御可
×12F683 入力モードでのPull-up不可、MCLR設定で強制pull-up
×12F615 入力モードでのPull-up不可、MCLR設定で強制pull-up
×12F629/675 Pull-up自体無し(MCLRとして使うなら外付けpull-up要)
○12F510 入力モードでPull-up制御可
36774ワット発電中さん:2012/05/03(木) 11:49:26.14 ID:tbssUykc
前スレで200mA出力とか言ってた馬鹿です。
2SC1815一石を使って赤外LED4個を駆動することで落ち着きました。

さて。
エネループ4本で動くリモコン回路を作ったのですが、
内部発振4MHzのsleep状態で回路全体の消費電流が140uAでした。
何か待機電流を減らす工夫はありますか?

;アナログコンパレータは動作させていないつもりです。
movlw 0x07
movwf CMCON
;外付けプルアップ抵抗を省略するために内部プルアップを使っています。
bcf OPTION_REG,NOT_RBPU ; port bをプルアップする

石は8pinで充分のところ無駄に18pinの16F648Aです。
レールで買ってしまったので使い切らねば。
16F84を使い切るのは諦めました。
37774ワット発電中さん:2012/05/03(木) 12:08:31.33 ID:CN0CbywE
>>35
> ×12F629/675 Pull-up自体無し(MCLRとして使うなら外付けpull-up要)
こればっか使ってるから、そういうもんだと思ってたよ。
VPPかかるから保護ダイオード省いてるんだし、抵抗もあるわけないだろ、と。
38774ワット発電中さん:2012/05/03(木) 12:22:49.79 ID:tbssUykc
48kHzに落としてからsleepするのが定石でしょうか。
ttp://www.hi-ho.ne.jp/hida/pic27.htm
39774ワット発電中さん:2012/05/03(木) 12:23:20.82 ID:d3lEOYOo
>>36
1815の最大定格は150mA

内部プルアップをやめ外付けプルアップにしてみるとか?
内部だと5Vで50〜400uAの消費電流
外付けで100〜300k程度の抵抗にすれば50〜16uA
あとはsleep中も有効かわかんないけど電源電圧自体を下げる
40774ワット発電中さん:2012/05/03(木) 12:35:20.62 ID:gLu6/i6Q
>>36
sleep直前にプルアップをオフにして、起きたときにまたオンにするとか。
41774ワット発電中さん:2012/05/03(木) 12:42:00.83 ID:tbssUykc
>>39
丁寧にありがとう。
「2直に33Ωの制限抵抗」を2並だから一応最大定格内のはずです。
(4.8-1.2-1.2)/33 * 2 = 0.145[A]
やはり内部プルアップは消費電流が多いですか。外部100kΩで安定ですね。
電源電圧は・・・。エネループ2直で安定して動くPICがあれば乗り換えを考えます。

>>36
今のところ RB0/INT のエッジでsleepから復帰しているので、プルアップは必要な気がします。
コードの構造を変えて、watch dog 等でインターバル化すると反応速度と引き換えに電力が減らせるかも知れませんね。
42774ワット発電中さん:2012/05/03(木) 12:59:03.07 ID:d3lEOYOo
>>41
データシート見たんだけどPIC16F648Aが4MHzが2Vで動作するのか3Vで動作するのかよくわからない
4MHzの所から2Vから3Vにグラフが垂直に上がってる
43774ワット発電中さん:2012/05/03(木) 13:09:58.18 ID:nbcU0JhV
>42
それLF仕様の品でしょ。PIC16"LF"648A
>41
新型のPIC12F1822や16F1xxxなら1.8Vで16MHzまで、2.5〜5.5Vで32MHz
44774ワット発電中さん:2012/05/03(木) 13:37:46.90 ID:d3lEOYOo
>>43
見落としてた

代わりにスイッチをPICの入力ではなくVSSに入れるというのを考えてみた
スイッチを押すとPICの電源が入る
電源が入るとPICからNPNトランジスタを起動してVSSを保持
終わったら保持を切って電源を切る
トランジスタはVSSにプルダウン

ちょっと実験してくる
45774ワット発電中さん:2012/05/03(木) 13:52:36.03 ID:nbcU0JhV
>43
12F1822が良いと思ったけどこいつのSLEEP時の電流20uA(@1.8V)typもある(内蔵のLDOのせい?)
12LF1822が手に入れば20nA(@1.8V)typだけど、入手は困難だろうから
ここはPIC12F629or675で SLEEP時 1nA(@2V)typ。動作電圧もADCoffなら2Vまで大丈夫みたい

スタンバイ電流は品によってだいぶ違うんだな、12F1822なんてLFと比べると1000倍違うし
数あるPICの中でもPIC12F629or675はとてつもなく小さいようだ。
そう言えば昔12F675でラーメンタイマ作ったのは電池CR2032で常時SLEEPしてるけど
全然電池切れないのはそういう事か 1.8nA(@3V)で220mAhなら1万年以上w
4644:2012/05/03(木) 15:15:07.47 ID:d3lEOYOo
実験完了
結局VSSじゃなくVDD側を切った

結果
停止中は0.1uAなった
測定は秋月で2100円で売ってるテスター P-16

A4がODなってるのでPNPのベース側に繋ぐ
PNPのエミッタに電源、コレクタをPICの電源に繋ぐ

タクトスイッチでPNPのベースをLowにする
PICの電源が入る
A4をLowにする
処理が終わったらA4をHighにする
PICの電源が切れる
47774ワット発電中さん:2012/05/03(木) 18:55:43.73 ID:imSL/Oyk
PICとか仕事でやれたら楽しそうだなあ
48774ワット発電中さん:2012/05/03(木) 19:29:28.19 ID:NxMUdvEp
今はH8だろ
49774ワット発電中さん:2012/05/03(木) 19:35:18.89 ID:y1y5MTu5
>>47
普通に仕事で使ってますよDIPで配線がやりやすいのが良いですね
大量に作るならフロー用にQFPとかもいいんですが、数がね・・
50774ワット発電中さん:2012/05/03(木) 19:36:23.36 ID:y1y5MTu5
間違えたリフローでした、なんという間違えを・・
51774ワット発電中さん:2012/05/03(木) 19:43:15.05 ID:NxMUdvEp
まじで?
でも確かに手のひらサイズのもんには良いか。
どんなもの作ってるの?
52774ワット発電中さん:2012/05/03(木) 20:01:48.03 ID:iBr9i8Td
>>48
そこはぶっちゃけ会社の体質次第でしょう
小規模制御でAVR指定していたところもあるし
53774ワット発電中さん:2012/05/03(木) 20:32:59.48 ID:y1y5MTu5
>>51
基本的に産業機器なので一般の人は目にしないかなー
センサーの制御に使うのが大半ですね
開発環境が安く構築できるのが大きいですね
5415:2012/05/03(木) 21:59:03.19 ID:qHhi+7tE
良く考えたら2x3でダイナミック制御すればLED6個可能な事に気付きました、
なんとか8ピンのPICでいけそうです(´・ω・`)
MCLRのプルアップはイマイチ良く判らないので、
いずれ機会が有ればやってみたいと思います。
55774ワット発電中さん:2012/05/04(金) 00:22:36.60 ID:72EPjTjg
>>44-46
実験おつかれさまです。そしてありがとうございました。
1015一発でその低消費電力は魅力ですね。コンデンサと1015の漏れ電流だけとは。

>>54 ,15
4ピンで12個制御してるのを見たことがあります。
ttp://www47.atwiki.jp/makedenshi/pages/29.html
56774ワット発電中さん:2012/05/04(金) 00:24:50.55 ID:sFtVOeZs
あ、あれ?
まさか、"A"の付かない16F84はPICKIT2で使えない???
どんなに頑張っても認識されないんだけど・・・
57774ワット発電中さん:2012/05/04(金) 00:46:11.90 ID:HSXf1LYs
>>56
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en027813
確かに対応リストには乗ってないね・・
PICKIT3ならリストに乗ってるねぇPICKIT2はもう切り捨てられるから買い換える口実にいいかもね
58774ワット発電中さん:2012/05/04(金) 01:09:51.91 ID:5TWiKpvX
59774ワット発電中さん:2012/05/04(金) 09:34:12.90 ID:7s76Jtcj
そろそろPICKIT2でも買うか
60774ワット発電中さん:2012/05/04(金) 10:32:32.13 ID:qWf4NGAD
>>59
あえて2な理由はなんぞ
61774ワット発電中さん:2012/05/04(金) 11:37:51.93 ID:SgNrRkZP
>>55
なるほど。
ttp://www.asahi-net.or.jp/~rn8t-nkmr/family/pic/flasher/index.html

5ピンなら20個制御できる計算ですね。
62774ワット発電中さん:2012/05/04(金) 11:52:07.67 ID:NrgNAAbt
PICKIT2じゃないとロジアナ機能が・・・
63774ワット発電中さん:2012/05/04(金) 12:44:15.12 ID:7s76Jtcj
保存用と観賞用も買わないと
64774ワット発電中さん:2012/05/04(金) 12:46:18.66 ID:72EPjTjg
nピンあるとして、n*(n-1)*2 のLEDが個別に光るのか。
hiZの荒業だな。
65774ワット発電中さん:2012/05/04(金) 12:50:25.87 ID:yjSeRIpN
>>63
布教用も買っておいてくれw
66774ワット発電中さん:2012/05/04(金) 13:19:36.07 ID:ktyLDpNX
>>64
nP2 じゃないの?
順列組合せ。
有名になる前からPICアプリケーションノートに載ってた奴ね
67PIC初心者:2012/05/04(金) 14:17:46.21 ID:35cP6/sg
質問お願いします!
下のような配列のグローバル変数があるのですが、色々C言語について勉強していると
グローバル変数の濫用は駄目みたいなことらしいと書いてあります。
そこで、ポインタというものを使用すればいいとの事ですが、
下のようなプログラムの場合、どのようにポインタを使用すればいいのですか?
特に割り込みルーチンで複数の変数を扱いたいときにどうすればいいのかさっぱり分かりません。
今のところ、使う変数は全てグローバル変数でも動作に問題ありません。
過去に何度も同じような質問していますがよろしくお願いします。

int dat[10] = {0};

void main()
{
省略
}

void interrupt()
{
for(i = 0;i < 10;i = i + 1)
{
dat[i] = dat[i] + i * i
}
}
68774ワット発電中さん:2012/05/04(金) 14:24:26.69 ID:KDiaCkX7
>>67
>下のような配列のグローバル変数があるのですが、色々C言語について勉強していると
>グローバル変数の濫用は駄目みたいなことらしいと書いてあります。
>そこで、ポインタというものを使用すればいいとの事ですが、

そんな本捨てろ。
69774ワット発電中さん:2012/05/04(金) 14:34:02.25 ID:YHVIGvqa
>>64
> nピンあるとして、n*(n-1)*2 のLEDが個別に光るのか。
さらに倍! かよ。

> hiZの荒業だな。
荒業使うと、n*(n+1)個になるんだ。

まじめにやれよw
70774ワット発電中さん:2012/05/04(金) 17:04:56.16 ID:fEbiiZjn
>>67
最適化の適用次第なんだけど、最適化が行われない場合、配列の要素の番地を毎回計算されて処理時間を要する場合がある。
int *Poi;
Poi = dat;
for (i=0;i<10;i++){
*poi = *poi + i*i;
poi++;
}
ってな感じで配列要素の番地演算を少なくするケースは時としてある。
71774ワット発電中さん:2012/05/04(金) 19:07:07.59 ID:Oun3dtfT
>グローバル変数の濫用は駄目みたいなことらしいと書いてあります。
>そこで、ポインタというものを使用すればいいとの事ですが、
それはちょっとおかしな説明だな。
説明を読み間違ってるんじゃない?

int dat[10] = {0};

void main()
{
省略
}

void interrupt()
{
int *dPtr;
for(dptr=dat,i = 0;i <10; )
{
*dptr++ += (i++)^2;
}
}
72PIC初心者:2012/05/04(金) 21:20:23.33 ID:aPJiU+go
>>68>>70>>71

レスありがとうございます。
自分の考え過ぎなんですかね?
結局は常時値を保存したい変数は、ポインタを使っても使用するメモリサイズは変わらないならば、
無理してポインタは使わなくてもいいということでしょうか?
ポインタを使うメリットは、プログラムの高速化は分かるのですが、
ネットでC言語のポインタを憶えればC言語を使いこなせるだの、グローバル変数は撲滅すべきだのとあり
本当にわけがわかりませんorz
73774ワット発電中さん:2012/05/04(金) 21:25:06.01 ID:argBHaSQ
>>72
ネットで済ませず、きっちりしたC言語の教科書を買うべし。
グローバル変数なしで割り込みハンドラは書けないよ。
74774ワット発電中さん:2012/05/04(金) 22:50:48.94 ID:yjSeRIpN
ありきたりの話になるけど・・・

>無理してポインタは使わなくてもいいということでしょうか?
無理する必要はない、必要があるなら使えばいい

>C言語のポインタを憶えればC言語を使いこなせる
逆だ
C言語を使いこなすにはポインタぐらい理解して使えるようにしておけ
ポインタだけ覚えてもCを使いこなすことにはならん

>グローバル変数は撲滅すべきだ
ソフトウエア工学的な原則論としては正しい
グローバル変数でもローカル変数でも同じように書けるならローカル変数にしとけ
75774ワット発電中さん:2012/05/04(金) 22:59:35.26 ID:SgNrRkZP
グローバル変数使いまくったら
モジュール化なんて出来ないもんな。

ソースの使いまわし出来なくなるし、
オブジェクト指向に沿わない設計は
「やめろ」と言うわな、そりゃ。
76774ワット発電中さん:2012/05/04(金) 23:31:39.95 ID:qFjVDubt
プリプロセッサでどうにかなる
77774ワット発電中さん:2012/05/05(土) 00:48:01.20 ID:keuOccar
2つのFレジスタの指定のビットの比較分岐はどんな感じでやればいいですか?
両方1、両方0、0と1、1と0で4種類の分岐をさせたいです。
78774ワット発電中さん:2012/05/05(土) 01:32:57.58 ID:IoVVk3Oq
switchでいいじゃん?
アセンブラはしらね
79774ワット発電中さん:2012/05/05(土) 01:37:35.39 ID:dBLCz7uL
下手にうまいこと書くより、
普通にビットマスクしてif分の固まりにするのが、
いちばん効率いいバイナリになる気がする
80774ワット発電中さん:2012/05/05(土) 01:46:41.39 ID:75HXdKy2
それ余程うまく書かないと、後でわかりにくいし実行にも時間かかる。
81774ワット発電中さん:2012/05/05(土) 03:37:14.57 ID:IoVVk3Oq
elseでかけばそんな変わんなかった気がする
82774ワット発電中さん:2012/05/05(土) 03:48:05.95 ID:XJ/ZvWo6
>>77
たった4つに分岐させるだけなのに何が問題なの?
83774ワット発電中さん:2012/05/05(土) 04:05:11.15 ID:IoVVk3Oq
でもアセンブラで書けって言われるとえーっとってなる
84774ワット発電中さん:2012/05/05(土) 06:02:45.00 ID:4YBthLbd
グローバル変数善し悪しの考え方は
上位のライブラリが下位のライブラリ変数を極力使わないようにする
といった考えで組んでいけば自然と使用頻度は減る
PICの場合、ハードを直接触るコーディングが多いし、チップ性能からしてそんなに多階層コードを意識する必要は無いと思う
16ビットPIC以上でファイルシステムやパケット通信処理するなら、
スコープに対する意識は必要
ポインタはそういったコードを組む時に便利な機能という考え方で使わないと、
逆に解読悪くなる気がする
85774ワット発電中さん:2012/05/05(土) 08:05:24.61 ID:vs9qBO2o
Fレジスタ TEMP1 TEMP2 各指定ビットX Yとして

BTFSC TEMP1.X ;TEMP1のXbitが0ならスキップ
GOTO CHECK_BUNKI_1Y ;TEMP1,X=1確定 TEMP2のYbit判定へ

BTFSC TEMP2.Y ;TEMP2のYbitが0ならスキップ
GOTO BUNKI_01 ;GOTO TEMP1,X=0 TEMP2,Y=1
GOTO BUNKI_00 ;GOTO TEMP1,X=0 TEMP2,Y=0 *1

CHECK_BUNKI_1Y
BTFSC TEMP2.Y ;TEMP2のYbitが0ならスキップ
GOTO BUNKI_11 ;GOTO TEMP1,X=1 TEMP2,Y=1
GOTO BUNKI_10 ;GOTO TEMP1,X=1 TEMP2,Y=0 *1

*1
分岐後の命令 直に書けば省略可
86774ワット発電中さん:2012/05/05(土) 11:01:43.28 ID:8zcoeTiD
Fレジスタって何?
87774ワット発電中さん:2012/05/05(土) 11:34:10.04 ID:0fUuKmuP
ファイルレジスタのことらしい
88774ワット発電中さん:2012/05/05(土) 11:54:54.54 ID:dBLCz7uL
同じ処理が2回とか3回とか現れた時に、
この部分切り出して関数にしてえ、と思って関数にすると、
見た目はシンプルになるけど、値がみんなグローバル渡しになってえらいことに
89774ワット発電中さん:2012/05/05(土) 12:30:24.09 ID:8zcoeTiD
>>87
あ、なる。
>>88
え?
90774ワット発電中さん:2012/05/05(土) 22:40:53.90 ID:yDpiiCx1
>>67
グローバル変数と、ポインタの関連例は何もありません。
私の私見ですが、グローバル変数は、割り込みなど、そうするしか他に表現方法が
思い当たらないような、必要最小限で使うべきです。volatileもお忘れなく。
私は>>67の書いたコードのままで十分実用範囲であると認識します。
9167:2012/05/06(日) 00:14:10.28 ID:qogBmW0Y
レスありがとうございます。
とりあえず、割り込みで使用する変数はグローバル変数でなくては駄目との認識でいいのでしょうか?
今作成しているプログラムの変数が、割り込みルーチンで使用するものが殆どだったので頭抱えてましたorz
また、volatileという最適化機能を抑止するものがあったなんて知りませんでした。
まだまだC言語についてはド素人レベルなので質問ばかりですみません。
みなさんありがとうございました。
92774ワット発電中さん:2012/05/06(日) 01:03:24.71 ID:LeySszvj
>>91
割り込み処理でも定義としてはローカル変数使えるよ。volatileは必要に応じて。
93774ワット発電中さん:2012/05/06(日) 03:58:00.95 ID:z+X3Cz2J
>割り込みで使用する変数はグローバル変数でなくては駄目との認識でいいのでしょうか?

割り込み用の関数は戻り値を持たないので、演算結果を他のプロセスに渡す必要があるのなら
グローバル変数を利用することが必要だということだよ。

関数内での処理の後、内容を破棄できるようなものなら、普通にローカル変数でOK。
94774ワット発電中さん:2012/05/06(日) 10:35:08.15 ID:BHQPlbbk
16F877用で一番簡単なタイマ0割込の学習できるソースファイル、どこかありませんか?
後閑本読んでも一度もうまくいかず凹みまくってます。
95774ワット発電中さん:2012/05/06(日) 10:42:22.02 ID:siaaN1in
>>94
ソースを求める前に自分で作ったソースを書いてみたほうがいいかも
96774ワット発電中さん:2012/05/06(日) 10:46:29.30 ID:/jW8arju
94が書いたソースをギリギリまで要点抜き出して(でも動きうる範囲で)貼ってみてよ。
質問厨によくあるけど。
情報を隠しすぎ。
後だし多すぎ。
楽しすぎ。

アセンブラ? C?
プリスケーラ使うの? スルー?
シグナル源は外部? クロック/4?
初期設定で GIE とかいじってる?
97774ワット発電中さん:2012/05/06(日) 10:47:28.84 ID:/jW8arju
もろに被った。ごめんね。
98774ワット発電中さん:2012/05/06(日) 11:08:48.47 ID:/jW8arju
timer2で良ければ877A用の俺が書いたCのコードが出てきた。
ミッドレンジなら石の種類はあまり関係無いけど。

タイマー設定。
//init timer2
PR2=174;// (0.56ms /2 /2/4 / 200ns)-1
// 200ns : 20MHz Fosc = 5MHz input clock = 200ns
// 4 : prescaler 1:1 1:4 1:16
// 2 : postscaler 1:1 .. 1:16
// 2 : IR over sampling ratio
// 0.56ms : IR base clock
GIE=1;
PEIE=1;
TMR2IE=1;
T2CON=0x0d;
割り込み処理。
static void int_func(void) interrupt 0{
 //clear interrupt flag
 TMR2IF=0;
 //実際の作業
 //実際の作業
}

アセンブラだとWとSTATUSの退避は自分で書くもんだと思ってる。Cは少し楽だね。
99774ワット発電中さん:2012/05/06(日) 14:24:27.63 ID:PvhJ6+QZ
アセンブラかもしれないのに汚いソースを
コンパイラの種類も書かないで、ドヤ顔で張りつけるバカがココにもいました!
軽○みてぇ〜
きもちわるぅ
100774ワット発電中さん:2012/05/06(日) 14:28:36.30 ID:R4+u3ddD
軽トラ?
101774ワット発電中さん:2012/05/06(日) 14:55:47.91 ID:5LPirtZx
ID:PvhJ6+QZ
  ↑
何コイツ?何でファビョってんの?
朝○人みてぇ〜
きしょくわる〜
102774ワット発電中さん:2012/05/06(日) 15:11:37.72 ID:m7u3rfS3
>94
じゃあアセンブラ用で
ttp://ux.getuploader.com/mcnc/download/109/TMR0_16F877.asm

>99 批判するだけで、何も役に立たないレスする お前って本物のクズだな
103774ワット発電中さん:2012/05/06(日) 15:50:38.80 ID:37HyvVNk
俺も >>99 は、クズだと思う。
104774ワット発電中さん:2012/05/06(日) 19:11:49.92 ID:LD8+sCsO
12F629でLEDをピカピカさせるサンプルを書いたんですが(HI-TECH C 9.83)
__delay_us()がどうも期待したディレーになりません

#define MHz 000000
#define _XTAL_FREQ 4MHz

void Delay_10us(unsigned char time){
 while(time--){
  __delay_us(10);
 }
}

void main() {
 while(1) {
  GP0 = 1;
  GP1 = 0;
  Delay_10us(20);
  GP0 = 0;
  GP1 = 1;
  Delay_10us(80);
 }
}

こんな感じ(一部記述は省略してますが)ですが、実際には1周期が1msじゃな
くて2.8msほどかかってしまいます。デューティー比も1:4には程遠い状態です。
asmで書いたわけじゃないので正確に1msになるとは思っていませんが、こんな
にも違ってしまうものでしょうか?
105774ワット発電中さん:2012/05/06(日) 20:06:26.31 ID:LcLYuZr7
アセンブラに直して命令のステート数を数えると納得するんじゃないの
C言語じゃどこにどれだけ掛かってるかは正確に見積もれないよ
106774ワット発電中さん:2012/05/06(日) 20:08:39.44 ID:/jW8arju
__delay_us(10);が期待通りに動いていると仮定しても、他の命令の実行が0秒で終わるわけじゃないよ。
1800ステップほど>>104の書いたコードを実行して、それ以外に1000ステップほど__delay_us()してるんじゃないかな。

自分の書いたコードのステップ数を数える気も管理する気も無いなら、タイマー割り込みを使うと捗るよ。
107774ワット発電中さん:2012/05/06(日) 20:32:56.91 ID:DGmlPjQX
MPLAB SIM に StopWatchがあるでしょう。
大まかな時間はそれでわかる。

それ以上のタイミングでつめなければいけないようなソフトは
FPGAで書くといいよ。
108774ワット発電中さん:2012/05/06(日) 20:58:02.72 ID:m7u3rfS3
>104
__delay_us(10) → __delay_us(200)
Delay_10us(20) → Delay_10us(1)
Delay_10us(80) → Delay_10us(4)
にすればだいぶ だいぶましになるよ 1.1ms位
4MHzのクロックだと1命令が1usなのに、while(time--) こんな判定毎回してたら
そりゃ遅くなるよ。

それと気になるのは、GPへの連続アクセス
>GP0 = 1;
>GP1 = 0;
逆アセンブラすると下記、やっぱり駄目そう
 ;GP0 = 1;
BCF 0x3, 0x5
BSF 0x5, 0
17
  ;GP1 = 0
BCF 0x5, 0x1
109774ワット発電中さん:2012/05/06(日) 21:00:01.46 ID:m7u3rfS3
最後余計なの入った、こっちね
 ;GP0 = 1;
BCF 0x3, 0x5
BSF 0x5, 0
 ;GP1 = 0
BCF 0x5, 0x1
110774ワット発電中さん:2012/05/06(日) 22:40:47.52 ID:BHQPlbbk
>102様 ありがとうございます。 ”アセンブラで”ぐらい書くべきを忘れていました。

これ、割り込みが発生したらAAをインクリメントするようですが、「AAはポートに出力はしていない」でOKですか?
PICライタが壊れたので試せていないのですが、一応予定動作を教えていただけないでしょうか。
111774ワット発電中さん:2012/05/06(日) 23:18:43.33 ID:vS9BW++t
MPLAB X IDE で日本語コメント保存すると化けるんだけど
対処法ありませんか?
112774ワット発電中さん:2012/05/06(日) 23:22:25.45 ID:m7u3rfS3
>110
見ての通り単に INCF AA,f しているだけです。
113774ワット発電中さん:2012/05/06(日) 23:24:11.42 ID:BHQPlbbk
了解です、ありがとうございます。
これを改造して練習してみます。
114774ワット発電中さん:2012/05/06(日) 23:55:16.07 ID:m7u3rfS3
>113
余計な御世話かもしれないけどMPLABのSIMを使えばだいたい事はわかるよ
115774ワット発電中さん:2012/05/07(月) 07:41:03.52 ID:s2VoOid7
素朴な疑問です
Cコンパイラで書いたプログラムで、delay中に割り込みは発生しますか?
それとも、delayが終わるまで割り込みルーチンには飛ばないのですか?
よろしくおねがいします
116774ワット発電中さん 忍法帖【Lv=16,xxxPT】 :2012/05/07(月) 07:58:51.44 ID:FynzwvD8
>>111
Project Property->General で"Encoding"を日本語が使えるEncodingに変更する。

117774ワット発電中さん:2012/05/07(月) 08:02:22.16 ID:rqll9yVK
します。
delay中に割り込みを掛けたくないなら、delay前に禁止しておく必要があります。
118115:2012/05/07(月) 08:52:17.18 ID:s2VoOid7
>>117
そうですか
今はPICBASICというコンパイラを使ってるんですけど、C言語で言うdelay命令が
PAUSEというもので、この命令中は割り込みされないので疑問に思ってました
ありがとうございました
119774ワット発電中さん:2012/05/07(月) 10:06:05.39 ID:dkT4PIEI
>>118
それは割り込みではなくてタイマーイベントじゃないの?
120774ワット発電中さん:2012/05/07(月) 16:01:44.71 ID:m6ZE5wtZ
SDカードの読み書きに使える一番お手ごろなPICはどれでしょ
121774ワット発電中さん:2012/05/07(月) 16:15:12.20 ID:cnKMQzK9
SPI付いてる奴
122774ワット発電中さん:2012/05/07(月) 19:35:00.29 ID:Lxjw2WZ/
FAT使いたかったらRAMが1K以上欲しいところ
123774ワット発電中さん:2012/05/07(月) 21:37:05.01 ID:Ob43MZ+8
RAMを内部にがっつり作ると、そんなにコスト的に不利なんだろうか
124774ワット発電中さん:2012/05/07(月) 22:33:29.42 ID:yeT8VEIj
16F84Aのダイはこんな感じらしい
ttp://microblog.routed.net/2007/06/01/ic-friday-microchips-pic16f84a/
レジスタのRAMってどこらへん?
125774ワット発電中さん:2012/05/07(月) 22:35:18.19 ID:JBOzRzKV
>>124
> We can see what looks like the FLASH and the RAM on the left and right of the chip.

て書いてあるじゃん
126774ワット発電中さん:2012/05/08(火) 00:02:20.26 ID:FuZCxK/n
本当だ、ちゃんと読んでなかった
84Aでこれだけど、最近のRAMが大きいやつは面積的にはむしろ小さくなってたりするのかな
壊れた88があるから、バラしてみよう
撮影できる気がしないけど
127774ワット発電中さん:2012/05/08(火) 09:11:03.29 ID:BUFCcw3+
18F2550使ってオリジナルのUSB機器を作りたいんですが、MicrochipのUSB
フレームワークを眺めてると、USB処理がボーリングとインテルプトの両方の
定義が定義されていて、インテルプトがコメントアウトになっててボーリング
の定義が有効にされているようです。
128774ワット発電中さん:2012/05/08(火) 09:36:34.01 ID:bosVBIGj
そうですか。
129774ワット発電中さん:2012/05/08(火) 09:41:58.77 ID:lt16lwlQ
USB機器作りたいと思って2553買ってきたけどホスト側が面倒で一旦ftdiに逃げた。
16F88やら16F877のマニュアルに書いてあるボーレート例が見たこと無い数値で眩暈がする。
まあ、38400くらいは出せるよね?
いつか2553に帰ってくる。
130774ワット発電中さん:2012/05/08(火) 10:12:05.93 ID:PfWC/UPo
秋月のPICプログラマのアップデート自殺トラップの後、結局また買うことになった。
131774ワット発電中さん:2012/05/08(火) 10:19:25.20 ID:VF7/qumk
>>130
Ver幾つ入れたの?最近更新していなくてふと気になった。
132774ワット発電中さん:2012/05/08(火) 11:23:29.91 ID:liLkUuRG
>>130
http://akizukidenshi.com/img/contents/ver4/archives/picpgm6_JK_P673_F673_beta.zip

↑このファイルの中の「製作確認資料.pdf」の↓じゃダメだったの?

> ● AE-PGM877モジュールのアップデートに失敗し、PCとボードの通信ができなくなった。
> ・https://203.183.174.79/catalog/contact/contact.aspxまで 住所を記載の上、ご連絡下さい。
> 正常なモジュールをお送りいたします。返信用封筒を同封いたします、不良モジュールをご返却ください。
133774ワット発電中さん:2012/05/08(火) 13:08:16.69 ID:DIosQj4Y
下のプログラムなんですが、ポートB変化割り込みを複数のポートに分けて
別々の命令をさせる場合、『intcon.b0 = 0;』のフラグクリア命令はどこに置いたらいいのでしょうか?
命令ごとに入れたらいいのか、割り込みの先頭だけ1か所に入れたらいいのか、どれが一番良いのか教えて下さい
よろしくお願いします。

void main()
{
省略
}

void interrupt()
{

if(PORTB.b7 == 0)
{
x = x + 1;
}

if(PORTB.b6 == 0)
{
y = y + 1;
}

}
134774ワット発電中さん:2012/05/08(火) 13:41:19.62 ID:CvaDEXyt
>>133
割り込みの最初でいいよ
135774ワット発電中さん:2012/05/08(火) 13:53:49.93 ID:CvaDEXyt
>>133
割り込みの最初でいいよ
136774ワット発電中さん:2012/05/08(火) 16:19:00.82 ID:VF7/qumk
大事な事なので(ry

割り込み冒頭がベター。
このサンプル、b6=0の状態でb7が1から0に変化したときもYがカウントアップされるけど、それでいいの?
137774ワット発電中さん:2012/05/08(火) 17:59:58.48 ID:PfWC/UPo
>>131 AE-PGM877にはVer.6.50が乗ってました。 
     Vista64bitでも使えました。
     で、6.72.17をDLして、アップデート失敗した方に
     PPGM672_AEPGM877.HEXを書き込みました。
     それを使っています。


>132 だいぶ昔に3.5キットをVer.アップしたから、それ自体忘れてた〜 
138133:2012/05/08(火) 19:11:11.66 ID:DIosQj4Y
>>134-135

ありがとうございます。

>>136

ありがとうございます。
それでおkです。
139774ワット発電中さん:2012/05/08(火) 20:02:52.91 ID:VF7/qumk
>>137
自分のを確認したらVer6.72だったけど、秋月さんのページ見たら豆に改版してたのね。
最近はPICkit2or3を使う事が多くなり、すっかりご無沙汰してます。
140134:2012/05/08(火) 21:13:33.07 ID:CYmaWW0P
iPadの店頭デモ機から書き込んだんだが、ページ開いたままだった…
もう閉店時間だが今日のID:CvaDEXytは別人がたくさんということで
141774ワット発電中さん:2012/05/09(水) 00:14:12.87 ID:cUkezz+A
test
142774ワット発電中さん:2012/05/09(水) 10:50:49.36 ID:8szjeMf2
どうしてもUSARTの設定で1つだけうまく行かないところがあるのですが、
18F2550(20Mのセラロック使用で内部48MHz)で2400bpsを実現したい場合、
OpenUSARTのボーレート設定はいくつにすればいいんでしょうか?

(48*1000*1000)/(2400*26) - 1 で1249を設定しても受信出来ません。
143774ワット発電中さん:2012/05/09(水) 12:05:01.73 ID:wvWhqKC4
>>142
同じ速度の送信を受信に回り込ませて確認する方法もあるよ。折り返し試験。
その時、オシロがあれば0x55とか0xaaを送信すると1ビット幅を見られる。
データシート見ないでの発現で申し訳ないけど、たしか、ボーレート設定の
レジスタ以外に、1ビットの速度制御情報がなかった?
144774ワット発電中さん:2012/05/09(水) 12:22:22.37 ID:ID8p2Qm6
2550はよく知らないけど、他にも3つくらい速度を決めるビットがあったな
理解しなくてもデータシート通りで問題ないけど
145774ワット発電中さん:2012/05/09(水) 12:26:22.32 ID:mKbwP2NB
>>142
*26ってなに?
146774ワット発電中さん:2012/05/09(水) 12:31:33.96 ID:6Mowb+i2
147774ワット発電中さん:2012/05/09(水) 12:34:53.63 ID:mKbwP2NB
>>142
BGRH=0
BGR16=1
してる?
148774ワット発電中さん:2012/05/09(水) 12:36:37.27 ID:mKbwP2NB
>>147
まちがった
BRGH=0
BRG16=1
でした
149774ワット発電中さん:2012/05/09(水) 12:50:56.84 ID:aVQMDcYI
>>142
BRG16は1にセットしてるよね?
26のところは16の間違いだろうか
それだと1249になるね
150774ワット発電中さん:2012/05/09(水) 17:00:00.92 ID:1+FCEQ7b
どなたか無償でC言語プログラム作って頂ける方
いらっしゃいませんか?
151774ワット発電中さん:2012/05/09(水) 17:05:21.50 ID:fFZFT6w3
どんなボランティアだそれ…
152774ワット発電中さん:2012/05/09(水) 17:20:30.78 ID:sCs4V7Hv
ちゃんとしたプログラムを書いて欲しいなら労力に見合う程度の金ぐらい払ったほうが安心できると思うがなあ、
Cのプログラムならなんでもいいってレベルでの話なのかな? ちょっと想像つかん。
153774ワット発電中さん:2012/05/09(水) 17:25:05.97 ID:wvWhqKC4
じゃ、1行あたり100円位で。コメントは沢山入れるよ。もち、コメント込みの料金w サービスでAAも入れたげる。
プログラム診断ツールでコメントが多すぎると警告が出たんだよな、俺 orz
154774ワット発電中さん:2012/05/09(水) 17:43:02.77 ID:F17PW9k0
どうせそんなの投げてくる奴は、
パチスロの体感器を作ってくれとか屑人間しか居ない
155774ワット発電中さん:2012/05/09(水) 17:47:53.93 ID:ID8p2Qm6
無償で絵を描くよとか作曲するよとか翻訳するよとかAA作るよとか、
有り余る時間と才能のはけ口は実際にいろいろあるから、
プログラムとか回路図を作ってくれるサービスもあっても不思議ではない
156774ワット発電中さん:2012/05/09(水) 18:02:14.78 ID:cJViTnNN
>>150
自分が興味のある物なら無料で作るよ。
157774ワット発電中さん:2012/05/09(水) 18:05:21.89 ID:8szjeMf2
>>147-149
指摘ありがとうございます。式中の26は16の誤りです。
BRG16を設定する必要があるとの事ですが、openUSART()は使っていましたが、
baudUSART()は設定していませんでした。こちらを見直して見ます。
158774ワット発電中さん:2012/05/09(水) 19:25:03.88 ID:PornGL3u
>>150
無修正美少女バトルゲームとか?
159774ワット発電中さん:2012/05/09(水) 20:42:29.20 ID:wqGZbmuo
プログラム書くのはいいとして、回路図ぐらいは用意してるんだろうな?
160774ワット発電中さん:2012/05/10(木) 00:31:01.37 ID:nhyIr0l/
無償でCコンパイラを開発して欲しいという話では無いのか?
161774ワット発電中さん:2012/05/10(木) 03:31:18.25 ID:wZeaMGzh
最適化とか気にしないなら
Cコンパイラくらいサクッと作れよ
162774ワット発電中さん:2012/05/10(木) 11:50:46.46 ID:fDIrhIqu
18Fの優先レベル割り込みを使う場合って、HIGHとLOWは両方一緒に割り込みを
許可しないと駄目なんですか?
だとしたらなんで個別に割り込みON/OFFのレジスタを持ってるんですか?
163774ワット発電中さん:2012/05/10(木) 12:47:27.08 ID:nhyIr0l/
駄目じゃないよ。個別に許可することも出来る。
164774ワット発電中さん:2012/05/10(木) 16:35:45.09 ID:XzY939s8
ネット上にあるccs cのクラック使われた人っていますか?
165774ワット発電中さん:2012/05/10(木) 16:40:38.79 ID:gQB/AoAt
いないよ。
166774ワット発電中さん:2012/05/10(木) 16:50:16.67 ID:3EjiDczr
犯罪してますか?っていって挙手するやつもおらんだろ。
167774ワット発電中さん:2012/05/10(木) 17:21:59.43 ID:vXpRz/nR
クラックしてまで使うコンパイラか? CCS w あんな変態コンパイラ。
ハードウェアテストや小物製品には便利だが、そんな小規模クラスの設計で遊んでいると、
いつまでたっても大規模ファームやアプリの作り方を学べんぞ!
168774ワット発電中さん:2012/05/10(木) 17:32:23.79 ID:XzY939s8
>>167
どの辺が変体なの〜
教えてください。。
169774ワット発電中さん:2012/05/10(木) 18:32:30.59 ID:lvAxPhZW
pickit欲しいんだが、これかっても、pic取り付ける装置いるじゃん...
ふざけんなよ。取り付け装置っていくらくらいですか?
500円くらい?
170774ワット発電中さん:2012/05/10(木) 18:37:50.43 ID:Oo3U4JZ/
作るんだよ
171774ワット発電中さん:2012/05/10(木) 18:38:48.75 ID:lvAxPhZW
本当腹立つね、面倒くさいとかいうレベルじゃないんだよ。
172774ワット発電中さん:2012/05/10(木) 18:43:18.00 ID:gQB/AoAt
ターゲットにピンヘッダ生やすだけなら10円とかそんなもん
173774ワット発電中さん:2012/05/10(木) 18:44:54.76 ID:2V6DNmpU
いつもブレッドボードだな〜
ゼロプレッシャーソケットも持ってるけど
複数デバイス対応とか考えるとめんどい
174774ワット発電中さん:2012/05/10(木) 18:50:08.93 ID:lvAxPhZW
いやpickit3欲しいんだけどね、これ単体じゃケーブルと本体入ってるだけじゃないですか。
僕は、picを取り付ける装置も欲しい。
それは何円くらいするのでしょう?
175774ワット発電中さん:2012/05/10(木) 18:56:52.21 ID:f/6n+cmv
176774ワット発電中さん:2012/05/10(木) 18:57:31.54 ID:gQB/AoAt
>>174
「picを取り付ける装置」てのが何言いたいのか分からんけど、

書き込み用なら

Pickit対応ICSP書き込みアダプターキット
http://akizukidenshi.com/catalog/g/gK-05355/

とか、評価用の基板という意味なら

マイクロチップ PICkit3デバッグエクスプレス
http://akizukidenshi.com/catalog/g/gM-03480/

とか、探せば他にもあるよ。
177774ワット発電中さん:2012/05/10(木) 19:03:27.95 ID:yTyo0xiY
>>165
インターネットパトロール隊を名乗る人が、PIC用のCコンパイラを扱っているサイトを見つけて けしからんと言っていたなぁ。
インターネットパトロール隊とか PICとかで検索するなよ!絶対するなよ!
ちなみに CCS Cはクラックじゃなくてkeygenだったはず。
178774ワット発電中さん:2012/05/10(木) 19:03:57.67 ID:lvAxPhZW
>>176
picのピンを差し込む装置ですよ。

とにかくpicに書き込みしたいんです。

評価用って何でしょうか?
自分いまさっき調べました。
pickit3本体だけなら4000円くらいなんだけど
セットで8000円くらいするのがある。

そんな高いの買えない....

179774ワット発電中さん:2012/05/10(木) 19:04:51.98 ID:lvAxPhZW
アダプターキットとpickit3があれば、即picに書き込みできるでしょうか?
180774ワット発電中さん:2012/05/10(木) 19:06:02.52 ID:3EjiDczr
PICに限らず、たいていのマイコンのデバッガ兼ライターは、接続キット別売だろ…
単純なライターなら秋月の買えばいい。
181774ワット発電中さん:2012/05/10(木) 19:23:30.58 ID:lvAxPhZW
>>176
ありがとう。


明日パーツ屋にパソコン直接持っていって、pickitと取り付け装置買って
使えるようにしてもらいます。


家に持って帰って出来なかったら最悪だしな....
182774ワット発電中さん:2012/05/10(木) 19:26:20.43 ID:f/6n+cmv
親切なパーツ屋だな
でもそんなんで使えるのか?
183774ワット発電中さん:2012/05/10(木) 19:26:56.75 ID:lvAxPhZW
>>181
単純なライターですか?
モット安くありますかね?

自分はとにかく書き込めたらいいのです。
デバッグとかMPLABで編集してるのでアセンブルした時点で
ソフト側で分かりますから。

184774ワット発電中さん:2012/05/10(木) 19:34:18.11 ID:lvAxPhZW
アダプターキット組み立てるのかいwwwww
買うの止めた。


マイクロチップ PICkit3デバッグエクスプレス買うか。
これは板みたいなんにpic差し込んだらいいんですか?

185774ワット発電中さん:2012/05/10(木) 19:42:45.94 ID:lvAxPhZW
というかICSP14 adapter?

これの事。これ売ってますか?
調べても出てこないんだけど。


186774ワット発電中さん:2012/05/10(木) 19:46:31.69 ID:nb0VE1HD
デバッグヘッダーって必要なの? 
別に使わなくてもPICkit2で普通にデバッグできるんだが。
187774ワット発電中さん:2012/05/10(木) 19:46:58.88 ID:lvAxPhZW
すいません、書き込み自重します...
スレの流れ変わりますよね。
188774ワット発電中さん:2012/05/10(木) 19:47:46.74 ID:Oo3U4JZ/
そんなんじゃPICに何か書き込んだとしても、生かせるハード組めない人だろ。
189774ワット発電中さん:2012/05/10(木) 20:07:50.44 ID:XzY939s8
>>187
がんばってください
応援してまよ。
190774ワット発電中さん:2012/05/10(木) 20:11:50.13 ID:lvAxPhZW
>>189
ありがとうございます。
最後だけどPickitのソケットアダプタって
既製品で売ってないんですか?
さすがに組み立てるのは不可能なんで。
191774ワット発電中さん:2012/05/10(木) 20:15:30.34 ID:f/6n+cmv
>>190
やめたほうがいいね
192774ワット発電中さん:2012/05/10(木) 20:17:36.11 ID:Oo3U4JZ/
もうなにもかもやめたほうがいいね
193774ワット発電中さん:2012/05/10(木) 20:20:40.43 ID:lvAxPhZW
>>191
>>192
呆れないでくださいよww

はんだもってないから仕方ないという。
店員に頼んでやってもらおうか。
今日は色々ありがとう^^
寝ます。
194774ワット発電中さん:2012/05/10(木) 20:22:33.56 ID:f/6n+cmv
全部外注しろよ
195774ワット発電中さん:2012/05/10(木) 20:30:13.11 ID:Oo3U4JZ/
寝るんだからもういいじゃない。  まだ見てるだろうけど。
196774ワット発電中さん:2012/05/10(木) 20:35:27.56 ID:mQSs5ZIE
デバイスに書いておしまい。というプロジェクトなのだろうか?
書き込み済みのデバイスを色々な角度から眺める。あれ、何処かで動画があった。

実際の処、デバイス周辺作る過程で接続できる様に細工すれば済む話だと思うけど。
197774ワット発電中さん:2012/05/10(木) 21:43:19.75 ID:YpSeUJ/A
どこかの学校で課題でも出たんだろうか
・C言語プログラムを作る、内容は問わない
・アセンブラで書いて書き込む、書き込んだPICは回路に組み込まれない
198774ワット発電中さん:2012/05/10(木) 21:45:44.03 ID:bp/DwVUL
PICはとりあえず無図杉。
命令やメモリ用語多過ぎ、複雑すぎで理解不能!
returnがどこに戻るかも解析しないといけないし無理!
199774ワット発電中さん:2012/05/10(木) 21:48:10.02 ID:bp/DwVUL
割り込み制御って、命令として書いてるんだから割り込みでも何でもなくね?

tujou
tujou
warikomi
tujou
tujou
tujou

割り込みでも何でもなくねw?
200774ワット発電中さん:2012/05/10(木) 21:57:16.48 ID:mQSs5ZIE
>>198
まだPICは命令少ない方だよ。returnで戻るのは(通常)呼び出した次の命令(特別な操作を除く)。
一般的に割り込み制御は「tujou」とは非同期に動作になる。割り込み要因は時間とが外部信号の変化など。
一部例外としてマイコンによってはトラップ命令ってのがあって199の様な使い方、割り込みを強制起動する
場合があるけど、それはそれで特別な用途がある。
と、ざっくり書いてみた。

201774ワット発電中さん:2012/05/10(木) 22:02:16.75 ID:Gee9zCnx
トランジスタ技術の6月号がPIC特集だった。歴史と最新の事情が簡単にまとめて書いてある感じ。
もはやICDやPICKitが当たり前で、PICライターで書き込むってのは流行らないみたい…
202774ワット発電中さん:2012/05/10(木) 22:08:12.25 ID:UPImklx8
>>201
PICKit3使い始めてPICライターで書き込むのが馬鹿らしくなったよ・・
ソケットから抜き差ししてピン曲げ直して、なんてやってられないわ
203774ワット発電中さん:2012/05/10(木) 22:12:50.47 ID:wJPlECz0
8pinや18pinの場合はZIFソケットも良いがICテストクリップも便利。
ターゲットに挿したまま使える。
ttp://akizukidenshi.com/catalog/g/gC-04752/
18pinは無いので20pinで代用
28pin用は300mil 600mil共有できないのが難点
204774ワット発電中さん:2012/05/10(木) 22:16:15.54 ID:wJPlECz0
18pinもあるみたいね…実物は見たこと無いけど
205774ワット発電中さん:2012/05/10(木) 23:33:21.67 ID:fDIrhIqu
>>202
bootloader使えるPICだと、Pickitすら馬鹿らしくて使う気にならんけどな。
最初からbootloaderが書かれた状態で売ってくれればいいのに。
206774ワット発電中さん:2012/05/11(金) 00:14:15.99 ID:2lGBHn5t
>>193
PICKit1にしなさい。
とりあえずすぐ遊べるから。
207774ワット発電中さん:2012/05/11(金) 03:05:45.14 ID:UA0ecyIm
PIC固有の質問じゃないんですが、
MicrochipのPIC USB Frameworkに収録されてるHID Keyboardサンプルが英語版
キーボードなんで、これを日本語キーボード対応にしたいんです。

んで、ディスクリプタを色々修正してみたのですが、自分のスキルではどう修
正してもWindowsのデバイスアイコンに黄色三角がついてしまいます。

どこかにHIDディスクリプタのチェックをしてくれるようなツールか、あるいは
USB FrameworkのHID keyboardサンプルの修正について記載されているような
ページはないでしょうか?
208774ワット発電中さん:2012/05/11(金) 03:51:35.94 ID:UA0ecyIm
すみません、自己解決しました。
209774ワット発電中さん:2012/05/11(金) 07:00:02.31 ID:shlyWnbW
PICKIT3で書き込むのは便利なんだけど、書き込んでいる時、
OUTPUTに設定している PINが ON/OFF繰り返しちゃうよね
RELAY繋いでいると 3回ぐらいカチカチ繰り返す
これ、出力を HOLDしてから書き込み!とか出来るの?
210774ワット発電中さん:2012/05/11(金) 07:11:39.51 ID:eJ1k4XZr
>>209
変化して欲しくないけど、出力端子のプルアップ(ダウン)していないとか?
211 忍法帖【Lv=6,xxxP】 :2012/05/11(金) 10:21:44.86 ID:BXWKuXoH
超素人に教えてください。こちらのサイトのプログラムを真似して工作物を
作ろうと思っています。http://www8.plala.or.jp/InHisTime/page186.html
このプログラムで得られた時間にある係数をかけてLCDに表示したいのですが
計算式をどこにどの様に書き足したらいいのかご教授頂けませんでしょうか?
212774ワット発電中さん:2012/05/11(金) 11:25:51.98 ID:jIYej1Yt
main()の
msec = measurement(mode);
で0.1msec単位で測定値が入るから、煮るなり焼くなりお好きにどうぞ。
213774ワット発電中さん:2012/05/11(金) 11:28:30.12 ID:3tIjOfCJ
>>211
ソースの
msec = measurement(mode);
LongToStr(msec, buf);
の間に演算を入れる
msecに入る値は0.1msec単位(10で1msec)の値になってる。


例えば
msec = measurement(mode);
msec = msec*2;
LongToStr(msec, buf);
だったら2倍になる。
214774ワット発電中さん:2012/05/11(金) 11:30:06.74 ID:Z9+rUTCx
>>211
msec = measurement(mode);
のところを
msec = N * measurement(mode);
変えればいいんでない?
215 忍法帖【Lv=6,xxxP】 :2012/05/11(金) 12:27:19.04 ID:BXWKuXoH
>>212-214
>>211です。
超素人にお付き合い頂きありがとうございます。
ちなみに係数は0.0035です。
係数をかけて得られた数値を積算してpicの電源を切る前に
EEPROMに保存して次回起動時にEEPROMから呼び出し積算をはじめる。
LCD表示単位は?表示させたいです。どの様にプログラム追加したら宜しいですか?
諸先輩方のご教授宜しくお願いします。
216 忍法帖【Lv=6,xxxP】 :2012/05/11(金) 12:29:23.60 ID:BXWKuXoH
>>211です。
表示単位はリットルです。
217774ワット発電中さん:2012/05/11(金) 12:46:35.87 ID:3tIjOfCJ
>>215
結局、後出しで丸投げか?

まだハードも作ってないんだろ。

まず、同じ物を作って動作させてること。
参考にしたサイトとソースをよく読んでから、自分でやれるとこまでやれ。
話はそれから。
218774ワット発電中さん:2012/05/11(金) 13:55:53.98 ID:dyC0qx5u
ごきょうじゅ
219774ワット発電中さん:2012/05/11(金) 13:58:54.41 ID:QtvaYNr4
てめえ
ぶち殺すぞ
220774ワット発電中さん:2012/05/11(金) 14:02:40.82 ID:jIYej1Yt
>>211は、車のガソリン使用量でも量るつもりなのかな?
今自作の燃費計テスト中なんだが、数値が似てるなぁ。
221774ワット発電中さん:2012/05/11(金) 14:12:24.36 ID:MSaWD64H
殺人予告を見た気がする
222774ワット発電中さん:2012/05/11(金) 16:44:35.49 ID:7ed49W2b
怖いヨー
223774ワット発電中さん:2012/05/11(金) 17:07:51.84 ID:pFEJ8RkV
よし、プログラムネットに載せよう。
224774ワット発電中さん:2012/05/11(金) 17:58:22.77 ID:eJ1k4XZr
呪いのプログラムですね
225774ワット発電中さん:2012/05/11(金) 18:02:41.11 ID:AdCEOknP
篠沢教授に2000点
226774ワット発電中さん:2012/05/11(金) 19:42:41.67 ID:UA0ecyIm
const ram
const rom
とか
const rom far
とかの概念がよく分かりません。
ていうか、そんなのコンパイラが最適化の際に適切に配置してくれてもよさそ
うな気がするんですが。

今作ってるのの中で値固定の変換テーブル(256byte)があるんですが、一般論
として、こういうのは const rom far宣言するのが正しいんでしょうか?
227774ワット発電中さん:2012/05/11(金) 20:25:53.03 ID:RSU97WrI
ハーバードアーキテクチャの宿命ってやつよ
AVRのgccだともっとめんどくさいわ
228774ワット発電中さん:2012/05/11(金) 20:44:56.26 ID:9dNcopSV
>>225
なんか大変な病気になってるみたい。
229774ワット発電中さん:2012/05/12(土) 00:21:07.23 ID:/v7yGsIC
すいません、PICでMIDI信号を受信しようとしたのですが
ここの一番下を見てもうまくいきません(別に楽器を弾くわけではありません)
http://saturatedsog.blogspot.jp/2006/03/sog-2-midi-input-with-pic.html

というかMIDIのベロシティであると思われる
msg[2] が恐らく16進数で受信されてると思うのですが、
その値をそのまま利用して

delay_us(msg[2]);

みたいにして使えないんでしょうか?
10進数の整数にするのに必要なキャスト関数などわかればどなたかお願いします
230774ワット発電中さん:2012/05/12(土) 00:23:22.88 ID:KqlRIW5p
msg[]の型は?
231774ワット発電中さん:2012/05/12(土) 00:27:37.03 ID:kAjm8+IB
>>229
単にdelay_usだけに注目した内容で恐縮。
コンパイラに依るけど、delay_usが定数のみで変数を許さない場合あるから注意。
誤差のない範囲で、例えば1ms待機をn回すような感じで。
待ち自体が小さくて、n回が大きな数字だとループ命令のオーバーヘッドあるから注意ね。
例えば、delau_us(1)で1ms分、要は1000回分、回そうとすると2倍位にふくれあがる。
232774ワット発電中さん:2012/05/12(土) 00:30:24.65 ID:/v7yGsIC
>>230
一番下にコードが丸ごと書いてますが
BYTE msg[3];
という宣言になってます
233774ワット発電中さん:2012/05/12(土) 00:32:33.84 ID:KqlRIW5p
ソース載ってたね、失礼
BYTE型ってことはunsigned charだろうね
atoi()とか使えば何かいける気がする
234774ワット発電中さん:2012/05/12(土) 00:33:19.68 ID:/v7yGsIC
>>231
ありがとうございます
うちのコンパイラは変数大丈夫みたいです
MIDIのベロシティって最大でも10進数の整数で127で、
しかも今テストで送信してるのは50なので大きすぎるってことはなさそうです
235774ワット発電中さん:2012/05/12(土) 00:39:24.88 ID:/v7yGsIC
>>233
ありがとうございます
MPLAB IDE v8.6使ってて
PCM COMPILER 4.106というコンパイラですが、コンパイル通りませんでした…
236774ワット発電中さん:2012/05/12(土) 00:45:57.72 ID:KqlRIW5p
まあ、あとはasciiで送られてきてるとして
(unsigned int)で無理矢理キャストして、0x30引いてやるとか

(参考)アスキーコード表
ttp://www9.plala.or.jp/sgwr-t/c_sub/ascii.html
237774ワット発電中さん:2012/05/12(土) 02:05:24.75 ID:EqIJa6EK
18F2550で既に動いてるんですけど、これが18F14K50でも動作可能かどうかって
どうやって調べればいいでしょうか?

HI-TECH CではなくC18を使っていますが、メモリ使用量?を示す円グラフみた
いなのが出てきません。
238774ワット発電中さん:2012/05/12(土) 05:27:06.70 ID:GMINM6ry
>>237
メニューの
View->Memory Usage Gauge
で表示できない?
239774ワット発電中さん:2012/05/12(土) 05:42:31.23 ID:EqIJa6EK
>>238
ありがとうございます。表示されるようになりました
プログラムメモリ Total 16k/use 3161
データメモリ Total 2048/use 465

18F2550はFlash32kだと思ったのですが、16kって言うのはwordですかね。
18F14K50が16KB(8KWord)なので余裕で収まりそうです。(秋月のHPのスペック
記述がPG 8KBになってて騙されそうでしたが)

値段半分もさることながら、DIP20pなのがありがたいんで。
DIP28pはちょっと大きすぎ>2550
240774ワット発電中さん:2012/05/12(土) 05:46:22.14 ID:GMINM6ry
>>235
MIDIデータだと
msg[2]:が0-127の値そのものだから
delay_us()関数が変数の引数を許せば

delay_us(msg[2]);
で、問題ないと思う。

delay_us(msg[2]);
で、うまくいかない?
241 忍法帖【Lv=3,xxxP】 :2012/05/12(土) 11:08:27.70 ID:SyN6qMKE
>>211
がんばれよ!
まぁ、ここの人達はプログラム
作れないと良い方に解釈して、、、、
242774ワット発電中さん:2012/05/12(土) 12:47:51.40 ID:/v7yGsIC
>>236
>>240
ありがとうございます!
見直すと一度int型の変数hogeにmsg[2]を代入して
delay_us(hoge);
としていたのでこれがいけなかったのだと思います
普通にdelay_us(msg[2]);だと上手くいきました。失礼しました

ただ入ってきたベロシティ値に乗算と除算を加える必要があるので、

BYTE hoge=150;
BYTE hogeAtom=(hoge*100)/127;//ベロシティの最大値127で割る、小さな数字になり小数点も出るので100倍しておく

MIDI受信割り込み関数{
hoge=(msg[2]*hogeAtom)/100;//上で100倍したものを元に戻す
}

他関数{
delay_us(hoge);
}

みたいに書いてるんですが、途中BYTE型の限界を超えて数値が大きくなる箇所があるせいか、
はたまた、小数点が出るせいか、コンパイルが通りませんでした。

どなたか良い方法ご存知でしたらご教授くださればありがたいです
243774ワット発電中さん:2012/05/12(土) 13:02:27.88 ID:C5Arc7oL
BYTEデータって0〜255しか持てないよ。
100倍とかすると有効な元データって0〜2だけ。
元データが3以上だとオーバーフローが発生する。
その場合の動作は未定義だったはず。

0*100/127=0
1*100/127=0
2*100/127=1
3*100/127は何が起こるかわかりません。
4以降も同じ。

*(100/127)の近似計算なら色々あるけど。
hogeAtom=hoge-hoge>>2+hoge>>5; //*(100/128)の近似計算
244774ワット発電中さん:2012/05/12(土) 13:15:19.04 ID:Jh1c/sXc
BYTE msgs;
BYTE hoge;
hoge = (BYTE)(((unsigned short)msg[2]) * 100 / 127);

じゃだめなの?
245774ワット発電中さん:2012/05/12(土) 13:15:52.40 ID:C5Arc7oL
ちゃんとしたCなら、計算中はint以上に整数拡張されるわけだが。
そして四則演算程度でコンパイラがこける事もないわけだが。

(* 1.0 100/127)
0.7874016

(+ 1.0 -1/4 +1/32)
0.78125

(+ 1.0 -1/4 +1/32 +1/128)
0.7890625

> hoge=(msg[2]*hogeAtom)/100;//上で100倍したものを元に戻す
結果が0〜2にしかならないけど、その精度で本当に構わないの?
整数演算だと小数点以下は、基本切り捨てだよ。
246774ワット発電中さん:2012/05/12(土) 13:15:58.38 ID:Jh1c/sXc
最初の宣言要らんかった orz
247774ワット発電中さん:2012/05/12(土) 13:20:20.60 ID:GMINM6ry
>>242
要はベロシティの 0〜127を0〜150に変換したいの?

BYTE hoge;
unsigned int hoge_ui;

MIDI受信割り込み関数{
hoge_ui=msg[2];
hoge_ui=hoge_ui*150/127;
hoge=hoge_ui;
}

他関数{
delay_us(hoge);
}

まあ、乗除算は時間かかるから、割込み内で演算しないで、メイン処理で演算したほうがいいと思うけど。
248774ワット発電中さん:2012/05/12(土) 13:25:32.86 ID:oIb3/QKi
picのGOTO命令ってソースコード上において上にも下にもジャンプできるの?




249774ワット発電中さん:2012/05/12(土) 13:31:28.37 ID:GMINM6ry
>>248
できる。

なぜそういう疑問を持ったのか知りたい。

250774ワット発電中さん:2012/05/12(土) 13:38:15.62 ID:oIb3/QKi
>>249
そうじゃなくて


place1 meirei1
meirei2

GOTO place2

place2 meirei3
meirei4

↑これと

place1 meirei1
meirei2

GOTO place1

place2 meirei3
meirei4

↑これ

両方可能ですか?
251774ワット発電中さん:2012/05/12(土) 13:45:48.80 ID:GMINM6ry
>>250
聞くまでもなく、やってみればすぐに答えが出ると思うのはおかしいのだろうか?
252774ワット発電中さん:2012/05/12(土) 13:57:53.55 ID:C5Arc7oL
やってみろとか無責任だなあ。
俺ならマニュアルを読ませるけど。

Syntax: [ label ] GOTO k
Operands: 0 ? k ? 2047
Operation: k → PC<10:0>
PCLATH<4:3> → PC<12:11>

絶対ジャンプなので上とか下とか関係無い。
253774ワット発電中さん:2012/05/12(土) 13:59:46.48 ID:GMINM6ry
>>252
無責任?
249で「できる」と答えてるだろ。
254774ワット発電中さん:2012/05/12(土) 14:03:58.15 ID:Giw+WvKr
アセンブラの言語仕様として宣言なしに前方参照できるのか知りたいんじゃないの?

# 聞くまでもなく、やってみればすぐに答えが出る話だけどな。
255774ワット発電中さん:2012/05/12(土) 14:08:11.32 ID:W7epRIJ5
>>251
おかしくない。それ、学習の基本だと思う。
256774ワット発電中さん:2012/05/12(土) 14:10:02.17 ID:GMINM6ry
>>254
そういうことなのか?
そこまでは読めんかった。

>>252
あなたの説明してるpicは、質問者のpicと同じなのか?
257774ワット発電中さん:2012/05/12(土) 14:10:39.86 ID:C5Arc7oL
数少ない例から間違った演繹をする危険性がある。
実戦第一主義は良くないよ。

仕様書に頼りっきりでデバイスのバグに足元救われる事もあるから実験も大事だね。
258774ワット発電中さん:2012/05/12(土) 14:12:55.99 ID:C5Arc7oL
>>256
あなた流に返すなら、「マニュアルを読ませる」って書いてあるでしょ。
糞壷に書かれた情報なんて便所の落書きほどにも信用できやしないんだから。
259774ワット発電中さん:2012/05/12(土) 14:18:29.02 ID:W7epRIJ5
ここで聞くことことには、もっと大きな危険性があると思うけど。
260774ワット発電中さん:2012/05/12(土) 14:19:28.60 ID:/v7yGsIC
>>243,>>244,>>245,>>247
>要はベロシティの 0〜127を0〜150に変換したいの?

そうそう、それです!
で、>>247の方法でやってみたんですが、
ベロシティを100で送信して結果をオシロで測定すると
118.110236us(小数点切捨て)となるところなぜか2usになってしまいます!
測定方法はdelay_us(hoge);の間だけピンをHIGHにして測定しました。
delay_us(msg[2]);
の場合は問題なくベロシティ値が出るので測定方法が間違ってたりベロシティ値を受信出来てないわけではなさそうです。
261774ワット発電中さん:2012/05/12(土) 14:20:34.52 ID:W7epRIJ5
>>258の2行目をよく見ずに書いてしまった。スミマセン。
262774ワット発電中さん:2012/05/12(土) 14:22:14.06 ID:npoIFdun
実機でトレースするのが一番理解できんじゃね? もちろん、ドキュメント片手にだが。
さてと、いよいよOOCがステーブルになったな。 dsPIC専用として使ってみるか!
263774ワット発電中さん:2012/05/12(土) 14:25:34.43 ID:oIb3/QKi
picのシュミレーション、ソフトでできますか?
あるなら教えて下さい。

LED8個光らすプログラムです。
264774ワット発電中さん:2012/05/12(土) 14:25:54.60 ID:/v7yGsIC
というか昨日から何やっても2usになっちゃうんですけどね…
delay_us(msg[2]);と直接代入する時以外は
265774ワット発電中さん:2012/05/12(土) 14:32:10.67 ID:GMINM6ry
>>260
コンパイラの
PCM COMPILER 4.106
は使ったことがないんで、ちょっとあやしいが、
もしかして int は8bitかも。

unsigned int の宣言をunsigned shortに変更してでやってみて。
266774ワット発電中さん:2012/05/12(土) 14:33:25.06 ID:lL92LMsQ
>>263
お琴割りします
267774ワット発電中さん:2012/05/12(土) 14:37:02.03 ID:GMINM6ry
>>264
間違えた
16ビット整数ははint16みたいだ。

unsgined short ->unsigned int16
268774ワット発電中さん:2012/05/12(土) 14:40:41.09 ID:GMINM6ry
>>264
調べてみると
int16はunsigned のようだ。

int16にするだけか。

PCM変態すぎ。
269774ワット発電中さん:2012/05/12(土) 14:43:07.83 ID:e/aj+7+n
みんなPICでは最大規模でどんな物作ったことあるの?
俺は7セグ時計しかないけどな・・・ショボ過ぎw
270774ワット発電中さん:2012/05/12(土) 14:44:28.47 ID:W7epRIJ5
>>263
人に聞いてばかりいないで、自分で調べてみたら?
「pic シミュレーション」あたりで検索すれば、何か出るでしょ?
271774ワット発電中さん:2012/05/12(土) 14:50:03.55 ID:1K+Yg36l
>>264
1で1.17usecのdelay関数を作ると0-127を0-150に変換する計算が要らない。
272774ワット発電中さん:2012/05/12(土) 14:52:23.23 ID:1K+Yg36l
訂正 0.85usec
273774ワット発電中さん:2012/05/12(土) 15:01:38.15 ID:/v7yGsIC
>>268
できました!ありがとうございました!

>>271
mainで処理するにはそっちの方がいいかもしれませんね
ありがとうございます
274774ワット発電中さん:2012/05/12(土) 17:32:32.62 ID:npoIFdun
さてと... dsPICで作ったVFD、エンコーダ、スイッチてんこ盛りの操作パネルのプログラムを
oocで書き換えてみます。
どうなる事やら w 興味ある人は以下のウェブね。
http://ooc-coding.sourceforge.net/
275774ワット発電中さん:2012/05/12(土) 17:41:05.26 ID:QDq9AXiS
>>245
それってCL?
276774ワット発電中さん:2012/05/12(土) 17:42:27.35 ID:W+XYnleL
CLって何?
277774ワット発電中さん:2012/05/12(土) 17:44:22.28 ID:9bcgcVq/
Common Lisp?
278774ワット発電中さん:2012/05/12(土) 19:28:15.53 ID:SoeNKm60
割り込みが全然分からない。

割り込みが起こる確率ってランダムなんですか?

279774ワット発電中さん:2012/05/12(土) 19:42:11.72 ID:LrbfwOcD
おばはんが割り込んでくるからな
280774ワット発電中さん:2012/05/12(土) 22:30:34.16 ID:k32u3ByZ
ちょい質問
CCSCでコンパイル後に出てくる部分を見てて首を傾げたくんったんだが、
コンパイル後の
Memory usage: ROM=6% RAM=73% - 73%
0 Errors, 0 Warnings.
って記述と
MPLAB内のMemory Usage Gaugeってどっちを信じたらいい?

コンパイルの方を見るとすごく容量を使っている気がするんだけど、(実際static Unsigned intなんて斜め読みでよく分からない変数をいくつも用意している)
Memory Usage Gauge見るとData Memoryなんか1しか使ってないし。
281774ワット発電中さん:2012/05/12(土) 22:52:29.34 ID:quFqg01u
割り込みがマジでわからん。

何で
たとえば

HERE

〜処理1


GOTO HERE

のとき
処理1以外の処理が勝手に起こるんだろう?
どこにもHERE内に処理1以外のこと書いてないのに。
282774ワット発電中さん:2012/05/12(土) 22:54:02.93 ID:QDq9AXiS
>>280
MPLABはCCSCのメモリの使い方なんか知らんのだよ
スタートアップで変なことしてるんだろ
CCSCが申告する値も静的に確保した範囲で当てにならない
どっちも信用するな
アセンブラ吐かせて数えるのが確実

>>281
割り込み禁止しとけ
283774ワット発電中さん:2012/05/12(土) 22:56:55.18 ID:Djne1cxJ
どこでどういう情報を得ると、そういうあまりにも中途半端な理解になるのか
「割り込み マイコン」でググれ
284774ワット発電中さん:2012/05/12(土) 22:57:52.09 ID:KqlRIW5p
割り込みという仕組みがあるからスムーズに動く機器が作れるのさ
285774ワット発電中さん:2012/05/12(土) 22:58:53.85 ID:quFqg01u
>>282
割り込みプログラム作らないといけない。

>>284
だから割り込みのタイミングっていつなんでしょう?
勝手に割り込みが起こるんだが。
っていっても割り込みの処理事前に書いてるけどね。
286774ワット発電中さん:2012/05/12(土) 23:07:09.39 ID:GMINM6ry
>>285
何の割込み使うんだよ?
287774ワット発電中さん:2012/05/12(土) 23:07:21.12 ID:KqlRIW5p
>>285
割り込みってのは、割り込みが発生した場合に呼び出される関数を作って
そこに処理を記述する
で、ポート割り込みやタイマ割り込みが発生したら、現在の処理は中断して
割り込み関数内の処理を実行する
終わったら元の場所に戻る

ってのはわかってるのかな?
288774ワット発電中さん:2012/05/12(土) 23:08:28.52 ID:KqlRIW5p
コンフィギュレーションの設定が不適切で、予期せぬタイマー割り込みではまってるのかな?
289774ワット発電中さん:2012/05/12(土) 23:10:15.19 ID:kAjm8+IB
>>285
そりゃ割り込みは言葉の通り割り込みたいときに入ってくる。
その割り込み要因は・・・時間、信号の変化、作業の終了等様々。
火のないところには煙は立たない。何かしら事象があって初めて割り込みが発生する。
290774ワット発電中さん:2012/05/12(土) 23:12:58.64 ID:KqlRIW5p
そもそも>>281で何がききたいのかがいまいちわからないなぁ
291774ワット発電中さん:2012/05/12(土) 23:15:53.92 ID:IoOJHSuy
必要ない割り込みをイネーブルにしてるんじゃない?
292774ワット発電中さん:2012/05/12(土) 23:30:40.66 ID:quFqg01u
>>287
わかります。

割り込みはいつ発生するんですか?

電気信号の具合でたまたま発生するんですか?
293774ワット発電中さん:2012/05/12(土) 23:31:47.95 ID:quFqg01u
私が考えてる割り込みプログラムは

ずっとLEDが2つ点滅してる状態をHERE内で繰り返して
割り込みでLEDがもう一つ多く点滅しだすという超簡単なプログラムです。
294774ワット発電中さん:2012/05/12(土) 23:33:22.39 ID:IoOJHSuy
Cソースここに出してみたら?
295774ワット発電中さん:2012/05/12(土) 23:36:47.31 ID:KqlRIW5p
>>292
割り込みはポート割り込みとタイマ割り込みがある
ポート割り込みの場合は、割り込み可能なポートに対して割り込みイネーブルを
可にした場合、そのポートのH/L変化したタイミングで割り込み発生
タイマ割り込みの場合は、設定したタイマがカウントアップした場合に発生
296774ワット発電中さん:2012/05/12(土) 23:37:49.01 ID:KqlRIW5p
ごめん、語弊があるかも
×カウントアップ
○オーバーフロー(カウント値が最後まで行ったとき)
297774ワット発電中さん:2012/05/12(土) 23:45:02.15 ID:quFqg01u
>>295
うん?
ポート割り込みとは何でしょう?

298774ワット発電中さん:2012/05/12(土) 23:46:24.85 ID:KqlRIW5p
>>297
。。。
>そのポートのH/L変化したタイミングで割り込み発生
これでわからないと何とも言えない。。

要は、あるポートの論理が変わったことを検出して、即時に何かしらの
別処理をしたい時にポート割り込みを使うのだよ。
299774ワット発電中さん:2012/05/12(土) 23:50:45.77 ID:KqlRIW5p
入力ピンは全てプルダウンorプルアップで論理固定しているかい?
割り込み可能なポートをオープンにして、ノイズにより意図しないタイミング
で割り込みかかってはまってるとかないかねぇ。。
それから、割り込みポート如何に関わらず、入力ポートは論理固定しとかないと、
最悪ポート破壊するから気をつけてね
300774ワット発電中さん:2012/05/12(土) 23:51:05.05 ID:quFqg01u
>>298
すごいわかりやすいとおもった...

でも、High Low変化って別にプログラムに書いてないんだけど。
つまり勝手に割り込みが起こるの?

つまり、割り込みの処理だけ書いといてプログラム実行する。
そしたら、1秒後に割り込み処理が起こるかもしれないし、1時間後かもしれない。
てなこと?
301774ワット発電中さん:2012/05/12(土) 23:55:01.26 ID:ZuRhUKhS
必ずループの中でINTCONのビットをチェックしてなくちゃいけないの?
それともビットが立ったら勝手にこのルーチンへ飛ぶとかいうことが可能?
302774ワット発電中さん:2012/05/12(土) 23:55:43.33 ID:quFqg01u
論理固定?

LEDが点滅するプログラムだから、固定できない。
処理によって1になったり0になったりする。
1(ON),0(OFF)

303774ワット発電中さん:2012/05/12(土) 23:56:18.56 ID:C5Arc7oL
>>275-277
common lisp か知らないけど、lisp。
xyzzyに付いてた。
304774ワット発電中さん:2012/05/12(土) 23:57:57.35 ID:quFqg01u
割り込みに使うポートって何でもいいの?
305774ワット発電中さん:2012/05/12(土) 23:58:19.85 ID:KqlRIW5p
>>300
ポート割り込みの場合、使うマイコンにもよるけど、検出タイミングの
設定ができて、例えば
・立ち上がりエッジ検出(L→Hになった瞬間)
・立ち下がりエッジ検出(H→Lになった瞬間)
・変化時検出(L→HまたはH→Lなど、とにかく論理が変わった瞬間)
のようなものから選べる

設定は、PICなら、INTEDG等のOPTIONレジスタで行う

>そしたら、1秒後に割り込み処理が起こるかもしれないし、1時間後かもしれない。
>てなこと?

ポート割り込みの場合は、いつ割り込みポートの論理が変わるかによるから、
定期的にポートの論理が変わることがわかってない場合は、いつ割り込みが
かかるかわからない

もし、定期的に割り込み処理したいなら、内部タイマーによるタイマ割り込み
を使って、確実なタイミングで割り込みをかけるのさ
306774ワット発電中さん:2012/05/12(土) 23:59:18.10 ID:IoOJHSuy
ソース貼るのが一番早いよ
307774ワット発電中さん:2012/05/12(土) 23:59:23.10 ID:KqlRIW5p
>>304
割り込みにつかえるポートとそうでないポートがある
/INTとか書いてあるポートがポート割り込み可能なポートね
308774ワット発電中さん:2012/05/13(日) 00:00:16.20 ID:quFqg01u
割り込みポートの論理は勝手に変わるの?

割り込みポートの論理がどうなったら、割り込み処理が起こるの?

この事がいまだによくわかりませんね。
309774ワット発電中さん:2012/05/13(日) 00:00:45.29 ID:LJny2Fel
>>302
LEDをドライブするポートなら出力ポートだろうから、
そもそも論理固定など必要ないというか、しない
310774ワット発電中さん:2012/05/13(日) 00:03:40.29 ID:LJny2Fel
>>308
あのぉ。。>>299>>305は読んでいただけたのでしょうか?

それから、勝手に変わってこまるなら、入力ポートは論理固定しなきゃだめですよ。。
論理固定という書き方が語弊を生んだかな?

ここでの論理固定という意味は、何があろうとも固定しなきゃならんという
わけではなくて、要は、何も接続先からマイコンへ入力がなくとも、
HかLかに論理が固定されるようにプルアップなりプルダウンしとかないと
だめだよということね
311774ワット発電中さん:2012/05/13(日) 00:04:14.08 ID:quFqg01u
>>307
全然分からない。
/ってなに?
312774ワット発電中さん:2012/05/13(日) 00:05:09.80 ID:LJny2Fel
>>311
ttp://www.madlabo.com/mad/gid/pdf/pic16f84j.pdf
のピン配線図の6ピンを見ればわかる
313774ワット発電中さん:2012/05/13(日) 00:05:30.25 ID:quFqg01u
>>312
分からない。
PICはF16シリーズです。
314774ワット発電中さん:2012/05/13(日) 00:06:10.73 ID:aLzHxDpQ
315774ワット発電中さん:2012/05/13(日) 00:08:41.88 ID:qNsd6mbK
うーん。分からない。

L→Hになるのは偶然?

てことは一生割り込みが起こらない事もあるの?
316774ワット発電中さん:2012/05/13(日) 00:09:02.97 ID:LJny2Fel
>>313
そうですか。。
もう私にはこれ以上無理なので、他の優しい方頼みます
317774ワット発電中さん:2012/05/13(日) 00:09:27.60 ID:1/WjIHuP
ちょっとググるなりPIC関係の本を読むなりすれば分かることを、なぜここで聞くのか?
ここにいるのはquFqg01uの教師や先輩じゃないんだから、そっちがどういう知識を持っているのか、何をしようとしているのか全く知らない
「分からない」と言われても、まず何が分からないのかこっちは分からない
318774ワット発電中さん:2012/05/13(日) 00:13:07.76 ID:LJny2Fel
>>311
最後に。。
もし/の意味についてこだわってきいているのなら。。

マイコンのポートは、一つのポートでもいろんな機能が割り当てられている
場合が多く、その場合、通例、スラッシュで対応している機能を区切って
羅列して記載するのですよ。
319774ワット発電中さん:2012/05/13(日) 00:16:34.42 ID:qNsd6mbK
本当に悪いんだけど全然分からない......

立ち上がりの時に割り込みが起こる設定と
立下りのときに割り込みが起こる設定じゃ
何が違うんですか?
320774ワット発電中さん:2012/05/13(日) 00:18:04.56 ID:aLzHxDpQ
自分で調べた方が後々頭に残るよ
まずは書籍の真似から始めたほうがいいんじゃない
321774ワット発電中さん:2012/05/13(日) 00:20:09.40 ID:qNsd6mbK
>>320
もうしたけどねー、難しいね。

ID:LJny2Fel
の言ってる入力ポートって割り込みポートの事?
ごちゃごちゃしててよくわからん。
322774ワット発電中さん:2012/05/13(日) 00:20:45.41 ID:aLzHxDpQ
>>319
立ち上がり 立ち下り
で正論理・負論理も違うでしょうし。
当然ピンにつながる回路も違ってくるでしょ。

323774ワット発電中さん:2012/05/13(日) 00:22:31.12 ID:aLzHxDpQ
たぶん今のままじゃ解決しないから
よく書籍を読み返すんだな。
動かない殆どの原因は人間の間違いだからね。
324774ワット発電中さん:2012/05/13(日) 00:23:28.62 ID:hu2/0b2A
本当に悪い、NGにするわ
後閑て奴がPICの本腐るほど書いてるから
そいつに聞くといい
325774ワット発電中さん:2012/05/13(日) 00:23:52.20 ID:LJny2Fel
>>321
最後と言いつつ、何か不憫なので回答

割り込みポート=割り込み機能のついてる入力ポート

つまり、割り込みポートは入力ポートの一種なのだよ

外部から論理変化を取り込むわけだから、入力ポートでしかあり得ない
326774ワット発電中さん:2012/05/13(日) 00:24:59.82 ID:1/WjIHuP
親切な人が教えてくれてるのに、「分からない」で片付けられるのは寂しい
327774ワット発電中さん:2012/05/13(日) 00:27:48.58 ID:qNsd6mbK
>>326
それは悪いと思ってる。

>>325
なるほど。
外部ってどこ?割り込みポートはグラウンドに抵抗だけ挟んで
直接つないでるが。

割り込みポート=o


o----抵抗----GND
328774ワット発電中さん:2012/05/13(日) 00:30:20.94 ID:aLzHxDpQ
徹底的に2chだけで解決したいなら
図面もソースも明らかにしないとだめだよ。
みんなエスパーじゃないんだからさ。
329774ワット発電中さん:2012/05/13(日) 00:34:08.19 ID:LJny2Fel
>>327
えーい、つきあってあげる

外部とは、マイコンにつながる他の回路ね

抵抗介してGNDに繋いでるなら、それはプルダウンしてあるわけだから、
基本的に論理は固定されているね

いまいち状況がわからないけど、意図しない割り込みがかかって困ってる
なら、あとはタイマー割り込みに設定してしまっているとか?

他のみんなが言ってる通り、徹底的にここで解決したいなら、
図面(回路図)やソースを明らかにしてください。
330774ワット発電中さん:2012/05/13(日) 00:34:45.97 ID:1/WjIHuP
マイコンが何なのかを理解できていないかもしれない
ここらへんを最初からちゃんと読むといいと思う
http://www.picfun.com/cpuframe.html

とにかく設定次第で内部の接続が変わる
>>327ならポートには「0」が入力され続けて割り込まれないはずだけど、それが本当に割り込みポートとして機能している設定になっているのか、ハンダ付けに失敗していないか、そこらへんは全ての情報を持っている本人しか分からない
331774ワット発電中さん:2012/05/13(日) 00:38:47.31 ID:qNsd6mbK
うん?
論理固定されてたら割り込み起こらないと思うんだけど。
何らかの変化で割り込み起こるんじゃないのですか?
332774ワット発電中さん:2012/05/13(日) 00:39:46.72 ID:qNsd6mbK
まだプログラム作ってないので、作った時ロダにうpしたいと思います。
といっても提出用だからそれが出来たら苦労しない.....
333774ワット発電中さん:2012/05/13(日) 00:41:58.99 ID:aLzHxDpQ
>>331
まず情報を出そうよ。
君の目の前のものがどうなってるのかなんて
誰もわからないんだからさ。
そんなんで返答求められても困ると思わない?
ん?
334774ワット発電中さん:2012/05/13(日) 00:42:17.52 ID:LJny2Fel
>>331
何か笑えてきたよ

>論理固定されてたら割り込み起こらないと思うんだけど。
>何らかの変化で割り込み起こるんじゃないのですか?

そうだよ。だから、あなたの書き込みから得られる限られた情報から
察すると、ポート割り込みにより意図しない割り込みはひとまずないだろう
と判断したわけです

だから、>>329で、タイマー割り込みかな?と書いたのです

あるいは、他にも割り込み可能なポートがあって、そこはプルダウンされてなくて
不要なポート割り込みがかかってるとか

とにかく、情報が少ないので、「想像」に基づく回答しかできないよ

一度、書き込まれたレスをもう一度読み直して、マイコンの勉強も
やり直してみたら?
そしたら、多分、自ずとわかってくることばかりだよ、書いた内容は
335774ワット発電中さん:2012/05/13(日) 00:43:06.93 ID:aLzHxDpQ
割り込みうまくいかなかったんでしょ?
じゃ、バグのないソースは当然あるでしょ?
ソース書いてないのにどうやってPICに焼いたの?
え?
336774ワット発電中さん:2012/05/13(日) 00:43:12.52 ID:JuGesy0v
どこぞの工業高校か高専生の宿題(の手抜き)にここまで親切に付き合ってや
るとか、このスレの皆さんはホント神様みたいな方ですねw
337774ワット発電中さん:2012/05/13(日) 00:44:44.25 ID:qNsd6mbK
>>329
さっき設計図見たら抵抗の前に電源と繋いでました。
割り込み起こるっぽいですね。すいませんでした...
338774ワット発電中さん:2012/05/13(日) 00:47:40.09 ID:19TDPrMx
ネタがない時はそんなもんさ
まあいつもネタがないスレって話は置いといてw
339774ワット発電中さん:2012/05/13(日) 00:47:52.15 ID:aLzHxDpQ
ここまで引っ張っておいて
さっさと逃げるの?
ん?
後始末していってよ。
340774ワット発電中さん:2012/05/13(日) 00:49:29.82 ID:93RjeGSy
連投者は内容が薄いから全部あぼーんです
341774ワット発電中さん:2012/05/13(日) 00:50:32.53 ID:LJny2Fel
なんかどっと疲れが。。
342774ワット発電中さん:2012/05/13(日) 00:51:05.88 ID:qNsd6mbK
>>335
サンプルのソースは書いたけど、オリジナルはまだです。
サンプルもオリジナルも設計回路は一緒ですね。
オリジナル設計の図面は学校がばれるのでうpできないです。
すいません。
343774ワット発電中さん:2012/05/13(日) 00:51:43.38 ID:BJi0yTG3
>>331
さっくり。
割り込み処理は関数のように定義するけど、通常1つの関数。複数の割り込みが1つの割り込み処理を
呼び出すイメージ。関数の中で割り込み要因を確認し、割り込み要求を解除して終了。
仮に処理する必要がない割り込みを許可、その割り込みが発生しても要求を解除する処理が無い場合は、
割り込み処理を抜けても再度割り込み処理に入ってきてしまう。

けど、提出用って、少なくとも考え方を勉強し、その考え方の復習を兼ねて提出要請があるよね。
勉強していないところを提出しろなんてことは無いと思うぞ。ってことは、今まで授業?でやった処を
復習すれば問題は解決すると思うのだが。
344774ワット発電中さん:2012/05/13(日) 00:52:03.19 ID:qNsd6mbK
>>341
少し分かった気がします。

出力ポートやら入力ポートやら割り込みポートやら、ファイルレジスタやらが
ごっちゃになってました。
345774ワット発電中さん:2012/05/13(日) 01:23:52.47 ID:Bf/jBS2U
宿題は宿題スレでやれよ。
346774ワット発電中さん:2012/05/13(日) 03:00:34.28 ID:Wt/ZNtym
こんなのが将来エンジニアで糞ハード造るんだろうなと想像。
向いてないから技術の仕事諦めたほうがw
347774ワット発電中さん:2012/05/13(日) 09:34:42.10 ID:LLFtXPjk
割り込み信号に因果関係があれば割り込みがないプログラムはかける。
348774ワット発電中さん:2012/05/13(日) 11:23:07.15 ID:QOQKOAS/
割り込みの最中に割り込みが起こるようにするにはひとつのポートじゃ無理なの?

349774ワット発電中さん:2012/05/13(日) 11:26:37.04 ID:BJi0yTG3
>>348
ポート云々は余り関係ない気がする。
PIC18とかは優先度2つの割り込みを持つけど、優先度1つのタイプは割り込み処理中の割り込みは
なにかと無理があると思われ。割り込み発生間隔に最小時間が定義されるなら、反応時間はともかく
擬似的にやれなくもない。
350774ワット発電中さん:2012/05/13(日) 12:01:11.65 ID:7X7CmN57
statusとwの退避を工夫すれば多重割り込みは可能。
具体的には割り込み深さ変数を用意して退避先を配列にする。
退避したらbsf GIE。
戻りアドレスのスタック数の管理が面倒だが。油断すると8レベルはあっと言う間だな死ぬ。

お堅い人は「割り込みで長い処理をやるな」と言う。
351774ワット発電中さん:2012/05/13(日) 12:02:37.92 ID:L1Y3n8A8
割り込みでウエイトかけるぜ
ワイルドだろう?
352774ワット発電中さん:2012/05/13(日) 12:04:29.15 ID:1n2Smj7F
スギちゃんPICプログラミングできるのか・・・・
353774ワット発電中さん:2012/05/13(日) 12:49:07.40 ID:knK0YqcJ
mikrocコンパイラを使ってる方に質問いいでしょうか?
EEPROM_WriteとEEPROM_Readを使う場合、どこにDelay_ms(20)を置けばいいのですか?
例えば、

short data[256];

for(i=0;i<256;++i)
{
EEPROM_Write(i,data[i]);
}

という書き込みだけのfor文と

short data[256];

for(i=0;i<256;++i)
{
data[i]=EEPROM_Read(i);
}

の、読み込みだけのfor文があったとして、どちらもdelayはどこに必要でしょうか?
よろしくお願いします。
354774ワット発電中さん:2012/05/13(日) 13:06:57.11 ID:QOQKOAS/
PIC16で多重割り込みってできますか?
355774ワット発電中さん:2012/05/13(日) 13:47:01.27 ID:39KTkN40
割り込み禁止
356774ワット発電中さん:2012/05/13(日) 14:06:46.74 ID:BJi0yTG3
>>353
コンパイラの種類に関わらずデータシートに参考になる情報が書いてあるよ。電気的特性の項。
コンパイラが提供する各関数(マクロ)の中で作業している場合もあり。
357774ワット発電中さん:2012/05/13(日) 14:20:09.72 ID:oZA2x4iy
>354
1行だけの質問はきついな。
質問者の背景が全くわからないから、どの程度まで理解出来ていてどの程度まで知りたいのかさっぱり読めない。
せっかく答えても質問者にとっては見当違いだったり、後出し条件付いたりで、無駄になる事が多い。
それなりの回答を期待するなら、どういう状況で、どうしてそれを知りたいのか、自分はどういう推定を
しているか位書いてくれ、熱心さが伝われば煽り的なレスは減るし、回答する側もやる気が出るよ

まあ質問は>350さんの内容で出来るだろうけど、あなたには無理だと思うよ。
358774ワット発電中さん:2012/05/13(日) 15:54:12.84 ID:9rV19yB0
回りくどくて意地が悪い回答だな。

>>354
できます。
359774ワット発電中さん:2012/05/13(日) 16:01:06.65 ID:efmbIUM0
割り込みって、スイッチを押したとき割り込みが起こるようにするのが
ふつう?
360774ワット発電中さん:2012/05/13(日) 16:07:00.85 ID:19TDPrMx
>>359
自爆ボタン以外に押しボタンスイッチを使わないのが普通

てか、システム設計によってどう使うか変わるんだから普通も何もないw
361774ワット発電中さん:2012/05/13(日) 16:21:40.15 ID:egg/ayu3
>>353
Ensure minimum 20ms delay between successive use of routines EEPROM_Write and EEPROM_Read.
Although PIC will write the correct value, EEPROM_Read might return an undefined result.
362774ワット発電中さん:2012/05/13(日) 16:43:25.89 ID:efmbIUM0
割り込みの部分と、メインの部分があったとして、割り込みで処理された時の
FやWの中身が変わってたらメインで不都合が起きない?

メインは割り込みに影響されないようにしたいんですが。
363774ワット発電中さん:2012/05/13(日) 17:06:38.26 ID:C6r9jCHk
そりゃ当然超起きますよ。
MPASM時代は自前でPUSHとPOPを記述してた。
コンパイラには自動的にそのコードを付加してくれるものもある。
超最新PICはハードウェアがやってくれる。
で良いかな?
364774ワット発電中さん:2012/05/13(日) 22:59:32.65 ID:JuGesy0v
>超最新PICはハードウェアがやってくれる

どのへんの世代から?
365774ワット発電中さん:2012/05/13(日) 23:05:56.13 ID:2xwsHkiH
MIPS32だと、例外発生時のレジスタ退避は自前で書かないといけなかったような気が…
366774ワット発電中さん:2012/05/13(日) 23:16:50.38 ID:hspmIxws
ハードで自動退避とかあるのか、なんか不便だな
367774ワット発電中さん:2012/05/13(日) 23:36:50.88 ID:oZA2x4iy
【Baseline】割込み自体無い [2]

【Mid-Range】割込ベクターは1個、割込みルーチン内で自前で保存(BANK共通エリアが一般的) [8]

【Enhanced Mid-Range】割込ベクターは1個、W,STATUS,BSR,FSR,PCLATHが自動保存(保存内容はBANK31でR/W可) [16]

【PIC18】 割込み優先レベルが2段階あり、割込ベクターは優先レベル別で2個、上位のみW,STATUS,BSRが自動保存 [31]

【PIC24/dsPICシリーズ】割込み優先レベルが7段階あり、割込ベクターは要因別(多数)、SR(STATUS相当)のみ自動保存
Wnレジスタは自動保存は無いが、W0-W3まで裏レジスタがあり1命令で保存or復帰ができるので最優先割込みではこれを使う
[スタック方式の為メモリサイズに依存]
368774ワット発電中さん:2012/05/14(月) 01:03:51.60 ID:HXhrlviU
>>357
いつも丁寧で誠実な回答をありがとう。質問者に代わって礼を言いたい。

>>367
[]内はcallや割り込みの復帰アドレスの退避段数かな。
手元の旧ミッドレンジをすべて捨てたくなるくらい、新しいのと上位は恵まれてる。フウ・・・
369774ワット発電中さん:2012/05/14(月) 02:29:59.35 ID:QLaAvQLY
>>365
PIC32でも、>>367で言っているような裏レジスタが1セットあるから、
最優先割り込みではこれが使えるよ。
370774ワット発電中さん:2012/05/14(月) 02:32:27.88 ID:ModN4B1F
PICを使ってちんちんがPICPICするようなオナニーマシンを作りたい
371774ワット発電中さん:2012/05/14(月) 03:30:01.14 ID:HM8+M0n1
C言語しかできない、しかもド素人レベルの僕には退避だの裏レジスタだの見ても全然わかりません
これでいいのでしょうか?
372774ワット発電中さん:2012/05/14(月) 04:22:53.78 ID:QLaAvQLY
>>371
待避はCコンパイラが自動でやってくれるから、大丈夫。もし気になるなら、Disassembly Listeningで
自分の書いたコードがどんな風にコンパイルされているか、覗いてみたらいい。
373774ワット発電中さん:2012/05/14(月) 06:25:25.68 ID:ZiPzaN2O
久しぶりにPICやろうと思ったらデバイス増えすぎてて訳わからない状態。
手持ちの秋月のPICライターがver3の基盤らしいんだけど、これって
ver3.5→ver4のキット使ってver4に出来ますか?
374774ワット発電中さん:2012/05/14(月) 06:54:33.10 ID:k5C6d/jE
>>373
そんな物に金かけないでPICkit買っとけ。
375774ワット発電中さん:2012/05/14(月) 08:22:00.14 ID:02iBYEdR
PIC18使ったUSB周辺機器を小数作って配布したりする際に、ベンダIDとか
プロダクトIDはMicrochipのデフォ値をそのまま使っていいのかな?
どっかの団体から怒られたりする?
376774ワット発電中さん:2012/05/14(月) 09:44:35.43 ID:HXhrlviU
>>373
野良ブログから貴重な情報を。
ttp://men100.blog54.fc2.com/blog-entry-260.html
377774ワット発電中さん:2012/05/14(月) 17:58:29.03 ID:vGdspaJ9
MicrochipのUSB Frameworkに含まれているHID bootloaderを18F14K50に書き込
んだのですが、bootloaderを立ち上げてもRC0に繋がってるLEDがチカチカしま
せん。

18F2550も持ってますが、そちらはちゃんとbootloader実行中はLEDがチカチカ
します。また、18F14K50にユーザプログラムを送り込んで実行させるとちゃん
と意図した様にLEDが点灯するのでH/Wのミスは無いです。

これってこういうものなんでしょうか?

後はアナログ入力」であること
378774ワット発電中さん:2012/05/14(月) 18:14:10.94 ID:zabQ8f1+
OOC、おもしれぇ。 目からうろこ。 紹介してくれた人ありがとう。
379774ワット発電中さん:2012/05/14(月) 20:12:11.84 ID:57ABQ+NM
PIC初心者です。
加算機を作りたいのですが、PIC一つでも作れるでしょうか?
それとも複数のPICを組み合わせる必要があるでしょうか?
380774ワット発電中さん:2012/05/14(月) 20:16:42.99 ID:ci7f0yJa
>>379
まずフルアダーかハーフアダーか、動きを逐次再現する必要があるのか、ないのか
そこから考えてください。
後使用する開発環境も書き込み方法も考慮してください。
無論加算がされているという確認方法も考えてください。

それと、書き込み器で書き込んだ後の話ですけど、電源をつないでください。
381774ワット発電中さん:2012/05/14(月) 20:25:22.80 ID:57ABQ+NM
確認方法は7セグです。
二進数ならPICの命令が使えると思うんですが。

開発環境

Pickit2
PIC16(8ピン)
I/O A0〜A4 B0(INT)〜B8
382774ワット発電中さん:2012/05/14(月) 20:37:59.81 ID:ofdrNXn+
Bポートが9本ある8ピンPICについて知りたい
383774ワット発電中さん:2012/05/14(月) 20:39:38.51 ID:57ABQ+NM
間違えました。
B0(INT)〜B7ですね。
384774ワット発電中さん:2012/05/14(月) 20:40:47.41 ID:57ABQ+NM
PICを使わずに基本論理回路やらフリップフロップで簡単足算機作った時は
豪くしんどい思いをしたのでチップデバイスはPICのみを使って足算機作りたいです。
385774ワット発電中さん:2012/05/14(月) 20:45:21.86 ID:ci7f0yJa
あの…そもそも2進数以外でどうやって命令を実行するつもりだったの?
と言うかどうやって書き込むの?
そのための開発環境じゃないの?
アセンブラなのC言語なの、ラダーとかマイナー言語なの?

妄想したら想定道理のコード吐いて、しかもPICの選定と書き込みまで終わらせてくれるような様な立派な装置はないのよ、モルダー
386774ワット発電中さん:2012/05/14(月) 20:51:27.18 ID:57ABQ+NM
>>385
アセンブリですね。Cは使いません。
もちろん2進ですよ。
387774ワット発電中さん:2012/05/14(月) 21:00:26.89 ID:ci7f0yJa
じゃあ後は全部コードで書いてみたら?
ダメならダメだし、出来るなら出来るはず。
先生が必要なら教科書になりそうなのを探すか、データシート読めばいいよ。

…アセンブリで開発するなら全部そろえるのはただなんだから、コードを書くくらい出来るよね?
出来なくなってから、ここまでやって○○が上手くいかないんですけどなぜでしょうって聞きに来ればいいよ。
何から何まで全部教えるのは面倒だし、スレの読みやすさが損なわれるからやめてね。

ああ、ネットって書いて聞くだけじゃなくて見て勉強するって事も出来るから、人のコードを探すのもいいよね。
388774ワット発電中さん:2012/05/14(月) 21:27:20.80 ID:nQh4pXaa
とりあえず一通りのアナログ回路と何らかのプログラミングから入ればいいのにな。
全部いっぺんに、つまりいきなりマイコンから入ろうとすりゃ ある程度の敷居はあるだろうよ。
マイコンってあくまで応用だからね、理解してね。
389774ワット発電中さん:2012/05/14(月) 21:45:51.71 ID:Nzylg72P
むしろPICのおかげでソフトウェア的に考えられるから楽じゃないの?

小さい桁の足し算のプログラムならアセンブリで
30行くらいでしょw

皆凄い難しいイメージ植え付けようとしててワロタww
390774ワット発電中さん:2012/05/14(月) 22:03:34.69 ID:M4Y3sYtk
よくわからないけど
TTLなんかの代わりに 4bit + 4bit → 5bit の足し算をしたいという事?
ピン数さえたりれば、どのPICでもできそうだけど

>381 それとBポートが8bit分ある8ピンPICは無い。ピンが足りない
391774ワット発電中さん:2012/05/14(月) 22:10:36.37 ID:Nzylg72P
10+23=33みたいな計算がしたいんじゃないの?
簡単すぎるでしょ。
PIC1個でできるんじゃない?8ピンあれば。
392774ワット発電中さん:2012/05/14(月) 22:18:07.71 ID:n8IiRntF
宿題スレってないの?
393774ワット発電中さん:2012/05/14(月) 22:27:30.08 ID:EV+GwmaV
8pin PIC1つでどうやって7セグに繋ぐのかを知りたい
8pin PICを1bitのフルアダーにして好きな数だけ繋いでみるとか
394774ワット発電中さん:2012/05/14(月) 22:27:35.57 ID:M4Y3sYtk
395774ワット発電中さん:2012/05/14(月) 22:37:51.02 ID:Nzylg72P
>>393
デコーダ使えばいいんじゃないの?
396774ワット発電中さん:2012/05/14(月) 22:56:24.03 ID:ZiPzaN2O
>>376
ありがとう
397774ワット発電中さん:2012/05/14(月) 23:02:42.35 ID:ofdrNXn+
>>61のようなことをやれば、(6 !) / (2 * ((6 - 2) !)) = 15
つまり6pinで7セグを二桁動かせる
しかし入力が無いし出力も7セグしか無い

7セグだからと言って数字を表示する必要は無い、7+1bitを表示できるLEDアレーだと考えれば
2bit入力が二つとキャリーなし2bit出力、合計6bitの動作を確認できるかな
398774ワット発電中さん:2012/05/14(月) 23:15:46.42 ID:HXhrlviU
>>396
いいってことよ。
399774ワット発電中さん:2012/05/14(月) 23:16:26.94 ID:ofdrNXn+
http://ww1.microchip.com/downloads/en/AppNotes/91029a.pdf
ダイオードだから6pinで4桁いけるのか、結局関係ないけど
400774ワット発電中さん:2012/05/14(月) 23:34:36.24 ID:M4Y3sYtk
>397
それって7セグLEDじゃなくて7セグの形に配置されたLEDじゃないのか?
普通はアノード共通かカソード共通だけど、各セグメントのアノードとカソードが
独立しているのって売ってるの?
401774ワット発電中さん:2012/05/14(月) 23:53:12.74 ID:ofdrNXn+
裏面に配線が見えてたりするし、バラせるんじゃない?
402774ワット発電中さん:2012/05/15(火) 00:50:48.57 ID:kjbL/mH6
失礼します.
18f4525を使おうと思ってデータシート見たりググる先生に聞いたのですが,
コンフィグレーション レジスタ の設定がうまくできず,コンパイル時にエラーが出てしまいます..
コンパイラはSDCCです.
ググる先生で以下の書き方で出来ると書いてあって,(以下は,僕が実際に書いた設定です)
__CONFIG __CONFIG1H, _OSC_INTIO67_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
__CONFIG __CONFIG2L, _PWRT_ON_2L & _BOREN_OFF_2L & _BORV_28_2L
__CONFIG __CONFIG2H, _WDT_DISABLED_CONTROLLED_2H & _WDTPS_1_128_2H
__CONFIG __CONFIG3H, _CCP2MUX_RC1_3H & _PBADEN_PORTB_4_0__CONFIGURED_AS_DIGITAL_I_O_ON_RESET_3H & _LPT1OSC_OFF_3H & _MCLRE_MCLR_OFF_RE3_ON_3H
__CONFIG __CONFIG4L, _STVR_OFF_4L & _LVP_OFF_4L & _XINST_OFF_4L & _DEBUG_OFF_4L
__CONFIG __CONFIG5L, _CP_0_OFF_5L & _CP_1_OFF_5L & _CP_2_OFF_5L & _CP_3_OFF_5L
__CONFIG __CONFIG5H, _CPD_OFF_5H & _CPB_OFF_5H
__CONFIG __CONFIG6L, _WRT_0_OFF_6L & _WRT_1_OFF_6L & WRT_2_OFF_6L & _WRT_3_OFF_6L
__CONFIG __CONFIG6H, _WRTD_OFF_6H & _WRTD_OFF_6H & _WRTC_OFF_6H
__CONFIG __CONFIG7L, _EBTR_0_OFF_7L & _EBTR_1_OFF_7L & _EBTR_2_OFF_7L & _EBTR_3_OFF_7L
__CONFIG __CONFIG7H, _EBTRB_OFF_7H
ちなみに,以下はエラーメッセージです.
file.h:3: syntax error: token -> '0x300001' ; column 17
何が間違っているのかわからないので,教えていただけませんか.
403774ワット発電中さん:2012/05/15(火) 01:46:40.18 ID:JFZ+6G4L
エラーは引用の一行目で出てるね。

なんか書式が全然違う気がする。
int at __CONFIG1H ___config=_OSC_INTIO67_1H & _FCMEN_OFF_1H & _IESO_OFF_1H ;
のような予感がするよ。てきとーだけど。
404774ワット発電中さん:2012/05/15(火) 02:21:32.75 ID:CztPcv9M
405774ワット発電中さん:2012/05/15(火) 02:43:44.63 ID:bG/hMFqK
>>379
情報をもっともっと整理しないと、みんな何も分からないよ。本人もちゃんと
分かっていないのだろうけど。

1)全加算機なのか、半加算機なのか
2)加算機のビット数は? 1? 2? 4?
3)ポートが12個ある、8ピンのPICなど存在しない。
  8ピンを使いたいのか、ポートを12個使いたいのか。
4)7セグメント出力用のデコーダーは別に用意してあるのか、
  そこの部分もPICを用いたいのか。

4ビットの半加算機なら、7486一個で済んでしまう。

1ビットの全加算機なら、入力3ビット出力2ビットだから8ピンのPICでも可能。
406774ワット発電中さん:2012/05/15(火) 05:29:27.98 ID:nGFvNDcQ
48MHz駆動のPICのnopは83.333nsで合ってますか?
しかし、nopを繋ぎ合わせてきっかり1usのdelay作るの難しい。
407774ワット発電中さん:2012/05/15(火) 05:30:09.05 ID:nGFvNDcQ
と思ったけど、12個並べればきっかり1μsなのか
408774ワット発電中さん:2012/05/15(火) 12:42:25.85 ID:kjbL/mH6
>>403
レス遅れてすいません.
そうです.
コンフィグの1行目が,エディタでの3行目です.

早速,コンフィグ書きなおしてみました.
ですが,今度は別のエラーが出てしまいました.
file.h:4: error 0: Duplicate symbol '___config', symbol IGNORED
file.h:3: error 177: previously defined here
上は,一部です.
各行に対してエラーがでていたので,抜粋しました.
409408:2012/05/15(火) 13:06:05.74 ID:kjbL/mH6
エラー,処理できました.
このエラーは同じ変数をすべてのコンフィグレーションレジスタで
使っていたのが原因でした.
410408:2012/05/15(火) 14:56:16.17 ID:kjbL/mH6
先ほど書いたエラーは消せたのですが,別のエラーが出てしまい困っています.
gb.c:30: syntax error: token -> '' ; column 1
30行目の1列に構文エラーがあるのではないかと思っていますが,
そこには改行して何もコードはありません.
411774ワット発電中さん:2012/05/15(火) 21:09:47.04 ID:TuNVIYnD
出力に直接LEDつけても大丈夫かな?
ポートB3からね。
抵抗つけたほうがいい?
412774ワット発電中さん:2012/05/15(火) 21:13:46.03 ID:TuNVIYnD
ttp://homepage3.nifty.com/mitt/pic/pic5_13.html
この回路だけど、3つのLedの電位低い方がポートとつながってるけど
これは入力って事でOK?
ダイオードって三角の底辺が(+)で棒が(-)ですよね?
413774ワット発電中さん:2012/05/15(火) 21:27:39.67 ID:9LSx5FhB
>>411
>>412はお前じゃないのか?

>>412
出力。'0'出力時に点灯。三角の話はそれでいい。
414774ワット発電中さん:2012/05/15(火) 21:30:44.68 ID:TuNVIYnD
>>413
いやダイオードって電流が入る方が三角の底辺のほうじゃないの?
出力だと逆じゃ?電流が棒の側から入ることになる。
415774ワット発電中さん:2012/05/15(火) 21:37:18.30 ID:fO3p6MAE
基本的なアナログ回路を先に身に付けろって昨日言ったばっかりだろうが…
416774ワット発電中さん:2012/05/15(火) 21:37:45.26 ID:nYqBx+o+
Lowにして吸い込むイメージ
417774ワット発電中さん:2012/05/15(火) 21:38:26.85 ID:TuNVIYnD
出力で電位差を1か0にしてるわけか。
勘違いでした..すません。
でもポートに電流が流れ込むと思うんだけど
出力ポートに電流が流れこんでもいいの?
418774ワット発電中さん:2012/05/15(火) 21:40:51.03 ID:nxrsUNC6
CMOSプッシュプルとはそういうことだ
419774ワット発電中さん:2012/05/15(火) 21:43:51.50 ID:TuNVIYnD
PIC壊れないの?
PICの中で電流がアースされるわけ?
420774ワット発電中さん:2012/05/15(火) 21:47:42.21 ID:nxrsUNC6
>>419
そだよ
もちろんソース(吐き出し)とシンク(吸い込み)の最大電流値は規定されてるから
それ以上流すと壊れるよ
421774ワット発電中さん:2012/05/15(火) 21:51:01.91 ID:3WCDKVpk
まずLEDの性質について知っておかないと、色々な現象が発生することになる
そもそも>>415の言うとおりで、あとは見ず知らずの人間に質問をする態度についてと、ここが2chであって学校の教室じゃないということについて考えて欲しい
422774ワット発電中さん:2012/05/15(火) 21:53:23.49 ID:Z8QfgFeZ
>>419
流しすぎると当然壊れる。
423774ワット発電中さん:2012/05/15(火) 23:10:05.33 ID:JFZ+6G4L
>>410
ソース貼れ。
424774ワット発電中さん:2012/05/15(火) 23:11:46.92 ID:u9PVgReM
FPGAってpickit使えるの?
書き込みしたいんだけど。
425774ワット発電中さん:2012/05/16(水) 00:37:12.74 ID:A1i3FZBU
>>422
さっきドリフのケンちゃんの健康牛乳の録画したの見たばかりだ
カトちゃん壊れてた
426408:2012/05/16(水) 01:29:24.32 ID:+Va7jG1c
>>423
放置ぎみになってしまってすいません.
C言語ファイルでのエラーだったのですが,
一度問題のある部分の周辺を消してコンパイルしたら,ちゃんとコンパイルできたのでもう少し自分で考えてみようと思います.
折角ですが,すいません.
427774ワット発電中さん:2012/05/16(水) 04:08:12.52 ID:ZzhevP4E
>>424
FPGAはマイコンじゃないよ、電子ブロックみたいに用意されたパーツで回路を構築する感じの物
428774ワット発電中さん:2012/05/16(水) 04:30:52.59 ID:sO2DGVqP
>>427
それは、PSoC
429774ワット発電中さん:2012/05/16(水) 07:03:59.12 ID:HoEAG012
FPGAも十分に電子ブロックだろ。
デジタルプロックしか無いっていうだけで。
430774ワット発電中さん:2012/05/16(水) 07:22:25.76 ID:dTKXfXcg
ええー
431774ワット発電中さん:2012/05/16(水) 07:27:23.39 ID:lPz+4MAo
432774ワット発電中さん:2012/05/16(水) 10:26:11.97 ID:4NQvQeFg
詭弁の特徴15条
2.ごくまれな反例をとりあげる

ここはpicのスレだから脱線はほどほどにヨロ。
433774ワット発電中さん:2012/05/16(水) 10:36:33.44 ID:Snr1pffM
>>424
もしかして、これのこと?
ttp://sa89a.net/mp.cgi/ele/ub.htm
PICkit/18F14K50で、FPGAに使えるけど。
434774ワット発電中さん:2012/05/16(水) 16:42:00.90 ID:MR/q5NmT
今月号のトラ技でPIC16F1938のVCAPにコンデンサをつないでいないのだが、
いいのか?
435774ワット発電中さん:2012/05/16(水) 17:19:07.22 ID:Ccth0IeO
>434

前スレ >516
>Enhanced Mid-Rangeの中で28,40ピンのPIC16F1938や1939等は
>内部コアが3.6V動作の為、LDOを内蔵しており動作を安定させる為に
>VACP端子にコンデンサをつないだ方がよいとの記述がデータシートにあります。
>
>CONFIG2の設定でVCAP端子をRA0,RA5,RA6または無しに設定できますが
>みなさんはどうしていますか? 試しにブレッドボードでちょこっと動かした分には
>VCAP無しでも問題ありませんでした。

ネットだと
ttp://kikyoya.wordpress.com/2011/08/18/pic16f193x%E3%81%AEvcap/

とりあえず動くっぽいけど、ピンも可変だし不安なら入れた方がいいのかも。
datasheetのElectricak Specificationsの所で
LDO Regulatorの消費がVCAP有/無で 30uA/50uA(typ)になってる
容量は、こんな記述がいたるところにあるから0.1uF程度でいいのかな
>0.1uF capacitor on VCAP (RA0).
436774ワット発電中さん:2012/05/16(水) 20:45:28.80 ID:bj6dyY+m
FPGAはPCのCPU作れるくらいの代物だぞw
なにが電子ブロックだよ馬鹿かこいつ
437774ワット発電中さん:2012/05/16(水) 21:06:01.66 ID:Lf/9eNrb
煽りにしては力不足。
438774ワット発電中さん:2012/05/16(水) 21:10:30.18 ID:TKVULHGu
>>436
うーん、電子ブロックっちゃ電子ブロックだわ。。
439774ワット発電中さん:2012/05/16(水) 21:46:25.83 ID:ud1P7m2+
例えると、
PLD:電子ブロック
PSoC:自作PC
普通のマイコン:メーカー製PC

…結局コンピューターだから例えになってないか
440774ワット発電中さん:2012/05/16(水) 22:53:01.50 ID:dTKXfXcg
FPGAは、レゴの2x4のばっかり大量にある感じ
441774ワット発電中さん:2012/05/16(水) 23:08:00.29 ID:c7Mzuwsk
>>440
なんかワロタ
442774ワット発電中さん:2012/05/17(木) 00:15:36.15 ID:bE2IiJ9d
お題 : 特定のポートのbitを反転する
PIC16F
 MOVLW 0x01
 XORWF PORTA,f
 
PIC18F
 BTG LATA,0,0

PIC24/dsPIC
 BTG LATA,#0

PIC32
 LUI v0,0xBF88 ;LATAINVのアドレス0xBF88603C の上位16bitをv0に入れる v0=0xBF880000
 ADDIU v1,zero,1 ;ロード命令ないので 足し算で代わり v1=zero + 1
 SW v1,0x603C(v0) ;v1→[v0+603c]へ

MIPSのPIC32が思いのほか使いずらい。各ペリフェラルのbit操作用にxxxxCLR,SET,INVなんてのが
メモリに割り当てられていて使いやすくなってるけど、アセンブラでLATAなんかの定義がdefineじゃなくて
externで定義されているせいか演算もできず数値入力。
CだとLATAINV = 0x0001;だけで上記と同じコードが生成されるのに。PIC32でアセンブラは無理があるかw
443774ワット発電中さん:2012/05/17(木) 02:12:26.22 ID:zECgFx56
UARTで割り込みを使った連続TXの実験中。
20MHzでも115,200bpsは余裕ありそう。一文字辺り430命令実行できる。
ftdiの限界が460,000bpsって事だけど、とりあえずこれでいいや。
444774ワット発電中さん:2012/05/17(木) 08:02:00.59 ID:/izCavcA
>>436
大規模な電子ブロックですやんか
445774ワット発電中さん:2012/05/17(木) 08:51:36.00 ID:3KzI5DXG
>>435
ふむ。おもちゃならいいけど、業務用なら入れるべきですね。ありがとう。
446774ワット発電中さん:2012/05/17(木) 14:52:23.20 ID:UjhA6Kjr
>>427
電子ブロックと言うよりもマイキット
http://otonanokagaku.net/products/kit/mykit/detail.html
447774ワット発電中さん:2012/05/17(木) 14:58:47.00 ID:IOtJtb2S
18F14K50のポート状態変化割り込みって、RAとRBの全ポートが対象になってる
様に見えるんですが、RAってXtal繋いでたりUSB繋がってたりで、そんなポー
トが状態変化割り込み対象って凄く使いづらい気がするんですが・・・
ぱっと見、監視ポートを選択出来る感じでもないし・・・

まあ、エッジ割り込みがINT0-2で3つ使えるからそっち使えってことなんでしょ
うけど。
448774ワット発電中さん:2012/05/17(木) 15:16:25.60 ID:dDxQtXQu
>>447
IOCAとIOCBの設定で、ポートごとにinterrupt-on-changeの対象にするかどうかを
設定できるみたいだね。
449774ワット発電中さん:2012/05/17(木) 23:38:08.46 ID:zECgFx56
ftdiは 3MHz / (n/8)
pic は20MHz / 16 / n
最大公約数は 250,000bps だった。
もう600bpsの倍数なんて使ってられない。
450774ワット発電中さん:2012/05/18(金) 01:03:58.95 ID:MpG83WFO
16F88ですが、
スイッチを繋いで、「PIN_A3かPIN_A4がHIGHの時、あるいはそれ以外の時」、
という三パターンの周波数をPIN_A2から出力する、というコードをmainの中で下記のように書きました。
色々端折ってますが。
で、自分が期待した動作はスイッチを切り変えるごとに周波数が変わる、というものなのですが、
実際はスイッチを切り替えるとPIN_A2からの発振が止まってしまうので、
周波数を変える時は一度電源を落としてスイッチを切り替えて再度電源投入、というように手間がかかってしまいます。
コードの方で何か問題あるでしょうか。
スイッチは三接点?で、PIN_A3をHIGHにする、PIN_A4をHIGHにする、ノーコネクト、の三種類です

while(TRUE)
{
if(input(PIN_A3)){
timer1T=30000;
enable_interrupts(INT_TIMER1);
}else if(input(PIN_A4)){
timer1T=40000;
enable_interrupts(INT_TIMER1);
}else{
timer1T=50000;
enable_interrupts(INT_TIMER1);
}
}
451774ワット発電中さん:2012/05/18(金) 01:20:45.96 ID:7ukgN08Q
>>450
はしょりすぎじゃないか?
割り込みでは何をしてるの?
452774ワット発電中さん:2012/05/18(金) 01:51:15.52 ID:aS4uG6ez
enable_interrupts()は、ifの外に出すべき。
うまく動かないのとは関係ないけど。

PORTB.4〜.7の変化割り込み使えば無意味なpolling無くなる。
うまく動かないのとは関係ないけど。

ソフトも回路も謎だらけすぎ。エスパー頼む。
453774ワット発電中さん:2012/05/18(金) 01:55:19.21 ID:MpG83WFO
>>451
mainの頭の方で
setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);
して
#int_timer1//割り込み関数定義
void timer1Int()
{
set_timer1(timer1T);
pinOutput();
}

void pinOutput()
{
output_high(PIN_A2);
delay_us(500);
output_low(PIN_A2);
}

みたいな。
ようはさっき書いたコードで周波数の値を与えた後
pinOutput関数でPWMを作ってます。
とこの説明でわかるでしょうか…。
454774ワット発電中さん:2012/05/18(金) 02:21:44.49 ID:aS4uG6ez
> PIN_A2からの発振が止まってしまう
ポエムだなあ。Hi、Low、どっちで止まる?

Foscは幾つ?

割り込み処理の中でdelay_us()とか勇者過ぎる。
そんなに暇ならtimerなんて使わないで全部メインの中でビジーループの方が簡単だよ。
真面目にやるなら状態変数=フラグを1個用意して、set_timer1()の引数を500方面とtimer1Tで切り替えると捗るかと。
455774ワット発電中さん:2012/05/18(金) 02:35:18.62 ID:aS4uG6ez
基本に帰って。

イ−
スイッチを3通りにセットした状態で電源を入れると本当にそれぞれ望みのPWM出力を得られているか?

ロ−
#MCLRはI/Oに割り当てているか? どうで無いならプルアップされているか?

ハ−
450のwhileの中身をwhile(1){timer1T=40000;}にして望みの動作が得られるか?

辺りからこつこつ調べてみよう。
456774ワット発電中さん:2012/05/18(金) 11:33:47.69 ID:cOzyjnm8
いいスレだなあ。
picの資料見てるとワクワクするけど、マイクロチップ固有のプログラム作法なんて覚えたくないから手を出さずに眺めてたけど、
>>436
を見て、fpgaでヲレcpu作って適当なオープンソースパクって互換os作りたくなって来たw

>>407
そんなリアルタイム的な処理って期待出来るのかと思っちゃうけどな。
100nsズレルだけで上手く逝かない不幸の始まりじゃない?
457774ワット発電中さん:2012/05/18(金) 13:33:04.31 ID:tcfaBp15
>期待出来るのか
できるよ。
>作りたくなって来た
どうぞ。
458774ワット発電中さん:2012/05/18(金) 18:26:52.91 ID:9yB6sbJl
picってセラロックつけないと壊れるの?
どんな回路も一応セラロックが決まった端子二つからつないでるけど。
459774ワット発電中さん:2012/05/18(金) 18:33:37.63 ID:pVdaSQ6Y
>>458
>picってセラロックつけないと壊れるの?

そんなことはない。

>どんな回路も一応セラロックが決まった端子二つからつないでるけど。

そんなことはない。
460774ワット発電中さん:2012/05/18(金) 19:05:26.63 ID:NSP1n1m6
CR発振でも使えるけど遅い。でも安い。
461774ワット発電中さん:2012/05/18(金) 20:07:30.54 ID:hwMfw8NR
中学生しかおらんのかなこのスレ。
462774ワット発電中さん:2012/05/18(金) 20:16:19.72 ID:pVdaSQ6Y
>>461
小学生のキミには難しかったか。
463774ワット発電中さん:2012/05/18(金) 21:01:18.75 ID:cYkrj5mp
>>456
随分昔にやり尽くされた感があるけどね。
464774ワット発電中さん:2012/05/18(金) 21:25:57.70 ID:xIpjrh7a
おまいら初心者には優しくしてやれ
いつか通って来た道だろ
465774ワット発電中さん:2012/05/18(金) 21:43:29.50 ID:cOzyjnm8
むしろ小学生ぐらいしか興味持たないだろうと。
大きくなったら他に遣る事有るし。
466774ワット発電中さん:2012/05/18(金) 22:02:41.93 ID:giICYbsF
PICははんだ付けじゃないとダメなんですか?
467774ワット発電中さん:2012/05/18(金) 22:16:13.36 ID:NmxcLdrz
んーいいようなダメなような・・・・
468774ワット発電中さん:2012/05/18(金) 22:20:41.62 ID:pVdaSQ6Y
>>466
カマボコ板にPICをボンドで固定してラッピングで配線しても全然構わない
469774ワット発電中さん:2012/05/18(金) 22:32:49.38 ID:GEJk+Qon
ゲルマラジオ作ってるみたいだね
470774ワット発電中さん:2012/05/18(金) 22:35:47.95 ID:zTIhIhQ/
>>466
ブレッドボードでもいいよ

聞いた話だと、半田のかわりに接着剤を使った人がいてね…
こういう質問をする人ならやりかねんなと…
471774ワット発電中さん:2012/05/18(金) 22:44:47.11 ID:giICYbsF
ダメなのは何で?
接触が悪くなるから?
472774ワット発電中さん:2012/05/18(金) 22:49:21.66 ID:YhPh+vDl
>>471
半田付け以外で何かを組み上げて、そのあと、ソレはどうするん? という疑問がわいた。
473774ワット発電中さん:2012/05/18(金) 22:54:05.67 ID:giICYbsF
何言ってるか分からない
組み上げる=完成では?
474774ワット発電中さん:2012/05/18(金) 23:05:49.11 ID:5iImGk9c
どうやって作るって?
接着剤でも何でも自分で半田んすればいい。
475774ワット発電中さん:2012/05/18(金) 23:07:40.65 ID:b4/luq84
電気流れる材料で線を接続しないと動きようが無い。
476774ワット発電中さん:2012/05/18(金) 23:24:55.98 ID:giICYbsF
>>470
ありがとうございます。
電気接続は当然で、その手法がはんだか基盤使うかどっちが良いか知りたかったんです。
477774ワット発電中さん:2012/05/18(金) 23:26:50.81 ID:hwMfw8NR
釣りですね、わかります。
478774ワット発電中さん:2012/05/18(金) 23:40:40.32 ID:YhPh+vDl
×基盤
○基板
479774ワット発電中さん:2012/05/18(金) 23:43:32.29 ID:3H7Y86w2
接着剤でもしっかりカラげてからつければきっと導通するだろ。
480774ワット発電中さん:2012/05/18(金) 23:46:48.97 ID:b4/luq84
接着剤使うヤツがカラゲをしっかりやるはずが無い。
481774ワット発電中さん:2012/05/18(金) 23:56:38.12 ID:rSWJbwAQ
>はんだか基盤使うか
ってのが意味不明なんだけど。

基板にハンダづけ
ブレッドボード

のどちらかじゃないの?
482774ワット発電中さん:2012/05/18(金) 23:59:18.60 ID:giICYbsF
>>481
電子回路って繊細なイメージがあって、あれもダメ、これもダメみたいな
イメージがあるんですよ。あの導線じゃこのPICは無理!とか。
そういう事が気になって仕方なくてね..
483774ワット発電中さん:2012/05/19(土) 00:09:06.89 ID:CDOcGUx9
日本語でおk
プリント基板とユニバーサル基板の話?
484774ワット発電中さん:2012/05/19(土) 00:16:22.50 ID:F2WnBK+9
アナログ回路なんかなら、バラックでいい加減に組むと発信するとかなんとか聞くんで、わからなくもないが
PICみたいな安く簡単に目的を果たすための代物に、そんな縛りがあったらイヤだ。
485774ワット発電中さん:2012/05/19(土) 00:31:30.26 ID:CDOcGUx9
あんまりオシレータやパスコンと距離が離れるとまずいけど
安定した電源があって、常識的な接続がされてればそれなりに動くだろうさ

A/Dの精度追求とかUSBとか考えると難易度上がりそうだけど
486774ワット発電中さん:2012/05/19(土) 00:34:37.72 ID:AdVK5YgF
487774ワット発電中さん:2012/05/19(土) 00:50:10.10 ID:gkaFUhf3
本人含めて産廃だろ。
488774ワット発電中さん:2012/05/19(土) 00:53:56.77 ID:lVsiwnm3
ttp://akizukidenshi.com/catalog/g/gI-05824/
↑秋月で10F322でたみたい。
ロジックセルが面白そうだけど使い道が…
489774ワット発電中さん:2012/05/19(土) 01:07:39.60 ID:Vxa+UoJ3
>>484
>>485
ありがとう。安心した。
ブレッドボードで動作確認できるのは心強いわ。
490774ワット発電中さん:2012/05/19(土) 02:07:44.20 ID:xQSsSqlw
ここに質問投げっぱで消えてった人ってどの辺りの海岸に流れ着くんだろう?
491774ワット発電中さん:2012/05/19(土) 03:34:22.57 ID:xQSsSqlw
16F877A。他、旧ミッドレンジにて。

banksel は STATUS.RP1 と STATUS.RP0 のビットの上げ下げに展開されるマクロ。
じゃあ、STATUS.IRP のビットを上げ下げしてくれるマクロは無いの?
間接アクセスし辛い。
492774ワット発電中さん:2012/05/19(土) 03:36:30.34 ID:xQSsSqlw
1分で華麗に自己解決。
ttp://www.piclist.com/images/www/hobby_elec/pic4_8.htm によると、
bankisel っぽい。
493774ワット発電中さん:2012/05/19(土) 04:57:50.80 ID:oa3hE5Iq
>>492
マクロなんて自分で好きなだけ作ればいいだろ
494774ワット発電中さん:2012/05/19(土) 05:28:46.96 ID:eoS/7Rpd
ブレートボード使ってUSB-PICを組んでマウスカーソルがグルグル回るデモを
動かしてみたけど、なんかカーソルの回り方が凄くぎこちなくて、USBコネク
ターを指で触れるだけでマウスカーソルの動きがぎこちなくなったりして、
ブレートボードで組むのはなんか安定しないっていう印象を受けた
495774ワット発電中さん:2012/05/19(土) 06:11:37.92 ID:VSXcYIuT
http://kohada.2ch.net/test/read.cgi/gameurawaza/1326616811/l50
ここら辺のスレ見てると配線は半田付けなんて難しい事しないで熱収縮使った
方がいいよ^^なんて話してるんで今の子供って半田付け出来ないんだな〜と思う。
496774ワット発電中さん:2012/05/19(土) 06:21:31.33 ID:ZuLFCrOl
ピックで、割り込みの発生しない16ビットカウンタはありませんか?
他の要因で割り込みが発生した際に、前回割り込みからどの位間隔が空いたか
を知りたいんです。割り込みは最短で3マイクロ秒、最長で20ミリ秒程度です。
497774ワット発電中さん:2012/05/19(土) 06:50:34.82 ID:sdasmbkp
カタカナやめれ。氷を砕く、アレになっちゃう(手の平の上で氷をガッガッするのを見るのは怖い)。

空いてるタイマの割り込み禁止で済むんじゃない?カウンタの値は読めるよね。
A点でクリア、B点でタイマ停止(必要に応じて)してタイマカウンタの値を読み込む。
フリーランのタイマーの場合でも同様。A点でのクリアをしなくても差分を採る方法で何とかなる。

ただ、カウンタ一周すると値は意味を持たなくなるので注意。16bitタイマが必要になる場合有り。
オーバーフローを割り込み要因にできるのであれば、A点でのカウンタクリアを組み合わせれば
2週未満の範囲で時間を判断できる。

ってか、空きポートに状態を出力して、オシロなり、ロジアナで見た方が簡単。
498774ワット発電中さん:2012/05/19(土) 07:42:37.53 ID:oaYpHWas
>>497
ぬるぽぬるぽ
499774ワット発電中さん:2012/05/19(土) 07:46:02.37 ID:eoS/7Rpd
>>497
開発過程で見たいのではなく、PG内で知りたいのでロジアナライザーとか
は無理です。

確かに、1週してしまうとNカウントなのか1週+Nカウントなのか判別出
来ませんね。タイマ割り込み使って集会数もカウントするしかなさそうです
ね。20ミリ秒以上の間隔については「20ミリ秒以上開いた」という事だ
け分かればいいのでオーバーフローした時点でカウンタが勝手に止まってく
れれば楽だったんですが。
500774ワット発電中さん:2012/05/19(土) 08:12:21.52 ID:sU/MsKWG
>>499
1周以上しているかどうかは、T1IFとかTMR1IFといったフラグを調べれば判る。
501774ワット発電中さん:2012/05/19(土) 08:49:03.17 ID:sdasmbkp
>>498
何となく予想はしてた。期待に応えてくれてありがとw
502774ワット発電中さん:2012/05/19(土) 17:08:09.84 ID:OkqoQF1O
dsPIC を2個もらったんだけど16Fや24Fしか使ったことのない
俺にはどんな価値があるのかわからない、いやどう使えばいいんだろう
503774ワット発電中さん:2012/05/19(土) 17:09:33.18 ID:bFMRne54
dsの文字は削ってPICのとこだけ使う
504774ワット発電中さん:2012/05/19(土) 17:59:56.45 ID:+VSi6w7o
>>488
細かいことを言うのも何だけど
ビットをピットと誤入力しちゃうってのは、カナ入力だとやっちゃうのかな
505774ワット発電中さん:2012/05/19(土) 18:31:50.06 ID:CDOcGUx9
506774ワット発電中さん:2012/05/19(土) 18:40:39.16 ID:Axxtz+Qe
参考資料名の誤字もつっこんでやれよ。
それよりもPIC10Fシリーズって、DIPではウマミが少ないと思うんだが・・・
507774ワット発電中さん:2012/05/19(土) 20:12:21.95 ID:YGWGNpVo
ウットビットは絶対ウッドビットだと思ったのに
508774ワット発電中さん:2012/05/19(土) 22:42:21.36 ID:IOzupWld
pic回路をはんだごてで使うとき、抵抗の足を導線代わりにしてるんだけど問題ないの?
線足りない分補ってる。
509774ワット発電中さん:2012/05/19(土) 22:50:00.42 ID:xQSsSqlw
それが正統だと思うよ。
コンデンサの足は何故か鉄だったりするから油断ならない。(CP線)
錫メッキ線を使うのはお大尽。
半田メッキ線を使うのがプロ。

絶縁線はポリウレタンエナメルドワイヤがおすすめ。(UEW)
信号を通すなら0.2mm〜0.26mm辺りが使い易いよ。
510774ワット発電中さん:2012/05/19(土) 22:50:05.52 ID:CCnENb6Z
>>508
なんか変な表現だが… というか、それは回路作成の問題であってPIC関係ないのでは?
さて
錫メッキ線と差はないので無問題。
511774ワット発電中さん:2012/05/19(土) 23:45:05.33 ID:C+CqjtO1
>>509
> コンデンサの足は何故か鉄だったりするから油断ならない。(CP線)
うちは、抵抗の足も鉄っぽいんだが・・・磁石に着くし。
512774ワット発電中さん:2012/05/20(日) 00:33:39.23 ID:3FeS3FtI
それ、ニッケルめっきじゃない?
513774ワット発電中さん:2012/05/20(日) 02:46:00.50 ID:nsSupH+0
>506
PIC10F322
ttp://akizukidenshi.com/catalog/g/gI-05824/
DIP品は米粒売り出すよという布石なんじゃないか。
10F322命令はMid-rangeになって割込みも対応したし、FVR,CLC,NCQ,CWGとかいう
新機能も満載で内蔵クロックも16MHzまで使えるし、TMR1が無いのは痛いけど
全体的によいチップじゃないか
514774ワット発電中さん:2012/05/20(日) 06:41:21.08 ID:ZtXbfq67
PIC16F84AでWiiのリモコンに繋ぐクラシックコントローラーのコントローラーICを
自作しようと思ってググってみたらプロトコルが複雑すぎて訳わかんなかった。

ジョイパッド如きで暗号化してるんだな〜。
515774ワット発電中さん:2012/05/20(日) 08:27:47.35 ID:RjviYevS
Wiiリモコンをマウス的に使ったら便利かもと思ったけど、
電源を入れる度に認識させないといけないので放置してある
516774ワット発電中さん:2012/05/20(日) 08:58:53.54 ID:21L3kYiH
鉄リードを銅だと思い込んでる人って結構多いかもね。
プロでも。
517774ワット発電中さん:2012/05/20(日) 09:13:41.47 ID:lGhxkQPY
>>509
俺は、基板なし配線の時はワイヤーラッピングを部品の足に直巻して半田付けしない。
518774ワット発電中さん:2012/05/20(日) 09:28:21.16 ID:vS0b++cq
>>516
普通にニッパで切った時の硬さで気づくだろう。
519774ワット発電中さん:2012/05/20(日) 09:38:09.77 ID:lGhxkQPY
導線で充分。
銅線にこだわる理由は?
520774ワット発電中さん:2012/05/20(日) 09:38:43.75 ID:BHVhFX/E
>>516
プロも?
嘘ダベサ!
刃物の刃が・・・
521774ワット発電中さん:2012/05/20(日) 09:39:42.09 ID:XBPruYcO
アルミバットに取っ手つけてゴミ箱引き出しにしています。
カットした線材や小ジャンクはここに貯めて、再利用。
カット面が銅色のバーツ、あまり見かけなくなりました。白銅なのかもしれないですが、鉄線も多いでしょうね。
http://i.imgur.com/V51lN.jpg
522774ワット発電中さん:2012/05/20(日) 10:09:01.76 ID:ImAzj95t
指紋で特定しました
523774ワット発電中さん:2012/05/20(日) 11:39:48.61 ID:JOY8TjQU
うん、一瞬でわかったw
524774ワット発電中さん:2012/05/20(日) 11:50:08.33 ID:21L3kYiH
100均商品のPearlは色んなところで売ってるが
写真のタイプは東海地方の数店でしか
出回らなかったタイプ。
525774ワット発電中さん:2012/05/20(日) 14:06:52.32 ID:a0IEvh//
>>522
実用新案の先願主張する時、証人になってくれるねw
526774ワット発電中さん:2012/05/20(日) 15:41:07.16 ID:X05B/npF
秋月のver4しか手元にないけど、ICPするドキュメントどこかにない?
対象は旧ミッドレンジ。

抜いて刺して焼いて抜いて刺して動かしては疲れたお。
527774ワット発電中さん:2012/05/20(日) 16:10:02.36 ID:1HQL+eu+
>>521
それ良いなぁ
金属片だったら虫もわかないだろうしww
528774ワット発電中さん:2012/05/20(日) 21:36:41.85 ID:TEZGbFG0
>>526
以前PIC START+を使ってた時
VPP/MCLR,VDD,VSS,PGD,PGCの5本を下の二つを使って引き出し、
ttp://akizukidenshi.com/catalog/g/gP-00266/
ttp://akizukidenshi.com/catalog/g/gC-03784/
PIC Kitと同じICSPコネクタで使えるようにした。
ピン配置はデータシート参照
ケーブルが長すぎるとだめなので注意
529774ワット発電中さん:2012/05/20(日) 22:25:39.76 ID:X05B/npF
ありがとう。書き込み成功した。
これでデバッグが捗るよ。

MCLRを入出力に使えないデバイスだから100kΩでターゲットの5Vにつないだくらいかな。
PGD, PGCはとりあえずターゲットで使わないようにした。
後は直結で、ターゲットの電源入れたままでHEX焼ける。
助かる!
530774ワット発電中さん:2012/05/20(日) 22:32:13.56 ID:X05B/npF
VDDは繋がない方がいいっていう神の啓示があったので引っこ抜いた。
5V同士が喧嘩する気がした。
531774ワット発電中さん:2012/05/21(月) 08:38:25.89 ID:wPeWLY16
PICを使ったUSB機器を作ろうと思っています。
二つほど質問させてください。



ほんとに入門者なのですがわかりやすいお勧めの本はありますでしょうか?
とりあえずスイッチのオンオフをPCで判定出来るような事から始めたいと思います。


「改訂新版 PICで楽しむ USB 機器自作のすすめ」
これを入門者の私が買っても理解できるでしょうか?
532774ワット発電中さん:2012/05/21(月) 08:52:19.76 ID:rq/HbGHU
でかい本屋行って自分で判断したら?
533774ワット発電中さん:2012/05/21(月) 09:08:51.96 ID:lURPRTu6
便乗質問だが、Windows側のドライバーって付録の奴使ってる?
プログラムはVC辺りで作ってるの?
534774ワット発電中さん:2012/05/21(月) 12:58:01.05 ID:vkz3K0Ph
>>531
初心者にその本は、無料。

まずこれ。
そして本で紹介の完成ボードとブレッドボードを秋月で買う。
http://i.imgur.com/juq2G.jpg

次にこれ。
付録の基板を秋月でバーツ買って組み上げる。
http://i.imgur.com/Kffun.jpg

ここまでいけば、これ買わなくてもすむかも?
http://i.imgur.com/zPess.jpg

535774ワット発電中さん:2012/05/21(月) 13:21:38.08 ID:rpDxFaK9
> 初心者にその本は、無料。
俺も初心者のフリしたら只で貰えるかな?
536774ワット発電中さん:2012/05/21(月) 13:38:29.87 ID:W+6fxZ/l
むりよ?
537774ワット発電中さん:2012/05/21(月) 13:41:14.13 ID:vkz3K0Ph
うん、「むりよ」(^^;;
538531:2012/05/21(月) 17:56:56.88 ID:wPeWLY16
>>534
レスありがとうございます!しかも写真付きとは
USBで動かす電子工作を買ってみようと思います

手元のスイッチのオンオフをソフトで監視するのくらい出来るようになりたいです。
539774ワット発電中さん:2012/05/21(月) 18:22:44.12 ID:6eViHzqc
USBは、なんだかめんどくさいイメージがある
結局FT232に逃げてしまうけど、PIC単体でできるようになった方が配線楽だし安いのかな
540774ワット発電中さん:2012/05/21(月) 18:27:02.76 ID:Gqpv9z2Y
ソフトで苦労するか、ハードで苦労するか・・・
541774ワット発電中さん:2012/05/21(月) 18:33:35.03 ID:+DUwTH84
>>539
そりゃ値段で言えば18F14K50が\170しかしませんから。
しかもDIL20で扱いやすいし、FLASHも意外と16kもあるし。
542774ワット発電中さん:2012/05/21(月) 19:28:50.54 ID:jse4W1Yw
10円で買ったLEDが2年立ったいまでも光るんだが、こんなに性能いいの?
今のLEDって。
皆どう?
543774ワット発電中さん:2012/05/21(月) 19:36:51.07 ID:rq/HbGHU
>>542
LED電球の寿命(明るさが新品の70%まで落ちる)は40000時間(≒4年)らしいぞ
544774ワット発電中さん:2012/05/21(月) 20:14:24.46 ID:6eViHzqc
10円ってことは、普通の小さい表示用LED?
だったら10年程度の連続点灯は余裕なんじゃないか
545774ワット発電中さん:2012/05/21(月) 20:17:55.30 ID:jse4W1Yw
ところで割り込みが一回しか起こらない...
どうしたらいいですか?

スイッチを入れたら割り込みが起こるんですが
スイッチ入れっぱなしにしてても、通常ルーチンがずっと続き
割り込みが起こらない。
546774ワット発電中さん:2012/05/21(月) 20:24:34.87 ID:wjEqJtdH
>>545が起こすように仕向けて下さい、お願いします。
でないとその子は一生割り込みを知らない子になってしまいます。
547774ワット発電中さん:2012/05/21(月) 20:25:09.64 ID:Jwi5ra6w
一度スイッチ切れば解決しそうじゃん
548774ワット発電中さん:2012/05/21(月) 20:29:23.10 ID:jse4W1Yw
スイッチを入れっぱなしにして、割り込みが起こるプログラムにしたいです。

通常ルーチン:LEDが1個点滅
割り込みルーチン:LEDが2個点滅

です
549774ワット発電中さん:2012/05/21(月) 20:30:48.55 ID:DyV/iAUI
>>545
仕様だから諦めろ。
550774ワット発電中さん:2012/05/21(月) 20:34:17.63 ID:jse4W1Yw
>>549
考えられる原因は何でしょうか?
本当に困ってます。
エッジ設定とかでしょうか?
551774ワット発電中さん:2012/05/21(月) 20:39:34.17 ID:DyV/iAUI
エスパー回答だが、原因は「仕様」。
552774ワット発電中さん:2012/05/21(月) 20:41:46.93 ID:6eViHzqc
割り込みは「エッジ」でしか発生しない、そういう仕様なんだから
どうしてもメインループや割り込みっぱなしの処理でなく、割り込みの連発で処理したいなら、2個目のLEDあたりから割り込み端子に遅延を入れてフィードバックするか、適当な発進回路を組むか
553774ワット発電中さん:2012/05/21(月) 20:44:04.11 ID:vKFOUEdU
>>550
単にスイッチで動作を切り替えたいのなら
ループ内でポート読んで分岐したほうが簡単だと思うな。

どうしても割り込みを使いたいのなら割り込みフラグをクリアしないとか?
554774ワット発電中さん:2012/05/21(月) 20:48:57.95 ID:jse4W1Yw
>>552
レスありがとうございます。
立ち上がりや立下りの信号というのは、スイッチを入れている状態なら
起こると思うのですが違うのでしょうか?

つまり、立ち上がりや立下りを感知して
割り込みルーチンに入る、通常ルーチンに戻るを延々に繰り返すと
思うのですが
555774ワット発電中さん:2012/05/21(月) 20:50:21.78 ID:jse4W1Yw
>>553
スイッチで動作を切り替えたいのじゃなくて、スイッチを入れている状態で
割り込みが起こって欲しいという事です。というか起こるはずなんですが.....
556774ワット発電中さん:2012/05/21(月) 21:18:00.94 ID:DyV/iAUI
> 立ち上がりや立下りの信号というのは、スイッチを入れている状態なら
> 起こると思うのですが違うのでしょうか?

たぶん、あなたには永遠に作れません。
557774ワット発電中さん:2012/05/21(月) 21:25:22.46 ID:KQAT0VOB
立ち上がり、立下りとはどういう状態のことを想定してますか。
スイッチ押しっぱなしだとどういう波形になりますか。
波形を描いてみてください。
558774ワット発電中さん:2012/05/21(月) 21:27:47.76 ID:6eViHzqc
×発進→○発振

>>554
違います
スイッチを入れっぱなしなら何も起こりません
「立ち上がり」や「立下り」について調べるか学校の先生に聞いてください

ポートの入出力をメインループで意図的に切り替えれば、端子入力とのANDになって割り込みが発生する…のかな?不定な動作かもしれない
559774ワット発電中さん:2012/05/21(月) 21:30:55.78 ID:vKFOUEdU
>>555
>>つまり、立ち上がりや立下りを感知して割り込みルーチンに入る、通常ルーチンに戻るを延々に繰り返すと思うのですが

言葉の意味を確認すべきですね。
立ち上がりは信号がローレベル→ハイレベルに変化した"瞬間"に起こる。
立下りはハイレベル→ローレベルに変化した"瞬間"に起こる。
スイッチを入れっぱなしだと
ずっと同じレベルの信号が入り続けるだけで変化は起こらない。
つまり、スイッチを入れた瞬間は立ち上がりor立下り(プルアップかプルダウンか知らんからどっちか)で割り込みは入るけど、
それ以降は信号に変化がないから割り込みは起こらない。
560774ワット発電中さん:2012/05/21(月) 21:36:57.65 ID:jse4W1Yw
>>557
>>559
なるほど勘違いしていました。
電源はコンデンサやらが噛んでいたので信号は上がったり下がったりする
波形かと思っていました。

割り込みを起こすには手動じゃないとダメなんですね。
かなりすっきりしました。ありがとうございます。
561774ワット発電中さん:2012/05/21(月) 22:10:05.35 ID:PmNbwz6Z
>>560
やりたいことがいまいちわからないけど、、

スイッチを押している間、定期的に割り込みをかけたいなら、例えば最初、
ポート割り込み設定をrising edgeにしておく
スイッチを押したら、ポート割り込みがかかって、その割り込みルーチン内で、
タイマ割り込みをONにし、同時にポート割り込みの設定をfalling edgeに切り替えておく

スイッチを離してポートがLに戻った時に、falling edgeで再度ポート割り込みがかかって、
タイマ割り込みOFFにする

とか

まあ、割り込みフラグをみて、タイマ割り込みなのかポート割り込みなのか振り分ける
必要があると思うけどね

(上記は、スイッチ押しでH、スイッチ離しでLの論理の場合の説明)
562774ワット発電中さん:2012/05/22(火) 00:11:57.57 ID:sUrKyeEH
アセンブラでUART使うの意外と面倒。
TXIFの仕様は他の割り込みフラグと全然違うのも罠だな。

完全に連続でどばーってのと、完全に離散的にぽつぽつってのはできた。
両方対応で少し手間取ってる。
563774ワット発電中さん:2012/05/22(火) 18:40:26.48 ID:9ELCV3Qy
そうですか。
564774ワット発電中さん:2012/05/23(水) 03:04:07.05 ID:thHisqrN
>電源はコンデンサやらが噛んでいたので信号は上がったり下がったりする
>波形かと思っていました。
if (!日本人)
国へ帰れ
else
 足洗って別の道に進め

565774ワット発電中さん:2012/05/23(水) 03:54:44.39 ID:GaexGWyh
UART意外と手ごわい。
送信終わるのpollingで待つなら簡単なのに。

MPLAB SIM でもう少し頑張る。
566774ワット発電中さん:2012/05/23(水) 08:08:22.62 ID:7ejfyNt/
>>565
送信終わる? 送信バッファ空じゃなくて。
567774ワット発電中さん:2012/05/23(水) 11:28:01.31 ID:Vz65DQLu
UARTは、まずデータシート読み込んで、複雑なことしてんなーと理解しても、
コードに書いてみるとびっくりするほど短くなって、
簡単なことしかしてないように見える
568774ワット発電中さん:2012/05/23(水) 12:08:14.86 ID:GaexGWyh
>>566
送信終わりなら TXSTA.TRMT に反映されそう。
送信バッファ空は、100%いつも反映されるフラグがあるか未確認で。
PIR1.TXIF がそうなら、まあそうなんだろうけど、所詮はpollingだし。

TXIFとTXIEの使い方がタイマーとかと違ってて辛い。

>>567
ソースくれ。
569774ワット発電中さん:2012/05/23(水) 12:43:44.04 ID:7ejfyNt/
>>568
ダブルバッファになっているところがミソ。
ポーリング方式でも連続ベタ送信できるよ。
570774ワット発電中さん:2012/05/23(水) 13:20:26.42 ID:6+vxud9m
【トルコ】 メッカの方角、違ってた モスクを改築
ttp://uni.2ch.net/test/read.cgi/newsplus/1337728277/

電子コンパスでも作ってあげなよ
571774ワット発電中さん:2012/05/23(水) 13:44:46.03 ID:GaexGWyh
>>569
「できる」「できない」を教えられても役に立たん。
やり方を教えてくれ。間違えた。やり方を教えてください。
572774ワット発電中さん:2012/05/23(水) 13:47:06.78 ID:bC/YC1xA
ググればサンプルとか基礎の説明とかしてるサイトは相応にあるだろうに…
573774ワット発電中さん:2012/05/23(水) 15:55:49.65 ID:7ejfyNt/
>>571
そもそもデータシートに使い方が書いてある。としか言いようがない。
誰も皆、出発点はデータシート。あるいは参考サイトを見てって事になる。
TXIF、あるいはTX0IF(ターゲットわからないから名前不明)を検索キーとして
検索するのが近道。データシートに使い方としての「絵」もあるのになぁ。
フラグの変化は非常にシンプルだよ。。
574774ワット発電中さん:2012/05/23(水) 16:09:58.48 ID:7ejfyNt/
あー、もどかしい。目標とする事がよくわからない。ベタ詰め送信がやりたい?
でも変だな?
>>完全に連続でどばーってのと、完全に離散的にぽつぽつってのはできた。

連続でどばーができてるならTXIFを使わなければ無理だと思う。
TRMTだけしか見てないなら、微妙に隙間空くと思うよ。

どちらもTXIFが1の時に送信バッファにセットすればいいだけじゃん。
後者の離散的は1バイトの通信時間を考慮し、それ以上の時間間隔で
データをセットする。それだけの話じゃないの?
575774ワット発電中さん:2012/05/23(水) 17:08:29.65 ID:SeyLNON8
俺的TXの使い方

1.送信したい文字列のポインタ変数をセット。
2.送信割り込みイネーブル(TXEN)をON、以後メインプログラムでは放置。
3.送信バッファが空なら割り込み動作するので、
 割り込みプログラム内でポインタ先のデータ読み込み。
  A.データが 『0x00』 ならば、TXENをOFF、終了。
  B.そうでなければ、データを送信バッファにセット、ポインタを +1、終了。

送信終了条件を『0x00』にしてるのは個人的な趣味なので、それじゃ都合悪いときは
別途文字数カウンタでも使えばいいよ。

あと、連続で文字列送信する時は、割り込みイネーブル(TXEN)OFFまで待機させるか、
リングバッファでも追加する。
576774ワット発電中さん:2012/05/23(水) 17:41:34.25 ID:Vz65DQLu
リングバッファは1バイト無駄にする方式の方が楽だな
577774ワット発電中さん:2012/05/23(水) 18:36:11.24 ID:m6asrDRL
PICKIT2と3両方使ってるんですが、昨日まで使えてたのに今日起動したら両方とも使用不可になってしまいました。
状況は、どちらもPICKIT2 not found と、PICKIT3 not conectedと出ます。
ファームが死んだのかと思い、ボタンを押しながらUSBコネクタを接続するとLEDが点滅するので生きていると思います。
両方とも使えなくなる原因は何ですか?何か対処方法はありますか?
578774ワット発電中さん:2012/05/23(水) 18:41:02.67 ID:SSX26uGN
>両方とも使えなくなる原因は何ですか?

PCがあやしい
579774ワット発電中さん:2012/05/23(水) 19:00:24.88 ID:thHisqrN
まっ、とりあえずデバイスマネージャで見て、
USBViewで見て、それから考える
580577:2012/05/23(水) 19:16:17.24 ID:m6asrDRL
>>579

とりあえず、USBViewで見たら下記IDが出てきました。
idVendor:0x04D8
これってPICKIT2ですよね?
だとすると、やはりPICKIT側は問題ないと考えていいでしょうか?
PC側だとすると、原因がさっぱりわかりません。
普通にいつも通り起動しただけなのに・・・orz
581774ワット発電中さん:2012/05/23(水) 20:29:19.46 ID:vUGaLbSG
PICは初心者向けのマイコンじゃないからな
最近はアーキテクチャーの知識ゼロな奴がサンプルプログラムとキットで動かして
PIC使える気になってる馬鹿ゆとりが多くて笑えるw
582774ワット発電中さん:2012/05/23(水) 20:45:35.40 ID:S/5JDgPZ
>普通にいつも通り起動しただけなのに・・・
はじめはみんなそう言う
583 忍法帖【Lv=10,xxxPT】 :2012/05/23(水) 20:54:32.87 ID:OfZfJ61R
CCS−Cコンパイラは何台のパソコンにインストできますか?
中古ないでしょうか?
584774ワット発電中さん:2012/05/23(水) 21:09:12.47 ID:XEq7jOF5
>>580
idVendorはベンダのIDだから、プロダクトIDとペアにしないと特定できんよ。

>>581
そもそもPICはマイコンじゃないと思う。
585531:2012/05/23(水) 21:11:32.95 ID:TukLmCIY
USBで動かす電子工作が届きました
勉強にはなるけどやりたいことはこれじゃなかったですね


Pickit2使って工作するサイトをぐぐって頑張ってみます
586774ワット発電中さん:2012/05/23(水) 22:48:13.79 ID:ydpC+P3W
(゚Д゚)ゞども。インターネットパトロール隊です。

>> 583
> CCS−Cコンパイラは何台のパソコンにインストできますか?

ライセンスの問題は CCS Cを販売している会社に聞いた方が早いと思います。
ただ、私が取り締まった ワレザーどもに聞いたところ、
keygenで pcb.crg, pcm.crg, pch.crg, pcd.crgというファイルを作り、
それを CCS Cをインストールしたフォルダに入れればいいようですので、
技術的には何台でも可能かと思います。

> 中古ないでしょうか?

ちょっと聞いた事がないですね。一般的にソフトウェアの中古というのは聞いた事がありません。


CCS Cは、日本語マニュアルがあるので初心者向きのいいコンパイラだと思います。
ただ、きちんと お金を払わず不正利用するワレザーは許せませんね。
私は そういう不正利用者をバンバン取り締まりたいと思っています。
皆さんもそう思うなら、"PIC インターネットパトロール隊"などの単語でググらないで下さい。約束ですよ?
587774ワット発電中さん:2012/05/23(水) 23:17:25.04 ID:pdP4YZWW
PICで作ったものを販売したいんですが、pickitとか使って逆解析される可能性
とかありますか?あるいはなんかプロテクトかけるとかですか?
588774ワット発電中さん:2012/05/23(水) 23:21:17.59 ID:FqMzIKv6
>>587
ある。あるから、プロテクト機能もある。
589774ワット発電中さん:2012/05/23(水) 23:44:47.69 ID:+fzLrfxQ
>>587
どんなシステムでもHex引き抜けなくとも、実機で何1000パターンとテストすれば同じようなフローは書けるから。
安心して、PICの持ってるプロテクト掛けときなさい。

プロテクト掛けられない領域はあきらめろ。
590774ワット発電中さん:2012/05/24(木) 02:58:29.83 ID:6MbavidE
>>573
データシートには大まかな雰囲気しか書いてないよ。
たとえば PIR1.TXIF を問答無用に 0 にするフラグは何と何か、とか。
たとえばボーレートが決まったタイミングで回り続けてるわけじゃない、とか。
正確な仕様は書いてない。
まあ、役に立たない愚痴は置いておこう。
PIR1.TXIF の細かい挙動がわかったからポツポツ書いてみる。

>>575-576
64、80、96バイトのリングバッファは旧ミッドレンジだとコード増えて寒かった。
とりあえず32バイトで書いておく。短コードで64は後のお楽しみ。
 ;mov read_pointer <- 0xa0
 incf read_pointer
 bsf read_pointer,5
 bcf read_pointer,6
読みと書きのポインタが同じトコ指してたら空っぽって定義すると・・・
32バイト占有で実質31バイトなのか。こりゃ楽だ。
591774ワット発電中さん:2012/05/24(木) 05:39:35.34 ID:j1MeIyAS
眠い…
592774ワット発電中さん:2012/05/24(木) 07:03:44.85 ID:ps0yqrI1
>ボーレートが決まったタイミングで回り続けてるわけじゃない、とか。
また意味不明な用語の使い方を・・
593774ワット発電中さん:2012/05/24(木) 07:36:59.48 ID:2SRwbcU/
>>590
データシートが正確でなければ何を信用しろと。
コメントしてる人はデータシートを見ながらコメント書いてるのに、それも信用できない事になる。
ってことで、これ以上の書き込みは無意味だから直接マイクロチップの中の人に問い合わせて下さいな。
594774ワット発電中さん:2012/05/24(木) 08:52:36.70 ID:RrLnFUM7
データシートに書いてある以上のことは、たとえ調べてみてそうだったとしても
「たまたまそうなっている」というだけで、他のファミリ、他のロットで
同じだという保証は無いからな。
そのデータシートでさえ、エラッタが出たりするわけで。
595774ワット発電中さん:2012/05/24(木) 09:27:27.30 ID:2SRwbcU/
データーシート以上の事を「ここ」で求められても困るんだが。
わからない事は素直にメーカーに問い合わせるのが一番の近道。
経験上の事を答えても、たまたま。って事になるんだろうし。
596 忍法帖【Lv=10,xxxPT】 :2012/05/24(木) 11:04:49.45 ID:Xu2vCInP
>>586さん
有意義な情報ありがとうございました。
597774ワット発電中さん:2012/05/24(木) 12:49:24.68 ID:6MbavidE
>>593-594
うまく動かない原因を探し続けてTXIFの妙な挙動を幾つか見つけた。
データシートからはどうしても読み取れない。
で、初めに書いたコードが動かない原因にたどり着いた。
単純なコードで検証してみた。
 movlw 'U'
 movwf TXREG
↑これをマクロ SayU とする。簡単のため bank0だけ使い PR0,PR1 は触らない。
 SayU
 SayU
↑TXSTA.TRMTが立ってるところからなら、これは期待した動作をしてくれる。
実際は一文字出力でサブルーチン化するので、間に雑多な命令が挟まる。
 SayU
 複数の命令
 SayU
↑これをSayUUとする。複数の命令はreturn : setlw 'V' : call OUT_CHAR の3命令=5*4/Foscかも知れないし、10000*4/Foscかも知れない。
間の命令数がわからないので、TXIFを調べなくてはならない。ここでは間の命令は適度に少なかったものとする。
本題。
 SayUU
 btfss PIR1,TXIF
↑は0を検出して欲しいが、実際に検出されるのは1。
 SayUU
 nop
 btfss PIR1,TXIF
↑は期待通りに0を検出する。以下nopの数を適度に増やしても挙動は同じ。

これが読み取れるデータシート、プリーズ。

>>592
電波だね。眠かったんだ。ごめん。
598774ワット発電中さん:2012/05/24(木) 12:53:59.03 ID:6MbavidE
597は16f877a実デバイスで確認した。MPLAB SIMではそういう動きをしないっぽい。
599774ワット発電中さん:2012/05/24(木) 14:04:55.14 ID:2SRwbcU/
>>597
ソース来た。
妙な挙動の対策にはならないけど、気になった点。

送信データを2回セットしてからTXIFを見ているけど、俺の場合は送信データをセットする
前、1バイト単位で必ずTXIFを見る。作法と言うほど大げさな物じゃなく気分的に。
まぁ、連続して送信する場合は繰り返しになるからどっちが先かってのは関係なくなるかも
しれないけど、必ずTXREGが空いている前提が必要。TXREGが空いていない場合の書き込み
挙動は・・・不明。

本題の部位。nopがない方は何となく想像できるけど、nopがある方はわからない。
予想される要因は…。書かれていないけど、SayUUを2回連続実行してるのかな?と。
これは妄想ね。限られた情報から推測するしかないのは歯がゆい。
600774ワット発電中さん:2012/05/24(木) 17:32:18.35 ID:dqFLaRY9
>>597
TXIFはTXREGに書き込めるかどうかを示すフラグなのに、このときは立ってないはず
とか考えるのがおかしい。単純にTXIF=1ならTXREGに書き込めばいいだけ。
601774ワット発電中さん:2012/05/24(木) 17:58:08.27 ID:MRrIIjxt
>>597
16F877aのデータシートには記述はないね。

16F193xのデータシート(日本語)には
> EUSART 送信部が有効で TXREG に送信データがペ
> ンディングされていない場合、PIR1 レジスタの
> TXIF 割り込みフラグ ビットがセットされます。つ
> まり、TSR にデータがあり、TXREG に新しいデー
> タがペンディングされている場合のみ TXIF ビット
> はクリアされます。TXIF は TXREG への書き込み直
> 後にはクリアされません。書き込み実行後、次の命
> 令サイクルまで有効になります。TXREG への書き
> 込み直後に TXIF ビットをポーリングしても無効と
> なります。TXIF ビットは読み出し専用であるため、
> ソフトウェアでセット/ クリアできません。

こんな記述がある。関係あるかな?
後継の16F887にも同じような記述がある。



602774ワット発電中さん:2012/05/24(木) 19:24:56.12 ID:wQf2yPSB
>>584
>そもそもPICはマイコンじゃないと思う。

じゃあ何なの?
603774ワット発電中さん:2012/05/24(木) 19:27:38.48 ID:SapiZh3X
コンピュータじゃなくてコントローラだ
って話かな?
604774ワット発電中さん:2012/05/24(木) 19:33:44.52 ID:lqTt9sY0
>>597
Async/Syncどっちでやってる?
Syncならその動作であってるしデータシートにもその通りのタイミングチャートが載ってる
605774ワット発電中さん:2012/05/24(木) 20:17:39.91 ID:2SRwbcU/
>>601
16F877aは10.2.1項、Figure10-2/10-3で書かれてる感じ(英文側)。

問題のデバイス型番がわからないので、>>597 が読み取れない対象がわからない。
606774ワット発電中さん:2012/05/24(木) 20:22:00.66 ID:D82bsSgq
もしRS232CでPC側に送信するだけなら
アセンブラでプログラムしちゃったほうが楽だよね。
607774ワット発電中さん:2012/05/24(木) 20:55:19.11 ID:G9cOR7a8
それはどうかな
608 忍法帖【Lv=11,xxxPT】 :2012/05/24(木) 22:12:37.16 ID:3fub600w
こんばんは
609774ワット発電中さん:2012/05/24(木) 22:13:52.40 ID:N3I7AVjL
PICマイコンに興味があります
そこでC言語で開発できる参考書ご存じないでしょうか?
610774ワット発電中さん:2012/05/25(金) 00:08:08.02 ID:eswtDXD+
マイコンは弄ったことある?
もし初めてならmbedから入った方が良いかもね。
611774ワット発電中さん:2012/05/25(金) 09:53:47.53 ID:ImqfO32R
PIC16F873のccpでキャプチャしたいのですが
立下りエッジから立ち上がりエッジはキャプチャできますか?
出来るのであればアセンブラではどの様に書くのでしょうか?
612774ワット発電中さん:2012/05/25(金) 13:57:43.75 ID:DfcRRogH
http://www.piclist.com/images/www/hobby_elec/pic7_4.htm
たぶんできる。アドレスに書く番号によってかわる。
なにつくってんの?
613774ワット発電中さん:2012/05/25(金) 14:02:44.41 ID:zpYfshO/
最初立下りエッジでキャプチャする設定にしておいて
キャプチャ割込処理内で
立上がりエッジでキャプチャする設定に変更すれば
いいのではないか
614774ワット発電中さん:2012/05/25(金) 17:18:13.75 ID:ko+B4rgR
picのある出力を別のpicの入力にするとき、間に抵抗とか入れる必要あります?
615774ワット発電中さん:2012/05/25(金) 17:29:33.34 ID:RDLdFVHW

入れる方が幸せ。

http://www.picfun.com/pic22.html
616774ワット発電中さん:2012/05/25(金) 17:31:27.66 ID:ko+B4rgR
>>615
電流の量減りませんか?
てか入力と出力の電流流って違うんですか?
617774ワット発電中さん:2012/05/25(金) 18:08:37.52 ID:RDLdFVHW
>>616
違わない場合って、「1ポートの出力最大電流が、1ポートの入力を確定させるのに必要」とかいう話?

http://wave.iobb.net/doc/digital/7.html
618774ワット発電中さん:2012/05/25(金) 18:10:02.17 ID:/UqeF4xH
PICの入力はTTLなので、電流を流し続ける必要はあるけど、ほんのちょっとでいい
PIC内部にも抵抗があるので、直接つないでも1μA以下
ただ、>>615の言うように抵抗を入れたほうが安定するし、ラッチアップや誤って両方出力にした時の破壊を防げるかもしれないし、消費電力が減るかもしれない

入力と出力は全く別の回路なので、分けて考えるんだ
619774ワット発電中さん:2012/05/25(金) 18:23:41.36 ID:ko+B4rgR
>>618
コンデンサーもつけたほうがいいですか?
620774ワット発電中さん:2012/05/25(金) 18:32:07.92 ID:ko+B4rgR
1uAって大分小さいですね。
後TTLとは何でしょうか?
621774ワット発電中さん:2012/05/25(金) 18:40:02.59 ID:RDLdFVHW
>>620
俺の貼ってるURL読んでるかー?
あと、少しはググってみたかー?
622774ワット発電中さん:2012/05/25(金) 18:50:48.53 ID:WC/Uv00H
>>618
レベルがTTLコンパチというだけで回路がTTLになってるわけじゃないよ。
623774ワット発電中さん:2012/05/25(金) 18:54:06.35 ID:ko+B4rgR
>>622
TTL自体何でしょうか?
624774ワット発電中さん:2012/05/25(金) 19:00:08.11 ID:/UqeF4xH
>>622
そういえばそうか、本当のTTLならもっとインピーダンス低いね
>>623
https://www.google.com/search?hl=ja&lr=&ie=UTF-8&oe=UTF-8&num=50&safe=off&q=TTL
625774ワット発電中さん:2012/05/25(金) 19:04:59.27 ID:ko+B4rgR
>>624
理系でも分野ごとによってTTLの意味が違うようですが...
PICの場合TTLとはどういう意味でしょうか?
626774ワット発電中さん:2012/05/25(金) 19:14:59.09 ID:vh4iClxO
かまうだけ無駄
NG推奨 ID:ko+B4rgR
627774ワット発電中さん:2012/05/25(金) 19:15:40.05 ID:ZxhFethG
どうせ時計作って終わりだろうから適当にソースコピーしてきて動かして満足してろよ。
628774ワット発電中さん:2012/05/25(金) 19:30:32.29 ID:N85Tb2F4
位置に着いて
○TTL
629774ワット発電中さん:2012/05/25(金) 20:22:52.12 ID:0x627j0h
TTLは Transisotr Transistor Logic の略で、意味自体に曖昧さはない。

PICのDataSheetを見たら with TTL Buffer と書いているが、本当は嘘だね。
with Schmit Trigger buffer と対比させるために書いているんだろうが。
実際はCMOSバッファのはず。

前述のとおり、厳密にいうと嘘だが、他にTTLと同じくらいの電圧であることを
表す用語も見当たらないので、TTLと同じ用な電圧レベルということで
使われているのだろう。
630774ワット発電中さん:2012/05/25(金) 20:29:58.20 ID:p1FZYpZ5
TTL = TTl Level
631774ワット発電中さん:2012/05/25(金) 21:32:32.66 ID:mBarvjBm
>>621がかれーにするーされててワロタ
632774ワット発電中さん:2012/05/25(金) 21:46:08.33 ID:0x627j0h
>>630
斬新だなー。正直笑わせてもらった。自分にはない発想だ。
ちょっとググってみたけど、見つからなかった。どこに書いてあった?

自分の知る範囲だと、TTLレベルという書き方しか見たことがないが。

TTL自体、見かけることがないので、定義が変わってきても不思議はないが。
TTL=TTl Level とは、自分には絶対思いつかない。面白過ぎる。
633774ワット発電中さん:2012/05/25(金) 22:04:23.60 ID:N85Tb2F4
>>629
CMOS Bufferと書くと、今度は4000シリーズあたりになりかねない。
634774ワット発電中さん:2012/05/25(金) 22:35:20.10 ID:0x627j0h
>>633
今のICは、ほとんどCMOSプロセスで作られているから、調べてないが、PICも
CMOSプロセスでしょう。CMOSバッファという言い方は、技術的に間違いではない。

CMOSバッファ=4000シリーズという発想をする人が、それほどいるとも思えないし、
そもそも、PICの入力段の回路についての記述で、そんな突飛なことを考える人
が、あなた以外にそれほどいるとも思えないのだが。

それに、4000シリーズを知っている人も今では、あんまりいないだろうし。

>>629 で書いた TTL Bufferについて、ちょっと考えてみたが。

PICのSpecのTTL Bufferという言い方は、シュミットトリガではない、通常の
バッファという意味合いなんだと自分は考える。もし、そうなら、自分だったら、
ノーマル・バッファと書く、用語的に正しいかどうかは不明だが。
635774ワット発電中さん:2012/05/25(金) 22:53:00.31 ID:ZxhFethG
84だかの古いのはトランジスタバッファらしい。
最近のはCMOS。
636774ワット発電中さん:2012/05/25(金) 23:51:17.06 ID:9aeLANlp
>>634
4000シリーズに限らんよ。CMOSの汎用ロジックファミリを調べてみたら
いいと思うけど、だいたいは、TTLとの互換性は持ってないものさ。

CMOSプロセスで作られているというのが、常識化している中で
TTL Bufferと書かれていれば、スレッショルドレベルをTTLファミリ
に合わせている、TTL compatible Bufferのことだろうと解釈してやるのが
自然かつ妥当だろうさ。
CMOS Bufferと書かれているのだけ見たら、TTL compatibleとは思わない
だろうね。
637774ワット発電中さん:2012/05/25(金) 23:53:32.11 ID:5ZvECN1l
後閑 哲也の本て、本人があんまり解って無いのか少し難しいことしようとすると
安易な方法で避けるのが多いからあんまりお勧め出来ない。

PICの割と初期の本の「PIC活用ハンドブック」だと
アセンブラは単純なプログラムだけで後はCで誤魔化すとか平気でするのが面白くない。

かと言って、「C言語によるPICプログラミング」はこれまたアセンブラで済むような単純で
小さなプログラムばかりで読んでも殆ど意味が無い。
638774ワット発電中さん:2012/05/26(土) 00:03:52.58 ID:w8j9XUkG
>>637
アンタが本出すって話?
639774ワット発電中さん:2012/05/26(土) 00:15:10.39 ID:A3+wPg2R
>>637
信者の巣窟で教祖の批判はご法度ですゾ
640774ワット発電中さん:2012/05/26(土) 00:22:35.80 ID:d3yK3pGR
何が言いたいのかよく分からないんですが、互換性について述べたつもりは
ないですよ。

CMOSバッファという言葉をPICの入力段の説明に使っているのに、4000じゃなく
てもいいけど、CMOSゲートICを連想する人は、いないんじゃないんですか。
と言っているだけですが、何かおかしいですか?

>TTL Bufferと書かれていれば、スレッショルドレベルをTTLファミリ
>に合わせている、TTL compatible Bufferのことだろうと解釈してやるのが
>自然かつ妥当だろうさ。

普通はね、だから >>629 ではそういう書き方をした。

>>629 のなかに書いてあるが specの中で with Schmit trigger buffer と
with TTL Buffer が並べて書いてあるから、with TTL Buffer は、
shmit trigger のないバッファの意味で使っているんだろうと考えた。
with Schmit trigger buffer だって 電圧レベルが違うわけではないですからね。

単独で、with TTL Buffer なら、私も迷わず、そう考えますよ。

>>634 だけ読んだだけでは、そう思うのは無理ないと思います。
spec を読まないと、私の考える理由が、分かっていただけないかもしれませんね。

ただ、わたしも、この判断が正しいという確信があるわけではないけど。
spec を読んだ上で、それは違うだろうと考える人はいると思いますよ。
641774ワット発電中さん:2012/05/26(土) 00:49:21.65 ID:AUmgbnN6
             /)
           ///)
          /,.=゙''"/   
   /     i f ,.r='"-‐'つ____こまけぇこたぁいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /

…いや、良くないか
とりあえず、中途半端な知識しかない自分の場合は、データシート内の「TTL」は若干の混乱を招く表現ではあった
642774ワット発電中さん:2012/05/26(土) 01:14:55.67 ID:5dnCqdxI
>>637
むしろ、初心者向けでなんでCを使わないのか不思議だった
実はCを覚え立てなのでは
643774ワット発電中さん:2012/05/26(土) 02:17:48.35 ID:g/HRh/JW
極簡単な事を実に複雑に説明することで初心者未満を蹴落とそうとするとは、やるな。
644774ワット発電中さん:2012/05/26(土) 02:48:29.41 ID:ZbGnYpQG
後閑先生はCCS信者。
CCSって個人で使うのには値段高い割にサポート60日でかなり無理有るし、
仕事に使うにはバグだらけでこれまた無理がある。
645774ワット発電中さん:2012/05/26(土) 05:08:49.72 ID:ztfybCWh
こんな場で偉そうな事言う人に限って
たいしたことやってない

これPICスレの特徴な
646774ワット発電中さん:2012/05/26(土) 05:48:22.75 ID:mAQPwHt3
647774ワット発電中さん:2012/05/26(土) 08:44:22.28 ID:w8j9XUkG
>>642
初心者はCも知らないのでは?

>>645
たいしたことってのは例えばどんなこと?
648774ワット発電中さん:2012/05/26(土) 09:06:37.88 ID:PD2lLROV
>>647
全くの初心者にはエディターから始まる。最近は大丈夫だろうけど、10年前とかはファイルとは?から始まる。
649774ワット発電中さん:2012/05/26(土) 10:19:27.79 ID:qen46kn3
>with Schmit trigger buffer だって 電圧レベルが違うわけではないですからね。
ほうほう・・16F88/87あたりでも
Input Low Voltage
with TTL buffer
VSS ― 0.15 VDD V For entire VDD range
VSS ― 0.8V V 4.5V ? VDD ? 5.5V
with Schmitt Trigger buffer
VSS ― 0.2 VDD V

Input High Voltageが
with TTL buffer
2.0 ― VDD V 4.5V ? VDD ? 5.5V
0.25 VDD + 0.8V ― VDD V For entire VDD range
with Schmitt Trigger buffer
 0.8 VDD ― VDD V For entire VDD range

だとか書いてあるが、同じに見えてしまうのか。困ったものだなあ。
650774ワット発電中さん:2012/05/27(日) 00:08:45.78 ID:cvifEw/q
>>635
C84ですらCMOSだったはずだけど。
「おぉ! 74ACTとおんなじじゃん! このマイコンすげー」って感心した記憶がある。
651774ワット発電中さん:2012/05/27(日) 06:10:54.34 ID:cSGxdBuG
最近はコンデンサ程度追加すれば単体で動くIC増えまくったおかげで、
TTL/CMOS回路をまともに組める自信が無くなったような気がする。
652774ワット発電中さん:2012/05/27(日) 10:23:22.14 ID:BE8eQBLU
16F887てi2cの外部メモリを使いたいです。簡便なライブラリってありませんか?
653774ワット発電中さん:2012/05/27(日) 10:37:05.37 ID:6yF1BF7G
後閑さんのHPにあるよ
654774ワット発電中さん:2012/05/27(日) 11:07:16.40 ID:lhfELjhr
手ごろな題材なんだから自分でデータシートでも
見ながら考えて作ってみればいいのに。
655774ワット発電中さん:2012/05/27(日) 11:23:41.16 ID:uazZOheH
めんどくさいでござる
656774ワット発電中さん:2012/05/27(日) 11:27:56.76 ID:muCi2tvH
最近のmicrochip.comが見づらくなった件

トップで8bit PICクリックしてもジャンプしないのだが
657774ワット発電中さん:2012/05/27(日) 11:54:44.62 ID:Jduvdn6q
モータのPWM制御をしたい。
あまりデューティー比を絞ると回転しないだろう。どの辺りが敷居になっているのか?
キャリア周波数の決め方にもコツがあるようだ。

後は実行あるのみ。二つの設定値を把握しながら実際に試してみたい。
2つのVRをADコンのポートに接続して抵抗値によって可変するプログラムを組む。
で、表示方法を考えてんだがめんどくさw
周波数カウンタと電圧計を出力につなげばいいじゃないってことで。

他にいい方法はありますか?
658774ワット発電中さん:2012/05/27(日) 12:10:29.08 ID:9KsnL8y6
めんどくさいと思わない
サクサク作業を進める
659774ワット発電中さん:2012/05/27(日) 13:10:08.73 ID:CngdkcY5
表示なんかシリアルでPCに送ればいい
660774ワット発電中さん:2012/05/27(日) 13:20:06.15 ID:Eqaa/RNB
実際、PICのUSARTはデバグには超便利だよね、実際。
661774ワット発電中さん:2012/05/27(日) 13:25:37.27 ID:Jduvdn6q
モータで回される側の状態も同時に情報収集するなら、それもいいかもね。
662774ワット発電中さん:2012/05/27(日) 13:33:56.18 ID:BE8eQBLU
>>653
ありがとう…でござる、でいいのかな?
663774ワット発電中さん:2012/05/27(日) 14:01:21.65 ID:lhfELjhr
>>655
哀れだね
664774ワット発電中さん:2012/05/27(日) 14:35:56.76 ID:mdmiA486
>657
ADとか表示のコーディングが面倒だと感じる程度のスキルなら
プログラマをターゲットにICSPで繋ぎっぱにして
ソースの定数を書き換え→ビルド→プログラム
ってやる方が早い。

とにかく手を動かさないと先に進まない。
665774ワット発電中さん:2012/05/27(日) 15:29:07.72 ID:lhfELjhr
おとなしく諦めるというのが一番かな?
666774ワット発電中さん:2012/05/27(日) 17:51:16.37 ID:tZkCrVS/
UART最強
LEDチカチカとスイッチ入力覚えたら何より先にUART習得だぬ
667774ワット発電中さん:2012/05/27(日) 18:21:50.15 ID:CngdkcY5
電圧とか気にしなくてもpickit2でできるしね
668774ワット発電中さん:2012/05/27(日) 23:50:47.44 ID:tVwNbum/
20年前ならまだしも、いまさらPICやってもねぇ・・・
凋落産業の日雇い土方になるつもりならいいだろうけど。
669774ワット発電中さん:2012/05/28(月) 00:18:33.07 ID:HOT5rzzK
メインの武器にしようと思ったら駄目だ

プログラムが組めて電子工作もできて英語の読み書きが出来て機械製図もできる
そんなことは基礎知識で、その上で何をするかだ
670774ワット発電中さん:2012/05/28(月) 03:19:01.30 ID:cibea4w0
>>664
実際面倒くさいよ。
ただ表示させるなら簡単だが、
デューティー比、キャリア周波数と表示させるにはね。
ROMにレジスタ値からの換算表でも入れとくか?
671774ワット発電中さん:2012/05/28(月) 08:19:11.82 ID:u9qO2oaF
555で作って、抵抗値から計算しておく程度で充分じゃねぇの?
672774ワット発電中さん:2012/05/28(月) 09:49:37.62 ID:iHYM9h7I
555で組むのも面白そうだね。
検索するといろいろな回路がある。
できるだけシンプルな回路で同じ結果をだすのが腕の見せどころか。

でも、最終的には外部からの複数の入力によってデューティー比を変えるつもりなんでPICがいいかも。
一回コーディングして動作すれば使いまわしできる。
673774ワット発電中さん:2012/05/28(月) 09:55:23.34 ID:jOwFnwaS
>>668
道楽用には値段も機能も手軽だし、やっぱり便利だよ。
Z80の開発ツールだって、個人用では安いとはいえなかったし。
674774ワット発電中さん:2012/05/28(月) 10:58:52.21 ID:ALKmV6ty
>>668
年に数回「凋落産業」「日雇い土方」って見かけるね。
まるで、自分がそれしかできないから他からの参入を阻止するための台詞にしか見えない。
675774ワット発電中さん:2012/05/28(月) 11:00:23.87 ID:F8nJGmn9
オウム返しが精一杯か(笑)
676774ワット発電中さん:2012/05/28(月) 11:25:00.41 ID:xRFPihMH
つうか、仕事のためのツールに関する話をこんなところでしている
という時点で、どうかと。
677774ワット発電中さん:2012/05/28(月) 12:29:50.90 ID:QRjZ0mGf
>674みたいに反応するっていうのは、自分自身が
日ごろから気にしているポイントになってるんだろうな。

>>676
仕事でやってる、仮にも「プロ」ともあろうものが、
2ちゃんに頼るようじゃ終わってるよな。
678774ワット発電中さん:2012/05/28(月) 13:13:22.28 ID:ALKmV6ty
>>677
別に気にしてるとか反応とかではなく、自分にとっての最適を選べばいいじゃん。
コストと環境と目標機能にあわせてプラットフォームを選択。時にはマイコン無しってのも選択肢。
679774ワット発電中さん:2012/05/28(月) 17:00:26.43 ID:InOe53q1
680774ワット発電中さん:2012/05/28(月) 17:07:03.57 ID:accQ09LU
なんでいまごろぷりんてぃん
681774ワット発電中さん:2012/05/28(月) 20:11:26.99 ID:jZkwGLIl
お金に余裕がある場合ドどれがお勧め?
PICkit 3
MPLAB ICD 3
MPLAB REAL ICE PROBE KIT

あと
MPLAB REAL ICE Isolator
って何に使うの?


となみにPIC12Fの8ピンつかいたいんだけど
デバッガとかつないでもIOピン全部使える?
682774ワット発電中さん:2012/05/28(月) 22:33:09.62 ID:2DlIEJuQ
・秋月のライタが対応
・CCP4以上
・ADC10以上
・8kW以上
こんなPICある?
683774ワット発電中さん:2012/05/28(月) 23:10:44.75 ID:af/GB8wL
>>682
> ・秋月のライタが対応
これが一番ネックだな。
pickit2か3を買うことを薦めます。
684774ワット発電中さん:2012/05/28(月) 23:10:51.55 ID:07ofzR4D
消費電力が8kW以上だと!!!
と空目するほど眠いのでもう寝やう
685774ワット発電中さん:2012/05/28(月) 23:22:50.82 ID:Ptzmzhge
空目アワー
686774ワット発電中さん:2012/05/28(月) 23:24:24.42 ID:af/GB8wL
>>681
デバッガとしての機能の差が価格の差だから、金があるなら
> MPLAB REAL ICE
じゃね。

12Fシリーズのデバッグには、デバッグヘッダーが必要なはず。
687774ワット発電中さん:2012/05/29(火) 00:26:07.59 ID:ABREsOJc
いくらエアコンを節電しても電気代が下がらんと思ったら、
PCだけで80kWhくらい使ってた
688774ワット発電中さん:2012/05/29(火) 01:01:19.65 ID:cuYy1Ehv
上で言ってる USARTってデバッグに最高!って
RS232Cで PCに繋いで、データーとか垂れ流しにして
変数読み出しに使うとか?
689774ワット発電中さん:2012/05/29(火) 01:59:50.08 ID:ABREsOJc
バックログが無限に見れるから、液晶とかLEDでモニターするよりよっぽど情報が多い
690774ワット発電中さん:2012/05/29(火) 06:44:22.79 ID:6tRceQrx
デバッグヘッダーって対応チップすくなくね?
それとも流用できるの?
691774ワット発電中さん:2012/05/29(火) 09:45:38.79 ID:xLMS0fD/
>>688
PICじゃあまりやらないけど、UARTを割込み駆動で、コマンドの
処理などを組み込んでおいて、ターミナルからメモリ領域の
ダンプとか書換えとかね。
あと、プログラムの停止/再開、シングルステップとかレジスタダンプ
機能なんかを組み込んだりしたこともあったな。
692774ワット発電中さん:2012/05/29(火) 13:36:40.46 ID:st7mCwkf
>>682
自分で探せw
ちゃんと検索サイトを公式で用意しているんだから。
MAPSだか細かい方が適していると思う。
秋月ライタが対応しているかどうかとか、秋月で買えるかどうかはその後で探せばいいと思うよ。

なかなかわけのわからんものを羅列してくれて面白いよ。
絞らないとdsPICからPIC10Fまで全部並べやがるから。
693774ワット発電中さん:2012/05/29(火) 15:05:17.69 ID:strTFC3c
>>691
デバッガ使えよ
無限ログ的な使い方ならわかるけどそれならPIC側で何もしなくても実現できるデバッガのほうがはるかに効率的
694774ワット発電中さん:2012/05/29(火) 15:25:11.77 ID:DJTRsHGD
>>668
たしかに20年前は電気電子は花形産業で、今は完全に中韓台にやられてるな。
回路設計や半田付け出来ても日雇いのバイトにさえありつけない。

要領いい奴はみんなWEBやスマホ関係に転職した。
695774ワット発電中さん:2012/05/29(火) 15:27:28.90 ID:DJTRsHGD
>>688
業務でPIC使うなら足をあまらすような使いかたはタブーなんでそんなデバッグはまずしない。
696774ワット発電中さん:2012/05/29(火) 15:36:13.66 ID:iDZbY/R8
>>695
そんなタブーの業種もあるんだ。
うちは、ピン余りまくってるぞ
697774ワット発電中さん:2012/05/29(火) 15:51:56.04 ID:ABREsOJc
足が多いほどコストが上がるならそうだろうけど
価格と入手性の方が普通は優先
698774ワット発電中さん:2012/05/29(火) 17:53:29.22 ID:st7mCwkf
余剰在庫ってのもww
まあ、PICに関してはデジキーで100個買う時の単価よりも安いし、商社じゃなくて秋月じゃないかなぁ…。
と思うけど、仕事でも。

Makeでもコミケでもいいから一度自分で商品作って売ってみたいなぁ…。
まあ、100個ぐらい作っても3万行かないくらいなら、数年ぐらいかけて売っても良いし。
699774ワット発電中さん:2012/05/29(火) 17:54:51.13 ID:+dgBrHCW
デバッグ用に2ピンくらい使っても誰も文句は言わないよ
700774ワット発電中さん:2012/05/29(火) 18:49:14.71 ID:EgWfSak6
>>699
いう人がいたんだな。rb6,rb7 は使う。さいごの頼みの綱のUARTも潰す設計者。
どないしてデバッグせいゆーねん。LEDデバッグだけじゃ効率悪いちゅーの。
701774ワット発電中さん:2012/05/29(火) 19:07:40.70 ID:6tRceQrx
8ピンとかどうすればいいの
702774ワット発電中さん:2012/05/29(火) 20:18:20.27 ID:9AgWWk+x
原発や軍事用に使われている中国製シリコンチップにサイバー攻撃可能な未知のバックドアが発見される
http://gigazine.net/news/20120528-uk-hardware-assurance/
703774ワット発電中さん:2012/05/29(火) 20:33:19.84 ID:zhOX34Kp
>>702
リストの中には日本メーカーのもあるけど、これ!ってのが情報として欲しいね。
704774ワット発電中さん:2012/05/29(火) 20:57:59.14 ID:JZDHLbzb
だから、シナ人に物を作らせるなんて阿呆のすることだって。
アパレル系なんかは脱中国は常識になってるけどな。
705688:2012/05/29(火) 22:23:54.22 ID:cuYy1Ehv
PICの A/D使って、電圧やら温度やらを PCに取り込めれば良いなぁ
けど USBは敷居少し高いぞ

と思っていたが、テキスト垂れ流しで良いのか
ありがと
706774ワット発電中さん:2012/05/29(火) 22:24:24.65 ID:hpI5aeF5
敷居!
707774ワット発電中さん:2012/05/29(火) 22:54:35.24 ID:zhOX34Kp
ハードル!
708774ワット発電中さん:2012/05/30(水) 00:05:30.51 ID:ZznGRFxH
PICへの入力で、AD変換できるポートにボリューム繋いでるものがあります。
10kΩのものが多いですが、何か意味あるのですか?
709774ワット発電中さん:2012/05/30(水) 00:10:22.13 ID:wwplcU0K
1kぐらいから100kぐらいならなんでもいいよ。
徹底的に究明したいならデータシートで入力インピーダンスを調べて
ノイズマージンとかを考慮しながら定数を追及汁。
710774ワット発電中さん:2012/05/30(水) 00:24:11.52 ID:OCFwsa29
ボリュームは錆が気になる。
対策があったら使ってもいいけど、錆びづらい奴を選ぶしかないんかな。
711774ワット発電中さん:2012/05/30(水) 00:31:37.69 ID:jiN0eact
そのへんの設計は本当にざっくりだなあ
小さいと電流が無駄に流れるしでかいと精度悪くなるし、
感覚的に10kだな

もともと部品箱に1kと10kと100kしか入ってないし
712774ワット発電中さん:2012/05/30(水) 00:48:26.30 ID:fhzPLzW8
>>605
すまん。どこに書いてあるかわからん。
少なくともfig.10-2, fig.10-3にはそうは図示されてない。
10.2.1の文章にも明記されてないように見えるわ。
DS39582B

>>601
ありがとうございます。まさにその現象でした。
713魚チョコ:2012/05/30(水) 00:52:46.74 ID:r9lY/m6c
敷居が高いとは、義理を欠いてて後ろめたいから

「しきい(低い)しきい(敷居)が高く見えらア」

というだじゃれだったんだが、なぜこんなことになってしまったんだ……。
714774ワット発電中さん:2012/05/30(水) 02:14:34.53 ID:ZznGRFxH
>>711
なるほど、抵抗値の違いの影響がよくわかりました。
715774ワット発電中さん:2012/05/30(水) 04:33:04.52 ID:UROR50Uh
今月上旬に秋月で買ったPICのリビジョンをチェックしてみた

PIC16F1823-I/P 1044KYA → A6
PIC16F1827-I/P 1047MKV → A4

PIC16F1823のリビジョンはA6とA8がある。A6はエラッタが多い。
PIC16F1827のリビジョンはA2〜A5がある。エラッタが多いのはA3マデ。

1823のA6のエラッタの中で個人的に嫌なのは、
2.1 ADC conversion does not complete.→回避策が超ウザいのでADC使えないと思ったほうがいいか。
7.1 Bulk Erase not available with LVP.→Row EraseするようにPICライタに手を入れるのがチョイ面倒くさいな。
とくに理由がなければ1827にしといたほうが無難かも。
たった20円しか高くならないし、ピン4つ増えるし。

ADC使う用途に1823を4個買って、さぁ作ろうと思ったらコレだよ。
716774ワット発電中さん:2012/05/30(水) 06:46:01.64 ID:4T7yPegT
>>715
18F25K80が、どうしても PWM2,3,4を出力しなくて、なんなんだこれ??
って悩んでたけど、もしかしたらエラッタ?って可能性もあるのか
717774ワット発電中さん:2012/05/30(水) 07:28:12.28 ID:UROR50Uh
>>716
とりあえず↓をチェックしてみて
ttp://ww1.microchip.com/downloads/en/DeviceDoc/80519d.pdf
718774ワット発電中さん:2012/05/30(水) 18:29:08.21 ID:ceXJ4hUs
>715
そのADCのエラッタは酷いな。
変換が自動で止まらないから、プログラムで86±2命令後(@32MHz Tad=Fosc/32)に
BCF ADCON0, GO/DONEで変換を手動で止めろとは…
実質、変換中は何もできないな
PIC12F1822も同じ問題あるようだし、秋月のこっちのバージョンも気になる
719716:2012/05/30(水) 19:39:21.99 ID:4T7yPegT
>>717
情報ありがと、PDF探しても見つからなくて聞こうと思ってた所だった

ECCPのことが書いてあったけど、チト違う内容だったよ
もうちょいがんばってみよ
720774ワット発電中さん:2012/05/30(水) 20:06:26.54 ID:CUZiyJk7
> ±2命令後
±2なのか・・・+∞-2とかなら使えそうだけど。
721774ワット発電中さん:2012/05/30(水) 20:12:49.96 ID:Nv1nkERI
逐次変換方式はシフトレジスタみたいな動きだから
いいタイミングで止めないと意味あるデータとりだせないからか
きついエラッタやのう
722774ワット発電中さん:2012/05/30(水) 20:51:06.60 ID:UROR50Uh
LSB側1ビットを捨てて9bitDACとして使うならば+∞でもOKかもしれない。
723774ワット発電中さん:2012/05/30(水) 20:59:52.38 ID:nLSQQZEc
すみません。MikroCのデフォルトであるTFT制御関数を使っているのですが、画面塗り潰しの命令が凄く遅いです。
例えば赤一色に塗り潰すまで4秒くらいかかるのですが、これが普通ですか?
マイコンはPIC18F46K22で16Mhzで動作しています。
クロック数を変えても塗りつぶし速度は変わりませんでした。
724774ワット発電中さん:2012/05/30(水) 21:13:29.23 ID:tpgmJsKX
>>723
クロック数変えての件がよくわからないけど、周波数あげたという事?
それとも制御関数の中を修正して実行命令数を変えたという事?
別種の要因として画面その物が通信上のビジー状態を発生しているが為にマイコン側が
待ちに入っている可能性も。
まさか、1ドット単位で制御しているなんてオチは無いよね。もっとこう、バイトデータでバンバンって
書き込めば単純に実行時間が1/8になりそうな気もするけど。
725774ワット発電中さん:2012/05/30(水) 21:19:07.93 ID:/cRNQJQW
本当にそのクロックで動いているのか音を出すなりLチカするなりして確かめるんだ
726723:2012/05/30(水) 21:22:45.00 ID:nLSQQZEc
>>724

クロック数は単純に周波数を上げたということです。
TFT_16bit_Fill_Screen(CL_BLACK_16bit);

塗り潰し命令は上の関数でやりました。

>別種の要因として画面その物が通信上のビジー状態を発生しているが為にマイコン側が
待ちに入っている可能性も。

これはどうすれば解決できますか?
制御関数を弄れるほどのレベルでは到底ありませんのでご教授頂ければ幸いです。


727723:2012/05/30(水) 21:25:12.55 ID:nLSQQZEc
>>725

他で作ったプログラムのコンフィグ部と基板を流用したのでクロック数は間違いないと思います。
728774ワット発電中さん:2012/05/30(水) 21:29:39.68 ID:tpgmJsKX
>>725
音を出すってのは初めて見たw いや、昔の雑誌で見たことあった。

赤外線通信の出力を改造したラジオ(受光器を接続、結局スピーカーを流用)で受け取って
音を鳴らすという記事。その記事ではラジオからのノイズ?音で今何を出力しているのかを
聞き分けられるそうな。
その延長戦で行くとFAXを設計している人とかはピーギャラギャラの音で今どんな状態かを
聞き分けられるんだろうな。たぶん。
729774ワット発電中さん:2012/05/30(水) 21:35:30.62 ID:tpgmJsKX
>>726
連投すまん。
同じ環境を持っていないので具体的な方法は提供できないんだな。推測だけになること、察して欲しい。
もう1うの要因として割り込みがガンガンに入ってるとか。
試すならば塗りつぶしの前で割り込み禁止、塗りつぶしのあとで許可。。
割り込み処理と連携して塗りつぶす場合は使えないけど。。
730723:2012/05/30(水) 21:40:05.20 ID:nLSQQZEc
>>729

レスありがとうございます。
割り込みは使っておらず、単に塗り潰し命令だけのmain関数です。
とりあえず、もうちょっとがんばってみます。
ありがとうございました。
731774ワット発電中さん:2012/05/30(水) 22:22:44.35 ID:le5gLUrh
>>728
サウンド出力なんぞ無かった8ビットマイコンで
AMラジオで音楽再生してたの思い出した。
732774ワット発電中さん:2012/05/30(水) 23:36:19.95 ID:jiN0eact
ポケコンをラジオに近づけると処理内容が分かったな
733774ワット発電中さん:2012/06/01(金) 01:12:34.85 ID:/A8EThdg
C言語を使ってPICをアレコレしたいんですけど勉強するのにどこかいいとこ無いですかね
734774ワット発電中さん:2012/06/01(金) 01:28:38.41 ID:ZYI47iyZ
735774ワット発電中さん:2012/06/01(金) 01:39:29.35 ID:/A8EThdg
>>734
ありがとー
736774ワット発電中さん:2012/06/01(金) 04:43:14.73 ID:29//f+wg
>>734
鮮度が悪いぞ。

いまはMPLAB X等で無料でCで開発できる。
ダウンロードにユーザー登録すら必要ない。

無料(Lite)版が生成するコードに不満を持ってからでも、
有償版や他のコンパイラを検討しても、遅くはないだろう。

とりあえずMPLAB X等一式をインストールして、
インストールされたフォルダ下をエクスプローラで見て、
サンプルとか読んでみよう。

俺は昨日はじめてPICでC言語を使ってみたが、
えらく簡単で拍子抜けしたぞ。
737774ワット発電中さん:2012/06/01(金) 08:06:19.37 ID:ZYI47iyZ
>>736
鮮度いいな。
738774ワット発電中さん:2012/06/01(金) 08:42:30.00 ID:ZYI47iyZ
蒸し返すけど>>605はテキトーぶっこいたのか正統性があるのか説明欲しい。
現象がわからなかったのか、データシートが読めなかったのか、どっちだ。
739774ワット発電中さん:2012/06/01(金) 09:40:17.40 ID:CiQwH9dA
>>738
何でそんなものが欲しいんだ?
740774ワット発電中さん:2012/06/01(金) 10:05:26.14 ID:NTWZdoV3
あ、俺。今読み返してみると的確じゃないね。すまない。
先週の時点では資料のここではこう書いてあるけどなぜ?という問いに思えなかった。
このデバイスで図と対比させるとTXIFの反応が鈍い。ってな感じで聞かれれば、頑張ったかも。
読まずに質問してるのかと。まずは読んでの感想を聞きたかった。という流れ。
ってか、1週間か。
741774ワット発電中さん:2012/06/01(金) 16:58:53.31 ID:b9W5+7yS
日本を破壊する地_方_分_権

テレビで韓国ドラマばかり放送されても、見なければ大きな問題はありません。
しかし地方分権で警察組織、権力の一部を国から地方に移管し
採用条件・組織等も地方で自由に決めれるようになったらどうなるでしょう。
今のテレビ局が数10年前に在日枠を受け入れて、今や完全に在日朝鮮人に乗っ取られ
在日の都合の悪い報道は一切しなくなり、民主党が与党になったように
地方分権された警察組織が数年後に、反日感情を持った外国人に支配されないでしょうか。
在日の犯罪は野放しで、日本人の犯罪は過大な刑を与えられたりしないでしょうか。
地方分権は日本全国の地方自治体を、反日国家のコントロール化に置くための工作活動に等しいのです。

維新に近い、みんなの党は道州裁判所を設ける案もだしてます。
橋下氏(維新)の大阪都構想しかり
中京圏の大村氏、河村氏も地域政党を作って国政で候補者をだすみたいです。
まだ時間はあります、検討しておくべきです。
742774ワット発電中さん:2012/06/01(金) 19:17:33.43 ID:DV0qZKlW
>>741
PICで大統領AI組めばいいんですねわかります。
743774ワット発電中さん:2012/06/01(金) 19:51:03.08 ID:PnHOpaCh
>>742
大統領ごときでPICはハイスペ杉だろ。サイコロでおk
744774ワット発電中さん:2012/06/01(金) 20:18:30.64 ID:bCycFK1a
PICでサイコロ実現するには乱数生成器外付けかなあ。
745774ワット発電中さん:2012/06/01(金) 20:35:11.63 ID:ZYI47iyZ
>>740
そっちか、なるほど合点がいった。変に絡んでごめん。

ぼちぼち趣味の範囲で楽しくpicで遊ぶ程度の力しかないのに、偶然にもpicの仕事が降ってきた。
引き受けたけど泥船の予感。
746774ワット発電中さん:2012/06/01(金) 21:23:56.90 ID:p68eoUCM
>>745
直売で最近製造のを仕入れような。秋で買うといらぬ悩みが増えるらしい。
747774ワット発電中さん:2012/06/02(土) 01:20:04.84 ID:S8RWpwMZ
>>744
1-6数えてって押した瞬間の数字でよくね?
上辺で納得できればok
大統領もそんなもんだろ
748774ワット発電中さん:2012/06/02(土) 01:32:00.80 ID:IKRPe+4J
つか、それが最も上質の乱数なのに
749774ワット発電中さん:2012/06/02(土) 02:46:17.74 ID:TAeWcaeC
旧ミッドレンジ。

ADを全力で回す。
1ch(10bit)辺り 28.5[us]=35.1[kHz]が最速。
UARTを25,000bpsとして28[us]の間に7bitちょい。
出力が間に合わない。
20MHzだと少しバランス悪い。
16MHzなら50,000bps出せるのだが。

USB接続のA/Dコンバータを買ってきた方がよかった。
USBサウンドブラスターって入力に直列コンデンサ入ってるかな?
入ってるとして、簡単にバイパスできるかな?
なんて迷いも出てきたり。
750774ワット発電中さん:2012/06/02(土) 03:19:41.32 ID:x5fxustB
>>749
もっと新しいPICを使いなよ。
751774ワット発電中さん:2012/06/02(土) 07:57:36.66 ID:5DyY0SJU
こないだXC8がでて、ふるい8pinPICも捨てたもんじゃないと思ったよおれは
752774ワット発電中さん:2012/06/02(土) 08:51:09.37 ID:mACnO450
>>748
ヒトのクロックソースは80Hz±30%だもんな。w
753774ワット発電中さん:2012/06/02(土) 09:22:25.47 ID:cBDQWPCf
>>752
オナニーの時はクロック逓倍してるな
754774ワット発電中さん:2012/06/02(土) 10:13:05.73 ID:TAeWcaeC
>>750
それが正解かな。
秋月の18f2553キットを手元に用意してみた。

16f877aが既に動いてるから、速度が必要だと実感するまではこっち使うー。
25kbpsの上を試してみゆ。31.2k, 41.6k, 62.5k が行けたら幸せ。
755774ワット発電中さん:2012/06/02(土) 10:38:04.57 ID:TAeWcaeC
あれ。表記が一桁違ってた。ストーリーは合ってる。

×UARTを25,000bpsとして28[us]の間に7bitちょい。
○UARTを250,000bpsとして28[us]の間に7bitちょい。

×16MHzなら50,000bps出せるのだが。
○16MHzなら500,000bps出せるのだが。

×25kbpsの上を試してみゆ。31.2k, 41.6k, 62.5k が行けたら幸せ。
○250kbpsの上を試してみゆ。312k, 416k, 625k, 1250k が行けたら幸せ。

この周波数でブレッドボードとジャンパーだと不安だな。
756774ワット発電中さん:2012/06/02(土) 10:47:38.30 ID:E8Yt0NUi
>>752
ニューロン千数百億個の並列処理だけどな
757774ワット発電中さん:2012/06/02(土) 11:51:34.99 ID:LeAPM4Em
ニューロン一個一個は1ビットの超RISCだけどな
しかもクロックが・・・
758774ワット発電中さん:2012/06/02(土) 12:17:46.19 ID:E8Yt0NUi
>>757
多値の演算が出来るアナログデバイスで伝達速度をクロックに例えるなら低速たが並列動作と超パイプライン処理が備わっている。
759774ワット発電中さん:2012/06/02(土) 12:38:05.06 ID:5DyY0SJU
ヒトは非同期処理だと思うけど
760774ワット発電中さん:2012/06/02(土) 13:54:00.91 ID:o0bxu/Io
数万単位の入力を加重平均した値を-1,0,1に正規化して出力するアナログコンピュータかと思われていたが
実際は自発的な信号の出力にレジスタ機能までついてるニューロンマジパネェ。
761魚チョコ:2012/06/02(土) 14:23:14.61 ID:91MkTEhZ
でもぼくのにゅーろん誤動作率 99.9% ミ。ω、°?ミ ヘケー
762774ワット発電中さん:2012/06/02(土) 16:10:12.04 ID:x5fxustB
>>755
そんなに速度が必要ならdsPICいっとこうぜ。
763774ワット発電中さん:2012/06/02(土) 19:11:54.52 ID:Bs2x/J9q
>>761
うお?
764774ワット発電中さん:2012/06/02(土) 19:53:34.73 ID:KwUp55ah
信号処理をけっこうがんばる組み込み開発したくてdsPICにたどり着いたんですが,
資料が少なくて困ってます.

A/Dから取得されたサンプルを512点ぐらいバッファリングしてFFTに投げるとかする場合,
アセンブラだとどう書けばいいでしょうか
765774ワット発電中さん:2012/06/02(土) 20:26:34.48 ID:x5fxustB
>>764
dspic FFT
でググってみたか?
766764:2012/06/02(土) 21:09:05.55 ID:KwUp55ah
>>765すいませんぐぐってから来ます
767774ワット発電中さん:2012/06/03(日) 06:33:14.93 ID:MCt58Gig
「資料」じゃなくて、「パクリ元」だろ?
768774ワット発電中さん:2012/06/03(日) 07:43:43.58 ID:5mnhOI6h
PIC16F1823のADCエラッタなんだが、詳しい発生条件を知りたいな。

とりあえずテストしてみた範囲内では、ちゃんとAD変換終わるんだよね。
必ず終わらないなら、もっと大騒ぎになってると思うんだよね。

ADCとFVRどちらの精度がネックなのかわからないが、
I/Oピンに数mAシンクさせただけで値が低くなってビックリ。

6400回AD変換して、
平均値で2、
最小値で4、
最大値で1、
くらい低くなったよ。
769774ワット発電中さん:2012/06/03(日) 12:14:10.71 ID:I8Nv6xJa
CLCってどんな時使うのん?
770774ワット発電中さん:2012/06/03(日) 20:20:37.15 ID:5mnhOI6h
>>768の補足。

AN入力とは別のピンにLEDを繋いで、点灯と消灯で比較。
I/Oピンにシンク ・・・ 誤差大。+1、-4。平均とっても-2。
I/Oピンからソース ・・・ 誤差小。+1、-2。平均とればピッタリ安定。
I/Oピンはオープン ・・・ 誤差小。±1。平均とればピッタリ安定。

シンクさせるとGNDが浮き上がるんだろうな。
ブレッドボードにも原因があるかもしれないし。
771774ワット発電中さん:2012/06/03(日) 20:47:05.05 ID:5mnhOI6h
個体差もあるのかなーってことで、別の個体で試してみたらADCエラッタ発生したよ。

それも必ず発生するわけではなく、
いちどAD変換中にSLEEPさせると、その後しばらくの間は、発生しないんだ。

どこかの寄生容量が充電あるいは放電されることで動作が変るのかなー。
772774ワット発電中さん:2012/06/03(日) 22:47:52.77 ID:Sl6N+Lyg
設計上じゃなく、製造上のバグなのか……
773774ワット発電中さん:2012/06/03(日) 23:04:08.78 ID:5mnhOI6h
PIC16F1823のリビジョンA6には、
LVPではバルク・イレース不可
というエラッタもあるし、
デジアナ混載LSIならではの
設計ミス・製造問題があるのかなー。

ちなみに
PIC16F1827のリビジョンA3以前にも、
同じADCのエラッタがあるんだよね。
しかも
データEEPROMの書き換え寿命が1万回
プログラム・フラッシュの書換寿命が1千回 @ 電源3.0V以上の場合
なんていうエラッタもあるという。

秋月で買ったPIC16F1827はA4だったから、
これらのエラッタは大丈夫だけどね。
774774ワット発電中さん:2012/06/03(日) 23:51:42.73 ID:UtqDPVf3
デバイスの設計能力はそれほど高くないってことなんでしょ。
775774ワット発電中さん:2012/06/04(月) 00:25:24.89 ID:Y3+uUNRk
ルネサスは、CPU製造ラインのテスター不具合とかでそのロットは一年ぐらいたで故障する可能性が高い後付けエラッタがあった。
費用はルネサス負担の全品製品交換対応だった。
776774ワット発電中さん:2012/06/04(月) 02:24:27.10 ID:jOvkqyuI
致命的なエラッタが多すぎるというのがPICの最大の特徴だとか
777774ワット発電中さん:2012/06/04(月) 02:40:19.03 ID:YKVO/kFS
笑えないゾ。

PIC16F1823でもリビジョンA8ではADCエラッタは修正されているそうだから、
古いリビジョンA6の在庫を売ってる秋月ではなく、
どこか新鮮なモノを売ってるところで買えば、問題ないのでしょう。

リビジョン明記して売ってるところが、あればね・・・。
778774ワット発電中さん:2012/06/04(月) 04:30:53.10 ID:MP9806sE
AD入力用に8ピンPICに任せるとかどうかな・・・
779774ワット発電中さん:2012/06/04(月) 05:02:40.54 ID:YKVO/kFS
そこまでしなくても、1823ではなく1827を使えばいいと思う。
4ピン増加で値段20円アップで、ADCエラッタ修正済リビジョンが買える。
ただし、1823と1827はピン互換がないので注意。

MP9806、半導体みたいなIDだな。
780774ワット発電中さん:2012/06/04(月) 09:05:07.39 ID:erVyO2ql
バスのイメージもあってか、三菱っぽいな
781774ワット発電中さん:2012/06/04(月) 12:56:57.55 ID:cwJPUQJT
通販でリビジョン指定出来る所を知らない。
箱単位で取引してる相手だと融通が効くんだけどね。
782774ワット発電中さん:2012/06/04(月) 14:29:52.19 ID:yWycfZZt
というか、そこまでPICにこだわることもないしな。
783774ワット発電中さん:2012/06/04(月) 14:43:17.27 ID:QPqAua1R
宇宙開発には使えないシロモノだな
784774ワット発電中さん:2012/06/04(月) 22:12:02.42 ID:8tMLXZZI
昔のpicより今のpicのほうがエラってるのかな?
785774ワット発電中さん:2012/06/04(月) 23:45:16.02 ID:/FTfu1vw
いろいろ詰め込みすぎたかな?
786774ワット発電中さん:2012/06/05(火) 01:36:51.00 ID:u0I+GpFV
たぶん消費電力を切り詰めるための細工が、エラッタ増加を招いているのだと思うよ。
787774ワット発電中さん:2012/06/05(火) 02:36:45.56 ID:dBKC5eD7
昔のPICでも沢山あったよ。
割り込み禁止命令で割り込みが掛かると禁止に成らない。
Wreg=00Hで引き算するとボローフラグが立つ。
HIGHとLOWの割り込みが同時に掛かるとその場所の命令を無視してスタックは1段追加したままメインルーチンに戻る。
などなど数えると無数…。
788774ワット発電中さん:2012/06/05(火) 03:58:34.19 ID:0IA5tUW4
ボロボロだなぁ

AVRはどうなん?
789774ワット発電中さん:2012/06/05(火) 14:02:06.19 ID:Dzo+MtU3
マクドナルドのスマイル0円ならぬ、
似非モスバーガーのエラッター0円。





笑えん。(w
790774ワット発電中さん:2012/06/05(火) 18:24:50.84 ID:sxun97D7
漠然とした質問で悪いと思いますが、
PIC18F2331,2431で
RA2をデジタルIOとして使う方法、ご存知の方いらっしゃいませんか?

こちらで試したのは、
adcon1.VCFG0 = 0;
adcon1.VCFG1 = 0;
ansel0 = 0x00;
dfltcon.FLT1EN=0;
cap1con=0;
cap2con=0;
cap3con=0;

trisa = 0x00;
trisb = 0x00;
trisc = 0x00;

です。
791790:2012/06/05(火) 19:23:14.66 ID:sxun97D7
自己解決しました。

きちんと出力モードになってました。
勘違いでした。

すみません。
792774ワット発電中さん:2012/06/05(火) 19:36:04.59 ID:Te+QPRce
あれだけ単純なアーキテクチャでそれだけ致命的なミスが出るのは
設計能力に問題があると言わざるをえないだろうな。
793790:2012/06/05(火) 20:09:13.96 ID:sxun97D7
ついでに原因も分かりました。

まず、初期開発では、PIC16F873を使っていました。
内蔵ペリファラルは、I2Cを使う設定。
そして、16ピンのRC5/SDOをIOとして使っていました。
ところが、デバイス変更後の、18F2431では、
同じ16ピンが、RC5/SCLと
なんと、I2Cの制御信号に使われることになっていたようで
これが原因で出力が出ませんでした。
794774ワット発電中さん:2012/06/05(火) 20:33:29.22 ID:MFknt5ET
秋月でPIC32MXのDIP版の取り扱い始まってた。
ttp://akizukidenshi.com/catalog/c/cpic32/
安いので早速使ってみたいんだけど、これPICkit3で書き込みできるよね?
795774ワット発電中さん:2012/06/05(火) 21:01:04.45 ID:RYoQxWeM
トラ技でさらっと流し読みしただけだけど、PIC32って性能はすごいけど、もうPICじゃないらしいな。
796774ワット発電中さん:2012/06/05(火) 21:24:22.20 ID:UdXcAVlH
ピックリするほどの性能らしいね
797774ワット発電中さん:2012/06/05(火) 21:29:25.11 ID:E+ICpd+x
こんな感じかな。PIC32の4つの違いはUSB有無とメモリサイズ

28ピン
*◎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

ついでに18Fの追加分
40ピン
*○18F45K20 \180 16Kw/1536/256 Max64MHz(31k-64MHz),4xPLL,CCP1/1,▲3.6V
28ピン
*◎18F27J53 \300 64Kw/3776/0 ●USB,Max48MHz(31k-48MHz),PLL,eUSART2,TMR4/4,MSSP2,CCP7/3,12bitADC,リマップ,▲3.6V
20ピン
*△18F13K22 \150 4Kw/256/256 ↑14K22のメモリ縮小版
798774ワット発電中さん:2012/06/05(火) 23:05:53.14 ID:le3XfEVh
dsPICやらPIC32って、なんでEEPROM無いんですか?
16Fと18Fしか触ったことがない自分には、ちょっとしたデータを記憶できないと
何かと不便な気もするのですが・・・
799774ワット発電中さん:2012/06/05(火) 23:11:42.78 ID:sxun97D7
>>798
プログラムメモリを自己書き換えする方法で保存できたりしない?
憶測ですが・・・
800774ワット発電中さん:2012/06/05(火) 23:15:52.53 ID:QaG4YZEM
アホな質問と言わず聞いて下さい
アセンブラか、Cで書くのが普通の様ですが、
Visual Basicで書くようなシステムは出てますでしょうか。
801774ワット発電中さん:2012/06/05(火) 23:23:57.25 ID:XusAhFxZ
>>800
すでに複数あります。
"Basic コンパイラ PIC" でググッてください。
802774ワット発電中さん:2012/06/05(火) 23:25:36.07 ID:XusAhFxZ
>>798
ルネサスが得意だった「オールフラッシュ」でしょうか
803774ワット発電中さん:2012/06/06(水) 16:28:33.16 ID:8p2kQ8Zs
>>794
キタ━━━━━━(゚∀゚)━━━━━━ッ!!!

でも、なぜにPIC32MX1とMX2のメモリ最大の品種が無いんだ。
ふつー、とりあえずメモリ容量最大のもので開発して、必要量がfixしたら安い小容量品に置き換えるんじゃないの?
まぁ、200円だからとりあえず試してみよう。

>>798
どうせ256バイトあっても足りないから外部にシリアルEEPRIM繋ぐだろうということなのかもよ。
804774ワット発電中さん:2012/06/06(水) 16:34:00.73 ID:8p2kQ8Zs
ついでに見たら・・・
PIC16F1823と1827が在庫切れになってるな。
リビジョン新しくなるのかしら。
そうだとしたら、通販センターだけでなく店頭の在庫も切れて、入れ替わって欲しいな。
805774ワット発電中さん:2012/06/06(水) 19:19:59.69 ID:8d6ivL4u
PIC32はMax80MHzと思ってけど
PIC32MX1xx/2xxシリーズはMax40MHzなんだな
PIC32MX3xx以降はMax80MHzだけどDIP品は無し
32bitMCUでこれくらい出るとMP3のデコードを単体でできるようになるかな?
806774ワット発電中さん:2012/06/06(水) 20:29:22.39 ID:a3g7xcBn
>>803
> でも、なぜにPIC32MX1とMX2のメモリ最大の品種が無いんだ。
歩留まりが悪くて卸値が3倍ぐらいする、とかじゃね?
807774ワット発電中さん:2012/06/06(水) 20:57:47.32 ID:NGLwLx6C
>>804
昨日、店頭では1827は在庫切れでした。
1823は多数あり。
808774ワット発電中さん:2012/06/07(木) 00:10:34.98 ID:ZVPBagHZ
>>22
エラッタがらみで回収されたとか?
809774ワット発電中さん:2012/06/07(木) 09:22:10.76 ID:TevYR+U7
バケラッタバケラッタ
810774ワット発電中さん:2012/06/07(木) 20:32:49.64 ID:tkWUcwUX
秋月でPIC32MXのページを見ると1.65DMIPS/MHzになってるんだが
マイクロチップのページで見ると1.56DMIPS/MHzと書いてる不思議
まあ、どのマイコンのデータと混同しているかは大体想像がつくな
811774ワット発電中さん:2012/06/07(木) 22:02:11.25 ID:nXC4T/9n
あーPICりした∠(^。^)ノ
812774ワット発電中さん:2012/06/07(木) 22:52:50.00 ID:WkxvvPq3
PIC16F873で内蔵Flashに書けないと思っていたら
config wordで書き込み禁止になっていた。
フラッシュのライトイネーブルの意味が今日はじめて分かった。
813774ワット発電中さん:2012/06/07(木) 23:03:42.86 ID:XuxayB04
言葉のまんま、の様だけど。
余裕がない時こそ落ちつけ。これが一番難しい。
814774ワット発電中さん:2012/06/07(木) 23:06:19.33 ID:WkxvvPq3
ん、せっかく作ったプロトタイプボードめちゃちゃにしてしまった。
幸い、P板のアートワークが完成したので、来週あたりエッチングして
新しい気持ちで取り組んでみる。
815774ワット発電中さん:2012/06/08(金) 00:33:04.36 ID:rnA0QwpF
>>811
は?
816774ワット発電中さん:2012/06/08(金) 03:46:34.36 ID:+Qsscskk
RCDライタで18F4550に書き込みをしようとして、上手くいかず。
(書き込みができていない)
PICkit2を買わずに済ませたいんだが、良い方法はないかな?
817774ワット発電中さん:2012/06/08(金) 03:50:52.19 ID:+Qsscskk
デスクトップのD-sub経由です。
818774ワット発電中さん:2012/06/08(金) 05:34:21.53 ID:ZjvfJ8qv
>>816
PICkit3の方を買えば良いかと。値段それほど変わらず。秋月なら3900円(PICkit3単品)。
お小遣い云々の問題はあるかもしれないけど、やり方悩むより確実路線の方が近道で結局低コスト。
819774ワット発電中さん:2012/06/08(金) 11:17:37.44 ID:6kO4MOaO
>>816
せこく考えない方がいい
820774ワット発電中さん:2012/06/08(金) 13:26:12.24 ID:xWudnWL6
メーカーのだと、新チップのプロファイルもアップデートで出るし。
Pickit2だけど、4550、F1xxxや14K50、書ける。
821816:2012/06/08(金) 23:03:22.11 ID:+Qsscskk
どうにかできるかともう少し調べつつ、最終的にPICKitに妥協するかな。
822774ワット発電中さん:2012/06/09(土) 00:00:03.56 ID:/7q5wXFl
pickit一択なのは決まってるけど2か3かで迷う
823774ワット発電中さん:2012/06/09(土) 00:17:49.40 ID:OCdWQcR6
3で
824774ワット発電中さん:2012/06/09(土) 00:26:36.86 ID:Si88DCyV
2が3より優れている点って400円安いところだけ?
825774ワット発電中さん:2012/06/09(土) 00:38:37.14 ID:4AsGct7x
>>824
MPLABから使う場合…
・うざいFW更新がない(3だとポップアップがでてきて邪魔&たまに失敗する)
・電圧切り替えが簡単(3だと  〃  &勝手に設定が戻ることがある)
・本体のLEDの色が見やすい

自分の使い方の問題かもしれないけど、まあ参考まで
826774ワット発電中さん:2012/06/09(土) 00:39:07.86 ID:gYp7eB60
今後のデバイス対応を考慮するならば、PICkit3で
827774ワット発電中さん:2012/06/09(土) 00:53:57.51 ID:DHczGNDI
>>825
書き込むの、PK3CMD.exe とか言うコマンドラインツール使うと
右クリックの送る、とかで書き込めるから便利だよ

HEXをダブルクリックしたら、このバッチが起動するように設定するともっと便利 <== 俺今ここ

もしかしたら、.asmをコンバイル成功したら
すぐ pk3cmd.exeで書き込まれるようにすれば、もっと便利かも?

もしかしたら、もしかしたら、
秀丸のマクロで、保存、コンパイル、転送が一気に出来るマクロが作れるかも?

828774ワット発電中さん:2012/06/09(土) 05:10:09.06 ID:qcO4eFF6
>>827

は…秀丸?
829774ワット発電中さん:2012/06/09(土) 07:01:39.85 ID:xysfZran
>>828
俺も最近知ったんだけど、TeraPadなるテキストエディタを統合環境代わりに使っている人がいるそうな。
最初話を聞いたときはちんぷんかんぷん。知らない自分もアレだけどノートパソコンの一種?と思った。
そういう人にはTeraPadが統合環境以外の何者でもない。って感じなんだろな。
ツールによってはこんな事もできるんだと勉強にはなったけど、MPLABの方がしっくりくる。
830774ワット発電中さん:2012/06/09(土) 08:00:05.90 ID:ycKlWRnn
mplabで外部エディタ登録すればいいだけなのになんで熱く語りだしちゃったの?
831774ワット発電中さん:2012/06/09(土) 08:39:50.10 ID:xysfZran
>>830
勘違いしてるだろ。mplab使わないんだってば。
そういう文化が根付いたところもあるんだなと。
832774ワット発電中さん:2012/06/09(土) 08:53:20.73 ID:ycKlWRnn
こんなところにも禿丸のステマが…
833774ワット発電中さん:2012/06/09(土) 09:39:13.97 ID:4Zbry0Tp
なんでもステマ妄想乙
834774ワット発電中さん:2012/06/09(土) 09:54:50.68 ID:FklwlZ+6
いまどき秀丸ってwwww
835774ワット発電中さん:2012/06/09(土) 09:58:54.41 ID:a1nGfuoD
>>805
これ初代プレステのCPUより速いんだよな。

>>807
レポありがとう。
ADCエラッタ回避で1823の代わりに1827使おうとすると在庫切れなのね。
836774ワット発電中さん:2012/06/09(土) 10:01:56.11 ID:a1nGfuoD
>>816
データシートちゃんと読んだ?
そのRCDライタとやらは仕様に合ってるのか?

デバイスによって電圧が違うんだが、
RCDライタとか任意の電圧を生成する回路になってんのか?
837774ワット発電中さん:2012/06/09(土) 10:30:43.94 ID:NDAvQp5M
>>834
10年ぶりぐらいに聞いた名前だw
838774ワット発電中さん:2012/06/09(土) 10:52:38.11 ID:JICJqmwN
秀丸でなければエディタは何を使っているんですか?
839774ワット発電中さん:2012/06/09(土) 10:55:29.15 ID:xzy391Jj
現存のPICを、DIPからQFNまである程度網羅した
サンプルボックスを出してくれないかな。
840774ワット発電中さん:2012/06/09(土) 11:31:19.53 ID:FklwlZ+6
>>838
IDEがあればそれ、なければxyzzyかな
841774ワット発電中さん:2012/06/09(土) 13:37:01.59 ID:JICJqmwN
1年ちょっと前ですか、ドコモのギャラクシータブ(SC-01C)を買ったのは。
後閑先生の「PICで楽しむAndroidアクセサリの自作」を買ってワクワクしてたんですが、
読み進めるとあることに気が付きました。

自分のタブ(2.3.3)はアクセサリモード(2.3.4)に対応していない・・・どうしよう
842774ワット発電中さん:2012/06/09(土) 13:46:39.02 ID:ZrZBOhrw
もう一個買うのです
843774ワット発電中さん:2012/06/09(土) 13:50:24.48 ID:zMXYMEFF
秀丸否定する奴は秀丸の機能の10%位しか解ってないからな。
844774ワット発電中さん:2012/06/09(土) 14:47:47.42 ID:a1nGfuoD
秀丸マクロとかガラパゴスなものに手間かけて資産()ある人は固執するよね。
845774ワット発電中さん:2012/06/09(土) 14:58:56.52 ID:Vo7JGYDd
>>844
日本語で書きなおしてくれるかな?
846774ワット発電中さん:2012/06/09(土) 15:52:37.30 ID:zMXYMEFF
ガラパゴスかどうかは知らんが、つかいなれた環境とツール群はなかなか。
emacsでもeclipseでも同じで、それを使いたいってニーズはあるだろ。
847774ワット発電中さん:2012/06/09(土) 16:46:14.60 ID:dPtkwye0
eclipseとかで右クリックしたときに無駄に色んな選択肢出てくるのがウザイ
カットやペーストといったコード改変する操作が検索より上に出てくるエディタは「わかってないなーと」思う。
あと半角空白とTab非表示のエディタもわかってないなーと思う。

いや、設定し直したりショートカットキー使えばいいんだけどさ
848774ワット発電中さん:2012/06/09(土) 17:12:29.30 ID:a1nGfuoD
>>847
eclipseの使い方、わかってないんじゃないのー?
道具が変っても、以前の道具と同じように使おうとするのは、頭が固くなってきたんじゃねーの?
849774ワット発電中さん:2012/06/09(土) 17:51:58.68 ID:3gLqvpCz
人間の方が道具に合わせるなんて古生代の思想だよ。
850774ワット発電中さん:2012/06/09(土) 18:25:01.98 ID:F+goDzCh
PICのスレなのに、なぜにEclipse、Eclipseを使う人が多いのか?

ルネサス系のCPU、特にR8Cを使っていたが、今PICに移行中。5Vで動くから
dsPic30を中心に、USBは、PIC18を使おうと思っていたが、PIC32のDIPが
秋月で手に入るようになったので、PIC32中心にやっていこうと思っている。
USB HOST機能も使えそうだし、PIC16以下は使う気が全く起きないのでね。

MPLAB IDE XをMac OS Xで開始したばかり、PICにしたのは、Macで使えるのも
理由。まだシミュレーションをテンプレートのファイルで動かしただけなので、
これからだが。

でも、CALL GRAPHも見られるし、リファクタリングの機能もあるようだし、結構
使い勝手がよさそう。今のところやる気になっている。Cコンパイラもサイズ制限が
ないみたいだし。
851774ワット発電中さん:2012/06/09(土) 18:44:56.43 ID:xzy391Jj
ごめんなさいsakura使ってます、普段はソフト屋なので・・・。
Eclipseは使ってるけど糞重いのと、タブ文字をまたいだ移動がキモくて好きになれない。
852774ワット発電中さん:2012/06/09(土) 18:46:00.20 ID:VOsASE57
IDEについてくるエディタなんて殆ど使わないけどな。
853774ワット発電中さん:2012/06/09(土) 18:53:37.01 ID:xzy391Jj
VisualStudioのエディタは秀逸。VS2010は一気に使いにくくなったけど。
理由はEclipseと同じ、タブ文字をまたいだ時の挙動が糞。
854774ワット発電中さん:2012/06/09(土) 19:06:46.75 ID:/7q5wXFl
sakura使いハケーン
本当はQXがいいんだけど、unicodeが
855774ワット発電中さん:2012/06/09(土) 19:23:25.41 ID:C5mytHFN
PICKit2でdsPIC33FJ32GPの書き込みをしたいんですが,
Unexpected device IDとかいうエラーが出て書き込めません.

データシートttp://ww1.microchip.com/downloads/en/devicedoc/70135c.pdfを参考に
MCLR→1, VDD→13,VSS→8,PGD→18,PGC→19,AUX→×
と配線しています.

他のポートには何も接続していません(GNDに落としてもいません)
どなたかエラーの原因わかる方いらっしゃいますか?
856855:2012/06/09(土) 19:27:52.71 ID:C5mytHFN
失礼,石はdsPIC30FJ32GPです.
(一応33Fシリーズも一応試しましたが同じエラーです)
857774ワット発電中さん:2012/06/09(土) 19:32:15.12 ID:4wb87uSe
型番はっきりしろよ
dsPIC30FJ32GPなんてないぞ
858855:2012/06/09(土) 19:41:41.56 ID:C5mytHFN
>>857
試した石は30シリーズでdsPIC30F2012です.
33シリーズでdsPIC33FJ32GP, dsPIC33FJ802GPです.
補足ですが,Vdd-MCLR間に10kΩの抵抗,Vss-Vdd間に100pFのキャパシタを挿入しています.
859774ワット発電中さん:2012/06/09(土) 19:50:59.49 ID:4wb87uSe
dsPIC33FJ802もデータシート検索ででてこないからないだろ
dsPIC33FJ32GPならVCAPにパスコンが必要
dsPIC20F2012はどうVDD,VSSが2ピン以上あるから全部繋いでる?
860855:2012/06/09(土) 20:02:49.17 ID:C5mytHFN
>>33FJ802GP
失礼しました,33FJ128GP802です.
(ttp://ww1.microchip.com/downloads/en/DeviceDoc/70292G.pdf)

>>33FJ32GP
一応積層セラミックコンデンサ1uFのパスコンは挿入してます.

>>20F2012
Vdd, Vssそれぞれ2ピンと,あと多分不要でしょうがAVdd,AVssもそれぞれ+5V, GNDに設置しています
861774ワット発電中さん:2012/06/09(土) 20:05:21.71 ID:4wb87uSe
なら、後はPickitからVCCとVPPがちゃんと出てるか確認することぐらいしか思いつかない
862855:2012/06/09(土) 20:15:40.84 ID:C5mytHFN
>>861
そうですか…….

MPLAB Xを使い書き込んでいるんですが,
PICKit2にSN(Serial number): Noneと書かれているんですが関係あるでしょうか.
普通のPICは書き込めていたので別に気にも留めなかったのですが
863774ワット発電中さん:2012/06/09(土) 20:21:58.82 ID:a1nGfuoD
>>855
落ち着け。

まずターゲットと違う型番のデータシートを参考にするのはヤメレ。
ちゃんと該当する型番のデータシートを見ろ。
864774ワット発電中さん:2012/06/09(土) 20:35:47.07 ID:qKwW8TfS
sakura使うよ。
統合環境のエディタなんて差し替えれば良いだろ?
865774ワット発電中さん:2012/06/09(土) 20:59:08.53 ID:F+goDzCh
>>864
差し替えってどういう意味合いで使っているのか知らないが、MPLAB X は、
NetBeansだから、エディタ機能のみの差し替えは無理そうだが。

IDEのエディタはだめ、このエディタが良いと言っている奴は良くいるが、どこが
良いって話が、具体的じゃないな。言っちゃ悪いけど、TABの時の動きが気に
いらないとか言っている人がいたが、それが理由なら笑ってしまう。

sakuraエディタって、そんなにいいの? Vi互換のエディタを使っている自分から
すれば、その他のエディタは、カーソルキーで移動させるだけだから、どれ使って
も変わらないだろうって感じ。

Viは欠点も多いが、カーソル移動の豊富さになれちゃうと、他のエディタには
戻れない。本当に使いこなすことができれば、プログラムの入力でViに勝る
エディタはない。と、多分vi使いはみんな思っている。

万人向きではないけどね。多分、Vi使いは、他のエディタが良いって言っている
人間を腹の底では笑っている。
866774ワット発電中さん:2012/06/09(土) 21:48:12.82 ID:xzy391Jj
>>865
何が笑えるの?
資料なり白板なり同僚の顔なり見ながら打ち込んだりしてエディタから目を離している時、
カーソルを上下移動すると、頭の中のエディタはこう動いてるはずというイメージがあって
現にsakuraや従来のVSではイメージ通りに動いてるのに
Eclipseは直前のカーソルの位置で左右にぶれる。

もっとも、Eclipse見ながらでもこの挙動は十分違和感があってリズム狂うんだけど。
これ結構打ちミスが起きて作業ペース落ちるから致命的なんだよ。

ついでに言うと、職場のキーボードも自分に合った、自前で用意したの使ってる。
あんたに言わせれば、「キーボード選んでる時点で」とかいう話になるんだろうけど。
867774ワット発電中さん:2012/06/09(土) 22:02:17.52 ID:DEoT6Xly
エディタなんて自分の好みや慣れた物を使えばいいだろ

続きはここでも行ってやってくれ
プログラマー板 最強のテキストエディタってなんだ?
ttp://kohada.2ch.net/test/read.cgi/prog/1289620447/
868774ワット発電中さん:2012/06/09(土) 22:21:59.85 ID:roPCnFTp
>>862
> PICKit2にSN(Serial number): Noneと書かれているんですが関係あるでしょうか.
PICKit2のファームを更新してみたら?
869774ワット発電中さん:2012/06/09(土) 22:24:27.40 ID:F+goDzCh
>>866
あまいな、Vi使いはキーボードにうるさいんだな。

別にTABの挙動とかは、そうなのってくらいかな。Eclipseは広く使われている。
EclipseのTABの挙動が気に入らないなんて話は初めて聞いた。大多数が駄目と
言っているのなら、さすがに治すんじゃないの。昨日今日のアプリじゃないし。

Editor としての使いやすさというより、PICのプログラムするときに優位な
点があるなら、知りたいと思っているんだな。余計なことを前に書いたが、
Vi使いからみれば、他のエディタに、大して違いは感じられない。

あえて、押すのなら、便利な点があるんでしょう。だったら教えてってこと。
IDEのエディタを使えば、いろんな支援機能が使えるが、Vim じゃ使えない。
であれば、どのエディタを使っても同じなので、じゃーIDEのエディタを使おう
ってことになる。

おれは、IDEのエディタなんか使ってないぞ、偉いだろう。なんて感じに聞こえるが
何が偉いんでしょうかって話。
870774ワット発電中さん:2012/06/09(土) 22:33:23.37 ID:xzy391Jj
どうあっても人と話の合わない曲解バカだったか。
みんな単に使い易いエディタを適宜使ってるだけの話だろ。疲れる。


そんなことより俺はPIC16F1454の発売が待ち遠しい。
871774ワット発電中さん:2012/06/09(土) 22:39:12.57 ID:J3g1xQ55
相手にしないのが吉
872774ワット発電中さん:2012/06/09(土) 22:43:03.55 ID:ycKlWRnn
エディタ論争は自分の思いを綴るだけでいいから盛り上がるよね。
873774ワット発電中さん:2012/06/09(土) 22:47:12.68 ID:F+goDzCh
>>870
なんだつまらない。一生懸命押しているみたいだから、便利な機能があるのかと思ったら
それだけですか。思ったとおりではありますが。

このエディタが良いんだ。ってきけば、どこがいいのって尋ねるのが、どうして曲解バカなのか
理解不能ですね。あなたから、引き出すものが何もないことは分かりましたが。
874774ワット発電中さん:2012/06/09(土) 22:49:35.69 ID:xzy391Jj
一生懸命押してた? 俺が?? 何を???
875774ワット発電中さん:2012/06/09(土) 22:51:18.67 ID:G8k2Ixfs
エディタ関係は宗教戦争
異教は絶対に分かり合えないし、無宗教とも話が合わない
876774ワット発電中さん:2012/06/09(土) 22:54:55.83 ID:FklwlZ+6
ここはEmacs最強と言うことで話を収めようではないか
877774ワット発電中さん:2012/06/09(土) 23:14:11.39 ID:F+goDzCh
>>874
押していたのは、あなたじゃなかったか、じゃ忘れてください。

みんなエディタの長所、短所を言えるくらいのロジックはないんですかね。

出てきたのは、宗教戦争。それに、TABの動きが気に入らない。それだけですか。

ただ読んでいるだけの人も、いると思うけど、有効な情報はなにもなくて
申し訳ないですね。こんなに、中身のないことだけとは思わなかったんで。
878774ワット発電中さん:2012/06/09(土) 23:29:11.85 ID:ycKlWRnn
>>877
すみません、今からpicを勉強しようと思ってるんですが、エディタは何がお勧めですか?
879774ワット発電中さん:2012/06/09(土) 23:40:09.73 ID:uUeudGl2
vim
880774ワット発電中さん:2012/06/10(日) 00:08:49.61 ID:/Hp8y1WG
PICとエディタは無関係
分からないなら開発環境についてるやつを使う
881774ワット発電中さん:2012/06/10(日) 00:23:12.41 ID:ymAf9X++
>>841
ADB機能を使ったmicrobridgeならAndroid1.6以上で使えるよ
882774ワット発電中さん:2012/06/10(日) 00:33:21.61 ID:nu045JOu
今日もまたポートH->L直結してPICを焼く仕事が始まるお
883816:2012/06/10(日) 01:12:35.04 ID:wCNv3rub
18F4550の書き込みで質問したんだけど、解決したので報告

>>859
ヒントをありがと
違う型番の話だったけど。

Vdd,Vss2ピンづつ両方繋いで書き込んだら手持ちのRCDライタで焼けた
884774ワット発電中さん:2012/06/10(日) 05:15:55.23 ID:Drdrg0UC
PIC32とSTM32って、どっちがつおいの?
885774ワット発電中さん:2012/06/10(日) 05:31:27.56 ID:2RBAmeNo
PIC32MX1/2だが、データシートみたら電源のパスコンへの要求が厳しいな。
DIPなら直にブレッドボードで気軽に〜なんて思ってたけど、ちょっと無理っぽいな。
886774ワット発電中さん:2012/06/10(日) 05:50:11.27 ID:Ur2w8Yq7
>>884
 MIPS vs ARMってこと?
887774ワット発電中さん:2012/06/10(日) 06:08:58.11 ID:4hBqSwZm
>>885
10 uFのセラミックで、ブレッドボードで動いてるよ。
888774ワット発電中さん:2012/06/10(日) 09:09:23.53 ID:32TdP9mY
>>880
16Fで簡単な工作しかしないから、MPLABかメモ帖ですわ
889774ワット発電中さん:2012/06/10(日) 11:44:08.43 ID:2RBAmeNo
>>887
え、そうなの。試してみる。

データシートは何でああも厳しい要求だったんだろ。
基板の同一面にしろとか、ビア経由で裏面にするのはダメとか、6mm以上離すなとか・・・
890774ワット発電中さん:2012/06/10(日) 12:11:58.69 ID:GZmsDTWz
>>889
マージンって言葉、辞書引いとけ。
891774ワット発電中さん:2012/06/10(日) 13:17:51.96 ID:9QEZGKXe
>>889
メーカがデータシートに書いたような電気的性能を保証できるか
どうかってこと。
守らなかった場合には、一見動いたように見えても、いろいろやっている
うちにおかしな事が起きたとしても文句は言えない。
892774ワット発電中さん:2012/06/10(日) 13:38:52.57 ID:2RBAmeNo
だよね。

やっぱり足の長いソケットに電源配線用の小基板を付けてからブレッドボードに挿したほうが良さそうね。
893774ワット発電中さん:2012/06/10(日) 13:52:24.53 ID:/Hp8y1WG
PICKit3 + MPLAB IDE v8.84 + MPLAB C18 v3.41 + PIC18F26k22 でデバッグしてます
Haltで止めた状況での、関数呼び出しの入れ子を表示するにはどうすればよいでしょうか
(バックトレースを見たい)
894774ワット発電中さん:2012/06/10(日) 15:05:51.39 ID:S7MWYURZ
これに限らず最近のチップは、内部にレギュレーター持ってて外部にキャパシタ要求するのあるよね。
ライターボードの対応がめんどっちいなぁ。
895774ワット発電中さん:2012/06/10(日) 15:56:29.99 ID:cGLyLVyV
>>881さん、情報ありがとうございます。
でも、自分はそれほど難しいことは出来ないので、
新しいアンドロイドが手に入るまで保留にしておきます。
896774ワット発電中さん:2012/06/10(日) 19:28:12.54 ID:9QEZGKXe
外部のキャパシタはチップコンデンサ(2012とか)使うと楽よ。
897774ワット発電中さん:2012/06/10(日) 20:30:36.84 ID:iWdh4tpH
ちっこいので十分なんだけど、シリコン上に作るには巨大なんだよな
898774ワット発電中さん:2012/06/10(日) 22:02:01.62 ID:TOeMb+aU
ICのフレームに内蔵できないのかねぇ
899774ワット発電中さん:2012/06/10(日) 22:04:16.19 ID:R65mTgD3
昔の感覚でPIC使ったら正常に動かなくてパスコン入れたら動いたのはそういうことか
もっとちゃんとマニュアル読めってな
900774ワット発電中さん:2012/06/10(日) 23:30:49.81 ID:95MFc2Nj
>>898
単にコスト的にメリットが薄いんじゃ
901774ワット発電中さん:2012/06/10(日) 23:45:07.45 ID:TgcK3ccE
パスコンになるような大容量のコンデンサを作り込むのは困難なのよ
902774ワット発電中さん:2012/06/10(日) 23:53:00.20 ID:ooB4YP/I
DIPなら、ハイブリッドIC化することは可能といえば可能だろうけど、製造は面倒くさそう
あと、条件によっては違う特性のパスコンを使いたい場合もあったりする…のかな?
903774ワット発電中さん:2012/06/11(月) 00:07:33.77 ID:EieKxM5N
パスコンのためにハイブリッドなんて無駄なことやってられんだろ
904774ワット発電中さん:2012/06/11(月) 05:58:52.93 ID:SGwMcFSt
>>898
むかし、MAX232系でパッケージ内にコンデンサ内蔵してたのが、あったような記憶が。

VddとVssが隣接していれば、リードに直にチップコンデンサを付けるという手も。
本来はリードの根元付近にハンダ付けするのはダメなんだけど、
ブレッドボードで試すだけで本番に使わないなら構わないでしょう。

いっそDIP品は背中にパスコン用のパッドを出してくれればいいのに。
905774ワット発電中さん:2012/06/11(月) 06:36:43.58 ID:ejx69Ubw
ブレッドボードの使用は試すのが目的なんだから、普通にキャパシタを挿して
テストできてるのなら、それでいいんじゃないの?
906774ワット発電中さん:2012/06/11(月) 07:23:29.58 ID:PeW+QP7I
そもそも>>889は単なる誤訳なんじゃ
同一面の方がいいが、ビアを使って別の面に配置してもいい、が正解じゃね
907774ワット発電中さん:2012/06/11(月) 10:31:24.33 ID:B9IxrnpY
>>904
> MAX232系でパッケージ内にコンデンサ内蔵してたのが

あったな。

> いっそDIP品は背中にパスコン用のパッドを出してくれればいいのに。

対角ピン間にパスコンが付いている丸ピンソケットならあったな。


908774ワット発電中さん:2012/06/11(月) 13:15:51.51 ID:fveujSA9
>>905
んだな
909774ワット発電中さん:2012/06/12(火) 08:54:02.06 ID:lFm6w9Cj
ADCを読んでUARTに投げるコードが16f877aと16f88で完成した。
サンプリングレート30kHz。4166667bpsか625000bpsで出力。

877aを使うために書いてたのに、結局88に移植してしまった。
84aと877aは使い道がなくて困る。
910774ワット発電中さん:2012/06/12(火) 09:14:54.75 ID:lFm6w9Cj
416kbps
911774ワット発電中さん:2012/06/12(火) 09:18:17.25 ID:PRHHWmnk
通信速度が半端だけど、受けるのもPIC?
912774ワット発電中さん:2012/06/12(火) 13:43:31.23 ID:DQfrjo/U
PICで受けるならUARTなんかじゃなく、I2CとかSPI使ったほうが。
で、SPIを使うならPIC16Fではなく、MCP3002やMCP3204/3208のほうが。
ていうかA/Dだけやるのはアホらしいんで、dsPICとか使ったほうがいいんでは?
913774ワット発電中さん:2012/06/12(火) 14:41:37.23 ID:64zH1C7v
I2Cなんて2線式で一見便利そうにみえるけど、実は電気的にいやらしい存在。
I2Cを内蔵した製品に携わった人間なら必ずその意味が分かる。
単純にバスを繋いでプルアップして動くというのは、教科書や実験、趣味レベル。

単純にプルアップだけの設計では超低確率ながらもI2Cのタイミングが
満足できず、I2Cバスのストールが起きる可能性がある。しかも、大抵だんまりだから
デバイスリセットでもかけないとならない。デバイスリセットすらできないICもあるから厄介。
ロガーを使って解析したり、アナライザや基板解析を駆使しテブナン線や伝送路のパラメータで最終的に決める。

詳しく書くと長くなるし、ノウハウ的なものなのでこれ以上は避けるが、製品に使うときは
十分な検証が必要ということだけ覚えておいてほしい。特に電源が入りっぱなしの
装置はI2Cに神経を使う。

個人的にはローカル通信ならSPI辺りが流行ってくれればよかったのになと思ったが、
絶対的に多く使われるのはI2C。経済的に有利だしね。
914774ワット発電中さん:2012/06/12(火) 14:43:32.71 ID:7xUp/v09
巷にI2Cを使った製品が溢れているのはナゼだろうね
915774ワット発電中さん:2012/06/12(火) 15:02:12.91 ID:Xt/TDP2I
>超低確率ながらも
そんなもんも考慮せないかんの?
ここまで世の中にi2cがあって、規格も改定されていってるのに、その件だけ対策されてないの? なんでなんだぜ?
916774ワット発電中さん:2012/06/12(火) 15:19:38.86 ID:mEGLP4Hr
>>915
ICメーカーがいくら頑張って良いICを作っても、使用者が注意しないから、
困っているんだ。回路設計屋は何も考えずに回路例の通りにしか使わないし、
基板設計屋は、高周波には興味ないみたいだし。
1度填まってみればわかると思う。

昔は俺も、ちょくちょくI2Cを使ったけど、最近はSPIに変えた。
HとLの非対称インピーダンスは、結構つらいんだ。
>>913は、そのことを言っているんだと思うよ。

>ここまで世の中にi2cがあって、
近距離ならね。iPodの中ならいいと思うけど、iPadになるとヤバイかもね。
そんなこと考えて使ってないでしょ?→>>915
917774ワット発電中さん:2012/06/12(火) 15:59:23.43 ID:PRHHWmnk
>>916
iPodとiPad。 表現うまい
918774ワット発電中さん:2012/06/12(火) 16:26:03.35 ID:Xt/TDP2I
>>916
なるほど… すると、逆に(?)設計からソフトまでちゃんと考えてくれれば、それこそ気にしなくていいのね?

距離が伸ばせないのはi2cの仕様としてやむなしって割り切りが標準かと思って話てたが、
よく考えたら
>>909のひとがどういう意図でUARTを使って、>>912の人がどういう意図でi2cやSPIを勧めたのか
で、話が変わってくるな

ハングが気になってググってたらこんなん見つけた
http://mkubara.com/index.php/I2C
919774ワット発電中さん:2012/06/12(火) 17:40:14.95 ID:mEGLP4Hr
>>909 >>912の話には興味はない。

>>918の見つけた資料は、いいこと言ってる。でも、対策が今一歩だと思う。
10kなどを使っているときにその値を小さくするのは、間違ってはいないけど、
的確な指示ではなない。集中定数的にやるのではなくて、分布定数的(?)に
I2Cのバスライン全体に「むらなく」行う。
920774ワット発電中さん:2012/06/12(火) 18:43:53.46 ID:KV+G/jGp
MPLAB X IDE のシミュレーターってPORT変化割り込みやタイマー割り込み使えますか?
ちっとも割り込みわいってこないんです、、、
921774ワット発電中さん:2012/06/12(火) 18:55:59.65 ID:/4BqRLYQ
使えますん
922774ワット発電中さん:2012/06/12(火) 18:59:59.29 ID:KV+G/jGp
どっちなんだよ!
923774ワット発電中さん:2012/06/12(火) 19:18:52.16 ID:PRHHWmnk
MPLAB Xの方は使っていないので外している可能性あり。まずはチェックポイント。
タイマ幾つかによるけど、割り込み許可してる?
タイマによっては複数の割り込み許可が必要な場合あるよ。GIEだけでなく、PEIEとか。
あと、割り込み関数定義ができているか否か。かな、
CPUも開発言語もプログラムもわからないから、ここまで。
924774ワット発電中さん:2012/06/12(火) 19:27:28.44 ID:LYjKHsoh
>>909
16F877Aって 40PINみたいだけど、
丸ピンの ICソケットに入れるの、足がそろわなくて大変だよね
925774ワット発電中さん:2012/06/12(火) 21:07:53.32 ID:iYmyVaO+
VDOという後付の自動車用の計器があります。
かなりメジャーなメーカーらしく
いろいろなセンサーから送り出させる抵抗値がVDO Range(10-180ohm)となってるようです。
これをPICのADCで受けるには抵抗値が低すぎると思うのですが何かいいアイデアはありますか?
926774ワット発電中さん:2012/06/12(火) 21:19:39.34 ID:+VtxRakQ
>>925
どうして抵抗値が低すぎると思うのか理由を教えて?
心配ならボルテージホロワ通せばいい。
927774ワット発電中さん:2012/06/12(火) 21:27:59.66 ID:mEGLP4Hr
>>926
>心配ならボルテージホロワ通せばいい。
えっ!? ボルテージホロワで解決する問題か?

>>925
どうして抵抗値が低すぎると思うのか理由を教えて?
定電流駆動すればOKだよ。
2V/180Ω=11mAくらいの定電流ね。
LM317Lと115Ωで出来上がりだと思うけど。


928774ワット発電中さん:2012/06/12(火) 21:33:15.80 ID:tsuabkWU
PICのADの入力にくらべて、センサーから要求される入力抵抗値が低すぎるってこと?
適当に100Ωぐらいでプルダウンしておけばいいと思う
929774ワット発電中さん:2012/06/12(火) 21:48:09.96 ID:W9WHC4oG
まぁ、I2Cも速度を上げていくと'H'方向もドライブするけどな。
930774ワット発電中さん:2012/06/12(火) 23:39:01.28 ID:lFm6w9Cj
車用なら5V11mAなんてだだ漏らしで使えよな。うらやましい。
アクセサリかイグニションから取る場合に限るけど。

>>911
20MHz/16系で速度上げてくとそういうボーレートになっちゃう。
受けるのはPCというかftdi。比較的最近の奴ね。linuxで非標準のボーレートは少し手間取った。
試してないけどprolificも同じように使えると思う。
>>924
机とかの堅くて平らな面を使ってギュッギュッって曲げてあげればOK。
かえって600milの方が18pin300milよりも力入れ易い。
931774ワット発電中さん:2012/06/12(火) 23:46:13.15 ID:lFm6w9Cj
> だだ漏らしで使えよな。
使えるよな。

タイプミス多いな。目と頭が悪くて済まん。
932774ワット発電中さん:2012/06/12(火) 23:50:59.92 ID:sFFMq3cx
「ピンそろった」便利
933774ワット発電中さん:2012/06/13(水) 01:14:42.18 ID:oqDlmqAm
ピンそろった って結構息の長い商品だよね
934774ワット発電中さん:2012/06/13(水) 01:26:57.25 ID:mb9SeiEC
机で十分だけどな
935774ワット発電中さん:2012/06/13(水) 03:53:53.28 ID:oH0vmBhx
セラロックの真ん中の足ってVDDに落としていい?
GND遠い。
936774ワット発電中さん:2012/06/13(水) 08:00:27.79 ID:6TfGYd6l
>>935
やってみて!!
937のうし:2012/06/13(水) 08:12:29.20 ID:Z6lrJuSj
>真ん中の足‥

アレはそんなに大事なモノだったのか‥
938774ワット発電中さん:2012/06/13(水) 08:59:32.77 ID:PKnLxsUc
>>925です。
>>927
具体的な抵抗値まで教えて頂いたので理解しやすかったです。
ありがとうございました。

>>928
単純明快。ありがとう
939774ワット発電中さん:2012/06/13(水) 10:56:16.78 ID:0lOifzQF
>>935
しゃぶれ
940774ワット発電中さん:2012/06/13(水) 11:43:06.08 ID:am9TwSXi
>>935
かまわんよ
941774ワット発電中さん:2012/06/13(水) 17:53:50.59 ID:owgN8ViY
前スレ586
http://uni.2ch.net/test/read.cgi/denki/1329524296/586
>アセンブラ的な話になるが、割込みのタイミングは割込み発生時に実行中の命令が終わってから発生する
>PIC18Fは命令によって1サイクルと2サイクル命令があり、2サイクル命令の前半で割込みが発生すると
>割込みに入るタイミングが通常より1サイクル遅くなる。

そのときは疑問に思わなかったのだが、16F690で内部クロック動作のTMR2のオーバーフローで割り込み
を発生させてタイミングを見ていたら、メインルーチンの割り込み待ちループに1サイクル命令とサイクル
命令をどのように混在させてもタイミングがばらつかない。
そこで改めてデータシートを見てみると、
・非同期割り込みの場合は3サイクルまたは4サイクル遅れる。サンプリングタイミングによるばらつき。
・同期割り込みでは1サイクル命令2サイクル命令に関係なく3サイクル遅れる。
ということのようだ。

PIC18F4525
The exact latency is the same for one or two-cycle instructions.
PIC16F690
The latency is the same for one or two-cycle instructions.
942774ワット発電中さん:2012/06/13(水) 18:01:08.19 ID:nnysN5JZ
MPLAB、PICKIT3つかってPIC32MX795f512Lの工作してるんだけど、
PK3Err0035: Failed to get Device IDがでちゃう。
powersupllyとか、ターゲット設定はしっかりできてるんだけど。。
同様の症状とかって報告がなくて対処ができない。

PICそのものの話じゃないし、スレチだったらごめんなさい。
943774ワット発電中さん:2012/06/13(水) 18:34:47.53 ID:PIXvzZn4
>>942
よくわからんが、
・リセット後の書き込みモードへの遷移が出来てない
・pickit3とデバイスの間の通信が失敗している
いずれにしても、
データシートの条件を満たす電圧が出てるかオシロで確認。
944774ワット発電中さん:2012/06/13(水) 18:52:44.39 ID:VFn0gXTU
X IDE のシミュレートで SLEEP命令が効かん

そんなもんなの?
945774ワット発電中さん:2012/06/13(水) 21:57:38.87 ID:vSdEv6FI
すみません,X IDEを用いて「純粋な」アセンブラでPICを開発しているのですが,
(X IDE&XC16を用いてassemblyベースの開発を選択するとディフォルトでこうなるようです)
よく資料で見かける__CONFIGやaddfwなどのニーモニックが使えません。

別に~~fwなどの命令はmovとaddで展開できるからいいのですが,
configurationを発行できないのはさすがに困ります。

X IDEを用いたアセンブラで開発していらっしゃる方は,コンフィギュレーションをどのように設定されてますか?
946945:2012/06/13(水) 22:18:30.16 ID:vSdEv6FI
すいません自己解決しました
947944:2012/06/13(水) 22:28:21.40 ID:VFn0gXTU
事故解決できません
948774ワット発電中さん:2012/06/13(水) 23:07:37.85 ID:Y3KJlKcf
PIC32初めて使ったんだが、すげぇ爆速でワロタ
16Fや18Fがゴミのようだw
949774ワット発電中さん:2012/06/13(水) 23:09:21.94 ID:mb9SeiEC
こんなもん、kHzのクロックでのんびりやる仕事だけ任せとけばいいんだよ
高速なことはソフトじゃなくてハードでやるのが常道
950774ワット発電中さん:2012/06/13(水) 23:19:05.20 ID:/reLe6DQ
>948
16Fなんかは入出力で5V使えたり、I/Oピンをフルに使えたり
小ピン小型のパッケージがあったり、情報が豊富だから
速度いらない用途なら、いいけど
PIC24やdsPICの立場がないよな
951774ワット発電中さん:2012/06/14(木) 00:13:45.28 ID:G9NOzvz5
PIC32って5V食えないのばっかだっけ?
952774ワット発電中さん:2012/06/14(木) 00:22:47.57 ID:lRtH84D0
5Vトレラントのピンは5V食えるからTTL互換にはできるな
953774ワット発電中さん:2012/06/14(木) 00:25:20.69 ID:1G+lnC+N
5V食うというのは、女を食うのと同義でしょうか?
954774ワット発電中さん:2012/06/14(木) 00:33:07.25 ID:TFNXe4ba
>951
PIC32のVDDはMax3.6Vで当然出力はVDDまで
入力は5Vトレラント入力ピンあるけど一部のピンのみ
今回秋月で売られたPIC32MX220F32Bだと
5V入力可能なI/OはRB5,7,8,9の4ピンだけ
955774ワット発電中さん:2012/06/14(木) 00:57:39.87 ID:3CJ6MDhc
>>951
こんなの使えればもうちょっと可能性は拡がるけど
設置面積を取ることにもなるので悩むところ。
ttp://akizukidenshi.com/catalog/g/gM-04522/
データシートにはそれなりの速度が記載されているけど
実際のところはどこまでいけるかな。
956774ワット発電中さん:2012/06/14(木) 09:26:36.24 ID:4OfVXrQ3
5Vトレラントではないピンは、5Vに1MΩでプルアップするのもダメ?
957774ワット発電中さん:2012/06/14(木) 09:54:21.06 ID:1ZEBOs2S
>>956
多分トレラントを間違えてる。
出力の機能じゃないよ。
958774ワット発電中さん:2012/06/14(木) 10:04:03.26 ID:4OfVXrQ3
たとえば

+5V --->|---vvvv---<pin
といった感じでLEDをシンクで点灯させるとき、
ピンの出力のGND側がオンしているときは問題ないけど、
ピンの出力のVdd側がオンしているとき、あるいは両方オフでHi-Z状態のとき、
ピンには5Vが加わるような気がするんだよね。

抵抗もLEDも、流れる電流が微小だと電圧降下もまた微小になるよね。
959774ワット発電中さん:2012/06/14(木) 10:25:46.81 ID:QRq36TE0
入力ピンとGNDの間に3.3v定電圧Diをいれておけば保護になるけど、1.7V残るね。デジトラつなげば?。
960774ワット発電中さん:2012/06/14(木) 10:29:30.57 ID:ek3xoHmX
>>956

無理っぽい。

The open-drain feature allows the generation of outputs
higher than VDD (e.g., 5V) on any desired 5V-tolerant
pins by using external pull-up resistors. The
maximum open-drain voltage allowed is the same as
the maximum VIH specification.
961774ワット発電中さん:2012/06/14(木) 10:34:09.27 ID:4OfVXrQ3
>>959
素直にそうしますわ。
962774ワット発電中さん:2012/06/14(木) 14:17:21.66 ID:PWCQa1sD
>>855
亀レスだが

>MLR→1, VDD→13,VSS→8,PGD→18,PGC→19,AUX→×
>と配線しています.

PGD→17,PGC→18
じゃねえの?
963774ワット発電中さん:2012/06/15(金) 00:23:04.75 ID:OfhsNdJm
5V→3.3系には抵抗分圧を使ったよ。
964774ワット発電中さん:2012/06/15(金) 00:46:08.39 ID:HY+hlB/y
ブレッドボードで動いてた回路を万能基板で組んだら動かない。
って状況でオシロも無くてマジ泣きそう。
965774ワット発電中さん:2012/06/15(金) 00:51:54.57 ID:1Um0FFsY
電圧を外挿してくれる分圧抵抗は無いものか
966774ワット発電中さん:2012/06/15(金) 00:53:21.82 ID:HY+hlB/y
負性抵抗でぐぐれ。
967774ワット発電中さん:2012/06/15(金) 03:14:55.50 ID:HY+hlB/y
PICのVSSをハンダ付けしてなかった。
涙拭いてハンダゴテ当ててくる。
968774ワット発電中さん:2012/06/15(金) 06:52:58.91 ID:2RZbeN6S
>>967
まさかその時間におしごとですか?
969774ワット発電中さん:2012/06/16(土) 00:27:34.12 ID:Q3t2u7n9
おしごとの方は組み込みのdspicと戦ってた。金曜日にファームアップして終了。
開発ボード一枚壊したけど、なあに、かえって免疫力が付く。
だって仕様書と違う実装してるんだもん・・・

あいにくとしゅみの方がトラぶってたんだ。
おしごとならオシロつかえるけど、うちにもってかえるわけにもいかない。
グランドいっこハンダづけしたらちゃんと動いた。
しあわせ。
これからセンサーユニットつくっちゃうよ。
970774ワット発電中さん:2012/06/16(土) 07:09:35.23 ID:JWCVKdlt
>>969

 ボーナスシーズンだしマイロジアナとマイオシロ買いましょう!
           _、_
   Λ_Λ_ (<_,` )__
  /,'≡ヽ::)m)V n _  l
 ゙̄-' ̄`--´ ̄ ̄E_ )._ ノ ̄ ̄
971774ワット発電中さん:2012/06/16(土) 08:13:22.55 ID:Hg7HmrSO
プレボで動かせる回路だと DSO-nano いいぞぉ!
安いし場所取らないしポケットに入るし。
972774ワット発電中さん:2012/06/16(土) 09:07:02.40 ID:JjkJHE8n
漏れのおすすすめはピコスコープのこれ
http://akizukidenshi.com/catalog/g/gM-03664/

75000で4chはお得
973774ワット発電中さん:2012/06/16(土) 09:25:15.80 ID:JWCVKdlt
余談ですが趣味でやってる皆さんはオシロとかロジアナとか持ってますか?
最近マイコン工作を始めたものですが今はテスタ程度しか持ってないので
安いものの導入を考えてます。)
974774ワット発電中さん:2012/06/16(土) 09:57:12.72 ID:frifo1Wn
オーディオ系の物作るんで、アナログオシロの中古を億で買った
975774ワット発電中さん:2012/06/16(土) 09:59:12.60 ID:kbDNVlaQ
ロジアナは持ってないけどオシロは持ってる。
すごい性能は悪いけど、ないよりはマシなので。
976774ワット発電中さん:2012/06/16(土) 10:29:21.94 ID:SCk59WyP
お城は100MHz 2chのを持ってる
あとマイコン系、特にPSoCで重宝してるのがコレ http://www.digilentinc.com/Products/Detail.cfm?Prod=EEBOARD
今買うならこっちのほうが安くていいかもしれん http://www.digilentinc.com/Products/Detail.cfm?Prod=ANALOG-DISCOVERY
977774ワット発電中さん:2012/06/16(土) 10:45:51.09 ID:Q3t2u7n9
いろいろ紹介してもらったけど、納得いくのが無いなあ。
別のスッドレで聞いてくるね。

オシロスコープ総合スッドレ! part13
http://uni.2ch.net/test/read.cgi/denki/1331593575
978774ワット発電中さん:2012/06/17(日) 06:58:09.09 ID:+r7jdS6U
まぁここはPICスレだからね。スレチの話は膨らまないよ。
979774ワット発電中さん:2012/06/17(日) 17:55:30.08 ID:4Wp3YCaA
必要性を感じたら買えばいい、LEDチカしてる内は全く不要だ。
980774ワット発電中さん:2012/06/17(日) 20:44:48.71 ID:5VQkUZJZ
まぁ、PICが作り出した信号見るならPICで作ったオシロで充分な気がする。
981774ワット発電中さん:2012/06/17(日) 22:30:01.40 ID:hKxlYIEj
シミュレーションで基本部分を片付ければテスターでもある程度は確認できる
無い無いづくしの時の方が色々工夫するんじゃないかな
982774ワット発電中さん:2012/06/17(日) 23:40:44.43 ID:IBo9ewHa
>>980
さすがに同じチップじゃ自分の信号見られるようなオシロは厳しいかと
ロジアナならなんとかできるかな
983774ワット発電中さん:2012/06/18(月) 00:16:31.92 ID:tAgVmshz
http://akizukidenshi.com/catalog/g/gK-03144/

秋月の↑はAVRだからスレチかな。
ま、値段は安いが正直使いにくい。
984774ワット発電中さん:2012/06/18(月) 00:25:14.40 ID:FKovOnhe
USBオシロを5000円くらいで作れないもんなんかな
985774ワット発電中さん:2012/06/18(月) 07:38:31.04 ID:q+eeSM41
秋月のPIC16F1823、PIC16F1827の品切れ、なかなか解消しないな。
986774ワット発電中さん:2012/06/18(月) 08:55:10.01 ID:q+eeSM41
PIC16F1455 14ピン
PIC16F1459 20ピン

内部発振16MHzの3倍PLLで48MHz動作、
USB内蔵、外部XTAL不要。
プログラム 8Kワード
データ 1Kバイト
ADC 5/9 ch
987774ワット発電中さん:2012/06/18(月) 09:15:19.43 ID:q+eeSM41
PIC16F1508 20ピン
4x Standalone PWM Modules
Complementary Waveform Generator (CWG) Module
Numerically Controlled Oscillator (NCO) Module
これも面白そうだな。
988774ワット発電中さん:2012/06/18(月) 12:47:36.98 ID:A8HfTzgn
バグフィクスしてない新製品が続々と
1827で決まりじゃなかったのか?
989774ワット発電中さん:2012/06/18(月) 13:24:00.62 ID:HGC+7Hz0
CLCって面白そう
990774ワット発電中さん:2012/06/18(月) 15:31:24.93 ID:q+eeSM41
なんかもう型番が多くて分からんぞ。
もちっと命名規則をちゃんとして欲しい。
991774ワット発電中さん:2012/06/19(火) 02:31:09.26 ID:kc7AjBUf
部品箱のPICが半分コレクション化してきとる
992774ワット発電中さん:2012/06/19(火) 02:38:13.41 ID:Iw6LpFFg
>>991
その勢いで全部集めろ
993774ワット発電中さん:2012/06/19(火) 09:54:32.18 ID:cyJddWTX
俺は、全種類持ってるぜ、って人、いるんだろうな。
994774ワット発電中さん:2012/06/19(火) 12:24:35.40 ID:zehVF5IY
そういう人には
パッケージ違い持ってるか? 温度範囲違いも揃えてるのか? 型番の末尾に-ICD -ICE付いてるのも揃えてるのか、
なんて煽るといい。
995774ワット発電中さん:2012/06/19(火) 13:00:08.01 ID:SN2Qxk64
コンプがちゃ
996774ワット発電中さん:2012/06/19(火) 13:21:00.42 ID:jtkAEjXE
保存用と観賞用も必要だな
997774ワット発電中さん:2012/06/19(火) 15:50:59.34 ID:OvkMMFYk
>>996
いざというときの予備も
998774ワット発電中さん:2012/06/19(火) 16:36:47.77 ID:Zl6tHWqK
布教用を忘れてるぞ
999774ワット発電中さん:2012/06/19(火) 16:49:55.52 ID:4VXzU2k7
(゚Д゚)梅!
1000774ワット発電中さん:2012/06/19(火) 16:50:38.74 ID:4VXzU2k7
(゚Д゚)そしてけしからん! http://www.sonsivri.to/forum/index.php?board=3.0
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。