【ICD3も】PIC専用のスレPart21【出たよ】

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

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

前スレ
【16F193x】PIC専用のスレPart22【次世代PIC】
http://science6.2ch.net/test/read.cgi/denki/1234597519/

その他 >>2-10
2774ワット発電中さん:2009/04/30(木) 23:56:44 ID:M8WREIZY
●過去スレ●
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/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統合スレ (元祖)
ttp://science6.2ch.net/test/read.cgi/denki/1219616622/ 【DAC内蔵も】PIC専用のスレPart20【出たよ】
3774ワット発電中さん:2009/04/30(木) 23:58:11 ID:M8WREIZY
うひゃ、タイトルのpart番号間違えてるわ・・・削除依頼してくるorz
4996:2009/05/01(金) 17:40:05 ID:wnkiEpmH
うっ、おねがいします、、
5774ワット発電中さん:2009/05/01(金) 18:20:07 ID:O5hiB6po
picの割り込みで優先順位がない割り込みの場合、
一つの割り込み処理中に、再度割り込みが発生した場合、
どうなるのですか?
6774ワット発電中さん:2009/05/01(金) 18:41:42 ID:uPmF9xm5
めんどくさいからそのままでいいじゃん。

7774ワット発電中さん:2009/05/01(金) 19:29:49 ID:FTOcNxMQ
スレ削除依頼出されてるけど・・・どうなるのかな?
8774ワット発電中さん:2009/05/01(金) 19:31:34 ID:FTOcNxMQ
>>5
割込み中は割込禁止だから
あえて割込許可しなけりゃ
再度割込みは発生しないよ。
9996:2009/05/01(金) 20:52:48 ID:wnkiEpmH
PICが電源投入時動かない件、なんとか回避できました。
秋月でかったLM2940CT-5.0の3端子レギュレータのキットですが、
入力電圧が5Vのとき、出力が3.2V、9Vのとき6.5Vの電圧がきていました。
※レギュレータのINとOutで計測
標準ドロップアウト電圧0.5Vってあるんですけど、結構落ちてますね。。
そこで、無謀?にも5Vのアダプタから直接電源を取ってみたところ
動作を確認できました。
根本原因はわからずですが・・・
また、入力が12V〜16Vのような車のバッテリーを想定した場合、どんな
レギュレータがお勧めでしょうか。
10774ワット発電中さん:2009/05/01(金) 20:59:17 ID:CYnEzWTb
●過去スレ●
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/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統合スレ (元祖)
ttp://science6.2ch.net/test/read.cgi/denki/1219616622/ 【DAC内蔵も】PIC専用のスレPart20【出たよ】
11774ワット発電中さん:2009/05/01(金) 21:00:09 ID:CYnEzWTb
●工作関連リンク●
汎用うpろだ(汎用うp1M)
  ttp://aikofan.dee.cc/aikoup1/aikoup.htm
汎用うpろだ(汎用うp10M)
  ttp://aikofan.dee.cc/aikoup10/aikoup.htm
電子工作の実験室
  ttp://www.picfun.com/
IC-Prog
  ttp://www.ic-prog.com/
PIC工作室
  ttp://www.ne.jp/asahi/ham/js1rsv/PIC/picmake.htm
全て無料の最強開発環境 MPLAB with HI-TECH
  ttp://www.ne.jp/asahi/air/variable/
PICな日曜日
  ttp://www.kimurass.co.jp/picindex.htm
オレンジ電子工作 PIC Writerを作る (Writer509)
  ttp://www.geocities.jp/orange_denshi/writer509.html
PICでインドアプレーンを飛ばす人
  ttp://blog.goo.ne.jp/toko0131
JDM Programmer
  ttp://www.jdm.homepage.dk/newver.htm
12774ワット発電中さん:2009/05/01(金) 21:00:57 ID:CYnEzWTb
●開発ソフト等関連リンク●
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/
13774ワット発電中さん:2009/05/01(金) 21:01:43 ID:CYnEzWTb
●関連スレ ●
【初心者】PICでBEEP音を作りたい!!2【親切に】
  ttp://science6.2ch.net/test/read.cgi/denki/1195915863/
PICにOSは必要か?
  ttp://science6.2ch.net/test/read.cgi/denki/1117626216/
自作回路でUSB EndPoint3
  ttp://science6.2ch.net/test/read.cgi/denki/1223890399/
LEDチカチカ総合スレ 2
  ttp://science6.2ch.net/test/read.cgi/denki/1181661951/
【新時代!】PSoC スレ 其の七
  ttp://science6.2ch.net/test/read.cgi/denki/1228729051/
AVRマイコン総合スレ Part14
  ttp://science6.2ch.net/test/read.cgi/denki/1239940189/
TI MSP430シリーズ 1クロック
  ttp://science6.2ch.net/test/read.cgi/denki/1116942761/
【元Motorola】Freescale マイコン AN001【名門】
  ttp://science6.2ch.net/test/read.cgi/denki/1148115822/
【78K/V850】NEC All Flashマイコンで一喜一憂 #2
  ttp://science6.2ch.net/test/read.cgi/denki/1219378570/
H8_SH__ルネサスマイコン総合スレ3__M32_R8C_Tiny
  ttp://science6.2ch.net/test/read.cgi/denki/1228014309/
やっぱARMっしょ2
  ttp://science6.2ch.net/test/read.cgi/denki/1240838439/
マイコン総合スレ
  ttp://science6.2ch.net/test/read.cgi/denki/1108630837/
〜〜DSP総合 2 スグ落ちるぅ〜〜
  ttp://science6.2ch.net/test/read.cgi/denki/1101474233/
14774ワット発電中さん:2009/05/01(金) 21:02:28 ID:CYnEzWTb
参考資料(個人的見解があるので参考までに)

秋月のPIC16シリーズDIP品限定ピン数別評価
40ピンは◎16F887 \250
28ピンは◎16F886 \230で決まり
ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31K-8MHとフルサポート

20ピンはF690のバリエーションモデルが多いけど価格差が小さいからF690でOKかな
◎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かいっそ20ピンにするとか
×16F84A \300 機能無,1Kw,いまさら不要
△16F648A \200 CCP有,USART有,4Kw,内蔵4MHz,3.3Vでも動くよ
×16F628A \200 F648Aの2Kw版,16F648に移行
△16F627A \160 F648Aの1Kw版,低コストで勝負
◎16F88 \230 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31K-8MHzとGood
○16F87 \200 F88にADC無いだけ
×16F819 \250 ADC有,CCP有,SSP有,2Kw,内蔵31K-8MHz,F88に及ばない
○16F818 \200 F819の1Kw版,F87と比べるとROMとUSARTで負け,ADCで勝ち
◎16F716 \110 ADC有,eCCP有,2Kw,内蔵CLK無,EEPROM無だけど値段安い

14ピンはF688だね
◎16F688 \160 ADC有,eUSART有,4Kw,内蔵31K-8MHz,機能的にもマアマア
△16F676 \140 ADC有,1Kw,内蔵4MHz,F675の14ピン版か・・・

8ピンはF683だと思っていたがF615も\100にしてはなかなか良い
◎12F683 \150 ADC有,CCP有,2Kw,内蔵31K-8MHz,8ピンとしては多機能
○12F675 \120/130 ADC有,1Kw,内蔵4MHz ,環境によってはE/P版
△12F629 \100 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のデバッグ用
15774ワット発電中さん:2009/05/01(金) 21:03:15 ID:CYnEzWTb
VistaでMPLAB IDEが起動しない

コンピュータの管理者であるにもかかわらず、インストールまたは実行しようとしているプログラムから、管理者権限が必要というメッセージが表示されます。
インストールしようとしている場合、プログラムのインストール アイコンを右クリックし、[管理者として実行] をクリックします。 管理者のパスワードまたは確認を求められた場合は、パスワードを入力するか、確認情報を提供します。

プログラムがインストールされるが動作しない場合、プログラムのアイコンを右クリックし、[プロパティ] をクリックします。[互換性] タブをクリックし、[管理者としてこのプログラムを実行する] チェック ボックスをオンにして、プログラムの実行を試します。

http://science6.2ch.net/test/read.cgi/denki/1228312753/990
16774ワット発電中さん:2009/05/01(金) 21:03:39 ID:JiIt1l0M
7805
17774ワット発電中さん:2009/05/01(金) 21:04:00 ID:CYnEzWTb
>>14 (元々は>>6
×16F84A \300 機能無,1Kw,いまさら不要
→教育用として今でも大量に使用されている
レーティングは△16F84A
18774ワット発電中さん:2009/05/01(金) 21:04:49 ID:CYnEzWTb
最近PICkit3が販売された。
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en538340&redirects=pickit3
書き込みツールはMPLAB IDE version8.20でのみ。
書き込み速度はPICkit2より高速。
しかし、まだ情報が少ないので、趣味で使う以上、当面はPICkit2で問題ないと思われる。

PICkit 2
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805
19774ワット発電中さん:2009/05/01(金) 21:07:45 ID:CYnEzWTb
スレとしてコミュニケーションが成立し始めたので、おそらく削除対象からは外れると
思われるので、前スレテンプレ>>2-9>>10-15>>17-18に書き込みました。
次スレを立てられる方、お手数ですが>>1, >>2-9, >>17-18をテンプレのテンプレとして使ってください。
20774ワット発電中さん:2009/05/01(金) 21:27:52 ID:XezlFSwQ
test
21774ワット発電中さん:2009/05/01(金) 21:28:51 ID:wnkiEpmH
テンプレ乙です
22774ワット発電中さん:2009/05/01(金) 21:36:26 ID:XezlFSwQ
誤爆すまん
>>9
レギュレータはそんな入出力電圧ありえない。どこか間違ってるか壊れてる。
標準ドロップアウトの意味も理解できてない気がする。
1A出力で使用するなら5.5V入力で安定するよ、って意味。
おすすめレギュレータは最低でも出力電流がわからないと答えられない。
根本原因はレギュレータの取り扱いミスだと思う
そもそも、電圧、極性はテスターで確認済みだったのでは?
23774ワット発電中さん:2009/05/01(金) 21:41:37 ID:+784jbau
レギュレータが発振してて、DMMが正確な値を出してないんじゃね?
LDOはちゃんとパスコン付けないと発振すること多いぜ。
24:2009/05/01(金) 21:51:58 ID:wnkiEpmH
>22
ありがとうございます。
確かに理解できていないです。
ということは、利用する電流を求め、そのレンジに収まるような
レギュレータを選定するという理解でよいんでしょうか。
電圧は測定していたのですが、動作する範囲かなと勝手に思いこんでいました。
25774ワット発電中さん:2009/05/01(金) 21:52:38 ID:nS3i4Vrv
>>9
5Vのとき3.2Vは性能の悪いレギュレータならありえなくもないけど、
9Vのとき6.5Vってのはありえん。
普通のレギュレータは定格入力電圧内なら電圧変動は5%以下。
キットなら組み立てミスだろうか。

で、BOR有効にしていれば3.2Vだったら起動しないと思う。
26774ワット発電中さん:2009/05/01(金) 21:55:50 ID:fRdFavIo
ACアダプタの出力にはリップル分があるから5Vを入力したら
3.2Vになるのは多分そんなもんだ。 そもそも5V出力の
レギュレータに5Vを入力してる時点で、なんか勘違いを
している気がする。

9Vを入れて6.5Vが出るのは明らかにおかしいが、既に上記の
ような勘違いをしている所から、根本的な間違いを犯している
臭いがする。
279:2009/05/01(金) 22:06:07 ID:wnkiEpmH
BOR、WDTなどもON/OFFでためしてみましたが、だめでした。

一応添付の紙を見ると、正面左からIN/OUT/GNDってなっています。
耳の部分はGNDしてないです。
もう何セットか買ってあるので、そっちも組み立てて違いを見ようかと思います。

レギュレータって入力電圧を一定にして出力してくれるもんだと思っていたんですけど、
そういうもんじゃないんですね。
勉強になりました。 
28774ワット発電中さん:2009/05/01(金) 22:12:00 ID:XezlFSwQ
LM2940CTならTO-220パッケージで正面左から、IN、GND、OUTだと思うが
29774ワット発電中さん:2009/05/01(金) 22:14:32 ID:+784jbau
>>28
それだ!w
30774ワット発電中さん:2009/05/01(金) 22:20:41 ID:wnkiEpmH
>27,28
ごめんちゃい、おっしゃるとおりIN,GND,OUTの間違いです。
念のため再度確認したところやっぱりIN,GND,OUTでよさげでした。
なんかおかしな配線とかしてダイオードこわしちゃったんですかね、、、
31774ワット発電中さん:2009/05/01(金) 22:23:07 ID:nS3i4Vrv
>レギュレータって入力電圧を一定にして出力してくれるもんだと思っていたんですけど、
>そういうもんじゃないんですね。

レギュレータは正しく使えばほぼ一定にして出力してくれるよ
正しく使わなければ「そういうもんじゃない」

自分のミスを棚に上げて部品のせいにするのは良くない。
もし部品のせいだという事例があったとしてもそういう考え方をする癖は無くしたほうがいい。
32774ワット発電中さん:2009/05/01(金) 22:25:28 ID:fRdFavIo
「秋月でかったLM2940CT-5.0」ってことはセラコンと電解コンが1個づつ
付いてると思うが、セラコンはIN側、電解コンはOUT側に付けてるよな?

同じ秋月のLM4805Sではサービスコンデンサは2個だが、付属資料には
3つコンデンサが書いてあるので、初心者がOUT側に2つ付けてIN側に
付けない、みたいに作っちゃわないかいつも心配になるw

レギュレータは入力電圧を一定にするという理解は合ってるが、あくまで
下げる方向だけだ。上げることはできんぞ。
5VのACアダプタはリップルで5V以下に下がってたりするから、それを
持ち上げたりはできないの。
33774ワット発電中さん:2009/05/01(金) 22:45:05 ID:CYnEzWTb
>>19で書き間違えました。
× お手数ですが>>1, >>2-9, >>17-18をテンプレのテンプレとして使ってください。
○ お手数ですが>>1, >>10-15, >>17-18をテンプレのテンプレとして使ってください。
34774ワット発電中さん:2009/05/01(金) 23:06:26 ID:4ZlwHv+M
PICKIT2を購入して手始めにPIC18F2320でA-0,A-1S/W入力、C-0,C-1LED出力の回路で
S/WOFFの時2個のLED点滅S/WONの時1個点灯、もう一個点滅のプログラムをC言語で作り
書き込み成功して上手く動作したのですが、PICKIT2を外すと動作しません
外部電源が悪いのかと思いPICKIT2からの電源で試しても同じです
外部電源(7805-1Aタイプを使ってます)まわりの回路を外して試しても同じです
PICKIT2をつないで上手く動いている時にPICKIT2ProgrammerのVDDのチェックを一度外し、
もう一度VDDのチェックを入れても動かなくなります
動かない時にTools-CheckCommunicationを実行すると動き出します
WDTは使わないになっています
どこが悪くてPICKIT2なし外部電源で動かないのか教えていただけないでしょうか?
MPLAB v8.3
MPLAB C18v3.30

PICKIT2Programmer
APP v2.61
DeviceVersion1.61
OS Firmware Version2.32
を使っています
35774ワット発電中さん:2009/05/01(金) 23:19:19 ID:XezlFSwQ
まさかとは思うが、ちゃんとリリース用のバイナリ作って書き込んでるよね
36774ワット発電中さん:2009/05/01(金) 23:44:04 ID:nS3i4Vrv
>>34
MCLRのプルアップはしてる?
クロックは何使ってる?
37774ワット発電中さん:2009/05/01(金) 23:48:40 ID:4ZlwHv+M
34です
ビルドコンフィグはリリース用になっています
MCLRは10Kオーム抵抗でプルアップしています
クロックはセラロック10MHz使っています
PICを新品に入れ替えてやり直したけどだめでした
38774ワット発電中さん:2009/05/02(土) 00:23:22 ID:qtGOS2aZ
メニューの Debugger のほうで書き込んだ状態だとPICkit2無しでは動かないかも。
メニューの Programmer のほうで書き込むべし。
39774ワット発電中さん:2009/05/02(土) 01:20:27 ID:Xwmntvzw
>>14
値段下がったよ
40元を書いた本人:2009/05/02(土) 01:25:39 ID:m0sfDMhW
秋月のPIC16シリーズDIP品限定ピン数別評価(先頭のvは値下げ,-は維持)'09/05更新版
v40ピンは◎16F887 \200 値下げでさらに盤石
v28ピンは◎16F886 \190 こちらも値下げ
ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31K-8MHzとフルサポート
新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを

20ピンはF690のバリエーションモデル多.価格差が小さいからF690か,OPアンプのF785
-◎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にするとか
-×16F84A \300 機能無,1Kw,いまさら不要
v△16F648A \180 CCP有,USART有,4Kw,内蔵4MHz,同じ値下組のF819と比較するとキツイ
v△16F628A \160 F648Aの2Kw版,売りが値段だけだと厳しいかな
-×16F627A \160 F648Aの1Kw版,売りの低コストで628Aと並ばれると・・・
-◎16F88 \230 ADC有,CCP有,SSP有,USART有,4Kw,内蔵31K-8MHzとGood
-○16F87 \200 F88にADC無い,下のF819と比較するとADCで負けフラッシュ4Kwで勝ちダケド
v○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版
v○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でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない。
41774ワット発電中さん:2009/05/02(土) 02:51:23 ID:51ls3+XP
16F887はPSPが無くなってしまったのが痛い。
42774ワット発電中さん:2009/05/02(土) 07:05:24 ID:LsiQ9JcR
>>41
今時PSPなんぞ使うのか?
43774ワット発電中さん:2009/05/02(土) 09:35:44 ID:Zoj/0lK0
てかもうPIC24でいいんじゃまいか?
44774ワット発電中さん:2009/05/02(土) 09:53:18 ID:IwvdB/YH
既にPIC24に移行済み。
45774ワット発電中さん:2009/05/02(土) 12:15:42 ID:Taja115B
まだPIC16使ってる。既に製品になってるから、ファミリの一部だけPIC24に移行するのは辛いな・・・
46774ワット発電中さん:2009/05/02(土) 13:12:41 ID:51ls3+XP
>>42
PSPの方が速度も速いし都合が良い場合が結構ある。
マルチチップマイコンの外部RAMがいまだに全てシリアルにならないのと同じ理由だな。
47774ワット発電中さん:2009/05/02(土) 14:38:40 ID:qtGOS2aZ
>>43
基本的には同意。でもいまだにPIC16の拡張版が出るところを見るとなんか
そういう需要ってあるんだろうね。個人的にはPIC24の5V版でも出してくれた
ほうが嬉しいんだけど。w
48774ワット発電中さん:2009/05/02(土) 14:58:10 ID:oUutJEbY
>>47
PIC24の5V版ってPIC30なんじゃないの?
消費電流多くて発熱大きいけど、電流かなり取れるし一品物にはよく使う
30F6012Aと秋月の変換基板は10セットほど常にストックしてる
49774ワット発電中さん:2009/05/02(土) 16:03:00 ID:51ls3+XP
>>47
結局、人間が楽をするか、ダイサイズを小さくする事を優先するかって事だと思うよ。
個人でLEDチカチカなら24でも良いだろけど、量産の場合は1円でも安い方がメリットある。
世の中には4ビットマイコンで十分なアプリの方が、8ビットが必要なアプリよりも極端に多いから
そこに食い込む為には低機能ローコスト版が拡充されるのは致し方無い。
てか、数十円で買える多ピン4ビットフラッシュPICが出たら面白いと思う。
50774ワット発電中さん:2009/05/02(土) 17:18:57 ID:4W/5vygZ
使っている人にお聞きしたいのですが
PIC16F887にはCCPとECCPが備わっているようですが
この2つって、別々の周期やデューティで同時に動かすことができるんでしょうか
それともどちらか一つだけしか使えないんでしょうか
51774ワット発電中さん:2009/05/02(土) 17:37:03 ID:H8MJ3A3H
16F877(A)と比べてCCP1がEnhanced CCPになった。
CCP2は変ってない。
CCP1/2は独立してCapture/Compare/PWM modeとして
使えるけど、組み合わせるTimer1/2は各1つずつだね。
だから・・・
52774ワット発電中さん:2009/05/02(土) 20:43:10 ID:IwvdB/YH
4bitは数円の世界だからなぁ。
フラッシュのメリットもないし。
53774ワット発電中さん:2009/05/02(土) 21:49:20 ID:82NFwa5b
> 数十円で買える多ピン
DRAMメーカじゃないんだから、そうは買い叩けないだろ。
54774ワット発電中さん:2009/05/02(土) 22:08:41 ID:qtGOS2aZ
多ピンという時点で最低限のダイサイズは決まるから
コア部分の面積を減らしてもあまり効かないんだよね
55774ワット発電中さん:2009/05/02(土) 22:33:10 ID:Taja115B
I/Oピンあたり10円なら何とか、というレベルだね。
PIC18F83J11ならI/Oピンが70本、単価が400円以下。
http://www.microchipdirect.com/ProductDetails.aspx?Category=PIC18F83J11
56774ワット発電中さん:2009/05/02(土) 23:02:22 ID:/iIK83KA
16F59なら170円ぐらいで32ピン取れるけどねこれはさすがにイレギュラーだよなw(ピンあたり6円)
8が4に下がったら何処まで出来るかってことも考えると、A/Dコンバータの精度を削って値段を下げるとかって事も出るのかな?

ところで、電源ライン以外すべてのピンをI/Oに振れるPICを触ろうと思ってるんだが、ICSPなんかに不都合ある?
各ピンをI/Oに割り振るついでにフラッシュ書き換え用のラインも一応確保しておこうと思うんだが…。

ちなみに秋月で買えるPIC16F677を想定している。
57774ワット発電中さん:2009/05/03(日) 00:42:30 ID:haZL+Q7T
4bitだとピン1円くらいのがある(らしい)けど、たいていはマスクで数量をコミット
する買い方だから直接には比較できないね。
58774ワット発電中さん:2009/05/03(日) 08:01:46 ID:yvGV519A
>>48

6012Aを10個?
俺なら規模に合わせて5011とかもストックしておくけどな
59774ワット発電中さん:2009/05/03(日) 09:19:18 ID:yvGV519A
>>51
>組み合わせるTimer1/2は各1つずつだね。

組み合わせるのはTMR2じゃね?
ちなみにPIC16F1827と16F193XはTMR2型タイマーを3機搭載してる
60774ワット発電中さん:2009/05/03(日) 10:41:32 ID:YQvbEt5Y
タイマ1+CCP(Compare)で16bitPWM使えるよな。
61774ワット発電中さん:2009/05/03(日) 14:47:31 ID:boqzuvrq
>>58

量産しないんで使い分けするのもめんどくさい
数百円のマイコンのコスト差なぞごみみたいなもん
うちは単品高額装置メインなんで、こんな考え方なんです
最近はPIC32MX使ってる
こいつは早くて安くてすばらしい かなり気に入った
32bitで80MHzで512kBフラッシュに32kBメモリでUSB付きで1個8ドル

なので、3.3VはPIC32MX460F512L、5VはDSPIC30F6012Aで統一することにした
ここの人たちは8bit大好きみたいだけど、一応薦めておきます
62774ワット発電中さん:2009/05/03(日) 14:57:24 ID:haZL+Q7T
俺もMicrochipの8bitコアは嫌いだな。同じ8bitならAVRのほうが好き。
それでも周辺の魅力に負けて使ってしまうことはあるけど。w

最近はPIC24がデフォという感じ。このコアは気に入ってる。
PIC32も良さそうだけど、そのクラスだとARM系と比べてどっちにしようか
って感じになるね。
63774ワット発電中さん:2009/05/03(日) 17:03:09 ID:yvGV519A
>>60

そんな長時間パルス幅と高クロックを両立させるのか?
ご苦労だなw

>>61
>PIC32MX460F512L

基板に載せたやつが25ドルか。

勉強目的に俺もそろえておくか。
PIC32MX320F032H-40I/PTを手はんだでいいや。
64774ワット発電中さん:2009/05/03(日) 20:53:22 ID:iw7oNEBJ
while(1){
if(char型の変数<TMR0)
GP0 = 1;
else
GP0 = 0;
}
割り込みで変数変える

(;^ω^)なんとかなった
65774ワット発電中さん:2009/05/04(月) 07:55:36 ID:RatzJSfm
おそらくありきたりな質問でしょうが教えてください。
PICのEEPROMは読み出しは瞬時にできるようですが、一般記憶領域のように
頻繁にアクセスするようなことをしても大丈夫なのでしょうか?
そのほうが記憶領域の節約になるので・・
66774ワット発電中さん:2009/05/04(月) 08:30:56 ID:5OBKESWu
100万回
67774ワット発電中さん:2009/05/04(月) 08:56:48 ID:jD/88Dnn
>>65
書き込みは回数制限あるけど、読み出しのみは制限は無い。
SRAMに比べれば、当然遅いがね。
6865:2009/05/04(月) 09:27:02 ID:RatzJSfm
>SRAMに比べれば、当然遅いがね。

間接参照なので遅くなるという意味でしょうか?
69774ワット発電中さん:2009/05/04(月) 09:45:10 ID:IRHUJJRj
SRAMなら1命令サイクルで読めるからね
70774ワット発電中さん:2009/05/04(月) 11:50:28 ID:7NsvMmsN
内蔵EEPROMは書き込み遅すぎ。
外部EEPROMでPage-writeの方がまし。
RAMサイズ大きなPIC選びなおすか
外部RAM(23Kxxx)使うとか・・・
71774ワット発電中さん:2009/05/04(月) 15:47:53 ID:o1wv+BO8
PIC入出力をタクトスイッチ+液晶モジュールの定番は止めてパソコンとシリアル通信しようと思ったが結構たいへんなのなw
72774ワット発電中さん:2009/05/04(月) 15:48:54 ID:DMn/8qun
タクトスイッチ+液晶モジュールよりずっと簡単だと思うけどなあ
73774ワット発電中さん:2009/05/04(月) 15:56:19 ID:7K2j2Ot6
GWで暇だし、タイマオーバフローごとにcharを左シフトしてそれをそのままPORTAに放り込んで、4回に1回charをインクリメントするだけのプログラムを組んだ

何か涙出てきて疲れが吹き飛んだ気がした
74774ワット発電中さん:2009/05/04(月) 16:00:21 ID:o1wv+BO8
低電圧仕様のLCDって見かけないしな
232Cレベルコンバータは低電圧仕様あるし。

もうちょっと頑張ってみるか
75774ワット発電中さん:2009/05/04(月) 16:36:27 ID:o1wv+BO8
ちょっと調べてみた。
前スレでUSARTを内蔵してないPICでのシリアル通信のソース教えろとか書いていたので
マイクロチップのアプリケーションノートをあげておく。

AN555, Software Implementation of Asynchronous Serial I/O
AN593, Serial Port Routines Without Using the RTCC
AN712, RS-232 Autobaud for the PIC16C5X Devices
76774ワット発電中さん:2009/05/04(月) 16:41:05 ID:Bg2FBzIV
>>74
232のレベコンが動く位の電圧があるなら、DATA線にダイオードとコンデンサ付けてLCDのバイアスにするだけでOK
77774ワット発電中さん:2009/05/04(月) 17:23:26 ID:o1wv+BO8
ADM3202ANは3Vから動くということなんだがLCDモジュールは電源自体が+5Vを要求してるようだけど。
データ信号のH/Lの判別が5V/0Vで無くてもいいのは分かるが。

まあともかくAN555の図4にはレベルコンバータを使わずに済ます回路がでてる。
ZVN104って何ですかね?
そもそもRxDをタイマー0クロックで受けるって。

じっくりソースを読むとするか
78774ワット発電中さん:2009/05/04(月) 17:34:47 ID:Bg2FBzIV
>>77
モジュールの取り説では無くて、使われてるICのデーターシートを読むことが出来れば幸せになれるかもしれない。
79774ワット発電中さん:2009/05/04(月) 17:48:21 ID:S+Iu3uSW
>>76
これね。
ttp://elm-chan.org/docs/lcd/lcd3v_j.html

でも自分には、DATA線からとるのはちょっと抵抗があるな。
チャージポンプ用にマイコンのI/Oの一つを使ってしまえば良いだけ
の話ではあるけど。
80774ワット発電中さん:2009/05/04(月) 17:54:32 ID:WbqUnwqI
>>76 >>79
前、前々スレでも外出なんだがな。テンプレでも入れたらどうだ?

LCDモジュールを簡単に改造して3.3Vで使う
ttp://www.ne.jp/asahi/air/variable/electronics/lcd3v/index.htm
81774ワット発電中さん:2009/05/04(月) 18:01:46 ID:S+Iu3uSW
>>80
へぇ〜。
LCDモジュールのクロックって、思いのほかとりやすいところに出てるのね。
82774ワット発電中さん:2009/05/04(月) 18:57:28 ID:IRHUJJRj
>>71
最近だとPC側の制約でシリアル使うのが難しいからUSB搭載PICがお勧め
83774ワット発電中さん:2009/05/04(月) 19:15:20 ID:ay6YwqIj
うちには最初から3.3V仕様のLCDモジュールがあったりするのだった
84774ワット発電中さん:2009/05/04(月) 19:24:05 ID:1aS+7+CM
>75
CCS-C使うなら関数で指定できるんだよな?
ソフトでやらせる場合、全二重じゃないらしいが。
85774ワット発電中さん:2009/05/04(月) 21:32:17 ID:DMn/8qun
いまどきUART入ってるPICなんていっぱいあるんだから、
「結構たいへん」とか言うなら、そういうの使えばいいじゃん。
86774ワット発電中さん:2009/05/04(月) 22:03:43 ID:c+i835Vf
8ピンで2つの異なるデューティ比でPWM出力できるのってあります?
例えば50/256と80/256を2つのピンで同時に出力できる感じの
87774ワット発電中さん:2009/05/04(月) 22:12:32 ID:DMn/8qun
>>86
CCPが2個って意味なら、そういうデバイスは無いと思うけど、他に仕事が
無いならソフトウェア的に作るって手はあるかも。
88774ワット発電中さん:2009/05/04(月) 22:22:54 ID:c+i835Vf
>>1
やはりそうでしたか ありがとうございます
未熟者なもんで「無いらしい」というところまでしかたどり着けずモヤモヤしてました
89774ワット発電中さん:2009/05/04(月) 22:24:09 ID:c+i835Vf
90774ワット発電中さん:2009/05/04(月) 23:01:52 ID:gpmLNUWs
「PICとC言語の電子工作」を読んでいてPICCライトの制限については
最適化の有無しか記述が見当たらないが、実際には877Aで2KW、2バンクの制限が
あるのですか?
せっかくCで大規模なソフトが書けるのかと思ったのに。
91774ワット発電中さん:2009/05/04(月) 23:03:17 ID:JP2IKM4K
c30
92774ワット発電中さん:2009/05/05(火) 00:21:58 ID:t3DS/reW
>>86
16F873で昔それをやった記憶がある
元のタイマは一緒だから周期は一緒だけどデューティは独立してたはず
93774ワット発電中さん:2009/05/05(火) 00:25:46 ID:Ni/x5Q6k
当然だけど28pin以上なら出来るデバイスはいっぱいある。
元の質問は8pinで出来るデバイスがあるか、というもの。
94774ワット発電中さん:2009/05/05(火) 01:13:39 ID:0TCgXspc
新スレ立てました。

●秋月電子キットの製作メモ、サポート●file.5
http://science6.2ch.net/test/read.cgi/denki/1241453247/

雑談などでもしながら秋月電子関連の話をしましょう。よろしくお願いします。
95774ワット発電中さん:2009/05/05(火) 11:43:14 ID:RYjXynGB
>>90
877Aでどういった大規模な物をつくるのか非常に興味はあるが、
君の無能っぷりでは、おそらく作ることは出来ないだろう
96774ワット発電中さん:2009/05/05(火) 12:23:56 ID:tL5gy+ZV
>89
アンカーをまともに打てないくせに
IDはなんかカコイイ!
97774ワット発電中さん:2009/05/05(火) 13:09:48 ID:XBrE01bz
>>95

規模の大小は人によって色々だしw
98774ワット発電中さん:2009/05/05(火) 15:24:05 ID:3sqG8J3K
886でCKLINとINTとRXを使いたいんだがPORTxレジスタが一個ずつつぶされてめんどくせぇ
めんどくせぇけどがんばる
99774ワット発電中さん:2009/05/05(火) 22:41:44 ID:XBrE01bz
どういった規模が何Kwに納まるのか、私のような初心者には判断がつかん。

とりあえず8Kwの16F886でも使っとけと言うことか。
16F54なんざたかが512ワードだ。原稿用紙1枚強。
松尾芭蕉クラスのプログラマーでないと使いこなしは難しいかもしれん。
100774ワット発電中さん:2009/05/06(水) 01:10:17 ID:UBonClcx
昔共立で売ってた256wordしかなくSRAMが16Byteの10F200もたまには思い出してあげてください。
101774ワット発電中さん:2009/05/06(水) 04:53:39 ID:t9n4i07n
102774ワット発電中さん:2009/05/06(水) 09:37:21 ID:ZZhqAoq4
>>90
大丈夫、時代は前進している。
PICCライトの後継としてHI-TECH C PRO(Lite mode)が無償で公開されている
ttp://www.htsoft.com/microchip/products/compilers/piccpro-modes.php
16F系全てのPICが利用可能、プログラムサイズの上限制限なし。
(ただしPICCライトにあった、最適化がなくなったためプログラムサイズは少し大きくなる)
16F877A(8KW 40ピン 300円)でCで大規模ソフト書いてくれ。
※16F877Aの後継16F887(8KW 40ピン 200円)がお勧め。ICDが877Aよりメチャ速い。
ttp://akizukidenshi.com/catalog/g/gI-02241/

PICとC言語の電子工作
ttp://www.rutles.net/books/232.html
09/4/26新発売書籍なのにPICCライトだ? 877Aだ? お粗末だなあ。
103774ワット発電中さん:2009/05/06(水) 09:48:18 ID:jl/yQWMF
>>99
12F683で赤外線受信処理と3chPWM出力で226ワードでできる。
同じPICでバイクのCDIを作ったときはプログラム185ワード、進角データ256ワード。
PICなんてそんなレベルの工作だろ。
104774ワット発電中さん:2009/05/06(水) 10:24:48 ID:nLcEbiRL
>>102
PICC Lite→Lite Modeへの移行はそんなに難しくないでしょう。
移行時Liteモードで使っていると、ソフトウェアDelayが3倍位伸びるが、
Delay関数を置き換えればok。
その本はセンサー関係のノウハウがあるから、その意味では重宝すると思う。
強いて言うなら
>アキバ系電子オタクに大人気のマイコンPICを使った
>ベタな電子工作から極上のテクニックまで。
という、内容もわからんやつが下手糞なコピーをつけて売る所だなwwww
105774ワット発電中さん:2009/05/06(水) 11:05:17 ID:1arBirB8
だから24FでC30つかっとけばいいじゃん。gccだしさ。
106774ワット発電中さん:2009/05/06(水) 11:23:34 ID:ZZhqAoq4
>>105
24Fは3.3Vで5Vでないから使いにくい。無意味な10μF付けさせるし、18ピンの小さいやつ
ない。40ピンも秋月にない。
ttp://akizukidenshi.com/catalog/g/gI-02000/
やっぱ16F安くて、バリエーション豊富で好きだなあ。最近ICDも出来る様になったし。
107774ワット発電中さん:2009/05/06(水) 15:38:53 ID:G5vS3C2f
>>106
そろそろ20pinが出るよ。PIC24F16KA101-I/P
秋月は知らんが Digi-Key で5月25日入荷予定。
108774ワット発電中さん:2009/05/06(水) 16:35:09 ID:T4LuyTHN
正直16Fとかはいらね
109774ワット発電中さん:2009/05/06(水) 17:05:22 ID:G5vS3C2f
>>106
> 24Fは3.3Vで5Vでないから使いにくい。

せっかくレギュレータ内蔵で内部2.5V動作なんだから、外部最大5Vまで
許容すればいいのにね。
密かに 24F**KA に期待してたんだが、やっぱり最大3.6Vだった。
(一部のI/Oピンが5Vトレラントなのは、今までの24FJと同じ)
110774ワット発電中さん:2009/05/06(水) 18:16:47 ID:/PR2KaG2
なんでそんなに5Vに拘る?
111774ワット発電中さん:2009/05/06(水) 18:20:43 ID:0OXPzA3E
周辺回路との兼ね合いで5Vっていうならわかるけど
今時3.3Vでインターフェースすることのほうが多いからなぁ
むしろ5Vのほうが不便だ
112774ワット発電中さん:2009/05/06(水) 18:27:44 ID:UT2/+YUl
3.3Vで何が困るのかな。たとえば24Fだと、出力は3.3VでTTLレベルOKだし、
入力は5Vトレラントだし。低損失REGなら5Vから容易に3.3Vつくれるし。
わからんわぁ。
113774ワット発電中さん:2009/05/06(水) 18:32:22 ID:t9n4i07n
タイル張りの人は周辺ICに合ってれば良いだけだろうけど
アナログ混在で設計すると15V位の電源で動いてくれた方が便利だな。
不要な時は電源を2Vなり3Vなりで動かせば良いのだから
価格や性能が同じなら耐圧が高い分には困らない。
114774ワット発電中さん:2009/05/06(水) 18:42:47 ID:CRBTguMb
>113
 そんなムチャなことを!
115774ワット発電中さん:2009/05/06(水) 19:36:47 ID:G5vS3C2f
>>113
一応 HV シリーズというのが、あることはあるのだが。w
116774ワット発電中さん:2009/05/06(水) 19:39:01 ID:JPMTcbcr
回路規模にもよるんじゃない、5Vの周辺1個とMCUだけですむ構成なら
そこに3.3Vのレギュレーター追加するのももったいない。コンデンサも必要だし
よく使う秋月のLCDモジュールやクリスタルオシレータなんかはほとんど5Vだしね。
16Fなんかは2.0V〜5.5Vで使えるから使いたい周辺に合わせればいいから
その点は手軽に使える。

>113
16HVとか12HVとかいうシリーズがあったような
117774ワット発電中さん:2009/05/06(水) 19:40:51 ID:G5vS3C2f
>>112
> 入力は5Vトレラントだし。

実際に5Vトレラントなピンは半分以下だから、意外と制約になるときが
あるんだよね〜
118774ワット発電中さん:2009/05/06(水) 20:12:43 ID:/MxH+X/C
>>115

それってシャントレギュレータがついてるだけでなかった?
119774ワット発電中さん:2009/05/06(水) 21:12:19 ID:G5vS3C2f
>>118
そうそう。だから一応。w
あれ、いまいち使えないのよねえ。
120774ワット発電中さん:2009/05/06(水) 21:28:42 ID:jtfw95fK
>>118-119
シャントレギュレータが付いてるだけのデバイス(PIC16HV610/616/785)と、
一部GPIOの入出力レベルまでHVになってるデバイス(PIC16HV540)の2種類がある。
121774ワット発電中さん:2009/05/06(水) 22:24:08 ID:/MxH+X/C
16HV540はフラッシュじゃないから調べてなかった。
使いようによってはいいかも。


欲を言えばAC100Vをタイマー用のクロックにぶち込んで50Hzとか60Hzを読みたい。
実際は抵抗かトランス使うの?
抵抗使うと電気喰いそうだしトランスは値段が高い。
122774ワット発電中さん:2009/05/06(水) 23:49:39 ID:jtfw95fK
>>121
50Hz/60Hzを読むだけ? それなら、コスト最優先の場合、抵抗1本で済ますこともできる。
その場合、電源のグランド(じゃなくてもいいけど、どこかの電位)がACと共通になるから、
感電に注意しないといけなくなる。接続先はGPIOだから、消費電力は無視できる程度。

絶縁するのであれば抵抗経由でAC100Vにフォトカプラを直結が楽。この場合、mAオーダの
電流が必要になるので、抵抗の消費電力がバカにならない。ノイズ耐性を妥協してもよければ
コンデンサで絶縁する手もある。これなら消費電力は気にならない程度に下げられる。

AC100Vから電源も取りたいということなら、最安値は(秋月ACアダプタ的な)大量生産の
スイッチング電源。少量生産であればコンデンサ経由のリアクタンスドロッパとトランスが
コスト的にもサイズ的にも同程度。抵抗ドロップが最安値だけど電力バカ食い。
123774ワット発電中さん:2009/05/07(木) 02:13:44 ID:TrvjePjR
IPIで旧PICが105円均一で売ってるね
16F874とかいいかも
124774ワット発電中さん:2009/05/07(木) 13:29:21 ID:1nkjg/AO
ググッたら結構良いものも16F84も105円だな。
ところでここ、525円までは50円の手数料だが、送料はどこに書いてあるの?
フォームで発注をかけた後で分かるのかな?
125774ワット発電中さん:2009/05/07(木) 15:28:28 ID:hGXgnHFO
ご利用案内に書いてあるよ
126774ワット発電中さん:2009/05/07(木) 15:38:44 ID:f5rae3Tb
PICとニキシー管を使った時計の工作を良く見るけど
あれLEDに変えたらダイナミック点灯がしょぼくなってしまいますかねぇ?
だれか実験した人いません?
当然BCDデコーダーをニキシー用からLED用に(4511系)変えないとだめですけど

やってみたいがソースが書けないww

orz
127774ワット発電中さん:2009/05/07(木) 15:42:52 ID:1nkjg/AO
サンクス、詳しく書いてあったわ早速代引きでPIC50個発注してくるわ。
USB232基板とかただだし回路図さえあればどうにかなりそうなんだがなぁ…。
ただとは言わないから部品セットやらサンプルプログラム出してくれないかなぁ…。
128774ワット発電中さん:2009/05/07(木) 16:11:43 ID:hGXgnHFO
>>127
>ただとは言わないから部品セットやらサンプルプログラム出してくれないかなぁ…。

君がやってオクで捌いてよ。
基板の作成は東欧の某国の会社がネット受注してるらしい。

http://www.nori-net.mydns.jp/triflingtoys/products/geek/olimex/order_1st.html
129774ワット発電中さん:2009/05/07(木) 23:15:51 ID:pw1oAV/C
>>126
>あれLEDに変えたらダイナミック点灯がしょぼくなってしまいますかねぇ?

しょぼい・・・かどうかの感じ方は人によると思う。
それとマイコン使うのだからBCDデコーダも7segデコーダも要らんだろ。
http://www.aki-den.jp/kit_manual/pdf_data/E02.pdf
http://akizukidenshi.com/catalog/g/gK-00051/
http://akizukidenshi.com/catalog/g/gK-01996/
130774ワット発電中さん:2009/05/08(金) 01:13:26 ID:XOyalrAo
>>129 あと2桁( ゚д゚)ホスィ
131774ワット発電中さん:2009/05/08(金) 08:03:19 ID:sW40nXP5
桁ドライブを2本増やすだけで医院ジャマイカ?
132774ワット発電中さん:2009/05/08(金) 08:06:10 ID:lw4issWc
>>129

マイコン使うのだから7segすら要らんだろ。
http://www.youtube.com/watch?v=SxvPb3JC11E
133774ワット発電中さん:2009/05/08(金) 09:45:51 ID:XOyalrAo
>>130
あとはソースいじれってことですね
><;わかりません

>>132
ちょwww それは_wwww
うるさすぎww
134774ワット発電中さん:2009/05/08(金) 10:18:03 ID:IOLdq1Qh
PICの読み方教えてください。
ピックですか?ピーアイシーですか?
135774ワット発電中さん:2009/05/08(金) 10:28:55 ID:lw4issWc
P伊藤麻衣子C
136774ワット発電中さん:2009/05/08(金) 12:19:04 ID:eFERTsx+
グァムのPIC、メチャ良かった。お勧め チョット高いけど
ttp://www.picresorts.jp/pic_guam/top_guam.html
137774ワット発電中さん:2009/05/08(金) 12:54:42 ID:A3npxIYv
>>130
まず1桁、次に2桁っていうふうに増やして理解していけばいいと思う。
1桁を1秒ごとに1増やすっていう回路とソフトができなくちゃ
とてもじゃないけど6桁なんてムリぽ
138774ワット発電中さん:2009/05/08(金) 13:04:00 ID:Z/wBRI1e
>>134
ピーアイーシーでしょうね。秋月なんかでは「ピックですね!」とか
言ってるけどさ。こっちも吊られて「はい、ピックの○○です」とか
答えちゃう。
139774ワット発電中さん:2009/05/08(金) 13:07:27 ID:XOyalrAo
>>137
そうなんす、_は承知の上で

Web上にあるニキシー時計の回路とソースを眺めていたら
BCDをニキシードライバーに入れてるだけだからと安直に考えてw
んならば4511でLEDをドライブしてやんよ!

7セグA〜Fとコモン6個でI/Oは7+6程度で済むのだろうなぁ
とまでは理解できてるww
と、思いつつ、秋葉原にいく準備をしているww
休みもう終わっちゃうけど orz
140774ワット発電中さん:2009/05/08(金) 13:21:59 ID:IOLdq1Qh
wikiによるとピックみたいです。
141774ワット発電中さん:2009/05/08(金) 13:32:06 ID:A3npxIYv
>>139
ドットまで制御するならもう1つ必要。あと時刻合わせとかいるだろうから
入力がいるね。それでも4511とかは必要ないですよ。あっても3ピン減るだけで
ICがひとつドーンと増えてあまり意味と思う。数字以外出せないから
後々つまらないと思うし、ドライバあっても結局コモン側のトランジスタがいるし。
142141:2009/05/08(金) 13:44:55 ID:A3npxIYv
ちょっと訂正っていうか追記

例えばPORTBに7SEGのa〜g、dpを接続、PORTAにCOM6つと時刻合わせ用スイッチを
接続、回路はそれだけであととはプログラムでウニョウニョやるってのが定番だと思う。
もちろん接続ってのは抵抗かましたりいろいろあるけど、その辺の回路図はググれば
腐るほどあると思うんで見てくだしあ。
143774ワット発電中さん:2009/05/08(金) 14:56:48 ID:XOyalrAo
どもども>>141

I/Oは7+6のほかに設定ボタンが必要でしたね
コロンは自己点滅LEDでも入れときゃいいやw

回路図のイメージは湧きましたが
プログラムイメージがorz ですw
とりあえず、組んでから考えるw
と明日はお祭りなので秋葉原へ泊まろうかと野望を
144774ワット発電中さん:2009/05/08(金) 18:17:43 ID:dq0QZLuj
兄貴たちに質問です
>>132
みたいな時計を目標にPICを学び始めたんだけど
ドラクエで言ったらどれくらいの敵ですか?
自分はまだスライムと戦い始めたばかりです。
145774ワット発電中さん:2009/05/08(金) 18:23:10 ID:5RG+4Xn8
>>144
「くさった死体」くらいです
146774ワット発電中さん:2009/05/08(金) 18:31:36 ID:8ZSUc3PC
>>144
ホイミスライム。
147774ワット発電中さん:2009/05/08(金) 18:35:50 ID:4JcLk9a7
回転軸さえなんとかなりゃスライム×3ってとこか
まあ半田とかライターがクリアできてれば…
148774ワット発電中さん:2009/05/08(金) 18:37:31 ID:IOLdq1Qh
Arduinoなら一晩でできる程度のこと
149774ワット発電中さん:2009/05/08(金) 18:56:29 ID:KSGPfScy
>>148
一晩もかかるのか。PICなら1/3位で済むかな。
150774ワット発電中さん:2009/05/08(金) 18:57:31 ID:5RG+4Xn8
そういう宗教論争はどっか他でやってくれ。
どちらも使う人から見れば痛いだけだよ。
151774ワット発電中さん:2009/05/08(金) 18:59:19 ID:UB9YlDKA
>>149
はいはい。
すごいすごい
152774ワット発電中さん:2009/05/08(金) 20:58:14 ID:dq0QZLuj
144です
兄貴たちすげー
あんな超難解そうな装置なのに、、、
いつか兄貴たちと冒険にでれるように頑張るぜ
とりあえずLEDピカピカスライム倒すぜ
153774ワット発電中さん:2009/05/08(金) 22:00:19 ID:+xNPhgsQ
>>144
PICで時計の入門として↓これお勧めかな。
ttp://www8.plala.or.jp/InHisTime/page019.html#PIC-023
16F88 230円
セイコーのリアルタイムクロック部品 500円
LCD 500円

応用編としてリアルタイムクロックが内蔵されているPIC24F版かな。
ttp://amahime.main.jp/pic24frtcc/main.php?name=rtcc
PIC24F 450円
水晶発振子 100円
LCD 500円
154774ワット発電中さん:2009/05/08(金) 22:52:47 ID:lw4issWc
>>153

そんな高いのじゃなくても16bitのタイマーがあればどれも余裕じゃないの?
155774ワット発電中さん:2009/05/08(金) 22:57:38 ID:+xNPhgsQ
>>154
16bitのタイマーで安く時計を実現する参考ページある?
156774ワット発電中さん:2009/05/08(金) 23:07:22 ID:kOShTgh6
>>155
安くも糞もない。
タイマーさえ使えれば出来るだろ?
157774ワット発電中さん:2009/05/08(金) 23:07:50 ID:lw4issWc
>>155

これなんかそうじゃない?
http://www.momose.com/hirofumi/elec/vfdclock/
158774ワット発電中さん:2009/05/08(金) 23:16:37 ID:5RG+4Xn8
>>153
こういうICはCPUの電源を落としたときでもカウントし続けるために使うものだね。
CPU常時ON前提で時計を設計するなら、CPUのタイマ+ソフトでカウント
したほうがローコストだし柔軟な設計が出来るよ。
159774ワット発電中さん:2009/05/08(金) 23:22:28 ID:XOyalrAo
ttp://www.zea.jp/audio/hck/hck_01.htm

とりあえず、これを攻略してみます
組んで動かすのが先ですw

つーかCやらASMをどこから覚えるかが・・・・・・
160774ワット発電中さん:2009/05/09(土) 00:03:46 ID:IWZnA1Gp
こういうのじゃあかんか
http://xcrosgs2wy.web.fc2.com/picclock/
161774ワット発電中さん:2009/05/09(土) 00:17:27 ID:HrPAivu3
>>160

それ有名ですよねw
GP3に50Hzを入力してるけど、T1CKIであるGP5でないのかな?
162774ワット発電中さん:2009/05/09(土) 00:27:16 ID:Yn4SUGtd
>>161
有名というか・・・◆xcrOSgS2wYさんはこの板のコテですよ。
最近はPICを見限ってPSoCスレにしか行かないのかもしれないけど。
163774ワット発電中さん:2009/05/09(土) 00:45:38 ID:HrPAivu3
へえ、おもしろい人がいたんだ
164774ワット発電中さん:2009/05/09(土) 01:19:46 ID:kNQ74sbB
6桁・・・・・ボソリ
165 ◆xcrOSgS2wY :2009/05/09(土) 02:48:25 ID:IWZnA1Gp
このスレも毎日何度も読んでるよw
PICも未だに、仕事・遊び両方で使ってるし(それもPIC16を)
166774ワット発電中さん:2009/05/09(土) 09:10:56 ID:B4jzVwpI
回るLED時計はPICのテクっていうよりメカのほうが面倒そうだね。
正確な時計は発振器しだいだし、もしくは電波かGPSだろうけど
違う分野の知識が99%な気がする。
167774ワット発電中さん:2009/05/09(土) 11:34:54 ID:QYs1Eyv3
こんなもんフォトインタラプタの存在と動作を知ってりゃ楽勝だろ
168774ワット発電中さん:2009/05/09(土) 12:39:41 ID:6HaI2Fc9
メカは苦手なんだよね。
俺が作るとバランスが悪くて転げ回ったりしそう。w
169774ワット発電中さん:2009/05/09(土) 12:45:19 ID:ef8pm8ZB
PC用の回転センサー付きファン使えばセンシングは簡単やがな。
170774ワット発電中さん:2009/05/09(土) 13:27:44 ID:8VsIk8wA
求む普通のデジタル時計
171774ワット発電中さん:2009/05/09(土) 15:25:58 ID:iLSXSK2D
パタパタ
172774ワット発電中さん:2009/05/09(土) 16:31:26 ID:nEZpkJpL
回転させれば6桁と言わず8桁でも16桁でも自在だな。
折角自作なんだから西暦まで入れるとか。
173774ワット発電中さん:2009/05/09(土) 16:43:06 ID:EDpZLc+a
ちょwww 普通のLEDデジタル時計きぼん!!!1
174774ワット発電中さん:2009/05/09(土) 16:50:45 ID:HrPAivu3
ホムセンに売ってたよ。
498円で。
175774ワット発電中さん:2009/05/09(土) 18:16:35 ID:181s0TAh
量産品じゃなく”俺の”時計が欲しんだよ。何時までもチカチカ♪するやつ
176774ワット発電中さん:2009/05/09(土) 18:17:35 ID:Wad0+Dp+
ふーん。で?
177774ワット発電中さん:2009/05/09(土) 19:26:18 ID:7gqnNo7P
>>159
デカいLEDだな

そして回路みて、MAXの石つかいてーっと思った俺ズボラ
178774ワット発電中さん:2009/05/09(土) 20:24:20 ID:F22+Di6s
>>159
マイコンとかさわるの初めてなら本買ったほうがいいと思うよ
慣れてくればweb上の情報を自分で処理していろいろやれるようになる
179774ワット発電中さん:2009/05/09(土) 22:03:29 ID:2wv9hw0p
ちょっと質問。
PICに抵抗値を読ますにはA/Dを積んだPICを使うんですよね。
逆にPICの処理にしたがって特定の抵抗値を出させたい場合って
どうすればいいでしょうか?
180774ワット発電中さん:2009/05/09(土) 22:28:32 ID:rZWppO6e
そういう聞き方よりも、何がしたいのかを具体的に書いた方がいいですよ。
181774ワット発電中さん:2009/05/09(土) 22:29:07 ID:MDO/I/Ha
>>179
デジタルポテンショメータとか
182774ワット発電中さん:2009/05/09(土) 22:35:58 ID:NOyk+65g
> PICの処理にしたがって特定の抵抗値を出させたい
無理です。
183774ワット発電中さん:2009/05/09(土) 22:39:34 ID:6HaI2Fc9
昔、CdSフォトカップラというものがあったな。
直線性が悪いうえに速度もとても遅かったが。
184774ワット発電中さん:2009/05/09(土) 22:45:00 ID:6HaI2Fc9
>>183
と思ったら今でもあった。
http://akizukidenshi.com/catalog/g/gP-00710/
185774ワット発電中さん:2009/05/09(土) 22:51:52 ID:RF1g85XM
186774ワット発電中さん:2009/05/09(土) 22:55:15 ID:Yn4SUGtd
>>184
カドミウムが有害だから市場から消えた・・・んだと思ってたんですけど
まだ売ってるんですね。今度買っとこう。
187774ワット発電中さん:2009/05/09(土) 22:56:01 ID:D3at6CG0
>>179
たとえば10Ω,20Ω,40Ω,80Ωの抵抗をリレーでON,OFFする。
188774ワット発電中さん:2009/05/09(土) 22:59:19 ID:vxf4LXXW
>>159
トップページに普通の時計と音声時計があったが青7セグってどうなの?
189774ワット発電中さん:2009/05/09(土) 23:10:58 ID:+W4e3I+M
完全に無視されてるな >>181
誰もデジタルポテンショメータの事を知らないのか・・・

http://www.internix.co.jp/publish/newsletter/nl91_pdf/nl91maxim.pdf
http://japan.maxim-ic.com/appnotes.cfm/an_pk/3417
http://japan.maxim-ic.com/appnotes.cfm/an_pk/4025/
190774ワット発電中さん:2009/05/09(土) 23:42:09 ID:EUIbJPQS
質問させてください。
PIC16F628Aを12.8MHzで動作させるために「RA7/OSC1/CLKIN」に水晶を繋げた状態では
「RA6/OSC/CLKOUT」はデジタル出力ピンRA6としては使えないのでしょうか?
191774ワット発電中さん:2009/05/10(日) 00:03:06 ID:l5JUcRpx
192774ワット発電中さん:2009/05/10(日) 00:07:40 ID:jzj+dr4/
AN555の図4ですが
ZVN104というFETのスペックって分かりますか?
RS232CレベルをPICが扱えるレベルまで落とせればいいのだから
2SC1815で代用可能と見ているのですがね。

LM301もタダ単にマイナスレベルの信号も作りたいってことだろうから
手持ちの4558でも大丈夫だと見てる。
193774ワット発電中さん:2009/05/10(日) 00:10:03 ID:l5JUcRpx
>>190
逆に聞きたいんだが、水晶は端子を2つ持ってるが、PICに水晶を接続するときは
そのうち1本だけ接続する気なのか?
194774ワット発電中さん:2009/05/10(日) 00:19:07 ID:L60eTW0u
>>192
この回路なら2SC1815で代用可能だけど、入力電流が大きくなる。(実害なし)
ただ、ターンオフがやや遅いかもしれないから、極端に速いボーレートで
使う場合は要注意。

4558もLM301よりかなり遅いはず。どちらも9600bpsとかなら大丈夫だと思う。
195774ワット発電中さん:2009/05/10(日) 00:19:38 ID:oB8y9Yek
>>193
水晶振動子ではなく水晶発信器を使うって事でしょ?

>>190
データシートミロ。628は知らんが手元にある12F683はIOとして使える
196774ワット発電中さん:2009/05/10(日) 00:21:16 ID:L60eTW0u
俺も>>193と同じこと考えた。
つーか、普通、水晶発振器を水晶とは略さない。
197774ワット発電中さん:2009/05/10(日) 00:24:05 ID:8vA7gBoW
>>193
表現が紛らわしかったようで申し訳ありません。
京セラのKTXO-18S (12.8MHz)を使いたいと思っています。
198774ワット発電中さん:2009/05/10(日) 00:25:43 ID:oB8y9Yek
>>196
君の普通が理解できている人なら>>190のような質問はしない。
199774ワット発電中さん:2009/05/10(日) 00:28:08 ID:L60eTW0u
>>198
ごもっとも
200774ワット発電中さん:2009/05/10(日) 00:33:21 ID:celMAW5h
>>189
可変抵抗みたいにリニアな抵抗値を変更するのが求められてるからじゃないかな。
201774ワット発電中さん:2009/05/10(日) 00:42:10 ID:jzj+dr4/
>>193

ありがとうございます。
おかげさんで安くできそうです。

>>197

ピンの役目はレジスタの設定で決るはずで
プログラミングするには、それを理解しておく必要があると思うのだが。
202774ワット発電中さん:2009/05/10(日) 00:47:10 ID:d7hLr7AJ
ちょうど秋月でKTXO買ってきた漏れ様がちょっと通りますよw
>>197 資料付いてなかったのかな?

7ピンがGND
8ピンをPIC側
14ピンが電源Vcc

7,8,14がわからないってのはググレカス(AAry
203774ワット発電中さん:2009/05/10(日) 00:49:44 ID:oB8y9Yek
>>202
お前が質問を理解できていない。
>>197は水晶発信器の使い方を聞いているわけではない。
204774ワット発電中さん:2009/05/10(日) 00:56:08 ID:Nz3DRTXa
PICの入力について教えてください。

車のパーキングブレーキの信号を入力したいと思っています。
踏んでいるとき0V、解除したときに+12Vになります。

この信号を入れるのに、

ポートを10kΩでプルアップして、ダイオードを
ポート→アノード ダイオード カソード→パーキングブレーキのようにつなぐ方法で問題ありますか?
ブレッドボード上では問題なく動いてくれるんですけどちょっと心配で。

セオリーはフォトカプラか抵抗で分圧することだと思うんですけど、ダイオードで問題なければ
それにしたいと思っています。
205774ワット発電中さん:2009/05/10(日) 00:58:40 ID:qM0xnQK2
エスパーだらけのスレだな
206774ワット発電中さん:2009/05/10(日) 00:58:41 ID:oB8y9Yek
>>204
それで大丈夫。
逆に抵抗分圧やフォトカプラではうまく動かない場合がある。
207774ワット発電中さん:2009/05/10(日) 00:59:42 ID:JU88Qeko
>>204
3端子レギュレーターを入れて、5Vに変換した方が簡単。
208774ワット発電中さん:2009/05/10(日) 01:08:36 ID:oB8y9Yek
>>207
それできない。
209774ワット発電中さん:2009/05/10(日) 01:10:24 ID:Nz3DRTXa
>>206

ありがとうございます。
これで問題ないんですね。
分圧だと電圧の変動への対処が面倒だし、フォトカプラは手元になかったので。

>>207

ダイオードで問題ないようですし、部品数が増えちゃいますよね?
発振の対策はしなくていいのかな?
210774ワット発電中さん:2009/05/10(日) 01:10:30 ID:EED9EIGo
>>207
それだけはないわ
211774ワット発電中さん:2009/05/10(日) 01:16:53 ID:L60eTW0u
たぶん動くけど、「パーキングブレーキの信号」って奴にシンク能力が
あるかがちょっと不安だな。たぶん、パラにリアのランプ(LEDか電球)
が入ってるんだろうけど、10kΩ→ダイオード→ランプという経路でドライブ
して、ローに落ちないかもしれない。
まあ、実験して駄目なら対策すればいい。壊れることは無いはず。
212774ワット発電中さん:2009/05/10(日) 01:17:02 ID:VWW799nU
アース制御される負荷のアース側が接地されていない状態で
端子に電源電圧が現るのを見て常時電源と勘違いする馬鹿が居るが、


まさに>>207だなw
213774ワット発電中さん:2009/05/10(日) 01:19:28 ID:L60eTW0u
あ、パーキングブレーキだからリアのブレーキ灯なんて関係ないか。
214774ワット発電中さん:2009/05/10(日) 01:19:36 ID:Nz3DRTXa
もう一つ質問させてください。

204の方法がOKなのは、+12Vと0Vの状態しかないからですよね?
リバース信号も入れたいんですが、ネットで探してみるとトランジスタのベースで受けたりフォトカプラを使っているのが多いですね。
リバース信号がオフのときはどういう電圧になっているかわからないんですけど、同じ方法でいけますか?
215774ワット発電中さん:2009/05/10(日) 01:23:50 ID:VWW799nU
>>211
いやいやいや
なんでパーキングブレーキのラインにパラでリアのランプがあるのよ
メーター内のパーキングブレーキのアースをボディに落としてるだけだ

1つ注意するならブレーキフルードの残量警告で点灯するのを知らない人が多い事か
216774ワット発電中さん:2009/05/10(日) 01:32:23 ID:VWW799nU
>>214
同じ方法でいけるが論理は逆
リバース線はONで+12V、OFFで開放
この場合はレギュかますか、1/3分圧でいけるだろ
ただしPICを+5Vで動かしてる場合な

パーキング線は引くとボディアースに落ちて(GND=0V)、解除で開放
メーター内のランプのマイナス側なのでランプの種類や取り出し方で値が変わるかも知れん
なのでプルアップで正解

217774ワット発電中さん:2009/05/10(日) 01:39:17 ID:Ib0HA0Gt
趣味で作るなら是が非にとはいわないけど
できれば絶縁カプラー噛ました方がいいぞ。
218774ワット発電中さん:2009/05/10(日) 19:18:20 ID:8vA7gBoW
190です。

自己レスになりますが、PIC16F628A で
「RA7/OSC1/CLKIN」を CLKIN として使用した状態で「RA6/OSC/CLKOUT」を
デジタル出力ピンとして使用するには、コンフィグレーションワードの
FOSC2-0 ビットを「011」EC(External Clock In)にするようです。
CCS-C の 16F628.h を見たところ
//////// Fuses: LP,XT,HS,EC_IO,NOWDT,WDT,NOPUT,PUT,PROTECT,PROTECT_50%
とあるので KTXO-18S を購入したら「#fuses EC_IO」で試してみることにします。

あと、自信がないのでダメだった時のために PIC16F690 も買っておくことにします。
219774ワット発電中さん:2009/05/10(日) 20:41:08 ID:+fmEUXBz
兄貴たちに聞きたいんだけど
Cコンパイラのソフトってどんなの使ってます?
自分は無料のHI-TECH使ってるんですけど
Delay関数で詰まったので有料ソフト買おうか考えてます
お勧めのソフトあったら教えてほしいです。
220774ワット発電中さん:2009/05/10(日) 20:45:38 ID:L60eTW0u
無料のが一番お勧め。
どうしても買うというなら CCS かなあ。(最近使ってないけど)
221774ワット発電中さん:2009/05/10(日) 21:27:43 ID:ioB0Uo/9
>>219
俺も全て無料だなあ
12Fと16Fは、HI-TECH C PRO(Lite mode)
ttp://www.ne.jp/asahi/air/variable/picmel/install/piccpro/index.html
18Fは、C18
「PIC18F本格活用ガイド」
ttp://www.amazon.co.jp/dp/477413449X/
24Fは、C30(24F用)
「PIC24F活用ガイドブック」
ttp://www.amazon.co.jp/dp/4774132470/

HI-TECH C PRO(Lite mode)のDelayは、
ttp://kuri6005.sakura.ne.jp/pic/index.php?%C8%AF%B8%F7%A5%C0%A5%A4%A5%AA%A1%BC%A5%C9%28LED%29%A4%CE%C5%C0%CC%C7%2816F886%29#x366a049
の my_delay_ms(unsigned int x)で、1〜65535ミリ秒(=65秒)まで行けるんじゃないかなあ
(誤差はあるけど実用上問題ない範囲と思われ)

無料をあきらめんでくれ
222774ワット発電中さん:2009/05/10(日) 21:56:15 ID:qM0xnQK2
ディレイはループで必要回数回せばいいじゃないかと(ry
223774ワット発電中さん:2009/05/10(日) 22:42:25 ID:+fmEUXBz
>>221兄貴ありがとう
すっごい勉強になった!
HI-TECH C PRO(Lite mode)で頑張って行こうと思う
ほんとにありがとうございました
224774ワット発電中さん:2009/05/11(月) 00:13:07 ID:UtIShrbw
最近でたやつは 2kの制限がなくなったのか
225774ワット発電中さん:2009/05/11(月) 00:28:40 ID:pIFmiH8c
>>224
そうなんだよ。2kの制限がなくなっただけでなく、市販の全てのPIC16Fが使える様に
なったのがうれしい。また、ICDが速いんだ(C18のICDがトロイのどうにかしてくれ)
ただ、PICC liteの時あった最適化がなくなった為、HEXファイルサイズが大きくなる。
でも、そんなの関係ねぇー
226774ワット発電中さん:2009/05/11(月) 00:34:36 ID:UtIShrbw
おもしろそうなのでまた PICいじりだそうかな
227774ワット発電中さん:2009/05/11(月) 01:34:36 ID:/DQFKMnE
以前HI-TECH Cの弱点はPIC専用ライブラリが充実してないことだったけど、
このあいだHI-TECHがMicrochipに買収されて、HI-TECHがPICコンパイラ専門ベンダに
様変わりして他のデバイス向けのコンパイラはすべてディスコンになったから、
これからはPIC専用ライブラリも充実してくるんだろうな・・・と予想&期待。
228774ワット発電中さん:2009/05/11(月) 08:14:06 ID:fHavu7Gf
Microchipの指図に嫌気がさしたHI-TECHのエンジニアが
スピンアウトすると予想&期待。
229774ワット発電中さん:2009/05/11(月) 09:05:02 ID:DcUc/BzP
C30が一番楽だわ、gccだし。
230774ワット発電中さん:2009/05/11(月) 10:23:03 ID:Jz95KX0G
HI-TECH PICC Pro (Lite mode)は最適化しないってレベルじゃなく
わざとcodeサイズ増量してるみたいだぞ。
Lite mode利用者への嫌がらせなのかとも思ったが
Pro modeの最適化効果を大きく見せる為の策略なのかな?

例:PIC16F627A
void main() {
char hoge=0;
hoge = 1;
(以下略)

PICC lite V9.60PL1の場合、まぁ納得
;char hoge=0;
bcf status,5
clrf (hoge)
;hoge = 1;
clrf (hoge)
incf (hoge)

PICC Pro(Lite mode) V9.60PL5の場合、わざと増量w
;char hoge=0;
clrc
movlw 0
btfsc status,0
movlw 1
movwf (hoge)
;hoge = 1;
clrf (hoge)
bsf status,0
rlf (hoge),f
231774ワット発電中さん:2009/05/11(月) 12:13:12 ID:fvLwg+ZI
そんなもん趣味で使うに問題あるか?
全デバイス使えるんだから容量の大きなやつ選べばいいだけ。
商用ベースに文句いっても仕方ないだろ。
232774ワット発電中さん:2009/05/11(月) 12:44:19 ID:+6Z0mNRD
>>230
そりゃ酷えな。PICコンパイラの評価を下げてるだけじゃね?

>>231
処理実行時間も犠牲になる罠。
233774ワット発電中さん:2009/05/11(月) 12:55:21 ID:TqfzDdqY
Cである程度以上のプログラム書くなら PIC18 / PIC24 が
お勧めだな。いろんな意味で。
簡単なプログラムしか動かさないなら PIC16 もありだが。
234774ワット発電中さん:2009/05/11(月) 14:00:52 ID:EKBu6gje

PICマイコン講習会 Cコンパイラ入門
http://page6.auctions.yahoo.co.jp/jp/auction/f68699356
235774ワット発電中さん:2009/05/11(月) 16:12:08 ID:0bVyi+SZ
一時間5000円って、、
一時間で何も理解できないまま終わりそうだw
236774ワット発電中さん:2009/05/11(月) 17:56:59 ID:Lp+oeZzo
>>235
弁護士費用初回版って言う感じだな。
237774ワット発電中さん:2009/05/11(月) 23:20:35 ID:BlIc5Ggj
C30ってプロファイル吐き出せない?
238774ワット発電中さん:2009/05/12(火) 00:12:49 ID:CXbvpd6q
先週、MPLAB+PICC+PIC16F88でデビューしました。
皆様よろすくです。

ちなみに、訳有ってIDEはVirtualBox上のWindows7RCにインストールして、リモートデスクトップ経由で使ってます。
本当はRemoteAppで使いたいのですが、仕込み方が分からんです。
VisualStudioとキースキームが違うので使いにくいのですが、カスタマイズするのもめんどくさいのでそのまま使ってます。

楽しくてイキそうです(`・ω・´)
239774ワット発電中さん:2009/05/12(火) 00:30:46 ID:Ol7bHQCv
PIC18F2550で作ったプロジェクトをLFのPIC18LF2550で使うにはどうしたらいいの?
設定すべき箇所が見当たらないのにデバイスIDではねられる
プロジェクト新規作成しようにも、デバイス選択にLFは出ないし、困ってます
240774ワット発電中さん:2009/05/12(火) 07:10:03 ID:nukEkmYV
>>239
PIC18F2550とPIC18LF2550はID同じだよ。
もともとのプロジェクトを「PIC18F2550」で作ったと思ってるのが勘違いってことはない?
241774ワット発電中さん:2009/05/12(火) 07:41:51 ID:Ol7bHQCv
>>240
ありがとう
じゃあ、壊れてるのかも
F実装したやつの次にLF実装してダメだった
242179:2009/05/12(火) 22:21:46 ID:pftMau3h
皆さん,お知恵をお貸し頂きありがとうございました。
R2Rラダー回路とか、デジタルポテンションメータとか、知らない単語ばかりで
正直先は長そうですが・・・
いちばん簡単そうなのはリレー+抵抗ですかね。

蛇足ながら、やりたかったことはSONYのカーオーディオについている
ロータリーコマンダーの替りをPICでやりたいということでした。
10個ぐらいのスイッチと抵抗で回路が出来ていて、
3.5mmピンプラグに押されたスイッチに応じて抵抗値が変化するものです。
243774ワット発電中さん:2009/05/13(水) 00:39:25 ID:mCpIGu2V
>>242
それだったら欲しい抵抗値分の本数の抵抗とトランジスタで済むじゃねえか
用途は先に言ってくれ
244239:2009/05/13(水) 01:02:55 ID:XRbYZp4w
基板取り出してがっかり
逆付けしてました
足切って新品交換した もったいない
245774ワット発電中さん:2009/05/13(水) 02:10:09 ID:C7MNHJbu
MCLRを使わずに、純粋にプログラムだけでリセットを掛ける事は出来ないでしょうかね?
246774ワット発電中さん:2009/05/13(水) 02:13:16 ID:QHay9fyt
ウォッチドッグとか使えない?
247774ワット発電中さん:2009/05/13(水) 08:01:51 ID:uh8IlqiT
>>242
フォトMOSリレーかフォトカプラを使えば、小型化できるしPICで制御出来るな。
IOピン数の多い奴使えばいいかと。
可変抵抗を使いたいなら、ボリュームとステッピングモーターをPWM制御だな。
抵抗を直列につないでゲートICで組み合わせて抵抗値を変えるとかすれば抵抗の数も減らせる。
248774ワット発電中さん:2009/05/14(木) 10:43:51 ID:tNWHMmps
>>242

これですね?
http://minkara.carview.co.jp/image.aspx?src=http%3a%2f%2fcarview-img02.bmcdn.jp%2fcarlife%2fimages%2fUserCarNote%2f124704%2fp1.jpg

AD-GND間の抵抗値で制御してるのか。
SHIFTって何ですかね?

実は私もソニー持ってます。
249774ワット発電中さん:2009/05/14(木) 11:01:27 ID:tNWHMmps
私はロータリーコマンダじゃなくて赤外線リモコンをPICで作りたい。
最初から38kHzのキャリアつきで光る赤外LEDってありますかね?
プログラムでやらせればいいのだけど、
PCとの通信とかマクロとかも盛り込みたいんでステップ数を減らしたいんですよ

これ買えばいいんですけど、詳しい機能とか分からないし。
http://www.donya.jp/item/931.html
250774ワット発電中さん:2009/05/14(木) 11:09:51 ID:86twPB23
>>249
>キャリアつきで光る赤外LED
無いと思う。

マイコン使うんだよな?
だったら内蔵タイマー使えば38kHz変調は簡単に出来る。
ステップ数そんなに増えん。
251774ワット発電中さん:2009/05/14(木) 11:39:13 ID:tNWHMmps
私もソニーのロータリーコマンダー作ろうかな。
DAコン出力にトランジスタかまして他の機器を制御とか面白そう。
でもDAコン内蔵ってあまりないけれどVrefでも使えばいいし。
でも12F629はコンパレータでVREFを使うためにVRCONなんてレジスタを持っていながら
その出力がピンに出てないんだよね。せっかく安いのに。

>>250
>だったら内蔵タイマー使えば

内蔵タイマはマクロに使いたいんで。
しょうがないから高いPICを使いますかね?
252774ワット発電中さん:2009/05/14(木) 12:35:40 ID:bX+Hug6O
>>246
すばらしいです。
ありがとうございます。
253774ワット発電中さん:2009/05/14(木) 14:26:57 ID:xMQJ+R2N
>>251
つシリアル入力のDAコンバータ
254774ワット発電中さん:2009/05/14(木) 19:15:33 ID:UjGpFtNc
突然質問なのですが、PICに入れるプログラムの周波数を、
本来の周波数の4倍ほど大きく設定して実行してしまいました。
PICやその基盤は故障する場合はあるのでしょうか?
255774ワット発電中さん:2009/05/14(木) 19:19:57 ID:MMsZOnGZ
内蔵発振の周波数が本来は2Mなのに8Mの設定で実行してしまったってこと?
外部発振のクロックに規定の4倍のものを使用してしまったってこと?
256774ワット発電中さん:2009/05/14(木) 19:33:21 ID:oxI2j3R+
どっちにしても無問題だろ。
257774ワット発電中さん:2009/05/14(木) 19:36:46 ID:3Ye0n4B7
>>254
回路次第だけど、普通はその程度では壊れないよ。
258774ワット発電中さん:2009/05/14(木) 19:40:45 ID:UjGpFtNc
>>255
初心者なもので発振とかよく理解していないのですが、
MPLABでプログラムを書いてその時にPICの周波数より大きな周波数を設定してプロジェクトを作成しました。

その後PICにプログラムを書き込んで、基盤に差し込んで電源を入てしまいました。
基盤についているスピーカからなぜか音が出たのでただちに電源をきりました。
やろうとしていたことは、LEDを点灯させるだけです。

現在手元にないため動作するかの確認はできないです。

259774ワット発電中さん:2009/05/14(木) 19:42:16 ID:UjGpFtNc
>>256
>>257

回答サンクス
会社の備品なので壊したのかとヒヤヒヤしてました。
260774ワット発電中さん:2009/05/14(木) 20:50:29 ID:ojYJ5wPU
もし壊してもこっそりPICを取り替えればOK。
ブートローダかなにか使ってるならバックアップは忘れずに。
261774ワット発電中さん:2009/05/15(金) 19:58:47 ID:zFzOJ54i
> 基盤についているスピーカからなぜか音が出たので
あー、そりゃダメだ。断末魔の叫びだよ。

助けてほしかったのに、いま一歩立ち止まって確認してほしかったのに、
心の声は届かず、無機質な音とともにスイッチは入れられてしまった。
命費えたその瞬間を、あなたは見てしまったんだね。
きっと閻魔様も、涙を浮かべながら天国行きを指示しなさるよ。
そう、あの黒焦げの555以来の悲劇と言っても過言でないからね。
262774ワット発電中さん:2009/05/15(金) 23:02:31 ID:DYpp6nfE
シュレディンガーのPICですね
通電するまでわかりませんw
263774ワット発電中さん:2009/05/15(金) 23:09:02 ID:Ar/1/cYw
>>259
最大許容を超えたのなら、最悪の場合、故障もありうるから、安心できないと思う。
264774ワット発電中さん:2009/05/16(土) 03:06:42 ID:1rBX1nPx
PICでCANする方法おしえれ。。

たとえば、PIC30F4012での何番ピンとCANトランシーバつなげばいい?

あと、プログラムが全くわからいない。
PIC30F4012で、CAN-ID_0x240でデータFF 33 32 43 00 00 00 00として
12msで送り続けたいとしたらどうする??さらに

CAN-ID_0x240、データFF 33 32 43 00 00 00 00を12msで、
さらにCAN-ID_0x332、でーたAA 2A 33 3A 33 2A A0を24msで
送信したいときは?
265239:2009/05/16(土) 03:32:09 ID:kVial5Mg
266774ワット発電中さん:2009/05/16(土) 03:38:57 ID:0j6Zer+C
あとはここでCANのAppNoteを読むとか。
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1469
267774ワット発電中さん:2009/05/16(土) 03:56:17 ID:7YCInXM2
最近またCAN小僧が出没か・・・
268774ワット発電中さん:2009/05/16(土) 08:26:52 ID:3iWYZklX
>>264
12ms毎のタイマー割り込みで送信。
0x240は毎回、0x332は2回に1回。
269774ワット発電中さん:2009/05/16(土) 09:23:40 ID:YWJKx/Vd
>>264

幾ら払える?
270264:2009/05/16(土) 10:25:48 ID:1rBX1nPx
265>
持ってる。
でも自分がやりたいことに対してどこを変更すればいいのかわかんね〜〜んだ。
もともと、このプログラムもソースは乗せてるけど、これによって何ができるかわからないんだよね。

266>
たしかに、読んではいるんだけど、自分が読んでる資料がただしいのかすら
わからなくて苦労してるわ。
とりあえず、もっと基本のPWMとかから練習しようかと思ってPWMも並行でれんしゅうしてるんだけど、
そっちも時間かかってて、知識が足りないのはわかってるんだが
「まずはやりたいことを実現しよう」ってことになったのだわ。

今、手元にdsPIC30F4012とCANトランシーバがあるだわ。
271264:2009/05/16(土) 10:28:27 ID:1rBX1nPx
268>
サンキュー。
そうするなり。

269>
道具はそろっていると思う。
ホントに使いこなせるようになるなら5千円くらいはありかと思ってる。
272774ワット発電中さん:2009/05/16(土) 10:33:23 ID:3iWYZklX
>>271
まずはアンカーの付け方覚えろ。
話はそれから。
273264:2009/05/16(土) 10:55:05 ID:1rBX1nPx
>>272
了解
274774ワット発電中さん:2009/05/16(土) 11:26:47 ID:kVial5Mg
CANなんてまったくやったことがないんだが、
接続は、PICのC1TXをCANトランシーバのTXD、PICのC1RXをCANトランシーバのRXDだろう
275774ワット発電中さん:2009/05/16(土) 11:35:41 ID:3iWYZklX
>>273
ではまずdsPIC30Fシリーズの日本語マニュアルを見ること
http://ww1.microchip.com/downloads/en/DeviceDoc/70046b_jp.pdf
それと当然だがdsPIC30F4012のデータシートも。
これを見ながら>>265のソースと見比べる。

それとCANを扱うにはCANの基礎知識が必要。例えばこんな所。
http://www.toyo.co.jp/page.jsp?id=3408#can04

まずはマイコン内蔵の周辺機器だけで解決するようなモノを扱えるようになってから
CANなど外部の周辺機器との連携に手を出すのが吉。
276264:2009/05/16(土) 11:41:33 ID:1rBX1nPx
みんなさんきゅ

>>274
トランシーバのほうは8ピンやしデータシーと見たら速攻わかったよ。
マイコンのほうはピンにCANって言葉がないからてこずったわ。
ほんまおおきに。

>>275
http://ww1.microchip.com/downloads/en/DeviceDoc/70046b_jp.pdf
これおおきに;。
マイコンの世界は完全初心者やから
見ないとあかん資料がどこにあるのかすらわからんねやわ。
ほんまたすかる。

CANの基本知識はだいたいあるつもりやで。

ちなみに
マイコン内蔵の周辺機器だけで解決するようなモノ
ってたとえばなに?
モータ制御とかLEDちかちかとか??
277774ワット発電中さん:2009/05/16(土) 11:56:56 ID:3iWYZklX
>>276
>マイコン内蔵の周辺機器だけで解決
>モータ制御とかLEDちかちかと
そう単純なIOとかAD・PWM出力・タイマー・インプットキャプチャー等。
あとはUART。UARTはパソコンとの通信だが単純でweb上にソースも多いので
すぐに出来るだろ。

これらでマイコンの内蔵レジスタの役割や使い方を覚える。
そうすればCANの基礎知識があれば同じようにすんなり使えるはず。
278774ワット発電中さん:2009/05/16(土) 12:01:02 ID:2CyzW/BI
>>276
例えばこの記事を順に読んでいくと、どこで判らなくなる?
ttp://www.eleki-jack.com/mycom2/pic/cat94/can/

なんとなくだが、まずはPICというよりもマイコン自体の基礎知識を
つけるべきのような気がするんだが。その上でチップとして何を
使うかを選択した方が良いと思う。
結果AVRを選択するという結論になるかもしれない。
279264:2009/05/16(土) 12:32:38 ID:1rBX1nPx
>>277
了解。
というか、上述のようにやってはいる。
今、UART使用で2桁のLEDを制御。
これは配線の問題で部品調達中。

PWM制御はただいま勉強中。
これもやろうとしていて、
2モータの車を購入したがPWM(マイコンの知識)の準備ができないので、
動作できない。

>>278
(3)からわからなくなる。
(1)、(2)も完全に理解しているというより、
ここで「わからない」といってしまえば話が終わってしまうので
わからないと書いていないのかも。。

(1)はわかる。

(2)は微妙。
コントローラがいるのはわかる。
そのマイコンにCANがついていないからだ。
また、逆にUARTとMCP2515(コントローラ)とMCP2551(トランシーバ)があれば
CAN通信できることがわかる。
ただし、自分が持っているマイコンがCAN内臓であることで、
違うシステムとなり少し混乱。

(3)から自分の使うマイコンとの違い(CAN内臓とコントローラ使用)に対し、
そのままコードや手順が使えるのか微修正必要なのかが不明&混乱。

(4)は(3)同様。

(5)は(3)同様。

(6)は(3)同様。

(7)はわかるようなわからないような。

(8)はわかるようなわからないような。

(9)は動作確認なので読んでいない。

(10)はわかる。
280774ワット発電中さん:2009/05/16(土) 13:04:11 ID:3iWYZklX
>>279
CANに関してそこまで理解しているなら大丈夫だと思う。
あとはマイコン独自のレジスタ操作とデーターシートに慣れる事。

CAN等はマイコンだけでなく周辺機器も絡んでくるので
何処に問題があり動作しないかの確認が難しい。
CANアナライザー等を持っているならCANから入ってもいいかもしれんが・・・

まずは簡単に直接目で見て動作確認できるものの作成をお勧めする。
281264:2009/05/16(土) 13:31:14 ID:1rBX1nPx
ちなみに、PIC30F2012はPWM:2チャンネルとあったが、
どのピンなのだろう??
それとも
DIOのピンをPWM制御してくれるのだろうか??
おせ〜てくれたまえ。
282774ワット発電中さん:2009/05/16(土) 13:38:21 ID:3iWYZklX
>>281
ちっとまて!
2012なり4012なりハードウェアーマニュアル見れ!
そこにブロックダイアグラムと共に書いてあるがな。
それすら見ずに質問するな!
283774ワット発電中さん:2009/05/16(土) 13:39:39 ID:WNPEgblm
データシートの読み方を学んだほうがいい。
やりたいことに能力が追いついてないから簡単なことからステップアップしていったほうがいいよ。
急がば回れってやつだ。

一々事細かに説明しないと出来ないのであれば本を買ってみるのもいいかもしれない。
流れを掴んだらあとは自力で解決できるようになるからね。
284774ワット発電中さん:2009/05/16(土) 14:11:50 ID:YWJKx/Vd
>>281

払うもの払えば幾らでも教えてあげるよ
285774ワット発電中さん:2009/05/16(土) 14:19:15 ID:dIZSHTkD
払うものがなければ体で払ってもらってもいいんだぜウホッ
286264:2009/05/16(土) 14:40:27 ID:1rBX1nPx
結構本とかよんでるんだけどな〜。・
みんなどうやって勉強した??

近くに詳しい友達とかいたらいいだけど。。
287774ワット発電中さん:2009/05/16(土) 14:45:33 ID:iKnsWBoh
大量の本読んで考えれば大抵判る
288774ワット発電中さん:2009/05/16(土) 14:47:49 ID:kVial5Mg
慣れてくると、『データシートに書いてあるじゃん』となる。
慣れるまでは、どこに書いてあるかすらわからん。
結局は慣れと経験なんで、わからんところを解決しながらとにかく完成品を作り続けるのが近道
機能をちょっと使ってみるのとちゃんとした完成品を作るのとはまるで違うし得られる経験値も桁違いだと思う
なので、自分なりに仕様を決めて完成するまでがんばるのがお勧めの勉強方法
289264:2009/05/16(土) 14:54:13 ID:1rBX1nPx
>>288
さんくす。
そのとおりだ。
ということで、
仕様はもう決まってる。
1.2桁の7セグLEDで1分間ストップウォッチ
2.2モータのついた車をサイン起動で走行
3.CAN吐き出しボックス。(ある信号はポテンショメータで数値調整、ある信号はスイッチで3つか4つの数値を選ぶ、ある信号はずっと同じ値)

てなかんじだ。
これを完成するために今色々本とかネットとか見てる。
これを書いたり読んだりしてる間もずっとマイコンいじくってるよ。
290774ワット発電中さん:2009/05/16(土) 14:56:30 ID:2CyzW/BI
>>286
なんでデータシートが読めないのか判らないが、例えば英語のせいで
自分の欲する情報がどこに記載されているのか良く判らないなら、
ttp://ww1.microchip.com/downloads/en/DeviceDoc/30292aj.pdf
ttp://ww1.microchip.com/downloads/en/DeviceDoc/30292c.pdf
上が日本語、下が英語のPIC16F87xのデータシートだから、両方を
読み比べながら勉強するのが良いかと。

PICのデータシートの構成は大体同じだからこれで慣れれば他の
PICのデータシートも読めるようになるはず。
291264:2009/05/16(土) 15:03:47 ID:1rBX1nPx
ところで、そのdsPIC30F2012が急に書き込めなくなってしまった。
どないしょ。。。。

熱さによわいとかある???
292264:2009/05/16(土) 16:01:44 ID:1rBX1nPx
>>282
ちなみに
>>281の答えはいかに。。。
適当なDIOになんかさせたらいいのか???

あと、データシートの探し方おせ〜て。。

しらなかったらいいけど。
293774ワット発電中さん:2009/05/16(土) 16:09:32 ID:3iWYZklX
>>292
データシートぐらい自分で探せ。
普通はメーカーサイトに行くだろう。そこで検索すれば出てくる。
294774ワット発電中さん:2009/05/16(土) 18:29:57 ID:j+bqGgAr
dsPIC30Fのデータシート一覧のページ
ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182&mid=14&lang=en&pageId=75

dsPIC30F2012データシート(206ページ)
ttp://ww1.microchip.com/downloads/en/DeviceDoc/70139F.pdf

今後は自分で探せよ
295774ワット発電中さん:2009/05/16(土) 18:38:04 ID:j+bqGgAr
>>289
> 1.2桁の7セグLEDで1分間ストップウォッチ
1.LCDで1分間ストップウォッチ
の方が良いんじゃね。7セグLEDは結構面倒だよ。
反対にLCDは結構楽で、LCD表示出来る様になると色々応用が効く。
500円で安いし。
ttp://akizukidenshi.com/catalog/g/gP-00040/
296774ワット発電中さん:2009/05/16(土) 19:28:00 ID:sc2TU2uZ
Data Sheet Finderも用意されとるよ。
ttp://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2046

>>295
別に7セグ面倒でも無いだろ
297774ワット発電中さん:2009/05/16(土) 19:42:34 ID:0j6Zer+C
>>296
LEDを点灯させるのとキャラクタLCDを使うのとではソフト側の抽象化レベルが違うから、
より低いレベルまで降りなきゃいかんLEDのほうが面倒、ってことでしょ。

2桁点灯だけで比較すれば、どっちでも手数は大して変わらんと思うは思うが。
298254:2009/05/16(土) 20:19:20 ID:d3D49qXA
>>260
>>261
>>263

254ですが、もし故障したとなるとどうなるのでしょうか?
通電してみたのですが、LEDを単純に点灯させるだけなら正常につきましたが、
LEDをスクロールさせたりすると変な所にランプがついたりします。

このような故障はあるのでしょうか

壊れるなら煙が出て無反応なぐらい分かりやすく壊れてくれたらいいんだけど、どうなんでしょう・・
プログラムのミスならうれしいんだけど
299264:2009/05/16(土) 21:11:58 ID:1rBX1nPx
>>294
三きゅ。
お気に入りにいれといたよ。
で、今本読んで勉強中。

今、タイマーとかCCPの辺読んでますわ。

ただ、ちょっとだけ教えてほしい。
PIC30F2012でPWMつかいたかったら、
モータに接続するトランジスタはどのピンにつなげるんや??
結局まだ今のところわかってないんだわ。
RC13とRC14??
それともRB0〜9&RC13、14&RD8、9&RF2〜5どれでもいいの??

それだけ教えて〜。

ハードの問題もあって先に作っていかんとあかんから。
300774ワット発電中さん:2009/05/16(土) 21:16:31 ID:XVRJJEpl
>298
故障よりプログラムミスを確認した方がいい。
前回の上限の4倍のクロックを入れた件は、勘違いの可能性が高いと思う。
(おそらくMPLAB SIMのProcessor Frequencyの設定あたりでは)
ソフト側の設定のみで周波数を上限よりも高くするとなるとPLLがある
PIC24やdsPICじゃないとできない。
まず使っているPICと外部に水晶がついているならその周波数を確認すべき。

まあLEDの件はBCFやBSFを直にPORTに使っているっぽいけど
301774ワット発電中さん:2009/05/16(土) 21:28:15 ID:sc2TU2uZ
>>299
OC1/OC2じゃね?
302774ワット発電中さん:2009/05/16(土) 21:29:13 ID:d3D49qXA
>>300
この前動作確認した時に、PICの型メモってたの完全に忘れてたので思い出してしらべてみました。
PIC16F877Aの最大周波数が20Mhzなのに対して4Mhzで入れるようになっていました。

それに20Mhzで入れたので問題ないってことですよね。。

ということは水晶の周波数が20Mhzより低ければ、今度はそちらの故障も考えられるのでしょうか
とりあえずプログラムのミスということで、今度確認してみます。
303774ワット発電中さん:2009/05/16(土) 21:45:53 ID:DU96rZdo
ググレ

といいたかったが16Fまでしか触った事の無い俺にはちんぷんかんぷんだったぜw
何だこれ、どの機能に割り当てられてんだw
っと思ったらやっぱり書いてあるな、16Fとは違う名前なんだな。
304774ワット発電中さん:2009/05/16(土) 22:04:04 ID:j+bqGgAr
>>299
PWM1出力が24番ピンのOC1
PWM2出力が23番ピンのOC2
305774ワット発電中さん:2009/05/16(土) 23:25:51 ID:trqSXFcq
PICを使いたいのなら、まずマニュアルの隅から隅まで一字一句
読むこと。それでどの程度のスキルかわかる。なんじゃかりゃ?
なら、PIC初心者解説書へ直行。英語の勉強が必要な場合もあるが、
日本語の翻訳マニュアルもあるから、それほど困らないだろう。
306264:2009/05/16(土) 23:42:31 ID:1rBX1nPx
>>304
サンクス。
全然違うピンにつなげてしまってるわ。

>>305
そんなものがあるのか??
「PIC初心者解説書」一度見てみる。

って、そんなものないぞ??
くれ。。。
307264:2009/05/17(日) 01:36:50 ID:SqzvLXPg
ちなみに
dsPIC30F2012が死んでしまった。
2つあるんだけど、
2つともやられた。
デジタル入出力とGNDの間に0.6Wのスピーカつけてただけやのに。。

初心者がマイコン壊すときってどんなとき??」
308774ワット発電中さん:2009/05/17(日) 01:55:18 ID:qe7fxaeB
>>307
普通のダイナミックスピーカーなら直流抵抗小さいから、
出力をGNDショートするのと同じだよ
309774ワット発電中さん:2009/05/17(日) 01:57:32 ID:IUSP2ehA
>デジタル入出力とGNDの間に0.6Wのスピーカつけてた

8Ωか4Ωのスピーカーだろ?
電流を流し過ぎ!!!  絶対最大定格を確認シロ!
310264:2009/05/17(日) 02:02:36 ID:SqzvLXPg
>>308>>309
マイコンこわれたんかな???
(トラ技の付録で)
一応、ブートローだは動いてるみたいで、電源入れるとLED点滅するんだけど、
残念なことにダウンロードが成功しない。
311774ワット発電中さん:2009/05/17(日) 02:15:31 ID:bcIp/mo2
>>310
マイコンが壊れたというのは、錯覚だと思う。壊れたのは、あなたの
頭つまり大脳だと思う。早く身辺整理してシャットダウンしたほうがいい。
人類のために、世界のために。
312264:2009/05/17(日) 02:34:42 ID:SqzvLXPg
>>311
それは言わない約束だろ。。。

あくまで、マイコンの話をしよう。
壊れたのが錯覚ということは生きてるのか??

どうすれば元に戻る???
313774ワット発電中さん:2009/05/17(日) 03:34:13 ID:+dHzjgie
戻らない あきらめれ
314774ワット発電中さん:2009/05/17(日) 04:00:02 ID:bcIp/mo2
>>312
ああ、そうだね。ごめんごめん。

で、PICが挙動不審になったら、足を折り曲げて捨てる。これは徹底して
やった方がいい。ちょっと使えるかもって保存希望なんてしちゃうと
後で痛い目を見ることになる。だから、今回も、うだうだやらずに、
新品を購入する。基板なら基板ごと交換。それですっきりします。
そして、猛勉強する。明るい未来はすぐそこですよ。がんばれ!!!
315774ワット発電中さん:2009/05/17(日) 09:25:52 ID:NaY+NL+J
>>264は放置して睡眠起床スタンドをピーコしようぜ

http://www.youtube.com/watch?v=AtKgzpkIiKE
316264:2009/05/17(日) 10:08:00 ID:SqzvLXPg
PICマイコンの型番の後ろのほうのアルファベットって何??

たとえば
@
[PIC16F873A-I/SP]
の「A」とか
PIC16F873とPIC16F873Aは何が違うの??
そのほかの型番は?

A
[PIC16F873A-I/SP]
の「I/SP」とか
20/SP、I/P、I/SP、40/SS、I/SSなどなど色々あるが。
317774ワット発電中さん:2009/05/17(日) 10:26:02 ID:nnjU3FhP
何で聞いてばかりなの?死ぬの?

お前の考えの一つも示してくれれば少しは調べたんだなと思って優しく説明したくなるんだがな、特に1番については
318264:2009/05/17(日) 10:47:49 ID:SqzvLXPg
>>317
生きる

わからんもんはわからんのだよ。
これって、知識だから俺の考えがはいるとそれはただの想像で、
事実からはさらに遠くなるじゃん。
319774ワット発電中さん:2009/05/17(日) 10:50:16 ID:D4AtkTmF
>>318
調べるれば分かることを…
「分からんものは分からん」で済ます奴は来ないでよいよ
320774ワット発電中さん:2009/05/17(日) 10:50:58 ID:NaY+NL+J
だから264は放置するか金を払わすかしろとあれほど。
エンジニア系は悪い意味でいい人ばかりw
321774ワット発電中さん:2009/05/17(日) 10:54:55 ID:qboTEzu9
>>318
単純な知識だって分かってるんなら自分で調べなさい。
それとも此処の回答者は、一般人が知りえないような内部情報を知っている
Microchipの中の人だとでも思ってるの?
322774ワット発電中さん:2009/05/17(日) 10:56:38 ID:aUpM7eMR
確かになぁ
教えて君なままで、世話になった分を人に貢献しようとか思う性質でも無いようだし
「訊ねているのだから教えてもらって当然」君か
323774ワット発電中さん:2009/05/17(日) 11:16:56 ID:DU8oES4C
>>294 >>304とレスしたけど
こんな奴に教えてやるんじゃなかったと後悔しきり。
あ〜 腹立つ奴だなあ
324774ワット発電中さん:2009/05/17(日) 11:34:39 ID:2E4Saa2u
Aは秋月のA。扱い量が大きいから専用ロットになる。
中身は表向き変わらない。
他店に流れたものはそのバルク。
325774ワット発電中さん:2009/05/17(日) 11:59:42 ID:7j8zNsKs
うそはいかん
326774ワット発電中さん:2009/05/17(日) 12:11:09 ID:T2BNhRxX
優しすぎワロタ

たとえ2chでも人に物を尋ねる態度って物があると思う。
327264:2009/05/17(日) 12:12:46 ID:SqzvLXPg
みんな、ありがとう。
ちょっとずつ理解してきたよ。

>>319
君の言うとおりだ。
わからないものをわからないで済ませるようなことはいけない。
しっかり教えてくれ。
俺も、自分でも調べるし、それでわからなかったことは
先輩であるお前らに教えてもらうしかない。
頼りにしてるんだ。

>>321
おしい。
microchipのひととかあまりいないんじゃない??
一般人が知りえないような内部情報を知ってる人がいるともおもってない。
ただ、「一般人が知りえないような専門知識」を持っている人が集まっているとは思っている。
お前らみたいに。

>>322
教えてもらって当然とは思ってないぞ。
感謝してる。
マジ!!
そして、恩返しはするつもりだ。
ただ、今の俺がお前らに返せる力がないだけだ。
「PICの仲間でDSPICってのがあるんだよ」って
俺がお前らに教えても別にありがたくないだろ?
だから、俺がマスターしたらお前らが俺に教えてくれたように
次の世代につたえるんさ。

>>323
腹がたったなら誤る。
ごめん。
ただ、お前の情報は結構有益で感謝している。
328774ワット発電中さん:2009/05/17(日) 12:40:29 ID:qcsNKK3T
>>327
あなたには基礎知識がたりないようなので
まず本を買って勉強してください。
そこでわからないことがあれば、webなりで検索して勉強してください
それでもわからない事があれば、みんなの意見を聞いて勉強してください

問題を理解せずに、答えだけを求めていては知識として無駄です、
応用ができない、カチカチ頭になりますよ

問題を理解しようと試行錯誤して、いろいろな知識が入ってくることで
ひとつの問題の解決だけではなく複数の問題解決につながるはずです。

教えてもらうだけではなく、自分の力で解決する楽しみを知ってください。


って堅苦しいこと言っちゃったー
久々の休日ピックピクするぞおおぉぉぉ
329774ワット発電中さん:2009/05/17(日) 14:01:36 ID:DU8oES4C
>>299
> で、今本読んで勉強中。
>
> 今、タイマーとかCCPの辺読んでますわ。
何冊か本持ってるようだけど
dsPIC活用ガイドブック
ttp://www.amazon.co.jp/dp/4774128635/
は持っているのか?

持っている本で優先度の高いものから3冊をここに示せ。
330264:2009/05/17(日) 14:28:35 ID:SqzvLXPg
>>329
下記のとおりだ。
4つになってしまったけど。

トラ技2007年9月8月

ELEKIT
http://www.elekit.co.jp/topics/detail/00073

作る・できる/基礎入門 電子工作の素
http://www.amazon.co.jp/exec/obidos/ASIN/4774130788/slandam-22

C言語によるPICプログラミング入門
http://www.amazon.co.jp/gp/product/4774115924/ref=sib_rdr_dp
331774ワット発電中さん:2009/05/17(日) 15:03:51 ID:pHC/18uJ
まぁこんな便所の落書きと同程度の匿名掲示板から
有益な情報を得ようとしたり、
示した情報に対して返礼や対価wを求めようってのもなー
332774ワット発電中さん:2009/05/17(日) 15:07:48 ID:DU8oES4C
>>330
今の問題解決の頼りになるのは
トラ技 2007年8月、9月号
ttp://toragi.cqpub.co.jp/tabid/175/Default.aspx
ttp://toragi.cqpub.co.jp/tabid/174/Default.aspx
の2冊だけだな。後の本は、今の問題解決にはほとんど役にたたん。
しかし、2つ持っていた、トラ技8月号ふろくのPIC2個ともダメにした可能性高し。
(今までブートローダ方式でプログラムを書き込んでいたのでPICプログラムライタは
持ってないんだろうなあ)

マルツで同じものを買うか?
ttps://www.marutsu.co.jp/user/shohin.php?p=40076

今後、本腰を入れて目的を実現したいなら
dsPIC活用ガイドブック
ttp://www.amazon.co.jp/dp/4774128635/
これ買うだな。

でもトラ技のふろく壊しちゃったなら、何もdsPIC30F2012にこだわる必要もないん
だよな。

>>289
> 2.2モータのついた車をサイン起動で走行
>>299
> ハードの問題もあって先に作っていかんとあかんから。
2モータ自動車を動かそうとしているんだよな。

さあ、今後どうして行く? お前の今後の方針イメージを教えろ。
333774ワット発電中さん:2009/05/17(日) 15:09:36 ID:NaY+NL+J
匿名つうか誰が見てるかわからん所で有益な情報を提供するはずはないし
対価を求めるなら情報を示す前だな。
334774ワット発電中さん:2009/05/17(日) 15:44:47 ID:YA8IJyGL
ヒントとか、ここにあったよー的な情報は結構ころがってて嬉しいけどね
335774ワット発電中さん:2009/05/17(日) 21:41:38 ID:F+UvjS5G
すいません 初心者でなやんでいます

デバックモードでは動くのですが、Programモードで書き込むと
何も動きません、多分設定だとは思うのですがよくわかりません
MPLAB、Pickit2からの書き込みも同じです  どなたかたすけてください
336774ワット発電中さん:2009/05/17(日) 21:52:41 ID:oLOm49Pu
Release modeで buildしてないんじゃね?
あと WDTとか・・・
337774ワット発電中さん:2009/05/17(日) 23:33:59 ID:F+UvjS5G
>336

環境 トラ技術 dspic30F2012+トレーニングボード+AKI-PIC2 WDTはOFFです
LEDの点滅だけですが、なぜか書き込みは正常終了しているのですが動作しないです
なぜだろう。。。
338774ワット発電中さん:2009/05/18(月) 00:15:24 ID:59lTXKbA
スピーカーでも繋いだんじゃね?
339774ワット発電中さん:2009/05/18(月) 00:38:45 ID:B0UBpVrJ
>337
この前 自分が経験したのは、MCLRをプルアップしてなかった時
Pickit2でデバッグ中はPickit2がMCLRをHiにしてくれてたみたい。
340774ワット発電中さん:2009/05/18(月) 00:41:26 ID:Q/UUfamR
>>337
誰がやっても問題なく動くものを、あなたが弄る(いじる)と
動かない。間違いなく故障でしょうね。
341264:2009/05/18(月) 07:12:26 ID:5tFVjrtO
>>332
あんたのいうとおりなんだよ。
いままで、ブートローだで書き込んでたからPICKIT2もないし、
RS232C⇒マイコン信号の変換ICはもうそろそろとどくんだけどね。

付録壊しちゃったからDSPICにこだわる必要なくて、
今、手元にDSPIC30F4012は購入したのが2個あるけど、
とりあえず、モータ動かすのはPIC30F873とかを購入することもけんとうしてるんだよね。

とにかく、ライタとかもなしで、ブートローだをどのPICにも埋め込むこととかもできたらいいなっておもったり。。。。

今までの付録のありがたかったことは書き込み成功したか失敗したかが、
その付録自身でわかるようにLEDが光ってくれてたってことかな。。

今もってるやつで書き込みをやっても今のところうまく書き込めてるかの確認が不安やわ。

ってことで、今後の方針はちょっとづつ考えるわ。
現時点でわかったのは今後もマイコンを何かの拍子に壊してしまうかもしれないってこと。
あとは、その壊れたことを俺が気づく手段が必要ってことかな。
342774ワット発電中さん:2009/05/18(月) 08:56:21 ID:R2heiO0g
>>337
書き込んだはずのプログラムが書き込まれていないってことない?
最初、自分がそうだった。
書き込まれているはずのプログラムを読み出してみたら
イレースされた状態だった。

昨日はVCCとアースを間違えてつないでしまってPICが熱くなった。
手でさわって熱いと感じる程度なんだけど
あわてて電源切ってつなぎなおしたら動いた。
PICって丈夫なんだね。
343774ワット発電中さん:2009/05/18(月) 09:46:20 ID:59lTXKbA
バッファローのPC用学習リモコンって16F688積んでるみたいね。
基板にはスルホール用の穴が開いてるがICSP用以外に考えられない。
344774ワット発電中さん:2009/05/18(月) 13:47:24 ID:F1Xux8Wv
>PICって丈夫なんだね。
運が良かっただけ。
あと電源がなにかによる、乾電池だと少しだけ逝きにくいけどACアダプタだと高確率で逝く。
電源の接続を間違えないようにコネクタにしたほうがいいよ。
345774ワット発電中さん:2009/05/18(月) 15:03:52 ID:NUYZDu8X
20MHzのクロックを内蔵した12系出してくれないかなぁ…
もしくは、T1CKIを別にピンにアサインするか…

16系使えば良いんだろうけど、そこまでIO要らないんだよな。
346774ワット発電中さん:2009/05/18(月) 15:16:38 ID:o42Gs6OX
>>345
大きさが気になるなら表面実装使えばいいじゃまいか
347774ワット発電中さん:2009/05/18(月) 16:27:54 ID:ci2geF+T
クロック8MHzだと不足で20MHzなら足りる、8ピンPICが使いたいような
アプリケーションがどんなものなのか、ちょっと気になる。

ブロック崩しとかかな。それとも、PWM出力で分解能と周波数がもうちょっと
欲しい、とかかな。それだと少々ピンが余ってもどうということもないか・・・
348774ワット発電中さん:2009/05/18(月) 17:44:01 ID:NUYZDu8X
液晶制御基板と液晶パネルの間にPICを挟んで、液晶に渡す同期信号を弄りたいのだわ。
処理を1ライン内(20us程度)で終わらせないといかんので、8MHzだとちょっと厳しい。

まぁピンが余るの気にしないようにすれば16シリーズでなんら問題ないんだが。
349774ワット発電中さん:2009/05/18(月) 17:56:13 ID:o42Gs6OX
>>348
どうしても少ピンにしたいということで考えて、8ピンでも1ピンCLKINにしても
出力4ピン(入力なら5ピン)あるけどダメ?
350774ワット発電中さん:2009/05/18(月) 17:59:57 ID:eZAjGjEh
8pinはシステムクロックとタイマー1クロックが排他になってるからな
351774ワット発電中さん:2009/05/18(月) 18:30:30 ID:ci2geF+T
>>348
回答ありがとう。
タイミングがシビアな用途だと確かに8MHzで足りないことも多いね。
DIPで小型だと品種が限られるからなぁ。
PIC以外のマイコンだと8ピンDIPでも内蔵OSCでフルスピード出るのもあるけど、
それだと今度はPICほど入手性が良くなかったり高かったり。
352774ワット発電中さん:2009/05/18(月) 20:53:14 ID:zhOwVJL1
>348
PICにこだわらなければ、最近 秋月で取り扱いだしたAVR Tiny13A \120
http://203.183.174.79/catalog/g/gI-02911/
内蔵で9.6MHzあるから PICで言えば40MHz弱相当
353348:2009/05/19(火) 13:12:42 ID:0JS7f92u
制御基板から出てるデータクロック(約40MHz)を分周してクロックソースにするのが
信号タイミング的に一番最適な気がしたんで、なんとなくdsPICを注文してみた。

4分周して10MHzにしてPLLで8倍にする方向で。
354774ワット発電中さん:2009/05/20(水) 18:35:32 ID:kQMFCZdW
8ビット系の内部クロックは8MHzが最速と思っていたが、16MHzモデルが既にあり、32MHzモデルもまもなく
リリースされるようだ。16MHzモデルのデータシートを何気に眺めていたら、Capacitive Sensing Module(8〜16CH)が搭載されている。
タッチキーセンサーを使ったアプリケーションを考えてみようかな。
355774ワット発電中さん:2009/05/20(水) 23:05:50 ID:3bEHgwx/
>>354
PIC18も8ビット系だけど、内蔵8MHzオシレータからPLLで48MHz作れる品種が
2年も前からあるよ。PIC18F87J50ファミリとかが該当。

PLL使わず、固定周波数のオシレータが直接16MHzとか32MHzとかを生成するって
ことなんだろか・・・
356774ワット発電中さん:2009/05/21(木) 01:45:46 ID:gDlxgseN
嗚呼、4k使い切ってしまった。lite版のhexだと入り切らねぇ
どーすれば良いんだ?
アセンブリは頭がおかしくなるから使えないし
357774ワット発電中さん:2009/05/21(木) 02:37:41 ID:YS51qxwJ
>>356
HI-TECH社の罠にはまったな。製品版買うとhexファイルを4k→2kの半分にしてくれるよ。
え〜!製品版って、こんなに高いの!
358774ワット発電中さん:2009/05/21(木) 07:52:39 ID:nAu3ef/A
>>356
AVRに行こう(移行)
359774ワット発電中さん:2009/05/21(木) 08:32:09 ID:vyudOVpr
>>356
8kワード品種か、PIC18かdsPICにしてみては。
360774ワット発電中さん:2009/05/21(木) 10:11:50 ID:w/x7/8iK
>>367
liteじゃなきゃ入るんだけどね。バイナリ配布出来ないし。
例えば、liteで入りきらないソースコードが公開されてたとしても、入手した人は何も言わないのは暗黙の了解?
もちろん、評価目的にね。

>>358
AVRの方がピン数多くて、メモリも少なくね?

>>359
16F88専用にガッツリ作ったので、変更は酢



当たり前なのかも知れないけど、if-else文を三項演算子に置き換えたら、バイナリがさらに増えてるし
361774ワット発電中さん:2009/05/21(木) 10:21:01 ID:pfwn8rxB
Cしか使えない頭の方をなんとか汁!
362774ワット発電中さん:2009/05/21(木) 10:32:17 ID:lWi/qdrk
俺なんかアセンブラしか使えんのに・・・
誰かCを教えてほしいわ。
363774ワット発電中さん:2009/05/21(木) 10:49:25 ID:w/x7/8iK
    ∧__∧
    (`・ω・´)  C言語は拙者にとって刀でござる
   .ノ^ yヽ、
   ヽ,,ノ==l ノ
    /  l |
"""~""""""~"""~"""~"
364774ワット発電中さん:2009/05/21(木) 10:56:02 ID:VwO7n7RC
>>356
コンパイラが最適化しやすいようなソースコードに書き換える
場合によってはアルゴリズムから見直す
365774ワット発電中さん:2009/05/21(木) 11:10:51 ID:DYeWdbDu
>>362
仕事で使ってるんで言語自体は問題ないし、たぶんアセンブラがわかれば
すぐわかるものだけど、ライブラリとかめんどくせー。みんな違うし慣れるまでは
ヘルプ見まくりで。PICに限らんけどね。
366774ワット発電中さん:2009/05/21(木) 11:49:23 ID:w/x7/8iK
>>364
いやだから最適化されないんだって
SFRの初期化順番変えても、その都度バンク切り替えやがるし、ループからベタ書きにしても下手すると4wordしか違わなかったり(逆を言えばベタ書きをループにしても、下手するとその程度)
367774ワット発電中さん:2009/05/21(木) 12:15:48 ID:vyudOVpr
>>360
当初の目的からずれるだろうけど、もしもバイナリだけでなくソースの公開まで
考えているんだとすれば、一足先に今のソースを公開して、Liteで入りきるまで
ソース最適化できるかどうか呼びかけてみるってのはどうだろうw
368774ワット発電中さん:2009/05/21(木) 12:57:08 ID:DGzEizMM
>>366
Lite版のVersionは?
旧版だとある程度最適化するのもあるんじゃない?
俺は開発、これからだけど
色々と調べて、PL4で行こうと思ってるんだが。
369774ワット発電中さん:2009/05/21(木) 16:14:09 ID:w/x7/8iK
>>367
削れる所は沢山あるので(設定値をメニューから変更させずに、ハードコーディングにするとか)
もし、公開するとしてもハッカーの皆さんの助力に頼る必要はあまり無いかもしれません。
それより、世の中怖い人が多いので、評価版の悪用(?)を前提にコードを公開して攻撃される方が怖いですわ。

>>368
PL5っす。
私も今回が初めてなんで、ひょっとしたら良い事聞いたかも。
でもPL4だかPL3って致命的なバグ持ちって何処かで見た覚えが…(勘違いだったらスマタ)
370774ワット発電中さん:2009/05/21(木) 21:13:04 ID:EUa+oNdG
こうして目的が古いマイコンを無理して使う事にすり替わっていくのでありましたとさ。
371774ワット発電中さん:2009/05/21(木) 23:26:33 ID:9rVq8Jy5
ETHERNET PHY 内蔵の安い MCU 探してるんだけど、やはり
PIC シリーズが良さそうですか?評判が聞けると有り難いので
す。要求としては軽いデータを別のマイコン(IPスタックは載らな
い)からIPパケットに載せて送るだけです。

近い価格帯では、
-- ASIX AX110xx
 (ちょっと高いけどパフォーマンスは良さげ)
-- WIZnet W3150/W5100
 (.kr なんで却下)
あたりのようです。

他にも SH2 とか ColdFire の PHY 付きなどが見つかりますが、
要求に対して高機能&高価なんで選外。
372774ワット発電中さん:2009/05/21(木) 23:30:06 ID:e3Zy1MkG
PICスレなのにさらに脱線
373774ワット発電中さん:2009/05/22(金) 02:24:56 ID:AaHIgwBq
PICシリーズが良さそうですね。
374774ワット発電中さん:2009/05/22(金) 08:09:39 ID:1Tv2OVHC
>>372-373
PIC スレで聞く事自体、まぁそうなのかもしれんのだが、
やたら目にする割に私の周りで使ってる例を聞かないの
で聞いてみたんです。
(AVRとルネサスばっかり目にするもんで・・・)

よくみたら売り物のコンパイラも有るし、automotive グレー
ドのチップも出してるし、気のせいなのだろう。きっと。
375774ワット発電中さん:2009/05/22(金) 09:28:35 ID:oKddxnaW
>>374
まあ、仕事はルネサスで組めが多いかなあ。 親会社と打ち合わせして
PICの話だしたら、「ん?何、PICって」とか言われたしw
376774ワット発電中さん:2009/05/22(金) 09:37:46 ID:eA8D7Ezu
日立系の人なのでは?
未だに認定部品しか使っちゃダメ
なのかな?日立
377774ワット発電中さん:2009/05/22(金) 10:25:43 ID:oKddxnaW
>>376
日立とは決まってないけど、NEC、日立、東芝、富士通とにかく保守的なのは
仕方がない。
378774ワット発電中さん:2009/05/22(金) 10:52:55 ID:Kfrj0aYZ
>>371 ETHERNET PHY 内蔵の安い MCU 探してるんだけど、

LM3S6100 990円
http://www.luminarymicro.com/products/lm3s6100.html
http://digikey.com/scripts/dksus.dll?Detail&name=726-1070-ND
379774ワット発電中さん:2009/05/22(金) 17:02:52 ID:AaHIgwBq
価格で比較するとやっぱりPICになってしまうのかね。
PIC18F66J65 688円
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=PIC18F66J65-I/PT-ND
380371:2009/05/23(土) 08:52:09 ID:4bG+EoTD
>>375-379
情報、ありがとうございます。

>375-377
 海外(東南アジア)の連中は AVR 使いたがって、国内の
 お客さんはルネが多いって感じですね。秋月なんかの店
 頭とのギャップに萌えって訳じゃないですけど、隣の人が
 使ってないので使わないみたいな空気を感じます。
 やっぱり細かい使い勝手とか動きは、実績の有るマイコン
 がいいですから仕方無しの面も有るのでしょう。
>378 スレチながら情報ありがとう御座います。要求次第です
 が面白い存在ですね。
>379 結局これかなって感じですね。バリエーションも有りま
 すし、入手性も問題なさそうですし。
381774ワット発電中さん:2009/05/24(日) 15:05:06 ID:lr2M27ZL
PICKIT3でエミューレーションしたいので教えてください。

目的のデバイスはPIC16F631です。
PICKIT3から配線を行い、MPLABでプログラミング(書き込み)
できることを確認しました。

だが、シミュレーターにPICKIT3を選択し、[RUN]をおこうなうと、以下のようなエラーが出ます。

PK3Err0040: The target device is not ready for debugging.

Please check your configuration bit settings and program
the device before proceeding.

MCLRは、Vddから、4.7kでプルアップしています。

CONFIG設定は
#pragma DATA _CONFIG, _CP_OFF & _BOR_OFF & _PWRTE_ON & _WDT_OFF & _INTOSCIO
です。

何が問題でしょうか?
382381:2009/05/24(日) 16:05:45 ID:lr2M27ZL
自己解決
ちょっとおばかなミスなので詳細は略
383381:2009/05/24(日) 16:34:42 ID:lr2M27ZL
一応書いておく、デバッグ機能がないものを買ってしまった。orz
384774ワット発電中さん:2009/05/24(日) 16:39:01 ID:2lOwknFb
20pin以下のは ICD Headerが要るんだよな。
18pinで16F88/818/819とか例外もあるけど
385774ワット発電中さん:2009/05/24(日) 17:00:34 ID:lr2M27ZL
PICKITでなくて、ICDにすればよかったかなと思うが
そんな金ねーよ。
386774ワット発電中さん:2009/05/24(日) 17:14:27 ID:2lOwknFb
ICD Headerは MPLAB ICD2/ICD3/PICkit2/PICkit3で共通だよ。
chip DeviceによってHeaderも違うのが厄介な。
ttp://ww1.microchip.com/downloads/en/DeviceDoc/51292P.pdf
ttp://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en027813

他にReal ICEで使う ICE Headerってのもあるようだが
387774ワット発電中さん:2009/05/24(日) 17:22:52 ID:lr2M27ZL
>>386
つまりは、ICD Headerを使えばデバッグ機能なしのPICでも
オンチップデバッグができる、ということですか?
388774ワット発電中さん:2009/05/24(日) 17:30:44 ID:lr2M27ZL
よくわからないが、規模のでかいPIC(ICD Header)に、小さいPICを再現する・・
みたいな?違うかな・・
389774ワット発電中さん:2009/05/24(日) 18:06:46 ID:qoEWvCbP
ICD Header 20米ドル
ttp://www.microchipdirect.com/productsearch.aspx?Keywords=ICD+header
コネクタは、ICD2、ICD3用の電話線コネクタだな。
このICD Headerという部品どうやって使うのだろう?商品写真を見て???
390774ワット発電中さん:2009/05/24(日) 18:16:32 ID:lsG4liM2
>>388
デバッグ機能が付加されたPICを使うような幹事だな。
デバッグ、プログラム用のPGC,PGDピンが単独で追加されている
専用デバイスが乗ってるぞ。
http://ww1.microchip.com/downloads/en/DeviceDoc/ICD2_Header_51292L.pdf
391774ワット発電中さん:2009/05/24(日) 18:50:01 ID:lr2M27ZL
みんなありがとう。
今回は予算の都合で、デバッグにはどっかのピンを1ビット使うことにするよ。
こんなのだったら、pickit買う必要もなかったのに・・・
392774ワット発電中さん:2009/05/24(日) 20:16:47 ID:2lOwknFb
整理するけど、PICkit2対応Deviceリストの右側に(ICD)Debug対応品と、必要ならHeader型番とか示されてる
ttp://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en027813

20pin以下PICの大多数ではICD用に2〜3pinとられてI/O減ることを避けるよう
各専用chip搭載のHeader用意されてるけど、その代わり単体ではICD出来ない仕様 orz
(ICD2〜HeaderはPICkit2/3/ICD3でも共通して使える)
393774ワット発電中さん:2009/05/24(日) 20:20:32 ID:2lOwknFb
>>391
まぁ・・・そう云わず・・・
統合環境(IDE)から更新build→即ICSP出来るだけでも便利だから
394774ワット発電中さん:2009/05/24(日) 20:34:31 ID:lr2M27ZL
最後に1点教えてください。

CONFIGを 内蔵オシレーターモードで
MCLRE=OFF (/MCLRをI/Oとして使う)

で書き込んで、電源を入れると動作開始までに、5秒くらいかかったりしませんか?

(入力ピンをN.C.にしてあるのでこれが原因かな?)
395394:2009/05/24(日) 20:45:15 ID:lr2M27ZL
あーやっぱり、N.C.はまずいみたいだね。
今日はサンキュ>ALL
さて明日からまた仕事だよ。
396774ワット発電中さん:2009/05/28(木) 09:59:33 ID:TdDmmxBD
pic24Fのアセンブラの命令セットのドキュメントってどこにあるのでしょうか?
397774ワット発電中さん:2009/05/28(木) 13:09:33 ID:T18+ZJbh
>>396
pic24f family reference manual section 2 でググる
(そのままだけど)
398774ワット発電中さん:2009/05/29(金) 17:17:00 ID:73Xf1NYI
12Fを逆挿しして5番ピン死亡…

とりあえず、5番ピンをニッパーで落としてパーツ入れに戻した。
399774ワット発電中さん:2009/05/29(金) 18:03:55 ID:3SvoDVaY
本当にそれだけならいいが......
400774ワット発電中さん:2009/05/29(金) 21:30:00 ID:GzeXn5Dk
>>396
君の心の中にあるのさ。
401774ワット発電中さん:2009/05/29(金) 21:39:37 ID:F9r5M64z
こころかぁ(遠い目)

あの時サンフランシスコに置いてきちゃったしなぁ
402774ワット発電中さん:2009/05/29(金) 21:58:42 ID:SzPPOjFe
逆挿しでも死なないように電流制限かければいいんじゃね?
とふと思うけどめんどくさいい、くさくないけどウン○ついてる。
403774ワット発電中さん:2009/05/30(土) 09:09:12 ID:fzl4Skx0
>>398
逆挿し激熱直後: 臨死
数時間後: 復活(A/Dは死亡)
数週間後: 書き込み不安定
数ヵ月後: 脳死

こんな感じ。 うちの12F675
404774ワット発電中さん:2009/05/30(土) 09:13:07 ID:gfytijuD
まるで放射能浴びたみたいだなぁ
405774ワット発電中さん:2009/05/30(土) 10:47:43 ID:xo4OMDJS
逆挿しは、足を曲げて廃棄が一番いい。思い切り良く。
「あ、大丈夫だった!」とかいって保存希望すると
後で大変だ。
406774ワット発電中さん:2009/05/30(土) 12:11:02 ID:LLqa6XUc
RA4にハマった…
407774ワット発電中さん:2009/05/30(土) 15:16:13 ID:UgBXavao
おまいらなんでそんなに逆挿しするんだ?
注意力と慎重さが足りない
408774ワット発電中さん:2009/05/30(土) 15:21:09 ID:KXvbG0nq
>>407
数えるほどしかないけど、18pinに慣れてると8pin間違える。
今まで壊したのは8pinばっかり。注意力ないのは反省している。
409774ワット発電中さん:2009/05/30(土) 18:29:26 ID:xmg9g+pZ
>>408
電源の出力電流しぼって、最大でも75mAくらいしか流れないように
していれば、なんとかなるかもしれない。

俺はよくこれで助かる
410774ワット発電中さん:2009/05/30(土) 20:12:26 ID:Mn5dTWMu
シリアルの書き込み器で逆挿しやったけど無事だった。


>>406
いくらがんばってもLEDが点かない、とか?
411774ワット発電中さん:2009/05/30(土) 20:18:05 ID:ET9E6bhf
オープンドレンか
412774ワット発電中さん:2009/05/30(土) 21:23:11 ID:O2JmjtZF
内蔵発振モード&NOMCLR設定でAKI-PIC2のゼロプレッシャーソケットにPICをセットして書き込んだら
直後にPICが動作しないかビクビクしてるんだが、大丈夫?
413774ワット発電中さん:2009/05/30(土) 21:31:04 ID:ET9E6bhf
AVR のfuse bitみたいの想像しちゃってるのか
414774ワット発電中さん:2009/05/30(土) 21:58:10 ID:OFd/TWVK
>>412
書き込みソフト側で明示的にVDDを与えればPICが動作する。
そうでなければ、読み書き実行までVDDが与えられないのでPICが動作することはない。
415412:2009/05/30(土) 22:07:03 ID:O2JmjtZF
>>414
テスタで確認してみたら、USBの+5VとVDDが直結されてるみたいなんだ・・・
416774ワット発電中さん:2009/05/30(土) 22:21:52 ID:OFd/TWVK
>>415
なるほど。それだと、書き込み時以外はPICが動作してることになるね。
PICkit2と同じ回路でターゲットPICと接続されているのであれば問題はないんだが、
AKI-PIC2で問題ないかどうかはAKI-PIC2の回路図がないと判断できないなぁ。
417774ワット発電中さん:2009/05/30(土) 22:32:43 ID:YcgbbtTT
>>412
何にビクビクしているのか知らないが、その位の事AKI-PIC2はフェイルセーフに設計した
あると思う。AKI-PIC2はこわれないと思う。
心配なら、気になる小さなテストコードを書いて試してみたら?
それに、対象のPICは書き込みが終わったらAKI-PIC2のゼロプレッシャーソケットから
はずして、ターゲットボードに指し直すんでしょ?何にビクビクしてんの?
418412:2009/05/30(土) 22:54:36 ID:O2JmjtZF
>>416
レスサンクス。
今手元に無いんで明日改めて確認してみる。
>>417
たとえばPGD,PGCにあたるピンをHIGHにするプログラムを書き込んだら
大電流が流れてPICが破壊されるんじゃないかとビクビクしてた。言葉足らずでスマソ。
419774ワット発電中さん:2009/05/31(日) 00:31:41 ID:alT6T6bM
>>415
ってーことは5V以外のPICは書き込みできない?

>>418
PICKit2と同じ回路なら大電流は流れないように出来てる。
電源部が違うってことはその辺も違ったりするのだろうか。
420774ワット発電中さん:2009/05/31(日) 00:54:15 ID:4Cl1cMft
詳細は知らんが Jumperあるようだよ。
ttp://akizukidenshi.com/download/ET-PGMPIC_USB.pdf
421412:2009/05/31(日) 01:00:53 ID:3BC3smgh
>>419
>5V以外のPICに書き込み
ゼロプレッシャーで書き込みできるPICは16F,18Fファミリー限定らしいから
5V以外非対応とも言えるかも。
電源部の確認はいい加減にやってしまったから再確認してみる。
>大電流が流れないように
PICKit2ユーザガイドの回路図にある33Ω抵抗だと思えばおk?
422412:2009/05/31(日) 01:08:45 ID:3BC3smgh
>>420
T側にセットしたと思う。…改めて見るとT側は+5V USBだと書いてあるな。
つまり、ゼロプレッシャーは+5V USBに直接接続してあるのだろうか。
とりあえずサンクス。
423774ワット発電中さん:2009/05/31(日) 02:29:46 ID:lBotpnO3
シリコンハウスのブログにPicKit3 ICD3出てる
424774ワット発電中さん:2009/05/31(日) 11:03:49 ID:+2E4Iq8I
今の買いはPICkit2かなあ?
PICkit3は書込み速度が高速になっている。マルツで送料込みで8,580円。でもソフトの提供
が遅れていて、シリアル-USB変換器機能やロジックアナライザ機能は使えない?
http://www.ne.jp/asahi/air/variable/picmel/integration/write/pickit3/index.html
https://www.marutsu.co.jp/user/shohin.php?p=64288
PICkit2だと、在庫薄だけど秋月だと送料込みで4,000円。
http://akizukidenshi.com/catalog/g/gM-02508/
今後を考えるとPICkit3だけど、コストパフォーマンスもいいし、今の買いはPICkit2かなあ?
425412:2009/05/31(日) 16:10:57 ID:HFsPKKza
やはりUSBの5Vに直結されているっぽい。
試しに16F648Aに内蔵発振,NOMCLR設定で全ポートをHIGHにするプログラムを書き込んで
ゼロプレッシャーにセットしたまま、各ピンの電圧を測ってみたら、RA1,RA4,RA5以外HIGHだった。
RA4はオープンドレイン,RA5は入力専用だからLOWでいいんだが、RA1はHIGHになるはず。
確認してみると、RA1がべたGNDに,RA2がVDDに直接接続されてた・・・orz
内蔵発振を使うときはNOMCLRで書き込むなってことなんだろか。
426412:2009/05/31(日) 16:12:16 ID:HFsPKKza
とりあえずHEX貼っとく
:1000000000308A000428000084011F308305073077
:100010009F008316050883121F080C13003065002B
:0C0020006600FF30850086001428630095
:02400E00503F21
:00000001FF
;PIC16F648A
427774ワット発電中さん:2009/05/31(日) 18:31:25 ID:+2E4Iq8I
書込みソフトのPICkit 2 Programmerの「VDD PICkit 2」の□ Onのチェックをはずして
おけば、プログラム書込み後にVDDは供給されないんじゃない?
428412:2009/05/31(日) 18:42:03 ID:HFsPKKza
>>427
試してみたけどゼロプレッシャーの方は5Vのままだった。
ICSPのコネクタの方は連動してくれたんだが・・・
429774ワット発電中さん:2009/05/31(日) 18:51:49 ID:+2E4Iq8I
>>428
そこまで確認済みなら、もう秋月に確認するだな。
メール質問すると返答が返ってくるよ。
430774ワット発電中さん:2009/05/31(日) 19:56:55 ID:lBotpnO3
共立でPickit3 見たけど、クリアレッドに黒ライン、まるでEva02号機
431774ワット発電中さん:2009/05/31(日) 21:14:18 ID:+2E4Iq8I
>>430
エヴァ2号機
http://thumbnail.image.rakuten.co.jp/s/?@0_gold/amiami/main/TOY-RBT-0780.jpg
お〜 PICkit3とデザイン似てるなあ
432774ワット発電中さん:2009/06/01(月) 07:30:45 ID:sfrMkV8/
マイクロチップのHPでpicのセレクションガイドみたいなってURLってどこだっけ?
前々スレあたりで出てた気がするけど失念してしまった。
433774ワット発電中さん:2009/06/01(月) 07:58:24 ID:nhGJTCBs
トップページ⇒Productsメニュー(左上)の中のProduct Selection Tools⇒MAPS
のことだろうか?
434774ワット発電中さん:2009/06/01(月) 08:21:46 ID:sfrMkV8/
>>433
違うけど目的は達成できました。
ありがとう。
435774ワット発電中さん:2009/06/01(月) 14:57:16 ID:EoASL0Go
こんにちは。質問させてください。
PICのメモリ(RAM)が512byteのものに、700byteくらいの変数をとるとエラーって出ます?
今、自分では700byteくらいとったつもりなのですが、エラーがでません。


環境は・・・
MPLAB v8.30
CCS C v4.057
を使用しています。

よろしくお願い致します。
436774ワット発電中さん:2009/06/01(月) 15:20:11 ID:nhGJTCBs
>>434
目的達成したURLをここにも出しといてくれ。
そうすれば、次に同じ疑問に突き当たった人の役に立つ。
437774ワット発電中さん:2009/06/01(月) 15:22:59 ID:nhGJTCBs
>>435
変数領域が512バイト使用可能のところ、700バイト必要なのであればエラーになる。
使用可能な512バイトで収まるのであればエラーにならない。
エラーが出なかったのなら、収まったんだろう。
438774ワット発電中さん:2009/06/01(月) 15:24:51 ID:5i2syIpT
>>435
一般的なCコンパイラの仕様で参考にならんかったらすまんが
ビットがあふれるほどのとんでもない数値でない限りコンパイルは
とおって、実行時におかしくなるものがPCなどでも一般的です。
配列もコンパイル時点で添字が明らかにおかしいものでも
実行して暴走しないとわかりません。それがCだと思います。
439774ワット発電中さん:2009/06/01(月) 15:33:22 ID:j4w6x4Jr
>>435
コンパイル後にRAM使用量とかでると思うけど。
CCS Cだとそういうのでないの?
440774ワット発電中さん:2009/06/01(月) 16:48:38 ID:nIJZ5A/P
>>438
そうじゃないのがPICです
441774ワット発電中さん:2009/06/01(月) 17:36:15 ID:EoASL0Go
ありがとうございます。
RAMに関しては、足りていました。
int型を2byteで計算していましたが、CCS Cでは1byteでした。。。


ではでは、コンパイルしたときに、画面上にROMが100%と赤い帯で表示されますが、
コンパイルは通り、Output画面には30%と出ます。
自分としてもそこまでたくさん記述していないつもりですが、
100%と一瞬表示されるものは無視して良いのでしょうか?
442774ワット発電中さん:2009/06/01(月) 19:32:31 ID:XnlnUnqV
443774ワット発電中さん:2009/06/01(月) 23:15:30 ID:fmJo5lA5
誰か教えてください。

オプティマイズPIC24USB使ってるのですが、
I/OのRB15のみデジタル出力設定にすると1.5〜1.6V位に張り付いてしまいます。
AD1PCFG = 0; ODCB = 0;にしてあり、RB0〜RB14は問題なく使えています。

お願いします。
444774ワット発電中さん:2009/06/02(火) 00:02:38 ID:UlHFVrai
またエスパーへの依頼か
445774ワット発電中さん:2009/06/02(火) 00:21:10 ID:nWcc5TXa
>>443
隣のピンとショートしているのに100won
446774ワット発電中さん:2009/06/02(火) 00:40:23 ID:eRiy9rbM
>>443
ラッピングで組みなおしなさい。その方が近道。
447774ワット発電中さん:2009/06/02(火) 01:07:04 ID:eGjyX2Oa
ID:eRiy9rbMはいまだにラッピングしてるんだよなw
http://science6.2ch.net/test/read.cgi/denki/1237039623/352-355
448774ワット発電中さん:2009/06/02(火) 01:15:51 ID:eRiy9rbM
ばれたか。 でもさ、初心者のハンダ不良ってめっちゃ多いじゃん。
ラッピングなら確実だと思ってさ。
449774ワット発電中さん:2009/06/03(水) 10:54:40 ID:CZb+oB+d
ちょっとお知恵を拝借させて下さい

pic24fで途中でリセットがかかってしまうプログラムのデバックに苦労しています。
なんとかアドレスエラーでトラップがかかってることまでは分かったのですが
どこでかかってるのか調べる方法が分かりません。

アドレスエラーの割り込みルーチンに入った時点でのスタックを調べればよいのでは、と思い
ICD2でFile Registersを開いてスタック(0x800〜)を見てみたのですが、RRRRR…で値が
表示されません。

他に何か調べる方法はないでしょうか?
450774ワット発電中さん:2009/06/03(水) 11:00:44 ID:Szl7Ft2y
>>449
現象の発生頻度が低いと辛いが、頻度が高いのであれば、外部からの入力
(GPIO入力等)なしでも現象が発生するようにソースを改変した上で
SIMに掛けて、現象発生時の実行トレースログを見てみては。
451774ワット発電中さん:2009/06/03(水) 12:17:11 ID:OS/iQ3sc
>>449
調べる前に確認するべき点を全部やった?

・WDTの設定
・電源電圧の変動。
:BORの設定確認
・リセットがかかる現象についての洗い出し。
:発生するパターンの抽出。
:起動から一定時間経過後?
・電源電圧とクロック数の確認。

本当にリセットがかかっているのか確認した?
暴走してリセットが発生しているように見える時もあるよ。
452774ワット発電中さん:2009/06/03(水) 18:41:59 ID:tXMkCjIx
>>445
なんだよその超自信のなさw
ほれ、お前の勝ちだ。円でやるから釣りくれ。

 つI
453774ワット発電中さん:2009/06/03(水) 20:52:10 ID:zT39gRB+
100wonて今何円?
454774ワット発電中さん:2009/06/03(水) 21:36:06 ID:dzzW+KvN
>>449
RRRR表示はICD2デバッグ用予約領域だからでしょう。
先ずworkとスタック領域とかをずらせて設定し再buildしませう。
455264:2009/06/03(水) 22:56:33 ID:g/qhgfqX
お久しぶり。
>>264 だよ。

結局、壊れたdsPICはあきらめた。
そして、なんとPICkit2を購入。
初の最初からのプログラミング。

ただ、参考にしている本がCCSコンパイラを使ってるんだけど、
俺が使ってるのはHI-TECのコンパイラ。

プログラム書き込んだんだところ、
PICkit2は正常に書き込めたってメッセがでたんだけど、

動作を見てみるとLEDが点灯しない。
ポートを0Vか5Vにしたつもりが3.5Vほどに。。。

なんでだろう。。
ヘッダーファイルはインクルードしてるし、コンパイルも通ってるんだけどね。
456774ワット発電中さん:2009/06/03(水) 23:13:40 ID:DcHltrIH
コンパイルを通ってからが本当のたたかいさ
457774ワット発電中さん:2009/06/03(水) 23:50:52 ID:edqpKIhW
同じ20MHzで、セラロックより、水晶のほうが低電圧でも稼動できるようだ。
それ以来簡単なものでもセラロックを買うのをやめて、水晶に切り替えた。

458774ワット発電中さん:2009/06/03(水) 23:52:10 ID:VWBWjxBe
出荷数量、売り上げNO1 8ビットマイコン

PIC PIC PIC
459264:2009/06/04(木) 00:31:22 ID:Qu+nGnYh
PIC始めた頃の
「あ、○○やるのわすれてた」とか
「△△っていうことをやっとかなきゃいけなかっただ〜」とか
あればおしえてちょ〜。
460774ワット発電中さん:2009/06/04(木) 00:39:04 ID:ly7ordNL
>>459
PIC始めた頃の「xx忘れてた」とか言う内容を忘れた。
461774ワット発電中さん:2009/06/04(木) 00:47:49 ID:3HIeGzcA
「あー、データシートの細かい注を読むの忘れてた」って失敗が多いな。
462774ワット発電中さん:2009/06/04(木) 00:54:05 ID:16jXTczi
手順を追って必要な設定をきちんとやること・・かな。
463近藤@日湘:2009/06/04(木) 01:56:58 ID:+UrM1xUn
>455

わからないことがあるときは、まずゴーグル先生で調べましょう。
大抵のことは教えてくれます。(^o^)
464774ワット発電中さん:2009/06/04(木) 01:59:53 ID:zEk/B9GY
「英語読めないの忘れてた」ってのはあったわ。
465774ワット発電中さん:2009/06/04(木) 02:05:28 ID:D2wgSfJj
>>264
PICは、進化するデバイスだから、ターゲットPICの最新データーシートを
よく読むことが大切だと思います。良く出てくる言葉は、

1. え? この設定しなくていいんだ。
2. レジスタのビットの名前違うじゃん
3. え? バンク切り替えても、ここは変わらずなのか?

揚げたら霧がないのでやめます
466774ワット発電中さん:2009/06/04(木) 07:53:50 ID:5u7IooHo
>>459
他のマイコンを検討するの忘れてた
467774ワット発電中さん:2009/06/04(木) 10:14:11 ID:7Qo2HzyQ
コンパレーター切るの忘れてた。
468774ワット発電中さん:2009/06/04(木) 10:46:51 ID:D2wgSfJj
そうだね。初心者はデジタルI/Oに設定しないで、LEDが光りません
みたいなの多いかもね。そういうこともデータシートには、設定
プログラムを示して詳しく解説してるけど、なぜか一番読まなければ
いけない初心者が、データシートを読まないという暴挙に出るんだよね。
469774ワット発電中さん:2009/06/04(木) 11:43:00 ID:EqOQr/L+
>>468
英語だ、うわぁ、いやだ〜
ってのがあるかもしれんが俺も英語なんか苦手だけどデータシートは
日本語のほうが読みにくいと思う。
470774ワット発電中さん:2009/06/04(木) 12:51:49 ID:D2wgSfJj
同じ英語でもデーターシートの英語は、決まった単語しか
出てこないから楽っていうか、読みやすいね。
471774ワット発電中さん:2009/06/04(木) 20:15:08 ID:wTZdRd3U
>>467
FAQのTOP10に入ると思うw というか orz
472774ワット発電中さん:2009/06/04(木) 21:13:08 ID:BrcWbscR
PIC16F84でよく質問にだされたRA4にHi出力がでないのがあったね。

>>471
A/D_OFFしていなくて出力されないのは最近のデバイスかな?
473774ワット発電中さん:2009/06/04(木) 21:32:49 ID:g2qvbIqM
A/D offしなくても殆どのPICで出力できるよ。
ただ BCF/BSF PORTx の結果が
PORT readに影響されるけど
474774ワット発電中さん:2009/06/04(木) 22:21:00 ID:D2wgSfJj
A/DをOFFしないとアッチチになるでしょ。あれは、まずいよ。
てか、排他的じゃない設計って許せるのかな。
475774ワット発電中さん:2009/06/04(木) 23:23:10 ID:sCWS4xWa
>A/DをOFFしないとアッチチになるでしょ。あれは、まずいよ。
何のこと云ってんの?
476264:2009/06/05(金) 00:37:25 ID:ZAU75P+T
I/Oポートの初期化ってどうやるの???
データシートには初期化しろってかいてあるけど。
477774ワット名無レさん:2009/06/05(金) 02:45:49 ID:HSxEWpTm
>>476 >>264 過去の質問は読んだけど一般的な事柄で答えを記述するよ。

I/O ポート pin H でモーターがフル回転するハードウエアの設計になっているとする。
/MCLR 有効から I/Oポートの TRIS 初期化までは入力モードに戻される。 → 出力に初期化設定する。
ハードウエアで pull UP されているとする。 → 出力を H → L にしてやらないとモーターはフル回転してしまう。
緊急停止ボタンが /MCLR に OR 接続されていて、押し続けられるとリセットで H のまま。
押し続けられる事を想定しておらず、モーターがフル回転で人が死亡する事もありうる。
別に初期化しなくても問題無い場合もある、LED 等だとリセット時にちょこっと点灯しても文句は言われないだろうねぇ。

データーシートにはポート毎の初期化サンプル・プログラムは無かったのかな?
アナログポートや UART・I2C・SPI兼用ポート等だと初期化手順が異なるよ。

だからまずデーターシートを嫁と言われるんだよね。
478774ワット発電中さん:2009/06/05(金) 03:01:15 ID:/M6fLGv4
>>477
そういう場合に常識ある設計者ならpull DOWNするんじゃね?
479774ワット名無レさん:2009/06/05(金) 04:16:22 ID:HSxEWpTm
常識の無い設計者がいたんだよね。
んでもって自分のハードウエアの設計ミスをソフトウエアのせいにする。
アナログデバイスの ADCでリセット端子が無い物が何らかのトラブルで誤動作。
ソフトウエアが 8bitの命令転送時に ADCのコマンド表に無い命令を送るから反応しなくなるんだからソフトを直せと言い張る。
KL5C80C20 だと CPU クロックが停止すると CTC3のウオッチドグが効かなくなるのもソフトが悪いと言い張る。
このときはバグファインダーのデバッグ機能も無反応になってしまう。
共同でプログラムをすると自分のバグを人のせいにする。

8bit の集合抵抗で他の ポート bit もまとめてプルアップして済ませておいて、ソフトですぐに L にしとけと命令されただけだよ。
もう会社辞めたから関係ねーけどね。
480774ワット発電中さん:2009/06/05(金) 07:29:29 ID:NRtt2/CE
いまだにTTLレベル入力デバイスが多いんだよな。TTLレベル入力だとLレベルより
Hレベルのほうが雑音余裕度が4倍近くあるから、なるべくプルアップが使えるように
回路を考えたいところ。
481774ワット発電中さん:2009/06/05(金) 10:30:48 ID:FNV6pfuv
某工作系のサイトとか見ると「使ってないポートは入力に」って書いてあるんだけど、その人のサンプルコードとか見ると殆ど出力のまんまなんだけどなんか意味あるの?
482774ワット発電中さん:2009/06/05(金) 10:43:42 ID:DDB6i3CL
俺は不定値が嫌いだから出力にするなあ…
483774ワット発電中さん:2009/06/05(金) 10:50:33 ID:tpuaErcy
>>481
つーか、デフォルトが入力だから出力のまんまっていうとあえて
出力にしたってことだよね。 まあポリシーと結果が食い違ってる
ってだけで、意味はないだろうな。
484774ワット発電中さん:2009/06/05(金) 12:09:33 ID:FNV6pfuv
>>482,483
thx
なるほど、暗黙のルール的な物は無いんですかね

>デフォルトが入力だから出力のまんまっていうとあえて
デフォルトってのがPIC共通の事か分からないけど(初心者なんてスマソ)
16F88なんかの場合下記みたいな事してるんですよね

TRISA = 0b00001111; // PortA初期化
TRISB = 0; // PortB初期化 (未使用)
485774ワット発電中さん:2009/06/05(金) 12:41:17 ID:HSxEWpTm
>>484
1 未使用 PORT を 出力にしておけばオープンでも無問題、しかし Vdd か GND にショートすると PIC が壊れる可能性がある。
2 未使用 PORT を 入力にしておけば Vdd か GND にショートしても無問題、しかしオープンにするとラッチアップで PIC が壊れる可能性がある。
3 未使用 PORT を 抵抗で pull UP または pull DOWN しておけば入力・出力どちらにしても無問題。(出力にした場合は1に注意。)

どれを 選ぶかは、あなた次第だよ。
486774ワット発電中さん:2009/06/05(金) 13:12:18 ID:tpuaErcy
>>484
その命令が実行される前はオール入力になってる。
A/Dやコンパレータ付きだと、さらにアナログになってる。
それが最初のうちよくはまる罠だし。

で、未使用ならなおさら1命令でも減らすために省くということも
考えられる。 その例で言うと TRISB=0 は不要。
でも、入力で不定の状態を嫌う人もいる。 どれが間違っている
ってことはないと思うよ。
487774ワット発電中さん:2009/06/05(金) 13:25:27 ID:SWeI0buR
>>481
EMI対策じゃねぇ?
入力にするより、L出力にした方が放射ノイズが減ることが多いらしい。
実際に変えて測定したことはないけど。
488774ワット発電中さん:2009/06/05(金) 13:37:33 ID:FNV6pfuv
>>485-487

勉強になります thx
489774ワット発電中さん:2009/06/05(金) 14:14:09 ID:dZxeJpfH
俺はプルアップ付きポートはinput、プルアップないポートはoutputにしてる。
オープンはまずいし、短絡を防ぐために可能な限り出力は避ける。
490774ワット発電中さん:2009/06/05(金) 15:39:36 ID:sAm0yTG0
まあショートさせるような実装じゃなければoutputで問題ないんじゃね?
例えば初期化ぜずアナログinputで放置だとスリープでも消費電力も増えるし。
とはいってもバッテリー駆動でもなきゃ問題にならないレベルだけど。
491774ワット発電中さん:2009/06/05(金) 17:03:30 ID:kpb3P3av
>>490
 そうだよね。
最近は電源確保できる用途ではアホかと思うような努力をしているケースもあるが
あれが全部電池駆動かどうかと疑問に思うときがある。
492774ワット発電中さん:2009/06/05(金) 20:47:45 ID:n+CmCSe4
川鉄のマイコンってまだ流行ってるのかな。
493774ワット発電中さん:2009/06/05(金) 22:19:12 ID:kpb3P3av
C30でライブラリファイルを作る方法を教えて。
pic30-gcc --help
で一通りのオプションを見たが見当たらない。
 \binの下にあるいくつかのコマンドも見てみたがイマイチ良く分からん。
494774ワット発電中さん:2009/06/05(金) 23:03:41 ID:HSxEWpTm
>>492
Z80 の 10倍早いと上司に騙されてプログラムしたよ。(確かに NOP は 10倍早い)
他の命令を含めると 2〜3倍程度だった UART 115.2Kbps の受信をするとメインルーチンの実行が停止する。
PIC18F シリーズの方が 40MHz で実際に 10倍早い 1命令1クロックなので暗算で実行時間も計算できる。
外付けの ROM RAM も不要ではるかに便利。

dsPIC や PIC24 と比べると、川鉄のマイコンって今更使う気にならないよね。
495774ワット発電中さん:2009/06/06(土) 01:43:57 ID:DU6hW/sb
>>494
眠くて頭朦朧としているだろう。
しっかり寝て現実世界へ戻って来い。

>PIC18F シリーズの方が 40MHz で実際に 10倍早い 1命令1クロックなので暗算で実行時間も計算できる。
AVRと勘違いしていないか?
496774ワット名無レさん:2009/06/06(土) 05:32:15 ID:Kn/1/p0L
>>495
勘違いはしていないが
あなたに出来るものなら PIC18F452 で FFT 解析を行って 50mSEC の DTMF 信号を取り出せるかな?
もちろんそれ以外の仕事もこなしてる。↑はバックグラウンド処理で常時解析してる。
PIC18C452 の頃だから 6年ぐらい前の事だがね。

もうソフトウエアの仕事に戻るつもりは無いんで別にどーでもいい事だけどね。
497774ワット発電中さん:2009/06/06(土) 07:06:33 ID:+21TIkn+
>>496
PIC18Fは1命令4クロックですぞ。
498774ワット発電中さん:2009/06/06(土) 08:00:45 ID:VWsqipMD
Z80 も PIC18F と同じく「1命令が4クロック」
「PIC18F 40MHz が Z80 4MHz より 10倍速い」というのはだけは合っている
499774ワット発電中さん:2009/06/06(土) 08:57:23 ID:+21TIkn+
>Z80 も PIC18F と同じく「1命令が4クロック」
えっ?えっ?えっ?
500774ワット発電中さん:2009/06/06(土) 09:02:21 ID:Un7GlPvN
NOPのことなんだろw
501264:2009/06/06(土) 11:57:17 ID:+Z8o5bIu
あかんわ〜〜。

PIC16F84AとPICkit2を説明書どおりにつないでるし、
自作のプログラムとネットで紹介されている実績ありプログラムで
ためしてるんやけど、うまくいかんわ〜。
PICkit2のアプリでは書き込み成功!!
みたいなこというてるねんけどね。

LEDが点灯しないのよ。
Vcc⇒抵抗⇒LED⇒GND
ならLED点灯するからLEDとかはちゃんとなってるはず、

Vcc⇒抵抗⇒LED⇒RB1
ならLEDが点灯しないのはどうして〜〜。

#include "pic.h"
main(void) {
TRISB=0x00;
while(1) {
PORTB=0x00;
}
}
502774ワット発電中さん:2009/06/06(土) 12:16:22 ID:wrAmMCq3
>>496
>勘違いはしていないが
>あなたに出来るものなら

うっわ〜恥ずかしいヤツ
503774ワット発電中さん:2009/06/06(土) 12:17:16 ID:wrAmMCq3
>>501
clock発振してない?
504774ワット発電中さん:2009/06/06(土) 12:22:55 ID:7O4OzkKQ
テスターで当たってRB1がLになっているか確かめるんだ!
505774ワット発電中さん:2009/06/06(土) 12:23:55 ID:xXSGzXRM
>>501
その接続はオープンドレインポートへのつなぎ方。
16F84AのRB1は普通のプッシュプルのポートだから、LEDのつなぎ方を
直すか、オープンドレインポートのRA4を使うかしなきゃ駄目だろ。

>>264 の時にもさんざん指摘されていたが、データシートの読み方とか
回路の組み方の基礎から勉強し直した方が良いな。
506774ワット発電中さん:2009/06/06(土) 12:28:00 ID:wrAmMCq3
>>505
おぃおぃ、君もLEDのつなぎ方を勉強し直した方が良いな。
507774ワット発電中さん:2009/06/06(土) 12:41:37 ID:8VHFwLvz
Configは設定してないのか
508774ワット発電中さん:2009/06/06(土) 12:48:58 ID:wE9HWaZp
>>501
> ならLEDが点灯しないのはどうして〜〜。

あなたの問題解決能力が試されているわけだから、ここは気合を入れて
立ち向かいましょう。

まず、上にもあるように、PICのポートの状態をテスターを使って調べましょう
落ちてますか? 落ちていないなら、リセットピンの状態など順に調べていきましょう。
つづく
509264:2009/06/06(土) 13:03:16 ID:+Z8o5bIu
>>503
clock発振??
clock発振とはなんだろう?
発振してたほうがいい??してないほうがいい??

>>504
テスターでは調べたんだけど、
RB1は3.7Vくらいかな〜〜〜。。
オープンになったピンは0Vになってるんだけど。。
LEDとつないだところは3.7Vとかにひきあげられてるんだよ。

>>505
オープンドレインポートって何かわからないから、
とりあえず、ネットで調べたらわかりそうだし、
勉強しておくわ。

LEDのつなぎ方どうしたらいい??
RA4を使う気はなくて、RB0〜3を利用したいのよ。

とりあえず、データシートは片っ端から読んでるところだよ。
一応、自分に必要な(I/Oポートとか)については読んでるつもりなんだけど。。;
色々読まないといけないものが多くて、
全然進まないんだけど、地道に読んでるよ。

507>>
Config ってのはWDTとかHSとかその辺???

試したりしてみたけど、そこを直しても解決はしなかったので
別の部分かも。。

510774ワット発電中さん:2009/06/06(土) 13:30:13 ID:wE9HWaZp
ということは、ピンがローに落ちてないのだから、WDTによるリセットが
かかって、ポートがしょっちゅうリセットされている。などが考え
られるね。

もう一度、コンフィギュレーションのWDTビットがクリアされていないか
確認してください。ねんのためにね。つづく
511264:2009/06/06(土) 13:47:44 ID:+Z8o5bIu
>>510
サンクス。
WDTを確認するわ。
WDTビットがクリアされているかどうかはどこをみればいいんかな〜〜?
テスターで見れる???

あと、この状態で電源供給しててマイコンがつぶれることある??
512774ワット発電中さん:2009/06/06(土) 14:03:12 ID:wE9HWaZp
今フィ具ビットは、プログラムを書き込むときに上書きされるわけだが、
それも知らないのか? じゃあ、すべての作業を停止して休暇をとった
方がいいかもしれない。家を焼くよマジで。
513264:2009/06/06(土) 14:13:19 ID:+Z8o5bIu
休暇をとらずに済む方法で教えてもらえないか??
514774ワット発電中さん:2009/06/06(土) 15:04:37 ID:Q5cky76z
>>501
これ16F84Aの日本語データシート(124ページ) どうぞ。
http://www.madlabo.com/mad/gid/pdf/pic16f84j.pdf

質問:15番ピンと16番ピンにはセラロックか水晶をつないでる?

16F84Aで、PICC liteで、PICkit2使用だよね?
たしか__CONFIG();の設定はこんな風に書くんじゃなかったっけ?

#include "pic.h"
__CONFIG(CPDIS & PWRTEN & WDTDIS & HSOSC);

main(void) {
TRISB=0x00;
while(1) {
PORTB=0x00;
}
}

抵抗とLEDの接続はこれでいいんじゃないかなあ。
Vcc⇒抵抗⇒LED⇒RB1

質問:抵抗は何オーム使ってる?
515774ワット発電中さん:2009/06/06(土) 15:09:51 ID:Q5cky76z
>>501
> 自作のプログラムとネットで紹介されている実績ありプログラムで
ネットで紹介されている実績ありプログラムのURLをここに示せ
516774ワット発電中さん:2009/06/06(土) 15:11:17 ID:NG9tt4Bw
まさかとは思うけどLEDに極性があることは知ってるよね?
517774ワット発電中さん:2009/06/06(土) 15:15:12 ID:pdzLOOw1
>>513
なんらかの原因でRB0が出力設定されていない
リセットが掛かりっぱなしなんじゃないのか?
リセットが内部なのか外部なのかは色々試して調べてみ

16F84AのRB0は吸出しでも吸い込みでも10mA程度は電流流せるので、>>505は間違い

CLOCK回路は何つかってる?
CLOCK発振がしているかどうかを確認しろ
CLOCKが発振して初めてPICはプログラムコードを実行する
CLOCKが発振していなければ、RB0が出力設定になる事はない
(何も設定しないと、入力設定)

MCLRピンが5Vになってるか?
PICKIT2と16F84Aとの接続は下記資料のChapter 3.FIGURE 3-1

http://ww1.microchip.com/downloads/en/DeviceDoc/51553B.pdf

と、まあここまで確認できたら後はCONFIG設定の確認だ
518774ワット発電中さん:2009/06/06(土) 15:16:57 ID:Q5cky76z
>>516
> まさかとは思うけどLEDに極性があることは知ってるよね?
>>501
> Vcc⇒抵抗⇒LED⇒GND
> ならLED点灯するからLEDとかはちゃんとなってるはず、
とちゃんとLED点灯させせいるから、LEDに極性があることは知っていると思われ。
519774ワット発電中さん:2009/06/06(土) 15:21:37 ID:NG9tt4Bw
そんなの偶然合ってただけかもしれない
クロックも知らないような人だからアテにはできない
520264:2009/06/06(土) 15:25:29 ID:+Z8o5bIu
>>514
データシートは読んでるよ。

抵抗は10kオーム、1kオームも試したよ。

>>515
http://homepage3.nifty.com/mitt/pic/index.html#toc

>>516
さすがにまさかだよ。

521774ワット発電中さん:2009/06/06(土) 15:30:41 ID:NG9tt4Bw
>>さすがにまさかだよ

それはすまんかった、健闘を祈る。
522774ワット発電中さん:2009/06/06(土) 15:42:23 ID:Q5cky76z
>>520
http://homepage3.nifty.com/mitt/pic/index.html#toc
↑これは目次ページじゃねーかよー!
>>501
> 自作のプログラムとネットで紹介されている実績ありプログラムで
ネットで紹介されている実績ありプログラムってどのURLのプログラムだよ?

>>520
> 抵抗は10kオーム、1kオームも試したよ。
Vcc⇒抵抗⇒LED⇒RB1
の抵抗に10kオーム?、1kオーム?使った???
523774ワット発電中さん:2009/06/06(土) 16:28:54 ID:8VHFwLvz
Step by step でやらないとどこがおかしいかわからんだろ
524264:2009/06/06(土) 16:43:32 ID:+Z8o5bIu
>>522
抵抗は10kオームで試してみたよ。
1kオームで試したこともあり。。って意味だよ。
どちらも、
Vcc⇒抵抗⇒LED⇒GNDでやるとLED点灯、
そのGND接続してるリード線をGNDから抜いて、BR1にさしこんだら
LED点灯せず。

この3項目目
http://www.ee.fukui-nct.ac.jp/~yoneda/text/other/C/A_07.htm
525774ワット発電中さん:2009/06/06(土) 17:03:59 ID:Q5cky76z
>>524
> この3項目目
> http://www.ee.fukui-nct.ac.jp/~yoneda/text/other/C/A_07.htm
了解。

このページを参考にしているのなら
Vcc⇒抵抗(470オーム)⇒LED⇒RB1
だな。
質問:470オームの抵抗は今、持っているのか?

質問:OSC1とOSC2には、どんな部品をどの様に接続しているか
詳しく教えて。
質問:MCLRはどの様な接続になっているか詳しく教えて。
質問:電源はどんなの使ってるの? VccとGNDの間をテスタで測ると何ボルトを示す?
526264:2009/06/06(土) 17:57:09 ID:+Z8o5bIu
1kオームなら持ってるから並列につなげばとりあえず500になるかな。
もしくは100オームじゃだめ???
壊れる??

回答1:OSC1とOSC2はコンデンサ内臓のセラミック発信子(CSTLS20M0X51)
の両端の足を接続している。
真ん中はGNDに持っていく。
回答2:MCLRは書き込み時はPICkit2の1ピン、
その線はVCCの線と10kオームで接続。
動作確認時はVCCと直接接続。
回答3:電源はUSBの5V、VCCとGNDの間は5.08Vだった。
これは1週間前にも計測したが同じ数値だった。
527264:2009/06/06(土) 18:08:41 ID:+Z8o5bIu
ちなみに色々しらべてみた。

Vcc-5.08V⇒5.08V-抵抗-1.6V⇒1.6V-LED-0V⇒GND(0V)

これは当然ね。

Vcc-5.08V⇒5.08V-抵抗-5.08V⇒5.08V-LED-3.7V⇒3.7V-BR1(≠0V)

10kオームなのに電圧低下なし??
ってことはBR1の入力抵抗無限大???それとも不定??
528774ワット発電中さん:2009/06/06(土) 18:46:25 ID:Q5cky76z
>>526
1kオーム並列で500オームが良いと思う。
Vcc⇒抵抗(500オーム)⇒LED⇒RB1

> もしくは100オームじゃだめ???
> 壊れる??
×Vcc⇒抵抗(100オーム)⇒LED⇒RB1
は壊れるかも知れないのでやめておこう。

ハードの方は問題ない感じと思う。
・電源:USBで5.08V
・OSC1とOSC2はセラロック20MHz
・Vcc⇒抵抗(500オーム)⇒LED⇒RB1
・MCLR−Vcc接続(動作確認時)
(動作確認時もMCLR-抵抗(10kオーム)-Vccのままで良いと思う。)

★もう一息でLEDは点灯すると思う。

質問:プログラム書込み時のPICkit2との接続は
PICkit2−16F84A
  1−MCLR
  2−Vcc
  3−GND
  4−RB7(PGD)
  5−RB6(PGC)
で間違いないか?

もう一度、MPLABのPICC liteでプロジェクトを作る所の一番最初から丁寧に
やって、プログラムを入力、コンパイル、PICkit2で16F84Aのプログラムを書込み
動かしてみたらどうなる?
529774ワット発電中さん:2009/06/06(土) 19:24:26 ID:eQkk7IMC
意気込みは買うけど、Q5cky76zのレスを見てると、ちょっとアレな気もする。
だべるのが目的ならいいが、真面目に進む気なら、264はもう少し自分で考えた方が
得るものは大きいのではないか。
530774ワット発電中さん:2009/06/06(土) 19:24:39 ID:DU6hW/sb
>>496
今何の仕事しているのかわからんがソフトウェアの仕事(プログラマーそれともSE?)止めて正解だね。
記憶力ももうだめみたいだし(笑)

1命令1−2cyclesで実行されるのが正解ね。

私はそんなに能力ないから250KHzの16ビットパラレルデータサンプリングしかできなかった。
531774ワット発電中さん:2009/06/06(土) 19:27:32 ID:ZEAOiLQO
>>527
LED光らない=電流0なんだから電圧降下するわけがない。
ポートの電圧が0Vでも5Vでもないってことはinputのまま、つまりプログラムが実行されていない。

514氏のCONFIGの設定は書いたかい?
テスターに周波数レンジがあればOSC2とGNDに当ててクロックの周波数が出ているか見てみ。
532774ワット発電中さん:2009/06/06(土) 20:08:10 ID:Q5cky76z
>>529
のいう事ももっともだと思う。甘やかし過ぎの感がある。
でも264は自分で努力出来る感があるので付き合っている。
最初の一歩(LEDを点灯させる)だけ出来れば、先は自分でやって行くのでは?
264は5/16から、トラ技の付録dsPIC30F2012壊してから、PICkit2と16F84Aを購入して
コツコツとがんばってる様だし。応援してる。
533774ワット発電中さん:2009/06/06(土) 20:36:10 ID:VWsqipMD
>>498
>Z80 も PIC18F と同じく「1命令が4クロック」
Z80は1マシンサイクルが4クロック、最速命令(NOPやAcc・レジスタ間演算)が1マシンサイクル(=4クロック)
だったw
534774ワット発電中さん:2009/06/06(土) 20:55:29 ID:EQvWuvo1
>>527
コンパイルオプションで16F84Aじゃない別のPicを指定してるってことはないよね?
535264:2009/06/06(土) 21:13:05 ID:+Z8o5bIu
まず
>>526
回答:間違いない。
これは、毎回注意している。

>>531
たしかにいうとおりかもしれない。
(多分、そうだ。)
ただ、その確認方法・確認の知識がない分確認もできなければ、
対策も立てられないのが現状で、
ここ2週間、図書館行ったり、ネット探したり、してるんだけど、
なかなか解決策がみつからない。

514氏のCONFIGの設定は書いたよ。
結果は変わらずだった。
テスターはためしてみたところ0Hzだった。
ってことはそういうことなんか。。。

>>532
もうしわけない。
たしかに、俺も甘えすぎてるんかもしれん。
でも、532がいうてくれてるように、
ずっと、色んなことためしたりして、自分でなんとかしようとしてる。

それがわかってくれただけでも532には感謝だ。

532の言うように自分で進むために、
その取っ掛かりに関しては甘えさせてもらうつもりだ。

ブッチャケ、もともとマイコン触りだしたのはLEDを点灯させたいとかじゃないし、
この、PIC16F84Aは自分がもともと目的としてることはできない代物だ。

でも、いろんな書籍を読んで、
これが最初の教材なんだなって自分で思って
購入・苦戦してる。

ホントに楽しようと思ったら、
dsPIC30F4012を買って(買って入るんだけど)、
誰かにプログラムと回路図完全に作ってもらうのが
楽なんだろうな〜〜って、思う。

だから、532をはじめとしてここで色々教えてくれるひとは
もう少し、つきあってほしいな〜。
536264:2009/06/06(土) 21:22:05 ID:+Z8o5bIu
>>528
回答:間違いないよ。
ここは毎回注意してるよ。
とりあえず、何度もためしてみるね。

>>531
531のいうとおりかも。
テスターでも0Hzってなるし。
誰かが言うてたように、WDTが怪しいと思ったりもするけど、
どうしたらいいかわからんねんな〜。
514氏のCONFIGの設定は書いたけど、結果は変わらなかったよ。
537264:2009/06/06(土) 21:24:32 ID:+Z8o5bIu
>>534
それはないぜ。
PICCのヘッダーはPIC1684ってやつで、PIC16○84系の共通のだったよ。
538774ワット発電中さん:2009/06/06(土) 21:29:55 ID:8VHFwLvz
はるか昔に作った サンプル発見
これでやってみな at 8Mhzで  一秒ごとにPortBが on/off するはず

:100000000428FF3FFF3FFF3F031383168601FF30A5
:10001000831286000B30CC00FF30CB00FF30CA00CB
:10002000CC0B13281A28CB0B16281928CA0B162814
:10003000132810283330CB00FF30CA00CB0B212807
:100040002428CA0B21281E288830CA00CA0B26285B
:1000500086010B30CC00FF30CB00FF30CA00CC0B48
:1000600032283928CB0B35283828CA0B35283228B6
:100070002F283330CB00FF30CA00CB0B4028432859
:10008000CA0B40283D288830CA00CA0B45280728DB
:100090004828FF3FFF3FFF3FFF3FFF3FFF3FFF3F3E
:02400E00FA3F77
:00000001FF
539774ワット発電中さん:2009/06/06(土) 21:45:25 ID:EQvWuvo1
>>537
クロックが確認できないとちょっとつらいけど、
リセット端子は10kでプルアップしてあるとして、電源を入れたあとピンセットかなにかで
リセット端子をGNDに一瞬落してみるてのはどお?
540774ワット発電中さん:2009/06/06(土) 21:55:14 ID:5mLsKwx+
何かブレッドボードでやってるような印象を受けるんだが、
そのせいで発振子が、
・接触不良などでうまく繋がってない
・ブレッドボード内部の接続を誤解してるとかで意図しないところにも繋がっている
・配線の引き回しが長いなどで正常に発振しない
のではないか?
541774ワット発電中さん:2009/06/06(土) 22:34:41 ID:wE9HWaZp
結局、発振してないっていうことなのかな。もう一度そのあたりを
チェックだね。ハンダ付けなら、再度鏝を当てて食んだ不良を解消
するとか。
542774ワット発電中さん:2009/06/06(土) 22:44:00 ID:+21TIkn+
組み立てた様子の写真を晒すとか
543774ワット発電中さん:2009/06/06(土) 22:44:03 ID:Un7GlPvN
>>533
>Z80は1マシンサイクルが4クロック
もはやそこからして間違ってるけど・・・
Z80の1マシンサイクルは3〜6クロックの可変長だよ。
「通常命令実行時の第1マシンサイクル(M1サイクル)」まで限定してようやく
4サイクルに確定する。
544774ワット発電中さん:2009/06/06(土) 22:48:53 ID:EQvWuvo1
セラロック発振子の場合ブレッドボードだとPICの直近に付けられないので
必ず引き回しが発生するはず。セラロックのGND端子ね。
545774ワット発電中さん:2009/06/06(土) 23:01:57 ID:7lai1ROr
既にスレ違だが…
>>543
'83/84 Zilog Data Sheet (紙)で
M1がT4、I/O&IRQ ACKがT3、他を確認した
余りに昔の話で忘れてた
546264:2009/06/06(土) 23:11:03 ID:+Z8o5bIu
>>539
それって壊れたりしない?

>>540
そのとおり、ブレッドボードでやってるよ。
で、今の書き込み見て、基盤でも試してみたよ。
結果は同じだった。
(もともと基盤で作ってて、うまくいかないから、
ブレッドボードバージョンを別途準備しんだよね。
DSPICを壊した経緯から今回は
予備のマイコンを何個か余分に購入した。)

引き回しとかも影響するんだね。。
勉強になるわ。
長さ変わると抵抗値が換わるから??

>>541
一応テスターですべて確認してるし、
ブレッドボードバージョンでも試してるから、
半田の不良はないよ。
半田はまあまあ自身ありだよ。

マイコンは初だけど、半田はちょくちょく使ってるから

>>544
どうしたらいいだろう。。

547774ワット発電中さん:2009/06/06(土) 23:20:15 ID:Q5cky76z
>>536
> 誰かが言うてたように、WDTが怪しいと思ったりもするけど、
> どうしたらいいかわからんねんな〜。
> 514氏のCONFIGの設定は書いたけど、結果は変わらなかったよ。
おい、ホントに
__CONFIG(CPDIS & PWRTEN & WDTDIS & HSOSC);
書いてコンパイルしたのか、
__CONFIG(CPDIS & PWRTEN & WDTDIS & HSOSC);
この書き方、全然メチャクチャじゃないか。コンパイルエラー2つも出るぞ。
548774ワット発電中さん:2009/06/06(土) 23:25:29 ID:Q5cky76z
>>536
コンパイラ何使ってる?
コンパイル完了メッセージをここに貼ってみ。
HI-TECH PICC-Lite COMPILER (Microchip PICmicro) V9.60PL1
Copyright (C) 1984-2007 HI-TECH SOFTWARE

Memory Summary:
Program space used 5h ( 5) of 400h words ( 0.5%)
Data space used 0h ( 0) of 44h bytes ( 0.0%)
EEPROM space used 0h ( 0) of 40h bytes ( 0.0%)
Configuration bits used 1h ( 1) of 1h word (100.0%)
ID Location space used 0h ( 0) of 4h bytes ( 0.0%)

Loaded C:\PICC_PRO_Prg\16F84A\led\led.cof.

********** Build successful! **************
549774ワット発電中さん:2009/06/06(土) 23:37:09 ID:EQvWuvo1
5ピン(GND)と14ピン(VDD)間に0.1uFくらいのパスコンつけてみ
550264:2009/06/06(土) 23:51:13 ID:+Z8o5bIu
>>548
実際にはこう書いてる。
エラーは出なかったよ。
_CONFIG(INTIO & WDTDIS & PWRTEN & MCLRDIS & BORDIS & HSOSC);
コンパイラはHITECのPICCだよ。


HI-TECH C PRO for the PIC10/12/16 MCU family (Lite) V9.60PL5
Copyright (C) 1984-2009 HI-TECH SOFTWARE
(1273) Omniscient Code Generation not available in Lite mode (warning)

Memory Summary:
Program space used Fh ( 15) of 400h words ( 1.5%)
Data space used 0h ( 0) of 44h bytes ( 0.0%)
EEPROM space used 0h ( 0) of 40h bytes ( 0.0%)
Configuration bits used 0h ( 0) of 1h word ( 0.0%)
ID Location space used 0h ( 0) of 4h bytes ( 0.0%)

Running this compiler in PRO mode, with Omniscient Code Generation enabled,
produces code which is typically 52% smaller than in Lite mode.
The HI-TECH C PRO compiler output for this code could be 7 words smaller.
See http://microchip.htsoft.com/portal/pic_pro for more information.

Loaded D:\source\PIC16F84A\test\test.cof.

********** Build successful! **********
551264:2009/06/06(土) 23:56:29 ID:+Z8o5bIu
>>549

了解
552774ワット発電中さん:2009/06/07(日) 00:04:42 ID:Q5cky76z
>>550
コンパイラPICC PRO(Lite)にPICは何を設定している?
ちゃんと「PIC16F84A」を設定した?

コンパイル完了メッセージの最初の所をここに貼ってみ

Build C:\PICC_PRO_Prg\16F84A\led\led for device 16F84A
Using driver C:\Program Files\HI-TECH Software\PICC\PRO\9.60\bin\picc.exe
553774ワット発電中さん:2009/06/07(日) 00:07:05 ID:WH18MhPK
>>551
> 了解

って、も毎、それやってないわけ?
554774ワット発電中さん:2009/06/07(日) 00:10:03 ID:iPKThDrm
>>Configuration bits used 0h ( 0) of 1h word ( 0.0%)

これか?
555774ワット発電中さん:2009/06/07(日) 00:18:29 ID:7D4sQual
>>554
そうなんだよ。正しいと↓こうなると思うんだよ。
Configuration bits used 1h ( 1) of 1h word (100.0%)
556774ワット発電中さん:2009/06/07(日) 00:28:51 ID:xx4TUhyg
生成されたHEXみれないのか
557264:2009/06/07(日) 00:40:14 ID:gZvk1hOI
>>552
Build D:\source\PIC16F84A\test\test for device 16F84A
Using driver C:\Program Files\HI-TECH Software\PICC\PRO\9.60\bin\picc.exe

>>553
これからやるわ。
これって、めっちゃ重要??
色々本読んだ限りでは念のため的なイメージが。。。
重要ならこれから気をつけるわ。

>>554>>555
俺も気になってた。
なんでだろ。
どうしたらいいかわかれば対処するんだけど。。
558774ワット発電中さん:2009/06/07(日) 00:44:49 ID:/lJvjjcE
>264
ところで >538にHEXファイルが提供されているけど、これを書き込んで
実行してみたの?
これが「動く」「動かない」で切り分けができるはずなんだけど
ついでに俺からもHEX
:020000040000FA
:10000000831600308500003086008312850186014A
:1000100064301120FF3085008600643011200628EE
:1000200001308C00C8308D003E308E0000008E0BF9
:0C00300016288D0B14288C0B12280800D9
:02400E00F23F7F
:00000001FF
全てのポートが1秒H , 1秒Lを繰り返す(@20MHz)
16F84Aが手元にないのでテストはしていないけど
559264:2009/06/07(日) 00:46:01 ID:gZvk1hOI
>>556
:020000040000FA
:100000000128031083160030031801308600031006
:100010008312003003180130860007280028FF3FB4
:10002000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE0
:10003000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD0
:10004000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC0

以下省略
560774ワット発電中さん:2009/06/07(日) 00:58:58 ID:xx4TUhyg
以下省略してるけど
コンフィグのアドレスと値がないよ


:02400E00F23F7F
561774ワット発電中さん:2009/06/07(日) 01:18:32 ID:OF+zGRJc
INTIO  内臓RCクロック使用、OSC端子はIOとして使用可
MCLRDIS MCLRピンを無効とし、内蔵リセット回路を使用する

どっちも84Aには無い機能だ
562774ワット発電中さん:2009/06/07(日) 01:23:33 ID:OF+zGRJc
なんにせよConfig臭いな
Configure->ConfigrationBitsを晒してみるとなにかわかるかもね
563774ワット発電中さん:2009/06/07(日) 01:24:42 ID:4Q0jP29w
これ解決した瞬間すげえすっきりするだろうな・・・
と横レス
564774ワット発電中さん:2009/06/07(日) 02:00:38 ID:mUKfvvuq
書籍やインターネットで情報が出回ってる16F84Aで
LED一つ点灯出来ないのは逆に何故かと思う
クロックが発振してるかどうかの確認をテスターでやってるみたいだけれど、
テスターでその周波数は確認できるのか?
貧乏な俺の持ってる高性能デジタルテスターは1MHzまでしか確認できん

デジカメで写真とってハード状態写真をアップしろ

一度、LED回路をはずしてみて全部のポートを出力設定した後、
一秒間隔で出力H→出力Lを繰り返しのプログラムをいれてみ
ポートが壊れてるかどうか確認できる
一秒間隔なら、ボロテスターでも確認できる
ハードかソフトかの確認もできる

やってみ
565264:2009/06/07(日) 02:07:37 ID:gZvk1hOI
ちょと、前進したよ。

LEDがつきました。

えっと、>>538>>558のいうとおりHEXを上書きしたら、
LEDがついたよ。
ってことは書き込みはできてるねんね。
で、書き込んでるプログラムがおかしいってことやね。。
うんうん。

ただ、両方ともLEDは点灯するけど、
コメントのように1秒後との点滅ってのがないから、
これは発振子がおかしいのかも。。

ってことで、今から基盤VERで試すね。
566774ワット発電中さん:2009/06/07(日) 02:13:30 ID:mUKfvvuq
念の為に書くけれど、上記やりかたで確認するとき
テスターを他のピンとショートさせるなよ
LEDを点灯させるときの抵抗値が分からないなら、ピン同士をショートさせて
いけない理由は分からんのかもしれんから、あえて教えておく
567774ワット発電中さん:2009/06/07(日) 02:15:12 ID:mUKfvvuq
なんだよ!ソフトかよ
568264:2009/06/07(日) 02:15:56 ID:gZvk1hOI
確認完了、結果は同じ。

ってことで、俺の未熟点は2つあったってわけだ。。
1つはコンフィグがおかしい。
これは、ちょっとずつ教えてもらったり、本読んだりしておぼえるわ。
もうひとつは(多分だけど)発振子がうまく動作していない。

これはどうしたらいいか全くなぞです。

抵抗は470オームでも1kオームでも10kオームでもよかったっぽい。
多分明るさがかわるんかな。。。。
569264:2009/06/07(日) 02:35:11 ID:gZvk1hOI
今、LEDは光ってる。

ただし、点滅ではない。。
今、ピンはRB0、RB1、RB2、RB3それぞれに抵抗とLEDつなげてるんだけど、
4つともライトが着きっぱなし。。。。

点滅はしないのかな。。。
570774ワット発電中さん:2009/06/07(日) 02:40:05 ID:0oQzA3rm
そういうもん。
571774ワット発電中さん:2009/06/07(日) 02:51:26 ID:mUKfvvuq
そのスキルでCANをなんとかしようとする所がエライ!

夢は大きく態度は小さく
馬鹿のフリしてれば、親切な人が教えてくれる
がんばりー
572774ワット発電中さん:2009/06/07(日) 04:16:34 ID:M9nuD6rs
>>571
>CANの基本知識はだいたいあるつもりやで。
だって言ってたくらいだから分かってやってるだけじゃね?
573774ワット発電中さん:2009/06/07(日) 04:42:36 ID:ztPLZg4e
CANの基本知識ってのはたぶん終端抵抗の抵抗値とかバスへの接続方法辺りじゃね?
と言いたくなったが、多分CANまで到達してもCANバスにマイコン直結とか終端抵抗値を間違えるとかやってくれるに違いない。
574774ワット発電中さん:2009/06/07(日) 07:03:52 ID:7D4sQual
>>565
> LEDがつきました。
>
> えっと、>>538>>558のいうとおりHEXを上書きしたら、
> LEDがついたよ。
一応、おめでとう。と言っておこう。
LEDがついたということは、セラロック20MHzは正しく発振していると考えて良いと思う。

問題はコンパイラの方だ。
>>550 >>557の情報を信じると

#include "pic.h"
__CONFIG(INTIO & WDTDIS & PWRTEN & MCLRDIS & BORDIS & HSOSC);

main(void) {
TRISB=0x00;
while(1) {
PORTB=0x00;
}
}

プログラムはこの様に書いてあって、16F84Aの設定でコンパイラが通る?
575774ワット発電中さん:2009/06/07(日) 07:06:02 ID:7D4sQual
>>574の続き
俺の所で「16F84A」に設定してコンパイルしてみると、以下の様に正しくエラーをはいてくれる。

Build C:\PICC_PRO_Prg\16F84A\led\led for device 16F84A
Using driver C:\Program Files\HI-TECH Software\PICC\PRO\9.60\bin\picc.exe

(中略)

HI-TECH C PRO for the PIC10/12/16 MCU family (Lite) candidate build 2729 V9.60PL4
Copyright (C) 1984-2008 HI-TECH SOFTWARE
(1273) Omniscient Code Generation not available in Lite mode (warning)
Error [800] C:\DOCUME~1\TFO3~1\TEMP\s3i0.; 39. undefined symbol "HSOSC"
Error [800] C:\DOCUME~1\TFO3~1\TEMP\s3i0.; 39. undefined symbol "BORDIS"
Error [800] C:\DOCUME~1\TFO3~1\TEMP\s3i0.; 39. undefined symbol "MCLRDIS"
Error [800] C:\DOCUME~1\TFO3~1\TEMP\s3i0.; 39. undefined symbol "INTIO"

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

>>557
俺の示したプログラムをコピペして、コンパイラが通るか確かめてくれ。
そして、コンパイルメッセージの最初と最後をここに貼ってみ
576質問です。:2009/06/07(日) 08:43:01 ID:SJs5eb9k
MPLAB IDE v8.30 & C18 v3.31 Student でコンパイルは出来るもののリンカが通りません。

#include <p18f2550.h>
void main(void)
{
long lp = 0;
}

<リンカコマンド>
Executing: "C:\Program Files\Microchip\MCC18\bin\mplink.exe"
/l"C:\Program Files\Microchip\MCC18\lib"
/k"C:\Program Files\Microchip\MPASM Suite\LKR"
"..\..\Program Files\Microchip\MPASM Suite\LKR\18f2550.lkr"
"main.o" /u_CRUNTIME /z__MPLAB_BUILD=1 /o"usb.cof" /M"usb.map" /W

<結果>
Error - could not find definition of symbol 'FSR2L' in file './main.o'.
Errors : 1

コマンドを見て解ると思うのですが、プロジェクトオプションの
Include Search PathにC:\Program Files\Microchip\MCC18\h
Library Search PathにC:\Program Files\Microchip\MCC18\lib を加えてます。
まだ何か足りませんでしょうか?親切な方助けてください、お願いしますm(_ _)m
577774ワット発電中さん:2009/06/07(日) 08:50:39 ID:xx4TUhyg
点滅しないのは
電源の発振
リセット回路

あたりが悪さしてる可能性あるな

電源の発振は0,1uをVdd とGNDにいれればほぼ直る
あとは 乾電池にするか
578774ワット発電中さん:2009/06/07(日) 09:11:22 ID:SJs5eb9k
576ですが、解決しました。
プロジェクトのLibrary Filesにclib.lib とp18f2550.libを追加したところ、
無事リンクを通すことが出来ました。
579774ワット発電中さん:2009/06/07(日) 10:38:22 ID:OF+zGRJc
>>564
秋月の1000円台のDMMでも60MHzまで測れるぜ
その高性能テスタは精度とか速度とかの性能は高いかもしれないが機能が足りないんだよ

>>569
 >>562
580774ワット発電中さん:2009/06/07(日) 10:53:15 ID:NjRLGIA7
>>576 >>578
えっと、C18なら MPASM Suite\LKR じゃなくて MCC18\lkr の方を使いなよ。
例えば MPASM Suite\LKR\18f2550.lkr には次のように書かれてるだろ。

// Not intended for use with MPLAB C18. For C18 projects,
// use the linker scripts provided with that product.
581558:2009/06/07(日) 13:15:11 ID:feSWEAwN
>568
一歩前進だけど、プログラムが途中で止まってるなら >577 を確認だね。
:020000040000FA
:1000000083168501860183128501EE308600122059
:10001000DD3086001220BB3086001220773086004B
:100020001220052819308C00C8308D003E308E001B
:1000300000008E0B18288D0B16288C0B1428080036
:02400E00F23F7F
:00000001FF
もう一度、確認用に ソースの一部は下記(CALL TIMEは0.25秒待ち) 
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC
LOOP1
 MOVLW H'EE'
 MOVWF PORTB
 CALL TIME
 MOVLW H'DD'
 MOVWF PORTB
 CALL TIME
 MOVLW H'BB'
 MOVWF PORTB
 CALL TIME
 MOVLW H'77'
 MOVWF PORTB
 CALL TIME
 GOTO LOOP1

PINが”L"で点灯ならRB0→RB1→RB2→RB3→RB0・・・と順に点灯するはず
もしRB0だけ点灯なら止まってるorリセットかかってるかも
582774ワット発電中さん:2009/06/07(日) 16:35:09 ID:7D4sQual
>>581
俺も検証の為の回路を組み、プログラム書いてみた。
16F84A、20MHzで、PORTB全てのLEDが0.5秒点灯、0.5秒消灯で点滅するプログラムを
HI-TECH C PRO(Lite)で書き、コンパイルした。__CONFIG();設定もプログラムに書いた。
PICkit2で書込み、実際の稼働も確認出来た。HEXファイルを以下に示す。
:1000000000000228F4308C0001308D0003108316AC
:100010000030031801308600831286090C088E0117
:0E0020008E070D088F018F07E9230C28012899
:1007D200F92B073091007D309000900BEE2B910B9E
:1007E200EE2B831201308E020030031C8F038F0226
:0E07F2000F080E04031DFE2BFF2BEA2B080040
:02400E00F23F7F
:00000001FF
583264:2009/06/07(日) 21:11:57 ID:gZvk1hOI
半分まできたね。

>>581
581が書いてくれたHEXで実行すると5秒おきに点滅するよ。
順番に光る。

ここまでで、ハードは問題ないことがわかったね。

ただし、ここで思ったのは
今回HEXをもらっちゃったので、
俺のソフトウェアがどのように間違っているのかが不明だね。

これをつきとめて、どういうことに気をつけなきゃならないのかとか、
今後違うマイコン使う場合も実装できるようにしておきたいねんけど、
どこがおかしかったんだろ〜〜??
584774ワット発電中さん:2009/06/07(日) 21:28:57 ID:xx4TUhyg
5秒ということはクロック 2MHzなのか
585774ワット発電中さん:2009/06/07(日) 21:45:49 ID:OF+zGRJc
>>583
大事なアドバイスをことごとくスルーしてるけど本当に動かす気あるの?
スルーしてきた大事なレスをまとめておいたからちゃんと試せ
 >>560 HEXのconfigの行を見せろ
 >>561 そのconfigは84Aには使えない
 >>562 Configure->ConfigrationBitsを晒せ
 >>574 config変だろ
 >>575 このconfigじゃコンパイル通らないはず
586774ワット発電中さん:2009/06/07(日) 22:43:51 ID:tS3Sr6U1
>>585
やさしいな。
てか、それ全部お前だったりしてな。
587774ワット発電中さん:2009/06/07(日) 22:51:14 ID:OF+zGRJc
>>586
俺はID:OF+zGRJcだけだぜ!
588774ワット発電中さん:2009/06/08(月) 00:53:03 ID:tIvuA0rS
CANがどうだこうだというから 多少わかってるのかなと思ったが・・・

厨かよ
589774ワット発電中さん:2009/06/08(月) 01:11:26 ID:OxDimsgU
>>583
> これをつきとめて、どういうことに気をつけなきゃならないのかとか、
> 今後違うマイコン使う場合も実装できるようにしておきたいねんけど、
> どこがおかしかったんだろ〜〜??
それを見付ける為に、みんな協力してくれてんだろう。
みんなの質問にはやく答えろ
>>560
>>559の様な中途半端なHEXファイルの見せ方じゃなくて、HEXファイル全部見せろ。
長いんなら最初の4行と最後の4行を見せろ。それと行数を教えろ。

>>562
Configure->ConfigrationBitsの内容をさらせ。

>>574-575
 >>574のプログラムをコンパイルして、そのコンパイルメッセージの最初と最後をここに貼ってみ

上記3件の質問にはやく答えろ
590774ワット発電中さん:2009/06/08(月) 01:33:12 ID:n/0IjWSA
よっぱらてるのか
591264:2009/06/08(月) 01:50:12 ID:0Ge8rutu
おっす。俺だよ。
みんな、サンキュー。
どれから答えていけばいいかわからないから順にいくな。

>>560
最初の4行
:020000040000FA
:100000000128031083160030031801308600031006
:100010008312003003180130860007280028FF3FB4
:10002000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE0
最後の4行
:10427000FF00FF00FF00FF00FF00FF00FF00FF0046
:02400E00FF3F72
:08400000FF3FFF3FFF3FFF3FC0
:00000001FF

この
:02400E00FF3F72
が婚フィルの行ってことだな。。
どの行がコンフィグで、どの行が何?ってのはどうやったらわかるの??


>>562
それはどれ??
どこをみたらいい??
プログラム?
HEX?

>>574
やってみる。
これはなんの検査??
LEDはすでに光ってるので、ピカピカさせたいのだが。。

>>575
しばしまたレイ。

592264:2009/06/08(月) 01:53:15 ID:0Ge8rutu
>>581
まじサンクス。
プログラムをCに変換できる??
俺はアセンブラ全くわからんネン。

>>582
CONFIGはどんなかんじになった??
593774ワット発電中さん:2009/06/08(月) 04:22:21 ID:jZltA4Ds
ねぇもう、無理っぽいから。
CANまで行くのに一生かかりそうだ。
594774ワット発電中さん:2009/06/08(月) 05:42:44 ID:f3yoc5Y9
これだからCしか出来ない奴ぁw
595774ワット発電中さん:2009/06/08(月) 07:15:37 ID:OxDimsgU
>>591
> これはなんの検査??
> LEDはすでに光ってるので、ピカピカさせたいのだが。。
まだ、自分ではLEDも点灯できないのに、「ピカピカさせたい」? 何夢みたいな事いってる?
先ずは、自分でLEDが点灯出来る様になることだ。
596774ワット発電中さん:2009/06/08(月) 08:19:26 ID:1nVCFvps
>>591
コンフィグが3FFFになってる
つまり設定できてない


562のは探したの?
MPLABにあるでしょ?
コンフィグが設定出来てないのはわかったからもう晒さなくていいよ
ここで設定されたコンフィグが確認できるから覚えとくといい
597774ワット発電中さん:2009/06/08(月) 12:44:47 ID:jZltA4Ds
だから、前にも書いたようにWDTでリセットかかりぱなしなんでしょ。
命令を少し実行してWDTリセットがかかるからうごかない。
もう、原因わかってるのに、あ〜だこ〜だやってる。頭悪すぎる。
普通の人は、2、3レスで「あ、解決しました!!!!」ってなる。
この人は、普通じゃない。
598774ワット発電中さん:2009/06/08(月) 16:43:46 ID:1nVCFvps
物事を順序立てて論理的に考えられない人みたいだな
キーワードがあっても自分で調べようとしないし
理系ではなさそうだ
599774ワット発電中さん:2009/06/08(月) 17:29:09 ID:QLxBzF4R
感性で行動する芸術系の人って感じね。arduinoの方を勧めたほうがよさげなのか?
600774ワット発電中さん:2009/06/08(月) 17:31:27 ID:VmcOFMKm
CANって何?
601774ワット発電中さん:2009/06/08(月) 17:36:10 ID:Q2xJis1e
>>600
調べろ。
602774ワット発電中さん:2009/06/08(月) 18:54:31 ID:jZltA4Ds
友人の中に感性だけで行動してる奴がいるけど、結局人生に挫折してる。
感情だけで判断していく人生って、そのときは自分に都合がいいけど
全体で考えると、全然ダメ。やっぱり、たとえ嫌なことでも、その場に
対応した行動を取らないと、普通に生活できない。

CAN死亡の人って、あれだけアドバイス受けながら、与えられた
HEXを実行させてるだけ。動きましたぁ〜ってそんな返答要らないでしょ。
今はPICの問題だからいいけど、人生で大きな問題にブチ当たったとき
また、他人にどうしたらいいでしょう的な問いかけするのかね。
まあ、いいけど。頑張ってください! 応援してますよ。
603774ワット発電中さん:2009/06/08(月) 19:08:43 ID:VmcOFMKm
604774ワット発電中さん:2009/06/08(月) 19:33:20 ID:lAK4dPwp

>>532
Q5cky76zはコテ名乗れ。責任もって264の相手をしろ。
別スレ立ててもいいぞ。

605264:2009/06/08(月) 21:12:02 ID:0Ge8rutu
>>593
応援ありがとう。
一生かかっても俺はがんばる。

>>594
せやねん。すまんね〜。

>>595
了解!!
応援ありがとう

>>596
コンフィグが3FFFになっている。
なるほど。
Hexをみるとほとんどが3FFFになってる。
どの3FFFのこといってる???
「上から(下から?)何行目の何文字目から4文字」
でおせ〜〜て。
ちなみに>>562は探せていない。
もし、方法を知っていたら教えてほしい。
606774ワット発電中さん:2009/06/08(月) 21:16:32 ID:mVHgISr7
わけもわからず省略しないで、全体をアップローダに上げればいいのに。
607264:2009/06/08(月) 21:38:15 ID:0Ge8rutu
ConfigBitsは
:02400E00FF3F72これだね。
3FFFではないようだ。。
608774ワット発電中さん:2009/06/08(月) 21:40:46 ID:+o2laD2y
>>607
エンディアンでググって勉強してこい
609774ワット発電中さん:2009/06/08(月) 21:44:55 ID:bPXHPUa1
>>603
そう。
610264:2009/06/08(月) 22:03:29 ID:0Ge8rutu
コンフィグがうまくいかね〜。
Hexを下から2行目のみ誰かのを真似すると俺のプログラムも正常に動く。
って、ことはコンフィグがうまく言ってない。
そこまではわかった。
あとは、コンフィグをどう設定するか考えてみるぜ。
611774ワット発電中さん:2009/06/08(月) 22:45:57 ID:8Lvo4wsY

>>532
Q5cky76zはコテ名乗れ。責任もって264の相手をしろ。
別スレ立ててもいいぞ。


612774ワット発電中さん:2009/06/08(月) 23:40:20 ID:1nVCFvps
>>605
MPLABのメニューに「File」「Edit」…「Configure」ってあるだろ
そこのなかのConfigrationBitsだ
もちろん編集中のプロジェクトを開いてコンパイルした後で見るんだぞ
いい加減腹立ってきた
613264:2009/06/08(月) 23:41:46 ID:0Ge8rutu
一応情報として、
プログラム上でCONFIGの部分を変更し、
ビルドすると一度エラーになり、
もう一度ビルドするとコンパイルがとおる。

何か思い当たる人いる??
614774ワット発電中さん:2009/06/08(月) 23:43:36 ID:jZltA4Ds
>>610
> あとは、コンフィグをどう設定するか考えてみるぜ

相変わらずのDQNぶりだな。どう設定するか考えるって、コンパイラ以上の
ことはできないだろう。素直に仕様にしたがって記述すればいいだけ。
考えてなにかキテレツな方法でも見つけようって言うの? ゲーム脳か?
裏技探しみたいな。やめておけよ。今のキミには無理。今日は寝て、また
明日やりましょう。寝たら視点が変わって、案外すぐに解決するかもよ。
615264:2009/06/09(火) 00:21:46 ID:Xeqqzmlw
>>612
サンクス。
これって、実はプログラム内に
記載することじゃナインやね。

「File」「Edit」…「Configure」の中のConfigrationBitsをいじってやるんだね。

>>614
了解。
なんか、根性論ぽいことおしえてくれてはるんかな?
がんばるわ。
616質問:2009/06/09(火) 00:52:38 ID:Na2uyInU
USBマイコンの使い方について誰か教えてください。
なんとかPIC18F2550をパソコンに認識させるところまで出来ました。
利用しているのはUSB Framework 2.4の汎用USBクラスです。
パソコンからエンドポイントにデータを書き込みたいのですが、
MPUSBWriteでタイムアウトを起こしてしまいます。
通常のPICとしての利用法は問題ありません、USB抜きではしっかり実行してくれてます。
どなたか教えてくださいませんでしょうか?以下にソースコードを提示します。
617質問:2009/06/09(火) 00:54:07 ID:Na2uyInU
/* PIC側 main.c */
void main(void)
{
USBDeviceInit();

USBEnableEndpoint(USBGEN_EP_NUM /* 1 */,
USB_OUT_ENABLED|USB_IN_ENABLED|USB_HANDSHAKE_ENABLED|USB_DISALLOW_SETUP);

while(1)
{
USBDeviceTasks();
}
}

/* usb_config.h変更点 */
#define USB_POLLING
//#define USB_INTERRUPT
618質問:2009/06/09(火) 00:54:52 ID:Na2uyInU
/* パソコン側*/
int main(int argc,char* argv[])
{
LoadMPUSBDLL(); // mpusbapi.dllロード

DWORD lib_version = MPUSBGetDLLVersion();
printf("lib_version = %d\n",lib_version);

int device_size = MPUSBGetDeviceCount(DEVICE_ID);
if(device_size != 1)
error_exit("- デバイスの数が不正");

printf("device_size = %d\n",device_size);

HANDLE hUsbHandle = MPUSBOpen(0,DEVICE_ID,USE_EP,MP_WRITE,0);
if(hUsbHandle == INVALID_HANDLE_VALUE)
error_exit("- ハンドルオープンに失敗");

DWORD ExWrite;
if(MPUSBWrite(hUsbHandle,"TEST",4,&ExWrite,2000) == 0)
error_exit("- 送信失敗"); // タイムアウトを起こす。

MPUSBClose(hUsbHandle);
return 0;
}
619質問:2009/06/09(火) 01:56:41 ID:Na2uyInU
ひとつ解決しました、PIC側プログラムのループ内に
h = USBGenRead(USBGEN_EP_NUM,a,64);
を書き込むことで解決しました。
実はa[64]をローカルで取っていたのが大きすぎたのが悪かったようです。
しかしこの関数で取得したものがPC側のWriteによるものなのか判別が出来ません。

if(USBHandleGetLength(h) == 0)を試してみたのですが、何も送ってないのに通過してしまいました。
どういう風に判別するのでしょうか?
620774ワット発電中さん:2009/06/09(火) 02:54:33 ID:DR/R9XK0
>>615
>>550のコードには間違いがある。
それを正しい(動く)コードに修正するためには、以下「しなさい」と書いてある所を全てしなさい。

1.MPLAB ウィンドーの上の方にある「Configure」をクリック、「Select Device」をクリック
 で使用PIC品種を設定できる。ここがPIC16F84Aになっているか確認しなさい。
 違うとコンパイルが通らないから絶対確認しなさい。

2.あなたはコンフィグのために
  _CONFIG(INTIO & WDTDIS & PWRTEN & MCLRDIS & BORDIS & HSOSC);
  と書いたが、これは間違っている。
  @この行の先頭は、「__」だ。アンダースコアが1個ではなく2個だ。1個だとダメだ。修正しなさい。
  AINTIO は使えない。なぜなら、PIC16F84Aという品種は、クロック生成器を内蔵で持っていないからだ。
   君は20MHzの発振素子をPICに配線したはずだ。だから「INTIO」を削除し、「HS」と書き換えなさい。
  BMCRLDIS は使えない。なぜなら、PIC16F84Aという品種の仕様だからだ。
   その機能がある品種でのみ使用することができる。今はその記述を削除しなさい。
  CBORDIS は使えない。なぜなら、PIC16F84Aという品種の仕様だからだ。
   その機能がある品種でのみ使用することができる。今はその記述を削除しなさい。
  DHSOSC は使えない。なぜなら、PIC16F84Aという品種の仕様だからだ。
   その機能がある品種でのみ使用することができる。今はその記述を削除しなさい。

>>615
>「File」「Edit」…「Configure」の中のConfigrationBitsをいじってやるんだね。
違う。
上記1と2がきちんと行われていれば、MPLABとコンパイラが
ConfigurationBitsに自動で適切な値をセットしてくれる。
621774ワット発電中さん:2009/06/09(火) 03:16:50 ID:M6cTKAvt
本当に基礎中の基礎という、データーシートを読むことをやらずに
他人の手間ばかり強要する人って、ある種の基地外かもしれないな。
いったいなにがしたんだか。CANまでこの調子で逝くのか?
俺は知らないよ。
622774ワット発電中さん:2009/06/09(火) 06:41:26 ID:OPId73Px
手際の悪さから仕事とは考えられないし、LED電飾小僧と同種の臭いがするから、
CANでデータとってエンジン回転数をLED表示したい、とかじゃね?
623774ワット発電中さん:2009/06/09(火) 07:19:30 ID:dk7X5o3/
これ読めばできるかな
http://www.eleki-jack.com/mycom2/pic/cat94/can/
624774ワット発電中さん:2009/06/09(火) 08:38:06 ID:sLvX+wCW
625774ワット発電中さん:2009/06/09(火) 08:46:29 ID:20NqoTQ6
おもしろくない
626774ワット発電中さん:2009/06/09(火) 19:29:38 ID:QCeWw76p
>>619
使ったのが半年以上前でうろ覚えだけど
PICのUSB通信に使うメモリは次のように宣言しないといけない
自動変数だとうまくいくかどうかわからないからグローバルで宣言したほうが確実

#pragma udata USB_VARS //これ以降の宣言はアドレス0x400台に配置するよう指定
volatile BYTE a[8]; //USBモジュールによって書き込まれるのでvolatile宣言
#pragma udata //以降の宣言をRAM領域指定に戻す
627774ワット発電中さん:2009/06/09(火) 19:37:15 ID:QCeWw76p
追加

h = USBGenRead(USBGEN_EP_NUM,a,64);
この時点ではまだ受信は完了してなくて、受信バッファをUSBモジュールに割り当てただけ。
すぐに制御が戻ってくる。

受信の判定はこんな感じ
if(!USBHandleBusy(h)){ //受信完了?
Len=USBHandleGetLength(h); //受信サイズ取得
//ここにデータを受信した
//ときの処理を記述
h = USBGenRead(USBGEN_EP_NUM,a,64); //次のパケットの受信バッファ割り当て
}
628774ワット発電中さん:2009/06/10(水) 09:59:26 ID:qid4rNj5
質問です。

I2C通信をしたいのですが、PIC18F2520でI2C通信ができません。
CCS Cを使用しているので、、、

#use i2c(MASTER, SCL=PIN_C3, SDA=PIN_C4, SLOW, FORCE_HW)
で、設定して、
i2c_start();
等の関数を使用して、通信をこころみました。

18F2320でうまく通信できたので、同じソースを移殖し、同じ回路で試したのですが、
18F2520では通信できません。。。
レジスタをみてもちゃんと設定されているように思うんですが。

原因がわからないのですが、何かアドバイスをいただけますか??
629774ワット発電中さん:2009/06/10(水) 11:18:27 ID:tUGJC25R
18F2550はSCL/SDAピンアサインが違うからでは?
630774ワット発電中さん:2009/06/10(水) 11:22:02 ID:tUGJC25R
あ、それだけならソフトウェア処理になるけど・・・
RC3ピンが存在しないからSCL動作しないと思う。
631774ワット発電中さん:2009/06/10(水) 12:59:42 ID:qid4rNj5
>18F2550はSCL/SDAピンアサインが違うからでは?
2550ではありません。
2520です。
PINアサインは同じです。
632774ワット発電中さん:2009/06/10(水) 14:37:19 ID:a5wzsmbb
移植時のソース書き換えを間違えたんじゃないの?
633774ワット発電中さん:2009/06/10(水) 18:32:15 ID:+tZTmF8A
>>628
ピンからそれらしい波形出てるかどうかとか待機時の電圧が正常かどうかとか見た?
「出来ません」というのは何で判断した?
634774ワット発電中さん:2009/06/10(水) 20:36:00 ID:NfT62anD
>>628
CONFIG2hとCONFIG3hの設定方法を違える必要があるのでは?
635774ワット発電中さん:2009/06/10(水) 23:41:41 ID:lbIdl0gT
>>628
すみません、間違えました
CONFIG2L と CONFIG3H でした
636264:2009/06/11(木) 02:42:44 ID:y3TPBJhg
タイマー割り込みむずかしいね〜。。コンパイルがとおらないわん。
ここまでの経緯。

以前、みんなに教えてもらってLEDの点灯に成功した。
1.誰かにもらったHEXファイルで点灯
2.自分のソースのNG部分を探す。
  ⇒コンフィグの設定だったようだ。

前回はここまでだった。
その後

3.自作のプログラムにてLEDを点灯
4.自作のプログラムにてLEDを交互に点灯、順番に点灯に成功
  ⇒これはタイマを使ったわけではなく、whileループで数万命令分まって、から点灯するLEDを変える。
5.自作のプログラムにてタイマー処理でLEDを順番に点灯のところで躓く。
自分では完璧なプログラムのつもりなのだが。。。
NGの部分のヒントを頂きたい。
宣言部、割り込み部、メイン部、関数部の順に示す。

637774ワット発電中さん:2009/06/11(木) 02:46:08 ID:y3TPBJhg

#include "pic.h"

static void pic_init(void); // マイコン初期化
static void wait_1sec(void); // ライト点灯時間

// グローバル変数
static unsigned int tcnt; // 51.2us*195=10mS
static unsigned int ttcnt; // 10mS*100=1s

__CONFIG(WDTDIS & PWRTEN & HS & UNPROTECT);

static void interrupt isr(void)
{
TMR0 = 0x3c; // タイマー0設定
T0IF = 0; // タイマー0オーバーフローフラグリセット
if(++tcnt == 195){ // 10msec割り込みが195回目なら
tcnt = 0; // TMR0割り込みカウンタークリア
ttcnt++; // 待ち処理カウンターインクリメント
}
}
638774ワット発電中さん:2009/06/11(木) 02:46:13 ID:zk0P/qqG
ここにだらだら書かずに、プロジェクト全体をまとめてアップローダに晒せ
639264:2009/06/11(木) 02:49:03 ID:y3TPBJhg

main(void) {

pic_init();

while(1) {
PORTB=0xFE;
wait_1sec();
PORTB=0xFD;
wait_1sec();
PORTB=0xFB;
wait_1sec();
PORTB=0xF7;
wait_1sec();
}
}

/* PICの初期化 */
static void pic_init(void) {

TRISA=0xFF; // RA0-4:in
TRISB=0x00; // RB0-7:out

OPTION = 0xA0; // プリスケーラ:256無し
INTCON = 0xFF;

tcnt = 0;
ttcnt = 0;
}

/* 1.0sウェイトルーチン */
static void wait_1sec(void)
{
unsigned int cnt;
cnt = 100;
while (ttcnt<cnt)
{
NOP();
}
ttcnt = 0;
}
640774ワット発電中さん:2009/06/11(木) 07:38:14 ID:KNMUZx4O
いい加減 自己解決しろよ
641774ワット発電中さん:2009/06/11(木) 07:54:47 ID:d+qgBSJ6
>>264
ステップ実行で事故解決せっ!
642628:2009/06/11(木) 08:20:37 ID:COnfqbcS
>>633
PICに電圧はきています。
他のモジュールは動いていますが、i2c通信だけ動きません。
動かないというのは、PICのSCLとSDAピンから信号が出てこないので、
動いていないと判断しました。
2320だとちゃんと動くんですよね〜。

>>634
CONFIG2LとCONFIG3Hですか?
2Lはブラウンリセット、パワーアップタイマの設定、
3HはMCLRピン、PortBのアナログ設定、CCP2ピンの設定
だと思うんですが、違います?
実は、これのどこかがi2cに関係してるんですか!?

643774ワット発電中さん:2009/06/11(木) 09:04:28 ID:51d0Wlmw
>>636
>⇒コンフィグの設定だったようだ。

ちょっとカチンときた
いいかげんにしろよ? 何回そう言われたんだよ


>NGの部分のヒントを頂きたい。
>宣言部、割り込み部、メイン部、関数部の順に示す。

もう何様だっつーの
情報を小出しにして皆の反応を楽しむカマって君じゃねえか
644774ワット発電中さん:2009/06/11(木) 09:13:07 ID:t9hqRKTb
しったか先生が生徒に聞かれてわからず、此処で回答探しに 256バイト
645774ワット発電中さん:2009/06/11(木) 12:20:34 ID:d+qgBSJ6
>>643
まえから判ってるじゃん。この引きでCANまで逝きたいんだそうだ。
>>264をおもちゃにして遊ばないと元が取れないよ。ここは、ひとつ冷静に。
646774ワット発電中さん:2009/06/11(木) 12:38:27 ID:ZGIW9EPk
ArduinoでCANしたいっす
647774ワット発電中さん:2009/06/11(木) 13:13:16 ID:wxGk15Vi
>>639
それじゃ動かん!

デバイスの仕様書を良く読んで
static void pic_init(void)の中
を書き直そうぜ。
648774ワット発電中さん:2009/06/11(木) 13:45:59 ID:d+qgBSJ6
>>639
書き方だけど、普通インデントつけると思うんだけど、
最近は、インデントなしが普通なの? メンテのために
誰でも読めるように書くのがいいとは思うけど、インデントに
なれた人には違和感あるなぁ。おれが時代遅れなのか。
649774ワット発電中さん:2009/06/11(木) 13:49:53 ID:dRD6We8s
>>648
付いているよ。
←ここに半角スペース8文字入れてある。
消えてるでしょ?
650774ワット発電中さん:2009/06/11(木) 13:50:05 ID:ZGIW9EPk
>>648
2ちゃんは空白が詰められるからだよw
651774ワット発電中さん:2009/06/11(木) 14:17:51 ID:NZEXfokX
TABも消えるよな。
全角スペースなら消えないけど
インデント代わりに使うのはやめて欲し
652774ワット発電中さん:2009/06/11(木) 14:24:51 ID:BrjrG3sW
テキストファイルでアップロードするのが一番確実
653774ワット発電中さん:2009/06/11(木) 14:40:58 ID:NZEXfokX
>>652
わざわざダウンロードしろってか?
いや、ウザくないからイイかも。
654774ワット発電中さん:2009/06/11(木) 15:10:37 ID:DAdmUELD
LHAで圧縮してISHで…
655774ワット発電中さん:2009/06/11(木) 17:54:23 ID:CiQknT1/
今時ISHって…
若いモンは知らんぞ。
今ならBase64かな。
656774ワット発電中さん:2009/06/11(木) 18:03:42 ID:zk0P/qqG
ishはエラー訂正してくれるから好きだ。
知ってても、実際に持ってる人は少ないだろう・・・と思ったが、検索したら
Windows版でロングファイル名にも対応したishなんてのも存在するんだなw
657774ワット発電中さん:2009/06/11(木) 18:12:53 ID:H3ij28Cd
xmodem kermit 
658774ワット発電中さん:2009/06/11(木) 20:06:47 ID:8Pxv2sT7
MPLABがスプラッシュウィンドウが出たところで落ちるようになってしまった。
別のユーザーアカウントだとちゃんと動くんだけどどこいじれば直るかな。
659774ワット発電中さん:2009/06/11(木) 20:30:32 ID:N08Gwvsr
>>658
再インストール推奨
660774ワット発電中さん:2009/06/11(木) 20:47:43 ID:NZEXfokX
>>658
この辺を参考に。 たぶんユーザー名の問題かな
ttp://www.picfun.com/mplab/mpbug01.html
ttp://www.cqpub.co.jp/toragi/contents/dsPICFAQ/FAQ3/faq3.htm
661774ワット発電中さん:2009/06/11(木) 21:36:46 ID:8Pxv2sT7
>>659
もうちょっと弄って変わらなければ再インストールしてみる

>>660
ユーザー名はもともとASCII文字にしてる
今日まで動いていたのに突然こうなった
662774ワット発電中さん:2009/06/11(木) 22:16:38 ID:1o7snShF
PICkit2の供給電圧、結構誤差あるな。
実際の出力電圧[V]/PICkit2 Programmerの表示[V]/誤差[%]
2.5 / 2.675 / 7.0
2.7 / 2.860 / 5.9
2.9 / 3.076 / 6.1
3.0 / 3.168 / 5.6
3.5 / 3.664 / 4.9
4.0 / 4.15 / 3.8
4.5 / 4.64 / 3.1
4.6 / 4.73 / 2.8
4.7 / 4.83 / 2.8
4.8 / 4.84 / 0.8
4.9 / 4.84 / -1.2
5.0 / 4.84 / -3.2
USBの供給電圧を疑うべき?
それともPICkit2が精度悪くてあてにしないほうがいい?
663774ワット発電中さん:2009/06/11(木) 22:17:26 ID:1o7snShF
>>662
逆だった。
○PICkit2 Programmerの表示[V]/実際の出力電圧[V]/誤差[%]
×実際の出力電圧[V]/PICkit2 Programmerの表示[V]/誤差[%]
664774ワット発電中さん:2009/06/11(木) 22:33:58 ID:Z6/FdHko
USBの給電の誤差はプラスマイナス5%じゃ無かったっけ?
665774ワット発電中さん:2009/06/11(木) 22:42:23 ID:zk0P/qqG
>>663
キャリブレーションかけたらどうかな?

PICkit2ユーザガイドより抜粋

2.13.1 Calibrating the PICkit 2 VDD

Calibration allows greater accuracy both in the VDD voltage
supplied to the target from PICkit 2, and the voltage detected
on a powered target and reported in the software. The calibration
is stored in the PICkit 2 unit nonvolatile memory, so the unit
will remain calibrated even when used from within MPLAB IDE.

It is important to note, however, that as the calibration is
dependent on the USB voltage, moving the PICkit 2 unit to a
different USB port, to or from a USB hub or to another computer
port may invalidate the calibration.
666774ワット発電中さん:2009/06/11(木) 22:43:19 ID:zk0P/qqG
こういうページもある

Question 4 - How to calibrate PICkit 2?
http://www.auelectronics.com/Q4.htm
667264:2009/06/11(木) 22:51:21 ID:y3TPBJhg
>>663
だよね。。。
668774ワット発電中さん:2009/06/11(木) 23:00:13 ID:zk0P/qqG
>>664
ケーブルやらコネクタの接触抵抗やらの電圧降下まで規定されていて、最終的に
USBデバイスは4.35Vから5.25Vの範囲で動作できなければならない。
669774ワット発電中さん:2009/06/11(木) 23:09:47 ID:1o7snShF
>>666
その通りにキャリブレーションしたら、4.8V以下では誤差1%程度になりました。
サンクスです!

4.9/5.0Vでは4.84V一定になったので、PCのUSB供給電圧が低いようです。
(怖くてテスタをUSBに突っ込めなかったので推測)
670264:2009/06/11(木) 23:24:30 ID:y3TPBJhg
>>674
>デバイスの仕様書を良く読んで
>static void pic_init(void)の中
>を書き直そうぜ。

ほんまやな。
OPTIONとINTCONが逆やな。
割り込み処理のほうがおかしいのかと思ってたわ。

サンキュー
671774ワット発電中さん:2009/06/12(金) 00:02:22 ID:CIuVsiMX
教えてください。PIC16F88のADコンバータで質問があります。

1.ADコンバータ周辺の設定レジスタの中には、ANSELとADCON0があります。
この2つは、ともにAD入力chを選択する設定のようですが、なぜ2箇所もあるのでしょうか?
データシートを見ると、ADコンバータ前のchセレクタはADCON0[5:3]で選択できるようです。
であれば、ANSELは何のために?ということです。ANSELもADCON0と同じように、
回路図上で説明されていればよいのですが。

2.ADのchを切り替えて多点のアナログ入力をしようとデバッグしています。
+Vref=VDD=5V, -Vref=GND=0Vの設定で、入力に5kのVRをつないで0V〜5Vを可変。
ターミナルで変換値を確認しています。
期待する変換値は、0V入力時→0x0000、5V入力時→0xffc0です。
ところが、0V入力時は0x0000でOKなんですが、5V入力時が約0x6340になり、
とても0xffc0まで行きそうにありません。全chとも同じ現象です。値も同じぐらい。
VRによる0〜5Vまでの、変化途中で飽和しているわけでなく、5V丁度のときにキレイに
0x6340になります。まるで分圧されたイメージです。
何か原因となりそうな事がありましたら、アドバイスいただけないでしょうか?

AD変換部分のソースです。
#define AD_start 0b00000100;  // AD start
#define ch1 0b00000000;
#define ch2 0b00001000;
#define ch3 0b00010000; という感じでchセレクト情報を書いて

ADCON &= 0b11000111;  // 前回ch設定をclear
ADCON |= ch2;      // ch2をselect
ADCON |= AD_start;  // AD start
while( (ADCON&AD_start) != 0 ){}  // 変換待ち
ch2_data = ((unsigned long int)ADRESH) << 8;
ch2_data += ((unsigned long int)ADRESL);
という感じです。

672774ワット発電中さん:2009/06/12(金) 00:23:31 ID:LxP5yu+a
>>669
Vppは可変昇圧回路だけど
Vddは昇圧無しシリーズ制御だから
5Vキッカリ出力は難しいと思う。

因みにどっちもPWM応用してるみたい。
673774ワット発電中さん:2009/06/12(金) 00:33:06 ID:g0f6a68N
>>671
A1. ANSELはAN0〜AN6ピンのDigital/Analog入力切替(select)だよ。

A2. ch-select後に20us程度wait入れるべし。
674774ワット発電中さん:2009/06/12(金) 00:47:20 ID:X6uJvZFJ
>>672
VddはPWMと言ってもをD/A変換代わりに使ってるだけだけど
675264:2009/06/12(金) 01:30:50 ID:ErQ8LjNT
割り込みの部分ってあってる??
割り込みが195回済んだら
ttcntがインクリメントして
tcntがリセット、
これでttcntが10msごとにインクリメントされる予定なんだけど、
ttcntはずっと0のままなの。。

多分、割り込みの中が怪しい気がするけど。

static void interrupt isr(void)
{

T0IF = 0; // タイマー0オーバーフローフラグリセット
tcnt++;
if(tcnt == 195){ // 10msec割り込みが195回目なら
tcnt = 0; // TMR0割り込みカウンタークリア
ttcnt++; // 待ち処理カウンターインクリメント
}
}
676774ワット発電中さん:2009/06/12(金) 01:34:00 ID:Ydq1Bbsa
>>673
さっそくありがとうございます。
>ANSELはAN0〜AN6ピンのDigital/Analog入力切替
なるほど、そうだったのですか。でも、CMCONにもDigital/Analog入力切替が
ありますが、あちらとの位置関係は、どのようになるのでしょう。
I/O PortのBlockDiagramを見たときに、AnalogInputModeという信号でゲーティング
されているのですが、この信号の行き先がどのようになっているのか、
わからなかったのです。

I/O pin------ANSEL-----CMCON------ADCON0[5:3]のSW-----A/Dという
経路なのでしょうか。

すみません、よくわかっていません。
今日のところは帰ります。また明日、ご連絡したいと思います。
ありがとうございました。
677264:2009/06/12(金) 01:54:07 ID:ErQ8LjNT
>>563

連絡おくれたね。
とりあえず、コンフィグ設定うまくいったよ。
解決した瞬間はめっちゃすっきりしたよ。
レベルUPだね。

今はタイマ処理に悩んでるよ。
ただ、もう一息なきがする。
678774ワット発電中さん:2009/06/12(金) 02:24:41 ID:gEBkGieF
>>677
>レベルUPだね。
レベルアップしてねえよ!(三村)

他力でレベルアップ面白すぎwww

悪い事はいわない、こんな殺伐とした世界に足を踏み入れると怪我するぜ
家で母さんのお手伝いでもしてな
679264:2009/06/12(金) 02:29:49 ID:ErQ8LjNT
>>677
まあ、がんばるわ。
この世界モチベーション大事やし。

まあ、大体わかってる人にとってはレベルアップに見えないのかもね。

>>678のいうように確かに他人の力も少々頼ってるし、
おれ自身少ししか貢献できてないのは申し訳ないと思うわ。
680264:2009/06/12(金) 02:31:47 ID:ErQ8LjNT
少し、改善させたつもりだけど、
結果的には変化ないね〜。
とりあえず、ifを増やしたよ。

static void interrupt isr(void)
{
if(T0IF) {
T0IF = 0; // タイマー0オーバーフローフラグリセット
tcnt++;
if(tcnt == 195){ // 10msec割り込みが195回目なら
tcnt = 0; // TMR0割り込みカウンタークリア
ttcnt++; // 待ち処理カウンターインクリメント
}
}
}
681774ワット発電中さん:2009/06/12(金) 02:32:20 ID:gHriFAo8
>678

軽石氏ね。
おまえ、自分では何にも作ってないだろ。
変換ケーブルとかLEDの”点灯”止まりじゃん。
LED、”点滅させてみろよ。”
682774ワット発電中さん:2009/06/12(金) 03:03:22 ID:oGjEEAE/
>>636
一番の間違いを教えてやるよ。

みんなお友達と勘違いし、質問の仕方をわきまえずスレを占領し
CONFIGではないかとの再三の指摘を無視し続け、さも自己解決したかのように言い放ち
その次に当たった壁に対して大して考えもせずすぐスレに質問した挙げ句
「自分では完璧なプログラムのつもりなのだが。。。」
とのたまうお前の思考回路だよ。
683264:2009/06/12(金) 03:33:37 ID:ErQ8LjNT
>>682
おしい!!!
おしいが、ちょっと違う。

CONFIGではないかとの再三の指摘は十分受け止めて、参考にさせてもらったよ。
ただ、CONFIGが怪しいといわれたけど、CONFIGのどこがおかしいかわからなかっただけ。
まあ、そういうことだ。
自分で解決したなんて思ってないよ。
とくに、CONFIGのところではいろいろ教えてもらって、そういう人たちには感謝してる。
問題解決したから、そういう人たちに連絡しただけで、
別に「おれ、解決策みつけたよ」って行ってるわけじゃないよ。

自分では完璧なプログラムのつもりはさらさらない。
だって、まともに動かせてないし、できたこともないんだから。
ただ、自分の精一杯のプログラムなので、それ以上のものってのは見つかりませんでした。ってだけ。

ちょっと、ひねくれてるのかな。。

あと、スレを占領しておいて、
ちょっとしか貢献できてないことに関しては
教えてくれているみんなや質問したいみんなには申し訳ない。
ごめん。
684774ワット放電中さん:2009/06/12(金) 05:18:08 ID:GJ9WYDva
>>683 >>264
自分で解決出来ないなら、仕様書を書いて他の人に作って貰えば良い。
その時、規約書に保守義務を明記するのとソースリストの提出を条件にすればいい。

そしてそのプログラムを自分で読んで見る事が一番の解決方法だろう。
他の人の書いたプログラムを読んでテクニックを盗むのも自己研鑽のひとつだよ。
685774ワット発電中さん:2009/06/12(金) 07:52:58 ID:XHvhzThP
>>676
PICのGPIOピンは、ANSELで明示的にアナログ入力を指定しない限り、デジタル入力バッファが
常に有効になっている。デジタル入力バッファはデジタルH/デジタルLに該当しない中途半端な
電圧が掛かると比較的大きな電流が内部で流れるので、そういう電圧が掛かる場合はANSELで
アナログ入力を指定して、デジタル入力バッファを無効にする必要がある。

ANSELの機能は、正確には「デジタル入力バッファを無効にする」だけなので、これを
指定するだけでアナログ入力になるわけではない。というより、ANSELの設定に関係なく、
アナログ入力は常に有効になっている。なので、デジタル入力バッファが有効のままでも
TRISでGPIOをデジタル入力に設定すればアナログ入力もできる(この場合、中途半端な
入力電圧では消費電流が増える)し、TRISでGPIOをデジタル出力に設定すれば、「現在
デジタル出力している電圧」がアナログ入力される(この場合、出力電圧のモニタが
できることになる)。

ついでに言えば、TRISの機能も、正確には「デジタル出力バッファを無効にする」だけ。
これの指定の有無に関係なく、デジタル入力バッファはANSELの指定で有効・無効が決まり
(無効時にはデジタルLが読み込まれる)、アナログ入力は常に有効となる(無効にはできない)。

>でも、CMCONにもDigital/Analog入力切替がありますが、
CMCONで行うのは、コンパレータに接続する入力を切り替えるだけ。ピンの機能を切り替えて
いるわけではないので、CMCONでピンの入出力モードは変わらない。
686774ワット発電中さん:2009/06/12(金) 08:03:37 ID:gHriFAo8
>682

説教うざい。軽石。
お前のスレじゃないだろ。
自分のサイトでやれよ。
何年経ったら復旧するんだよ。
能無し。
687628:2009/06/12(金) 08:23:56 ID:NLu2Az4m
PIC18F2520でi2c通信できない理由ってわかりませんかね?
昨日も頑張ってみたんですが、解決できませんでした。

誰か、同じように止まった人いないかな??
688774ワット発電中さん:2009/06/12(金) 09:03:14 ID:XHvhzThP
>>687
それじゃまるで>>264だよ。
>>628以降、いくつもアドバイス貰ってるだろ。
 >>629-630
 >>632
 >>633
 >>634-635
このうち>>629-630の分は>>631で反応してるようだが、それ以外はスルーか?
689774ワット発電中さん:2009/06/12(金) 09:16:12 ID:rl75JAme
>>687
"FORCE_HW"無しだと如何
690628:2009/06/12(金) 09:26:09 ID:NLu2Az4m
>>688さん
>>642で一応全てに反応したつもりですが。。。

>>689さん
ありがとうございます。
試してみます!!
691774ワット発電中さん:2009/06/12(金) 09:32:08 ID:XHvhzThP
>>690
うは、偉そうな指摘しておきながら見落としてたわ。すまん。
それじゃ未回答は>>632だけだな。
692774ワット発電中さん:2009/06/12(金) 12:29:48 ID:gEBkGieF
>>264
正直今までの経緯をみて>>264がこれからPICをマスター出来るとは
とうてい思えない
だが貢献するという、、、面白いな
だがあえてレスしてやる
OPTIONの値は?0xFFなのか?(逆だとそうなるな)
コメントの// プリスケーラ:256無し とはどういう意味なんだ?
もっと人が分かるように説明してくれ
693774ワット発電中さん:2009/06/12(金) 13:05:07 ID:Ydq1Bbsa
>>673
>A2. ch-select後に20us程度wait入れるべし。
ありがとうございました。
ズバリ時間を待ったら、無事に変換できました。
ADのch切替して、変換開始すると、100nsでコンデンサが切り離されるんですね。
なので、100nsではサンプルコンデンサが完全充電できなかったようです。
待ち時間を1usずつ延ばしていくと、それに連れて変換結果が上がっていき、
コンデンサの気持ちが目で見えて、楽しかったです。
どうもありがとうございました。

>>685
わかりやすい説明、ありがとうございました。
まさに私の知りたかったことが書かれていて、感激しました。
特に、
>ANSELの機能は、正確には「デジタル入力バッファを無効にする」だけ
この1文で、疑問氷解でした。マイクロチップのデータシートにも
>>685のような表記がされていたら、なんと分かり易いのか、と思いました。
(英文の理解力は棚に上げておきます)
さらに、
>アナログ入力は常に有効となる(無効にはできない)。
カッコ内の説明は、それまでの説明を確認する意味で、表現にしびれました。
どうもありがとうごさいました。

感激したので調子に乗って、脳内イメージを図にしてみました。
こんな感じではないでしょうか? 要は、ADは常時接続だよ、というだけですが。
http://mcnc.hp.infoseek.co.jp/cgi-bin/img-box/img20090612124335.png
694774ワット発電中さん:2009/06/12(金) 13:13:27 ID:g0f6a68N
>>676
ANSELはデフォでADC(analog)入力有効だから注意。
CMCONはアナログコンパレータの設定で、これによっても
PINがanalog入力になったり、コンパレータ出力に変わる。要TRIS設定
analog入力の場合、Digital入力はゲートで常に'0'入力になる。
analog入力に係わらず大概のPICはTRIS='0'で
Digital出力バッファ有効になる。
695685:2009/06/12(金) 13:18:31 ID:XHvhzThP
>>693
そんなイメージでOKです。
696774ワット発電中さん:2009/06/12(金) 14:59:27 ID:Ydq1Bbsa
>>695
いろいろと お世話になりありがとうごさいました。
また教えてください。
697774ワット発電中さん:2009/06/12(金) 17:18:20 ID:ZMeEDx79
スレーブから受信データがないかポーリングするわけですな
698774ワット発電中さん:2009/06/12(金) 17:46:28 ID:X6uJvZFJ
>>687
アマチュアが使う定番のPICではないから情報がないのは仕方ないと思う。
さらに純正コンパイラがある18FなのにCCSを使ってるから余計に。

あとね、何をしたらどんな風で駄目だったとか書かないと264と同じだよ。
他力本願な人だと思われてレスしてもらえなくなるよ。

とりあえず切り分けのために、
・SCL/SDAピンの状態は? Lo, Hi, Hi-Z
・MPLABSIMでシミュレートするとどんな感じ?
699774ワット発電中さん:2009/06/12(金) 18:08:58 ID:Q/0AIju/
I2Cはプルアップ忘れが多いけど....。
700774ワット発電中さん:2009/06/12(金) 22:39:50 ID:V7H+drp3
16F88のA/D変換について教えてください。

A/D変換結果が一定以上を超えると、PICのVSSからGNDへ流れ出る電流だけが異常増加します。
A/Dの生の値が、概ね100以下の時は 0.6mA
150〜1000以上(VDDと直結するのも試した)の時は 25.4mA
その間、電源からPICのVDDに流れ込む電流は0.6mAで一定です。
何が原因でしょうか?
701774ワット発電中さん:2009/06/12(金) 22:44:16 ID:cXEoaZ69
で、VDDと入力端子にかかってる電圧はどれくらい?VDD越えてたりはしないよね?
702774ワット発電中さん:2009/06/12(金) 22:48:41 ID:V7H+drp3
>>701
入力端子に掛かる電圧は、DMM実測で電源電圧の範囲内(0〜5.0V)と確認してます。
A/Dの生の値とも概ねよく一致しているように見えました。
703774ワット発電中さん:2009/06/12(金) 22:55:23 ID:xCaN1o3O
相手のI2Cの基準電圧は5Vなのか3.3Vなのかという問題もある
石によっては5V-3.3V間でも通信できてしまうが
704774ワット発電中さん:2009/06/12(金) 23:53:16 ID:XHvhzThP
>>700
>>685に書いたように、ANSELをちゃんと設定してないんじゃないの?
705264:2009/06/13(土) 00:07:40 ID:1TUxVejT
割り込みがちょうしわるいんかな。。。
static void interrupt isr(void)がうまく呼び出されていない感じ。

TMR0 = 0x3cっていうタイマ設定命令は、
割り込みstatic void interrupt isr(void)の中で実行して自己回帰すべき?
それとも、待ち関数waitナンチャラ()って関数のwhile文の中にかいたらいいんかな???
706774ワット発電中さん:2009/06/13(土) 01:05:40 ID:Ja5yU+bn
>>705
>>639のプログラムは何を参考に書いたのか教えて


HI-TECH C PRO(Lite)のフォルダの中にあるサンプルプログラムが参考になるのでは?
\PICC\PRO\9.60\samples\TimerDemo\timer0.c
PICのタイマー割込みに関する説明は
http://picfun.com/pic09.html
これかな。
707774ワット発電中さん:2009/06/13(土) 01:07:52 ID:bxP/8O1C
>>704
理由判明。
該当ポートのTRISを出力にし、LO出力で放置していたため
ポートがLO出力とADCの両方に接続された状態になってました(!)
ANSELさえ正しくしておけば、入力/出力ラッチどちらからも切り離してくれると勝手に思い込んでました。
ブロック図をもっとしっかり見ておくべきでした。
アナログ入力するときは、TRISも入力にしないといけないんですね。
勉強になりますた。
708774ワット発電中さん:2009/06/13(土) 01:17:21 ID:92mCbPKG
>>705
6/3から取り掛かって割り込みを使ったLED点滅ができない君の無能力さには
ホトホトあきれてしまうよ
その無能力さは君の他人の意見を聞かない所以だと思う
但しこの程度の事に、叱咤もありながら10日もかかって取り組む姿勢は素晴らしいと思う
君はこの世界に向いているのかもしれない

OPTIONレジスタの各ビットの値は確認したのか?
709774ワット発電中さん:2009/06/13(土) 01:40:01 ID:BA8k9rUc
? OPTION = 0xA0;
710774ワット発電中さん:2009/06/13(土) 06:26:04 ID:e976a0ZR
>>705
500レス近くに渡ってがんばってるわけだし、そろそろ、どれが同じ質問者なのか
分かるようにトリップかコテ付けないか?

そうしないと、せっかく以前に説明したことでも「あれはどうなってる?」と
何度も聞かれることになるよ。読むほうも楽になるから。
711774ワット放電中さん:2009/06/13(土) 06:30:26 ID:CIGf1g60
>>543 亀レスだが休みが無いもんで・・・
8bit パソコンゲーム→16進ダンプリスト→脳内変換→逆アセンブラ→プロテクト外し
Z80 だと必要マシンサイクルまで覚えていたね。川鉄は必要マシンステートが変わっていて役に立たなかった。
PIC10〜18シリーズ は RISCプロセッサとして X'tal4クロックを 1マシンステートと数えて 1命令1サイクルとして宣伝してただけ。
内部的には Q1〜Q4 ステートがあるだけ、その中のどこかで次の命令を先読みしてるだけ。

264 が 今後 人に教えられるようになれるか見守る事にしてみるよ。
私の E-mail は隠していないから過去のレスを見てみればいい。
712774ワット発電中さん:2009/06/13(土) 15:44:00 ID:GChg8HYE
その物言いでメアドがニャンニャンコwww
キャンディミルキィの乗りなのか?
713774ワット発電中さん:2009/06/13(土) 16:42:31 ID:DW3C3qRd
>>711
何様だよ。
哀れだなw
714774ワット発電中さん:2009/06/13(土) 18:27:54 ID:hXTrukqW
>>711
ピー子楽しかった?お友達できた?
715774ワット発電中さん:2009/06/13(土) 21:58:39 ID:bXkiDkZN
にゃんにゃんこさんを知らないモグリもいるんだな。
PICfanとか知らないのか?
716774ワット発電中さん:2009/06/13(土) 22:39:52 ID:bxP/8O1C
>>715
にゃんにゃんこ PICfun に一致する日本語のページ 3 件中 1 - 3 件目 (0.24 秒)
717774ワット発電中さん:2009/06/13(土) 22:40:49 ID:bxP/8O1C
>>715 funじゃなくてfanか。
にゃんにゃんこ PICfan に一致する情報は見つかりませんでした。
718774ワット発電中さん:2009/06/13(土) 22:48:13 ID:emV2MS57
>>715
知らんし、興味もないよ。あ、ひょっとして本人だった?
なんにせよ、スレ違いなのであとはこっちでやってくれ。

【かれこれ】電子工作関連人物ヲチスレ6【一年】
http://science6.2ch.net/test/read.cgi/denki/1205759475/
719774ワット発電中さん:2009/06/13(土) 23:22:17 ID:uRcrhNNJ
nyankoさんに豚小屋は失礼だよ。
マナー云々言うやつが多いPICな人の中で、的確かつ無駄のない回答で、すごく貢献してるんだよ。
ま、PSoCに宗派換えだそうですが。
720774ワット発電中さん:2009/06/14(日) 01:33:07 ID:XL81Pk++

何処かで見たよな展開なのだがwまもなく締め切り
http://www.microchip.com.hk/quickneasy/
721774ワット発電中さん:2009/06/14(日) 09:29:17 ID:icayuE6l
>>720
DV164131
$56
今、PicKit3をゲットには、これが最安?
送料は$15で、\7500位?
722774ワット発電中さん:2009/06/14(日) 09:37:33 ID:icayuE6l
>>721
あ、送料+手数料で、$20.5掛かるみたいね
そうすると、マルツ等とあまり変わらんね
723774ワット発電中さん:2009/06/14(日) 10:11:10 ID:dWlVfYEG
ttp://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=DV164131-ND
\7,545だから送料無料

単体発売まだー?
724>>264:2009/06/15(月) 23:09:03 ID:ivmIeLsA
>>706
サンクス。
サイト見て参考にしたらできたよ。
ただ、ちょっとタイミングがずれてるんだけど、
まあ、許容かな。

>>708
確認したよ。
OKぽい。
725774ワット発電中さん:2009/06/16(火) 12:58:52 ID:0pv1lieA
@PICやPIC工作の初歩的なことはどこかにまとめサイトを作ってまずそっちを教える。
Aそれでも不明ならここで質問する。
BQ&Aとして利用価値が高いならまとめサイトに誰かが追加する。
C終了


初心者が質問してくる@へ
726774ワット発電中さん:2009/06/16(火) 13:13:45 ID:LBVyK9v9
>>725
まとめサイトっつーか、丁寧に工作を図解までしてくれてるサイトとか
腐るほどあるし、たいてい質問するほどの内容でもないのは確か。
ただ、そんな空気作ってると確実に過疎化すると思うよ。
板自体が盛んなわけじゃないし、馴れ合ってもいいんじゃないかなあ。
727774ワット発電中さん:2009/06/16(火) 13:53:13 ID:qWMYcmzt
つーか、2chと言うコミュニティ自体意味が無くなる
初心者の相手をするのが嫌なら、スルーするかここに来なければ良いだけの話
728774ワット発電中さん:2009/06/16(火) 23:44:08 ID:zDjk+mg1
>>726>>727に賛成だぞ
729774ワット発電中さん:2009/06/17(水) 11:53:00 ID:CCTo5G6t
730774ワット発電中さん:2009/06/18(木) 00:19:15 ID:gxn5RPob
初心者を罵倒しないと自我を保つ事ができない奴がいるからね。
軽とか近藤とか
731774ワット発電中さん:2009/06/18(木) 01:19:28 ID:yLUvOmE1
PICKIT2で使える
8〜40ピンのZIFアダプター回路図きぼんぬ
732774ワット発電中さん:2009/06/18(木) 01:24:13 ID:DWDgfMdK
ググレカス
733774ワット発電中さん:2009/06/18(木) 01:28:49 ID:gxn5RPob
軽石乙。
734774ワット発電中さん:2009/06/18(木) 01:29:53 ID:3mfxgIvA
簡単だろ
735774ワット発電中さん:2009/06/18(木) 01:36:18 ID:kE/oti7v
>>731
せっかくのICSP端子にZIFソケットなんて無粋なものを・・・
使うのがもっぱら少ピンの品種だとか、1つHEXをたくさんのPICに書き込むとかなら
話は別だけど。
736774ワット発電中さん:2009/06/18(木) 01:46:16 ID:38ttF8kh
>>732
知っているならヒントくらい教えてやれよ。

>>735
ライターとして使いたいだけだから悩む必要ないよ。

>>731
「写真で見る工作室」でピンリストがあるよ。

ヒントも出せないならROMれハゲ。
737774ワット放電中さん:2009/06/18(木) 02:42:58 ID:rkWvZP2X
>>731
28pin と 40pin は下記を参考にすれば作れますよ。
ttp://www.picfun.com/icsp03.html

8pin は 自分で挑戦してごらん。ICSP を 理解すれば出来るよね。
738774ワット発電中さん:2009/06/18(木) 05:18:14 ID:lctDvzYo
>ヒントも出せないならROMれハゲ。
相手を罵倒するとき自分がコンプレックスと感じていることを
口にしやすいという法則があるそうだ
739774ワット発電中さん:2009/06/18(木) 07:00:54 ID:pTyOYuCg
黙れフサフサ!
740774ワット発電中さん:2009/06/18(木) 09:18:29 ID:XDkcIkC8
ぐぐると2chがヒットするのはよくあること。
しかしこの件は"pickit2 ZIF"でぐぐれば、一発ビンゴでいろいろヒットするから。
741774ワット発電中さん:2009/06/18(木) 13:00:54 ID:5QF7A7iy
つーか、個人で使うだけならZIFソケットより、
ICSP用以外のピンを除去して抜き差ししやすくしたICソケットで十分だぜ。
742774ワット発電中さん:2009/06/18(木) 16:05:56 ID:Mi+jhWxX
>>741
そのアイディア、頂きます。
743774ワット発電中さん:2009/06/18(木) 18:53:32 ID:Th8XoeHY
千枚通しでコジて抜いてるけど、マイナスドライバーより尖ってて使えると思う。
744774ワット発電中さん:2009/06/18(木) 18:58:27 ID:/DhINkO1
丸ピンのICソケットならピンセットを使うときれいに抜けるよ。
745774ワット発電中さん:2009/06/18(木) 21:35:57 ID:inm/U3px
>>720
サイトで掲示されてるハイスコアが214,748点なんだが、いったいどうやったら
そんな点数に到達できるんだろう。

制限時間が3分、チップが1秒あたり3個弱だから、チップ全部で500個程度。
チップ1個あたり平均50点として、全部ヒットしても25,000点。クイズの難易度が
いちばん高いのを選んで、5問全問正解しても+3,000点。合計28,000点。

桁違いだからチートなんだろうけど、そもそもどんなチートをしたらそんなとこまで
行くんだw
746774ワット発電中さん:2009/06/18(木) 22:42:26 ID:hJYdW+Uq
C18で関数をインライン展開させる方法ってない?
数十サイクルで終わる処理だから関数呼び出しのオーバーヘッドが無視できないんだ
747774ワット発電中さん:2009/06/18(木) 22:53:40 ID:inm/U3px
インライン展開させる方法そのものではないんだが、数十サイクル程度の処理なら
ソース行数もたいしたことないだろうから、そのままそっくりマクロにしてしまっては。
748774ワット発電中さん:2009/06/19(金) 20:25:15 ID:5VgS57fm
749774ワット発電中さん:2009/06/19(金) 20:42:03 ID:6WkyO0Tb
>>724
動く様になり、おめでとう。
どこをどの様になおしたら動く様になったか教えて。
また、どの様にタイミングがずれているか教えて。
それが、アドバイスくれた方々へのお礼であり、皆への貢献だと思うよ。
750264:2009/06/20(土) 02:43:39 ID:2583FO0O
>>749
あんたの言うとおりだ。

まず
>どこをどの様になおしたら動く様になったか教えて。
勘違いしていた点⇒「TMR0 = 0x3C;」がタイマーのセット(カウント開始)だと思っていたこと。
実は「TMR0 = 0x3C;」はタイマーのカウント開始値であり、
カウント開始は「T0IF = 0;」であった。

>また、どの様にタイミングがずれているか教えて。
タイミングのずれは解消された。
タイミングがずれていたのは、1秒おきにLEDの点灯パターン(4つのLEDのON・OFF)を切り替えるはずが、
時計を見てみるとちょっと1秒より長いなって思っていた。
理由:最初にしか「TMR0 = 0x3C;」をしていなかったんで、
2回目からは役1.3秒置きのパターンチェンジになってたんだな。。
今は「TMR0 = 0x3C;」してから直後に「T0IF = 0;」とすることでうまくいっている。

教えてくれたみんなありがとう。
ただ、ちょっとづつわかってきて思ったこと。。。
俺に「データシート読め」って言ってた人、ホントにデータシートの意味わかってるんだろうか??
俺がわからなかったことってデータシートには全く載ってないけど。。。
って、ことで誰かが質問したら「データシートを読め」「ぐぐれ」は言わないようにしようと思う。
751774ワット放電中さん:2009/06/20(土) 06:52:29 ID:BN3MB7E1
>>750 >>264

>データシートの意味わかってるんだろうか??
英語を翻訳することは、滅多にしない。
ブロックダイヤグラム・等価回路・タイミングチャートは万国共通。
またサンプルプログラム(アセンブラや C言語)も万国共通。

>「データシートを読め」「ぐぐれ」は言わないようにしようと思う。
「データーシートの何ページに記載があるよ」と書いているね。
752774ワット発電中さん:2009/06/20(土) 06:58:27 ID:TiVTNPqN
>>750
解決の経緯を紹介してくれて、ありがとう。
う〜ん。この説明では良くわからないなあ。
コードはそんなに長そうにないので、動く様になったコードを全部貼ってよ。
753774ワット発電中さん:2009/06/20(土) 07:33:44 ID:ysjFz1Q3
>750
 データシートには各レジスタの説明やサンプルプログラムが載っている。
それを読めば
>カウント開始は「T0IF = 0;」であった。
のようなことは書かない。

「データシートを読め」と言われているのは、データシートの内容を「非常に注意深く読め」
ということ。斜め読みして分ったつもりになっているだけでは、読んだ内には入らないよ。
754774ワット発電中さん:2009/06/20(土) 07:57:58 ID:oLRvS/wU
中高の学生の発言レベルだな まったく
755774ワット発電中さん:2009/06/20(土) 08:01:59 ID:TiVTNPqN
>>751 >>753
俺は初心者に「データシートを読め」とアドバイスするのは賛同しないなあ。
俺は初心者を卒業し、中級者に入っているかなあ?と自分では思っているが、正直
データシートを熟読した経験がない。(ポイント、ポイントは読んでいる)
それより初心者には「ググレ」を言いたい。
ググって、それと同じPICで、同じ回路で、同じプログラムで先ず動かしてみろ。
そして、それを改造してみろ。「メチャ勉強になるぞ。」と言いたい。
756774ワット発電中さん:2009/06/20(土) 09:05:10 ID:cg9dF4FM
うむ、嫁嫁言ってるやつに限って読んでないとおも。
本職でも頭っから読むことないしね。

やはりヒナには噛み砕き済みのweb情報の方がいいとおも。
757774ワット発電中さん:2009/06/20(土) 09:35:12 ID:Abbc+eal
データシートには何も書いてないと思ったほうがいい
758774ワット発電中さん:2009/06/20(土) 09:53:36 ID:cg9dF4FM
いや、それは暴論だ。
759774ワット発電中さん:2009/06/20(土) 10:02:03 ID:dOaTM0n6
PIC始めた年に英語に慣れるためにPIC16F819のデータシートを全部読んだ。
819はミッドレンジの一通りの機能が備わってるし、知らなかった機能を知ることも出来た。
掛けた時間の割には合ってないかもしれないけど相当役に立ってると思う。
まともに英語の勉強なんかしてないけどデータシートばかり読んでたらTOEIC690点取れちゃったし。

何もわからない初めは本買ったほうがいいと思うけどなー。
俺は5年前に「おもしろいPICマイコンPIC12F675を使いこなす」でPICデビューした。
この本はこのスレで紹介してもらったような気がする。
データシート読んだことないマイコンのマの字も知らないような人はwebの情報より順序立てて説明してある本のほうがいいと思う。
760774ワット発電中さん:2009/06/20(土) 11:47:53 ID:14GaCYA0
データシートもそうだがリファレンスマニュアルを読まないとな
リファレンスマニュアル読んでれば
>実は「TMR0 = 0x3C;」はタイマーのカウント開始値であり、
>カウント開始は「T0IF = 0;」であった。
こういう理解の仕方にはならないだろう
また
>今は「TMR0 = 0x3C;」してから直後に「T0IF = 0;」とすることでうまくいっている。
「今は」とか「うまくいっている」のようなトライアンドエラー的なことにもならないでしょう
761774ワット発電中さん:2009/06/20(土) 12:11:02 ID:dOaTM0n6
間違った知識で覚えるといけないから一応補足しておこう。
T0IFはTimer0InterruptFlagの略。
タイマ0がオーバーフローすると1になり、この1を見て割り込みが掛かる。
0にせずに割り込み関数を終了するとタイマがオーバーフローするのを
待たずに一瞬でまた割り込みが掛かる。
762774ワット発電中さん:2009/06/20(土) 12:52:44 ID:AntXwBht
>>750
データシートに書いてある
お前が探せないだけw
自分が馬鹿だと認識しなさい

「アホな奴に限ってデータシートやマニュアルにケチをつける法則」
763774ワット発電中さん:2009/06/20(土) 13:12:11 ID:zN4HHkUS
ていうか、>>264は終始「ため口」なのはなぜ?
教えてもらうんだったら、もっと丁重な姿勢でもいいと思うけどなぁ。

タイマー設定の件は、設定数値をいろいろと変えて結果を比べれば
おかしなところがわかってくると思うけどね。

「オレはこのように理解している。だから、この値をこうすれば、結果はこうなるはず」と考えて、
試した結果と比べて「???」となる部分が原因だと思う。
オレは16F84と16F877でマニュアルをマジメに読んだだけで、
あとは上記のような推測と実験でやってきた。
764774ワット発電中さん:2009/06/20(土) 14:22:51 ID:x25ssZZ3
>>750
PICの理解と自己分析が足りて無いな。
カウント開始は「T0IF = 0;」じゃない。

「TMR0 = 0x3C;」は >>637の時点であったのに
>>675以降で消えてたぞ。
765774ワット発電中さん:2009/06/20(土) 18:11:52 ID:UfYO2WnE
ちょっと古い石の質問なんですが、よろしくです。

16F84A2つに対して、1つの入力から分岐してもう1つのPICに信号を与えたいのですが・・・

基盤AはRA4へ入力されていて、分岐させたい基盤Bの16F84AはRB5へ入力したいとします。
入力信号は、基盤AのRA4にフォトカプラで絶縁して10kの抵抗でプルアップで入力しています。

問題は、2つのPICの入力に対して1つのフォトカプラ&10kのプルアップ抵抗で問題ないでしょうか?
766774ワット発電中さん:2009/06/20(土) 18:20:12 ID:rXvlDtJA
1つの入力に対して問題ないなら、2つの入力に対しても問題なし。
767774ワット発電中さん:2009/06/20(土) 19:11:39 ID:aRMhlPfg
> 1つの入力から分岐してもう1つのPICに信号を与えたいのですが・・・
整理整頓推敲を重ねてから質問すべし。
768264:2009/06/20(土) 19:21:03 ID:2583FO0O
>>761
>タイマ0がオーバーフローすると1になり、この1を見て割り込みが掛かる。
確かに参考書に書いてた。
ただ、以下がまだ理解できていない。

>0にせずに割り込み関数を終了するとタイマがオーバーフローするのを
待たずに一瞬でまた割り込みが掛かる。
割り込み関数を終了するってことは割り込み関数の命令をすべて実施し、
}までいってしまうってこと??
タイマがオーバーフローするのを待たずに一瞬でまた割り込みが掛かるってことは無限ループになるってこと??

>>763
最初にこのキャラでやってしまったからだよ。
769774ワット発電中さん:2009/06/20(土) 19:25:17 ID:F7T31p3d
キャラは全く関係ない
770264:2009/06/20(土) 19:25:33 ID:2583FO0O
>>764
そうなの。。
途中から消したんだよね。。
なぜか。。。
それは、最初に設定したから。
当時は最初に一度設定しておけばT0IFが0になったときに「TMR0 = 0x3C;」からスタートすると思っていたんだよね。
そうじゃナインよね。
「TMR0 = 0x3C;」することでTMR0が0x3Cとなり、オーバーフローまでのタイミングを決定できるって意味よね。
771774ワット発電中さん:2009/06/20(土) 21:35:26 ID:dOaTM0n6
>>768
>割り込み関数を終了するってことは割り込み関数の命令をすべて実施し、
>}までいってしまうってこと??
>タイマがオーバーフローするのを待たずに一瞬でまた割り込みが掛かるってことは無限ループになるってこと??
珍しい。ご名答。
772774ワット発電中さん:2009/06/20(土) 21:59:44 ID:x25ssZZ3
>>768
>割り込み関数を終了するってことは割り込み関数の命令をすべて実施し、
>}までいってしまうってこと??
そこは当たり前だろ!
773774ワット発電中さん:2009/06/20(土) 22:54:07 ID:dOaTM0n6
264氏は肝心なところがわかってないからね
いきなりCじゃなくてアセンブラから入って内部動作から学んだほうがいいと思うんだが
774774ワット発電中さん:2009/06/21(日) 00:10:31 ID:WtQsatN4
>>773
何故?
内部動作と言語に何の関係あるの?
775774ワット発電中さん:2009/06/21(日) 00:14:31 ID:awrR5UdC
アセンブラは万能なんだよ。
ハードの誤動作を予測して対策できるんだ。
776774ワット発電中さん:2009/06/21(日) 00:23:12 ID:ZwkDppU6
>>774
Cじゃ内部動作がわからなくても書けてしまうから264みたいなことになる
}一つだってアセンブラじゃ退避レジスタ復帰からRETFIEまでやらなきゃいけない
そういうことを知った上でC使う分には良いけど
777774ワット発電中さん:2009/06/21(日) 00:37:08 ID:WtQsatN4
CでもSFRや各種内部フラグの動作理解は必要。
アセンブラでもCでも同じこと。
778774ワット発電中さん:2009/06/21(日) 00:49:07 ID:H4NR1U83
>776
じゃあ責任を持って教えてやれば良い。
おい前の好きなアセンブラを、お前の好きな誤作動予測の対策込みで。
779774ワット発電中さん:2009/06/21(日) 00:51:01 ID:IpwextH1
nop();様の憂鬱 第一話
780264:2009/06/21(日) 00:53:50 ID:zK8a2Whg
>>752
返事してなかったね。ごめん。
全部貼るとほかの人にも怒られそうなので。。↓
順序立てて示すね。

@最初は割り込みができてなかった。
メインの中で割り込みをセットしてなかった。(>>639参照)
つまり、T0IF = 0;をしてなかった。
なので、割り込み処理が発生しなかった。
あってる?
T0IF == 1だと瞬時に割り込みが掛かるってのがまだ理解できてないわ〜。
つまり、発振回路の周波数が20Hzとしたら5Hzの割り込みがかかっちゃうってこと???

MPLABでシミュレーションしてたら、割り込み処理の部分には一度も矢印がいってなかったけど。。。
誰か概念教えて〜。
781774ワット発電中さん:2009/06/21(日) 01:12:22 ID:yCwQvL7E
>>780
T0IFは割り込みを有効にするためのレジスタじゃないと何度言ったら分かる?
ttp://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010338
まずはここのアプリケーションノートのTimersをよく読め
今動いているのが偶然であることがよく分かるはずだ
782774ワット発電中さん:2009/06/21(日) 01:30:31 ID:awrR5UdC
>781

解説してやれよ、軽石。
783774ワット発電中さん:2009/06/21(日) 01:32:34 ID:WtQsatN4
>>780
>@最初は割り込みができてなかった。
>メインの中で割り込みをセットしてなかった。

それは OPTIONとINTCONの設定間違えたからだろ。
どこまで無理解なんだ?
784264:2009/06/21(日) 01:35:33 ID:zK8a2Whg
>>781
なるほど。
読んでみる。

>T0IFは割り込みを有効にするためのレジスタじゃないと何度言ったら分かる?
多分何度言われてもわからないと思う。
なぜなのかわからないから。。。

ちなみに俺が「TMR0 = 0x3C」してから「T0IF = 0;」する。
って書いてあるけど、
これって、ホントは逆にすべき??
785774ワット発電中さん:2009/06/21(日) 01:35:40 ID:awrR5UdC
> アプリケーションノートのTimers

そんなもんないぞ。

これ?
http://ww1.microchip.com/downloads/en/DeviceDoc/70059D.pdf
786774ワット発電中さん:2009/06/21(日) 01:40:34 ID:IKBiWZR0
延々と引っ張るなよ 隔離スレにでもいってやってくれ
787264:2009/06/21(日) 01:40:55 ID:zK8a2Whg
>>785
確かにないね。
ってことで、>>785と同じものを読んでたよ。
788774ワット発電中さん:2009/06/21(日) 02:52:38 ID:ZHvMyZNH
>787
いい加減に少しは自力で考えろよ、わからないなら調べろ。

初期化で行うこと
1)TMR0の初期値を設定(しなくても可)
2)OPTION_REGを設定 TMR0のインクリメント動作始める
3)INTCON の GIEとT0IEをセットする TMR0のオーバーフローで割り込みがかかるようになる

割込処理内
1)TMR0の再設定(フリーランなら不要)
2)INTCON の T0IFをクリア T0IFは割込フラグなのでクリアしておかないとダメ

789774ワット発電中さん:2009/06/21(日) 03:26:35 ID:o/qZu5qT
>いい加減に少しは自力で考えろよ、わからないなら調べろ。
それができる”普通の人”ならこんなに引っ張ってないと思う
790774ワット発電中さん:2009/06/21(日) 03:54:19 ID:O9l1VKao
>>787 
お前人より劣ってるから人の倍努力しろ
791774ワット発電中さん:2009/06/21(日) 04:02:02 ID:K/BZtSqM
>>784

>>T0IFは割り込みを有効にするためのレジスタじゃないと何度言ったら分かる?
>多分何度言われてもわからないと思う。
>なぜなのかわからないから。。。
なぜなのかを、君がわかろうがわからまいが、マイクロチップが決めた事だから納得するしかないよ。
T0IFの意味を考えればわかると思うよ。T0IF=Timer 0 Interrupt Flagの略です。
タイマー0番の割り込みを示すフラグ、っていう意味ね。
このフラグは、タイマー0がオーバーフローすると、
PICの中のハード回路が自動的に1にしてくれる。(ソフトは何もしなくても、ハードがやる)
・T0IF=1になると、
・その事がCPUに伝わり、
・CPUは現在の処理を中断して、
・タイマー0割り込みプログラム(事前に君が記述しているはず)を開始する。
・タイマー0割り込みプログラムが終わると、
・CPUは、以前のプログラムに戻って実行しようとする。
・しかし、T0IF=1のままだと、再び上記の割り込みプログラムに行ってしまう。
・なので、タイマー割り込みプログラム内で、ソフトでT0IF=0にしてやる。

ちなみに>>264さんは、年はいくつですか? 僕は17才の高校生です。

してくれる。(ソフトは何もしなくても、ハードがやる)
792774ワット発電中さん:2009/06/21(日) 07:07:02 ID:axmhYrdd
>>791
> 僕は17才の高校生です。
所属は?工業の電気科?、普通科のパソコンクラブ?
793774ワット発電中さん:2009/06/21(日) 07:22:57 ID:z1GZ+XDG
>>792 所属は?工業の電気科?、普通科のパソコンクラブ?
そんな事はどうでも良い事で、
彼の言っている事は正しい事は確かだ
794774ワット発電中さん:2009/06/21(日) 08:33:08 ID:ZwkDppU6
>>777
普通の人ならCで書いてもレジスタやフラグを意識したコーディングするから良いけど
彼の場合それができてないからあえてアセンブラからはじめたほうがいいと言ってる
別にちゃんと理解して使える普通の人ならCからはじめていいよ

>>264
とりあえず事細かに手順から書いてある本を買ったほうがいい
ここで断片的な知識を得ても身につかないと思うよ
795774ワット発電中さん:2009/06/21(日) 08:54:32 ID:awrR5UdC
そんなことどうでもいいだろ。
つか、彼って誰だ?
間接を多様する奴って(ry
796774ワット発電中さん:2009/06/21(日) 08:55:36 ID:awrR5UdC
あ、>793宛てです。
797774ワット発電中さん:2009/06/21(日) 09:52:08 ID:axmhYrdd
ぼくもタイマの使い方がやばかったので>>637 >>639の課題を、このページを参考にやってみました。
http://kuri6005.sakura.ne.jp/pic/index.php?%A5%A4%A5%F3%A5%BF%A1%BC%A5%D0%A5%EB%A5%BF%A5%A4%A5%DE%28TMR0%B3%E4%B9%FE%A4%DF%CD%F8%CD%D1%29

/* LEF(RB0-3)を1秒毎に点灯する
* PIC16F84A
* クロック:20MHz
* HI-TECH C PRO(Lite) 9.60
*
* クロック:20MHz = 20000000Hz = 1/20000000 = 0.05us
* プリスケーラを256回にする
* 1サイクル:0.05us * 4 * 256回 = 51.2us
* Timer0で10msカウンタを作る
* 51.2us * 195回 = 9.984ms ≒ 10ms
* 10ms * 100回 = 1s
*/
#include <htc.h>
__CONFIG(UNPROTECT & PWRTEN & WDTDIS & HS);

//グローバル変数の定義
unsigned int ttcnt; //100回カウンタ用

//関数のプロトタイプ宣言
void pic_init(void); //PICの初期化
void wait_1sec(void); //1.0sウェイトルーチン

void interrupt
isr(void) //割込み関数
{
//10msecインターバルタイマ(クロック:20MHz プリスケーラ256回)
if (T0IF) //割込み種がTimer0割込みの場合
{
T0IF = 0; //割込みフラグクリア
TMR0 = -195; //TMR0カウント値再設定 195回(アップカウンタ)

ttcnt++; //100回カウンタ カウントアップ
}
}
798774ワット発電中さん:2009/06/21(日) 09:55:33 ID:axmhYrdd
//メイン処理
void
main(void)
{
pic_init(); //PICの初期化

while(1) {
PORTB = 0b11111110; //RB0点灯 =0xFE
wait_1sec(); //1.0sウェイト
PORTB = 0b11111101; //RB1点灯 =0xFD
wait_1sec(); //1.0sウェイト
PORTB = 0b11111011; //RB3点灯 =0xFB
wait_1sec(); //1.0sウェイト
PORTB = 0b11110111; //RB4点灯 =0xF7
wait_1sec(); //1.0sウェイト
}
}

/* PICの初期化 */
void
pic_init(void)
{
TRISA = 0b11111111; // RA0-4を1:入力に設定
TRISB = 0b00000000; // RB0-7を0:出力に設定

OPTION = 0b0111; //プリスケーラ値設定 0b0111(=256回)
TMR0 = -195; //TMR0カウント値設定 195回(アップカウンタ)
T0IE = 1; //タイマ割込み許可
GIE = 1; //全体割込み許可

ttcnt = 0; //100回カウンタ値クリア
}

/* 1.0sウェイトルーチン */
void
wait_1sec(void)
{
unsigned int
cnt = 100; //10ms * 100回 = 1s
while (ttcnt < cnt)
{
NOP();
}
ttcnt = 0; //100回カウンタ値クリア
}
799774ワット発電中さん:2009/06/21(日) 12:22:15 ID:axmhYrdd
>>794
> とりあえず事細かに手順から書いてある本を買ったほうがいい
ぼくも264さんはPICの入門本を買って勉強した方がいいと思います。
「キットで遊ぼう電子回路6 PIC入門C言語編」3570円
http://www.kyozai.biz/SHOP/EC060.html
最初の教材本これだったのですがすごく良かったです。おすすめです。

09/4/26発売の新しい本で、HI-TECH C PRO(Lite)のインストールが書いてあったので買いました。
「PICとC言語の電子工作」2814円
http://www.rutles.net/books/232.html
参考になってます。
800774ワット発電中さん:2009/06/21(日) 12:24:11 ID:Vl1zfnGG
質問です。PIC18F2550からmicroSD(SPIモード)への書き込みに挑戦しています。
MPLAB上でC18コンパイラで行っているのですが、プログラムがリンカでどうしても失敗します。
Error - section '.code_FSIO.o' can not fit the section. Section '.code_FSIO.o' length=0x0000d95c

FSIO.cというファイルは確かにあるのですが、
このファイルを含めるのに0xd95cもの領域を必要とすると言うことでしょうか?
それとも何か記述が足りないのでしょうか?
おわかりの方いましたら教えてください。一応以下にリンカファイルの記述を晒しておきます。
801774ワット発電中さん:2009/06/21(日) 12:25:14 ID:Vl1zfnGG
LIBPATH .

FILES c018i.o
FILES clib.lib
FILES p18f2550.lib

CODEPAGE NAME=page START=0x0 END=0x7FFF
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED

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=mmd3-4 START=0x300 END=0x4FF PROTECTED ←512byteは必ず必要なんですよね?
DATABANK NAME=mmd5-6 START=0x500 END=0x6FF PROTECTED ←512byteは必ず必要なんですよね?
DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED

SECTION NAME=CONFIG ROM=config
STACK SIZE=0x100 RAM=gpr2

SECTION NAME=dataBuffer RAM=mmd3-4
SECTION NAME=FATBuffer RAM=mmd5-6
SECTION NAME=USB_VARS RAM=usb7
802774ワット発電中さん:2009/06/21(日) 12:44:51 ID:0k123OjT
>>800
その通りだと思う
CODEPAGEが0x7FFFしかないのに0xD95C確保しようとしている
803774ワット発電中さん:2009/06/21(日) 13:03:32 ID:Vl1zfnGG
>>802
そのようですね、
http://ww1.microchip.com/downloads/en/AppNotes/01045b.pdf
こちらのMemory Usageに書いてありました。
ReadOnlyであっても、PIC18Fでこのライブラリを使うには
プログラムメモリに最低11099byte、データメモリに2121byte必要とするようですね。
PIC18F2550でSDカード書き込みに成功している人たちはセクタを直接読み込んでるでしょうかね?
もう少し調べてみます。ありがとうございました。
804774ワット発電中さん:2009/06/21(日) 14:23:20 ID:w2kDf412
>>803
http://elm-chan.org/index_j.html
ChaNさんのtinyFatfsR0.06だと
#define _FS_MINIMIZE 3
で辛うじてROMへ収まるが30Kbyte近く必要なので、ほぼ満杯。

製品版のC18ならフルオプティマイズ+XINST_ONで17K一寸に
なるのでUSBとの同居も出来そうなんですけれど...
805774ワット発電中さん:2009/06/21(日) 17:22:27 ID:o/qZu5qT
いい加減PICから卒業すれば良いのに・・・
806774ワット発電中さん:2009/06/21(日) 19:21:16 ID:qL/tM6CB
卒業というより、逃避中退ってところでは。
落第もいいところなんだし。

807774ワット発電中さん:2009/06/22(月) 02:58:32 ID:QDbGxHUK
>>798
791です。
せっかくタイマー割り込みで10msを作っているのに、1秒待ちルーチンで while( ttcnt < cnt ){}だと
もったいなくないでしょうか?
あと、HITECH-Cだと割り込みの種類を自分で解析しないといけないの?
CCSだとアセンブラレベルで判別を組み込んでくれると思う。
こんなのはどうですか?

#define LED_port    PORTB
#define clear      0
#define time_1s    100
#define set_10ms    -195
#define start_pattern  0b11111110
#define end_pattern  0b11110111

void interrupt isr(void){          //割込み関数 10msecインターバルタイマ(クロック:20MHz)
  static unsigned int ttcnt = 0;     //100回カウンタ カウントアップ

  if (T0IF) {                //割込み種がTimer0割込みの場合
    T0IF = clear;             //割込みフラグクリア
    TMR0 = set_10ms;           //TMR0カウント値再設定 195回(アップカウンタ)
    if( ttcnt++ >= time_1s ) {
      if( LED_port != end_pattern) { LED_port >>= 1; }
                  else { LED_port = start_pattern; }
      ttcnt = clear;
    }
  }
}


void main( void ){             
  pic_init();                //PICの初期化

  while(1){                 // タイマー割り込みでLEDの制御も行うので、
  }                     // mainは何もしない
}
                    
今日は寝ます
808774ワット発電中さん:2009/06/22(月) 03:02:37 ID:QDbGxHUK
間違えました。
× LED_port >>= 1;
○ LED_port <<= 1;
809774ワット発電中さん:2009/06/22(月) 08:03:03 ID:xXWHE7ob
>>807
アドバイスありがとうございます。勉強になります。
> せっかくタイマー割り込みで10msを作っているのに、1秒待ちルーチンで while( ttcnt < cnt ){}だと
> もったいなくないでしょうか?
割込み関数の中はなるべく短く。割込みがPICを占有してしまわない様に。
と習いました。でも、基礎の知識で、応用(実践)の経験がありません。
>>797のプログラムも割込み関数の中は短くなってますが、PICを占有
しちゃってないか?と言われると???です。良くわかりません。

> あと、HITECH-Cだと割り込みの種類を自分で解析しないといけないの?
> CCSだとアセンブラレベルで判別を組み込んでくれると思う。
HI-TECH Cは割込み種類をifで分けます。CCSは自動ですか。便利ですね。
どの様な仕組みになってるんだろう。
810774ワット発電中さん:2009/06/22(月) 11:33:58 ID:GiDuVnLJ
割り込みを徹底的に短くするなら、>>807氏のをもじって

void interrupt isr(void){          //割込み関数 10msecインターバルタイマ(クロック:20MHz)
  static unsigned int ttcnt = 0;     //100回カウンタ カウントアップ

  if (T0IF) {                //割込み種がTimer0割込みの場合
    T0IF = clear;             //割込みフラグクリア
    TMR0 = set_10ms;           //TMR0カウント値再設定 195回(アップカウンタ)
    ttcnt++;
  }
}

void main( void ){             
  pic_init();                //PICの初期化

  while(1){ 
    if( ttcnt >= time_1s ) {
      if( LED_port != end_pattern) { LED_port <<= 1; }
                  else { LED_port = start_pattern; }
      ttcnt = clear;          //カウンタクリア
    }
  }
}

とかかしら?
ただし、メインループの待たされ分、実行がズレる。普通はまず無いけど。
811774ワット発電中さん:2009/06/22(月) 11:38:40 ID:YFPw1J+U
812774ワット発電中さん:2009/06/22(月) 12:46:55 ID:jEZRcXrq
>>810
ttcntの宣言そこだと・・・(Ry
それから TMR0 += set_10ms; オヌヌメ
813774ワット発電中さん:2009/06/22(月) 12:51:25 ID:IiY21/k5
ナイトライダーくらいなら問題ないと思うけど、
・定周期キッチリに出力したい場合などは、>>807のように割り込みの中で出力処理
・特に時間に問題がないときは、>>810のようにメインで処理
この考えは正しいでしょうか?
814774ワット発電中さん:2009/06/22(月) 12:52:38 ID:GiDuVnLJ
>>812
ぉぉぅ。宣言をはじき出すの忘れてた。
で。+= のほうが早いのかしら…コード表とにらめっこするかな。
815774ワット発電中さん:2009/06/22(月) 13:01:30 ID:IiY21/k5
>>809
>割込み関数の中はなるべく短く。割込みがPICを占有してしまわない様に。
>と習いました。でも、基礎の知識で、応用(実践)の経験がありません。
割り込みは、応用と実体験がないと、なかなかわかりにくいよね。

なぜ「割込みがPICを占有してしまわない様に」した方がよいのか
を理解することが大変重要です。

例えばこんな場合
「LEDを点灯させた後、1秒以内にSWが押されたときだけ、LEDを消して次の処理へ」
while (ttcnt < cnt) とやるとダメなんだよね。
816774ワット発電中さん:2009/06/22(月) 19:02:45 ID:xXWHE7ob
>>815
やはり割込みは実体験がないとわかりにくいですか。
実体験をしてみたいですが
「SW(RB3)を押し、LED(RB0)を点灯させた後、2秒以内にSW(RB4)が押されたときだけ、
LED(RB0)を消して、LED(RB1)を点灯させる。2秒間SW(RB4)が押されなかったらLED(RB2)
を点灯する。」
というコードを、割込みがPICを占有してうまくいかないコードと、割込みがPICを
占有しないようにしてうまく動くコードの2つを書いて実体験してみようとおもう
けど、上に書いた動作のコードでいいですか?
817774ワット発電中さん:2009/06/22(月) 21:19:16 ID:IiY21/k5
OKだよ。2秒という期間はタイマー割り込みで作り出すということね。
818774ワット発電中さん:2009/06/22(月) 23:13:02 ID:1HtcIUXh
>>816
天ぷら作ってる時に電話がかかってきた(天ぷら料理:main 電話で話す:割込み処理)
「割込みがPICを占有してしまわない様に」てのはそういう事
別に天ぷら料理ではなくて、時間的余裕のある料理だったら割込みがPICを占有しても構わない
819774ワット発電中さん:2009/06/22(月) 23:47:28 ID:e5PuUc6T
実戦しなくても割り込みフラグと実行される時間の幅で
タイムチャート書いてみてもいいと思うけどね
820774ワット発電中さん:2009/06/23(火) 14:20:41 ID:NdWSAGDZ
>>818
例えがよくわからん。
・電話掛けながら天ぷら揚げればよい。(コードレス、携帯電話の使用、ハンズフリー機能の使用)
・天ぷらの火を切って、電話に出て、電話が終わったら、再度天ぷら再開でいいし。
  電磁調理器だから火災の心配はないし。

821774ワット発電中さん:2009/06/23(火) 14:41:22 ID:qt5UAIre
>>820
ひねくれた奴だな。議論を前進させる気無いだろお前。
822774ワット発電中さん:2009/06/23(火) 14:47:36 ID:JAO78PPA
>>818はわかりやすいと思うけど。
>>828のはPICは一部の機能除いて並列動作できないからコードレスとかで同時にやるってのは例えとしては良くないような。
割り込みは強制的だから電話鳴ると電話出るは1セットで考えないと駄目なのは確かに実際とは違うな。
割り込みでフラグだけクリアして戻るのは電話を無視or切ってすぐに戻る感じかな。
823774ワット発電中さん:2009/06/23(火) 15:27:12 ID:BlaDMBLv
ttp://jp.makezine.com/blog/2009/06/picsys24_core.html?CMP=OTC-T10K41815721

絶対に出るだろうと思ってたら、やっぱり出た。
824774ワット発電中さん:2009/06/23(火) 15:41:20 ID:w1Z6XLfF
>>828
もっとよく考えろ!
825774ワット発電中さん:2009/06/23(火) 15:58:49 ID:j1CQiLi4
スレチかもしれませんがわかる方いましたら教えてください。
温度センサー(LM61BIZ)をPICにて計測しようとしています。
そのまえにどのような値が出力されるかをテスターで計ろうとしたのですが
気温25℃くらいのときにVin5VにてVout430mVとなっています。
データシートによると25℃にてVout850mVのはずなのですが・・・
(ちなみにVo=(+10mV/℃xT℃)+600mV)
なぜこんなに違うのかがわかりません。指摘お願いします。
826774ワット発電中さん:2009/06/23(火) 16:09:48 ID:tQLE47pO
>>825
出力Zの関係かな?Vs>3Vだとmax800Ωだけど
どちらにしても回路が解らんことには...
827774ワット発電中さん:2009/06/23(火) 16:14:09 ID:IrcK8x4v
>>825
マルチポストする輩のために考えてやる気はおきないな。
http://science6.2ch.net/test/read.cgi/denki/1239940189/716
828774ワット発電中さん:2009/06/23(火) 19:14:53 ID:qt5UAIre
>>824
もっとよく考えろ!
829774ワット発電中さん:2009/06/23(火) 19:40:22 ID:IRGOI5+8
>>823
Arduinoて最近良く見るけど普通のマイコンボードと何か違うの?
830774ワット発電中さん:2009/06/23(火) 20:09:34 ID:Yq3SBQDI
>>829
とっつきやすさが異常
831774ワット発電中さん:2009/06/23(火) 20:41:08 ID:NdWSAGDZ
Arduinoてなんと発音すれば良いのでしょう?
アルジーノ
アーデュイーノ
832774ワット発電中さん:2009/06/23(火) 21:15:30 ID:6r1G0Ubm
アルジャーノン
833774ワット発電中さん:2009/06/23(火) 21:17:56 ID:H/DuSAl8
>>831
本家 arduino.cc に本場イアリア語での .wav があったような
834774ワット発電中さん:2009/06/23(火) 21:20:55 ID:Yq3SBQDI
>>823
I/Oピンがたくさんあっていいなー
Arduinoから乗り換えようかな
835774ワット発電中さん:2009/06/23(火) 21:48:14 ID:NdWSAGDZ
>>832,>>833
ありがとう。
836774ワット発電中さん:2009/06/23(火) 22:27:39 ID:IrcK8x4v
>>831
アーデュイーノじゃないかな?
ttp://shop.cqpub.co.jp/hanbai/books/12/12551.html
837774ワット発電中さん:2009/06/23(火) 23:44:13 ID:di1WK6vU
>>827
律儀にPICとAVR書き換えてあるのか

センサ系のスレがナイカラ…とか言えばいいものを…とか書こうと思って調べたら、センサ系スレあるんでやんの。
838774ワット発電中さん:2009/06/24(水) 01:03:17 ID:OYKiBIuy
秋月で売ってる24HJ12GP202で質問です。

コンフィグを下記の様に設定したのですが、高速内蔵RCPLLになってくれません。

config __CONFIG1, JTAGEN_OFF & GCP_OFF & GWRP_OFF & BKBUG_OFF &COE_OFF & ICS_NONE & FWDTEN_OFF
config __CONFIG2, IESO_OFF & FNOSC_FRCPLL & FCKSM_CSECME & OSCIOFNC_OFF & IOL1WAY_OFF & POSCMD_NONE

何処が間違ってるのでしょうか。
839774ワット発電中さん:2009/06/24(水) 01:04:07 ID:OYKiBIuy
PICKIT2でデバッグすると、OSCCON、の上位バイトが77hでしたので、アンロック
シーケンスのプログラムを追加
してみましたが、77hが71hになるだけで、切り替わらない様です。
840774ワット発電中さん:2009/06/24(水) 01:36:07 ID:42cjk5jA
「高速内蔵RCPLLになってくれない」ことは、何を参照して、どういう根拠で判断した?
841774ワット発電中さん:2009/06/24(水) 02:53:55 ID:ckbvcQL+
>>838
そういえば俺も最初作った時悩んだナー
俺が以前作った24HJ12GP202でのプログラム頭部分をアップしてやるわ

#include <p24Hxxxx.h>
#include <p24HJ12GP202.h>

_FBS(BSS_NO_FLASH & BWRP_WRPROTECT_OFF);
_FGS(GSS_OFF & GCP_OFF & GWRP_OFF);
_FOSCSEL(FNOSC_PRIPLL & IESO_ON);
_FOSC(FCKSM_CSECME & IOL1WAY_OFF & OSCIOFNC_OFF & POSCMD_XT);
_FWDT(FWDTEN_OFF & WINDIS_OFF & WDTPRE_PR128 & WDTPOST_PS32768);
_FPOR(FPWRT_PWR128 & ALTI2C_OFF);
_FICD(BKBUG_ON & COE_ON & JTAGEN_OFF & ICS_PGD1);

ほんで、mainプログラムの頭部分は

int main(int argc, char * argv[])
{
// クロック設定 8Mhz入力で80MHz(40MIPS)設定
CLKDIVbits.PLLPRE=0; // クロック分周(0:CLK/2)
PLLFBD=38;  // クロックテイ倍
CLKDIVbits.PLLPOST=0; // クロック分周(0:CLK/2) C
OSCTUN=0;
RCONbits.SWDTEN=0; // ウォッチドッグタイマ無効
while(OSCCONbits.LOCK!=1) {}; /* Wait for PLL to lock*/

間違ってるかもしれんから各設定の意味はデータシートとヘッダファイル読んで確認してくれ
842774ワット発電中さん:2009/06/24(水) 02:56:25 ID:ckbvcQL+
あ!内蔵RCですか!
レスは無視してくれ!すまん
843natu:2009/06/24(水) 13:35:57 ID:NZf5jhbG
>>838
 CONFIGをそのように書くとプログラムメモリーのどこか(多分.textの続きへ)2ワードに
セクション定義を勝手にされて書込まれるだけだよ。
 プログラムメモリを覗けば__CONFIG1,2と言うラベルがCONFIGレジスタアドレスでは無く
プログラムメモリ上に見えるはずです。

 __CONFIG1,2じゃ無くFOSCとかFOSCSEL等のCONFIGレジスタアドレスが定義された
記号定数を使いましょう。
844774ワット発電中さん:2009/06/24(水) 15:16:04 ID:NZf5jhbG
連投すまぬ

記号定数→セクションの名前
845774ワット発電中さん:2009/06/24(水) 22:57:32 ID:OYKiBIuy
>>841>>843>>844

ありがとうございます。__FOSCSELにしたらPLLに切り替わりました。
846774ワット発電中さん:2009/06/25(木) 00:18:18 ID:D7VKrI/K
16行x2列のLCDをPICと繋ぐ上でのコツみたいなのがもしあれば教えていただけないでしょうか

温度計の表示用に16F819と4bit接続で繋ごうとしています。
BFは見ない仕様にしています。
一向に表示させることができず、失敗基盤の山を目の前に心が潰えてしまいそうです
濃度調節用の抵抗をグリグリ回すと黒い四角が表示されるのでLCDは生きていると思われます。

曖昧かつどうしようもない質問で申し訳ないですが
このままではLCDを動かすこともままならぬまま息絶えてしまいそうです
励みの一言を・・・
847774ワット発電中さん:2009/06/25(木) 00:27:50 ID:3CUEzMna
ショショショッショ


初期化ルーちんこ逝けてる?
848774ワット発電中さん:2009/06/25(木) 00:30:42 ID:jq3o577A
>>846
16行x2列のLCDと言ってもいくつかの種類がある。
とりあえず入手しているLCDの正式型番を書けやボケ!
初めて作ったならばPICとの接続がどうなっているかもついでの書くのだ糞虫。
曖昧かつどうしようもない質問する馬鹿はまず罵倒される事から始まる。
849774ワット発電中さん:2009/06/25(木) 00:32:14 ID:tBMiS9ms
・基「板」で作る前にブレッドボードで試せ
・AVRに乗り換える
850846:2009/06/25(木) 00:43:25 ID:D7VKrI/K
即レス感謝の至りです

・初期化るーちんこは某サイトで4bitと8bitの接続についての詳しい解説があったので参考にしますた
 多分逝けてます
・LCDはSD1602HUOBというオレンジがかっちょいい奴です
・接続は、LCDのDB4-7とPICのRB4-7、
 LCDのRSがPICのRA2、LCDのRSがPICのRA4 に繋いでます
・骸の山を作ってからブレッドボードがあるのに気がつきました、今はブレッドボードです
・AVRって何?うまいの?

とりあえずLEDピコピコから進化すべく努力します
851774ワット発電中さん:2009/06/25(木) 00:56:38 ID:jq3o577A
>LCDのRSがPICのRA2、LCDのRSがPICのRA4 に繋いでます
LCDのRSが2箇所に接続されているぞ。

説明すらまともにできないから道のりは遠いな。

LCDのR/WやEはどこにつながっているのやら・・・・。


852774ワット発電中さん:2009/06/25(木) 01:01:59 ID:D7VKrI/K
>>851
おおお・・・なんか違ったw
RS → RA2
E  → RA4
RW → GND
こんな感じです。

あと、LCDの使ってないDB0-3はGNDに落としておくという説と放置しておくという説があるようですが、
何も接続せず放置しています。
853774ワット発電中さん:2009/06/25(木) 01:05:58 ID:pgaeKdpX
んで、一行目にうっすら四角いのが(俗称トーフ)出てるときは8bit->4bitモード移行に失敗しているとおも。
うっかり接続ミスとかMCLRがほにゃらとか。
あと、スピードが速すぎると動かないよ。クロック落としてみた入りして。
854774ワット発電中さん:2009/06/25(木) 01:07:41 ID:pgaeKdpX
> LCDの使ってないDB0-3はGNDに

これは開放で放置に決着。Read時は出力になるから。
855774ワット発電中さん:2009/06/25(木) 01:09:37 ID:3CUEzMna
初期るーチンコの大麻は多めにゆっくりラリっといてネ
856774ワット発電中さん:2009/06/25(木) 01:13:07 ID:D7VKrI/K
>>853
あああああ!
まさにその状況です!
1行目の■だけやたら濃く出てるんですがメガネが曇っていることにして放置してました!
クロックは内蔵の4MHzでやってます。
LCDの未使用ピンは放置でいいんですね。了解です。

とりあえず給料日を生き抜く気力が涌いてきました。
皆様ありがとうございました。
なんとかやってみます
857774ワット発電中さん:2009/06/25(木) 01:19:37 ID:kbFe2n5A
>>856
「生き抜く気力」がいるのは、給料日までだろ?と、つんこんでみる。

「うちは経営者で..」と切り返されたら、どうしよう?
858774ワット発電中さん:2009/06/25(木) 01:20:25 ID:3CUEzMna
PICのRA4ってさハイにラリれなくね?
859774ワット発電中さん:2009/06/25(木) 01:20:28 ID:Ay0VN8v2
LCD初期化出来てれば後は問題ないのさ。
出来てないことを認識せ〜よ。

あ〜因みに電源投入時のデフォは1行modeなので
奇数行のみ■表示だが、初期化設定で2行modeに
切替れば均等濃度に変わるぞ。
860774ワット発電中さん:2009/06/25(木) 01:23:58 ID:Ay0VN8v2
>>858
16F818/819や16F88とかのRA4はODじゃないよ。
861774ワット発電中さん:2009/06/25(木) 01:23:59 ID:kbFe2n5A
>>858

たしかに。
RA4は鬼門だぞ。
862774ワット発電中さん:2009/06/25(木) 07:00:29 ID:/AfyD6mK
>>856
どんなコードで動かそうとしてる?
コードを晒せ
コンパイラ名とバージョンもな。
863774ワット発電中さん:2009/06/25(木) 08:27:47 ID:qjQExeYs
>>852
RA4がODで無いとして

>>RW → GND
では動かないわ。
864774ワット発電中さん:2009/06/25(木) 09:50:42 ID:yIFTSNw6
>>863
理由を知りたいのですが...
865774ワット発電中さん:2009/06/25(木) 10:08:17 ID:4azWc/jr
俺も知りたい
866774ワット発電中さん:2009/06/25(木) 10:51:05 ID:TQ779KKr
>>864 >>865

>>863は今夜0:00過ぎるまでは出て来れないからイジめてやるな
867>>863:2009/06/25(木) 11:23:20 ID:qjQExeYs
LCD側に書き込みしかしないで動作させるつもりなら、それでも間違いではないが
初心者が最初からそんなプログラム書くこと自体が間違っている。
データシート読めば、プログラムの書きかたやレジスタのアクセス手順は載っている。
まず最初は、その手順に従う、つまりリード/ライトを行うことから始めるべきだ
というつもりで書いたんだが、思わぬ突込みを受けビックリしている。
868774ワット発電中さん:2009/06/25(木) 12:02:14 ID:9X/maMyy
>>867
あのレスからじゃそうは読み取れんと思うが。
ピン節約のためにRWをGNDにつなぐってのは結構普通だからなー。
ただ、コンパイラのライブラリによってはRWつなぐ事前提で書いてあったりするから、ハードとソフトのすり合わせは必要だろうけど。
869774ワット発電中さん:2009/06/25(木) 12:28:02 ID:4OHVdbyE
>>867
お、逃げなかったのはえらいぞ。

素人はそんなにじっくりと取り掛かる事はないよ。
ネットで探して、使っている実例をコピっていく方が早くて確実だと思っている。
しかし、デバイスやスピードを変更した時にいろいろと不具合が出てくる。

だれかがやっているのをなぞっていくのが一番楽なんだよ。
リードライトするより、ライトだけで制御するとルーチン処理が楽になるから誰かが始めたら、みんなそれのまねしている。

逃げ出さずにレスしている>>867にびっくりしている。
最初はPICは1クロックでプログラムが動いていると叫んだアホと一緒に思ってしまった。謝罪はするが、賠償はしないよ。
870774ワット発電中さん:2009/06/25(木) 12:42:12 ID:nyBqBvzu
ArduinoでLCDなんて超簡単
871774ワット発電中さん:2009/06/25(木) 13:08:57 ID:Ay0VN8v2
質問者は最初に>>846
>BFは見ない仕様にしています。
と云ってるからそれなりにわかってそうだね。

実際、Port出力操作のみの方が簡単だからok

ありがちだけど不具合の切り分けが出来てないな。
推測だけど・・・16F84あたりの例を参考にしてて
Configやanalog入力ピン無効の初期設定とか
拙いんじゃないか?
872>>863:2009/06/25(木) 13:29:54 ID:qjQExeYs
>>871
 確かに。見事に見落としてました。
ID:D7VKrI/K氏。申し訳ない。
873774ワット発電中さん:2009/06/25(木) 13:39:18 ID:yIFTSNw6
AN2,AN4のFAQじゃまいか?
874774ワット発電中さん:2009/06/25(木) 13:43:45 ID:Zoa4cG/4
「ピック病で万引き」茅ケ崎市、元課長の免職取り消す
http://www.asahi.com/national/update/0624/TKY200906240282.html
875774ワット発電中さん:2009/06/25(木) 20:19:42 ID:UeHZEP5x
あの〜、MPLAB v8.30で、MPLAB SIMのシミュレーションでは
Memoryのウインドウは利用できないのでしょうか?
メニュー項目が灰色になっていて選択できませぬ・・・
876774ワット発電中さん:2009/06/25(木) 22:10:27 ID:Ay0VN8v2
>>875
それはPIC32MX用のMemory Windowのこと?
877774ワット発電中さん:2009/06/25(木) 22:36:38 ID:/AfyD6mK
>>816
「割込みがPICを占有したら良くない」を実体験したい為に
「SW(RB3)を押し、LED(RB0)を点灯させた後、2秒以内にSW(RB4)が押されたときだけ、
LED(RB0)を消して、LED(RB1)を点灯させる。2秒間SW(RB4)が押されなかったらLED(RB2)
を点灯する。」
の課題を、割込みがPICを占有しない(割込み処理は必要最小限とする)コードを
書いてみました。課題に示した通り正しく動きました。こんなもので良いでしょうか?
次は、割込みがPICを占有してうまく動かないコードを考えてみます。

/* PIC16F84A
* クロック:20MHz
* HI-TECH C PRO(Lite) 9.60
*/
#include <htc.h>
__CONFIG(UNPROTECT & PWRTEN & WDTDIS & HS);

//グローバル変数の定義
unsigned int ttcnt; //200回(2秒)カウンタ用

void interrupt
isr(void) //割込み関数
{
  //10msecインターバルタイマ(クロック:20MHz プリスケーラ256回)
  if (T0IF) //割込み種がTimer0割込みの場合
  {
    T0IF = 0; //割込みフラグクリア
    TMR0 = -195; //TMR0カウント値再設定 195回(アップカウンタ)

    ttcnt++; //200回(2秒)カウンタ カウントアップ
  }
}
878774ワット発電中さん:2009/06/25(木) 22:37:40 ID:/AfyD6mK
//メイン処理
void
main(void)
{
  //PICの初期化
  TRISB = 0b00011000; //RB3とRB4を1:入力、他は0:出力に設定
  RBPU = 0; //PORTBを内部プルアップ
  PORTB = 0b11111111; //PORTBの中身をきれいにする

  OPTION = 0b0111; //Timer0プリスケーラ値設定 0b0111(=256回)
  //PICの初期化終わり

  while(1) {
    if (RB3 == 0) //switch downの場合
    {
      RB0 = 0; //LED(RB0) ON
      RB1 = 1; //LED(RB1) OFF
      RB2 = 1; //LED(RB2) OFF
      TMR0 = -195; //TMR0カウント値設定 195回(アップカウンタ)
      T0IE = 1; //タイマ割込み許可
      GIE = 1; //全体割込み許可

      ttcnt = 0; //200回(2秒)カウンタ値クリア
    }
    if (ttcnt < 200) {
      //2秒以内の場合
      if (RB4 == 0) //switch downの場合
      {
        RB0 = 1; //LED(RB0) OFF
        RB1 = 0; //LED(RB1) ON
        T0IE = 0; //タイマ割込み停止
      }
    }
    else
    {
      //2秒以上の場合
      RB2 = 0; //LED(RB2) ON
      T0IE = 0; //タイマ割込み停止
    }
  }
}
879846:2009/06/25(木) 22:46:42 ID:Urd6nBc0
会社でひっそりコード書いてワクテカしながらさっき帰宅
数値が徐々に減ってゆく給与明細は見なかったことにして、PC立ち上げて、
そしてまた死亡orz
う…うろたえるんじゃあないッ!ドイツ軍人じゃないけどうろたえないッ!

>>862
コンパイラはMPASM V5.20です
コードはここにうぷりました
ttp://f50.aaa.livedoor.jp/~iwazaki/uploader/src/up2843.bin
ピンとかの初期設定はきちんとやってるつもりですがあまり自信がないです

とりあえずもう一度コード書き直してブレッドボードの配線も確認してみます。
お騒がせですまんです
880774ワット発電中さん:2009/06/25(木) 23:00:24 ID:Wo8W1OT0
MPLAB v8.30 にて Debugger に MPLAB SIMを指定した際に
"Step Out" が使えない(グレー)状態であることに最近気がついたのですが、
同様の症状の方いますか?

MPLAB v8.33 にバージョンをあげても変化しないことを確認しました。
881774ワット発電中さん:2009/06/25(木) 23:35:49 ID:Ay0VN8v2
>>879
ソースに動作clock明記されて無いみたいだな。
delay-loop数から4MHzらしいけど・・・4MHz発振子付けたの?

Config設定おかしくないか?
> __config _HS_OSC & _CP_OFF & _PWRTE_ON & _WDT_OFF & _MCLR_ON

>>856 で内蔵4MHzと云ってなかったか?
それなら・・・(Ry
882774ワット発電中さん:2009/06/25(木) 23:44:35 ID:Urd6nBc0
>>881
説明不足まくりで申し訳ないです
ブレッドボードに移したときに、記述をちょっとでも減らそうと思って4MHzのセラロックを付けました。
なんとなく内蔵4MHzの設定が間違ってるのではないかと思ったんですが関係なかったので
話をややこしくしただけでした
すまんです
883774ワット発電中さん:2009/06/25(木) 23:45:44 ID:mCDe4R45
>>879
> call delay1ms ;ここからBFチェックができるけどしない
> movlw B'00101000' ;4bit、1/16デュティ、5*7ドットに設定
> call LCD_CMD_4

どんなLCDつこてるんだらう?
オイラよくわからないママ秋月LCDは
movlw B'00100000' ;1/16デュティじゃないけん
にしてる
884846:2009/06/26(金) 01:40:44 ID:uVNtwidC
>>883
そのパターンで試しましたが無理でしたorz
液晶はSD1602HUOBという16x2のやつです。

LCDの代わりにLEDを繋いで、そもそもPICが動作しているのかどうかチェックしてみました。
DB4-7に繋いでいるRB4-7はきちんと動いているようでした。
が、RA2(LCDのRS)とRA4(LCDのE)に対して、bcfとbsf命令でLEDチカチカをしようとしたら動いたり動かなかったりです
<動くパターン>
main
bsf LCD_RS
(100msのウエイト)
bcf LCD_RS
(100msのウエイト)
goto main
<動かないパターン>
main
bcf LCD_RS
(100msのウエイト)
bsf LCD_RS
(100msのウエイト)
goto main
mainの前は初期設定です。なんかbcfとbsfが怪しい気がしてきた・・・
とりあえず日記帳状態になるのはよろしくないので、あとはグーグル先生に教えを乞うてみます。
いろいろとありがとうございました。
885774ワット発電中さん:2009/06/26(金) 01:57:45 ID:2EdxFF/o
ポートをHにしてLにする所を一箇所忘れて、以降すべて反転。
それで一週間ハマった僕のLCDデビュー。
オシロで見れば一発だったのだが...。
886774ワット発電中さん:2009/06/26(金) 02:18:14 ID:uVNtwidC
あああああ!!
できたぁぁぁああ!
ttp://f50.aaa.livedoor.jp/~iwazaki/uploader/src/up2845.jpg
原因はポートをクリアしていなかったためでした
bcfとbsfの仕様をきちんと理解していなかったのが原因でした。
なんか黒いのが出たり出なかったりだけどノイズかなんかだろうということで気にしないことにしますw

皆さんマジありがとうございますた
この恩は出世払いで誰かに返しておきますw

>>885
せっかく買ったUSBオシロをしまっていて使ってない俺バカスww
そーかオシロ持ってたんだよ俺・・・
オシロか露地穴で見れば一発じゃないか
887774ワット発電中さん:2009/06/26(金) 02:22:45 ID:xbV5dzpI
>>886
おめ!
888774ワット発電中さん:2009/06/26(金) 02:31:25 ID:2EdxFF/o
>886

おお!おめー!!
わが身のようにうれしいよ!
889774ワット発電中さん:2009/06/26(金) 10:45:02 ID:uxrfINh3
ピックキット2の在庫が復活しとる
890774ワット発電中さん:2009/06/26(金) 19:34:46 ID:yh6KEagb
>>886
おめ〜
891774ワット発電中さん:2009/06/27(土) 02:13:05 ID:nVqRl8G/
そういえば、
PICC Lite 使っているとLCD用の
printf()が使えないですよね。
PICC Lite ではどういうコード書いたらいいんですかね?

あと、Nullの概念ってないんですか??
char s; s = Null;
ってやるとえらーになります。
892774ワット発電中さん:2009/06/27(土) 03:33:51 ID:LY9aJdIH
>>891
>char s; s = Null; ってやるとえらーになります。
コンパイラーは、Nullなんて言葉は知らないからね。
やるなら、
#define Null 0x00
と定義してやれば、それ以降でNullは0x00と解釈されて、エラーではなくなるけどね、
893774ワット発電中さん:2009/06/27(土) 06:06:11 ID:fAUD/8jC
894774ワット発電中さん:2009/06/27(土) 08:24:13 ID:yDmLlUlc
>>891 * をつけてくださいね〜

char *s;

NullじゃなくてNULLじゃないの?標準ヘッダファイルの中をのぞいて調べるべし
そのコンパイラはどうかしらんがNULLが0じゃない流儀もごくまれにあるので


895774ワット発電中さん:2009/06/27(土) 09:15:43 ID:9leFPxC9
>LCD用のprintf()が使えないですよね。
>PICC Lite ではどういうコード書いたらいいんですかね?
printf()なんて単なるライブラリなんだから,無いなら作ればいいんでないの?

>Nullの概念ってないんですか??
Nullの「概念」って何?
char s; s = Null;
で,sに何が入ることを期待してるの?
896774ワット発電中さん:2009/06/27(土) 10:29:35 ID:r7KjgNWP
>>891
#include <htc.h>
#include <stdio.h>
#include "lcd.c" などとしておいて

unsigned int a,b;
char buf[21];

a = 12345;
b = 23456;
sprintf(buf,"a+b = %5u",a+b);
lcd_puts(buf);

とやれば、LCD表示結果は当然
a+b = 35801
897371:2009/06/27(土) 11:29:11 ID:jHfvJbCg
>>895
>>Nullの概念ってないんですか??
>Nullの「概念」って何?

VB みたいに Nothing (存在しない、未定義)といった言語としての規定は無い。

>char s; s = Null;
>で,sに何が入ることを期待してるの?
おそらくだが、例えばスタック上のメモリを解放して、s の実体が存在しない
状態を期待していると思われ。

C 言語では、0 を偽、それ以外を真として(厳密な定義はCの規格書を見てくれ)
扱い、これについてマクロで NULL が 0 といった風に定義する事で抽象化すると
はいえ、あくまでもハードを意識すべき言語には違いない。

やるとしたら、0を真と、正の値を異常系、-1 を未定義とか、そんな風に使えばよい。
898774ワット発電中さん:2009/06/27(土) 12:02:10 ID:21lo+gZn
ぬるぽ
899774ワット発電中さん:2009/06/27(土) 13:54:17 ID:kifmB3su
ガッ
900PIC-BASIC:2009/06/27(土) 15:43:35 ID:kZleBcnF
PIC-BASIC(AKI-PIC877ベーシック開発セット、秋月電子)で
ケースレー2430ソースメジャーを操作しています
以下の命令でキー押すと600mA出力しますが、
RS232c結線した時にまず「エラー101」不明な文字?
と2430が表示します

PIC877から何か命令が出ているのでしょうか

a=6
略---
Input rb.Bit0  'キーを定義
略---
Serout pb9600,":SOUR:FUNC CURR;:Sour:curr:mode fixed",CHR$(13),CHR$(10)
Serout pb9600,":SOUR:CURR:rang 1;:sour:curr:lev ",chr$(48),chr$(46),a,CHR$(13),CHR$(10)
略---
901412:2009/06/27(土) 16:33:52 ID:70nQ625i
http://akizukidenshi.com/catalog/g/gM-02495
※本体基板のICソケット上で、PIC16F648や84等を
内蔵発振&NOMCLR設定で書き込むと
直後に動作を開始してしまい、デバイスが壊れます。
この場合はお手数ですが、基板上のICソケットではなく、
5ピンの信号線を引き出して書き込みをしてください。
902774ワット発電中さん:2009/06/27(土) 18:22:30 ID:FzPXmAau
 つまりコンパイラの都合でNULLを定義しとくと無駄にメモリ使わないで
すませられるってことか。
 メモリ管理をコンパイラが行う高級言語ならではだな。
 アセンブラだとありえないな
903774ワット発電中さん:2009/06/27(土) 18:30:16 ID:PbntNeIN
え・・
904774ワット発電中さん:2009/06/27(土) 18:44:17 ID:9m2tNKBO
ワロスw
905774ワット発電中さん:2009/06/27(土) 19:27:59 ID:1a6G1LX2
>>902
日本語でおk
906774ワット発電中さん:2009/06/27(土) 19:29:42 ID:OxHMeBd5
ところで

>おそらくだが、例えばスタック上のメモリを解放して、s の実体が存在しない
>状態を期待していると思われ。

これって、ローカル変数にしておけば、コンパイラが(スイッチ次第で)勝手にやってくれるよね?
907774ワット発電中さん:2009/06/27(土) 20:30:16 ID:rXoz5tkI
>>900
文字列を変数に収めて送信したらいかがでせう
908774ワット発電中さん:2009/06/27(土) 23:22:11 ID:jHfvJbCg
>>906
スコープ内でスタックに乗っかってる奴を引きずり出してって
棄てるってことを、=演算子の評価時に実行するという思いで
書きました。スレ汚し失礼ですた。
909774ワット発電中さん:2009/06/28(日) 00:39:21 ID:XUfuAWlJ
C語におけるNULLは、実メモリをさしていないことを表す
特別なポインタ値として用いられます。多くの処理系では
0を使いますが、K&Rなどを読むと、0以外の値をNULLに
用いる処理系も存在するとあります。私は見たことないけれど。
ヌル文字とは別物ですし、偽値とも別の概念です。
910774ワット発電中さん:2009/06/28(日) 00:53:46 ID:JvhGuMLQ
会社の研修でPICを勉強して、pikkit2まで買ってしまったので、プライベートでPICマイコンを使って何か作ろうと思うのですが
なかなか思い浮かびません。
皆さんはどんな物を作ってるのか教えて頂けませんか?
911774ワット発電中さん:2009/06/28(日) 01:24:05 ID:36lYlwxY
>>910
PIC書込み器
912774ワット発電中さん:2009/06/28(日) 02:05:12 ID:81s6iuXF
作ってるのは書き込み器,動かしてるのはLEDチカチカ
913774ワット発電中さん:2009/06/28(日) 08:06:07 ID:6yRuopCT
>>910
親子ロボット工作教室に通ってPICを知った。
色々なパターンの自動車型ロボットを作ったなあ。
↓PICの活用事例紹介としてこのページ参考になるのでは?
ttp://www.picfun.com/appframe.html

PICkit2(3,500円)が発売される前は、みんな作るものがないのか、ああでもないこうでも
ないと言って「PIC書込み器」を何種類も作ってた人多かったなあ。
でも、廉価高機能のPICkit2(3,500円)が発売されてその目的も奪われてしまった。
914774ワット発電中さん:2009/06/28(日) 10:10:25 ID:yc6ZRHAm
>>910
赤外線を使った各種リモコン
似非盗難防止装置
バイクのデジタルCDI
USBオシロ
等々
915891:2009/06/28(日) 14:20:11 ID:p5toNr5z
NULLに関しては何とかなりそうです。
LCDに出力したいので、
NULLは
s = " ";
でいいと思います。

893>>
参考にさせていただきます。
なかなかPICCのサンプルを見つけれなくて困っておりました。
いつも、同じ環境で作ったプログラムをネットでゲットして、
それと自分のプログラムを見比べるという作業をしているので助かります。
ありがとうございます。

895>>
アナタというとおりsに何が入ることを期待するか
それを考えると別にNULLでなくても答えはおのずと見えてきますね。
参考になりました。
上述のとおり
s = " ";
とします。

896>>
lcd.cはどこでゲットするんでしょうか??
自作してもいいので参考になるサイト等あれば教えてください。
916891:2009/06/28(日) 14:23:21 ID:p5toNr5z
>>909
勉強になります。
やはり>>895の言うとおり
どんな処理をしてほしいのかというのを
考えて代替案を探したほうがよさそうですね。
917891:2009/06/28(日) 15:34:02 ID:p5toNr5z
>>914の記載に訂正があります。
lcd.cはどこでゲットするか
⇒lcd.hはどこでゲットするか
です。
lcd.cはそのまま>>896のURLにあるとおりですね。
lcd.hは自分のPCのsamplesにありましたが、
内容にわからないところがあります。
たとえば
「アケオメ」と表示させる場合、
0xB1⇒0xB9⇒0xB5⇒0xD2と入れなくてはなりません。
つまり、
0xB1ではかきのようになりますが、
「ア」を0xB1と変換させているのはどこなのでしょうか?

  asci = 0xB1;   
LCD_RS = 1;

RB4 = (asci & 0b00010000) >> 4; //Set 8 Bit U0
RB5 = (asci & 0b00100000) >> 5; //Set 8 Bit U1
RB6 = (asci & 0b01000000) >> 6; //Set 8 Bit U2
RB7 = (asci & 0b10000000) >> 7; //Set 8 Bit U3
LCD_RS = 1; //Control Bit
wait_us(20);
LCD_E = 1; //Enable 1
wait_us(20);
LCD_E = 0; //Enable 0

RB4 = (asci & 0b00000001) >> 0; //Set 8 Bit U0
RB5 = (asci & 0b00000010) >> 1; //Set 8 Bit U1
RB6 = (asci & 0b00000100) >> 2; //Set 8 Bit U2
RB7 = (asci & 0b00001000) >> 3; //Set 8 Bit U3
LCD_RS = 1; //Control Bit
wait_us(20);
LCD_E = 1; //Enable 1
wait_us(20);
LCD_E = 0; //Enable 0
wait_us(40);
918774ワット発電中さん:2009/06/28(日) 15:47:53 ID:z8TSp6PJ
lcd_puts("アケオメ"); でいいんじゃね?
919891:2009/06/28(日) 16:06:21 ID:p5toNr5z
>>918
回答ありがとうございます。
これらの変換はPC、PIC、その他のプログラミング言語共通なんでしょうか??

もしかして、
char s;
s = "ァ";
printf("%x", (int)s);
とやると
"ァ"って出力される???
920774ワット発電中さん:2009/06/28(日) 16:11:27 ID:yc6ZRHAm
>>919
根本的に間違ってる。
921774ワット発電中さん:2009/06/28(日) 16:12:15 ID:yc6ZRHAm
>>919
根本的に間違ってる。
922774ワット発電中さん:2009/06/28(日) 16:18:08 ID:z8TSp6PJ
アセンプラ(MPASM)の場合 movlw 'ア' と movlw 0xB1 は同じ。

HI-TECH CやMPLAB C18とかで
UART出力なら printf("ア");
LCD表示なら lcd_puts("ア");
LCD表示でprintf書式を使うなら
>>896の様に sprintfを利用すればok

あと全角(2byte系)文字はダメだから
923774ワット発電中さん:2009/06/28(日) 16:44:17 ID:l+N3ak9U
>>919
全角は無理だから。
s = "ア";
と記述したとして、それだと
b1
て表示されると思うんだけど。
%xの意味わかってるの?
924774ワット発電中さん:2009/06/28(日) 17:03:18 ID:yc6ZRHAm
>>923
s = "ア";
もダメ。
s = 'ア';
だし

>>919はもっとポインタを勉強しないと先進めない
925774ワット発電中さん:2009/06/28(日) 18:16:23 ID:+giV0wMP
ピンポイントに「ポインタの勉強」よりも、むしろ「C言語の基礎勉強」だろうな。
どう見ても、ポインタだけダメで他はOKとは見えない。
926774ワット発電中さん:2009/06/28(日) 18:52:09 ID:l+N3ak9U
>>924
やっちまった!訂正サンクス。
927774ワット発電中さん:2009/06/28(日) 23:29:30 ID:JaKrpAM7
891は頭が良過ぎ。整理が出来てないだけ。

彼のレス・書いたコードを見たが、成長するタイプ。
928891:2009/06/29(月) 00:14:55 ID:4G9GoR2/
>>923
たしかにそうですね。
>printf("%x", (int)s);
>とやると
>"ァ"って出力される???
わけないですね。
当然、B1ってなりますね。

ご忠告ありがとうございます。
929774ワット発電中さん:2009/06/29(月) 09:24:14 ID:YaLBKS4I
>>928
どうしてもprinftでLCDに文字を出したいのなら自前でvoid putch(char)を
LCDに向けて実装すれば良いyo。
表示位置はprintfの前にlcd_gotoで設定してからな

#include <htc.h>
#include <stdio.h>
#include "lcd.h"

void putch( char c )
{
lcd_putch( c );
}

void main( void )
{
printf( "abc" );

while ( 1 ) { }
}
930891:2009/06/29(月) 20:54:58 ID:4G9GoR2/
>>929
printf()は使用しません。
lcd_putch()を使用します。
ただ、lcd_putch()の中身がわからなかったので、
わからないまま使うのもいかがなものかと思いまして。。
931774ワット発電中さん:2009/06/29(月) 21:19:32 ID:Gnlhh6HH
ちなみに、LCDのデータシート見てパラレルなり SPI なりのタイミング
チャート見ながら、じっくり触ってみようなんてのは、アホのやる事なん
ですか?
932774ワット発電中さん:2009/06/29(月) 21:35:34 ID:MJ/8MoG3
>>931
上級者のやることだと思う
933774ワット発電中さん:2009/06/29(月) 21:36:58 ID:MJ/8MoG3
>>932
<訂正>
中級者以上のやることだと思う
934774ワット発電中さん:2009/06/29(月) 21:41:53 ID:fw0gvB53
とりあえず、ライブラリとコードもらってきて、動かしてみる。
そんでライブラリの中みて、ああそうかとわかったつもりになる。

で、適当に書き換えると、タイミングが違って動かない。
さあ、どうしよう。

こんなん、10回ぐらい繰り返したら、ツボが見えてくるよ。
935774ワット発電中さん:2009/06/29(月) 21:56:24 ID:t6JHFG5o
>910
PICKIT3クローンを作る。
ICD2クローンを作る。
これでPICKITが壊れても安泰だね。
と亀ってみる。

…ICD3はFPGAみたいだからむりぽ…。
real-iceは流石にクローンは無理か…。
936774ワット発電中さん:2009/06/29(月) 22:17:01 ID:C28BB83o
>>931
「アホのやる事」がどの部分を指しているのか分からんが・・・

LCDにアクセスするコードを書くときに、データシートを参照してタイミングチャートを
確認する行為のことなら、やって当然、やらんやつがアホという基本中の基本だよ。
937774ワット発電中さん:2009/06/29(月) 22:22:27 ID:ekeGqUI7
>>930
>printf()は使用しません。

うわぁ〜酷ぇ。
どうりでsprintfにも関心示さないわけだ。
938774ワット発電中さん:2009/06/29(月) 22:27:04 ID:lyNra0Vo
>>930
意味不明。>>891の質問の真意は?
あとlcd_putch()の中身を知る必要は?
何のためのC言語?
939774ワット発電中さん:2009/06/29(月) 22:31:44 ID:gojX/uDc
もうほっとけよw
940natu:2009/06/29(月) 22:45:51 ID:YaLBKS4I
>>930
ゴメンネ
941774ワット放電中さん:2009/06/30(火) 06:39:58 ID:Ik9dcpe+
>>930 >>891

int _printf(char* s)
{
return( cd_putch(s) );
}
意味はこんな感じで printf を 使うようにした方が後で変更する時に便利だよ。
でも char* や cd_putch() の 戻り値の厳密な型を 理解しないと出来ないかも?
char* も ROM と RAM では表記方法が異なるし、使う C言語でも異なるよ。

エラーが出たら、どういう意味のエラーかが 理解出来るようになれば スキルアップするね。
942774ワット放電中さん:2009/06/30(火) 06:45:25 ID:Ik9dcpe+
↓のプロトタイプ宣言が理解できるように成ったら C言語は使いこなせるようになるね。
extern unsigned int16 _printf(const far rom char *, ...);

ガンガレ
943774ワット発電中さん:2009/06/30(火) 08:19:01 ID:XesTfaBg
944774ワット発電中さん:2009/06/30(火) 08:21:16 ID:RLrlbihy
>>942
おまえ凄いな。
945931:2009/06/30(火) 08:58:57 ID:YmHyuWDr
みんなやさしいなぁ。ここは良いスレ。

>>941,942
printf の f つまり format する部分が入っとらんやん。
せめて puts とか別の名前に割り当てた方が良いと思う。

簡易的なフォーマット解釈する printf を自作してみても
面白いと思うよ。%s %d くらいは対応してるとかね。
メモリがギリギリだと、豪華ライブラリのせられなかったり
もあるんじゃねーかと。
946774ワット発電中さん:2009/06/30(火) 10:31:29 ID:vrhrj83f
トラ技2006年6月号のdprintf()関数が結構便利。
詳しくは下記BBSのスレを参照。
ttp://www.style-21.jp/board/form9.cgi?action=res&resno=8516&id=ekousaku&rno=8516&lognum=20#8516
947natu:2009/06/30(火) 11:03:25 ID:d1hCoZqr
C18でprintfの変換を使うなら

#include <p18cxxx.h>
#include <stdio.h>
int _user_putc( char c )
{
lcd_putch( c ); //好きなように
}
void main(void)
{
stdout = _H_USER;
printf( "ABC=%d", 123 );
}
でOK。プログラムはこれだけで4Kbyte程必要だけど...
948774ワット発電中さん:2009/06/30(火) 11:40:49 ID:C9RbxGbG
>>947
 ということはstdinも変更できる?
出所を教えて。
949774ワット発電中さん:2009/06/30(火) 13:46:12 ID:d1hCoZqr
>>948
stdinは全部自前になって実装は疲れると思う。
出処は
C:\mcc18\h
C:\mcc18\src\traditional\stdclib

"_H_USER"でググって見ると英語が多いみたい
950774ワット放電中さん:2009/06/30(火) 14:13:12 ID:Ik9dcpe+
>>945 >>931
extern unsigned int16 _printf(const far rom char *, ...);
↑のプロトタイプ宣言の最後の ... は可変長の引数を意味しています。
後ろに何個引数が来るかはわからないよって意味ね。

フォーマットが無いって言って来ると思って付け足したんだよ。
最初はフォーマットまで対応するのは難しいでしょ。

C18 の初期の頃にアセンブラで自作でしたからね。今は楽になってるね。
その後は BlackFin では桑野さんの PSoC C言語の printfを 移植させて使わせて貰いました。
951PIC-BASIC:2009/06/30(火) 20:22:27 ID:D6lnjT+l

908さま
略---
Serout pb9600,":SOUR:FUNC CURR;:Sour:curr:mode fixed",CHR$(13),CHR$(10)
Serout pb9600,":SOUR:CURR:rang 1;:sour:curr:lev ",chr$(48),chr$(46),a,CHR$(13),CHR$(10)
略---
pb9600以降を文字列に代入して見ましたがNGです
文字列として出力しません
952>948:2009/06/30(火) 21:35:22 ID:C9RbxGbG
>949
感謝!
953774ワット発電中さん:2009/07/01(水) 01:04:40 ID:LKxpAe+f
>>944
つか、メアドみて分らない香具師はモグリなんだが
954774ワット発電中さん:2009/07/01(水) 10:40:12 ID:BJhb9kwo
SPI通信って何メートルの電線まで通信できるのでしょうか?
955774ワット発電中さん:2009/07/01(水) 10:55:18 ID:hS3lNwi5
>>954
同一基板上
956774ワット発電中さん:2009/07/01(水) 10:56:33 ID:cbI7Xz5x
>954
 線路長の質問は非常に返答しにくい。基本的に基板内部での通信を想定している
事からm単位にはならなず、せいぜい数十cmになる。
後は通信速度から周波数を計算して波長の1/4以下に抑えるというのが答えになるか?

 しかし、本当にSPI通信にあった使い方かどうかをよく検討した方が良いと思う。
957774ワット発電中さん:2009/07/01(水) 11:02:20 ID:BJhb9kwo
あれま
そんなに短距離なんですか・・・
数十メートルで高速通信するには何がいいですか?
958774ワット発電中さん:2009/07/01(水) 11:03:16 ID:1qiQS5/5
>>957
高速ってどれくらいなのか書いてね。
959774ワット発電中さん:2009/07/01(水) 11:04:45 ID:BJhb9kwo
SPIと同じくらい高速です
960774ワット発電中さん:2009/07/01(水) 11:13:10 ID:1qiQS5/5
>>959
これこれ。ちゃんと数字で書け。
200kbps程度なら485でもいいしそれ以上なら別の手を考えなくてはならん。
答えを求めるならちゃんと書く事。
961774ワット発電中さん:2009/07/01(水) 11:33:49 ID:GkMq1bNf
RS422/485でかなり往けるよ。
ttp://akizukidenshi.com/catalog/g/gI-01869/
962774ワット発電中さん:2009/07/01(水) 11:47:26 ID:BJhb9kwo
すげー
963774ワット発電中さん:2009/07/01(水) 17:09:41 ID:E0QkZ6mN
6m、数十kbpsの通信にRS485使ったけどオーバースペックだな
石が300円もするから贅沢な使い方だ
964774ワット発電中さん:2009/07/01(水) 17:23:55 ID:cbI7Xz5x
>963
 批判を承知で書くが、高々300円が高い?量産数はどのくらい?
手持ちソフトのライブラリや開発期間の余裕を含めて考えて評価すべき
で、単独の部品代で高い/安いをいうのは余程の量産数で無いと意味がない。
 ここは2CH。アマチュアから小規模生産者も多数参加している。
965774ワット発電中さん:2009/07/01(水) 17:43:31 ID:BJhb9kwo
石を使う必要もないな
966774ワット発電中さん:2009/07/01(水) 18:55:56 ID:EdC6BWKY
> ここは2CH。アマチュアから小規模生産者も多数参加している。
こだわりのアマチュアも、大量生産を夢見る小規模生産者も参加してますね。
ええ、批判してるわけじゃないです。
967774ワット発電中さん:2009/07/01(水) 20:13:22 ID:+ePlLqSt
でじきーで100個単位なら180円程度か、量産品なら普通これくらいの量は買うよな。
と言うか25個でも単価なら秋月より安いな。
968774ワット発電中さん:2009/07/01(水) 20:21:33 ID:N0R9XvR7
SPIもIICも基本はオンボードIC間。
969774ワット発電中さん:2009/07/01(水) 21:46:37 ID:EY1zZh1M
差動信号というのが音響マニア的でカッコイイネ
970774ワット発電中さん:2009/07/01(水) 21:59:32 ID:Sp1N/DrH
価格の高い・安いも難易度の難しい・簡単と同じで、その人次第だよなー。
「安いものを探してます」とか「難しいですか?」とか、それだけ書く人が
よくいるけど、それだけじゃ答えようがない。
971774ワット発電中さん:2009/07/01(水) 22:22:42 ID:E0QkZ6mN
>>964
趣味でちょっとさわっただけで量産とかは次元の違う話
通信には相手がいるから、2個用意して600円だ
これに12F629と16F88あたりを繋いで使ったりすると値段が際立つ
高いなんて言ってないけど所詮6m、数十kbpsの通信ごときに使うには贅沢でしょう

別に1万のグラボが高いとは思わないけどゲームしないなら「贅沢」だと思わない?
972774ワット発電中さん:2009/07/01(水) 22:42:08 ID:GkMq1bNf
973774ワット発電中さん:2009/07/01(水) 23:14:09 ID:+ZxN4J0n
PICでSDカードアクセスに挑戦している者です。利用しているのは18F2550です。
アクセスがうまく行かず、相談させていただきます。

いろいろ調べてみましたが、そもそもSPI通信がうまく行ってないことが解りました。
SDカードは切り離して、SDO,SDI,CLKを100KΩを介して、全てVccに繋げてました。
SDIがVccにつながれているにもかかわらず、SSPBUFに値を(0xFF)を書くと、
0xFFではなく0x5Aなどという意味不明な値が何度やってもSSPBUFに入ります。
原因がさっぱりわかりません、原因として考えられることがあれば教えてください。
ソースをこちらにうpしました。
http://toukatugiken.dip.jp/main3.txt
974774ワット発電中さん:2009/07/01(水) 23:15:17 ID:+ZxN4J0n
繋げてました → 繋げました の間違いです、失礼しました。
975774ワット発電中さん:2009/07/01(水) 23:45:26 ID:Sp1N/DrH
VCCに繋いだつもりが、実は繋がってねーんじゃねーの?
そのせいでSDOとCLKから合成された中途半端な電位が入力されてると。
976774ワット発電中さん:2009/07/02(木) 02:58:32 ID:MwKq+rJL
秋月のダウンロードサイトにあるHEXファイルのウインドウズ上でのサイズが該当するPICのデータシート上のプログラムメモリー量より遥かに多いのだけど
HEXファイルをPIC上に移したときのサイズを知る方法ってありますか?
977774ワット発電中さん:2009/07/02(木) 03:59:46 ID:1sUrGWmK
HEXファイル フォーマットでググれ
978natu:2009/07/02(木) 09:36:50 ID:pXnf78xs
>>973
こっちへ来たのね...

ADCON1は調べたみたいですね。それでSPI通信部分は
動く気がする。多分(BFはRO)

デバッグ用に16バイトEE-PROMへ記録している値が0x5a
で全て同じならハードも動作してるんじゃないですか?
979774ワット発電中さん:2009/07/02(木) 11:14:46 ID:MwKq+rJL
>>977

教えてくれてたキーワードで芋づる式で分かったよ。
HEXファイルのデータ領域は可変長だから、そのファイルサイズからはメモリ使用量は分からない
メモリ使用量を確認するにはMAPファイルを覗けばいいのだね
980774ワット発電中さん:2009/07/02(木) 11:30:44 ID:yp4T2s9g
>>957
LTC1485CN8 と普通の2芯ケーブル10mで
20Mbps 迄可能でした。実測値です
PIC が追いつきません
ノイズが心配ならツイストシールドを使います
981774ワット発電中さん:2009/07/02(木) 11:40:20 ID:ufD0XVky
使い方がわかりもはん
982774ワット発電中さん:2009/07/02(木) 12:06:24 ID:GnLr5c61
おいどんもわかりもはん
983774ワット発電中さん:2009/07/02(木) 12:44:47 ID:KMza8e63
>>980
補足事項です
端末に電源を送る+5VとGNDの
2本も一緒に敷設しています
984774ワット発電中さん:2009/07/02(木) 13:49:29 ID:1sUrGWmK
シリアルでそれだけ帯域あればシフトレジスタ挟んで
複数ポート混ぜてもいいね
985774ワット発電中さん:2009/07/02(木) 14:43:20 ID:X2yQSg7H
差動信号と電力供給を兼用して、差動信号を全波整流して電源として使ったりして
986774ワット発電中さん
>>973
・テスタでピンの電圧を測ってみる
・ICD2なりPICkit2なりがあればインサーキットデバッグすべし
 めんどくさい方法でやってるってことは持ってないのかな