1read 100read
2013年03月電気・電子11: PIC専用のスレ Part43 (513)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
初心者質問スレ その93 (317)
【FPGA/CPLD】 XILINX/ALTERA/Lattice/Actel 18 (297)
【FPGA/CPLD】 XILINX/ALTERA/Lattice/Actel 18 (297)
【な】秋月、千石、若松などを語るスレ 46 (245)
使える100均グッズin電気電子板 12軒目 (238)
【MELSEC】シーケンサ・PLCラダー総合スレ 4台目【SYSMAC】 (251)
PIC専用のスレ Part43
- 1 :2013/02/12 〜 最終レス :2013/03/06
- .... /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専用のスレ Part42
http://uni.2ch.net/test/read.cgi/denki/1358095503/
- 2 :
- マイクロコントローラ歴史 ttp://www.cqpub.co.jp/hanbai/books/37/37291/37291-intro.pdf
最初のPIC, PIC1650 GeneralInstrument社('89に1事業部門が独立して現在のMicrochip社へ)
ttp://www.rhoent.com/pic16xx.pdf (命令セットはBaseline Architecture 命令長12bit品とほぼ同じ)
マークの意味
◎お勧め、用途決まっていないならこれ買っとけ
○内蔵モジュール減ってるけど、その分値段も安くなってるから、まあまあ
△内蔵モジュール大幅に減ってる、\10でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書に載ってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない
以下秋月DIP品
;-------------------------------------------------------------------------------
【PIC32】32bitMIPSアーキテクチャ 最適化されたアーキテクチャで1.65DMIPS/MHzを叩きだす高性能
ただ完全なRISCで単純命令しか持たない為16bit以下の演算では命令効率,速度とも
同MIPS値のPIC24/dsPICに劣る。32bitマイコンのDIP版は貴重,MIPS値はクロックと同じ('13/01版)
28ピン
-◎PIC32MX220F032B \220 FLASH32+3KB RAM8KB ●USB
-○PIC32MX210F016B \200 FLASH16+3KB RAM4KB ●USB
-○PIC32MX120F032B \200 FLASH32+3KB RAM8KB
-△PIC32MX110F016B \190 FLASH16+3KB RAM4KB
共通
Vdd2.3-3.6V,Max50MIPS(50MHz,〜85℃),85〜105℃ならMax40MIPS(40MHz)
UARTx2,I2Cx2,(SPI/I2S)x2,RTCC,10bitADC,DMA,I/Oリマップ
;-------------------------------------------------------------------------------
【PIC24/dsPIC】16bitマイコン 16/18F等の8bitマイコンとは全く別物な洗練されたアーキテクチャ
同MIPS値のPIC18F以前と比べて数倍高性能。高めの価格とPIC32の安価での登場で厳しい
70MIPS版PIC24E/dsPIC33Eも存在するが秋月未。MIPS値とクロック関係は下記参照('12/08版)
40ピン
-○dsPIC30F4013 \480 16Kw/2KB/1KB ADC12bit TMR5 UART2 SPI1 I2C1 PWM2 CAN
-×dsPIC30F3014 \500 8Kw/2KB/1KB ADC12bit TMR3 UART2 SPI1 I2C1 PWM2
28ピン
-◎24FJ64GA002 \330 21Kw/8KB/--- ADC10bit TMR5 UART2 SPI2 I2C2 PWM5
-◎24HJ12GP202 \260 4Kw/1KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
-○dsPIC30F4012 \460 16Kw/2KB/1KB ADC10bit TMR5 UART1 SPI1 I2C1 PWM3x2 CAN
-×dsPIC30F2020 \500 4Kw/512B/-- ADC10bit TMR3 UART1 SPI1 I2C1 PWM4x2
-△dsPIC30F2012 \350 4Kw/1KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
-◎33FJ32GP202 \320 11Kw/2KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
18ピン
-○dsPIC30F3012 \400 8kw/2KB/1KB ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
共通
24Fシリーズ Vdd2.0-3.6V Max16MIPS(32MHz) (一部ピン5V入力可),I/Oリマップ
24Hシリーズ Vdd3.0-3.6V Max40MIPS(80MHz) (一部ピン5V入力可),I/Oリマップ
30Fシリーズ Vdd2.5-5.5V Max30MIPS(120MHz) DSP命令有,(5V動作可)
33Fシリーズ Vdd3.0-3.6V Max40MIPS(80MHz) DSP命令有,(一部ピン5V入力可),I/Oリマップ
- 3 :
- 【PIC18】8bitマイコン。5V動作可(J除)で比較的高速(10〜MIPS) 新型のKシリーズは多機能で
高速(16MIPS),USB機能付きもラインナップ,命令系は16F(Mid-Range)から+αレベル
MIPS値はクロックの1/4('13/01版)
40ピン 新ラインナップ45K20(注3.3V)か旧だけどUSB&12bitADの4553。不要なら4525もありかな
-◎18F45K20 \180 16Kw/1536/256 Max64MHz(31k-64MHz),4xPLL,CCP1/1,▲3.3V
-◎18F4553 \430 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,12bitADC,CCP1/1
-○18F4550 \370 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,CCP1/1,SPP
-△18F4520 \340 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL,CCP1/1
-○18F4525 \380 24Kw/3968/1024 Max40MHz(31k-32MHz),4xPLL,CCP1/1
-△18F4585 \500 24Kw/3328/1024 Max40MHz(31k-32MHz),4xPLL,CCP1/1,CAN
-×18F452 \500 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP1/1
28ピン 新ラインナップが強力。3.3V可ナラ大容量・多機能27J53,高速ナラ多機能の26K22か12bitADCの25K80
-×18F258 \530 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP1/0,CAN
-×18F248 \500 8Kw/768/256 ↑258のメモリ縮小版
-×18F252 \450 16Kw/1536/256 Max40MHz(内蔵CLK無し),4xPLL,CCP2/0
-×18F242 \420 8Kw/768/256 ↑252のメモリ縮小版
-×18F2580 \430 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL.CCP1/0,CAN
-×18F2480 \390 8Kw/768/256 ↑2580のメモリ縮小版
-×18F2620 \420 32Kw/3968/1024 Max40MHz(31k-32MHz),4xPLL,CCP2/0
-×18F2420 \280 8Kw/768/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0
-×18F2320 \420 4Kw/512/256 Max40MHz(31k-8MHz),4xPLL,CCP2/0
-△18F2553 \420 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,12bitADC,CCP2/0
-×18F2550 \350 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,CCP2/0
-×18F2455 \340 12Kw/2048/256 ●USB,↑2550のメモリ縮小版
-×18F2450 \260 8Kw/768/0 ●USB,Max48MHz(31kHz),PLL,CCP1/0,MSSP無,TMR0/2
-×18F2523 \390 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0,12bitADC
-○18F2431 \340 8Kw/768/256 Max40MHz(31k-8MHz),4xPLL,CCP2/0.14bitPWMx6
-×18F2321 \240 4Kw/512/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0
-×18F2221 \220 2Kw/512/256 ↑2321のメモリ縮小版
-◎18F26K22 \220 32Kw/3896/1024 Max64MHz(31k-64MHz),4xPLL,eUSART2.TMR3/4,MSSP2,CCP2/3,SRLatch
-○18F25K22 \170 16Kw/1536/256 ↑26K22のメモリ縮小版
v△18F23K22 \150 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
*△18F24K20 \150 8Kw/768/256 ↑26K20のメモリ縮小版
-×18F23K20 \150 4Kw/512/256 ↑24K20のさらにメモリ縮小版
v◎18F27J53 \270 64Kw/3776/0 ●USB,Max48MHz(31k-48MHz),PLL,eUSART2,TMR4/4,MSSP2,CCP7/3,12bitADC,リマップ,▲3.3V
-△18F26J50 \260 32Kw/3776/0 ●USB,Max48MHz(31k-48MHz),PLL,eUSART2,TMR2/3,MSSP2,CCP0/2,リマップ,▲3.3V
-△18F25J50 \230 16Kw/3776/0 ●USB.↑25J50のメモリ縮小版,▲3.3V
-△18F26J11 \240 32Kw/3776/0 Max48MHz(31k-32MHz),4xPLL,eUSART2,TMR2/3,MSSP2,CCP0/2,リマップ,▲3.3V
-△18F25J11 \210 16Kw/3776/0 ↑26J11のメモリ縮小版,▲3.3V
20ピン USBの有無でK50かK22を
-◎18F14K50 \170 8Kw/768/256 ●USB,Max48MHz(31k〜32MHz),4xPLL,CCP0/1
-×18F13K50 \170 4Kw/512/256 ●USB,↑14K50のメモリ縮小版
-◎18F14K22 \160 8Kw/512/256 Max64MHz(31k-64MHz),4xPLL,CCP0/1,SRLatch
-△18F13K22 \150 4Kw/256/256 ↑14K22のメモリ縮小版
18ピン 20ピンから選択すべき、14bitPWMx6に魅力あれば1230を
v×18F1320 \210 4Kw/256/256 Max40MHz(31k〜8MHz),4xPLL,CCP0/1,MSSP無
v×18F1220 \190 2Kw/256/256 ↑1320のメモリ縮小版
v△18F1230 \200 2Kw/256/128 Max40MHz(31k-32MHz),4xPLL,TMR0/2,MSSP無,CCP無,14bitPWMx6
PIC18F共通 VDD 〜5.5V,10bitADC,eUSART,TMR8bitx1/16bitx3,MSSP
追加表記 CCPx/y x=CCP数/y=eCCP , TMRx/y x=8bit/y=16bit
- 4 :
- 【Enhanced Mid-Range】8bitマイコン 新シリーズのPIC12F/16F1xxx,旧シリーズ(Mid-Range)より
機能が大幅UPしていて値段も安い、新規に組むならこちらから
秋月に入荷未品も参考のため表記(未),MIPS値はクロックの1/4,エラッタ注意('13/01版)
[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] 新規入荷、値段的に28ピンと変わらないのは残念
*◎16F1829 \150 08Kw 1024 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2
*△16F1828 \130 04Kw 0256 I/O18 ADC12 CapS12 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2
[18pin] 18ピンの割にMSSPが2コ,ADC入力ピン多,タイマーx5,CCPx4と多機能
-未16F1847 ---- 08Kw 1024 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2
-◎16F1827 \110 04Kw 0384 I/O16 ADC12 CapS12 Comp2 Timer4/1 MSSP2 ECCP1/1 CCP2
-未16F1826 ---- 02Kw 0256 I/O16 ADC12 CapS12 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP-
[14pin] 下位のチップしかなく機能的に8ピンとあまり変わらないのは残念
-未16F1825 ---- 08Kw 1024 I/O12 ADC-8 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2
-未16F1824 ---- 04Kw 0256 I/O12 ADC-8 CapS-8 Comp2 Timer4/1 MSSP1 ECCP1/1 CCP2
-◎16F1823 \090 02Kw 0128 I/O12 ADC-8 CapS-8 Comp2 Timer2/1 MSSP1 ECCP1/0 CCP-
[8pin] 8ピンでUSARTもI2Cも使えるってのは大きいね
-未12F1840 ---- 04Kw 0256 I/O-6 ADC-4 CapS-4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP-
-◎12F1822 \080 02Kw 0128 I/O-6 ADC-4 CapS-4 Comp1 Timer2/1 MSSP1 ECCP0/1 CCP-
表記 Timer[8bit]/[16bit],ECCP[Full]/[Half],CapS=CapSense,Comp=Comparator
共通 EEPROM256byte,EUSART,SRLatch(555相当?),10bitADC,5bitDAC,1.024V基準電圧,温度計
VDD1.8〜5,5V,Max32MHz(Vdd2.5V以上),4xPLL有,内蔵OSCでも32MHz可(8MIPS)
プログラム面で新命令追加,bankは32マデ拡張,スタック16レベル,LATが追加,割込時のレジスタ自動保存
16bit幅で2本になったFSRデ別アドレスに連続配置RAM(0x2000〜)やプログラム領域(0x8000〜)アクセス可能
追加命令群
ADDWFC,SUBWFB : キャリー,ボローを含んだ加減算
ASRF,LSLF,LSRF : シフト命令
BRA : PCLATHやページ境界に関係なく相対ジャンプ [9bit幅] PC+255〜PC-256へ
BRW : PCLATHやページ境界に関係なく前方へのみ相対ジャンプ PC+W(0〜255) ADDWF PCL,f ヨリ便利
CALLW : 上位はPCLATH,下位はWのアドレスにサブルーチンコール
MOVLB,MOVLP :バンクセレクト,PCLATHに直接定数入れる
TRIS,OPTION :TRIS(A〜C),OPTION_REGにWの値入れる(12bit幅品互換?)
RESET : ソフトウェアリセト
ADDFSR : FSRに定数(-32〜+31)加減算
MOVIW,MOVWI : INDFガツカイヤスク FSRに対して[PRE/POST][+1/-1]や定数(-32〜+31)offset可能
- 5 :
- 【Mid-Range】8bitマイコン PIC16F84から連なる旧シリーズ,性能&コスト的に新シリーズへの移行推奨
評価は旧シリーズ内の相対比較 新シリーズが使えない場合のみ有効,MIPS値はクロックの1/4('13/01版)
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の差
v○16F818 \140 F819の1Kw版,多機能なだけに1Kwに不安を感じる
-◎16F716 \80 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い,ADC8bit注意
14ピンは10円差ならF688
-◎16F688 \110 ADC有,eUSART有,4Kw,内蔵31k-8MHz,CCP無が残念
-△16F676 \100 ADC有,1Kw,内蔵4MHz
-×16F630 \100 F676のADC無し 無機能で影薄い
8ピンは多機能のF683かEEPROM無くても良いならF615,本来はデバッグ用ダガF322も
-◎12F683 \100 ADC有,CCP有,2Kw,内蔵31k-8MHz,8ピンとしては多機能
-△12F675 \80/90 ADC有,1Kw,内蔵4MHz ,EEPROM必要なら,環境によってはE/P版
-△12F629 \70 675のADC無(機能無しってこと),EEPROM必要で安いの求めるなら
-△12F635 \90/100 機能無し,1Kw,内蔵31k-8MHz,31kHz〜必要なら,環境によってはE/P版
-◎12F615 \60 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無さえ問題なければ
-×12F609 \60 F615からADC,eCCP機能省かれてる
-◎10F322 \45 8bitADC,PWM,0.5Kw,内蔵31k-16MHz,I/O4コダガFVR,温度計,CLC,NCO,CWG
;----------------------------------------------------------------------------------
【Baseline】8bitマイコン 初代PIC1650(1978年)からホボそのまま,あまりに古い設計の為 制限多
新シリーズへの移行推奨
-△16F57 \70 28ピン,2Kw,内蔵CLK無,安くて多くのI/O欲しいなら 300&600mil幅
v△16F54 \50 18ピン,0.5Kw,内蔵CLK無,安いI/O欲しいなら
-×12F510 \60 8ピン,ADC有(8bit),1kw,内蔵4Mor8MHz
-△12F509 \50 8ピン,機能無し,1Kw,内蔵4M
-△10F222 \45 DIP8ピン,1/2Kw,内蔵4Mor8MHz,米粒PICのデバッグ用
-△10F200 \35 DIP8ピン,1/4Kw,内蔵4MHz,米粒PICのデバッグ用
共通 機能無,EEPROM無,命令セット12bit幅 プログラム組む上で制限多し(割込無イヨ
- 6 :
- 秋月じゃ売ってないけど面白しろそうなDIP品群 MicrochipDirect単価
32bitメモリ多→ PIC32MX250F128B (DIP28,40MIPS,USB,128KB-FLASH,32KB-RAM) $4.09
驚70MIPS! → dsPIC33EP256GP502 (DIP28,70MIPS,256KB-FLASH,32KB-RAM) $4.80
18p40MIPS → dsPIC33FJ12GP201 (DIP18,40MIPS,12KB-FLASH,1KB-RAM) $2.97
14p 16bit → PIC24F08KL200 (DIP14,16MIPS,8KB-FLASH,512B-RAM) $1.80
アナログ色々 → PIC16F1783 (DIP28,8MIPS,2kW-FLASH,512B-RAM,256B-EEPROM,OpAmp,12bitADC,8bitDAC) $2.02
過去ログとか:外部キャッシュサイトで当スレの過去ログ検索もできます。例えば
・ ログ速 ttp://logsoku.com/
・ デスクトップ2ch ttp://desktop2ch.org/
・ 2ちゃんぬる ttp://2chnull.info/
テンプレはここまでだよ。
- 7 :
- >>1
乙
- 8 :
- >アセンブラのアの字もわからない超初心者から
超初心者の方はこの言葉にだまされてはいけません。もてあそばれてしまいますから。
まずOKWEBに質問しましょう。それが証拠には
>教えて君はとりあえずGoogle(http://www.google.co.jp/) くらい使おう
と、さりげなく警告はされてますから、注意、注意。
- 9 :
- ド素人なのに知ったかぶりするとガンガン突っ込まれますので覚悟したほうが良いでしょう
- 10 :
- ある意味ここは修行の場です。
- 11 :
- すいません質問いいですか?
ここで色々と詳しい事を話されている人がいると思うのですが、仕事でこういうマイコン等を使っている職業は
組み込みシステムエンジニア
という人達なのでしょうか?
僕も趣味でPICを使ったりして楽しんでいるので将来この組み込みシステムエンジニアに成れたら良いなと思っています。
そこで教えて貰いたいのですが、組込みシステムエンジニアになる為にどういう事を行なって来たのか教えて頂けませんでしょうか?
やはり大学に行くのは必須条件なのでしょうか?スレチかも知れませんがここに居る組み込みシステムエンジニアの人に聞きたかったので質問しました。
- 12 :
- >>11
システムエンジニアに必要なもの
1)コミュ力
2)折れない心
3)体力
- 13 :
- >>12
2番と3番は分かるのですが、1番はどう言う事なのでしょうか?
同じ会社のエンジニアの人と話す時に必要なのでしょうか?
- 14 :
- 前スレ412です。MPLAB Xは日本語のガイドもあるんですね。
YouTubeにMPLAB Xの使い方もあったので書いておきます。
(Japanese) MPLAB X - YouTube
http://www.youtube.com/results?search_query=%28Japanese%29+MPLAB+X
- 15 :
- おうちのお手伝いをするとコミュ力がつくよ
- 16 :
- >>13
相手先から、まっとうな仕様書が出てくる事は稀なので、
うまく搾り出す必要ある。
- 17 :
- >>13何ですが、PCのシステムエンジニアと組み込みシステムエンジニアは大体同じ様な仕事内容なんでしょうか?いまいちまだよく分かっていないのでそこを教えて頂けると嬉しいです。
- 18 :
- 社会人にとって渉外ごとは仕事につきまとうから、SEに限らず1)は確かに重要ですね。
特に受注して仕事を進める製品開発、印刷やデザイン、Web制作、イベント企画.......等々。
>>17
システムエンジニアという言い方は、使われ始めた頃の大型コンピュータの時代に比べて
広義になってしまったから、分野や人によって捉え方が違うからなぁ。
- 19 :
- では組み込みのシステムエンジニアの仕事に就いている人に聞きたいのですが、どのような仕事をしていますか?やはり毎日プログラムを打っているのですか?それとも何かの設計を基本的に行なっているのですか?プログラムと設計の時間の比率等を教えて頂けると嬉しいです。
- 20 :
- 会社見学でもしてこい
いい加減スレチうざい
- 21 :
- >>16
そこ頑張れば、「お前は優秀なI/Oポートだな」と褒められるかな
- 22 :
- >>20
別にここでいいんじゃないの。
- 23 :
- >>19
設計やコーディングに費やせる時間は1割未満かもしれない。
打ち合わせとか書類仕事とか手続きとか、そういうのが仕事のメインだ。
- 24 :
- >>23
ありがとうございます。
最後の質問何ですが、この職業に就職して良かったと思っていますか?
他に就職しておけば良かったと思った事はありますか?
- 25 :
- >この職業に就職して良かったと思っていますか?
それを気にするのは学生のうちだけだということは教えとく
- 26 :
- >>19
ここで聞いても、PICやってる人たちしか見ないから、質問の相手を限定しすぎだと思うよ。
うちの仕事だと、PICの組み込みだと設計なんて大げさな仕事はあまりない。
仕様通りのプログラムを、空いている人がさくさくと書いて終わり。
要求から仕様書を起こす人の方が、時間もかかって大変だと思う。
最初の数か月は苦労したけど、数年もするとバグに悩むことなんてなくなるよ。
まあでも、君に足りないのはコミュ力だよ。
たとえばお礼も言わずに質問ばかり重ねているあたり。
学生らしいといえば学生らしいけど、俺たちは君の教師じゃないからね。
- 27 :
- コミュ力ない人は生きてけない。
クビになるか過労死するか。
- 28 :
- 皆さんありがとうございました。
この意見を参考に今後どうするのか考えて行きたいと思います。
>>26さん指摘ありがとうございます。
>たとえばお礼も言わずに質問ばかり重ねているあたり
こういう事に全く気づけていませんでした。これからコミュ力をしっかりと身に着けて改善していきたいと思います。
スレチだったかも知れませんでしたが皆さんしっかりと質問に答えてくれていて本当に感謝しています。
ありがとうございました。
- 29 :
- たたみかけるようだけど、気づかないとか本気で言ってるんなら、学生でも相当ヤバイだろ。
というか、この前のアレか?まさかなぁ…
- 30 :
- 音楽やスポーツや芸術、学問でもそうだけど、
電子工作(PIC)も趣味でやるほうが楽しいと思うよ。
何といっても責任が無いからね。
俺は印税生活とか大家さん生活とかにあこがれるな。
- 31 :
- 組み込み系やってる人で、SEと呼ばれたがってる人って多いのか?
- 32 :
- SEって組み込み系じゃ、使えない奴の代名詞だからなぁ
- 33 :
- SEという不明瞭な肩書きは危ない。
- 34 :
- まるちめでぃあくりえいたーみたいな言葉だよな
- 35 :
- それをいうなら はいぱぁ めでぃあ くりえいたぁ じゃないか?
- 36 :
- 初めて書込みします。
使用PIC:16F886
コンパイラ:CCS C(v4.121)
現象:delay_ms()関数がうまく動作していない?
例)
LED1=ON;
delay_ms(255);
LED1=OFF;
delay_ms(255);
数値を255以下にすると高速点滅。
数値を256以上にすると約5秒間隔
12F683,16F688,16F689,16F785ではこの現象は発生せず正しく点滅する。
88系はオシレータ設定で
setup_oscillator(OSC_8MHZ);
が必要であると書いていたサイトがあったのでこの1行を加えてみたのですが、結果は同じでした。
mikroCでは問題なく動作しているように見えます。
アセンブラはほとんど分かりません。
普段はCCSコンパイラで組んでいましてCCSに慣れているためこちらで組みたいこと、
今回はこのPICをどうしても使用しなければならないことが理由で行き詰ってしまいました。
どうかアドバイスを頂けませんでしょうか。
- 37 :
- 日本ではSEは誤解されている節を感じる、まるでプログラミングなど出来なくても良いみたいな風潮。
実際にSEの仕事というのは、コーディングだけは現場以上に出来なくては成り立たないのではないかと思うのだけど。
まあ、それ関係の仕事なんてバイトすら入ったこと無いから妄想だけどね。
- 38 :
- >>36
#use delay(CLOCK = 31000)//31Khz
はあるか。
delay_ms()は1000で1sec。
- 39 :
- >>38様
現在のソースを載せます。
#include<16f886.h>
#fuses INTRC_IO,NOWDT,PUT,NOPROTECT,NOMCLR,BROWNOUT
#use delay(CLOCK=8000000)
#use fast_io(b)
#byte RB=6
#bit LED1=RB.0//
#define ON 1
#define OFF 0
void main()
{
setup_oscillator(OSC_8MHZ);
set_tris_b(0x00);
while(1)
{
LED1=ON;
delay_ms(256);
LED1=OFF;
delay_ms(256);
}
}
現在このようになっています。
- 40 :
- >>36
CCS Cは使ったことないけど、XC8では、
・必ずクロック周波数を#defineしなければならない。
・あまり大きな値を与えるとオーバーフローしてしまう
ってのがあったよ。
何サイクル無駄にループすればいいか計算して、
その回数をループするわけで、
ループカウンタがオーバーフローしたらマズい。
- 41 :
- void delay_large_ms(unsigned short ms) {
unsigned short i ;
for (i=0; i<ms; i++) {
delay_ms(1) ;
}
}
これで
- 42 :
- >>40様
どうも強制的?に31Khzになってしまっているような気もします。
- 43 :
- >>42
動作クロックが31kHzになってるかどうか、
while(1)
{
LED1=ON;
LED1=OFF;
}
}
こうやってウェイト無くしてオシロ等でパルス幅みて確認してみよう。
- 44 :
- アセンブラで書けば、そんな神頼み的な苦労は無い。
- 45 :
- >>41様
このソースを追加してみましたが、変化はないようです。
>>43様
お恥ずかしい話ですが、オシロスコープは全く使用したことはありません。
ただ社内に古いものがあったはずなのでこれを機にそれを使用してみます。
今日中には無理かと思いますが、必ず結果のお返事は致します。
>>44様
本当にそうですよね。痛感しています。
- 46 :
- ランタイムの問題だろこれ。
ディレイの内容が1バイト系と2バイト系で違うんじゃ?
タイマーのチックレートがそもそもそんなに小さくないとか、そんな感じ?
- 47 :
- ごめん>>41は間違い。
CCS Cでunsigned shortって書いたら1ビットになるらしい
かわりにunsigned int16で。
>>39
ところでコンフィグ・ワードは正しく設定されてるのかな。
ソースに指定したコンフィグはhexファイルに出力され、
それをライタが読んでPICに書き込むのが普通だけど、
どこか別のところで設定したものが使われてる可能性も。
あと、INTRC_IOってことは外付けのRCをPIC内部の発振回路で発振させるんだよね???
それが安定して発振してないかもしれないから、とりあえずHFINTOSC使ってみませんか?
>>44
まぁアセンブラで「書」かずとも、コンパイラの出力するアセンブラコードは「読」めたほうがいいね。
まれに意図しないコードが生成されてることがあって、たいていはCのコードの書き方が悪いとかだが。
- 48 :
- >書き方が悪いとかだが。
とまで言うならソース晒してあるんだからどこが悪いか指摘できるんじゃないの?
- 49 :
- >>48
コンパイラのバグじゃないよってこと
- 50 :
- 他のチップなら期待通りってことは
バンクまたいで割り当てたとか
- 51 :
- コンパイラの出力するアセンブラコードは「読」めるようになる前に、
ソース読めるようになったほうがいいということね。
- 52 :
- >>51
ソースの字面に現われないものもあるから、コンパイラの出力を点検するのは、切り分けとして役に立つのよ。
- 53 :
- 一番あやしいのはコンフィグまわりの気がしないでもない
- 54 :
- PICの損傷の可能性もあり。
while(1)
{
output_low(PIN_B6);
delay_ms(256);
output_high(PIN_B6);
delay_ms(256);
}
に代えてみるとか。
- 55 :
- >12F683,16F688,16F689,16F785ではこの現象は発生せず正しく点滅する。
これが引っかかるな。
アセンブラ読まなくてもいいから、丸ごとここにコピペしとけば、誰かが参考にするかもしれない。
- 56 :
- Cしか出来ない奴って大変なんだな
- 57 :
- >>43様
WATSUのSS6613とかいうオシロっぽいのがあったので引っ張り出してきました。
社内の誰も使い方を知らないようなので使用出来るようになるにはまだ時間がかかりそうです。
>>46様
その辺の知識はさっぱりでして、何かもう申し訳ありません。
>>47様
unsigned int16に変えてみましたが、変化はないようです。
外付けのRCは使っていません。
技術評論社のC言語によるPICプログラミング入門という参考書を使用しているのですが、
INTRC_IOを指定することで今までこれで問題なく動いていたものでして。
内部クロックモードになると勝手に思い込んでましたが、根本的に何かが間違ってたのでしょうか。
>>54様
54様のコードをいれたところ点滅自体しなくなりました。
>>55様
コンパイル後のアセンブラになったものを後で貼り付けますね。
>>56
本当にもう大変です。皆さんがお持ちの能力がとてもうらやましいです。
- 58 :
- >>47
INTRC は外付け部品不要では。
- 59 :
- >>55様
39のソースをコンパイル後のアセンブラリストです。
*
0000: NOP
0001: MOVLW 00
0002: MOVWF 0A
0003: GOTO 018
.................... #include<16f886.h>
.................... //////// Standard Header file for the PIC16F886 device ////////////////
.................... #device PIC16F886
.................... #list
....................
....................
.................... #fuses INTRC_IO,NOWDT,PUT,NOPROTECT,NOMCLR,BROWNOUT
.................... #use delay(CLOCK=8000000)
0004: MOVLW 22
0005: MOVWF 04
0006: BCF 03.7
0007: MOVF 00,W
0008: BTFSC 03.2
0009: GOTO 017
000A: MOVLW 02
000B: MOVWF 78
000C: CLRF 77
000D: DECFSZ 77,F
000E: GOTO 00D
000F: DECFSZ 78,F
0010: GOTO 00C
0011: MOVLW 97
0012: MOVWF 77
0013: DECFSZ 77,F
0014: GOTO 013
0015: DECFSZ 00,F
0016: GOTO 00A
0017: RETURN
.................... #use fast_io(b)
....................
.................... #byte RB=6
.................... #bit LED1=RB.0//
.................... #define ON 1
.................... #define OFF 0
....................
.................... void delay_large_ms(unsigned int16 ms) {
.................... unsigned short i ;
.................... for (i=0; i<ms; i++) {
.................... delay_ms(1) ;
.................... }
.................... }
....................
- 60 :
- 続きです。
.................... void main()
.................... {
0018: CLRF 04
0019: BCF 03.7
001A: MOVLW 1F
001B: ANDWF 03,F
001C: MOVLW 71
001D: BSF 03.5
001E: MOVWF 0F
001F: MOVF 0F,W
0020: BSF 03.6
0021: MOVF 09,W
0022: ANDLW C0
0023: MOVWF 09
0024: BCF 03.6
0025: BCF 1F.4
0026: BCF 1F.5
0027: MOVLW 00
0028: BSF 03.6
0029: MOVWF 08
002A: BCF 03.5
002B: CLRF 07
002C: CLRF 08
002D: CLRF 09
.................... setup_oscillator(OSC_8MHZ);
002E: MOVLW 71
002F: BSF 03.5
0030: BCF 03.6
0031: MOVWF 0F
0032: MOVF 0F,W
.................... set_tris_b(0x00);
0033: MOVLW 00
0034: MOVWF 06
....................
- 61 :
- 続きラストです。
.................... while(1)
.................... {
.................... LED1=ON;
0035: BCF 03.5
0036: BSF 06.0
.................... delay_ms(256);
0037: MOVLW 02
0038: MOVWF 21
0039: MOVLW 80
003A: MOVWF 22
003B: CALL 004
003C: DECFSZ 21,F
003D: GOTO 039
.................... LED1=OFF;
003E: BCF 06.0
.................... delay_ms(256);
003F: MOVLW 02
0040: MOVWF 21
0041: MOVLW 80
0042: MOVWF 22
0043: CALL 004
0044: DECFSZ 21,F
0045: GOTO 041
....................
.................... }
0046: GOTO 036
.................... }
0047: GOTO 047
Configuration Fuses:
Word 1: 0CD4 INTRC_IO NOWDT NOPUT NOMCLR NOPROTECT NOCPD NOBROWNOUT IESO FCMEN NOLVP DEBUG
Word 2: 3FFF BORV40
Some fuses have been forced to be compatible with the ICD debugger.
- 62 :
- .................... void delay_large_ms(unsigned int16 ms) {
.................... unsigned short i ;
iもunsigned int16にしないと
- 63 :
- delay_ms(255)の時の 0004〜0017行目(RETURN) と
003F〜0047{delay_ms(255);} 行目もくれよw
- 64 :
- こうしてみるとコンパイラって凄いよな。
- 65 :
- 256msの時は128*1msを2回呼んでるのか
電源の端子間違ってないかい
- 66 :
- 普段高飛車な態度で他人をド素人扱いしているお方は
こういう時に答えを出したりできない人だったわけね。
- 67 :
- 自宅PCからのためIDが変わっていますがID:OzCFpE/tの36です。
別の作業が入りPC前から離れ、そのまま帰宅してしまいました。
>>55様
PICライタはPikit2を主に使用しているのですが、12F683,16F688,16F689,16F785
以上の4つはMCRL,VDD,GND,PGD,PGC,PGMが全て同じ位置にあるのとかは関係あったりするのでしょうか。16F88と16f886はだめでした。
>>62様
ど素人な質問で大変申し訳ないのですが、41で頂いたソースは39のソースに普通に追加するだけでよいのでしょうか。
関数のようですので、何か特殊な呼び出し命令とか必要なのでしょうか。
>>63様
会社に全て置いてきてしまっているため、現在は貼れませんが、明日か月曜には必ず貼ります。申し訳ありません。
>>65様
5Vの+は20番のVDDへ、-は8番のVSSへ繋いでいたと思いますが、また会社で確認してみます。
- 68 :
- >>67
> 39のソースに普通に追加するだけでよいのでしょうか。
いいえ
delay_ms(256);
の代わりに
delay_large_ms(256);
として使ってもらうことを意図してました。
delay_ms(255);
と
delay_ms(256);
で
挙動が大きく変るならば、
delay_ms(1);
を255回あるいは256回呼び出して、
何か違いが生じれば、
解決の糸口が掴めるかなぁと思ったもので。
しかし貼られたコンパイラ出力を見た感じでは、
糸口にはならなさそうです。
ということでアプローチを変えて、
まずはPICが意図した通りのクロックで動いていることを確認しましょう。
ウェイト無しでポートを1と0で繰り返させてパルス幅を見るのも手ですが、
もっとダイレクトに、コンフィギュレーションレジスタ(CONFIG1)のFOSCで、
CLKOUTピンからクロックの1/4の周波数(Fosc/4)を出力するよう設定して、
CLKOUTピンの波形をオシロで見ましょう。
#fusesでのINTRC_IOをINTRCに変えればいいのかな???
- 69 :
- 前スレの>>995
ありがとう。てっきりIPIは消滅したのかと思った。
- 70 :
- pic32mxでcでちょと1000行程度のプログラム作ってたら速攻でメモリ容量オーバーした
もしやこれが32ビットってことか、32kで大容量だとおもってたらこの程度か
- 71 :
- データがオーバーしたんじゃなくて?
- 72 :
- MIPSにもARMのthumbのような16bit命令長のメモリケチケチのモードがあったような・・・つかえないの?
- 73 :
- なんだ、使えるじゃん↓にサンプルがあるよ。
ttp://read.pudn.com/downloads92/sourcecode/embed/358889/c32_examples/mips16_functions/source/mips16_functions.c__.htm
- 74 :
- そもそもコンパイラが好み通りに出力してるか確認するのは基本だけどな
あんまやってると自分でコンパイラ作ったり最初からアセンブラで描いたりで意味無く成るけど
- 75 :
- >>67
pickit2はロジアナになるからオシロの代わりに使ってみろ。簡単だぞ。
- 76 :
- 回路の方はどうでしょう。LEDに抵抗入れてないでポートが壊れてるとか。
- 77 :
- pic32mxのcコンパイラでmips16モードを使うにはライセンスが必要とでた
200円につられたら落とし穴だったか
これなら330円のpic24fのがよっぽど大容量に使えるのだった
まぁ200円だからしかたない、
- 78 :
- そんな落とし穴が・・・マイクロチップ社はケチくさいな。
- 79 :
- 256の解釈が、選択PICによって変わってしまう可能性とかもあるのか?
- 80 :
- けち臭いのはおれ、PIC32MX250F128Bを買えばよさそう
まぁ200円のはエサってことで釣られた
- 81 :
- けち臭さをバネにして、コンパイラを組むのは悪くないかもしれないね。
- 82 :
- マイクロチップ社のpic32のCコンパイラはgccベースだから、
自分でソースからビルドするときにライセンスで16eをロックしてる部分を外してしまえばいいのだろうか。
それとも、gcc由来ではない独自の何かが16eの存在をチェックして弾いてるのだろうか。
- 83 :
- アセンブラで組めという神のお告げだ
- 84 :
- 32ビットの方がアセンブラでも組みやすいもんな
- 85 :
- 数スレ前の話題で32はアセンブラでは組み辛そうなニーモニックだと、自分は見ていたがさて…
- 86 :
- 聞いた話で判断しちゃう人ですね
- 87 :
- 8bitPICで組めるんならどうってことないだろう
- 88 :
- この際32ビットで汲んでみたらとは思う
そのまま200円使わずに道具箱に仕舞ってもいい訳だけど
- 89 :
- >>76
実際、壊れるもんかね?
過電圧で死ぬのは解るが、CMOSは基本、過電流で死ぬ前にブレーキがかかる。
- 90 :
- >>89
実は意外に壊れない。
普段、安定化電源から3端子レギュレータ経由してブレッドボードに
電源供給してるんだが、わけあって直接安定化電源からブレッドボードに
電源入れたんだが間違えて18V 2A位PICに入ってキンキンに加熱したけど
普通に動いているし。
- 91 :
- ザイログ形式がシンプルすぎて
インテル形式に全く魅力がない
- 92 :
- >>39のソースには何も問題は無いということなのかな?
オレは見ても解らないんだが。
- 93 :
- マイクロチップ社のGCCベースのpic32用Cコンパイラは、ソースコードないの?
ソースコード開示請求した人いないのかな
- 94 :
- >>61
255を超えても2バイト変数なんか絶対に使わんという強い意志を感じる
- 95 :
- >>89
"LF"ではないバージョンでの話だが、電源が3.3VだとON抵抗が大きくて、短絡しても絶対定格に届かなかったような・・・
- 96 :
- >>93
あるよ
ライセンス周りはxclmでgrepしたら分かると思う
- 97 :
- >>84
PIC32を使うってことはプログラム規模も大きいのじゃないの?
それをアセンブラ?
- 98 :
- >>97
PIC32でLチカ。
- 99 :
- >>97
メモリが大量になった訳でも梨、アセンブラで十分な規模。
Cしか書けない奴は今まで通りCで書けばよろし
- 100read 1read
- 1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
使える100均グッズin電気電子板 12軒目 (238)
【FPGA/CPLD】 XILINX/ALTERA/Lattice/Actel 18 (297)
【FPGA/CPLD】 XILINX/ALTERA/Lattice/Actel 18 (297)
【MELSEC】シーケンサ・PLCラダー総合スレ 4台目【SYSMAC】 (251)
【5球】真空管ラジオ【スーパー】その10 (218)
【MELSEC】シーケンサ・PLCラダー総合スレ 4台目【SYSMAC】 (251)
--log9.info------------------
FTPソフトって、どれ使ってる? (555)
ハンペン型iBookをつかい続けるスレ (592)
CocoaなMozilla「Camino」! 14th (912)
スタバにてドヤ顔する奴総合スレ★4ドヤァ! (761)
MacPorts でワクワク UNIX ライフ Part 3 (433)
Macユーザー雑談スレッド 12 (916)
IDにjobsが出るまでThe new iPad Part32 (897)
Apple、「来週」に何か発表!15週目 (632)
あけおめ in 新・mac板 (317)
MacBook用・バッグ・ケース・スレ (529)
【非Excel】Numbers つかいこなしスレ (677)
【まーぱ復活】MACPOWER MacPeople 12冊目【ASCII】 (838)
iWork '11 (295)
隠れ里・九村(OS9)に肩寄せあって暮らすスレ〜拾〜 (245)
RSSリーダーを語るスレ3 (426)
Eudora ユードラ その6 (499)
--log55.com------------------
ヘビを見かけた時の気分の高揚は異常
なぜ日本人はエビフライを食べなくなってしまったのか
本田圭佑「結果より内容。日本はまだ負けれるって猶予があるので、ネガティブに考える必要はないです」
日本車名はカローラスポーツ、2018年6月26日正式発表
韓国人女性、イカの精子で受精してしまう
法政大学法学部の山口二郎氏が安倍首相を批判「腐った男はいらない」「安倍のバカ」「天罰を、仏罰を」
「飯がまずいと平気で残される」妻の悩みに共感集まる
まさに薬!コーヒーは肝臓がん、糖尿病、呼吸器疾患に効く!美味いしいいことずくめ