マイクロコントローラ歴史
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リマップ
【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
【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可能
【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幅 プログラム組む上で制限多し(割込無イヨ
秋月じゃ売ってないけど面白しろそうな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/ テンプレはここまでだよ。
乙!
9 :
774ワット発電中さん :2013/04/10(水) 01:41:25.03 ID:MJinTsT7
1おつ もう新スレなのね
11 :
774ワット発電中さん :2013/04/10(水) 15:08:08.32 ID:DblZXihQ
大穴の篠沢教授に500点
はらたいらに全部だろ、ふつう
14 :
774ワット発電中さん :2013/04/10(水) 18:36:13.06 ID:oJkmbQKU
> 988 :774ワット発電中さん:2013/04/09(火) 17:58:43.96 ID:7zZ7EzpF
>
>>987 > ググったけど分からん
> 1963年6月2日から1973年1月25日までの約10年間にわたって日本テレビで放送されたバラエティ番組である。ロート製薬の一社提供。
ロート製薬と聞いて、それしか思い浮かばんかった。
15 :
774ワット発電中さん :2013/04/10(水) 18:40:47.08 ID:JFkvM0oC
倍率 さらにドン
17 :
774ワット発電中さん :2013/04/10(水) 23:49:09.63 ID:3E68Fufv
質問いいっすか??? PIC24でUARTとタイマーとINTの複数の割り込みを使うプログラムをC(mikroC)で書いてるんですけど 何故かグローバル変数がUARTの割り込みがかかる度に0になってしまいます。 変数は何個もあって、全部が変わるわけではなくその一部が変わってしまいます。 で、いろいろググったんですが、HEAPサイズを変えたりしても駄目でして、 変数をfar領域(例 far int abc;)に置いたら何故か問題無く動きました。 とりあえずは解決してるんですが、何かのサンプルプログラムで、far領域に変数を置いているのを見て 試しただけなので根本的な原因がよくわかりません。 far領域に置くという意味もさっぱりわかりません。 これの原因が知りたいで、大まかでもいいので教えてください。よろしくお願いします。
アセンブラで書けばOK
>>17 メモリ食い散らかしてるかコンパイラのバグ
メモリ領域の説明な
ROM
.text領域---プログラムコード
.const領域---const変数、定文字列
RAM
.bss領域---初期値無のグローバル、スタティック変数格納領域
.data領域---初期値有のグローバル、スタティック変数格納領域
heap領域---動的変数(ローカル変数等)格納領域
stack領域---関数読まれる時にメモリ退避する領域
で、PIC24の場合は
.bssと.dataにプラスしてニア領域.nbssと.ndataがある
(ニア領域はアクセスが高速)
他のメモリ領域を侵食するプログラムでバグる
ビルドすると、各領域の使用状態が出力されはず(mikroCは知らん)
スタック領域は後ろから埋めてくとかetc...色々調べや
16F1455サンプル取り寄せて遊んで見てるんだけどDeviceIDが0になってる なんで?出荷し始めたばかりだから? 別に実害ないけどなんだか不気味
21 :
17 :2013/04/11(木) 17:09:29.68 ID:V+bP0WGr
>>19 レスありがとうございます
とりあえずメモリ領域を色々と調べてみます
変数が配列を含め100個以上あるので、恐らく仰る通りメモリ領域を食い散らかしてるんじゃないかと。。。
どうもありがとうございました。
mapファイルは役に立たないのか?
>>21 おまえ本当に解決したのか?いいかげんなこと書くんじゃねーぞ。
なに怒ってんの?
>>23 おまえ本当にレス読んだのか?解決したとは書いてねーぞ。
もう既につっこまれてる人に無理にケンカを売るなよ。
そうだね、ちょっと大人げなかった。
電気・電子板で一番もめるスレ・・・・それがPICスレ
何か問題が?
何が問題か
それが問題だ。
んなこと忘れて踊ろじゃないか
アヨイヨイ
踊るアホウに見るアホウ
同じアホウなら
踊らにゃ孫孫
だれか震度計作っておくれ
/ \ / / ̄⌒ ̄\ / / ⌒ ⌒ | | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | / (・) (・) | | /⌒ (6 つ | | 死んどけぃ! ( | / ___ | < − \ \_/ / \__________________ // ,,r'´⌒ヽ___/ ,ィ / ヽ ri/ 彡
加速度計の部分だけで、えらいかかりそうだな。 金。
簡単なのなら安くできるだろ 普通の加速度センサーで十分に感知できる 長周期のゆっくりした揺れは加速度的には微小だけど、 あれは何Gくらいなんだろ
ススを付けた空き缶を回転させて針で記録
>>42 針に磁石と、受け側にコイルをつけておいてエレキ化
>>43 セラミック(圧電)イヤフォンやサウンダにパチンコ玉を瞬間接着剤で貼り付ける。
校正はどうしたらいいん?
センサを傾けて、重力加速度で、とか?
聞きたくない言葉、自作測定器の乗り越えられない壁…校正
校正はこうせい
牛乳瓶のフタに書いてある
化粧品だね
不良が社会復帰すること
>>47 自分で0点を勝手に定義しちゃえばいい。
JISで認められれば一級品。
牛乳瓶は、ガラスの瓶のことであり、牛乳瓶にふたは無い
牛乳瓶についている蓋、という物言いをしないといけないのかーっ ていうツッコミ待ち? 最近売ってる瓶の牛乳は、無地というか、製造番号だか製造日だかがドットプリントされただけの樹脂蓋だったりするなあ。 で、その外に収縮チューブで封印がしてあって、そこにいろいろ書いてあるっていう…
鍋蓋ってのは成り立たないのか
あのプスって差してあける蓋が良いのではないか。 最近見たら針の部分にカバーがあった、突き刺すと潰れて針が出る仕組み。 そこまで安全対策するのかーと驚いたよ。 ってここPICスレだよな?
専用ってのが厨二っぽくてユーザーに敬遠されている
牛乳瓶についている蓋を舐めるのがまたいい
ここはどこ?わたしはだーれ?
あなたは変なおじさんです。
たまにフタが2枚になってる
蓋を開ける針って洗浄とか殺菌とかしないで使い回しだろ。 缶切りもそうだけど。
え、缶切りって洗わないの?
缶ジュースのプルタブなんか、外側がジュースに浸るしな。 神経質が生きていくには辛い世の中だな。
最近、特に多い「タッチパネル」。電車の切符販売機とか銀行のCD機とか。 さわりたくない。画面横にティッシュでも置いてくれないかな。 あと、電車のつり革も触りたくない。 だれが、何をした手でさわったか分からないから。
>>65 誰が触ったかわからないティッシュでいいのか?
使った楊枝を戻すヤツもいる
PICスレなんだからPICの心配をしたらどうなんだ 秋月で並んでる奴はピンに汚れが付いてないか、静電気を食らってないかとか
工場でどんなやつがさわったかもわからないし、意味不明なエラッタが入ってるかもしれないし
トイレ出て手を洗わないやつ、最低。 女の子でも、鏡に向かって紙をとくだけで出て来るとか、洗っても服で拭くとか、髪の毛で拭くとか。
静電容量式いやだ。俺の指だと反応が悪い
俺も右の人差し指だと反応がメチャ悪いわ 抵抗膜みたいにちょっとギュッってやると反応する
毎日指紋認証で仕事場に入るけど、指を当てる板が嫌だ
>>71-72 札とかページとかめくるときのアレやれば、反応しやすくなるだろ。
むしろトイレはする前に手を洗う。え?洗ってないって? お前病気じゃね?
76 :
774ワット発電中さん :2013/04/17(水) 03:34:44.77 ID:4r2VYl7U
>>73 >毎日指紋認証で仕事場に入るけど、
接触式なの? 銀行ATMについているような、非接触式ではないの?
掌紋だっけ
指か掌の脈だね
静脈認証?
>>70 トイレでゴシゴシと手を洗う、の話(グロ注意、食事前は読み飛ばし)
この前、大の後でトイレットペーパーを巻き取ったら
紙がいつもの3分の1程度の量で無くなった。
ま、努力すれば何とか間に合うだろ、と思って拭き始めたのだが、
ちょっと力を入れた瞬間に紙がベリっと破れて
人差し指が紙をつき破りヌルッとしたものにまみれた。
アーーーッ!! 心の中で絶叫した。
トイレで紙が無かったときは、水洗で水を流しまくり、 極力上流の水を手にとって2分ぐらい念入りに洗う。 で、洗い終わったら手で水を拭い、5分ぐらい乾くのを待つ。 乾いたらズボン履いて洗面所でこれまた丹念に手を洗う。 ボットンで紙が無い事態は経験したことない。
べつにてめぇのクソなんだから付いてもかまわんだろ。
じゃあお前が自分のクソを手に塗って生活しろよ。 付いてもかまわんのだろ。
で、思うんだけど、ファーストフード店など食べ物を作っている人も、医者とかも 勤務中に当然トイレに行くわけだが、トイレに行くとき制服を脱いで行くわけではないと思う。 なので、しぶきが衣服に付くのではないだろうか? 用後に いくら手をキレイにしても・・・・。
>>85 スーパーでバイトしてるけど、エプロンは脱ぐよ。
>>84 極論がすきだねえ。
とりあえず、尻は普段、ペーパーで拭くだけでいいのに、いざとなったら水を使い丹念にしこたま洗い、手もしこたま洗うってのが解せん。
あと、ハンカチで拭いてゴミ箱へぽい。とかは無いのか。
余談
>>81 は「アーーーッ!!」じゃなく「アッーーー!!」であって、紙がどうかより、指はいっちゃった話じゃないかしら。
…PICスレだよな?
>>87 ハンカチもったいないじゃん。
紙で拭ける場合はそんな拡散しないが、水で洗う場合はキッチリ洗わないと
クソ交じりの水がケツ周辺に付いたままになり、ウンコ臭いことになる。
>>88 さすが経験者w
しかし、用を足す前に確認する知恵は無いのかねwww
草食系のオレはコロコロうんちで紙いらず
>>89 普段居る会社や家ではトイレットペーパーの補充は他人任せなので
確認する習慣がついてないのよね。
出かけるときもペーパーの補充を怠るようなところには滅多に入らないし。
半練りの水気がない奴が出ると鬱
新幹線のトイレで用をした後、水の流し方が分からずに困ったことがあった。 IRセンサーの前に手をかざせばいいと思って、何度も手をかざしたけど、流れず。 なんでレバーじゃないの?と思ったが、そのとき初めて「非接触センサー」が使われている意味が分かった。
非接触便座が開発されないと意味がない
ww お前ら、何の話してんだよ!!
97 :
774ワット発電中さん :2013/04/18(木) 02:00:26.38 ID:WF8lqz4K
洋式のほうが、楽ちんなんだけど、他人と接触するかと思うと、いやだ。 なので、便座にペーパーを置いてから座ることにしている。
そうすることを嫌う企業もある。 わざわざ禁止の張り紙だぜ。 勤労意欲が削がれる
99 :
774ワット発電中さん :2013/04/18(木) 03:11:11.50 ID:5BMLw0lm
トイレットペーパーを持参で行けば良いような
一事が万事で、あっちこっちにガミガミと指示がある。 これで前向きになれる奴がうらやましい。 一言で言うと息が詰まるって感じ。 PIC関係ないな、消えます。
そら日本国自体がそういう国だからな
102 :
774ワット発電中さん :2013/04/18(木) 10:32:53.44 ID:ognvvl6u
そんなおまいらに朗報だ 全自動衛生便座ムービット www.seiketu.net/item/e004_03/ これをPICで作れないか…
なんでウンコスレになってんの・・・
秋月のスレからこっちに来たんだよなぁ あんまり、ここ来ないからいいや
話をぶり返すようで申し訳ないけど、 今まで誰にも聞けなかったことがある。聞いてもいい?
駄目って言ったら聞かずに諦めるのか?それなら駄目だ。 どうしても聞きたいなら駄目といわれても聞け。
PICスレタイで入ってしまった。 間違えた。 帰る。
>>107 なにをブリかえすつもりなんだトイレとかウンコとかブリとか
ここはPIC専用のスレなんだが
PICの質問をしようと思ったけど、うんこスレなのでやめたってことだろ
ブリよりハマチの刺身食いたい
では、お聞きします。 一流企業の受付のお姉さんとか、各種ショーのコンパニオンのお姉さん あと、美しいタレントの人など、可憐で可愛い人でも、 う○ちするんでしょうか? そして紙で拭くんでしょうか。 ちょっと信じられません。
誰も許可していないぞ
PIC内部に取り込んだデータ(ログ)をPCに送るには、どんな手法がいいんだろうか。 昔はソフトウェアでシリアル通信とかやってたけど、買い換えたPCにはUSBしかない・・・ それ用に、PIC18でも外付けすればいいんかな?
>>117 多分、usb-シリアル変換ケーブルを用意したほうが楽
>>117 動作中にLOGを抜くならシリアルが手軽るだよね。
シリアルをbluetoothドングルに送る基板が4000円ぐらいで売ってるよ。
基板を取り外すならpickitで読み出しても良いかも
120 :
774ワット発電中さん :2013/04/20(土) 03:36:19.07 ID:HGbl73GX
PICで、460kbpsシリアルのできる品種ってありますか?
>>120 シリアルって非同期のRS-232Cみたいなのでいいのかな。
ボーレートジェネレータから出せれば特にスピードの制約はないはず。
USARTが載ってる古い品種ではx16モードでCPUクロックが29.44MHzと58.88MHz
しか使えないけど、EUSARTが載ってる品種ならx4モードで7.36Mzの整数倍
のCPUクロックが使える。
比較的新しい品種なら何でもいいんじゃないかな。
122 :
774ワット発電中さん :2013/04/20(土) 12:24:50.08 ID:aCj9eLbj
8MHzとか20MHzとかの水晶ではダメなのでしょうか?
ある程度正確な時計機能を持たせて別の複雑な動作をさせるプログラムは面倒ですか?
クロック自体が怪しいから、その精度の時計にしかならないけど、 そんなんでいいなら普通にできるでしょ カウンタをフリーランにすれば他の処理の影響は受けない
精度の高い外部の水晶でクロックを得たら改善しますか?
それはもうばっちり
ありがとー^^
>>125 お望みなら恒温槽付水晶発振器なんてのもあるよ。
でも時計として使うなら、やがて校正は必要になる。
>125 もっと精度が高いものとしてルビジウム発振器やら GPS の電波を受けて 基準周波数を出すものがヤフオクで出たりします。 較正をサボりたいなら、どうにかしてインターネットにつないでタイムサーバーに アクセスするという方法が…
交流電源基準はいいぞー。
そういえば、入退室時刻記録計のクロック源を 最初は水晶発振器だったけど、時刻合わせが面倒になって AC100Vからフォトカプラで取るように変更したことがあった。
60Hzなり50Hzがアホほど精密なのは、そういう用途を想定してるからなんだろうか
時計用の意味の他に、動力用のモーター回転数の関係もある モーター等のために比較的荒い振幅で制御しながら、時計のために長期的な積分制御(?)もしてる クオーツ時計が普及してない時代は、それが圧倒的に正確だったはず
>>118 ざっと見て回ったんだけど、シリアル側の速度が書いてない・・・
どのぐらい出るんだろう。
>>119 そうか、ライタという手もあるか。
>>135 エレコムのは最大128kbps
lineeyeのは安い方が最大250kbps、約8000円のが1Mbps
会社には、エレコムのが沢山ある
AC100Vの交流ってそんなに正確かな? 以前メーカー市販の時計で、電源から、クロックを導き出すタイプがあって 朝は、3分早いが、夜になると、3分遅れるとか、そんな症状があった思い出。 (ラジオの時報で確認してた)
秒単位で見れば結構ふら付くけど、分単位までふら付く現象は出会ったこと無いな
>>137 なんか時々周波数を変えてるみたいだよ。
きっちり3分遅れたかと思ったら、いつの間にかきっちり3分進んだりね。
プラマイ15秒の規格がプラマイ3分だった時代もあるということかな いつ頃の話だろう
>>141 むかし話しをするときは話を盛るから聞く方は話し半分で!
知る限りでは東日本大震災の後もあったよ
じゃあプラマイ90秒ということで
大震災時は計画停電もあったし常時ではないんじゃないの
>>144 時報とすごくズレた感覚が、きりの良い3分という数字になったのでしょう。
話半分は数学的に倍にされているのではなくて感覚での次のステップ。
数秒の
次は、3分
次は、小一時間
次は、3時間
次は、半日
計画停電は周波数云々以前に電気そのものがとまってるっしょ
>>136 そのぐらいなんだ。ネット上にはPIC18で600kbpsとかあるから、マージン見てるのかな?
エレコムはWin 64bitで使えないから、バッファローかサンワあたり・・・コレガもいいか。
>>148 64bitて動いているので? と思ったら
会社のはBUFFALOのでした
秋月で買ったUSB変換器も128kbpsだったかな
コレガは230kbpsらしいんだけど、どうなのよ。2000円台で買えるみたい。
暫くPICスレ見てなかったので既出かもしれんが、 秋月のPIC16F1823、久しぶりに買ったらデートコード変ってた。 以前に買ったのは 1044KYA → リビジョンA6 先週に買ったのは 12232RU → リビジョンA8 なおデータシート上の最新リビジョンはA9(2012/10公表?)
書き忘れた。 ADCが完了しないエラッタがあるのはA6 A8では修正済み これでPIC16F1823が普通に使えるわー。 いままでワークアラウンドで不自由してたから。
USBシリアル変換で、 秋月の安価変換ケーブルは、データ取りこぼす場合がある (PICからPCへのwait無し垂れ流しで:コマンドレスポンス処理は問題無し) (ハイパーターミナルやWinAPI叩いても同じだった) IOデータ変換ケーブルのは、同じシステムで取りこぼし無くPCも快調 バッファロー変換ケーブルのは、同じシステムで取りこぼし無いけれど、 ある一定のデータ量が生まれるとPCの動作にモッサリ感が生まれる (PCの性能によると思う) エレコムのは試した事無いので、今度購入してみる 個人的感想ではIOデータのが信頼出来ると思っているけれど、 他のメーカに比べ高いのと、 PC側USBポートの場所によりCOM番号が変わるのが頂けない バッファローは、何処に指してもCOM番号は変わらない 豆な
>>156 二本以上使う場合は、ポート毎にいつも決まった番号が振られるほうが便利じゃない?
>>156 エレコムは長時間連続運用には向かないという結論に達した。
たぶんドライバがクソ。
最新の開発環境での何かしら入門者向けのサイトってないんでしょうか?
上辺だけで判断か
>>158 たぶんドライバーというよりハードの性能だと思う。
知り合いからどこぞのシリアルは安定していると聞いた事がある。
6000円くらいするらしいが、それに変えてから安定して動くようになったと聞いた。
安いUSBシリアルは長時間運用とかすると非常に高い頻度でこけるらしい。
電話と同じような物と考えた方がいいかもよ?
ここPICスレだよな??? 秋月がH8マイコンLANボードで精度の足りないクロックにより、 大きなフレームの送受信でエラーが発生するというチョンボやってたよね。
せっかくUSB内蔵なんだしUSB FrameworkのCDC使えばいいのに
USBはCPUリソース喰いまくるから UARTの方が好き って言う人結構いると思う
誰もカキコしてないよ。
コレガとサンワのレポートまだですか・・・ 230kbpsなのに。
秋月 PICPGM6ベーターバージョン6.74 (2013.04.23) PIC16F880〜PIC16F887のコンフィグ設定で、書き込み時にコンパイラの仕様によりエラーになる不具合を修正
>>166 古いからあまり参考にはならないかもしれないけど、6年位前のトラ技にアダプタ毎の波形が出てた気がする。
俺の場合、昔から使ってるのはRATOC。230kもいける。けど、高め。
PIC18とかで、USBストレージとして接続はできんのかね?
普通にできるでしょ やりたいのはUSBホストなんだよな USBメモリを挿すとログを記録してくれる各種機器
SDでよくね?
いやいや、USB尻変換の流れで。 OSからCOMとしてじゃなくストレージかなんかに見えれば、explorerでd&dとか できて楽かな、とか思ったけど、いろいろ対応が大変そうな気がしてきた・・・
>>169 ラトックのは経験上
全二重送受信で双方向115200bpsでウエイトなし送受信して玉砕
片方向での115200bpsは大丈夫だった
同時に送受信とかすると、変換器がパニクッタのか
PC側のソフトが駄目だったのかはよく分からんが、、、、
PCのシリアルがそもそも速くない
流れだから言うけど、FTDIは負荷が高くなければ長時間でも安定してるよ
>>171 やればいいじゃん。USB OTG対応でホストになれるUSB内蔵PICあるじゃん。
>>175 そうそう。
Windowsなんかはアーキテクチャ上、高速シリアルに向いてない。
ハードウェア・フローコントロールなしで取りこぼさずに安定して受信するのには無理がある。
179 :
774ワット発電中さん :2013/04/25(木) 16:38:59.88 ID:ua6uqEKG
久しぶりに16F877Aのソフトの改修をしていて、半日ほど悩まされた。 BTFSSで次の命令LCALLをスキップさせたかったのだが、スキップせずに実行される。 LCALLが擬似命令だと気づくのに、かなり時間がかかった。 たまたまCALL先がページ2だったため、サブルーチンも正常に実行されていたのだった。
知ったかチャンだなぁ PCシリアルが高速に向いてないのは PCコントローラチップ下位互換が原因で Windowsのアーキとか全然関係ないしw 16550チップのクロック周波数が速度決めてるだけだしw 問題なのはUSBとの間柄なわけで、接続機器やドライバソフトの問題なんだよ Windowsが高速シリアル取りこぼすとか、USB2やイーサネットに比べれば 115200bpsがどれだけ低速かwww 向いてないとか向いてるとかいうレベルの話ではありません
と、別の知ったかチャンが申しております。 好きな方を信じましょう。
>>180 16550系のチップのFIFOは16バイトしかない。
しかし、FIFOのウォーターレベルによってハードウェア・フローコントロールは自動処理される。
フローコントロールを無視して一方的に送り続ける側にも問題があるだろう。
で、Windowsは割り込みを受けても、割り込みがあったことを覚えておくだけで、
別のタイマーリソースによって周期的に駆動される部分で、優先度順に割り込み処理が走る。
ゆえに、割り込みに対する応答速度が遅いので、シリアルのFIFOバッファーがオーバーランするわけ。
ちなみにシリアルで115200bpsなら最低でも720回/秒くらい。 イーサネットはフレームサイズが1.5KBほどあるので720回でも1MB近くになる。 100BASE-TX登場時には、それではボロボロに取りこぼすというので、 PCIバスでバスマスタしてNIC側がメインメモリのリングバッファに書き込むのが当たり前になったよ。
その理屈で、どうしてWindowsシステムが高速シリアル通信に向いていない となるのかさっぱり分からないわけだが
>>184 割り込みからFIFOからの取り出しまでのレイテンシが長いので、FIFOバッファがオーバーランしやすいの。
高速シリアルI/Fが、もっと巨大なFIFOバッファを持つとか、自力でメインメモリのリングバッファ等に書き込むなどすれば、改善するよ。
駄目なのはハードであってOS側じゃないだろう 特にUSB噛んでるんだからさ
dosならUSB無くても全然問題無いのにな WINだとUSB側にデカイバッファがあっても使い物になrない
PC側に問題があるというよりは、フローコントロール非対応で相手の都合を気にせず送信しまくる側に問題があると思う。
双方向に隙間無くデータを送り続けるというような使い方が想像できん
>>188 フローコントロール入れたらWINがなまけるだけで、結局WIN上で大量のデータを連続して処理できない事には変わりない。
>>189 片方向だけでも受け取れれば良いんだけどな。
大量のLOGを取りたい時は32GバイトのマザーにUSB起動のDOSが一番。
フローコントロールなんて邪道 受信は待ったなしが基本
邪道ですかい
じゃぁPICでさ、 115.2kbpsのハードウェア・フローコントロール無しで受信したものを、 230.4kbpsのハードウェア・フローコントロール有りで送信し直す、 ってのを作って間に入れれば、いいんじゃないかな。
マジレスするなら もしWinが230.4kbpsで受け取れないなら ハードフローでPIC側へ受信許可がこないから 間に挟まったPICでオーバーフローな 本来はUSB機器がPCメモリを利用して そういった役割しなければアカンのだけれど糞ドライバだと駄目
>>195 おいおい。
230.4kbpsといっても平均レートは115.2kbpsを越えることはない。
115.2kbpsでポツポツと取りこぼす程度なら、バッファリングしてフローコントロールして230.4kbpsで取りこぼしなくなるだろう。
これさ、115.2kbpsが速すぎるのではなく、FIFOバッファが短すぎる、という問題なんだよ。
>>197 FIFOなんて16バイトあれば十分。
音声じゃ無いんだから馬鹿でかいFIFOは害
レスはえ〜 張り付いてるのかよ PC側で通常の232Cでバッファが少なくて取りこぼすのは 16550系のチップが原因なわけよ 前レスであるように16byteだから で、USB変換器かませていればPCの広大なメモリ領域へ退避出来るから あとはPC側のソフトで処理すればエエだけの話 よくある安価なUSBシリアル変換は、そういった事を考えないで ただ16550系のエミュレーションしてるから取りこぼす図式な だからドライバ側でFIFOバッファを増やせば良いだけなんだけど、 バッファを増やす行為は悪とするWin糞信者がいるわけよ 大体今のWinPCはギガレベルのメモリを積んでいるのが普通 その中の1Mbyteをシリアル変換機器へ開放するのが悪か善かとかは ある意味宗教的な感覚だと思う反面 そういった感覚を無視したソフト屋がこれ程までにPC-OSのメモリ肥大化を 招いたという結果は無視出来ないとは思う
ドライバに割り当てられるメモリは大抵ページング不可で物理メモリにロックされるから、 1MBというのは結構なインパクト・・・だったんだよな、昔は。
8251,8253の時代だけど、バッファーに16kか、32kバイトほど用意してあった シリアルコントローラーは存在したな。 当時はFDDの時代だったので、当時の最高速度で、FDDシークで取りこぼさない ぎりぎりのバッファ容量だったおもいで。 それでも、CTS,RTSによるハードフローは必修条件だった。
ていうか、、取りこぼし==フロー制御で解決って、当然で当たり前のように教育されてきた 俺って間違ってたのか? もしかして、フロー制御しても取りこぼすとか???
なんか最近の人は、 秋月のRS232Cレベルコンバータ基板のように、 TXとRXしか繋いでなくてフローコントロールしないらしい。
なんだ全部俺の自演か
なんで何千倍も処理能力があるのに 少ないIO利用してお伺いを尋ねるの? とか疑問に思わないの? 馬鹿なの?
PICをネタに有象無象が騙りあうスレだもの。 読みながら(・∀・)ニヤニヤしてさしあげるのがマナーです。 簡単に言うと: ネタにマジレス、カコワルイ! 以前はこんなんじゃなかったんだけどね。。。
マイコンが本気出すとwindowsが付いて行けないという希有な例だからな
>>207 USBシリアル変換ケーブルを使うのが一般的なので、とりこぼし無いよ。
変換ケーブルは1Mbps対応のもあるよ。
フロー制御しないなら、せめて、CRCくらいは付けておいて ハンドシェイクするべきだと思う。 何も加工しない生データを、フローなしっていうのは、 こんな言葉出したくないけど、それこそ相性が出てくるもんだよ。 いろいろ言いたい気持ちはわかるけど、もう少し現実を考慮した 基本設計っていうのが必要なのかもね。
TフロップスのPCが1440バイト程度のデータを取りこぼすのは OSの設計が悪すぎると言うほか無い。
>>211 うんうん。それで、OS設計してみたことある?
>>211 ドライバがそんな速度を想定していないだけかと思う。
DPCが処理しきる前に次の割り込みが来るんじゃないかな?
割り込みで小さなバッファ持たせれば改善できる
PCのシリアルは300bpsで送られてきた半角文字を受信する為のものだ あんまり速くても目が追いつかないんだから意味がない
>>212 あるよ
>>213 ドライバの問題じゃない。OSの設計思想の問題。
>>214 スクリーンエディタ使うと300bpsは遅くて使い物にならない。
ラインエディタでも300じゃ鈍臭い。ま、
>>214 の能力には丁度良いのかも試練が
PCのOSは応答性能を保証できないんだから、USB で FIFO バッファの多いケーブル使っとくのが吉。
>>155 で出てた FT232H 採用のやつは RX/TX それぞれ 1KB 。
RX 128B / TX 256B の FT232R と比べればかなり安心。
上はまだあって、FT2232H になると RX/TX それぞれ 4KB。
本来は高速通信のための容量だが低速での取りこぼし対策にも有効なわけだ。
PCだろうが組み込みボードだろうが、I/Oがパラレルだろうがシリアルだろうが オーバーフローする可能性があるなら、 ハードまたはソフトでオーバーフローしないように設計する、というのが正しい道ではなかろうか。 この辺がいい加減だと、困った装置が出来上がってしまう。
バッファオーバーランを100%防ぐのは不可能だ だからこそいろんなソフトの脆弱性が後から後から見つかるし、 ハーバードアーキテクチャとか保護領域が必要になる
OSがクソとか言ってる人って WDK使ってUSBドライバ組んだ事があるとは思えないんだけれどなぁ
USBの場合はPC側が取りこぼしているというより、 PC側が受け取れない状況でも、USBシリアルが受け取るから取りこぼす。 あるいは、USBシリアルが受け取れないって言ってるのに送りつけるから取りこぼす。
それでもバッファなら何とかしてくれる
(・∀・)ニヤニヤ
>>218 一番重要なのは目的だろ。目的を実現する為のデータ量が連続で115200BPS相当のシリアルデータを
WINDOWSは取り込めないって事だよ。
たとえハードやソフト(OS以外)でがんばった所で、必要なデータを送れないなら使い物にならない。
だから、フロー制御すれば・・・・・・・
>226 でも、フロー制御すると垂れ流しよりは遅くなるわけで、いつでも それでいいというわけでもないでしょう。
同じ事かくけど、いつからシリアル伝送がフロー制御無しで語られるようになったんだ? もう少し、歴史的背景とか勉強したほうがいい。 数値だけ追っかけているから、困った事になるんだよ。
>>227 PC-9801の時代は、そんな事も考慮して、わざわざ高速シリアルボードというのが販売されていた。
もし、あなたの装置がそこまで性能を要求するのなら、ハード設計から見直さないといけないね。
それに、シリアル通信がリアルタイム性を保証するなんて規約は元から無いんだし・・・
離れたところから送ってもらうためにシリアルにしてるんだから 待ったの合図が届かないことも考慮してプロトコル決めるもんだ 相手がモデムでなけりゃTXDとRXD以外はいらん
地球の裏側でも、宇宙の彼方でもTCP/IPパケットが正確に伝わるというのは凄いことだったんだな! それも、11520bps以上の速度で・・・
フロー制御フロー制御!!って言っているのはアホなの USB機器にある程度のバッファ領域があり ドライバ側のディスパッチが正常動作しているなら 115200bps程度なら全く取りこぼす事はないのな フロー制御ってのは相手を待たせてるだけで 本当にデータ量が必要で確立したい場合は 逆に動作するものなんだよ 爺はフローに凝り固まってるけれど それはデータ量を無視しているだけ なのでCRCとか頓珍漢なことを発するわけだw
いわゆるprintfデバッグをする場合なんかフロー制御なんかやってられない しTXDしかいらない。1ms周期の割り込みでA/D変換値や変数値を垂れ流し とかよくやってるよ。
>>231 地球の裏側ならまだしも、宇宙の彼方ならまともに届かないだろ。信号が赤方偏移して熱雑音と区別出来なくなる。
この間、フィリピンのホテルと日本の自鯖で通信させたけど、かなりパケロスあるし遅延が大きかった。
要求される通信速度やデータ量、信頼性などで通信方法、手段は決まるし、 全てにフロー制御を採用する必要が無いのはアッタリ前田のクラッカー (フ、フ、古すぎる!) … まぁどんなやり方にせよ後になって、「相性」がどうのこうの、なんて言い訳するのだけは みっともないので止めたい。
>>232 フロー制御とか言ってる奴は糖質なのでスルー
もう知らんよ、、、じゃあいつまでも、取りこぼしが、、OSの問題がって言いながら堂々巡りしていればいいさ。
誰も別に問題にはしてない だから解決案を示すのがそもそも間違い windowsって高々115kbpsをとりこぼすよね という事実が言いたいだけ そもそもPICがそんな高速でデータを送る必要はまずない
ポーリングセレクションで通信をしていてPCがデータを取りこぼすことと、フロウ制御に関連性があるとも思えない。 バッファがオーバーフロウする筈無いから。 よってドライバがクソ。
>>238 MAX232等のドライバICにLPFが入っているから速いと波形が鈍るからじゃないの?
たしか元祖MAX232の最大速度は、120kbpsほどじゃなかったかな
そんなぎりぎりのを使う必要もないが、波形歪みよりスピード誤差の方が 影響が大きい。PICなんかx4モードで高速時のスピードの誤差を減らせる ようになってる。
>>229 > PC-9801の時代は、そんな事も考慮して、わざわざ高速シリアルボードというのが販売されていた。
あれ16550Aとアドレスデコーダやバッファ等だけでしょう。
>>243 インテリジェントタイプもあったけど、ノンインテリジェントもあったような。
ここPIC専用のスレじゃなかったのか?
主に一般に使われていたのは16550+FIFOだな。
>>245 放っておいたらトイレでのケツ拭き方法談義スレになっちゃうようなスレで
そんなことを気にするのは無意味。細かいこと言わずに流れに身を任せるのだ。
PICのEUARTにハードウェアフローコントロールが付いてないのが、いけないのか?
>>249 PIC(Peripheral Interface Controller)なんだから自分でIOポートをON/OFFして、
フローコントロールするのが主なお仕事
たしかにここは隔離病棟だ。でも工作初心者のスレとかほかのスレにも出張してる。 本人以外だれもカキコしないからな、さすがにあきたんだろ。
初心者スレでは、耐性が無いから大反発されとったね
PC-9801って画面のリフレッシュはCPUが頑張ってたの? そんな事ないよな〜、多分 それともRS232Cは、アプリがポーリングしてた?
98はスレチなんだから、そんなに撒き餌、撒かなくいで欲しい
257 :
774ワット発電中さん :2013/05/02(木) 19:25:53.05 ID:h45jupPM
もう今では、9801は買えないでしょうか? やってみたいんですが。 5インチフロッピーがカタカタ言う音が聞きたい
スレチ
スレチ
僕もみなさんのようにIDを変えて書き込みしたいんですが、どうやったらいいんですか?
繋ぎ直すだけでIDが変えられるプロバイダは締め付けが厳しいから、 いいことは何もないぞ
>>262 それでもいいからおしえてくださいな。それと本当にできるならIDを変えてカキコしてみてもらえます?
>>263 携帯なら、一度ネットを切断する
自宅からなら、ADSLモデムの電源を入れなおす
マンションなどの共有回線は無理かもしれない・・・・
そんなことより、少しは自分の発言に責任を持ったらどうなんだ??
毎回ID変えるなんて、チキン野郎のする事だよ。
堂々としなさい。
>>264 なるほどうまくID変わってる。さすがうまい。
>>259 制御がPICなら完璧なのにな。
ATMegaじゃあなあ。
花園規制があるから勝手にID変わる環境では書き込み難くなったからな
IDってそんなに変えたいもんなのかなぁ。。
話をぶった切って悪いが質問 PIC16Fユーザからしてみたら、 PIC24FV16KA301等の5V駆動の16bitPICに魅力は感じるものなの?
>>270 最近は周辺デバイスも3.3V化してるから、5Vはあまり魅力無い。
必要なときでも、トランジスタ追加すれば良いだけだし。
この人探してます 25 ちょっと調べればすぐわかるようなこと、 教えてもらうのが当然みたいな態度でいる そんな自称初心者が一部にいるんだよな。 31 わざわざ初心者と名乗る奴って、「初心者」を努力する気もないことの免罪符に 使おうとしてるだけだからな。 40 理解できないのは仕方ない。でも、自分が理解できないことを理由に、自説の正当性を主張したり、 あまつさえ相手を罵倒するようでは、自身が成長しないことを知る 43 まっ、「初心者だ」と言いさえすれば、叩かれないで親切ご丁寧に 教えてもらえるものだなんて、幼稚な考え方は通用しないってこった。 学校じゃないからね。
>>272 今頃の孫と優しいおじいちゃんを演じている。
ネットではお爺チョン
>>270 MOS-FETを直接駆動するときおおっとなる
275 :
774ワット発電中さん :2013/05/06(月) 15:14:44.78 ID:GxsoSHls
>>272 > 学校じゃないからね。
ここは学校じゃないってどうゆう意味なんだろ。学校じゃないのはわかるが
じゃここは何だとおもってるんだろうか?修行道場?まさか学術研究発表の場だとか?
それとずいぶん初心者を嫌ってるみたいだが、大体が最先端の研究してるような人は
ここには寄り付かないと思うんだよね。むしろ先生も先輩もいない初心者ためにある場所
だとおもうんだけどね。
最近煽りが下手くそすぎる もう少し上手に煽らないと荒れないよ
277 :
774ワット発電中さん :2013/05/06(月) 16:52:33.13 ID:xYeSAWd8
>>276 272は、あっちこっちに撒いてるから、つまんないよね。
PIC PIC RUN RUN RUN このサンドウィッチうめぇ〜
連投キター! あいかわらずIDかえてやんの。 そんなことより、少しは自分の発言に責任を持ったらどうなんだ?? 毎回ID変えるなんて、チキン野郎のする事だよ。 堂々としなさい。
自演乙
>>277 >
>>276 > 272は、あっちこっちに撒いてるから、つまんないよね。
やっぱりだね。あっちこっちにカキコしてるんだ。
そんなこと言われましてもうちイーモバですし
>>283 IDが変わってないじゃないか。どうしたんだ?
そりゃ回線切れなければ変わらないよ
ID変えるのは自分の意思じゃないわけ?
PIC専用のスレだったっけ
実は、ここにレスしているのはPICで動く人工知能達だったのかも
X68000で流行ってた画像フォーマット
Purposeful ID Changeのスレですよ
なーるほど、君は対面恐怖症の傾向があるね。 対話を続けると苦痛になるんだね。だからIDを変えて自分を隠すわけだ。 職場でもたいへんだったろうね。3年以上同じ職場で働くことができた?
ありゃID変わってしまった。
日付変わったからID変わるだろうけど286 いったい〉〉291はなにと戦ってるんだろうね
こっちには続ける理由はなにもないよ いいかげんスレチだからやるなら一人で語って
あと粘着気質があるね。攻撃されると必ず反論せずにおれないという。
スレチって全部スレチばっかり自分で書いてるくせに。
ではみなさん 以降スルーということで
まあできるとこまでID変えずにがんばってみてよ。つらくなったら変えていいから。
どうせ明日も仕事ないんでしょ。
スレチって自分でスレ立てたくせになに言ってんだか。
逃げちゃったな。やっぱコミュ障だったんだな。 コミュ障(こみゅしょう)とは、コミュニケーション障害の略である。 日本の国民病の1つであり、他人との他愛もない雑談が非常に苦痛であったり、とても苦手な人のことである。
やけくそになった爺チョンが哀れ
>>272 が引き金か?
あとは上の方の同じようなレスを色んなスレに貼られたのと別スレで煽られたことかね
>>303 ふふふ、やっぱり返してきたね。君はそれが気になってしょうがないんだよ。それも病気だよ。
>
>>272 が引き金か?
これどうゆう意味?理解できないんだけど。
爺チョンとは通名を使うチョンみたいだなって言ってるの。
IDいちいち変えるのめんどうじゃない?どうなの?
>>305 誰かと勘違いしてないか?
俺は、少なくとも48時間以上書込してないぞ
>>304 > あとは上の方の同じようなレスを色んなスレに貼られた
ちょっと論理が矛盾してるね。もうちょっと考えてみて。
>>308 > 俺は、少なくとも48時間以上書込してないぞ
ん、なんで必死なの?
>>310 誰かと間違ってるかと思って教えてあげただけなのに・・
>>312 早寝したら目が覚めて暇だから。
もう寝るよ。いいか?
>>313 IDかえずに4個も書き込みしてえらいじゃないか。もうちょっとがんばれ。
俺が誰と誰を間違えたと思ったの?
>>314 IDに執着しているみたいだが
俺んちの回線はルーター再起動しても
IPアドレス変わらないからID変更無理。
寝るからもう返事しないよ。
>>315 誰かと間違ってるかと思って
これどうゆう意味なの?途中から乱入してよくわかったね。
>>315 > 寝るからもう返事しないよ。
いや、君は朝の4時ごろいつも書き込みしてるじゃないか。上のほうみてごらん。
318 :
774ワット発電中さん :2013/05/07(火) 02:49:23.95 ID:dmDChU3d
上げ
ID:47Y5PxD9は寝たとしても、他のヤツはどうしたんだ。だれも書き込みしないと同一人物だってばれるだろ。
X IDEとXC32の新しいのが出てる気がする。
坊主憎けりゃ袈裟まで憎い ジジイ憎けりゃPICまで憎い
PicKit2のロジアナ機能ってPicKit2単体買えば使えますか? ソレ目当てで買おうかどうか迷ってるのですが…
折角機能豊富なのに、あんまり使ったことないな
Pickit2で、I2C EEPROMの書き込みが出来るようになって欲しい。 どうして、2では出来て、3でできないの? あと、Pickit2では、インサーキットデバッグができるのに 3になってから、出来なくなっているデバイスもある。 MPLABのデバイス表示では出来る事になっているけど、実際は出来ない。 って、前から何回も直訴してるのにいっこうに改善しないってなんのつもりだろう。
あ、Pickit3でEEPROMね。
リストに無いなーとは思ってたけど、あれは抜けてるんじゃなくて本当に出来ないのか 意味が判らん
>>322 たったの1chしか使えないし不便だから、その為に買うのは馬鹿らしい。
PICで作れば?
Pickit3って、UART Tool のサポート無いの?
PicKit3を書き込みツールから使うようにファームを変更すればPicKit2と同じ使い方できるけど 簡易ロジアナは比べたことないから同じかどうか分からん
>>327 Picで作るためにはライターが必要だからPickit2を買おう
>>330 ライター位作れば良いのに。
それに、3買って最新のPICにロジアナ書いたほうがスピードも速いし。
70MIPSのPICが使いやすくて大人買いしたぜ。
PicKit2のロジアナって1usくらいまで見れますか?
>>332 サンプルレートが1MHz(1usec)までなので1usecを測るのは無理。
2usecまで見れるのかスゲーw 買おうかな
1usの現象があってもPICで取り扱えないだろ
以前パソコンのCPUがPentium(P54C)だった頃のキャッシュ向けPBSRAMを流用したロジアナとかあったな。 バースト長の選択でチップ全体ってのがあってクロックさえ与えれば64bit幅で取り込んでくれるという便利仕様。
ド素人さんでしたか
スレッドストッパーすぎる
4日も止まるなんて玄人様すごいな
うわーw うわーw うわーw うわーw 引くわーwww 引くわーwww 引くわーwww 引くわーwww みたいな感じで、日本中に寒気を催す玄人様は、 梅雨が明けたら活躍して頂きたい
悔しそうだなw
反響が大きくて本人大喜び!
スレストッパー語録 ・ド素人 ↓
> 何でも人に聞かずにデータシートをよく読め。 ↓
データシート読まない奴は進歩しない ↓ 些細な事でも、何度でも聞きに来る
> 呼ばれて無いのにチョチョチョチョーン.
相手をする気が無くなるという点での最凶ワードは「ド素人」だろうな。 素人にド素人と言われてもねぇ。
出て来なきゃ良いのに、ド素人って言われて悔しいんだろな。 実力無い奴に限って変なプライドだけは高いw
gwcQzAhnさん、これはどう? 「能ある鷹は爪を隠す」 「脳ない豚はヘソを出す」
>>350 例えば、俺に「ド素人」と野次られた
>
>>335 > 1usの現象があってもPICで取り扱えないだろ
について言えば
1マイクロ秒のパルスがたまたまポート読み込みと重なれば
例え32KHzで動いてるPICでさえ、パルスがあった事を認識出来るし、プログラマが理解してなければ
誤動作に繋がる可能性もある。
つまり、それを意識してプログラムや回路を書くべきだし、検証の為のツールが遅くて良い筈も無い。
2重の意味でド素人を露呈してる訳だな。
こいつはきっと出ベソに違いないw
>>351 このスレには元々来てる。メクラなのかw
そんな事より、巣に帰って、初心者を正しい道に導いてやれよw
それが出来ない癖に他のスレに話題を持ち込むなw
それは、
>>352 の勝手すぎる。
論理的に可能な事と、実務でやってみたい事の温度差を理解できてないのでは?
>>354 >>352 が「勝手」で済むなら(てか、馬鹿晒すのも自由だが)それをド素人と野次るのも自由だわw
実際問題、俺が「ド素人」と野次る時は、ほとんど知ったかして頓珍漢な事を言ってる奴に対してだからな。
温度差なんて理解しようとも思わないし。
なぁ、おまえら。 もうちょっと平和に行かないか。 15000円も回復して、みんなウハウハだろ?
いつも通り平和だと思うぞ。 官公庁向けの見積もりが通ったは良いが、20円も円安で儲け激減で諸ボーンだ
>>357 は毎回書き込むときに必ずド素人入れてくれよ
PICスレが平和にとか w それではPICスレでは無い。
>>358 20円高く見積り出せ、計算方法も知らないド素人かw
(代わりに俺が入れときましたぜ)
>>360 某研究機関向けなんだけど、250万超える案件は随意契約出来なくて競争入札だから
無闇に高く出すと契約出来ないんだわ。
そんな当たり前の事も知らないおド素人にド素人と言われる筋合いは無いなw
NGワードにどんどん登録しとけば、無益情報ほぼあぼーんできる。 知恵を使って楽しく利用。
>>362 頑張れ!
NGワード云々言う奴が、ほんとに登録してスルー出来たためしがないw
登録はするし、ちゃんと消えるんだけど、 お前を消してやった報告をせずにはいられない
ほらなw
3ch位が見れれば良いのですが、PICでロジアナのプログラムって、何処かに無いですか? 出来れば秋月で買えるPICが良いです。
4チャンネルのなら知ってる 3チャンネルのは 残念ながら知らない
PICが使われている安い市販品ってどんなのが一番安いですか? 古いMACのマザボに使われてるって話は見かけましたがもっと小っちゃいのでないですかね・・・
>>368 パソコンのマウスに使われてるのを見かけたような
アマチュアだけで買い支えてる筈もないから、多分至るところに使われてるんだろうけど
クルマのリモコンキーとかイモビに使われてなかったっけ
MODチップ
三菱重工の加湿器に使われてる。 なぜか回路図を一般公開しているという、面白い会社。
いまどき珍しいな
むかしソニーのテレビを買ったら回路図が付いてたような記憶が。 いやこれ見せられても困るって、これ見て修理とか無理すぎると思ったなー。
「チャンネルを回す」時代のは付いてた。
ユーザーに修理して欲しいからじゃなくって、呼ばれた電気屋が困らないようにです。 当時はそれが普通だった。
>>366 1usで測定したいって言ってた人ですか?
測定条件は?立ち上がり?立下り?
トリガが掛かってから、どれくらいの時間測定するの?
トリガ(測定開始条件)は、1chだけ反応すればいいの?
仮に1usだとして、その1us毎という時間はどれくらい厳密なものでないといけないの?
100パルスくらいの測定でいいのなら、それこそ、ワンチップで作れるけど
もっと長い時間の測定が必要なら、44ピンくらいのPICと外部SRAMで組んだりする
必要がある。
とか考えれば、秋月の一番安いロジアナでいいから、既製品を買ったほうが
確実だとおもう・・・・・
IBM、HPの修理用回路図をパックた時が日本の最高でした。
真空管テレビの頃はたいてい回路図がついていたような気がします。
>>371 ベアチップ実装も多いだろうし、表に出にくい。
縁の下の力持ち。
>>382 うちにあった真空管ラジオは、回路図が貼ってあったか印刷してあったかは忘れたが、裏パネル(硬質繊維板?)にあった覚えが。
PICは…
簡単な表示器に使われてるのは知ってる。
ふつうのひとはまずお目にかからない代物だけど。
385 :
774ワット発電中さん :2013/05/21(火) 10:48:54.88 ID:wCAC65FT
AKI−PIC2プログラマボードの説明について これの意味が分からない。 ソケットに差し込まずに5pinだけを差し込むの? 本体基板のICソケット上で、 PIC16F648やPIC16F84等を 内蔵発振&NOMCLR設定で書き込むと直後に 動作を開始してしまい、デバイスが壊れます。 この場合はお手数ですが、基板上のICソケットではなく、 5ピンの信号線を引き出して書き込みをしてください。
386 :
774ワット発電中さん :2013/05/21(火) 10:55:11.69 ID:k2kOYuua
ADCのデバッグ中に clrf ADRESH clrf ADRESL やったらクリアされなかった。このレジスタは読み取り専用 ?
変換結果を渡すレジスタをクリアしようと思うところがまず判らない
>>読み取り専用 ? なぜデータシーt
389 :
774ワット発電中さん :2013/05/21(火) 11:42:22.32 ID:k2kOYuua
>>389 レジスタの書き換えを確認するのではなく、変換完了フラグをみて確認しれ。
391 :
774ワット発電中さん :2013/05/21(火) 11:57:52.52 ID:k2kOYuua
>390 bsf ADCON0,GO ; AD変換開始 get_temp5 btfsc ADCON0,GO ; ADC 完了まで待つ goto get_temp5 としてフラグを見てますが、結果がおかしいので(T_T)
変換プログラム晒したほうがいいよ おおかたバンクの選択を間違ってて実はGOが1になってないとかだと思うから
393 :
774ワット発電中さん :2013/05/21(火) 12:11:50.41 ID:k2kOYuua
>392 389のリンクに変換プログラム書いてあります。 起動時にAD変換した値がアナログ値を変化させても変化しません。 お裁きをお願いします<(_ _)>
394 :
774ワット発電中さん :2013/05/21(火) 12:28:30.98 ID:Xv5l4get
AD変換の自動タイマーって1個しかないの 複数違う時間で自動タイマーってムリ?
396 :
774ワット発電中さん :2013/05/21(火) 13:12:16.83 ID:k2kOYuua
>395 ありがとうございます ADCをオンしてから 実行まで 625μSの遅延を入れてありますが、 それ以外に必要な待ち時間があるんですか ? >394 すみません 自動タイマーって何でしょう ?
>>393 Vrefの回路定数が気になる所だけれど、とりあえず
ADCON0のVrefをOFFにしてみると(Vref=VDD)どうなる?
398 :
774ワット発電中さん :2013/05/21(火) 13:24:39.66 ID:k2kOYuua
>397 ありがとうございます 単純に電源電圧を手元にあった抵抗1kΩ二個でVDD,VSSを分圧し、 テスターの値で2.501Vを加えてます。 Vref 5Vでテストしてみます。 結果は少し猶予を 書き忘れましたがAD変換のサンプリングは数秒間に一度です。
>>396 ああ、切り替える前にやってるのか。 するとあんまり関係ないか。
自動タイマーってと、AD変換の所要時間を作ってる所だろか?
400 :
774ワット発電中さん :2013/05/21(火) 13:43:38.52 ID:k2kOYuua
386です ADCON0 のビット6をクリアしVref をVSS:VDDとしてみましたが 結果は同じでした。 アナログ値をVDDとして起動すると AD変換値は 3FF です この状態でアナログ値を変化させても 3FF アナログ値をVSSとして再起動すると 変換値は 0 この状態でアナログ値を変化させても変換値の0は変わらない VDD、VSSの間のアナログ値を与え再起動するとそれなりの変換値が得られますが やはりアナログ値を変化させても変換値が変化しません 状況を見ると 最初の一回は正しくAD変換する 次からのADCは最初の値を返すだけのようです ちなみに3個のPICに同じプログラム書いて結果は同じです。
ハードのような気がしないでもないが、GOフラグセンスのループにnopを入れてみてどう? 割込み方式に変えてみるとか、、、
>>385 > ソケットに差し込まずに5pinだけを差し込むの?
違いますよ。
つーか、マルチかいな
404 :
774ワット発電中さん :2013/05/21(火) 15:07:07.80 ID:Y7kUzWi5
課題で悩んでいる学生です。 PIC12F683とHI-TECで組んでいます。 GPIO2の初期値をif文の条件が発生する度に0,1で交互に変換したいのですが、 上手く行かず。頼るところもないので、アドバイス頂けないでしょうか? 動作は今のところ誤動作してます・・ // HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.83 // #define _LEGACY_HEADERS #include <htc.h> #define _XTAL_FREQ 4000000 __CONFIG ( INTIO & WDTDIS & PWRTEN & MCLRDIS &BORDIS & IESODIS & FCMDIS ); void main (){ TRISIO = 0b00111011; // I/O ポート GP0~5 input, GP2:output CMCON0 = 0b00000111; ANSEL = 0b00000000; INTCON = 0b10001000; GPIO = 0b00000000; while(1){ GPIO; if((GPIO0 == 0 && GPIO1 == 1) ||(GPIO0 == 1 && GPIO1 == 0)){ GPIO = GPIO + 0b00000100; GPIF = 0; }else{ GPIO = GPIO; } } }
>>400 うーん。1回だけでも動くってことは、ADは生きてるんだよなあ…
て、知恵袋に次の回答きてるな。
>>404 まず、ソース全行に内容解説のコメント打ってみようか
>>404 学生なら先生に聞け。
何のために授業料を払ってるんだよ。
407 :
774ワット発電中さん :2013/05/21(火) 15:25:59.03 ID:Y7kUzWi5
>>405 了解です。
void main (){
TRISIO = 0b00111011; // I/O ポート GP0~5 input, GP2:output
CMCON0 = 0b00000111; //コンパレータ使わない
ANSEL = 0b00000000; //AD変換しない。
INTCON = 0b10001000; //GIE, GPIE割込み許可
GPIO = 0b00000000; //全ピンクリア
while(1){
GPIO; //初期値として読み出しのつもり
if((GPIO0 == 0 && GPIO1 == 1) ||(GPIO0 == 1 && GPIO1 == 0)){
GPIO = GPIO + 0b00000100; //初期値にGPIO2 highを条件文の度に加算しているつもり
GPIF = 0; //フラグクリア
}else{
GPIO = GPIO;
GPIF = 0; //フラグクリア
}
}
}
>>407 PIC以前にC言語の勉強したほうがいい。
あと、GPIOとか変な定義されてる変なコンパイラではなく、microchip純正コンパイラ使ったらいいんじゃね?
IOはレジスタじゃ無い。 ハードとソフトの区別が付いてないのが、先ず致命的。
410 :
774ワット発電中さん :2013/05/21(火) 15:37:02.12 ID:Y7kUzWi5
>>409 仰るとおり、それは気付いてるんですが、
初期値を上手く変換、書き換えていく方法が分らないのが本音です。
>>410 PICの問題ではなく、C言語の問題です。
まずはPIC以外でC言語を学んでください。
HI-TECHか。 >>GPIO = GPIO + 0b00000100; //初期値にGPIO2 highを条件文の度に加算しているつもり 入力になっているポートは影響しない、という気でレジスタとして足し算して、GPIO2をひっくりかえしているのだろうけど、なんかキモい。 コンパイラが何するかわからんな。
413 :
774ワット発電中さん :2013/05/21(火) 16:13:49.99 ID:k2kOYuua
>401 ありがとうございます 386です 以下のように NOP を入れてみました bsf ADCON0,ADON ; ADCをオンして call tm625us ; 時間待ち bsf ADCON0,GO ; AD変換開始 nop get_temp30 btfsc ADCON0,GO ; ADC 完了まで待つ goto get_temp40 goto get_temp50 get_temp40 nop goto get_temp30 残念ですが結果は同じでした 割り込みで読み込みは少し改造に時間がかかりますがやってみます。 知恵袋の回答者さんへのお礼の仕方がわからない(・・;)
>>410 おまえ、変数って知ってる?
とりあえず、うん氏gねd int i; って書いて、そこにGPIOを読み込んで、
そこからGPIOに書き出せ。
>>413 call tm625us って、ちゃんと待ててるのか確認したか?
そこをNOP 100回くらいにする。
AD変換開始してから、フラグ見るまでのNOPももっとまつ。
論理演算を習ってないのか。 ORとかNOTとか
>>410 誤動作の内容が書いてないので回答不能なんだけど
>INTCON = 0b10001000; //GIE, GPIE割込み許可
>GPIF = 0; //フラグクリア
割り込みを使ってないので不要。
>GPIO; //初期値として読み出しのつもり
意味不明。不要と思う。
>GPIO = GPIO + 0b00000100; //初期値にGPIO2 highを条件文の度に加算しているつもり
普通、交互に0/1にするには「^」を使う。出力ポートが1ビットしかないから
たまたま動いていてもGPIO4を出力ポートに設定したら桁上がりして誤動作に
なる。
418 :
774ワット発電中さん :2013/05/21(火) 16:29:43.28 ID:k2kOYuua
>415 ありがとうございます 625μsは遅延タイマーの基本ルーチンにあって、それを利用し,ms,10ms,1secの時間を作っています。 確認済みです 開始後フラグを見るまでNOPは5個まで入れましたが同じでした。
688のヘッダー呼んでないだけだったりして
420 :
774ワット発電中さん :2013/05/21(火) 16:36:53.80 ID:Y7kUzWi5
410です。 ヒント的なものでも教えてくれた方ありがとうございます。 ヒントを頼りにいじってみます。
421 :
774ワット発電中さん :2013/05/21(火) 16:39:46.01 ID:k2kOYuua
>419 ああああ! と思ってソース見たら list p=16F688 ; 翻訳時にリストファイルを作成 #include <p16F688.inc> ; 16F688用定義ファイルを読み込み 入ってました。 683 や 26K22 でも AD変換作ってますが、悩むのは今回が初めてです。 何かとんでもない間違いがあるような気が...
>>421 実績のあるコードの移植であれば、
ADCへの変換クロックまわりとか大丈夫なのか?
423 :
774ワット発電中さん :2013/05/21(火) 17:15:23.87 ID:k2kOYuua
>>422 以前のソースはあまり見ないのと(見ても忘れてる)、
ADC関係のレジスタのビットもPICによって違うので、作る度新規に作ってます。
ADCの変換クロックも怪しいと思い
Fosc/8 Fosc/16 Fosc/32 とテストしてみましたが同じでした。
incファイルにバグがあるとか、PICの電源関係にパスコンが入っていないとか、、、
goto get_temp ; AD変換を繰り返す AD変換開始に戻ってないじゃん
426 :
774ワット発電中さん :2013/05/21(火) 17:42:55.79 ID:k2kOYuua
>>425 おっしゃる通り、症状としては変換後に戻るループのような感じですが、
get_temp ラベルの後ろでAD変換してます
427 :
774ワット発電中さん :2013/05/21(火) 17:47:38.03 ID:k2kOYuua
>>424 ありがとうございます
incファイルにバグがあったらお手上げですが、
ネット上の情報ではそんなのを聞きません。
100%どこかに考え違いがあると思います
電源は安定てますし、安定してウソの変換値を出し続けます。
>>423 tm625usとdsp_wのソースもさらすべき。
>#define bank0 bcf STATUS,RP0
他はbankselを使ってるのにこれはバグの元。素直に
banksel 0
とすべき。
う〜む・・・ デバッグは自分を疑うことなんだが、自分を信頼しきっているのでは? もう すべなし。
>>427 dsp_w辺りでバンク違いからADCONx書き換えてしまってないかな?
431 :
774ワット発電中さん :2013/05/21(火) 18:39:26.54 ID:k2kOYuua
>>428 ありがとうございます
実際の流れは ADC後の ADRESHとADRESLを16ビット256回加算し、
下位バイトを捨て256回の平均値を見ています
その平均値を crnt_temph,crnt_templ としています
変換値がおかしいのでデバッグ用に平均をとらず
変換後直接 ADRESH->crnt_temph ADRSEL->crnt_templ としています
実際の流れの中にデバッグ用のプログラム組み込んだので
見難くなって申し訳ありませんがそのまま晒します。
dbg が表示部です
ボードに 出力出来るものは LED 一個しかないので
長時間フラッシュ
上位バイト点滅
短時間フラッシュ
低位バイト上位ニブル点滅
短時間フラッシュ
低位バイト低位ニブル点滅 となっていて
点滅数で数値を知ります
長くてエラーになるのでソースは別に書き込みます
432 :
774ワット発電中さん :2013/05/21(火) 18:40:39.40 ID:k2kOYuua
表示部分です dbg call flash call flash call flash movf crnt_temph,w ; 上位バイトを movwf work1 ; ワークに写し call dbg_dsp ; 表示 call tm500 ; 時間空け movf crnt_templ,w ; 下位バイトの andlw b'00001111' ; 下位ニブルを movwf work1 ; ワークに写し call dbg_dsp ; 表示 call tm500 ; 時間空け movf crnt_templ,w ; 下位バイトの andlw b'11110000' ; 上位ニブルを movwf work1 ; ワークに写し swapf work1,f ; 上位下位ニブル交換 call dbg_dsp ; 表示 call tm500 ; 時間空け return ;################################################################ dbg_dsp call flash ; 短時間フラッシュ call tm500 ; 時間空け dbg_dsp10 movf work1,f ; ワークを見て btfsc STATUS,Z ; おしまいなら戻る return led_on ; 250ms 点灯 call tm250 led_off call tm500 ; 500ms 消灯し decf work1,f ; ワークをデクリメントし goto dbg_dsp10 ; 繰り返す ;############################################################# ; LED フラッシュ flash movlw d'245' movwf work2 flash10 incfsz work2 goto flash100 return flash100 led_on call tm10 led_off call tm50 goto flash10
433 :
774ワット発電中さん :2013/05/21(火) 18:41:39.18 ID:k2kOYuua
遅延時間部 ; タイマールーチン どこかの本からコピーです ; 1000ms,500ms,250ms,100ms,20ms,625us 遅延ルーチン tm1000 movlw d'100' goto lp200 tm500 movlw D'50' goto lp200 tm250 movlw d'25' goto lp200 tm100 movlw D'10' ;10ms遅延を10回で100ms goto lp200 tm50 movlw D'5' goto lp200 tm20 movlw D'2' lp200 movwf tm_counter ;カウンターをセットし lp201 clrwdt decfsz tm_counter,f ;カウンターはゼロ ? goto lp202 ;いいや return lp202 call tm10 goto lp201 ; --------------- 625μs 10msec 遅延ルーチン for 4Mz tm625us movlw d'1' ; 10ms/16 = 約625μs 遅延 movwf tm_cnt10m goto tm10lp1 tm10 movlw d'8' ; クロック8Mならd'16' 4Mなら d'8' にして 10ms 遅延 movwf tm_cnt10m ;(1) Save loop cnt1 tm10lp1 movlw d'249' ;(1)*8 Set loop cnt2 movwf tm_cnt500u ;(1)*8 Save loop cnt2 tm10lp2 nop ;(1)*249*8 Time adjust nop ;(1)*249*8 Time adjust decfsz tm_cnt500u,f ;(1)*249*8 tm_cnt500u-1=0 ? goto tm10lp2 ;(2)*248*8 No, continue decfsz tm_cnt10m,f ;(1)*8 cnt1m-1=0 ? goto tm10lp1 ;(2) No. Continue tm10_end return ;(2) Yes. Cnt end ;Total 2501*4usec=10msec
434 :
774ワット発電中さん :2013/05/21(火) 19:06:23.73 ID:k2kOYuua
>>429 自分を信頼なんてしてません(; ;)ホロホロ
今までこんなことが何度かありましたが全部自分のミスでした。
でも三日間ソースとにらめっこしてますがわかりません。
>>427 ありがとうございます
多分大丈夫と思いますが御覧願います
。
いつものことだが、ソースを晒した途端、黙りこんでしまうよね
ソースが汚いと読む気を無くす
そうか? というか今回はすでに根本の取り込み部分はソース出てるし。 それで判らんから、おれは万歳したが。
ああ。
>>437 は
>>435 にね。
>>436 きたないかどうかはさておき、どこかのうpローダーにあげたほうが読みやすくていいのではなかろうか、とは思う。
439 :
774ワット発電中さん :2013/05/21(火) 19:27:42.08 ID:k2kOYuua
インデント付けてあってもスペース一個に変わっちゃうんですね。 見難くてごめんなさい<(_ _)>
>>434 原因は判らんけど…
上位バイト、下位バイト下4bit、下位バイト上4bitの順だとだと読みづらいだろ。
>>439 ソースをさらせなんて言って後悔中w
>>432 の下から5行目の
>flash100 led_on
って何? led_onってサブルーチンだろ。
いや・・・ 今時、元気と素直さがあってよろしい。 スレの活性に貢献しておる。 リフォーマットして見ているが原因は今の所不明。
>>439 dsp_wが見当たらないんだけど。
あと、変数の定義も必要だね。
444 :
774ワット発電中さん :2013/05/21(火) 20:45:53.45 ID:k2kOYuua
>>440 ありがとうございます
気づきませんでした 以下のように変更しました
dbg bank0
call flash
call flash
call flash
movf crnt_temph,w ; 上位バイト表示
movwf work1
call dbg_dsp
call tm500
movf crnt_templ,w ; 下位バイトの上位ニブル表示
andlw b'11110000'
movwf work1
swapf work1,f
call dbg_dsp
call tm500
movf crnt_templ,w ; 下位バイトの下位にぶる表示
andlw b'00001111'
movwf work1
call dbg_dsp
call tm500
return
>>441 ありがとうございます
書かれてませんが前のほうで #define led_on bsf PORTC,RC4
同様に #define led_off bcf PORTC,RC4 で定義してあります。
445 :
774ワット発電中さん :2013/05/21(火) 20:53:27.56 ID:k2kOYuua
>>443 ありがとうございます
dsp_w は説明用に書いたもので実際は
>>432 の dbg です
変数、 work1とwork2は単純な一時変数です
crnt_temph は ADRESH のコピー crnt_templ は ADRESL のコピーです。
もしかすると出来たかも知れません 動きました♪
何が原因だったか書いてくれんと気持ち悪くて眠れんぞ!
447 :
774ワット発電中さん :2013/05/21(火) 21:38:16.75 ID:k2kOYuua
皆さんお騒がせしました。ありがとうございました。動いたようです。
アナログ値に連動して変換値が変化します♪
原因は... すみません良くわかりません
夕食前にレジスタ値の部分を打ち直し
夕食中パソの電源をリセット長押しで切っておき
さっき再コンパイルしただけです
この三日間無数の修正を繰り返してるのではっきりしませんが
他には何もしてないような気がしますが ???
今
>>440 さんの指摘部分をなおしたソースで
再びコンパイルしましたが大丈夫でした
既に20分近く正常に動いてます。
何だったんでしょう ?
448 :
774ワット発電中さん :2013/05/21(火) 22:03:45.34 ID:k2kOYuua
なんだか良くわからない結末ですが、 一人で悶々とし、挫折寸前の時に皆さんの応援は心強かったです。 頑張ろうという力が湧いてきました。本当にありがとうございました。 ちなみにADRESL、ADRESHはクリア出来ました 使うことはないと思いますがメモリーとして使えるかもです。
449 :
natu :2013/05/21(火) 22:04:14.73 ID:rzdLE2Md
>>447 帰宅した>440です。
結果オーライで終わらせないのが吉ですよ。
450 :
774ワット発電中さん :2013/05/21(火) 22:24:14.93 ID:Cbd8xDa7
最近pickit3 debug express買いました (最初に環境を書いておきます、Windows、MPLAB X IDE、MPLAB XC8 Compiler) CDにサンプルプロジェクト(lessons)がいくつか入っていますが、動かす方法が分かりません この開発環境でサンプルプロジェクトを動かした方がいれば教えてください いろいろと試してみてますが一向にできる気がしません・・・・
いろいろと試したって?
452 :
774ワット発電中さん :2013/05/21(火) 22:47:15.45 ID:Cbd8xDa7
サンプルプロジェクトのインポートの方法を変え、ビルドしたりといろいろしました ですがすべてことごとくエラーに終わりました
キミはプログラムに向いていないタイプだと思うよ
454 :
774ワット発電中さん :2013/05/21(火) 23:22:56.73 ID:Cbd8xDa7
そうですか、残念ですね それでもやってみようとおもいます
455 :
774ワット発電中さん :2013/05/21(火) 23:27:58.70 ID:k2kOYuua
>>449 そうですね
今はソース見過ぎて疲れてるので、落ち着いたら見直してみます。
ありがとうございました<(_ _)>
>>455 同じ不具合が出るまで戻していって、原因を追究すべきだと思う。
リセットだけじゃなくて、電源OffOnで再起動してませんでしたとか、バイナリを別フォルダのミラー焼いてましたとか、
そこらは確認してるよな?
幸福の壷もな
商品開発の場合は、一度出た不具合は、再現できず有耶無耶にしても、必ず市場でトラブルを起こす。 デバッグ過程の真偽を確認し、fact find、、、 これに尽きる。 プロセス細目を分割整理できる能力が試される。
460 :
774ワット発電中さん :2013/05/22(水) 13:27:10.05 ID:GQpEyXQ8
>>456 ありがとうございます
MCLR_OFFにしてあるので、再起動は電源のオンオフです
使ってたフォルダは一つです
>>458 ありがとうございます
趣味で使うもので大それたものでは無いんですが腑に落ちないのは確かです
しかしデバッグして変化が無ければ、ほとんど元に戻しを繰り返していたので、
レジスタの書き込む順番などは変えてみましたが、ソースはそんなに変わってないと思います
症状確認ですが
※ アナログ値が変わってもAD変換値が変化しない
※ 本当にAD変換してるのか確認の為AD変換後のADRESL、ADRESHをクリアし、クリア値を確認、
その後再変換してレジスタ値を見ようとしたがクリア出来なかった
これは上記を解決してから考えようと思い、言ってありませんでしたが、
※ 通電後10分くらい経つとハングアップした
ソースに clrwdt が入ってますが コンフィグで止めてたため WDT は使ってません
※ デバッガのトレースが出来なくなるときがあった
夕食後動くようになったんですが、それ以前にやったことは以下の二つだと思います
ADRESL,ADRESH確認の部分は触った覚えはありませんが、夕食後のコンパイルでクリア出来るようになってました。
※ レジスタのバイナリ値の入力し直し(資料見ながらやりましたが、前の世代のソースと比べ同じ値と思います)
※ パソコンの電源コンセントを抜き、リセット長押しで食事中完全放電
これはサウンドカード関係の相性が悪いのか音を出してないとパソがハングアップすることが多々あるので、音楽聞きながらプログラミングしてます。
昨日夕食前にGOMプレイヤーの挙動がおかしくなり輪唱のような音を出し始めました。
いつものことで、プレーヤー再起動で治るんですが、念のため電源を完全に切った次第です。
今念のため二日前のソースを再コンパイルしたら異常なく動きます ???
コンパイルスイッチの問題かね?
>>460 関係ないかもしれないが、一部の品番・リビジョンのPICにはADC完了でADONが変化しない(割り込みも入らない)ことがあるっていうエラッタがあるよ。
該当する品番・リビジョンで実際に試してみたところ、発生条件が良くわからず不安定に発生した。個体差もあった。
エラッタ (w
バグ + エラッタ = バケラッタ
465 :
450 :2013/05/23(木) 01:18:23.54 ID:QMdiKSax
test
466 :
450 :2013/05/23(木) 01:22:36.43 ID:QMdiKSax
真っ先に目立つように大きく赤字で M i s s i n g F i l e s って書いてあるやん
英語は脳内変換で模様と化すのが大和漢 綺麗な模様だなぁ〜ヘラヘラ
>466 TRISD (D ポートの入出力切り替えレジスタ?) と LATDbits (D ポートの出力レジスタ?) について定義されていないので、コンパイラが両方の名前を見つけきれなかった。 本来、そういうものを定義するファイルをインクルードするはずなんですが。
470 :
469 :2013/05/23(木) 06:16:14.51 ID:VkyyM8dC
>466 定義する=レジスタの名前をアドレス番地に置き換える といった意味です。念のため。
471 :
469 :2013/05/23(木) 07:21:25.11 ID:VkyyM8dC
試しに XC8 をインストールし、ファイルを検索した所 18F45K20.h はありません。 18f45k20_g.lkr は見つかりましたが 18f45k20i.lkr などは ありません。 コンパイラか統合環境に問題が有りそうです。
なんかもうPICの問題ではなく、C言語とか認知力の問題だなー。
474 :
469 :2013/05/23(木) 18:01:33.76 ID:VkyyM8dC
>472 >466 帰宅後、エクスプローラーで辿って行ったら pic18f45k20.h も見つかりました。 TRISD も LATDbits も定義されてたんで、きちんとインクルードしていれば 「シンボルが定義されてません」なんてメッセージは出ないはずなんですが…
475 :
450 :2013/05/23(木) 18:12:56.46 ID:QMdiKSax
>>467 なので後から18F45K20.h 、18f45k20_g.lkr を取り込みました
>>469 ソース↓ですがインクルードされているのは18f45k20.hですので
別にヘッダファイルが必要なのでしょうか?
/** C O N F I G U R A T I O N B I T S ******************************/
#pragma config FOSC = INTIO67
#pragma config WDTEN = OFF, LVP = OFF, MCLRE = OFF
/** I N C L U D E S **************************************************/
#include "p18f45k20.h"
/** D E C L A R A T I O N S ******************************************/
void main (void)
{
TRISD = 0b01111111; // PORTD bit 7 to output (0); bits 6:0 are inputs (1)
LATDbits.LATD7 = 1; // Set LAT register bit 7 to turn on LED
while (1)
; }
ちなみに説明書はありますがIDE用で、X IDEには対応していない古いものでした
http://ww1.microchip.com/downloads/en/DeviceDoc/41370C.pdf
476 :
450 :2013/05/23(木) 18:20:49.81 ID:QMdiKSax
18f45k20.hの中には↓のようなものがありました
extern volatile near unsigned char TRISD;
extern volatile near struct {
unsigned TRISD0:1;
unsigned TRISD1:1;
unsigned TRISD2:1;
unsigned TRISD3:1;
unsigned TRISD4:1;
unsigned TRISD5:1;
unsigned TRISD6:1;
unsigned TRISD7:1;
} TRISDbits;
ファイルの中にX IDEには古くて対応していないものがあったりしているのでしょうか?
>>474 更新していませんでした
インクルードできていないかもしれないので調べてみます
ちなみに自分はCDの中に入っていたヘッダファイルを使っています
477 :
450 :2013/05/23(木) 18:46:33.75 ID:QMdiKSax
>474 まさかと思い検索してみるとp18f45k20.hでなくpic18f45k20.hもあったので それをインクルードすると成功しました!
478 :
774ワット発電中さん :2013/05/23(木) 18:59:38.44 ID:9C18BUUe
閑話休題 CAN通信のCANは何と読むんでしょう ?
479 :
450 :2013/05/23(木) 19:00:03.45 ID:QMdiKSax
おかげで成功しました みなさんありがとうございました
480 :
natu :2013/05/23(木) 19:12:02.63 ID:Yy0prb7z
>>479 "pic18.h"にしておいてデバイスは、MPLABから教えて貰う方が楽ですよ。
481 :
469 :2013/05/23(木) 20:12:58.30 ID:VkyyM8dC
ありゃ、できましたか。よくわからないまま MPLAB X をいじって手順を調べてました。 間違いが有るかもしれませんが、作っちゃったんで書き込みます。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 環境 MPLAB X IDE v1.80 XC8 V1_12 操作手順 1.[FILE] -> New Project -> PIC 18C Template を選んで Next ボタンをクリック 2.Project Name を適当につけて Finish ボタンをクリック 3.メニューバーの下に C_18_18F87K22 と私の場合は書いてあるテキストボックスがあるので右の▼をクリック、一番下の Customize... をクリック 4.左下の [Manage Configurations...] ボタンをクリック 5.Configurations Window が開くので、右の [New] ボタンをクリック 6.名前をつけるように要求してくるのでここでは PIC18F45K20 とでも入力して[OK] をクリック 7.新しい Configuration にフォーカスがあたった状態で [Set Active] ボタンをクリック 8.[OK] をクリック 9.左の Categories ツリーから Conf:[PIC18F45K20] を選び右上の Device 欄は PIC18F45K20 を選択する 10.Compiler Toolchain 欄にツリー構造が現れるので自分がインストールした XC8 を選ぶ 11.Hardware Tool も自分が持ってる書き込み器を選ぶ。そして [OK] ボタンをクリック 12.左のプロジェクトツリーの Source Files を開いて Main.c をダブルクリック 13.main() {} の部分を選択、 475 のソースのうち最初の #pragma 行はコピペしないでその下の #pragma config WDTEN = OFF, LVP = OFF, MCLRE = OFF 以降、 main(){} の内容をコピペ 14.ハンマーアイコンをクリックすると沢山警告が出るけど「ビルドできた」と応えます。 まだおかしいところはあるようですが、これで Hex ファイルが出来てないでしょうか? PIC18F45K20.h やら lkr ファイルをインポートしなくてもいい、かも知れません。Config をいじったらそこを参考に自動的に読みこんでくれるのかも。
482 :
450 :2013/05/23(木) 22:46:54.65 ID:QMdiKSax
>>481 こんなに詳しくありがとうございます!
インポートもいらずにできますね、
いちいちインポートするのが面倒だったので助かりました
483 :
450 :2013/05/23(木) 23:34:00.11 ID:QMdiKSax
これは他のプログラムでは使えないのでしょうか、あとどういった設定をしたのか教えてもらえるとうれしいです これはLEDが点滅するものですが、先ほどとは#pragma config の部分やインクルードしているものが違います 当たり前ですがmain()内をコピーしただけではだめでした・・ /** C O N F I G U R A T I O N B I T S ******************************/ #pragma config FOSC = INTIO67, FCMEN = OFF, IESO = OFF // CONFIG1H #pragma config PWRT = OFF, BOREN = SBORDIS, BORV = 30 // CONFIG2L #pragma config WDTEN = OFF, WDTPS = 32768 // CONFIG2H #pragma config MCLRE = OFF, LPT1OSC = OFF, PBADEN = ON, CCP2MX = PORTC // CONFIG3H #pragma config STVREN = ON, LVP = OFF, XINST = OFF // CONFIG4L #pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF // CONFIG5L #pragma config CPB = OFF, CPD = OFF // CONFIG5H #pragma config WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF // CONFIG6L #pragma config WRTB = OFF, WRTC = OFF, WRTD = OFF // CONFIG6H #pragma config EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF // CONFIG7L #pragma config EBTRB = OFF // CONFIG7H /** I N C L U D E S **************************************************/ #include "p18f45k20.h" #include "delays.h" /** D E C L A R A T I O N S *******************************************/ void main (void) { TRISD = 0b01111111; // PORTD bit 7 to output (0) ; bits 6:0 are inputs (1) while (1) { LATDbits.LATD7 = ~LATDbits.LATD7; // toggle LATD Delay1KTCYx(50); // Delay 50 x 1000 = 50,000 cycles; 200ms @ 1MHz } }
484 :
450 :2013/05/23(木) 23:35:41.27 ID:QMdiKSax
>これは他のプログラムでは使えないのでしょうか、あとどういった設定をしたのか教えてもらえるとうれしいです 481の設定のことです >これはLEDが点滅するものですが、 プログラムのことです
485 :
469 :2013/05/24(金) 00:13:19.58 ID:eTNWvVzQ
>483 今回のは #pragma の部分全部を含めてコピーしたらビルドできるみたいですが。 どういう設定、ですか。 >481 の3.から10.までが、 “そのプロジェクトでどういう PIC とライタを使うか指定する”ところに なってると思います。9.で PIC18F45K20 を使うように設定してます。 あと、私はまだ PIC を全く使ったことがないので、あとはなんとか自分でやって もらえないでしょうか。IDE 環境を見よう見まねで動かすところまで何とか出来た だけですので。
486 :
450 :2013/05/24(金) 00:49:50.34 ID:azfCiWpY
ありがとうございました あとは自分でやってみます
C18で作られたであろうプログラムをXC8で走らそうとすると「*」を付けた行にunknownエラーが出ます これは仕様の問題らしいのですが、解決方法はありますか? また、XC8環境でこれと同じ内容のことを書くにはどうすればいいのですか? * #pragma udata unsigned char LED_Number; * #pragma romdata Lesson3_Table = 0x180 * const rom unsigned char LED_LookupTable[8] = {0x01, 0x02, 0x04, 0x08,0x10, 0x20, 0x40, 0x80}; * #pragma code
「走らす」っていう言葉が理解できないけど #pragma自体はコンパイラが持っている機能のはずだから その1つ後ろの語句が未定義か何かだろうと思う。 #pragmaの後に続く句は、コンパイラによって違いがある。 という憶測をしてみた。
>>489 煽ってないで質問に答えてあげればぁ??
>>490 ちょっと見てきた。
解説によると、
int foobar @ 0x100;
と記述することで、
foobarという変数を保管するアドレスを0x100に固定する
という説明だと思う。
まずは、XC8コンパイラが、どんな#pragmaをサポートしてるのか
調べてみて。
(普通はコンパイラのマニュアルに載っているハズなんだけどなぁ・・・)
コンパイラによって、記述する言葉に違いはあるものの、、、
大方同じような事は実現できるハズだから・・・・
PICKIT2で18F14K50に書き込もうとしたら、ブランクチェックで "configuration not blank" となってエラーになります。 買って来たばかりのPICで、まだ一度も書き込んだことはありません。 全く同じ基板を使って同じ物を2つ作ったのですが、片方は正常に書き込みが出来 ました。ハードの不良を疑う場合、何が原因として考えられますでしょうか。 ちなみに関係するか分かりませんが、PICKIT2の画面で「READ」ボタンを押す と、右上のConfigurationの下に赤文字で"All Protect" と表示されます
>>494 情報が足りないから基板の写真をうpして
>>494 ICSPDATとCLKの配線
GPIOと兼用してたら信号潰してないか
497 :
494 :2013/05/26(日) 22:56:37.37 ID:syxuUHln
pinの1本1本にテスタ当ててチェックしたところ、どうもPICKIT2のVssと基板の GNDがうまく接触していないようでした。 お騒がせしました。
許すます
バグがとれてよかったっすね!
バグではないと思う。
仕様
言葉の由来が体育館スケールのコンピューターの異常動作のハードウェアトラブルの原因を南京虫に責任転嫁したのが由来だからハードウェアの不都合のこともバグっていうお!
ハードのイージーミスでもバグはバグ
何でもバグと呼ぶのは悪い習慣
頭がバグった
バグってハニー
秋月、在庫切れかつ納期未定かよ・・・オワタ
ガイガーカウンタじゃね?(←何年前の話題だよw)
513 :
507 :2013/05/29(水) 23:01:01.30 ID:MTez4QXr
>>511 PICです。いつ頃補充されるかも全然不明とか言われた
PIC18F14ならdigikeyに数千個在庫あるみたいよ。
セッションの有効期間がきれました。 誠に恐れ入りますが再度トップページよりのアクセスをお願いいたします
アッキーで\200円未満で買える物を\100円以上高い金額で買う気がせんなあ
>>518 アッキーって何だ? アッキーって。 ぷっ。
「アッキーで〜す」 「ズッキーで〜す!」 ごめんもうやめる
「\200円」 こんな表記初めて見たわ。518は在日チョソかね?
PIC18F14在庫切れのついでに、PIC24のUSB付き扱ってくれないかなぁ。秋月以外で買うのめんどくさい。
>>521 俺のPCだと、¥200円 でなくて、\200円 に見える。
¥記号を久しく見ていない。
OSによるのかな タブレットで見たら\だった
Windowsだと表示できるが他は微妙だな 半角の\が表示できないと円になる
どう見えるかは、ビューアのフォント次第でしょ
違うとは思うけど
回覧板で防ぎょ隊について告知していて なんだ防ぎょてと思ったら防御は当て字で本当は防禦らしい で、マイコン制御の御の字も実は嘘で、本当は制禦と書く でも制ぎょと書くのはあまり見ない
また国語スレにするのか('A`)
日本語のうんちくはブログでいいと思う
PIC専用スレ Philology In Conventions ^^;
復在 活庫
生活 倉庫
秋月 電子
何在 の庫 在っ 庫て の こ と ?
CCSから、Ver upいかが?って、メール来た
http://en.read2log.net/t/uni/denki/1358095503/ 誰が英訳してるんだ?
「PK3Err0033: 4 bytes expected, 0 bytes received」
を調べてたのですが、MPLAB IDE v8.89を使っていますがpickit3と
単につないだ時につながるものなのでしょうか?pickit3を選択すると
上記のエラーが出ます。pickit3プログラマーは使えて焼けます。
調べてみたけどよくわからんかった・・・
>>539 MPLABで使う場合はライターソフトのToolメニューから「Revert to MPLAB mode」を選択してみて
ライターソフトを使う場合は「Download Pickit operating System」を選択
おーなんかうまくいったっぽい。 ヒントthx! pickit3.exeが動く状態ではMPLAB IDEは動かんということなのかな?
PICで、16bitとか24bitとかの、多ビットのA/Dコンバータ積んだ品書、ありますか?
544 :
774ワット発電中さん :2013/06/13(木) 20:40:57.76 ID:zIDF7Efa
あ
車載のパーツとかでも8bit精度で十分に動いてるのに
オーディオが8ビットだと泣ける。
オーディオは1ビットになって久しいでしょ。
大丈夫か?
1ビットマイコンってのがあったそうですが、どうなってるの? 1ビットアンプとPWMの違いもわからない
>>545 >車載のパーツとかでも8bit精度で十分に動いてるのに
そりゃ制御ものは、8bitでもいいだろうさ。
計測器だと16bitあっても足らないくらい。
移動平均してランダムノイズを減らしたい。
やっばり、最低16bit。
移動平均ってどうやって出すの?
計測器ならPIC内蔵ADCなんて使うなよ。
553 :
543 :2013/06/14(金) 06:15:26.90 ID:7C6tViHn
SACD
12F675を16ビットADにして、シリアル送信させた事がある。
精度が問題なけりゃPICのADで十分 アタマ悪いと高精度使いたがる なぜってパカだからそこしかワカラナイ
>>557 基本的に、バカほどスペックにこだわるのは、なんでも同じ。
というか、スペックの数字の大小しかわからないんだよな。
>>550 ふーん、すごいね。
アナログ入力のダイナミックレンジと、最小レベルはどれだけとれてるの?
560 :
543 :2013/06/14(金) 18:06:14.13 ID:7C6tViHn
>555 トラ技の受け売りですが、MCU というノイズ源、時に熱源の側にあるのが 問題かと。スタンドアロンの ADC とくらべて直線性を確保するのが難しい んじゃなかったかと。
>>560 それはある
でもそれがPICのAD使ってダメという
理由にはならない場合も多々ある
勝手に線引するのはバカのする事
おめーらバカとかパカとか言う類の余計な言葉を添えないと 会話もできないのかよwww じゃ俺も。ばーかばーか(^p^)
565 :
774ワット発電中さん :2013/06/14(金) 22:41:10.42 ID:vvL0G6ih
USBPICでよくあるUSB-232C変換機を作るとします。 幅広いボーレートに対応させるために18.432MHzの水晶発振子を使うとして、 USB通信は正常に出来るんですか?
秋月で買った方が早い
>>565 USBのサンプルソース使うつもりならクロックはそっちにあわせる必要があるんじゃないっけ?
USB処理を一から自力で書き起こすならできるかもね
>>565 USB使うときの水晶の周波数は決まってたはず。
569 :
774ワット発電中さん :2013/06/14(金) 23:36:59.10 ID:vvL0G6ih
>>565 です。
566さん、567さん、568さんありがとうございました。
>3%以内(理論上は5%)に入っていれば問題ないと思う こちらが+3%、相手が-3%だったらどうするの。波形歪も無視ですか。
そういうのも含めて3%以内にしろって話なんでは
外部に回路を設けて、Vcc〜Vssを上下に分断して、ポート出力で切り換え 分断した部分に間が出来るのを無くすため、ADでいうとこの4bitぐらいを重ね合わせになるように定数決めて 10bit+10bit-4bitで16bitとかいうのを思いついたが、外にADの石を1個持ってシリアルとかで読むほうがものっそ楽だな。
ノイズを重畳してモンテカルロ法で推測。
-96dBを甘く見ているな
どのみち素人のパターンじゃ100%の性能を出せないよ
>574 >Vcc〜Vssを上下に分断して、ポート出力で切り換え 11bit にしかならない。
VCOを使う。
USB付きのPIC18を使ってるんですが、適当なportに付けたスイッチで ・デバイスタイプを切り替える (portC0-onでマウス、offでjoystick、のように) ・2面あるファームを切り替える (2つのファームが0x1000からと0x2000からの両方に配置されていて、どちらで bootするかを選択する) みたいなサンプル無いでしょうか。microchipのUSBフレームワークの中まで 手を入れたくない場合は後者のほうが楽かな
Win側なんだけど、ドライバのベンダーIDはどうしてますか?
>>580 出来るが、仕事なんでソースは見せられん。
ようはdescriptor類とコールバック関数類を2つ用意しといて
パワーオンの時どっちのdescriptor送るか決めるだけだ。
Libraryのコードを舐めるように見るべし。
↑はデバイスタイプ切り替えの場合ね。 どちらでもお望みの事は実装出来ると思う。
>580 = 581 なのかな? HIDベースで作るならVIDもPIDも好きにしていい。 (売るんでもない限り)
585 :
580 :2013/06/16(日) 19:29:59.94 ID:gqYYFWqH
>>584 違います。581は別の方。
あと、個人的に少数売る場合は遠慮なくmicrocipのVID、PIDをそのまま使ってる
けどキニシナイ
そうでしたかm(__)m HIDじゃないドライバなら、刺された時のコールバックで 自分のVID/PIDと一致するか、位はチェックするべきでしょうね。
>>573 10ビットADは使わない。16ビットデルタシグマADをコーディングした。
外付けにOPアンプが1個とCRの汎用部品が必要なだけ。
>>578 うむ?
0〜5Vを2.5Vで割って、アンプで5V幅にして、って話で? できるかどうかは知らないけど。
>>588 16bitの精度が要るなら温度補償も必要じゃないの?どうやったの?
今ならLTC2453等のADCを使えば、お手軽だね
>>573 グランド分離して一点アースしたり、電源に精密電源使ったりコモンモードフィルタとかいれたりしてんのかね?
単純に、0から65535出てきてるだけで、アナログ精度も確度も取れてないんじゃね?
>>590 知ったか乙
自分でLTC2453持ち出してるのに温度補償とかw
>>590 16ビット分解能で16ビットの精度はどう頑張っても無理・・・だと思うよ
じゃあJAROに訴えなきゃ
まあふつー、1bitぐらいはぷるぷるするわな。
低速で構わないなら256回くらいの平均値でおk?
その積算中にターゲット電位が変わってたら悲惨だな!(^ω^;)
平均値の意味を理解してないらしい
是が非でも「精度『だけ』の話」にしたいんじゃないかしら
AD変換といったら、ADコンバーター使うしか能の無い人なのかな
>>601 ADコンバーター以外で16ビット精度でAD変換できる物ってなに?
OPアンプの方が重要
>>602 PICと汎用OPAMPのみで、232のレベコンさえ要らずに、シリアルポート接続の高分解能ADを組めるんだから、かなり気持ち良いよ。。
ま、出来ない奴には理解不能だろうけど。
>>605 聞いて欲しくてウズウズしてるな!
つまらん小技なんか興味ないからもう来るな
んーオーディオの世界でも、24ビットは、高分解能が欲しいんじゃなくて オーケストラとかの抑揚をつかみたいだけだったりするから・・・ え?オーマニは来るなって?すまん・・・
>>605 は?
PICつっても、ADコンバータ付きのPIC使えばそれで解決じゃん。
馬鹿?
>>606 >聞いて欲しくてウズウズしてるな!
ぜーんぜんw
分解能と精度は関係ねぇべ。 精度は環境(回路構成、ノイズレベルなど)や速度で決まる。
「ブスのパンチラ見せ」
悔しそうだなw
>>605 すごいですね。
その汎用オペアンプの型式と、電源デバイスとその回路構成、
想定している信号の最大最小電圧と周波数だけでいいので
教えていただけませんか?
なんというナイスな…
>>613 何、顔真っ赤にしてPICPICしてんの?wwwww
いやいや、本当に教えて欲しいんですよ。 OPアンプの型式 電源の石の型式 電源のコンデンサとコイルの型式 電源の電圧 入植信号の最大と最小電圧、周波数特性だけでいいので、 後学のために何とか教えてください。お願いします。
ある条件で性能がたたき出せるデバイスセットか…たしかに知りたいかもな
まさか分解能16ビット、精度10ビットなんてオチじゃないよね。
オチ云々は兎も角も、まず見てみたい
分解能ADとは書いてあるが高精度とはどこにも書いてないし 積分器をPICのコンパレータとプログラムで動かすならクロックや電源でどのくらいの精度になるんだろね 出力ポートの内部抵抗なんか最悪の部類だし
もう16bitAD作る話題は終わり? 作った人は具体的な話になったら即逃げちゃったのか。つまんね。
>>621 アセンブラで似たようなことを言っては消える人いなかったか
>>621 オペアンプで思い切り増幅してから読み取れば16ビットも可能なのかもしれない・・
1v p-pを、16ビットで採れなんて言われたら泣きそうだが・・・・
ああ、オレの技術力では、8ビットでも、プルプルするくらいだから、 16ビットは難しいって言いたい。もちろん既製品のADC使っての話。
>623 65Vp-pを1mV単位で区切れと言われても泣くw
628 :
774ワット発電中さん :2013/06/21(金) 22:27:50.39 ID:pX2+FgNh
>>570 さんレスありがとうございます。
>セカンドクロックとか、内部クロックとか組み合わせれば
>結構な範囲の通信ボーレートが実現出来るんじゃないのかな
UARTだけOSC2を使用とか出来るのかなぁと思い、ドキュメント見るけど、わからんので質問してみました。
>>581 ベンダIDとか、仮に正規の手続きで取得したら、どれくらいの金と手間がかかるのか、豆知識的に知りたい気持ちがありますが、どうなんでしょうか?
取得された片、いらっしゃいますか?
泣け!
S&H回路ってどういう仕組みなんだろうと思って調べたらむっさ単純だった
>>628 USB-IFの会費 年4000ドルだな、それで商売するなら妥当な額かな。
>>631 ベンダーIDの取得だけなら、1回ポッキリの5000ドルじゃなかったっけ。
microchipが無料でサブライセンスしてるよ。 条件は生産量10000個以内
>>630 そんな事を言い出したら積分回路や微分回路も単純だよ。
しかし電気:物理:数学の関係に感動する時ってあるな。
(たとえばフーリエ変換とか)
RC発振回路を外付け発振回路必須のPICに付けたいと思いますが、 PICを400kHz(内部100kHz)ぐらいで動かせますかね。 (もしかしてその辺って書くPICでちがいますか?) どっちを先に大まかに決めて、微調整するという思考が上手く回らずに手が出ません…。
回路以前に、トランジスタ(というかダイオード)の中身が正確に指数関数だ
オシレーター内蔵のPICを別途用意して、PORTなりPWMなりで 400kHzを出力して供給してあげればいい これなら精度±3%とかだよ
>>637 (まったく)精度求めてないんで……。
RとCで安く済ませられないかなぁと横着しているわけです。
LEDを点灯させるだけの安基板を作りたくて、いうなれば目的と手段をまちがえてるんです。
データシートに簡単な選択肢乗ってましたっけ?
とりあえずそれでつくろうかな……。
ありがとうございました
精度要らないならRだけでいい。Cは浮遊容量
何故か内蔵のを使わない
何故か日本語を読めない知ったかが、よく出没する
やだ、、、おちんちんpicpicしてる、、、
>>635 :774ワット発電中さん [sage] :2013/06/22(土) 07:33:16.25 ID:lIml1SjC
>RC発振回路を外付け発振回路必須のPIC
たヴん RCとPICが日本語じゃないんだと思う。
>>624 頑張れ。最初はだれでもそんなもん。原因を追究して地道に腕を磨けば誰でも出来る。
ここで否定的な事を書いてる奴は万年ド素人だから気にすんな。
ADコンバの精度を上げる方法の定番は入力側の電圧を高めるだけ。 こんなの常識だけどなぁ。 1Vの入力を1000に分解しようとおもったら1mVが性格に量れないと駄目だけど 100Vの入力を100に分解するなら1Vがキチンと量れればいい。
なんで分解能に差がつけてあるw ま、100Vのアナログ入力なんて想像で語ってるのがバレバレだけど
入力の部分にアンプを挿入すれば解決
>>648 挿入してるのに小さすぎるせいか、早く入れて頂戴と言われるんですが、どうしたらいいですか?
ゲタ履かすと、下駄の中で自分のがすっぽり抜けて出てきます。
そういう時は別のもので代用しましょう。 握りこぶし、ペットボトル(500ml、2L)
自分のものに拘りがあるならダブペネがお勧め。 太さが足らない時に折り曲げて2倍、3倍にして圧着する事は良くある。 長さも足りないなら改造が必要かも試練が
>>645 電圧は上げれば良いってもんでもない。
小学生じゃあるまいし
654 :
645 :2013/06/23(日) 01:04:48.49 ID:WFXRWUWu
>>653 無知乙w
入力電圧をギリ大きくするのはADコンバで精度を高める手段として常識なんだけど。
録音するときとかも、入力ソースは歪まない程度で出来るだけ大きくする訳ですが?
ていうかいちよう回路設計で食事してる人間なんで。
かいちよう回路設計で食事してる人間か。。。
「ADコンバ」とかね。もう (笑)
100V まで上げるのが常識かよw そんな基地外を飼ってる会社、何処の何と言う会社だよ 今後の為に晒せよ。みんなの為だ。
>>654 >入力電圧をギリ大きくする
>入力ソースは歪まない程度で出来るだけ大きくする
これが
>>653 の「電圧は上げれば良いってもんでもない」と同じ事をさしていると思うが?
回路設計云々よりまず日本語を勉強した方がいいと思われ・・・
>>658 そもそも、100Vまで増幅してADする基地外が日本語を理解できるとも思えないがなw
>>645 を読んで馬鹿さ加減を理解できないなら同類だわw
まず日本語を勉強した方がいいと思われ・・・
日曜の朝からおまえらときたら
しょうがねえな。日曜の朝だから
>>645 の駄目だししてやるよ
>
>>645 >ADコンバの精度を上げる方法の定番は入力側の電圧を高めるだけ。
>こんなの常識だけどなぁ。
>1Vの入力を1000に分解しようとおもったら1mVが性格に量れないと駄目だけど
>100Vの入力を100に分解するなら1Vがキチンと量れればいい。
1)”ADコンバ”ってなんだよw そんな略し方してるDQN会社なんて脳内以外にあるのかw
2)入力電圧を高めるだけで精度が上がればノーベル賞もらえるぞw ド素人過ぎるw
3)入力電圧を高めた効果を説明するのに、1Vの入力と100Vの入力で、100Vの方の分解能を下げてるのはなんでだ?
訂正が入ってないって事は、分かってやってるんだろうから、論理的思考が出来ないか、ペテン師かのどっちかだろ。
4)条件を合わせて1Vを100分割するなら10mV単位だから全然問題なく計測出来るだろ。わざわざ100Vに増幅するより
直接計測で十分なレベル。それが出来ない奴が100V入力のADや100V出力のアンプを作れるとは到底思えないしなw
だいたい、100Vの信号を扱ったことすらないド素人の発言バレバレ
電圧上げただけでS/Nあがるってすごいな。
綺麗な50Hzの正弦波をお送りする為に、50万ボルトを使用しています
ご家庭の電灯のスイッチを入り切りするとアーク放電しそうな勢いですね ガクガク
なんで変電所介さずに直結すんだよ…さすが悪魔の番号だなw
>>664 SN比を上げる為にセンサーの近くで増幅するのは普通じゃないのか?
(俺がド素人でよう知らんから、煽るつもりは全然なくて 純粋に教えて君としてなんだけど)どうやって増幅すれば ノイズ成分を増幅しないですむん?
俺の技術力は大したこと無いのでアナログ回路は±15V以下でやりたいなぁ。
測定信号に同期した参照信号があればロックインアンプを使う。 ソフト的な処理も可と思われ
先生!ロックインアップを汎用オペアンプひとつとCRで実装して、100Vにする技術がわかりません! で、それをPICで受けるんですよね?
「アップ」 ・・・興奮しすぎでアップアップ(笑) オペアンプ1個とか100Vとか何のことやら?
674 :
774ワット発電中さん :2013/06/23(日) 22:42:08.39 ID:jMk/pxFL
>>654 それ、単なるノイズ対策でしょ。
特にデジタル系の廻り込みを抑止するとか基準電源だけでなく供給電源にフィルタ入れたりして質を良くするのが基本でしょ。
場合によっては光バスで伝送するとかで完全にアイソレートするw
で、電圧は分解能を満たす程度にあれば充分。
いたずらに電圧上げるのは却って精度落とすよw
>>668 それは線路がノイズ拾ったりインピーダンス上がってアレするとかなんじゃ
…マイコンのようなAD混載チップでは回路定数以上にアートワークと許容誤差の設定が重要だよ。
>>638 精度が気になるなら、1%以下の金属皮膜抵抗と高精度で温度特性がよいフィルムコンデンサやスチコン組み合わせれば?
それでも気になるなら、3.58M辺りのセラミックレゾネータで原振させて、74系で2^n分周したらどうかな?
>>130 亀だけど、今は電波時計があるから…
あの信号フォーマットはnictが公開してるけど物凄く精度高いから校正信号に余裕で使えるしプログラムも簡素にできる。
後、マルチタスク?はフリーランカウンタと割り込みのセットですよね。
割り込み一回ごとになんマイクロ秒かわかるから、それを多バイトカウンタでソフト的に数えれば時間になる。
で、一秒ごととかに例外処理に飛ばせば精度は確保できますよね。
>>669 ノイズ成分を取ってから増幅すれば良い。
速度が要求されないなら、入力コネクタの近所に0.1u入れるだけで
ずいぶん違うよ。
随分じゃわかんないお 何デシベルぐらい違うの??
>>679 0.1uF?MLCCとか言ってねぇよな?
速度って、お前、直流しか考えてないのか?
入力インピーダンスどんだけ〜?
揚げ足を取ってる人達はどんな立派な装置を作ってるんだろ? 見てみたいですね
自慢じゃないが丘サーファーでつ! (`・ω・´)
>>682 別に立派な装置とかでなしに、12Bit程度のADで、数kHzの周波数を、きちんとした精度で読めるように
するだけでも、それなりにノウハウがいることを、普通の人は知っているから、
やれ16bitだのオペアンプ入れるだけだの電圧増幅するだけだのコンデンサ入れるだけだのという、
くだらないカキコに突っ込みを入れてるだけ。
知らないのは、知ったかぶりしてるバカ本人だけ。
ここは単発の多いインターネッツですね
>>684 に一票。
コンボリュージョンに移動平均とかを考えたまでは良いけど、
スケールを単純に増加させるという発想が、余計な非直線性やゲイン誤差を与えずに
雑音のパワースペクトル閾値内に収める行為なんて発想でいるのは、解ってないとしか言いようが無いわな。
おいら道楽だから10bitで十分なんだけど、プロの皆さんはマジで何計測してんの?
プロはPICなんか使わないのでw
ぷろは何使うん?
プロは使う使わないで騒がない
プロはやりたいことを安くできるものを選ぶんじゃないかと
石の選定をできる立場の人は大抵アマチュアだ
プロは社内で決まってる物を使わされるんだよ、わかった?
696 :
774ワット発電中さん :2013/06/25(火) 00:28:13.95 ID:/HD7ps2n
自分はアマチュアですが、32bitで且つオシレータ内臓のPIC32MX110FをICD3に認識させることすら出来ませんでした。 他の幾つかのPICは問題なかったのに。 気軽にテストできるデバイスとして期待してたのに、自信と時間を無くしただけでした。 スターターキットからやり直します。
つーか、何を計ってるのよ?
すみません、どこかに18F2550で複合HIDを実現してるサンプルがありませんか? microchipのサンプルではHID+MSDみたいな18F2550では動かないものしか無いよう なので。 18F4550用のマウス+キーボードサンプルなら見つかったので、 step1: とりあえずそのままbuildしてPICに転送→PCに複合HIDとして認識された (勿論、portDとか無いので機能は一切使えませんが) step2: 18F2550用にリンカとか修正 →PCに挿しても「ブブブ」と鳴って正常に認識されない 1の時点でconfigデスクリプタやreportデスクリプタ、コールバック関数の実装に 問題は無いように思うのですが、もしかして2550はエンドポイントの数に制限が あったりするのでしょうか?
>698 2550でキーボード+マウスやってる。2個ぐらいなら問題ない筈。
>>696 とりあえず、電源とPG*の線だけ繋いでみては?
>>689 フィードバック制御(位置決め装置や流量制御など)でAD/DAを使うけど、
未だ12ビット以上は使った事がない。
12ビットでも「アイソレーションアンプ入れたのに、
こんな信号じゃ下位2ビットは信用できないなぁ」
と落ち込んだりする時もある。
>>696 CPUの定義ファイルを更新してみれば?
>>698 18F4550のソースから移植したのなら 「#if defined(__18F4550)・・・」とかのプリプリセサの定義のところ見直してみたら?
そのままビルドして動いたのなら怪しいのはその辺の様な気がします。
703 :
679 :2013/06/25(火) 15:55:55.14 ID:ikrPZvMt
>>681 ・「速度が要求されないなら」という条件を付けたのが気に障った
・0.1uというお手軽な案が気に障った
ごめんねごめんね
>>669 「ノイズ成分を取ってから増幅すれば良い」に対しては突っ込まれていない様なので、
それ以下を訂正させていただきます。
通過させる周波数成分に対応したフィルタ回路を入力のコネクタ付近に構成する。
RLCの組み合わせで構成する他に、対応するノイズ除去部品を使用すれば
部品点数と実装面積を減らせるかも知れない。
オペアンプを使用したアクティブフィルタ回路というのもあるので調べて見るとよい。
ローパスフィルタは、簡単に言うと入力電圧を平均化する回路と考えて良い。
RとCで構成したもっとも簡単なローパスフィルタの時定数は2πRCで計算できる
(私はT=RC位の計算をしているけど)。
例えば、R=1k、C=0.1uのときのTは約628us。
つまり628us間の電圧変動の平均がフィルタの出力に現れることになる。
これをA/Dコンバータのサンプルホールド時間よりも長く、
なおかつサンプリングレートよりも充分短い時間となる様な値とする。
基本はこんなとこ。
足りなかったり間違っていたら
>>681 が補足または訂正してくれると思う。
ご回答dクスコ
>>703 K型一段のフィルターで、6dB落ちる周波数がどれだけ離れてるか知ってる?
チェビシェフとか使うと、近接のレベルと位相の暴れがどれくらいあるか知ってる?
RとCの値しか書いてないが、温度変化による値の変動がフィルタの肩特性として、
直接、平均値に反映されるし、コンデンサ自体の漏れ電流と負荷Qは考慮しましたか?
16bitのダイナミックレンジがどれだけあって、オペアンプの電源ノイズ除去比がどれくらいあって
何使ってるがわからないが、電源のリップルって何mVあるの?
で、オペアンプのノイズ発生の考慮と、周辺アクティブ回路からの誘導や静電ノイズの影響は
どうやってキャンセルするの?
さらに、原則として一点アースにまったく振れてない、コモンモードと差動入力のアプローチを
考慮していない点を考えよう。
キチガイ発生中注意
707 :
774ワット発電中さん :2013/06/26(水) 00:39:24.55 ID:fmy4QN4f
PICりしたなーもぅ
708 :
774ワット発電中さん :2013/06/26(水) 01:10:55.79 ID:+erLKFk6
696です。
>>700 さん、
>>702 さん、ありがとうございます。
自分もそんなところかと思っていましたが、心が折れたのでスタータキットでデバイスを動かそうと思います。
その後で再チャレンジします。
>>703 > ローパスフィルタは、簡単に言うと入力電圧を平均化する回路と考えて良い。
俺なら、口が裂けても、こんなこと言わないなー。
>>703 が中学生なら、勉強しようねとニコニコしていられるが。
中学生より上なだけって自虐も程々にしとけ
そんなことより牛乳飲もうぜ!(カルシウム補給)
カルシウムってとりすぎてもいらいらするんだぜ
713 :
679 :2013/06/26(水) 15:37:23.34 ID:oZ3Kj9qf
>>705 ,709
>>669 にもわかる様に書いたつもりだったのだけれど、お気に召さなかったようで済みません。
どうやったらノイズを増幅しないで済むのか是非
>>669 に解る様に説明して下さい。
私も参考にさせていただきます。
>>669 >>703 は書いてることは間違いばかりのようなので忘れて下さい。
「ノイズを増幅しないで済む方法」をこんな所で説明できる人がいれば、 俺は尊敬しちゃったりするな。解説本を読まなくて済む。
ついでに書いておくと、私にとっての難易度は 「女をものにする方法」or「お金持ちになる方法」 と同じ程度かな。
(´・ω・`)・・・ なんかわざわざ答えてくれたのにフォローできなくてすんまそん。。。
>>713 NFLの低い回路+実装+非測定回路へ接続をして、ADに直接突っ込めばいいだけ。
そういう考慮して初めて多ビット分解能のADが使えるということ。
増幅とかフィルタリングとかは、その次。
それか上限100VのADコンとオペアンプ探してくれば。
途中で送信してしまった。 結局は、非測定系含めたダイナミックレンジで100dB取れるようになってから、 16bitのAD使えばOKてことです。 たぶん100dBのダイナミックレンジの測定と検証自体が、けっこう大変だと思うぞ。
1/65536がプルプルすることにも神経質にならなければ・・・・
XC8 ver 1.2 でたな。 free mode でも、結構最適化効くみたい。 PIC16F1827 で 2割位、コードサイズ小さくなった。
コードサイズが小さくなっても意図した通りに動いてるかどうかはやって見ないとわからない。 コンパイラのバージョンUPで一喜一憂してる暇をアセンブラコーディングに費やしたほうが まともなプログラムが出来る。
んなこたーない。
CCSは無料になっても使いたくない
>>722 マジすか!?
後で試してみます(`・ω・´)
>>725 arduinoよりもライブラリーが便利なのに
>>723 歳とるとそんなん言えなくなりますよ(・∀・)
関東ローカルだと思うが、さっきNHKでPICkit3が映ってた
>>728 いや、年寄りだから試してみようという気力がなくなっているんだと思う。
731 :
774ワット発電中さん :2013/07/06(土) 12:39:59.28 ID:iuWFAaE+
最近のPICってかなり高性能化しましたよね 100個あればだいたいCPUは作れますね 65536ピンのPICが100円で売ってるのは凄い
732 :
774ワット発電中さん :2013/07/06(土) 12:41:03.61 ID:iuWFAaE+
すいませんよくみたらPICじゃなかったですw チップの事全てPICって言わないんですね さすがにPICは多くても128ピンくらいですかね?
やだ、このひと >731 頭がPICPICしてる・・・
PIC じゃないにしても 65536 ピンの IC ってのは凄いと思う。 BGA でもそんなものはないような…
>>65536 ピン
0.5mmピッチのBGAで130x130mmくらいの石になるな
>>735 高級ICならピンは内部にもあるからね、詰まってる。
プリント基盤ならそんなもんでしょ。
PICやAVRじゃ有り得ないと思うけど。
高級IC w
プリント基盤 w
もしかして、ビット幅とピン数を勘違いしてる…?
今日は暑いから仕方ないね。
741 :
natu :2013/07/06(土) 17:07:40.47 ID:RL4ssKzz
> 高級IC 俺はいまだに高級MCUよりも値段が高い低級ゲートICに納得できない。 トランジスタの数がどれだけ違うんだ!
白いセラミックパッケージをありがたがるスレはここですか?
金メッキされたプレートは正義
ハーメチックシールに鳥肌が立つ
>>741 (ファンイン、ファンアウアトの問題で)入出力じゃなくて
ループアンテナを形成するための端子じゃね?(平行線のまま取り回すなら多層が必要とは限らない希ガス)
マイクロチップから何かきた!
バッグやた! ラッキー
半年ぐらい前にアンケートに参加していた。 プレゼントがどうのこうの書いてた
751 :
774ワット発電中さん :2013/07/09(火) 00:09:37.71 ID:IIz+pn48
厳密にはPICの話題じゃないけど・・・ WiFi G Demoボード届いたのでこれから遊ぼうと思ってるんですが、 2点ほど基本的な疑問が・・・ 1)これ(DV102412)とWiFi Comm デモボード(DV102411)の違いって何なんだろう? 2)これって、電波法に引っかかるのかな? お答えをいただけたら嬉しいです。
752 :
774ワット発電中さん :2013/07/09(火) 02:08:21.89 ID:3mQy4MOk
>>751 マイクロチップテクノロジーという会社が詳しく教えてくれるよ。
電話番号教えてあげよっか?
>>751 きちんとデーターシートまで読んだ?
IEEE 802.11/bって書いてない?
755 :
774ワット発電中さん :2013/07/09(火) 23:56:49.40 ID:IIz+pn48
>>753 さん
よく見るとモジュールが違うんですね。
ありがとうございました。
>>752 さん
面白いジョーク、ありがとうございました。
>>753 802.11bという規格に沿ったものでも、技適取ってなければ電波法違反だよ
並行輸入のルンバが違反だとか最近も騒いでたでしょ
>>756 あ、そうだった、すまん肝心な事忘れてた。
でも、技適=電波法だっけ?
出力、周波数、スプリアスが電波法内に収まっていれば
グレーゾーンだった気がするけど・・・・・
そんな事はどうでもいいか、、、
やっぱり技適があったほうが、業務でもつかえるしメリットあるよね・・・・・
>グレーゾーンだった気がするけど・・・・・ 真っ黒だよ
すごく、黒いです
そうなんだ、中途半端な知識で悪かったです。すまん。
たとえば、電子工作キットのワイヤレスマイクとか、、あれも違反なの?
ミニFMとか、何かを妨害するとか嘘を流すとかすれば、電波法の罰則喰らうだろうけど、免許は要らないよね? というか、これは電気工作スレのほうでの話題かね?
100メートルで○mV/m以下みたいな規定はあった気がしたよ
微弱電波なら合法だよ。 電子工作のワイヤレスキット、自動車用のFMトランスミッタなんかは技適も無いけど合法、これは微弱だから。 でも微弱だと最大でも20〜30メートルくらいしか飛ばせないよ、技適か免許無しでは100〜200メートル飛ばすのは無理。
微弱で十分遊べる。 PICのピンにアンテナ付ければ送信機になるからな。
767 :
774ワット発電中さん :2013/07/11(木) 00:25:09.16 ID:LKNzc2kC
>>751 です。
いろいろ参考になりました。
ありがとうございました。
C30(v3.30)コンパイラでこれをやると意図しない数字が取れました。 a = (UINT16*)(sector_data0+11); byte_per_sect = (*a); BYTE* sector_data0の11バイト目からunsigned short幅で 数値を取りたいと思ってやっているのですがうまくいきません。 (いわずともFAT32の読み込みです) aは目的のアドレスであること、そこから2バイトに目的の数値が入っていることは デバッガで確認しています。 byte_per_sect = sector_data0[12] * 256 + sector_data0[11]; とやると、うまくいきます。 アライメントが2バイト境界でないといけないとか、 このコンパイラにはなにか制約があるのでしょうか?
C30使ってないからわかんないけど sizeof(UINT16)って2なんじゃない?(sector_data0+11だとsector_data0の22バイト目を差してしまう)
>>768 見た目、あってるっぽいけど、最適化の功罪?コンパイラの癖?
aが目的のアドレスになっているなら間違えそうに無いのだけど
+10に1、+11に2、+12に3をいれとくと0x0201が読めそうな予感
目標は0x0302だよね?
ファイルシステムの複数バイトアクセスはCPUによりLH/HL、アドレス
アクセス時の奇数アドレス云々、コンパイラの癖(?)あるから、
マクロ、関数化しておくと吉
aの型はなんなの?
>>770 んむー。dsPICとかPIC24とかはデータシートに
All word accesses must be aligned to an even address.
って書いてありますな。
そう、それが普通。 アライメント揃ってないワードアクセス許してる x86 と v6以降のARM が変態CPU。
元々8ビット単位でメモリを制御してるんだから、何処からアクセスしようと問題ない。これが正常。 アライメントしなきゃいけないCPUこそおかしい。所詮手抜きでしかない。 アライメントされてないアクセスを許さないならバイトアクセスも許さないのが漢 そんなCPUは使いたくは無いが。
>>8 ビット単位でメモリを制御して
してないから。
液晶やシリアルに文字列を渡す関数を書くとき 直接文字列を渡す場合は引数がconst char*型、 文字列のアドレスを渡す場合はchar *の2種の関数を書かなきゃいかんと思ってて そうしてちゃんと動いていたが 意外と後者だけで両方兼用できるのに気付いた。 コード上のリテラル文字列も最初にデータメモリにコピーされるのか?
>>775 >元々8ビット単位でメモリを制御してるんだから、
してない。 前提が間違ってるから、以降の考察は無意味だね。
>>777 C言語の勉強し直した方がいい。
エキスパートCとかいう黄色い本がポインタ関連の解説が丁寧ですお
どんなレスが返るかと思って試しに書いてみたら ハードウェアへの実装を知らない人がレスしちゃったよ 777で大当たり(笑)
うーん・・・まーたしかに俺はよーわかっとらんけど、 778さんはわかってるんじゃないすかね。 つたない知識の中で憶測を述べると、const修飾しとけばROMに配置されるだろうし、 static修飾しとけばヒープに配置されて初期化処理のときに 初期値を格納するだろうし、autoへんすーならスタックにはいちされるでそ。 引数がconstならROMエリアの配列も扱えるだろうけど const修飾してないポインタ引数と共用しちまうと RAMのつもりでROM上のデータを扱うとトラブルの元じゃね?
いろいろ回答有り難うございます。混合モードで出してみました。 アセンブラはあまり得意ではないんでしょうが、どうなんでしょうかね? なお、PIC24FJ64GA002です。 ! a = (UINT16*)(sector_data0+11); 0xF82: MOV 0x10C8, W0 0xF84: ADD W0, #0xB, W0 0xF86: MOV W0, [W14] ! byte_per_sect = (*a); 0xF88: MOV [W14], W0 0xF8A: MOV [W0], W1 0xF8C: MOV W1, [W14+20] ! byte_per_sect = s[11] + s[12]*256; 0xF8E: MOV [W14+22], W0 0xF90: ADD W0, #0xB, W0 0xF92: MOV.B [W0], W0 0xF94: ZE W0, W1 0xF96: MOV [W14+22], W0 0xF98: ADD W0, #0xC, W0 0xF9A: MOV.B [W0], W0 0xF9C: ZE W0, W0 0xF9E: SL W0, #8, W0 0xFA0: ADD W1, W0, W0 0xFA2: MOV W0, [W14+20]
アセンブラはあまり得意ではないんでしょうが →アセンブラはあまり得意ではないんですが
68020で32ビットデータをミスアラインでアクセスした時の動作を知ったら 涙が出るよ。なんでこんな親切なんだ。
あ、すみません sとsector_data0の値は一緒です。 名前が長いのでコピーしただけです。
a = (UINT16*)(sector_data0+11); ↓ a = (UINT16*)(sector_data0)+11; にすればいいんでね?
>>786 キャストのほうが速いから2*11バイト先になってしまいます。
試しに11を、10や12に変えてやってみたのですが、
その数字以外全く同じアセンブラが吐かれて、
そこのアドレスから2byteの値が正しく取得出来ました。
11の時だけ、値が変です。
やっぱりmov命令のアライメントが2byte境界でないとダメみたいで
C30コンパイラがそれを考慮せずにmov命令を割り当ててしまうからの
可能性が高いです。
え? 奇数アドレスにワードアクセスしたいの? それはコンパイラじゃなくて機械語レベルで禁止されてんじゃねえの? 奇数アドレスにワードアクセスできる石なんてあんの?
というか、移植性というかデータとマイコンのエンディアンが違う可能性を考えたらワードをバイトで読み出すのは基本中の基本のような。 ましてや、アライメントの問題あるんだし…
>>787 大変だとは思うけど、データシートのメモリ関連の所読んでみて。
ひょっとするとerrata扱いかも知れないし。
C30のドキュメントを見てみると、-Wcast-align をつけてコンパイルすると、 char *をint *にキャストするみたいに、アライメントが大きくなる場合に warningを出すようになるらしいです。 自分で偶数アドレスになるように管理しろ、ってことでしょうね。
792 :
778 :2013/07/12(金) 05:57:34.74 ID:ZLcXc7XB
>>780 いや、こんな↓こと書いてる君はマジで分かってないから。
「直接文字列を渡す場合は引数がconst char*型、」
>>788 >奇数アドレスにワードアクセスできる石なんてあんの?
変態CPUがあるじゃないか
putstr("ツッコミどころがそこww\n");
795 :
natu :2013/07/12(金) 10:24:21.54 ID:e5XcfZjy
奇数アドレスからワードアクセスするとトラップされてリセット命令へ飛ばされるはずだけど?? __attribute__((interrupt, auto_psv)) void _AddressError( void ) { } これで捕まらないかな
バカ、バカ ウフフ バカ、バカ エヘヘ バカ、バカ アヘヘ バカ、バカ
798 :
774ワット発電中さん :2013/07/13(土) 10:42:40.74 ID:rVyCYC3k
>>751 です
気になってmicrochipの日本語HPを改めて見てみましたけど、技適マークに関する記述は見当たりませんでしたね。
個人の趣味の話なので特に問い合わせはしません。
ロームのBP3591は技適マークを取得しているので安全に使えるますし、
プロトコルが完全に内蔵されているので簡単に使えるのでしょうけど、
倍くらい高いですね。
通信速度は書いてあるけど、実質どれくらいの転送速度出せるか書いてないのでちょっと気になります。
UARTでは921kbpsとなっていますので1Mbps程度なんでしょうが・・・
お布施しないと商売できないって点では中国と同じだよなあ
米、欧もFCC、CEマークで同じ制度だけどな
FCC, CEマークに相当するのはVCCIで技適とは話が違う
802 :
800 :2013/07/14(日) 05:18:42.41 ID:RTlJImpA
海外物の評価キットだとわざわざ技適取らんだろうねえ Wifiならバレる事はないだろうけど違法だね どっかに〒マークが書いてあれば適合品だけど VCCIはノイズの規制だからまた別だね
804 :
803 :2013/07/14(日) 12:10:09.72 ID:xYZrhdkO
VCCIに相当する規制はFCCにもCEにもあるから混乱したな 今の話題は無線機の規制の事だからVCCIとは別な VCCIは電子機器から漏れるノイズの規制ね
wifiなら 相互承認協定している国の認証マークが付いていたら大丈夫じゃなかった?
>>805 いや、だめ。
MRAは、相手国向け機器の認証を自国で実施できるって制度。
Kindle 等が日本で使えるのは、MRAで「技適」マーク付けてるから。
807 :
774ワット発電中さん :2013/07/15(月) 09:14:37.95 ID:WS8JKDJk
USBポートに繋げるWiFi子機が定価ベースで千円台からあるのに、 マイコンで繋げるWiFi子機が実質6千円からしかないとはね・・・。
別にWiFiに限った事じゃ無いだろ。数が出るものは安くなるのは道理だわ。 100K単位で発注してやれば安くしてくれると思うぞ。 それが嫌なら、自作すればいい。ま、まずはRF設計の勉強しないとだが。
USBホスト付きマイコンでPCと同等のことすれば安く上がるし 無線コンバータが安くなってるから有線で作るという手もある けどそんな手間掛けたくないからシリアルまで変換する奴が売ってるわけで つーかXBee Wifiは4k円からあるよ
知恵が無いなら金掛ければ良いだけだな。 だいたい、マイコンなんてイラネーだろ。タブレットで十分
E?
812 :
751 :2013/07/15(月) 18:36:57.19 ID:WS8JKDJk
>>809 XBee WiFiが良さそうですね。
情報ありがとうございました。
813 :
774ワット発電中さん :2013/07/17(水) 02:11:12.98 ID:XoWUL4Mh
みなさんはUSBやLANでPICとPCを通信される際にPC側のプログラム言語は何を使って作られてます? PICから吐き出されるデータをPCで受けてグラフを描かせようって思うとけどBASICみたいな簡単な言語が・・
一番簡単なのはUSB-CDC として作れば PCからはシリアルポートなので、何の言語でも可能。
c#でいいやん。 簡単だそ
アセンブラが一番
>>814 USBフレームワークにもサンプルソースがあるし.net環境がいいかも
言語はC#でもvbでもc++でもお好きなやつをどうぞ
どれでもGUIはポトベタライクに作れる
Delphi(無料の)にIndy・・・・してたら、 ワケワカメでもつながったてばよ
グラフ描かせるならエクセルって案も 仕事じゃLabVIEWだ
LabVIEWは遅いし、取り込んだデータも使い辛いから、これから始めるならmatlabがお勧め。 金を掛けたくなければscilabもいい。特にここ最近のは良くなってる。
csv形式か何かで吐かせて、gnuplotに突っ込みます。 ある種のスクリプトをデータと一緒にPICから吐かせられれば完璧。
グラフを描かせる時はR使うな 昔はNgraphが定番だった 世の中の論文のグラフはみんなそれで描かれていた
>>822 PC側は、teratermとかで受信ログをとって
ファイル化したのをgnuplotにかけるってことっすか・・・
表示だけならLabVIEWやgnuplotでも良いけど、解析したい事が殆どだろうから、行列演算がまともに使える物が良いな。
18F2550とHID Bootloaderの組み合わせで作ってる最中なんですが、 最初にbootloaderを起動させて、その後loaderのツールからソフトリセット →正常に動作 bootloaderを起動させずに最初からfirmを起動 →挙動不審 て言う場合の原因は何が考えられるでしょうか。 挙動不審の無いようですが、USARTの受信が高確率で化けたり、送信が出来な かったりです。
>>825 つoctave
matlab互換でgnuplotもついてくる
>>827 昔使ってたんだけど、Scicos使いたかったのでscilabに乗り換えた。
Scicosからdspicのコードを生成するエンベデットコーダーを勉強中
あ、今はScicos -> xcos になったけどね。
>>826 原因:プログラムミス
もう少し具体的に書かないと求める答えは返って来ないと思うよ
>>826 UARTかなんかの初期化漏れじゃない?
リセット時の値が不定になるレジスタがあってツボにはまるとたまたま動く時もあるって感じかな
>>777 16F1xxx 以上なら、もしかすると大丈夫なのかも。
XC8で改良されてなかったっけ
>>814 ExcelのVBAで直接取り込むのが楽だよ
ぐぐればサンプルも大量に得られるし
ここまでレス来てるのに具体的な例は極僅かという
ネットで得た内容を貼っているだけだからな
もっとサンプル数増やすとノイズが消えてつるつるのグラフになるよ
変数や定数の配置はXC8が自動的に(勝手に)判断してんでしょうな。 メモリモデルを知らず、ソフトの側面しか知らないと 何でC18コンパイラにstrcpypgm2ram()なんて長たらしい関数があるのか理解できないし 「C言語の勉強し直した方がいい」とかいっちゃうんだろうね
>>838 あんまり関係ない。ノイズに見えるかもしれないが、実際の温度が表示されてる。
温度センサに使ってるダイオードが小さいので熱時定数が小さいし、分解能が高いので
空気が動くと温度が変化するのがわかる
このグラフは1440個のサンプリング点を全てプロットして作ってるので、サンプル数を増やしても線が太くなるだけ。
841 :
774ワット発電中さん :2013/07/20(土) 23:37:54.21 ID:6Fj91Hyo
MikroCで1から10までの整数をランダムに欲しい場合どのように書くのが スマートでしょうか?
一分ごとに数秒間くらいデータとってその平均値を吐かせたらなめらかになりそう
それは単に平均をとるから滑らかになってるだけだけど、 同じ時刻に連続で何度もサンプリングすると、 さすがにそんなミリ秒単位で温度は変わってない筈なのに、 得られるデータに揺れがある 直接の原因はノイズなんだけど、それがいい感じに作用して、 平均すると本来の分解能を超えた精度でデータが取れてしまう
C18を使ってますが、constとromってアクセスの方法も変わるんですか? byte型のテーブルtblをconstで宣言して tbl[100] で参照した場合と、 romで宣言して同じように tbl[100]で参照した場合で全然違う値が返って くるんですが。
>>840 空気の乱れの度合いもグラフ化したいならならローソク足チャート
傾向が読みづらいので、25分MAも・・・
>>842 >>840 にも書いたけど、ノイズじゃ無いから数秒間の平均じゃ滑らかにはならない。設計がいい加減だとADの結果が
毎回違ったりするけど、一応真面目に設計してるのでそんな事は無いよ。
ま、無意味に滑らかにしたいとは全然思ってなくて、実際に計測された温度を正しく表示するべきとの設計思想。
>>845 基礎体温のグラフ化に最適な奴ですな
AD変換ってのは量子化をするので、そこで誤差が出る 真の値が100.3のものを1刻みで100としか測定できない ところが、ここに±0.5のノイズを加えて測定すると、 99.8から100.8を測定することになり、20%の確率で99、80%の確率で100と測定され、 平均すると99.8、0.5を足して100.3が得られる
ヘタにLPF入れるよりサンプル数増やして平均したほうが精度も分解能も上がるっていう
そんなめんどくさい事するよりも、10倍の分解能のAD使った方が圧倒的に楽。 だいたい、ノイズ加えて確率で計算なんてやってると、その瞬間の値が分からないし、時間分解能を上げるには 一生懸命ADを繰り返ししなくてはいけなくなって、、マイコンでやるならその間消費電力も食うし良いこと無い。 まずは正攻法で検討し、どうしても無理な領域なら確率で求めるのも仕方が無いかと思うけど 上の温度位ならPIC内蔵ADで全然問題ない位。
安いマイコンでもソフトの工夫で、消費電力と計測時間を犠牲にして性能を上げられる そーゆー技が使える場合もあるよってこと ノイズ加えれば16bitA/Dは不要!と言ってる訳じゃないんだからそうつっかかりなさんな
厳密厨に揚げ足とられるだけだから こんなところ(バカのあつまり)で発表しないほうがいいよ
855 :
774ワット発電中さん :2013/07/21(日) 18:20:14.20 ID:qtH+v8Hl
ノイズはシャノンの法則により1%以下には抑える事ができるけど それ以下は無理じゃなかったっけ? だからどんなに高性能なCPUでもノイズは必ず1%以上あるってことね
>>854 お前騙されてるぞ。
コンパレーターに同期ないしは超低速で正確に正負の正弦波を与えないとエイリアスノイズで精度悪化。
それにADの下1ビットか安定しているという前提かあり得ない
精神薬を飲まないと直らないのか?音楽を聴けば直るのか? イタチごっこをする事にしようとしてるのか? ステルスマーケティング 統合失調症 え、ギャル男?
>>851 そういう「技」を磨く前に、マイコン内蔵のADをちゃんと活かせる様に腕を磨いた方がいい気がする。
活かせる、のはいいとして、マイコンのソレを越える要求があったらどうしようもあるめい。
とりあえずノイズ対策の回路技術関連の本を読め、話はそれからだ。
外部AD使えば良い。
もしくは、ΔΣADをコーディングすれば15〜16ビット位は簡単に得られる。
性能的にはそっちの方が上でしょ。
>>851 の方法に大してメリットがあるとは思えないんだけど、実際に製品に使ったことある?
趣味レベルの話は、評価の信頼性が低いから無しね。
>>861 こういう本質を見抜けないバカな自称プロのレス見るの楽しい
知ったか哀れwww
864 :
851 :2013/07/22(月) 13:42:52.45 ID:LMBksTUH
>>861 めんどくさいなもう 3k個ほど納品したよ。外部ADすら惜しいまでの小型軽量を要求される製品もあるんだ お前さんはバカ正直にデカくて高コストなのを作っててください
865 :
774ワット発電中さん :2013/07/22(月) 16:25:46.53 ID:l/iU0QMu
そっとしといてやれや。ここはプロばかりじゃないんだから。 難しいことはわからないんだよ。
システムでどういう性能必要が必要なのかもわからんのにADCだけ近視眼的に語られてもな、 プロアマ関係なく
3Vのボタン電池(CR2032)を2個直列(6V)で動かしたらどんな問題が考えられるでしょうか?(ちなみに16F88です)
なんでそんな古いのを? 新しい方が省電力機構たくさんありますよ。
3つのHEXファイルのうちの1つだけ、ブレッドボード上の試作回路だと問題なく 動くのに、それをプリント基板化した完全に同じ回路で動かん・・・・ 意味が分からん・・・
ま、よくある話だね。どこかショートしてたりとか、 デバイスの実力ギリギリで動いてたとか。
チンコイロットとはいえ、3000個も不安定動作だと大変だな。
>>872 引っ込みが付かなくなった妄想野郎はスルーしよう。それが優しさ
>>870 完全に同じ回路・・・たいていの場合、書く事でフラグになってる。
871の他にピンが浮いてたなんて話も時にはある。自己診断プログラムを別途作成する事、薦める
ある程度大きな電流をON/OFFしてるんだったらGND絡みも考えられるな ブレッドボードだとジャンパーでつなげられるのでGNDがいい感じに分離(一点アース)されていたのに パターン化したら共通部分が多くなってGNDが振られるようになったとか・・・
LEDを大量に駆動させる基板だと、電源ラインが弱くて不安定、とかいうのを見たことがあるな。 繋がってるはずのところにさらにジャンパ飛ばさないと動かないっていう。 まあ、PICではあんまり無いことだろうけど。
877 :
774ワット発電中さん :2013/07/23(火) 19:24:08.67 ID:oeyVvaAI
>>200 そうかな・・?若松は曜日・日にち指定してるのに、
その日以前に、毎回速攻で送ってくるけどね・・
σ(^ω^ )オハラ・フグスマ
MPLAB X ver1.85 出たな。 入れてみたが、違いが良く分からん。
879 :
870 :2013/07/24(水) 01:34:55.38 ID:0+FM5+FD
アドバイスありがとうございます。 問題を切り分ける為に、MicrochipのUSB Framework (2013/2/15)に含まれている HID BootloaderとHID Keyboardのサンプルで確認してみました。 (ただ、bootloaderはサンプルのRB4を別の目的で使ってるので切替ピンをRC4に 変更しています) ブレッドボード上の試作回路(秋月の18F14K50マイコンボード使用) BootloaderもKeyboardサンプルも両方動く プリント基板1 Bootloaderは動くが、KeyboardサンプルはUSBとして認識されない(無反応) プリント基板2(プリント基板1と同じもの) BootloaderもKeyboardサンプルも両方動く ますます訳わからん・・・ とりあえずbootloaderとkeyboardサンプルの初期化の違いをソースで確認して みます。
>>879 パターン切れとか…稀とは言いにくい位にはあるんですよね、プリント基板の不良。
特に、未だ量産で廻していない試作段階の物だと不良率高いです。
なので、目視でチェックしてみて下さい。
昔低温試験で不具合が出るセットの原因を探っていったら ビアが1個−20℃辺りから下でオープンになってた 温度絡みだから部品不良だろうという先入観を持ってしまっていたので 見つけるのに結構時間がかかってしまったよ
寒冷地仕様ビアガーデン
きょうびベア基板の不良なんて考えたことも無かった 勉強になるなぁ、このスレ
基板屋のテスト通ってても温度変化でアウト? そらわかんねーわ
>>880 多層で、中の層がショートしてるときは、どうしようかと
>>883 >きょうびベア基板の不良なんて考えたことも無かった
>勉強になるなぁ、このスレ
ベア基板って何ですか?
ベアって、Bareですよね? むき出しの、とかの意味の。
すると、ベア基板ってむき出しの基板ですか?
>ベア基板の不良なんて
>>881 の発言を受けてのことでしたら、ベアではなくて、ビアだと思います。
>>883 の言う「ベア基板」とは何のことでしょうか?
下らんことでグチグチゆーなよ via hallだってカタカナで書けばビアホールだ くそう、呑みたくなったじゃねーか、
>>886 生基板のことをベア基板とも言うところもあるんだよ。
無知は黙ってろ。
>>887 >下らんことでグチグチゆーなよ
>via hallだってカタカナで書けばビアホールだ
どこにも「ベア」が出てきませんが。
>>888 >生基板のことをベア基板とも言うところもあるんだよ。
なるほど、そうなんですか。
しかし
>>883 の「きょうびベア基板の不良なんて考えたことも無かった」
は、
>>880-881 を受けての発言だと思うのですが、
>>880-881 は、生板のことをいってる訳ではないです。
どうでしょうか?
ベア基板って何のことなんでしょうか?
ウザい奴が現れた。
891 :
774ワット発電中さん :2013/07/26(金) 14:38:57.55 ID:vQ9AaCwr
>>890 は、何のことを言っているのか疑問に思わないの?
そいえば昔、IDのことで「教えて下さい」連発君がいたね。 変身して「何の事でしょうか」連発君になったのかな?
893 :
883 :2013/07/26(金) 17:33:44.48 ID:xWCzgiGV
>>889 ビアの不良→(ハンダ付け不良じゃ無い)→(部品を実装する)基板そのものだ
って思考だったのだけど
めんどくせーな、もう
私が悪うございました
次に気が向くまでこのスレには一切書き込みません
よろしい
基板そのものを指し示すときbareを用いて何の問題もないが…
>>893 まぁまぁ、そういわないで。
俺を含めおそらく大半の人はあなたの言うことわかってるし、生基板の不良の感想とか同じだから。
悪貨はこうやって良貨を駆逐していくのか。
部品が実装されてる状態なら、半田付けの際にストレス掛けた可能性も高い。 つまり、実装済みの基板と生基板は別に評価すべき物。 実装済みの基板をベア基板なんて呼ぶところは、まともな所なら無いだろう。
1: プリント基板+部品->実装済み基板 2: 生基板+加工->プリント基板 1のプリント基板や2の生基板を指し示すときbareを用いるのに何の不思議が… 実装済みの基板をベア基板と呼んだ文脈ってあったっけ?
動作に不具合のある(つまり実装済み)基板の不具合原因が、ビアだったという話に ボケナスが「ベア基板の云々」と言ったんだろ。 日本語が理解出来ないのか?
CADの近接チェックにバグがあって出力ポートとリセットラインが短絡してた事があったな・・・ 電源入れると無限に再起動を繰り返してたのは遠いおもひでw
>>899 それのどこがボケナスなのかさっぱりわからん。
ビア不良が原因での動作不良なら、ビア基板の不良そのものだろうに。
ベアボードってのはたまに聞くけどベア基板ってのは初耳だった。
生基板をいちばん使うな あれをパートのおばちゃんが割る時に適当にやるから、 中の配線が切れるんだ
春闘でも業界ごとにまとめられて賃上げの指標として扱われているらしい。
>>904 >ベアボードってのはたまに聞くけど
ベアボードって、何を意味しているのでしょうか?
1) 穴開け前の両面基板
2) 穴開け後、メッキでスルーを付けた状態。
3) シルクもレジストも付いた、部品実装前の緑色の基板
4) 部品を付けた状態の基板
うちでも生基板と言ってる。 5)基板屋からら届いた状態の基板だ。 ただし5)以外でも気にしないので、 6)毎年5月に値上がりする基板 でも 7)夏に喉を潤す基板 でも好きなように定義してくれて構わない。
>>902 -20度でビアがオーブンになると言っているのだかろ明らかに基板の層を繋ぐビアの事だろ。
ベアボードのベアとビアと混合してボケてんじゃないぞ。
低音でオーブンになるなら単純な不良じゃなくて熱膨張率の違う部品や基板の配置やパターン設計ミスかも知れない
重低音により加熱する新型オーブン
部品乗ってない基板は 空板(カライタ)だな。 ま、会社毎言い方違うんだろうけど。
>>909 >低音でオーブンになるなら単純な不良じゃなくて熱膨張率の違う部品や基板の配置やパターン設計ミス
おーっ、なるほど勉強になる。
高温で伸びて、低温で縮む、だったか。
オーブンは、 typo オープンです。 スマホの字がちっこくてブとプの判別ができないのとIMEが勝手に修正予測するから困る
CどころかPIC自体が初心者の者です。Cコンパイラでの数値の扱いかたについて教えてほしいのですが 8ビットのマイコンだとして、1023以上の値を扱う場合は変数は意識して複数を用意してプログラムする必要がありますか? それともコンパイラが自動でやってくれますか?
↑1023じゃなくて255でした。スマソ
浮動小数点だって計算できるわ
そういう意味じゃないのでは?
>>914 プログラマーが変数の型を意識して指定する必要がある。
同じintでもシステムによってbit長が違う場合があるので注意が必要。
例えば256という数値を記憶しておきたい場合アセンブラだと 00000001と11111111が入った2つのレジスタつかってプログラムしないとなりませんがコンパイラは必要ありませんか? という質問でしたが、考えたらさすがにこれはコンパイラがやってくれますよね
PCで組むにしても値の取りうる範囲を意識しないのは アホだろ。
cしか出来ない奴には普通のこと
ていうか、C言語である以上C言語の標準がある訳で。 どんなプラットフォームであろうがunsigned charは 0から255までだし、 unsigned short型は0から65535まで。これは8bitのPICでも64bitのItaniumでも 絶対変わらない。 int型は使うなって事で。
さらっとウソ書くのはやめておけ。
標準が無いから困ってるんだよ PORT = 0b00001111; とか書いてもよそではコンパイルできないぞ
>>923 それは標準じゃないローカル仕様だからだろ。
使うなよ。
過不足なく標準のままのコンパイラなんか無いだろ その時点で標準は意味が無いんだよ
>>923 構造体とか共用体を宣言しておけば使える。
(XC8もそうしている)
すみません、Cの勉強中なので >921 のどの部分が嘘なのか分かりません。
unsigned char のbit長も処理系に依存する。
>>926 0bxxxxが使えないのもあると言っているんじゃないの?
>>927 >928に加え、unsigned shortも処理系依存。
なお、0から65535までは少なくとも入れられることはC89以降に準拠する処理系に限り保証される(ただし、上限は規定されていない)。
0bxxxxは便利。1度使うとやめられないね。 defineが、0始まりの定義ができるなら、8bit分 256個くらいは作ってしまうけど。 なんなら、65536個でも定義するけどね。 defineマクロで、うまく作れないかしらん。
>>931 obxxxx で定義したら?
0bxxxが使えない時は、D0からD7までdefineとかで定義して
PORT=D0+D2
とかしていた
Aまでは大丈夫なんだ EとFも大丈夫 BはA+1だと思えるから何とかなる 問題はCとDだ これがいつも12? 13?と判らなくなる
いちいち10進に変換しなくても、 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111 と、6個覚えるだけじゃん 九々を一段覚えるより簡単 できないヤツは小学生以下 0bとか、桁数が増えてわかりにくい Hexの方がぱっと見てわかりやすい
>>935 そういうことを言ってるんじゃないと思うよ。
>>934 >問題はCとDだ
>これがいつも12? 13?と判らなくなる
それは言えるね。
12=C は「十二支」(12C)と覚えるといい。
13は、その次だから問題ないでしょう。
C=1100と覚える。これは覚えるしかない。
10=A 16進の文字の最初だからA、これは問題ないはず。
11=B 10の次
12=C 十二支
13=D 12の次
14=E 15の前
15=F 最後なのでF。これも大丈夫なはず。
バイナリの覚え方は、また違って、
A=1010 絵的に覚えるしかない。「とーとー」と覚える人もいる。
B=1011 10の次
C=1100 絵的に覚える。
D=1101 Cの次
E=1110 F(1111)の1つ前だから、1110
F=1111 (略)
Aは特別で、AAとか55はテスト用のビットパターンだから、10進飛ばして2進が判る CやDは、Cが偶数だと判ってれば迷わない ACE(Am)の構成音は偶数
> C=1100と覚える。これは覚えるしかない。 > AAとか55はテスト用のビットパターンだから ドット画のパターンをdata文に羅列したりした経験があると、 FCAあたりは記憶に残るわ・・・・
> A=1010 絵的に覚えるしかない。「とーとー」と覚える人もいる。 > C=1100 絵的に覚える。 すまん。レスをよく読んでなかった。 引用はこっちの方が適切だなw
940 :
774ワット発電中さん :2013/07/31(水) 02:35:09.14 ID:WsOXVvyh
ちなみに、16進数の上って、何かあるの? 32進数とか24進数とか
時計は60進数
まあ、桁の重みさえ決めてしまえばいいんだろうし、何進数でもできるだろうな。 ただPICというか電子演算で考えるなら2の乗数の何かになるだろうけど。
ヒトの指が左右で8本ならこんな苦労をしなくてよかったかもしれん
そのかわり、顔を洗うときに水が漏れて苦労するよ。
両手の指で2進数を数えれば3FF(1023)までカウント出来るぞ。 これに足の指を加えれば何とFFFFF(1048575)までだ、どうだ、スゴイだろ。
>>946 繰り上がりが難しいじゃないかい。
指の関節を親指で順に押さえていくと片手で12まで数えれるよ
>>946 男なら…漢ならもう一ビット立てるんだ!
949 :
512ワット発電中 :2013/07/31(水) 19:50:33.69 ID:XusbPShn
ん?普通に手の指で2進数数えられるよ? 特殊な訓練をしたら(したw指が痛くなるまで)
素人は指を立てるか折るかだけで1bitの情報しか持たせないが、 指はアナログ量なので曲げ方を4段階にすれば、片手で10bit数えられる
MLCか!
人間の指は隣の指の干渉を受けるから、SNが悪くなる。 そこで提案だが、指を逆向きに曲げた状態も考慮してはどうだろう。
>>950 4倍にしてビット数2倍って、なんか損した気分
質問なのですがMPLAB X ver1.80で、 デバッグ中に変数にマウスカーソルを当てるとその値が見えますが、 16進数で表示されます、これを10進数で表示するようにすることはできますか?
出来る。たぶん右クリ
できなかった。
なんで型番をわざわざ隠してんの?
不思議だね
隠してあるわけじゃなく、ファームウェア書き込み済みの印じゃない?
隠してるって発想が面白いね。 何らかの対策の印とか色でレビジョンを示すとか いろいろあるのに。
これは不具合対策済みを示すマーキングだな 初期のロットにはよくある オペレーターが箱あけて、プログラム書き換えて、 済んだ奴は白ペンでちょんって印付けてくんだよ
隠すなら全部削るだろ
ベアチップを樹脂で丸く固めてあるのも、隠してると思ってる人がいるな
初期ロットはプログラムが完成してしてないかマスク品が間に合わなくて フラッシュROMを使うからこういう感じになんじゃない 何回もVre upして書きかえるとそのマークが増えていくよ 一般的にはICの1pinのくぼみをマーキングして書き換えが行われるたびに 残りの角に(○Pin側の角というふうに)マーキングの指示を出すのが一般的だと思ってたけど 品番右側(PIC24F以降)をマーキングとか指示してるのかね
>>964 隠す為にベアチップにする事はよくあるけどな
>>965 品番右側が隠れたのはたまたまだろjk
ところで右下の四角い部品は何?ブルースのモジュール?
いや、ロック
ひょっとしてジャズか
>>885 やっと規制解除された。
基本的に怪しい所をテスターで導通チェックしていくしかないでしょう。
可能ならば、部品実装前の方がいいのですが。
インサーキットボードテスターとかあると速いのですが、数千万以上する上に基板毎に治具が必要ですからね。
>基板毎に治具が必要 押し付けピンを格子(市松)状に並べておいてFPGAや マルチプレクサでソフトウェア的に切り替えれば汎用ジグつくれそうじゃね?
>>972 104基板ほどの大きさならベースが5万円ほどで1ピン@500円位で作ってくれる。
決まったパターンの部分はモジュール化しているようでアクリル板に社内標準モジュールみたいなのが貼り付けてあった。
治具だけなら意外と安いよ
テスト治具作ったな 今でもワイヤラッピングなんかしてる世界
私は趣味で電子工作やっているんだけど、 ワイヤラッピングは動作チェック用のテスト基板の配線に、今でもたまに使う。 配線変えによる使い回しが簡単にできるし、CSMWビットを使えば作業も早い。 ブレッドボードでもいいんだけどさ、部品の実装面積が不足したり、 穴の接触抵抗が心配だったりするんだよね。
ま、半田付けの下手糞な奴には良いんじゃね。 ワイヤラッピングは場所を取り過ぎるから、半田の方が便利。
ラッピングワイヤの本当の使い方を知ったときは衝撃だったよ。 あんなもんで導通するのか・・・・って。 ハンダの乗りが悪いから、電材な訳がない。 リボンとかのその手のラッピングアイテムの仲間の「色つき針金」を、 工作に使いまわしてるだけ、と思ってた。
分岐数が少ないうちは錫線の引き回しのほうがスマートだけど、 分岐が多くなると(プリント基板おこすよりも)手軽だよね>ワイヤラッピング >979 おいらがガッコにいたときは極細の単線(被覆線)でやらされてたような 気がするけど(ワイヤストリッパで向いてから筒のドリルみたいので巻いてた)、 いまはエナメル線(ポリウレタン線)でやるの??
単に巻いてるだけじゃなくて、四角いピンの角に強く当たることで、 導通を確実にしてる
982 :
774ワット発電中さん :2013/08/23(金) 04:52:33.49 ID:AECnY1Ln
昔のクロスバ式の電話交換機は全部ラッピング配線だったな。φ0.5の単線 の芯線だけ巻き付けてた。 ICに使うようなφ032とかφ0.26になると切れやすいので、モディファイド ラッピングと称して被覆の根本も少し巻き付けてた。
被服も巻くのが本来のやり方
ビットに被覆の一部が入るようになってないと被覆は巻けない。 φ0.5用のビットはそうなってなかったな。
ラッピングワイヤは面実装の石と混在するときに、 すべてに変換基板を用意しなくてはいけなくなるから 設計現場ではすごい勢いで淘汰されたね。
初めてCSMWビットを使った時、どうなってるんだ?と思った。 ワイアをちょうど良い長さに切って、被覆を剥いて、被覆の部分を2回ほど巻き付けてから 芯線を規定の回数だけ巻き付ける、が一瞬で終わってしまう。 でももう終わりだろうな、面実装だけではなく、高速度、高密度にも合わない。
そのうち精密ワイヤラッパーが開発される 今のを1/10くらいに縮小したイメージ 人間業ではラッピングできないので、ラッピングマシーンが自動で行う
多体問題を解くGRAPEの初号機を作るとき、 ワイヤラッピングする位置までツールをXYプロッタで動かしていたな でもツールを回すのは人力w
それは間違えない為だろうな
PIC18でUSBを使いたいんですが、クロックにセラロックを使っても 誤差は問題ない程度でしょうか? 水晶と比べて100倍以上違うみたいなので
USBの送受信そのものは専用ハードがやるんだし、 全然問題ないのでは
何千と作るんで無ければ、水晶使ってた方がよくないか?
Full SPEED USB の規格からは 誤差 0.25% 未満なんで 一般のセラロックでは、規格を満たせない。 ただ、0.5%ずれたセラロックでも PIC18でUSB通信はできる。
Hi-Speed USBの規定では±500ppmとのことで 水晶なら±50ppm程度だから問題なし、セラミック振動子だと0.5%(=5000ppm)なので 多少高くても水晶をつかべきだろうね。
http://www.avr.jp/user/EC/PDF/USBspcs.pdf >データ転送速度
(中略)
>Low-Speedデータは1.5Mbps±1.5%で転送されます。
>これは低価格Low-Speed装置用にセラミック振動子の使用を
>可能にしますが、Full-SpeedやHigh-Speed装置に対しては許されません。
USB1.1みたいな速度ならセラロックでもおkなんでね?(^ω^ )
780は、初めてのMSXに入ってたわ……どこ見ても「Z80A」が無くて悩んでた。
セカンドソース
16F1455/1459なら内蔵OSCでUSBいけるで
>>999 ホストからのUSB信号から自分のクロックを自動補正するアクティブ クロック チューニング機能が入っているからね
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。