2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

PIC専用のスレPart27

1 :774ワット発電中さん:2010/02/08(月) 10:19:13 ID:DWEHp4hC
 /Microchip ./|
 /( ゚∀゚)    /  | アセンブラのアの字もわからない
 |~ ̄ ̄ ̄ ̄ ̄|  /. 超初心者からHEXが読めてしまう
 |/Z./Z./Z./Z_|/ ||  鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
  ||. ||. ||. ||

例の如く基本リンクだ
http://www.microchip.com/  マイクロチップ本社(Microchip Technology Inc. )
http://www.microchip.co.jp/ マイクロチップ テクノロジー ジャパン 株式会社
またーりやっておくんなまし。
教えて君はとりあえずGoogle(http://www.google.co.jp/) くらい使おう

前スレ
PIC専用のスレPart25 … 実質Part26
http://science6.2ch.net/test/read.cgi/denki/1259844805/

2 :774ワット発電中さん:2010/02/08(月) 10:20:01 ID:DWEHp4hC
●過去スレ●
ttp://science6.2ch.net/test/read.cgi/denki/1259844805/ PIC専用のスレPart25 … 実質Part26
ttp://science6.2ch.net/test/read.cgi/denki/1252595909/ 【18F14K50やばい】PIC専用のスレPart25【超やばい】
ttp://science6.2ch.net/test/read.cgi/denki/1246661200/ 【ホビーから】PIC専用のスレPart24【業務まで】
ttp://science6.2ch.net/test/read.cgi/denki/1241103349/ 【ICD3も】PIC専用のスレPart21【出たよ】(実質Part23)
ttp://science6.2ch.net/test/read.cgi/denki/1234597519/ 【16F193x】PIC専用のスレPart22【次世代PIC】
ttp://science6.2ch.net/test/read.cgi/denki/1228312753/ 【Pickit3】PIC専用のスレPart21【速度3倍?】
ttp://science6.2ch.net/test/read.cgi/denki/1219616622/ 【DAC内蔵も】PIC専用のスレPart20【出たよ】
ttp://science6.2ch.net/test/read.cgi/denki/1212500774/ 【大人の】PIC専用のスレPart20【おもちゃ!】
ttp://science6.2ch.net/test/read.cgi/denki/1205937905/ 【16Fに】PIC専用のスレPart19【まだ新品種が!w】
ttp://science6.2ch.net/test/read.cgi/denki/1202041038/ 【得意分野は】PIC専用のスレPart18【書き込み器w】
ttp://science6.2ch.net/test/read.cgi/denki/1196633878/ 【米粒から】PIC専用のスレPart17【32ビットまで】
ttp://science6.2ch.net/test/read.cgi/denki/1192626561/ 【送料高い】PIC専用のスレPart16【バーゲンなのに】
ttp://science6.2ch.net/test/read.cgi/denki/1187863826/ 【SDCC】PIC専用のスレPart15【PICkit2】
ttp://science6.2ch.net/test/read.cgi/denki/1182435612/ 【PIC18F対応?】PIC専用のスレPart14【Writer509】
ttp://science6.2ch.net/test/read.cgi/denki/1175098079/ 【皆で作ろう】PIC専用のスレPart13【Writer509】
ttp://science6.2ch.net/test/read.cgi/denki/1165919841/ 【皆で作ろう】PIC専用のスレPart12【Writer509】
ttp://science4.2ch.net/test/read.cgi/denki/1161982672/ 【18Fは】PIC専用のスレPart11【(・∀・)イイ?】
ttp://science4.2ch.net/test/read.cgi/denki/1155772077/ 【12F629】PIC専用のスレPart10【輝け!】
ttp://science4.2ch.net/test/read.cgi/denki/1146949082/ 【12F683】PIC専用のスレPart9【囁け!】
ttp://science4.2ch.net/test/read.cgi/denki/1139471101/ 【16F648】PIC専用のスレPart8【動け!】
ttp://science4.2ch.net/test/read.cgi/denki/1134909554/ 【10F206】PIC専用のスレPart7【轟け!】
ttp://science4.2ch.net/test/read.cgi/denki/1127462924/ 【12F675】PIC専用のスレPart6【しゃぶれ】
ttp://science4.2ch.net/test/read.cgi/denki/1122092255/ 【お手軽】PIC専用のスレPart5【マイコン】
ttp://science3.2ch.net/test/read.cgi/denki/1115145584/ 【お手軽】PIC専用のスレPart4【マイコン】
ttp://science3.2ch.net/test/read.cgi/denki/1108027098/ 【お手軽】PIC専用のスレPart3【マイコン】
ttp://science3.2ch.net/test/read.cgi/denki/1094312282/ 【お手軽】PIC専用のスレPart2【マイコン】
ttp://science3.2ch.net/test/read.cgi/denki/1077618889/ 【超初心者】PIC専門のスレ【鬼プロ】
ttp://science2.2ch.net/test/read.cgi/denki/1072092201/ PIC AVR H8統合スレ (元祖)

3 :774ワット発電中さん:2010/02/08(月) 10:20:41 ID:DWEHp4hC
●開発ソフト等関連リンク●
Microchip Technology Inc.  MPLAB IDE←総合開発ツール(フリー)
  ttp://www.microchip.com/
    ※Cコンパイラはstudent版でフリー使用
    ※サードパーティコンパイラ群
     →ttp://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en534868
    C:\Program Files\Microchip\MPLAB IDE\Readmes\Readme for Third Party Tools.htm
      B Knudsen Data (ttp://www.bknd.com)
      Byte Craft (ttp://www.bytecraft.com)
      CCS (ttp://www.ccsinfo.com)
      HI-TECH (ttp://www.htsoft.com)
      IAR Systems (ttp://www.iar.com)
      microEngineering (ttp://www.melabs.com)

開発ツール仕様比較
  ttp://ime.nu/www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en534451

超FAQ MPLAB IDEを起動してもロゴ画面が一瞬表示されるだけでプログラム本体が起動しない対応
  ttp://www.cqpub.co.jp/toragi/contents/dsPICFAQ/FAQ3/faq3.htm

Custom Computer Services, Inc. (CCS C Compiler販売元)
  ttp://www.ccsinfo.com/
    ※30日期間限定デモ版あり

データダイナミクス(CCS Cコンパイラ日本代理店の1つ)
  ttp://www.datadynamics.co.jp/
    ※CCS C日本語リファレンス・マニュアルあり

株式会社 アイ・ピイ・アイ(CCS Cコンパイラ日本代理店の1つ)
  ttp://www.ipishop.com/
    ※FED-C, HITECH-C, MEL-BASIC, CH-BASICの取り扱いもあり

mikroElektronika (mikroC, mikroBasic, micrpPascalコンパイラ販売元)
  ttp://www.mikroe.com/
    ※フリー版コンパイラあり

HI-TECH Software (HI-TECH Cコンパイラ販売元)
  ttp://www.htsoft.com/
    ※フリー版コンパイラあり
    ※期間限定デモ版コンパイラあり

SDCC (PICもサポートするオープンソースCコンパイラ)
  ttp://sdcc.sourceforge.net/

LLVM (実験的PICサポートありのオープンソースCコンパイラ)
  ttp://llvm.org/

4 :774ワット発電中さん:2010/02/08(月) 10:21:22 ID:DWEHp4hC
●PIC入手先リンク●
MicrochipDirect
  ttp://www.microchipdirect.com/
秋月電子通商
  ttp://akizukidenshi.com/catalog/default.aspx
デジキー
  ttp://dkc1.digikey.com/jp/digihome.html
RS
  ttp://jp.rs-online.com/web/
チップワンストップ
  ttp://www.chip1stop.com/
マルツパーツ館
  ttps://www.marutsu.co.jp/user/index.php

5 :774ワット発電中さん:2010/02/08(月) 10:29:01 ID:DWEHp4hC
とりあえず、テンプレで準備した
価格表、関連スレは時間経過してるのでメンテ見送り

6 :774ワット発電中さん:2010/02/08(月) 12:57:39 ID:mni1Zq0H
>>3
mikroElektronikaにフリー版のコンパイラなんてあったっけ?デモ版しか見たことないんだが。

7 :774ワット発電中さん:2010/02/08(月) 13:26:23 ID:mWHRJcaY
18F14K50 は安いし、ブートローダーを書き込んでおけばUSB接続だけでプログラム書き込みできるから便利ですね!
小さいブレッドボードにのせて一通りの機能を試しています。デバッグしにくいのが難点ですが・・・

8 :774ワット発電中さん:2010/02/08(月) 13:37:24 ID:DWEHp4hC
>>6
前々スレからテンプレコピーしてきてるけど、その情報の真偽に
ついては未確認なんだ。古い情報ですまん。

9 :774ワット発電中さん:2010/02/08(月) 17:47:38 ID:k7iW3uzX
たぶん、Demo 版のことだろうねぇ。

10 :774ワット発電中さん:2010/02/08(月) 19:41:10 ID:f9lmjfWG
>>1

準備してました。

11 :774ワット発電中さん:2010/02/08(月) 22:47:36 ID:atdmgPe9
>>1乙です。

ポートA(RA3〜RA0の4ビット)入力とRB0割込みに応じて、
x3x2x1x0y3y2y1y0⇔y3y2y1y0x3x2x1x0(y3〜y0はx3〜x0の否定)
といった感じでLEDを表示させるプログラムを作りたいんですが、
入力をどう操作するようにプログラムを書けばよいのでしょうか?

本質的にはPICの問題ではないような気もするんですがどなたかよろしくお願いします。

12 :774ワット発電中さん:2010/02/09(火) 00:15:04 ID:fr357iQU
>>11

ポートAの入力と x3〜x0 の関係は RA3→x3, RA2→x2, RA1→x1, RA0→x0 ですか?
RB0 割込みはスイッチのようなものだと思いますが、割込みにしなければならないですか?
LEDは8個あるという認識で良いですか?
使いたいPIC、言語(アセンブラとかC言語とか)は何でしょうか?

13 :11:2010/02/09(火) 00:28:18 ID:ZHaPg1dN
>>12
説明不足ですみません。
ポートAの入力とx3〜x0の関係LEDに関してはおっしゃる通りです。
割込みの方は、デフォルトの時は別の表示パターンがあって、
RB0がHIGHになったときに割り込みが発生するというものです。
使うpicは16F84Aで、アセンブラでやってます。

14 :774ワット発電中さん:2010/02/09(火) 00:34:54 ID:fr357iQU
>>13

デフォルトの表示はポートAの入力とは関係の無い表示ですか?
未割込み時、割込み奇数回目(1、3、5・・・回目)、割込み偶数回目(2、4、6・・・回目)
の3通りの表示パターンがあるのですか?

15 :774ワット発電中さん:2010/02/09(火) 00:41:06 ID:F2uRL1Z4
細かいことは兎も角・・・
COMF とか XORF, XORLW 命令などを使えばbit反転できる。

16 :774ワット発電中さん:2010/02/09(火) 00:41:55 ID:fr357iQU
ちなみに古いですが、日本語のデータシートがこちらにあります。
もしお持ちでなければ便利かと思います。

ttp://ww1.microchip.com/downloads/en/DeviceDoc/30430cj2.pdf

17 :774ワット発電中さん:2010/02/09(火) 00:42:10 ID:F2uRL1Z4
細かいことは兎も角・・・
COMF とか XORWF, XORLW 命令などを使えばbit反転できる。

18 :774ワット発電中さん:2010/02/09(火) 00:54:48 ID:ZHaPg1dN
>>14
デフォルトの表示は全く関係ないです。
表示パターンは未割込み時と割り込み時の2パターンのみです。

19 :774ワット発電中さん:2010/02/09(火) 01:28:20 ID:fr357iQU
>>18

ということは、

> x3x2x1x0y3y2y1y0⇔y3y2y1y0x3x2x1x0(y3〜y0はx3〜x0の否定)

というのは、1秒おきとかで交互に表示させるということですか?

割込みがあったときに、その時点でのポートAの内容を反転させるのか、
随時ポートAの内容を反映させた表示になるのかによって処理が変わりますが、
>>17 さんがおっしゃっているように、XORWF などを使って、PORTA を読み出して
データを加工してから LED のポートに出力すれば良いと思います。
出力ポートがきれいに並んでいれば工夫の余地がありそうですが、とりあえず
BTFSS (ビットテスト)などを使って、1つずつ処理してみてはいかがでしょうか?


20 :774ワット発電中さん:2010/02/09(火) 01:45:45 ID:ZHaPg1dN
>>17
>>19

なるほど、ありがとうございます。


21 :774ワット発電中さん:2010/02/09(火) 02:01:08 ID:ukom42o7
アセじじいは、泣きながら徹夜でdebugか。
Cにしとけば(ry

22 :774ワット発電中さん:2010/02/09(火) 07:33:13 ID:ukom42o7
982 名前:963[sage] 投稿日:2010/02/08(月) 02:19:40 ID:rvonwuVR
>>967
今日は始発で出張なので準備で忙しい。
帰ってきて気が向いたら書いてやるよ。

23 :774ワット発電中さん:2010/02/09(火) 08:08:34 ID:gNGT65p0
C厨は無限ループからまだ抜け出せないのか

24 :774ワット発電中さん:2010/02/09(火) 08:12:48 ID:l8qW+SjM
ASM爺は無限ループしている事すら気づいていないわけだが・・

25 :774ワット発電中さん:2010/02/09(火) 08:25:26 ID:G3/EW+35
案の定の展開だな。
で、悔しそうだなとか暇じゃないんだと捨て台詞を残してしばらく隠れる。

ホンと具体的な、質疑のときは出てこねえな。
うちのクズ部長みてえだ。

26 :774ワット発電中さん:2010/02/09(火) 08:51:26 ID:Ke3zx1so
やっぱえい気が向かなかったみたいだね。わかりやすい単細胞だね。

27 :774ワット発電中さん:2010/02/09(火) 09:37:04 ID:Wv+X8piU
ASM爺はスタックを勘定しまちがえてどこかに飛んでいってしまったとさ

28 :774ワット発電中さん:2010/02/09(火) 10:15:34 ID:EvG+FC1Q
困った事に、ジャンプ先がメインループのどっかになるので、また同じ事を繰り返す。(笑)
sageないから特定しやすいから放置プレイにしてあげるのが一番いやなんだろうけど、複数ID使う時があるから知り合いと一緒にやっているんだろうな。
たまに単発あるからモバイル系のツールを使っているかもね。
アセンブラ爺に粘着する禿げもうざいね。

深夜に現れるパターンが多いから自宅警備員なのかな?
ま、まともな会社には勤められないだろうからほどほどにしときなよ。
自分はばれないと思っていてもちょっとした気の緩みでばれると、細々もらえている仕事もなくなるよ。

>>11
Cだったら十数行で出来そうな雰囲気だね。
制限あるけど、無料のを試してみてはどうだろうかね?


29 :774ワット発電中さん:2010/02/09(火) 12:24:24 ID:4qcGBvrc
> モバイル系のツールを使っているかもね。

ASM自身がモバイルツールかも。
住所不定という。
移動しながら無銭LANでアクセス。

30 :774ワット発電中さん:2010/02/09(火) 20:05:55 ID:RhyfzgMQ
16F886ってRBピン変化割り込み使う時にINTCONレジスタ以外に設定しなきゃいけないレジスタってあるんですか?
MPLABでデバッグした時にRBピンを変化させても割り込みが起きないんです。

31 :774ワット発電中さん:2010/02/09(火) 20:17:24 ID:IOQfAmkh
886のデータはみてないが option の INTEDG RBPUあたりかな


32 :774ワット発電中さん:2010/02/09(火) 20:22:38 ID:yykYB12e
Flash32k SRAM2k で750円
http://akizukidenshi.com/catalog/g/gM-03457/

33 :774ワット発電中さん:2010/02/09(火) 20:54:29 ID:NneERn8b
タイミングがシビアな処理のところで、
その場で条件判断させると時間がかかるから変数を用意して、
そこに出力するべき内容を予め入れておくようなプログラムを書いても、
アセンブルリストを見るとその場で計算するコードになっている

34 :774ワット発電中さん:2010/02/09(火) 21:25:22 ID:fHkL6Ekb
>>33
つvolatile

35 :774ワット発電中さん:2010/02/09(火) 21:45:22 ID:NneERn8b
いや、volatileにすると余計にその場で計算するのでは

36 :774ワット発電中さん:2010/02/09(火) 22:14:09 ID:NneERn8b
>>30
IOCBってのでPORTBのうち割り込みを発生させるピンを選べる
古いPICはBのどれが変化しても割り込みが起きてたけど

37 :774ワット発電中さん:2010/02/09(火) 22:24:00 ID:fZeVbFhE
>>33
アドレス計算だろ?

38 :774ワット発電中さん:2010/02/09(火) 22:25:24 ID:fHkL6Ekb
>>35
具体的にどういうコード書いてるのか知らないけど、
volatile変数を参照したら必ずメモリに読みに行くはずだけど。

39 :774ワット発電中さん:2010/02/09(火) 22:50:33 ID:ivK5oy7m
Cしか書けないやつらがしょうもない議論を延々と。
アルゴリズムを考えろ。

40 :774ワット発電中さん:2010/02/09(火) 23:16:41 ID:EAQl6YTI
portbのプルアップ可否がビット単位で設定化になった
portb変化割り込みが全ビット対象になりしかも各ビットについて個別に割り込みの可否が設定できるようになった
PIC16F886 887の地味な改良点

41 :774ワット発電中さん:2010/02/09(火) 23:17:51 ID:MCj1hxjy
考えるんじゃない 念じるんだ

42 :774ワット発電中さん:2010/02/09(火) 23:37:33 ID:NneERn8b
RA0 = data1;
タイマー処理
RA0 = data2;
みたいな処理があったとして、特に後半を正確なタイミングで実行させたい
data2の内容は事前にif文とかで決定済みなのに、実際のコンパイル結果では
RA0への出力が条件分岐になってたりする

data2をvolatileにしたところで、メモリの内容を書くのは変わらないので、
何も変化しないと思う

43 :774ワット発電中さん:2010/02/09(火) 23:55:38 ID:fr357iQU
>>42

コンパイラはなんですか?
タイマー処理というのは、割込みを使用しているのですか?
具体的なソースは提示できませんか?

44 :774ワット発電中さん:2010/02/10(水) 00:08:57 ID:wVzs6Sr4
別に質問じゃなくて話題提供なので
コンパイラはHI-TECH C
こやつの無料モードはアセンブラ見る度にいらいらする

45 :774ワット発電中さん:2010/02/10(水) 00:13:46 ID:yY5y3Z9Y
HI-TECH Cは正直バグあったりえぇ〜って事が結構ある。
可能なら他のコンパイラ使った方がいい。
正直18Fの値段も安いし16F以下を使うメリットが見つからない・・・。

46 :774ワット発電中さん:2010/02/10(水) 00:19:27 ID:G1yencBQ
>>42

アセンブラを使え!



47 :774ワット発電中さん:2010/02/10(水) 00:19:48 ID:D6tPgzmn
そういうの嫌ならAVRでgccでも使えよ

48 :774ワット発電中さん:2010/02/10(水) 00:21:25 ID:wVzs6Sr4
printf使ってて、いきなり何も出力されなくなって悩んだ挙句、
コンパイラのバージョンを上げたらあっさり直ったり

多分、バンク切り替え絡みなんだろうなあ
PICでコンパイラを作らないといけない人も大変だとは思う

49 :774ワット発電中さん:2010/02/10(水) 00:31:35 ID:2vGxPVxV
コンパイラは MCC18 しか使っていないのですが、コメントをいつも C++ スタイルの // で書いていて
よく「// ○○可能」とか書いてしまうと次の行がコメントになってしまいコンパイルされずにえらい目に遭います。
能とか表は2バイト目が \ と同じ 0x5c になっていて、次の行とつながってしまうんですよね・・・。
分かってはいるのですが、良くやってしまいます。HI-TECH C はこのようなことはないですか?

50 :774ワット発電中さん:2010/02/10(水) 01:11:14 ID:rEvDGIJR
>>49
それはそもそもDBCSに対応してないんだろ

51 :774ワット発電中さん:2010/02/10(水) 09:25:23 ID:3Yyhw/GR
>>49
HI-TECH Cも同様。経験済み

52 :774ワット発電中さん:2010/02/10(水) 11:21:38 ID:/oXE5fgi
>>31,>>36
さっそく設定してデバッグしたところ割り込みが発生しました。ありがとうございます。

53 :774ワット発電中さん:2010/02/10(水) 12:28:08 ID:MqfGuYZV
>>49
最初は半角スペース入れて回避してたけど、面倒になったからコメントは1バイト文字しか使わなくなった

54 :774ワット発電中さん:2010/02/10(水) 12:52:23 ID:MqfGuYZV
>>42
コンパイラがdata2を読みに行くより条件判定やりなおしたほうが効率良いと判断したんでしょ。
voaltile付ければこういう最適化は防げるはずだが。グダグダ言ってないで試せ。
例えば、
char data = 0;
RA0 = data;  
//BCF PORTA,0に展開される
一方、
volatile char data = 0;
RA0 = data;  
//BTFSC DATA,0 / GOTO / BSF PORTA,0 /BCF PORTA,0 に展開される

だが、タイミングが重要ならインラインアセンブラ使え。

55 :774ワット発電中さん:2010/02/10(水) 17:01:10 ID:cH3ItqUb
なにかマヌケな事をしてそうですが、どなたかお助けを。
PIC16F747 コンパイラはCCS RC0を出力にしてますが、
以下のコードでRC0がH→Lに落ちてしまいます。
void main()
{
port_b_pullups(TRUE);
setup_adc_ports(AN0_TO_AN4|VSS_VDD);
setup_adc(ADC_OFF|ADC_TAD_MUL_0);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_4);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
//Setup_Oscillator parameter not selected from Intr Oscillator Config tab
output_high(PIN_C0); //C_Relay ON
while(1){
output_high(PIN_C1);
}
}

ちなみに
output_low(PIN_C1) とかPINをC1〜C7に変えてもC0が落ちます。
#use fast_io(c) 入れてもダメでした。


56 :774ワット発電中さん:2010/02/10(水) 18:19:41 ID:5ku/tkHf
200kHzの信号に同期させて、PICから信号を出力させたいんですけど上手く行きません。
PICは16Fシリーズ、プログラムはCCSからC言語で書いてます。
演算は簡単なものしか入れてないので時間はかかってないかと思います。

原因はPICの入力、出力機能のハード的な時間のロスだと思うんですが
これは上位版のPICを使うことで解決できるでしょうか。

57 :774ワット発電中さん:2010/02/10(水) 18:52:19 ID:o77x+A5y
>>56
200KHz = 5μSEC
PIC16F で 20MHz(1命令 0.2μSEC) の 場合アセンブラで 25命令可能。
PIC18F で 40MHz(1命令 0.1μSEC) の 場合アセンブラで 50命令可能。

CCSC の 吐き出したアセンブラを読んで何命令で実行してるか数えてみたら?

58 :774ワット発電中さん:2010/02/10(水) 19:10:03 ID:+Ckw0dSy
>演算は簡単なものしか入れてないので時間はかかってないかと思います。
>原因はPICの入力、出力機能のハード的な時間のロスだと思うんですが

勝手な思い込みに基づいた妄想理論で物事進めたって上手くいくはずがない.

PICの入出力のハード的な時間のロスとやらよりも
PICの演算処理の方がはるかに時間を食わないと,
こう言いたいのかいな?
その演算処理がどのくらい時間を食うのかということを
きちんと計測したのか?


59 :774ワット発電中さん:2010/02/10(水) 19:10:53 ID:+Ckw0dSy
>演算は簡単なものしか入れてないので時間はかかってないかと思います。
>原因はPICの入力、出力機能のハード的な時間のロスだと思うんですが

PICの入出力のハード的な時間のロスとやらよりも
PICの演算処理の方がはるかに時間を食わないと,
こう言いたいのかいな?
その演算処理がどのくらい時間を食うのかということを
きちんと計測したのか?
勝手な思い込みに基づいた妄想理論で物事進めたって上手くいくはずないよ



60 :774ワット発電中さん:2010/02/10(水) 19:30:26 ID:2vGxPVxV
>>56
もし割込みを使っているなら、その際にコンパイラが管理しているリソース(割込みから戻ってきても、
直前のレジスタやワークメモリが変化がないように)が自動で保存され、その命令ですでに20〜30命令
行ってしまっているかもしれません。私は MCC18 しか使っていませんが、こういったことをなくすために
割込み関数につける #pragma interrupt foo nosave=○○○ のような機能が CCS にあれば、割込み時の
オーバーヘッドを減らすことができます。しかし、コンパイラが管理しているリソースに注意して扱わないと
正常に動作しません。

その要件なら、命令数を数える必要がありますね。
ちなみに PIC18F は >>57 さんがおっしゃられている通りですが、USB内臓の 18F14K50 や 18F2550 など
では 48MHzで動かせるので、60命令可能です。

61 :774ワット発電中さん:2010/02/10(水) 19:43:51 ID:itq3LvFL
>>55
出力のビット操作は一旦ポート全体を読み取ってビット操作した後
ポート全体を出力するので出力のハイレベルが外部回路によって
入力のスレッシホールド以下に引っ張られてるとローレベルとして読み込まれ
そのままローで出力されてしまうと、どっかに書いてあったぞ

RC0のハイ時の電圧を測ってみてはいかがかな

もしこのパターンならビット操作を使わずに
ポート全体のビットパターンを用意して出力するべし


ポート全体を

62 :774ワット発電中さん:2010/02/10(水) 19:57:23 ID:6ZITpAie
寝落ち?

63 :56:2010/02/10(水) 20:20:18 ID:5ku/tkHf
たくさんの回答ありがとうございます。

アセンブラの知識はほとんどないので、なるべく避けて通れれば・・・と思ってたんですが必要みたいですね。
命令数を数えてやってみます。

64 :774ワット発電中さん:2010/02/10(水) 20:28:53 ID:MqfGuYZV
命令数数えなくてもMPLAB SIMでストップウォッチで測ればいいのに

65 :774ワット発電中さん:2010/02/10(水) 20:50:39 ID:zDLENq75
>>56
>演算は簡単なものしか入れてないので時間はかかってないかと思います。
演算はどんなのやっているかわからんが、間に合っていないか確認するには200kHzの信号を50kHzとかに遅くしてみるのもいいよ。
間に合わないので動かないのであれば、タイミングを遅くすれば問題なく処理できる。

66 :774ワット発電中さん:2010/02/10(水) 21:29:53 ID:1/T+PGh/
>>57 さんが言うように 5us(200kHz)間にPIC16では最大25命令しか実行できないんだから厳しいよな。

>>60
C18の nosave=とは意味が違うけど、CCS(PCH)では
#DEVICE HIGH_INTS=TRUE //高位割込み有効
#INT_EXT1 FAST などとしてオーバーヘッドの無いFAST割込み使える

67 :774ワット発電中さん:2010/02/10(水) 21:45:07 ID:1/T+PGh/
ついで・・・  PIC16F用CCS(PCM)の場合は
#INT_GLOBAL で一応オーバヘッド無しの割込み使える。
但し、STATUSやW-REGなども一切退避/復元の面倒見ない特別扱いだ。

通常はレジスタ退避/復元に加えて複数割込み要因の有線判断分岐まで
CCS-Cが面倒見るのでかなりオーバヘッドが大きくなる。

68 :774ワット発電中さん:2010/02/10(水) 21:46:41 ID:1/T+PGh/
×有線
○優先

69 :774ワット発電中さん:2010/02/10(水) 22:04:08 ID:wVzs6Sr4
割り算1回500us @20MHz

70 :774ワット発電中さん:2010/02/10(水) 22:58:53 ID:x8gjXeE6
こういう具体的な話のときは、アセンブラオヤジは出てこない。
いっそずっと善部町に隠遁していてほしい。

71 :774ワット発電中さん:2010/02/11(木) 00:00:21 ID:EHWqwd+D
プリウスの騒動で走り回ってたりしてな。アセ爺。
もちろんPatch作る方じゃなくて、ROM焼き要員な。

72 :774ワット発電中さん:2010/02/11(木) 00:20:27 ID:UM6pMIOz
あのアセンブラ親父は知識0で多分アセンブラも書けない事は前スレのレスを見れば分かるだろ。
いちいち煽り入れるキチガイもいい加減ウザイ。

73 :774ワット発電中さん:2010/02/11(木) 04:29:06 ID:hBZW1amH
>>72
> いちいち煽り入れるキチガイもいい加減ウザイ。
俺も前々スレから言ってるけど、一向にやめる気配が無いところを見ると
おそらくそっちも荒らし。
場合によっては自作自演かもな。

74 :774ワット発電中さん:2010/02/11(木) 09:31:49 ID:EHWqwd+D
>72 .>73も同罪。ネタがなきゃ黙ってるがよし。

75 :774ワット発電中さん:2010/02/11(木) 10:06:29 ID:c6Kme4jL
> 割り算1回500us @20MHz
アセンブラやってると、絶対回避したくなる汎用演算ルーチン。
有効ビット数分だけ回せば○μs速くなるとか、テーブルで誤魔化せば爆速とか、
固定値ならシフトと加算でいけるとか・・・

76 :774ワット発電中さん:2010/02/11(木) 10:20:21 ID:7juLAXjD
>>56
クロック40MHzで、10us間隔の受け取りだけはやった事あるよ。
出力となるとタイマー割り込みを使うので、計算しながらはきつい。
加算だけでも数クロック消費される。
ところで出力はどうやって出しているのかな?
I2Cとかだと難易度は上がるぞ。

>74
あおりは1日一回程度にしとけ

お前が一番糞だな。

お前が一番糞だな。

重要なので2回書きました。

77 :774ワット発電中さん:2010/02/11(木) 10:41:30 ID:fUm/8zaS
いつまでも大人になれないPICユーザーw。

78 :774ワット発電中さん:2010/02/11(木) 12:46:03 ID:cdcVvW9r
どうみてもあおり等ではなくあらしw

79 :774ワット発電中さん:2010/02/11(木) 14:34:01 ID:8k9Lm1ra
>>49
5C問題は、なんかもう当たり前のように大抵のコンパイラに標準装備されてるな

80 :774ワット発電中さん:2010/02/11(木) 18:09:21 ID:qW9Qpsce
mikroCにバグがあるって聞いたけどマジ?

81 :774ワット発電中さん:2010/02/11(木) 18:11:11 ID:u9T6Nx+Z
バグはあるでしょ、変な書き方すると表面化するようなのは

82 :774ワット発電中さん:2010/02/11(木) 18:12:09 ID:BuWybU6p
今後私用でPICを使うときは、24シリーズのものを使うことになりました
そうするとこのスレともお別れかな…
またね

83 :774ワット発電中さん:2010/02/11(木) 18:24:21 ID:qW9Qpsce
ttp://akibajin.blog4.fc2.com/blog-entry-28.html
mikroC使おうかなと思ってたんだが、ここ目にして不安になった

84 :774ワット発電中さん:2010/02/11(木) 19:16:39 ID:u+6lkGkA
使い勝手がいいから重宝してるが
ハーフ フルブリッジとかやろうとすると大変だ




85 :774ワット発電中さん:2010/02/11(木) 19:18:15 ID:16l56wFk
>>82 PIC24のスレってあったっけ?

86 :774ワット発電中さん:2010/02/11(木) 20:25:13 ID:QWKhywvd
>>62
10何年ぶりに聞いた、その言葉w

87 :774ワット発電中さん:2010/02/11(木) 20:31:26 ID:upA3XvE3
8/16/32bitを1スレでやるのは確かに無理があるな。
でも、分けるほど書き込みは多く無いからこのままでもいいと思うけど。

88 :774ワット発電中さん:2010/02/11(木) 20:59:25 ID:RpC9DbGU
と言うか、Cを使う先進ユーザーと、アセンブラに固執するユーザでスレ分けたほうがいいと思う。

89 :774ワット発電中さん:2010/02/11(木) 21:00:58 ID:/AgNmdGS
マカーみたいに、アセ爺が布教に来る悪寒。

90 :774ワット発電中さん:2010/02/11(木) 21:17:35 ID:07aME4HI
>>88
に賛成。



91 :774ワット発電中さん:2010/02/11(木) 21:18:52 ID:M6e16eGf
スレタイは16bit以上専用スレでいいかな

92 :774ワット発電中さん:2010/02/11(木) 21:30:14 ID:7POlPset
分けても荒らしに来ると思う

93 :774ワット発電中さん:2010/02/11(木) 22:24:44 ID:M6e16eGf
荒らすにはアセじいも16bit勉強しないとあかんだろ
そもそもこの板に立てるってことは半分基地外を
相手にするようなものだし、気にしてもしょうがない

94 :774ワット発電中さん:2010/02/11(木) 22:31:07 ID:63f0jJ5c
Cとアセンブラは適材適所で使うもんだろ。
こんな過疎スレを分けてどうするんだ。

95 :774ワット発電中さん:2010/02/11(木) 22:33:08 ID:EHWqwd+D
アセンブラにCを取り込むことはないけど、Cの中にインラインすることはあるから、それなりに棲み分けできると思うけど。

96 :774ワット発電中さん:2010/02/11(木) 22:42:41 ID:rIGH9ldq
>と言うか、Cを使う先進ユーザーと、アセンブラに固執するユーザでスレ分けたほうがいいと思う。
とかなんとか、わいわいやるのが楽しくてしょうがないんだろ、おまえは。

伸びてると思ったら、くだらねーレスばっかり。
>>94でまとまった。もっとやりたいなら、さっさと「先進なC」専用スレを立てて逝け。
他所でやれと、とっくに言われてるだろうが、この糞ガキ。ここはCだろうが汗だろうが
hexだろうがなんでもありだ。

97 :774ワット発電中さん:2010/02/11(木) 22:48:24 ID:EHWqwd+D
俺のスレ!みたいな仕切屋軽石登場。

98 :774ワット発電中さん:2010/02/11(木) 23:25:13 ID:8k9Lm1ra
つか、新しいのを苦労せずに使ったら、語る内容が何もないだろ

わざと制限を設けて、その範囲内でベストを追及するというストイックな愉しみなんだから、
もっと楽な方法があるよというアドバイスはただのKY

99 :774ワット発電中さん:2010/02/11(木) 23:29:41 ID:EHWqwd+D
確かに、大抵は”完成品買ったら?”で終わっちゃうしね。

100 :774ワット発電中さん:2010/02/11(木) 23:57:29 ID:8k9Lm1ra
例えば、17文字で俳句をひねってる人に、小説の表現能力を自慢するようなもの

101 :774ワット発電中さん:2010/02/12(金) 00:18:48 ID:UrKxkbyA
なぜ24シリーズをこのスレから分離する必要があるのかわからん。
24だろうがdsPICだろうがPICだろう?

102 :774ワット発電中さん:2010/02/12(金) 00:51:46 ID:OhTrv60Z
> 分離する必要があるのかわからん。

汗爺を切り離すキーワードはなにか?って話でしょ。

103 :774ワット発電中さん:2010/02/12(金) 01:05:40 ID:Uz2edbyS
16bitPICを使うと、8bit系のPICは糞に思える
AVRを使うと、8bit系PICは糞に思える
16bitPICを使うとAVRは糞に思える
16bitPICでアセンブラ話は全く参考にならん

言語レベルの優劣ネタは16bitPICやAVR使ってると
もう答えはでてる

で、くだらない事にスレが消費されるのが純粋に嫌

104 :774ワット発電中さん:2010/02/12(金) 01:36:16 ID:M90evtHr
>>102
逆だよ。
汗爺とか呼ばれてる人よりそれをしつこく叩いてる人の方が問題なんだよ。

105 :774ワット発電中さん:2010/02/12(金) 01:38:37 ID:jxXshbKU
PICマジネタスレとPICアラシスレに分けた方がいいんじゃね?

106 :774ワット発電中さん:2010/02/12(金) 01:53:32 ID:OhTrv60Z
>104
汗爺がいなければ、その周辺も現れない。
汗爺本人か?

107 :774ワット発電中さん:2010/02/12(金) 02:17:51 ID:UrKxkbyA
>汗爺がいなければ、その周辺も現れない
そんなこと無いと思うけど?

108 :774ワット発電中さん:2010/02/12(金) 09:18:29 ID:+zMCYzRS
ちょっと教えてくだしあ
PIC24で16パラレルで同時にI/Oできますか?

109 :774ワット発電中さん:2010/02/12(金) 09:34:13 ID:63+B9lNF
>61
かめレスですが、
ズバリその通りでした。
ありがとうございました。

110 :774ワット発電中さん:2010/02/12(金) 10:24:30 ID:7d+L3FAy
>>108
PICマジネタスレに行ってください

111 :774ワット発電中さん:2010/02/12(金) 10:26:32 ID:CTwby+pd
>107

理由を具体的に言えよ。汗爺W。

軽石、重石、汗爺もTwitterで勝手に呟いてくれればいいんですけど。

112 :774ワット発電中さん:2010/02/12(金) 10:43:25 ID:R8YyKaS3
>>108 やりたい事がよく分からないけど、出来るんじゃないの? ファイルレジスタも16bitだし

113 :774ワット発電中さん:2010/02/12(金) 13:45:42 ID:+zMCYzRS
>>112
FPGAの16ビットカウンタの値を読むんです。
8ビットづつでも不可能ではないですが、遅いので・・・

http://www.microchip.jp/docs/DS39711A_JP.pdf
これ読んだけどんだ書いてないです。
ネットを検索してもそれらしいのにヒットしないし、どうもできそうな気がしないんですね


114 :774ワット発電中さん:2010/02/12(金) 13:51:32 ID:IWKu0uT1
シフトレジスタ使えばいいんじゃないの?
と電子工作1週間の俺が言ってみる

115 :774ワット発電中さん:2010/02/12(金) 14:09:59 ID:M6j1CaS/
>>113
PORTレジスタが16bit幅なんだから当然できる。
でもRB0〜15みたいにPORT揃うかどうか問題かも

116 :774ワット発電中さん:2010/02/12(金) 14:38:44 ID:fLsKPRCP
>>113
レジスタマップは16ビットになっているやん
仕様がわかったら、ぐだぐだ悩んでいないでコード書けばすぐにわかる。

外部メモリとして連続したアドレスをアクセスしたいのであれば具体的なデバイスが判らなん状態ではなんとも言えない。
手持ちのPIC24FJ64GAだとパラレルマスターとしては、8ビットバスとしか使えないみたいね。

117 :774ワット発電中さん:2010/02/12(金) 14:49:22 ID:+zMCYzRS
ほんとだ、RB15までありますね!
でも、AN0とRB0が共通なありがたい仕様ですね
80pinならRDが使えそう
どうもありがとー

118 :774ワット発電中さん:2010/02/12(金) 19:34:13 ID:QzfjkMon

>>100
なんかいい喩えだな。
いただく。


119 :774ワット発電中さん:2010/02/12(金) 23:05:55 ID:UrKxkbyA
>>111
理由わかんない?
キチガイは自分の事はわからないみたいだな。
理由は爺が居なくなってもお前が居るからだよ。

120 :774ワット発電中さん:2010/02/13(土) 00:51:56 ID:xqmRXLdx
>>118

確かにいい喩えですね。
俳句、川柳、短歌、小説のような違いといえば分かりやすそうですね。
ただ、同じ文章(プログラム)を書くわけですから共通点はありますね。
ある決まったルールの中で極めるというのはスポーツでもそうですが、素晴らしいものです。

8〜32 ビットまでありますが、またがって使われている方がいて、
そういった方から有用なアドバイスがいただける可能性がありますし、
スレッドの伸びもそんなに無いので、現段階ではこのままで良いのかなと思います。

最近はC言語からはじめる人が多いと思いますが、Cではどうしても表現が煩雑になる処理が
あったりするので、そういったときにアセンブラを覚えておいて、インラインアセンブラで記述すると
効率が良いことがあります。(特に8ビットマイコンの場合)
個人的な意見ですが、プログラムを初めてやる方なら、まずはアセンブラで始めたほうがいいと思います。
Cに移って慣れてくると、自ずとコンパイルで吐き出されるであろうコードが出てくるようになります。

121 :774ワット発電中さん:2010/02/13(土) 01:43:44 ID:GKq/X0E4
picc9.70バグあるのね
cgpic.exeがなんたら

122 :774ワット発電中さん:2010/02/13(土) 02:09:22 ID:GKA/wZ8d
>119

自分が見えていないみたいね...。
荒らしは自分でトリガを作れない、その程度の頭なんだよ。
>119みたいなのが取っ掛かりを作るんだ。

123 :774ワット発電中さん:2010/02/13(土) 03:06:23 ID:xQyUPI/J
>>122

自分が見えていないみたいね...。
荒らしは自分でトリガを作れない、その程度の頭なんだよ。
>>122みたいなのが取っ掛かりを作るんだ。

124 :774ワット発電中さん:2010/02/13(土) 03:06:45 ID:lyfUzq/y
>インラインアセンブラで記述すると効率が良いことがあります
局所的には多少のクロック数稼ぎにはなったようでも
システムとしてみたら殆ど意味が無かったなんていう
ことも多そうだけどね。

125 :774ワット発電中さん:2010/02/13(土) 07:59:56 ID:GKA/wZ8d
>ID:xQyUPI/J
自分が見えていないみたいね...。
荒らしは自分でトリガを作れない、その程度の頭なんだよ。
>ID:xQyUPI/Jみたいなのが取っ掛かりを作るんだ。

126 :774ワット発電中さん:2010/02/13(土) 09:26:18 ID:SElha3n/
>>120
>Cではどうしても表現が煩雑になる処理が あったりするので
LSTファイルを見るとアセンブルリストの方がシンプルに見える場合がありますが、アセンブルリストだけ見ると何しているかわかりにくいですね。
他人が理解しやすいのはC言語の方だと思います。

ま、C言語だけではなく、アセンブラを勉強するのは悪いことではないですね。
もっとも勉強はしても普通に使う事はないと思いますが、CPUの動きを理解していれば効率の良いロジックを設計できると思います。
あと、コンパイラのバグなどはアセンブラを理解できないとなぞの動きで終わってしまいますので、覚えておいて損はありません。
逆にアセンブラしかできないと、たくさんあるCソースを理解できないので損する事は間違いないです。
アセンブラを理解できる人であればC言語の理解は容易だと思うのですが、おかしなこだわりは無駄だと思います。


127 :774ワット発電中さん:2010/02/13(土) 09:55:32 ID:ZtRNfknc
自作のPIC利用機器で、簡単にPIC内部の設定を変える場合にシリアル通信使う場合、
どのようにしたらいいでしょう。

古いテレビなどでは、拡張コントロール端子としてステレオジャックがついてい
る物がありますが、ステレオケーブルを使う場合は信号は3線になりますよね。

1つをGNDとして、残り二つでTX/RXでいいんでしょうか?
あとこの場合、不意に抜き差しが行われた場合にPICが壊れたり、バッファが
壊れて機器が使えなくならないようにするにはどのような保護回路を入れれば
よいですか?


を二つ

128 :774ワット発電中さん:2010/02/13(土) 09:56:43 ID:ZtRNfknc
二つの機器を接続する、しかもホットプラグokってなったとたん初心者のレベルを
逸脱するなぁ>>電子工作。

129 :774ワット発電中さん:2010/02/13(土) 10:00:27 ID:ZtRNfknc
それとも、半二重通信にして、GND/TXRX/ループバックの3つかな?
あーもーわからん。


130 :774ワット発電中さん:2010/02/13(土) 10:10:39 ID:MrZY8R9L
ふつうにGND/TX/RXでいいでしょう
かわったことするとハマルしw

保護は目的外のとこに接触したときの電流制限抵抗でいいんじゃない?


131 :774ワット発電中さん:2010/02/13(土) 10:15:27 ID:GKA/wZ8d
MAX232相当のIC入れればおk。
ロジックレベルでやるなら、信号ラインに100?入れて、その後ダイオードを信号-電源、信号-GNDの間に入れてPICにつなげばおk。
ブラウン管のテレビはトランスレス方式のがあったりするのでちうい。

132 :774ワット発電中さん:2010/02/13(土) 10:18:35 ID:HgbNbgG5
>>127
とりあえず落ち着こうか。
パソコンからPICのEEPROMを書き換えるってことでおk?


133 :774ワット発電中さん:2010/02/13(土) 10:35:42 ID:ZtRNfknc
目的としては、EEPROM内部においてあるテーブルデータを更新することです。
今までは、プログラム領域に複数置いてスイッチ操作で行っていましたが、
パソコンに繋いで設定変えれると便利だなと。

>>130
機器の方は乾電池で動くので3.4V〜2.6Vの幅があるんですよ。
そういうものも含めてうまくいくかな?

>>131
後者の方法は、ライター509の接続部みたいな形ですか?

うーわー、先日貰ってきた家の猫トリニトロン管に猫パンチしやがった。



134 :774ワット発電中さん:2010/02/13(土) 10:45:28 ID:MrZY8R9L
>>機器の方は乾電池で動くので3.4V〜2.6Vの幅があるんですよ。
>>そういうものも含めてうまくいくかな?

各電圧で誤接触の電流値と信号レベルがどうなるか
チョイチョイと計算してみなはれ


135 :774ワット発電中さん:2010/02/13(土) 11:34:43 ID:wlx90uwm
>>133
自分はFT232RLでUSB接続にした

136 :774ワット発電中さん:2010/02/13(土) 12:24:18 ID:1JR7HeeE
すまん。
汗爺ってよく出るけど一体誰?

137 :774ワット発電中さん:2010/02/13(土) 12:52:20 ID:0Vfau+Dy
>136

こいつ
107 名前:774ワット発電中さん[sage] 投稿日:2010/02/12(金) 02:17:51 ID:UrKxkbyA
>汗爺がいなければ、その周辺も現れない
そんなこと無いと思うけど?


軽石の豚嫁の重石といううわさあり。
http://karuishi.servehttp.com/

138 :774ワット発電中さん:2010/02/13(土) 13:41:57 ID:reD5P02O
>>126
>LSTファイルを見るとアセンブルリストの方がシンプルに見える場合がありますが、アセンブルリストだけ見ると何しているかわかりにくいですね。

それは、真面目にコメントを書いてないからです。

139 :774ワット発電中さん:2010/02/13(土) 14:32:31 ID:IVhLCywP
>>126

>>アセンブラを理解できる人であればC言語の理解は容易だと思うのですが、おかしなこだわりは無駄だと思います。

すんませんなあアセンブラはわかるけどCはわからんわ
ハードと密接にかかわってるCのソースなんてまるで暗号だしな

0からだとアセンブラのほうが理解しやすいから先に覚えちゃって
いまだにCは後回し状態だわw

Cのほうがわかり安いって言ってるのって、
ソフト畑で先にC言語を覚えてしまってた人じゃないの?

Cのほうが生産性が高いってのは否定しないけどね



140 :774ワット発電中さん:2010/02/13(土) 16:10:19 ID:xjVpEjeQ
コンパイルしてアセンブラでどうなってるか見ることがちょくちょくあるな
windows用とかdos用のソフトならそんなこと滅多にしない

だからといって、全部丸ごとアセンブラで書くのはマゾすぎる
肝部分だけインラインというのがいちばん正解に近い

141 :774ワット発電中さん:2010/02/13(土) 16:20:35 ID:hZzMt4aA
>>139
俺は逆かも。
Cは分かるけど、PICのアセンブラでどう処理をさせればいいか分からなくなる。
言語仕様は大体分かるようになるが。
特に、16bitは。

142 :774ワット発電中さん:2010/02/13(土) 16:37:54 ID:xk6ve+2v
>>特に、16bitは。

PIC16Fは 16ビットのことだよ?

PIC18Fは 18ビットのことだよ?

PIC24Fは 24ビットのことだよ?

「16bit」だけ書くと意味不明になるからPIC24Fと書いた方がよいよ?


143 :774ワット発電中さん:2010/02/13(土) 17:29:25 ID:7fFIEItr
インラインだよなぁASM。骨格は高級言語。


144 :774ワット発電中さん:2010/02/13(土) 17:30:46 ID:7fFIEItr
しかし、みんなでアセ爺召還の呪文唱えてどうする。
ほかの話題にしましょうや。
実はみんな待っているのか?

145 :774ワット発電中さん:2010/02/13(土) 17:46:51 ID:bKLMnzly
>>142
PIC16Fは8bit (12/14bit instruction)
PIC18Fは8bit (16bit instruction)
PIC24Fは16bit (24bit instruction)

xx bit CPUという場合は普通はデータバス幅をいう
命令幅だとしてもあなたのは間違いだらけだけど

146 :774ワット発電中さん:2010/02/13(土) 17:56:51 ID:Xew921+J
PICやるならアセンブラ
これ常識な

147 :774ワット発電中さん:2010/02/13(土) 18:21:48 ID:kJsQli3C
xxの常識は++の非常識ということもあるから、あまり粘着するなってww

148 :774ワット発電中さん:2010/02/13(土) 18:23:45 ID:RqcVgDLY
PICは>>142のような中学生レベルの人間も使うCPU?
AVRやH8ではこういった中学生レベルは出現しない?
だからPIC使う人間は馬鹿にされる?

149 :774ワット発電中さん:2010/02/13(土) 19:40:27 ID:PRp+NzHe
>>142
私の現在のメインは12bitですが、いつかは米粒10bitに挑戦したく思う所存であります。
80bitや800bitを使った20年前のパソコンも現役であります。


150 :774ワット発電中さん:2010/02/13(土) 23:59:25 ID:reD5P02O
>>144
おまえよりマシ

151 :774ワット発電中さん:2010/02/14(日) 00:21:52 ID:aW6PVD2g
最近汗爺よりアンカーもまともに打てないのに必死にID変えて自演してる厨の方がウザイ。

152 :774ワット発電中さん:2010/02/14(日) 01:04:16 ID:v/x565GK
>150 とかな

153 :774ワット発電中さん:2010/02/14(日) 01:49:48 ID:vyVvIOV+
PICCが出すアセンブラってどうやってみんの?

154 :774ワット発電中さん:2010/02/14(日) 03:03:57 ID:pMq5uuCA
>150
見てて痛すぎる

>>153
ツールバー → View → Disassembly Listing

155 :774ワット発電中さん:2010/02/14(日) 06:46:32 ID:cKqZvqVa
>>145
サーセン
16bit MCU/DSCがパッと出なくて。

156 :774ワット発電中さん:2010/02/14(日) 12:34:26 ID:vyVvIOV+
>>154
おおおおお!
ありがとうございます!

しかしスパゲッティすぎて吹いたw

157 :774ワット発電中さん:2010/02/14(日) 14:42:18 ID:nhDFBAZF
goto3連発を多発しとるからな
慣れても読めない

158 :774ワット発電中さん:2010/02/15(月) 09:21:39 ID:MrKT46MB
goto 先辿りにくいですよね・・・
簡単に移動できる方法ないですかね?
何かツールでも作っちゃおうかしら・・・

159 :774ワット発電中さん:2010/02/15(月) 20:07:02 ID:oIaSFu4f
wktk

160 :774ワット発電中さん:2010/02/15(月) 23:07:40 ID:wCQLccJj
あと、NOPをいくつかいれると、アセンブルリストの中に散りばめられるのは何故

161 :774ワット発電中さん:2010/02/16(火) 15:47:37 ID:gx7eOtBv
>>159
wktkって何ですか?

162 :774ワット発電中さん:2010/02/16(火) 17:30:47 ID:en1JaH8T
>>161
+   +
  ∧_∧  +
 (0゚・∀・)   ワクワクテカテカ
 (0゚∪ ∪ +
 と__)__) +

163 :774ワット発電中さん:2010/02/16(火) 19:04:42 ID:2aNlBGbg
教えてください。
C18コンパイラで、Cファイル内に_asmでアセンブラを書いて、
そのアセンブラからCで定義されたSFRやグローバル変数には
どのようにアクセスしたらよいのでしょうか。

164 :774ワット発電中さん:2010/02/16(火) 19:41:51 ID:SDp7qJmA
使用しないピンって入力に設定して、割り込みピンを除けばなにも繋がないのがデフォルトですか?

165 :774ワット発電中さん:2010/02/16(火) 19:45:17 ID:nga4u9R1
>>163 50頁あたり・・・
ttp://ww1.microchip.com/downloads/en/DeviceDoc/51288C_JP.pdf

166 :163:2010/02/16(火) 19:58:00 ID:2aNlBGbg
>>165
ありがとうございました。
ただ、Cソースファイル内で_asmした場合も同様でしょうか。
また、関数も呼べるのでしょうか。

167 :774ワット発電中さん:2010/02/16(火) 20:04:54 ID:bmWHJ5mB
まずは胸に手を当てて、いちいち2chで教えてもらっている自分の存在価値を問いただしてみよう


168 :774ワット発電中さん:2010/02/16(火) 20:05:42 ID:k/VDlBBg
AVRもリセット直後は全ポート入力になるけど
そのままだと動作周波数に関わらず7mA位消費電流が上乗せされる
プルアップ設定したりする手間がかかる

PICだと入力のままでも余計な電流消費がない
それはPICの良い点

169 :774ワット発電中さん:2010/02/16(火) 20:15:47 ID:SDp7qJmA
ありがとうございます。安全のため使用しないピンは入力に設定します。

170 :774ワット発電中さん:2010/02/16(火) 20:23:58 ID:/6iIvIEo
CMOS入力ピンをオープンで放置するなよ('A`)

171 :774ワット発電中さん:2010/02/16(火) 20:33:37 ID:WS7rEizf
ラダー抵抗で遊んでみた
、、、ノイズ多いな
分解能8bitもあれば、それ以上はノイズに埋もれそうだ
そして、テーブルが64くらいしか用意できなくてガタガタ
90くらいでもコンパイルは通るけど、動かしてみると無茶苦茶になる

172 :774ワット発電中さん:2010/02/16(火) 20:34:42 ID:7BBQl+4A
>>168
PICのスレなのに申し訳ないんだけど、7mA上乗せってどうして?

173 :774ワット発電中さん:2010/02/16(火) 21:44:42 ID:gx7eOtBv
>>171
僕は16bitのを作って使っているけど、まずまず出るけど?

174 :774ワット発電中さん:2010/02/16(火) 22:38:29 ID:WS7rEizf
出力を8bitと比較してスペクトル解析とかしてみた?

175 :774ワット発電中さん:2010/02/16(火) 23:13:06 ID:Y+WrWsih
>>168
> PICだと入力のままでも余計な電流消費がない
PICでもオープンになってる入力端子を指でなぞると、消費電力が10mAぐらい変動するよ。

>>172
マイコンだって、内部はデジタル回路の組み合わせだからね。
たとえCPUから読み出されなくても、入力回路は動いてるんだよ。

176 :774ワット発電中さん:2010/02/16(火) 23:57:58 ID:7BBQl+4A
>>175
ああ、入力オープンで放置したときの話なのね。3Qです。

177 :774ワット発電中さん:2010/02/18(木) 16:09:23 ID:riJTQRxn
>>30
88xで追加されたアナログ入力の上位を禁止にしろ

178 :774ワット発電中さん:2010/02/18(木) 22:47:41 ID:4BdzZjSr
ラダー抵抗で作った波形を、何かをドライブできるようにオペアンプ通したら
なんかぐちゃぐちゃになった
LM358って駄目なの?
何ならいいんだろ

179 :774ワット発電中さん:2010/02/18(木) 23:12:06 ID:uPiMO9bY
LM358は入力フルスイング対応じゃないはずだから、
入力の入れすぎじゃないの?

180 :774ワット発電中さん:2010/02/18(木) 23:12:46 ID:KaKhVOee
>>178
データシート嫁
オシロで眺めてみれば理由はすぐわかるぞ

181 :774ワット発電中さん:2010/02/18(木) 23:13:36 ID:y7o2oKb0
駄目じゃないよ。使い方が駄目。

182 :774ワット発電中さん:2010/02/18(木) 23:33:26 ID:4BdzZjSr
そう思って、かなり遠慮した電圧範囲にしてるのに、やっぱりまともな波形にならない

183 :774ワット発電中さん:2010/02/18(木) 23:59:56 ID:LB0Yaupk
>>182
具体的にどうなったのか説明したら?
「なんかぐちゃぐちゃになった」で誰が理解できると思う?

ちなみにLM358の出力範囲は無負荷で GND+Δ 〜 Vcc-1.5 くらいかな。
実用帯域幅は精々音声帯域。
残留雑音が多い(それでも8bitならLSBより十分小さい)。

184 :774ワット発電中さん:2010/02/19(金) 00:52:57 ID:Y44TyM1k
LM358 は単電源でも 両電源でも使えるが、おそらくは PIC と同じ 5V の片電源で動かしているんだろう。
+入力に必要な 1/2Vdd はどんな風に処理しているのかな?

http://www.electronicsteacher.com/circuits-and-diagrams/misc-audio/singleicpreamp.gif

185 :774ワット発電中さん:2010/02/19(金) 04:32:57 ID:RgBVlW74
LM358は出力がGND近くになるとSINK能力が下がるんだよね。
出力にプルダウン抵抗を接続して出力段をエミッタフォロワ的な動作に
しないと波形が歪むことがあるよね。

186 :774ワット発電中さん:2010/02/19(金) 06:41:38 ID:7A7pFsxX
どんなんだったかな
+1.0から3.0くらいだけで振ってたのに、それでもピークが潰れたり、
スロープの上りは奇麗なのに下りで階段状になったり

187 :774ワット発電中さん:2010/02/19(金) 09:28:10 ID:g8q4/HS0
>>186
それは負荷に問題がありそう。て言うか適材適所ができていないと思われ。
回路図を出せば話が早いよ。

188 :774ワット発電中さん:2010/02/19(金) 12:08:25 ID:6PKnaQI1
秋月でPICプログラマーキットを買って今セットアップしているんだけど
付属のCDには「PICProgrammer」と「EEPROM-ICライター用ソフト」の2つが入っているみたいなんだけど
両方いるの?

189 :774ワット発電中さん:2010/02/19(金) 12:28:07 ID:5giYXApB
>>188
PICを焼く場合は PICプログラマー
EEPROMを焼く場合は シリアルEEPROMプログラマー
AVRを焼く場合は AVRプログラマー

しかし今時PICプログラマーキットを買う人がいるんだね

190 :774ワット発電中さん:2010/02/19(金) 12:44:55 ID:6PKnaQI1
よくわからんけど、PICマイコンの勉強だからPICプログラマーだけでよさそうだな
thx

191 :774ワット発電中さん:2010/02/19(金) 18:07:07 ID:uSIaMgyc
>>190
MICROCHIP純正はPICkit2又はPICkit3
こっちの方が安くて速くて対応ICも多いし、実装状態で焼ける。
正直それを売ってる意味がわからん

192 :774ワット発電中さん:2010/02/19(金) 19:09:09 ID:c0Y4KNdM
RCD一押し
ダメでも諦めが付く損害額

193 :774ワット発電中さん:2010/02/19(金) 19:25:04 ID:EWrR7ROj
>192
電子工作初心者のときに不注意で壊すかと思って10個セット買った俺に(ry

もうPICのキットはどんなPCでもお手軽に出来るように内部に昇圧込みで安定して焼けるRCD回路入れとけよ…とか言いたくなるな。(そういうのが売りのボードもないし。)
でも焼き込んだ後の通信なんかは結局コネクタを挿し変えなきゃいけなそうで面倒、H8とかZ8のキットで焼いた後に普通にハイパーターミナルで通信しているのを見るPICもとどうにかならんのかなとか思う。

PICはそういう用途のマイコンじゃないってのは置いといてくれ。

194 :774ワット発電中さん:2010/02/19(金) 20:07:50 ID:Nuqq3QSZ
RCDはPC側に無理がかかるから、回路の簡単なJDMで最初の一個を書いて
あとはライタ509がベスト。
USBシリアルでも書けるし、安定してる。
なにより、PC側を壊す可能性が低いのが初心者向け。

195 :774ワット発電中さん:2010/02/19(金) 20:49:24 ID:7A7pFsxX
>>187
負荷は2kだったかな
5Vでも2.5mだから、大したことない

196 :774ワット発電中さん:2010/02/19(金) 20:55:37 ID:KRD6X0vc
>>186
出した波形の周波数は?
前も言ったようにLM358の実用周波数帯域は音声帯域だよ

197 :774ワット発電中さん:2010/02/19(金) 20:55:49 ID:RScBivWY
「PICKit2」(完成品)を買っとけば間違いなし。
ほとんどのPICが使えるし、書込み速度がメチャ早い、シリアル-USB変換器にもなるし
ロジックアナライザ機能も持っている。
PICKit2: 3,500円
http://akizukidenshi.com/catalog/g/gM-02508/
3,500円で買えるのにPICKit2の何が不満なの?

198 :774ワット発電中さん:2010/02/19(金) 21:17:02 ID:7A7pFsxX
音声帯域しか頑張っても出ないって
20MHz動作でsinのテーブルが64あるから、
ループ1回10命令サイクルでも7.8kHz
実際には2kくらいだったような

199 :774ワット発電中さん:2010/02/19(金) 21:51:57 ID:gDrIRYVR
自分でやったことなのに、だったかな、だったような。
悉くハッキリしない方ですね。
上手くいかないのもむべなるかなです。

200 :774ワット発電中さん:2010/02/19(金) 22:09:58 ID:FtsIF52B
滅多にやらないことはけっこー忘れるよね。
使い回すルーチンってのも中身みなくなるからドンドン忘れる。

201 :774ワット発電中さん:2010/02/19(金) 22:47:45 ID:Nuqq3QSZ
>>195
コンデンサが繋がってるからピークはもっと流れる。
どっかの国の人に指摘されて抵抗追加したけどまだ安全とは言えない。

202 :774ワット発電中さん:2010/02/19(金) 22:58:43 ID:7A7pFsxX
記憶なんてそんなもんだ
オシロの波形だけ気にして周波数なんてオーダーしか覚えてない
大事な部分とか自分で計算した部分なら記憶してるし再現できる
負荷抵抗もそのへんにあった数kのを適当に付けただけだし

203 :774ワット発電中さん:2010/02/19(金) 23:53:18 ID:e4AfgJR/
>PICKit2の何が不満なの?

ソケットないもん

204 :774ワット発電中さん:2010/02/20(土) 00:34:07 ID:MKEI4yYL
>ソケットないもん

そんな人のために AKI-PIC2プログラマ(PICkit2互換)があるじゃないか


205 :774ワット発電中さん:2010/02/20(土) 02:06:46 ID:cOmpIEHi
>ソケットないもん

ないならアダプタつくればいいじゃないか
ttp://www.picfun.com/PICkit2/PICkit02.html


206 :774ワット発電中さん:2010/02/20(土) 02:32:39 ID:DKIu48eU
なしてソケットがいるん?(山○弁)
ICSP に慣れると PICに触らずに PC からのみで書き込みもデバッグも出来る。
PICkit2 Programmer-To-Go だと 5V だけで量産型も書ける。
赤い PICkit3 だと3倍早いかも知れないのになぁ。

そんなにソケット使いたいなら -JW 付きを買ってあげるとお店が喜ぶよ。

207 :774ワット発電中さん:2010/02/20(土) 07:53:07 ID:L7n0dHst
日圧にもうまくはまるのがあった

208 :774ワット発電中さん:2010/02/20(土) 07:54:28 ID:L7n0dHst
そういえば、27C256ってpickit2で書けるの?

209 :774ワット発電中さん:2010/02/20(土) 09:14:05 ID:fRMo9HRs
>>203
> ソケットないもん

そうなんだよな。入門者がPICKit2を選ぶ時の一番の悩みがこれなんだよな。
でもPICKit2と小さなブレッドボードでPICに書き込む方法が紹介されてる。
http://kuri6005.sakura.ne.jp/pic/pukiwiki.php?%BD%E3%C0%B5%A1%A7PICkit2%204%2C000%B1%DF#l01dee34
PICkit2用のソケット作ってみたけど、やっぱICSPが便利で、ソケット使わないですと。
http://kuri6005.sakura.ne.jp/pic/pukiwiki.php?%BD%E3%C0%B5%A1%A7PICkit2%204%2C000%B1%DF#w96c1225
↓これお勧め。ブレッドボード用PICkit2用ICSPケーブル
http://kuri6005.sakura.ne.jp/pic/pukiwiki.php?%BD%E3%C0%B5%A1%A7PICkit2%204%2C000%B1%DF#sc76ae06

210 :774ワット発電中さん:2010/02/20(土) 09:24:54 ID:1F338Gnw
これににたようなものつったよ
ttp://www.picfun.com/PICkit2/PICkit02.html

211 :774ワット発電中さん:2010/02/20(土) 10:00:18 ID:fRMo9HRs
>>208
PICKit2のデバイスサポートリストみてみたけど
27C256は見つからなかった。
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en027813

212 :774ワット発電中さん:2010/02/20(土) 10:08:18 ID:1F338Gnw
それ書き込みパラレルだろ?



213 :774ワット発電中さん:2010/02/20(土) 11:16:54 ID:qHGj3Rkx
これだから、Cしか知らないやつは。

214 :774ワット発電中さん:2010/02/20(土) 14:25:17 ID:cOmpIEHi
爺様のご登場じゃ〜 くわばら くわばら
嵐がくるぞ〜 くわばら くわばら

>213 誤アンカー兄ちゃんが光臨なさる! わくわく
↓ 荒野

215 :774ワット発電中さん:2010/02/20(土) 14:30:13 ID:MKEI4yYL
>>208
ところで今頃27C256を何に使うの?

216 :774ワット発電中さん:2010/02/20(土) 15:07:05 ID:mELDCAVG
>137
重石こと軽石の嫁の近n藤うmaireことまゆちゃん

217 :774ワット発電中さん:2010/02/20(土) 15:23:10 ID:ik3JGYT1
量産しないような個人の趣味なら、ソケットなんで面倒なだけだな。
ICSP に慣れると全てのボードにピンを立てた方が実際便利だ。

218 :774ワット発電中さん:2010/02/20(土) 15:42:14 ID:rM/A4tk1
5ピンまっすぐに引き出すだけでいいなら全ボードにピン立てりゃ良いんだろうけど
結構クロスするし、他の配線ともクロスするから2層でもなきゃあきらめちゃう

219 :774ワット発電中さん:2010/02/20(土) 17:08:25 ID:upAhht3i
>>213=ただの馬鹿
>>214=>>216=真の池沼

220 :774ワット発電中さん:2010/02/20(土) 17:09:26 ID:QDyYH7ZP
電源をライタから供給するのはソケット付けて書き込むには便利だけど、
オンボードで書くには嫌らしい面があるな。
JTAGの方が良かった。

221 :774ワット発電中さん:2010/02/20(土) 18:00:30 ID:tZdc1l1t
ttp://www.sengoku.co.jp/mod/sgk_cart/search.php?cond8=and&toku=%25E5%259F%25BA%25E6%259D%25BF+%25E7%25AB%25AF%25E5%25AD%2590&dai=DIP&chu=&syo=&k3=0&list=2
これとつないでおいて,上からパックンすればいいのさ

222 :774ワット発電中さん:2010/02/20(土) 18:24:54 ID:rM/A4tk1
>>220
ICSP時はVddはターゲットから供給が推奨だよ

223 :774ワット発電中さん:2010/02/20(土) 19:36:21 ID:fRMo9HRs
>>222
> ICSP時はVddはターゲットから供給が推奨だよ
とは、
ICSP時のVddはPICKit2からの供給は非推奨で、
PICが乗ってる回路からの電源を利用するのが推奨だよ。
との理解であってる?

224 :774ワット発電中さん:2010/02/20(土) 19:54:33 ID:HIWI2JQ2
>>194
> RCDはPC側に無理がかかるから、回路の簡単なJDMで最初の一個を書いて
いかにも聞きかじり・・・w

225 :774ワット発電中さん:2010/02/20(土) 20:49:13 ID:L7n0dHst
>>215
最近は何を使うのが主流?

226 :774ワット発電中さん:2010/02/20(土) 22:12:22 ID:rM/A4tk1
>>223
Yes

>>225
今時UV-EPROMなんて使わない
紫外線無しで消去できるEEPROMが主流
24シリーズや25シリーズは良く使われてるんじゃない

227 :774ワット発電中さん:2010/02/20(土) 22:24:06 ID:2rysN5mk
例の秋月のPICのお勧め表が欲しいな。
てか、ナンピンにするか、すごく悩むんだよな。
I/Oが足りないとか、余るとか、PICに合わせて考える癖付きすぎて、
いくつでも良いよと言われると、逆に悩む。www


228 :774ワット発電中さん:2010/02/20(土) 22:56:07 ID:L7n0dHst
あれ、27って書いてる
24FC256の間違い

229 :774ワット発電中さん:2010/02/20(土) 23:02:41 ID:fRMo9HRs
>>228
24FC256ならPICKit2で書けるよ。
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en027813

230 :774ワット発電中さん:2010/02/20(土) 23:29:15 ID:L7n0dHst
書けるのか
折角PCからhexファイルをシリアル転送すると書きこむ回路を
作る気になってたのに

MPLAB IDEから書くんだよね
そんなメニューあったかいな

231 :774ワット発電中さん:2010/02/20(土) 23:45:49 ID:rM/A4tk1
>>230
PIC以外のデバイスはPICkit2Programmerでどうぞ

232 :774ワット発電中さん:2010/02/21(日) 03:10:59 ID:ofGgDdW4
ICSPピン立てたけど、隣の部品が邪魔で合体できない。
その隣の部品が・・・PIC、、、俺アホす。

233 :774ワット発電中さん:2010/02/21(日) 08:07:03 ID:/ksA1uKv
みんなソケット使ったりピンヘッダーたてたりしてるんだね。
俺はいちいちPIC外したりヘッダたてたりするの面倒だからこれと
http://www.sunhayato.co.jp/products/details.php?u=850&id=04046
雄雌のジャンパワイヤー
http://strawberry-linux.com/catalog/items?code=18089
使ってる。
クリップはそこそこの値段するんだけど、デバッガ使うときも便利だよ。

>>232
雄雌のジャンパがあればそれでも使えるんじゃないかな。

234 :774ワット発電中さん:2010/02/21(日) 08:23:22 ID:f+xgy3IR
>>222
それは知らなかった。
だけどターゲットが3.3Vで書き込みが5Vだとどうなるの?

235 :774ワット発電中さん:2010/02/21(日) 08:43:34 ID:QH9cLFgE
>>232
あるある
あいつ前後左右に意外と干渉する
横に出せばいいんだけど

236 :774ワット発電中さん:2010/02/21(日) 08:44:48 ID:I3H2/aFz
>232
お茶目でかわいい。

237 :774ワット発電中さん:2010/02/21(日) 10:16:46 ID:f+xgy3IR
>>232
俺はPICKit2と一緒にこういうケーブルを買ったから困らないよ
ttp://solitonwave.shop-pro.jp/?pid=14223679

238 :774ワット発電中さん:2010/02/21(日) 10:48:23 ID:you/gk+6
ぼっけーうっとーしー(○山)弁
6極モジュラーや 2.54 ピッチのピンは大きくて邪魔になるので、
プロは 2.45 ピッチ以外の小型コネクターを使って自社規格に勝手に変換してる。

ソフトだけの仕事を受けるとこのコネクターが当たり前と思い込んで変換コネクターを忘れてくれる。
1.27ピッチぐらいなら手半田で引き出すけど 0.5 ピッチだとお手上げ。
マイクロチップが率先して小型コネクターを共通化して欲しいもんだねぇ。

239 :774ワット発電中さん:2010/02/21(日) 11:13:49 ID:QH9cLFgE
毎回pickit2を抜きさししてると、そのうち接点がダメになりそうだから、
一旦延長をかますのはいいかもしれん

240 :774ワット発電中さん:2010/02/21(日) 12:08:32 ID:/x+ejkww
>>239
そうなんだよな。PICkit2のふた開けてみて驚いた。6ピンコネクタ、半田付けだけで固定
しているんだよな。何回も抜き差ししてると絶対に接触不良起こしそう。一旦延長ケーブル
をかまして接続する方法をお勧め。
または、6ピンコネクタをホットボンド等で最初に補強固定しておくことをお勧め。

241 :774ワット発電中さん:2010/02/21(日) 12:27:39 ID:ORMzH/af
了解

242 :774ワット発電中さん:2010/02/21(日) 14:16:26 ID:QH9cLFgE
延長したら5ピンでいいよな

243 :774ワット発電中さん:2010/02/21(日) 14:50:30 ID:/x+ejkww
>>242
その通り

244 :774ワット発電中さん:2010/02/21(日) 20:39:44 ID:xzQeFbC1
いや、ロジアナ用にやっぱり6ピン。

245 :774ワット発電中さん:2010/02/21(日) 23:57:44 ID:pENdbPPC
売買スレがアレなので、こちらに書かせて下さい。
スレ汚し申し訳ない。

諸事情でライタを手放したいのですが、興味が有る方いらっしゃいませんか?

AKI−PICプログラマー Ver.4 + 15V ACアダプタ
基盤は公式準拠の改修済みで、動作もokです。

現状引き渡しで\5,000円でいかがでしょうか?

おまけで、88や887なんか出てきたら付けますが、出てこなかったらごめんなさい
また、実費と時間を頂けるなら、秋月へのパシリも引き受けます。
この場合の不良対応は泣き寝入りしてください。選別は出来ません。



246 :774ワット発電中さん:2010/02/22(月) 00:10:59 ID:xXa1IWQr
いまどき秋月プログラマって使う必要あったっけ?
pickit2より高い値段なんて……。

247 :774ワット発電中さん:2010/02/22(月) 00:13:49 ID:+TaxFfcg
>>245
値段を一桁間違えてないか?

どーせ、部品取りにしか使われないだろうから、ZIFソケット単体よりも
安く無いと需要無いと思うよ。

248 :774ワット発電中さん:2010/02/22(月) 01:18:08 ID:L3kLgSn3
>>233
良い事教えてくれてありがとう
クリップちょっと高いけどこの方法は楽だね

249 :774ワット発電中さん:2010/02/22(月) 01:21:02 ID:d17lhq/y
その値段なら新品買うだろw

250 :774ワット発電中さん:2010/02/22(月) 11:28:34 ID:xXa1IWQr
秋月のキットは完成までの道のりを楽しむもので完成品に価値なんて無いよね

251 :774ワット発電中さん:2010/02/22(月) 13:58:17 ID:xN7VkcKX
>>248
そんな高いもの使わなくても、平ピンDIPソケットのピンの側をICに被せれば書き込めるよ
信頼性は低いけど

252 :774ワット発電中さん:2010/02/22(月) 14:09:06 ID:dkKj9Ito
つ 安物買いの銭失い

253 :774ワット発電中さん:2010/02/22(月) 14:10:00 ID:DTPMHLHQ
そうやってつまらん手間増やすなよ
貧乏ヒマなしとはよく言ったもんだ

254 :774ワット発電中さん:2010/02/22(月) 14:36:12 ID:NvNdcxbK
http://www.microchip.com/maps/microcontroller.aspx

動かん!!

なんでや?

255 :H8:2010/02/22(月) 17:01:49 ID:T1Wfq7eA
PICやってる人間なんて貧乏に決まってるだろ。
子供の遊び。



256 :774ワット発電中さん:2010/02/22(月) 17:04:16 ID:qvMb2QfY
安いと思って、秋月のライター買って、散々使って用済みになったから、高く売るって、どれだけ〜


257 :774ワット発電中さん:2010/02/22(月) 17:33:43 ID:b9nbaDcO
>>254
どれを選択しても、ALLにもどされるね。

こちらの環境
ブラウザ IE8
OS XP SP3

258 :774ワット発電中さん:2010/02/23(火) 16:54:08 ID:cSom+t0q
Vista(32bit)、Fxでもだ。

259 :774ワット発電中さん:2010/02/23(火) 20:49:47 ID:mVitdn8U
>>254
ttp://www.microchip.com/maps/microcontroller.aspx
Windows7(64bit)、IE8
でも、どれを選択しても、ALLにもどされた。壊れてるね。

260 :774ワット発電中さん:2010/02/23(火) 20:54:38 ID:9MKwbZU0
去年PICを始めるのにPICkit2を買わなかったのは一生の不覚

261 :774ワット発電中さん:2010/02/23(火) 23:41:08 ID:mVitdn8U
>>260
何買ったの?興味ある。

262 :774ワット発電中さん:2010/02/24(水) 00:13:00 ID:YWCkYCVo
>>260
Akiでしょ

263 :774ワット発電中さん:2010/02/24(水) 00:32:39 ID:fh78XicQ
MPLAB SIMで開発中なんですが、SUBLW,SWNWFとかでC,DCのStatusビットって正しく反映されますか?

符号なしの二つの数を比較して大小で動作を切り替えたいのですが
SIMの時点で躓いちゃってます。

264 :774ワット発電中さん:2010/02/24(水) 00:33:28 ID:KL/NcmjK
>>260
今から買っても3500円じゃない

265 :774ワット放電中さん:2010/02/24(水) 00:51:46 ID:qvTPHtWs
>>263
ヒント フラグは負論理
足し算は交換法則が成立する a+b=b+a
引き算は成立しない f-Wreg ≠ Wreg-f

266 :263:2010/02/24(水) 00:55:12 ID:fh78XicQ
BSF STATUS,DC
BSF STATUS,C
MOVLW b'00010100'
SUBWF b'00000110',w

BSF STATUS,DC
BSF STATUS,C
MOVLW b'00010100'
SUBWF b'00100110',w
の二つの引き算の結果どっちもC,DCともに0になるんですが
何を間違ってるのでしょうか?

267 :774ワット発電中さん:2010/02/24(水) 01:04:03 ID:jvTTD7VX
>>266
SUBWFの使い方が間違ってる。

SUBWF b'00000110',w

SUBWF PORTB,w
と同じ意味。
なぜならPORTBのアドレスがb'00000110'だから。

268 :774ワット発電中さん:2010/02/24(水) 01:38:58 ID:td/QhiCB
>>255
> PICやってる人間なんて貧乏に決まってるだろ。
> 子供の遊び。

たしかにね、千円分の部品を買ってくると当分遊べる。
最近リモコンが作れるようになって、家族の尊敬を集めている。
今度、パソコンとつないでいろいろできればと思っている。
いやー、楽しいね。


269 :263:2010/02/24(水) 01:48:49 ID:fh78XicQ
SUBLWとこんがらがってたみたいです。

助かりました。多謝

270 :774ワット発電中さん:2010/02/24(水) 22:39:50 ID:PbzqRUis
USBが使えるようになるとどういう楽しいことがある?

271 :774ワット発電中さん:2010/02/24(水) 23:15:52 ID:YWCkYCVo
>>270
悩むことばかり

272 :774ワット発電中さん:2010/02/24(水) 23:26:51 ID:5emQHnLb
だが、それがいい

273 :774ワット発電中さん:2010/02/24(水) 23:38:17 ID:+NqWan47
シリアル変換ICが不要になることとか。

274 :774ワット発電中さん:2010/02/25(木) 04:36:46 ID:vurEw/W1
>>270
そこらのノートPCなどに直結できる
USB経由で電源が取れる
とりあえずそこそこ速い
フロー制御を手抜きできる(USBバス上で勝手にリトライしてくれる)
バス上ではとりあえずCRCチェックをやってくれているので,データ化けの心配が少ない
・・etc

275 :774ワット発電中さん:2010/02/25(木) 05:36:04 ID:X8xuEQrs
PIC24シリーズでUSB対応してるのあったようななかったような…?
型番なんだっけ

276 :774ワット放電中さん:2010/02/25(木) 08:01:35 ID:uUW4twvj
>>275
http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8181&mid=14&lang=en&pageId=75
http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8186&mid=14&lang=en&pageId=75
右のほうへ動かして USB がみえるようにするとわかるよ。
USB OTG は ホスト側にもなれる。


277 :774ワット発電中さん:2010/02/25(木) 13:58:55 ID:o3Sa4o8y
初心者ですいません
mikroCを使用してマイコンを動かそうとしているんですけど

プロジェクトからBuildしようとしたところ

下のようなエラーメッセージが出てきて
何も書き込めません。

「access violation at address 004041A8 in module "MIKROC.EXE".read of address 9A7CE9BF」

どのようにしたら普通に書き込めるようになるんでしょうか?

OSはwindows me 使ってます。これがいけないかな・・・

278 :774ワット発電中さん:2010/02/25(木) 14:39:11 ID:72wpsOnq
リーブートして同じならそうだろね


279 :774ワット発電中さん:2010/02/25(木) 16:25:39 ID:5iNvYrQ9
話をぶった切って悪いが、トヨタのリコール問題って
電子制御プログラムの不具合が疑われて騒動になってるんだろ

車が暴走したーーー!
  ↓
プログラムを見直し実験したが再発せず
仕方ないので、フロアマットを原因にする
  ↓
また車が暴走したー!
  ↓
プログラムを見直し実験したが再発せず
仕方がないので、ブレーキペダルを原因にする
  ↓
社長が電子制御プログラムは絶対問題無いと議会で断言

なんかね、こういった事を仕事にしてる人って大変そうだなーって
トヨタ車の電子制御のCPUってなんだろ?
独自のカスタムCPUかな


280 :774ワット発電中さん:2010/02/25(木) 16:29:22 ID:zwfMOJXf
Cで書くからこんな事に…

281 :774ワット発電中さん:2010/02/25(木) 16:36:33 ID:tqtHi2X8
電機系の学生だけど、アセンブラ使ってDSPをプログラムするゼミなんて聞いた事ないぜ。

>>279
今回非難する立場になった政治家には欠陥のある法律をあえて作って被害が出ても法的なペナルティーがなくってうらやましいですね。

282 :774ワット発電中さん:2010/02/25(木) 16:54:05 ID:zwfMOJXf
DSPは特にアセンブラが必要とされるが、学生のお勉強レベルならCしか使えなくても致し方ないだろ。

283 :774ワット発電中さん:2010/02/25(木) 17:10:27 ID:iFSmx94v
>>279
問題が大きくなったのは対応がまずかったから
と、新聞記事からはそう読み取れるが
プログラムがどうとかの内部事情はどこで発表されてるん?


284 :774ワット発電中さん:2010/02/25(木) 17:12:02 ID:d8+W9WO7
どうせトヨタの事だから電子制御プログラムも派遣に作らせたんだろな
で、肝心のデバッグは臨時バイトの学生にでもやらせたんじゃね?

話脱線スマン

285 :774ワット発電中さん:2010/02/25(木) 19:27:19 ID:h3zZB7dt
> 今回非難する立場になった政治家には欠陥のある法律をあえて作って被害が出ても法的なペナルティーがなくってうらやましいですね。
六法全書より難しい日本語だなw

286 :774ワット発電中さん:2010/02/25(木) 21:04:36 ID:u450ge2I
>>284
さすがにそれはない…と思う。 主に日本国内。
臨時のバイトなんか入れたら、情報ダダ漏れじゃないか。

287 :774ワット発電中さん:2010/02/25(木) 21:09:26 ID:pVNHZgIJ
>>279
あくまで想像ですが
アクセル開度のセンサーが湿気に弱いくて誤動作する場合ある
環境の問題なので2個のセンサーが同時に誤動作して暴走
この事はトヨタも把握して、この前の湿気で部品に不具合が出るリコールでこっそり直した

288 :774ワット発電中さん:2010/02/25(木) 21:13:17 ID:bK/8c+pN
void main(void) {
 if (!POR) {
  POR = 1;
  BOR = 1;
 }

289 :774ワット発電中さん:2010/02/25(木) 22:09:13 ID:c/smBDXg
テストじゃなんとも無いのに実機に載せると誤動作しまくりってのはよくあることだし
プログラムだけ調べたって無駄だよな

290 :774ワット発電中さん:2010/02/25(木) 23:00:06 ID:Cr1jItl7
初PIC、今まではz80系だけで何とかやってきた。

最初はなるべくでかい奴から使って見た方が楽そうだから
16F887にLED付けて電源入れてみたところ。
短時間の電源オフだとポートのラッチはリセットされないようで、
ちょっとこれは怖いかも。

ときどきアホなこと訊くかもしれないけど、よろしくお願いします。

291 :774ワット発電中さん:2010/02/25(木) 23:12:33 ID:31IW7ZB9
・電源回路の問題
・BORを有効にする

292 :774ワット放電中さん:2010/02/25(木) 23:50:59 ID:uUW4twvj
PIC ご使用なら、ウオッチドグ無効も忘れずに。(初心者専用)

293 :774ワット発電中さん:2010/02/25(木) 23:59:58 ID:bK/8c+pN
BORとWDTを有効にしてるのに、それでも止まるからな
中では何が起きてるんだ

294 :774ワット発電中さん:2010/02/26(金) 00:03:39 ID:lQYWjzC2
っっっっっっっv

295 :774ワット発電中さん:2010/02/26(金) 00:08:44 ID:x4hSyVng
うどんは小麦粉で
出来てるんだよね
    ∧,,∧  lヽ⌒ヽフ
   ( ´・ω・) (・ω・ )  うん
   (っ=|||o) (っ=||| o)
 ̄ ̄ `――´ ̄ `――´ ̄\

じゃあ米から作った
これは…?
    ∧,,∧   lヽ⌒ヽフ
   ( ´・ω・) (・ω・ ) ベトナムのフォーかな?

296 :774ワット発電中さん:2010/02/26(金) 14:08:23 ID:AMKQJ96c
MPLABでビルドすると、たまに
「MPLAB.exe [1512]でハンドルされていない Win32 の例外が発生しました。」
と出て、MPLABが終了してしまうのですが、
誰か同じような症状になった人はいませんか?

利用可能なデバッガ
→「新しいインスタンス Visual Studio 2005

と出ています。
MPLABのバージョンはv8.40です。

297 :774ワット発電中さん:2010/02/26(金) 15:06:20 ID:2II488JH
MPLABはプロジェクト閉じてまた開こうとすると無言で落ちることがよくあるな

298 :774ワット発電中さん:2010/02/26(金) 20:24:28 ID:Ub7OQ4cc
そりゃおまいらの環境が悪いだけ。
WinをサイインスコしてMPLAB以外インストールしなければそんなことは起こらないぞ。

299 :774ワット発電中さん:2010/02/26(金) 22:37:38 ID:+/IUqwXI
そんなことはない。

300 :774ワット発電中さん:2010/02/26(金) 22:58:31 ID:2II488JH
確かにメモリは少ないんだが
それで落ちるのはやはりバグだろう

301 :774ワット発電中さん:2010/02/26(金) 23:29:34 ID:PP1HAOeP
オレンジ線

302 :774ワット発電中さん:2010/02/27(土) 00:15:15 ID:eZhujkR8
>>300
本当にメモリが足りなくて落ちたんならそれはバグではないだろう

303 :774ワット発電中さん:2010/02/27(土) 00:26:20 ID:+tSh+VOo
>>302
メモリが少ないとして… Windowsがリソース管理に失敗して墜ちるのでなければ
Windowsアプリとしての質が悪いことになるから、バグとはいわないまでも微妙な扱いにはなるわなあ

どっちなのか切り分けるのは至難だろうけど。

304 :774ワット発電中さん:2010/02/27(土) 00:37:16 ID:0GpImtX5
>>300
メモリが少なくて落ちてるってのは単なる妄想じゃないのか?

305 :774ワット発電中さん:2010/02/27(土) 01:09:40 ID:eZhujkR8
>>303
PCでプログラム組んだことない人かな?
メモリ不足で動作に必要なメモリが確保できなければ、動作を継続することが出来ないから異常終了するのが普通だよ

306 :774ワット発電中さん:2010/02/27(土) 01:44:28 ID:0GpImtX5
>>305
お前も間違ってるわw

307 :774ワット発電中さん:2010/02/27(土) 02:02:45 ID:QQmGKXEU
ポインタの話はやめてくれ頭痛がするw

308 :774ワット発電中さん:2010/02/27(土) 02:51:48 ID:HY4llGIu
出たな汗爺

309 :774ワット入院中さん:2010/02/27(土) 05:44:55 ID:4oV6+DDp
Windows や DOS アプリはめったに作らないから、確保した領域を開放せずに終了。
何回かは通常動作をするけど、そのうち最悪ブルー画面になった事はよくあった。

310 :774ワット発電中さん:2010/02/27(土) 07:22:15 ID:E43bZCVm
>>307
FSR INDFと何が違うんだ?

311 :774ワット発電中さん:2010/02/27(土) 08:07:01 ID:KjS3MaeG
安価あっても誤爆に見える

それがPICクオリティ

312 :774ワット入院中さん:2010/02/27(土) 08:50:43 ID:4oV6+DDp
>>310
C言語とアセンブラの両刀使いだから両方の気持ちはある程度わかる。
ポインターまではC言語の方が楽、typedefで定義したポインターのポインターを使おうとすると、
ドットとアロー矢印がごっちゃになる、本を見ながらでないと記述できない。
しかも後から逆アセンブルして思い通り展開されているか確認しないと安心出来なかった。

そんなに面倒なら最初からアセンブラで記述した方がはるかに早いし安心。
でも四則演算なんかは加算はいいけど減算をアセンブラで書くと必ずどっかで Z80 のクセが抜けない。
そうなると計算はC言語で書くほうが はるかに楽。

でもこの話はここで終わりにしましょう。前回は アセンブラー vs C言語 話題で内容が何にも無かった。
無駄にレスを進ませるのは嫌いです。

313 :774ワット発電中さん:2010/02/27(土) 09:09:30 ID:E43bZCVm
>>312
あなたが構造体を理解してないのはわかった。
&と*を理解してから構造体へのポインタを学びなさい。
その後、関数ポインタを学びなさい。

314 :774ワット発電中さん:2010/02/27(土) 09:29:06 ID:olfkteE4
>>313
随分と偉そうなんですね
あなただってポインタを理解できない時期があったでしょう?

もちろん私にもありました。
だから理解できていない相手に偉そうな態度は取れません。



315 :774ワット発電中さん:2010/02/27(土) 09:37:22 ID:E43bZCVm
>>314
100年ROMってろww

316 :774ワット発電中さん:2010/02/27(土) 10:57:37 ID:eZhujkR8
>>306
どこが間違ってる?
空きメモリ以上のメモリを確保しようとすれば例外が発生してアプリケーション自ら落ちるよ。
例外拾って回復するようにプログラムを書くことも可能だけど、
空きメモリが無い状態でそれをやればOSに落とされる。

念のため言っておくけどここで言うメモリは物理メモリではなくて仮想メモリ(物理メモリ+ページファイル)ね。

317 :774ワット発電中さん:2010/02/27(土) 11:08:27 ID:1i4zwjS1
>>316
Windowsって、メモリ確保を通達しても足りないっていうエラーをアプリに返したりはしないの?

318 :774ワット発電中さん:2010/02/27(土) 11:18:30 ID:eZhujkR8
>>317
足りないときは例外を発生させる。
アプリ側はそれを拾って処理を中止して居座ることも、終了することもできる。
この辺はアプリ側の実装による。
ただ、空きメモリが無いのに居座り続ければWindowsに落とされる。

319 :774ワット発電中さん:2010/02/27(土) 11:43:05 ID:Ti/lQwlj
現実的には仮想メモリに手を出し始めた時点で激重になるし
OSが先に落ちたりするのでなかなか理屈どおりにうごかないよな

HDDががりがり言い出して反応がなくなったら
待ってりゃ戻ってくることもあるけど、
そのまま帰ってこない時も普通にあるし




320 :774ワット発電中さん:2010/02/27(土) 11:57:07 ID:LA0uIiy7
PICスレはここでいいですか?

MPLAB起動中(ロゴが出ている最中)に「ファイル」をクリックしたとたん、MPLAB落ちたことが数回。
以後、一呼吸おいてから「ファイル」をクリックするようにしているが、せっかちさんには優しくないようだ

321 :774ワット発電中さん:2010/02/27(土) 12:17:25 ID:ARf5U4id
あれなんだろね?
レガシーIOでも見に行ってるのか?


つかおまえら言語とOSとハードの話をごっちゃにすんな

322 :774ワット入院中さん:2010/02/27(土) 13:35:41 ID:4oV6+DDp
メールアドレスは隠していないから
見てみてば良いよ

323 :774ワット入院中さん:2010/02/27(土) 15:47:18 ID:4oV6+DDp
ついでに もう一つ 知ったかぶりでウソを教えるヤツ
これも大嫌い

324 :774ワット発電中さん:2010/02/27(土) 17:07:24 ID:YgNBk5RN
>>323
おまえのことか

325 :774ワット発電中さん:2010/02/27(土) 17:10:39 ID:QlXOHUa/
カスが知ったかやるんだから引っ掛かるやつもカス。
いいんじゃない?

326 :774ワット発電中さん:2010/02/27(土) 17:50:04 ID:ITo512v+
>325

黙って話題転換すればいいのに、仕切ろうとする奴もカスっ。
そう言う俺もカス。
みんなカス。
氏ねカス。

327 :774ワット発電中さん:2010/02/27(土) 18:09:16 ID:3fEYj74W
チンカスまみれなスレはここですか?

328 :774ワット発電中さん:2010/02/27(土) 18:30:25 ID:luUnRST2
>>326

黙って話題転換すればいいのに、仕切ろうとする奴もカスっ^100

329 :774ワット発電中さん:2010/02/27(土) 19:29:23 ID:XAzOoVeH
>>320
> MPLAB起動中(ロゴが出ている最中)に
タダで使わせてもらってる広告の時間です。

330 :774ワット発電中さん:2010/02/27(土) 20:56:47 ID:HY4llGIu
女子スピードスケートのユニフォームって、割れ目くっきりなのね。
放送していいのか?

331 :774ワット発電中さん:2010/02/27(土) 21:02:09 ID:zrHqrOfb
あれは

 デ ザ イ ン 

です。

332 :774ワット発電中さん:2010/02/27(土) 21:09:57 ID:ARf5U4id
#include "スケート.INC"
__CONFIG _性別_女 & _割れ目_ON & __WDT_ON


動かなかった。ダメみたいだ。

333 :774ワット発電中さん:2010/02/27(土) 21:51:55 ID:249Y2/Li
>>331
割れ目までデンザイに入ってるのか?

334 :774ワット発電中さん:2010/02/27(土) 23:08:06 ID:GW9G36AV
PIC16F84Aの参考プログラムを見るとタイマの利用で
プログラムがタイマ位置でループして他の所の処理が出来ないイメージがあるのですが
分散して処理できるような物なのでしょうか?


335 :774ワット発電中さん:2010/02/27(土) 23:26:27 ID:2aOV06js
>>334
タイマ割込みサブルーチン内の処理は短くね。
タイマ割込みサブルーチン内の処理が長いとタイマ処理が処理を占有し、他の処理が出来なく
なっちゃうからね。

336 :774ワット発電中さん:2010/02/28(日) 00:26:10 ID:lhq1mlTF
なんか的外れな

何もしてないように見えるけど、実は割り込みが処理をしてる、とかじゃね

337 :774ワット発電中さん:2010/02/28(日) 00:32:45 ID:KepNCpXU
参考プログラムってのがワカランとワカランね

338 :774ワット発電中さん:2010/02/28(日) 01:09:47 ID:ADcCw21R
>>334
>プログラムがタイマ位置でループして他の所の処理が出来ないイメージがあるのですが
そのイメージはご指摘通り

多重割込みかけて分散(並行)処理チックにしようとすると・・・そもそもに帰結(でもやるw)
ミッドレンジは要因に関係なく04Hに飛び、ペリは投げっぱなしなので記述で処理、
スタックレベルを把握しておけば、楽しい割込みライフになると思う。
(やるなとあるが・・・)

しかし今84Aなのは、あえてなのか?別に大きな違いがあるワケじゃないけどさ。
(オレも在庫フル稼働。中身は165と化しているが)

339 :774ワット発電中さん:2010/02/28(日) 01:28:35 ID:lhq1mlTF
USB使うと常時ポーリングしないといけないから、
いろいろ制限ができて楽しいぞ

340 :774ワット発電中さん:2010/02/28(日) 02:07:47 ID:ADcCw21R
>>339
>制限が出来て楽しい
PICへの真の愛情を感じた。

AVRより優れているのは、人として忍耐力と思いやり
そして感動を与えてくれる、実はAIマイコンだった事である。

341 :774ワット発電中さん:2010/02/28(日) 03:46:59 ID:ssKgtAC3
USB3.0対応いつ出るかな
まぁ速さはクロックが遅いからなにも変わらないけど

ちなみに307だけどアセンブラ書けない

342 :774ワット発電中さん:2010/02/28(日) 07:17:15 ID:NcCp3chB
>>341
C言語ができる
ポインタがわからない
アセンブラがわからない
間接アドレッシングがわからない
コンピュータをわかっていない

343 :774ワット発電中さん:2010/02/28(日) 07:52:03 ID:myVv1v0z
という知ったかカスが登場

344 :774ワット入院中さん:2010/02/28(日) 07:52:39 ID:hu1IBZoU
お〜い山田君
>>332 に座布団3枚差し上げて。

345 :774ワット発電中さん:2010/02/28(日) 07:54:21 ID:/PwCcN5O
うざい

346 :774ワット入院中さん:2010/02/28(日) 10:30:09 ID:hu1IBZoU
>>345
私もクソ真面目な人間ではありません。
誰も傷つけないプラティカル・ジョークは大好きですよ。

347 :774ワット発電中さん:2010/02/28(日) 10:33:52 ID:6XKMULzn
おまえがうざいんじゃないの?

348 :774ワット発電中さん:2010/02/28(日) 11:02:42 ID:C3HSINZP
MPLAB(バージョン8.4)の質問なのですが、変数を見るためのWatch Window がありますよね。
その中で自分で定義した変数を見るための、Add Symbolのボタンが無効になってしまい変数を見る事が出来ません。
昔作ったプロジェクトファイルなら有効に表示出来るのですが。

349 :774ワット発電中さん:2010/02/28(日) 11:22:27 ID:yEHaNj4x
0番地にメインへのジャンプ命令を書いてしまうと
1,2,3番地がもったいない。
何か有効活用方法はないか?

350 :774ワット発電中さん:2010/02/28(日) 12:30:14 ID:r1N1gu6E
banksel trisa
movlw xx
movwf trisa
goto main

TRISAだけしか設定できないけど

351 :774ワット発電中さん:2010/02/28(日) 13:08:44 ID:A+WAATha
PIC16系なら普通はGOTOジャンプ命令前にPCLATH設定するよな?

movlw high main
movwf pclath
goto main

1つ余ったorz

352 :774ワット発電中さん:2010/02/28(日) 13:09:27 ID:yEHaNj4x
>>350
bankselって
 bcf STATUS,5
 bcf STATUS,6
って展開されないか?

353 :774ワット入院中さん:2010/02/28(日) 13:59:54 ID:hu1IBZoU
>>352
banksel は 必ず2命令に展開されます。
理由は現在のバンクと以前のバンクの違いまで管理していないからです。
リンカーを使わないんであれば 自分で管理する方が1命令節約出来ます。

リンカーを使う場合にはアドレスの決定権は書き手にはありません。
リンカーがリンカースクリプトに従って決定します。
この場合は必ず banksel でないと誤動作します。

354 :774ワット入院中さん:2010/02/28(日) 14:32:11 ID:hu1IBZoU
× 1命令
○ 最大2命令

355 :774ワット入院中さん:2010/02/28(日) 15:36:31 ID:hu1IBZoU
>>349
そこにどんなプログラムを書きこむか、書き手の癖が現れる場所です。
そこを読むと誰が書いたのか推定できちゃったりします。

私の場合は retlw を並べて Ver.番号を埋め込んで置きます。
コードプロテクトを掛けた後でも Ver.番号を出力するプログラムを
離れた場所に埋め込みますよ。
(retlw より DT の方が楽ですけどね)

356 :774ワット発電中さん:2010/02/28(日) 18:02:21 ID:JMa3wcm0
自演臭が・・・

357 :774ワット発電中さん:2010/02/28(日) 18:09:20 ID:2d2mP8eD
ID:hu1IBZoU
キチガイ?

358 :774ワット入院中さん:2010/02/28(日) 18:34:20 ID:hu1IBZoU
>>351
clrf INTCON を 追加しておけばピッタリ4命令なんだけどね。
気が付いて欲しかった。


359 :774ワット入院中さん:2010/02/28(日) 18:37:03 ID:hu1IBZoU
>>356 >>358
どうぞこちらもご参考にして下さい。
http://www.picfun.com/bbslog.html

360 :774ワット入院中さん:2010/02/28(日) 18:43:48 ID:hu1IBZoU
↑の頃でも全てに回答は出来ましたが、あまりにも目立つので、
目立たない様に1画面に1回答に抑えて置きました。

361 :774ワット入院中さん:2010/02/28(日) 18:45:28 ID:hu1IBZoU
そこまで言われる様でしたら今後は ROM 専門にして引退します。

362 :774ワット入院中さん:2010/02/28(日) 18:52:08 ID:hu1IBZoU
>>351 おまけのヒント
Wreg を 破壊せずに PCLATCH を 設定する方法もありますが、
これは興味があったら自分で調べて見て下さいね。

363 :774ワット発電中さん:2010/02/28(日) 19:20:53 ID:+8GRePC4
ID:hu1IBZoU

何者?釣?ここの住人なのか?
だからなんなの?って事を難しそうに書くって、バカの証明なんだが

364 :774ワット発電中さん:2010/02/28(日) 19:37:17 ID:/JodcE92
女子団体パシュート、今日は三角のパンツみたいの穿いてた。
昨日は前つき、後付きかはっきりわかったのに。
それが敗因だ。

365 :nyannnyannko:2010/02/28(日) 21:10:59 ID:hu1IBZoU
>>363
バカで結構ですよ。
インターフェロン(抗がん剤)の副作用がきつい。
生きている内に教えてあげられる事は教えてあげたかっただけ。
サンプルプログラムも誰かが真似をしてくれれば私が死んでも生き残る。

もう限界で引退です。私をご存知だった方。
皆さん、今まで有難う御座いました。

追伸:すぐ死んじゃうわけじゃないよ。
にゃんこ滅亡まで「あと14年」14年しか無いんだ。
立てニャマト戦え宇宙船艦ニャマト

さようなら。

366 :774ワット発電中さん:2010/02/28(日) 21:43:32 ID:pjLM1QPd
ポカーン

367 :774ワット発電中さん:2010/02/28(日) 23:07:41 ID:O+u/ejN0
PIC18F2550でUSBデバイス作ろうと思ってて、PICkit2とPICkit3のどちらを買うか迷ってます。
過去ログ見てたら、ロジアナのついてるPICkit2のほうがよさそうに思ってたけど、
マイクロチップのサイトでPICkit2とPICkit3の違いを調べたら、Serialized USBで違いがあるみたい。
ttp://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2519¶m=en534451&page=wwwdevMPLABEmulatorDebuggers
Serialized USBってのが何かわからないんですが、USBデバイス開発に必要な機能でしょうか?

368 :774ワット発電中さん:2010/02/28(日) 23:54:51 ID:lhq1mlTF
Serializedも何もUSBは元々シリアルだっつの

369 :774ワット発電中さん:2010/03/01(月) 01:09:35 ID:2lHsRSHZ
>>367
USB開発自体は、書き込みさえできれば出来る。
すなわちPICkit2で出来る。
Serialized USBはよくわからん。

370 :774ワット発電中さん:2010/03/01(月) 01:18:16 ID:5BUVLEK0
>>365
ここは便所の落書きだからな
便所の落書きで何かを残したいなんてどうかしている
便所の落書きで御教授しようなんてどうかしている
たまにはそういった事で感謝される事も起こりうるかもしれんが

PIC本を自主出版した方が世の為人の為
ま今時、汗を題材にした御教授本が売れるとは思えないけれどな
それが世の流れってもんだ
流れに流されるか、もがくかは其々の人生

371 :774ワット発電中さん:2010/03/01(月) 01:29:24 ID:+rkcYa4J
便所の落書きならまだしも、ここはPICスレだからな
PICスレで何かを残したいなんてどうかしている
たまにはそういった事で感謝される事も起こりうるかもしれんが
Cしか出来ない奴がハードまで理解していると勘違いして
大きな声で怒鳴り散らしてるのがPICスレ

372 :774ワット発電中さん:2010/03/01(月) 01:52:28 ID:lJ0Ihyqk
便所の落書きならまだしも、ここはPICスレだからな
PICスレで何かを残したいなんてどうかしている
たまにはそういった事で感謝される事も起こりうるかもしれんが
PICアセンブラしか出来ない奴がハードを理解していると勘違いして
大きな声でオナニーしてるのがPICスレ

373 :nyannnyannko:2010/03/01(月) 02:10:25 ID:MuuEI8L5
感謝されたいとも何にも思っていない。
抗がん剤の影響で精神不安定なのは事実。

PIC のテクニックを伝授している時が一番精神安定上落ち着くだけ。
オナニーと同じで結構ですよ。

374 :nyannnyannko:2010/03/01(月) 02:22:18 ID:MuuEI8L5
お願いだから、私を本気で怒らせないで欲しい。
さもないと、K石と同じ運命を辿らせるまで、とことん追い詰めてしまう。

自分の悪い性格もちゃんと自覚している。

375 :774ワット発電中さん:2010/03/01(月) 02:32:29 ID:5BUVLEK0
>>373
コテハンつけて
「抗がん剤を打ちながら電子関係の質問に丁寧に答えます!」
といったスレ立てるがよろし

それに追従して質問する人もいれば、罵倒する人もいるだろ
スレが進まなければ便所の落書き内で、
ご丁寧な御教授なんて必要ねえってことだ
オナニー場所探す旅にでろ

376 :774ワット発電中さん:2010/03/01(月) 02:50:38 ID:lJ0Ihyqk
>K石と同じ運命を辿らせるまで、とことん追い詰めてしまう。

この辺kwsk。

377 :774ワット発電中さん:2010/03/01(月) 06:54:46 ID:qA7fFqR+
確かに373氏は不安定なように見える。そして周りに迷惑が及んでいる。
このスレと違う趣旨で書き込みを続けたいようだから別スレ立てるという案は
正解だと思う。そっちも注目しておくよ。

378 :高田野:2010/03/01(月) 07:04:55 ID:3ZfS4IP7
なかーことないw ないwww

379 :774ワット発電中さん:2010/03/02(火) 20:51:32 ID:kc0FoXBJ
17.0 ユニバーサルシリアルバス(USB)
この節ではUSB周辺装置について詳細に述べる。
このモジュールの非常に特有な性質の為、USBの知識が要求される。
いくつかの高度なUSBの情報は17.10節「USB概要」にあるので、アプリケーション設計の参照にのみ使用のこと。
最新の情報の為に設計者はUSBインプリメンターズフォーラム(USB-IF)が発表した公式な仕様を参照することを推奨する。
USB2.0がこの文書の発表の時点での最新の仕様である。

17.1 USB周辺装置の概要
PIC18FX455/X550ファミリーはfull-speedとlow-speedの互換性のあるUSBシリアルインターフェースエンジン(SIE)を持っていて、それによりあらゆるUSBホストやPICマイコンとの間で高速通信することができる。
SIEは内部トランシーバを使用してUSBと直接つなぐことも、外部トランシーバを通して接続することもできる。
5Vでの応用でも内部の3.3Vレギュレータにより内部トランシーバに電力を供給することが可能である。
性能向上の為にいくつかの特別な機能が実装されている。
装置のデータメモリ空間(USB RAM)のデュアルポートメモリによりマイコンコアとSIEの間で直接のメモリアクセスを共有できる。
ユーザがUSB RAM空間内で自由にエンドポイントのメモリを使用できるようにバッファディスクリプタも提供されている。
イソクロナスデータのような大容量の割り込みを使わない外部のメモリバッファへの転送をサポートする為にストリーミングパラレルポートが提供されている。
図17-1にUSB周辺装置とその特徴の概要を示す。

17.2 USBの状態と制御
USBモジュールの操作は三つの制御レジスタにより構成される。
さらに、合計22のレジスタが実際のUSB処理を行うのに使用される。
それらのレジスタは以下の通り:
・USB制御レジスタ(UCON)
・USB構成レジスタ(UCFG)
・USB転送状態レジスタ(USTAT)
・USBデバイスアドレスレジスタ(UADDR)
・フレームナンバーレジスタ(UFRMH:UFRML)
・エンドポイント許可レジスタ0から15(UEPn)

17.2.1 USB制御レジスタ(UCON)
USB制御レジスタ(レジスタ17-1)は転送の間のモジュールの動作を制御するのに必要なビットで構成される。
ビットは以下の制御をする:
・メインUSB周辺許可
・ピンポンバッファポインタリセット
・サスペンドモードの制御
・パケット転送禁止

さらに、USB制御レジスタは状態ビットSE0(UCON<5>)を含んでおり、これはバスでsingle-eneded zeroが発生していることを示すのに使われる。
USBモジュールが許可された時、差動データ線がsingle-ended zero状態になったかどうかを決定する為にこのビットを監視しなければならない。
このことは最初の電源投入状態とUSBのリセット信号を区別する助けになる。

USBモジュールの操作の全体はUSBENビット(UCON<3>)により制御される。
このビットをセットすることでモジュールが始動し、バッファディスクリプタテーブルの全てのPPBIビットが0にリセットされる。
このビットはまた(もしVREGEN構成ビットがセットされているなら)チップ上の電圧レギュレータを始動し、内部プルアップ抵抗をもしそれらが有効なら接続する。
このように、このビットはUSBとの接続/切り離しをソフトで行うのに使用できる。
このビットがクリアされている時には全ての状態ビットと制御ビットが無視されるが、モジュールはこのビットがセットされるより前に完全に構成されていることを要求する。

注意:
USBモジュールを禁止する時、USBENビットをクリアするより前にSUSPNDビット(UCON<1>)がクリアされていることを確認すること。
モジュールがサスペンド状態にある時にUSBENビットをクリアすると、モジュールが完全にパワーダウンすることを妨げることがある。

PPBRSTビット(UCON<6>)はダブルバッファリングモード(ピンポンバッファリング)が使用されている時のリセット状態を制御する。
PPBRSTビットがセットされている時、全てのピンポンバッファポインタは偶数のバッファに割り当てられている。
PPBRSTはファームウェアによりクリアされなければならない。
このビットはピンポンバッファリングを使用しないバッファリングモードでは無視される。

380 :774ワット発電中さん:2010/03/02(火) 20:52:11 ID:kc0FoXBJ
PKTDISビット(UCON<4>)はSIEがパケットの送信と受信を禁止されていることを示すフラグである。
このビットは立ち上げのプロセスを許可する為にSETUPトークンを受信した時にSIEによってセットされる。
このビットはマイコンによってセットできず、クリアしかできない。
クリアすることによりSIEに送信と受信を続行することを許可する。
バッファディスクリプタテーブルのどの未完のイベントもまだ利用可能でUSTATレジスタのFIFOバッファに示されている。

RESUMEビット(UCON<2>)はResume信号を実行することによりリモート起動を行うことを周辺装置に許可する。
有効なリモート起動を発生させる為にファームウェアはRESUMEを10msの間セットしてこのビットをクリアしなければならない。
Resume信号についてのより多くの情報は、USB2.0仕様の7.1.7.5、11.4.4、11.9節を見ること。

SUSPNDビット(UCON<1>)はモジュールと支持回路を低電力モードにする。
SIEへのクロック入力も禁止される。
このビットはIDLEIF割り込みに対する応答としてソフトでセットされなければならない。
ACTVIF割り込みが観測された後にマイコンのファームウェアによりリセットされなければならない。
このビットが有効な時、デバイスはバスに接続されたままだがトランシーバの出力はアイドルのままである。
VUSBピンの電圧がこのビットの値に依存して変化することがある。
IDLEIF要求の前にこのビットをセットすると予期しないバスの動作を引き起こす。

注意:
サスペンドモードの間、典型的なバスパワードUSBデバイスは電流を2.5mAに制限される。
デバイスがサスペンドモードに入る時に最低消費電流に注意しなければならない。

17.2.2 USB構成レジスタ(UCFG)
USBを通じて通信する前に、モジュールの内部と外部の関連したハードが構成されなければならない。
構成の多くはUCFGレジスタ(レジスタ17-2)によって行われる。
分離されたUSB電圧レギュレータ(17.2.2.8節「内部レギュレータ」参照)は構成レジスタを通じて制御される。

UCFGレジスタはUSBモジュールのシステムレベルでの動作を制御する殆どのビットを含む。
それらは以下の通り:
・バス速度(full speedかlow speedか)
・内部プルアップ抵抗の許可
・内部トランシーバの許可
・ピンポンバッファの使用

UCFGレジスタはモジュールのテストやデバッグやUSBの認可を支援する二つのビットを含む。
これらのビットは出力の許可状態の監視とアイパターンの発生を制御する。

注意:
USB速度とトランシーバとプルアップはモジュールの立ち上げ時期の間にのみ構成されなければならない。
モジュールが許可されている間にこれらの設定を変更することは推奨されない。

17.2.2.1 内部トランシーバ
USB周辺装置はUSB2.0のfull-speedとlow-speedに対応したトランシーバを内蔵しており、SIEと内部で接続されている。
この特徴は低価格のワンチップ用途に向いている。
UTRDISビット(UCFG<3>)はトランシーバを制御し、デフォルトでは許可されている(UTRDIS=0)。
FSENビット(UCFG<2>)はトランシーバの速度を制御し、ビットをセットすることでfull-speed動作が可能となる。

内部USBプルアップ抵抗はUPUENビット(UCFG<4>)により制御される。
これらは内部トランシーバが許可された時にのみ選択できる。

USBの仕様は通信の為に3.3Vでの動作を要求するが、チップの残りの部分はより高い電圧で動作しても良い。
だから、トランシーバは分離された電源VUSBにより電力を供給される。

17.2.2.2 外部トランシーバ
このモジュールは外部トランシーバの使用を支援する。
外部トランシーバは物理的な条件によりトランシーバがSIEから離れた場所でなければならないような用途を意図している。
外部トランシーバの動作はUTRDISビットをセットすることで許可される。

UOE信号は外部トランシーバの状態をトグルさせる。
この線はSIEから外部デバイスへのデータ転送を許可する為にデバイスによりプルダウンされる。

381 :774ワット発電中さん:2010/03/02(火) 20:52:43 ID:kc0FoXBJ
17.2.2.3 内部プルアップ抵抗
PIC18FX455/X550デバイスはUSBのlow-speedとfull-speedの要求に適合するように設計されたプルアップ抵抗を内蔵している。
UPUENビット(UCFG<4>)は内部プルアップを許可する。
図17-1にプルアップ抵抗とその制御を示す。

17.2.2.4 外部プルアップ抵抗
内部の抵抗が使われていなければ外部プルアップが使われるだろう。
VUSBピンがD+かD-をプルアップするのに使われるだろう。
プルアップ抵抗はUSBの仕様の要求により1.5kΩ(±5%)でなければならない。
図17-3に例を示す。

17.2.2.5 ピンポンバッファ構成
ピンポンバッファの使用はPPB1:PPB0ビットを使用することにより構成される。
ピンポンバッファの完全な説明は17.4.4節「ピンポンバッファリング」を参照。

17.2.2.6 USB出力許可監視
USBのOE監視はSIEがバスを読んでいるかバスをドライブしているかの指示を提供する。
これは外部トランシーバを使用しているかUCFG<6>=1の時はデフォルトで許可されている。

USBのOE監視はアイパターン発生テスト時のスコープトリガリングと同様に初期のシステムデバッグに役に立つ。

17.2.2.7 アイパターンテスト許可
UTEYEビット(UCFG<7>)がセットされた時に自動アイパターンテストをモジュールによって発生させることができる。
アイパターン出力はモジュールの設定を基に観測される。このことは、SIEのクロックの設定やプルアップ抵抗やトランシーバのモードの構成をしたユーザが第一原因であることを意味している。
さらに、モジュールは許可されていなければならない。

UTEYEが一旦セットされると、モジュールは受信から送信状態への切替をエミュレートし、J-K-J-Kビットシーケンスの送信を開始する(full-speedの場合はK-J-K-J)。
このシーケンスはアイパターンテストモードが許可されている間、無限に繰り返される。

モジュールが実際のUSBシステムに接続されている時にはこのビットを決してセットしてはいけないことに注意。
このテストモードはUSB認証試験の支援の為の基板検証を意図している。
システム開発者に基板のトレースにより影響されるUSB信号のノイズインテグリティや、インピーダンスの不整合や、他のシステム部品との近接を示すことを意図している。
受信から送信状態への遷移については適切にテストしない。
アイパターンはより複雑なUSBの検証試験の代わりにはならないが、システムの最初のデバッグの間は役に立つ筈である。

17.2.2.8 内部レギュレータ
PIC18FX455/X550デバイスは内部トランシーバに電力を供給し、内部/外部プルアップの為の電源を提供する為に3.3Vのレギュレータを内蔵している。
安定の為に220nF(±20%)の外付けコンデンサが要求される。

注意:
VUSBは内部トランシーバの他に外部プルアップをドライブするのに十分なだけしかない。

レギュレータはVREGEN構成ビットを通じて許可あるいは禁止できる。
許可されている時はUSBENビットもセットされている時ならいつでも電圧はVUSBピンに出ている。
レギュレータが禁止されている時(VREGEN=0)は、内部トランシーバの為に3.3V電源がVUSBピンを通して供給されなければならない。

注意1:
外部レギュレータがVUSBに接続されているならば、内部レギュレータを許可してはいけない。
注意2:
VDDはレギュレータが禁止された場合でもVUSB以上でなければならない。

17.2.3 USB状態レジスタ(USTAT)
USB状態レジスタはSIE内部での処理の状態を報告する。
SIEがUSB転送完了割り込みを発行した時、転送の状態を決定する為にUSTATを読まなければならない。
USTATは転送のエンドポイント番号や、方向や、ピンポンバッファポインタの値(もし使用していれば)を含んでいる。

注意:
USB状態レジスタのデータはTRNIF割り込みフラグが立っている時のにみ有効である。

382 :774ワット発電中さん:2010/03/02(火) 20:53:08 ID:kc0FoXBJ
USTATレジスタは実際には4バイトの状態FIFOへの読み込み窓であり、SIEによって制御されている。
このことによりマイコンはSIEが追加のエンドポイントの処理をしている間に一つの転送を処理できる(図17-4)。
SIEがバッファの読み込みか書き込みでの使用を完了した時、USTATレジスタは更新される。
もし処理完了割り込みが発生する前に別のUSB転送が行われたら、SIEは次の転送の状態を状態FIFOに格納する。

転送完了フラグビットTRNIFをクリアすることにより、SIEはFIFOを進める。
もしFIFO保持レジスタの次のデータがあれば、SIEはTRNIFをクリアした5TCY以内に割り込みを再び発生させる。
もし追加のデータが存在しなければ、TRNIFはクリアされたままで、USTATのデータはもう信頼できない。

注意:
もしUSTATのFIFOが満たされた状態の間にエンドポイントの要求を受信すると、SIEは自動的にホストに対してNAKを発行する。

17.2.4 USBエンドポイント制御
最大16の双方向のエンドポイントのそれぞれが自分の独立した制御レジスタUEPn(ここでnはエンドポイント番号を表す)を持っている。
それぞれのレジスタは制御ビットの同一のcomplementを持っている。
見本をレジスタ17-4に示す。

EPHSHKビット(UEPn<4>)はエンドポイントのハンドシェイクを制御する。このビットをセットするとUSBにハンドシェイクを許可する。
典型的には、このビットはイソクロナスエンドポイントの使用時を除いては常にセットされている。

EPCONDISビット(UEPn<3>)はエンドポイントを通じてUSB制御操作(SETUP)を許可あるいは禁止するのに使用される。
このビットをクリアするとSETUP処理が許可される。
INとOUTの処理を許可する為に対応するEPINENとEPOUTENビットがセットされなければならないことに注意。
エンドポイント0に関しては、USBの仕様がエンドポイント0をデフォルトの制御エンドポイントとしているので、このビットは常にクリアされていなければならない。

EPOUTENビット(UEPn<2>)はUSBにホストからのOUT処理を許可あるいは禁止するのに使用される。
このビットをセットするとOUT処理が許可される。
同様に、EPINENビット(UEPn<1>)はホストからのIN処理を許可あるは禁止する。

EPSTALLビット(UEPn<0>)はエンドポイントのSTALL状態を示す。
もしSTALLがあるエンドポイントに発行されると、エンドポイントの対に対するEPSTALLビットがSIEによってセットされる。
このビットはファームウェアを通じてクリアされるか、SIEがリセットされるまでセットされたままである。

17.2.5 USBアドレスレジスタ(UADDR)
USBアドレスレジスタはユニークなUSBアドレスから成り、有効な時に周辺装置がデコードする。
UADDRはUSBがResetを受信した時(URSTIFで示される)あるいはマイコンからのResetを受信した時に00hにリセットされる。
USBアドレスはUSBの立ち上げ期間(enumeration)にMicrochip USBファームウェアサポートの一部としてマイコンにより書き込まれなければならない。

17.2.6 USBフレーム番号レジスタ(UFRMH:UFRML)
フレーム番号レジスタは11bitのフレーム番号から成る。
低位バイトはUFRMLに含まれ、高位の3ビットはUFRMHに含まれる。
レジスタの対はSOFトークンが受信されるといつでも現在のフレーム番号に更新される。
マイコンにとって、これらのレジスタは読み出し専用である。
フレーム番号レジスタは主にイソクロナス転送に使用される。

17.3 USB RAM
USBのデータはマイコンのコアとSIEの間をUSB RAMとして知られるメモリ空間を通して移動する。
これは特別なデュアルポートメモリで、バンク4から7までの合計1Kバイトの通常のデータメモリ空間にマップされている(図17-5)。

バンク4(400hから4FFh)は特にエンドポイントバッファ制御に使用され、バンク5から7はUSBデータとして利用可能である。
使用しているバッファリングの種類によるが、バンク4の8バイト以外の全てがUSBのバッファ空間として利用できる。

USB RAMはマイコンがデータメモリとして利用できるが、SIEによってアクセスされている区画を、マイコンによってアクセスするべきではない
任意の時刻において特定のバッファへのアクセスを決定するのにセマフォ機構が使用されている。
これは17.4.1.1節「バッファの所有権」で議論されている。

383 :774ワット発電中さん:2010/03/02(火) 21:05:35 ID:9Osx4sSG
復活! いきなり長文はきついな

384 :774ワット発電中さん:2010/03/02(火) 21:26:27 ID:qCHslXWb
サーバが落ちて気が変になったの?

385 :774ワット発電中さん:2010/03/02(火) 21:26:41 ID:yiqAP+cu
荒らし死ね

386 :774ワット発電中さん:2010/03/02(火) 23:05:38 ID:xpOd56Ej
癌で死ね

387 :774ワット発電中さん:2010/03/02(火) 23:09:04 ID:9Osx4sSG
ん? 1つの書き込みでここまで長い行数が許されるんだ…
と、妙に感心。以前はじかれた気もしたけど気のせいか

388 :774ワット発電中さん:2010/03/03(水) 00:11:47 ID:t3KtkZJN
最近は60行までOKだね。
昔は31行までだったような気がする。
どちらでもいいが長文連投なんてだれも読まないからスレ汚し以外の何物でもないからやめとくれ。

389 :774ワット発電中さん:2010/03/03(水) 00:16:38 ID:ipeT6PBm
3行のスレ汚しよりはマシかもな。

390 :natu:2010/03/03(水) 01:18:41 ID:w7fF6avB
長いけど、我慢して読んどくと近い内に
幸せになれるかもしれない。

391 :774ワット発電中さん:2010/03/03(水) 09:49:18 ID:V3ZziXKv
んなこたぁない!

392 :774ワット発電中さん:2010/03/03(水) 19:41:04 ID:IyUAOGLD
17.4 バッファディスクリプタとバッファディスクリプタテーブル
バンク4の領域はバッファディスクリプタテーブル(BDT)として知られる構造の中のエンドポイントバッファ制御の為に特に使用される。
これは様々な長さと構成のバッファのエンドポイントを構築し制御するフレキシブルな方法をユーザに提供する。

BDTはUSB RAM空間中での実際のバッファを定義し制御するのに使用されるバッファディスクリプタ(BD)で構成される。
それぞれのBDは今度は4つのレジスタから構成される。ここでnは最大64のBDを示す(範囲は0から63)。
・BDnSTAT: BD状態レジスタ
・BDnCND: BDバイトカウントレジスタ
・BDnADRL: BDアドレスLowレジスタ
・BDnADRH: BDアドレスHighレジスタ

BDは常に4バイトのブロックとして、BDnSTAT:BDnCNT:BDnADRL:BDnADRHという順序で現れる。
BDnSTATのアドレスは常に(16進数で)400hから(4n - 1)のオフセットを持つ。ここでnはバッファディスクリプタ番号である。

使用されているバッファリングの構成(17.4.4節「ピンポンバッファリング」)によるが、32,33までか64組のバッファディスクリプタが存在する。
最小でも、BDTは最低8バイトの長さがなければならない。
これは、USBの仕様が初期の立ち上げの為に全てのデバイスがエンドポイント0を入力と出力で持たなければならないとしているからである。
エンドポイントとバッファリングの構成によるが、BDTは256バイトの長さまで持てる。

バッファディスクリプタ状態レジスタとアドレスレジスタは特別な機能を持ったレジスタのように思うかもしれないが、バンク15のSFRと同様にそれらはハード的にはマップされていない。
もし、あるBDに対応するエンドポイントが許可されていなければ、そのレジスタは使用されない。
未実装のアドレスとなる代わりに、それらは利用可能なRAMとなる。
UEPn<1>ビットをセットすることであるエンドポイントが許可された時にだけ、それらのアドレスのメモリはBDレジスタとして機能するようになる。
データメモリ空間の任意のアドレスと同様に、BDレジスタはデバイスリセット時の値は不定である。

64バイトバッファで500hから始まるBDの例を図17-6に示す。
特定のBDレジスタの組は対応するエンドポイントがUEPnレジスタを使用して許可された場合にのみ有効となる。
全てのBDレジスタはUSB RAMの中で利用可能である。
それぞれのエンドポイントに対するBDはエンドポイントを許可するより前に設定されなければならない。

17.4.1 BD状態と構成
バッファディスクリプタはエンドポイントバッファのサイズを定義するだけでなく、その構成と制御も決定する。
構成の多くはBD状態レジスタBDnSTATによって行われる。
それぞれのBDは固有の数字の付けられたBDnSTATレジスタを持つ。

他の制御レジスタと違い、BDnSTATレジスタの構成は状況に影響される。
ある時点でマイコンとUSBモジュールのどちらがBDとバッファを変更したかによって、二つの別な構成が存在する。
この二つの間で共通する定義は僅か3ビットである。

17.4.1.1 バッファの所有権
バッファとそのBDはCPUとUSBモジュールで共有されているので、BDとそれに対応したメモリ上のバッファの更新をどちらに許可するか区別する為に簡単なセマフォ機構が使われている。

BDとそれに対応したメモリ上のバッファの更新をどちらに許可するか区別する為のセマフォとして、UOWNビット(BDnSTAT<7>)を使うことで実現されている。
UOWNはBDnSTATの二つの構成の間で共有されている唯一のビットである。

UOWNがクリアされた時、BDのエントリはマイコンコアによって所有される。
UOWNビットがセットされた時、BDエントリとバッファメモリはUSB周辺回路によって所有される。
この間、コアはBDやそれと対応するデータバッファを変更してはならない。
SIEがバッファを所有している間でもマイコンコアは依然BDnSTATを読むことが可能で、逆もまたそうであることに注意。

バッファディスクリプタはレジスタ更新の原因によって異なった意味を持つ。
USB周辺回路に所有権を与える前に、ユーザはBDnSTATビットを通じて周辺回路の基礎的な操作を構成することができる。
この間にバイトカウントとバッファ位置レジスタをセットすることもできる。

UOWNがセットされた時、ユーザはもうBDに書き込まれた値に頼ることはできない。
この時点から、SIEは必要に応じてBDの元の値を上書きしてBDを更新する。
BDnSTATレジスタはPIDトークンでSIEにより更新され、転送カウントBDnCNTは更新される。

393 :774ワット発電中さん:2010/03/03(水) 19:41:30 ID:IyUAOGLD
エンドポイントをarmする準備をする時、BDTのBDnSTATバイトは常に最後に更新されなければならない。
SIEは処理が完了した時にUOWNをクリアする。
この事の唯一の例外は、KENが許可されかつまたはBSTALLが許可された時である。

UOWNビットがセットされた時にアクセスを遮断するハード的な機構は存在しない。
だから、SIEが所有している時にマイコンがメモリを変更しようとすると、予期しない振る舞いを生じる可能性がある。
同様に、そういうメモリを読むとUSB周辺回路が所有権をマイコンに返すまでは不正確なデータを生じることがある。

17.4.1.2 BDnSTATレジスタ(CPUモード)
UOWN=0の時、マイコンコアはBDを所有している。
この時、レジスタの残りの7ビットが機能の制御を担う。

保持許可ビットKEN(BDnSTAT<5>)はBDが許可され続けるか決定する。
もしこのビットがセットされていたら、一旦UOWNビットがセットされるとエンドポイントの利用状態とは関係なくSIEによって所有され続ける。
これにより、USTAT FIFOは更新されず、同様に処理完了割り込みはエンドポイントの為にセットされない。
この機能はデータI/OチャンネルとしてUSB RAMの代わりにストリーミングパラレルポートが選択された時にのみ許可されなければならない。

アドレスインクリメント禁止ビットINCDIS(BDnSTAT<4>)はSIEが自動的にアドレスをインクリメントする機能を制御する。
INCDISをセットすると、送信あるいは受信されたそれぞれのバイト毎にSIEによってバッファのアドレスが自動的にインクリメントされることを禁止する。
この機能はストリーミングパラレルポートを使用している時にのみ使用するべきで、この時それぞれのバイトはメモリの同じ場所に書き込まれあるいは読み出される。

データトグル同期許可ビットDTSEN(BDnSTAT<3>)はデータトグルパリティチェックを制御する。
DTSENを許可すると、SIEによるデータトグル同期が許可される。
許可された時、データパケットのパリティをDTS(BDnSTAT<6>)の値に対してチェックする。
もしパケットが正しくない同期で到着したならば、データは基本的に無視される。
USB RAMへ書き込まれず、USB転送完了割り込みフラグはセットされない。
しかし、SIEは受信の承認の為にホストにACKトークンを返す。
SIEにおけるDTSENビットの効果を表17-3にまとめる。

バッファ停止ビットBSTALL(BDnSTAT<2>)は転送の制御を提供し、通常はエンドポイント0の一度の停止に使われる。
USB仕様第9章に記述されたSET_FEATURE/CLEAR_FEATUREコマンドへの対応も提供する。典型的には、デフォルトの制御エンドポイント以外の任意のエンドポイントの持続的な停止に使われる。

BSTALLビットを許可するとバッファは停止する。
BSTALLをセットすると、もし受信したトークンがそのBDをその位置で使用するならばSIEはSTALLトークンをホストに返す。
STALLがホストに対して発行されると、対応するUEPn制御レジスタのEPSTALLビットがセットされ、STALL割り込みが発生する。
SETUPトークンが受信されない限り、UOWNビットはセットされたままでBDは変化しない。
この場合、STALL状態はクリアされBDの所有権はマイコンコアに返される。

BC9:BC8ビット(BDnSTAT<1:0>)にSIEのバイトカウントの上位2ビットが格納される。下位の8ビットは対応するBDnCNTレジスタに格納されている。
詳しくは17.4.2節「BDバイトカウント」を見よ。

17.4.1.3 BDnSTATレジスタ(SIEモード)
BDとそのバッファがSIEによって所有されている時、BDnSTATの殆どのビットは異なった意味を持つ。
構成をレジスタ17-6に示す。
一旦UOWNがセットされると、ユーザによってそこに書かれていたデータや制御の設定はSIEからのデータによって上書きされる。

BDnSTATレジスタはパケットID(PID)トークンにより更新される。PIDはBDnSTAT<5:2>に格納されている。
対応するBDnCNTレジスタの転送カウントが更新される。
8ビットのレジスタからオーバーフローした値は上位2ビットが残りBDnSTAT<1:0>に格納される。

17.4.2 BDバイトカウント
バイトカウントはIN転送の間に送信された合計バイト数を表している。
IN転送の後、SIEはホストにバイト数を返す。

OUT転送に対しては、バイトカウントは受信してUSB RAMに格納できる最大バイト数を表している。
OUT転送の後、SIEは実際に受信したバイト数を返す。
もし受信したバイト数が対応するバイトカウントを超えた場合は、データパケットは拒絶されNAKハンドシェイクが発生する。
これが生じた時、バイトカウントは更新されない。

394 :774ワット発電中さん:2010/03/03(水) 19:41:56 ID:IyUAOGLD
10ビットのバイトカウントが二つのレジスタに渡っている。
カウントの下位の8ビットはBDnCNTレジスタにある。
上位の2ビットはBDnSTAT<1:0>にある。
これは0から1023バイトまで有効であることを意味している。

17.4.3 BDアドレス検証
BDアドレスレジスタ対は対応するエンドポイントバッファがある開始RAMアドレス含んでいる。
エンドポイントの開始位置が正当である為には、400hから7FFhのUSB RAMの範囲に入っていなければならない。
BDのアドレスを検証する為のハード的な機構は無い。

もしBDのアドレスの値がUSB RAM内のアドレスを指していないか、別のエンドポイントのバッファの中のアドレスを指している場合、データは恐らく失われるか上書きされるだろう。
同様に、受信バッファ(OUTエンドポイント)が使われているBDの位置と重複していると、予期しない結果を生じる。
USB製品の開発時に、ユーザはプログラム中にソフト的なアドレス検証を含めたいと思うかもしれない。

17.4.4 ピンポンバッファリング
エンドポイントはそれが二つのBDエントリの組を持っている時、ピンポンバッファを持っていると定義される。一つの組は偶数転送の為で、もう一つの組は奇数転送の為である。
これはSIEがあるBDを処理している間にCPUが別のBDを処理することを可能にする。
このダブルバッファリングBDによりUSBへまたはUSBからの最大のスループットを可能にする。

USBモジュールは4つの実行モードに対応している:
・ピンポン対応なし
・OUTエンドポイント0のみピンポンバッファ対応
・全てのエンドポイントがピンポンバッファ対応
・エンドポイント0以外の全てのエンドポイントがピンポンバッファ対応

ピンポンバッファの設定はUCFGレジスタのPPB1:PPB0ビットを使用して構成される。

USBモジュールはそれぞれのエンドポイントに対して個別にピンポンポインタのtrackを保持する。
全てのポインタはモジュールが許可された時に最初は偶数のBDにリセットされる。
処理が完了した後(UOWNがSIEによってクリアされた時)、ポインタは奇数のBDに切り替えられる。

最後の処理の偶数/奇数状態はUSTATレジスタのPPBIビットに格納される。
ユーザはPPBRSTビットを使用することでピンポンバッファを偶数にリセットすることができる。

処理の4つの異なったモードとUSB RAMがBDでどう埋められるかを図17-7に示す。

BDはバッファリングの構成によっては特定のエンドポイントと固定された関係にある。
BDのエンドポイントへのマッピングについて表17-4に詳しく示す。
この関係は、もしエンドポイントが切れ目無く許可されないとBDTにギャップが発生することも意味している。
この事は禁止されたエンドポイントのBDはバッファ空間として使用できることを理論的には意味している。
実際には、ユーザはBDアドレスを検証する手法を実装しない限り、BDTのそういう空間を使用することは避けるべきである。

17.5 USB割り込み
USBモジュールは多重割り込み状態を発生させることができる。
これらの全ての割り込み源に対応する為に、モジュールはマイコンのそれとよく似た割り込みの論理構造を持っている。
USBの割り込みは1組の制御レジスタによって許可され、フラグレジスタの分離された組によって検出される。
全ての源はマイコンの割り込み論理にある単一のUSB割り込み要求USBIF(PIR2<5>)に集められる。

USBモジュールの割り込み論理について図17-8に示す。
USBモジュールには割り込みレジスタの2つの階層がある。
トップの階層は全てのUSB状態の割り込みを含む。これらはUIEレジスタとUIRレジスタによりそれぞれ許可され立てられる。
第2階層はUSBのエラー状態を含む。それらはUEIRレジスタとUEIEレジスタによりそれぞれ許可されたてられる。
これらのどの割り込み状態もUSBのエラー割り込みフラグ(UERRIF)をトップの階層で立てる。

割り込みはUSB処理のルーチンイベントをトラップするのに使われる場合がある。
USBフレームのいくつかの一般的なイベントとそれらに対応する割り込みを図17-9に示す。

395 :774ワット発電中さん:2010/03/03(水) 20:17:55 ID:MXAm+Irn
PICのデータシートのまる写しか翻訳だろ
必要以上の引用は著作権侵害にならないのか

396 :774ワット発電中さん:2010/03/03(水) 21:10:30 ID:oddwgaCJ
機械翻訳にしてはまともな文章だな。
専門用語の訳が適当でない部分はあるにしろ、文章構造はまともだ。

397 :774ワット発電中さん:2010/03/04(木) 01:02:57 ID:IJbU3wLy
図に示す、って図はどこ?

398 :774ワット発電中さん:2010/03/04(木) 09:00:04 ID:Dxub6VDC
AA載せられても困るんだが
逆にうまく載せられれば画期的だが

399 :774ワット発電中さん:2010/03/04(木) 11:11:34 ID:ubQEhQHj
>>339
遅レスだが、1年くらい前のライブラリからはUSB割込み対応してるよ。


400 :774ワット発電中さん:2010/03/04(木) 16:36:55 ID:a4V6Omk2
PICで彼女って作れますか?
作ろうとすると何が必要ですか?

401 :774ワット発電中さん:2010/03/04(木) 19:13:51 ID:M6pa265w
度胸。

402 :774ワット発電中さん:2010/03/04(木) 19:16:43 ID:+HqporaI
だいたい機械翻訳って奇怪翻訳になるしな

403 :774ワット発電中さん:2010/03/04(木) 19:17:54 ID:9b20mLJz
うるせー カス

404 :774ワット発電中さん:2010/03/04(木) 19:42:33 ID:a4V6Omk2
>>401
ありがとうございます。

でも直接は恥ずかしかったのでUSB経由で聞いてみました。
とりあえずOKと返事が来たのですが、これって脈ありでしょうか?

405 :774ワット発電中さん:2010/03/04(木) 19:42:48 ID:ldJRuzWF
PICライター作ったんだがうまく動かない・・・
IC-progで「Verify failed at address 0000h!」だって。全然ダメじゃん。orz

406 :774ワット発電中さん:2010/03/04(木) 20:03:50 ID:DY32shA7
17.5.1 USB割り込み状態レジスタ(UIR)

USB割り込み状態レジスタ(レジスタ17-7)はそれぞれのUSB状態割り込み源のフラグビットから成る。
これらの割り込み源のそれぞれはUIEレジスタに対応する割り込み許可ビットを持っている。
全てのUSB状態フラグは互いにORされ、マイコンの割り込みのUSBIF割り込みフラグを発生させる。

SIEによってある割り込みビットがセットされると、それはソフトで0を書き込みことでクリアしなければならない。
フラグビットはファームウェアのデバッグの為にソフトにより立てることもできる。

USBモジュールが低電力サスペンドモード(UCON<1>=1)にある時、SIEはクロックを供給されていない。
この状態の時、SIEはパケットを処理できないので、活動検出割り込みACTVIF以外の新しい割り込み状態を検出できない。
ACTVIFビットは典型的にはマイコンがUSBモジュールを低電力サスペンドモード以外(UCON<1>=0)にするべき時をUSBファームウェアに検出させるのに使用される。

17.5.1.1 バス活動検出割り込みビット(ACTVIF)

ACTVIFビットはUSBモジュールがサスペンドから復帰した直後やUSBモジュールがサスペンドされている間はクリアすることができない。
ACTVIFビットがファームウェアによってクリアできるようになる前に、内部のハード的なステートマシンを同期させる為に数クロックが必要となる。
内部のハードが同期する前にACTVIFビットをクリアすると、ACTVIFの値が効果を持たないことがある。
さらに、もしUSBモジュールが96MHz PLLをクロック源に使っていた場合、SUSPNDビットをクリアした後に96MHz PLLがロックするのを待つ間、USBモジュールが直ちに動作しない場合がある。
プログラムはACTVIFフラグを例17-1に示すようにクリアしなければならない。

注意:
USBバスがアイドル状態から再開する時、1つのACTVIF割り込みしか発生しない。
もしユーザのファームウェアがACTVIFビットをクリアすると、継続的にバスのトラフィックがあるとしてもビットは直ちにはセットされ直されない。
他のACTVIF割り込みを発生できるようになるより前に他のIDLEIF状態を発生させるのに十分なだけの期間、バスのトラフィックを中止させなければならない。

17.5.2 USB割り込み許可レジスタ(UIE)
USB割り込み許可レジスタ(レジスタ17-8)はUSB状態割り込み源に対する許可ビットから成る。
これらのうち任意のビットをセットすると、UIRレジスタの対応する割り込み源が許可される。
このレジスタの値は割り込み状態のマイコンの割り込み論理への伝達にのみ影響を与える。
割り込み状態によってフラグビットはセットされるので、実際に割り込みを発生させることなくこれらをポーリングして利用することができる。

17.5.3 USBエラー割り込み状態レジスタ(UEIR)
USBエラー割り込み状態レジスタ(レジスタ17-9)はUSB周辺回路内のそれぞれのエラー源に対するフラグビットから成る。
これらのエラー源はUEIEレジスタの対応する割り込み許可ビットによってそれぞれ制御されている。
全てのUSBエラーフラグは互いにORされて、割り込み論理のトップ階層でUSBエラー割り込みフラグ(UERRIF)を発生させる。
それぞれのエラービットはエラー状態が検出されると直ちにセットされる。
だから、割り込みは処理されたトークンの終わりとは一般に一致しない。

SIEによって割り込みビットが一旦セットされると、ソフトで0を書き込むことでクリアしなければならない。

17.5.4 USBエラー割り込み許可レジスタ(UEIE)
USBエラー割り込み許可レジスタ(レジスタ17-10)はそれぞれのUSBエラー割り込み源に対する許可ビットから成る。
これらの任意のビットをセットすると、UEIRレジスタにある対応するエラー割り込み源が割り込み論理のトップ階層にあるUERRビットに伝達されることを許可する。

UIEレジスタに関しては、許可ビットは割り込み状態のマイコンの割り込み論理への伝達にしか影響しない。
フラグビットはそれらの割り込み状態によってセットされるので、実際に割り込みを発生させることなくこれらをポーリングして利用することができる


17.6 USB電力モード
多くのUSB機器はいくつかの異なった電源の要求条件や構成を持っている。
よく見る一般的な電力モードはバスパワーのみ、自己電力のみ、自己電力優先のデュアルパワーである。
最も一般的な例を示す。

17.6.1 バスパワーのみ
バスパワーのみのモードでは、機器への全ての電力はUSBから引き込まれる(図17-10)。
これは機器にとって事実上最も簡単な電力供給方法である。

407 :774ワット発電中さん:2010/03/04(木) 20:04:15 ID:DY32shA7
USB仕様2.0の流入電流の要求を満たす為に、VBUSとグランドの間の実効静電容量は10uFを超えてはならない。
そうでない場合には、何らかの流入制限が必要となる。
より詳細には、USB仕様2.0の7.2.4節を見よ。

USB仕様2.0によれば、全てのUSB機器は低電力サスペンドモードに対応しなければならない。
USBがサスペンドモードの時、機器はUSBケーブルの5VのVBUSラインから2.5mA以上を消費してはならない。

ホストはUSB機器に3ms以上の間機器への全てのトラフィックを停止することで、サスペンドモードに入るように伝える。
この状態ではUIRレジスタのIDLIFビットがセットされる。

USBのサスペンドモードの間、D+かD-のプルアップ抵抗はアクティブなままであり、これが2.5mAの限られたサスペンド電流のうちのいくらかを消費する。

17.6.2 自己電力のみ
自己電力のみのモードの時、USB機器はUSBから非常に少ない電力を引き込みつつ自分で電力を供給する。
図17-11に例を示す。
USBがいつ接続されホストがVBUSに電力を供給しているかを示す為に取り付け指示器が追加されていることに注意。

仕様を満たす為に、USBモジュール(とD+かD-のプルアップ抵抗)はホストがVBUSをhighにドライブするまで許可してはならない。
I/Oピンの一つがこの用途に使われることがある。

機器はUSBケーブルの5V VBUSピンにいかなる電流も流してはならない。

17.6.3 自己電力優先のデュアルパワー
いくつかの機器はデュアルパワーの選択を要求する場合がある。
これは機器が主として内部電力を使用し、内部電力が利用できない時にはUSBからの電力に切り替えることを可能とする。
図17-12に簡単な自己電力優先のデュアルパワーの例を示す。これは自己電力のみのモードとUSBバスパワーのみのモードを自動的に切り替える。

デュアルパワーの機器は流入電流とサスペンドモード時の電流の特別な要求を全て満たす必要があり、VBUSがhighにドライブされるまでUSBモジュールを許可してはならない。
これらの要求については、17.6.1節「バスパワーのみ」と17.6.2節「自己電力のみ」に記述されている。

さらに、デュアルパワー機器はUSBケーブルの5V VBUSピンに電流を流してはならない。

注意:
ユーザはUSBから引き出せる電力の制限について心に留める必要がある。
USB仕様2.0によると、低電力機器に対して100mAあるいは高電力機器に対して500mAを超えられない。

17.7 ストリーミングパラレルポート
ストリーミングパラレルポート(SPP)はデータにとってUSB RAMの他に選択できる通信路である。
SPPを使うことにより、エンドポイントは外部のハードと直接にデータを送信しあるいは受信するように構成することができる。

この方法は、SPPに大きなデータのブロックをパスさせ、マイコンがそれを実際には処理せずに、データマネージャーとして振舞うような設計の可能性を提供する。
例えばある機器はデータを獲得するシステムを内蔵するかもしれない。このデータは外部のFIFOからUSBを通してホストコンピュータに流れる。
この場合、エンドポイントの制御はマイコンによって管理され、生データの移動は外部で処理される。

SSPは関連するエンドポイントバッファディスクリプタを通してUSBエンドポイントポートとして許可される。
エンドポイントは以下のように許可されなければならない:
1. BDnADRL:BDnADRHをFFFFhを指すようにセットする。
2. KENビット(BDnSTAT<5>)をセットしてSIEがバッファの制御を維持するようにする。
3. INCDISビット(BDnSTAT<4>)をセットして自動アドレスインクリメントを禁止する。

SPPについてのさらなる情報は18.0節「ストリーミングパラレルポート」参照。

注意1:
エンドポイントがSPPを使うように構成するならば、SPPモジュールもUSBモジュールを使うように構成されなければならない。
そうでなければ、期待通りの動作をしない。
注意2:
さらに、もしエンドポイントがSPPを使うように構成するならば、そのエンドポイントのデータ転送タイプはアイソクロナスのみでなければならない。

408 :774ワット発電中さん:2010/03/04(木) 20:04:51 ID:DY32shA7
17.8 発振器
USBモジュールは特定のクロックを必要とする。
full-speed動作ではクロックは48MHzでなければならない。
そうであるのに、マイコンコアと周辺回路はそのクロック速度や同一のクロックによって動作することを要求されていない。
可能なクロックの選択について2.3節「USBの為の発振器設定」で詳しく述べた。

17.9 USBファームウェアとドライバ
行方不明

17.10 USB概要
この節ではUSB機器を設計するのに必要な、USBのいくつかの基礎概念と役に立つ情報を示す。
この節には多くの情報が示されているが、USBの仕様とクラスの仕様には過剰な情報がある。
だから、リーダーはより多くの情報の為にUSB仕様(www.usb.org)を参照することを推奨する。
もしあなたがUSBの詳細についてとても詳しいなら、この節は基礎的で高度なUSBの復習として役立つだろう。

17.10.1 階層化された枠組み
USB機器の機能は図17-13に図示するような階層化された枠組みの構造を持つ。
それぞれの階層は機器の中で機能階層と関連している。
最高の階層は機器は別として構成である。
ある機器は多重の構成を持つ場合がある。
例えば、特定の機器は自己電力のみかバスパワーのみかによる複数の電力要求条件を持つことがある。

それぞれの構成に対して、多重のインターフェースが存在する場合がある。
それぞれのインターフェースはその構成での特定のモードに対応する。

インターフェースの下はエンドポイントである。
データはこの階層で直接移動する。
16の双方向のエンドポイントが存在できる。
エンドポイント0は常にデフォルトの制御エンドポイントで、機器がバス上にある時、エンドポイント0は機器を構成するのに利用できる。

17.10.2 フレーム
バス上で交信された情報は1msのタイムスロットにまとめられ、フレームとして参照される。
それぞれのフレームは様々な機器やエンドポイントへの多くの処理を含むことが可能である。
図17-9にフレーム中の処理の例を示す。

17.10.3 転送
USB仕様には4種類の転送が定義されている。
・アイソクロナス: この種類は到着が時間的に保障された大量のデータ(1023バイトまで)の転送を提供する。
しかし、データの完全さは保障されない。
これはオーディオのような少しのデータ損失が致命的とならないストリーミング用途に向いている。
・バルク: この種類の転送方法はデータの完全さを保障して大容量のデータを転送することを可能にする。
しかし、到着が適時であるかは保障されない。
・割り込み: この種類の転送はデータの小さなブロックの到着が時間的に保障され、かつデータの完全さも保障される。
・制御: この種類は機器の立ち上げ制御を提供する。

full-speed機器は全ての転送の種類に対応しているが、low-speed機器は割り込みと制御転送のみに制限されている。

409 :774ワット発電中さん:2010/03/04(木) 20:07:49 ID:sykY75R2
だからお前は何をしたいんだ

410 :774ワット発電中さん:2010/03/04(木) 21:45:57 ID:/lVDtb0B
1000行く前に容量オーバーで落としたいんじゃないか

411 :774ワット発電中さん:2010/03/04(木) 23:46:32 ID:0D72I5ME
まだ続くようなら連続・重複で削除要請すればいいんじゃね

412 :774ワット発電中さん:2010/03/05(金) 07:03:10 ID:9mA5cQbl
そういう季節www

413 :774ワット発電中さん:2010/03/05(金) 20:26:31 ID:Lgm0NubS
17.10.4 電力
USBから電力を得ることができる。
USB仕様はバスパワーの要求について定義している。
機器は自己電力かバスパワーのどちらかだろう。
自己電力の機器は外部の電源から電力を引き込み、バスパワーの機器はバスから供給される電力を使用する。

USB仕様はバスから得る電力を制限している。
それぞれの機器はおよそ5Vで100mAを保障されている(負荷は1単位)。
最大500mAまでの追加の電力が要求される場合がある。
1つより多い負荷の電力は要求で、ホストやハブは余分な電流を供給する責任はないことに注意。
だから、1単位の負荷よりも電力を消費する可能性のある機器は必要であれば1単位の負荷以下の低電力構成で維持できるようになっていなければならない。

USB仕様はサスペンドモードについても定義している。
この状況では電流は1秒での平均で2.5mAに制限されなければならない。
機器は活動停止の3ms後(つまり3msの間SOFトークンが無い)にサスペンドモードに入らなければならない。
サスペンドモードに入る機器はサスペンドの10ms以内に電流消費を落とさなければならない。
同様に、復帰を知らせる時、機器はサスペンドの制限以上の電流を引き出すことで、10ms以内に復帰を知らせなければならない。

17.10.5 エニュメレーション
機器がバスに最初に取り付けられた時、ホストは機器を識別しようとしてエニュメレーション処理に入る。
基本的に、電力消費やデータの速度やサイズやプロトコルやその他の情報を集めることでホストが機器を調べる。ディスクリプタがこの情報を持っている。
典型的なエニュメレーション処理は以下の通りである:
1. USBリセット: 機器をリセットする。
機器は構成されておらず、アドレス(アドレス0)を持っていない。
2. 機器のディスクリプタ取得: ホストは機器のディスクリプタのうちの小さい一部分を要求する。
3. USBリセット: 再び機器をリセットする。
4. アドレス設定: ホストは機器に対するアドレスを割り振る。
5. 機器のディスクリプタ取得: ホストは製造者や機器の種類や最大パケットサイズなどの情報を集めることで機器のディスクリプタを引き出す。
6. 構成のディスクリプタ取得
7. それ以外のディスクリプタ取得
8. 構成を設定
正確なエニュメレーション処理はホストに依存する。

17.10.6 ディスクリプタ
8種類の異なった標準のディスクリプタがあり、そのうち5つがこの機器では重要である。

17.10.6.1 機器のディスクリプタ
機器のディスクリプタは製造者、製品番号、シリアル番号、機器のクラス、構成の数といった情報を規定する。
機器のディスクリプタは1つだけ存在する。

17.10.6.2 構成のディスクリプタ
構成のディスクリプタはその機器の電源の要求条件とこの構成の時にいくつの異なったインターフェースに対応しているかの情報を規定する。
ある機器では1つより多くの構成が存在する場合がある(つまり、低電力と高電力の構成)。

17.10.6.3 インターフェースのディスクリプタ
インターフェースのディスクリプタはインターフェースのクラスはもちろんのこと、そのインターフェースで使われるエンドポイントの数について詳述する。
ある構成に対して1つ以上のインターフェースが存在する場合がある。

17.10.6.4 エンドポイントのディスクリプタ
エンドポイントのディスクリプタはそのエンドポイントのいくつかの仕様の他に、転送の種類(17.10.3節「転送」参照)と方向について識別する。
ある機器には多くのエンドポイントがありエンドポイントは異なった構成で共有されている場合がある。

17.10.6.5 文字列のディスクリプタ
これまでの多くのディスクリプタは一つかそれ以上の文字列のディスクリプタを参照している。
文字列のディスクリプタはその階層(17.10.1節「階層化された枠組み」)について記述された人間が読める情報を規定する。
しばしばそれらの文字列はユーザが機器を識別するのを助ける為にホストに表示される。
文字列のディスクリプタはメモリの節約の為に一般には任意であり、unicode形式でエンコードされている。

414 :774ワット発電中さん:2010/03/05(金) 20:26:44 ID:Lgm0NubS
17.10.7 バス速度
それぞれのUSB機器はそのバスの存在とバスの速度をホストに示す必要がある。
これはバスに接続された1.5kΩの抵抗を通じて取り付け時に行われる。

機器の速度によって、抵抗はD+かD-ラインのどちらかを3.3Vにプルアップする。
low-speed機器の場合には、プルアップ抵抗はD-ラインに接続される。
full-speed機器の場合には、プルアップ抵抗はD+ラインに接続される。

17.10.8 クラス仕様とドライバ
USB仕様はクラス仕様を含んでおり、これはOSのベンダーによって任意に対応されている。
クラスの例にはオーディオ、大容量ストレージ、通信、ヒューマンインターフェース(HID)がある。
多くの場合、ドライバはホスト側でUSB機器に対して「話しかける」ことを要求される。
カスタム用途ではドライバを開発する必要があることがある。
幸運なことに、大半のホストで機器の大半のクラスについてドライバが利用可能である。
だから、これらのドライバが再利用できる。

415 :774ワット発電中さん:2010/03/05(金) 20:34:05 ID:dp2MU2gx
USB機器をNG登録したらすっきりした

416 :774ワット発電中さん:2010/03/05(金) 21:01:55 ID:xvX6XKzm
>415

そうやって楽な方に流れるから、いつまでたってもCでしか書けないんだぞ。

417 :774ワット発電中さん:2010/03/05(金) 23:15:58 ID:rwjyg5Xc
  btfsc USB機器
  goto あぼーん
  return
あぼーん:
  癌で死ね

418 :774ワット発電中さん:2010/03/05(金) 23:35:59 ID:D/Ehr61l
「USB」と「C」と「アセン」と「ブラ」をNG登録したらすっきりした

419 :774ワット発電中さん:2010/03/06(土) 00:08:45 ID:LtbUtQvL
>418

そうやって逃げてばかりではいつまでも

420 :774ワット発電中さん:2010/03/06(土) 00:43:23 ID:AIo5pQeS
>USB長文野郎

必要な人間もいるだろうから無駄とは言わんがここでは邪魔。
他所でやれ。

421 :774ワット発電中さん:2010/03/06(土) 00:57:49 ID:ikk2CYtl
>>416
プログラム書けるようになってから言おうね

422 :774ワット発電中さん:2010/03/06(土) 02:29:02 ID:qqBIlwFG
マナー教室軽石乙。

423 :774ワット発電中さん:2010/03/06(土) 02:31:17 ID:qqBIlwFG
つーか、我がスレのように仕切ってんなよ軽石。うぜえ。
擦れに沿ったネタがあるなら書け、なきゃ黙ってろ。

424 :774ワット発電中さん:2010/03/06(土) 07:03:59 ID:R9edoLkO
PICでUSBをアセンブラで取り扱ってる人は存在するのだろうか

425 :774ワット発電中さん:2010/03/06(土) 07:18:28 ID:VrJs/Tcg
はい

426 :774ワット発電中さん:2010/03/06(土) 08:25:08 ID:8olmr+hB
ここはオレ様のスレだ

427 :774ワット発電中さん:2010/03/06(土) 12:16:32 ID:eE6B37po
>>424
確か中日のオヤッサンがチャレンジしてなかったか。
・・・失敗に終わったんだったかな。

428 :774ワット発電中さん:2010/03/06(土) 13:25:59 ID:h5CzzY8H
>>400

429 :774ワット発電中さん:2010/03/06(土) 15:53:03 ID:XOwkwJMy
>>400
PICを彼女にしたいのか、PICで彼女を制御するのかによる。

後者の場合、ホストコントローラが載っていないので難しい。

430 :774ワット発電中さん:2010/03/06(土) 16:07:13 ID:JQxPuDf0
>429
ふつうブルートゥースくらい身に着けてない?


431 :774ワット発電中さん:2010/03/06(土) 16:30:43 ID:HlbjQ9te
>>400
リリカルなのはのレイジングハートぐらいだったら頑張ればいけるんじゃないかと。

432 :774ワット発電中さん:2010/03/06(土) 16:55:14 ID:XOwkwJMy
>>430
オレが言いたかったのはデータリンクからソフトウェア層んとこの処理
年齢層によってデータ化けするから、内蔵IFでも結局記述しないといけない

>>431
スイーツまで実装したよ。でもRev1.0。それ以上は無理。
40代バツイチまで対応したツワモノがいるようだが、いつ使うんだよw

433 :774ワット発電中さん:2010/03/06(土) 17:19:41 ID:RZolAxUh
スレを間違えたのかと思ったぜ

434 :774ワット発電中さん:2010/03/08(月) 21:59:15 ID:5Sg3YKxo
USB機器まだー?

435 :774ワット発電中さん:2010/03/09(火) 10:57:47 ID:r/fgdZt2
癌で死んだんじゃね?

436 :774ワット発電中さん:2010/03/09(火) 18:03:26 ID:yOlQzHN0
PICスレの特徴
・小難しい内容が書かれると、過疎化する
・アセンブラの話になると盛り上がる
・C言語の話になると荒れる
・いまだライターの話になると盛り上がる


437 :774ワット発電中さん:2010/03/09(火) 19:32:16 ID:VNELavrN
> ・いまだライターの話になると盛り上がる
それは「定番」なんです。

「日本人は、いまだ丸のままのコメを食ってる」と言われても違和感があるでしょう。
粉に挽いたら偉いわけじゃありません。畑で獲れたら立派なわけでもありません。

「コシヒカリは美味い」「魚沼だよな」「いまどきブランドかよ。うちのが一番」
「とれたてか否かがポイント」「寿司にはササニシキ」「寿司の話してねーし」
「きららってどこいったの?」

な? 定番は盛り上がるんだよ。

438 :774ワット発電中さん:2010/03/09(火) 20:13:19 ID:eshkge8v
別スレで聞いてみたのですが、別の話題になって…ここで聞かせてください。

小規模回路をバス接続して、出力をさせたいんだけど…
回路のPICにはプルアップ抵抗をもうけず、バス接続基板側に抵抗を持たせるのは可能ですか?

こんな感じ?
  □□□□□□□ 抵抗
─┴┴┴┴┴┴┴─┴
基本的に複数の基板が出力を出すのはないです。バス接続は最大7基板までです。

またどこかの基板が出力すると、リレーなりフォトカプラなりをON/OFFさせたいのですが、
この回路での出力を、別の回路で入力として受け渡すので、フォトカプラがよいでしょうか?

宜しくです。

439 :774ワット発電中さん:2010/03/09(火) 20:50:02 ID:ruNCgzdf
うっかりすると余裕で出力が衝突する回路?

440 :774ワット発電中さん:2010/03/09(火) 21:28:58 ID:6X16ITyj
>438
I2Cとか10base2のような構造? PICの出力をOCにしておくとして、回路的には可能。
ただ実際上は

とっても遅い、ノイズトラブル多い、

の二点が許容できれば、という条件がつく。


441 :774ワット発電中さん:2010/03/09(火) 21:41:55 ID:eshkge8v
I2Cとか通信はせず、単純に単体の回路ではプルアップして出力をON.OFFする物を、
複数有る出力を個別に接続すると、何かと大変になるのでバス接続にしてベースボード
的な物にプルアップ抵抗とフォトカプラを置いとけないかと思いまして…

因みに出力は隣の回路と互いに接続し、必ず複数のうち1カ所しか出力はしません。

単純に個別の回路にプルアップ・出力回路を組み込めば良いんでしょうけど、
各基板を小さくしたいが為に、別付け出来る部品は別付けしたいのですが…

442 :774ワット発電中さん:2010/03/09(火) 21:42:23 ID:uiqWX+C+
信号を出す時だけTRISを0にするとか。
タイミングが被ったらアウトw

443 :774ワット発電中さん:2010/03/09(火) 21:46:56 ID:uiqWX+C+
つーか細かい点が不明すぎる。
ダイオードでOR作ったらだめなの?

444 :774ワット発電中さん:2010/03/09(火) 21:51:06 ID:s1iOg9Sm
出力がオープンコレクタならそれを受ける入力にプルアップがあればよし
わざわざバスボードに持っていく必要は無いと思われ

445 :774ワット発電中さん:2010/03/09(火) 22:02:43 ID:33HKrQJs
何がしたいのかは見えないが別に普通にできるでしょ

446 :774ワット発電中さん:2010/03/09(火) 23:28:45 ID:OBKvwnPL
>回路のPICにはプルアップ抵抗をもうけず、バス接続基板側に抵抗を持たせるのは可能ですか?

もちろん可能。 つうか・・・バスボードにプルアップ抵抗を置くのが普通。
その上でCPUボードにも高抵抗プルアップあると無難。

>またどこかの基板が出力すると、リレーなりフォトカプラなりをON/OFFさせたいのですが、
>この回路での出力を、別の回路で入力として受け渡すので、フォトカプラがよいでしょうか?

バス接続にフォトカプラなんか使わないが、それ以外の外部回路との絶縁インターフェースなら
もちろんアリ。

447 :774ワット発電中さん:2010/03/09(火) 23:36:21 ID:eshkge8v
>>446
ありがとう。これで先に進めそうだよ。

448 :774ワット発電中さん:2010/03/12(金) 17:20:05 ID:fRriRCDO
結局、Pickit2だけでDEBUGできるPICって、
16F88 以外に、何があります?


449 :774ワット発電中さん:2010/03/12(金) 19:27:59 ID:OelhRQYs
>>448
20pin以下では 16F87/88, 16F818/819 , 18F1220/1320 あたりだろか。
28pin以上なら・・・寧ろ・・・

450 :774ワット発電中さん:2010/03/12(金) 19:37:44 ID:fRriRCDO
>>449
ありがとう。やはり、16F88 は、特別ってことか。
あまりこのことって、皆さん重要視してないのかな?

451 :774ワット発電中さん:2010/03/12(金) 20:38:25 ID:lEpLZhiQ
デバッグなんていらん、男なら1発で動かす勢いで作るべし

452 :774ワット発電中さん:2010/03/12(金) 23:42:11 ID:lhIRgeOW
値段から言って886,887で何でも作る
usbなら18f4550

453 :774ワット発電中さん:2010/03/12(金) 23:51:56 ID:Ouf4AZfR
2550だな

454 :774ワット発電中さん:2010/03/13(土) 01:35:36 ID:7QS8iQ6i
>>452
確かに28pinで問題なければ886もDEBUG OKで安いなあ。
MPLABの[Select Device]で分かるね。ありがとう。

455 :774ワット発電中さん:2010/03/13(土) 07:08:24 ID:qpdeZTEV
USBなら18F14K50だろ
200円て

456 :774ワット発電中さん:2010/03/13(土) 12:23:49 ID:vG4tLjv8
18F14K50はICSPポートとUSBポートが共有だから、USBが必要かつデバッグしたいという用途には使えない。

457 :774ワット発電中さん:2010/03/13(土) 12:59:44 ID:5p0R9Lql
(゚Д゚)ゞ ども。インターネットパトロール隊です。

今回は "CCS C PCWHD 4.105"ですよ! まったくけしからんですな!

http://www.sonsivri.com/forum/index.php?topic=28473.0


458 :774ワット発電中さん:2010/03/13(土) 18:33:01 ID:jOLvtL92
部落ら

459 :774ワット発電中さん:2010/03/14(日) 14:18:17 ID:qxAjZHBM
>>448
Pickit2で16F88のICD(インサーキットデバッグ)やると遅くてたまらん。
最近は俺はICDの速い16F886(28ピン 190円)ばっかだな。
http://akizukidenshi.com/catalog/g/gI-02240/

460 :448:2010/03/14(日) 15:28:47 ID:zoJ77Th1
>>459
16F88は、ブレークポイントをセットしないと動かないし。
16F886を買ってみるよ。ありがとう。

461 :774ワット発電中さん:2010/03/14(日) 15:30:23 ID:6Y+2utZJ
ICDは便利だろうけど、完成したらピンは遊ばせる前提?

462 :774ワット発電中さん:2010/03/14(日) 23:20:43 ID:3gm+4O4/
>>461
出力ポートなら高抵抗かませば問題なく使える。
トランジスタを飽和させるベース電流が流せれば
何でも良い。

463 :774ワット発電中さん:2010/03/14(日) 23:24:29 ID:3gm+4O4/
mplab ideのシミュレータは使わないのか?
コア以外の周辺もきちんとシミュレートされてて
Renesas HEWのM16Cよりよほど使える。

464 :774ワット発電中さん:2010/03/15(月) 06:58:55 ID:wc0bVqtI
シミュレータあんまり信用されても困る。特に周辺。

465 :774ワット発電中さん:2010/03/15(月) 12:25:20 ID:RUlBmxCL
フルICE持っているならともかく
実機でいきなりメクラデバッグするよりは
シミュレータで基本動作を見てから実機動作確認する方が効率良い。
mplab ideのシミュレータは良くできてるよ。

466 :774ワット発電中さん:2010/03/16(火) 19:44:58 ID:NagfFhWw
発酵培養度

467 :774ワット発電中さん:2010/03/16(火) 19:45:21 ID:NagfFhWw
ミスった
発酵培養土

468 :774ワット発電中さん:2010/03/16(火) 19:47:59 ID:NTReMaz2
大王発酵度

469 :774ワット発電中さん:2010/03/17(水) 02:20:07 ID:RazC0A/n
アナル・奥飛騨慕情。

470 :774ワット発電中さん:2010/03/17(水) 08:03:46 ID:sp7HrLO3
>>465
俺は実機でリアルタイムデバッグ派だな。適切にブレークを掛ければ、実際に動かした方がわかりやすい。

471 :774ワット点滴中さん:2010/03/17(水) 08:34:54 ID:hkBs76tM
>>461
18F4550 QFP の様に本来 N.C.pin を 第2 ICSP に割り当てている物もある。
この場合には全ての PORT がユーザーに開放される。

ただし第2 ICSP 機能の ON 設定に通常の ICSP で 起動しないと使えない欠点もある。

472 :774ワット点滴中さん:2010/03/17(水) 08:38:17 ID:RrxmUbdI
×起動しないと
○configbit で 第2 ICSP を ON にしないと

つまり最初の1回だけ通常の ICSP が必要

473 :774ワット発電中さん:2010/03/17(水) 11:04:21 ID:3PmlFTiD
>>470
ブレークって?

474 :774ワット発電中さん:2010/03/17(水) 13:25:23 ID:sp7HrLO3
>>473
ICDの話。シミュレータより好きだな。

475 :774ワット発電中さん:2010/03/17(水) 15:01:57 ID:fTnPswiy
PICで地球シミュレータを作ろう!

476 :774ワット発電中さん:2010/03/17(水) 18:47:40 ID:AIHEDFSD
えーと、日本やアメリカや先進国が夜の時には、その部分に埋め込んだLEDを光らせて、
地軸モータを恒星時で駆動して・・・とか?

477 :774ワット発電中さん:2010/03/17(水) 20:16:28 ID:u5F29wrq
>>476
それただの模型・・・


478 :774ワット発電中さん:2010/03/17(水) 20:47:28 ID:4myezu0Q
オープンにしてる端子は、出力設定にしておくのでOK?

479 :774ワット発電中さん:2010/03/17(水) 21:15:29 ID:mDJw0Kbz
>>478
リセットからTRISx設定するまでが不定だから
プルダウンorアップする方がいい。
手抜きするなら出力でok

480 :774ワット発電中さん:2010/03/17(水) 21:16:28 ID:mDJw0Kbz
>>479
間違った。不定じゃなくて入力な。
CMOSの入力はオープンにしない方がいい。

481 :774ワット発電中さん:2010/03/17(水) 21:51:15 ID:4myezu0Q
>>480
了解です。
手抜き工作なので、出力にして、オープンにしときます。
ありがとうございました。

482 :774ワット発電中さん:2010/03/17(水) 22:52:09 ID:XRHAph3F
どうせ使ってないんだから、入力の方が安全だと思う

といいつつ、うちでも出力にしてるけど

483 :774ワット発電中さん:2010/03/17(水) 23:24:07 ID:mDJw0Kbz
>>482
入力オープンはダメだよ

484 :774ワット発電中さん:2010/03/17(水) 23:30:08 ID:1S86kcQG
>482
軽石さん、知らないことは無理に答えないほうが初心者のためですよ。
FPGAのスレでも指摘されましたよね。

485 :774ワット発電中さん:2010/03/17(水) 23:32:33 ID:mDJw0Kbz
なんだよ軽石って

486 :774ワット発電中さん:2010/03/18(木) 00:38:33 ID:iTfVhVxG
電球でも交流のゼロクロスで点灯すれば
寿命はかなり延びる。

487 :774ワット発電中さん:2010/03/18(木) 01:04:01 ID:gU7DgBx4
どこの誤爆だろう

488 :774ワット発電中さん:2010/03/18(木) 05:13:04 ID:T/RHZozr
>>485
軽石と書いてシッタカと呼ぶ?

489 :774ワット発電中さん:2010/03/18(木) 10:04:35 ID:6CWvOnD4
読む。

490 :774ワット発電中さん:2010/03/18(木) 10:07:12 ID:6CWvOnD4
呼んでもいいけどw 叫んでもイイ。

491 :774ワット発電中さん:2010/03/18(木) 20:26:16 ID:q1Cs2VcW
内蔵プルアップしとけば、
入力オープンでいいだろって話だと思うんだが、、、
俺がエスパー過ぎるのか?

492 :774ワット発電中さん:2010/03/18(木) 23:34:06 ID:iTfVhVxG
>>491
・リセットからレジスタ設定するまでプルアップ設定されない。
・プルアップ設定できないポートがある。

493 :774ワット発電中さん:2010/03/18(木) 23:36:07 ID:lc2cqZVf
開発環境は何もないが
バーサライタをほとんどタダで作ってみたいです。
ttp://masudayoshihiro.jp/technology/ledmessenger.php

調べたらPICライタが必要らしいが買ったら高いので
PIC16F648A用のライタを安く作りたい。
なるべく安い部品代でシンプルな回路は教えて下さい。

あと何百個もLEDを並べてるバーサライタはどういう回路をしているのでしょう?

494 :774ワット発電中さん:2010/03/18(木) 23:42:24 ID:WxiAdyvD
>>493
JDMライター、RCDライターってとこかな?
1000円しないくらい。
とりあえずttp://feng3.cool.ne.jp/index.html

何百個もLEDを並べたようなのは知らん。高速なマイコンとシフトレジスタ?


495 :774ワット発電中さん:2010/03/18(木) 23:47:16 ID:lL9HtMZG
LEDを8個ごとにブロックにして
どこのブロックをどう点灯させるかでダイナミック点灯とか

ただこういう用途でダイナミック点灯しちゃってOKなのかどうかは分からん
常時点灯させるならロジックを組む必要があるな

496 :774ワット発電中さん:2010/03/19(金) 00:59:09 ID:wX4K1vFd
PIC24は微妙な子なの?

497 :774ワット発電中さん:2010/03/19(金) 02:04:10 ID:3j+FwK3I
>>496
DIP品少ないし電源5V使えないし、アマチュアが工作でゴチョゴチョやるには向いてない
だから情報も少ない
ってか、これぐらいならH8とかSHと競合してくるし、品種のバリエーション(入手性も含め)では圧倒的な差がある
そういう意味では微妙な子

498 :774ワット発電中さん:2010/03/19(金) 02:11:39 ID:RhIKi82J
>>494
ありがとう
ttp://halfmat.ocnk.net/product/52 をポチって
あとは作りたいものの部品を買えばOKだな

499 :774ワット発電中さん:2010/03/19(金) 02:48:52 ID:nPmiLhoO
>>496
PIC24を使いこなせない人が微妙な子。
スピードは速いし消費電力は少ない。
命令もDSPICのDSP部分が無いことに気をつければ格段に使いやすくなってる。

500 :774ワット点滴中さん:2010/03/19(金) 08:49:31 ID:C+2gg+x/
>>499
長所
PIC24 シリーズは、他の CPU(ブラックフィン等) とレジスタ構成等遜色が無い。
スタックとフレームポインターがちゃんと別に存在している。
USB OTG(On The Go) で USB のホストと端末の両方になれる。
↑dsPIC には無かった様な気がする。(アクセス規制で病院から外国の HP が開けない)

短所
C30で int1 (1bit) 変数を使うと ROM 使用効率が極端に落ちる。
(int1 = I/O ポートの1ヶ所等が該当ね。アセンブラ併用すれば問題無し。)
PIC16 や PIC18 に慣れすぎるとかえって取っ付き難い。
後は >>497 さんの言う通り基板を起こさないと素人には手が出せない。

初期費用 20万円ぐらいを誰か出してくれれば DIP 変換基板は作れるけども…
どの PIC24 を対象にするかでもめそうな気配…


>>478
以前に納品間近の製品の消費電流を 1.2mA → 0.1mA にと言う依頼を請けた。
1週間以内と予算5万円だったのでお金を貰うのは断ったが仕事は引き受けました。
CCSC 8MHz → アセンブラ 32KHz にすれば可能だけど納期的に無理。
オープンに成っている入力ポートを出力に固定すると 1.2mA → 0.5mA まで減らせた。

>>491 さん内蔵プルアップは消費電流と誤差が大きいから注意して下さいね。

501 :774ワット発電中さん:2010/03/19(金) 13:33:40 ID:A7AEi81C
すみません質問させて下さい。
以下のソースコードを書いてブレッドボード上にて動作させているのですが、
USART割り込み処理(割り込み処理が実行されるとLEDが点灯するようになっている)が全くされません。

ちなみに、送受信はきちんとできていました。
(受信に関しては割り込みを用いないで無限ループ中でch=getc()を行うときちんと受信できていました)
割り込みを使うとダメみたいです…

timer0割り込みも試してみましたがやはり処理が実行されませんでした。

なぜなのでしょうか、教えて下さい。
宜しくお願い致します。


環境は、
使用PICが16F877A
MPLAB IDE v8.43
コンパイラはCCSC v4.3.0.225
ライタソフトはPickit2 v2.61(AKI-PIC2プログラマボード使用)です。

/***ソースコード***/
//使用するPICの型番は 16F877A
#include<16F877A.h>
#fuses HS,NOWDT,PUT,NOPROTECT,BROWNOUT,NOLVP,NOCPD,NOWRT

//RS232C使用宣言
#use delay(CLOCK = 10000000)
#use rs232(BAUD = 9600, XMIT = PIN_C6, RCV = PIN_C7)

static char ch;

#int_rda
void isr_rcv(){
ch = getc();
output_high(PIN_B0);
delay_ms(250);
 output_low(PIN_B0);
}

// メイン関数
void main(){
output_low(PIN_B0);

enable_interrupts(INT_RDA); //USART受信割り込み許可
enable_interrupts(GLOBAL);

while(1){
//割り込み待ち
}
}

502 :774ワット発電中さん:2010/03/19(金) 14:06:43 ID:KBym/sWI
>>501
C言語使った事ないけどPIEも設定しないとダメとかじゃねーの

503 :774ワット発電中さん:2010/03/19(金) 14:08:09 ID:7xdvhWPq
>>500
誰も消費電流の事なんて聞いてない
自慢話乙

>C30で int1 (1bit) 変数を使うと ROM 使用効率が極端に落ちる。

こんな事いってるから汗爺に馬鹿にされる
もっとC言語を勉強しませう

>初期費用 20万円ぐらいを誰か出してくれれば DIP 変換基板は作れるけども…
>どの PIC24 を対象にするかでもめそうな気配…

20万も出すなら自分で業者に頼む、だからもめる訳がない


504 :774ワット発電中さん:2010/03/19(金) 14:15:30 ID:+2Uks2CP
set_tris_b(0x00);. // all output

505 :774ワット発電中さん:2010/03/19(金) 23:10:28 ID:Uu6AzjV4
5Vで使えないデメリットより、3Vでフルスピードで動くメリットの方が大きいな>PIC24
つか、今5Vにこだわる理由って何?

506 :774ワット発電中さん:2010/03/19(金) 23:57:49 ID:h/jZrlv1
>505
青とか白のLEDがつけれない

507 :774ワット発電中さん:2010/03/20(土) 00:00:10 ID:bBIf5pX5
>505
センサ出力上限が5V周囲で固定されてるヤツをA/D直結とか…。
そりゃ3Vに対応できるように分圧なり何なりで下げれば良いかもしれないけど、その手間と入力値が本当に正しく出てるかっていう確認作業を考えると出力はともかく5V入力できるヤツを選んだほうが楽だしなぁ。

無論店頭に有るものだけで作るわけじゃないって、お構い無しに注文できるんならそんなの気にしなくて良いんですけどね。

508 :774ワット発電中さん:2010/03/20(土) 00:02:04 ID:7qK8GNC2
>>504
嫌だ嫌だ毎回
bankse TRISB
movlw 0
mobwf TRISB
こんなコードに展開されるんだぜ。

アセンブラなら
clrf TRISB

バンクは把握しておけ

509 :774ワット発電中さん:2010/03/20(土) 00:06:49 ID:Mw8EUWpt
ロジックICの入力端子はプルアップとかしとかないと中の回路が勝手に動作するけど、
PICの入力端子はオープンでいいんだよ
使ってないんだから

510 :774ワット発電中さん:2010/03/20(土) 00:10:05 ID:7qK8GNC2
>>509
ラッチアップ
死ね

511 :774ワット発電中さん:2010/03/20(土) 00:21:32 ID:/lH9iBH1
いや、バイポーラじゃないし
クランプダイオードもあるし
リセット回路も内蔵してるし

どこに不安要素があって、どういう機序で不具合が起きるんだよ

512 :774ワット発電中さん:2010/03/20(土) 00:31:27 ID:7qK8GNC2
>>511
CMOSだからだろwwwwwwwwwwwwwwwwwwwwww
バカ

513 :774ワット発電中さん:2010/03/20(土) 01:13:21 ID:nyxangrL
PICの入力端子はオープンにしててもチップ全体の消費電流は増えないだろ

マイコンの入力にCMOS回路の一般論をを単純適用して威張るなよ特殊学級児童めが!

514 :774ワット発電中さん:2010/03/20(土) 01:34:06 ID:/lH9iBH1
未使用の入力ピンにプルアップが必須なら、
全部のポートに内部プルアップがあっても良さそうなのにRBにしか無い理由は、
RBにはポート変化割り込みがあって、しかもそれはRBのどれでも起きるからだ

そうでないPICもあるけど、基本の設計思想は極力外付け部品を少なくしようとしている
オープンの未使用端子を入力にするのと出力にするのとでは、
出力になってる方がよっぽど危険

515 :774ワット発電中さん:2010/03/20(土) 02:49:55 ID:QKPkzTuU
>>513
>>500

516 :774ワット発電中さん:2010/03/20(土) 03:11:06 ID:BV1Pizsf
>>514
ということは、全てのPICで未使用端子は入力にセットしなければならない
ってことですね。


517 :774ワット発電中さん:2010/03/20(土) 03:17:06 ID:xdLc5n9h
俺は趣味でしかPIC使わないからリセット後全ポート入力に設定された後
出力として使用するポートだけ明示的に出力に設定して使ってきました
そうやって電子工作ライフを楽しんできたしこれからもそうです
あなた方は自分の好きなようにやって下さい
ただそれだけです

518 :774ワット発電中さん:2010/03/20(土) 05:52:27 ID:OBjJY6Kw
使わないポートは出力LOWへ設定して数KΩでプルダウンが基本
これはメーカのデータシートにも書いてある
インピーダンスを下げる効果があり、
未使用PINの多いものは対ノイズに対して雀の涙ほど強くなる
(FPGA等多PINデバイスとかでは意識しないと勝手にそうなる)
で、しないとどうなるか?
ラッチアップする可能性はゼロじゃないが
毎週PICで一つの基板を工作して、年間50個作ったとする
10年作り続けて500個
その中で未使用PINを入力に設定して未接続、毎日数時間程度使用し
壊れる可能性は数個あるか無いかの確率
そんなに作らないので、発生するのは皆無に等しい
しかも他の素子が寿命になる可能性もある
もし起こっても気が付かない、だからOK

但し売り物にするなら設計不良の部類
買い手ユーザが気が付くかどうかは運
運任せの商売をやるのもやらないのも、本人の自己責任

519 :774ワット発電中さん:2010/03/20(土) 07:13:06 ID:/lH9iBH1
500のうち数個が壊れるなら十分に危険な気がするが

そこまで気にしていながら、SC1602のDB0から3を
平気でGND直結してたりするんだ

520 :774ワット発電中さん:2010/03/20(土) 07:17:59 ID:7qK8GNC2
>>516
嘘にだまされないでね

521 :774ワット発電中さん:2010/03/20(土) 07:23:23 ID:7qK8GNC2
>>519
マイコンでもGPIOのGND直結は絶対やらない。設計不良。
おまえの例に出している汎用液晶ドライバと同じ理由だ。
短絡とプルダウンの区別ぐらいしましょうね。

522 :774ワット発電中さん:2010/03/20(土) 07:25:39 ID:uTlnFppq
>>520
心配スナ カスの撹乱に騙されるやつなどおらんww

523 :774ワット発電中さん:2010/03/20(土) 07:38:05 ID:QKPkzTuU
趣味でやる分には好き勝手にやればいいけど、そんなものを製品として
出すなよ。

524 :774ワット発電中さん:2010/03/20(土) 07:42:25 ID:pcui30tK
でもそんな製品が世の中にはあふれかえっていたりする。

525 :774ワット発電中さん:2010/03/20(土) 10:08:52 ID:nmiQwEhB
>ID:7qK8GNC2

軽石さん、お得意の関連URL示してよ。自信満々のその根拠。

526 :774ワット発電中さん:2010/03/20(土) 10:16:39 ID:nmiQwEhB
ごだびんだって知ってるぞ。
http://goda.blog3.fc2.com/blog-entry-217.html

"PICマイコンでも未使用ピン対策として、このように(GNDに接続)やれと書いてあるが、やらなくても問題がでていない。NECマイコンは本当に何か起こるのかもしれない。楽しみだ。"

527 :774ワット発電中さん:2010/03/20(土) 16:33:49 ID:ggwAywzd
誰それ?

528 :774ワット発電中さん:2010/03/20(土) 16:54:12 ID:8X/zdfaa
未使用ビンをGNDだと? あほでしょ

529 :774ワット発電中さん:2010/03/20(土) 16:57:52 ID:cJXa1Sg+
>各未使用ポートは抵抗でグランドに落とすよう

530 :774ワット発電中さん:2010/03/20(土) 17:08:26 ID:8X/zdfaa
それでも あほでしょ

531 :774ワット発電中さん:2010/03/20(土) 17:15:01 ID:t8vtVi4a
未使用ピンはニッパーで切り取って

532 :774ワット発電中さん:2010/03/20(土) 18:10:55 ID:UvLMCtEO
>未使用ビンをGNDだと? あほでしょ

そろそろ理由を語ろうよ、軽石さん。
発注元に”そんなことも知らんのか”とか言われたとかそんな落ち?。

533 :774ワット発電中さん:2010/03/20(土) 18:13:14 ID:71VQm1cP
>>531
次回に使う?

534 :774ワット発電中さん:2010/03/20(土) 18:46:06 ID:Rj3ozNFZ
>それでも あほでしょ

メーカの指定がアホだと?

535 :774ワット発電中さん:2010/03/20(土) 18:59:27 ID:zBilh+42
バカは体験しなきゃ納得できないんだから放っておけ

536 :774ワット発電中さん:2010/03/20(土) 19:19:21 ID:E5tf3OCT
AVRはそんなことしなくていいのにPICはしないといけないの?

537 :774ワット発電中さん:2010/03/20(土) 20:40:47 ID:QKPkzTuU
PIC16F690のRB5を入力にしてちょっと実験してみたんだが、
VDD=5Vで入力が0V/5VのときのIDDに対して、入力1.4VのときはIDD
が440μA増加した。

入力をアナログに指定するとAND回路でデジタル入力を禁止するような
等価回路になってるし、オープンでいいわけないわな。

538 :774ワット発電中さん:2010/03/20(土) 20:44:43 ID:t8vtVi4a
データシートに書いてあることを(ry

539 :774ワット発電中さん:2010/03/20(土) 22:20:48 ID:7qK8GNC2
>>525
軽石ではないが
何も間違ったことは言っていない。口は悪いが。
バカなら素直に従え

540 :774ワット発電中さん:2010/03/20(土) 23:28:58 ID:PjG7iqIK
思い付きに理由は、無いわな。
重石降臨!!

541 :774ワット発電中さん:2010/03/21(日) 03:19:20 ID:YySXUiLj
>539

>525は根拠示せって書いてあるんだぞ。
素直に従えw。アホ。

542 :774ワット発電中さん:2010/03/21(日) 04:13:42 ID:cY8YgIul
>>518
そんなの、どこのメーカのデーターシトに書いてあんだよ

ttp://ww1.microchip.com/downloads/en/DeviceDoc/power.pdf
12ページ
In order to obtain the lowest
possible current consumption in SLEEP mode, all unused I/O pins should either be
configured as inputs and connected to VDD or VSS, or configured as outputs and left
unterminated.

マイクロチップは、省電力のためには入力にしてVDDかVSSに直結 or
出力にして放置せよと言ってるんだがな。
ここではSLEEPモードの話だが、RUNモードに移行した途端チップ破壊を引き起こすような
デザインをSLEEPモードで推奨するはずは無いからSLEEPモードに限定された話ではない。

反論があるなら、あんたの言ってるデーターシートのURLと該当ページ数を明示した上でどうぞ

543 :774ワット発電中さん:2010/03/21(日) 06:50:45 ID:Fa5PeLGo
>>542
>ここではSLEEPモードの話だが、RUNモードに移行した途端チップ破壊を引き起こすような
>デザインをSLEEPモードで推奨するはずは無いからSLEEPモードに限定された話ではない。

お前の憶測。

544 :774ワット発電中さん:2010/03/21(日) 06:54:16 ID:3M2mUvKr
データシートにも誤りがあるんだよ
って結構言われてるんじゃないか?

因みに俺は趣味では出力&オープン派
仕事では・・こんなとこで言うわけ無いじゃん

545 :774ワット発電中さん:2010/03/21(日) 07:17:44 ID:6sa3RLBd
チェックしてやるから言ってみろ

546 :774ワット発電中さん:2010/03/21(日) 07:33:22 ID:cY8YgIul
>>543
おまえバカだろ
オレの憶測だがなww

547 :774ワット発電中さん:2010/03/21(日) 07:38:59 ID:y7TP443X
>>546
???????????????????????

548 :774ワット発電中さん:2010/03/21(日) 09:35:15 ID:Ys8uQ3mx
>>542
それ、データシートじゃないぞ

549 :774ワット発電中さん:2010/03/21(日) 09:56:09 ID:8OfybKvy
542ではないが、テクニカルノートとでもいうんだろうな
つまらん揚げ足取りは止めれ クズ

550 :774ワット発電中さん:2010/03/21(日) 10:12:12 ID:CAgMUwhV
>>548
542じゃないが、データシートとは言ってないんじゃないか?
見たとこ、セミナー資料っぽいね
一応メーカーが出してきた資料なんだし、それなりに信用してもいいんじゃなかろうか?自己責任で。
資料作ったのは、設計者じゃなくって営業よりのひとかもしれんが

俺はいつも出力で放置だな
出力&抵抗でGND接続とか、そんな余裕ねえよ 最近の設計は裏も表もギチギチ
パスコンと高精度発振器内蔵してくれないかなあ 値段倍でも買うよ

551 :774ワット発電中さん:2010/03/21(日) 10:23:05 ID:xWKrCHAk
ちなみにNECエレ・・今度はルネサスか・・では
http://www.necel.com/faq/ja/f_unuse.html
てなところか。


552 :774ワット発電中さん:2010/03/21(日) 11:04:06 ID:Ys8uQ3mx
出力にしてオープン、で十分に安定するんだろうとは思う
でも、趣味で遊ぶ用途だと逆に、うっかりショートしたとかのリスクがあるので、
できれば入力にしたい
入力でオープンはさすがに気持ち悪いので、電源かGNDに直結して安定させる
さらに、プログラムのミスや誤動作で出力になってしまうことも考慮して、抵抗も入れる

こんな感じで段階的に安全さが上がっていく
どれが正解というのはなくて、主に気分的な問題

553 :774ワット発電中さん:2010/03/21(日) 11:50:50 ID:r9AZj87j
別に趣味レベルならちゃんと動けば何でもいいんじゃない?

554 :774ワット発電中さん:2010/03/21(日) 12:09:56 ID:n2s9wtFl
>>553
じゃー製品だとどうでなきゃいけないだい? 軽石くん

555 :774ワット発電中さん:2010/03/21(日) 12:22:04 ID:BmJyWn0g
MPLABでC18コンパイラを使ってます。

このコンパイラはメモリー使用量が確認できますが、
グローバル変数を多めに使用すると、
メモリ空き容量は1KB以上あるのに、
Error - section '.udata_main.o' can not fit the section. Section '.udata_main.o' length=0x00000228
というふうに怒られます。

なぜですか?



556 :774ワット発電中さん:2010/03/21(日) 12:32:22 ID:r9AZj87j
>>554
ん?
軽石って何?
てか何故俺が叩かれるんだか・・・。
そもそも製品にPICを使うという発想が俺には分からんが、どうしてもなら入力にしてGND固定すればいいんじゃね?
出力放置だと何等かの要因でGNDとショートしたとき定格以上の電流を流してI/O壊れるし。
てか何故こんな基本的な事で揉めてるのかが一番理解出来んが。

557 :774ワット発電中さん:2010/03/21(日) 13:22:29 ID:Ys8uQ3mx
もともとは、入力でオープンの是非からスタートした話だな
それでも別に構わんと思う

一番シンプルで、壊すリスクも少ない

558 :774ワット発電中さん:2010/03/21(日) 14:17:46 ID:+xXBpF5Z
>>555
リンカースクリプトを編集してRAMエリアを確保しないといけない。
大きい配列? 変数大盛り?

まずは、\mcc18\lkr\使ってる品種.lkrを見つけよう!

559 :253:2010/03/21(日) 14:48:54 ID:8UeVpwXU
ちょっと上でPIC24が微妙とかいう話題があったけど、正直PIC24で慣れたら
もうPIC16には戻れん。

つうか初心者ほどPIC24から始めるべきだと思う。

560 :774ワット発電中さん:2010/03/21(日) 14:52:10 ID:BmJyWn0g
>>558おお、なるほど。。。


ACCESSBANK NAME=accessram START=0x0 END=0x5F
DATABANK NAME=gpr0 START=0x60 END=0xFF
DATABANK NAME=gpr1 START=0x100 END=0x1FF
DATABANK NAME=gpr2 START=0x200 END=0x2FF
DATABANK NAME=gpr3 START=0x300 END=0x3FF
DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED
DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED
DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED
DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED

ということで、USBを使わないなら、変更して拡張すればOKってわけですね。
勉強になりました。
ちなみに、構造体の配列を沢山つかってました。

ありがとう。

561 :774ワット発電中さん:2010/03/21(日) 18:32:09 ID:0SvBLNuh
>>556
そのキーワードは「私は空気読めない馬鹿です」といった目印です。
スルーしてあげましょう。

過去ログみてみると判るが、突っ込むだけでまともなのはほとんどない。

562 :774ワット発電中さん:2010/03/21(日) 18:41:06 ID:8028/BvT
だらだら引っ張るお前もKY

563 :774ワット発電中さん:2010/03/21(日) 20:26:52 ID:rt7oNmtI
>>>559
PIC16とPIC24は全くの別物だから当然。
AVRに慣れたらもうPICに戻れんと言うのと同じ。

564 :774ワット発電中さん:2010/03/21(日) 20:31:27 ID:WRhGlDHE
空きピンを出力放置だとショートして壊す心配とか理解できないな
そんなんじゃ出力として使ってるピンすべてが心配になるんじゃないの?

565 :774ワット発電中さん:2010/03/21(日) 20:43:10 ID:muD3kp2J
まあ、普通に10FからDSPICまで使ってるけど、同じツールで同じニモニックで使えるPICに慣れれば
チップの選択肢の少ないAVRなんて使い物にならんけどな。

566 :774ワット発電中さん:2010/03/21(日) 23:05:18 ID:r9AZj87j
>>564
>空きピンを出力放置だとショートして壊す心配とか理解できないな
理解できないなら無理に理解しなくていいんじゃね?

567 :774ワット発電中さん:2010/03/21(日) 23:13:38 ID:Ys8uQ3mx
覚えたニーモニックが今でも使える30年以上前のプロセッサがあるぞ

568 :774ワット発電中さん:2010/03/21(日) 23:24:06 ID:LHsc3IJy
>>567
NOP 20H

569 :774ワット発電中さん:2010/03/22(月) 01:04:30 ID:AAsc9R75
>>564
そういう人ってね、中国に昔からいるよ
空が落ちてくるんじゃないかと心配して一日中空見てたり
きっと今頃、明日は太陽が西から昇ってくるんじゃないかと心配してる頃だろう

570 :774ワット発電中さん:2010/03/22(月) 02:22:12 ID:IVPxtjKM
2.8 Unused I/Os
Unused I/O pins should be configured as outputs and
driven to a logic low state. Alternatively, connect a 1 kΩ
to 10 kΩ resistor to VSS on unused pins and drive the
output to logic low.

571 :774ワット発電中さん:2010/03/22(月) 02:31:20 ID:RRex8fBZ
ICTとかAOIとかの検査装置がないころの経験的な話を引きずってるオヤジが多いってことだろう
技術の進歩においてけぼりの老害の奇声を、スルーするスキルが必要

572 :774ワット発電中さん:2010/03/22(月) 02:57:31 ID:4wPQHgnX
PICってラッチアップしないの?

573 :774ワット発電中さん:2010/03/22(月) 03:41:05 ID:yB9YMjLq
FPGAとかはConfig完了後にピンの入出力が入れ代わる事ないけど、マイコンはプログラム中から書き換えられるからなん。
GND直結は危険で、出力放置か、万全を期すならば>570さんのやり方になるんだろうな。
軽石みたいな、理由を知らないオサンの言うことは聞いてはいけません。とことん理由を聞きまくりましょう。
軽石ふぁくとりぃで公開していた、XC9532の配線ワロタよ。QFPは電源配線に銅箔を使うのがかっこいいと思ったんだろうな。でも、細く帯状に切った銅箔に何の意味があるw。わかってないな。

574 :774ワット発電中さん:2010/03/22(月) 07:31:41 ID:AAsc9R75
>>573
単発IDで他人をさん付けするのは自演の法則というのがあってだな・・・

まあそれは良いが、あんたはスイッチの入力ポートには、プルアップとは別に「万全を期して」プルダウン抵抗も付けてんだよな?
まさか、使いもしないポートに万全を期すのに、実際に使うポートは知らんなんて事ないよな?
そんなノイズマージン狭める設計は設計不良だろ。

万全も糞も無い
マイクロチップが「使わないポートは出力にして放置しろ」って言ってんだから、グダグダ言ってんじゃないよ。
必要も無い抵抗加えてコストアップ&不良発生の可能性を上げる方がはるかに問題が多い

出力に切り替えるまでの間に壊れる心配だ?
そんな事言ってたら、実際に使う出力ポートだって壊れるだろ
これまで出荷された何十億個のPICのうち、どれだけが壊れたんだよ

>>478
OK

このたった2行で済む話をいつまで引きずってんだ?

575 :774ワット発電中さん:2010/03/22(月) 08:10:54 ID:EdpHJ0J4
オープンにしておけば現実的には改造が楽だしね

576 :774ワット発電中さん:2010/03/22(月) 08:21:50 ID:nM47+Pf5
>>574
> このたった2行で済む話をいつまで引きずってんだ?

ただの暇潰しかと思ってたけど・・・


577 :774ワット発電中さん:2010/03/22(月) 08:54:56 ID:yB9YMjLq
GND直結が愚者の選択って理由が語られてないな、軽石さん。

>単発IDで他人をさん付けするのは自演の法則というのがあってだな・・・
初めて聞いたぞ。どこに書いてある?

578 :774ワット発電中さん:2010/03/22(月) 09:05:09 ID:CMXoAmeH
>>576
まあ、ひまつぶしってのもあるが、ちょっとした正義感とか義務感みたいなもんもあるんじゃね?
それなりの経験と知識のあるやつなら、ここにどんな適当なことが書いてあろうがスルーできるが
そうじゃない人もいるわけで、だからこんな質問も出てくる
ほったらかしでも自分の不利益にはならんが、間違って覚えたらかわいそうだし、
ええかげんな知識のやつほど長文で最もらしい文章書きやがるからな

長文失礼

579 :774ワット発電中さん:2010/03/22(月) 09:07:59 ID:WpJ4eFFi
長文ww

580 :774ワット発電中さん:2010/03/22(月) 09:18:57 ID:nM47+Pf5
>>578
なるほどね。

> 長文失礼
これには爆笑。あんた面白いね〜


581 :774ワット発電中さん:2010/03/22(月) 09:44:26 ID:CMXoAmeH
一応整理しておこう

空きピン処理方法
1.出力Lに設定して放置
利点:簡単
欠点:1.電源投入から出力に切り替わるまでのわずかの期間に入力オープンの期間が存在する
      これの危険度は他の出力ピンと大差ない
    2.開発中は入力オープンである時間が長くなる
      量産品なら気にする必要はないが、一品物、趣味物ならちょっと気になるかも
2.出力Lに設定して10k程度でプルダウン
利点:1の欠点2を補うことができる
欠点:1.部品点数、パターン面積の増加
    2.パターン、部品の追加により、他電位へのショートの可能性の増加
      1の方法ならショートの可能性など無視して良いが2だとほんの少し可能性が増す
3.入力放置
利点:もっとも簡単 なにもしなくて良い
欠点:1.消費電流の増加(ちょっとだけ)
    2.まれに破壊する(経験長いつもりだが、今のところ経験なし)
4.入力放置&内部プルアップ
利点:簡単
欠点:1.電源投入からプルアップに切り替わるまでのわずかの期間に入力オープンの期間が存在する
    2.内部プルアップのないポートには適用不可
    3.利点の簡単さは方法1と同程度

おすすめ順に並べてみた。3、4は逆じゃね?の意見もあろうが、3の方が潔いし、4はそこまでするなら1にしたほうが・・・ということで

たたき台として投下しておきます。

582 :774ワット発電中さん:2010/03/22(月) 10:27:16 ID:5V2xZ1Tw
未使用ピンを出力でオープンにするのが良いのならば、
TRISレジスタがリセット直後に入力になってるのはどういう理由からだろう

583 :774ワット発電中さん:2010/03/22(月) 10:38:23 ID:zT/31/QI
>>582
電源ラインとショートしても問題ないからじゃないかなあ

584 :774ワット発電中さん:2010/03/22(月) 10:46:20 ID:d/oG8eMP
>>582
マイコン同士とかを繋げる時お互い初期状態が出力だとやばいでしょ

585 :774ワット発電中さん:2010/03/22(月) 11:00:39 ID:/7NwuzOW
>>582
ピンに何がつながれているかはマイコン君は知らないから
なにがつながってても壊れないように入力状態で立ち上げとくけど、
あとからソフトで切り替えて使ってくれよなってことさ


586 :774ワット発電中さん:2010/03/22(月) 12:00:06 ID:K1EBSROT
>>582
入力=ハイインピーダンス
ちなみにコンフィグレーションヒューズでソフトに依存せず
出力ポートで起動できるマイコンもある。

587 :774ワット発電中さん:2010/03/22(月) 12:02:28 ID:K1EBSROT
>>581
1の欠点2だが量産品にこそ気にする。
趣味ならok

588 :774ワット発電中さん:2010/03/22(月) 12:08:21 ID:5V2xZ1Tw
どっちにしろ設定するんだから危なくない
一瞬だけ出力が衝突してもどうということはない

じゃなくて、
TRISA = 0b00000001;
と書くよりも、
TRISA0 = 1;
とだけ書く方が素直に思える

589 :774ワット発電中さん:2010/03/22(月) 12:17:27 ID:h6DpaJPE
空きピンの処理の話だと思ってたが違うのか?
空きピンをわざわざ入出力を切り替えるのか?
どんなプログラム書いてるんだ?

590 :774ワット発電中さん:2010/03/22(月) 12:42:11 ID:avYNe/X0
>>581
GJ

さすがに3の入力放置はお勧めとしてはいかがなものかと思う。
3と4の入れ替えを希望。
入力を未処理にしてしまうのが当たり前になるのは良くない。

方法としてあとひとつ付け加えるのもありじゃないか?
入力設定&外部でプルアップ又はプルダウン。

モード設定ピンに使えるし、使い方としては問題ないと思う。
お勧め順位としてはどこでもいいので使う人のお好きに。

591 :774ワット発電中さん:2010/03/22(月) 12:42:21 ID:5V2xZ1Tw
基本的に、使わないものはデフォルトのままでok、という設計になってるのに、
空きピンに関してはそれに反しているのが気になるという話

それ以前にアナログになっとる訳だが

592 :774ワット発電中さん:2010/03/22(月) 12:48:25 ID:K1EBSROT
>>589
蒸し返すな
無知

593 :774ワット発電中さん:2010/03/22(月) 12:50:02 ID:h6DpaJPE
>>591
ん?
なんかさらにわからなくなってきた。
今何が問題になってるかおしえてくれないか?

594 :774ワット発電中さん:2010/03/22(月) 12:52:28 ID:h6DpaJPE
>>592
いや、KYですまん。
ROMっといた方がいいかな?

595 :774ワット発電中さん:2010/03/22(月) 13:48:50 ID:EdpHJ0J4
>>581
3は不可だからおすすめには入らない

596 :774ワット発電中さん:2010/03/22(月) 13:59:46 ID:dieQey72
>>591
アナログになってればデジタルバッファが無効になって、中途半端な電圧が加わっても貫通電流が流れないから。
つまり何が繋がってるのかわからない状態では一番安全な状態。

使わないものはデフォルトでOKとしたいのは山々だけど、そのせいで使うときに問題(出力の衝突とか)が起きちゃまずいからね。

597 :774ワット発電中さん:2010/03/22(月) 14:00:32 ID:CMXoAmeH
>>594
空きピンの処理は避けて通れない問題なんで疑問は出しといた方がいい
どうせ、ここのハジは書き捨てだ

>>基本的に、使わないものはデフォルトのままでok、という設計になってるのに、
ここの認識の問題かと
OKのレベルの問題で、よりよい処理方法はどれなんだ?というお話
どの処理方法も一長一短。趣味の動作確認と量産の設計では目標が違うし

>>587
量産時の気になる点は1では?量産なら、開発用は出荷しないだろうし

>>595
言いたいことはよく分かるが、不可ではないと思っている
LEDピコピコさせたい人に空きピン全部処理しろってのは酷な話
順位下げるんで許して


空きピン処理方法 Ver1.1
1.出力Lに設定して放置
利点:簡単
欠点:1.電源投入から出力に切り替わるまでのわずかの期間に入力オープンの期間が存在する
      これの危険度は他の出力ピンと大差ない
    2.開発中は入力オープンである時間が長くなる
      量産品なら気にする必要はないが、一品物、趣味物ならちょっと気になるかも
2.出力Lに設定して10k程度でプルダウン
利点:1の欠点2を補うことができる
欠点:1.部品点数、パターン面積の増加
    2.パターン、部品の追加により、他電位へのショートの可能性の増加
      1の方法ならショートの可能性など無視して良いが2だとほんの少し可能性が増す
3.入力設定&外部プルアップorプルダウン
利点:1.方法4の欠点1を補う
    2.設計変更時の使用ピン追加時に対応が容易
欠点:1.部品点数、パターン面積の増加
    2.パターン、部品の追加により、万が一ノイズ等で出力ピンになってしまった場合、他電位へのショートの可能性の増加
      ※超絶レアケース
4.入力放置&内部プルアップ
利点:簡単
欠点:1.電源投入からプルアップに切り替わるまでのわずかの期間に入力オープンの期間が存在する
    2.内部プルアップのないポートには適用不可
    3.利点の簡単さは方法1と同程度
5.入力放置
利点:もっとも簡単 なにもしなくて良い
欠点:1.消費電流の増加(ちょっとだけ)
    2.まれに破壊する(経験長いつもりだが、今のところ経験なし)


598 :774ワット発電中さん:2010/03/22(月) 14:26:13 ID:K1EBSROT
>>597
>量産時の気になる点は1では?量産なら、開発用は出荷しないだろうし

悪い。意味がわからん。

599 :774ワット発電中さん:2010/03/22(月) 14:34:50 ID:WpJ4eFFi
例えばデバッガ使って、reset操作したまま放置することでは?
とエスパーしてみる。

600 :774ワット発電中さん:2010/03/22(月) 14:36:49 ID:K1EBSROT
>>599
俺もそう補完してた。
なら、なぜ量産と違うソフトなんだ?

601 :774ワット発電中さん:2010/03/22(月) 15:01:50 ID:WpJ4eFFi
ソフトが違う件…さかのぼって読み返したが、いきなり出現?

ソフトは同じじゃね?
ただ、デバッグ時のみブートローダ仕込むタイプもあるとは思う。
ブートローダ側の初期設定で実環境のポート設定までしてくれれば
いいけど、汎用のローダーではそんなことないだろうから電源投入
後は妙な状態(概してデフォのまま)でユーザ操作を待機。

Reset/Go/Brask/Stepを繰り返し行ったデバッグ機はフラッシュの
書き込み回数やReset放置を含め妙に酷使されているから、回路、
ソフトを含め量産品と同じだよん。って出すのはまずっしょ。

量産品のフラッシュ書き込みは生涯1回。電源投入で即動作。
デバッグ機とは生まれが違うのだよww

>>597 は言いたいような気がする。

602 :774ワット発電中さん:2010/03/22(月) 15:06:19 ID:WpJ4eFFi
すまん。生まれは同じか。育ちが違うんだな。

603 :774ワット発電中さん:2010/03/22(月) 15:37:27 ID:W4vlE5bw
アホ臭い話はきりあげようぜ。

604 :774ワット発電中さん:2010/03/22(月) 16:25:09 ID:K1EBSROT
元々俺が正解を>>479-480書いてたのに
くだらない連中がPICは例外だの理屈をこねくり回して
延々レスが続いただけ。
ほんとあほくさい


605 :774ワット発電中さん:2010/03/22(月) 18:00:39 ID:5V2xZ1Tw
いや、リセット直後から設定完了までの瞬間を気にしてる訳じゃないだろ
スルーされてるのに気付け

606 :774ワット発電中さん:2010/03/22(月) 18:07:14 ID:pZDb/2CY
604じゃないが、
理解してスルーしているのじゃないだろ
理解されなくてスルー状態なのだろ?
まっ、もういいよ

607 :774ワット発電中さん:2010/03/22(月) 18:07:26 ID:CMXoAmeH
>>601
補完ありがとう。そういうことです。わかりにくくてすまん

>>604
完全同意するが、後ろに色々つくと、正解知らないとどれが正解かわからんので
暇つぶしがてらまとめてみた

流れて困る重要なレスも無いし、閑散としてるよりはいいんじゃなかろうか
と、自己弁護しておきます。

608 :774ワット発電中さん:2010/03/22(月) 19:05:19 ID:K1EBSROT
>>605
>>606
お前らがあほ臭い連中だ。
燻りだされたな。

609 :774ワット発電中さん:2010/03/22(月) 19:05:29 ID:AAsc9R75
>>604
おまえがくだらね〜蛇の足書くから揉めてんじゃん

出力にしてオープン
これがメーカも指定している正しい「お作法」であって、手抜きでも何でもない。
TRIS設定するまでに壊れるなんて空が落ちてくるぐらいの杞憂

全てはおまえのせい

610 :774ワット発電中さん:2010/03/22(月) 19:45:14 ID:JQcgMNvS


なんでみんな、ことさらに>>591 >>596をスルーするんだろう。



611 :774ワット発電中さん:2010/03/22(月) 19:53:23 ID:EdpHJ0J4
>>610
それはアナログ兼用端子にしか適用できないからだろ

612 :774ワット発電中さん:2010/03/23(火) 06:44:39 ID:kMSPpKnW
スレの低能度が知れてよかったwwww

613 :774ワット点滴中さん:2010/03/23(火) 08:37:27 ID:xJLb63Gp
>>560 亀レスで御免ね 平日でないと病院の PC 使えない

リンカースクリプトには C言語のコメント形式が使えるので、
取りあえず試してみる場合には // なんかでコメントアウトすると便利です。

巨大配列でエラーなら ↓に変えてみる スタックは gpr3 なので注意してね。
DATABANK NAME=gpr4 START=0x400 END=0x7FF
配列は FSR0(2) アクセスなので BSR んい影響されない。

多数の変数なら セクション名を付けて 0x100 毎に収まるようにした方が良いよ。
バンクの途中で(BSR が変わる場合には) int16〜int64 変数が跨(またが)ると面倒です。

614 :774ワット発電中さん:2010/03/23(火) 19:09:14 ID:53QjCK3G

PICなんか入力オープンでなんの問題もないよ。
MCLRが出力にならないのに気付かずに、オープンにしてるやつ、結構多いだろ。




俺だけか?

615 :774ワット発電中さん:2010/03/23(火) 19:21:55 ID:asJsxqho
PICって電子工作とか趣味のものでしか見たことないんだけど、
実際どんなとこで使われてんの?誰か教えてよ。

616 :774ワット発電中さん:2010/03/23(火) 19:54:44 ID:SWKuEuWZ
趣味で使われてるよ(キリッ

…アメリカのサイト見れば使用事例って出てくるけどな。
あ、でもどれどれにって明確な品物の名前は無いかも。

617 :774ワット発電中さん:2010/03/23(火) 20:09:27 ID:lbtYZl3D
Microchip Technology Inc.が仮にホビー向けのみにチップを
生産しているとしたらそれはそれで凄いと思わないかい?

618 :774ワット発電中さん:2010/03/23(火) 20:55:37 ID:cu1zIuNs
ちょっと前だけどマウスに入っているの見たことあるよ。

619 :774ワット発電中さん:2010/03/23(火) 21:10:58 ID:cu1zIuNs
思い出した。アメリカの車に使われているよ。

620 :774ワット発電中さん:2010/03/23(火) 21:17:24 ID:jVyptzRN
概ね10万台以上生産する物ならカスタムICを起こした方が安い。
余り量産しない産業機器などに使われている。

621 :774ワット発電中さん:2010/03/23(火) 21:51:11 ID:bHNo4HcG
なんか家の会社にも製品の中にPICが入ってるの見たこと無いって言ってる人いたなぁ。
国内製品ってH8やARMが多いね。
コスト的にはPICの方が安そうだが。

622 :774ワット発電中さん:2010/03/23(火) 22:24:49 ID:xrs8JHzq
中国製のピカピカ光るグッズ、ベアチップのPICでしょ?

623 :774ワット発電中さん:2010/03/24(水) 02:50:30 ID:ZLSbOQlm
何年か前に「出荷累計60億個達成!」とか言ってたな。
世界中一人に1.5個とか
今頃一人に二個ぐらいになってるかもしれん

>>620
イニシャルコストとかエラー時のリスクとか考えれば、PIC(とか汎用チップ)で十分要件を満たすのに
コストダウンだけ考えて自前でカスタムする意味は無い
ロットで買えば、自前で作るより安く、動作検証済みのチップが手に入る

カスタムする意味があるとすれば、ペリフェラルに求められる要件が特殊で、たとえばUARTが10ch欲しい
といった場合、外部にコントローラ付ける事を考えればカスタムにした方が(全体では)安いとか
速度の要件が厳しくてFPGAでは無理とか、そういう汎用チップでは解決できない時ぐらいのもの

たったの10万個作るより、億単位で作る方が単価が安くできるってのは、小学生でもわかる大量生産の原則

624 :774ワット発電中さん:2010/03/24(水) 07:25:11 ID:9huKJZzK
>>623
小学生

625 :774ワット発電中さん:2010/03/24(水) 08:34:12 ID:nXpAIfAz
>>623
素人が知っている単語を並べているだけだな
お前、ICを設計した事ないだろ

626 :774ワット発電中さん:2010/03/24(水) 14:22:54 ID:AUYUiznw
>>615です。ちょっと書き込みできなかった。
やっぱ、あんまり仕事で使ってる人とかいないんですかね?

CANとか乗ってる品種があるから車で使ってるのかと思ってたけど
国産車でPICってことはないか。(アメ車はばらしたことない)
それにしても気になるんだよな...

627 :774ワット発電中さん:2010/03/24(水) 15:01:25 ID:mlkfuZAY
>>622
殆ど安い4ビットマイコンと思う。俺も設計した事ある。
電気製品用なんだけど、モードピンの状態でLEDの点滅用になる様にした。
LOTが大きいので複数の製品に使える様にするのは常套
勿論、マスク代等固定費は各顧客から頂くが。

>>626
結構使われてる。俺が設計したのは(一発で特定されそうw)晒せないが
最近安く売ってるUPSに24シリーズが使われてた。

628 :774ワット発電中さん:2010/03/24(水) 18:44:56 ID:A6fe1yL5
なんかプロめかしたトウシロがうろついているいるだな

629 :774ワット発電中さん:2010/03/24(水) 18:58:56 ID:j+Hnthg7
うろついているいる ( *´艸`)

630 :774ワット発電中さん:2010/03/24(水) 19:18:01 ID:MJ6yeuam
アップスキャンコンバータに入っていた気がする。

631 :774ワット発電中さん:2010/03/24(水) 19:43:45 ID:nXpAIfAz
昔はPALってのも有ったが、今は余り使われていないのかな?

632 :774ワット発電中さん:2010/03/24(水) 19:54:23 ID:ymp0qCRZ
>>631
あるとしてもGALなんじゃね?


633 :774ワット発電中さん:2010/03/24(水) 20:56:27 ID:4vWqKh5j
OH! GAL!
 GAL GAL GAL GAL

634 :774ワット発電中さん:2010/03/24(水) 23:11:44 ID:1/jm1VMe
>>633
片手に唇 心に火の酒 人生に花束 背中にピストルを

635 :774ワット発電中さん:2010/03/24(水) 23:31:08 ID:iFTSrQlI
12F629でGPIO3で割り込み処理をしたいのですが、どのように書けばいいのでしょうか。

例として、GPIO3に入力されたら割り込み処理で点滅しているLEDが止まるというプログラムを教えていただきたいです

コンパイラはHI-TECHCです

636 :774ワット発電中さん:2010/03/24(水) 23:36:49 ID:1/jm1VMe
>>635
バカは死ね

637 :774ワット発電中さん:2010/03/24(水) 23:46:41 ID:csh8EG2k
>>635
asm("btfsc BAKA");
asm("return");
asm("sleep");

638 :774ワット発電中さん:2010/03/25(木) 00:46:07 ID:BFm6xDkf
>>635
MCLRDIS にしといて IOC割り込み使えばok

639 :774ワット発電中さん:2010/03/25(木) 12:33:06 ID:iDnlEDWO
入力オープンで消費電力増大ってのは、インピーダンスが高いので、状況によっては発振してしまう。
C-MOSはその特性により、レベルが変化するときに電力を消費してしまうのだ。
だから発振(レベル変化)しなければ消費電力は増えない。
故に必ず消費電力が増える訳ではないし、その消費電力量は発信周波数によるので、一定ではない。
発振防止のために、プルアップないしプルダウンせよという事。

などと知ったかぶってみた。

640 :774ワット発電中さん:2010/03/25(木) 12:46:42 ID:32DUNgcw
>>639
無駄無駄。
>>609みたいなのが勝ち誇っているスレだぜ。

641 :774ワット発電中さん:2010/03/25(木) 12:47:33 ID:YTTbFodH
>>615
業務用ゲーム機、パチンコとか


642 :774ワット発電中さん:2010/03/25(木) 12:56:11 ID:2sEQujQO
>>639
発振するというのは初耳頭巾
どういう理屈?


ハイインピで静電気が溜まってスレッシホールド付近をウロウロして電流ドバドバならわかるが


643 :774ワット発電中さん:2010/03/25(木) 13:03:08 ID:L2VVOpqS
>>639
「CMOS 貫通電流」でぐぐってみて

644 :774ワット発電中さん:2010/03/25(木) 13:08:12 ID:iDnlEDWO
>>642
PICでは経験したことがないけど、オペアンプでは入力をほっといたら発振したことがある。
原因は分からないけど、他の回路からの誘導かな?
状況じゃなくて、環境によるって書くべきだった。

645 :774ワット発電中さん:2010/03/25(木) 13:16:28 ID:2sEQujQO
>>644
オペアンプはアナログですから〜正帰還ループができりゃ発振もするわな
PICの入力が発振する理屈はないと思うぜ

646 :774ワット発電中さん:2010/03/25(木) 13:18:20 ID:2sEQujQO
ああっと、正帰還じゃないな、えっと、なんだっけ
位相が回ったら発振だスマソ

647 :774ワット発電中さん:2010/03/25(木) 13:23:47 ID:iDnlEDWO
>>645-646
なるほど。
すいません、やはり知ったかぶりは駄目ですね。


648 :774ワット発電中さん:2010/03/25(木) 16:14:13 ID:nPw2bUX0
生兵法は怪我の元・・・ご用心を

649 :774ワット発電中さん:2010/03/25(木) 18:06:13 ID:x+bS9JAD
2ch デビューか pic デビューつもりか知らんが…

650 :774ワット発電中さん:2010/03/25(木) 21:14:38 ID:sE0ZTSpL
無知ゆえの失敗。何度経験したことか…

651 :635:2010/03/25(木) 21:33:00 ID:IHToMNgX
>>638
ありがとうございます。
ググってみたらそれらしきページを発見することができました。

652 :774ワット発電中さん:2010/03/25(木) 23:35:09 ID:/Qp61rW6
外部クロックの設定にしても内部クロックで余裕で動くのは何故

653 :774ワット発電中さん:2010/03/26(金) 00:40:40 ID:IYwNXEez
AC-DC実装 GS 200mw? alligator 100mw? 
電源全体 GS 19W? alligator 18W?


654 :774ワット発電中さん:2010/03/26(金) 00:53:52 ID:WRV0OGai
74HC244でPICライタを作った時、フラットケーブルでゲートの入出力をならべたら発振した。

655 :774ワット発電中さん:2010/03/26(金) 01:05:44 ID:Deo9jNzw
>>654
それは故意にやったんだろうな。

656 :774ワット発電中さん:2010/03/26(金) 01:18:22 ID:pBLb0qgI
水晶とコンデンサのマッチングが悪くて発振が止まった

657 :774ワット発電中さん:2010/03/26(金) 02:34:30 ID:WRV0OGai
>655
そういうことにしてくらはい。

>656
逆に振動しすぎる過振動てのもあるですよ。家電でみましたよ。

658 :774ワット発電中さん:2010/03/26(金) 07:59:24 ID:X9hJW4+r
>>645
デフォルトでアナログ入力のPICは発振の可能性があり?


659 :774ワット点滴中さん:2010/03/26(金) 08:32:51 ID:Lr09V9Jg
>>652
コンフィグ bit の 中に外部クロックが死んだ場合、内部クロックで動作させる部分がある。
そこを有効にすると X'tal や C 不良で発振停止した場合、デフォルトの内部クロックで動作する。
無効にすれば 外部クロックが停止した場合には、動作しない。
今現在どちらのクロックで動いているかは、SFR の中を見ると分かる。
(FSCM だったかな? フェイル・セイフ・クロック・モニタ??)

ここから pdf ファイル(データーシート)が見れないので正確な名前と bit 位置を探すのは、
セルフサービスでお願いしますね。

660 :774ワット発電中さん:2010/03/26(金) 10:49:29 ID:IxZt+Fn1
>>658
出力からのフィードバックが無いから可能性なし

661 :774ワット発電中さん:2010/03/26(金) 15:37:21 ID:qncPnO59
BSFやBCFのビットを間接的に(レジスタの内容)指定することは出来ないのでしょうか?

662 :774ワット発電中さん:2010/03/26(金) 15:43:32 ID:mAhXEOGt
日本語でよろ

663 :774ワット発電中さん:2010/03/26(金) 15:46:06 ID:qncPnO59
ビットの指定をWレジスタまたはメモリで行いたいのです。

664 :774ワット発電中さん:2010/03/26(金) 15:51:02 ID:z6bNdleS
>>661
飛び先を8つ用意すれば。

665 :774ワット発電中さん:2010/03/26(金) 16:01:07 ID:qncPnO59
間接指定のループの中での相対アドレスに対応したビット指定を行いたかったのですが、
ビットを直接指定しなければならないなら、間接指定のループもあきらめざるを得ませんね。

666 :774ワット発電中さん:2010/03/26(金) 16:33:38 ID:8EkBXUmN
CALL BSFW ; REG.W <- 1

BSFW:
ADDWF PCL,F
GOTO BSF0
GOTO BSF1
GOTO BSF2
...

BSF0:
BSF REG,0
RETURN
BSF1:
BSF REG,1
RETURN
...

667 :774ワット発電中さん:2010/03/26(金) 16:57:42 ID:qncPnO59
>>666
ありがとうございます!!

668 :774ワット発電中さん:2010/03/26(金) 16:58:44 ID:iRXas+R0
DECFSZとRLFとIORWFとかの組み合わせで逝けるんじゃね?

669 :774ワット発電中さん:2010/03/26(金) 17:06:15 ID:uQCCskl1
INDF FSR

670 :774ワット発電中さん:2010/03/26(金) 19:34:51 ID:6KXNJ+m7
環境はMPLAB、CCSのCコンパイラ、ライタはPICkit2を使っています。使用PICは16F877です。
例えば以下のような簡単な割り込みプログラムを記述したところ、
MPLABのデバッガーだと正常に動作するのですが、基板にPICを取り付けて電源を入れると正常に動作しません(割り込み処理をしていないように見える)。

#include<16f877.h>
#fuses HS,NOWDT,NOLVP,NOPROTECT,NOCPD,NOBROWNOUT,
#use delay(CLOCK=10000000)
#use fast_io(D)
#use rs232(BAUD = 9600,XMIT = PIN_C6,RCV = PIN_C7)
int cnt;
//デバッガだと実行される
//しかしPICを基板に取り付けて動作させると正常に動作しない
#int_timer0
void intval(){
  cnt++;
}
//以下もPICを基板に取り付けて動作させると正常に動作しない
#int_rda
void rcv(){
char ch;
ch = getc();
putc(ch);
}
void main(){
int led_flag;
cnt = 0;
set_tris_b(0x00);
output_low(PIN_D0)
 setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256);
 set_timer0(0);
 enable_interrupts(INT_TIMER0);
 enable_interrupts(GLOBAL);
while(1){
//1sec毎にLEDを点滅させる
if(cnt > 38){
cnt = 0;
if(led_flag == 0){
output_high(PIN_D0);
led_flag = 1;
}
else{
output_low(PIN_D0);
led_flag = 0;
}
}
//以下のprint文はきちんと送信できていることを確認済み
printf("test");
delay_ms(500);
}
}
上記のプログラムだと1sec毎にLEDが点滅したり、USART受信があれば受信内容をそのまま出力するのですが、全く何も起こりません。
回路は完璧に組んであるという前提で考えていただいて構いません。
割り込み処理のみができないので、個人的にはコンパイラの設定かライタがおかしいのかなと思っていますが、
原因の分かる方がいらっしゃればお教え下さい、宜しくお願いします。





671 :774ワット発電中さん:2010/03/26(金) 19:58:01 ID:6FkbCBSe
>>670
#int_rda の割り込み許可はどこでやってるの?


672 :774ワット発電中さん:2010/03/26(金) 20:05:45 ID:6FkbCBSe
500msディレイしてるあいだにcntが38を超えそう
点滅が早すぎて見えないとか?
PIN_D0をオシロ見るとか


673 :774ワット発電中さん:2010/03/26(金) 20:13:04 ID:6KXNJ+m7
>>671
すみません、抜けていました。
GLOBAL許可の前にきちんと記述しています。

>>672
私もそのように思い、LED点滅ではなく、1度でもタイマー0割り込み処理を行えば点灯するようにするなど、
プログラム内容を変更したりもしているのですが、上手くいきません…
オシロは所有していません、ごめんなさい。

674 :774ワット発電中さん:2010/03/26(金) 20:13:48 ID:6FkbCBSe
ポートDの初期設定は何処でやってるの?

675 :774ワット発電中さん:2010/03/26(金) 20:31:05 ID:iRXas+R0
#int_rdaの割込み許可が抜けてるっぽいのと
#use fast_io(D) なのに set_tris_d(x); が無いぞ。set_tris_b(0x00); は書き間違いか?

それと #use rs232( ) 内に errors 表記を追加すべし。

while(1)ループ内に delay_ms(500); あるから if(cnt >38) の評価機会は約500ms毎だな。
折角ならtimer0割込み処理内に移動するほうが良いだろ。

ついでに if(led_flag == 0){ からの 9行は
output_toggle(PIN_D0); 1文の方が簡潔じゃね?

676 :774ワット発電中さん:2010/03/26(金) 21:25:40 ID:6KXNJ+m7
>>674,675
本当にすみません書き間違いです。
set_tris_d(0x00); ですね。


>それと #use rs232( ) 内に errors 表記を追加すべし。

while(1)ループ内に delay_ms(500); あるから if(cnt >38) の評価機会は約500ms毎だな。
折角ならtimer0割込み処理内に移動するほうが良いだろ。

ついでに if(led_flag == 0){ からの 9行は
output_toggle(PIN_D0); 1文の方が簡潔じゃね?

アドバイスありがとうございます。
言われたことを試してみましたが、それでもまだ動作しませんね…

割り込み処理に関しては質問する以前に色々試してみたのですがやはりデバッガ上でのみしか正常に動作しません…

677 :774ワット発電中さん:2010/03/26(金) 23:16:15 ID:WCoqyaWE
>>659
d
CONFIGなんて過去に何度も眺めてる筈なのに、
FCMENなんて初めて見た

さらにIESOなんてのもハケーン
きっと使うことはない

678 :774ワット発電中さん:2010/03/27(土) 01:48:59 ID:yQ3erctu
今までPICを見かけた市販製品
・パソコン用CPU切り替え器
・マウス
・ポット
・DVD Playerリモコン
・自動ドア制御装置
・圧力一定型給水ポンプ制御盤
・アップスキャンコンバーター
・卓上用アラーム置き時計
・火災報知器の緊急通話用の基板
・駐車券発券機と精算機



679 :774ワット発電中さん:2010/03/27(土) 02:02:31 ID:eWqEmYaw
プログラムの書き方がチンプンカンプンなんだが、
思いのままに作るにはどこのサイト見ればいいんでしょう?

680 :774ワット発電中さん:2010/03/27(土) 02:08:19 ID:gq+1NyeD
>>679
まずは何がしたいかを具体的に書け、話はそれからだ。

681 :493:2010/03/27(土) 02:19:26 ID:eWqEmYaw
小出しスマン
何を思ったのかPIC16F88に変えた。
これにLED7個か8個つないでバーサライタを作る。

682 :774ワット発電中さん:2010/03/27(土) 04:09:52 ID:0i/YGiAN
>>670
>回路は完璧に組んであるという前提で考えていただいて構いません。

へんちくりんなプログラム書くくせに、ハードは完璧だと言い切る所がPIC初心者らしいな
まずハードかソフトを切り分けろ
1,LED点滅を全ての割込み無しで(mainでdelay使って)やる
2,LED点滅をタイマー割込使ってやってみる(受信割込みを切った状態で)
3,受信割込で割込み発生する度にLED反転するプログラムに変更する

683 :774ワット発電中さん:2010/03/27(土) 09:36:09 ID:YKAiX+EP
バーサライタをRoHSクリアして作るには何を使えばいいだろう

684 :774ワット発電中さん:2010/03/27(土) 09:46:23 ID:MVXkK9Pd
次の人どうぞ

685 :774ワット発電中さん:2010/03/27(土) 10:02:54 ID:AduxOGVV
AVRは市販品には組み込まれてないの?

686 :774ワット発電中さん:2010/03/27(土) 10:22:23 ID:AduxOGVV
ちなみにPICマイコンの寿命ってどれくらい?
ずっと通電してるとすると何年くらい持つ?

687 :774ワット発電中さん:2010/03/27(土) 10:29:55 ID:8GSwdJFR
High Endurance FLASH/EEPROM Cell
- 100,000 write FLASH endurance
- 1,000,000 write EEPROM endurance
- 100 year data retention


688 :774ワット発電中さん:2010/03/27(土) 10:34:29 ID:d1VsHAGe
>>686
半導体よりも周辺の電解コンデンサが先に死ぬ。

689 :774ワット発電中さん:2010/03/27(土) 10:41:56 ID:AduxOGVV
俺より長生きだなw

690 :774ワット発電中さん:2010/03/27(土) 10:49:12 ID:LGdpFiWQ
回路の寿命より、プログラム領域のフラッシュの保持限界のほうが先な気がするな。
…フラッシュROMだよね? アレ

691 :774ワット発電中さん:2010/03/27(土) 12:32:47 ID:fQaQYaFk
>>688
セラミックしか使わないからおk

>>690
>>687に書いてあるじゃないか。

692 :774ワット発電中さん:2010/03/27(土) 12:35:07 ID:BNyq0DYK
保存温度によっても保持期間は変わるんだが、PICでは省略されてる?

693 :774ワット発電中さん:2010/03/27(土) 14:48:19 ID:bXMZ+vCt
>>692
どう変わるんか教えろよ

694 :774ワット発電中さん:2010/03/27(土) 14:55:46 ID:BNyq0DYK
25℃だと100年以上なのが85℃では20年以上まで落ち込んだりするよ

695 :670:2010/03/27(土) 15:19:00 ID:u0n1tZYD
>>682
アドバイスありがとうございます。

>1,LED点滅を全ての割込み無しで(mainでdelay使って)やる
>2,LED点滅をタイマー割込使ってやってみる(受信割込みを切った状態で)
>3,受信割込で割込み発生する度にLED反転するプログラムに変更する

1については既に正常に動作することを確認済みです。
2,3についてはやはりできません…

ただ、ハードを疑うにしても割り込み処理のみに関して動作しないというのは、
どのような原因が考えられるのかが分かりません。

もし原因がお分かりでしたら是非お教え下さい、お願いします。


696 :774ワット発電中さん:2010/03/27(土) 16:27:08 ID:nm2VJYGy
>>678
分解君(w

697 :774ワット発電中さん:2010/03/27(土) 18:10:44 ID:fQaQYaFk
>>695
なんかどうでもいい割り込みが掛かりっぱなしとかはないよね
シミュレータじゃなくてデバッガ使えば一発で分かりそうなものだが

698 :670:2010/03/27(土) 18:54:12 ID:u0n1tZYD
>>697
そのような割り込みはかかっていませんね。
デバッガ上では正常な動作を致します。

699 :774ワット発電中さん:2010/03/27(土) 19:32:10 ID:HQwXJmDO
デバッガを使ったときは入らない割り込みがかかりっぱなしだったりしてな

700 :774ワット発電中さん:2010/03/27(土) 19:34:51 ID:fQaQYaFk
mainで適当にIOをパタパタさせとけば割り込みルーチン中は止まるからオシロなりロジアナなりで割り込みの掛かり具合がわかると思うけど。

701 :774ワット発電中さん:2010/03/27(土) 19:35:43 ID:yb2zPthF
>>698
デバッグ用のソフトは単独では動かない仕様だけどその点は大丈夫?


702 :774ワット発電中さん:2010/03/27(土) 20:35:03 ID:vdr+JwDJ
>>670
これだから(ryって言われちゃうんだよね

void intval()の中でポートをトグルさせてみるとか
// printf("test");
// delay_ms(500);
をコメントアウトするとかして切り分けていけば原因が
分かるんじゃないの

703 :774ワット発電中さん:2010/03/27(土) 21:11:44 ID:PHAWIjCz
 「パソコンに繋いで直ぐに開発できます」
とあったので、CY8c29466が乗った、Gainerって基板を買ったんだ。
 PSOCをマスターしたいと思ったんだが、どうもWEBサイトを見てもPSOCの
プログラムの開発じゃ無くて、高級言語をつかって基板のIOを制御するだけ
のようです。
 このボードを使ってPSOCをマスターするにはどうしたらいい?


704 :774ワット発電中さん:2010/03/27(土) 21:26:06 ID:AfDTFwHf
>>703
スレタイ読め。あるいは、PICの意味を知ることが先だな。PIC=マイコン全般だと思ってるだろ。

705 :774ワット発電中さん:2010/03/27(土) 22:04:02 ID:xVVKppGZ
>>703
【新時代!】PSoC スレ 其の八
ttp://science6.2ch.net/test/read.cgi/denki/1245848449/

706 :774ワット発電中さん:2010/03/27(土) 22:57:22 ID:9bdlBBbt
>703
PSoC専用スレがあるけど....。

707 :774ワット発電中さん:2010/03/28(日) 01:38:19 ID:2sPfZQM9
>>670

1,タイマー割込みが一回も掛からないかを確認する(mainではLEDを操作しない)
2,タイマーが動いてるかを確認する(タイマー値を出力してみる)



708 :774ワット発電中さん:2010/03/28(日) 01:45:24 ID:7OdRZcub
CCS-Cってvolatile宣言しなくていいんだっけ?

709 :774ワット発電中さん:2010/03/29(月) 16:41:19 ID:T3eb5V0y
MCC18、PIC18F2550のタイマー割り込みについてです。
割り込み内でWriteTimer()関数でTMR0H,TIMR0Lを再設定しますが、
正確に計算通りの割り込み感覚にならないように思います。

思うにカウンターオーバーフローが発生してから、
割り込み関数に入るまでに既に10数µs経過しているのが原因と
推測していますが、この認識であっていますか?

710 :774ワット発電中さん:2010/03/29(月) 18:45:23 ID:lRIwdTlZ
ID:6KXNJ+m7 はちゃんと動作したのかな?
結果を書いてくれない人って多いよね?

711 :670:2010/03/29(月) 19:07:00 ID:DnMRVKKE
>>700
そのような機器を所有していないのです…
すみません…

>>702
この手のバグ探しは質問する以前に色々していました。
しかしどうしても原因が分からなくて質問させていただきました。

>>707
1.1度たりともかからないです
2.タイマー値の出力をしてみましたがきちんと動作していました

>>710
すみません、なかなか時間がとれなくて…
アドバイスを頂いているのに素早い対応ができなくてすみません。
皆様にはとても感謝しています。ありがとうございます。

712 :774ワット発電中さん:2010/03/29(月) 19:28:36 ID:lRIwdTlZ
>>711
おお素晴らしい!

while()に入る前にLEDをONして、
シリアルの受信割り込みルーチン内でLEDをOFFする

1.LEDが点灯すればIOポートの設定は正しい
2.受信してLEDが消えればRSの受信は出来てる

こんな感じで一個ずつ確かめていくかな


因みに、コンパイラはCCS-Cだと思うけどバージョンは何?
古いCCSCだとtimer設定にバグがあって動作しなかったけど


713 :774ワット発電中さん:2010/03/29(月) 20:32:47 ID:OeNalsfE
>>711
PICkit2持ってるんでしょ?あれのロジアナも工夫次第で結構使えるよ。

714 :774ワット発電中さん:2010/03/29(月) 20:48:58 ID:QfHxUdEC
>output_low(PIN_D0)
これ;無いけどsyntax errorにならないの?
CCS は使ったこと無いからわからんけど。
>>713がいうようにロジアナ機能で動作してるかどうかは見れると思う。
回路は完璧でもマイコンつぶれてるかも知れんし。

715 :774ワット発電中さん:2010/03/29(月) 21:14:35 ID:VYxu1nz7
char の何でもいいループ用変数名って何にしてる?

for (char c = 0; c < 10; c++) {
みたいにcにしてるけど、i な気もする

716 :774ワット発電中さん:2010/03/29(月) 21:27:34 ID:ES2yWziL
ijk・・・

717 :774ワット発電中さん:2010/03/29(月) 22:30:00 ID:1IKlwFPa
>>715
cnt0,cnt1,cnt2・・・

データサイズにもよるけど、可能であればグローバルエリアに置いている。


718 :774ワット発電中さん:2010/03/29(月) 23:02:20 ID:tMQ0irIZ
>>715
別に何でも・・・俺は>>716と同じ。

719 :774ワット発電中さん:2010/03/29(月) 23:31:53 ID:OeNalsfE
俺は用途がわかるようにしてる。
datacnt,loopcnt,state,mode...

720 :774ワット発電中さん:2010/03/30(火) 01:27:37 ID:NWe8NKzj
RDCライタの接触が悪くて書き込むときに手で押さえて苦労してる。
しかも裏のトゲで怪我をした。
確実にできる改造はない?

721 :774ワット発電中さん:2010/03/30(火) 01:35:08 ID:Twb3FKPv
RCDライタはシリアルポートを壊す元だから生きてるうちにWriter509でも作って乗り換えた方がいいよ

722 :774ワット点滴中さん:2010/03/30(火) 09:06:23 ID:IJFj5kMI
>>709
その考え方で正解です。
8bit モードなら movlw タイマー定数; addwf TMR0,F で回避可能。
16bit モードでも high 側の割り込み禁止後、同様の方法も使える。
但し計算の実行時間を タイマー定数 - 実行時間として考慮する必要がある。
また書込・読出は TIMR0L でラッチを通して実行されるんで注意。

簡単には TIMER1(3)+CCP(16bit精度) or TIMER2(8bit精度) でフリーランさせて割り込みの方が楽ですよ。

723 :774ワット発電中さん:2010/03/30(火) 12:10:30 ID:PKBdlbRu
回路の設計で教えてください。

PICはPIC16F886です。複数のLEDの点灯を制御しているユニットです。

モード切替のためにPORTBを入力にしてプルアップ(内蔵)していて、
トグルスイッチでGNDに落とせばモードが切り替わるようにしてます。

ユニットからは、GNDとスイッチ入力の線は別々に出ています。

ここでおかしなことに気づいたのですが、
回路全体のGNDの線を外しても、スイッチをGNDに落とした状態だと
ユニットが動いてしまうんです。
PICの中を経由して電流が流れて動いてしまっていると思うのですが、
これを防ぐ方法はないでしょうか?

GNDの線を繋がないで動かすことはあまり無いと思うのですが、
不意のことでポートを経由して電流が多く流れて、ポートが壊れてしまわないかと思ってます。

よろしくお願いします。








724 :774ワット発電中さん:2010/03/30(火) 12:52:59 ID:nH5KRmil
>>723
入力の保護ダイオード経由で動いてしまうのはCMOSではよくある。

スイッチのGNDをPICの回路からとらないからそういうことになる。
近いところに落とすんじゃなくて信号線とGNDはループになるようにする。

725 :709:2010/03/30(火) 13:06:32 ID:LzMIVq8P
>>722
適切なアドバイス本当にありがとうございます。
後閑さんの本にちゃんと書いてあるんですね。
何故CCP?と思い、読み飛ばしていました。

726 :774ワット発電中さん:2010/03/30(火) 13:31:30 ID:PKBdlbRu
>>724

入力保護のダイオード経由ですか。なるほど。

>近いところに落とすんじゃなくて信号線とGNDはループになるようにする。

そうしたいのはやまやまなのですが、実はこれ車に取り付けるんです。
スイッチのGNDはボディーアースに落としてます。
ユニットはしまって、操作は手元でしたいので、なにか良い案はありませんか?
やっぱりスイッチ部分をループで戻すべきでしょうか?

727 :774ワット発電中さん:2010/03/30(火) 13:43:40 ID:nH5KRmil
>>726
そういう環境ならフォトカプラかました方が安心じゃないの。
GNDの電位差もありそうだし。

728 :774ワット発電中さん:2010/03/30(火) 13:48:02 ID:uKSb+gFG
>>726
よくわからんが・・・入力の信号線を延ばすなら
PIC内蔵プルアップに頼らず、外部プルアップ汁
配線長いなら1kΩ以下推奨

729 :774ワット発電中さん:2010/03/30(火) 20:23:30 ID:J7MZvys+
>>720
ソケットぐらい買えよ。

730 :774ワット発電中さん:2010/03/30(火) 23:02:46 ID:zFCvvMZt
ダイナミック点灯制御について、
トランジスタ使わず出力端子2つに跨ってLED繋がってる回路を見たが
オフで0Vになってる出力端子に5Vをかけると流れるって事か?
そんなことして中焼けたりしないの?

731 :774ワット発電中さん:2010/03/30(火) 23:21:12 ID:uKSb+gFG
PICの最大定格出力電流範囲内ならok

普通のLEDマトリクスと違ってコモンに電流合計されない
その代わり多数同時点灯出来ないから明るくも無い

732 :774ワット発電中さん:2010/03/30(火) 23:23:52 ID:XM0JuM4a
>>727

フォトカプラがありましたね。その方が間違いなさそうです。
検討してみます。

フォトカプラの話が出たのでもう一つ教えて欲しいのですが、
VCC以上の電圧(たとえば+12V)の入力をするためによくフォトカプラが出てきますが、

ttp://www.binzume.net/library/robo/e_tr.html

ここの真ん中あたりの「回路例」のNPNの図のように、

VCCを+5V、INが+12Vでトランジスタを動かしてPICに入力するのは
まずいのでしょうか?

電圧レベルの変換だとフォトカプラが多いので前から疑問に思っていたんです。

>>728

今まで内臓で特に不具合はないんですけど、外部にする必要ありますか?




733 :774ワット発電中さん:2010/03/30(火) 23:27:43 ID:zFCvvMZt
>>731
そうなんだ

734 :774ワット発電中さん:2010/03/31(水) 01:19:54 ID:sXNEOQSg
>>732

>VCCを+5V、INが+12Vでトランジスタを動かしてPICに入力するのは
まずいのでしょうか?

別に悪くはないが、しかし、俺はやらない
(→ 仮に、BC間がショートした場合、定格以上印加する事になる)

電源電圧が違う場合、絶縁&ノイズの意味も含めてフォトカプラを
使う方が賢明だろう

>今まで内臓で特に不具合はないんですけど、外部にする必要ありますか?

電流を自分で決めるかどうかの問題、好きにすれば
PIC内部で発熱するか、外付け抵抗で発熱するかの違い


735 :774ワット発電中さん:2010/03/31(水) 09:48:38 ID:A3dXs/5P
>>726
多分、流行の流れるウインカーとかに使うのだろうけど...
車はノイズの塊みたいなもんだからノイズ対策はしっかりとね
じゃないと、机上でOKでも車に取り付けて???なんて羽目に...
ユニット内に余裕あるんだったら、フォトカプラを10mA以上でONする方が
色々安心出来るかもね
と、経験者でした

あまりPICと関係ない話でスマ



736 :774ワット発電中さん:2010/03/31(水) 09:56:04 ID:pv/AksW+
ひさびさにROMってる人にも参考になりそうなレスの流れ

737 :774ワット発電中さん:2010/03/31(水) 19:25:39 ID:Gchp+yP6
>>730
> オフで0Vになってる出力端子に
たぶん、なんか勘違いしてると思う。

738 :774ワット発電中さん:2010/03/31(水) 23:04:47 ID:wZhA48nM
pickit2用のコネクターってどこで何を買えばいいのん?

739 :774ワット発電中さん:2010/03/31(水) 23:23:21 ID:Mb1wmYA7
今ひとついいのがないよな
ピッチだけ合ってるのをニッパーで切って使ってる

740 :774ワット発電中さん:2010/03/31(水) 23:27:56 ID:VLZK3ffR
秋月いけ

741 :774ワット発電中さん:2010/03/31(水) 23:29:05 ID:6OE6cLhw
秋月や千石で売っている1列のピンヘッダで良いんでね?
千石ならL字もあるし。

742 :774ワット発電中さん:2010/03/31(水) 23:38:16 ID:wZhA48nM
お、ピンヘッダでいけるのか、短か過ぎるかと思ってた


743 :774ワット発電中さん:2010/03/31(水) 23:56:00 ID:yp4MP0Or
>>742
ピンヘッダはpickit2のコネクタの付け根に結構負荷がかかるからここ辺がおすすめ。
https://www.marutsu.co.jp/user/shohin.php?p=69682
https://www.marutsu.co.jp/user/shohin.php?p=69680

744 :774ワット発電中さん:2010/04/01(木) 00:05:26 ID:JHg9t/wK
>>738-743
 こんなのもあるよ

ttp://eleshop.jp/shop/g/g75V333/

745 :774ワット発電中さん:2010/04/01(木) 00:24:12 ID:I4Lr2vlk
>>709

ちなみに2550の動作クロックはいくつですか?
すごく遅いんですかね?

746 :774ワット発電中さん:2010/04/01(木) 02:42:06 ID:BPkPZSge
そのくらい調べれ

747 :774ワット発電中さん:2010/04/01(木) 04:53:28 ID:7Z72yyFR
>>745
48MHzです。
レジスタの退避と復旧は自動的にやってくれるみたいですが、
結構時間がかかるんだな、という感想を持ちました。
ADコンバータは100kspsですが、変換時間待ちのループを嫌がって
AD割り込みを使ってもCPUの効率使用にはならない感じがします。

748 :774ワット発電中さん:2010/04/01(木) 15:32:48 ID:cCubMXkB
>>737
どういうことだ

>>731
範囲内って、入/出の合計で100mAまでってこと?

749 :774ワット発電中さん:2010/04/01(木) 15:44:40 ID:SNLGsj5I
ポートをHiにしてVccに繋いだら合計の出力電流は増えるの?

750 :774ワット発電中さん:2010/04/01(木) 15:48:13 ID:RkrGy5Ki
>>730
吸い込みのことか?
H8での例
ttp://www9.plala.or.jp/fsson/NewHP_elc/H8/H8_11PIO2.html

751 :774ワット発電中さん:2010/04/01(木) 17:07:12 ID:8z0ok16i
16F887でDEBUG_ONのままで動作させてICSPピンに触れるとハングアップする。
原因が分からなくて暫く悩んだ。
コンフィグレーションワードをDEBUG_OFFにしてあっさり解決した。

752 :774ワット点滴中さん:2010/04/02(金) 09:01:47 ID:B8hCfloQ
>>747
>レジスタの退避と復旧は自動的
これが大問題。 high 側 の割り込みは四則演算を使わないで I/O 制御に留めるべき。
nosave オプションで .mathdata セクションを保存しない事が実行スピードを上げるコツ。
mathdata には int16〜int64 の仮想アキュームレータや a+=b;a*=b; 時のテンポラリーが int8〜int64 分含まれる。
かなりの膨大な量になるよ。
C18 の データーシートの日本語と英文と両方を参考にして下さい。



753 :774ワット発電中さん:2010/04/02(金) 14:03:14 ID:qVcGoI/2
>>752
非常に重大なアドバイス、ありがとうございます。
こんな秘密(?)があったのか、という感じです。
C18のマニュアル見てみましたが、近々に実験してみたいです。
結果も後日報告します。

754 :774ワット発電中さん:2010/04/02(金) 14:12:46 ID:UlgatjTP
これだからCしか出来ない奴は

755 :774ワット発電中さん:2010/04/02(金) 14:28:48 ID:mn1rYJKd
って言われちゃうんだよね

756 :774ワット発電中さん:2010/04/02(金) 15:24:38 ID:qVcGoI/2
お!
言われると思いましたよ。
昔Z80やってた時は自分もそういうセリフを言ってた感じが・・・
USBフレームワーク使うとCになっちゃいますでしょ・・・違いますの?
貴重なアドバイス感謝です。これからもよろしくです。

757 :774ワット発電中さん:2010/04/02(金) 15:31:02 ID:UlgatjTP
>>756
まあ、z80やってたとかのたまう奴にも色んなレベルが居るって事だな。
Cを使っちゃいけないとは一言も言ってない訳だが?
これだから…

758 :774ワット発電中さん:2010/04/02(金) 19:19:24 ID:qzjCm+oq
これだからアセンブラとアセンブリ言語の区別の付かない奴は嫌だ


かな?

759 :774ワット発電中さん:2010/04/02(金) 20:00:52 ID:2dasQ/hh
これだからアセンブラ爺は

760 :774ワット発電中さん:2010/04/02(金) 20:10:50 ID:9nIfUEk6
sleep中の消費電流ってクロックに関係ありますか?
PIC12F683を2MHzで使っていますが、Sleep中に250uA位流れてます。
ポート変化割り込みしか使ってないのですが、数uA程度にならないのですか?

761 :774ワット発電中さん:2010/04/02(金) 20:24:07 ID:TTDkaIpG
>>760
クロックは止まるから関係ない
原因はBORかタイマ等の周辺機能じゃないかな
それかプルアップしてるピンからの流出か

762 :774ワット発電中さん:2010/04/02(金) 20:26:13 ID:TTDkaIpG
>>760
ちなみに12F675だと0.1uAも食わなかった
パスコンに溜まった電荷でも数秒記憶を保持できるレベル

763 :760:2010/04/02(金) 21:05:26 ID:9nIfUEk6
>>761
BORをOFFにして、WPUを必要なポートのみにしたら
ほぼ測定不能レベル(アナログテスタ)になりますた。

どうもありがとう。

しかしBORで喰っていたとは・・・

764 :774ワット発電中さん:2010/04/02(金) 21:08:28 ID:p81IKZsb
大須で売ってる店ある?

765 :774ワット発電中さん:2010/04/03(土) 00:47:03 ID:1F/gDRpY
少なくとも第一アメ横には無い
第二には僅かにあった気がするけど、素直に通販が吉

昔はパーツの店ばっかりだったんだが

766 :774ワット発電中さん:2010/04/03(土) 00:56:46 ID:Z/gpmcH3
PICなら第二アメ横のタケイ無線で多少売ってるよ
秋月のキットも若干割り増し価格で売ってる

767 :774ワット発電中さん:2010/04/03(土) 01:07:13 ID:1F/gDRpY
大須までの交通費と割増分が、送料500円に勝てるかという話だ
行ってみたけど欲しいのは無かった、というパターンが最悪
大抵のものはあるよ、と保障できるほど今の大須は電子に強くない
PCとエロなら大丈夫

768 :774ワット発電中さん:2010/04/03(土) 01:11:35 ID:fj9mErFG
名古屋から新今宮まであんまり遠くない
新快速であっという間

769 :774ワット発電中さん:2010/04/03(土) 01:29:43 ID:1F/gDRpY
明らかに500円以上かかるがな

770 :774ワット発電中さん:2010/04/03(土) 01:47:25 ID:fj9mErFG
デジットでも見て回れば良い刺激になるぜ。

771 :774ワット発電中さん:2010/04/03(土) 02:15:58 ID:1F/gDRpY
書店やCD屋がアマゾンに衝撃を受けているのと相似のダメージが、
パーツ屋vs秋月通販の間に成立しているのかもしれない

ブラウジングと呼ばれる、特に目的を定めない情報収集行為が通販には存在し難い

772 :774ワット発電中さん:2010/04/03(土) 18:28:36 ID:hoLaIsjy
やっと積みマイコンしてたPICを動かせた。
ちょくちょく触っていたとはいえ、二年ぐらいただのオブジェだった物が動くとさすがに安堵するな。
(とはいえ、ほとんどネットにあったソースコピペだけど)
…仕事なら首だNE。

とりあえず12F675は10ビットA/D4つも積んでたから、4ch分の取り込んだ値をPCに送るようにしてみた。
さてと次は部屋の中に隠れてるセンサさんを探さないといけないんだな…orz

773 :774ワット発電中さん:2010/04/03(土) 18:45:56 ID:UwF1yo0x
ありあわせの部品のanalogueなところをセンサ代わりにしてみるとか。

774 :774ワット発電中さん:2010/04/03(土) 19:02:47 ID:hoLaIsjy
わざと発振させて発振した素子を手で触れると値が変わるとかなw
…わからんやつがいるから却下w(というかそういう設計無理w)
という訳で温度と照度(CdS)と測位センサ、それに可変抵抗で行こうと思う。
温度センサさん何回も買ったはずなのに見当たらんがorz

しかしせっかく10ビットで取り込んでるのに値が255付近までしか出ないのはもしかして232通信の設定が8ビットだから?
(可変抵抗まわしてたら0〜240ぐらいまで回って、いきなり130いくつとかになる)
まだ詳しく調べてないけど、取り込んだ変数から二つの変数に値を分割して二回に分けて送らにゃあかんってことかい?

775 :774ワット発電中さん:2010/04/03(土) 19:54:33 ID:9b/rc58J
>12F675は10ビットA/D4つも積んでたから
A/Dは1つしか積んでないよ、スイッチみたいな感じで切り替えてるだけ

>>774
10bitだから8bitで受信の時点でどこかおかしくなってると思う、とりあえずソースを貼ってみてはいかがかと

776 :774ワット発電中さん:2010/04/03(土) 20:09:40 ID:mXsfyABT
Cしかできない典型だな

777 :774ワット発電中さん:2010/04/03(土) 20:26:38 ID:hoLaIsjy
>775
という事はマルチプレクスか。
まあ使えればどっちでもイイけどね。
という訳で直接ソースを貼ってみた。TABが消えるので適宜改行したけど、むしろ見辛いという…。

#include <12F675.h>
#fuses INTRC_IO,NOWDT,NOPROTECT,NOMCLR,BROWNOUT //内部4MHzクロック指定
#use delay(clock=4000000) //delayを使えるようにする
//#device ADC=10 //ADC=10bit return
#use rs232(baud=9600,xmit=PIN_A5,parity=N,bits=8,invert) //シリアル設定
//(上の行説明)GP5を送信に設定。またドライバICを使うか簡易的な回路でレベル変換を行うかによって、
//インバース(反転)を入れるか決める。(簡易的な回路ではuse行に,invertが必要)
// A/D4chはGP0〜2、4にあたるピンに有る。
//#device ADC=10の解説:12F675は通常でADCを使用するモードなので設定は不要。他のPICは必要なのが多い。

long value; //結果を入れる変数
void main(void){
//ADC設定
setup_adc(ADC_CLOCK_INTERNAL);
//ADCのクロックを内部クロックに設定
setup_adc_ports(sAN0|sAN1|sAN2|sAN3);
//ADCを読み込むピンを設定(ALL_ANALOGでは効かず)

//ADC読み取り
while(1){
set_adc_channel(0);
//ADCを読み込むピンを指定

value = read_adc(ADC_START_AND_READ);
//読み込み
printf("ch1=%Lu\r\n",value);
//結果表示

set_adc_channel(1);
value = read_adc(ADC_START_AND_READ);
printf("ch2=%Lu\r\n",value);

set_adc_channel(2);
value = read_adc(ADC_START_AND_READ);
printf("ch3=%Lu\r\n",value);

set_adc_channel(3);
value = read_adc(ADC_START_AND_READ);
printf("ch4=%Lu\r\n\n",value);

delay_ms(500);
}
}

778 :774ワット発電中さん:2010/04/04(日) 01:11:39 ID:lB+Gd2xo
hoLaIsjyがものすごく気持ち悪い

779 :774ワット発電中さん:2010/04/04(日) 09:09:13 ID:aY4Al9oQ
うるせぇ。
人のソースにケチつけんなチンカス。

780 :774ワット発電中さん:2010/04/04(日) 10:12:34 ID:vxumBffN
#divine

781 :774ワット発電中さん:2010/04/04(日) 10:42:49 ID:JrJ3EXNa
>>774
>(可変抵抗まわしてたら0〜240ぐらいまで回って、いきなり130いくつとかになる)
10bit表現の下位8ビットしか見てないと、そうなるんだろうなぁ。いきなり130はよくわからんが。
ライブラリに対する設定というのがあるんじゃない? MSBの合わせこみ位置とか、取得幅とか。

232通信が8bitは関係ないだろ。8bit一単位で複数バイト送信すればよいだけかと。
趣味になるんだろうけど、大は小をかねる。そうだけど、必要以上の型大きさは… value

782 :774ワット発電中さん:2010/04/04(日) 10:51:03 ID:szxGMLhU
つ可変抵抗の正しい使い方

783 :774ワット発電中さん:2010/04/04(日) 11:20:19 ID:vxumBffN
テキストで送信するのだ

784 :774ワット発電中さん:2010/04/04(日) 12:17:35 ID:aGOD/YOs
>>>777
set_adc_channel(); の後には少しdelay入れるんだ。
delay_us(20); // Acquisition time


785 :774ワット発電中さん:2010/04/04(日) 12:30:55 ID:21oFP7TP
//#device ADC=10 //ADC=10bit return
よくわからんけど本当に不要なの?

786 :774ワット発電中さん:2010/04/04(日) 12:49:11 ID:YLqS91k3
long long ago

787 :774ワット発電中さん:2010/04/04(日) 13:08:33 ID:QwTJudS2
解 決

やっぱり#device ADC=10の記述が必要だったorz
(直接5V与えてみたら255だったという所で判明orz)
でも最初はCan not change device type this far into the codeとか出てて何のエラーなんだろうなぁ…なんて思ってたけど、もっと前で記述しろってことだった。
結局下の様にかなり前の方に押し込んだらコンパイルも通り、1023まで範囲が増えました。

#fuses INTRC_IO,NOWDT,NOPROTECT,NOMCLR,BROWNOUT //内部4MHzクロック指定
#DEVICE ADC=10
#use delay(clock=4000000) //delayを使えるようにする

皆さんありがとうございました。
…後はシリアルポートから電力を供給できれば最高だけどさすがにそれは無謀なんだろうな。

>786
32ビット長ですね、よく分かります。

788 :774ワット発電中さん:2010/04/04(日) 14:01:15 ID:e8z31uLt
アセンブラ上で条件付コンパイルってできる?

xxx.asmのピン設定行で
 LEDpin equ 4

これをコンパイルの条件で4pin→3pinへ変更とか
(xxx.asmのソース元は変更しないとして)

789 :774ワット発電中さん:2010/04/04(日) 14:25:41 ID:21oFP7TP
>>787 さん
>…後はシリアルポートから電力を供給できれば最高だけどさすがにそれは無謀なんだろうな。
これはどういう意味なんですか?

790 :774ワット発電中さん:2010/04/04(日) 14:36:06 ID:QwTJudS2
ご指名なので出てまいりましたよ…

>789
電力を他で用意するのが面倒だなぁ、出来ればデータ通信で使う232のコネクタから一括して取れないかなぁ…と思っただけです。
今回は測位センサも付けているのでかなり電流バカ食いしていると思いますし、さすがにどこどこまで電流流せますって基準が(多分)あっても守られていなさそうなシリアルポートから取り出すのは無謀だと思うんですけどね。
ではでは

791 :natu:2010/04/04(日) 14:40:57 ID:j5Kduxfn
>>788
こんな感じ

if KISYU==1
#define hoge PORTA,1
else
#define hoge PORTA,2
endif
...
bsf hoge

MPLABの
Project->BuildOptions->ProjectのMPASM Assemblerタブで
Macro DefinitionsへKISYU=1と入れとくとhogeはPORTA,1になる。

BuildConfigurationでDEBUGの時だけ__DEBUGが定義されるので

ifdef __DEBUG
... ;デバッグ用
else
... ;リリース用
endif

も便利だぞ

792 :natu:2010/04/04(日) 14:51:03 ID:j5Kduxfn
連投ごめん。送信してもた

Macro DefinitionsへLEDpin=4と入れとけば
bsf PORTA, LEDpinは、PORTA,4になる。

793 :774ワット発電中さん:2010/04/04(日) 15:16:19 ID:21oFP7TP
>>790 さん
PIC単体なら232Cのハンドシェークピンで賄えると思っちゃいますが、
ダメもとでやってみるのも面白いかと。
(こういうところがハード屋さんから嫌われるんだろうな)

794 :774ワット発電中さん:2010/04/04(日) 15:21:17 ID:AqzpBly1
基本的なことだが、12F629のGP3/MCLRピンをI/Oに使用したら内部プルアップされるのはMCLRですよね?
つまり、GP3/MCLRピンは外部プルアップが必要?
12F629に限った話じゃないけど

795 :774ワット発電中さん:2010/04/04(日) 15:33:14 ID:GVqZ7shK
>>794
そもそも、MCLRって内部プルアップできたっけ?


796 :774ワット発電中さん:2010/04/04(日) 16:44:51 ID:vxumBffN
できるでしょ
できないのもあるの?

797 :774ワット発電中さん:2010/04/04(日) 17:16:55 ID:GVqZ7shK
>>796
内部プルアップされるわけじゃないっぽい。単に無効化されるらしい。
DS41190F-page25参照。
(スレ汚しスマソ)

798 :774ワット発電中さん:2010/04/04(日) 17:27:36 ID:hcIFyUGk
>>787
RTS/CTSピンからPIC駆動する電流くらいなら取れるよ

>>794
プルアップは必要。MCLRでもプルアップはされない。

>>796
ミッドレンジ以下は出来ないのが多い。特に古い品種は。

799 :natu:2010/04/04(日) 17:41:13 ID:j5Kduxfn
>>795
VDD(CMOS出力)に内部で繋がるだけみたいだ。
>>794
GP3/MCLRだとVDD方向寄生ダイオード無しの
デジタル入力になるのでプルアップ、ダウンは有るのが安心。
ICSPするなら邪魔にならない値で...


800 :794:2010/04/04(日) 17:47:01 ID:AqzpBly1
自分でも調べてみた。
CONFIGレジスタの設定に

MCLRE: GP3/MCLR pin function select(5)
1 = GP3/MCLR pin function is MCLR
0 = GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD

ってあるから、
・MCLRとして使用するなら外部プルアップが必要
・GP3として使用するならMCLRは内部でVDDにつながれる

つーことはGP3の外部プルアップは必要・・と
この解釈で合っているのかわからんけどww

しかもWPUレジスタにWPU3が抜けてるし

小さく作りたいから外部抵抗すらスペースが惜しいのになぁ

レスくれた人ありがとう

801 :774ワット発電中さん:2010/04/04(日) 18:24:21 ID:QwTJudS2
ちら裏
ニンニク食って気合上昇中!!もう一頑張りする!!
……明日平日だぜオレ…。
ちら裏END

>793
RCDも有りますし出来るんではないかとふんではいますが、なにぶんPCを壊すんじゃないかと…(調べてないまま愚痴って申し訳ない
でもそのうちRS232C通信の勉強用に7セグとPICで数字を入れたらそれを表示するヤツでも作ろうかと思っております。
多分1セグ辺り2mA程度なら出るんじゃないかなぁ…と考えてるだけですけど。

>789
ありがとうございます、後で詳しく調べてみます。

802 :774ワット発電中さん:2010/04/04(日) 19:39:00 ID:0biCKgPb
>>800
勧めるわけじゃないけど、プルアップしなくても実動に影響はないよ。

> 小さく作りたいから外部抵抗すらスペースが惜しいのになぁ
そうなんだよねぇ。
ちなみに、アッパーコンパチの675を使ってます。

>>790
機種依存性が強い、というのは置いておいて、「まともなシリアルポート」でも
数mAまでと見ておいたほうがいいですよ。「まともな・・・」なら、電流制限は
必ず付きますし。外部へ引き出すポートですからね。

あと、壊れると盛んに喧伝する人がいますが、糞マシンを掴まされた腹いせか
何かではないかと想像してます。

803 :774ワット発電中さん:2010/04/04(日) 20:08:45 ID:21oFP7TP
>>752さんのアドバイスにより、割り込み関数内に8-9µs程速く入るようになりました。
戻りと合わせて17-18µsになると予想します。
とりあえず問題なく動いている感じがしますが、割り込み内は_asmで記述した方がよさそうですね。
ベールが1枚剥がれたような感じがします。
ありがとうございました。

804 :774ワット発電中さん:2010/04/04(日) 20:12:23 ID:JrJ3EXNa
>>790
シリアルポートによっては+でしか振らないのある。
けど規格上は±で振るから注意ね。
いっそのこと、USBから電源とればいいのに。
電源とってもおk。なんていうUSBシリアル変換基板もあるよ。
相手がパソコン以外の場合は無理だけど。。

805 :774ワット発電中さん:2010/04/04(日) 23:37:17 ID:hcIFyUGk
>>801
大概のPCで動くようにするならばPIC含めてトータルで多くても2mAってとこかな。あくまで経験論だけど。

>>802
RCDライタは重い容量性負荷がぶら下がってるからねぇ。
470uFに10Vとか溜まってて、想定外のルートで電荷を放出したら簡単にポート吹っ飛びそうな気がしない?

806 :774ワット発電中さん:2010/04/05(月) 00:56:13 ID:znS9bp4N
そんなに弱くねぇよ。

807 :774ワット発電中さん:2010/04/05(月) 14:31:01 ID:ADsoZYwi
シリアルは重い負荷かけても死なないはずなんだけどRCDライタをながく使うと死ぬという罠がある。

808 :774ワット発電中さん:2010/04/05(月) 19:47:30 ID:DLJUkhrS
> 簡単にポート吹っ飛びそうな気がしない?
って喧伝ご苦労様ですw

809 :774ワット発電中さん:2010/04/05(月) 20:42:58 ID:tzd6By4A
7SEGにprint文使うのが楽しい

810 :774ワット発電中さん:2010/04/05(月) 23:13:22 ID:01z2/8Uw
素人は信号線にでかい電解コンデンサ付けても気にならないんだよな。
その辺はセンスの問題だからしかた無いけど、まあ、真面目に勉強して
理解が進めばそんな無謀な事は怖くて出来なくなる。無知の怖い物知らずって奴だな。素人はデーターシートを
読まないし、仮に見ても都合の良いとこだけ都合の良いように勝手な解釈するから手に負えない。
しかもデーターをすっ飛ばして現物でたまたま動いてるだけなのに定数を実験(しかも根拠の無い実験)
で決定して悦に入ってる。どう考えてもライタ509みたいなちゃんとした設計の物の方が安心。
部品点数だって大差無いし、最初の一個はオリジナルJDMの方が安心。
picやってる奴って素人も多いから余計かな。

811 :774ワット発電中さん:2010/04/06(火) 00:53:23 ID:KmVJ6c/R
3行にまとめてみた

>素人は信号線にでかい電解コンデンサ付けても気にならない
>ライタ551みたいなちゃんとした設計の物の方が安心
>picやってる奴って素人も多い

ライタ無い時だと暗い気持ちになるわなー

812 :774ワット発電中さん:2010/04/06(火) 03:34:54 ID:bXhIclJz
>>811
重要な
>最初の一個はオリジナルJDMの方が安心
を忘れてるからだろ。最後の一行の代わりに入れとけよ。
素人は重要な助言も無視、スルーする事が多いんだよなw

813 :774ワット発電中さん:2010/04/06(火) 19:05:42 ID:cq06e2YW
>>810 >>812
そろそろ阿呆はお引き取りください。

>>811
ライタが大幅バージョンアップしとるでw

814 :774ワット発電中さん:2010/04/06(火) 20:56:21 ID:bXhIclJz
>>813
素人乙www

明らかに劣ってるのに必死だね。

815 :774ワット発電中さん:2010/04/06(火) 21:10:29 ID:phICAnZQ
基地外と白痴の罵りあいって面白いですね^^

816 :774ワット発電中さん:2010/04/06(火) 22:55:28 ID:aGzCbye8
12F使ってる?

817 :774ワット発電中さん:2010/04/07(水) 08:42:49 ID:YGqIcX62
12F683と12F629が好きさ

818 :788:2010/04/07(水) 19:58:21 ID:4FVE4Z5z
>>791さん
ありがとうございます♪
__DEBUG法もすごい参考になりました

819 :774ワット発電中さん:2010/04/07(水) 20:03:51 ID:ybqgEjXg
むきー
C18全然判らん

820 :774ワット発電中さん:2010/04/07(水) 20:59:14 ID:nh7SWuvc
無理するな。
無理が祟って欝になって自殺でもされたら・・・

821 :774ワット発電中さん:2010/04/07(水) 21:22:50 ID:7x5jSWJg
保険金が・・・

822 :774ワット発電中さん:2010/04/07(水) 21:27:17 ID:jCWLD5BK
がっぽがっぽ

823 :774ワット点滴中さん:2010/04/08(木) 14:32:15 ID:dwR/Kw+A
>>803
インライン・アセンブラ(_asm)を使わなくても直接アセンブラ記述してリンカー結合で ok
↑は省略出来ない制限が多すぎるから、不便ですよ。

アセンブラで 0x000000〜0x000018+α のベクターを記述。
必要に応じて↓を呼び出せば良い。
C18 側はどこでも良いから 0x000000〜 のイメージを記述。

low 側割り込みは実行時間を考慮せずに C18 でプログラム。
high 側割り込みは 数μsec の実行時間を計算した上で書くと楽。
↑シャドウレジスタの save を有効に活用すると もっと早くなる。

824 :774ワット発電中さん:2010/04/08(木) 19:43:50 ID:NO1oWsfp
C18+MPLABで
MCLRENはデフォルトでONなので、
#pragma config MCLREN = OFF
と書かないとOFFにならない

その後、その行をコメントアウトしてもOFFのままになってしまうので、
そのソースを別のところに持っていくと動かない

configを書かないとデフォルトに戻るように設定できる?

825 :774ワット発電中さん:2010/04/09(金) 06:01:27 ID:Tfj5PyN4
>>823
御指南、ありがとうございます。
どれくらい速くなるか楽しみです。

826 :774ワット発電中さん:2010/04/09(金) 11:46:26 ID:M3LBDkMm
タイマー割り込みのことですが、命令の途中に割り込まれることは無いですよね?
GOTO命令は2サイクルですが、1サイクル目にタイマー割り込みがかかることは無いですよね?

827 :774ワット発電中さん:2010/04/09(金) 12:35:20 ID:6Yu7+FqS
ないよ
だから最大命令サイクル分だけ遅延する可能性がある

828 :826:2010/04/09(金) 12:43:30 ID:M3LBDkMm
>>827
やっぱり・・・
今までシミュレータできり良く割り込まれてたのは、単に運が良かっただけか・・

ありがとう

829 :774ワット発電中さん:2010/04/09(金) 13:30:54 ID:y5BbtK8a
>>827の答えに対して>>828の反応はおかしい気がするが....
 

830 :774ワット発電中さん:2010/04/09(金) 17:00:42 ID:aoFhf3Jt
>>829
実機で遅延が発生するのは何故なんだ、と思っての質問ならおかしくないと思うぞ

831 :774ワット発電中さん:2010/04/09(金) 18:16:17 ID:y5BbtK8a
ちがう。
”シミュレータできり良く割り込まれていた”のではなく、そのタイミングでしか割り込みを
受け付けないという意味で。
 どうゆう理解すれば>>829のような理解が出来るんだ

832 :774ワット発電中さん:2010/04/09(金) 18:17:42 ID:y5BbtK8a
失敗。 

>>どうゆう理解すれば>>829のような理解が出来るんだ

>>どうゆう理解すれば>>830のような理解が出来るんだ


833 :826:2010/04/09(金) 20:21:14 ID:M3LBDkMm
今までシミュレーターできり良く割り込まれてた。
つまり10msで周期割り込みが発生するように組んでて、実際その通りに動いてた。
しかし今日、10ms+数usで割り込まれているのを発見した。
考えた結果「2サイクルの命令の途中で割り込まれることは無いんじゃないか?」と思った。
そのうち「つーか、それが当然だろう」に変わってきて、一応スレで質問してみた。
     ↓
   >>827の回答
     ↓
     >>828


834 :774ワット発電中さん:2010/04/09(金) 23:49:05 ID:iLPGdGLx
毎回同じことを繰り返しているなら、
割り込み周期は一定

835 :774ワット発電中さん:2010/04/10(土) 00:20:54 ID:NlRqqB4b
そうでもない。

836 :774ワット発電中さん:2010/04/10(土) 01:43:09 ID:p9Y449ms
そんなことはない。

837 :774ワット発電中さん:2010/04/10(土) 09:23:21 ID:CADd9g/9
どこの信号見て測ってるのかわからんけど
割り込みのエッジとクロックのエッジは同期してないから
割り込みが入ってから処理が開始されるまでに
0〜1クロック分の誤差はどうやっても発生するわな



838 :774ワット発電中さん:2010/04/10(土) 09:28:37 ID:CADd9g/9
あ、タイマー割り込みか、だったら同期してるなスマソ

839 :774ワット発電中さん:2010/04/10(土) 21:40:53 ID:AV9dy6Tg
> 毎回同じことを繰り返しているなら、
> 割り込み周期は一定

そもそも割り込みは不要。

840 :774ワット発電中さん:2010/04/10(土) 21:54:04 ID:NlRqqB4b
>>836
LEDチカチカ位しかさせた事が無いのかw
同じ事をさせても条件判断でルーチンが変わったりしてステップが変わるのが普通だと思うが。

841 :774ワット発電中さん:2010/04/10(土) 22:01:52 ID:6mr0qkDK
>>836>>834に対してじゃねーの?

842 :774ワット発電中さん:2010/04/10(土) 22:07:36 ID:NuNqLsqr
条件が変わるなら同じことじゃないがな

843 :774ワット発電中さん:2010/04/10(土) 22:25:48 ID:NlRqqB4b
屁理屈乙www

844 :774ワット発電中さん:2010/04/11(日) 10:45:02 ID:DQENIhm9
メインルーチンが条件分岐しないタイマー割り込みでも
整数倍でないと同期しない。

例えばタイマー周期が256クロックでメインループが333クロックなら
毎回違う命令の所で割り込みが掛かるよ。


845 :774ワット発電中さん:2010/04/11(日) 10:46:07 ID:DQENIhm9
メインループが230クロックだったりしたらメインを
SLEEP命令で止めて割り込み(256クロックめ)を待つ方法が使えるけど。


846 :774ワット発電中さん:2010/04/11(日) 11:29:07 ID:zb38mDre
それはPICの話か?

847 :774ワット発電中さん:2010/04/11(日) 17:26:50 ID:mVt2KLLK
ID:DQENIhm9

おまいには割込みって必要ないだろ

848 :774ワット発電中さん:2010/04/11(日) 17:32:25 ID:Yk8+yoKj
割り込みは良くない

849 :774ワット発電中さん:2010/04/11(日) 17:35:38 ID:mVt2KLLK
ああ、すまん
ちょっと飛んでくるわ

850 :774ワット発電中さん:2010/04/11(日) 18:59:59 ID:yJHqNMPH
ちゃんとここに戻っておいでよぅ(´゚'ω゚`)

ORG 00

851 :natu:2010/04/11(日) 19:05:03 ID:Pl48G3Ug
>>844
>メインルーチンが条件分岐しない...
タイマーが内部クロックをカウントしていれば2サイクル命令(gotoとか)中の割込みでも動機するよ


852 :774ワット発電中さん:2010/04/11(日) 20:09:34 ID:DQENIhm9
>>851

>>833の補足のつもりで書いたんだけど
2サイクル命令途中だと割込み実行されるのが
1サイクル遅れるんじゃないでしょうか。


853 :774ワット発電中さん:2010/04/11(日) 22:37:49 ID:CpEiUULz
インターバルの割り込みが使えないとき、メインルーチンの方は
loop
  goto loop
で何も処理しないで、全部タイマー割り込みで処理する

854 :849:2010/04/12(月) 02:28:04 ID:ZleSkazX
>>850
帰ってきた
だがリセットがかかっちゃったよ

855 :774ワット発電中さん:2010/04/12(月) 18:27:29 ID:vLwjH7Cs
>>852
1サイクル命令中の割込みには、1サイクルのダミーサイクルが入るので
結果同じになるよ。

出先から内緒でカキコ

856 :774ワット発電中さん:2010/04/12(月) 19:19:59 ID:yeaVZYiy
http://ww1.microchip.com/downloads/en/DeviceDoc/33023A.pdf
のp.132

1サイクル命令も2サイクル命令もレイテンシーは一緒

オレの訳が間違えてるかも


857 :774ワット発電中さん:2010/04/12(月) 19:46:45 ID:6365ISZS
p132どこ

858 :774ワット発電中さん:2010/04/12(月) 20:42:02 ID:EstoJIDQ
マイクロチップのテクニカルノートはエラッタ隠ししかない

859 :852:2010/04/12(月) 22:55:00 ID:+cXvVYdI
>>855, >>856
ありがとうございます。
パイプラインの中断と2サイクル命令の為にダミーサイクルを入れている感じでしょうか。

すると>>833の10msに対する+数usは別に原因があるわけですね。

>>857
132ページは下欄のpage 8-10。上のタイトルだと 8.3 Interrupt Latencyです。


860 :774ワット発電中さん:2010/04/12(月) 23:46:40 ID:Ssf1GqiI
ど素人からの質問ですが、一つの命令の途中で割り込みが入ることによって
数µsの遅延が生じるというのは、いったいどういうことでしょうか?
一つの命令で数µsかかるというのはかなり動作クロックが遅いか、
非常に高度な命令の様な気がしますが、その途中で割り込まれて数µsとは・・・

861 :774ワット発電中さん:2010/04/13(火) 00:01:57 ID:AZpeTGJE
31kHz動作の場合、1サイクル129us

862 :774ワット発電中さん:2010/04/13(火) 00:38:25 ID:dh5dHZSa
>>833がCPUのクロックとカウンタのクロック源とモードをはっきりさせ
ないからいろんな解釈が生じて、質問と回答がかみ合ってない気がする
んだが。


863 :natu:2010/04/13(火) 00:50:13 ID:XepHkWQ8
後、割り込みの中で何をしているかが
判ると何とかなりそうな気がする。

出先のIEでカキコしてsage忘れた。

864 :774ワット発電中さん:2010/04/13(火) 20:43:15 ID:Ny6sUgwo
>>858
ちょっと気になる発言だなw
詳しくw

865 :774ワット発電中さん:2010/04/13(火) 21:02:43 ID:dKVgvm+a
割り込みのプログラムの経過時間ってことじゃないのかな?
割り込みプログラムが15行あれば15μS経過するとかって話とは違うのかな?
具体的な説明を望みます。

866 :774ワット発電中さん:2010/04/13(火) 22:26:44 ID:dh5dHZSa
>>833
>10ms+数usで割り込まれているのを発見した。

コンペアモードなら割り込みが1サイクルばらついても誤差は累積しないが、
割り込むたびにカウンタを再設定するやり方ではメインルーチンの命令の
サイクル数によってばらついたら誤差が累積するってことだと思ってたの
だが。

867 :833:2010/04/13(火) 22:42:36 ID:GOq8MmVY
規制の巻き添え食らってました。やっと解除された。
以下はサンプルです。
1us遅くなる時がある

;クロック4MHz
;===============================
  org  0000h
  goto main
  
;===============================
  org  0004h
  movlw d'9'   ; TMR0再設定(500us周期)
  movwf TMR0
  
  bcf  INTCON, T0IF ; TMR0割り込みフラグクリア

  retfie     ; retfieはGIEをセットする
  
;===============================
main
  bsf  STATUS, RP0  ; bank1
  
  movlw b'00010000'  ; TMR0プリスケーラ2
  movwf OPTION_REG
  
  bcf  STATUS, RP0  ; bank0
  
  movlw d'9'   ; TMR0設定
  movwf TMR0
  
  movlw b'10100000'  ; TMR0割り込み可
  movwf INTCON

mainloop
  
  btfsc GPIO, GP4
  nop      ; このnopが実行されることは無い
  
  goto mainloop
  
  end


868 :774ワット発電中さん:2010/04/13(火) 22:42:50 ID:qsbmZB6X
割り込みハンドラ内でカウンタを再設定すれば必ず誤差は生じる。
回避するにはカウンタはフリーランにする。
つまり8bitタイマなら256カウントを基準に時間を作る
(メインクロック/4 /プリスケーラ)の時間 * カウンタ256 (* ポストスケーラ)を基準にする。
そこからソフトでカウントすれば誤差は発生しない。

869 :774ワット発電中さん:2010/04/13(火) 22:53:57 ID:qsbmZB6X
タイマカウンタ再設定するやり方で誤差を補正するには
時間を計る基準点で適当なポートにパルス(bsf bcf)を出して
シミュレータのロジアナ機能でクロック数を図ればズレが分かるので
カウンタ設定値を調整すると楽。

870 :774ワット発電中さん:2010/04/13(火) 23:07:50 ID:GOq8MmVY
規制中にいろいろ調査しました。
↓の記事は納得いきますが>>855,856,859がイマイチわかりません。
ttp://www.geocities.jp/michi_kou/faq.htm#Q32


871 :774ワット発電中さん:2010/04/13(火) 23:32:16 ID:dh5dHZSa
PWM使うとコンペアモードが使えなくなるのが糞なんだよな

872 :774ワット発電中さん:2010/04/14(水) 02:24:50 ID:/sZ8EoWi
糞はそれだけではないが....

873 :774ワット発電中さん:2010/04/14(水) 10:30:24 ID:5TyiUG3k
シーッ

874 :774ワット発電中さん:2010/04/14(水) 16:23:49 ID:bYEmqaxb
ウンコと聞いちゃあ黙ってられないな。
で、なに?

875 :774ワット発電中さん:2010/04/14(水) 22:34:47 ID:oiKoWHqx
>873

小便ですか。

876 :774ワット発電中さん:2010/04/14(水) 23:32:02 ID:LTYoJ9YC
とたんに糞スレになりさがったじゃねぇか!

877 :774ワット発電中さん:2010/04/15(木) 00:23:23 ID:e3UXafTL
SPI通信が使える秋月で一番安いPICはどれ?

878 :774ワット発電中さん:2010/04/15(木) 00:28:02 ID:xNz/Y4r/
>>877
ソフトで書けばどれでも使える

879 :774ワット発電中さん:2010/04/15(木) 00:51:31 ID:e3UXafTL
おお、C18で書こうと思ってたから、
ライブラリ使おうと考えてたけど、
通信先のICのレジストリを設定するだけの一方的な通信のみの用途だから、
書けばいいですな。
12Fにしよう。ありがと。



880 :774ワット発電中さん:2010/04/15(木) 01:52:06 ID:VMUtPebQ
spiマスタとi2cマスタはポートでパタパタすればいい

881 :774ワット発電中さん:2010/04/15(木) 06:59:26 ID:/cJgTkEA
i2cはマスターでも別次元の労力ダゾ

882 :774ワット発電中さん:2010/04/15(木) 09:29:44 ID:aODE/lXo
PICの内蔵ペリは糞

883 :774ワット発電中さん:2010/04/15(木) 16:27:43 ID:nUGwTmkI
>>881
別次元って。複雑さは異なるが、次元は同じだろ。

・・・いや、まてまて。「別次元」って言葉があったな。
なんでもない。最近日本語がダメになってきてる。


884 :774ワット発電中さん:2010/04/15(木) 17:04:40 ID:NMCnJp5R
>>883
一回苦労して作ったらライブラリになるから
あとはそれらを組み合わせるだけだろ。

885 :774ワット発電中さん:2010/04/15(木) 17:25:36 ID:p+m9RgIw
周辺の制御は殆どライブラリ化したから最近は楽になった。


886 :774ワット発電中さん:2010/04/16(金) 04:48:46 ID:2Dbp9S/U
シンクロのす者だがタイマー占有するとかナイよな?

何が駄目なん

887 :774ワット発電中さん:2010/04/16(金) 04:57:34 ID:hwBfcUsb
頭。
まずは日本語の勉強が必要だ

888 :774ワット発電中さん:2010/04/16(金) 05:26:26 ID:2Dbp9S/U
途中までで書き込めるか試したので意味フですまん。
ソフトやっててアプリケーションノート見ながら16F88使ってみようとす者だがタイマ占有するとか非利点が無いよな?気がするのですが
ペリフェラルI2cでは
何が駄目なんでしょうか。

889 :774ワット発電中さん:2010/04/16(金) 05:48:05 ID:EEKVauie
>>888

>>887

890 :774ワット発電中さん:2010/04/16(金) 06:05:17 ID:2Dbp9S/U
何があああああああああああああ

891 :774ワット発電中さん:2010/04/16(金) 07:29:49 ID:asNpXCSO
>>890
意味フ?
す者?
非利点?
タイマ占有?

文章からプログラム概要や動作が想像できない
なので何が疑問なのか伝わらない


892 :774ワット発電中さん:2010/04/16(金) 08:35:57 ID:2Dbp9S/U
今回はシンクロなすを
用いる事により
うんこそれ以外を比較し安い様にしました

タイマ使うのであればモジュールを利用する意味ねーじゃんて理解なんだがあってるか?

893 :774ワット発電中さん:2010/04/16(金) 08:36:00 ID:xlZc1itN
>>891
そんなところにばかり突っ込んでてもしゃーないやろ。
意味不明, ・・・する者,制限事項,タイマ資源を1本完全に占有

というわけで文章は読み解けるが、何が疑問なのかは伝わらない。

894 :774ワット発電中さん:2010/04/16(金) 09:46:18 ID:hwBfcUsb
>>893
何が疑問なのかわからないのに何を読み解いたのだw
まあ、ID:2Dbp9S/Uは教えてもらおうという気が無いのだろうからスルーするに限る。
もしかしたら日本人じゃ無いかもだが、その場合はお国の言葉で対応出来る掲示板なりに行ってもらうのがお互いに得

895 :774ワット発電中さん:2010/04/16(金) 11:18:38 ID:2Dbp9S/U
>894そおゆう意見があるのを知っているがMicrochipはその限りではない事も知っている。
通信をどう用いるか捉え方によると思うが、システムとしての概要を満たすのには必須なんです。
疑問設問とかじゃないんです。

896 :774ワット発電中さん:2010/04/16(金) 11:24:37 ID:8FcQRHrf
まてまて 本当にお前何人だwww

897 :774ワット発電中さん:2010/04/16(金) 11:52:27 ID:2Dbp9S/U
ごめん間違えた
Xシステムとしての概要を
〇システムの要件をなんとなく
勝手に難しくなり過ぎました

898 :774ワット発電中さん:2010/04/16(金) 12:00:42 ID:haV8nB/t
ちょっと日本語不自由すぎるだろ。英語でおk

899 :774ワット発電中さん:2010/04/16(金) 12:09:02 ID:2Dbp9S/U
目的はう〇んこ流すことでしたので

そろそろ帰るわcu

900 :774ワット発電中さん:2010/04/16(金) 15:00:25 ID:xlZc1itN
スゴかったw

901 :774ワット発電中さん:2010/04/16(金) 16:17:56 ID:8FcQRHrf
うんこが?

902 :774ワット発電中さん:2010/04/16(金) 18:33:44 ID:f0UMQYeR
Unco is great.

903 :774ワット発電中さん:2010/04/16(金) 23:55:12 ID:1NE08RQg
ごめん、年のせいか最近理解力がとみに低くなっている気がする。
>>886からの流れが、何を意味しているかも、何から始まっているのかも
そのフォローをする人も何を言っているかすら、さっぱりわからないんだ。

Microchipがその限りでないとか、意味深なのか意味がないのかすら・・・
PICって凄く奥深いよね。

904 :774ワット発電中さん:2010/04/17(土) 00:43:14 ID:SGH/TRnb
理解できる方がおかしいと思うぞ

905 :774ワット発電中さん:2010/04/17(土) 00:45:39 ID:ljDnpMqi
全てはPICのアーキテクチャのせい

906 :774ワット発電中さん:2010/04/17(土) 03:42:52 ID:PCia5She
PICの設定ややこしぃーーーー
リマップとか気ぃ狂うぞwwww
タイマーとかバラバラに動くしぃーーー
通信バッファーとかカスしかないしぃー
ちょっと複雑なことやろうとすると目眩がするわ
こんな糞IC開発期間10倍ぐらいかかるだろwwww
ナノワットに目がくらんだばっかりに手を出したが
ナ二ホワットの間違いだろwwww

907 :774ワット発電中さん:2010/04/17(土) 04:24:06 ID:c4H7TM7v
実力の無さをそんなに声だかに叫ばなくてもw

908 :774ワット発電中さん:2010/04/17(土) 09:50:43 ID:7HiaiI+2
黙って別のマイコン使えばいいのにね

909 :774ワット発電中さん:2010/04/17(土) 13:09:59 ID:0n1RGfEf
春だねぇ

910 :774ワット発電中さん:2010/04/17(土) 14:47:48 ID:jdX00Bcr
あせんぶらでやるから苦労するんだよ。
Cで書けば苦労は半分以下に減る。

911 :774ワット発電中さん:2010/04/17(土) 15:36:47 ID:Lk2Xhjjh
シリアル2チャンネルもってる一番低性能なPICてどれですか?
PIC24しか見つけられない...

912 :774ワット発電中さん:2010/04/17(土) 15:44:15 ID:cqO6tuWY
Arduino使えばいいのに

913 :774ワット発電中さん:2010/04/17(土) 18:03:08 ID:+we5+/Gv
アルデーノよりH8のほうが良いと思うぞ。


914 :774ワット発電中さん:2010/04/17(土) 20:24:51 ID:S3kMLVGt
>>911
クロック同期ならポートでいいだろ。
UARTなら専用ペリ要るけど。

915 :774ワット発電中さん:2010/04/17(土) 20:29:27 ID:KxvQDC6j
>>906
最後の一文を書きたいがために8行も使うなよw

916 :774ワット発電中さん:2010/04/17(土) 23:16:27 ID:+we5+/Gv
今度、大人の科学で、
ジャパニーノというマイコン基板が付録に付くよ。



917 :774ワット発電中さん:2010/04/17(土) 23:47:05 ID:K4pT+pbU
どこらへんがjapanなんだ

918 :774ワット発電中さん:2010/04/18(日) 03:49:12 ID:Ba9TtluM
かっこいいからだな

919 :774ワット発電中さん:2010/04/18(日) 06:12:51 ID:17exvS7f
コピー天国japan

920 :774ワット発電中さん:2010/04/18(日) 10:09:54 ID:scr7RHDd
アルデーノよりいいらしい

921 :774ワット発電中さん:2010/04/18(日) 10:47:55 ID:jUPnBQDM
大人の科学って違う技術しか思い浮かばない

922 :774ワット発電中さん:2010/04/18(日) 11:16:52 ID:BHyYBJe9
成人の科学か

923 :774ワット発電中さん:2010/04/18(日) 11:41:54 ID:fyuJU0Yq
エロさがないと


924 :774ワット発電中さん:2010/04/18(日) 20:18:30 ID:iaWVOdgQ
PIC24Fのタイマ2/3モード(32bitモード)で
割り込み時にタイマカウンタTMR2,TMR3が
リセットされないのですが
何が問題なのか教えて頂けないでしょうか。

925 :774ワット発電中さん:2010/04/18(日) 20:20:18 ID:YIDB0pyT
フラグクリア

926 :924:2010/04/18(日) 20:36:42 ID:iaWVOdgQ
>>925
ご回答ありがとうございます。
症状としてはタイマー1オンリーで試すと
割り込みに入った直後はTMR1はゼロセットされています。
タイマー2/3モードですと
割り込みに入った直後にTMR2,TMR3はコンペア値のままで
自動リセットされていません。
直後にフラグクリアをしてもTMR2、TMR3がゼロリセットされないので
割り込みし続けます。
手動リセットしてもよいのかもしれませんが納得いきません。

927 :natu:2010/04/18(日) 20:45:31 ID:zWrnlDLI
>>924
ブロック図を見ると判るようにTMR2,3がPR2,3一致すると
ハードでクリアされて割込みが発生する。クリアされないと
割込み発生しない。なので、あなたがチェックする
所は、
その割込みがTMR3の割込みかどうかだけだとおもうぞ
がんばれ!!

余計なお世話だけど...フラグクリアとタイマークリアは無関係
だけどTMR2で割込みしてないよね?

928 :924:2010/04/18(日) 20:56:53 ID:iaWVOdgQ
>>927
以下コードなのですが、どこかおかしいでしょうか?

//---------------------------------------------------
// 5秒タイマーセットアップ(タイマー2,3)
//---------------------------------------------------
// スタート、アイドルストップ、プリスケール256、32bitモード,
// 5sec周期 = 312500カウント(0x4c4b4) 内部クロック 16MHz
T2CON = 0b1010000000111000;
PR3 = 0x0004; // コンパレータMSB設定
PR2 = 0xc4b4; // コンパレータLSB設定
IPC2bits.T3IP = 3; // タイマー3割り込みレベル3に設定(最高7)
//---------------------------------------------------
// タイマースタート
//---------------------------------------------------
TMR2 = 0;
TMR3 = 0;
IEC0bits.T3IE = 1; // タイマー3割り込み許可


/********************
* タイマ3割り込み処理関数(5秒タイマー)
********************/
void __attribute__((interrupt, auto_psv)) _T3Interrupt(void)
{
 IFS0bits.T3IF = 0; // 割り込みフラグクリア
 ※ここでTMR2,TMR3はコンペア値そのまま(リセットされず)
}

929 :924:2010/04/19(月) 08:41:49 ID:za1UXw1O
自分なりの結論
32bitプリスケール64,256のときに発生するバグ
つまりエラッタ orz

930 :774ワット発電中さん:2010/04/19(月) 08:52:52 ID:HXJQNFHj
>>926
>手動リセットしてもよいのかもしれませんが納得いきません。

その気持ちは大切にしろな

931 :774ワット発電中さん:2010/04/19(月) 20:23:10 ID:Phu41tEu
エラッタはハード的バグという意味ではありません

932 :774ワット発電中さん:2010/04/19(月) 22:25:01 ID:6Gle/fxg
つttp://en.wikipedia.org/wiki/Errata
...
Meanings in a non-editorial context
Design errors and mistakes in a CPU's hardwired microcode may also be referred to as errata.

933 :774ワット発電中さん:2010/04/19(月) 23:12:15 ID:/TU9h3Zz
ウィキペディアを持ち出されても・・・

934 :774ワット発電中さん:2010/04/19(月) 23:22:03 ID:ftF1gYY9
ばっか 得意満面の笑みしてんだから察しろよ

935 :natu:2010/04/19(月) 23:33:52 ID:fs4CFfh9
>>928
改善するかどうかは判らんけれど32bitモード時は
TMR3を読み書きしてもダメだぞ。

読むときは、TMR2を読んでからTMR3HLDを読む
書くときは、TMR3HLDに書いといてからTMR2へ書く


936 :774ワット発電中さん:2010/04/20(火) 01:43:50 ID:XDzZTPVS
それだよたぶん。
H8やAVRにもそういうのあるし。


937 :774ワット発電中さん:2010/04/20(火) 02:46:04 ID:c21C2pBi
PIC16F88で7セグメント(アノードコモン)をつけようとしたんだけどうまくいかない。

回路はこんな感じ
+4.5V→2SA1015のエミッタ
RB4→2.7kΩ→2SA1015のベース
2SA1015のコレクタ→7セグのとある端子→RA1

       なぜかここで3mAしか流れない↑

普通流れ出るほうにもトランジスタ付けるんだろうか?
何か流れるようにする設定でもあるの?

プログラムはsdccでこれだけ
#include <pic/pic16f88.h>
int at 0x2007 __config = _INTRC_IO & _WDT_OFF & _PWRTE_OFF & _CP_OFF & _MCLR_OFF & _LVP_OFF & _BODEN_OFF;
void main() {
OSCCON = 0b01110000;
TRISA = 0b00000000;
TRISB = 0b00000000;
PORTA = 0b00000000;
PORTB = 0b00000000;
do {
} while(1);
}

938 :774ワット発電中さん:2010/04/20(火) 03:23:54 ID:PdCSdkc2
デフォで analogI/O になってなかったっけ
ansel adcon あたりごにょごにょ


939 :774ワット発電中さん:2010/04/20(火) 09:08:48 ID:F2KgxXBJ
LEDの電流制限抵抗がないような

940 :774ワット発電中さん:2010/04/20(火) 13:21:06 ID:j1CacONt
>>933
空気読め

941 :774ワット発電中さん:2010/04/20(火) 13:34:06 ID:79Ungafo
>>937
変な回路だ。
それではトランジスタ2SA1015がoffしないと思う。

>2SA1015のコレクタ→7セグのとある端子→RA1
なんだこの接続? RA1=Lにしたら、短絡する。
アノードコモンなのに、なんで2SA1015のコレクタ→7セグのとある端子?
変な回路だ。



942 :のうし:2010/04/20(火) 13:44:56 ID:96Do/jRl
自分で考えたんじゃね? まんまより遥かに偉いような‥
批判する前にそのココロを聞いてアドバイスしたら?

943 :774ワット発電中さん:2010/04/20(火) 15:48:07 ID:T+CcSy0i
                ハ        _
    ___         ‖ヾ     ハ
  /     ヽ      ‖::::|l    ‖:||.
 / 聞 え  |     ||:::::::||    ||:::||
 |  こ ?  |     |{:::::‖.  . .||:::||
 |  え      |     _」ゝ/'--―- 、|{::ノ!
 |  な 何   |  /   __      `'〈
 |  い ?   ! /´   /´ ●    __  ヽ
 ヽ      / /     ゝ....ノ   /´●   i
  ` ー―< {           ゝ- ′ |
        厶-―    r  l>        |
      ∠ヽ ゝ-―     `r-ト、_,)      |
      レ^ヾ ヽ>' ̄     LL/  、   /
      .l   ヾ:ヽ ` 、_      \\ '
     l    ヾ:ヽ   ト`ー-r-;;y‐T^
      |    ヾ `ニニ「〈〉フ /‖. j

944 :774ワット発電中さん:2010/04/20(火) 18:47:55 ID:TlG6psxo
>>941
> それではトランジスタ2SA1015がoffしないと思う。
するだろ。

> >2SA1015のコレクタ→7セグのとある端子→RA1
> なんだこの接続? RA1=Lにしたら、短絡する。
コレクタ→コモン→とある→RA1と書きたかったのでは。

945 :937:2010/04/20(火) 20:07:47 ID:fQu5uk/3
わかりにくくてスマン
ttp://mcnc.hp.infoseek.co.jp/cgi-bin/img-box/img20100420195933.jpg
これでRB2とRB3を高速で切り替えれば8.8.になるはずだが
真ん中の横棒しかうっすらとしか付かない。
トランジスタの方向とか間違ってないよね?

カソードをAポートとBポートに分けてるのは、片ポート100mAまでで電流を多く流せると思ったから。
だが自分以外にやってるの見たことないね。

946 :774ワット発電中さん:2010/04/20(火) 22:41:41 ID:rOHb4lM8
>>935
ありがとうございます。
とりあえず、プリスケール8で
コンペア値を増やして対応することにしました。
これだと、正常に5秒割り込みと自動でカウンターゼロセットができました。

947 :774ワット発電中さん:2010/04/20(火) 23:24:02 ID:6RQpyZNf
PNPって、完全にoffしないことがあるからなんかやだ
TTLの話だけど

948 :937:2010/04/21(水) 00:42:18 ID:mZUFSEgo
事故解決した。原因は多分プログラムだが履歴を残してないので詳しくは不明。
いろいろ書いてお騒がせしました。

949 :774ワット発電中さん:2010/04/21(水) 05:18:29 ID:5UbU9rjO
プログラムバージョン管理のSVNとか使いなよ。
導入(仕組み、運用方法理解)にちょっと時間かかるけど、
導入しちゃうともう後には戻れないほど便利だよ。

950 :774ワット発電中さん:2010/04/21(水) 15:14:58 ID:io7hHsO3
>>949
趣味で使ってるの?
仕事なら当然使ってるが

951 :774ワット発電中さん:2010/04/21(水) 15:42:33 ID:NOM4kw8/
PIC16F88による7segLEDを9桁表示する。
ttp://www.geocities.jp/fu1520/7SEG/index.html

フロートビット点灯方式?これってどうやってPICでやってるんだろ?

952 :774ワット発電中さん:2010/04/21(水) 15:57:45 ID:YjSfkmot
全部同時についてるんじゃなくて1桁ずつ高速にきりかえていってるんだろう?
LEDはダイオードだから順方向しか流れないわけで、Hiで吐き出し、Loで吸い込みさせたときの点灯具合を考えればいいんじゃね?

回路しか見てないけどさ


フロートビット点灯方式はじめて知ったわ

953 :774ワット発電中さん:2010/04/21(水) 16:28:38 ID:io7hHsO3
>>952
MAXIMのLED制御ICでは一般的な方式だよ

954 :774ワット発電中さん:2010/04/21(水) 16:36:53 ID:YjSfkmot
>>953
まじかー
あの石はこんなことやってたのか…。
書いてあるとおり繋いでるだけで動作までは気にしてなかった

955 :774ワット発電中さん:2010/04/21(水) 16:52:34 ID:NOM4kw8/
Hi、Low、無接続状態(ハイインピーダンス)に制御すればいいわけか。
なぜ入力にすると無接続状態になるの?

956 :774ワット発電中さん:2010/04/21(水) 18:22:11 ID:iX9e8HhI
>>955
ならないとおかしいだろw

957 :774ワット発電中さん:2010/04/21(水) 20:05:34 ID:NLT2DpAL
入力がローインピーダンスだったら、ドライブする側が大変じゃないか。
ひとつのゲートを叩くのに、3人がかりぐらいで出力しないと間に合わない
ようじゃ話にならん。

958 :774ワット発電中さん:2010/04/21(水) 20:51:34 ID:ND1Ymx1A
これI/Oの話なんでしょ
スピーカーでもドライブすんのか?

959 :774ワット発電中さん:2010/04/21(水) 21:04:26 ID:jByDpMGk
if

960 :774ワット発電中さん:2010/04/22(木) 01:36:09 ID:LAV3hpXW
(ore=dote){

961 :774ワット発電中さん:2010/04/22(木) 02:36:04 ID:gpdbTfgV
  while(1);
}

962 :774ワット発電中さん:2010/04/22(木) 02:41:21 ID:czB7r4yT
for(;;){
}

963 :774ワット発電中さん:2010/04/22(木) 02:41:42 ID:9KWTqDXN
>>960-961
全俺がないた

964 :774ワット発電中さん:2010/04/22(木) 08:44:04 ID:XjbPdn/s
>>960 の文法に突っ込むやつはいないのかww 代入…代入か…
ここは裏を読むべきか、いや、直球なのかもしれない

965 :774ワット発電中さん:2010/04/22(木) 09:18:23 ID:UTdEIzSR
>>951
アプリケーションノートのTB029に解説がある。
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011636

966 :774ワット発電中さん:2010/04/22(木) 09:27:03 ID:iK/J+ALh
>>964
文法的には間違ってはいないし。。。

全員が童貞になるけどwww


967 :774ワット発電中さん:2010/04/22(木) 14:43:01 ID:JYUwplsb

フロートビットについて調べていたら、 Charlieplexing という単語が出てきたぞ!?(。Д゚)



968 :774ワット発電中さん:2010/04/22(木) 17:48:48 ID:JYUwplsb

http://yasaiwarez.nazo.cc/up/source3/Yasai_7718.jpg

フロートビット駆動方式については、これが一番分かりやすかった。
英語だけど問題ないレベルだし。


969 :774ワット発電中さん:2010/04/22(木) 17:52:07 ID:yoQan+uW
>>968
あぁ〜なるほど〜

970 :774ワット発電中さん:2010/04/22(木) 22:04:46 ID:MXKVIcVe
そのうちPICにもRFが乗るのかな

971 :774ワット発電中さん:2010/04/22(木) 22:47:04 ID:KEOOH/Yl
lvdsで

972 :774ワット発電中さん:2010/04/23(金) 07:57:21 ID:kXBI5V8M
>>970
送信だけならピンに電線つければokさ


973 :774ワット発電中さん:2010/04/24(土) 13:43:15 ID:bUqbEunJ
PIC18イーサネット内臓のもので
WEBサービスに接続してデータのやり取りをすることは可能ですか?

974 :774ワット発電中さん:2010/04/24(土) 14:09:11 ID:M+jSKs3I
>>973
Arduinoのほうが簡単だよ

975 :774ワット発電中さん:2010/04/24(土) 14:14:07 ID:q56+lMDc
んだね ethernet shiled だっけ


976 :774ワット発電中さん:2010/04/24(土) 23:35:24 ID:BtFxeiwx
PIC16F887にRCDライタで書き込む方法をご存じないでしょうか?

RCDライタの回路図のVppとかと下のページの図の同じそれを線で繋げばできるの?
ttp://feng3.cool.ne.jp/icsp/

977 :774ワット発電中さん:2010/04/25(日) 00:46:52 ID:mTWJXmS1
>>974
頭悪いなwww

>>973はPIC18の事を聞いてるのに理解できないの?
なんでもArduinoな信者なの?
馬鹿なの?死ぬの?


978 :774ワット発電中さん:2010/04/25(日) 01:07:24 ID:W/zFJ3bX
できるなら 聞かずともやってるだろ



979 :774ワット発電中さん:2010/04/25(日) 01:41:21 ID:xv2Z+F4V
ツーかなんでPickit (ry

980 :774ワット発電中さん:2010/04/25(日) 02:23:49 ID:5ntOmn2q
>>974
情報をありがとうございました。
参考になりました。

>>977
アプリにあるようなパソコンからPICサーバへのアクセス制御ではなく
この逆をやりたいと思っていたのですがLAN通信の知識が乏しいもので。

981 :774ワット発電中さん:2010/04/26(月) 13:11:01 ID:oj6ar0Mf

>>974
アルデーノに お詳しいみたいなので、教えてください。

アルデーノには、
・一般のマイコンには無い「ブートローダー」という何か特別なものがあって、
・このブートローダーが飛んでしまうと、修理するのに素人には手が出せなくて、
 みんな困ってるらしいです。
・そのブートローダーが飛んでしまう原因もわからないし、
・その再現性もなく、いつ発生するかドキドキしながら使う
という話を、掲示板で見ました。
これらは、本当なのでしょうか?


982 :774ワット発電中さん:2010/04/26(月) 13:34:41 ID:u4jkvu0y
>>981
スレち 誘導
Arduino初心者熱烈大歓迎質問スレ part2
http://science6.2ch.net/test/read.cgi/denki/1260334395/l50


983 :774ワット発電中さん:2010/04/26(月) 13:38:46 ID:jL4FOkb6
>>981
アルデーノに慣れればブートローダの書き込みなんて朝飯前だよ

984 :774ワット発電中さん:2010/04/26(月) 13:45:55 ID:/hlnpHwO
>>981

・ ブートローダーを利用するのは他にもあるし最近のトレンドじゃないかと思う

・ 普通にプログラマでブートローダーを書き込めば良い PICでプログラムを書くことができるなら普通に可能
  しかもアルデュイーノ自身を使っても書き込めるため困ってるやつはもういない
  (学研の付録の場合、USB変換がオリジナルと違うので、一手間要るから学研の付録を買う人にそれができるのか?という議論はある)
  同じようにFTDIを使っていないアルデュイーノクローンしかもって居ない人は困るかも

・ 原因はほとんどが大きいhexファイルで上書きしてしまった場合
  よって最近の大容量なチップだとほとんど起こらないと思われる
  まれに、「原因がわからず飛ぶことがある、しかもきちんとしないプログラムだと飛ぶ」と主張する人が居るが
  個人的経験から言ってそんなことはないので、信じていない
  (自分でむりやりブレッドボードにAtmega88あたりで作ったとかじゃねーのとか思う)



985 :774ワット発電中さん:2010/04/26(月) 14:10:39 ID:oj6ar0Mf
>>982>>984
さっそく、ありがとうございました。
>>981
ありがとうございました。なんとなくわかりました。
まだ言葉の意味もよくわからないので、とりあえずPICにしておきます。
来月出る学研のアルデーノを見てから、考えようと思います。
どうもありがとうございました。



986 :774ワット発電中さん:2010/04/26(月) 14:23:24 ID:jL4FOkb6
えーもったいないなぁ
ArduinoからWEBサービスなんてこのマニュアルレベルなのに
http://www.musashinodenpa.com/arduino/ref/index.php?f=1&pos=1277

987 :774ワット発電中さん:2010/04/26(月) 23:28:43 ID:zd8xaGog
そんなことより次スレまだー?

988 :774ワット発電中さん:2010/04/27(火) 12:01:13 ID:naLENWZp
これ あれだろな
PIC信者が最近態度がでかいアルデュイーノかぶれに質問のふりして文句付けてみたら
逆に全否定されて捨てぜりふって感じ

特別な、とか手が出せないとか原因が分からないとか
ドキドキしながらとか 質問にしてはネガティブな事言い過ぎだし
そんなに詳しく知ってるなら解決方法は知らないっておかしいし
否定されてるのにPICにしておきますってなってるしね

でも気持ちは分かる
やっとしちめんどくせえPIC覚えたぜってところに 
簡単にできちゃうよーんがやって来たらむかつくわな
イタリア生まれでおしゃれ女子にも使えるよーんってのも硬派なPIC野郎はムカつくだろうな
(そんな服にLEDつけるやつなんかいねーって)

989 :774ワット発電中さん:2010/04/27(火) 14:05:43 ID:Lsq5vAuK
ごめんちょっと何言ってるかわからない!

990 :774ワット発電中さん:2010/04/27(火) 14:19:41 ID:u8x1f7nv
>>987
テンプレあったら立てられるひとがさっくり立てるんじゃなかろか

991 :774ワット発電中さん:2010/04/27(火) 16:04:36 ID:lmcXC9yu
>>988
まあ、おしゃれを気取ってる女子が「パソコン出来ますよ」とか言ってても
ワード、エクセルどまりでプログラムが書ける訳じゃ無いのと同じだな。
もしくは「俺はパソコン作れるぜ」とか豪語してる癖に、実は基板の設計はおろか、プラモデルより簡単な軽作業員とかw

992 :774ワット発電中さん:2010/04/27(火) 17:03:01 ID:tKJr0JmB
自分でチップセットの入手,マザーボードの回路設計から基板設計,
BIOS入手・・とかやって出来上がった基板をデバッグしていって,
MS-DOSが起動したときは感動だったっけな(遠い目)


993 :774ワット発電中さん:2010/04/27(火) 18:28:31 ID:ry/Spk+T
PIC専用のスレPart28
ttp://science6.2ch.net/test/read.cgi/denki/1272360198/

994 :774ワット発電中さん:2010/04/27(火) 19:22:20 ID:mwGkGunp
>>991
いや、エクセル達人女子はスゲエってw

995 :774ワット発電中さん:2010/04/27(火) 22:53:44 ID:3uZD52GF
>>992
もしかして殿?

996 :774ワット発電中さん:2010/04/27(火) 23:15:02 ID:mwGkGunp
>>995
殿はDOS起動は良い思い出ではないだろう。

997 :774ワット発電中さん:2010/04/27(火) 23:53:08 ID:lmcXC9yu
殿って?
CPMとMSXDOSなら手配線の基板で作った事あるな。VDPも引き出しの奥に眠ってる。

998 :774ワット発電中さん:2010/04/28(水) 00:00:04 ID:vDhGW0PP
手配線なんかより、BDOSとか書きなおすほうが大変そう。

999 :774ワット発電中さん:2010/04/28(水) 00:27:59 ID:eahBicST
>>998
簡単にフック出来たよ。テクハンに十分な資料があったし、本屋で普通に売ってたマイクロソフトのBIOSROMソースも入手して弄くり倒した。

1000 :774ワット発電中さん:2010/04/28(水) 00:35:19 ID:ZUPBmCla
1000

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

291 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)