PIC専用のスレ Part29

このエントリーをはてなブックマークに追加
1774ワット発電中さん
 /Microchip ./|
 /( ゚∀゚)    /  | アセンブラのアの字もわからない
 |~ ̄ ̄ ̄ ̄ ̄|  /. 超初心者からHEXが読めてしまう
 |/Z./Z./Z./Z_|/ ||  鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
  ||. ||. ||. ||

大人気のPICマイコンのスレ。
なんといっても情報が豊富だし、開発環境も多いし、パッケージも豊富。
使いやすくて、しかも安い。やっぱりPICだよね。

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

前スレ
PIC専用のスレPart28
ttp://science6.2ch.net/test/read.cgi/denki/1272360198/
2774ワット発電中さん:2010/07/16(金) 16:32:52 ID:oj0MnIJu
●過去スレ●
ttp://science6.2ch.net/test/read.cgi/denki/1272360198/ PIC専用のスレPart28
ttp://science6.2ch.net/test/read.cgi/denki/1265591953/ PIC専用のスレPart27
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統合スレ (元祖)
3774ワット発電中さん:2010/07/16(金) 16:33:43 ID:oj0MnIJu
●開発ソフト等関連リンク●
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/
4774ワット発電中さん:2010/07/16(金) 16:36:39 ID:oj0MnIJu
●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
5774ワット発電中さん:2010/07/16(金) 16:37:46 ID:oj0MnIJu
秋月のPIC16シリーズDIP品限定ピン数別評価(先頭のvは値下げ,-は維持)'2010年4月24日更新版
v40ピンは-◎16F887 \200
v28ピンは◎16F886 \190
ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31K-8MHzとフルサポート
新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを

20ピンはF690のバリエーションモデル多.価格差が小さいからF690か,OPアンプのF785.スキルあるなら18F14K50も検討しては?
-◎16F690 \210 ADC有,eCCP有,eUSART有,SSP有,4Kw,内蔵31K-8MHzとバッチリ
-○16F689 \180 F690からeCCP機能削られた
-×16F687 \180 さらにF689を2Kwと半分に
-△16F677 \170 さらにF687からeUSARTも削られた
-○16F685 \190 F690からSSP&eUSART機能が削られた
-◎16F785 \180 ADC有,CCP有,2Kw,内蔵31K-8MHz,OPアンプ搭載ってのはいいね

18ピンは種類は多いけど選択の幅は狭い。F88かいっそ20pinにするとか
v×16F84A \250 機能無,1Kw,いまさら不要 10個以上なら1個¥220
-△16F648A \180 CCP有,USART有,4Kw,内蔵4MHz,同じ値下組のF819と比較するとキツイ
-△16F628A \160 F648Aの2Kw版,売りが値段だけだと厳しいかな
-×16F627A \160 F648Aの1Kw版,売りの低コストで628Aと並ばれると・・・
v◎16F88 \200 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31K-8MHzとGood
-○16F87 \200 F88にADC無い,下のF819と比較するとADCで負けフラッシュ4Kwで勝ちダケド
-○16F819 \180 ADC有,CCP有,SSP有,2Kw,内蔵31K-8MHz,値下げで価値が急上昇!
-×16F818 \200 F819の1Kw版,上位のF819の値下げで不要に
-◎16F716 \110 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い,ADC8bit注意

14ピンはF688だね
-◎16F688 \160 ADC有,eUSART有,4Kw,内蔵31K-8MHz
-△16F676 \140 ADC有,1Kw,内蔵4MHz

8ピンはF683だと思っていたがF615も\100にしてはなかなか良い
-◎12F683 \150 ADC有,CCP有,2Kw,内蔵31K-8MHz,8ピンとしては多機能
-○12F675 \120/130 ADC有,1Kw,内蔵4MHz ,環境によってはE/P版
-○12F629 \80 675のADC無(機能無しってこと),この値段ならチョット使うに便利
-△12F635 \120/130 機能無し,1Kw,内蔵31K-8MHz,環境によってはE/P版
-◎12F615 \100 ADC有,eCCP有,1kw,内蔵4Mor8MHz,EEPROM無し
-×12F609 \100 F615からADC,eCCP機能省かれてる

(参考)機能無,EEPROM無,12bitコア プログラム組む上で制限多し
-△16F57 \100 28ピン,2Kw,内蔵CLK無,安くて多くのI/O欲しいなら
-△16F54 \60 18ピン,0.5Kw,内蔵CLK無,安いI/O欲しいなら
-△10F200 \70 DIP8ピン,1/4Kw,内蔵4MHz,米粒PICのデバッグ用

マークの意味
◎お勧め、用途決まっていないならこれ買っとけ
○内蔵モジュール減ってるけど、その分値段も安くなってるから、まあまあ
△内蔵モジュール大幅に減ってる、\10でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない。
6774ワット発電中さん:2010/07/16(金) 16:49:35 ID:X19CEOT2
>>1
超乙
7774ワット発電中さん:2010/07/17(土) 17:25:53 ID:iNwIlQnJ
PICでUSBメモリを読み書きする簡単な方法は何
8774ワット発電中さん:2010/07/17(土) 18:49:35 ID:yXSP97YM
>>7
PICとパソコンをRS-232Cで接続して、パソコンに刺さったUSBメモリを
PICから読み書きする。
9774ワット発電中さん:2010/07/17(土) 18:58:34 ID:ZIgJ6bPh
ほほう、なるほど
10774ワット発電中さん:2010/07/18(日) 09:33:29 ID:io0V26zv
18F2550あたりを使うんだろうな
自分がホストになるサンプルはあんまり転がってないが
11774ワット発電中さん:2010/07/18(日) 14:45:51 ID:MW05Np+h
>>10
ホUSBスト
マスストレージクラス
ファイルシステム
面倒だな
12774ワット発電中さん:2010/07/18(日) 16:06:41 ID:io0V26zv
でもPCとシリアル通信できても、利用範囲が狭いしな
データロガー的な用途ならUSBメモリの方がスマート
13774ワット発電中さん:2010/07/18(日) 16:47:19 ID:9L+Qz9ty
multi media cardの事例がいくらでも転がっているのに、なぜわざわざusb hostなど構築するのかと
小一時間質してやりたい。
14774ワット発電中さん:2010/07/19(月) 00:02:16 ID:nKK4KyZd
LEDを点灯させる回路で1を出力すると点灯する接続と
0を出力すると点灯する接続がありますがどんなメリットデメリットがありますか?
15774ワット発電中さん:2010/07/19(月) 00:40:34 ID:jVsRwZoU
>>14
全部のポートがトーテムポールなら1で点灯でもいいけど
実際はオープンドレインが多いと思うから
0で点灯に統一しておいたほうがいいと思う。
16774ワット発電中さん:2010/07/19(月) 01:03:20 ID:CSya1M2V
>実際はオープンドレインが多いと思うから
RA4だけじゃないの?
しかも最近のデバイスだと普通のトーテムポールだし。
1715:2010/07/19(月) 01:24:09 ID:jVsRwZoU
>>14
そーりー
>>16の言う通りでした。
まったく別のデバイスとごっちゃになってたorz

論理さえ統一してあればどちらでもいいと思います。
18774ワット発電中さん:2010/07/19(月) 02:18:57 ID:m1X0cq3I
>>14
PICに限らず、ICのデジタル出力は、例えトーテムポール出力(押し引きできるやつ)でも
High出力(吐き出し)に比べて、Low出力(吸い込み)の方が、大きい電流を流せた、という
特徴により、はるか以前からLowで点灯する回路が多く使われている。

しかし、近年のC-MOS出力では、吐き出しの電流でも 十分に大きな電流が流せるようになり、
High出力で点灯する回路も問題なく使えます。

そうなると、それらをどちらにするかは、思想的な話になります。
僕の場合はプログラムソースで、on=High=1を出力5Vとして扱ったほうが
思考が自然なので、H=LEDがonにして回路設計をしています。
マイコン入力も同様にSW on=Highで回路設計をします。
しかし、5V電源のC-MOS入力でも、TTLを意識してか、Low=0.8V以下、High=2.4V以上というのが多いので
ちょっとだけ注意しています。
19774ワット発電中さん:2010/07/19(月) 08:05:22 ID:qa3FueNK
バッテリーや電気二重層Cのバックアップ電源と外部電源とに分けて
外部電源でLED点灯させるなら'L'駆動の方が都合良し。
20774ワット発電中さん:2010/07/19(月) 08:13:55 ID:+2J2T5vK
入力は内部プルアップがあるのでonでGNDが楽
21774ワット発電中さん:2010/07/19(月) 08:18:14 ID:Purn1Kdj
吸い込みで使うとGNDピンに大きな電流を流すことになり、
同居しているADCに影響が出る。アナログGNDピンを持ってない奴では
H駆動で使ったほうが都合が良い。

スイッチは、人の手が近寄る部分の電位が浮かないよう、
端子の一方をGNDに繋ぐような、オンでLになるようにするのが基本だと思うが。

ま、なんにしても時と場合によるよ。
22774ワット発電中さん:2010/07/19(月) 09:40:22 ID:m1X0cq3I
>>21
>スイッチは、人の手が近寄る部分の電位が浮かないよう、
>端子の一方をGNDに繋ぐような、オンでLになるようにするのが基本だと思うが。
これはどういうことでしょうか? ぜひ教えてください。
23774ワット発電中さん:2010/07/19(月) 10:34:27 ID:iDQt/U6+
>>21
VREFが内部VCC参照だと、やはりADCに影響出ると思いますがどうなんでしょうか?
いずれにしても何を優先するかによって判断基準はことなりますね。
24774ワット発電中さん:2010/07/19(月) 11:06:49 ID:S0CeoQ0j
けちらないでトランジスタ外付けしろよ
25774ワット発電中さん:2010/07/19(月) 12:35:21 ID:W0togYbw
>>24
賛成
マイコンのファンインアウトになんか期待しない。
26774ワット発電中さん:2010/07/19(月) 12:38:37 ID:rBAmYo89
趣味ならそれでいいけど、
量産は、部品を1つでも減らしたいものです。
部品を1つ増やすということは、部品の価格だけでなく、
それに纏わるコストがガンガン上がるようです。
27774ワット発電中さん:2010/07/19(月) 12:45:42 ID:sanNWIGI
>>26
量産前提なら全部の組み合わせで信頼性・安定性を評価して決定しな。
28774ワット発電中さん:2010/07/19(月) 20:49:03 ID:S0CeoQ0j
量産設計してるようなやつがPICすれやAVRスレで質問するとは思えないな。
29774ワット発電中さん:2010/07/19(月) 20:57:35 ID:up/sLukB
>>28
激同
30774ワット発電中さん:2010/07/19(月) 23:17:16 ID:Q/aA7X3z
>18
>しかし、5V電源のC-MOS入力でも、TTLを意識してか、Low=0.8V以下、High=2.4V以上というのが多いので
>ちょっとだけ注意しています。
これ気になったので調べてみたら、HとLでだいぶ違いますね
http://ww1.microchip.com/downloads/en/DeviceDoc/30487c.pdf
P201〜 FIGURE 19-18 VOH vs IOH , FIGURE 19-20 VOL vs IOL
20mA流した場合 TYP値で、VOHは3.2V,VOLは0.44V(VDDとの電位差約4.5V)
Vfが3.5V程度の白色&青LEDはHigh出力(吐き出し)で20mA流すのは無理と…
電流とりたいなら、やっぱりLow出力(吸い込み)の方がよさそう
31774ワット発電中さん:2010/07/20(火) 00:42:13 ID:gTdWF511
最近衛星について調べてるんだけど、PICがcubesatとかの小型衛星に採用されやすい理由ってなんだろう?
32774ワット発電中さん:2010/07/20(火) 02:07:43 ID:KEsW1TqU
>>30
>HとLでだいぶ違いますね
出力の話をするのに、入力電圧について書かれた>>18の引用をする理由がわかんないけど、
出力の押し引きの能力が、ピタッと同じというのはなかなか無くって、
ほとんどのものが、引きの方が得意になってる。
でもPICは20mA吐いても3.2Vもあるから優秀だよ。ほとんど対称インピーダンスと言ってもいいと思う。
H8なんて、0.1mA吐くだけで、0.5Vとか1Vとか、平気で落ちる。
また「大電流ポート」と銘打ってあるので見てみると、10mA引けるのが大電流だとか。
PICは優秀だと思う。LED程度なら直接吐いても全然平気。トランジスタも要らない。
くだんのH8でも、出力電圧が落ちるだけで、LED程度の電流なら吐けるので、
直接光らせてる。
「LEDの点灯=0」というのは、どうも直感的でないから嫌い。
33774ワット発電中さん:2010/07/20(火) 03:11:52 ID:4lAiCQwq
>>32
論理なんて入出力ルーチンで隠蔽すればどっちでも変わらないよ。
34774ワット発電中さん:2010/07/20(火) 03:30:18 ID:KEsW1TqU
>>33
a_port = xxxxで指示したいんだけどね。
例えば、LEDを吸い込みで点灯するように配線して、
a_port = 0xff; とやると、LEDは全部offになるような気がするけど。

temp_a_port =0xff;
a_port = ~temp_a_port; とかじゃないよね?
35774ワット発電中さん:2010/07/20(火) 06:31:20 ID:4lAiCQwq
>>34
例えばLEDをON/OFFする関数を作れば関数を呼ぶ方ではポートの論理を意識
しなくて済むということ。
36電脳死:2010/07/20(火) 08:30:49 ID:TWHIrzDt
>PICがcubesatとかの小型衛星に‥

・ルール(半導体の微細度)が粗くて宇宙線に強い?
・比較的単純(?)だから↑でのエラーや誤作動が少ない?
・68Kより8086が理解しやすかったみたいに開発しやすい?
 どうなんだ

でもなんか自分のサットができるなんて面白いじゃん、消・厨ん時から自作ワイヤレスマイク仕掛けてたみたいに
今度は上空から‥ キューブじゃ解像度あるのは無理だな、複数で焦点を上げて超解像度やって窓から覗き衛星とか。

大人になったら素晴らしく面白いインフラが整っていたとさ♪
37774ワット発電中さん:2010/07/20(火) 12:30:02 ID:TzvukqG9
>>36
>68Kより8086が理解しやすかったみたいに開発しやすい?
ご冗談を。
38774ワット発電中さん:2010/07/20(火) 18:48:57 ID:6NwPgTZK
>>37
同意。
インテルの8080から、Z80が出てきた時、技術屋は、欲しいものが全部手に入ったと思った。
それが幻想で、実はソフトウェアが如何に作り辛いか、地獄を見たので、まともなハード系の
技術屋、は8086のレジスタMapと命令の概略を眺めたとたん、即、屑籠に放り込んだ。

PICの16シリーズは、まあ限られたリソースで何が出来るかっていう、パズルみたいなもので、
Microchip社が商売なら、こっちも商売。これでどうやって必要な機能を作るかの知恵競べ。
良くあれでCコンパイラなんて物を作った人が居たものだと、感心する。

今のお勧めなら、初心者には、私ならPICの24Hシリーズを薦める。
もちろん、C言語限定で使う。
24Fは、dsPICの流れを汲む、何でも出来るハードを持った、万能CPU的な感じで、
そこから枝葉を刈り取って高速化したのが、24Hシリーズに見える。
39774ワット発電中さん:2010/07/20(火) 22:52:34 ID:ULrf6U+C
Cが動けばどんな変態CPUでもかまいません。
40774ワット発電中さん:2010/07/20(火) 23:09:15 ID:hUhqSAMe
てゆうか、自分は「刷り込み」されたヒナなんだ。
PICがお母さん状態。
昔は、80系がお母さん。

隣の母さんの方が美人でも移れないんだよねぇ。
41774ワット発電中さん:2010/07/20(火) 23:28:50 ID:FJsV2A6e
何かする度にパズルみたいなバンク切替をさせられる苦行はオッサンの俺にはもう辛すぎる。

つうかアレ?PWMのテストパターンを書き込もうと買ったPICが入って無い。
・・・ほう、マ○ツ電波は俺に明日も熱波の中ダイエットさせたいと?
メタボ対策までしてくれるとは気が利いてる。
42774ワット発電中さん:2010/07/20(火) 23:57:52 ID:WEDXfH0f
おっさんは今更Cを勉強したりできないしな
あんまり難しいICには手を出さない方がいいのでは
43774ワット発電中さん:2010/07/21(水) 00:46:37 ID:6F5r/mtc
色々試してみたのですが、
行き詰ってしまったので原因をご教示下さい。

MPLAB IDE v8.10 + PICC Liteの環境にてプログラムを書き、
16F84Aに書き込みを行ったのですが、狙った動きをしません。

回路は下記の図に加え、15、16番ピンに水晶発振子1MHZを接続しています。
http://blogs.yahoo.co.jp/ele_kousaku/GALLERY/show_image_v2.html?id=http%3A%2F%2Fimg2.blogs.yahoo.co.jp%2Fybi%2F1%2F97%2F73%2Fele_kousaku%2Ffolder%2F301078%2Fimg_301078_1825536_0%3F1223430844

プログラムは以下です。
#include "pic.h"
#include "delay.h"

int main(void) {
TRISA=0b11111101;
TRISB=0b11111111;
while(RB0==1);
PORTA=0b00001111;
PORTA=0b00000000;
DelayMs(16500);
PORTA=0b00001111;
PORTA=0b00000000;
DelayMs(10000);
PORTA=0b00001111;
PORTA=0b00000000;
}

動作させたい内容としては、以下となります。
RB0に接続されたスイッチをONする事により、
RA1から電圧ON(トランジスタで反転させOFF)
RA1から電圧OFF(トランジスタで反転させON)
16.5秒待つ
RA1から電圧ON(トランジスタで反転させOFF)
RA1から電圧OFF(トランジスタで反転させON)
10.0秒待つ
RA1から電圧ON(トランジスタで反転させOFF)
RA1から電圧OFF(トランジスタで反転させON)

現在困っている事としては、
スイッチを入れてもRA1の電圧に変化がありません。
プログラムを色々いじってみましたが、特に変化が現れず。
もしお分かりになる方がいらっしゃいましたら、原因をご教示下さい。
44774ワット発電中さん:2010/07/21(水) 01:24:30 ID:FgIqg3ry
>>43
スイッチはRBPU=0にして内部プルアップ有効にするか
外部抵抗でプルアップかプルダウンしないとだめじゃない?
45774ワット発電中さん:2010/07/21(水) 03:09:41 ID:5NKL5zRp
>>43
>RA1の電圧に変化がありません。
って、何で電圧を見たの? オシロスコープだよね? テスターじゃないよね。

>PORTA=0b00001111;
>PORTA=0b00000000;
って、一瞬で終わるよ。こんな感じ。

__|________(16.5s)______|____(10.0s)___|____・・・・繰り返し

あと>>44の指摘通り。
細かいこと言うと、トランジスタへの抵抗の150Ωという値は、
どこから来たの?

46774ワット発電中さん:2010/07/21(水) 06:32:12 ID:KP1P9g2h
>>42
オッサンでも PIC16C は使えるのだ。
47774ワット発電中さん:2010/07/21(水) 08:15:44 ID:L/Gh5tU7
「asmでも、basicでも、Cでも変わらんのです。
言語なんてみんな一緒。
エライ人にはわからないのです。」

このセリフ自体が親父だよな。
48774ワット発電中さん:2010/07/21(水) 12:15:24 ID:GFqj3DiQ
>おっさんは今更Cを勉強したりできないしな
おっさんが書いた本でCを勉強した世代かいな?
4943:2010/07/21(水) 20:48:31 ID:6F5r/mtc
>>43さん
RBPU=0 というのは、プログラム中に入れればよいのでしょうか?
プルアップ・プルダウンについては調べてみます。

>>45さん
申し訳ございません。テスターでございます。
針が振れるかどうかの判断基準でございました。

>って、一瞬で終わるよ。こんな感じ。
ニンテンドーDSで、電気的にAボタンが押される回路を作っております。
これ程短い時間ですと、やはりノイズ扱いになって押された判定をされないでしょうか。
念の為、
PORTA=0b00001111;
DelayMs(500);
PORTA=0b00000000;
でも試してみたのですが、やはりボタンは押されませんでした。

>トランジスタへの抵抗の150Ωという値は、どこから来たの?
あるサイトの回路を参考にして作成致しましたので、
そのサイトの回路丸写しで、150Ωの抵抗を入れております。
急いでおりましたので、特に何も計算をしておりません。

この様な事を申し上げるのはタブーである事を存じておりますが、
回路製作・PICプログラムに関しては初心者でございます。
申し訳ございませんが、お力添えの程、宜しくお願い致します。
50774ワット発電中さん:2010/07/21(水) 21:48:47 ID:YjcA73U9
針式テスターは、反応が遅いので注意。でも0.5秒なら多少は触れるに違いない。
それでもピクリともしないなら、マイコンが動いていない。
>>43の言うように、入力を修正するといいと思う。
その後、RA1と150Ωの接続を切り離して、470Ωくらいの抵抗→LED→GNDとつないで、
LEDがピカピカと期待通りに店頭することを確認したほうがいいです。
DSに接続するのは、そこまで確認できた後だと思う。
トランジスタでDSのボタンを押すのは難しいかも。
リレーを使ってDSの回路と無縁にしてAボタンを押せば、行けそうな予感。

とりあえず、自分の作ったところは、その機能を確認してから
次のステップに行かないと、全体として うまくできないと思うよ。
51774ワット発電中さん:2010/07/22(木) 19:57:09 ID:dBd9BFNN
シャント使う?
52774ワット発電中さん:2010/07/22(木) 21:55:20 ID:xm1ZOONK
MCP1253 秋葉原で売ってるところ知らない?
53774ワット発電中さん:2010/07/23(金) 00:30:36 ID:7U2gXrDl
Microchip Directで買えば?
54774ワット発電中さん:2010/07/23(金) 13:17:32 ID:M1wlFljF
>>47
親父は。酸素欠乏症でがたの来た脳みそでも、必死に開発を続けようとする。
息子は、「こんな古くさいもの」、と、馬鹿にするのだが、じゃあ、息子は何か、
技術的に付け加えられる物を作ったかというと、試作品を動かすオペレータで
しかない。

私は、あの親父を尊敬する。痴呆老人になっても、エンジニアの魂を忘れてない。

もう私は、移り変わっていくasmや、オブジェクト指向がちがちのBasicに付いてい
くことは出来ないが、Cで書ける限り、組み込みコンピュータのプログラムは続ける
だろう。
55774ワット発電中さん:2010/07/23(金) 16:02:58 ID:HACfhi2t
最近はGUIでコネコネするだけでプログラムが自動生成されたりする
ご時世だしな
56774ワット発電中さん:2010/07/23(金) 16:09:38 ID:CwxPFjR4
flowcodeのことかぁああああああ
57774ワット発電中さん:2010/07/23(金) 18:39:48 ID:hs+rSTEl
PIC程度のコントローラーで、Cが難しいとか言ってる人って…
58774ワット発電中さん:2010/07/23(金) 19:19:47 ID:SCacg/ud
16F84Aを使っているのですがスイッチ入力待ちのループ中に
LEDを0.1秒点灯、1秒消灯を繰り返したいのですがどんな感じで書けば良いでしょうか
消灯中や点灯中にスイッチ入力チェックが停止してしまっては困るのですが
84Aでこのようなことは出来ますか?
59774ワット発電中さん:2010/07/23(金) 19:31:40 ID:QONPOmuK
>>58
全てを細切れにしてメインを一定周期でぐるぐる回す。
「一定周期」はタイマで作りメインで判定する。
メインは只のカウンタ制御の塊。
60774ワット発電中さん:2010/07/23(金) 19:36:28 ID:g+6Dhzf/
>>58
0.1秒間隔で割り込みするタイマーを作ればいい
タイマーの中でカウントアップさせておいて
OFFの時10までカウントしたらカウントを0にしてON
ONの時1までカウントしたらカウントを0にしてOFF

俺も始めたばっかりなんで間違ってたらすまん
61774ワット発電中さん:2010/07/23(金) 21:14:50 ID:D6h/1SX4
> PIC程度のコントローラーで、Cが難しいとか言ってる人って…
少なくとも、16F以下では却って難しい罠
62774ワット発電中さん:2010/07/23(金) 21:22:48 ID:CwxPFjR4
ページとか16シリーズの特性知ってないと厳しいわな
63774ワット発電中さん:2010/07/23(金) 23:52:18 ID:4z9+sVvt
難しいというより16FでCを使ってみようという気にならない。
64774ワット発電中さん:2010/07/24(土) 00:04:44 ID:7Sr6jcWV
>>63

なして?
Compilercを使えば、バンク切り替えを気にしなくて済むじゃん。
それだけでも開発効率が上がるけど。
65774ワット発電中さん:2010/07/24(土) 00:38:17 ID:BE6IfGZ9
>>64
16のCって、ある意味曲芸みたいなレジスタバンクの使い方してる。
アーキテクチャーからして、そうならざるを得ない。
ここぞというときに、インラインアセンブラを使おうとすると、頭の中は
大混乱。
18、さらに24は、非常にすっきりしてる。周辺も、もう3.3Vしか使わない
と決めてしまえば、数百円以内の価格差で、天国の世界にいける。

3相モータを回すのなら、H8かSHに転べばいいし。
66774ワット発電中さん:2010/07/24(土) 03:10:13 ID:Wcg4NJ0i
>>59-60
タイマーを使って実現できました。
比率も>>60さんの書いてくれた通り自由に設定できるようになりました。
タイマー便利ですね
レスありがとう
67774ワット発電中さん:2010/07/24(土) 03:57:26 ID:5Ty3GaB+
>>66
マイコンソフトは、
・割り込みが使える。(タイマー、UARTなど)
・1カ所に留まらないようなmainを書く。
この2点ができれば、ほぼ思い通りの物が作れます。
68774ワット発電中さん:2010/07/24(土) 08:25:31 ID:R7brcGow
それがマルチタスクの原型なんだけどね。
69774ワット発電中さん:2010/07/24(土) 09:27:47 ID:YnK2g433
<チラ裏>
マルチタスクって言葉は定義が曖昧すぎるので、俺は嫌いだ
</チラ裏>
70774ワット発電中さん:2010/07/24(土) 09:57:10 ID:Y2BthcOc
レジスタバンク0は直接アクセス
レジスタバンク1〜3は間接アドレス専用にすれば
すっきりと書ける。bankisek FSR INDF
71774ワット発電中さん:2010/07/24(土) 12:30:39 ID:yx68nwBT
>>68
擬似マルチタスクの原型だろ。
72774ワット発電中さん:2010/07/24(土) 12:38:07 ID:2jCThJKN
>>71
擬似マルチタスクって
マルチタスクを簡略化したものだろ?

だったらマルチタスクの原型ってのが正しいよね
73774ワット発電中さん:2010/07/24(土) 12:40:44 ID:R7brcGow
結局シングルタスクだからって言いたいんだろう。
てか、マルチタスク論争は私ももうイイ。いいだしっぺ、ごめん
74774ワット発電中さん:2010/07/24(土) 16:14:59 ID:yx68nwBT
>>72
違うよ。もうどうでもいいけど。
75774ワット発電中さん:2010/07/24(土) 20:27:34 ID:6EoxKvOq
プロセッサが一つなのに切り替えでやってるのが疑似
複数のプロセッサで並列してるのがガチマルチタスク|プロセス|スレッド
76774ワット発電中さん:2010/07/24(土) 21:25:47 ID:RwOzkemg
じゃあPCもついこないだまで擬似マルチタスクだったってことか
77774ワット発電中さん:2010/07/24(土) 22:31:57 ID:6EoxKvOq
プロセッサの単位はコアではない
78774ワット発電中さん:2010/07/24(土) 22:39:01 ID:X+gPkzj6
>プロセッサが一つなのに切り替えでやってるのが疑似

何これ、わらった。
79774ワット発電中さん:2010/07/24(土) 23:46:22 ID:EntcHt2g
マルチタスクってOSレベルの話じゃ・・・
80774ワット発電中さん:2010/07/25(日) 10:25:36 ID:NIQ26cxa
またまたご冗談を
81774ワット発電中さん:2010/07/25(日) 11:53:12 ID:QPI0zre1
暑いよ〜
82774ワット発電中さん:2010/07/25(日) 11:54:33 ID:HunlH8c2
SOPのPICもチリンチリンだぜベイベ
83774ワット発電中さん:2010/07/25(日) 12:01:21 ID:QPI0zre1
意味わかんね〜よ〜
84774ワット発電中さん:2010/07/25(日) 12:10:34 ID:HunlH8c2
頭で考えるからわかんね〜んだ
85774ワット発電中さん:2010/07/25(日) 14:30:23 ID:STkd4KWE
そうだ、PICで風鈴作ろう
86774ワット発電中さん:2010/07/25(日) 16:57:50 ID:j3WnFQni
それだ!
風入力は何がいいだろう・・・
87774ワット発電中さん:2010/07/25(日) 17:29:09 ID:N4OEz5ve
普通に軸とリングが接触したら検知とか。
(|) <リング
 | <軸
 札
88774ワット発電中さん:2010/07/25(日) 17:39:12 ID:X0lHCFoA
せっかくのマイコン制御なんだから人が近づいたときだけ鳴る方がエコでしょ。
風の揺らぎで発電できればさらにベストか?
89のうし:2010/07/25(日) 17:47:29 ID:MA9o/3i6
風鈴の重りをPICにしてそいつが適当なカップに当たるやうなやつにする。

ゴーモンされまくったPICはリードが曲がって無惨な姿になっている。
この風鈴キットは〇ネサスが販売しているとか。
90774ワット発電中さん:2010/07/25(日) 18:32:12 ID:N4OEz5ve
tuitterが入るたびに鳴るとか。
ぶら下がったLCDにそれが表示される
91774ワット発電中さん:2010/07/25(日) 20:14:24 ID:HunlH8c2
>>87
なんか知らんがそのAAに感動した
92774ワット発電中さん:2010/07/25(日) 20:38:03 ID:XkxQc9Yw
> 風鈴の重りをPICにして
おまえというやつは・・・ネタにできそうじゃないかw
93774ワット発電中さん:2010/07/25(日) 23:05:17 ID:STkd4KWE
余韻部分はほぼ正弦波なんだけど、
アタック部分の金属的な音が計算では難しいんだよな
フラッシュ外付けして何パターンか用意するか
94774ワット発電中さん:2010/07/25(日) 23:20:59 ID:T3pSR0V3
>>93
非整数倍音ですよ
誤爆だな
95774ワット発電中さん:2010/07/25(日) 23:43:28 ID:STkd4KWE
sinテーブルがあればFM音源で作れるんだが、
20MHzでも追いつくかどうか
96774ワット発電中さん:2010/07/26(月) 11:29:43 ID:UCZY4Y4s
オーバークロックしよう
97774ワット発電中さん:2010/07/26(月) 15:58:31 ID:DWWzwWWE
dspicで作った事があるけど余裕だった>FM音源
98774ワット発電中さん:2010/07/26(月) 21:27:55 ID:zFZe/LFW
新潟鹿です。
明日、聖地巡礼に伺います。
車が新潟ナンバーですが乗っているのは正真正銘の鹿です。
石なげないで下さい。

99774ワット発電中さん:2010/07/26(月) 21:41:00 ID:zFZe/LFW
すみません
すっげ誤爆でした
100774ワット発電中さん:2010/07/27(火) 10:35:45 ID:eimf4XmV
  ∩   ∩
  |つ  ⊂|
  丶っ_cノ
 ⊂ノ・ \
  | __▼
  |・(゚Д゚) <つまり新潟から車でPICを買いにアキバに来ると?
  |(ノ  |)
  |・・  |
  <丶・_ノ
   ∪ ∪
101774ワット発電中さん:2010/07/27(火) 11:14:14 ID:jSK+y6Sq
石のかわりにPICを投げてあげよう
102774ワット発電中さん:2010/07/27(火) 20:31:56 ID:tA2D2MTt
PIC16F877A RC2/CCP1ポート(シュミットトリガ入力)に入力したいのですが。
オペアンプからの電圧が足りない(非接続時3.8V ポート接続時1.2V)ようでトリガが掛りません。
プルアップも試しましたが上手くいきません。
Hレベルを上げれば良いと思うのですが、お知恵を貸して頂けると幸いです。
現在の環境です、参照願います。
http://mcnc.hp.infoseek.co.jp/cgi-bin/img-box/img20100727203001.png
103774ワット発電中さん:2010/07/27(火) 20:49:28 ID:I0e5USc0
例えば温度計を作るとして
ADコンバータで10bitの精度で読みとるから、
5Vを約1000分割で分解能は5mv、10mv/degなら0.5度程度の精度しか出ない

ところが、分解能の半分だけ高い電圧をサンプリングすると、
その上下の値が50%ずつの確率で現われてきて、平均すると分解能以上で読める
どのくらいアップするかというと、軽く数bitは増える
対象が安定してれば、ノイズの限界まで読める
104774ワット発電中さん:2010/07/27(火) 20:56:45 ID:5ad22w1w
105774ワット発電中さん:2010/07/27(火) 20:58:13 ID:1dtkjQLa
>>102

> (非接続時3.8V ポート接続時1.2V)
んー、これが気になる。RC2/CCP1端子の入出力設定あってる?

LM358の供給電圧が単電源5V/0Vなら、高い方で3.8Vしか出てないのは納得できる。
ホール素子の特性がよく分からんけど、デジタル出力でいいんなら、
フルスイングできるLM319とかのコンパレータの方がいいのでは?
106774ワット発電中さん:2010/07/27(火) 21:29:53 ID:mJ+S6hey
>>102
オペアンプをコンパレーターとして使ってるのに、出力がフワフワしてる時点でおかしいよ。
107774ワット発電中さん:2010/07/27(火) 21:43:44 ID:UceFHMi9
出力に設定してあって、Lになってて
358の過電流保護でクランプされてるとかじゃない?
108774ワット発電中さん:2010/07/27(火) 22:56:51 ID:tA2D2MTt
>>102 です。皆さん、ありがとうございます。
当方オペアンプを使うのは初めての者で、適当な奴を選びました。
近場の部品屋で扱ってる「LM393」や「LM339N 」に変えてみます。
ポート設定ですが、ポートに電源電圧(5V)を流してやると
トリガが掛るので大丈夫だと思います。
109774ワット発電中さん:2010/07/27(火) 23:18:23 ID:mJ+S6hey
オペアンプに罪はないと思うけどなあ。
その回路でONにならない基板に問題あると思うけど。
基板の結線とソフト、確認したほうがいいよ。
110774ワット発電中さん:2010/07/27(火) 23:20:52 ID:mJ+S6hey
てゆうか、その回路(コンパレータ)でアナログ入力はおかしいよ。
111774ワット発電中さん:2010/07/27(火) 23:25:02 ID:LJ6C8Zd3
inputにしてないんじゃないの?
outputでL出力にしてても5V直に掛ければ出力段が負けてHになるよ
112774ワット発電中さん:2010/07/28(水) 02:41:33 ID:DmotRZut
>>108
LM358で、PICに対して0V〜5Vを出力する、というのはできません。
OPAMPは、電源電圧から1.5V程度は出力できないものなのです。
もしそれでも0V〜5VをPICに入れたいと考えるなら、次の2つ。
1. 「レールtoレール出力」と謳われているOP AMPを使う
2. LM358の電源電圧を5V→7V以上に上げる
1.の「レールtoレール出力OP AMP」でも、(電源電圧-1.5V)の出力範囲で、
ちょっと電流を吐くだけで、すぐ電圧が落ちてしまう。
いくら「レールtoレール出力」といえども、力強く美味しい出力は、
やっぱり電源電圧-1.5V以下の電圧のときだけです。

あと、回路図のLM358は、OP AMPとしての使い方でなくて、コンパレータとしての
使い方だけど、だいじょうぶだよね? トリガがかからない、みたいな事を言っているから
2値を期待しているから、コンパレータ使いで合ってると思うけど。
113774ワット発電中さん:2010/07/28(水) 09:28:53 ID:SeFV9LBd
ホール素子の使い方が間違ってるね。たぶん。
http://denshikosaku.web.fc2.com/other/hall.html
114774ワット発電中さん:2010/07/28(水) 13:01:09 ID:jgykUfkL
なんでCCP1の端子につないでいるんだろう。
・Input Captureがしたい。→ということは2値信号で入力したい。
・そのピンしか空いていなかった。
・特に意味はない。適当につないだだけ。
115774ワット発電中さん:2010/07/28(水) 16:40:40 ID:UVN52WB3
コンパレータは使わないな。10bitA/Dで何でも実装しちまう。
ヒステリシス処理もソフトで可変できるし。
116774ワット発電中さん:2010/07/28(水) 17:12:50 ID:K9s7di9w
>>115
AD空いてて、10bitで十分で、信号が十分遅くて、時間にも余裕があるならそれでいいけど。
117774ワット発電中さん:2010/07/28(水) 23:19:58 ID:2jlcDBFs
>>112
-1.5V云々はCMOSオペアンプには関係ないのでは
118774ワット発電中さん:2010/07/28(水) 23:37:35 ID:vIpQ3mwC
同意
>>108
>「LM393」や「LM339N 」に変えてみます。
と言ってるのに、LM358云々と・・・ずれた人w
119774ワット発電中さん:2010/07/29(木) 00:53:37 ID:c3ujvKO9
だけど-1.5VされててもVIH満たすから、問題があるとすれば別の場所だよ
原因の切り分けもせずに闇雲に部品変えても意味無いよ
120774ワット発電中さん:2010/07/29(木) 01:10:48 ID:e1tvCnRq
シュミットトリガ入力のVIH規定は 0.8VDD
121774ワット発電中さん:2010/07/29(木) 02:02:16 ID:c3ujvKO9
あ、TTLポートじゃなかったのね。
122774ワット発電中さん:2010/07/29(木) 14:48:40 ID:Sb0fq2Hn
16bitタイマーを使ってみようかと思って
MPLABシミュレーター上で動きをみてます。
チップは18F2420に設定しています。

どうもTMR?Lが0になったときも割り込みが発生してしまいます。
これってTMR?Hが0になったときだけ割り込みが発生するように設定できないんですか?

これって単にシミュレーターのバグなのかな?
前に12F683で16bitタイマー使ったときはこんなことなかったと思うんだけど。
123774ワット発電中さん:2010/07/29(木) 16:03:14 ID:mEsDB5gG
PIC24でRTC使いたいんだがSOSCENが有効になってくれない

asm mov OSCCONL, w1
asm mov.b #0x02, w0
asm mov #0x46, w2
asm mov #0x57, w3
asm mov.b w2, [w1]
asm mov.b w3, [w1]
asm mov.b w0, [w1]

この後OSCCONBits.SOSCEN見てもビット立ってないし
RTCも動いていない。
これじゃダメなのかい?

asm mov.b #0x02, w0
も0x32やら0x42やらを使っているサンプルがあるので
試してみたが変わりなし
124774ワット発電中さん:2010/07/29(木) 18:40:54 ID:4e63C7Vj
お世話になります。


986 :774ワット発電中さん:2010/07/28(水) 18:30:18 ID:5xw9GK+I
次スレ
http://science6.2ch.net/test/read.cgi/denki/1279265489/l50
125774ワット発電中さん:2010/07/31(土) 10:18:03 ID:HeX4zuKX
ADATAの2GBのmicroSDってSPIで読める?
126774ワット発電中さん:2010/07/31(土) 13:14:42 ID:Bq0UZddd
SDメモリは基本的にSPIで読み書きできる規格じゃなかったっけ?
127774ワット発電中さん:2010/07/31(土) 14:02:49 ID:xE9jGQaf
たまにSPIコマンド通らないSDもあるからこまる
128774ワット発電中さん:2010/07/31(土) 15:48:23 ID:YIsBg477
初期化の仕方が悪いんだと思う
基本的にSPIだけど作法がちょっと違う
他のSPI機器を繋いでるとうまくいかないよ
129774ワット発電中さん:2010/07/31(土) 16:18:20 ID:HeX4zuKX
んー
本気でSPIに対応してないのを作ってもいい決まりにはなってるんだけど、
雰囲気からすると実際にはそんなのはまだマイナーみたいなので、
読めるという仮定で進めてみる
130774ワット発電中さん:2010/07/31(土) 16:35:28 ID:zAfDD1Wt
ググってみたのですが、資料が少なく、解決できなかったのでここで質問させていただきます。
PICは18f4620、言語はC言語、コンパイラはMCC18を使っています。
18f系列のPICとMCC18の環境を使うのは初めてなので、テストとしてPORTAの0,1番ポートから5Vを出力してLEDをつけるということをしてみているのですが、出力されず苦戦しています。
下に現在のソースを書くので、何か特別な設定が必要であれば、教えてください。
また、入力をする際にもどうすればいいのかなどもわからないので、教えてもらえるとうれしいです。

ソース
#include<p18f4620.h>
#pragma config OSC=HSPLL, FCMEN=OFF, IESO=OFF
#pragma config PWRT=ON, BOREN=OFF, BORV=0
#pragma config WDT=OFF, WDTPS=1

void main(){
TRISA = 0;
PORTA=0xff;
}
131774ワット発電中さん:2010/07/31(土) 16:49:53 ID:Nj/MEFLn
ADCONあたり 
datasheet で確認
132774ワット発電中さん:2010/07/31(土) 17:20:46 ID:zAfDD1Wt
>>131
ADCON1 = 0x0f;
を入れるとデジタルアウトプットになる…ということでしょうか?
133774ワット発電中さん:2010/07/31(土) 17:41:36 ID:nHWhT/d9
 今日は世間一般が休日だが、自分で試す環境が手元に無いの?
134774ワット発電中さん:2010/07/31(土) 17:59:02 ID:zAfDD1Wt
>>133
ADCON1 = 0x0f;
を追記して試してみたのですが…うまくいきませんでした。
データシートもう一度読んでみます。
135774ワット発電中さん:2010/07/31(土) 18:22:20 ID:zAfDD1Wt
書き込みようのPICkit2をさしっぱなしにしていたため、どうやら出力されなかったみたいです。
お騒がせしてすみませんでした。
136774ワット発電中さん:2010/07/31(土) 18:34:55 ID:Nj/MEFLn
config あたりがあやしいな

OSCCON で 内部発振にしてやってみれば




137774ワット発電中さん:2010/07/31(土) 18:35:46 ID:Nj/MEFLn
ああ 動いたのか
138774ワット発電中さん:2010/08/01(日) 08:42:34 ID:5CBwQtma
charって普通はunsignedだけど、
if (pos > 3)
if (pos < 0)
みたいなことをしたい時には、そこだけsignedにする?
139774ワット発電中さん:2010/08/01(日) 08:58:52 ID:kmCNL8PN
>>138

> if (pos < 0)

な可能性があるのなら始めからsignedでコードを書く
140774ワット発電中さん:2010/08/01(日) 11:51:21 ID:xXQ7JB1x
signedで書くか、オフセット付ける。
一箇所だけならif(pos&0x80)で判定する。
141774ワット発電中さん:2010/08/01(日) 13:05:50 ID:5CBwQtma
unsignedを0からさらに減らした時の挙動は処理系依存になるからなあ
まあ、処理系もターゲットも固定だから動けばどうでもいいんだけど、気分の問題
142774ワット発電中さん:2010/08/02(月) 01:30:49 ID:b2A6Csjb
>始めからsignedでコードを書く
に、100ポイント
143774ワット発電中さん:2010/08/02(月) 18:40:31 ID:yNMh17mu
てst
144774ワット発電中さん:2010/08/02(月) 20:36:20 ID:bNs0mIDo
>>102 です。>>105 >>107 >>109 >>111 >>119
皆様のご指摘通り、ポート設定が入力になっていませんでした。
部品、回路の変更無く2値信号で入力できました、つまらないミスでお騒がせいたしました。
145774ワット発電中さん:2010/08/02(月) 21:46:11 ID:iJZSxKzc
SPI制御の方法がネットで調べてもよくわからなかったので、ここで質問させてもらいます。
現在SPI制御を使用し、PICの外にあるシフトレジスタICでシリアルデータをパラレルデータに変換仕様と試みています。
ネットで検索してみたのですが、この場合はどうすればいいのかわからなかったので、もし知っている方がいたら教えてください。


PICは18f4620、言語はC言語、コンパイラはMCC18を使っています。
146774ワット発電中さん:2010/08/02(月) 22:07:25 ID:t6on/4j+
>>145
OpenSPI()関数でMSSP初期設定して
WriteSPI()かputcSPI()関数でbyte単位data出力。
シフトレジスタのラッチ等は汎用outピンで制御
147774ワット発電中さん:2010/08/02(月) 22:09:43 ID:iJZSxKzc
>>146
ありがとうございます。
OpenSPI()の設定の際には、具体的にどのような値を入れればいいのでしょうか?
148774ワット発電中さん:2010/08/02(月) 22:45:06 ID:t6on/4j+
例えば・・・
OpenSPI(SPI_FOSC_16, MODE_10, SMPMID);
149774ワット発電中さん:2010/08/02(月) 22:58:59 ID:yNMh17mu
\doc 下のlib みてみよう
150774ワット発電中さん:2010/08/02(月) 23:11:25 ID:iJZSxKzc
>>148
>>149
ありがとうございます
早速試してみることにします。
151774ワット発電中さん:2010/08/03(火) 09:17:42 ID:2KdaCimH
18F2550ですが、EEPROMの内容が任意の内容からFFhに変化してしまいます。
タイミングはよくわかりません。
プログラム中では書き込みしていないのでバグは考えにくいですが
152774ワット発電中さん:2010/08/03(火) 15:48:13 ID:TAROTuGM
>>151
フラッシュに書き込みした時に初期化されたとかじゃなくて?
153151:2010/08/03(火) 20:11:49 ID:2KdaCimH
書き忘れましたが、全部ではなく任意の数バイトなんです。
0番地がよくFFhに変化していたのですが、昨日はそれに加えて5hと30hもFFhに変化していました。
20回も書いてないと思いますが。
154774ワット発電中さん:2010/08/03(火) 20:17:10 ID:XL4PKn+E
>>151 >>153
了解しました
155774ワット発電中さん:2010/08/03(火) 23:59:40 ID:KtaimX7C
>>145 です。

先日、教えていただいた通り、OpenSPIとWriteSPIを使用してみたのですがうまく動かず、苦戦しています。
以下にソースを載せるので、何かおかしなところがあれば教えていただけないでしょうか。

シフトレジスタのソースにはポートC5番、クロックにはポートC3番がつながっています。
シフトレジスタの先にはLEDが各ポートにひとつずつ、8個つながっています。

ソースはこんな感じです。
#include<p18f4620.h>
#include<spi.h>

#pragma config OSC=HS, FCMEN=OFF, IESO=OFF // CONFIG1H
#pragma config PWRT=ON, BOREN=ON, BORV=3 // CONFIG2L
#pragma config WDT=OFF, WDTPS=1,MCLRE = OFF // CONFIG2H
#pragma config PBADEN = OFF,LPT1OSC = OFF,LVP = OFF

void main(void){
ADCON1 = 0x0f; // All disital output
OpenSPI(SPI_FOSC_16, MODE_00, SMPMID);
WriteSPI(0xff);
while(0 != (WriteSPI(0xff)));
while(1);
}
156774ワット発電中さん:2010/08/04(水) 00:24:51 ID:dR6ygGuB
>>151 >>153
了解しました
157774ワット発電中さん:2010/08/04(水) 02:55:15 ID:HycmZpfg
>>155
シフトレジスタのICの型番は?
一口にシフトレジスタとは言っても、ICごとにお作法がかなり違う
158774ワット発電中さん:2010/08/04(水) 08:42:04 ID:rMbEBu7G
>>157

ICの型番はTC74HC595AFです。
159774ワット発電中さん:2010/08/04(水) 09:29:14 ID:pg3m12wn
74(HC)164じゃないの?
595ならLatch制御必要。
あと言うまでも無いがOEとCLRは適切に
160123:2010/08/04(水) 09:31:40 ID:yiiOYug+
どうもmikroC for PIC24のバグくさい
ほぼ同じコードでMPLABなら動いた、、、

mikroCとPIC24でRTCつかえている人居たら
ソース提供おねがいー
161774ワット発電中さん:2010/08/04(水) 09:35:13 ID:pg3m12wn
TC74HC595の場合、pin信号名は以下のように読み替えてな
Latch制御→RCK
OE→G
CLR→SCLR
162774ワット発電中さん:2010/08/04(水) 22:59:45 ID:4AA5FUFL
おお
つい先日595をいじったばかり

16pinで8bit出力だったら、片側に8個並べると思うのに
163774ワット発電中さん:2010/08/05(木) 00:29:31 ID:aorKQ6jx
>>159
>>161
>>162
ありがとうございます。
なんとかうまくいきました。

聞いてばかりですみません。
クロックの周波数によってPWM制御で音を鳴らしているブザーが鳴らなくなるということはあり得るのでしょうか?
クロック10MHzのとき、以下のプログラムを走らせたところ、きちんと音がなりました。

OpenPWM1(255); //PWM1をオープン
SetDCPWM1(1); //PWM1のDuty変更
delay_ms(250);// 自作msディレイ
SetDCPWM1(0);

しかし、内部クロックを40Mhzにあげたところ、殆ど音が鳴らなくなってしまいました。
この問題の解決法がありましたら教えていただきたいです。お願いします。

コンパイラはC18、PICは18f4620を使っています。
164774ワット発電中さん:2010/08/05(木) 05:38:11 ID:xazR81AJ
>>163
クロック4倍って、音を鳴らすための分周比は1/4にしたかい?
そうしないと音の周波数が4倍になるから例えば4kHzが 16kHzになる。
165774ワット発電中さん:2010/08/05(木) 09:36:31 ID:cO38aSS9
10MHzで動いていて40MHzで駄目なら20MHzにしてみようとか15MHzではどうだとか
考えてやってみるよなぁ,偏差値40程度の奴でもさ。
166774ワット発電中さん:2010/08/05(木) 13:44:55 ID:S59niuck
音は鳴ってるけど聞こえないだけとか?
人間の可聴域って20Hz〜20kHzぐらいだったはず。
167774ワット発電中さん:2010/08/05(木) 13:55:38 ID:REHfe1o6
やったことないけど30kと35kぐらいの作ってヘテロダインの実験もしてみよう
ちゃんと聞こえるのかな



168774ワット発電中さん:2010/08/05(木) 14:06:44 ID:Z0tv0ByQ
>>167
結果よろしく
169774ワット発電中さん:2010/08/05(木) 14:12:03 ID:REHfe1o6
・・
170774ワット発電中さん:2010/08/08(日) 17:25:32 ID:qFv3KUa9
返答送れてすみません。

40Mhzにした理由は、ブザー以外のとある処理が40Mhz用に作られていたからです。
ブザーとブザー以外の処理を比べると、ブザー以外の処理の方が修正が難しかったので、
ブザーの方を修正していました。
ですが、ブザーを鳴らすため試用するPWM制御のduty値をいくら変えてもうまくいかなかったので、ほかの処理を10Mhzでも動くようにすることで解決しました。
このことでいろいろと検討していただいた皆様、本当にありがとうございました。


現在手元に環境がないので試すことができないのですが、環境が戻り次第、>>167さんの実験も行い、ここに書き込ませていただきます。
171774ワット発電中さん:2010/08/08(日) 18:23:19 ID:cHbweZbi
duty変えても周波数は変わらないぞ?
172774ワット発電中さん:2010/08/08(日) 23:31:59 ID:QkGT9o3i
変えるのはdutyでいいんだよ
PWMで電圧を変化させてたはず

電気回路のほうがどうなってるのかわからないけど、PWMの端子に直接ブザー付けたの?
直接付けてたらブザーの入力の周波数が対応できずに音がでなかったのかも
ttp://homepage3.nifty.com/mitt/pic/pic683_6.html
こんな感じでコンデンサ付けるといいかもしらん
173774ワット発電中さん:2010/08/09(月) 18:39:46 ID:LAm6no8y
いったいどこの誰の質問なんだい?
コテ名乗れやカス質問主
174774ワット発電中さん:2010/08/09(月) 19:09:40 ID:Pe3BwU5V
てすと
175774ワット発電中さん:2010/08/09(月) 20:13:40 ID:XycSdtDP
>>172
それスピーカーじゃん
↓みたく圧電ブザーは周波数特性があるから音圧が小さいところの周波数で使ったらdutyいくらいじっても無理じゃない?
ttp://www001.upp.so-net.ne.jp/FITDESIGN/buzzer.html
176774ワット発電中さん:2010/08/09(月) 23:16:02 ID:QqT6ApwY
PICとSDを繋げる時って、SDのVDDに3.3V供給するとして、
データ線に5Vかけていいんだっけ?
177170:2010/08/09(月) 23:21:51 ID:cGyEz6cs
ブザー: VCC(5V)から10kオームの抵抗を並列接続しつつ、圧電ブザーに接続。
      もう片方の端子はトランジスタのコレクタに接続。

トランジスタ(npn): コレクタは圧電ブザーに接続。
         ベースは10kの抵抗を途中に入れつつ、PICのRC2に接続。
         エミッタはGNDに接続。

PIC(18f4620、MCC18):外部10Mhzクロック
               RC2を使い、PWM制御でブザーを鳴らす。

回路はこんな感じです。
明日頃に部品が戻ってくる予定なので、戻ってきたらいろいろ試してみます。
178774ワット発電中さん:2010/08/10(火) 01:04:43 ID:XjtuC98s
まだやってんの?
OpenTimer2()関数は?
179774ワット発電中さん:2010/08/10(火) 09:25:59 ID:dBZENuGl
オシロで波形くらい見れよって言いたい
180774ワット発電中さん:2010/08/17(火) 14:59:18 ID:gPxZ1j+L
みなさんPICやめたのかい?
181774ワット発電中さん:2010/08/17(火) 16:10:12 ID:OBCtszHK
.....あきちゃった、テヘッv
182774ワット発電中さん:2010/08/17(火) 18:10:48 ID:6M+aKaeR
先日から始めました
が、猛暑で気力減退
183774ワット発電中さん:2010/08/18(水) 10:07:18 ID:DBYVis5g
>>180
アレデイーノに流れたんでねーの
184774ワット発電中さん:2010/08/18(水) 10:55:36 ID:F9DfLB69
そりゃ16F84でLEDピコピコばかりじゃ飽きるだろ。
185774ワット発電中さん:2010/08/18(水) 13:35:37 ID:WJnTkbUU
連日、格闘中。
普段、16Bit系を使ってたんだけど、客先の依頼(教育関係)で、
16F877Aを、CCPで動かすお仕事。

RAMは足りねえ、お仕着せ関数は糞。もう嫌…
186774ワット発電中さん:2010/08/18(水) 16:12:35 ID:seAYl+Oo
LEDピコピコ程度しか出来ないんです
187774ワット発電中さん:2010/08/18(水) 17:40:36 ID:O5EA4qHi
液晶で値を表示してるセンサーがあって、
液晶の7セグを読みこんでデータロガーに改造したりできる?
188774ワット発電中さん:2010/08/18(水) 17:55:18 ID:nyfbRrC4
やってみれば
189774ワット発電中さん:2010/08/18(水) 18:23:08 ID:F9DfLB69
センサーからもらえ
190774ワット発電中さん:2010/08/18(水) 18:58:21 ID:n0hmB2kb
> お仕着せ関数は糞。
って言いながら使うこと自体が糞だと思うが。
191774ワット発電中さん:2010/08/18(水) 19:32:43 ID:coaztEJW
887使うと少し幸せになれるかも
192774ワット発電中さん:2010/08/19(木) 00:19:42 ID:H59kT6bu
お仕着せ関数なんて使わなければいい
193774ワット発電中さん:2010/08/21(土) 06:25:35 ID:QdAMTY4g
ガーってシフトしといて目的分戻すんだよ
いっつもやってる事じゃん
論理な俺かっこいいとか思った?
194774ワット発電中さん:2010/08/21(土) 06:38:09 ID:15sDuEIg
ちょっと何言ってるかわかんないっすねー
195774ワット発電中さん:2010/08/21(土) 20:44:54 ID:sAUCB7Xe
要は、おまえら今PICいじってんのか? と問いたいのだと思う。
196774ワット発電中さん:2010/08/21(土) 22:29:20 ID:FRWS3AEm
ハード組み立て中。
ここ数週間は何気にやる気が出てきて夜中まで半田付けしてるな。
ソフトはまだ全然かけてない、と言うか知らないことを何個もやろうとしていてどうソフト書けばいいか分からず大変だ。
197774ワット発電中さん:2010/08/21(土) 22:40:46 ID:QdAMTY4g
いや、点呼とか必要ないから…
198774ワット発電中さん:2010/08/22(日) 00:21:20 ID:PQecn34x
> ここ数週間は何気にやる気が出てきて
俺は逆だわ。
暑すぐる・・・丑三つ時の室温34度(無風)とか。
眠いのか眠くないのかすらワカランくなったわ。

ここ2日ほどは、なんとか健康で文化的な最低限の夜が送れてるが。
199774ワット発電中さん:2010/08/22(日) 11:07:51 ID:0A5Jp8vs
エアコンを使うと驚くほど快適になるぞ
200774ワット発電中さん:2010/08/24(火) 02:16:21 ID:gh/VJzbz
ビットを指定して出力を変化させる際の1サイクルの時間は出力が変化する前にかかりますか?
201774ワット発電中さん:2010/08/24(火) 02:22:37 ID:wDoJGPxj
日本語で
202774ワット発電中さん:2010/08/24(火) 02:46:29 ID:gh/VJzbz
あれ?
(1サイクル=0.4uSとして)

CLRF PORTA
となってる状態で

1 BSF PORTA,0
2 NOP
3 NOP
4 NOP
5 BCF PORTA,0

とした場合にHighが出力されているのは1〜5のうち、どこの期間?
203774ワット発電中さん:2010/08/24(火) 03:44:39 ID:wDoJGPxj
16Fだけど、実行サイクルの最後で変化だから2〜5じゃないの。
フェッチだと1つずれるけど。
他のファミリは知らない。
204774ワット発電中さん:2010/08/24(火) 08:03:54 ID:bvhew6yu
大麻使えよ。
205774ワット発電中さん:2010/08/24(火) 22:50:05 ID:zJO0vQeC
だめぜったい
206774ワット発電中さん:2010/08/24(火) 22:54:08 ID:zJO0vQeC
>>202
外部回路で変わるけど、適切なら1〜2にかけてじゃない?
「間に合わないことがあるからひとつNOP入れろ」というのは
オフィシャルにも明文化されていたはず。
207774ワット発電中さん:2010/08/24(火) 22:55:36 ID:zJO0vQeC
>>206はhigh出力され始め、の話ね。
208202:2010/08/25(水) 02:03:37 ID:nmvkZi8J
レスどうもありがとう
間に合わないことなんてあるんですね
気をつけないと・・
209774ワット発電中さん:2010/08/25(水) 02:29:20 ID:EI5FAA/9
>>208
つうか16FならI/Oに対してビット制御命令は使うべきじゃない。
負荷が重かったりノイズが入ったら誤動作する。
210774ワット発電中さん:2010/08/25(水) 06:27:04 ID:9SSPb2Q0
>>209
負荷やノイズと、ビット操作命令の関係が分からんのだが。
アナログな話と、デジタルな部分の話まぜるな。
211774ワット発電中さん:2010/08/25(水) 09:14:23 ID:6MrYyY+p
デジタルでも特殊な通信を行う場合ではポートに対するビット操作はアウト。
2線式半二重同期通信(IIC風)を行うデバイスで同一ポートが別のデバイスに接続されているケース。
別のデバイスを操作するとラッチデータが書き換えられてしまい、通信側がだめになることがある。
212774ワット発電中さん:2010/08/25(水) 09:25:08 ID:EI5FAA/9
>>210
16FのI/Oへのビット操作命令はピンの状態を読んだデータにビット操作した
ものをデータラッチに出力している。
0を出力しているピンに電流を流しすぎて、読み取ったときHレベルと見なされ
れば1に化けてしまうということ。
データラッチを読み取ってビット操作をするようになっていれば、こういう
問題はなかったんだが。

おれはデータラッチと同じデータをRAMに保存しておいて、RAMから読み出した
データに論理演算してデータラッチとRAMを更新するようにしている。
213774ワット発電中さん:2010/08/25(水) 12:34:39 ID:ugCzF9OI
      _______                     __
    // ̄~`i ゝ                    `l |
    / /        ,______   ,_____    ________  | |  ____ TM
   | |     ___ // ̄ヽヽ // ̄ヽヽ (( ̄))   | | // ̄_>>
   \ヽ、   |l | |    | | | |    | |  ``( (.  .| | | | ~~
      `、二===-'  ` ===' '  ` ===' '  // ̄ヽヽ |__ゝ ヽ二=''
                         ヽヽ___//   日本
  _____ _____  ______  _______
  |  ウェブ  | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ._________________
      |リードモディファイライト         │・検索オプション
      └────────────────┘・表示設定
         | Google検索 | I'm Feeling Lucky |  ・言語ツール
          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ○ウェブ全体から検索 ◎日本語のページを検索
214202:2010/08/25(水) 14:26:01 ID:nmvkZi8J
なんか難しい話になってる・・・
パルス波形を2つ出力したいのですが
1つのパルスがLowになって次が立ち上がるまでに
3.2u秒の休止期間をいれて
それを繰り返すという簡単な動作なのですが
危ないということですかね?
周波数は20kHzで負荷はフォトカプラです・・・
215774ワット発電中さん:2010/08/25(水) 14:36:06 ID:EI5FAA/9
>>214
操作しているビット(今回は0ビット)に関しては大丈夫だ。
PORTAの他のビットについて誤動作の可能性があるという話だから。
216774ワット発電中さん:2010/08/25(水) 14:36:41 ID:O01M8dxJ
PIC自体には不足はない。
ただ外部回路を配慮して作らないといけないよって事
仕事なら当たり前。
217774ワット発電中さん:2010/08/25(水) 19:03:39 ID:xDAdCQ3X
> 負荷はフォトカプラです・・・
モノじゃなくて使い方だ。PICの定格内で使えば問題ない。
218774ワット発電中さん:2010/08/25(水) 20:24:37 ID:TqcPxnEr
PIC16でぷちFatFsを使ってて、
PICCの9.7だと動いてたのに9.71とか9.8にしたら動かなくなった
FAT32を殺すとどっちでも動く
問題はどっち?
219774ワット発電中さん:2010/08/25(水) 21:26:43 ID:6MrYyY+p
>>218
両方。と言いたいところだけど、問題の根源を探すの面倒だよね。
継続して開発するのであればコンパイラのバージョンも維持するのが吉。
たいていはVerUp=改善の方向だけど、先祖返りしてるんかな。
220774ワット発電中さん:2010/08/25(水) 21:37:27 ID:TqcPxnEr
もともと、アセンブラレベルでの変なwarningが9.7でのコンパイル時に出てた
9.71だと出なくなって、コードサイズがかなり縮んでいた
何か暗黙の型変換とかそのへんで曖昧なコードになってて、
コンパイラが最適化しすぎると動かないのかもしれない
221774ワット発電中さん:2010/08/25(水) 21:46:05 ID:TqcPxnEr
あ、なんか思い出してきた
unsignd char c と unsigned int i があって、
c = 0xff でさらにインクリメントして i と足す、みたいな時に
0として扱うか0x100にするか、みたいなとこで互換性が怪しかった
222774ワット発電中さん:2010/08/25(水) 23:44:59 ID:6MrYyY+p
castすれば解決しそうだけど、悩ましいね。
俺が昔見た不具合は、変数でシフト回数を指定するケース。 a <<= b;
変数が0の時にシフトが不具合。VerUpしたら直ったけどね。
当時はコーディングで回避したと思った。がんばってくれ。
223202:2010/08/25(水) 23:54:31 ID:nmvkZi8J
やっぱりなんかむずかしいですが、そういう仕様だということで頭に入れておきます。
ありがとうございました
224774ワット発電中さん:2010/08/26(木) 06:30:36 ID:0Wep6w4c
PIC24のRTCCて、sleepしたとき動かないのね
TMR1で1分後とに割り込みとかして時計進めるわけ?
225774ワット発電中さん:2010/08/26(木) 22:59:10 ID:zcx+OXYn
外付けコンデンサを使う超低消費電力な方法があった
226774ワット発電中さん:2010/08/27(金) 12:42:15 ID:LF1xrq9O
> 202その他
AVRに変えてgccで組んだほうが圧倒的に早い
PICでコストダウンとかやるのは暇ができてから
227774ワット発電中さん:2010/08/27(金) 14:05:22 ID:e0bb2Uf0
>>226
いい歳こいて、アンカーくらいしっかりうてよ
私はお馬鹿ですと言ってるみたい
228774ワット発電中さん:2010/08/27(金) 20:20:04 ID:uCgRKQKr
PICとSDカードを繋いでて、
5VのPICに3.3VのSDの出力を直結すると動くんだけど、
本当は0.8Vddだから4V要るんだよな

なんで動いてるんだ?
229774ワット発電中さん:2010/08/27(金) 21:24:47 ID:9UNapd/c
@どこが0.8Vddなの??
A3.3VのSDに5V掛けて良いの??

へんな設計
230774ワット発電中さん:2010/08/27(金) 21:32:35 ID:BOwdTp5p
>>228
0.8Vddは動作保証値で、グラフを見るとTypicalは3V位だからギリギリ
で動いてるんだろ
231774ワット発電中さん:2010/08/27(金) 23:22:28 ID:uCgRKQKr
何のグラフ?

っていうか、シュミットトリガさんが0.8だって言ってるんだから、
それは余裕とかじゃなくて0.8を守らないと駄目だろ
一旦Lになった信号がふらついて0.67Vddまで上がってもまだHにしないのが
シュミットトリガのいいところ
232774ワット発電中さん:2010/08/28(土) 00:06:03 ID:G5oLRYCp
>>231
お前さんが動く理由を知りたがってたから教えてやっただけだろ。
規格を守るのは当たり前。
0.8Vddで保証するためには実際のスレッショルドはそれ以下になって
いなければならない。

これを見れば理由が分かる。
http://ww1.microchip.com/downloads/en/DeviceDoc/41262E.pdf
page 274
FIGURE 18-31: SCHMITT TRIGGER INPUT THRESHOLD VIN vs. VDD OVER TEMPERATURE
233774ワット発電中さん:2010/08/28(土) 00:19:56 ID:yqAhuXe8
これなら3Vでも余裕で動きそうだな

シュミットトリガの0.8Vddってのは、それを超えればHになるのは当然として、
それを超えるまではLを維持することも保障してないといけないのではという意味
234774ワット発電中さん:2010/08/28(土) 01:08:23 ID:G5oLRYCp
>>233
>それを超えるまではLを維持することも保障してないといけないのではという意味
そんな規格はありえないよ。それじゃ誤差が0しか許されなくなる。
235774ワット発電中さん:2010/08/28(土) 09:32:22 ID:yqAhuXe8
だからといって、際限なく低い電圧でONしていいということにもならない
つまり、VIHの上限と下限をスペックとして謳うべきなのに、上限しか書いてない
236774ワット発電中さん:2010/08/28(土) 09:37:41 ID:yqAhuXe8
と書いてはみたけど、どう見ても間違ってる
普通に0.8Vdd越えて設計しるという話だし

デジタル回路に中間の電圧をかけるのがそもそも間違いなんだけど、
シュミットトリガはそれを許容するという意味にも思える
237774ワット発電中さん:2010/08/28(土) 10:18:47 ID:9DLaDl5I
SDをシュミットトリガポートに繋いでるの?
TTLポートならVIHが2VくらいだからOKだけど。
238774ワット発電中さん:2010/08/28(土) 10:51:12 ID:YI8Nos7o
PICは機能でINPUTレベルが換るよ。汎用入力だとTTL, タイマー入力などはシュミット
>>232 の16ページ参照
239774ワット発電中さん:2010/08/28(土) 12:00:46 ID:yqAhuXe8
TTLとかSTとか選択できるという意味かと思って一瞬喜んだ
SDIピン固定なんで自動的にST
240774ワット発電中さん:2010/08/29(日) 15:56:16 ID:VgjWfWQC
別PCに最新のMPLABをインストールしたんですけど
Pickit2がプログラマの選択肢に出てこない・・ 

仕方ないので単体の書込ソフトを同時起動してやってるのですが、もうサポート外ってことなんですかね
どっかで同じトラブル書き込みを見た気がするんですがみつからず
241774ワット発電中さん:2010/08/29(日) 16:07:53 ID:q9sDCtWT
release noteになんかかいてないか?
242774ワット発電中さん:2010/08/29(日) 17:31:16 ID:+tDRMWnA
つい先日最新のを入れたけど、普通にpickit2使えてるぞ
243774ワット発電中さん:2010/08/29(日) 18:20:11 ID:BmvoQU1m
インストールオプションでpickit2選択しなかったんじゃね?
244240:2010/08/29(日) 21:28:39 ID:VgjWfWQC
すいません
インストールで適当にOKOK押してました カスタムにしたら出てきた・・・orz
245774ワット発電中さん:2010/08/29(日) 21:58:36 ID:QjR0WVvd
すいません、16F88のPWM機能使って60hlz〜200hlzくらいの発振しようとしてるんですが、
クロック20MHz、プリスケールT2_DIV_BY_16、period255に設定しても
最低周波数は120hlzもあります。

なんとかして上記範囲内の周波数をPWM発振出来ないでしょうか?
よろしくおねがいします。
246774ワット発電中さん:2010/08/29(日) 22:08:19 ID:gUewmCIT
>>245
タイマーでPWM出力を作るかクロックを落とすか
247774ワット発電中さん:2010/08/29(日) 22:12:55 ID:ljsuu1bZ
hlzという表記に違和感があるな
248774ワット発電中さん:2010/08/29(日) 22:17:45 ID:BmvoQU1m
>>245
PWMしたいんじゃなくてただ発振させたいだけなら他の方法使えばいいと思うが
249774ワット発電中さん:2010/08/29(日) 22:24:48 ID:+tDRMWnA
周波数の単位は普通はcだよな
250774ワット発電中さん:2010/08/29(日) 22:45:47 ID:7iq2ukqq

>>244
ikiro
251774ワット発電中さん:2010/08/30(月) 00:24:10 ID:ZCmk7Sn7
あ、クロック落とすと周波数下げれるんですね
1Mhzにすると思い通りの結果出ました。

というかさっきまで20Mhzじゃなくて2Mhzでした、失礼
252774ワット発電中さん:2010/08/30(月) 00:35:42 ID:jCsjZPka
data sheet ぐらいみとけ
253774ワット発電中さん:2010/08/30(月) 17:45:45 ID:bajyOrMV
すいません
PICで作ったMIDI受信用回路を動かす電圧供給を手軽にしたいと思い調べていると、
この記事を読んでMIDI入力自身から5V給電出来ることを知りためしにやってみました。
http://picmidi.seesaa.net/article/111607871.html

コネクタ単体で測定するとたしかに「2番ピンをマイナス、4番ピンをプラスに繋」ぐことで
5V出ているのですが、回路の方につなぐと電圧がなくなってしまいます。
回路自体も上記サイトとほとんど同じなのにどうしてでしょう。
何か必要な変更点などあればアドバイスいただきたく。

ちなみにMIDIからではなくPickit2からの給電などではちゃんと動きます。
下記、回路図です。(MIDIからの給電部分は上記サイトと同じです)
http://nukkorosu.80code.com/img/nukkorosu16224.jpg
254774ワット発電中さん:2010/08/30(月) 18:07:43 ID:hsBJmKSp
主語ぬけてるから わからんよ
255774ワット発電中さん:2010/08/30(月) 18:38:38 ID:bajyOrMV
ちょっとわかりにくかったですね、
全体の構成は
パソコン → 市販USB-MIDIインターフェイス(UM-1X) → MIDIコネクタ → MIDI受信回路
です。書き直してみます。
-----------------------------------------------------
PICとフォトカプラでMIDI受信回路を作ったのですが、
5Vの電圧をMIDI入力から取れることを下記サイトで知りやってみました。
http://picmidi.seesaa.net/article/111607871.html

MIDI受信回路を外してコネクタの4番と2番ピンを測定すると
5V出ているのですが、MIDI受信回路の方につなぐと電圧が0Vになってしまいます。
MIDI受信回路は上記サイトとほとんど同じなのにどうしてでしょう。
何か必要な変更点などあればアドバイスいただきたく。

ちなみにMIDI入力からではなくPickit2などから5V給電するとちゃんと動きます。
下記、MIDI受信回路です。(MIDI入力からの5V給電部分は上記サイトと同じです)
http://nukkorosu.80code.com/img/nukkorosu16224.jpg
256774ワット発電中さん:2010/08/30(月) 18:45:16 ID:hsBJmKSp
4番ピンの電流はどのくらい流れてるんだろう?

どこか短絡とかしてれば 電流大で電圧はでてこない
257774ワット発電中さん:2010/08/30(月) 19:00:15 ID:mb5klsC3
chwwwww
omwwww
258774ワット発電中さん:2010/08/30(月) 19:10:16 ID:SvlG5XMv
MIDI出力の4番ピンは一般に出力機器の5Vから220Ω挿入されているらしい。
1mAあたり0.22V低下する計算になるので電流取り出すのは無理。

それに各機器を絶縁する前提でフォトカプラ(TLP552等)利用するのだから
MIDIコネクタから5V電源を得ようとする発想は間違ってるな。

PICとフォトカプラ(TLP552)の電源は共通で良いのだから
MIDI入力とは絶縁された5V電源を用意汁。
259774ワット発電中さん:2010/08/30(月) 19:12:31 ID:SvlG5XMv
>電流取り出すのは無理。

訂正:安定した5V電源として利用するのは困難。
260774ワット発電中さん:2010/08/30(月) 19:42:13 ID:bajyOrMV
>>258
安定した電流取るの難しいですかー
MIDI受信回路の後も絶縁して他の5V回路に波形送るので、
あちこちで5V電源作ることになっちゃうんですよね。

せめて簡単に5V-絶縁-5Vみたいに絶縁されたDC5V取り出す方法があれば…
261774ワット発電中さん:2010/08/30(月) 19:59:01 ID:SvlG5XMv
>>260
絶縁型DC-DCで医院じゃね?
ttp://www.activecell.jp/mart/products.htm#SUS1R50505
262774ワット発電中さん:2010/08/30(月) 22:33:58 ID:ZCmk7Sn7
>>261
これいいですね!
ありがとうございます
263774ワット発電中さん:2010/09/02(木) 19:22:11 ID:8HbXEsP4
2550のシュミットトリガ端子でどれのことですか?
264774ワット発電中さん:2010/09/02(木) 21:54:20 ID:aHnxVCBi
>>263
馬鹿は書き込むな
265774ワット発電中さん:2010/09/02(木) 21:58:49 ID:J329isOG
12F510で遊ぼう
266774ワット発電中さん:2010/09/03(金) 06:21:18 ID:EcUkP5uv
何して遊ぶ?
267774ワット発電中さん:2010/09/03(金) 07:29:17 ID:VRhMHqgx
十五夜御月様見て
268774ワット発電中さん:2010/09/03(金) 08:00:27 ID:Qdf5PDHN
デバッグ
269774ワット発電中さん:2010/09/03(金) 15:19:30 ID:5dSp5PLN
車載する装置にPICを使用する為に、電源を物色してみたけど、
結局PICを内蔵RCで動作される程度の消費電力ならツェナー+トランジスタで十分だった…

むしろ半端に高性能な電源だと電源自体の消費電力がPICの消費電力を超えるねw
270774ワット発電中さん:2010/09/03(金) 18:57:43 ID:Tz+ZQsrS
>>269
確かに言えてるけど、
ツェナーは、PICの消費電流変動分を、カバーする必要があるので、
ツェナーにガンガン電流が流れて、かなり発熱して、何かもったいないよね。

LDOの、Iq極少の3端子レギュレータの方が良くない?
300mA流れてもVio=0.07Vとかのやつもあるし。
271774ワット発電中さん:2010/09/03(金) 19:25:15 ID:1vF124MH
LDOの利点を誤解してそうなレス
272774ワット発電中さん:2010/09/03(金) 19:36:35 ID:Tz+ZQsrS
えっ? なんでですか? すみません、教えてください。
273774ワット発電中さん:2010/09/03(金) 19:52:45 ID:Tm49/5+u
PICって12Vで動く?
274774ワット発電中さん:2010/09/03(金) 20:21:44 ID:VTUBkkmi
LDOにがんがん発熱して貰えば
275774ワット発電中さん:2010/09/03(金) 20:41:10 ID:Rnysy3hB
DSPICを使ってデジタル電源で遊びたいと思ってます。デバイスはここ最近
でたもの・・・評価キットでお勧めはありますか?
276774ワット発電中さん:2010/09/03(金) 20:49:47 ID:QBGq0/QT
>>270
ツェナー+トランジスタって言ってるから、ツェナーに食わすんじゃなくて、
ツェナーの電圧基準を元にエミッタフォロワか何かでバッファしてんじゃないの?

そもそも車載ならLDOである必要は無いな。
277774ワット発電中さん:2010/09/03(金) 20:56:17 ID:5dSp5PLN
>>270
ttp://www.nahitech.com/nahitafu/mame/mame2/teid8.html

最終的にこれの応用系で、
R1=10k
TR1=2SC1815
D1=5.1v
ベースエミッタ間電圧の分嵩上げする為にD1と直列にダイオード追加した。

PIC未接続状態で0.9mAの消費。
PICを接続してもSLEEP状態ならば、1mAは超えない。
稼働状態でも5mAだから発熱も無し。
278774ワット発電中さん:2010/09/03(金) 21:03:19 ID:VTUBkkmi
12Vを5Vに落とすというのは、7V分を熱にして飛ばすということ
PICが25mW食う間に抵抗が35mW食う

35mWだと1/6Wの抵抗でも暖かくなる
279774ワット発電中さん:2010/09/03(金) 21:35:43 ID:2qaadpU6
>>269
百均のシガーソケット用USB電源がちょうどいいのでは。
でも、数mAの出力では効率が40%を割って
> むしろ半端に高性能な電源だと電源自体の消費電力がPICの消費電力を超えるねw
ってことになるのか。
280774ワット発電中さん:2010/09/03(金) 22:32:01 ID:Evehx5lg
すまん
すんごい初歩的な質問なのかも知れんが、MPLAB IDEでプラグラムをシミュレートできない

PICは16F716で

#include<htc.h>

__CONFIG(
& UNPROTECT
& WDTEN
& HS
& BORDIS
);


void main()
{
}

というテスト用のプラグラムを作った
コンパイラはHi-Techのやつを使ってるんだけど、DebuggerからRunを押すと

Make: The target "C:\Users\ユーザー名\Documents\PIC\test.p1" is out of date.

Executing: "C:\Program Files\HI-TECH Software\PICC\9.80\bin\picc.exe" --pass1
"C:\Users\ユーザー名\Documents\PIC\test.c" -q --chip=16F716 -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"

Executing: "C:\Program Files\HI-TECH Software\PICC\9.80\bin\picc.exe" "-o7SEG LED.cof" "-m7SEG LED.map"
--summary=default --output=default test.p1 --chip=16F716 -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"

(1273) Omniscient Code Generation not available in Lite mode (warning)

HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.80
Copyright (C) 2010 Microchip Technology Inc.

Error [876] C:\Users\ユーザー名\Documents\PIC\test.c; 3. syntax error



********** Build failed! **********


と出る
test.c自体を単体でコンパイルすることはできるんだけど、何が悪いんだろうか?
ユーザー名に日本語使ってないし、Cドライブ直下で試してみても同じ表示が出る

バージョンは最新でOSは7を使っている


誰か助けて・・・
281774ワット発電中さん:2010/09/03(金) 22:37:35 ID:QBGq0/QT
>>280
> test.c;3. syntax error
文法エラーだにょって言ってくれてるのに、ユーザー名とかCドライブ直下とか…
おそらくUNPROTECTの前の&が原因。演算子の使い方考えればわかるはず。
282774ワット発電中さん:2010/09/03(金) 22:45:21 ID:VTUBkkmi
単体でもコンパイルできないと思うぞ
283774ワット発電中さん:2010/09/03(金) 22:46:55 ID:Evehx5lg
>>281
うひょおおおありがとおおおおおう
でもなんでtest.c単体ではコンパイルできたんだろう?
284774ワット発電中さん:2010/09/03(金) 22:48:44 ID:Evehx5lg
>>282
何故かできるんだわ
285774ワット発電中さん:2010/09/05(日) 21:36:31 ID:6r8gVeFE
しょうもない質問ですいません。
PCWHDとかのコンパイラは、windows7で
使うことはできるのでしょうか?

対応OSとか何も書いてないようですが。
286774ワット発電中さん:2010/09/05(日) 22:46:01 ID:M9w0fdLz
287774ワット発電中さん:2010/09/05(日) 23:11:35 ID:6r8gVeFE
>>286
ありがとうございます。
お手数おかけしました。
288774ワット発電中さん:2010/09/06(月) 01:20:07 ID:ocjduD/O
すいません、CCSC (16F887) でセンサ状態を常に監視するプログラム作ってるんですが

定期的にEEPにログデータを書き込む際に時間がかかって、パルスを読み飛ばしてしまうので
write_eepromの書き込み確認待ちを無くして、単に書くだけの関数にする方法はないでしょうか

この関数の元が見られれば改造出来そうな気もするのですが、コンパイラに内蔵なんでしょうか 見つからずじまい

宜しくお願いします。。
289774ワット発電中さん:2010/09/06(月) 11:28:19 ID:UtnwR2qO
>>288
元なんか探さなくても自分で関数書けばok

例:
#byte EEPDAT = 0x10C
#byte EEPADR = 0x10D
#byte EEPDATH = 0x10E
#byte EEPADRH = 0x10F
#byte EECON1 = 0x18C
#byte EECON2 = 0x18D
#bit EEP_WREN= EECON1.2
#bit EEP_WR = EECON1.1

void write_only_eeprom(int8 addr, int8 val)
{
EEPADR = addr;
EEPDAT = val;
EECON1 = 0b00000100; //EEPGD=0, WREN=1
disable_interrupts(GLOBAL);
EECON2 = 0x55;
EECON2 = 0xAA;
EEP_WR = 1; // bsf EECON1.WR
enable_interrupts(INT_EEPROM);
enable_interrupts(GLOBAL);
}

#INT_EEPROM
void complete_eeprom()
{
EEP_WREN = 0; // bcf EECON1.WREN
}
290774ワット発電中さん:2010/09/06(月) 21:12:36 ID:v2Dd3Tjy
例のPS3のが2550に移植されたらしい
部品揃ってるし作っちゃおうか
PS3ないけど
291288
>>289
動きました〜
まだ全部理解できてませんが、すごく勉強になります 289様に感謝・・