PIC専用のスレ Part37at DENKI
PIC専用のスレ Part37 - 暇つぶし2ch2:774ワット発電中さん
12/02/18 14:17:41.17 tshaCHEi
2たりこ

3:774ワット発電中さん
12/02/18 15:33:40.61 kSKsIwUZ
[新シリーズの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可能


4:774ワット発電中さん
12/02/18 15:34:45.13 kSKsIwUZ
秋月の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でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない

5:774ワット発電中さん
12/02/18 15:36:13.54 kSKsIwUZ
秋月の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命令有


6:774ワット発電中さん
12/02/18 21:07:37.16 IsSj3Dev

このテンプレいつも参考になるなぁ。

7:774ワット発電中さん
12/02/18 21:58:54.92 bmRdbciU
タイマー2で3kHzのピー音を鳴らしたのですが、音が止まりません。
BCF T2CON,TMR2ONとしても
CLRF CCPR1Lとしてもダメです。
どうすればいいのでしょうか?

8:774ワット発電中さん
12/02/18 22:09:46.29 Ky8ftCUn
>>7
「タイマー2で3kHzのピー音を鳴らしたのですが」
どうやって?

9: ◆yaya/99832
12/02/18 22:12:16.06 /6hSQv29

Kのついた新しい PIC のテンプレもほしいところですね。
私は初心者なのであまり詳しくないのですが、うわっつらのスペック(と値段)を
見る限り、18F14K50 がオススメっぽいと思うんですが、どうでしょう?

10:774ワット発電中さん
12/02/18 22:26:57.81 yWkBl46P
>>9

>20ピン 値段的にも格安でお得
>◎18F14K50 \170 8Kw/768/256 [USB],Max48MHz(31k~32MHz),4xPLL,CCP0/1


11:774ワット発電中さん
12/02/19 00:00:30.88 2dtldz6z
>>7
PICが音を出すわけじゃない

PICで矩形波を出力する方法は沢山あります。
あなたがどうやって矩形波を出してるか説明して下さい


12:774ワット発電中さん
12/02/19 00:10:43.23 xHwX1jJF

トラ技見たんだけど、PLDモドキが載ったデバイスまであるんだな。


13:774ワット発電中さん
12/02/19 00:27:34.43 baxIdVPU
14K50はなんか仕様が変態だったから避けた

14:774ワット発電中さん
12/02/19 00:28:24.80 ghTDBy0U
■18Fシリーズは5V動作可(J除)で比較的高速(10~MIPS) 新型のKシリーズは多機能で高速(16MIPS) '12/2更新版

40ピン 旧ラインナップしかないので苦しい、USBの4550か不要なら4525もありかな
-◎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
-×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,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
*○18F23K22 \160 4Kw/512/256 ↑26K22のメモリ縮小版
*◎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 ↑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 ↑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

15:774ワット発電中さん
12/02/19 00:30:50.42 ghTDBy0U
PIC18版を更新しました、疲れた。
PIC12/16と24&dsは新品種や値段に変化ないのでそのままです。

16:774ワット発電中さん
12/02/19 00:48:18.54 3wcZIPt9
無料コンパイラの質を考えると、多少高くても18F使いたいところ。
遅くて小規模なら16Fの新シリーズも有りかと思うけど。

17:774ワット発電中さん
12/02/19 02:58:40.54 1NSyLpnI
PIC16Fでラジコンが平面座標でどれだけ移動したかを感知したいんだけどいい方法ないかな

18:774ワット発電中さん
12/02/19 03:14:36.94 nAZ2atKQ
ぱっと思いついたのは光学式マウスをラジコンに取り付けてPICでマウスの出力を読み取る

19:774ワット発電中さん
12/02/19 03:32:34.90 1NSyLpnI
>>18
ラジコンの車高を最低5センチほど高くしないといけないのでマウスは無理ですね

20:774ワット発電中さん
12/02/19 03:46:45.34 080WzhYH
マウス引きずれば?w
路面の粒度で誤差ありまくり、アスファルトや土の上でやるとマウス即死だろうけどw

21:774ワット発電中さん
12/02/19 03:50:49.38 5t7oDdzL
三軸ジャイロと加速度センサーだろ
ドイツじゃ真空管使って68年前にロケットに載せてるぞ

22:774ワット発電中さん
12/02/19 04:19:49.57 1NSyLpnI
>>21
kwsk

23:774ワット発電中さん
12/02/19 06:16:36.74 ojBL2hPI
メカニカルなマウスバラせばロータリエンコーダは取れるから、
タイヤの回転数検出でもしておけば?

24:774ワット発電中さん
12/02/19 07:14:50.78 2dtldz6z
>>22
>>21は明らかにありふれた情報だ
kwskなんて書くような話ではない

25:774ワット発電中さん
12/02/19 08:17:26.87 2dtldz6z
PIC16Fでは多分実現無理だと思うが
誤差の蓄積しない、平面座標を取得する手段なら
MVPenかアノトペンのアイデア活用しかないだろう
あまり分解能が必要ないならMVPenの方式ならPIC16Fで真似できるでしょう

26:774ワット発電中さん
12/02/19 10:02:08.61 jDlOkM2p
平面の隅で超音波発生させればOK

27:774ワット発電中さん
12/02/19 10:47:45.61 jDlOkM2p
よくよく考えたら、車から超音波を発して隅で受信した方が簡単だな。
で、座標を計算して車に送り返せばいい。

28:774ワット発電中さん
12/02/19 10:52:44.43 baxIdVPU
GPS

29:774ワット発電中さん
12/02/19 11:00:34.09 2dtldz6z
>>27
超音波発生装置A,Bを平面上のそれぞれ固定された2箇所に設置する

車から全周に向けて2種類の赤外線命令を発射する

超音波発生装置Aは赤外線命令Aを受信した際に超音波を発射する

超音波発生装置Bは赤外線命令Bを受信した際に超音波を発射する


このやり方ならありふれたテクニックで実現できる
ただしA,Bからの距離を同時には測定できない

30:774ワット発電中さん
12/02/19 11:00:35.13 8qC2NvXL
>>19
> ラジコンの車高を最低5センチほど高くしないといけないのでマウスは無理ですね
マウスをそのまま設置するのではなくて、工学マウスを分解して部品だけ取り出し
設置する方法でも無理なのかなあ?工夫してみる価値あると思うけど。

ラジコンが実際に移動した距離が欲しいのではなく、x0,y0→x1,y1へ移動した
時の直線距離が欲しいんだよね?

31:774ワット発電中さん
12/02/19 11:10:49.06 jDlOkM2p
>>29
そんなめんどくさい事しなくても、隅につけたマイクで時間差取ればOK

32:774ワット発電中さん
12/02/19 11:41:06.35 2dtldz6z
>>31
>につけたマイクで時間差取ればOK
君の書いていることと殆ど同じだよ
車側で座標が欲しいか、そうじゃないかの違いはあるけど

マイクって言葉を使ってないから、マイクを使う方式じゃないと思ったのかな

33:774ワット発電中さん
12/02/19 11:55:41.72 cT/5NDlC
>>32
いや、マイク云々じゃなく、赤外線なんて、しかも2回に分けるとかメンドクサイと思った。
ラジコンから全周に超音波のパルスを発生させてマイクで受けるだけで距離はわかるよ。
しかも超音波を一回、送信するだけで。

34:774ワット発電中さん
12/02/19 11:58:00.54 t7A5qtTS
>>15
乙。

10f32xとかいうシリーズも出たらしいけど、どうなんだろう。

35:774ワット発電中さん
12/02/19 14:14:46.87 EdvEHvJx
>>24
加速度センサーで傾きを調べたりするのはありふれてますけど平面座標を取得する情報は
見つからないんですよー

>>30
そうです、でも光学マウスは地面スレスレでないと感知しないのでは?

36:774ワット発電中さん
12/02/19 14:41:05.10 a28krPoS
>>35
加速度センサーの値を二階積分して、自分で座標出してみるとおもしろんいじゃない?

37:774ワット発電中さん
12/02/19 14:56:31.62 ZXM3IfGo
28PINのPIC18F26K22に対応する40PINはPIC18F46K22だけど
秋月は売る気ないのかね A/D入力30chとかすこいんだけど

38:774ワット発電中さん
12/02/19 15:16:57.84 baxIdVPU
いろいろ存在してるのに、秋月が持ってきてくれないと入手できないんだよな
16F1xシリーズも、前からあったのに秋月のラインナップに入ってからいきなり人気出た

39:774ワット発電中さん
12/02/19 15:37:59.82 l8JxFq+F
>>7
PICのVCCをカットすれば止まる

40:774ワット発電中さん
12/02/19 15:43:47.29 Mbbyh28t
PIC18Fなんて一生使わないだろうと思ってたのに
18F26K22が秋月で扱われるようになって考え変わった
PIC18Fのほうから俺にすり寄ってきたw

41:774ワット発電中さん
12/02/19 15:51:10.13 P9y2aSrF
>>39
頭悪そうw

42:774ワット発電中さん
12/02/19 15:55:33.74 l8JxFq+F
>>41
だろ?w

43:774ワット発電中さん
12/02/19 17:52:45.65 2dtldz6z
>>36
実機とか実車のように進行方向がゆっくり変わるものなら実用になるんだが
言うまでもなく、ラジコンでは誤差が酷い筈。もしこれが実用になれば相当に便利
もっと便利なのがDGPSがGPS並みに安価になり、誤差が1mm以下になり、測位時間がほぼ瞬間になるということが実現した時

>>33
地面側の配線の都合とか、車側・地面側どちらで座標が必要かとか、通信プロトコル次第だよ
>>29はそれなりにメリットがあるんだよ
2つの地面側の固定局はそれぞれ単独で置けて長い配線が必要ない。通信プロトコルが必要ない

>>35
>>21はV2(A-4)ロケットの存在を指摘してるだけなんだから>>21に問うても仕方がない

44:774ワット発電中さん
12/02/19 18:06:24.87 Q8Sp+dTh
>>40
俺の所にはまだ挨拶にも来ないな
持参金付きで来てくれればうれしいんだが

45:774ワット発電中さん
12/02/19 18:14:14.05 2dtldz6z
>>43
書きわすれた
実機と実ロケットとか実船の慣性航法装置の加速度センサーは方式そのものが違う

46:774ワット発電中さん
12/02/19 18:55:40.84 csG5puac
座標系の認識に外部に設置したカメラから。ってのが動画であった。赤外線を発行する物体の
三次元座標を外部のPCで求める。外部からの光をカーテンで遮っていたので、室内専用かな。
物体の単独動作はできず、設備が大がかりなのが難点。

47:774ワット発電中さん
12/02/19 19:32:27.93 080WzhYH
それ、16Fだと出番あってもIR-LEDチカチカぐらいだなw
学校の選択実験でステレオカメラ使って似たのやったけど選択間違えたわ
高い機材使ってやってることはゴムボールの運動計測なんだもん、眠い…。

48:774ワット発電中さん
12/02/19 20:21:46.85 cZ58G0fg
>>42
ワロタw

49:774ワット発電中さん
12/02/19 23:50:44.38 dRfOaYI9
MPLABX+HI-TECH PICC 18-PROって18Fで使えてる?18F26K22(18Fは初めて)でLチカやろうとmain.cでdefine LED RA5ってやっただけで、undefined identifier "RA5"って出る。
でもってRA5でGo to implementationすると、なぜかpic18f87k22.hのRA5を指すんだよ。
project propertiesではPIC18F26K22指定してるのに・・・
頭おかしくなったかな

50:774ワット発電中さん
12/02/20 07:46:12.46 GLHCVXeT
Lチカ?

51:774ワット発電中さん
12/02/20 15:48:28.24 GXq0oRpF
この板で活気がある方なのがこのスレか? 前は人多すぎだったのになぁ。 電子工作もいよいよ終わりか?


52:774ワット発電中さん
12/02/20 15:58:11.92 CxYreY36
ぶっちゃけ何を語ればいいのよここで

53:774ワット発電中さん
12/02/20 17:37:52.24 ynLNphqP
>>52
バカダナァ
ライターダロ
ライター自慢

オレ3台アルヨ

54:774ワット発電中さん
12/02/20 17:47:23.89 oUg861WJ
最低限USBで繋がらないと話にならぬわ
それか無線
なんでAndroidってあんなに糞なんだろ
元がlinuxだからだよな

55:774ワット発電中さん
12/02/20 17:55:25.86 oUg861WJ
無線はXBeeでさえ高いのにマイコ尿BTは高すぎる
USBホストになってPC用ドングルを使うしかない
アホすぐる嫌な世の中やのう

56:774ワット発電中さん
12/02/20 17:57:15.46 CxYreY36
>>53そうか分かった

俺の初代ライタはWIN98とプリンタポートに接続して使うトラ技の記事にあった回路だ
ライタソフトは誰かが作ったPIC16F877まで対応したやつ

俺の2代目ライタはPIC16F877にRAMをI/O増設してハイパーターミナルの「テキストファイルの送信」で
インテルHEXファイルを丸々転送する方式のやつだ PIC16F887にも書き込める

俺の3代目ライタはAVRマイコン用で PIC16F887にRAMをI/O増設してハイパーターミナルの「テキストファイルの送信」で
インテルHEXファイルを丸々転送する方式のやつだ ATMEGA644Pとかに書き込める

俺の4代目ライタはPIC/AVR兼用で ATMEGA644PにRAMをI/O増設してハイパーターミナルの「テキストファイルの送信」で
インテルHEXファイルを丸々転送する方式のやつだ PIC16F887とかATMEGA644Pとかに書き込める

以上だ

57:774ワット発電中さん
12/02/20 18:02:13.21 oUg861WJ
じゃあこんどは無線で作れや
線がないってのはいい
アバターみたいなのどぼとけ通信がいい

58:774ワット発電中さん
12/02/20 18:04:52.90 CxYreY36
5代目はPICKIT3にするよ

59:774ワット発電中さん
12/02/20 18:08:04.07 oUg861WJ
リモコンなら赤外線だろ、という一般常識をかなぐり捨てBTを組み込んだ
ウィーには先見性があった
そういう発想力(ぢから)が必要なのだ

60:774ワット発電中さん
12/02/20 18:21:19.52 oUg861WJ
アイフォーンの成功もそうだ
たっちぱねるぅ?どうせ・・・というこれまでの偏見を、
マルチタッチや精度の高いパネルで覆した
そして数々の特許
しょぼい既製品パネルを流用するだけのPalmや
PDAの世代ではとうてい無理だったことだ

61:774ワット発電中さん
12/02/20 18:31:39.57 oUg861WJ
つまりマイコンの開発も、常識を捨てて挑まなければ成功はない
常識は邪魔をする、あいつ狂ってるぐらいの認識で調度いいかもしれない
頭を壁にぶつけるなりするのは常識的に考えて危険な行為だが、
もしかするとやってみる価値はあるかもしれない

62:774ワット発電中さん
12/02/20 18:45:57.50 oUg861WJ
アバターの車椅子男がパンドラに到着直後、
運搬車に轢かれそうになっていたのを覚えているだろうか
ギリギリ轢かれはしなかったが、優秀な運転手なのか、
それとも優秀な運搬車なのか、どんな技術かを問わせる
描写をさらっと入れるセンスは見習いたいものだ
もし轢かれていたら障害者虐待映画として見られるのだ
監督がバーホーベンなら躊躇なく轢くだろうが

63:774ワット発電中さん
12/02/20 18:53:05.86 oUg861WJ
少し話が脱線したが、要するに魅せる技術の事を言いたいのだ
アイフォーンは魅せる技術も巧みだった
だから皆が注目した
ちまちまPICで・・・なんて考えてる時点でお前はダメなんだよ!
まず「PICで」という考えは捨てろ

64:774ワット発電中さん
12/02/20 19:16:02.36 mAgXXJq+
>>63
少し落ち着けよw
その時点でスレチって事に気付かない?


65:774ワット発電中さん
12/02/20 19:33:12.13 OoUDicG1
とっくにあぼーん設定してます

66:774ワット発電中さん
12/02/20 19:33:38.17 oUg861WJ
ぶっちゃけ何を語ればいいのよここで
という流れったから
ここの住人に少し説教したかった

スレチですか?
ではどうぞPICにちなんだお話をなさってくださいなw

67:774ワット発電中さん
12/02/20 19:34:13.44 40hewJ7M
手持ちで8bitポート、タイマ用外部オシレータ、PWM 2chのたった計12pinを同時に使える品種がない
リマップ可能な18F26J50買うしかないかね
もしくは2チップ構成にするか…

68:774ワット発電中さん
12/02/20 20:53:52.00 UONKmIO/
49だけど、MPLABのバグっぽい。
view include hierarchyではpic18f26k22.hをインクルードしているのにgo to implementationではpic18f87k22.hをさしてるし、対象を兄弟チップに変えたらエラーが無くなった。
秋月で扱いだしたので買ってみたけど、このチップに絡むコンパイラのバグはいくつか報告されているので、地雷なのかもしれない。
以上ですー

69:774ワット発電中さん
12/02/20 21:50:15.98 xi5q/yrR
インクルードの順番が違うってことはないよね

70:774ワット発電中さん
12/02/21 01:21:51.04 07qa1lC6
外部オシレータからPIC2つに同時にクロック与えてデュアルPICとか考えてる。
上手くいけば8bitPICで16ポート同時に操作できる、かも。

71:774ワット発電中さん
12/02/21 01:54:14.33 FKK/yPaJ
>70
何に使うのかわからないけど、マスター・スレーブ決めて通信やSYNCで2つの同期とか取るのかな
そんなにシビアでもなく同じクロックでそれぞれのPICが勝手に動く感じ?

72:774ワット発電中さん
12/02/21 11:59:23.44 W5PkUdBM
3個同時に走らせて多数決で出力するのがカッコイイだろ

73:774ワット発電中さん
12/02/21 12:40:52.55 cFqGRmZB
>>70
リセットが同期出来ないので難しくないかな?

74:774ワット発電中さん
12/02/21 14:47:13.44 ObXiIULr
>>72
それなんてエヴァ

75:774ワット発電中さん
12/02/21 14:55:05.05 L/HeKT27
多数決コンピュータといって、アポロじゃなくてエヴァが出てくるってのは…時代か…

76:774ワット発電中さん
12/02/21 15:58:07.09 9NoJH+dk
同期信号出すならそれで校正すりゃいい
両方に外部オシレーターのピン割くなんてもったいにゃい

77:774ワット発電中さん
12/02/21 18:05:15.49 Zzh0mZIG
>>72
3個位じゃ全部違ってる可能性があるから数百個でよろ

78:774ワット発電中さん
12/02/21 18:14:56.14 L/HeKT27
>>77
二択だから3つで多数決できるわけで…
数百個要るってことは、数百通りの答えを出させる気か。 PICにか。

79:774ワット発電中さん
12/02/21 18:19:49.98 kIgq/FpE
なんかジグビーとかいう無線通信のやつを7個貰ったんだけどなにすればいいかわからない

80:774ワット発電中さん
12/02/21 18:46:06.09 BE+qGuJS
>>79
福島原発でリモコン線が引っ掛かって放置されてる物よりマシな
ものが出来るかも知れない。
URLリンク(www.youtube.com)
AVRでも出来るからPICでも出来るんじゃない?

81:70
12/02/21 19:09:49.81 07qa1lC6
似た様な記事見つからなかったので、ちょっとだけ。

同時起動に関してはちょっと怪しかった、初期起動はとりあえずリセットで無理やり。
どっちにしろ選別して銅の板でも貼っとけばいいかなあ。ちゃんと波形見てないからまだわからないよ。

マスタにタイミング持たせてスレーブにポート割り込みして、互いにタイミングを取ればいけるかな、とかその程度しか考えてない。
物凄く頭悪い方法だと思うよ、自分でも。16ポート同時操作できるマイコンがあればこんなことするよりそっち使ったほうがいい。

82:774ワット発電中さん
12/02/21 19:13:18.88 ep5eAL7N
高速動作を要求しなければ不可能な話ではないと思う。
でも、一番最初に採るアプローチ手法でもないなぁ。

83:774ワット発電中さん
12/02/21 19:19:45.50 80sT7eo+
8bit→16bit変換ならラッチ等のロジック回路を外付けするのがいいんじゃないかな

84:774ワット発電中さん
12/02/21 19:38:24.99 W5PkUdBM
I/Oエキスパンダってのもあるし
バタついていいなら4040でもおk

85:774ワット発電中さん
12/02/21 19:40:28.73 FtTkiKem
>81
素直に16bitのPIC24F使うのが楽じゃないか
秋月で\330のPIC24FJ64GA002ならRB0~15の16bit操作可能のはず
ただしリマップ機能はRBにしかないので残ったRA0~4で内蔵モジュールは
全く使えないけど。

86:70
12/02/21 20:47:50.51 07qa1lC6
だよねー。
手持ちでそこそこの速度で動かすには、ってことで考えてただけだからね。

87:774ワット発電中さん
12/02/21 21:35:28.65 ZbVHOVZi
10f32xってどうよ

88:774ワット発電中さん
12/02/21 21:35:29.83 80sT7eo+
同一クロックを使って2個のPIC動かしても
命令サイクルは揃わないんじゃねえの?

89:774ワット発電中さん
12/02/21 23:14:06.43 yxU5tdz7
>>76
1ピンでクロックとリセットタイミングを同期なんてできないでしょう

外部オシレーターの2ピンと同期用の1ピンの計3ピンを使わないと完全な同期は無理なんじゃないの

90:774ワット発電中さん
12/02/21 23:56:38.98 FtTkiKem
リセット前後は超低速なクロック(10Hzとか)を与えてバラつきを抑え
起動した位でクロックを通常に戻せば複数で同期できないかな。

91:774ワット発電中さん
12/02/22 00:24:27.90 DttA2rTh
>>89
そんなことない
アプリケーションノートにもあった

92:774ワット発電中さん
12/02/22 00:25:47.50 DttA2rTh
>>87
苺にボード付きで売ってるけど試したら良かったよ

93:774ワット発電中さん
12/02/22 01:10:27.48 RyatnWbY
たとえ同じクロックソースから動かしても1命令サイクルは4クロックだから
複数のPICの命令サイクルのスタートを確実に揃えるのは無理でしょ


94:774ワット発電中さん
12/02/22 03:21:49.74 yg6LDzCy
>>91
AN番号教えて

95:774ワット発電中さん
12/02/22 07:32:05.40 uqqla31b
2つのCPUを同期させるならクロックを共通にしてリセットもクロックに同期
させればできる。あと、I/O入力もクロックに同期させてからPICに入れない
とだめ。

96:774ワット発電中さん
12/02/22 07:50:33.81 yg6LDzCy
>>95
>>76はデタラメだよね
内部RC発振じゃ絶対無理だよね

97:774ワット発電中さん
12/02/22 16:04:22.89 UlfU/KO6
16F688は入門者には最適です。14ピンという数が絶妙でこれでかなりのものができます。
しかし、アセンブラ言語によるプログラムがサイトに見あたりません。
そこで自分でブログを作ってプログラム公開しました。まだ数が少ないけどね。

よかったらどうぞ。超かんたんなプログラムしかないからね。
URLリンク(seclus4.blog.fc2.com)


98:774ワット発電中さん
12/02/22 17:26:13.46 LwgXj72U
ちょっと質問。
1msのインタバルタイマを作りたいとき、クロックソースが1MHzとしてCCPRの設定は1000とするのが正解なのか999とするのが正解なのか?
H8系は999が正解なのだが、PICは違う気がしてきた。
まだ基板が出来上がってないので実験出来ませぬ。


99:774ワット発電中さん
12/02/22 17:34:34.88 MTFkNZcn
データシートひっくり返さないと断定できないけど-1だった気がする(ちがったらすまん)。

100:774ワット発電中さん
12/02/22 18:05:08.41 qNL66yNF
>98
-1の999。
16F877Aで昔 作った時計のソースが 12.8MHzをプリスケーラ1:8で
CCPR1H に 156 , CCPR1L に 63 (156*256+63=39999)設定で
ちょうど1/10秒割込みできてる
確か、MPLABのSIMだとバグっていたのか40000でちょうど良い
値なのに、実機で動かすとどんどんずれて困った覚えが

101:774ワット発電中さん
12/02/23 00:38:10.49 bV8rUq66
全くの初心者だが、MIDI入力からの音程をその周波数に対応したパルス間隔(矩形波)に変えて4つ出力するにはどのチップが最適ですかね。
膨大なマイコンの中から性能のどの点を見て適するものを選んでいくかという過程が知りたいです。
お願いします。

102:774ワット発電中さん
12/02/23 00:45:21.19 0W/I6fnc
>>101
>全くの初心者だが、MIDI入力からの音程をその周波数に対応したパルス間隔(矩形波)に変えて4つ出力するにはどのチップが最適ですかね。

一番安い奴。

103:774ワット発電中さん
12/02/23 00:56:36.59 BFeVbasQ
いや、2番目に安いほうがいいと思う

104:774ワット発電中さん
12/02/23 01:26:27.46 42IjrW4Q
ぜんぜんわからんw

105:774ワット発電中さん
12/02/23 01:49:05.72 j0jXPXxf
>>100
何か似たのを読んだことがあるなと思えば同じ事が起きていた。
URLリンク(airvariable.bbs.fc2.com)
マイナス1で実際ちょうどよくて、MPSIMはそのままであたかも正常のふるまい。


106:774ワット発電中さん
12/02/23 08:10:15.85 1zWetewG
>>101
まず、MIDI入力を処理するのにUARTがあると便利。
つぎに、矩形波を4つ出力するために、波形出力機能の付いた16ビットタイマーが4本あると便利。
なので、秋月で売っいるマイコンだとSH7125とかRX621みたいな、1000円弱のやつが16ビットタイマーをたくさん持っているのでプログラムが簡単。

出力する矩形波の周波数が数十キロヘルツ程度の低い周波数なら、16ビットタイマー1本を使って、ソフトウェアで波形出力するのもいいでしょう。
その場合なら、UART付きのマイコンならどれでもいい。100円くらい。

107:774ワット発電中さん
12/02/23 09:28:37.16 IBhrtmuX
初心者なら評価キットの様なマイコンボードで試作してからチップの選定やハードウェア設計。
評価キット(学習ボード)は何回でも再利用出来るので試作に便利ですよ。

108:774ワット発電中さん
12/02/23 10:29:53.12 DzkaDTUQ
PICで >>80みたいなXBeeを使ったラジコンやってる人いる?


109:774ワット発電中さん
12/02/23 12:11:27.02 z6bAlI6n
MIDIってまだ31250や38400bpsなのかな
全くの初心者ならArduinoがいいんじゃないの
似たような作例も多そうだし
Arduino MIDIでぐぐってごらん

110:774ワット発電中さん
12/02/23 12:51:46.15 gSt876QS
アルデーノは、そんなにいいですか?

111:774ワット発電中さん
12/02/23 12:56:19.82 z6bAlI6n
Arduino MIDIでぐぐれと言えるところがいい
もちろん、PIC MIDIでぐぐれとも言えるわけだが、
全くの初心者相手なら自重しようという気持ちにもなるわけだよ

112:774ワット発電中さん
12/02/23 13:19:18.68 xvdlhLYY
>>99-100
ありがとうありがとう。

ついでにもう一つ。
PWMを10ビット分解能で使う(PR2がffH)とき、
デューティ設定3ffHは100%?それとも99.9%くらい?
デューティ設定0は0%? それとも0.1%くらい?
0%デューティと100%デューティのどちらか、あるいは両方とも
例外処理としなければならないのかなという質問。

アートワーク終わってから装置の仕様が若干変わって、
回路図まで逆戻りでござる。

113:774ワット発電中さん
12/02/23 13:21:31.22 lOePDxdA
汚いニーモニックだなぁ

114:774ワット発電中さん
12/02/23 13:25:58.27 IBhrtmuX
>>112
その調子ならどうせ改版を繰り返すので試作機をオシロで測ってから対策

115:774ワット発電中さん
12/02/23 14:04:48.08 tmNH+oWB
>>112
データシート読め

116:774ワット発電中さん
12/02/23 14:31:46.31 uqbQOfg8
たしかAVRのPWMだt、、ここPIC専用か

117:774ワット発電中さん
12/02/23 20:10:32.15 069rm8nZ
>112
PWMで0%はできるけど100%は無理だったはず。
datasheetでも周期が
(PR2+1)*4 *Tosc*TMR2PR
パルス幅が
(CCPR1L : CCP1CON<5:4>) *Tosc*TMR2PR
なので
PR2=0xFF=255 , (CCPR1L : CCP1CON<5:4>) =0x3FF=1023 に設定しても
1023/((255+1)*4)≒99.9%



118:774ワット発電中さん
12/02/23 21:18:35.70 c3+vGp/E
質問ですがアセンブリ言語とC言語で同じ処理をさせた場合
実行速度って変わってきますか?
体感的には分からなくてもマイクロ単位で見た場合アセンブリ言語のほうが早いとかあるのでしょうか?

119:774ワット発電中さん
12/02/23 21:24:49.84 1zWetewG
変わる場合もあるし、変わらない場合もある。アセンブラのほうが遅い場合もある。
実際にコードを書いて、シミュレータで速度を比較してみたらいいよ。

120:774ワット発電中さん
12/02/23 21:43:56.33 0W/I6fnc
>アセンブラのほうが遅い場合もある。

それはないだろ。

121:774ワット発電中さん
12/02/23 22:00:09.28 PrMb8U9O
規模のデカいマイコンだと、アセンブラで書くと毎回予測分岐失敗するとかで、
コンパイラの最適化のほうが強い場合があるらしいが
PICでそんなことがあるのか? という話だな

122:774ワット発電中さん
12/02/23 22:10:24.87 lOePDxdA
カンニングできるしCじゃ書けない最適化もできるし
どこを省いていいか分かるのは書いた本人だけだし

123:774ワット発電中さん
12/02/23 22:20:58.03 lkifK8UT
>>121
簡単な構造のPICでそんなことは絶対にない
アセンブラはわざと回り道するように書かない限りC言語で書くより速い

124:774ワット発電中さん
12/02/23 23:12:46.48 IBhrtmuX
>>123
コードを短く見やすく書くとアセンブラは思うほど速くない。
例えばCで速度重視の最適化をするとswich文はコンペア、ジャンプの固まりに展開される。
アセンブラだとコンペア値と処理ルーチンアドレスのテーブルを作って参照ループにするほうがコードが短くなってメンテナンス性もいいしデバッグが楽なので良くやる手法だがベタ展開よりは遅い。
割り込みルーチンとかの速度重視の部分はコードが汚くなってもジャンプを減らしたりメモリーアクセスを効率的に配置したりするのでC言語よりも速い。

125:774ワット発電中さん
12/02/23 23:27:31.53 0W/I6fnc
>>124
>コードを短く見やすく書くとアセンブラは思うほど速くない。

簡潔に見易く書くのも、可読性捨ててでも速度を重視するのも、どっちらにも
プラグラマの判断で対応できるのがアセンブラだろう。何言ってんの?

126:774ワット発電中さん
12/02/23 23:35:21.41 czO4xTmw
>>125
そういう説明を書いたつもりなんだが、、、、

127:774ワット発電中さん
12/02/23 23:37:50.96 czO4xTmw
↑id変わったみたい
124です

128:774ワット発電中さん
12/02/24 00:53:49.95 dN4u/R2e
>124
>アセンブラだとコンペア値と処理ルーチンアドレスのテーブルを作って参照ループにするほうがコードが短くなってメンテナンス性
実際 PIC16Fのアセンブラでどんな処理ルーチンになるの?

129:774ワット発電中さん
12/02/24 10:40:11.63 KD/qbK7j
>>117
ありがとうありがとう。

心置きなく例外処理を追加できます。

>>114
最終ユーザーから一番遠い位置に居るので
話も遠い、遠い。
基板にはユニバーサル用の穴が空いていたりします。
もちろん、出来上がったらオシロで計測確認しますよ。


とか書いてる間に「中断せよ」の連絡が!
仕様が全然違うらしいぞな!
今選択しているCPUじゃ無理かも・・・

なんか、こんな感じ?
URLリンク(katada.jp)


130:774ワット発電中さん
12/02/24 12:11:11.84 fxhRC6qJ
>>129
懐かしい画像

131:774ワット発電中さん
12/02/24 13:43:36.18 eEW3asJH
>>129
この前C言語スレで見たわそれ

132:774ワット発電中さん
12/02/24 14:31:09.99 2o1gzcHf
積算温度計を作ろうと思っているのですが、
A/Dで取る温度センサーと1-wireとでお勧めは?
1-wireだと通信が面倒そうだしA/D入力だと基準電圧や調整が面倒かな

133:774ワット発電中さん
12/02/24 14:35:24.58 MaDXGb90
>>132
積算温度計って、何?
温度を積算するの?


134:774ワット発電中さん
12/02/24 14:42:22.62 zFQbzXze
桜の開花時期や、杉花粉の飛散開始時期などは
あるタイミングからの積算温度で予測できるようだから、
そういうのに使いたいんじゃマイカ。

135:774ワット発電中さん
12/02/24 14:43:14.10 k7KgvuGF
積算温度が一定レベルに達するとサクラの花が咲くとか
イチゴの花が咲くとかじゃないの

136:774ワット発電中さん
12/02/24 14:43:23.60 nN0K2h3M
そもそも↓これが一番面倒ではw

>積算温度計を作ろうと思っているのですが

137:774ワット発電中さん
12/02/24 14:43:59.53 k7KgvuGF
積算するだけじゃん

138:774ワット発電中さん
12/02/24 14:44:26.25 OuNLOjxG
面倒ならやめてしまえばよい

市販のロガーでも買えば?

139:774ワット発電中さん
12/02/24 15:21:54.47 2o1gzcHf
>>138
ロガーではパソコンに取り込まないと積算できないでしょ
電池で動く小さいのを作りたい。
例えばスイカなら開花から1日平均温度が20度以上の日を足して1000度で食べ頃
種もみなら15度から20度の範囲で積算100度で芽が出る

140:774ワット発電中さん
12/02/24 15:35:03.37 k7KgvuGF
A/DならLM35DZでダメな理由はないのでは
その用途では1wireよりはI2Cインターフェースの温度センサのほうが簡単で良いのではないか
とかですかね

141:774ワット発電中さん
12/02/24 16:44:22.06 2o1gzcHf
>>140
i2cにしました。LM92。
ありがとう

142:774ワット発電中さん
12/02/25 05:45:12.10 c/5Iw//r
イマダニアセンブラ虫が沢山
オモシレ


143:774ワット発電中さん
12/02/25 17:47:39.29 sZjkP79W
デバッグモードで書きこもうとすると
The following memory regions failed to program correctly:
Debug Executive
Programming failed
と表示されて書き込めないのだが、これの原因って何?
環境はPickit3と30F2020
プログラムモードだと普通に書き込める
MPLABは最新の8.84
Pickit3のファーム更新もやった

144:774ワット発電中さん
12/02/25 22:41:09.48 SRa3WkHc
>>143
プログラムが大きくなって、Debug Executive が使うメモリが足りないのでは?

145:774ワット発電中さん
12/02/26 02:39:07.65 DxQDrANm

PORTA,4のスイッチは内部プルアップされています。そのスイッチを長く押す場合(一秒以上)
と短く押す場合で二つのプログラムを選択したいと言うことで

MAIN
SLEEP
GOTO MAIN
INTR  ;割り込み発生
CALL TIME1S ;1秒待つ
BTFSC PORTA,4 ;1秒後も押されているかかどうか調べる
GOTO A_PGM
GOTO B_PGM
A_PGM
BSF PORTC,1
CALL TIME1S ;1秒待つ
BCF PORTC,1
BCF INTCON,RAIF
RETFIE
B_PGM
BSF PORTC,3
CALL TIME1S ;1秒待つ
BCF PORTC,3
BCF INTCON,RAIF
RETFIE

ところが、うまくいきません。
短押しの場合>A_PGMが実行される
長押しの場合>B_PGMが実行され、その後なぜかA_PGMも実行される
なぜ長押しするとAとBのふたつのプログラムが実行されるのか理由わかりますか?

146:774ワット発電中さん
12/02/26 02:42:50.11 DxQDrANm
>>145
うわ、余白がなくなってる。書き直しますので忘れてください。

147:774ワット発電中さん
12/02/26 03:07:34.81 YdDAz0iy
夜更かしするからそんな事で悩む
寝ろ
俺も寝る

148:774ワット発電中さん
12/02/26 03:07:47.03 LA18rHay
余白 → TAB ね

149:774ワット発電中さん
12/02/26 07:33:14.42 srdiN5an
>>145
プログラムゃんと読んでないけど
チャタリングじゃないの?

150:774ワット発電中さん
12/02/26 09:41:57.47 rhYQCvdG
秋月から切手サイズの PIC18F14K50使用USB対応超小型マイコンボード
なんてのが出てる \800
URLリンク(akizukidenshi.com)

説明書の回路図でVUSB(内蔵3.3Vレギュレータ出力,耐圧4V)が5Vにつながっていて
これは回路図の誤植か、本当に回路が間違っているのか?

151:774ワット発電中さん
12/02/26 09:50:16.83 Vfc70MqG
長押しで信号offする前に手を離すと大丈夫じゃない?
そうなるならば、 割り込み解除で、まだ押されていたら再度割り込みが入るからかな


152:774ワット発電中さん
12/02/26 10:11:10.21 rhYQCvdG
>145
短押しと長押し区別したいなら、1秒後に確認じゃなくて
押してから離すまでの時間で区別した方が良いと思う。
0 割込み発生(押し)
1 カウンタクリア
2 適度にWAIT
3 カウントアップ
4 SW押されたまま →2へ
5 カウント値で判断
とか

153:774ワット発電中さん
12/02/26 12:57:53.16 8YMPZNHh
>>150
速報。
回路間違い。現物はVusbはVddと切れている。
ソースはツイッター。


154:774ワット発電中さん
12/02/26 13:41:52.57 0TO+u+cv
>>152
押して離すと反応するSWは個人的に嫌い。
同じSWでも離した時に反応する様に使うと痛みが早いのは押した時に反応がない為に人は無意識に押す力が大きくなる

155:774ワット発電中さん
12/02/26 14:08:41.74 LA18rHay
>>153
>回路間違い。
もっと正確に言おうよ。

   回路図 なのか 現物の回路 なのか

言葉足らずだよ。

156:143
12/02/26 14:32:55.74 vokVD6Ve
>>144
プログラムメモリは1534/4096
データメモリは80/512だからそれはないと思われ
それとデバッグモードに移行した初回だけPK3Err0040が出てた
ヘッダないとデバッグできないってこと?

157:774ワット発電中さん
12/02/26 14:50:54.79 aULAnLf8
>>145
ピン変化割り込みだよね?
だとしたら最初の一秒ウェイトする前に、まず立ち下がりかどうか調べてから、以降の処理をする様にしなきゃいけないと思う。
出ないとスイッチ離したときの立ち上がりを拾うのでは?

158:774ワット発電中さん
12/02/26 18:10:06.26 YdDAz0iy
秋月のUSBのやつは機能制限付きらしい
なんじゃそら
これならAVRの板のがいいな

159:774ワット発電中さん
12/02/26 18:14:31.30 YdDAz0iy
あ、USB-IOとしてじゃなく
普通にファームウェア焼いて使うなら別に問題ないから誤解しないように

160:774ワット発電中さん
12/02/26 18:58:00.49 qAzU6FZp
何の話だ。

161:774ワット発電中さん
12/02/26 19:12:23.38 rhYQCvdG
>154
押した瞬間に反応する様にした場合、どうやって短押しと長押しの区別をつける?

162:774ワット発電中さん
12/02/26 19:15:38.90 iS2mWVFG
一旦、反応してから長尾氏だったら
その反応するしか出来ないぞな

163:774ワット発電中さん
12/02/26 19:25:36.71 srdiN5an
>>159
最初からUSB-IOが焼いてあるの?

164:774ワット発電中さん
12/02/26 19:39:19.98 pZ7PrHps
>>161
早く離したらオフで反応。
長押しされたら離されなくても規定時間で反応。

165:774ワット発電中さん
12/02/26 19:43:34.35 pZ7PrHps
加速系の操作なら押されて直ぐに反応。
そのまま長押しされたら加速。
キーリピートやモーター、時計設定とかはこの手法

166:774ワット発電中さん
12/02/26 21:20:50.78 GrtTQDho
こういうところに出てくるプログラムってdelay関数を使ったようなのばっかり
だな。10ms位のインターバルタイマー割り込み使って、状態遷移としてとらえる
ようなプログラムを見たことない。

167:774ワット発電中さん
12/02/26 21:42:58.32 qAzU6FZp
ポート余ってるんなら1秒の時定数持たせた入力を余分に作って
状態01か11で判断すれば、チャタリング対策にもなって一石二鳥かと。

168:774ワット発電中さん
12/02/26 21:43:20.52 kpSPF/QV
掲示板に書ける行数に限りもあるし仕方ねんじゃね?

169:774ワット発電中さん
12/02/26 22:25:43.83 rhYQCvdG
>166
インターバルタイマー割り込み使う位なら、ピン状態変化割込みで
ONの割込みで内蔵のタイマをクリアだけして戻り、OFFの割込みでタイマ値読んで
判定して各処理実行して戻りの方が無駄な割込み発生せずシンプルと思うけど。

まあマイコンの場合 目的さえ達成できればMPU時間全部使えるんだから
delayでもタイマ割込みでも何の問題も無いけど

170:774ワット発電中さん
12/02/27 00:26:36.77 zP5qf7qu
delayは楽でいいけど、プログラム規模が大きくなるとスパゲティになりやすい
割込みは良くできた機構なので良く理解して多用していきたいと思ってる

171:774ワット発電中さん
12/02/27 00:38:20.19 DhkCB6dD
>>166
素人の最初の一歩としては仕方が無い。
例えば苺で売ってるガイガーも同じだけど、計数するのとBEEPを鳴らすのが同時に出来ないプログラム
だからBEEPを鳴らすと計数値が微妙に減るw
もちろん、そういう素人プログラムだから、BEEP以外にも計数漏れがあるかも知れず値は当てにならない。


172:774ワット発電中さん
12/02/27 02:25:07.06 IEE8WPn8
よくタイマーをフリーランさせてピン変化でカウンタ値を
読み取ったりしてるのがあるけど、それでは発展性がない
ピン変化はスリープから復帰に使ったら停止させて、
後はタイマー1本でいいんだよ
割り込み負荷も一定にできるし
Nchを同時にとかの処理を設計すると自然とそうなる


173:774ワット発電中さん
12/02/27 02:28:41.38 qh6M56Tl
>計数するのとBEEPを鳴らすのが同時に出来ないプログラム

だせぇww

PIC16でタイマ1個でマルチタスクを実現するにはどうすればいいか
1日でいいから真面目に考えるべきだと思うよホント。
一度雛形が出来れば他のマイコンにも応用が利く

174:774ワット発電中さん
12/02/27 04:05:04.21 9jd2mG0d
>>171
苺のガイガーってPICじゃないよ。

技術力ゼロな、苺クレーマーの「℃玄人さん」www

175:774ワット発電中さん
12/02/27 05:39:22.13 itnN58o2
>>156
7.3 TOP 10 REASONS WHY YOU CAN’T DEBUG
コードプロテクトしているとか?

176:774ワット発電中さん
12/02/27 11:51:48.80 W+GTIP9s
>>173
>1日でいいから真面目に考えるべきだと思うよホント。

てか、苺のHP見るとソフトを生業としてるみたいなんで、24時間365日考えているはずなんだけど
お粗末過ぎる現実www
Cしか出来ない奴みたいな愚かさだなw

177:774ワット発電中さん
12/02/27 11:55:23.01 W+GTIP9s
>>174
PICかどうかなんて問題無いし、もし、そんな当たり前のプログラムさえ組めないのが
チップの制約ならPICに変更するべき。
所詮、問題点さえ自分で理解出来ない℃素人って事だよ。

178:774ワット発電中さん
12/02/27 12:16:56.96 F7d6E1MH
>>171
どのような検証をしてそう思った?
上から目線で奴なら検出したらbeepして次の検出待ちするようなシーケンシャルにしているだろうと妄想?

179:774ワット発電中さん
12/02/27 13:24:17.63 yi9B25TC
>>177
なんでPICなんだよ
高級言語に不向きでアセンブラはもっと不向きだぞ

180:774ワット発電中さん
12/02/27 13:31:14.17 NGHtV428
>なんでPICなんだよ
スレタイ

181:774ワット発電中さん
12/02/27 14:17:10.59 W+GTIP9s
>>179
アセンブラに不向きなのはPICでなくて>>179

182:774ワット発電中さん
12/02/27 18:37:15.79 yi9B25TC
>>145を動かすとしたら
割り込みに入った直後は10msくらい待って読み直す。押されていなかったらそのまま戻る、、か
簡単な演習でも割込みをメインループにする発想なんてもうできねぇわ

183:774ワット発電中さん
12/02/27 19:09:49.95 DV6XbVS+
急に内容ガッタガタなスレに成り下がったな。

184:774ワット発電中さん
12/02/27 20:49:32.46 WZs1Rw7Y
そうやって助長する>>183

185:774ワット発電中さん
12/02/27 21:36:43.26 KkzfkXUc
>>183
ゆとり教育の成果のあらわれなのか、どうも最近は、基本的なコトを知ら
ずに電気やソフトいじってる香具師が多い。

まだ個人の趣味ならいいが、それを仕事でやってたりする。
もはや驚きを通り越して怖い。知らないって最強かも。

186:774ワット発電中さん
12/02/27 22:22:07.68 Hz1Af6uJ
悪いロートルは批判と嘆きと細かい事に口を出す。
良いロートルは基本は押さえて放任

187:774ワット発電中さん
12/02/28 01:58:27.61 xEx8sTLK
>177
こんな所にガイガースレの℃玄人が。
くやしいのう。

188:774ワット発電中さん
12/02/28 06:44:57.38 j7STJjXk
歳とると昔から若者の行動を批判する
最近の若いものは、、、
若い人間の行動は社会に依存する
その社会を形成したのは、歳よりの人達
未熟さを批判自慰行為する暇があったら、教育なさい見苦しい

ま、他人を見下す事で己の立ち位置に満足する人間は
技術屋に多い
歳とって時代に取り残され新しい物事を否定批判しているうちに
まわりに誰も居なくなる
そんな人達沢山見てきた

ある意味、そういう醜い姿を正す教育者がその人達にはいなかったわけだ
反面教師也

189:774ワット発電中さん
12/02/28 10:14:17.85 rGpFOvhL
苺には年寄りも若いのにも碌なのがいないって事か

190:774ワット発電中さん
12/02/28 14:47:08.91 YtExHzD/

16F88の場合割り込みピンの選択で INT0IEとRBIEがあります。
INT0IEはRB0ピンだけその他のピンとは独立して使えるようになってます。
なぜRB0ピンだけ独立して使えるようになってるんですか?



191:774ワット発電中さん
12/02/28 17:18:59.58 jHkSvKW1
そのほうが便利だから

192:774ワット発電中さん
12/02/28 17:36:36.49 LbrMQwYM
使い道が違うから

193:774ワット発電中さん
12/02/28 17:49:20.61 NANBCyXB
昔のPICはINT0しかなかった。互換性のために残してる。
今は利便生のためにポート割り込みが実装してある。

194:774ワット発電中さん
12/02/28 19:50:17.35 YtExHzD/
>>192
機能的に違いはあるんでしょうか?

195:774ワット発電中さん
12/02/28 20:40:42.81 J3A2bbp0
シュミット入力かそうでないか
指定エッジのみか、変化したらとにかく割り込み発生するか

196:774ワット発電中さん
12/02/28 21:49:26.93 9vYuoOJT
>>194
INT0IEは別名「外部割り込み」
RBIEは別名「変化割り込み」


外部割り込みは基本的にパルス入力用
1つのピンと1対1で結びついている
シュミットトリガー入力になっている

変化割り込みは一つの割り込みが複数ピンと結びついている
基本的にボタン入力用。スリープ解除用途とかに便利


外部割り込みは「立ち上がりエッジ」もしくは「立下りエッジ」のどちらかのみに反応することができる

変化割り込みは「立ち上がりエッジ」「立下りエッジ」をそもそも区別することができない
どのピンかも区別することができない。実際にポートの値を見る必要がある

変化割り込みで監視されるピンはチップによってはマスクレジスタによってカスタマイズできる

197:natu
12/02/28 22:29:02.00 EPXp/O4G
仕様書から読み取れないので教えてください。dsPIC30F3010です
UARTの送信割り込みで1文字をバッファーに書き込んでtxBuff.writeを+1
した後、IEC0bits.U1TXIE=1をしてます。

void ISR _U1TXInterrupt( void )
{
  if ( txBuff.read == txBuff.write ) {
   IEC0bits.U1TXIE = 0;
  }
  else {
   IFS0bits.U1TXIF = 0;   //これを①の行へ移動するとU1TXIFが出なくなる

   U1TXREG = txBuff.buff[ txBuff.read++ ];
   txBuff.read &= kBuffMask;
  ①
  }
}

送信処理が終わってU1TXIF=0が①に有る時は、U1TXIEが1でも割込みが掛からなくなりました。
上記の状態だと正常に動作します。これで安心して良いでしょうか?


198:774ワット発電中さん
12/02/28 23:13:46.36 p33welhb
>>197
ダブルバッファだから書き込んだ瞬間に次の書き込み可能になるからじゃね

199:natu
12/02/28 23:21:31.25 EPXp/O4G
>>198
ありがとう。
そうか、書き込んだ瞬間TXIFが1になるのにプログラムで0に
してしまうと2度とTXIFは、1にならないのか。
「送信できますよ」レベルでセットされないでエッジでセットされるのね。
ありがとう。

200:natu
12/02/28 23:23:42.21 EPXp/O4G
大事な事なので「ありがとう」を2回書きました...

201:774ワット発電中さん
12/02/28 23:36:15.96 YtExHzD/
>>196
サンクス。

202:774ワット発電中さん
12/02/29 00:10:24.54 n1g9lY9b
スレ違いかもしれませんが、下の例のように文字の左側に余白をつくるにはどうすればいいんですか?
Jane Styleで書いてます。

  if ( txBuff.read == txBuff.write ) {  
   IEC0bits.U1TXIE = 0;

203:774ワット発電中さん
12/02/29 00:20:49.49 MR1bvTao
>>202
全角スペースを使う

204:774ワット発電中さん
12/02/29 01:37:38.74 9Z6h0enV
どこの間抜けだ、何でもかんでも答えるんじゃねえ。

205:774ワット発電中さん
12/02/29 01:49:51.98 n1g9lY9b
>>204
スマソ

206:774ワット発電中さん
12/02/29 14:22:19.35 L+6yvzil
基本的にブラウザは空白(0x20 スペース)をサプレスします
よって別の空白(全角)を使えばインデントを入れたコードもちゃんと表示されます
プロ並のスレ住人にも見てもらいやすくなるでしょう

こう書けばスレ的にも良かったのでは?

207:774ワット発電中さん
12/02/29 15:03:02.56 YhuHiGQ8
■マ
■■イ
■■■コ
■■■■ン

208:774ワット発電中さん
12/02/29 16:17:52.22 J/5/mTTC
どっかのソース専用あぷろだを使えば良い話

209:774ワット発電中さん
12/03/01 00:15:32.77 P7pPfwSp
コピペした時に謎のエラーが出るけどな

210:774ワット発電中さん
12/03/01 11:04:35.15 qWfslNsa
ブラウザのテキストボックスで全角スペースの数を調整しても思ったような
表示にならない。Windowsならメモ帳(notopad.exe)で調整してから書き込めば、
うまくいく。

211:774ワット発電中さん
12/03/01 12:02:03.23 P7pPfwSp
そんなもんは各環境のフォント依存だ

212:774ワット発電中さん
12/03/01 18:56:53.03 36wL6lne
上手く表示できてるソースを探して、如何にしてスペースを入れてるかを調べればいいだけ。
2chに貼ること前提なら、AA(アスキーアート)エディタ使えば実表示の確認しながら調整も可能。
その程度の発想すら出てこないのに、なんでこんな板のこんなスレに来てんだか…

213:774ワット発電中さん
12/03/01 21:35:48.00 nMfX/Gt7
>>212
言いたい事はわからんでもないが、別にAAなんぞ知らない住人がこの板にいてもいいんじゃね?
この板の全ての住人が回路図AAスレ住人だったってわけでもないんだしw

214:774ワット発電中さん
12/03/01 22:03:53.51 ybKd3nTm
手書きの図面取り込んでうpしよ!

215:774ワット発電中さん
12/03/01 23:02:02.25 6+Thgj28
ちょっとpicとは直接関係ないんだけど、
if (!(n--)) { ~
ってどう機能してるの? n=0の場合と同じ?

216:natu
12/03/01 23:13:13.49 lnn4rTeE
>>215
そのまんま、nを評価して0だったらif{ }が実行されるけど、その前にnを-1するでどうよ
こういう質問とは違うのかな?

217:774ワット発電中さん
12/03/01 23:19:17.90 P7pPfwSp
それは--nだ

218:774ワット発電中さん
12/03/01 23:24:21.38 8Bu4xTVg
評価したあとに、-1 か。
評価以外で使わないなら問題ないな。

219:215
12/03/01 23:30:58.84 6+Thgj28
プログラムから察するに、nをマイナスカウントしてってn=0になったら条件分岐って感じなんだよね
書き換える前にデバッグして動きを確かめておくべきだった・・・

220:774ワット発電中さん
12/03/02 08:42:46.89 xJH6D27t
>>219
判定後更新

221:774ワット発電中さん
12/03/02 09:35:41.94 waTv9chj
if(n){
n=n-1
}else{
n=n-1

}

等価コードはこんな感じか

222:774ワット発電中さん
12/03/02 10:22:47.84 AaZGLilQ
>>221
そんな感じだけど
アセンブラに展開されるのは
こんな感じのソースをコンパイルされたコードになる
wkreg=n;
n=n-1;
if(!wkreg)



223:774ワット発電中さん
12/03/03 00:13:46.62 mFnq4hxO
PICKIT3買ったんですが、12F683,12F675が書き込みできないんですけど
なんかの間違いでしょうか。

あとPICKIT3に対応しているPICを調べたいんですがどこに資料ありますか。

224:774ワット発電中さん
12/03/03 00:52:19.63 FmV4JcDj
>>223
既に自身のパソコンの中にあるはずだよ。
ProgramFiles/Microchips/MPLAV IDE/Readmes/DeviceSupport.htmとかに載ってる。
パス名はちゃっちゃっと手雨位置したので、それっぽいフォルダ名を探して。。
表の右端にあるPK3P/PK3Dが該当箇所。マウス合わせると意味がポップアップされる。

225:774ワット発電中さん
12/03/03 00:57:55.60 FmV4JcDj
手雨位置・・・手打ち。。

書き込みできない場合、表示されるメッセージを読むとヒントになる。
ブレボで単独書き込みやってるか、ターゲットに実装した状態で行うのか否か。
ターゲット回路の影響や配線間違ってる?電源供給の設定等、チェックポイントは幾つかあるよ。
シンプルにブレッドボード上に単独書き込み試してみたらどうだろか。。

226:774ワット発電中さん
12/03/03 02:25:03.08 mFnq4hxO
>>224
ありがとうございます。12F683,12F675ともに書き込みできることになってるんですね。


227:774ワット発電中さん
12/03/03 16:09:19.96 9ydcygi/
    
顕正新聞 平成24年2月5日号「原発全廃特集号」

原発は日本を滅ぼす、即時全廃せよ
人のDNAを破壊、国土を居住不能にする
代替は天然ガス・コンバインドサイクルで十分
惨禍もたらすを知って推進するは犯罪

URLリンク(d.hatena.ne.jp)

228:774ワット発電中さん
12/03/04 09:40:25.07 SOo39cy6
>>227
×:原発は
○:原子力関連の事故は


229:774ワット発電中さん
12/03/04 12:04:52.02 M4AvtUNd
>>173
三日考えましたがわかりません><

230:774ワット発電中さん
12/03/04 12:49:56.55 tJW6tmZM
ああそれ、ガイガースレの℃玄人ってやつのたわごと。
答えなんか無いよ。

231:774ワット発電中さん
12/03/04 13:29:40.94 qqdiDHYm
並列処理で思い出したが、PICの入門書って、大抵その場待ちでタイミング作るソースが載ってるけど、なんで?
初期のちーさいPICでちーさいプログラムを前提にしてるとかそのへん?

232:774ワット発電中さん
12/03/04 15:47:08.57 HrDFBVe+
スタックねぇからな

233:774ワット発電中さん
12/03/04 17:16:23.85 0lYjb9fa
>231
わかりやすいし、プログラム作るのが楽だからでしょ。
単に1Hzの信号出すだけとかだったら、割込みやCCPを設定して使うより楽だし

234:774ワット発電中さん
12/03/04 19:32:24.87 fe/PsFV3
℃玄人さんならPICなんか使わないでバイポーラのCPUを使いそう。

235:774ワット発電中さん
12/03/04 22:32:40.05 iZW4yVMz
>>231
著者も℃素人なんだろ。
初期のPICは16C54、55だけど、製品にするのにそんな℃素人っぽい組み方した事は無いな。
真面目に設計すればそんな方法で使い物になる筈は無い。
Lチカくらいなら問題ないけどね。

236:774ワット発電中さん
12/03/04 22:47:48.37 moPxVdtU
>>232-235
メーカーの提示した設計思想がそんなんで、著者はそれに従った、とかそんなんでもないのか。
コンパイラに他所では見かけないディレイとかあるし、わりと不思議だったが…

237:774ワット発電中さん
12/03/04 22:49:39.90 Q8p2TrmT
>>235
それって、
後×氏は℃素人
と言ってるのと一緒じゃんw

238:774ワット発電中さん
12/03/04 22:54:17.28 vK7vDLf6
>>235
旧PICは基本多重割り込みできないし、コール・リターンもできないから
適材適所ってことでしかないと思うが…
タイマで待つより、ループで待つほうが簡単だし。

239:774ワット発電中さん
12/03/04 23:12:05.41 nPeLvNgJ
>>235
割込みが無いCPUで割り込みルーチン作るなんてさすが℃玄人さん。
WDTを割り込み替わりに使えない事は無いがベタ書きで対応出来るものをややこしく作る為に時間をかけるのはバカの自己満足

240:774ワット発電中さん
12/03/04 23:12:31.42 0lYjb9fa
>235
入門書に色々詰めん込んでも、初めての人に理解できるわけないだろ。
なんで入門書に、理解しやすいように素人っぽい組み方書かれると非難されるんだ?

おまえの言ってる事って中学生が小学生の教科書みて幼稚だなと著者までバカに
してるのと同じだろ

241:774ワット発電中さん
12/03/05 00:11:22.50 9LJrtQdA
>>236
当時の代理店が言うには簡単なロジックの置き換えとか言ってたな。
でも普通に液晶表示のサイリスタ式PID温調機とか作ってた。
ボタン押してる間、ヒーターがONになりっぱなしなんて
苺のガイガーが、BEEP発生時にカウントしない位恥ずかしいw

>>237
後関本は持ってないから℃素人かどうか俺にはわからんw

>>238
コール、リターンはあったと思うぞ。
ループで待つほうが簡単かどうかは、何を作るかによる。

>>240
素人っぽい組み方じゃ無くて、℃素人の組み方な。
「ぽい」なんてつけると、まるでまともな製品にも同じ組み方のプログラムが
入ってると勘違いする℃素人が出てくるだろ。そんなプログラム組んでるのは
しょっちゅうリセットかかるようないい加減なプログラムをリリースする苺くらいのもんだ。

そもそも入門書だからといって、℃素人の組み方だけでお茶を濁して良い訳無いだろうに。
z80の頃なんかは入門書にもアルゴリズムまで解説してる本があった。 
今の本は殆ど同じ様な横並びで低レベルの内容。℃素人の本を読んだ℃素人が本を書いてるからだろ。

242:774ワット発電中さん
12/03/05 00:16:51.76 9TqlQWRJ
割りとどうでもよいチラシの裏に書いとけって感じの情報だなw

243:774ワット発電中さん
12/03/05 00:19:08.67 9LJrtQdA
>>239
Lチカしかやった事無いくせに、なんでもLチカと同じレベルでしか
考えられない℃素人乙w
℃素人の典型的な例だなwww

244:774ワット発電中さん
12/03/05 00:35:51.31 fEDpCpPl
新しいところに仕事がどんどん取られちゃってるのかな?

245:774ワット発電中さん
12/03/05 00:39:40.60 ue/n/xXB
Lチカって何すかw
そして、Lチカだけがマイコンじゃないんだけどw

246:774ワット発電中さん
12/03/05 01:14:06.45 9LJrtQdA
半年ROMれw

247:774ワット発電中さん
12/03/05 02:27:36.36 uNkWkGgZ
PIC or AVR 今マイコンを始めるならどっち?
スレリンク(denki板)l50


よろしければ、どなたか相談にのってください。
最初はこのスレに書こうと思ったのですが、さすがに独り語りが過ぎるような気がしたので、
別のスレを立てました。

AVRスレの人々より、PICスレの人々のほうが、客観的なアドバイスもらえそうなので、
こっちにリンク貼っておきます。

248:774ワット発電中さん
12/03/05 02:32:40.16 ue/n/xXB
>>246
℃玄人さん、あなたがROMることこそ、おそらくみなさんが望んでいることだと感じます

249:774ワット発電中さん
12/03/05 08:56:59.47 ttHr610P
Lチカがわからないならこのスレは不向き。
初心者スレあたりをオヌヌメする

250:774ワット発電中さん
12/03/05 09:15:31.45 cEwIg7N3
【赤青黄】 LED初心者の集うスレ 【フルカラー】
スレリンク(denki板)


251:774ワット発電中さん
12/03/05 09:28:42.45 TGFUN6vB
よし、俺はRAMるわ

252:774ワット発電中さん
12/03/05 12:56:47.69 7FB5GZs8
>>249
>Lチカがわからないならこのスレは不向き。
LEDチカチカならわかるけど、
変な省略するからわからないんだよ。

  バカな省略語を使って得意顔するの、やめよう


253:774ワット発電中さん
12/03/05 13:02:33.86 KgWDoWho
>LEDチカチカならわかるけど

wwwwwwwwwwwww

254:774ワット発電中さん
12/03/05 13:22:23.78 9TqlQWRJ
オッサンが寒い略語を使って若者に裏で失笑されているのはよくある例

255:774ワット発電中さん
12/03/05 13:25:01.07 g3mRY3QP
Lチカ…巻き戻ってみたら、1スレに1回出るかどうかだが、けっこー前から出てるね。

割り込み無しで並列動作しようとすると、メインループでカウントして、その数をもとに条件分けして…
すべてのルートがほぼ同じ時間になるようにすれば…

すくなくとも、時間制度なんかどうでもいいって仕様には使えるだろう…

256:774ワット発電中さん
12/03/05 15:00:02.88 ns4TQzCC
そんな事しなくても、タイマーをフリーランで回して、時々確認して良さげなタイミングで
何かする(LEDのOn/Offとか)ようにすれば、割り込み無しでもそこそこの精度出るし
ステップ数える必要も無い
まあ、タイマー使うなら割り込み使った方が楽だけどw

257:774ワット発電中さん
12/03/05 21:31:42.26 5HpTa81K
擬似マルチタスク構造なら割り込みやソフトからのスタック操作は別に必須じゃないもんね
CPUからタイマレジスタ覗けて実行位置や時間を保存しとくRAMがタスク数×2~3バイトほど空いてれば基本おk

258:774ワット発電中さん
12/03/05 22:20:15.58 wx/UsJyN
Lチカ、デパチ

259:774ワット発電中さん
12/03/05 23:17:52.26 WlJOk2Gt
デパチ。。なんだろう。

260:774ワット発電中さん
12/03/05 23:19:59.27 ue/n/xXB
Lチキなら知ってるw

261:774ワット発電中さん
12/03/05 23:20:10.58 7FB5GZs8
>>258
>デパチ
デジタルパチンコの略ですか?
デジタルパターンチェンジかな。
まったくわからん。
そんな省略語、使うな、ボケ


262:774ワット発電中さん
12/03/05 23:23:49.69 WlJOk2Gt
デジタルでパチパチ入力ってのかなぁ。Lチカが出力の基礎として、入力側の基礎を表現。
いずれにしても紛らわしい。

263:774ワット発電中さん
12/03/05 23:46:35.86 b2xszYMC
デパチ・・・カ?

264:774ワット発電中さん
12/03/06 00:16:45.41 3PMZenaS
疑似マルチタスクならsetjmp,longjmpでできる

//job1,main,job2,main,job1・・・と順番に実行
#include <setjmp.h>
#define TASKS 2
jmp_buf tcbmain[TASKS];
jmp_buf tcbjob[TASKS];
#define task(n,adr) { if( setjmp( tcbmain[n] ) == 0 ) { adr();}}
#define ext(n) { if( setjmp( tcbmain[n] ) == 0 ) { longjmp(tcbjob[n],1);}}
#define DoEvents(n) { if( setjmp( tcbjob[n] ) == 0 ) { longjmp(tcbmain[n],1);}}

void job1()
{
while(1) {
:
DoEvents(0); //タスク切り替え
:
:
}
}

void job2()
{
while(1) {
:
DoEvents(1); //タスク切り替え
:
:
}
}
main()
{
task(0,job1);
task(1,job2);
while(1) {
ext(0); //task1実行
ext(1); //task2実行
}
}


265:774ワット発電中さん
12/03/06 00:28:18.62 rO13jlvZ
ローカル変数は使えない気がする。

266:774ワット発電中さん
12/03/06 00:33:00.06 3PMZenaS
>>265
スタックに入る変数は破壊


267:774ワット発電中さん
12/03/06 01:46:56.93 NUzk73TQ
℃玄人召還呪文としてはよくできてる。

268:774ワット発電中さん
12/03/06 07:13:12.15 GJgvsjKV
>>264
呪文はもういいから、産業で解るように書くか動画でも貼ってくれ。

269:774ワット発電中さん
12/03/06 10:48:47.40 LYSLdaCt
1msインターバルタイマー割り込みからプログラムを周期起動してやれば
スタックを使わずにマルチタスクできる。
20MHzのPICで1msあたり5000ステップ実行できるから余裕。

1ms周期・・・・・A/D変換
10ms周期・・・・LED点滅、キースキャン、タイマー
100ms周期・・・タイマー
1s周期・・・・・・・タイマー

270:774ワット発電中さん
12/03/06 11:31:21.94 tzjsqtTu
>>269
自前で簡単にタイミング作るときはソレが普通なんじゃないの?

割り込み無しって>>239あたりからの流れかな?
まあ割り込みなくてもフリーランタイマーがあれば、空ループで時間切り出しできるけど。

271:774ワット発電中さん
12/03/06 11:38:02.14 3PMZenaS
>>269
順次動作するような制御でタイマーイベントドリブン的な作りは、しんどい。

272:774ワット発電中さん
12/03/06 12:05:21.79 Ean6BLpD
チップは安いんだから
1プロセス1チップでいいよ。

273:774ワット発電中さん
12/03/06 21:03:30.61 02RlSP4n
>>271
逐次やりたいことの後ろに、次にいくかの判定があるのは同じだし、その判定後に毎回抜けるだけでいいんじゃないの?

274:774ワット発電中さん
12/03/06 21:50:32.94 gemO7nlw
>>271
状態遷移で書くのではだめなのでしょうか?

275:774ワット発電中さん
12/03/07 00:18:36.72 Xy7CRO63
>270
割込み無しは >235で16C54,55で"その場待ちでタイミング作る"
素人の組み方した事は無いと豪語する人がいたから。
インスト12bit幅品は
・割込み無し
・スタック2段まで
16C54/55はROM512,RAM24/25
TMR0がある位(オーバーフローしても割込も無いしフラグも立たない)

276:774ワット発電中さん
12/03/07 11:55:28.59 HPUES6qU
連枝のラダーでおk

277:774ワット発電中さん
12/03/07 13:29:54.08 7Y8uAlH7
インスト12bit幅品 って、何?

278:774ワット発電中さん
12/03/07 14:58:00.83 T6lmC5OP
>>277
ベースライン・アーキテクチャ(Baseline Architecture)のことだよ。
プログラム・メモリの幅が12ビットです。

279:774ワット発電中さん
12/03/07 17:05:01.03 T6lmC5OP
>>277
インスト→インストラクションだな。
変な略語より「命令」のほうが短い。

280:774ワット発電中さん
12/03/07 18:29:09.68 I9fG+U+4
死んだと思って数年前からジャンク箱に入っていたPIC12F510
試しに書きこんでみたら正常動作した
当時はなんで書きこめなかったのだろう・・・

281:774ワット発電中さん
12/03/07 18:49:50.43 obJl2zCh
愛だよ愛

282:774ワット発電中さん
12/03/07 23:33:01.01 9SW6wt2j
16F876Aで128x64液晶に24FC256に美咲フォント入れて
やっとShiftJISコード全領域表示できるドライバができた。
これから同期シリアルスレーブで18F4550から制御する。

283:774ワット発電中さん
12/03/07 23:34:53.00 9SW6wt2j
間違い。24fc512だった。
32kBじゃ美咲フォントは入らん。

284:774ワット発電中さん
12/03/09 21:06:06.77 TOy8JfO1
プルアップ抵抗はだいたい10KΩが多いようです。
SLEEPのときの電流をできるだけすくなくするため、プルアップ抵抗を、
1MΩぐらいにするなんてのはどんなもんでしょうか。大きすぎますかね。

285:774ワット発電中さん
12/03/09 21:07:15.73 uUASTmQ1
止まってる時、励磁電流が流れてモーターも熱くなるし電気ももったいないから
励磁をストップさせようと思ってプログラム変更したら最初の1回は動くんだけど
その後動かなくなって、何が悪いのかなあと思って調べたら
ビットの順番をファーストMSBとファーストLSBを逆に考えてて
思いっきりHブリッジでショートさせてたわ
多分、電源電圧が下がった瞬間にブラウンアウトリセットが掛かって
ポートがLOWになるからそれでショートするのが一瞬だけで済んでたんだと思う
ヤバかったよ、まったく
電流が上のトランジスタから下のトランジスタに一直線に抜けてショートしてたんだから

286:774ワット発電中さん
12/03/09 21:09:49.03 lxOJrCJB
>>284
あげて100kだと思う

287:774ワット発電中さん
12/03/09 21:47:26.64 T9Zx6rSb
>284
ピンをアナログ入力設定にしておくと消費電力が少ないとどこかで読んだ覚えがある。
そのピン入力でスリープから復帰するなら使えないけど。

288:774ワット発電中さん
12/03/09 22:37:09.76 CakwK1Ec
>>284
Sleep中に電流が流れてないなら10Kでもいいんじゃね

289:774ワット発電中さん
12/03/09 23:24:02.37 7fqnDTR3
>284
そういう感覚は大事にしたほうがいい。
洩れ電流によってHになるべき電位が想定外に下がってしまうということの他に、

出力A → プルアップ → 入力B

で、AがLからZに切り替わった時、B端でラインがHになるまでに時間がかかるようになる。

プルアップ抵抗 1MΩ × Bの入力容量 10pF

とみると 10us位のオーダーで信号が鈍って立ち上がってくる訳で
1MHz位で動いてると遅延が気になり出す頃合。


290:774ワット発電中さん
12/03/10 00:15:35.65 nbA26BCQ
>>284
Sleep中って、どの経路で電流が流れるの?

pull-up抵抗1Mでもいいけど、ノイズにとても弱くなるのは自明。
そういうときは、1Mにパラに「10kにCの直列」を付ける。
ダイナミックには10kで、staticには1Mとなる。

Sleep中って、ポートの入力インピーダンスが下がるの?


291:774ワット発電中さん
12/03/10 00:29:01.06 1O2n7DDH
sleep時のポート設定によるよね多分
基本入力にしておくかHiZにしておけば、マイコンへの流入は
小さくできるはずだけど

ポートによっては、sleep時強制L出力になったりするやつもあるから
そういうのは注意だろうけど

292:774ワット発電中さん
12/03/10 00:56:17.16 nbA26BCQ
だよね。
sleepに入る前にdirを適当に変えておけば、何か対策できるような気もする。
ただ、出力をHi-Zにしてしまうと、出力機器が動作したりして危険。
安易にpull-up抵抗を上げるワケにはいかないと思うけどなぁ。

スイッチとかエンコーダーなど、自分だけの範疇での機器なら、
pull-up抵抗のcommonそのものを自分のポートでon/offして、電気をケチるのは
見たことがある。

293:774ワット発電中さん
12/03/10 01:25:00.10 lJCGpnt/
何を作ってるのかは知らないけど、プルアップ電流を気にするくらいだから電池電源だろうか。
必要な駆動時間を電池容量と消費電流から計算するのが先では。
ノイズの影響を無視できそうな上限が大体100KΩくらい。
しかし単三アルカリ2本で電圧を3Vとすると10KΩ1本だと4000時間以上持つ計算になる。

294:774ワット発電中さん
12/03/10 01:26:50.90 ph7bi7fV
sleep時の消費電力下げる努力をしたことあるけど、PIC12F1822は結構電流流れるんだよな。
使い勝手のいい石なのに。
PIC12LF1822なら消費電力下がるんだが、電源に5V使えないのが悩ましい。

295:774ワット発電中さん
12/03/10 05:05:26.62 zeOyRHRw
PICって、入力がTTLということになっているけれど、あれって、thresholdが1V
付近と言うことだけなのかな。
もし厳密な意味でTTL入力なのであれば、プルアップ抵抗に10kΩより大きなものを
入れると、誤作動する可能性が在ると思うけれど。

内部プルアップ抵抗を使っておいて、sleep時にそれをオフにするのでは駄目なの?

296:774ワット発電中さん
12/03/10 05:52:05.70 aJeA0LG5
PICに限らすCMOSの素子で入力がTTLコンパチといったら、スレッショルドが
TTLと同等ということ。
VIL=0.8Vなのにスレッショルドが1Vってあり得ない。1.4V位でしょ。

297:774ワット発電中さん
12/03/10 06:09:09.70 zeOyRHRw
データシートによると、VIL=0.8Vの規定は4.5<VDD<5.5の場合で、2.0<VDD<4.5の場合は0.15VDDらしいよ。
5Vで使うときのtypicalなthresholdは、1.1Vぐらいだそうな。で、1V「付近」と書いたのだけど。

それより、「PICに限らすCMOSの素子で入力がTTLコンパチといったら…」ここの部分、
これが本当なのかどうかと言うことなんだけど。どこかに書いてある?

298:774ワット発電中さん
12/03/10 06:22:21.32 zeOyRHRw
そっか、Input Leakage CurrentがMax±1μAだから、CMOS並という解釈で良いのか。
スマン、お騒がせした。

299:774ワット発電中さん
12/03/10 11:28:05.62 9I304uve
Vddによって、VILが変化するのはなんでだろうか。
単にMOS FETのGateがポートに出てくるなら、VgsはVddに非依存かなと。思う。


300:774ワット発電中さん
12/03/10 19:54:58.10 D7mJn1Ek
MOS FETのGateがポートに出てるだけじゃないってことさ

301:774ワット発電中さん
12/03/11 05:29:12.63 u4MFGkDN
>>299
なんで?普通のCMOSの石(74HC04とか)でも、VILはVDDに依存するよ。
N-MOSとP-MOSと両方使ってるからなんじゃない?

302:774ワット発電中さん
12/03/11 11:19:55.99 iLq/9KJH
MPLABXに移行しようと思っているんだけど、使用感とか聞かせてもらえないでしょうか。

303:774ワット発電中さん
12/03/11 12:59:09.12 DkEQXsdh
>>302
いいと思うよ
起動に少し時間かかるけど、使用時は特に重さも感じない

304:774ワット発電中さん
12/03/11 23:27:16.63 OigJDc1k
PIC FLASH(初歩のPIC)以外で
サイトだけですっと頭に入り勉強できる有意義なサイトないですか?

305:774ワット発電中さん
12/03/12 00:44:17.07 RUrOHn9i
ない。
が、ここはどう?
URLリンク(p.tl)
URLリンク(p.tl)

306:774ワット発電中さん
12/03/12 08:52:09.49 5mZoyGAW
データシートを読むのが一番ですよ。日本語のデータシートもだいぶ増えてきましたし。
URLリンク(www.microchip.com)

もしプログラミング自体がわからないなら、先にPC上でC言語の勉強をしたほうが良いです。PCのほうがデバッグが楽ですし、マイクロソフトのコンパイラも無料で使用できますから。

307:774ワット発電中さん
12/03/12 11:34:47.81 MAUJWrdL
MPLABのシミュレーションでも大丈夫かと。

308:774ワット発電中さん
12/03/12 19:20:12.40 AINl1ZsE
秋月の新商品に出てる18F25K22、18F23K22に対して
・Flash 4KW→16KW
・SRAM 512B→1536B
・EEPEOMは変わらず
・値段 160円→170円

309:774ワット発電中さん
12/03/13 09:10:04.92 ua7pgUJt
そろそろ12F・16Fから外に出ようかなぁ
作るものによるだろうけど、次は18Fでいいんかね?

310:774ワット発電中さん
12/03/13 09:50:33.78 FeM9i/k/
割り込みが有るか無いかはどこで見分ければいいのかな?
10Fと12Fは全部割り込み無しでおk?

311:774ワット発電中さん
12/03/13 10:53:55.72 VkQdZyyb
>>310
10Fは全部なし
12F50xはなしでそれ以外はあったはず(6xxや4桁品は割込有)
見分け方は命令が12bitか14bitか

312:774ワット発電中さん
12/03/13 14:21:01.19 BCnt85bo
割込み無しだと、マイコンの使い道として、
だいぶ限定されそうだけど、どうなんでしょうか。


313:774ワット発電中さん
12/03/13 14:26:50.75 AW6H1hao
>>309
用途で分ければ良いと思うよ。
電池で動かすとかは12F629や12F675の信じられないスリープ電流も捨てがたい。
超低消費はLFシリーズなどで対応しているが、秋月で買えるというのがミソだし。

新しいPICは多機能な反面、設定レジスターが多すぎる。
昔のは簡単に組めるからよいとか。
ターゲットがマイコン好きなのか、目的を達成したいかの違いで
アプローチが変わると思うけれども、
メジャーなPICは当分ディスコンにならないだろうから適材適所に使えてこそだと思う。

314:774ワット発電中さん
12/03/13 14:30:07.23 AW6H1hao
>>312
PICが小売で35円で買えるから、
電源を投入した時だけ仕事するものとか、
点滅させるとかには、割り込みなしでも十分使える用途ありますよ。
10円トランジスタを3つ使ってもマイコンにならないですし。

URLリンク(akizukidenshi.com)


315:774ワット発電中さん
12/03/13 23:13:25.64 dASgiRIP
同じ電池駆動だけど数mAのマイコンの消費電流とか基本興味ない人種もいるよね
モーターガンガン回す競技系ロボットバカとかラジコンバカとか

ま、数年前の俺と友人のことなんだが
当時の俺らにはSLEEPにしたりクロック落としたりして
数ミリの電流に一喜一憂する人々が不憫にすら見えたものだ (遠い目

316:774ワット発電中さん
12/03/14 17:41:15.29 5D+kkNaB
>>311
WDTリスタートとパワーオンを判定できるので割込みタイマーの代わりする事もできる。



317:774ワット発電中さん
12/03/14 18:32:42.87 8mj2rwSl
>>316
kwsk

318:774ワット発電中さん
12/03/14 19:51:59.96 rJEp+za3
>>317
文章のまんまじゃね?
起動直後にレジスタチェックして、起動要因を判別。WDTによるならRAMの内容を信用して処理続行。

319:774ワット発電中さん
12/03/14 22:11:17.15 6hwZgrpi
>>318
割り込みでなくリセットだから、中断点から再開できない。
どんな状態からでも再開できる工夫が必要だよね。

320:774ワット発電中さん
12/03/14 22:55:49.01 YpyFU8L3
単純に1巡のタイマーでいいのなら、次のリセットまでに処理を完了させればいい。
定期タスクを起床するような使い方やね。

321:774ワット発電中さん
12/03/14 23:37:12.34 71umt2ol
>311
PIC10Fの中でも 10F320/322は Mid-range の14bit命令、割込みもある。
PIC10F322 ADC(8bit)有,PWM有,0.5Kw,内蔵クロックmax16MHz,他にFVR,温度計,CLC,NCO,CWG
新型のチップだからか新しい機能が盛り沢山

322:774ワット発電中さん
12/03/15 00:16:45.82 4dgC7GNS
>>320
いつリセットが掛かるかわからない。
だから、単純には、処理を完了してスリープするのが簡単だね。
でも、スリープ中は何もできなし、ウォッチドッグは精確さに欠けるから使いにくいよね。
これは、省電力のために使う機能だろう。
精確さが必要ならタイマを細かくチェックする方が使いやすいかもしれない。

323:774ワット発電中さん
12/03/15 01:59:01.31 h5w+bo7D
>>322
>これは、省電力のために使う機能だろう。
一度WDTでググってみた方がいいよ
リアルで恥かく前にね

324:774ワット発電中さん
12/03/15 07:50:17.41 dMaQLdP8
>>322
WDTを定周期タイマの代わりに使うのだから正確さは後回し。
仕様マージンに納まっていればそれなりに使える。防犯用のランプ点滅とか、のんびりした物なら問題無いと思う。
定周期処理は次のタイミングまでに処理を終わらせておくのが原則だから、処理中にいつリセットがかかるかわからない様な設計は論外。

325:774ワット発電中さん
12/03/15 14:29:04.65 4dgC7GNS
>>323
既に、ウォッチドッグとして使っていないからね。
名前だけで、内容まで判断するのは止めた方がよいよ。

326:774ワット発電中さん
12/03/15 14:45:30.14 4dgC7GNS
>>324
本来のウォッチドッグは、特定ポイントを特定時間内に必ず通るようなプログラムのためのもの。
リセットが掛かるかもしれない場所は想像できても、その通りとはいかないことも想定しなければならない。
異常事態だから最初からやり直しで問題ない場合が多いかもしれないが、それが許されない場合もある。

327:774ワット発電中さん
12/03/15 21:55:22.31 wfTDOCSP
アッセンブラ使って定数領域 cblockを 16F88とかだと
0x20から 0x7Fまで 96バイト使えますが、
それ以上の定数領域を使いたいとき、
やはり banksel使って他の bankに確保するしか
無いんでしょうか?

328:774ワット発電中さん
12/03/15 22:18:43.19 pbDNBESc
>>327
先ず「定数」について勉強しなさい

329:774ワット発電中さん
12/03/15 23:55:09.46 LzWygnse
定数はソースに直で書くと配列を取らずに確保してくれるぞ

330:327
12/03/16 00:14:02.92 xk7gioun
ごめん間違えた
定数で無く変数か

teisu1 equ 0xAA
movf teisu1,W
movwf hensu1

これだと teisu1の方はアドレス割り振られないけど
hensu1の方は 0x20から 0x7F間に指定しておかないと
アッセンブルしたときエラー出るよね?

331:774ワット発電中さん
12/03/16 03:23:32.18 tb0oNqN5
それはあまりにも初歩過ぎだろ


332:774ワット発電中さん
12/03/16 22:09:37.58 bBDXgHxD
>330
16F88ならBANK0~3まで使えるから

 CBLOCK 0x20 ;BANK0 0x20-0x7F
  AAA
 ENDC
 CBLOCK 0xA0 ;BANK1 0xA0-0xEF
  BBB
 ENDC
 CBLOCK 0x110 ;BANK2 0x110-0x16F
  CCC
 ENDC
 CBLOCK 0x190 ;BANK3 0x190-0x1EF
  DDD
 ENDC

で定義して、それぞれBANKSELで使えると思うけど,質問にあってるかな?

 BANKSEL AAA
 MOVWF AAA
 BANKSEL BBB
 MOVWF BBB
 BANKSEL CCC
 MOVWF CCC
 BANKSEL DDD
 MOVWF DDD

333:774ワット発電中さん
12/03/16 22:57:51.18 RrB5Ot26
初心者はバンク0RAM以外は使わないほうが良い。

334:774ワット発電中さん
12/03/16 23:09:55.92 xjVpEjeQ
趣味なんだからどんどん難易度を上げて、パズル的な快感を味わうといい

実用の人はCで

335:774ワット発電中さん
12/03/16 23:16:45.85 O/keLhhQ
こないだのものだけど
PIC15F57でアセンブラの最低限のテンプレを作ってくれませんか?
定義文がまったくわからん。

336:774ワット発電中さん
12/03/16 23:21:20.31 Bluj1laV
>>335
まずはタイピングの練習からはじめやう
狙ってるなら構わんけどw

337:774ワット発電中さん
12/03/16 23:52:37.46 O/keLhhQ
URLリンク(uproda.2ch-library.com)
このエラー何?

URLリンク(homepage2.nifty.com)
このソースいれたけど動かん

338:774ワット発電中さん
12/03/16 23:53:42.67 wOkUeD+7
まんま読んだ通りで、エラーじゃないわけだが

339:774ワット発電中さん
12/03/17 00:02:17.94 KWx+DzZA
とりあえず情報の多い石から慣れることから始めろやぁ。

340:774ワット発電中さん
12/03/17 00:11:37.83 NCNrLP31
>>332
CBLOCKでこんなに詳細に指定できるのか

341:774ワット発電中さん
12/03/17 00:24:16.92 J2p4VsRU
>337
エラーじゃなくてWDTが動作してリセットがかかる状態。
ただそのソースだとCONFIG設定で_WDT_OFFになっているから本来はかからないはずなんだけど…
デバイス選択でも違うのかな

しかしなぜにいまさら16F57?
PIC16F57マイコンデジタル時計キット のソース探してた人?



342:332
12/03/17 00:43:36.55 J2p4VsRU
>340
一応 MPLABでアセンブルもできたしSIMでも問題なかったよ。
16F88はRAM 96+80+96+96=368バイトとけっこう使いでがありそうだけど
1回BANKSEL使うと2命令も使用するのは痛いね。
Enhanced Mid-Range(PIC16F1xxx)はBANKが32個もあるけど、MOVLB
1命令で切り替えられるのは大きいな。FSRで0x2000以降にRAMが
連続配置されたのも良いけど

343:337
12/03/17 05:46:56.64 YT63IrLD

addwf = 76822
andlw = 115062
andwf = 76746
bcf = 0
bsf = 37
btfsc = 4758297
btfss = 4758490
call = 57531
clrf = 16
clrw = 0
clrwdt = 1
comf = 0
decf = 9588
decfsz = 19177
goto = 4830249
halt = 0
incf = 19178
incfsz = 0
iorlw = 0
iorwf = 95885
movf = 4863844
movlw = 57691
movwf = 95886
nop = 0
option = 1
retlw = 57531
rlf = 0
rrf = 0
sleep = 0
subwf = 2
swapf = 67120
tris = 0
tris = 0
tris = 1
tris = 1
tris = 1
xorlw = 38392
xorwf = 9497493

Simulation Execution time on this computer: 4.534 seconds (29495042 instructions, 6.505 MIPS).




こんなのが出たけど、これを前ステップとの変更値のみ色付けするようなやつないの?
毎回ディスプレイプロファイルしてたら疲れるんだけど。。

344:774ワット発電中さん
12/03/17 11:02:01.98 J2p4VsRU
>343
それって MPLABのDebugger - Profile - Display Profile の表示?
色付けは無いんじゃない、必要性が感じられないし

Debugger - StopWatch はよく使うけど、Debugger - Profile - Display Profile の
どの命令を何回使ったかとかどういう時に必要なの?

何をどうしたいのか?
何をどうして、どうなったのか?
等の情報が少なすぎだよ。 エスパー養成所じゃないのだから

345:774ワット発電中さん
12/03/17 11:10:04.63 J2p4VsRU
>335
自PCのMicrochipのフォルダ(MPLABをインストールした)を"16F57"で検索すれば
16F57TEMP.ASMと16F57TEPO.ASMがあるよ。

346:337
12/03/17 11:26:41.55 YT63IrLD
URLリンク(uproda.2ch-library.com)

ここのステイタスの意味教えてくれませんか?

あとどうやったらループを抜けれるのでしょうか?入力ボタンとか?

347:327
12/03/17 13:08:30.18 694jTYVE
>>332
ありがとう
今まで bank0だけでぎりぎり足りていたので、
実際別バンクに変数領域確保したことは無かったのですが、
cblock命令の前に banksel命令するのかと思ってた
そういう指定方法で bank0以外でも確保できるんですね

1秒ずつ 1分間データーを保存
みたいな使い方するとき、連続して別バンクにするようにします

348:774ワット発電中さん
12/03/17 21:39:40.43 J2p4VsRU
>347
余計な御世話かもしれないけど、そういう用途ならFSR&INDF(ポインタ)の出番かと
 BCF STATUS,IRP ;INDFのアクセスをBANK0,1
 MOVLW 0xA0
 MOVWF FSR
LOOP
 MOVF ○○,w
 MOVWF INDF
 INCF FSR,f
 GOTO LOOP

新型の16F1xxxなら 各BANKの0x20~0x6Fが0x2000以降に連続配置されてい
てポインタのオートインクリメントもある (0x2050はBANK1の0x20)
 MOVLW 0x20 ;0x2050→FSR0
 MOVWF FSR0H
 MOVLW 0x50
 MOWF FSR0L
LOOP
 MOVF ○○,w
 MOVWI INDF0++
 GOTO LOOP

349:774ワット発電中さん
12/03/17 22:11:23.47 J2p4VsRU
>346
1)STATUS=0x18
PA<1:0>=00,*TO=1,*PD=1,Z=0,DC=0,C=0
Page0,タイムアウトしていない,パワーダウンしていない,Z&DC&Cフラグとも立っていない
2)約2048サイクル過ぎたら

350:774ワット発電中さん
12/03/18 00:00:50.44 vcjNr1pw
MPLABと7セグ4桁時計表示を連携するようなソフトないの?

351:774ワット発電中さん
12/03/18 00:03:00.08 tGhepyuW
>>348
そうなんだよ。俺も言おうとしてたんだよ
>>347←こんなに大量に名前ありの変数が要るはずがないって

352:774ワット発電中さん
12/03/18 00:08:12.14 tGhepyuW
>>351
全部宣言して、先頭の名前だけ使ってFSR…というのはおかしくないけど

353:774ワット発電中さん
12/03/18 01:10:38.49 gREn3Kky
>350
無い

>335,345
>337,341
>343,344
>346,349
お前の質問は一方的で状況を全く説明できていないから
無意味なやり取りが続くだけだと、そろそろ気づかないか?

354:774ワット発電中さん
12/03/18 02:54:13.88 oMckW9WJ
半端に答える輩がいるからな…
詐欺師と被害者の関係によく似てるんだなw

355:337
12/03/18 08:07:00.19 vcjNr1pw
多少役にたってるんだけどw

356:341
12/03/18 09:01:31.48 gREn3Kky
>354
そうだな、答えるのはやめておこう。

357:774ワット発電中さん
12/03/18 10:42:27.48 6goPsyga
LinuxのC30ってファイル名はcase-sensitiveだったのね w
Windows環境からLinuxに移ってCan't find xxxxエラーの嵐で焦った。
#include "p24fxxxx.h" <-エラー ->  #include "p24Fxxxx.h"


358:774ワット発電中さん
12/03/18 10:59:25.21 tGhepyuW
だからWindowsプラットフォーム上でファイルの中に記述するファイル名を大文字にするのは関心しないんだよね

359:774ワット発電中さん
12/03/18 12:04:41.32 BT/YqdEn
関心は持った方がいいと思います

360:327
12/03/18 18:13:22.63 CKzaezuP
ありがとう
がんばってみる

361:327
12/03/18 18:14:14.72 CKzaezuP
↑ 348さんへ

362:774ワット発電中さん
12/03/18 22:03:16.97 edwn8S9c
F1見てたら、PICとか言うヤツが出てた。

363:774ワット発電中さん
12/03/18 23:44:54.46 5N5Y/1C4
質問。
USB内臓のPICでモノをつくってる。
後閑さんの本を買ってだいたい思い通りに
ハードもソフトもつくれたんだけど、
ちょっと調べ物をしていたら今使ってるPICは
少し古い、という情報を小耳に挟んだ。
本(平成18年出版)に紹介されていたのは、
PIC18Fの2455、2550、4455、4550だけだったので、
ピンの数がちょうどよいPIC18F2550を選んだんだけど。

マイクロチップでUSB内臓ということで検索したら
URLリンク(www.microchip.com)
で118個もヒットした。

一方秋月ではUSB内臓のは
URLリンク(akizukidenshi.com)
と7種類くらいしかない。

実際、処理速度の面ではもの足りなさを感じてはいるんだよね。
(電光掲示板をつくってるんだけど、ダイナミック点灯にチラツキが出ている)
マイクロチップの一覧では2550はMIPS 12となっているけど、
最高のものではMIPS 80まであるみたいだし。

質問は
・PIC18F2550は今から使うPICとしては古くてもっといい選択肢がある?
 (特に処理速度を求める場合はどのあたりラインナップがオススメ?)
・マイクロチップでヒットしても秋月でヒットしないようなPICは何なの?
 (マイナー過ぎて取り扱っていないってこと?)
・そういう場合、みんなはどこで買うの?

お願いします。


364:774ワット発電中さん
12/03/19 00:04:58.09 bimHNeuY
詳しく知らないけど、2550好き

365:774ワット発電中さん
12/03/19 00:08:00.31 2THr0sKS
・目的が果たせさえすれば良し
・気にすんな
・気にすんな

366:774ワット発電中さん
12/03/19 00:13:14.02 vVL5sOdK
速度が遅いなんて気にしたことないぞ

367:774ワット発電中さん
12/03/19 00:33:36.50 Rx6kwwYd
18F14k50は少ピンでUSB付いててお気に入りだ
スピードは2550と同じ48MIPS
18Fで速度足りなきゃ24Fに行けばいいだけの話

368:774ワット発電中さん
12/03/19 00:39:55.26 AsSP7RoY
>>367
18F14k50はUSBインターフェース時だと48MIPS出ないんでは?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch