【ホビーから】PIC専用のスレPart24【業務まで】

このエントリーをはてなブックマークに追加
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/)
くらい使おう

前スレ
【ICD3も】PIC専用のスレPart21【出たよ】(実質Part23)
http://science6.2ch.net/test/read.cgi/denki/1241103349/

その他 >>2-10
2774ワット発電中さん:2009/07/04(土) 07:47:50 ID:ZCgFSYuj
●過去スレ●
ttp://science6.2ch.net/test/read.cgi/denki/1241103349/ 【ICD3も】PIC専用のスレPart21【出たよ】(実質Part23)
ttp://science6.2ch.net/test/read.cgi/denki/1234597519/ 【16F193x】PIC専用のスレPart22【次世代PIC】
ttp://science6.2ch.net/test/read.cgi/denki/1228312753/ 【Pickit3】PIC専用のスレPart21【速度3倍?】
ttp://science6.2ch.net/test/read.cgi/denki/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/07/04(土) 07:48:54 ID:ZCgFSYuj
●工作関連リンク●
汎用う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
4774ワット発電中さん:2009/07/04(土) 07:49:49 ID:ZCgFSYuj
●開発ソフト等関連リンク●
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/
5774ワット発電中さん:2009/07/04(土) 07:57:34 ID:ZCgFSYuj
●関連スレ ●
PICでポケットゲームを作ろう
  ttp://science6.2ch.net/test/read.cgi/denki/1223809224/
【初心者】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/
AVRマイコン総合スレ Part14
  ttp://science6.2ch.net/test/read.cgi/denki/1239940189/
【元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/
〜〜DSP総合 2 スグ落ちるぅ〜〜
  ttp://science6.2ch.net/test/read.cgi/denki/1101474233/
【昇圧】AVRやPICで定電圧電源を作りたい!【降圧】
  ttp://science6.2ch.net/test/read.cgi/denki/1208755657/
6774ワット発電中さん:2009/07/04(土) 07:58:19 ID:ZCgFSYuj
●PIC入手先リンク●
MicrochipDirect
  ttp://www.microchipdirect.com/
秋月電子通商
  ttp://akizukidenshi.com/catalog/default.aspx
デジキー
  ttp://dkc1.digikey.com/jp/digihome.html
RS
  ttp://jp.rs-online.com/web/
チップワンストップ
  ttp://www.chip1stop.com/
マルツパーツ館
  ttps://www.marutsu.co.jp/user/index.php
7774ワット発電中さん:2009/07/04(土) 07:59:14 ID:ZCgFSYuj
参考資料(個人的見解があるので参考までに)

秋月の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のデバッグ用
8774ワット発電中さん:2009/07/04(土) 08:02:53 ID:ZCgFSYuj
秋月の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でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない。
9774ワット発電中さん:2009/07/04(土) 08:03:51 ID:ZCgFSYuj
とりあえずたてといた
テンプレもし漏れがあれば追加よろしく
10Ver.23 でLCDの質問しました。:2009/07/04(土) 11:21:03 ID:AzeIrdAn
LCDの初期化って自分のプログラムで問題ないでしょうか??
参考書のプログラムと見比べて、自分では同等と思っているのですが、
うまくいってません。

やろうとしているのは
1行目に”START”と表示し、
2行目は”○○.○s”と100msごとの時間を表示させたいのですが。。

以前だれかに、
ココにソースを載せるのではなくて、
(ソースをそのまま貼ると長いから)
アップロードしろって聞いたことあります。

アップロードってどうやるんですかね???
11Ver.23 でLCDの質問しました。:2009/07/04(土) 11:39:38 ID:AzeIrdAn
http://uproda.2ch-library.com/lib145431.c.shtml
これでいけますか??
キーは1111です。
12774ワット発電中さん:2009/07/04(土) 12:56:00 ID:Y7XHopzn
>参考書のプログラムと見比べて、自分では同等と思っているのですが、
「同等」って・・PICでLCD動かしている例なんていくらでもあるだろうから
まずは同じにすりゃいいじゃん。
13Ver.23 でLCDの質問しました。:2009/07/04(土) 13:18:33 ID:AzeIrdAn
>>12
完全同じにしたいんですが、
環境がちがったり配線の違いなどにより
完全同じには出来なくて、
その差分を解消したつもりのプログラムで全く同じものをつくったつもりです。
14Ver.23 でLCDの質問しました。:2009/07/04(土) 13:26:31 ID:AzeIrdAn
>>12
そうですね。
まずは同じにしようと思っています。
ただ、環境の違いやピン配のちがいなどで全く同じにはいかないようです。
なので、そこをカバーしたものにしようと思っています。
15natu:2009/07/04(土) 15:26:53 ID:wK1L34JO
>>11
ポインターと配列をHI-TECH_Cのマニュアルを見て
がんばれば、動くかもしれない。
特に配置される位置(ROM,RAM)に注意してね

char *cs[16];←これと
lcd_puts(const char* s);←これと
*cs="start"←これ(warningが出ると思うけれど..)
16Ver.23 でLCDの質問しました。:2009/07/04(土) 17:26:45 ID:AzeIrdAn
>>15
ありがとう。
まずは、僕自身ポインタを基礎からやり直さないといけませんね。
位置(ROM,RAM)というのはどういうことでしょう??

下記だと
*s = "start";
で警告がでます。
C言語をポインタなどを調べたところ
ある配列に文字列を入れて、
その配列の先頭アドレスをポインタに記憶させる。
ポインタの中身に文字列を入れる。
ということをしたつもりなのですが。。。

**Variables
char cs[16];
char *s;

**main
s = cs;
*s = "start";
lcd_puts(*s);

lcd_cmd(0xC0);
*s = "NG";
lcd_puts(*s);
17natu:2009/07/04(土) 17:57:34 ID:wK1L34JO
>>16
ポインターや配列は後の楽しみに取って置くとして、まずは
作ったハードでLCD表示が出来るようにしよう。
表示が出来れば、それを使ってデバッグ出来る様になるので
思う存分ソフトを検討すれば良いと思う。

lcd_clear();//__この行の次に
lcd_data('A');//__この行を追加して

実行させると、LCDの左上に"A"が表示されるかな?

Ver.23って何?
18774ワット放電中さん:2009/07/04(土) 19:56:52 ID:fzq+1HlL
>>17 natuさん

>Ver.23って何?
ttp://science6.2ch.net/test/read.cgi/denki/1241103349/ 【ICD3も】PIC専用のスレPart21【出たよ】(実質Part23)
19natu:2009/07/04(土) 21:17:41 ID:wK1L34JO
>>18
毎度です。NULLの人かな?
見積ばっかりで早くも『夏休み』状態です。

LCDへの文字出力は問題無さそうな気がするんですけどね。
20774ワット発電中さん:2009/07/04(土) 22:03:20 ID:LQh9zHkD
こんにちは。PIC&2ch初心者です。よろしくお願いします。
私はPICのコンパイラにmikrobasicを使っています。最近出た安い16F887を試してみようと思い、
AD変換をするプログラムを作ったのですが、うまく動きません。プロジェクトの一覧から選択できたし、
バージョンも7.2なので対応しているはずなのですがなぜかうまくいきません。

同じ症状で困っている方や解決策を知っている方はレスお願いします。
21774ワット発電中さん:2009/07/04(土) 22:16:54 ID:Iq9PUxIp
エスパーキター
22774ワット発電中さん:2009/07/05(日) 01:08:27 ID:MsI+1W19
12F615で、GP5入力変化でSLEEP解除するようにコード組んだのですが
GP5がLOの時はSLEEP解除されっぱなし
(あたかもSLEEP行を無視し続ける感じ)
になってしまいます。

半日ハマってます・・・
ttp://mcnc.hp.infoseek.co.jp/cgi-bin/img-box/img20090705010556.jpg
どこが悪いかご指摘頂けるとありがたいです。
23774ワット発電中さん:2009/07/05(日) 09:49:07 ID:k9ugN2dY
GPIOのリードかライト、またはGPIFのクリアが必要らしいけど
新しい定常値を記憶させろ、ということかな
24774ワット発電中さん:2009/07/05(日) 11:28:16 ID:MsI+1W19
>>23
ご指摘の通り、GPIFのクリアを怠ってました。
GPIFを全くクリアしていなかったので、常時SLEEP復帰になってました。
SLEEPの直前でGPIFをクリアしたところ、必ず入力変化で復帰するようになりました。

あと、MOVWFやXORWF等でGPIOを叩いた時も
GPIFがSETされるんですね。危うくそこでまたハマりかけました。
25Ver.23 でLCDの質問しました。:2009/07/05(日) 17:14:52 ID:w/cwcsHK
>>17
こんにちわ。

>lcd_clear();//__この行の次に
>lcd_data('A');//__この行を追加して

試してみましたがうまくいきません。
1行目に■が16個並んで、
2行目は真っ白です。

ちなみに
自分が書いた下記をコメントアウトしたり、
s = cs;
*s = "start";
lcd_puts(s);

lcd_cmd(0xC0);
*s = "NG";
lcd_puts(s);

>lcd_data('A');//__この行を追加して
の'A'を"A"にしてみたり自分で考えれる可能性は試しましたが
うまく結果は同じでした。
26774ワット発電中さん:2009/07/05(日) 18:51:02 ID:IrkWOOdV
質問ですが、
時間待ちルーチンで、2秒と、5秒の待機をさせたいのですがいまいち理解できません。
どなたかご教授願います
27774ワット発電中さん:2009/07/05(日) 19:08:00 ID:lEcT49C8
>>25
1行目で駄目って事はLCDの初期化が出来ていないんだろ。
配線をチェックするなり初期化ルーチンを見直すのが先決。

そんで'A'と”A"は別物だと解るよな?
*sとsの意味合いもわかるよな?
*s="ABC"は駄目でs="ABC"ならOKなのわかるよな?
解らないならポインタを勉強しなおせ。

>>26
何が理解できないか書き込め。
28Ver.23 でLCDの質問しました。:2009/07/05(日) 19:09:34 ID:w/cwcsHK
>>26
DelayMS()とかDelayUS()を使えばいいですよ。
DelayMS(2000)で2秒、Delay(5000)で5秒です。

その他は割り込み処理を使うって方法もあります。
29774ワット発電中さん:2009/07/05(日) 20:36:33 ID:ZkULlijv
型番と使用言語ぐらい書け
30774ワット発電中さん:2009/07/05(日) 20:39:53 ID:IrkWOOdV
>>29
16F84Aでアセンブラです。
31774ワット発電中さん:2009/07/05(日) 21:10:44 ID:B1aZbxr4
>>30
4クロックで1命令。1命令の実行時間が分かれば、何命令実行すれば
2秒になるかは計算できるだろ。
その手の「ルーチン」は、ひたすら無駄に実行し続けるんだよ。

老婆心ながら、とりあえず12F6XXあたりに乗り換えた方が、無駄な手間が省けて
理解のための勉強は進むと思うぞ。
32Ver.23 でLCDの質問しました。:2009/07/05(日) 22:04:59 ID:w/cwcsHK
>>31
>>30はせっかく16F84でハードをくみ上げて
さあ、ソフトを動かそうってがんばってるので、
ここはゆっくりこちらからヒントを出していけばいいのではないでしょうか??
彼が理解できる項目に関して細かく説明して、
順を追って進めていけばいいと思います。

最初のうちは色んな石に手を出すよりも自分がこれ使ってみようって思った石を使うのが早道かと。
そして彼の選んだ石は16Fシリーズではもっとも機能が少なく、
これから練習していくには最適だと思います。

>>30
>>27の言うようにわからないポイントをもうちょっと噛み砕いて
説明するとみんな相談にのりやすいとおもいますよ。
33774ワット発電中さん:2009/07/05(日) 22:14:59 ID:IrkWOOdV
>>32
えっと、クロックは10[MHz]の発振子を利用しているので、1命令あたり、1[μS]なのは
わかっているんです、それで2秒ってことになれば、
2×10^6回命令を行わせれば2秒待機ってことですよね?

ただ、その2×10^6回をどう書けばいいのかわからないんです。
34774ワット発電中さん:2009/07/05(日) 22:28:03 ID:lEcT49C8
>>33
先に10MHzの場合1クロック0.1us。で、1命令4クロックだから0.4us掛かる。
そこは勘違いしないように。
次にだ50usのウェイトを想像してみなよ。
0.4usの1命令を何回実行すれば50usになる?
次に1msを考えてみる。先ほどの50usのウェイトを何回呼び出せば1msになる?
そんで・・・あとは考えてくれ。
ちなみにPICアセンブラにはdecfszなんていう便利な命令がある。
さらにMPLABにはストップウォッチなる計時機能もあったりする。便利。
35Ver.23 でLCDの質問しました。:2009/07/05(日) 22:55:47 ID:w/cwcsHK
>>34
>MPLABにはストップウォッチなる計時機能もあったりする。便利。
詳しく教えてほしいです。
気になります。
36774ワット発電中さん:2009/07/05(日) 23:04:15 ID:lEcT49C8
37Ver.23 でLCDの質問しました。:2009/07/06(月) 00:44:39 ID:xcSjK53B
>>27
>1行目で駄目って事はLCDの初期化が出来ていないんだろ。
>配線をチェックするなり初期化ルーチンを見直すのが先決。
だと思います。
個人的には初期化が怪しくてそこを直したいのですが、
>>17の言うことももっともだと思ったんで、
ポインタのところも気にしてます。

>そんで'A'と”A"は別物だと解るよな?
シングルクォーテーションはアスキーを代入処理する際に使用。
ダブルクォーテーションは特殊文字を扱う。

>*sとsの意味合いもわかるよな?
ポインタですね。*sを定義したなら、sにはアドレスが
*sにはその中身が入っています。

>*s="ABC"は駄目でs="ABC"ならOKなのわかるよな?
これはsがアドレスだからですね。
了解です。
38774ワット発電中さん:2009/07/06(月) 01:18:03 ID:LTlxSPWQ
>>37
'A' は char 型の定数
"ABC" は文字列「ABC」が置かれたメモリの先頭番地
char *s; で
s="ABC";
としたら
*s は s[0]と同じ意味で 'A'が出てくる

ともかく文字列だのポインタだのは忘れて、1文字出るところまで
やるべし、に賛成。
39774ワット発電中さん:2009/07/06(月) 02:07:28 ID:pqXL2w2t
Input rb.Bit0 'キーを定義


set: a = 0

c=&h00
Initlcd
If (rb.Bit0 = 0) Then : a=6
Putlcd "Source"

For i = 1 To 7
Lookup i,c,00,58,83,79,&h55,&h52,58'16文字x2列LCDを使用
Setpos i,1
Sleep 321
Putlcd " ",c
Serout pb9600,c
Next i

Else
i=0
Endif
Homelcd
If 1 <= a Then
Putlcd "Function"
Serout pb9600,70,&H55,78,67,32,67,79,&H52,&H52,59,58
Sleep 1000
Else
Putlcd "タイキチュウ"
Endif
'略---

Goto set
40774ワット放電中さん:2009/07/06(月) 02:24:37 ID:Klgat9jp
>>25 Ver.23 でLCDの質問しました。

>1行目に■が16個並んで、
>2行目は真っ白です。
これが何を意味しているかというと、LCD 側がコマンドを一切受け付けていない事が分かります。
初期化ルーチンが正常で2行化のコマンドを受け付けていれば、2行目も■が16個並びます。

コマンドを受け付けない理由は、ハードウエアの配線ミス。
ソフトウエアで 8bit → 4bit コマンド変更のミス。
BUSY を 監視していないなら、時間の取り方の不十分が等が考えられます。
ハードのミスかソフトのミスかの切り分けが出来ないなら、教える側も困るんですよ。

近くにオシロ等でハードを確認して貰える人はいないのですか?
41774ワット発電中さん:2009/07/06(月) 06:13:58 ID:oonsHEi1
LCDとの接続程度も自己解決できないようじゃあな
いい加減自分には不向きだと理解して別の道に進んだほうがいいんじゃね?
42774ワット発電中さん:2009/07/06(月) 06:49:49 ID:z20FTMJM
>>25
にゃんこさんが言ってる様に、初期化ルーチンが違うかもしれないよ?
付属のデータシートの初期化チャートと照合するんだ

>>25のLCDはSC1602Bなのか?
「1行目に■が16個並んで、2行目は真っ白です。」は初期化失敗の症状だった記憶があるね
リニューアル前は秋月ページにデータシートとFAQあったのに・・・、なくなってるな・・・
43774ワット発電中さん:2009/07/06(月) 15:20:42 ID:H1rtrdbS
おまえら親切だなー
44774ワット発電中さん:2009/07/06(月) 16:03:26 ID:HBlJBTph
初期化のウェイトが足りない症状です。
45natu:2009/07/06(月) 18:11:10 ID:0uHIP+A9
>>25
wait_us、wait_ms関数が誤動作する可能性は有るけれど桁上げの時だけ
なので、治るかどうかは解らんけれど組込みのdelayに変えて見ては?

#define _XTAL_FREQ 20000000 //水晶の周波数、追加

static void wait_us(unsigned char cnt)
{
while(cnt--)
__delay_us(1);
}
static void wait_ms(unsigned char cnt)
{
while(cnt--)
__delay_ms(1);
}

wait_ms(200);

lcd_cmd(0x02);// cursor home
wait_ms(2);//←追加

これでダメならハードを見直したほうが良いと思う。
46774ワット発電中さん:2009/07/06(月) 18:41:26 ID:tcz4GYd+
こんな症状って経験したことありますか?
「内部のプログラムが正常に動作しているのはデバッグ出力から確認できるけど、
 一部の出力ポートがHiもしくはLowにスタックして正常に動作しない状態」
再度(ISPではない)プログラミングをおこなうと一応は正常に動作するように戻ります。
原因・対策などありましたら....
47774ワット発電中さん:2009/07/06(月) 18:51:28 ID:oonsHEi1
初期値不定の変数を使っているところが悪さをしている

なーんていうのもありがち
48774ワット発電中さん:2009/07/06(月) 20:30:36 ID:fEl3JZGV
>>33
おまえ、バカそうだからコテ名乗れ。
LCD君が懇切丁寧に教えてくれるはずだ。
49Ver.23 でLCDの質問しました。:2009/07/06(月) 22:51:00 ID:xcSjK53B
>>33
これつかってみてください。

#include "pic.h"
#include "delay.h"
#define _XTAL_FREQ 10000000 //水晶の周波数10MHz
int i = 0;
while(i++ < 1000){
__delay_ms(2); //2秒待機
}
while(i++ < 1000){
__delay_ms(5); //5秒待機
}
50774ワット発電中さん:2009/07/06(月) 22:52:36 ID:pnbQ1epv
>>49
アセンブラと言っている人にCソース見せて面白いの?
51Ver.23 でLCDの質問しました。:2009/07/06(月) 23:07:15 ID:xcSjK53B
>>33&>>50
すいません。
そうですね。
アセンブラって書いてますね。
見落としていました。
何か役に立てることがあればと思いましたが、
余計に混乱を招いていたらすいません。
52Ver.23 でLCDの質問しました。:2009/07/06(月) 23:16:43 ID:xcSjK53B
>>38
了解です。
まずは1文字出力ですね。
たぶん皆さんの意見を見ていると初期化のもんだいですね。

>>40
>これが何を意味しているかというと、LCD 側がコマンドを一切受け付けていない事が分かります。
>初期化ルーチンが正常で2行化のコマンドを受け付けていれば、2行目も■が16個並びます。
なるほど、情報ありがとうございます。
オシロはないですが、自分でテスタはあるので敗戦は問題ないことは確認しています。

ソフトのミスはわからないです。
53774ワット発電中さん:2009/07/06(月) 23:29:33 ID:xcSjK53B
>>42
了解です。LCDはSC1602Bのバックライトなしです。

>>44
情報ありがとうございます。

>>45
先ほど試してみましたがNGでした。
待ち時間を増やしてみましたがNGでした。

54774ワット発電中さん:2009/07/06(月) 23:37:53 ID:HBlJBTph
ここでウェイトを確認
http://www.hi-ho.ne.jp/hida/h_made0B.htm
55774ワット発電中さん:2009/07/07(火) 00:11:22 ID:kfWlix0L
PICではCしか触ったことなかったが、話の流れ的に気になってググってみた
あー、命令スキップで分岐するのか…めどいな
56774ワット発電中さん:2009/07/07(火) 01:24:57 ID:3rj/c7b4
こんばんは。PIC18Fについて質問があります。
現在、後閑氏の「電子工作のためのPIC18F本格活用ガイド」を参考に
PIC18F2431を使ってEUSARTを試しているのですが、ピンの入出力の設定についてデータシートと参考にしている本とで食い違いがあり悩んでいます。
参考に使っている本ではRC6を出力に、RC7を入力に設定しろと書いているのですが、データシートでは両方入力にしろと書いています。
これはどちらが正しいのでしょうか?
ちなみに動作自体はどちらでもちゃんと動くのですが、なんか気持ち悪くて気になっている状態です。
どうか教えてください。

57774ワット放電中さん:2009/07/07(火) 01:43:26 ID:63eE4Sos
;************************************************************************************************
;* wait_5uSEC *
;* ★約5μSEC wait 5.086263020833333333μSEC X'tal 19.6608MHz *
;* wait_1uSEC *
;* ★約5μSEC wait 1.017252604166666667μSEC *
;* 1命令 0.203450520833333333μSEC *
;* *
;* 入力 無し *
;* *
;* 出力 無し *
;* *
;* 使用 無し *
;* 破壊 無し *
;* STACK LEVEL 1 *
;************************************************************************************************
#ifdef DEBUG_PROG
#if DEBUG_PROG == TRUE
; call wait_5uSEC ; 2
wait_5uSEC: ;5.086263020833333333μSEC
goto $+1 ; 4
goto $+1 ; 6
goto $+1 ; 8
goto $+1 ; 10
goto $+1 ; 12
wait_3uSEC: ;3.0517578125 μSEC
goto $+1 ; 14
goto $+1 ; 16
goto $+1 ; 18
goto $+1 ; 20
goto $+1 ; 22
wait_1uSEC: ;1.017252604166666667μSEC
wait_5clock: ;call を 含めて 5 命令です
nop ; 23
return ; 25
;-----------------------------------------------------------
;wait_5uSEC: ;5.086263020833333333μSEC
; clrf FSR ; 3
; bsf FSR, 2 ; 4
; bsf FSR, 1 ; 5
;wait_5uSEC_10 decfsz FSR, F ; 1
; goto wait_1mSEC_10 ; 3*6-1 ; 22
;wait_1uSEC: ;1.017252604166666667μSEC
;wait_5clock: ;call を 含めて 5 命令です
; nop ; 23
; return ; 25
#endif
#endif
58774ワット放電中さん:2009/07/07(火) 01:44:08 ID:63eE4Sos
;************************************************************************************************
;* wait_WuSEC *
;* ★約 WregμSEC wait 1.017252604166666667μSEC X'tal 19.6608MHz *
;* 1命令 0.203450520833333333μSEC *
;* *
;* 入力 Wreg = 000H 255.940755208333333333μSEC *
;* = 001H 〜 002H 2.848307291666666667μSEC *
;* = 003H 3.0517578125 μSEC *
;* | *
;* = 0FFH 259.3994140625 μSEC *
;* *
;* 出力 FSR = 000H *
;* *
;* 使用 FSR,ZF,DC,CY,WREG *
;* 破壊 FSR,ZF,DC,CY,WREG *
;* STACK LEVEL 1 *
;************************************************************************************************
#ifdef DEBUG_PROG
#if DEBUG_PROG == TRUE
; movlw 0xXX ; 1
; call wait_WuSEC ; 3
wait_WuSEC: ;20.000MHz なら正確なんだけどね 大きいと誤差が増えるよ
addlw 000H ; 4
@btfsc @ZF ; 5
goto wait_WuSEC_10 ; 7
addlw -3 ; 7
movwf FSR ; 8
@btfsc @ZF ; 9
goto wait_WuSEC_11 ; 11
@btfsc @CY ; 11
goto wait_WuSEC_20 ; 13
return ; 14
;-----------------------------------------------------------
wait_WuSEC_10 ;Wreg = 00H 256uSEC 指定 X'tal 19.6608MHz
movlw 249 ; 8
movwf FSR ; 9
goto wait_WuSEC_21 ; 11
;-----------------------------------------------------------
;wait_WuSEC_10 ;Wreg = 00H 256uSEC 指定 X'tal 20.0000MHz
; movlw 253 ; 8
; movwf FSR ; 9
; goto $+2 ; 11
; goto wait_WuSEC_21 ; 13
;-----------------------------------------------------------
wait_WuSEC_11 ;Wreg = 03H 3uSEC 指定 X'tal 19.6608MHz
goto wait_WuSEC_RET ; 13
; return ; 15
;-----------------------------------------------------------
wait_WuSEC_20 ;Wreg = 04H 〜 0FFH X'tal 20.0000MHz
; return ; 15
wait_WuSEC_21 goto $+1 ;2
decfsz FSR, F ;3
goto wait_WuSEC_21 ;5*(W-3)-1
nop ;+1
wait_WuSEC_RET return ; 15
#endif
#endif
59774ワット放電中さん:2009/07/07(火) 01:45:52 ID:63eE4Sos
;************************************************************************************************
;* wait_1mSEC *
;* ★約1mSEC wait 1.000162760416666667 mSEC X'tal 19.6608MHz *
;* 1命令 0.203450520833333333μSEC *
;* *
;* 入力 無し *
;* *
;* 出力 FSR = 000H *
;* *
;* 使用 ZF,FSR *
;* 破壊 ZF,FSR *
;* STACK LEVEL 1 *
;************************************************************************************************
#ifdef DEBUG_PROG
#if DEBUG_PROG == TRUE
; call wait_1mSEC ; 2
wait_1mSEC: ;1.000162760416666667 mSEC 割り込みは考慮せず 合計 4916 clock
nop ; 3
wait_1mSEC_00: ;0.999959309895833333 mSEC 割り込みは考慮せず 合計 4915 clock
goto $+1 ; 5
goto $+1 ; 7
wait_1mSEC_01: ;0.9991455078125 mSEC 割り込みは考慮せず 合計 4911 clock
clrf FSR ; 8
wait_1mSEC_10 goto $+1 ; 2
goto $+1 ; 4
goto $+1 ; 6
goto $+1 ; 8
goto $+1 ;10
goto $+1 ;12
goto $+1 ;14
goto $+1 ;16
decfsz FSR, F ;17
goto wait_1mSEC_10 ;19*256-1 ;4871
bsf FSR, 3 ;4872 FSR = 08H
goto wait_WuSEC_21 ;4874
; loop ;4914
; return ;4916
#endif
#endif
60774ワット放電中さん:2009/07/07(火) 01:48:47 ID:63eE4Sos
;************************************************************************************************
;* wait_WmSEC *
;* ★約 Wreg mSEC wait 0.999959309895833333 mSEC X'tal 19.6608MHz *
;* 1命令 0.203450520833333333μSEC *
;* *
;* 入力 Wreg = 000H 255.990397135416666667 mSEC *
;* = 001H 1.000773111979166667 mSEC *
;* = 002H 2.000732421875 mSEC *
;* | *
;* = 0FFH 254.990437825520833333 mSEC *
;* *
;* 出力 FSR = 000H *
;* *
;* 使用 FSR,ZF,DC,CY,WREG *
;* 破壊 FSR,ZF,DC,CY,WREG *
;* STACK LEVEL 1 *
;************************************************************************************************
#ifdef DEBUG_PROG
#if DEBUG_PROG == TRUE
; movlw 0xXX ; 1
; call wait_WmSEC ; 3
wait_WmSEC: ;20.000MHz なら正確に出来るんだけどね 大きいと誤差が増えるよ
clrf FSR ; 1
wait_WmSEC_10 nop ; 1
clrwdt ; 2
goto $+1 ; 4
goto $+1 ; 6
goto $+1 ; 8
goto $+1 ;10
goto $+1 ;12
goto $+1 ;14
goto $+1 ;16
decfsz FSR, F
goto wait_WmSEC_10 ;4864
;-----------------------------------------------------------
wait_WmSEC_11 bsf FSR, 3 ;4865 ;
bsf FSR, 0 ;4866 ; FSR = 09H
wait_WmSEC_12 goto $+1
decfsz FSR, F
goto wait_WmSEC_12 ;4910
nop ;4911
;-----------------------------------------------------------
wait_WmSEC_13 movwf FSR ;4912
decfsz FSR, W ;4913
goto wait_WmSEC ;4915 ;4915 * Wreg - 1
return ; 5
#endif
#endif
61774ワット放電中さん:2009/07/07(火) 01:52:40 ID:63eE4Sos
;************************************************************************************************
;* wait_10mSEC *
;* ★約10mSEC wait 10.00000000000000000 mSEC X'tal 19.6608MHz *
;* 1命令 0.203450520833333333μSEC *
;* *
;* 入力 無し *
;* *
;* 出力 FSR = 000H *
;* PCLATH = 000H *
;* *
;* 使用 PCLATH,FSR,ZF *
;* 破壊 PCLATH,FSR,ZF *
;* STACK LEVEL 1 *
;************************************************************************************************
#ifdef DEBUG_PROG
#if DEBUG_PROG == TRUE
; call wait_10mSEC ; 2
wait_10mSEC: ;10.00000000000000000 mSEC 割り込みは考慮せず 合計 49152 clock
; nop ; 3
clrwdt
wait_10mSEC_00: ; 9.99979654947916667 mSEC 割り込みは考慮せず 合計 49151 clock
goto $+1 ; 5
goto $+1 ; 7
wait_10mSEC_01: ; 9.99898274739583333 mSEC 割り込みは考慮せず 合計 49147 clock
clrf FSR ; 8
decf FSR, F ; 9
decf FSR, F ; 10
decf FSR, F ;FSR=253 ; 11
;-----------------------------------------------------------
wait_10mSEC_02 clrf PCLATH ;( 1)
bsf PCLATH, 3 ;( 2)
decf PCLATH, F ;( 3)
;-----------------------------------------------------------
62774ワット放電中さん:2009/07/07(火) 01:53:33 ID:63eE4Sos
wait_10mSEC_03 nop ; 1
clrwdt ; 2
goto $+1 ; 4
goto $+1 ; 6
goto $+1 ; 8
goto $+1 ;10
goto $+1 ;12
goto $+1 ;14
goto $+1 ;16
goto $+1 ;18
goto $+1 ;20
goto $+1 ;22
goto $+1 ;24
decfsz PCLATH, F
goto wait_10mSEC_03 ;(191)
decfsz FSR, F ;(192) ;
goto wait_10mSEC_02 ;(194) ;49092
;-----------------------------------------------------------
bsf FSR, 3 ;49093
bsf FSR, 1 ;FSR = 0AH ;49094
goto $+1 ;49096
goto $+1 ;49098
goto wait_WuSEC_21 ;49100
; loop ;49150
; return ;49152
;-----------------------------------------------------------
#endif
#endif
63774ワット発電中さん:2009/07/07(火) 01:54:09 ID:66Q6Kyux
>>55
俺は両方使えるがアセンブラ派だな
例えばRA1の入力と同等の出力をRB1に行なうサブルーチンてのを作るとすると、

btfss porta,1
bcf portb,1
btfsc porta,1
bsf portb,1
return

分岐命令使わずにたったの5ワードで出来る
条件成立時に次の命令をスキップするって仕様は意外に面白く使えるよ
64774ワット放電中さん:2009/07/07(火) 01:56:06 ID:63eE4Sos
;************************************************************************************************
;* wait_Wx100mSEC *
;* ★約 Wx 100mSEC wait 約 100 mSEC X'tal 19.6608MHz *
;* *
;* 入力 Wreg = 000H 約 25600 mSEC *
;* = 001H 約 100 mSEC *
;* = 002H 約 200 mSEC *
;* | *
;* = 0FFH 約 25500 mSEC *
;* *
;* 出力 FSR = 000H *
;* PCLATH = 000H *
;* *
;* 使用 PCLATH,FSR,ZF,WREG *
;* 破壊 PCLATH,FSR,ZF,WREG *
;* STACK LEVEL 2 *
;************************************************************************************************
#ifdef DEBUG_PROG
#if DEBUG_PROG == TRUE
; movlw 0xXX ; 1
; call wait_Wx100mSEC ; 3
;----------------------------------------------------------- ↑誤差の範囲なので考慮しません
wait_Wx100mSEC: ;19.6608MHz
call wait_10mSEC_01 ; 1 ; ( -5)
call wait_10mSEC ; 2
call wait_10mSEC ; 3
call wait_10mSEC ; 4
call wait_10mSEC ; 5
call wait_10mSEC ; 6
call wait_10mSEC ; 7
call wait_10mSEC ; 8
call wait_10mSEC ; 9
call wait_10mSEC ;10
movwf FSR ; ( -4)
decfsz FSR, W ; ( -3)
goto wait_Wx100mSEC ; ( -1)
return ; 5


#endif
#endif
65774ワット放電中さん:2009/07/07(火) 01:58:15 ID:63eE4Sos
適当に見やすく TAB なり 空白なり を 挿入して下さいませ。
アセンブラが読めない人にとっては『荒らし』以外の何ものでも無いだろうねぇ。
66774ワット発電中さん:2009/07/07(火) 02:13:07 ID:66Q6Kyux
>>65
ダラダラと荒らしの様なリストを立て続けに書き込んでる途中で割り込まれたから怒ってるのか?
それはすまなかったね
67774ワット発電中さん:2009/07/07(火) 02:43:46 ID:yz1WZiOd
>65

CCS-C”だけ”の軽石乙。
68774ワット発電中さん:2009/07/07(火) 02:59:10 ID:gnG1WcMg
>>66
いや、>>65は怒ってるんじゃなくて、自嘲してるんだろ。
良く読もうよ…
69774ワット放電中さん:2009/07/07(火) 03:49:47 ID:63eE4Sos
見やすく自分なりに編集してごらんね。
μ秒〜25.6秒までの単純ウエイトのサンプルだよ。

X'tal はちょっと特殊だがクロックの数え方の基礎が分かるハズだよ。
70774ワット発電中さん:2009/07/07(火) 05:57:03 ID:0a7zgmP9
テキストファイルをアップロードしてアドレス張ればいいのに。
71natu:2009/07/07(火) 08:59:15 ID:hJ90blfH
>>56
TRISCは無視されてEUSARTモジュールが方向を固定するので
ポートの方向設定は意味が無い。

只、EUSARTモジュールとTRISの方向を合せておくと、何となく
爽やかな気持ちになる。私は...
72774ワット放電中さん:2009/07/07(火) 10:34:45 ID:63eE4Sos
>>70
仕事が変わって 朝05:00〜夜00:30 まで運転手。
そこまで暇が無いのね。ごめんね。
7356:2009/07/07(火) 19:45:02 ID:kYLbyxmX
>>71
レスありがとうございます。
成る程、どっちでも問題ないんですね。
なんかほっとくと、ポートを触った時に予期しないエラーが起きたりするんじゃないかと思っていたんですが、
何にも関係ないなら安心です。
どうもありがとうございました。
74774ワット発電中さん:2009/07/07(火) 20:31:52 ID:4UYgSJZ8
>>72
暇が無いなら、出てこなくていい。
75774ワット発電中さん:2009/07/07(火) 20:52:14 ID:CLS+W0CI
>>74
SURU-力が無いなら(ry
76774ワット発電中さん:2009/07/07(火) 21:27:49 ID:rzwjQB4S
軽石にはあまりにも時間が不足しています>o<
77774ワット発電中さん:2009/07/08(水) 01:15:13 ID:ID+c2tZm
>>56
間違えて入力を出力に設定してしまった場合、
二つのデバイスがH-LやL-Hになった場合出力に電流が流れすぎて壊れる場合がある
だから分からん場合は入力に設定しておけという意味だろ

ちなみに俺は無意味かもしれんが最初は入力で設定して、うまく動いたらI/Oを設定しなおす
78774ワット放電中さん:2009/07/08(水) 11:20:42 ID:RkZJLtBF
第一交通岩国で合田先輩にメガネを壊された。
障害と器物破損に切り替えても良いですか?と聞いたら
国次所長に直ちに保険所と制服を返せと言われた。

生活保護になるかな?
79774ワット発電中さん:2009/07/08(水) 15:15:18 ID:N1LRNYRh
在職証明もらっとけよ。後で取りになったらマンドイ
80774ワット発電中さん:2009/07/08(水) 15:22:29 ID:npevK8FM
秋月新商品 18F14K50 (200円)ってなにげに最強…?
81natu:2009/07/08(水) 21:43:05 ID:A96BRFUf
2.7V以上で48MHz動作が保障されているから
200円だとお買い得だと思う。ディープスリープ
も私が持ってる激安テスターだと電源電流が
測れないし...

欲を言えば、RAMサイズが、あと256バイト多く
有ればUSB+αが、さらに楽しめるのになぁ
82にゃんにゃんこ:2009/07/08(水) 22:23:12 ID:RkZJLtBF
>>79
生活保護の書類は受け取って貰えました。実際におりるかどうかは不明。
でも一安心。また PIC をさわれますよ。
朝5時〜夜0時まで働いて手取りが 78,000円でした。

>>80
USB は良いけど SDカードも扱おうとすると ROM RAM が苦しいよ。
PIC18F452 で SDカードルーチンを作ったけどメモリー節約に苦労しました。
↑ C18 対応に書き換える自信は無いよ。lfsr と postinc postdec で メモリー節約。
tblrd*- 1命令 カウンター 3byte を dec する裏技。
83にゃんにゃんこ:2009/07/08(水) 23:02:20 ID:RkZJLtBF
>>70
ttp://u3.getuploader.com/pic16f774
エアバリさん所のアップローダーに入れておきました。
84774ワット発電中さん:2009/07/09(木) 06:15:05 ID:h/GVc2tc
>>56
USARTとか内蔵モジュールpinのTRIS指定をどうするかは
PIC device毎に事情が違ったりするから
個別データシートの情報を優先汁

因みにその書籍でのPIC18F2320ならdatasheetに
? TRISC<7> bit must be set (= 1)
? TRISC<6> bit must be cleared (= 0)
とあり、貴方の使用するPIC18F2431ならdatasheetで
? TRISC<6> bit must be set ( = 1), and
? TRISC<7> bit must be set ( = 1).
85>>10:2009/07/10(金) 07:14:19 ID:q4fJWLA5
あれから、
待ち時間を確認したり、
処理のない様確認したりしてるんですが、

自分ではおかしなところが見つかりません。
ソースをアップロードしたので
もし、わかる人いらっしゃったらアドバイスいただけませんか?
PICCのLiteをつかってます。

http://uproda.2ch-library.com/lib147254.c.shtml
キー:1111

ちなみにハードは断線、接触はしていませんでした。
86774ワット発電中さん:2009/07/10(金) 09:46:05 ID:DMDRuLqF
自力で調べることができないなら,変なオリジナリティなど出さずに
まずは動くことが確実なサンプルの通り作って動かしてから
移植していくというのが常道じゃね?

87natu:2009/07/10(金) 09:59:22 ID:fvy0oWIB
>>85
static void lcd_init(void) {
//wait_ms(2);
int i = 8;//電源ONから15mS以上まつ

__delay_us(200);//100-->200
/* 8 Bit Mode Setting 3 */

__delay_us(100);//100-->200
/* 4 Bit Mode Setting */

これでダメならハードだと思う。R/WはGNDにしてる?

初期化途中の、例えばE=1にした直後に
while(1) ;
を入れて停止させ、LCD側のピンをテスターで計って見ると
どうよ。
88774ワット発電中さん:2009/07/10(金) 12:47:45 ID:jOXFk3bk
>>85
直接問題と関係無いかもしれんが・・・
PICC LiteつうかHI-TECH PICC Pro(lite mode)だよね。

LCDアクセス関数はsamples\LCDemo\ 参考にすればok
そんで、#include "delay.h"要らんよね

#define _XTAL_FREQ 20000000 は
#include "pic.h" の前に書かんと意味無いよね

あと・・・関数引数とか変数型いい加減すぎるよ。
89774ワット発電中さん:2009/07/10(金) 12:53:52 ID:G6L6MOSa
見てないけど酷いな
90774ワット発電中さん:2009/07/10(金) 12:54:40 ID:/GBFvK7h
>>89
うん。見て後悔した。
91774ワット発電中さん:2009/07/10(金) 16:34:21 ID:XHvmhG3h
>>85
先ずはHI-TECH C PRO(Lite mode)の\samples\LCDemoを参考に動かしたら?
動いてから、自分の好きな様に改造したら?
↓\samples\LCDemo\lcd.cをLCDとPICの配線に合わせて修正する例
http://kuri6005.sakura.ne.jp/pic/index.php?LCD%C9%BD%BC%A8%CB%A1%2816F886%29#w6ac95da
92にゃんやんこ:2009/07/10(金) 16:59:38 ID:LsBvK2vj
>>85
最初からプログラムを上手に書ける人はいませんよ。
みんな上手な人のテクニックを見て学んで行くんだから、気にしないでいいよ。
サンプルの物まねから少しずつ変えて自分の物にしてみるのが良いと思うよ。
9393:2009/07/10(金) 23:39:00 ID:xZnyvK5A
入力2つにたいして、出力1つでPWMを出力する場合は12F683で十分ですか?
94にゃんにゃんこ:2009/07/11(土) 03:00:34 ID:gSGLZ63U
>>93
もし、私が依頼を受けて開発する場合でしたら
PIC16F88 で 利用者様の仕様を満足するか実験をして、確認をしてもらった後で
PIC12F683 に 移植し直します。

プログラムに必要な ROM RAM が不足する場合は、お断りするか他の PIC のご利用をお勧めするように努めます。
95774ワット発電中さん:2009/07/11(土) 07:55:01 ID:JcdVwQsV
>>93
充分だと思いまつ
96774ワット発電中さん:2009/07/11(土) 09:28:12 ID:ZQzGxeNo
>>93
どんな入力でその入力をどう処理しPWMを出力したいか書いた方がいいよ。
2入力に対し単純な判定だけなら683で十分だし、複雑な計算を行うなら能力不足。

まぁここで聞くレベルだから683で十分な内容だと思うけど・・・
97774ワット発電中さん:2009/07/11(土) 09:32:05 ID:2xXJBZ7r
PICを始めるのにpickit3買って大丈夫だろうか
2のほうがwebや参考書での情報も多いし
性能に大差が無いなら2にしようかと思うんだけど
98774ワット発電中さん:2009/07/11(土) 09:52:57 ID:JcdVwQsV
2で充分だと思いまつ
99ヘビー級:2009/07/11(土) 11:37:10 ID:kPwhAdEk
はじめまして。16F876 でLEDを点滅させる簡単な回路を組んでみたところですが、
PICkit2でMPLAB-IDEのDebuggerを通して実行させるとちゃんと動くのに、
PICkit2を外して単独でスイッチ入れると動きません。
電源は供給してあります。PGC/PGDはプルダウン、MCLRはプルアップしてあります。
なにかヒントになるような情報ありましたらお願いします。
↓これはコンフィグレーションビットの状態です。HI-TECH C使ってます。
__CONFIG( HS & PWRTEN & DEBUGEN & WDTDIS & LVPDIS); // Setup the configuration word
100774ワット発電中さん:2009/07/11(土) 13:57:22 ID:85syWSBo
>>96
たとえば、一回目の入力があった場合に、二回目の入力を待って、なければ、デューティー比
50%、あれば、出力を0にするとかですね。
101774ワット発電中さん:2009/07/11(土) 15:38:13 ID:HyUcl7zf
>>100
683で充分
102774ワット発電中さん:2009/07/11(土) 15:44:46 ID:85syWSBo
>>101
回答ありがとうございました。
103>>10:2009/07/11(土) 15:54:53 ID:Lmzs37AQ
>>87
ありがとうございます。
結構参考書によって待ち時間の設定が違うみたいで、
待ち時間短すぎると当然駄目だし、
長すぎても駄目なんですよね。。
なかなか難しいです。

>これでダメならハードだと思う。
接触だけの状態ではテスタで計って問題なかったのですが。。。

>R/WはGNDにしてる?
しています。参考書にそうなっていたので。

>初期化途中の、例えばE=1にした直後に
>while(1) ;
>を入れて停止させ、LCD側のピンをテスターで計って見ると どうよ。
やってみます。

>>88
>PICC LiteつうかHI-TECH PICC Pro(lite mode)だよね。
そうですね。

>LCDアクセス関数はsamples\LCDemo\ 参考にすればok
そうですね。
一応ココ参考にしてます。

>そんで、#include "delay.h"要らんよね
そうなんですか??
今は自分で作った割り込みをコメントアウトしているので
"delay.h"つかってますよ??
"pic.h"で読んでるってこと??

>#define _XTAL_FREQ 20000000 は
>#include "pic.h" の前に書かんと意味無いよね
おっしゃるっとおりですね。
修正しておきます。

>あと・・・関数引数とか変数型いい加減すぎるよ。
どのへんですかね??
具体的にピックアップできますか??
気を使ってるつもりなんですが、
レベル低いのかもしれません。
104>>10:2009/07/11(土) 16:06:45 ID:Lmzs37AQ
>>92
何度もすいません。
なかなかこれらの分野は不案内なもので。
ちょっとづつわかってはきてるんですが、
それでも皆さんと比べるとレベル低いですね。
基本的にはサンプルのマネをしてるんですが、
それ自体がなかなか困難を感じています。

でも、がんばります。
105>>10:2009/07/11(土) 16:19:39 ID:Lmzs37AQ
>>99
僕も初心者なのでアドバイスになるかわからないですが、
PGC/PGDはプルダウンせずにやってますが、
うまく動作しています。

一番気になったのは
>MCLRはプルアップ
です。
書き込み時はMCLRはプルアップ、動作時はMCLRはVCCをつなげる。
これでやってみても駄目でしょうか??
106>>10:2009/07/11(土) 16:41:21 ID:Lmzs37AQ
>>87
ハードではなさそうです。
}
/* 8 Bit Mode Setting 1 */
RB4 = 1; //Set 8 Bit U0
RB5 = 1; //Set 8 Bit U1
RB6 = 0; //Set 8 Bit U2
RB7 = 0; //Set 8 Bit U3
LCD_RS = 0; //Control Bit
//wait_us(20);
__delay_us(20);
LCD_E = 1; //Enable 1
の後
while(1) ; を入れてストップさせて計りました。

1 VDD 4.8V
2 VSS 0V(当然)
3 VO 0.1V
4 RS 0V
5 RW 0V(Gと直付けのため)
6 EN 4.5V
7 DB0 0V(Gと直付けのため)
8 DB1 0V(Gと直付けのため)
9 DB2 0V(Gと直付けのため)
10 DB3 0V(Gと直付けのため)
11 DB4 4.6V
12 DB5 4.6V
13 DB6 0.35V
14 DB7 0.35V
10797:2009/07/11(土) 17:22:00 ID:HUtnZ+sz
>>98
ありがとう
108774ワット発電中さん:2009/07/11(土) 20:04:12 ID:GIkSIJ1n
直接は関係ないけど、7-10PinはOpen推奨。
109774ワット発電中さん:2009/07/11(土) 22:42:18 ID:sSkM0S28
MPLAB C18について教えて下さい。
私の環境では、MPLAB C18をインストールしても
lkrというフォルダができないのです。
その為、コンパイルすると。
Linker Script Files が無いというエラーになってしまいます。

下記の3つのどれで試しても同じです。
MPLAB-C18-Academic-v3_31.exe
MPLAB-C18-Evaluation-v3_31.exe
MPLAB-C18-v2.20b-demo-win32.exe


どなたか、同じ経験をされたかたがいましたら。
解決策を教えて下さい。
110774ワット発電中さん:2009/07/11(土) 22:55:19 ID:go5eiO/T
>>109
つまらぬ事を聞くが当然MPLAB IDEはインストールしてあるんだよな?
111774ワット発電中さん:2009/07/11(土) 23:14:03 ID:JcdVwQsV
>>99
給電してない訳でなければ、Release modeでBuildしてないとか?
112774ワット発電中さん:2009/07/11(土) 23:22:10 ID:JcdVwQsV
>>109
MCC18\lkr フォルダが無いんでつか?
それともフォルダはあるけど Path通ってない
あるいはProjectで Link Script指定忘れてるとか?
113109:2009/07/12(日) 00:54:29 ID:QXwVOgLN
>>110
MPLAB IDEはインストールしてありますよ

>>112
MCC18\lkr フォルダが無いんですよ
114109:2009/07/12(日) 01:05:07 ID:QXwVOgLN
http://www.geocities.jp/rt1547/INST_C18.jpg
これがインストール途中の画面なんですが。
なぜかこの時に Link Script がチェック欄に無いんです。
115774ワット発電中さん:2009/07/12(日) 01:10:38 ID:dzzlaLs6
>>113
何時からか MCC18\bin\LKR に移動したみたいな・・・
そちらがあるなら Path修正汁
116109:2009/07/12(日) 01:39:01 ID:QXwVOgLN
>>115
MCC18\bin\LKR にあるファイルは 18f4550_g.lkr とかで
_g という変なものが付いてます。
パスを MCC18\bin\LKR に修正しても、コンパイル時にエラーになります
117774ワット発電中さん:2009/07/12(日) 03:27:11 ID:d+xHyEp7
>>99
DEBUGENにしながら単独で動くか?ってところなんだけど。
あとは>>111か。

俺もつい最近始めたところで、自信満々には答えられないのが情けないが。
118にゃんにゃんこ:2009/07/12(日) 04:27:59 ID:uUayUwnV
>>99 >>117
>DEBUGENにしながら単独で動くか?ってところなんだけど。
動きません。
理由は DEBUG モードでは ICD2 又は PICkit2 とブレークポイントの位置や
変更された RAM の内容を PIC に教える為に通信する必要が有り、そこで停止します。
コンフィグのデバッグモードを使用しない状態で MAKE しなおす必要がありますよ。
Release mode と Debug mode でのビルドの違いは、特定の文字列 が定義されるかどうかの違いだけです。
プログラムで #ifdefine DEBUG だったかな? を 使わない場合は生成される *.HEX は全く同じものになります。

>>116
過去の *.lkr ファイルは XINST拡張モード(*_e.lkr) や ICD2使用のデバッグモード(*_i.lkr) でファイルが分かれていました。
リンカースクリプトの文法が変更されて、#IF 文が使えるようになっていて供用できるように変更されていました。
18f4550_g.lkr を 使えば問題無い様ですね。
↑ を 自分の開発中のフォルダーにコピーしてリネームするのが良いと思いますよ。
119774ワット発電中さん:2009/07/12(日) 05:30:49 ID:x7ucegRc
>>103
> 4 RS 0V
>13 DB6 0.35V
>14 DB7 0.35V

4も13/14と同じようにポート制御なんじゃねぇの?
120109:2009/07/12(日) 06:34:12 ID:QXwVOgLN
>>118 さん
C:\MCC18\bin\LKR にパスを設定して、
linker script のファイル名を、 18f4550.lkr →18f4550_g.lkr  に変えたらうまくコンパイルできました。
本当に助かりました。
ありがとうございます。
121にゃんにゃんこ:2009/07/12(日) 06:40:18 ID:uUayUwnV
>>103
119さんの言われる通り RS があやしいですね。
理由は ポートで制御していれば、0.35V 程度の残留電圧が残りそうですが、
RS だけが 0Vになっていますね。ソフトよりハードを疑うベキだと考えられます。

http://spectrum123.at.infoseek.co.jp/lcd/lcd_1/lcd_1.htm
↑ ここを参考にして見てくださいね。
122109:2009/07/12(日) 07:38:04 ID:QXwVOgLN
重ね重ね、質問ばかりですいません。また教えて下さい。

下記のURLに行っても、「MCHPFSUSB Framework 」がDLできません。
どこで「MCHPFSUSB Framework 」はDLできるのでしょうか?
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en540668

123774ワット発電中さん:2009/07/12(日) 07:41:00 ID:pIUuh3Dg
>The Microchip Application Libraries v2009-03-24 above is temporarily unavailable.
124natu:2009/07/12(日) 09:21:31 ID:/yIx3vFE
>>122
何かあったのでしょうか?以前のバージョンならここから

http://www.microchip.com/forums/tm.aspx?m=422691
125774ワット発電中さん:2009/07/12(日) 10:47:13 ID:DiBX9Afs
>>99です。
動きました!!\(^_^)/ どうもみなさんありがとうございます。

>>105
PGC/PGDはプルダウンしなきゃいけないとどっかで読んだ気がするんですが、大丈夫ですか。
>>111
給電してない訳でなければ、Release modeでBuildしてないとか?
>>117
DEBUGENにしながら単独で動くか?ってところなんだけど。
>>118
動きません。

このへんのところがダメだったみたいです。

コンフィグをこう変えました↓
#ifdef __DEBUG
__CONFIG( HS & PWRTEN & DEBUGEN & WDTDIS & LVPDIS);
#else
__CONFIG( HS & PWRTEN & DEBUGDIS & WDTDIS & LVPDIS);
#endif

DebuggerでProgramすると必ず
Programming Debug Executive (0x-1F00 - 0x1FFF)
Programming Debug Vector
というメッセージが出るのでこのへんがDEBUG用コードなんですね?

で、Programmer でProgramすると↑これが出なくなったので、試してみたらそれで単独動作しました!!
どうもどうもありがとうございます!!
リセット回路もうまく動きましたワーイ
126774ワット発電中さん:2009/07/12(日) 15:25:28 ID:R4lN5hT/
pickit3には、PICKIT2 ProgrammerのPickit3版がないようですが、
ひょっとしてPICKIT2 Programmerで pickit3 も認識されて使えたりしますか?
127109:2009/07/12(日) 17:23:39 ID:QXwVOgLN
>>124
ありがとうございます。
これで試してみます。
128774ワット発電中さん:2009/07/12(日) 22:26:05 ID:ywWytavd
>>126
しません。
129774ワット発電中さん:2009/07/12(日) 23:26:34 ID:phrxU0XF
はじめまして。
picを最近始めましたが、わからないことがありますので
質問させていただきます。
#include <16f690.h>
#fuses HS,NOWDT,PUT,NOPROTECT
#use delay(CLOCK=20000000)

int count;

void main(){
count=0;

while(1){

while(count < 10){
if (input(PIN_C4) == 0){
delay_us(200);
if(input(PIN_C4) == 1){
count++;
}
}
else{
delay_us(100);
}
}
output_low(PIN_C7);
count=0;
delay_ms(※※);
output_high(PIN_C7);

}
}

以上のようなプログラムを組んだのですが
※※の部分の数値が12以下だと、出力がlowのままになってしまいます。
13以上ですと、low→highと正常に動作します。
理由がわかる方、お願いいたします。
130774ワット発電中さん:2009/07/12(日) 23:58:49 ID:YK3GATPE
>>129
出力はどうやって確認してる?
131774ワット発電中さん:2009/07/13(月) 00:21:51 ID:b9mvQqFO
テスターで確認しています。
※※が12以下だと、5vのままでとまってしまいます,.....
132774ワット発電中さん:2009/07/13(月) 00:34:12 ID:tIQNLCla
>>131

> ※※の部分の数値が12以下だと、出力がlowのままになってしまいます。
> ※※が12以下だと、5vのままでとまってしまいます,.....
矛盾してるよ!
5VならHigh

テスタじゃ変動早すぎて見れないからオシロが必要になるんちゃうかな
LEDつなげてみて※※の値いじって明るさ変わったら正常
簡易ではあるが確認できると思う
133774ワット発電中さん:2009/07/13(月) 00:44:54 ID:b9mvQqFO
あ!すいません。間違えてました。
5Vだからhighのままでとまってしまうんです。
10回入力したら1回出力
を延々と繰り返したいのですが、最初の1回だけしか正常に動作しません...
134774ワット発電中さん:2009/07/13(月) 01:07:03 ID:tIQNLCla
>>133
10回入力されたら、出力をHighとLow切り替えたいの?
いまのプログラムだと10回入力があったらLow→Highをするだけだと思う

output_low(PIN_C7);
count=0;
delay_ms(※※);
output_high(PIN_C7);



count=0;
if(flag==0){
output_low(PIN_C7);
flag=1;}
else if(flag==1){
output_high(PIN_C7);
flag=0;}

にしてみたらどうじゃろ
int flag=0;も追加
135774ワット発電中さん:2009/07/13(月) 02:37:19 ID:/kcHvL4n
>>133
PIC16F690の場合、ポートをデジタルで使う時は、アナログインプットのレジスタ(ANSELとANSELH)を
適宜OFFの設定にしてやらんと、出力がうまくいかないぞ。
そのへん、ちゃんと設定してる?
136774ワット発電中さん:2009/07/13(月) 02:40:10 ID:Av2uADrx
>>135
CCS-Cだから、コンパイラが勝手に
137774ワット発電中さん:2009/07/13(月) 04:13:44 ID:/kcHvL4n
>>136
あらま本当?
やるねCCS。
input();とかoutput_xxx();のときに勝手に設定されるということかな。よく知らんが。
138774ワット放電中さん:2009/07/13(月) 04:24:37 ID:rreLmMMQ
お布施の高価な CCS-C は、所持していませんのでお任せしますね。
139774ワット発電中さん:2009/07/13(月) 05:32:46 ID:TXKE9kmR
わたしも回答しませんのでお任せしますねw
140774ワット発電中さん:2009/07/13(月) 08:06:59 ID:b+1xX4fl
CCS-Cといったら、軽石さん?近藤さん?ですね。
141774ワット発電中さん:2009/07/13(月) 17:33:00 ID:jZLMUv0l
>>129
PIN_C4 に10回入力されるLow--High--low 信号の
変化の速さが判らないので、何とも答えようないと思う。
それと、PIN_C4 が、Low--> High の変化を見てるようだけど、
死角があるよ。(取りこぼし)

ポートの立ち上がりを確実に(と言ってもソフトで判る速さまでだが)
判定するには、
int c4buf,c4buf2;
c4buf=c4buf2=0;
count=0;
while(count<10)
{
c4buf2 = c4buf;
c4buf = input(PIN_C4);
if((c4buf != c4buf2) && (c4buf2 == 0))
count++;
}
142774ワット発電中さん:2009/07/13(月) 22:07:42 ID:ZXgI5cE/
CCS-Cなんか Bittorrentで流れているじゃないか〜って、流れているのは Ver4.088が最新かな?まあいいや。
143774ワット発電中さん:2009/07/14(火) 00:58:01 ID:JK4mXkHm
PICに圧電サウンダを1個だけ接続して和音を出したいんですが
色々調べてもアルゴリズムがいまいち理解できません。
「単音が出る」波形の様子は想像できるんですが
「和音が出る」波形をHI/LOのみでどうやって出力しているのか
様子がまったく想像できません。
(ネットでの作例を見ると、どうやら皆さんPWMを使用しているようですが・・・)
ttp://www.geocities.jp/kwhr0/hard/orgel/
このへんの公開されてるコードを読んでみました。

Digital I/O 1本だけでいかにして和音を出すか
理解が進む良いページなどあれば教えて頂けないでしょうか。

デバイスは12F683や16F88を有る程度扱えます。
144774ワット発電中さん:2009/07/14(火) 01:11:02 ID:uMGnM9sw
>>143
PWMを応用してアナログ的レベル出力をするやり方はおk?
まずはこれが理解できないとダメ。

次に、単音をアナログレベルで表現する方法を理解すること。

その次に、複数音をアナログレベルで表現する方法を理解すること。

これに加えて、アナログレベルをPWMで表現する「うまい方法」(DAA等)が
理解できればなお良い。
145774ワット放電中さん:2009/07/14(火) 02:15:59 ID:wArUJGB3
>>143
http://milky.geocities.jp/waewax/PIC16F84A.html
PIC12F683で「こんばんわ(??)」を作ってみました
↑を理解するのは、まだちょっと無理かなぁ?

でもここのホームページ PIC での面白いサンプルが沢山あるよ
146774ワット発電中さん:2009/07/14(火) 07:53:59 ID:4RYCfzGq
>>143
少々音が汚くなるけど、時分割する方法がてっとりばやい。
例えば、ド・ミ・ソ で構成される和音なら、
ド→ミ→ソ→ド→ミ→ソ→ド→ミ→ソ→・・・
と高速で繰り返す・・・

音源が1個しかついてない80年代のパソコンゲームでよく使われた手法・・・
147143:2009/07/14(火) 10:32:30 ID:JK4mXkHm
>>144のPWMをD/A的に利用する概念自体は理解しています。
ラ(440Hz)の音を出したいなら、PWMのデューティ比を毎秒440回増減する
和音ならそれを複数重畳する
ということでしょうか。
頑張り次第では三角波くらいはちゃんと出せそうですね。
PIC12や16でサイン波はきつそう。

>>145は複数の方形波のANDを取る方法
>>146は複数の方形波を時分割し、単音の考え方そのままでいく方法
と思います。

>>144のアドバイスのおかげで、例示した12和音のコードをなんとか読み解けそうです
148774ワット発電中さん:2009/07/14(火) 11:00:22 ID:rK3yzYKw
>>147
12F683でDTMF(正弦波の2重和音)は出来ましたよ
149にゃんにゃんこ:2009/07/14(火) 11:08:32 ID:wArUJGB3
>>143 >>147
>>145は複数の方形波のANDを取る方法
↑おしい!! ちょこっと違う。
人間の音声は複数のsin波の和音ですよ。
方形波(矩形波)は奇数次のsin波の和音になります。

>>148 さんは sinテーブルの作り方と、波の合成(和音)が単なる足し算である事を理解しているようですね。
150774ワット発電中さん:2009/07/14(火) 11:26:17 ID:uMGnM9sw
>>147
それで理解OKです。
PIC12やPIC16で正弦波出力にするには、クロックを上限まで上げないと厳しいね。
クロック4MHzで2音出力やってみたことがあるけど、2音だけでもタイミングが厳しい。
こんなの ⇒ http://xcrosgs2wy.web.fc2.com/dtmf/
151774ワット発電中さん:2009/07/14(火) 11:28:13 ID:fzTRxLLk
和音出力で真っ先に考えるのは
2pinそれぞれに単音出力して
2pin間に圧電スピーカ接続

同じように 1pinでやるなら
2音のduty値差分演算して
PWMにぶち込めば隠者ね?
(和でも差でもチョットした演算処理でok)
152にゃんにゃんこ:2009/07/14(火) 13:36:04 ID:wArUJGB3
http://www.ne.jp/asahi/air/variable/archives/index.html
4MHzでも、割り込み処理を含めて 256命令以内なら DTMF 程度の sin波は合成出来そうですよ。
153774ワット発電中さん:2009/07/14(火) 14:36:26 ID:MWZGLMqu
はいはい、自分の功績を見せたいわけね
154774ワット発電中さん:2009/07/14(火) 19:54:48 ID:jsGQLcL7
8ピンAVRを真似てwavetable音源に挑戦してみるのもいいカモ
155774ワット発電中さん:2009/07/14(火) 21:56:45 ID:wIsQcIZp
PICを使用した電流計なのですが、表示は7セグで精度は特に問いません。
交流100V最大20Aですが、可能でしょうか。
小電流のは知っているのですが、どうでしょう。
156774ワット発電中さん:2009/07/14(火) 22:43:02 ID:Zlth73k+
○○計の話は、周波数とかポートに直接入れて何とかなるもの以外は
そとに付けるセンサーの話になる気がする
157774ワット放電中さん:2009/07/14(火) 23:20:22 ID:wArUJGB3
>>155
PIC で 作るより、買った方が安いけど作るの?
ttp://www.sanwa-meter.co.jp/japan/product/clamp/clamp_list2.htm
158774ワット発電中さん:2009/07/14(火) 23:52:07 ID:wIsQcIZp
機器組み込みのため、作る方向でお願いします。
159774ワット発電中さん:2009/07/14(火) 23:55:26 ID:jc8bO+EW
CT(Current Trans)と実効値変換が肝かねぇ。
とりあえず、http://eleshop.jp/shop/c/c110721/ を買って、AD変換して。
160774ワット放電中さん:2009/07/15(水) 00:32:11 ID:b1GkhfVA
>>155
159さんの言われる CT はトランスなので交流が出てくるよ。
増幅の基本回路は下記で、それを PIC で読める範囲の直流電圧に変換してから AD 変換ね。
ttp://www.u-rd.com/technical/kairo1.html.html

専用 IC も有るけど基本が分かっていないとハードルは高いよ。
ガンガレ
161774ワット発電中さん:2009/07/15(水) 01:21:17 ID:ezdcQtDh
LM60を使用して温度センサーを作りたいのですが、
どんなプログラムを組めばいいですか?
中身は40度未満で全端子未出力、40度超えでA端子出力、
75度超えでB端子出力、90度超えでAB両端子出力というようにしたいです。
162774ワット発電中さん:2009/07/15(水) 01:29:46 ID:WZSWaDV9
>>161
センサ出力をアナログ入力に入れてA/D変換して然るべき定数と比較して結果によって
然るべき出力値を設定する。

センサ出力のレベルが合わない場合はアナログ入力の前にレベル変換なり増幅なりを
行う。
163774ワット発電中さん:2009/07/15(水) 02:04:01 ID:TV1K7mmO
課題丸投げか・・・やれやれ
164774ワット発電中さん:2009/07/15(水) 02:30:47 ID:XABeiSrF
なんか夏休みの宿題請け負いますとか看板立ちそうな勢いだw
165774ワット放電中さん:2009/07/15(水) 02:54:54 ID:b1GkhfVA
>>164
あっ!それで質問が多いのね。
猫は気まぐれな動物なもんで、ドラゴンクエスト9に集中しよっとw
166774ワット発電中さん:2009/07/15(水) 04:04:01 ID:2btqhZJo
>>161
簡単です。

float temp;

void main(){
  temp = get_LM60();

     if( temp > 90 ){ A=on;  B=on; }
  else if( temp > 75 ){ A=off; B=on; }
  else if( temp > 40 ){ A=on; B=off; }
  else         { A=off; B=off; }
}
167774ワット発電中さん:2009/07/15(水) 04:16:41 ID:idyMrSq2
>>166
どこまでが冗談なのかわからん
168774ワット発電中さん:2009/07/15(水) 08:25:06 ID:TV1K7mmO
丸投げ厨のパターン

○○を使って○○を作りたいのですが
1)可能でしょうか?
2)どんな風に作れば良いでしょうか?
3)詳しく書いてあるサイト等は無いでしょうか?
169774ワット発電中さん:2009/07/15(水) 08:51:23 ID:U6ETlISA
>>167
質問に対し的確に答えていると思うが・・・
170774ワット発電中さん:2009/07/15(水) 11:40:42 ID:g+ul5Aj3
>>155 159 160
カレントトランス使わなくてもそこそこ精度はでるよ。
http://www.sanwa.co.jp/product/syohin.asp?code=TAP-TST7
これ、もっと精度の高い試験機で比較したけど、
メーカー保障のように1%以内だお

低抵抗の両端をアンプで増幅してる。
171774ワット発電中さん:2009/07/15(水) 11:56:43 ID:ddggLIlF
いやいや、そんな質問するような奴に電灯線と絶縁されない回路を勧められるか?
単体で完結するものならまだしも、機器組み込みだと言うから他にどこに繋ぐかも
わかったものじゃない。

良くても確実に壊し、悪ければ他の機器も巻き込んで破壊しあるいは感電するぞ。
172774ワット放電中さん:2009/07/15(水) 12:02:56 ID:b1GkhfVA
>>170さん ありがとう
今度まねをして、実験して見ますね。
173774ワット発電中さん:2009/07/15(水) 12:50:48 ID:hZJttmpB
LM60は単体で既に温度センサーだろw
174774ワット発電中さん:2009/07/15(水) 22:13:48 ID:11SCRKkh

相変らず凄いw

【楽しい】8ピンICで遊ぶ【電子工作】
http://www.nicovideo.jp/watch/sm7607242

175774ワット発電中さん:2009/07/16(木) 00:17:08 ID:AvNpsM14
PICでもできるぞ。
176774ワット発電中さん:2009/07/16(木) 07:08:38 ID:CWnkjAcr
8PinPICはI/Oが5つしかないのが
177774ワット発電中さん:2009/07/16(木) 08:45:39 ID:/giiqIAG
PICはAVRほどPWMのクロックを速くすることが出来ないので難しい
178natu:2009/07/16(木) 09:24:38 ID:yS4lnEuK
8bit掛算命令も無い品。
PICだと難しいぞ
179774ワット放電中さん:2009/07/16(木) 10:38:28 ID:2Y2TNy0S
AVR も結構使えるんですね。
現在所有の ChipMax では書けない、しかも 5V デバイスのみ(涙)
ChipMax2 か TopMax2 が欲しくなった。
180774ワット発電中さん:2009/07/16(木) 12:05:10 ID:DbfooaTZ
4年くらい前に秋月のPIC書き込みキットを買ったときにおまけで
12C509Aが1個付いてきました。
同じ経験した人も多いと思うんですが、
これって何かいい使い道ありますか?お勧めのもの(URL)があれば教えて下さい。
ライトワンスじゃ自分で開発できないですもんね。
181774ワット発電中さん:2009/07/16(木) 13:19:40 ID:CWnkjAcr
>>180
使わないでコレクションとして保管する。

>>178
AVRのTinyシリーズには8bit掛算命令は無かったはず、あるのはmegaシリーズだと思う。
それでも命令豊富だから問題ないんだけどね、フリーのCもあるし。
182natu:2009/07/16(木) 14:08:45 ID:yS4lnEuK
>>181
ほんとだね。掛算ないね
やっぱり少ないステップ数と元からの実行速度で
段違いなんだね。
183774ワット発電中さん:2009/07/16(木) 15:11:40 ID:K7nMuwE1
値の範囲が決まってたら返り血のテーブルつくるほうがいいのかねぇ
掛け算。
184774ワット放電中さん:2009/07/16(木) 16:18:22 ID:2Y2TNy0S
>>183
どうだろう? クロック数を比べてみた事は無いけど、
私なら 0〜F * 0〜F の 256byte のテーブルを作って演算するだろうねぇ。

CRC16・CRC32 の演算も同様にしてテーブル ROM を 節約した記憶があるよ。
185774ワット発電中さん:2009/07/16(木) 19:20:49 ID:rT+O+rWy
(0x00〜0xFF) * (0x00〜0xFF)の組み合わせは何通りだろう
結果は65536通りより少なそうだけど
186774ワット発電中さん:2009/07/16(木) 20:12:28 ID:RsIsif/0
>>185
2x8と8x2が一緒という判断付きなら
256x(256+1)/2=32896通りです。

さらにx0はゼロ、x1はそのまんまという判断付きなら32385通りになります。
187774ワット発電中さん:2009/07/16(木) 20:24:49 ID:rT+O+rWy
3x8と4x6なんかも結果は一緒なんだけど
188774ワット発電中さん:2009/07/16(木) 20:28:09 ID:DyrVErX3
bcf STATUS,C
rlf 掛ける数,w
addwf PCL,f
call 0の段
goto next
call 1の段
goto next

call 9の段
return

1の段
movfw 掛けられる数
addwf PCL,f
retlw 0
retlw 1


retlw 9

0xf * 0xf、ベタに作ると256byte越えちゃいそうですね
0の時、掛ける・掛けられるが同じの時、掛ける数が大きくなるように処理、
とすればもっと小さくなるのかも
俺ではこのぐらいしか思いつかず。
189774ワット発電中さん:2009/07/16(木) 21:00:24 ID:CWnkjAcr
かけ算のテーブルROMよりもsin・cos・tanのテーブルROMをだな(ry
190774ワット放電中さん:2009/07/16(木) 22:58:16 ID:2Y2TNy0S
>>189 即席で作ったよ。はいどーぞ

sin2Wreg: ;Wreg (00~FFH)を sin値 に 変換 値がマイナスの場合 CY=1
movwf FSR
movlw HIGH (tbl_sin)
movwf PCLATH
movf FSR, W
andlw 7FH
addlw LOW (tbl_sin)
btfsc STATUS, C
incf PCLATH, F
bcf STATUS, C
btfsc FSR, 7
bsf STATUS, C
movwf PCL
tbl_sin: ;sin テーブル
DT 000H,006H,00DH,013H,019H,01FH,025H,02CH
DT 032H,038H,03EH,044H,04AH,050H,056H,05CH
DT 062H,067H,06DH,073H,078H,07EH,083H,088H
DT 08EH,093H,098H,09DH,0A2H,0A7H,0ABH,0B0H
DT 0B4H,0B9H,0BDH,0C1H,0C5H,0C9H,0CDH,0D0H
DT 0D4H,0D7H,0DBH,0DEH,0E1H,0E4H,0E7H,0E9H
DT 0ECH,0EEH,0F0H,0F2H,0F4H,0F6H,0F7H,0F9H
DT 0FAH,0FBH,0FCH,0FDH,0FEH,0FEH,0FFH,0FFH
DT 0FFH,0FFH,0FFH,0FEH,0FEH,0FDH,0FCH,0FBH
DT 0FAH,0F9H,0F7H,0F6H,0F4H,0F2H,0F0H,0EEH
DT 0ECH,0E9H,0E7H,0E4H,0E1H,0DEH,0DBH,0D7H
DT 0D4H,0D0H,0CDH,0C9H,0C5H,0C1H,0BDH,0B9H
DT 0B4H,0B0H,0ABH,0A7H,0A2H,09DH,098H,093H
DT 08EH,088H,083H,07EH,078H,073H,06DH,067H
DT 062H,05CH,056H,050H,04AH,044H,03EH,038H
DT 032H,02CH,025H,01FH,019H,013H,00DH,006H
191774ワット発電中さん:2009/07/17(金) 00:01:05 ID:Le2YjiZt
なんてこった、言うだけで誰も作らないのがPICスレなのにw
192774ワット発電中さん:2009/07/17(金) 00:25:29 ID:JRASCH3e
>>190
すごいけどsinは0〜90度を入れるんじゃないんですか。
(00~FFH)ってどういう意味?
193774ワット放電中さん:2009/07/17(金) 00:30:18 ID:34JIbsEH
>>192
sin(0度〜360度)=sin(00H〜0FFH)
194774ワット放電中さん:2009/07/17(金) 00:32:45 ID:34JIbsEH
mul2Wreg: ;符号無し Wreg 上位 4bit x 下位 4bit を Wreg に返す
#PCLATH HIGH (tbl_mul)
addlw LOW (tbl_mul)
btfsc STATUS, C
incf PCLATH, F
movwf PCL
tbl_mul: ;掛け算 テーブル
DT 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DT 000H,001H,002H,003H,004H,005H,006H,007H,008H,009H,00AH,00BH,00CH,00DH,00EH,00FH
DT 000H,002H,004H,006H,008H,00AH,00CH,00EH,010H,012H,014H,016H,018H,01AH,01CH,01EH
DT 000H,003H,006H,009H,00CH,00FH,012H,015H,018H,01BH,01EH,021H,024H,027H,02AH,02DH
DT 000H,004H,008H,00CH,010H,014H,018H,01CH,020H,024H,028H,02CH,030H,034H,038H,03CH
DT 000H,005H,00AH,00FH,014H,019H,01EH,023H,028H,02DH,032H,037H,03CH,041H,046H,04BH
DT 000H,006H,00CH,012H,018H,01EH,024H,02AH,030H,036H,03CH,042H,048H,04EH,054H,05AH
DT 000H,007H,00EH,015H,01CH,023H,02AH,031H,038H,03FH,046H,04DH,054H,05BH,062H,069H
DT 000H,008H,010H,018H,020H,028H,030H,038H,040H,048H,050H,058H,060H,068H,070H,078H
DT 000H,009H,012H,01BH,024H,02DH,036H,03FH,048H,051H,05AH,063H,06CH,075H,07EH,087H
DT 000H,00AH,014H,01EH,028H,032H,03CH,046H,050H,05AH,064H,06EH,078H,082H,08CH,096H
DT 000H,00BH,016H,021H,02CH,037H,042H,04DH,058H,063H,06EH,079H,084H,08FH,09AH,0A5H
DT 000H,00CH,018H,024H,030H,03CH,048H,054H,060H,06CH,078H,084H,090H,09CH,0A8H,0B4H
DT 000H,00DH,01AH,027H,034H,041H,04EH,05BH,068H,075H,082H,08FH,09CH,0A9H,0B6H,0C3H
DT 000H,00EH,01CH,02AH,038H,046H,054H,062H,070H,07EH,08CH,09AH,0A8H,0B6H,0C4H,0D2H
DT 000H,00FH,01EH,02DH,03CH,04BH,05AH,069H,078H,087H,096H,0A5H,0B4H,0C3H,0D2H,0E1H
195774ワット放電中さん:2009/07/17(金) 00:34:08 ID:34JIbsEH
#PCLATH MACRO rom_high
LIST X=ON
clrf PCLATH
LIST X=OFF
IF (rom_high & 0x01) != 0
LIST X=ON
bsf PCLATH, 0
LIST X=OFF
ENDIF
IF (rom_high & 0x02) != 0
LIST X=ON
bsf PCLATH, 1
LIST X=OFF
ENDIF
IF (rom_high & 0x04) != 0
LIST X=ON
bsf PCLATH, 2
LIST X=OFF
ENDIF
IF (rom_high & 0x08) != 0
LIST X=ON
bsf PCLATH, 3
LIST X=OFF
ENDIF
IF (rom_high & 0x10) != 0
LIST X=ON
bsf PCLATH, 4
LIST X=OFF
ENDIF
IF (rom_high & 0x20) != 0
LIST X=ON
bsf PCLATH, 5
LIST X=OFF
ENDIF
IF (rom_high & 0x40) != 0
LIST X=ON
bsf PCLATH, 6
LIST X=OFF
ENDIF
IF (rom_high & 0x80) != 0
LIST X=ON
bsf PCLATH, 7
LIST X=OFF
ENDIF
IF (rom_high) >= 0x20
LIST X=ON
RROR "ERROR ROM ADDRESS >= 2000H "
LIST X=OFF
ENDIF
ENDM
196192:2009/07/17(金) 01:46:50 ID:JRASCH3e
>>193
sin(0度〜360度)=sin(00H〜0FFH) 了解です。
角度からsin値を求めようとすると0.71倍(256/360)しないといけないので
面倒だと思ったけど
D/Aでsin波を作るときは 00H〜0FFHの方が便利ですね。
197774ワット放電中さん:2009/07/17(金) 05:00:24 ID:34JIbsEH
>>196 >>192
そこまで理解できているなら、他の人が質問していた和音の作り方も分かるでしょうね。
単純に足し算すれば良いだけですよ。
また DTMF を 合成する場合、高群は低群より 3dB 多めが求められます。
この場合、掛け算が必要になりますね。
198774ワット発電中さん:2009/07/17(金) 07:29:38 ID:4gfMbg/B
高群用テーブルと低群用テーブル
199774ワット発電中さん:2009/07/17(金) 07:45:24 ID:fRIxppdz
電圧で3dB差なら1ビットシフトだけで済むんでないかね。
200774ワット放電中さん:2009/07/17(金) 08:17:40 ID:34JIbsEH
>>198 >>199
やり方は人それぞれで、決まった方法はありません。
PIC18F だと掛け算命令があるので1クロックで解決しますが、
PIC16F シリーズだと ROM 容量と実行時間でどちらを選択する事になるでしょう。

ちなみに認定機種を取ったハードウエアでは、高群 0xFF 低群 0xC4 ダイヤル時
回線接続後の通話状態では、高群 0xFF 低群 0xA4 でないと認定がおりませんでした。
201774ワット発電中さん:2009/07/17(金) 08:32:24 ID:4kffSW7M
>>199
1ビットシフトしたら電圧は6dB差では?
202774ワット発電中さん:2009/07/17(金) 09:07:29 ID:fRIxppdz
>>200
そのとおりだね。
>この場合、掛け算が必要になりますね。
なのに
>やり方は人それぞれで、決まった方法はありません。
はどうかと思うけど。

>>201
1ベルは10倍。3デシベルは約2倍。
203774ワット発電中さん:2009/07/17(金) 09:50:48 ID:oM+MtP5/
>3デシベルは約2倍。
電圧比

204774ワット放電中さん:2009/07/17(金) 10:44:25 ID:34JIbsEH
>>202 さん
×この場合、掛け算が必要になりますね。
○この場合、掛け算と同様の処理が必要になりますね。
>>198 >>199 さんは ↑ の言い間違いを理解されていたようですが、>>202 さん用に訂正させて頂きます。

言い間違いを指摘するより、テーブルが 256byte の境界を跨いでも平気な処理方法を読み取って欲しい物ですね。
205 ◆xcrOSgS2wY :2009/07/17(金) 11:10:13 ID:fRIxppdz
間違いを認めるだけにしておけば潔いのになぁ・・・
206774ワット発電中さん:2009/07/17(金) 11:55:35 ID:esVO1k3A
で、3dBは2倍は変でしょ?
207774ワット発電中さん:2009/07/17(金) 12:12:21 ID:fRIxppdz
なんで?
3dBは10^0.3倍、つまりほぼ2倍だよ。
208774ワット発電中さん:2009/07/17(金) 14:34:20 ID:cV8WhcyU
電圧では6dbで約2倍
電力では3dbで約2倍だろ
>1ビットシフトしたら電圧は6dB差
は正しい
209774ワット発電中さん:2009/07/17(金) 15:01:27 ID:fRIxppdz
>>208
知らないなら無理しないで調べればいいのに。
10dB(=1B)は10倍。これがベルという単位の定義だよ。
210774ワット発電中さん:2009/07/17(金) 15:12:42 ID:fRIxppdz
ひょっとして、電圧と電力、電圧比と電力比、3dBと6dBの区別ができてないのか?
低インピーダンス出力、負荷インピーダンス一定の条件で電圧が2倍になれば、電流も
2倍になって、電力は4倍になる。すなわち、電圧2倍=電圧比+3dBで電力比+6dBとなる。

よく分からない人はこれでも見といてくれ↓
http://www.decibel.co.jp/what_db/what_db_page6.htm
211774ワット発電中さん:2009/07/17(金) 15:35:47 ID:wmxO34lk
そのページを読んでそんな理解になるキミに幸アレ。
これ以上恥を晒すのは止めた方がいいですよ。
212774ワット発電中さん:2009/07/17(金) 16:27:50 ID:ezuDxF96
ゲインとエネルギーごちゃまぜ
213774ワット発電中さん:2009/07/17(金) 17:03:07 ID:emS4b92S
>>211,212
たぶんID:fRIxppdzは電圧比と電力比を覚えたばかりなのでうれしく仕方が無いんだよ。
おそらくdBmとかdBvとか後ろの文字が見えるんだよ。
愚か者のわれわれには見えない、たぶん裸の王様と同じなんだよ。

普通一般的には電圧比をdBであらわす事の方が多いと思うけどどうなんだろうか?
電力比で扱う時には前提条件としてあらわされている必要があると思う。今回はそういった話はなかったと思う。

気になる人はhttp://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B7%E3%83%99%E3%83%AB
を見てください。
電力比をdBで話し合うケースは今まで経験ありませんでした。
どんな仕事をやると電力比をdBでやり取りするのか、詳しい人教えてください。
214774ワット発電中さん:2009/07/17(金) 17:20:44 ID:ezuDxF96
高周波領域ではそこそこ使うよ
増幅器とか
215774ワット発電中さん:2009/07/17(金) 17:44:17 ID:ezuDxF96
ああでもmは付けるよ、当然dBm
216774ワット発電中さん:2009/07/17(金) 18:02:53 ID:ezuDxF96
線路インピーダンスが600とか75とか50Ω固定にしてるから
電力比で話が通じる世界なんだけどね

インピーダンス不定な回路での話ならふつーに電圧比使うんじゃないかな
217774ワット発電中さん:2009/07/17(金) 18:41:51 ID:emS4b92S
ID:ezuDxF96さんthx
なるほど、インピーダンスが固定な世界では使われるのか。

勉強になりますわ。

ID:fRIxppdzも>>214さんと同じ世界の人なのかもしれないですな。
たまたま間違えただけなんですよね。
どこの人かわからないけど、関東近郊でない事を祈っています。
218774ワット発電中さん:2009/07/17(金) 19:56:06 ID:oM+MtP5/
脇からすまん・・

>オペアンプなど増幅器の、入力と出力の電圧比(利得、ゲイン)をあらわす単位としても用い・・
の時は20log(Vout/Vin).一方で電圧比は10log(Vout/Vin)だとかいうと,
10dBvから20dBvにするための増幅器の利得は10dBではないってことになって
なんだかややこしい?

219774ワット発電中さん:2009/07/17(金) 20:11:01 ID:vB2Zkr1R
OPアンプでフォトダイオード使うとき、1Mの抵抗つかうけど、あれ、どれぐらいまで上げていいんですか?
全然感度が足りなくて、どうしたものか悩んでいます。
220774ワット発電中さん:2009/07/17(金) 20:34:08 ID:rxtfXzFk
低雑音のPDを選べば感度を上げられる。
221774ワット発電中さん:2009/07/17(金) 20:48:29 ID:p7Mr2+wN
>194

tbl_mulを256バイト境界に置けばもう少し簡単になりますね。

222774ワット放電中さん:2009/07/17(金) 23:00:45 ID:34JIbsEH
>>221 さん
そこまで読み取ってくれて、ありがとうございます。
開始アドレスが 256byte 境界になるようなマクロも作ってあります。

LINKER を使う場合でもデーターテーブルをきちんと指定すれば 256byte 境界に置けます。
今回は 256byte を超えるデーターテーブルも作れるよって意味も含めて書いて見ました。
223774ワット発電中さん:2009/07/18(土) 01:07:10 ID:WtHWeDn2
>>213
大学で電子工学やってるけど普通は電力比を基準にする.
G = 10log_10(P_2/P_1)
電圧比を求めるときは,
P=IV ⇔P=V^2/Rより上の式は,
G = 20log_10(V_2/V_1)

dBmは1mWを基準としてるから分母は1mWで固定.dBvはwikiをみたところ0.775Vが同様に基準.
224774ワット発電中さん:2009/07/18(土) 08:03:49 ID:RshBlw97
電光掲示板で8×8サイズくらいの英数字やひらがなカタカナを出したいんですけど、
どこかにデータありませんか?
あとこれら全部PICのメモリに格納して瞬時に取り出したり出来ますかね?
225774ワット発電中さん:2009/07/18(土) 08:21:05 ID:6sfA8Ipm
>>224
8×8じゃひらがな無理。
それとプログラム組めるならPCのフォントから簡単に作れる。
ちなみに英数カナは8×5
ひらがなは16×14くらいかな
226774ワット発電中さん:2009/07/18(土) 08:27:09 ID:RshBlw97
>>それとプログラム組めるならPCのフォントから簡単に作れる。

すいません参考サイトとか無いですか?
一応アセンブラなら組めますが、やり方わかんないです…

あと昔のファミコンとかは8×8でひらがな表示してませんでしたっけ?
227774ワット発電中さん:2009/07/18(土) 08:46:26 ID:6sfA8Ipm
>>226
今時PCでアセンブラ使う奴なんていないと思うが…

EXCELでもワードでもペイントでも何でも良いがフォント張り付け希望のドットサイズにスケーリングしビットマップを作る。
それのドット単位で色を読み取り白は0、黒は1としてこれをバイト配列に直す。そんだけ
ひらがな8×8がよめるか試してみれば?
228774ワット発電中さん:2009/07/18(土) 08:53:10 ID:RshBlw97
>>227
そういう意味でしたか
PICのアセンブラなら組めるって意味です

Cとかでビットマップを変換するプログラムを自分で作るって事ですね
なんかフリーソフトとかで無いですかね?
探してみます
229774ワット発電中さん:2009/07/18(土) 09:16:51 ID:PKihg/Tx
>電光掲示板で8×8サイズくらいの英数字やひらがなカタカナを出したいんですけど、
>どこかにデータありませんか?
ものの3分もググればすぐ見つかるような事さえやろうとしないなら
この道から足を洗った方が良いんじゃねぇの?
http://www.geocities.jp/littlimi/misaki.htm
230774ワット発電中さん:2009/07/18(土) 19:36:48 ID:d5YMyROW
> 6sfA8Ipm
おい、若いの。
8*8もあればひらがなは楽勝だ。
実際には文字間を取るために7*7で作るんだがな。英数カナは5*7。

> ひらがな8×8がよめるか試してみれば?
もう少し歴史を勉強してみれば?
ドット画なんぞ、想像もつかんと思うが、
231774ワット発電中さん:2009/07/18(土) 19:36:52 ID:gjhvI97C
>>227
昔8x8で2ビットで「愛」って書いてくれたデザイナーが居たw
すごかったな
232774ワット発電中さん:2009/07/18(土) 22:33:09 ID:ud1MLaGu
ドット職人懐かしいな
233774ワット発電中さん:2009/07/19(日) 00:12:47 ID:3/exVgQc
MSXは8*8でひらがな出た
234774ワット発電中さん:2009/07/19(日) 02:12:44 ID:Qd4FZ8Le
>>233
そして高解像度モードでは6ドットフォントという奇っ怪な仕様のせいで欠けた…
235774ワット発電中さん:2009/07/19(日) 09:30:10 ID:m+WzbFKP
しかし,8x8ドットの漢字でも案外読めるものなんだな
http://www.geocities.jp/littlimi/img/font/mskgtext.png
前後関係から判断しているんだろうけど,人間の脳みそってすごい
236774ワット発電中さん:2009/07/19(日) 11:26:38 ID:ZO0mtS17
>>235
ちょっと前に流行った、↓みたいだな

こんちには みさなん おんげき ですか? わしたは げんき です。
この ぶんょしう は いりぎす の ケブンッリジ だがいく の けゅきんう の けっか
にんんげは たごんを にしんき する ときに その さしいょ と さいご の もさじえ あいてっれば
じばんゅん は めくちちゃゃ でも ちんゃと よめる という けゅきんう に もづいとて
わざと もじの じんばゅん を いかれえて あまりす。
どでうす? ちんゃと よゃちめう でしょ?
237774ワット発電中さん:2009/07/19(日) 12:19:04 ID:xaOjJ6Ky
PIC18F2550のSPIってバグあるっぽいな。
なんか1ビットずれるなと思ってオシったら、SSPEN=1したときに1クロック出てきてしまうようだ。
SPIクロック下げてもこの1クロックの幅は変わらないからPICkit2ロジアナでも見られない。
オシロ無かったらこんなの気づかないぜ。SPIはMPLABSIM出来ないし。
対症療法的にSPI起動ルーチンはこうしてみた。
TRISBbits.TRISB1=1;
SSPCON1bits.SSPEN=1;
TRISBbits.TRISB1=0;

>>235
ひらがななら読めるだろと思っていたがこれは驚いた
238774ワット発電中さん:2009/07/19(日) 13:16:28 ID:3MCiGxqI
>>237
PIC18F2480/2580/4480/4580のErrataで、比較的最近、同じ現象が載ってる。
http://ww1.microchip.com/downloads/en/DeviceDoc/80267c.pdf
シリコンの更新ではなくデータシートにノートを追加して間に合わせるようだ。

PIC18F2550のErrataには載ってないが、Microchip側で見落とさなければ、
そのうちこちらもデータシートが更新されるだろう。
239774ワット発電中さん:2009/07/19(日) 15:49:49 ID:xaOjJ6Ky
>>238
サンクス。やっぱりTRISで回避か…
根本的なやり方はないわけねw
でもSCKはTRISのほうが優先度高くて良かったな。
SDIピンはTRISの設定無視らしい。
240774ワット発電中さん:2009/07/19(日) 18:34:47 ID:kNrSUjqz
>>238
PIC18F2550 使ってるが、
errata の設定、SSPSTAT の、CKE = 1 だと、
SSPEN = 1 (CKP は 0)にしたとき、短いHighグリッジが出るようだ。Fosc/2
ただし、CLK ポートの出力ポートが0に設定されているとき
という条件もある。(電源ONでは0みたい)
1だと、TRISB のbit1 = 0 にしたとき、Highになって、
SSPEN = 1 にしたとき、立ち下がるので、グリッジではなく、
ポートの初期設定操作による、 CLK の初期動作となる。

ここで、PORTB = 0x7, PORTC = 0x79, としておいて、ポートI/O設定を
TRISC = 0x79, TRISB = 0xF9 などとすると、CLK はHighになるが、
クロックのアイドル状態をHighでSPIを使う設定だと、
SSPTSAT = 0, SSPCON1 = 0x32 となり、ちょうど逆の使い方だが、
グリッジは出てこない

ttp://bitcraft.web.fc2.com/embedded/microchip/microchip.html#ctlsdcard1
241774ワット発電中さん:2009/07/19(日) 22:27:10 ID:PEfttue/
おいら結構年配で、ドットフォントも知ってるつもりだったが、
最近、ここのスレッドの話題はためになると思う。
242774ワット発電中さん:2009/07/19(日) 22:53:56 ID:Cxd44adY

ここで質問することか微妙だけど、PICでやった人もいそうなんで。

一列に並べたLEDを直角方向に動かすと、残像効果で平面に文字が
浮かんで見える・・・アレってなんて呼ぶんでしょう。
243774ワット発電中さん:2009/07/19(日) 23:02:43 ID:ZO0mtS17
残像発生器・・・・?
244774ワット発電中さん:2009/07/19(日) 23:03:36 ID:j82BRR2v
バーサライト
245774ワット発電中さん:2009/07/19(日) 23:23:08 ID:NMv5FWJo
マトリクスLEDの面を往復運動させて立体に見せるのもあったな。
246774ワット発電中さん:2009/07/20(月) 00:00:03 ID:BpfX6UdZ

秋月で売られているUSB搭載のPIC18F14K50について質問させてください。

USB送受信時のVDDはどこまで下げられますでしょうか?
FOSC=48MHzでのVDDの動作範囲が2.7〜3.6Vになっていますが、2.7Vじゃ無理ですよね。
VUSBに3.3Vを供給すればVDDが2.7Vとかの逆ザヤでも動作するのでしょうか。

247774ワット発電中さん:2009/07/20(月) 00:46:35 ID:LdGmx5KA
>246
データシートの ELECTRICAL SPECIFICATIONS の Absolute Maximum Ratings の note 2 に
Vusb must always be < Vdd + 0.3V
とある。

18LF2550では本文中にあった注意書きの位置が変わったんだな。
わかりやすくなったから良いんだけど、ちょっと迷ったわ。
248774ワット発電中さん:2009/07/20(月) 01:12:09 ID:VFudN5za
>>242
>>244
「バーサライタ」でも多少Googleヒットするね
249774ワット発電中さん:2009/07/20(月) 01:39:06 ID:SM2F+vB2
>247
ありがとうございます。

つまり、最低VUSBの3.0Vを外部供給して、VDD=2.7Vが最低動作条件なのですね。
LなしシリーズのLDO通してもこれでOKなのか不安だにゃあ。

さすがにUSBをLowSpeedで動作させても
2.5Vや1.8VでI2Cインターフェースとか無理なんですね。
250774ワット発電中さん:2009/07/20(月) 03:00:29 ID:tsXmJkd+
> 2.5Vや1.8VでI2Cインターフェースとか無理なんですね。
3端レギュと、レベルシフタとかFETとか使えば十分だ
251natu:2009/07/20(月) 09:19:14 ID:SICEHhlo
>>249
3V電源があればVCCとVUSBをショートして使用すればOK。
2.7Vしか無いのなら、ちょぴり早いPICで...

VDD<VUSBは、個人的にはお勧めしないなぁ。個人的には
252774ワット発電中さん:2009/07/20(月) 09:28:36 ID:viteNCcX
PIC18F14K50
安くて小ピンでUSB搭載とはすばらしい。
Freescaleの石買っちゃったからもっと早く出してほしかった。
VDD3V系いけるのはありがたい。18F2550だとVDD下げれなかったから。
253774ワット発電中さん:2009/07/20(月) 11:56:19 ID:TNyiQiJo
Freescaleはライタ不要なのとオンチップデバッガ内蔵なのが美味だね
254774ワット発電中さん:2009/07/20(月) 12:30:33 ID:LdGmx5KA
>250 3端レギュと、レベルシフタとかFETとか使えば十分だ

I2Cでどうやって電圧シフトするのかやりかた教えてくれ。
双方向、しかもハイインピーダンス状態をも伝送する必要があって
なかなかむずい。
255774ワット発電中さん:2009/07/20(月) 12:46:00 ID:cxp0+UTH
>>254
専用ICを使うのが定石ですが、クロックが遅ければURLの方法はどうでしょうか。
ttp://gomisai.blog75.fc2.com/blog-entry-46.html
256natu:2009/07/20(月) 13:14:01 ID:SICEHhlo
>>254
ボディダイオード内蔵のMOS-FETが楽でしょう。
本家資料
http://www.nxp.com/acrobat_download/applicationnotes/AN97055.pdf
257774ワット発電中さん:2009/07/20(月) 14:28:57 ID:LdGmx5KA
>255,256
なるほど。だんけ。

しかして使えるFETに心当たりが無い ...
2Vでスイッチできる高速MOS FETをそのへんで売ってるのから探すと
2SK1062, 2SK1847, 2SK2009 くらい? ほとんど話に聞かないFETだ。
258774ワット発電中さん:2009/07/20(月) 15:02:36 ID:cxp0+UTH
>>257
性能を求めるなら、結局専用ICに落ち着くんでしょうね・・・きっと。
中身は>>255-256のFETスイッチと同じものですが。

↓の2電源双方向レベルシフタ(バススイッチタイプ)とか。
ttp://www.semicon.toshiba.co.jp/docs/catalog/ja/BCJ0035_catalog.pdf
259774ワット発電中さん:2009/07/20(月) 15:53:06 ID:OmYG8sHt
>>257
VGS=2.5V, ID=3mAでRDS(on)が100Ω以下ってことは、低VTHタイプでなくても、
たいていの小容量パワーMOS FETでOKなんでないかね。

たとえば秋月にある2SK1772(15個200円)
http://akizukidenshi.com/catalog/g/gI-00737/
4V駆動と書いてあるが、データシートの特性表を見るとVGS=2VでIDが0.1A弱取れる。
ということは、VDS=5Vとして等価RDS(on)が50Ω強。同じくデータシートから、Cissは85pFで
100pF以下をクリア、ton,toffも50ns以下をクリア。

大容量のパワーMOS FETだとCissがクリアできないけどね。
260774ワット発電中さん:2009/07/21(火) 15:24:55 ID:+NHyhifT
突然の質問失礼致します.

PIC18F8720で内部発振させるにはどのようにしたら良いのでしょうか?
OSCCONはあるのですが,OSCのコンフィグのところで
「LP,XT,HS,HS+PLL,RC,RCIO,EC,ECIO」しかなく,どのように設定して良いのか
わかりません.

ちなみにコンパイラはMPLAB C18 C Compilerです.

教えていただけると幸いです.

261774ワット発電中さん:2009/07/21(火) 15:53:35 ID:G76BsbcW
>>260
18F8720には内部発振(INTOSC)無いよ。WDTは別として
OSCCONは1bitだけだしな

18F8722あたりに置き換えたらどう?
262774ワット発電中さん:2009/07/21(火) 16:50:04 ID:+NHyhifT
>>261
774ワット発電中さん,ご回答いただきありがとうございました.

CCS社のコンパイラの方で
use delay(CLOCK=2000000)
が使用できたので内部発振できると思っていたのですが,出来ないのですね..

ttp://www.picfun.com/pic18/mod1804.html
現在,1.25MHzで動作しているのですが,
上記のページを見て,2400bpsで読み込みたかったので,
内部発振できたらなぁと思ったのですが...

263774ワット発電中さん:2009/07/21(火) 20:16:10 ID:+cvp/0z6
がちで困ってる。PICアセンブラでスイッチPORTB,0長押しで電源OFFというプログラム。
割り込み時に判別したいんだがアイデアくだぱい。
264242:2009/07/21(火) 20:20:35 ID:3rsooWgR
レスありがとう。
バーサライト or バーサライタ ね。
ところで「バーサ」ってどういう綴り?
265774ワット発電中さん:2009/07/21(火) 20:24:12 ID:/YMnNu7X
versa light 
266774ワット発電中さん:2009/07/21(火) 20:26:44 ID:yekoER0U
>>263
タイマーで一定時間ごとにスイッチをチェックにいって長押しの時間を計ればいいじゃないか。
267774ワット発電中さん:2009/07/21(火) 20:32:21 ID:j6st4uKl
>>263
個人的には電源をきれる回路の方を知りたいがw

タイマ割り込み時にボタンが押されてなかったらカウンタをリセット、
押されてたらカウンタを加算、
一定値を超えたら長押しした、
でいいじゃん
268774ワット発電中さん:2009/07/21(火) 20:40:13 ID:3rsooWgR
>>265
ググっても、それっぽいのがぜんぜんかからないんだけど・・・
>>266
キーボードなんかはそうやってるよね。
269774ワット発電中さん:2009/07/21(火) 20:41:14 ID:/YMnNu7X
POV じゃだめか
270774ワット発電中さん:2009/07/21(火) 21:01:51 ID:+cvp/0z6
263だが返事ありがとう。
初心者過ぎて分からないことがいっぱい。
>>267 押されてる間のカウント加算てどうやるんだ?

ごめん、電源オフ言うかスリープってことw
271774ワット発電中さん:2009/07/21(火) 21:04:06 ID:+cvp/0z6
263だが返事ありがとう。
初心者過ぎて分からないことがいっぱい。
>>267 押されてる間のカウント加算てどうやるんだ?

ごめん、電源オフ言うかスリープってことw
272774ワット発電中さん:2009/07/21(火) 21:20:05 ID:CD22YPBK
質問があるんですが。
PIC18F2550にはVss端子が2つありますが、
そのうちひとつだけしかGndに接続しなくても大丈夫でしょうか?
273774ワット発電中さん:2009/07/21(火) 21:45:00 ID:SYnibNC7
>>272
どうして2つともGNDにしたくないの?

なぜ2本出ているのかを考えてみて欲しい。
2本出ているというところに、メーカーの気持ち(お願い)が読み取れない?
274774ワット発電中さん:2009/07/21(火) 21:53:02 ID:G76BsbcW
>>270
if(SW==ON) count++;
else count = 0;
じゃね?
275774ワット発電中さん:2009/07/21(火) 21:53:36 ID:CD22YPBK
>>273
PICはいろいろ親切なので、
配線を回せないときのために、設計者が上からでも下からでも
GND線を接続できるようにしてあるメーカの心遣いが読みとれます。
276774ワット発電中さん:2009/07/21(火) 22:27:06 ID:qVifZFVp
>>275
じゃ、片方のGNDだけで動作させてみれば良いじゃん
簡単に実験できるでしょ?
277774ワット発電中さん:2009/07/21(火) 23:35:23 ID:Cgb029U5
VddもVssも複数あるタイプのがあるけれど、負担を分担しているとか、使いやすいのを1つだけでいいとか、本当はどうなんでしょうか?
278774ワット発電中さん:2009/07/21(火) 23:39:24 ID:Cgb029U5
最近、RCサーボ弄り出したのですが、貧乏性なせいか8ピンの12F683で丁度良いと思いまして、
そうなると、PICkit2は不便だし、未だに売っている秋月ライターでは対応していないし、結局マルツライターを使っています。
みんなはどうですか?そういや、この前秋月でPICkit3を見てきた。
279774ワット発電中さん:2009/07/21(火) 23:46:55 ID:G76BsbcW
>>278
12F683もったいない。12F615でも医院じゃね?
それと秋雷太でも対応済みだから
ttp://akizukidenshi.com/catalog/contents2/ver4support.aspx
280774ワット発電中さん:2009/07/22(水) 00:04:26 ID:R5axccbI
12F615と683両方ストックして使い分けてるけど
趣味工作で月に一個くらいしか使わないから、
683に統一した方がかえって面倒が無いと最近思い始めた。
初期化手順微妙に違うから、いちいち過去のコード見返すのマンドクセ
281774ワット発電中さん:2009/07/22(水) 00:53:56 ID:Yu3vpB/J
12F629と12F675を昔使い分けてたときは、両対応の初期化コードを書いて使いまわしてた
282774ワット発電中さん:2009/07/22(水) 01:11:23 ID:r4bw7qCk
PIC12Fガイドブックがどうしてないのですか?
283774ワット発電中さん:2009/07/22(水) 02:34:46 ID:8tZwAQ/w
必要ないからじゃないかね
284774ワット発電中さん:2009/07/22(水) 02:55:01 ID:r4bw7qCk
必要なくてもつい買っちゃう俺みたいな人がいるというのに。
285774ワット発電中さん:2009/07/22(水) 03:43:39 ID:Ryt7dMp+
すると、そのうち
PIC10Fガイドブックがどうしてないのですか?
PIC18Fガイドブックがどうしてないのですか?
とかドンドン増えてくる予感
286774ワット発電中さん:2009/07/22(水) 09:05:51 ID:R5axccbI
18Fは後閑氏のがあるね。
12Fは16Fの本があれば困らない。
とmjrs
287774ワット発電中さん:2009/07/22(水) 19:24:49 ID:lm0RSnQN
>>272 >>275 >>277
PICにVssが2つあるものは、両方ともGNDにつなぐべきだと理解してます。

回路面積の広いPICは、多数のGND接続で設計し、安定稼働をする様にしているのだと
理解してます。
288774ワット発電中さん:2009/07/22(水) 19:30:01 ID:GFjxe4OU
無線で信号を受信したらLEDを点灯させようとプログラムを作成したのですが,
コンパイルできません.

なぜ出来ないのか,分かる方教えていただけないでしょうか?

--------------------------------------------------------------------
#include <p18f8720.h>
#include <config.h>
#include <usart.h>

//***Configuration Bit の設定
 (省略)
***//

//***プロトタイプ
void init_io(void);
char getcUSART(void);
char DataRdyUSART(void);

void main(void)
{
char cmnd;
TRISC = 0x80;

//configure USART
OpenUSART(USART_TX_INT_OFF & //送信割り込みの禁止
USART_RX_INT_OFF & //受信割り込みの禁止
USART_ASYNCH_MODE & //非同期(調歩)モード
USART_EIGHT_BIT & //8ビットモード
USART_CONT_RX & //連続受信モード
USART_BRGH_LOW, //ボーレート:低伝送速度モード 
129 ); //20MHz,2400bps

while (1)
{
while (!DataRdyUSART()); //RC7に1バイトのデータが受信完了となるのを待つ
cmnd = getcUSART(); //受信データを読み込む

if(cmnd!=0)
PORTD=0xFF; //LED1〜8 点灯
}

CloseUSART();
}
--------------------------------------------------------------------
289774ワット発電中さん:2009/07/22(水) 19:33:37 ID:Yu3vpB/J
12F全般ではないが「おもしろいPICマイコン PIC12F675を使いこなす」はわかりやすかった。
厨房の時にこのスレで紹介してもらって、読んだらすぐにPIC使えた。
290774ワット発電中さん:2009/07/22(水) 20:18:22 ID:UDExugR/
>>288

> #include <usart.h>
>
> //***Configuration Bit の設定
>  (省略)
> ***// <<--------------- ここでシンタックスエラーになるな


291774ワット発電中さん:2009/07/22(水) 20:23:40 ID:GFjxe4OU
>>290
ご回答いただき,ありがとうございます.

「***//」これを普通のコメント「*/」にしたのですが,
だめでした...
292774ワット発電中さん:2009/07/22(水) 20:59:58 ID:zsTb7XbN
どの行でなんというエラーになるか位書くべきだと思うが
293774ワット発電中さん:2009/07/22(水) 21:03:06 ID:r6NpMWI4
>>291
釣り?とも思うが、それを書くなら

//***Configuration Bit の設定



/***Configuration Bit の設定

ってのも書いてくれよな。
294774ワット発電中さん:2009/07/22(水) 21:40:10 ID:mBZq6H7W
>>291
どこでコンパイルエラーが出るのか書いたら?
295774ワット発電中さん:2009/07/22(水) 22:08:29 ID:50Vyu8gC
8720は usart1/2 あるから区別しないとな
296774ワット発電中さん:2009/07/22(水) 22:20:50 ID:VJFK/Yn4
というかコンパイルエラーを書けよ
297774ワット発電中さん:2009/07/23(木) 00:43:30 ID:PS8qyEyd
>>282
教材探してるなら、Gooligum Electronicsでぐぐると幸せになれるかも
298774ワット発電中さん:2009/07/23(木) 00:45:57 ID:Qwq0x0Ix
>>291
「***//」の一行を削除
が、いいんじゃないかなぁ。
299774ワット発電中さん:2009/07/23(木) 10:00:41 ID:jIhokw30
おはようございます.

皆様ご指摘ありがとうございます.
そうですよね,コンパイルエラーを書かないといけませんよね…
すみません

>>295さんのおっしゃる通りUSART1,2がありましたので,
とりあえず今から調べてみたいと思います.ありがとうございました.
300774ワット発電中さん:2009/07/23(木) 10:02:53 ID:jIhokw30
>>299
プログラムは以下のようにしました↓

#include <p18f8720.h>
#include <config.h>
#include <delays.h>
#include <timers.h>
#include <usart.h>

//Configuration Bit Settings
#pragma romdata CONFIG=0x300001
unsigned char rom _CONFIG1 = OSCSEN_OFF_1H & HS_OSC_1H;
unsigned char rom _CONFIG2 = BORV_42_2L & BOR_ON_2L & PWRT_ON_2L;
unsigned char rom _CONFIG3 = WDTPS_16_2H & WDT_ON_2H;
unsigned char rom _CONFIG4 = 0x83;
unsigned char rom _CONFIG5 = CCP2MX_RC1_3H;
unsigned char rom _CONFIG6 = DEBUG_OFF_4L & LVP_OFF_4L & STVR_ON_4L;
unsigned char rom _CONFIG7 = 0x00;
unsigned char rom _CONFIG8 = 0xff;
unsigned char rom _CONFIG9 = 0xc0;
unsigned char rom _CONFIG10 = 0xff;
unsigned char rom _CONFIG11 = 0xe0;
unsigned char rom _CONFIG12 = 0xff;
unsigned char rom _CONFIG13 = 0x40;
//Configuration Bit Setttings END

//プロトタイプ
void init_io(void);
char getcUSART(void);
char DataRdyUSART(void);


void main(void)
{
char cmnd;
TRISC=0x80;
TRISD=0x00;

//configure USART
OpenUSART(USART_TX_INT_OFF & //送信割り込みの禁止
 USART_RX_INT_OFF & //受信割り込みの禁止
 USART_ASYNCH_MODE & //非同期(調歩)モード
 USART_EIGHT_BIT & //8ビットモード
 USART_CONT_RX & //連続受信モード
@→    USART_BRGH_LOW, //ボーレート:低伝送速度モード 
 129 ); //20MHz,2400bps

while (1)
{
while (!DataRdyUSART()); //RC7に1バイトのデータが受信完了となるのを待つ
cmnd = getcUSART(); //受信データを読み込む

if(cmnd!=0)
PORTD=0xFF; //LED 点灯
}

A→ CloseUSART();
}
301774ワット発電中さん:2009/07/23(木) 10:03:35 ID:jIhokw30
>>299
コンパイルエラーは以下のようになりました

@→…Warning [2058] call of function without prototype
A→…Warning [2058] call of function without prototype

Error - could not find definition of symbol 'CloseUSART' in file 'Z:\(保存先)\test_usart.o'.
302774ワット発電中さん:2009/07/23(木) 10:06:03 ID:jIhokw30
>>299
コンパイルエラーは以下のようになりました

@→…Warning [2058] call of function without prototype
A→…Warning [2058] call of function without prototype

Error - could not find definition of symbol 'CloseUSART' in file 'Z:\(保存先)\test_usart.o'.
303natu:2009/07/23(木) 10:32:11 ID:oYTBX0wb
>>301
エラーメッセージに『こんなの、初めて!』と書いてある。

あなの使っているPICは、AUSART_V2のタイプだから
もう一度"usart.h"を読んで正しい関数名を探しましょう。
304774ワット発電中さん:2009/07/23(木) 10:53:42 ID:jIhokw30
>>303さん
ご回答,ありがとうございます.

今"usart.h"を読んでプログラムを直したところ,
見事コンパイルすることが出来ました!
今度からヘッダファイルの中身もきちんと確認したいと思います.

皆様本当にありがとうございました.

さっそくPICに焼いて試してみたいと思います.

プログラムは以下のようになりました.
#include <p18f8720.h>
#include <config.h>
#include <delays.h>
#include <timers.h>
#include <usart.h>

//Configuration Bit Settings
 (同じなので省略)
//Configuration Bit Setttings END

//プロトタイプ
void init_io(void);

void main(void)
{
   char cmnd;
   TRISC=0x80;
   TRISD=0x00;

   //configure USART
   Open1USART(USART_TX_INT_OFF   & //送信割り込みの禁止
         USART_RX_INT_OFF   & //受信割り込みの禁止
         USART_ASYNCH_MODE  & //非同期(調歩)モード
         USART_EIGHT_BIT & //8ビットモード
         USART_CONT_RX & //連続受信モード
         USART_BRGH_LOW, //ボーレート:低伝送速度モード 
         129 ); //20MHz,2400bps

   while (1)
   {
      while (!DataRdy1USART()); //RC7(RX1)に1バイトのデータが受信完了となるのを待つ
      cmnd = getc1USART(); //受信データを読み込む

      if(cmnd!=0)
         PORTD=0xFF; //LED 点灯
   }

   Close1USART();
}


305774ワット発電中さん:2009/07/23(木) 15:21:49 ID:OTJoRiWi
タイマー0での割り込み中にタイマーを止めて
長い処理をこなす正しい方法を教えて下さい。

メインループは無限ループするだけなので、
一時的にタイマー0を止めるだけでいいのかなと思い、
割り込みルーチン内で
bcf INITCON,GIE
長い処理
bsf INTCON,GIE
とか
bcf INITCON,GIE
bcf INTCON,T0IE
長い処理
bsf INTCON,T0IE
bsf INTCON,GIE
とか書いてみたんですが、長い処理がある場合はうまく動きません。
306774ワット発電中さん:2009/07/23(木) 15:24:58 ID:w5LGBHGX
>>305
勘違いしてると思ふ
307774ワット発電中さん:2009/07/23(木) 15:25:34 ID:V9WKbby0
その長い処理のときに、他の割り込みを監視しなくても良いのなら、
その方法でいいんでないかな。
でも複数種類の割り込みを取りたければ、mainで処理するしかないと思うけど。

308774ワット発電中さん:2009/07/23(木) 15:30:03 ID:w5LGBHGX
>>307
勘違いしてると思ふ
309774ワット発電中さん:2009/07/23(木) 15:40:36 ID:OTJoRiWi
>>308
ではどうしたらいいんでせうか
310774ワット発電中さん:2009/07/23(木) 16:47:38 ID:LwADHd51
>>305
GIEとめてるってことは、割り込みの禁止よね?
タイマーは止まってないから
割り込みから抜ける寸前にT0IF消さないと、割り込み止めてる間に立ったT0IFで
割り込み許可した瞬間上からもういっかい割り込むんでねかな?

割り込み止めないで、多重割り込みにして、処理中フラグ1つ持って…とかは変態か
311774ワット発電中さん:2009/07/23(木) 18:52:57 ID:WC/xR4LK
>>310
それで悩んだことあるなぁ

デバッガのWatchかなにかでフラグやカウンタを見つめてて
やっと気付いた
312774ワット発電中さん:2009/07/23(木) 19:43:55 ID:0ntHS3Rl
つか、せっかくタイマー使って周期的に割込みかけてんのに
長い処理で規則的な割込みを間引いちゃっていいのか?

割込みタイミングに時間的な規則性を求めないなら処理中にカウントクリアすれば?
もしくはプリスケーラ上げてカウントアップを伸ばすとか
313774ワット発電中さん:2009/07/23(木) 20:20:17 ID:OTJoRiWi
>>310
bcf INTCON,T0IE してもT0IEは立ってしまうんですか?
314774ワット発電中さん:2009/07/23(木) 20:30:34 ID:fwZGdXb6
うまく動かないってどうなるの?
何も考えずにその長い処理とやらを進めればいいのでは?
割り込みルーチン中ではGIEはクリアされてるんじゃなかった?
RETURNとRETFIEの違いをもう一度確認してみ
315774ワット発電中さん:2009/07/23(木) 20:48:23 ID:F43aeVFt
>>313
後者のT0IEはT0IFのことよね?
周辺の装置というのはCPUコアとは関係なく動く。

で、
カウンタスタートレジスタが有効ならカウンタ動作は続くし、T0IFは立つ。
割り込みユニットはT0IFとT0IEのアンドをとって、1ならCPUに割り込みを発行する。

ttp://picbegin.hp.infoseek.co.jp/pbasic/pbasic51.html
ttp://picbegin.hp.infoseek.co.jp/pbasic/pbasic56.html

316774ワット発電中さん:2009/07/23(木) 20:54:38 ID:F43aeVFt
ところで
周期割り込みのなかで周期を超える処理をするってのは、普通はやっちゃいけないこと。
という認識はあるのだろうか。
317774ワット発電中さん:2009/07/23(木) 20:57:01 ID:F43aeVFt
度々スマン。他のマイコンの感覚でカウンタスタートレジスタって書いたけど、PICには無かったっけか。
318774ワット発電中さん:2009/07/23(木) 21:08:18 ID:OTJoRiWi
>>315
そういうことなんですね。動かしたつもりではなくてもT0IFのクリアは忘れずにってことですね。
>>316
フラグが溜まらないように気をつけて、尚且つ仕様が許せばやってもいいような気がするんですが
319774ワット発電中さん:2009/07/23(木) 21:13:04 ID:bMly10Ym
>>297
いや、無理だった。
320774ワット発電中さん:2009/07/23(木) 21:16:35 ID:iIToq3Pr
>>318
それだったら最初から割り込み周期をもっと長くする方が何かと楽
321774ワット発電中さん:2009/07/23(木) 21:37:32 ID:eVxAcwjo
割り込みルーチン内で処理せずに割り込みで適当な変数フラグ立てれば良いじゃん。
その変数フラグをメインループ内でポーリングして処理すれば良いんでねぇの。
何処までリアルタイム性を求めるか知らんが・・・
322774ワット発電中さん:2009/07/23(木) 23:17:04 ID:F43aeVFt
>>318
プログラムの思想としてね。
やってもいいし実際動くけど、もう少し凝ったことしようとしたとき、多分さばききれなくなる。
あと
わざわざ作った周期を破壊してまで周期割り込みの中でやるのって矛盾してない?

>>321
処理のリアルタイム性が欲しい部分っていうのは出力(結果)だから
ポーリングで処理をして、割り込みで最終最後の処理と出力を出せばいいかと。
出力自体はリアルタイム性を保てるし、割り込み待たさないし、
間に合わなくても1回休み(前回値)なだけだし。

323774ワット放浪後さん:2009/07/24(金) 06:26:40 ID:arFmPVr8
>>305
『船頭多くして船山に登る』になると困るけど・・・

長い処理 = (短い処理 + 変化待ち + 時間待ち)* n 回
↑のように分解できるなら、 n = 処理ステップ番号 として
短い処理だけ済ませて、他の処理のために CPU を明け渡す方法もあるよ。
次回 CPU の処理順番が回ってきたら n で何をすれば良いか判断するのね。
324774ワット発電中さん:2009/07/24(金) 07:13:33 ID:ikTrX5/p
目的がなんなのかわかりませんが、アセンブラなら
>>321さんの手法がPICでは一番良いかと。
アーキテクチャの話になり、長くなるので…。

16系しか使った事がないですが、割込みルーチン内では
「要因を調べる」という視点に変えてみてはどうでしょう。
意図的に別のフラグを利用して、多重(という意味より、抜けた直後に
また割込みにひっかける)にする事もありますが…。

>>322さんの志向もわかりますが、間に合わなくても〜という
のはちょっと危険な気がします。なので前回値という表現を
したんだとは思いますが。
(前回値が連続するとわかっているなら、受け側との相対性は
保たれるという事でしょう。業務レベルならリトライ・タイムアウト
の処理は必須ですね。)

>>315さんの「ANDを取って〜」というのがポイントかと思います。
データシートに割込みをロジック図で表したページがあると
思います。PICの周辺IFを活用する場合は押えておきたい所かと。

長文スマソ。
結論ですが、なんとなくTMR1のほうが適しているような気がします。
タイマーではなく、長い処理を主役にするという考えです。
325774ワット発電中さん:2009/07/25(土) 00:04:46 ID:oM5xAwMd
秋月のpickit2互換のライターってどうですか?
326774ワット発電中さん:2009/07/25(土) 00:05:23 ID:gtvQiaCA
どうって何が?
327774ワット発電中さん:2009/07/25(土) 00:08:24 ID:oM5xAwMd
秋月ライターの4.0持っているのですが、今は6.0辺りまであるそうです。
バージョンアップするか、pickit2互換ライターを新たに買うか迷っています。
328774ワット発電中さん:2009/07/25(土) 00:21:49 ID:oDujnzcb
pickit2買った方が早いw
329774ワット発電中さん:2009/07/25(土) 00:41:36 ID:qT2IQPAo
>>325
ZIFソケット付いてるけどPIC24やdsPICとは合わない。
330774ワット発電中さん:2009/07/25(土) 02:09:53 ID:XhlJu+eJ
あと、ターゲットをソケットに挿して焼くよりICSPの方が楽だし安全だよね。
331774ワット発電中さん:2009/07/25(土) 08:38:40 ID:h8lbix8A
>>325
akipic2のことか?
使っているが高いだけじゃね。
ISPとゼロプレシャーとどっちも使えるってだけがとりえ(オレ的には)

マルチはしないように!
332774ワット発電中さん:2009/07/25(土) 11:26:36 ID:h8lbix8A
偉そうな書き方してたスマソ
333774ワット発電中さん:2009/07/25(土) 14:12:02 ID:Y6/BKVWu
PIC18F2550でSPI使おうとしているんだけど、SSPBUFにmovffで書き込むのは駄目なのかな?
クロックは出るんだけどデータが出たり出なかったりする。
movffをmovf→movwfに置き換えたらちゃんとデータ出てきた。
334774ワット発電中さん:2009/07/25(土) 23:47:07 ID:JGbTu96R
教えてください

MPLAB SIMの使い方で、
出力のPORTAや変数の値は可能なのですが、
入力に設定したPORTBの値が変更できません

PORTBはスイッチに接続予定でONOFFのシミュレートをしたいのです

よろしくお願いします
335774ワット発電中さん:2009/07/26(日) 02:21:53 ID:6CCMIe+B
>>334
Stimulusを使って変更する。
336natu:2009/07/26(日) 10:13:08 ID:Q9LlNEHE
>>333
high priorityの割込み使ってる?
337334:2009/07/26(日) 10:23:15 ID:kfFBGTJZ
>>335
できました、d
338774ワット発電中さん:2009/07/26(日) 10:38:06 ID:rCkAph4e
>>336
使ってない
Wレジスタを保持する必要もないからmovf→movwfにしておく
ちなみにデータが出ないというのはちょっと語弊があって、0x00が出てくるという意味でつ
339774ワット発電中さん:2009/07/26(日) 12:21:14 ID:jS8HFu6q
>>338
moveff regxx,SSPBUF で送信のあと、
movef SSPBUF,w などで読んでる?
読まないと正しく送信できないことある。

340774ワット発電中さん:2009/07/26(日) 12:25:02 ID:jS8HFu6q
339
moveff --> movff
movef -->movf
の誤り。スマン
341774ワット発電中さん:2009/07/26(日) 12:33:16 ID:xHG3tZU2
>>333 >>338
SCK出力あるなら SSPBUF writeしてるんだろうし
データが0x00なら movff fs,SSPBUFのfsアドレス指定がおかしいとか
それ以前にfsへのデータ代入が間違ってるとか・・・??

342774ワット発電中さん:2009/07/26(日) 13:28:32 ID:rCkAph4e
>>339
今度弄るときにやってみる

>>341
こんな感じでmovの方法変えるだけで動くから読むレジスタがおかしいってことはないと思う
FSR0にはUSBバッファの0x500を入れてます。

問題のコード
btfss SSPSTAT,0,ACCESS
bra $-1
movff POSTINC0,SSPBUF
decf cnt,F,ACCESS
bc -6

問題ないコード
btfss SSPSTAT,0,ACCESS
bra $-1
movf POSTINC0,W,ACCESS
movwf SSPBUF,ACCESS
decf cnt,F,ACCESS
bc -6
343774ワット放電中さん:2009/07/26(日) 14:34:36 ID:+Hy/kLPi
>>342
× bra $-1 と bc -6 は
○ bra $-2 と bc $-6 の 間違いでしょうね。

DS39632D-page 332 に PCL, TOSU, TOSH または TOSL は、destination register に使えませんの
解説があるけど これにも該当しない。Errata にも記載は、ありませんでした。

moveff の ソースとディストネーションが同時に SFR 領域だと誤動作するのかな?
CPU の隠れバグだとすると POSTINC0 が間接指定で両方が SFR 領域だからかな?
344774ワット発電中さん:2009/07/26(日) 14:41:17 ID:xHG3tZU2
深く見てないが bra $-1 って拙くないか?
bc -6 は抜け出せんの? decfsz なの?
345774ワット発電中さん:2009/07/26(日) 16:04:04 ID:jS8HFu6q
>>342
コード見ました。
2点注意あります。
1、SSPSTAT のビットテストは、直接しない。Wに読んで、btfss WREG,0
2、SSPSTAT の BF bit は、SSPBUF を読まないとクリアできない。
  よって、次のポーリングで、すぐに1を検出するのでは?
SSPBUF に送信するとき、まだ送信中に書くと、SSPCON1 のbit 7 が
1になってるはず。(data sheet 39632D page 196)
以上、実際のソフトで確かめたよ。アプリは、SDカードだけど、
以下に確かめたソースを載せておきます。
http://bitcraft.web.fc2.com/embedded/microchip/pic18fsdt2.asm
chksdcardcc 223行の場合、送れないのでSDカードが応答しない。
chksdcardc 251行の場合、送れるので、SDカードが返答する。
だが、movf --> movwf で送信すると、読まなくても送れるのは
なんでだろうね?よくわからん。これも確かめて、SD読めた
346774ワット発電中さん:2009/07/27(月) 23:21:23 ID:laeXD5ug
今、一番熱いPICは何かな?
347774ワット発電中さん:2009/07/27(月) 23:27:03 ID:E41H+GRX
>>346
現行品で損失(発熱)の大きい奴って事か?
348774ワット発電中さん:2009/07/27(月) 23:27:46 ID:40O8Zg+X
dsPIC30Fあたりがいちばん発熱するんでないかね。
349774ワット発電中さん:2009/07/27(月) 23:43:15 ID:phJ0XqXe
押しボタンスイッチ押してスリープでPWRオフにしら次の瞬間割込みでPWRオンになてなけます
助けてくだせえ
350774ワット発電中さん:2009/07/27(月) 23:43:16 ID:FkfvC0BE
+−逆に繋いだPICが一番熱いんじゃない?
351774ワット放電中さん:2009/07/27(月) 23:52:05 ID:10G6WKiD
>>346-350
ワロタ

>>349
状態変化割り込みならスリープする前にチャタリングは、取ろうね。
ソフトで取れないなら CR のハードウエアでも可。
352774ワット発電中さん:2009/07/28(火) 00:01:16 ID:EhZFrj5s
>>349
見た目は押したらスリープでも、実装上はスイッチが確実に離れたことを確認してからスリープに入るのだ。
353774ワット発電中さん:2009/07/28(火) 00:06:25 ID:czVBKGy3
349だが説明が不足していた、押したらSLEEPしてLEDやら消えるのだが
放したら放した時の割り込みでPWR ONしてLED点灯するんだ。
BTFSSやら駆使しても上手くいかない。
354774ワット発電中さん:2009/07/28(火) 00:25:33 ID:xeIKDvhj
で、本当はどうしたいの?
355774ワット発電中さん:2009/07/28(火) 01:11:26 ID:E0vZVbDq
>>353
今見たばかりだし、特に詳しい俺は詳しいわけではないが、
ふつーに考えて、
スイッチはチャタリングがあるんだから、
変化割り込みなんかでスイッチを扱うのは邪道中の邪道。
mainでのポーリングもしくはタイマ割り込みでのポーリングに変更して、
普通にチャタリング除去処理した上でHiかLoを見るようにするか、
ハードでチャタリング除去した上で外部割込みを使うか
でしょ。
356774ワット発電中さん:2009/07/28(火) 07:43:32 ID:1JR5dCDW
ソフトが面倒ならとりあえずスイッチと並列に0.1〜0.01uFいれてみて
スイッチの挙動に変化がでるかを見れば、チャタリングかは分かるだろ

部品点数が増えるのがヤなら皆が言うようにソフト側でスイッチの不応期間を
設定するのが吉かと
357774ワット発電中さん:2009/07/28(火) 07:46:14 ID:1JR5dCDW
あとINTEDGを立ち下がりにするとか
358774ワット発電中さん:2009/07/28(火) 09:06:05 ID:VngdwMiJ
>>353
> 放したら放した時の割り込みでPWR ONしてLED点灯するんだ。

>>352 は、放した時の割り込みでsleepしろと言ってるのでは?
359774ワット発電中さん:2009/07/28(火) 12:57:56 ID:Ux1skV9n
PIC18F2550のEUSARTを同期送信に使う時、データシートではSPBRG=0で使えるように書いてあるけど、SPBRGが1以上じゃないと正常に送信できないんだが。
360774ワット発電中さん:2009/07/28(火) 19:33:46 ID:uW4YlM42
回路図とソース出して聞かないあたりPICスレらしさが出てるね
361774ワット発電中さん:2009/07/28(火) 20:01:25 ID:xeIKDvhj
とりあえず、アレか?とみんな同一のものを頭に描いたから簡単にレスがもらえた。
362774ワット発電中さん:2009/07/28(火) 23:55:31 ID:YBxidi38
会社でPICの勉強を始めたとこだけど、
趣味で作るのに良さそうな例って何かない?

温度計とか作っても仕方ないし
363774ワット発電中さん:2009/07/28(火) 23:57:16 ID:em7b51Fe
7セグLEDで時計
364774ワット発電中さん:2009/07/29(水) 00:20:25 ID:UV8/TGmP
時計もわざわざ作らなくても安く売ってるしなあ
365774ワット発電中さん:2009/07/29(水) 00:54:36 ID:EEX/rpuH
ラーメンタイマー。
時間が来ると鳴るやつ。
366774ワット発電中さん:2009/07/29(水) 00:59:00 ID:K7AmZrnX
>>362
最近暑かったので今、秋月の温度計キットを組み立てている。
もちろんPICはない。しかし、どうしてこれが楽しいものだ。

とりあえず、この温度計キットをPICでやるには、
LM35   温度センサ
ADC付のPIC
C552-SR キットに入っていた2桁LED 別に何でもいい。

他に必要なものは、LM35のデータシートとかLEDのデータシートとか
PICのデータシートとかで抵抗やコンデンサや3端子レギュレーターやらを揃えるといい。

どうだい?楽しそうになってきただろ?
367774ワット発電中さん:2009/07/29(水) 01:03:04 ID:K7AmZrnX
ちなみに、秋月のはブレッドボード仕様だが、5×8センチくらいのユニバーサル基板で作った。
作ってみると狭かった。しかし、配線パターン見てると幸せな気分になってくる。
368359:2009/07/29(水) 01:53:09 ID:sLQ0b8lO
検証用に以下のソースで調べたところSPBRGの値を0に変えた時に挙動がおかしい。
SPBRG=1でCK6MHz、DT3MHz(10101010)、RC2が8CK毎にトグルする正常動作を確認。
SPBRG=0とすると、CK12MHz、DT1.5MHz(0111111)、RC2はトグルしない。
ここからわかることは、
・永遠にTXIFフラグが立たない
・TXREGには一回しか書き込んでいないのにずっと送信が続く
・送信されるデータはTXREGに書き込んだ値と全く異なる

TRISCbits.TRISC6=1;
TRISCbits.TRISC7=1;
BAUDCON=0b00010000;
SPBRG=1;
TXSTA=0b10110000;
RCSTA=0b10000000;
while(1){
LATCbits.LATC2^=1;
TXREG=0xAA;
while(!PIR1bits.TXIF){};
}
369774ワット発電中さん:2009/07/29(水) 08:18:20 ID:arKNuYV7
>362

PICライター。
これ基本。
370774ワット発電中さん:2009/07/29(水) 11:11:56 ID:3PqlGpvk
371774ワット発電中さん:2009/07/29(水) 15:10:23 ID:zaSSK857
>>362
なぜ温度計がしかたないの?
勉強中なら、どんなテーマでも勉強だと思うけど。

もしかしたら、やりたくないんじゃない?
372774ワット発電中さん:2009/07/29(水) 15:37:29 ID:sLQ0b8lO
>>371
実用性を求めてるんじゃないの?
0.1℃単位の温度計が1000円でお釣りが来るから割に合わないとか。

そういう意味であれば周波数カウンタはお勧め。
市販品は安いものだと素のクリスタルらしいから秋月のTCXO使えば安くて高精度なものが作れる。
正確な周波数カウンタなんて自分で高精度な水晶発振回路を作りたいとかでもないと必要なものではないんだけどね。
373natu:2009/07/29(水) 19:00:56 ID:sN+qqyZx
>>368
TXIF=1の時、TXREGへデータが書かれるのは、そのサイクルのQ4ステート。
TXREGへデータが書かれたのでTXIF=0になるのは次のサイクルのQ4ステート。
TXIFを読み出すのは、サイクルのQ2ステートになる。

>TXREG=0xAA;
>while(!PIR1bits.TXIF){};

コンパイル結果は、フリー版でも
movwf TXREG...1
btfss PIR1,...2
こんな感じ。
1でTXREGに書込んだ結果、TXIF=0になるのは、2のQ4ステートだけど
btfssでビットを読むのは、そのサイクルのQ2なので、TXIF=1を読む。

1と2の間に、
Nop();
を入れると12MHzで動くような気がする。

これは、クロック6MHzでも同じなので旨く行っているのは、??わからん。
374774ワット発電中さん:2009/07/29(水) 21:48:57 ID:UV8/TGmP
>>369
確かに
PICライターは会社にはあるけど個人でも欲しいので、こっそり焼こう

マニュアル読んでたけど、キャリーフラグはなんでこんな仕様なんだ?
375359:2009/07/29(水) 21:51:45 ID:sLQ0b8lO
>>373
どうもです。
確かにNop入れないとまずそう。でもNop入れても改善せず…
TXIFが立たないようなのでSPBRG=0でループを以下のようにしてみた。
while(1){
LATCbits.LATC2^=1;
TXREG=0xAA;
Nop();Nop();Nop();Nop();
Nop();Nop();Nop();Nop();
}
8個のNOPがあるので、転送は間欠になるはず。ところがこんな感じになった。
http://sa89a.net/up/src/up0129.jpg

ちなみに波形が鈍ってるのは19年物のプローブのせい。CKのプローブだけは新品。
376774ワット発電中さん:2009/07/29(水) 22:29:55 ID:N3DiB5Fe
>>374
>マニュアル読んでたけど、キャリーフラグはなんでこんな仕様なんだ?
「CARRYが正論理でBORROWが負論理」のことなら、よくある仕様だよ。
SPARCだったかMIPSだったかもそういう仕様じゃなかったかな。
377774ワット放電中さん:2009/07/29(水) 23:47:27 ID:bzXE6jXt
>>374
引き算をしていないだけで、
2の補数の足し算で代用しているからですよ。

大昔の PIC16C 時代の2桁型番の時、Wreg=0x00 の時 CY フラグが誤動作したのはナイショなのだ。(笑)
378774ワット発電中さん:2009/07/30(木) 00:05:22 ID:OYi9u0k+
おお、判りやすい
やっぱり利便性とかじゃなくて手抜きか
379774ワット発電中さん:2009/07/30(木) 03:12:48 ID:nsfE9LeC
引き算という概念は存在しないのだがな。
380774ワット放電中さん:2009/07/30(木) 06:31:08 ID:Eipd3mjZ
>>379
引き算の概念が存在しないとしても構わない、
Z80 では、DAA 命令において直前の命令が引き算だったかどうかのフラグを保持しており
足し算時と引き算時とで補正のアルゴリズムが異なるのをちゃんと理解して補正演算してくれるよ。

PIC の場合は 18シリーズでも加算命令後しか使えません。
結局不便なので、私は全て 16進で加減乗除演算させておいてから 10進に変換してまする。
381FR:2009/07/30(木) 07:05:34 ID:duGvDXBa
Pic初心者です。Picは12F675でコンパイラはHI-TECH PIC C Compilerを
使って10分たったらブザーがなるようなプログラムを作りたいんですが
どうやって作るんですか??アドバイスお願いします。
382774ワット発電中さん:2009/07/30(木) 08:08:11 ID:xTKq+ARc
この板はわざわざソースコードや回路図までupしてまで教えてくれるほど親切ではないのでい。ググレばいくらでもあります、
それで判らないところは、ご自身でソースなり回路図をupすればアドバイスいただけるでしょう
383774ワット発電中さん:2009/07/30(木) 08:58:07 ID:YsuIxXDa
>>381
http://www.picfun.com/ を片っ端から読んで試してみるといいよ。
ここまでアドバイスすれば作れるだろう。
384natu:2009/07/30(木) 09:57:10 ID:dk/dZ0CV
>>375
手元のロガーが2550を使っていたので試してみた。
http://sa89a.net/up/src/up0130.jpg

上が>>368のプログラム、下が>>375のプログラム
それ以外は、共通で↓
#include <p18cxxx.h>

#pragma config PLLDIV=1, CPUDIV=OSC1_PLL2, USBDIV=2, FOSC=XTPLL_XT, FCMEN = OFF
#pragma config IESO=OFF, PWRT=OFF, BOR=ON, BORV=2, VREGEN=ON, WDT=OFF, WDTPS=32768
#pragma config MCLRE=ON, LPT1OSC=ON, PBADEN=OFF, CCP2MX=OFF, STVREN=ON, LVP=OFF
#pragma config XINST=OFF

void main( void )
{
TRISCbits.TRISC6=1;
TRISCbits.TRISC7=1;
TRISCbits.TRISC2=0;
BAUDCON=0b00010000;
SPBRG=0;
TXSTA=0b10110000;
RCSTA=0b10000000;

while(1){

下のは正常に送信してると思う。
385natu:2009/07/30(木) 09:59:41 ID:dk/dZ0CV
連投ごめん
revision=a3 のPIC18F2550だ。
386774ワット発電中さん:2009/07/30(木) 10:49:15 ID:SSuaCBHy
>>381
エディタでソースコードを打ち込むんだよ。
エディタが無ければnotepadでもOK。
コメント以外での漢字とかの全角コードはコンパイルでエラーになるからね。
ヘッダファイルのパスを指定するのを忘れずに。
387774ワット発電中さん:2009/07/30(木) 15:58:17 ID:O1fh8j0s
>>381
PICkit2を使った簡単な実験用回路はこんなんで
ttp://www5.uploda.tv/v/uptv0036097.png
プログラムはこんな感じで
#include<pic.h>
#define _XTAL_FREQ 4000000
__CONFIG(INTIO & WDTDIS & PWRTDIS & MCLREN & BORDIS & UNPROTECT);
void main()
{
TRISIO = 0x3E;
GPIO = 0;
int i;
for(i=6000;i>0;i--){
__delay_ms(100);
}
GPIO = 0x01;
while(1);
}

MPLABとかPICkit2の使い方はトラ技の2009年4月号を読めばおk
388359:2009/07/30(木) 18:53:07 ID:+04ezCEU
>>384
確認サンクスです。
新品のPICが届いたから確認してみたが、相変わらず>>375の状態。
念のためプロジェクトを作り直し、提示していただいた初期化部のみを使ってみたけど同様。
一年前に買ったPICと、今回届いたPICは両方ともB5。
Erattaに載ってるわけでもないし…なんだろう。
389774ワット発電中さん:2009/07/30(木) 19:22:39 ID:AZD/1k9e
> 12F675でコンパイラはHI-TECH PIC C Compiler
こういうやつは、どMなんだから、一人でとことん苦しめ
390359:2009/07/30(木) 19:29:45 ID:+04ezCEU
>>384
連投スマソ。そちらの波形で一つ気にになったので。
CKの立ち上がりでDTが変化しているように見えるけど、これはデータシートと矛盾している。
B5ではSPBRG=1の正常送信時には、データシートどおりCKの立下りでDTが変化している模様。
391774ワット発電中さん:2009/07/30(木) 20:09:13 ID:OYi9u0k+
さらにマニュアル読んでる
退避させたWをフラグを変化させずに戻す方法が
swapしか無いというのがすげー
392774ワット発電中さん:2009/07/31(金) 02:32:18 ID:u1gmRYqj
>>7-8のPICの価格は秋月価格かな?

それにしても、マルツは高いな〜
PICもPickitも高い。
393774ワット発電中さん:2009/07/31(金) 03:27:33 ID:j56IsVBB
>>392

その上、品揃えも大した事がない。
商売も汚い。特価「JTAGケーブル」。みたらフラットパラを10極ボックスコネクタ
にした、本当にただのケーブル。ICなどついてない。1000円くらいだったかな。
勘違いして、汎用ライタだと買っちゃう人がいるだろう。

マルツで買う(買わないといけない)理由がわからない。
394774ワット発電中さん:2009/07/31(金) 04:01:44 ID:ysPVMa7D
一部のブレッドボードは秋月よりも安く買えた(ただしジャンパなし。板だけ欲しかった)
あの界隈の中でマルツから買うことはあんまないけど一応覗いてる。
電子部品に特化した東急ハンズみたいな。
395774ワット発電中さん:2009/07/31(金) 04:27:11 ID:j56IsVBB
なるほど。ハンズか。

意味が違うかも知れんが、電子工作入門の人にとっては
お店もきれいで、整頓されてるから入り易いかもね。

ラジオセンター・デパートは、職人(適当)気質、
秋月・千石は、つかみどころが良くわからん。

いかん。眠くなってきた。今日はペルチェ素子を3枚程、
アルミ板とジャンクファンを買いに行って、ケース冷却の実験したいのだ。
Pen4HT3Gのオレには、CPUクーラーだけでは厳しい季節なのだよ。(2GHzに落としてる)
制御には大量に余っている16F873を使おうかと。
396natu:2009/07/31(金) 11:27:47 ID:P3M3V9mT
>>390
おー、ほんとだ。試しにTXCKP=0にして見るとクロック出っ放しで
TXIFがセットされない。>>368の症状かな?

USARTのライブラリ使っても同じ状態になるようだし、エラッタも
見つからないし...クロック落とすかSPIで騙すしか無さそうだね

『出来の悪い子ほどかわいい』って事かな。
397774ワット放電中さん:2009/07/31(金) 12:16:20 ID:vk3426aO
>>396
そのような誤動作をマイクロチップに報告した場合、よくやる手法。
Errata として認めずに Dataシートの誤記でしたと誤魔化すのが得意(困惑)
SPBRG が 0x00 の場合の動作は保証しませんが 落ちかな?
398359:2009/07/31(金) 14:06:06 ID:yRu5qccu
SPIだと間欠送信で遅いし、双方向通信できない。
EUSARTでクロック下げると転送がおっつかない。
どうしようもなさそうだなorz

Rev.B5だとTXCKPに関わらずCK出っ放しのよう。
Rev.A3だとTXCKP=1ならエッジがずれるけど送信できるってことだよね…
A3の石ほしぃぃぃぃぃぃぃ

趣味だからいいけど、業務だったら訴訟もんじゃないのかな
399natu:2009/07/31(金) 14:50:16 ID:P3M3V9mT
別のPIC18だと、こんなエラッタがあるんだけど

In Synchronous mode, EUSART baud rates using
SPBRGx values of ‘0’ and ‘1’ may not function
correctly.

Work around(笑)
Use another baud rate configuration to generate
the desired baud rate.

SPBRG=1も怪しい。
400774ワット発電中さん:2009/07/31(金) 19:45:05 ID:dNys3+pb
>>398
>SPIだと間欠送信で遅いし、双方向通信できない。
うひゃー
「間欠送信で遅い」を見て「あれ、SPIもダブルバッファだったはず」と思って
データシート見直したら、SPIは受信だけダブルバッファなんだな。
勉強になった。
401774ワット放電中さん:2009/07/31(金) 20:45:05 ID:vk3426aO
>>398
その昔 MAXLINK と言うソフトありけり。(PC-9801 max 9600bps の頃)
i8251 使用の RS-232C ポートで超高速通信を行っていました。(もう特許切れだと思われる)

特殊仕様の RS-232C クロスケーブルだった。(何本も複製したのはナイショ)
不思議な事に TxD RxD の線を切断しても通信速度は変わらなかった。
つまり i8251 を UART で使わずに i8255 等の単純入出力ポートで高速通信を実現していました。

いまだにどんな方法で実現していたのかは調べていません。
逆アセンブルしようにも そのデバイスドライバーは 今は手元に無い。(残念)
402FR:2009/07/31(金) 23:09:35 ID:fWYmQ+OD
Picc Liteでかいたプログラムを12f675から12f509に移したんですが
TRISのところでエラーがでるんですが509にはTRISEレジスタがないんですか?
初心者なので教えてください。
403774ワット発電中さん:2009/07/31(金) 23:18:01 ID:dNys3+pb
>>402
まずはデータシート嫁。
404774ワット発電中さん:2009/07/31(金) 23:55:01 ID:yRu5qccu
>>402
ポートEがないんだからTRISEだってないさ
マジレスすると509はTRIS命令があったはず
405774ワット発電中さん:2009/08/01(土) 01:38:36 ID:/8HAEzx1
>>404
それを言うなら、12F675にもポートEはないからTRISEもないはずだけど。
元の質問が適当すぎる。
406774ワット発電中さん:2009/08/01(土) 02:44:13 ID:8my3bbdj
ただの打ち間違いちゃうか?
407774ワット発電中さん:2009/08/01(土) 03:16:14 ID:1jhrpmCR
データシートを読めば済む話
ってかデータシート見ないでPICさわるかな?
408774ワット発電中さん:2009/08/01(土) 04:11:29 ID:ePoisC27
TRISの無いPICって、あるの?
409774ワット放電中さん:2009/08/01(土) 07:23:49 ID:6KXnLKnA
>>402
Picc Lite が吐き出したエラーの内容と
そのエラーの発生した場所のソースを晒してごらん。
もっとちゃんとした回答が貰えると思うよ。

もっともちゃんとデーターシートを読まないとだめだけど、
何ページを読めば良いかは教えてあげられるよ。ガンガレ
410774ワット発電中さん:2009/08/01(土) 07:56:46 ID:rSRFOKBu
TRISの設定が専用の命令になってる物と
TRISレジスタに書き込む物がある。
411774ワット発電中さん:2009/08/01(土) 08:09:08 ID:DuMQri+P
Baseline PICな12F509ではTRISレジスタ アクセスに専用TRIS命令を使う。
でも PICCでは そんなこと関係なく TRIS = 0xff; って感じでok

HI-TECH PICC のManual 3.2.7.2章を参照

TRISIO とか TRISE じゃないよ。
412774ワット発電中さん:2009/08/01(土) 10:11:28 ID:I/4ubkdf
>>391
ソフト屋にとっての利便性を無視したらCPU設計はどこまで手を抜けるかっていう
気分で眺めると確かにそういう風に設計するよなあと思う
413774ワット発電中さん:2009/08/01(土) 11:07:05 ID:bJIQiCvI
PICへの考え方を変えたほうがいいぞ。

例えばUARTは、
「ボーレートジェネレータを機能させる事が出来る」
に留め、付随する振舞はオマケ。

多数ある技術資料(テクニック集)は、PICの問題点を
回避するためで、「資料が多くて親切だな」などと
思ってはいけない。

>>400さん、「勉強になった」なんて感覚は持たないほうがいい。
PICはそういうものだで、終わりにしる。
414774ワット発電中さん:2009/08/01(土) 11:10:28 ID:/8HAEzx1
そうだったのか。
勉強になった。
415774ワット発電中さん:2009/08/01(土) 11:45:50 ID:cnhnBtkz
>>412
ボローが負論理だと不便かな?
416774ワット発電中さん:2009/08/01(土) 11:48:29 ID:/8HAEzx1
いや全然不便じゃない。
417774ワット発電中さん:2009/08/01(土) 11:58:00 ID:bJIQiCvI
正論理だと、逆につじつまが合わなくなるだろう。
条件判断命令が、そうなっている事から推測できる。

演算部(CPU)は、NANDとシフトレジスタとFFで
等価的に構成を見なせる。何かを優先させたために
OFが発生した時に、ビットと論理と取ると反転する
ロジックになっているのであろう。
418774ワット発電中さん:2009/08/01(土) 12:10:22 ID:f4OE/wp9
秋月で売り出された18F14K50のデータシート眺めてるんだが、PGC/DがUSBのD+/-と共用されてる
これはUSB機能使いながらのオンチップデバッグは出来ないってこと?そうだったら使いにくいな
419774ワット発電中さん:2009/08/01(土) 12:48:13 ID:2oyM0Uo0
それ以前に18F14K50は電源5Vで書き込もうとするとD+/-も5Vになってしまう。
ICSPするためには電源を3V系にしないとダメ。
420774ワット発電中さん:2009/08/01(土) 15:21:10 ID:f4OE/wp9
D+/-カットした専用給電ケーブルで書き込み後にUSB経由のDebugPrint();作ってデバッグか
USBつながるまでが大変そうだな
421774ワット発電中さん:2009/08/01(土) 16:25:22 ID:kooK9jlF
USB付きのPIC知らないんだけど、USBブートローダーって作れそう?
422774ワット発電中さん:2009/08/01(土) 16:33:28 ID:EAk8SlPx
>>421
「USBブートローダー PIC」でググったら腐るほど出るわけだが・・・
423774ワット発電中さん:2009/08/01(土) 16:34:33 ID:2oyM0Uo0
あいまいな書き方しちゃった。18F14K50はPGC/D自身が3.3Vなので
電源5Vだとレベルシフタ付きのライターがいるってこと。

完成品は14K50内蔵のレギュレータでOKだが
開発は3.3V電源付きの別ハードで開発した方が楽。
424774ワット発電中さん:2009/08/01(土) 17:30:00 ID:cnhnBtkz
>>421
わざわざ作らなくてもMicrochipのUSBファームウェアにプロジェクト一式付いてる
425774ワット発電中さん:2009/08/01(土) 18:10:04 ID:BLfmW+7h
>>421

秋月のこれ買ってきて
http://akizukidenshi.com/catalog/g/gI-02161/


この辺を参考にしながらブートローダーを組み込んでみたよ
http://www.picgames.org/modules/tinyd1/index.php?id=30
http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?memo%2FUBW
426774ワット発電中さん:2009/08/01(土) 20:21:37 ID:f4OE/wp9
>>423
何言ってんだかわかんね、と思いながらデータシート見直したらD+/-ピンの定格はVUSB+0.3Vって書いてあった
何も考えずに5V供給してICSPしようとしたらD+/-ピンは定格オーバーか
クランプ電流±20mAのようだし直列に1kΩぐらい入れるだけじゃだめかな
427774ワット発電中さん:2009/08/01(土) 21:25:28 ID:9gZFsCAW
教えてください。割り込みを使ってLEDを制御するプログラムです。16F84aでは動作したんですが、16F88に移行させて同じように動作させようとしてるんですがうまくいきません。
電源オン時にウェイクアップモーション、PORTA == 0b00000 の時にLEDが左右に行ったりきたりしていて、PORTAが0b00001や0b00010になった時に強制的に動作が
入るようにしたいです。
以下の内容でビルドしようとするとBuild failedになってビルドできません。

-----------------------------------------------
エラー文
Error [314] C:\Documents and Settings\PICC\stop16f88kai.c; 3.8 ";" expected

Error [192] C:\Documents and Settings\PICC\stop16f88kai.c; 24.1 undefined identifier "T0IE"
Error [192] C:\Documents and Settings\PICC\stop16f88kai.c; 25.1 undefined identifier "T0IF"
428427:2009/08/01(土) 21:31:31 ID:9gZFsCAW
プログラムファイルです。
MPLAB IDE v8.10を使用。

http://kissho.xii.jp/1/src/1jyou86344.c.html
429774ワット発電中さん:2009/08/01(土) 22:03:54 ID:2oyM0Uo0
>>426
> クランプ電流±20mAのようだし直列に1kΩぐらい入れるだけじゃだめかな
USB製品として使えるなら保護回路が内蔵されているはずなので大丈夫
...だと思う。

430774ワット放電中さん:2009/08/01(土) 22:43:52 ID:6KXnLKnA
>>427
>Error [314] C:\Documents and Settings\PICC\stop16f88kai.c; 3.8 ";" expected
http://ww1.microchip.com/downloads/en/DeviceDoc/30487c.pdf
DS30487C-page 130 と DS30487C-page 131 で CONFIG1 と CONFIG2 の2つ有るのが分かりますか?
C:\Program Files\HI-TECH Software\PICC\PRO\9.65\docs\manual.pdf の
3.2.2 Configuration Fuses (76頁) を 見れば、両方の config の 書き方が分かりますね。

>Error [192] C:\Documents and Settings\PICC\stop16f88kai.c; 24.1 undefined identifier "T0IE"
>Error [192] C:\Documents and Settings\PICC\stop16f88kai.c; 25.1 undefined identifier "T0IF"
http://ww1.microchip.com/downloads/en/DeviceDoc/35007b.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/30487c.pdf
DS35007B-page 7 と DS30487C-page 14 の INTCON の 部分を見比べてごらん、何か気が付きませんか?

Output 窓のエラーヵ所をダブルクリックすれば、エラーの場所へ飛んでくれますよ。 ガンガレ
431774ワット発電中さん:2009/08/02(日) 03:06:59 ID:/5u9LbVz
デジタル入力もしくはアナログ入力に指定したポートに対してbsfやbcfの操作を行った場合、
何か影響などはあるのでしょうか?それとも無意味なだけで全く問題はないのでしょうか?
432774ワット放電中さん:2009/08/02(日) 05:05:39 ID:dnjrU/DO
>>431
結論を先に言うと何の問題も発生しませんよ。回路図が読める様になれば理解が深まるでしょう。

本当は使おうとする PIC の データーシートを見るのが望ましいが、
↓ は、日本語で書かれているので代用しますね。
http://ww1.microchip.com/downloads/en/devicedoc/16c7xbj0.pdf
DS30390B-J00 - page 43 〜 DS30390B-J00 - page 54 までに 各ポートの等価回路が記載されています。
TRIS Latch の D-FF( 単純な Dフリップフロップ) の Q出力は 入力の場合 "1" (Inpiut の I と覚えるそうだ) になります。
bsf や bcf で書き込むと Data Latch の Q出力には反映されますが、↑ の 出力が 3ステートバッファーを OFF にして出力を遮断します。

ソフトだけしか判らないじゃなくて、回路図も読める様になるとソフトを組むスキル(能力)もアップしますよ。
433774ワット発電中さん:2009/08/02(日) 08:18:05 ID:kTMIYvja
皆さんに質問です。
ライターはどんなのを使っていますか?

ちなみにお約束のようなボケは飛ばします。
434774ワット発電中さん:2009/08/02(日) 10:21:54 ID:tWhISjDU
Hi-Loシステムズのユニバーサルプログラマ
435774ワット発電中さん:2009/08/02(日) 11:36:34 ID:9acVauEo
PICKit2
やっぱりデバッガが便利
通信に使う場合はMPLABSIMではどうにもならんからね
436にゃんにゃんこ:2009/08/02(日) 11:45:37 ID:dnjrU/DO
2年前の2007年1月19日から禁煙してまして、今はライターを必要としていません。(違)

ちなみにマイクロチップの見解は PRO MATEU と PM3 以外のライターは試作用であり量産に使用した場合責任を持ちませんと仰っていますよ。(笑)
PICkit2 ICD2 ChipMax を 使用してますが内容が消えた等の クレームを受けたことはありません。
437774ワット発電中さん:2009/08/02(日) 12:23:18 ID:3CtFd7Aj
>>436
8bitギャグ乙
438774ワット発電中さん:2009/08/02(日) 12:25:31 ID:eimzL6+5
ICD2で入門してからずっとこれ。
でも丸である必然性がまるでわからない。
439774ワット発電中さん:2009/08/02(日) 14:09:50 ID:YmQ6zpts
>>435
マルツか秋月で買えばいいですか?
440774ワット発電中さん:2009/08/02(日) 14:30:35 ID:lKLaGvgR
まぁ、あの2店は近いから安いほうの秋月がいいと思われ。
441774ワット発電中さん:2009/08/02(日) 19:03:55 ID:ANJRka65
PIC16F88でINTRCに設定してRA6・RA7をI/Oに設定しました。
RA6・RA7を入力に設定してしても外部信号の変化が読めません。
出力に設定してON/OFFしても出力に現れません。(入力に成ったまま)
他のピンは正常に動作してます。
何でしょうか?
442774ワット発電中さん:2009/08/02(日) 19:07:27 ID:Sx1PZxZu
回路図とconfigを書け
443774ワット発電中さん:2009/08/02(日) 19:10:20 ID:AfQ9QMTH
RA7は入力専用じゃなかったっけか
444774ワット発電中さん:2009/08/02(日) 19:38:40 ID:4oR4PoRv
一応 INTRC_IOに設定汁。
445774ワット発電中さん:2009/08/02(日) 21:09:34 ID:My4KPOIo
例によってアナログ入力モードのままなじゃね?
446774ワット発電中さん:2009/08/02(日) 23:14:08 ID:RSa50WXa
PIC16F88でAN0とAN1を使うようにしていますが、AN1がNCだとAN0の精度が非常に悪くなり、AN1も不定です
こーゆー物でしょうか?
リファレンスはRef+とGNDを使うようにして、別途作った2Vを入れています

アドバイス願います
447774ワット発電中さん:2009/08/02(日) 23:19:37 ID:9acVauEo
>>446
入力切り替えてから電荷がたまるまでウェイト入れてる?
448FR:2009/08/02(日) 23:33:53 ID:Kk8sk1TN
12f509のデータシート見たんですが
Address Name   Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
N/A   TRISGPIO ?   ?      I/O Control Register
となっているんですが、どのようにして入出力を設定するんですか??
I/O Control Registerというのがあるのかと思いデータシートを
見たんですがなくて・・・
ちなみにPICC Liteでプログラムを書きたいです。
449774ワット発電中さん:2009/08/02(日) 23:41:43 ID:tTFyPfpK
> 12f509
> ちなみにPICC Liteで

苦しむのが好きなんだから、もっと苦悩しろ
450774ワット発電中さん:2009/08/02(日) 23:54:50 ID:tWhISjDU
>どのようにして入出力を設定するんですか??

データシートを100回読み直す
451774ワット発電中さん:2009/08/02(日) 23:57:23 ID:N/RoZtiE
>>448
PICC Liteにサンプルはないの?
452774ワット発電中さん:2009/08/02(日) 23:58:18 ID:ZOWOOak3
>>448
TRIS=0x00;見たいな感じでやってみな。
453431:2009/08/03(月) 01:08:46 ID:OzWoLXaT
>>432
ご回答ありがとうございました。データシート確認の必要性を再認識いたしました。
454774ワット放電中さん:2009/08/03(月) 01:14:14 ID:o2LnPLJq
>>453 >>431
また、いつでも質問すれば良いですよ。
お礼は、いつか回答できるようになったら他の人にも教えてあげて下さいね。
455774ワット発電中さん:2009/08/03(月) 01:25:40 ID:gR0cXFvp
生半可な知識で間違ったことを教えるのもいるからきちんと裏は取っておくこと・・だな
456軽石:2009/08/03(月) 01:59:27 ID:EYbuRzrg
結局頼りになるのはゴーグル先生です。(^。^)
457774ワット発電中さん:2009/08/03(月) 03:12:38 ID:OrmpTPzT
>>448
12F509は初心者が使うんじゃなくて、プロが使う廉価チップ。
12F509を使う場合は、HITECH PICC Pro Liteモードで書いても
結構変態的な制約がまっているお。
せめて12F629か12F675くらいを使った方がいい。
それでも良いなら止めないが。
458774ワット発電中さん:2009/08/03(月) 19:32:15 ID:n4/5qKKw
> せめて12F629か12F675くらいを使った方がいい。

これでも十分Mの素質あり
459774ワット発電中さん:2009/08/03(月) 20:42:02 ID:VNzy8gtw
普通AVR使うよね
460774ワット発電中さん:2009/08/03(月) 20:45:20 ID:KYwsK85R
秋月雷太が683に対応するのが早ければ、675は使わなかっただろうな〜
461774ワット発電中さん:2009/08/03(月) 21:37:16 ID:oLNp0rso
8pinを個人で使うなら683だろ。
462774ワット発電中さん:2009/08/03(月) 22:04:08 ID:ri/lf8+u
>>418
PIC18F14K50には、オンチップデバッグが内蔵されていないみたい。
ローコスト化のため、AC244023ヘッダーが必要だって。

ttp://www.microchip.com/forums/tm.aspx?m=411659
463774ワット発電中さん:2009/08/03(月) 22:41:18 ID:HZdCVTpL
>>462
サンクス
完全に想定外だった
3V給電でUSBブートローダー書き込んでUSB経由でデバッグしながら開発するのがいいのかな
ちょうど回路図描きあがったところなんで、これから基板の設計に入ります
464774ワット発電中さん:2009/08/04(火) 00:35:26 ID:yeGAKNYo
こんな建て増しにつぐ建て増しみたいな悲惨な仕様じゃなくて、
すっきり使いやすくてかつ安い同種の石はないの?
465774ワット発電中さん:2009/08/04(火) 00:48:37 ID:Xz//Ych0
PIC18系はかなりスッキリだけど
PIC24系はもっとスッキリ
466774ワット放電中さん:2009/08/04(火) 02:15:35 ID:AFitQ1Z1
>>465
ttp://www.ipishop.com/hozin.html
PIC32 は 中身は丸投げで他社のCPUコアと言う事らしいが、
PIC24 と dsPIC は 自社開発なのかなぁ?
467774ワット発電中さん:2009/08/04(火) 10:41:11 ID:gi6hxKfe
>>463
自分はヘッダーを買うか、18F2550でデバッグ終えてから移行するかを検討中。
2550からは、ほぼ変更なしで移行できる気がしている。

ヘッダーを買うのであれば、AC244023よりDM164127が良いみたい。
評価ボード+簡易ヘッダーの組み合わせで、ヘッダー単体より$10安いよ。
468774ワット発電中さん:2009/08/04(火) 11:37:26 ID:ChQhaAoO
>>464
8ビット系なら8051コア品が一番普及してるかな?
8051互換コア使った製品は色々なところが出しているし
もちろんフリーのコンパイラもある

16ビットクラスで他を探すならARMのCotex-M3コアあたりにした方が
いいかもしれない.250円くらいのSOP品もある
あたりまえだけどgccはじめフリーな環境もある(Linuxも)
469774ワット発電中さん:2009/08/04(火) 11:38:39 ID:ChQhaAoO
ありゃ・・「r」が抜けた.Cortexな
470774ワット発電中さん:2009/08/04(火) 11:55:00 ID:TwOFl7km
SRAMとクロックが内蔵じゃないと使う気がしねぇ。
471774ワット発電中さん:2009/08/04(火) 13:10:55 ID:ChQhaAoO
PIC以外は入って無いと思ってるのか?
472774ワット発電中さん:2009/08/04(火) 13:21:47 ID:TwOFl7km
>>471
だれもPIC以外は使う気がしねぇとは言って無いが。
473774ワット発電中さん:2009/08/04(火) 13:42:41 ID:ChQhaAoO
誰もPIC以外は使う気がしないのかとは聞いてないが?
474774ワット発電中さん:2009/08/04(火) 22:10:31 ID:FuPTLMkD
>>464
> 同種の石はないの?
それを言うから、メーカは建て増しでやってるんだろ。
475774ワット放電中さん:2009/08/05(水) 07:37:45 ID:LQTnu4Cc
PIC12F1xxx と PIC16F1xxx の 4桁型番になれば、多少は改善されそうです。
http://ww1.microchip.com/downloads/en/DeviceDoc/41375A.pdf

でも基本は建て増しでなんだよねぇ。
476774ワット発電中さん:2009/08/05(水) 22:01:11 ID:NTjgc/S7
>>474
AVRに行けば?と思う俺の心の内は秘密です。
477774ワット発電中さん:2009/08/06(木) 20:34:59 ID:cOmLOke8
フラッシュメモリーが高いので、とにかくフラッシュの使用量を減らそう、
というのが基本の設計思想でしょ
それで1ワードのビット数を圧縮してあちこちに歪が出る

もうフラッシュなんて湯水のごとく使って、
広大なデータと大量のレジスタが素直に使えればいいのに
478774ワット発電中さん:2009/08/06(木) 20:38:44 ID:7yCsL371
> フラッシュメモリーが高いので、とにかくフラッシュの使用量を減らそう、
> というのが基本の設計思想でしょ
別チップで載せてるのか!?
479774ワット発電中さん:2009/08/06(木) 23:46:40 ID:k2Q9MLFD
こんにちは。PIC&2ch初心者です。よろしくお願いします。

同じ症状で困っている方や解決策を知っている方はレスお願いします。
480774ワット発電中さん:2009/08/06(木) 23:54:18 ID:aXuRc93E
エスパー召喚きたーwwwwww
中間が完全に抜けてるww
さあどう答えるエスパーwwwwwww
481774ワット発電中さん:2009/08/06(木) 23:57:44 ID:xqFclmu9
解析班ッ!!
482774ワット発電中さん:2009/08/07(金) 00:06:48 ID:rMbbMAFT
>>479

どんな問題を抱えていますか?
483774ワット発電中さん:2009/08/07(金) 00:19:18 ID:OQoZcR+1
こ、これは深刻な問題だな・・・
もう末期です。諦めてください。
484774ワット発電中さん:2009/08/07(金) 00:31:09 ID:kkxkkQI/
>>479
つまり部品と道具一式そろえたけど、何をしていいのかわからないんですね。
俺も、もう何年もPICでわけのわからんもの作って遊んでるけど、いよいよ
ネタが切れて困ってますよ。

解決策は常識を覆すということですね。固定観念を捨てることです。
485774ワット発電中さん:2009/08/07(金) 03:26:04 ID:35d3aKpI
>>479
1つ目の問題は、たぶんTXとRXがテレコになっていると思います。
オシロがあれば、スグにわかりますけどね。
2つ目は、みなさんよく間違えますね。RA4端子はオープンドレインといって、
ドレインがオープンになっていますので、外部に抵抗でプルアップしないと。
3つ目は、結構高いレベルでの間違いですね。リードモディファイライトと言って、
リードしてモディファイしてライトするワケですので、前回のピンの電圧が
落ち切っていないのに読むと、間違えて読んでしまうことが原因です。
2clock程度待ってから読みに行くようにすれば良いと思います。

しかし、文面からだけですが、面白そうな物を作っているんですね。
回路図も拝見しましたが、レベルが高くてまだまだ私には良くわかりません。
でも電子工作、特にPICは面白いので、いろいろ作ると面白いと思います。
PICで電子ホタル、PICで電子睡眠器、PICでお風呂ブザー、PICで電子びっくり箱、
PICで2石トランジスターラジオ、PICで断線報知器、PICでシグナルトレーサー、
PICでラブラブテスター、PICで電子メトロノーム・・・・まだまだありますよね。
お互い頑張ってやっていきましょう。
486774ワット発電中さん:2009/08/07(金) 03:42:49 ID:OQoZcR+1
後半ワラタ
それ何て初歩のラジオwww
487774ワット発電中さん:2009/08/07(金) 07:51:38 ID:ObYCL2ou
テレコワラタ

PICで2石トランジスターラジオだけ想像できんw
488774ワット発電中さん:2009/08/07(金) 11:07:28 ID:bFlX8Isd
PICでVCXO選局でもやるんですね。わかります。
489774ワット発電中さん:2009/08/07(金) 11:41:31 ID:NaLQjquj
テレコって何? 現場のオッサンがよく口走っているけど。

PICで2石トランジスターラジオ
電池電圧モニタの制御じゃないか?
1.2V以上は、緑
1.0〜1.2Vは、緑+赤
0.9〜1.0Vは、赤
それ以下は、赤点滅
490774ワット発電中さん:2009/08/07(金) 11:43:28 ID:OQoZcR+1
491774ワット発電中さん:2009/08/07(金) 11:48:30 ID:RYO6RKLF
おっちゃんは リャンコとか言うときがある
492774ワット放電中さん:2009/08/07(金) 13:18:44 ID:q/Vq41EH
>>488
もう会社を辞めたけど元上司は、dsPIC で 直接 RF 電波を FFT 解析して電波時計を作れと言っていたなぁ。
493774ワット発電中さん:2009/08/07(金) 13:23:38 ID:kbu+BKn9
FFTしなくても40kHzのサイン波と混ぜてLPF掛けるだけで良さそうな気はするが
494774ワット放電中さん:2009/08/07(金) 17:20:34 ID:q/Vq41EH
>>493
40KHz と 60KHz の両方自動対応で、電源投入(リセット)直後から 60秒で時計を確実に合わせろ。
↑の条件付き。私は出来ませんとお断り致しました。
市販品の電波時計でも時計が合うまでに 10分程度必要としてるんですけど・・・
495774ワット発電中さん:2009/08/07(金) 17:27:48 ID:iAY2f6/m
>電源投入(リセット)直後から 60秒で時計を確実に合わせろ。
できるわけがない
496774ワット発電中さん:2009/08/07(金) 17:51:51 ID:kbu+BKn9
>電源投入(リセット)直後から 60秒で時計を確実に合わせろ。
んー。どんなに頑張っても確実にあわせるには61秒必要だと思うんだ。
497774ワット発電中さん:2009/08/07(金) 18:14:46 ID:zXyTLkip
ttp://xenopusq.hp.infoseek.co.jp/pic/pickit2.html
↑PICkit2をお持ちでこれを作った方いらっしゃいますか?
498774ワット発電中さん:2009/08/07(金) 18:20:57 ID:BOVOk0G9
ボトムであわせるのなら作った
499774ワット発電中さん:2009/08/07(金) 18:22:37 ID:rIAkPs+o
いくらでも居そうだが…

自分は8pin用だけ丸ピンソケットで作った
500774ワット発電中さん:2009/08/07(金) 18:46:18 ID:NinHSxV0
PICの8ピン用と、
dsPICの18ピン用を作った。

複数対応のを一個作るより、普通のICソケットを使ってそれぞれに対応したのを作る方がミスが少ない気がする…
501774ワット発電中さん:2009/08/07(金) 21:13:25 ID:hZN/tMJp
>497
その手のソケットって、できあいのプログラムを焼いて回路に乗せるだけとか
完全にデバッグが終わっているプログラムじゃないとメリット無いんだよね。
502774ワット発電中さん:2009/08/07(金) 22:41:22 ID:kbu+BKn9
8ピンくらいなら簡単に抜き差しできるからありだと思うけど。

これお勧め。
DIPソケットのメス側にケーブルつけて6ピンヘッダに繋ぎ、足のほうを基板上のPICにかぶせる。
PICの上に何かある回路でない限りICSPできるから便利だ。
503774ワット発電中さん:2009/08/08(土) 20:08:52 ID:3xvia6FC
暇なときに作らせてもらいます。
8ピンPICの時は重宝しそうです。
504774ワット発電中さん:2009/08/09(日) 11:09:42 ID:krjuhy4Y
P16F88でRA2,RA3,RA4を使ってA/D変換をしようとしています。
条件により値が変化してしまうのですがなぜでしょうか?

具体的には Vdd,VssをつかってA/D変換すると
 入力  RA2:Vdd RA3:Vss RA4:Vss
 変換後 RA2:Vdd/2 RA3:Vss RA4:Vss
とか
 入力  RA2:Vdd RA3:Vss RA4:Vdd
 変換後 RA2:Vdd RA3:Vss RA4:Vdd/2
と変換後が入力の1/2になるものがあったりします。なぜでしょうか?

ちなみに
VCFGは00で設定しています。

505774ワット発電中さん:2009/08/09(日) 12:07:12 ID:JeC71YkS
変換クロックの設定をミスってるとか
506774ワット放電中さん:2009/08/09(日) 12:48:15 ID:IXn56ZW6
>>504
http://ww1.microchip.com/downloads/en/DeviceDoc/30487c.pdf
DS30487C-page 117 の EQUATION 12-1: ACQUISITION TIME
十分な時間を取っていますか?
507774ワット発電中さん:2009/08/09(日) 13:16:28 ID:krjuhy4Y
>>506
ご指摘の通りでした。ありがとうございます!

他のPICで使っていたA/D変換プログラムを移植しただけなんですけどねー。
PICってプログラムの流用が難しいですね。。。

508774ワット発電中さん:2009/08/09(日) 13:46:42 ID:k2Jcvwv/
トラブったらまずプログラムとデータシートを読むという習慣が無いのだな
509774ワット発電中さん:2009/08/09(日) 14:42:35 ID:H9Aa2PYv
授業では習いませんから。
510にゃんにゃんこ:2009/08/09(日) 14:49:31 ID:IXn56ZW6
>>509
授業では習わない、初めての事を経験中。
http://society6.2ch.net/test/read.cgi/traf/1197571001/l50
511774ワット発電中さん:2009/08/09(日) 19:34:33 ID:fLi3y9qX
>>510
ここはお前の日記帳じゃないんだ、チラシの裏にでも書いてろ、な!
512774ワット放電中さん:2009/08/09(日) 21:04:38 ID:IXn56ZW6
>>511
あなたに 質問者がどのぐらいの実力があって、ピンポイントで何を伝えれば良いかを見抜けますか?
513774ワット発電中さん:2009/08/09(日) 21:30:39 ID:qAL1kg8d
>>512
>>509にどのぐらいの実力があって、ピンポイントで何を伝えればよいかを
見抜いた結果が>>510なの?
514774ワット発電中さん:2009/08/09(日) 21:42:05 ID:T93setL+
軽石対良心にゃんこさんの戦いかなぁ。
がんばんれにゃんこさん。
515774ワット発電中さん:2009/08/09(日) 21:50:20 ID:JeC71YkS
>>510みたいなことを突然言われたら普通引くけどね。
516774ワット発電中さん:2009/08/09(日) 22:13:21 ID:qAL1kg8d
にゃんにゃんこさんのことに言及すると、必ず単発IDで>>514のような煽りがつく。
流石にそこまで酷い人間じゃないとは思ってるけど、自演じゃないと言うならID:IXn56ZW6
のうちにレスが欲しいです。

自分は>>512のようなエスパーじみたことはできないが、PICスレでは分かる限り質問に
答えてきたつもりです。
もし本当に>>512で言っている様なことができるのなら、そのコツを教えていただきたいです。
517774ワット発電中さん:2009/08/09(日) 22:36:10 ID:Id3w0AE6
何この流れ
518774ワット放電中さん:2009/08/09(日) 23:49:46 ID:IXn56ZW6
>>516
過去に同じ事を経験した苦労があるからですよ。
どこで間違えたかのか、同じ間違いを犯したくないだけで
これからの人にはちゃんと正しい道を進んで欲しい。

だからいつも直接答えを書いていないでしょ。
必ずデーターシートの読み方に留めて、答えの書いてある場所で残りは自分で解決しましょうね にしてあるでしょ。
519774ワット発電中さん:2009/08/09(日) 23:53:02 ID:/+4M1GON
良心??????
520774ワット発電中さん:2009/08/09(日) 23:59:47 ID:qAL1kg8d
>>518
ありがとうございます。
まあ、そうですね。私は「質問者がどのぐらいの実力があって、
ピンポイントで何を伝えれば良いかを見抜ける」と言えるほど
の自信はありませんが。

今後もPICスレの回答者を頑張ってください。
521774ワット放電中さん:2009/08/10(月) 00:04:43 ID:hhIhNXZ0
おまけ
私がソフトの Ver を 聞かかったのは、質問者の書き方で Ver を推定して回答いましたね。
アセンブラは比較的大きな変更は少ないですが、C言語は日進月歩なので微妙な違いで推定してましたよ。
OS は無指定であれば MPLAB が動作保障している範囲であるのと、現在流通している XP だろうと。
異なればちゃんと Win98 〜 Vista までの環境は整えてありそ、ちらでの実験も可能でしたよ。
522774ワット発電中さん:2009/08/10(月) 00:18:54 ID:IBKyoZUI
>>521
最近はMPLABにHITECHが付属されるようになったので、コンパイラの違いは
減りましたね。逆にチップのコアの種類は増えました。

数年前までPICといえば16Fでアセンブラだったのですが、今では化石を見る
かのような顔をされます。
523774ワット発電中さん:2009/08/10(月) 01:48:25 ID:yPYTLWxp
コテハンはそのうち荒れる。
そろそろその時が来たようだな
524774ワット発電中さん:2009/08/10(月) 02:36:34 ID:XZ5DeXiD
だから何?て話で、何が言いたいのかさっぱり分からん
日本語の不自由な方に見える
525774ワット発電中さん:2009/08/10(月) 08:52:46 ID:u3BTqxg0
なんだよなんだよ >>510 最低だな。
>>511 >>515 >>517 が正しい!!

と価値の無いことを書いてみる俺もダメ組だけどorz
にゃんにゃんこ氏は反省するように!!
526774ワット発電中さん:2009/08/10(月) 11:44:03 ID:wKfp3kLt
要は空気読めってことだろ
527774ワット発電中さん:2009/08/10(月) 13:18:52 ID:sQVIwM+T
LEDを徐々に消灯や点灯をやりたいんですが
PWMを使わずにできますか?
パルス幅を変えるようにON、OFFの間にディレイをいれればいいと思ったんですがうまくできませんでした…
528774ワット発電中さん:2009/08/10(月) 13:20:50 ID:pj29DmJ9
>>527
何でPWMは駄目なんだ?
529774ワット発電中さん:2009/08/10(月) 13:24:23 ID:9TKS/X5z
>>527
キミがどこまでどれぐらい理解できてる人なのか判らん
例えば失敗例でも回路図あげるとかアクションしろ
530774ワット発電中さん:2009/08/10(月) 13:53:00 ID:wKfp3kLt
俺が翻訳すると、PWMを使わないというのは、PICのPWM機能を使わないという意味で
PWMの原理で作ってみたが、ソフトにバグがあるんだと思われます。
531774ワット発電中さん:2009/08/10(月) 16:08:52 ID:0JqZHqJh
>>530 が正解だろうな
パルス幅を変えるように…ってそれPWMやん…

532774ワット発電中さん:2009/08/10(月) 16:15:23 ID:AruxxMWu
実はPFMかもしれん。
>>530で正解だろうけど。
実際のところ、LEDを制御するだけだったら簡単に実現できるな。
他の処理も同時にってことだと面倒くさくなるが
533774ワット発電中さん:2009/08/10(月) 16:20:11 ID:smlk3ESl
ON/OFFの間にディレイとかいってるから
周波数も変えてしまって目視できる点滅になって、あれー?とか言ってるとエスパってみる。
534774ワット発電中さん:2009/08/10(月) 16:22:34 ID:RG+p5i72
PWMじゃなくてPDMだっていいんだぜ
535774ワット発電中さん:2009/08/10(月) 19:26:25 ID:tuSJzPkF
>>533
そこは気合で、5秒ぐらいを脳内平均化するとか。
薄目にするとか、うんと遠くから眺めるとか、ティッシュでくるんでみるとか
したら、なんとなくイケてるように思いこめるかも。
536774ワット発電中さん:2009/08/10(月) 22:14:41 ID:P4tc779w
おいおい、本人置いてきぼりになってるよ
537774ワット発電中さん:2009/08/11(火) 00:22:58 ID:qYW48D95
内蔵CCP(PWM mode)を使わずに・・・delay処理で・・・という意味かな?
538774ワット発電中さん:2009/08/11(火) 00:43:37 ID:tz48ENZb
>529

あんたが何ぼのもんか知らんが、態度がでかい。軽石め。
大体、なんで今回路図(ry
539774ワット発電中さん:2009/08/11(火) 02:29:51 ID:VhzWanYx
おっさん同士みっともないぜ
540774ワット発電中さん:2009/08/11(火) 03:10:32 ID:XJrGO76q
軽石軽石って言ってる人はなんなの?同一人物?
541774ワット発電中さん:2009/08/11(火) 03:45:49 ID:YFb1iqek
>>540
専用ブラウザをつかって「軽石」をNGワードにするとスレのS/Nがあがるよ。
542774ワット発電中さん:2009/08/11(火) 06:16:47 ID:dyrJiMmu
>>541
ありがとう。そういう役に立つtipは次スレのテンプレにも入れるべきだな。
543774ワット発電中さん:2009/08/11(火) 09:57:13 ID:DebobJyc
>>538
お前がナンボもしない人間であろうことは容易に想像できるが、
>>529も態度がデカくて悪い奴に言われたく(ry
544774ワット発電中さん:2009/08/11(火) 10:06:52 ID:cea9XL2s
2chで「ですます調」とか必要ないし、このくらいの質問でケンカするとか理解できん。
545774ワット発電中さん:2009/08/11(火) 12:14:52 ID:xeUzRYBZ
いや、後閑さんの所やPIC-MLでマナーマナーうるさいやつがいたのよ。
答えに詰まると自分でググレ(ゴーグル先生とか言ってたなw)
そのうち隔離スレ
【かれこれ】電子工作関連人物ヲチスレ6【一年】
http://science6.2ch.net/test/read.cgi/denki/1205759475/
がたって、そのうち自宅が晒されて....。
なんかこのスレに出没してるみたいね。
終日夫婦で書きこしていて、嫁の方はほんとに口汚い。
546774ワット発電中さん:2009/08/13(木) 01:29:26 ID:GDeetWSW
軽石って言ってる人オーディオ関連のスレでも見たけど
2ch語?方言かなんか?
547774ワット発電中さん:2009/08/13(木) 02:18:03 ID:OerkprMH
荒らしとか池沼と同義だな。実質。
548774ワット発電中さん:2009/08/13(木) 10:23:04 ID:7tMKeF8N
近頃はむしろ荒らしが使う言葉だね。
正当な指摘に対して使われることが多い。
549774ワット発電中さん:2009/08/13(木) 10:40:17 ID:JDwaFrMf
PIC18F14K50のSSOP買おうと思ってMicrochipDirectチェックしたら売り切れ状態
それはよくあることなんでいいんだが、データシートに載ってないQFNパッケージがリストされてる
こういうことって普通にあるの?
550774ワット発電中さん:2009/08/13(木) 11:28:14 ID:Ly1Funl0
>>546
数人の池沼が叫ぶ、雄叫びみたいな物だよ。
以前はあちこちで見られたけどみんなにウザがられて、最近じゃ単発が多い。
時々奇声を上げないと発狂してしまうかわいそうな輩だからそっとしておいてあげるのが武士の情け。
もう2chくらいでしか生息できない絶滅危惧種だけど、生態は未だ謎に包まれている。
551774ワット発電中さん:2009/08/13(木) 23:38:09 ID:Difs12fk
チラ裏だが
最近HI-TECH C でPIC工作してばかりいたんだけど
必要に迫られて久々にPCのC++を書いたら
関数の再帰呼び出しとか、float型変数を見てビクッとしてしまった。
あと標準入出力の便利さを今更思い知らされた。

PICやってるとハードウェアリソースの有難味が身に染みるね。
552774ワット発電中さん:2009/08/14(金) 00:20:30 ID:slT8f9Ui
>PICやってるとハードウェアリソースの有難味が身に染みるね。
同感。ポインタとかガンガン使っても遅くならないPCの性能には驚いた。
ラッパなんて使おうものならPICは遅さが気になってしまう。
553774ワット発電中さん:2009/08/14(金) 01:16:32 ID:7RY4i2qD
ラーはラッパのラー♪
554774ワット放電中さん:2009/08/14(金) 07:20:14 ID:Rser5u0M
>>527
今どのような回路とソフトかがわからないけど、
↓ と 同じものを作って見てごらん。
http://www.picfun.com/P12F/p12f04.html

CCS-C が無くても完成品の ソフトがダウンロードできるから問題は無いよ。
ちゃんと動いたら、その動作原理をソースリストから読み取って自分の物にして見てくださいね。
555774ワット発電中さん:2009/08/14(金) 19:32:16 ID:Ln6iqtxn
PIC16を使ってて動作速度等に不満が出始めたので
PIC18やPIC24、dsPICを検討したいのですが
>>8みたいな選定の目安ってありませんか?

印刷の紙代も馬鹿にならないので、ある程度品種を絞ってからデータシートを読みたいです。
(データシートなんて画面上だと読む気にならないorz)
556774ワット発電中さん:2009/08/14(金) 19:48:16 ID:1vcIh6Is
>>555
どこまで他力本願なんだ。
お前シッコする時も他人に○ンポ出してもらうのか?

PIC16以外は入手が容易な品種がすくないから悩むこたぁねぇ。
秋月の販売リストから使えるピンリストと値段とクロックスピード、メモリサイズをまとめればすぐ終わる。

>印刷の紙代も馬鹿にならないので、ある程度品種を絞ってからデータシートを読みたいです。
いかにも自分はデータシートの隅々まで読むような雰囲気を出しているが、印刷して安心するタイプだろう。
紙のデータシートをちゃんと読むやつが、リストを作るのを面倒くさがる訳はない。
557774ワット発電中さん:2009/08/14(金) 20:31:51 ID:dDPnktSO
PIC18ならとりあえずPIC18F2550 400円
ピン数欲しいなら PIC18F4550 400円
安いのがいいなら PIC18F14K50 200円
このクラスならgccで開発できるAVRに移行するという手も
16bitなら最初からdsPICでいいんじゃね?
558774ワット発電中さん:2009/08/14(金) 20:40:31 ID:dDPnktSO
559774ワット発電中さん:2009/08/14(金) 22:37:57 ID:Ln6iqtxn
>>556にケツ叩かれたので、Device Overviewを全種読んでみた
自分用にまとめた物だけど、誰かの役に立つかもしれないので参考に晒してみる

秋月のPIC18FシリーズDIP品限定
○18,20pinはこれしかない。14K50は3.2V LDO搭載、しかも電圧リファレンス内蔵でADC楽々って凄ぇ・・・
18F1320-I/P  \400  18     DIP   4kW  .256byte  256byte     7ch 31k-8M   40MHz  4.2-5.5V  
18F14K50-I/P \200  20     DIP   8kW  .768byte  256byte     9ch 31k-32M   48MHz  1.8-5.5V  あり
○28pinは4種売ってるけど、実質2550一択。
18F2320-I/SP \500  28     DIP   4kW  .512byte  256byte     10ch 31k-8M   40MHz  4.2-5.5V  
18F2450-I/SP \450  28     DIP   8kW  .768byte    0byte     10ch 31k      48MHz  4.2-5.5V  あり
18F2455-I/SP \600  28     DIP  .12kW 2048byte  256byte     10ch 31k-8M   48MHz  4.2-5.5V  あり
18F2550-I/SP \400  28     DIP  .16kW 2048byte  256byte     10ch 31k-8M   48MHz  4.2-5.5V  あり
○USB使うなら、40pinも4550一択だね。
18F4520-I/P  \420  40     DIP  .16kW 1536byte  256byte     13ch 31k-32M   40MHz  4.2-5.5V
18F4550-I/P  \400  40     DIP  .16kW 2048byte  256byte     13ch 31k-8M   48MHz  4.2-5.5V  あり 
          価格 pin パッケージ FLASH   SRAM EEPROM 10bit ADC 内蔵CLK MaxCLK 動作電圧 USB

ここまで調べてみたけど、>>557でFAだった。
560774ワット発電中さん:2009/08/14(金) 22:46:18 ID:6hdNbdN/
400円超えると、PIC24とdsPICも候補に…とケツつねってみる。

混沌といえるほどのバリエーションがPICの命なのか仇なのか…。
561774ワット発電中さん:2009/08/14(金) 23:40:04 ID:X+Uzz0f0
なんだこの200円野郎。16Fを一掃する気か。
562774ワット発電中さん:2009/08/14(金) 23:47:52 ID:+c4VI3oA
1.8Vってのが良いな。早く0.9Vで動くの出して欲しい。
電池一本とコイルでLEDチカチカ出来る。
563774ワット発電中さん:2009/08/14(金) 23:57:28 ID:LruiSHLM
16kWの発電量か
564774ワット発電中さん:2009/08/15(土) 00:08:26 ID:1jcNXUuw
18Fもここまで安くなると16F要らなくなっちゃうな
20pinのICソケット買い損ねた…
565774ワット発電中さん:2009/08/15(土) 01:16:03 ID:RBdUQ5lj
データシートって印刷して使うもんなの?
566774ワット発電中さん:2009/08/15(土) 01:58:39 ID:dFrKqBLH
>>565
そんなわけないだろ
地球を壊したいのか
567軽石:2009/08/15(土) 02:03:42 ID:ifsBQPpg
そんな簡単に壊れません。(^o^)
データシートを見なくても、ゴーグル先生に聞いたり掲示板で聞けばいいみたいです。
568774ワット発電中さん:2009/08/15(土) 02:19:06 ID:HptxhDJP
よく使うデバイスは印刷してる。
AdobeReaderの、A4一枚に2ページ収めてくれる機能使えば枚数半減。
厚みも半減だから普通のA4横綴じファイルに綴じられる。
あとはコッソリ私用に使っても問題にならないレーザプリンタがあればベストw
569774ワット発電中さん:2009/08/15(土) 02:29:10 ID:oManH53/
レーザープリンタはあるけどDSは滅多に印刷しない。PDFの方が検索できるし便利。
ディスプレイに30インチを使ってる。
DSだけじゃ無く、ソースも見やすいしエロ動画も迫力で一石3丁
570774ワット発電中さん:2009/08/15(土) 03:36:19 ID:rJrjPeG3
印刷するのは、レジスタマップと、ピン配置図ぐらいかな
あとはPDFのまま読んでる。
その方が検索楽だし。
571774ワット放電中さん:2009/08/15(土) 07:37:56 ID:cybiC1rK
18F の J K シリーズ(低電圧製品)は、ポートによって耐圧と電流が異なるから
その辺りが DS 1枚で見れたら良いのにね。
複数枚に渡るから結局ソースリストにメモ書きで残すのよね。
572軽石:2009/08/15(土) 08:19:29 ID:ifsBQPpg
> AdobeReaderの、A4一枚に2ページ収めてくれる機能使えば枚数半減。

それはプリンタドライバの機能みたいです。(^o^)
573774ワット発電中さん:2009/08/15(土) 10:16:59 ID:1jcNXUuw
>>572
プリンタドライバにその機能が無くてもAdbeReaderの印刷設定で出来るからAdobeReaderの機能だろう。
最近はプリンタドライバに割付は標準でついてるけどな。両方で2ページ/枚の設定をすると4ページ/枚になる。
574軽石:2009/08/15(土) 12:56:16 ID:ifsBQPpg
> AdbeReaderの印刷設定で出来るからAdobeReaderの機能だろう。
それがプリンタドライバの機能みたいです。(^o^)
575774ワット発電中さん:2009/08/15(土) 13:29:17 ID:BsQnfiIH
>>574
ほんとにプリンタドライバの機能かな?
Adobe Reaer 9.1.3を使ってますが、
印刷ダイアログの「プリンタ」グループの「プロパティ」ボタンで、
割り付け印刷が選べないプリンタでも、
同じ印刷ダイアログの「ページ処理」グループの「ページの拡大/縮小」でなら
「1枚に複数ページを印刷」が設定できるみたいですけど。
576774ワット発電中さん:2009/08/15(土) 13:44:09 ID:ifsBQPpg
>573
コンパイラやソフトの話をするときは、バージョンを必ず書きましょう。
みんなが最新を使っているとは限りません。(>o<)
577軽石:2009/08/15(土) 13:45:21 ID:ifsBQPpg
名前書き忘れました、軽石です。
578774ワット発電中さん:2009/08/15(土) 13:47:01 ID:ifsBQPpg
>割り付け印刷が選べないプリンタでも、

どんなプリンタですか?型名を書いてもらわないと、軽石には判りません(>o<)
579575:2009/08/15(土) 16:53:27 ID:BsQnfiIH
や、しまったな。>574にコメントしたのは間違いだったな。
なによりも、>>573に良いこと教えてもらったと礼を書くべきだったのに。
580774ワット発電中さん:2009/08/15(土) 18:38:26 ID:HptxhDJP
以降>>541でお願いします。
581774ワット発電中さん:2009/08/15(土) 21:03:50 ID:Ot+kfyD3
騙りの人。アクがなさ過ぎでつまんない。所詮は騙り。
582karuishifactory軽石:2009/08/16(日) 00:02:51 ID:ifsBQPpg
>581
重石さん、そういうフォローをすると、またFPGAインフォメーションみたいになります。(>o<)

>575
そろそろ機種名が判ったでしょうか。
URLとか示していただけるとわかりやすいです。(^o^)
583774ワット発電中さん:2009/08/16(日) 00:36:41 ID:Q6UHl2fc
Adobe Reaer 9.1.2で>>575さんの方法で一枚の紙に複数のページの印刷ができましたー
使用したプリンタドライバはEPSON PM-A850とCANON PIXUS 560iです。
584774ワット発電中さん:2009/08/16(日) 01:34:02 ID:h2i+Gdjo
軽石は、腹を切って死ぬべきだ。また、彼らはただ死んで終わるものではない。
唯一神又吉イエスが地獄の火の中に投げ込む者達だ。
彼らの支持者も同様だ。理由は他人にスレ違いな要求するなら自分が該当スレに移動すべきだからだ。
詳しい理由はAdobeReaderのヘルプにて熟知すべし。
585軽 石:2009/08/16(日) 02:43:42 ID:5m60t18z
>583
ドライバーのバージョンは幾つでしたか?

>584
Readerのヘルプには軽石が切腹しなければならない理由は書いていないみたいです。(>o<)
どの辺に書いてあるのでしょうか。検索ワードなどを示してもらえると、手間が省けます。(^o^)
586がとおりすがし:2009/08/16(日) 03:30:31 ID:WYoFDXzy
>>575
うちのリーダーにはそんなのないぞ。
Windows版での話か
Wndows以外はPCじゃないのか。
軽石もうざいが、俺が言うことが常識ってやつも害悪だ。


>>584
軽石以上に何言ってるかわからないぞ。腹切の理由がReaderのHelpに書いてるみたいだ。
小難しい単語並べりゃいいってもんじゃないぞ>両人。
587774ワット発電中さん:2009/08/16(日) 06:48:52 ID:U2iJammW
>>586
Windowsを使うことが常識と言いきってしまうのは確かにおかしいけれど、
「パソコン使って○○している」といえば、世間の大半の人は
「Windows(あるいはMac)のことなんだろうな」と想定するんじゃないかな。
そのことをいちいち害悪だと罵っていたら世間とうまくやっていけないような
気がしますよ。

ちなみにHelpです。
ttp://www.adobe.com/jp/support/kb/ts/229/ts_229571_ja-jp.html#anc_c
うわ。ここもWindowsかMacが前提になっています。
588774ワット発電中さん:2009/08/16(日) 06:53:57 ID:ava+FERc
>>586
> Wndows以外はPCじゃないのか。
圧倒的にユーザーが多いから仕方がないんじゃね?
質問した奴もWindowsユーザーらしいし
589774ワット発電中さん:2009/08/16(日) 07:47:24 ID:U2iJammW
Linux版だとNGなのかなと思って(PICの開発をLinuxでやってる人って
どれぐらい居るのかな? MPLAB自体が完全にWindows前提っぽいよね?
という話は置いておいて)
Ubuntu 8.04を起動してAdobeReader 9.1.2をインストールしてみたよ。
ちゃんと複数ページ印刷できた。

590774ワット発電中さん:2009/08/16(日) 08:02:57 ID:lbphUeXe
荒らしに反応イクナイ!
591774ワット発電中さん:2009/08/16(日) 11:58:22 ID:I/JS+PAg
Adobe Reader 7.0でもその機能あるよ。確か、6.0や5.0の頃にも既にあった
気がする。

ただ、自分はいつもプリンタドライバ側の割付機能の方を使っている。

昔、両面印刷ONなどと併用して複数ドキュメントを印刷すると、2つ目の
ドキュメントが、前のドキュメントの最終ページの裏に印刷されたりと、
いろいろ不都合があったので、ページサイズの拡大/縮小だけで、Acrobat
Readerの集約機能する機能を使うのはやめた。
592774ワット発電中さん:2009/08/16(日) 19:45:14 ID:h2i+Gdjo
これ以上はこちらへどうぞ
(AdobeReader専用スレは無かったので)

ソフトウェア板総合質問スレッドVol.2
http://pc12.2ch.net/test/read.cgi/software/1224680748/
593774ワット発電中さん:2009/08/16(日) 20:23:40 ID:jx33lZBB
18Fってアセンブラレベルでは16Fとどの程度互換性があるんだろう。
と、データシート読まずに聞いてみる。
594774ワット発電中さん:2009/08/16(日) 20:53:37 ID:lbphUeXe
>>593
i8080とi8086の互換性と同じくらいじゃね?
595774ワット発電中さん:2009/08/16(日) 23:24:22 ID:W1skmUs0
>>593
互換性というか全然違うね。
16Fのアセンブラは読む気になるけど 18Fのアセンブラはちょっと勘弁。
でも 18Fの方がずっと高機能になっているみたい。
596774ワット発電中さん:2009/08/17(月) 00:28:44 ID:u/gmKkYf
互換性と言ったら「ない」が答えだろうか。そのままでは動かないと言う意味で。
ただ、基本的なスタイルは継承してるから、16Fのアセンブラ読めれば、命令表見なくてもなんとなく読める。
movf、movlw、bcfとかの根本の命令の名前は同じだし、使い方もACCESSフラグが一個増えてるだけでそれ以外は同じ。
ジャンプ命令はかなり増えてるから流石に命令表見ないとわからんね。
597774ワット放電中さん:2009/08/17(月) 04:35:15 ID:kMLD/AXH
>>593
割り込みは HIGH LOW グループの2段構えで便利。retfie FAST が使えるのは HIGH 側のみ。
でも SFR も 2byte 以上に拡張されてるので保存に注意してね。
FSR1 を 使わないでプログラムしておくと C言語併用時に移行が楽です。(FSR1 = stack)

incf decf では STATUS,C も変化するので注意してね。
598774ワット発電中さん:2009/08/17(月) 19:03:22 ID:vfN4XZ/C
> ジャンプ命令はかなり増えてるから
「STATUS」と書かないで条件分岐できるなら惚れそうだ。
何度も何度も何度も書く必要があるのに6文字もあるレジスタ名・・・・

> incf decf では STATUS,C も変化
キャリー/ボローは、16Fでも鬼門だったw

これで8ピン150円とか出たら、本当に一掃されちゃいそう。
599774ワット発電中さん:2009/08/17(月) 19:12:32 ID:IHc3IOni
16Fでもマクロに登録しておけば普通に
bz、bnz、bc、bnc、beq
なんて使えるから、不便な思いをした事が無い。
600natu:2009/08/17(月) 20:47:55 ID:03/fwUrB
MPASMだと、デフォルトで登録済み
601774ワット発電中さん:2009/08/17(月) 21:20:36 ID:IHc3IOni
>>600
ほんとだ。ありがとう。
602774ワット放電中さん:2009/08/17(月) 21:23:02 ID:kMLD/AXH
>>600 こっちも ど〜ぞ
http://ww1.microchip.com/downloads/en/DeviceDoc/33014K.pdf
DS33014K-page 39〜41 演算子
DS33014K-page 259 定義済みマクロ

CBLOCK なんかを 使うと RAM 定義が楽チンになる。( MPLINK 使用時、CBLOCK は 使えないのが欠点)
603774ワット発電中さん:2009/08/18(火) 00:50:14 ID:rtvRzvi1
STATUSなんてヘッダで定義されてるだけの文字列だからSTに変えてしまえ
604774ワット発電中さん:2009/08/18(火) 12:24:02 ID:7Hm5HXgL
話、ぶった切りですみません、教えてください。

PICでCで開発するとき、デバッグ環境に、オススメは何か教えてください。
というか、一般的に多くの人は○○と○○の組合せ使ってるよ、みたいな話が聞きたいです。
宜しくお願いします。
605karuishifactory:2009/08/18(火) 12:33:33 ID:d6ctyKgh
CCS-CとMPLAB ICD2です(^o^)
606774ワット発電中さん:2009/08/18(火) 13:03:14 ID:WAHJWA2g
MPLAB IDEと統合できるCなら隠者ね?
純正C18,C30の他、HI-TECH PICC, CCS-C・・・とか使える
MPLAB IDEでは純正デバッガ PICkit2/3やICD2/ICD3など使える

趣味でやってる人では自作ライタが多いかもしれないけど
今ではPICkit2多機能で安いからオヌヌメ
607774ワット発電中さん:2009/08/18(火) 17:09:27 ID:OQhWZmU3
MPLAB + C18 + PICKit2で快適なデバッグライフを送っております。

C18は評価版の期限が切れる前に新しいバージョンが出てくるから困らんな。
すでに2回先の期限切れまで新バージョンのストックがある俺。
608774ワット放電中さん:2009/08/18(火) 23:17:14 ID:yHam3xYm
>>607
C18 C30 共に 期限が切れたらレジストリを消せば何度でも使えます。
C18 の正規版は有るんだけど、最適化はデフォルトの無しでしか使っていません。
609774ワット発電中さん:2009/08/18(火) 23:32:02 ID:xQJ3CPhc
HI-TECH C の解説のいいサイトはない?
ad変換がしたいんだけど。
610774ワット発電中さん:2009/08/18(火) 23:37:50 ID:goRG7BBQ
PICにCはいるのかしらん?
確かにアセンブラは面倒くさいのだが・・・。
Cがあると便利なのでしょうかね?

611774ワット発電中さん:2009/08/18(火) 23:59:07 ID:vENGQtkb
>>610
俺も最初は PIC10F200用のプログラムを書くのにアセンブラでバリバリ書いてやろうと思っていたけど、
やっぱり PICのアセンブラはちょっと使いにくいので Cで書いてみたら、簡単なプログラムが さらに簡単に
書けたので Cを使う事にした。確かに多少リソースを多めに食うだろうけど、開発効率が違ってくる。
612軽 石:2009/08/19(水) 02:16:02 ID:Q7Ty6ye5
>609

ものには頼み方があります。(>o<)
挨拶の変わりに、固定的なハンドルネームを決めてください。
ステハンでの汁もんは失礼です。
609さんはゴーグル先生を知っていますか?
質問する前に、最低ゴーグル先生に聞きましょう。

http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4ADBR_jaJP234JP235&q=pic+hi-tech+c+AD
簡単なキーワドで沢山出てきます。(^o^)

また、ソフトウエアの質問は、必ずバージョンやPICの型名をかいてください。
PICといっても、沢山あります。
613774ワット発電中さん:2009/08/19(水) 09:09:00 ID:IAIjOlUq
次々と新手を考えるもんだな。
今度は「軽 石」をNGワード登録せんといかん。
614774ワット発電中さん:2009/08/19(水) 18:56:59 ID:LY699+m/
相変わらず、騙りは騙りレベルw 
615774ワット発電中さん:2009/08/19(水) 21:34:04 ID:5PjyNnr8
HI-TECH C は、あまりメジャーじゃない?
CCSは、いっぱいあるけど・・・
616774ワット放電中さん:2009/08/19(水) 22:55:17 ID:kB6j3m+u
>>615
マイクロチップ社は、HI-TECH C の会社を 丸ごと買収しましたので
今では PIC16F・PIC12F・PIC10F シリーズの純正コンパイラに昇格しました。
6178080A:2009/08/19(水) 22:59:40 ID:K1RENTcQ
はじめまして どうぞよろしくお願いします
35年くらい前にTK-80をしたことがあります。ずーーっとブランクがあって
PICに出会いました。簡単にできるので気に入っています。

今は、16F629をアセンブラでプログラミングしています。
よくわからないところがあります。
bsf GPIO,0
bsf GPIO,1
bsf GPIO,2
とすると、いつのまにかGPIO,0 がクリアされています。
それで、解決方法としてはまとめて
movlw B'00000111'
movwf GPIO
というようにまとめて書き込んでいるのですが、
IOはビットごとに操作すると不安定なのでしょうか?
何か、いい解決策はないでしょうか?
よろしくお願いします。
618774ワット発電中さん:2009/08/19(水) 23:25:04 ID:zIKskz2m
今から始めるとしたらどれがいい?
619774ワット発電中さん:2009/08/19(水) 23:32:52 ID:YWO238J4
はじめまして
今PIC16F84aを使って赤外線通信をしようとしているのですがエラーが出て困っています。
MPLABv8.10とHI-TECH C PROのライト版を使っています。
コンパイルをするとエラーのとこに
Error [237] G:\09_ROBOCON\delay.c; 12. function "_DelayMs" redefined
とでてきます。
HI-TECHについてたdelay.hを同じディレクトリとプロジェクトに入れてるのにこのようになってしまいます。
なにがいけないのでしょうか?
よろしくお願いします。
620774ワット発電中さん:2009/08/19(水) 23:41:45 ID:B/JHiaqL
redefined って書いてるじゃん
621774ワット発電中さん:2009/08/19(水) 23:44:25 ID:6D9NsQpH
>617
BSF同士の間にNOPを1つずつ入れる。

PICの問題点としては有名な話。
http://einst.hp.infoseek.co.jp/knowhow.html
622774ワット発電中さん:2009/08/19(水) 23:51:30 ID:YWO238J4
>>620
redefinde=再定義・・・
2回定義してるってことでしょうか?・・・
すいません、こんなエラー初めてで・・・
623774ワット発電中さん:2009/08/20(木) 00:04:53 ID:B/JHiaqL
>>622
チェックしてから再質問してるのか?
624774ワット発電中さん:2009/08/20(木) 00:05:09 ID:XKHbfkzK
>>622
そういう時は、コンパイラのユーザーマニュアルをどうぞ。

(237) function "*" redefined
More than one definition for a function has been encountered in this module. Function overloading
is illegal
625774ワット発電中さん:2009/08/20(木) 00:13:35 ID:IxS87Ho0
>>623
すいません浅はかな質問でした
>>624
ありがとうございます

626軽  石:2009/08/20(木) 00:38:23 ID:9kxE3uu5
> delay.hを同じディレクトリ"と"プロジェクト"に"

> "_DelayMs" redefined

redefinedの意味を調べましょう。
627774ワット発電中さん:2009/08/20(木) 01:26:19 ID:9xwkfBrW
>>617 >>621
便乗なんですが、これは "Read-Modify-Write"の話か、"SUCCESSIVE OPERATIONS ON I/O PORTS"の話か、
どっちなんですかね? もしくは両方!?(。Д゚)
もうちょっと注意深くデータシートを読んでみますが、意外と面倒ですね。

# 5.4 I/O Programming Considerations( PIC10F200 英語データシート )
# http://dsaoookily.s10.x-beat.com/view.cgi?pic10f200_en.pdf.html

# 5.4 I/Oプログラミングの注意点( PIC10F200 日本語データシート )
# http://dsaoookily.s10.x-beat.com/view.cgi?pic10f200_jp.pdf.html
628774ワット発電中さん:2009/08/20(木) 01:42:26 ID:IxS87Ho0
redefineは二重定義という意味なので
delay.hをincludeに移してやれば消えました
ありがとうございました。
ここって玄人板だったんですね・・・
629774ワット発電中さん:2009/08/20(木) 02:04:51 ID:OdyzBumV
>>627
両方じゃないかな。
負荷が重いと、"Read-Modify-Write"の問題が出る。

で、I/Oの出力の立ち上がり(または立下がり)が、命令サイクルと比較して遅いと、
"Read-Modify-Write"の問題が出ると言うのが"SUCCESSIVE OPERATIONSON
I/O PORTS"の話だとおもう。

>>628
> ここって玄人板だったんですね・・・
そんなこと無いと思いますけど・・・
630774ワット発電中さん:2009/08/20(木) 02:27:52 ID:w0K2SxQ+
>>628
過去ログ読めばわかるけど別に玄人向けではない。ただあんたの姿勢がよくなかっただけ
631774ワット発電中さん:2009/08/20(木) 02:36:55 ID:zqXH74Yo
そもそも _DelayMs なんて・・・変
delay.c の関数なら _の付かない DelayMsだし

それに delay.h delay.c自体 非PRO版 Liteの名残で
PRO(lite)では無用の存在。
__delay_us() __delay_ms() を使おぅ
632774ワット発電中さん:2009/08/20(木) 09:10:16 ID:s95lHJ9s
敬語使えとか素人お断りとかそんな高飛車ではないと思うけど、・・・とかwwwとか
あまり使わないほうがいいね。心象はよくない。
633774ワット発電中さん:2009/08/20(木) 09:22:48 ID:OnELg1Br
玄人板ではないがジジイ板ではある。
634774ワット放電中さん:2009/08/20(木) 13:00:27 ID:NwYvRprB
>玄人板ではないがジジイ板ではある。
6.3V を 直流で与えると音が良く・・・
僕はナウなヤングだから分からなぃ〜(笑)
635774ワット発電中さん:2009/08/20(木) 19:30:44 ID:TNMiXYpu
>>634
ここはお前の日記帳じゃないんだ、チラシの裏にでも書いてろ、な!
636774ワット発電中さん:2009/08/20(木) 20:01:54 ID:40FoDmV5
>653

年寄りがどなり散らすスレでもないんだYO!
637774ワット発電中さん:2009/08/20(木) 20:42:56 ID:YcPGLJgw
>>612
ゴーグル先生?暑い夏でもスキーウェア着てそしてゴーグルを付けているのか?
638774ワット発電中さん:2009/08/20(木) 20:47:49 ID:YcPGLJgw
なんだ、軽石という偏屈がいると思ったら、五十歩百歩でおまえらみんな嫌な奴だな。
639774ワット発電中さん:2009/08/20(木) 20:50:11 ID:zxXJmcWQ
>>637
ヽ~ノ´Д`) いえいえ、夏はプールでゴーグル付けて泳いでます。
640774ワット発電中さん:2009/08/20(木) 21:16:01 ID:40FoDmV5
軽石は偏屈じゃなくて、ただの高卒就職浪人でコンプレックス持ちの粘着バカだよ。
ゴーグル先生、捨てハンだめよ、そればっかり。

なんか作ってみろて。子供でもいいぞ。既婚43歳
641774ワット発電中さん:2009/08/20(木) 21:16:56 ID:40FoDmV5
畜生、アゲテやる!
6428080A:2009/08/20(木) 21:22:53 ID:Tlt5awLY
>>621 >>627
どうもありがとうございます。
試してみます。
643774ワット発電中さん:2009/08/20(木) 22:36:41 ID:ycPtLCVe
みんなおせっかいなくらい良いやつだと思うけどなあ。
ブツブツ言いながら結局ヒントとか答え書いてるし。
644774ワット発電中さん:2009/08/20(木) 22:45:33 ID:Wge3gXTo
軽石はじめ、コンプレックスが原動力じゃね?
初心者相手に、俺の方がなんぼかましって、会社じゃお荷物だけど俺だって役に立つことがあると。
問題は居心地良くて、初心者粘着になり果ててしまうことだね。

別件、せっかく会社辞めてPICの呪縛から逃れたんだから、PSoCのスレに来てくださいよnyannyannyanko様。
645774ワット発電中さん:2009/08/20(木) 22:46:18 ID:Wge3gXTo
軽石はじめ、コンプレックスが原動力じゃね?
初心者相手に、俺の方がなんぼかましって、会社じゃお荷物だけど俺だって役に立つことがあると。
問題は居心地良くて、初心者粘着になり果ててしまうことだね。

別件、せっかく会社辞めてPICの呪縛から逃れたんだから、PSoCのスレに来てくださいよnyannyannyanko様。
646774ワット発電中さん:2009/08/20(木) 22:48:35 ID:Wge3gXTo
HI-Tech買収したMicrochipなんか大っきらいだ!
647774ワット発電中さん:2009/08/21(金) 00:36:51 ID:uTmkKrbf
dsPIC33FJ256GP506使ってるんだが、意味不明のアドレスエラーで起動直後に止まってしまう
エラータにも同様の症状載ってて、回避方法としてコンパイル時のコマンドラインオプション指定すればよいとのことなんだが
なぜか効かず、やっぱり止まる
しかも、毎回じゃない 数回に一回は動作する
回避方法色々試したんだが、エラー割り込みで引っ掛けて即ソフトウェアリセットすれば動作することが分かった
今のところ順調だが、なんかの拍子に止まるんじゃないかと不安だ
なんか情報ないかな?
648774ワット発電中さん:2009/08/21(金) 00:56:35 ID:cjV5GTcd
電源腐っているんじゃないの?
それともオーバークロック状態でアドレスカウンターが吹っ飛んでいるとかね。
649774ワット発電中さん:2009/08/21(金) 02:12:03 ID:uU6UqKZ/
リセットピンオープンとか、パスコンまるでなしとか。
電解のみで積セラなしとか。
初期の後閑さんは基板はじに100uF一個で他まるでなしってあったな。
さすがソフト系の人。

> 意味不明のアドレスエラー

なんで判るの?
650774ワット発電中さん:2009/08/21(金) 09:25:22 ID:YEnI8QzW
PIC18F2550のEUSARTがSPBRG=0で正常に動作しない件で質問した者だけど、
Microchipに問い合わせたら、既存のエラッタを確認しろの一点張り。
バグと認めたくないのか。
651774ワット発電中さん:2009/08/21(金) 09:46:08 ID:otUKK4Cn
>>650
 ネット経由か何かでメーカーに直接問い合わせしたとしたら、
面倒だから相手にされていない可能性が高い。

 商社経由で今後の取引量を人質にすれば動いてくれるが、
商社自体が対応を嫌がる時もある。
652774ワット発電中さん:2009/08/21(金) 12:09:50 ID:XTmP+zwv
>>648
> 電源腐っているんじゃないの?
> それともオーバークロック状態でアドレスカウンターが吹っ飛んでいるとかね。
電源をシンクロで見ながらやってるが、普通に安定している。電源とMCLR端子は特に問題ないように見える
が、MCLRに入れてるコンデンサ定数変えると不具合発生頻度が変わるので、電源まわりの可能性は捨てきれない
UART使ってるんで、クロックが正常なのは確認済みと思っている

>>649
> リセットピンオープンとか、パスコンまるでなしとか。
> 電解のみで積セラなしとか。
すべての電源ピンに0.1uセラコン付き

> > 意味不明のアドレスエラー
> なんで判るの?
デバッグでも、書き込み直後のみ同様の症状が出る
エラー割り込みで引っ掛けたら大体このエラーに引っかかる
たまにどこにも引っかからずにリセットかかる
653774ワット発電中さん:2009/08/21(金) 13:23:24 ID:QXMsgDQU
>>652
何V、何MHzで動かしているか判らないけど、ストレージオシロ使わないとダメだよ。
シンクロって事はアナログオシロ使っているんでしょう。
突然リセットが掛かる動作は電源の瞬断も考えられる。
アナログオシロとかでは見えないから判らない。
MCR周りで変わるとすればリセットがうまく効いていないってのもあるね。
電源の立ち上がりがだらーとしている場合におかしな動きする場合がある。

以前PICを使っている時に電源ラインにちょっと大きめの電解コンデンサを入れないとうまく動かないって話を聞いた事がある。
セラミックコンデンサ0.1uFを入れたら安心ってもんじゃないぞ。

もしかしたらリセットICを使えば安定するかもよ。
654774ワット発電中さん:2009/08/21(金) 16:47:21 ID:yYvmQJr7
>>650
>Microchipに問い合わせたら、既存のエラッタを確認しろの一点張り。
以前Microchipのサポートを利用したときは、かなり親切に対応してくれたけどな。
質が変わったんだろうか。
655774ワット発電中さん:2009/08/21(金) 17:24:48 ID:UxxLdQg2
>>654
650がモンスターなだけだろ。
656natu:2009/08/21(金) 18:56:34 ID:/UP6CDRw
>>647
>エラータにも同様の症状載ってて、回避方法...
C30のコマンドオプションが回避方法ってことは、デバイスのエラッタじゃ無いよね?どんなエラッタ?
657774ワット発電中さん:2009/08/21(金) 19:37:53 ID:7T+IagCG
> 650がモンスターなだけだろ。
あの小池は良かった。
658774ワット発電中さん:2009/08/21(金) 20:00:01 ID:uTmkKrbf
>>656
デバイスのですね
PSVの最初の4バイトに特定のアドレッシングモードでアクセスするとアドレスエラーが起こる、と書いてある
C30のreadmeみると、アドレスエラー、またはリセットって書いてあるんで、状況と一致する

C30の3.11以降で、コマンドライン指定により、そういう命令を作らないようにコンパイルしてくれるみたいだけど、
指定してもまだ発生するので困ってます。最初は起動時だけだったけど、ファームウェアが大きくなってきたら
別の場所でも発生するようになった。いや、困った。

最終的には、コンパイル後の命令を一個ずつチェックするしかないかな。
いや、PSVの最初に、絶対使わないconst long入れとけば良いのか?
来週試してみよう
659natu:2009/08/21(金) 21:09:19 ID:/UP6CDRw
>>658
>http://ww1.microchip.com/downloads/en/DeviceDoc/80446B.pdf
これかぁ。英語の表現が微妙だけど..constが32Kbyte以下なら先頭4バイトに
ダミーを入れとくだけで回避出来そうな気がしますね。

ファイル名だけでリンク順を制御出来たっけ?gldをいじるのが早そうだけど
660774ワット発電中さん:2009/08/21(金) 23:36:25 ID:uS/vzlgb
CMOSセンサー買ってPICで画像処理しようと思ったら、画像が1.3Mあるのですよ。
で、2MB位のSRAMに記憶して処理したいのでけれど、
CMOS→SRAM→PICかな?それとも、CMOS→PIC→SRAMかな?
というかPICで外部のSRAMって扱えますか?
いよいよ、俺もPIC卒業か?どのマイコンならいいの?
661774ワット発電中さん:2009/08/21(金) 23:45:58 ID:8C72Zvcd
CMOSによると思うけど、直接SRAMを扱えるインターフェイスが付いたCMOSセンサじゃないとたぶんデータ格納できんぞ?
CMOSセンサ側からマイコン相手にSPIかなにかで情報を送れるようになっていれば、あとはマイコン側では外部パス付きで接続したSRAMで処理するんじゃないかと。
H8ならタイニー以外なら外部パスが有るけど、PICにも外部パス付ってあったっけ?

むしろ1.3Mモノ情報をどんだけ時間を掛けて処理させるつもりなのかが気になるところだが。
SRAM2MBって小さい組み込みリナックス動いちゃうんじゃね?
処理速度から言ってH8かSHが良いと思うけどなぁ、PICから見ても3倍速どころじゃないし。
662774ワット発電中さん:2009/08/21(金) 23:57:43 ID:vPz6FJCk
>処理速度から言ってH8かSHが良いと思うけどなぁ、PICから見ても3倍速どころじゃないし。
無知は恥ずかしいな。
663647:2009/08/22(土) 00:04:41 ID:IpWm7je0
コンパイラのメッセージをよくよく見たら、
pic30-coff-cc1.exe: warning: Options have been disabled due to expired license

だって
そりゃオプション入れてるのに効かないはずだわ
もうちょっとあがいてみて、それでもだめなら購入か
いくらだったっけ?社長買ってくれるかな?
664774ワット発電中さん:2009/08/22(土) 02:06:01 ID:BM47zTS2
つ アセンブラ
665774ワット発電中さん:2009/08/22(土) 05:41:22 ID:+iMy9Gkb
>>660
CMOSセンサーの読み込み速度がわからんけど
速度が重要でないなら512バイトのバッファ用意して
SDカードにその都度書き込むとか。
PICからSRAM2MB扱うのはしんどいよ。
アドレス線がとりあえず21本分いる。
少ピンでやるならラッチとシフトレジスタやデコーダでなんとかするとか。
アドレス決め打ちならCMOS→SRAM→PICという順にもできるけど
もはやPICで処理する意味があるのか疑問。
666774ワット放電中さん:2009/08/22(土) 06:23:57 ID:zchfrraT
>>660
かなりの大掛かりな物を処理するようですね。
もう PIC より Blackfin の方がお勧めかな?
VisualDSP++ の C言語の最適化は凄かったよ、アルゴリズムを大きく変えても出来上がる HEX は同一だったなぁ。
プロテクトは掛けられないけど、ROM から逆アセンブルしたところで C言語まで持って行けないから、デッドコピーまでしか作れない。
↑を参考に応用しようは無理だと思われる。

市販品では H.264 の画像処理を行っている物もあるよ。
667774ワット発電中さん:2009/08/22(土) 06:42:26 ID:IVY4UA2l
PICをAVRとか他のマイコンに置換して、
他のマイコンスレにマルチしてるかと思ったらしてないなw
668774ワット発電中さん:2009/08/22(土) 08:10:37 ID:2MtebCdW
>660
Numonixにシリアルのフラッシュがあるよ。
128Mbit品とかあるし。
http://www.alldatasheet.com/view.jsp?Searchword=25P64V6P
669774ワット発電中さん:2009/08/22(土) 08:55:35 ID:rX13C1s4
世の中どんどんシリアルだな
7セグですらうざい
670774ワット発電中さん:2009/08/22(土) 09:47:21 ID:Z8lslczh
>>669
だな。
俺の学生時代の知識ではシリアルなんて超低速デバイスだと思ってたが今は逆だもんな。
昔と違い簡単になったし。
671774ワット発電中さん:2009/08/22(土) 09:59:37 ID:aK/7Z9zY
MPLAB SIM でシュミレーションを実行すると
CORE-W0014: Halted due to PC incrementing over the Maximum PC address and wrapping back to Zero
このようなメッセージがでて実行できません。
ver8.3です。ご教授お願いします。
672774ワット発電中さん:2009/08/22(土) 10:03:24 ID:kAZ5TBB4
>>671
意味はわかる…よな?
673774ワット発電中さん:2009/08/22(土) 10:04:41 ID:wJU5bPBl
メッセージの意味通りじゃないのか
674774ワット発電中さん:2009/08/22(土) 10:05:22 ID:UGA2tPyd
>>663 >>647
C30 SW006012 \124,000
675774ワット発電中さん:2009/08/22(土) 10:05:44 ID:kAZ5TBB4
>>660
モノクロ 1.3M画素?
676774ワット発電中さん:2009/08/22(土) 11:03:24 ID:sE74mars
まさ英語は読めません、とかいって辞書を引くことさえ放棄してここに丸投げするわけじゃないよね?

そのエラーメッセージの日本語訳(正確でなくても読めた範囲内でよい)と
そのメッセージ内容の何が分からないのか書いてみ?
677774ワット発電中さん:2009/08/22(土) 13:17:58 ID:2nVDxGUT
まあ、辞書引いて意味を見ればわかりそうだな。
俺予想では単純にプログラムが終わってない。
678774ワット発電中さん:2009/08/22(土) 14:30:31 ID:rvboKfow
>日本語訳(正確でなくても読めた範囲内でよい)と
>そのメッセージ内容の何が分からないのか書いてみ?
停止した、due PCへ、増やしている、超え、最大のPCアドレスとラッピング、後ろへ、ゼロへ。
679774ワット発電中さん:2009/08/22(土) 15:32:55 ID:OPZuzpKl
>>678
これはわからんw
680774ワット発電中さん:2009/08/22(土) 16:28:37 ID:2nVDxGUT
>>678
ロボット翻訳にしては性能悪すぎじゃねえのw dueとか日本語になってねーしw
681774ワット発電中さん:2009/08/22(土) 16:50:25 ID:WspH/EP2
プログラムが暴走して割込みベクタ踏んだ、ところまで読んだ
682774ワット放電中さん:2009/08/22(土) 20:44:47 ID:zchfrraT
>>671
http://www.excite.co.jp/world/english/
↑を使うと ↓ の様に翻訳してくれる。 何が分からないのかな?
Halted due to PC incrementing over the maximum PC address and wrapping back to Zero.
最大のPCアドレスの上のPC増加のため立ち止まって、Zeroに包装して戻ります。
683774ワット発電中さん:2009/08/22(土) 20:52:59 ID:BM47zTS2
こっちのほうがわかりやすいかな
http://translation.infoseek.co.jp/
ZeroへMaximum PCアドレスとラッピングについて増加しとるPCのために停止しまんねん
684774ワット発電中さん:2009/08/22(土) 23:59:34 ID:JKnrfIjW
>>660
解像度を落とせ
685774ワット発電中さん:2009/08/23(日) 00:12:40 ID:/6zGoIkf
>>668
256byteが1ms以上掛かるなら、SDカードと大して変わらない。
やっぱり何かしらの方法でバス接続でRAMに書き込んだ方がいい。
DMAでもないと画像処理どころではないけど。
686774ワット発電中さん:2009/08/23(日) 00:52:56 ID:sASNtSVT
MOSセンサなら、読み出しクロック落としてたらたら読んでもおk。
シリアルフラッシュがお手軽。
687774ワット発電中さん:2009/08/23(日) 21:14:40 ID:M2V2OoHj
上の人とは別人なのだが、
MPLAB 8.33 + Hitech C 9.65PL1 lite 、デバイスは12F675に設定して
MPLAB SIM で debugすると、

CORE-W0014: Halted due to PC incrementing over the Maximum PC address and wrapping back to Zero

が出る。なにか設定が足りないのか・・・?
今までアセンブラしか使ったことがなく、Hitech Cを使うのは初めてです。
ググってたらこのスレを見つけた次第です。

なにか気づいた点があったら教えてください。

#include <pic.h>

__CONFIG(UNPROTECT & BORDIS & MCLRDIS & PWRTEN & WDTDIS & INTIO);

void main(void){

  while(1){

   GPIO = 0;

  }

}
688774ワット発電中さん:2009/08/23(日) 21:43:52 ID:CwX+jYKT
689774ワット放電中さん:2009/08/23(日) 22:17:51 ID:mgO/wX94
>>687
MPLAB SIM の状態で

Debugger → Clear Memory → All Memory
Debugger → Run F9 を 選択
690natu:2009/08/23(日) 22:22:21 ID:jr/BwP4J
>>687
アセンブラでもステップじゃなく実行すれば"call 0x3ff"の行で出るでしょ。
retlwだと先読みした"wrapping back to Zero"の命令は捨てるので
気にせずに次のステップへ進もうぜ!
691774ワット発電中さん:2009/08/23(日) 22:34:58 ID:M2V2OoHj
>>690
氷解!
ありがとうございました!!
692774ワット発電中さん:2009/08/24(月) 01:47:22 ID:VVYhGxkC
質問者とは別人だが
CORE-W0014: Halted due to PC incrementing over the Maximum PC address and wrapping back to Zero
のPCってプログラムカウンタのことか。
693774ワット放電中さん:2009/08/24(月) 03:24:08 ID:sAMV0iMk
694774ワット発電中さん:2009/08/24(月) 08:46:06 ID:pAX/+VDC
http://shop.tsukumo.co.jp/goods/0405961918010/201010010000000/

このSDRAMをPICで扱うにはどうすればいいでしょうか?
695774ワット発電中さん:2009/08/24(月) 09:02:39 ID:Lw+YYYvJ
PICでSDか・・・
おれならSHに走るな。
696774ワット発電中さん:2009/08/24(月) 11:34:39 ID:9yyd91R4
>694

最低クロック周波数があるからPICじゃ_。

今度質問するときは、用途とPICの型番書きましょう。
697774ワット発電中さん:2009/08/24(月) 11:38:11 ID:zQVqa8Cs
>>696
直接は無理だがFPGAを介すればできるので全く無理ってわけではない。
698774ワット発電中さん:2009/08/24(月) 11:55:51 ID:9yyd91R4
>697

責任もってFPGAもフォローしてやってくれw。
699774ワット発電中さん:2009/08/24(月) 12:02:55 ID:xlZjmzUw
PICでロボットアーム動かしてそいつで扱えばいいよ。
700774ワット発電中さん:2009/08/24(月) 12:11:08 ID:TjkdcS1b
PICの先にPCをつないでやればOKさ
701774ワット発電中さん:2009/08/24(月) 12:12:46 ID:zQVqa8Cs
おまえらって奴は・・・
702774ワット発電中さん:2009/08/24(月) 12:16:30 ID:a9HQ/+59
メモリはPCに乗せて、PICとシリアルケーブルでつなぐのが一番楽。
703774ワット発電中さん:2009/08/24(月) 12:26:59 ID:9yyd91R4
>701
余計なこと言ってないで、ソースコードつきで答えてやれよ。
704774ワット発電中さん:2009/08/24(月) 12:28:06 ID:MTVic0Y5
>>697-698
それ、PICもFPGAに取り込めね?


しかし…何を思ってPICにSDRAMなんだろうか…
705774ワット発電中さん:2009/08/24(月) 12:32:56 ID:zQVqa8Cs
>>703
なに苛立ってんの?
質問者は解決の方策を聞いているんであって具体的な方法を説明する段階ではない。
FPGAというヒントからその方向に進むのであればヒントを出す。
いまは数ある方策から選択する段階。
706774ワット発電中さん:2009/08/24(月) 12:33:04 ID:9Z0U0oR/
わかっててレスしてるとは思うんだが・・・一応ね。

AVRマイコン総合スレ Part15
http://science6.2ch.net/test/read.cgi/denki/1247238097/726
707774ワット発電中さん:2009/08/24(月) 12:48:22 ID:QrPb/Q/g
>>696
マジレスだが、SDRAMの最低クロック周波数は使用デバイスによって1MHz〜数MHz程度だから、
PICでも何とかなる。
708774ワット発電中さん:2009/08/24(月) 13:07:46 ID:GVl9amxC
どうなんだろう、プリチャージとかリフレッシュとかが忙しそうな気もする・・・
メモリコントローラでも作るのかなあ
709774ワット発電中さん:2009/08/24(月) 13:09:38 ID:bK6Nct7F
SDRAMは色々めんどくさすぎる…
710774ワット発電中さん:2009/08/24(月) 13:11:30 ID:GVl9amxC
どうせならPICで、SDRAMをSRAMのように
振舞わせる回路を作ってくれればおもしろいのに
711774ワット発電中さん:2009/08/24(月) 13:15:34 ID:bK6Nct7F
DRAM特有の動作をチップ内でやっちゃって、I/FはSRAM互換みたいな容量メモリ欲しいなぁ。
712774ワット発電中さん:2009/08/24(月) 14:04:22 ID:QrPb/Q/g
>>711
それ何てPsuedo SRAM
20年以上前からあるよ。
713774ワット発電中さん:2009/08/24(月) 14:05:04 ID:QrPb/Q/g
× Psuedo
○ Pseudo
くそー
714774ワット発電中さん:2009/08/24(月) 14:26:17 ID:pAX/+VDC
>>706

今、向こうのスレを見てびっくりしたところです。
悪意の第三者のいたずらです。
俺はPIC一筋300年。AVRは使い方も分らないのです。
どうしてそんな嫌がらせをする人がいるのか困ったものです。
715774ワット発電中さん:2009/08/24(月) 14:45:55 ID:MTVic0Y5
>>696とそのほかをスルーしてなおイヤガラセだとだけ書きに来るアナタ〜
716774ワット発電中さん:2009/08/24(月) 15:01:12 ID:pAX/+VDC
失礼いたしました。今、FPGAとか言うものと、向こうのスレで見た30pinSIMMが未だに手に入るものか調べていました。
いまこんなページを見ていました。http://www.fpga.co.jp/old/what/what.html
PICで扱えるというアドバイスも拝見しましたし、皆さんのレスを読みながら方向を探ろうと思います。
ありがとうございました。
717774ワット発電中さん:2009/08/24(月) 15:21:42 ID:jXR3+3Q8
>>716
ってかDRAM使って何やりたいの?
目的書くと別の解決方法があるかもよ。
718774ワット発電中さん:2009/08/24(月) 15:38:43 ID:pAX/+VDC
http://www.softech.co.jp/mm_080206_firm.htm
こんなの発見。

>>717
え、そんな・・・上のほうでPICで画像処理したいと言った奴です。
会社で使用している機械が2秒に1個製品を作ります。
その製品の外観検査をしたいのです。
現在の機械は使用していると仕上がりの寸法にずれが生じるので、
画像を解析して機械の制御にフィードバックさせる事で、オートパイロットを実現したいと考えています。
そのズレは一定方向に少しずつ進行するので、マイコンの処理時間が掛かるようでしたら、
2個に1個検査とか、10個に1個検査とかでも何とかなるとは思います。
CMOSセンサ→PIC→SRAM/SDRAM7→画像解析→モーター制御

こんな風にしたいなと思います。
719774ワット発電中さん:2009/08/24(月) 15:39:27 ID:bK6Nct7F
30pinSIMM使うぐらいなら、大容量のSRAM使った方が良くね?
720774ワット発電中さん:2009/08/24(月) 15:43:28 ID:Q+1LmCdv
>>718
なんでPCで直接やらないの?
なんでPICを介する必要があるの?
721774ワット発電中さん:2009/08/24(月) 15:43:36 ID:+rQq8H+o
>>718
おっそろしくスジが悪いとオモ
722774ワット発電中さん:2009/08/24(月) 15:52:58 ID:pAX/+VDC
>>695
どうもです。SHの意味が分りました。もう少し調べてみます。
723774ワット発電中さん:2009/08/24(月) 15:55:10 ID:8OaDSjsc
>>718
PICネタとずれるけど・・・寸法を取れる装置があれば、画像処理やPICはいらないよ。
http://www.nc-net.or.jp/morilog/m98231.html

三次元画像処理になると・・さすがに、PICじゃ無理。最低でもSH-4クラスは居る。
724774ワット発電中さん:2009/08/24(月) 15:55:44 ID:TEbkEOie
>>720
PC買う金が無いんだろ。
そもそも寸法まで認識しなければいけないような処理はPICでは無理。
725774ワット発電中さん:2009/08/24(月) 16:04:03 ID:pAX/+VDC
>>720

PCならお金も掛かるし場所もとる。
あとは会社の自作PCマニアへの対抗心があるな。
これが一番大きいかもな。
726774ワット発電中さん:2009/08/24(月) 16:04:54 ID:Q+1LmCdv
>>724
2秒毎の寸法認識くらいならネットブック程度でも十分でねぇか?
30fpsの処理なら厳しいと思うけど。

SHに手を出したりしたら数万程度は軽く掛かるし・・・
727774ワット発電中さん:2009/08/24(月) 16:05:07 ID:MTVic0Y5
>>718
>>CMOSセンサ→PIC→SRAM/SDRAM7→画像解析→モーター制御

すると、CMOSセンサーの走査線を読みつつ、SDRAMに書きつつ
隙をみてSDに貯めた画像を画像解析に回す…でいいのかな?

まー無理だな。
画像解析とモーター出力は何でやるんだろうか?
728774ワット発電中さん:2009/08/24(月) 16:10:51 ID:pAX/+VDC
>>727
 @ CMOSセンサーの走査線を読みつつ、SDRAMに書く
 A SDに貯めた画像を画像解析しサーボへパルス出力。

@の後Aをやり@へ戻るの繰り返しになります。
729774ワット発電中さん:2009/08/24(月) 16:16:03 ID:8OaDSjsc
>>728
そしたら、これでよいかも知れない。http://akizukidenshi.com/catalog/g/gK-00206/
SH-2マイコンボード。
730774ワット発電中さん:2009/08/24(月) 16:25:19 ID:Q+1LmCdv
>>725
>自作PCマニアへの対抗心
www

その程度の処理速度ならSH2、H8でも十分こなせる。
しかもDRAMなどを接続する事のできる外部バスインターフェースも備わっているのでこちらの方が簡単。
安く上げたいなら2MByteDRAM付きのこちらをお勧めする。
http://akizukidenshi.com/catalog/g/gK-02298/
731774ワット発電中さん:2009/08/24(月) 16:26:14 ID:9yyd91R4
ID:zQVqa8Cs

なんだ、FPGAうってつけのアプリケーションじゃん。
がんばってフォローしてやれー。

そういえば、トラ技に差分検出の記事あったな。PICだかAVRでやるやつ。
732774ワット発電中さん:2009/08/24(月) 16:38:13 ID:Q+1LmCdv
>>731
お前性格悪いな。
733774ワット発電中さん:2009/08/24(月) 16:39:28 ID:pAX/+VDC
>>729-730

ありがとうございます。
このどちらかを掘り下げてゆきたいと思います。
734774ワット発電中さん:2009/08/24(月) 16:43:54 ID:YaoQsdq8
http://akizukidenshi.com/catalog/g/gK-00168/
これ買えば一通りそろうの?
735774ワット発電中さん:2009/08/24(月) 16:46:03 ID:8OaDSjsc
>>731
AVRのスレッドに・・・オシロに時計表示させる話が出ている。確かに、このアプリはFPGAでも出来るな。
736774ワット発電中さん:2009/08/24(月) 16:49:45 ID:8OaDSjsc
>>734
簡単なネットワークアナライザーを作るのに向いているらしい。いろいろ遊べる。
以下、PICに話を戻そう。
737774ワット発電中さん:2009/08/24(月) 16:53:52 ID:+rQq8H+o
>>736
こんなんで、どうやってネットアナ作れっていうんだ?
738774ワット発電中さん:2009/08/24(月) 16:58:42 ID:8OaDSjsc
>>737
「高速ネットワークアナライザー」は無理だ。だから、簡単な・・・という形容詞をつけている。
ちょっとした実験やTCP/TPプロトコルでのデータ転送などの実験用。普通、そうやって使う。
739774ワット発電中さん:2009/08/24(月) 17:21:48 ID:+rQq8H+o
>>738
そういうのは、ネットワークアナライザって言わない。
ネットワークアナライザーでググってみ?
740774ワット発電中さん:2009/08/24(月) 17:25:24 ID:8OaDSjsc
>>739
これのことか?
http://e-words.jp/w/E3838DE38383E38388E383AFE383BCE382AFE382A2E3838AE383A9E382A4E382B6.html
無論、物理的インターフェイスや無線関係のアナライザーも知っているが?
741774ワット発電中さん:2009/08/24(月) 17:31:12 ID:TEbkEOie
>>726
はぁ?
742774ワット発電中さん:2009/08/24(月) 17:33:08 ID:Q+1LmCdv
>>741
何が「はぁ?」なんだ?
743774ワット発電中さん:2009/08/24(月) 17:37:50 ID:YaoQsdq8
画像とかログとして保存しておかなくていいのかな
744774ワット発電中さん:2009/08/24(月) 17:50:18 ID:TEbkEOie
>>742
まず元レスとそれに対する自分のレスを読み直せこのトンチンカン。
745774ワット発電中さん:2009/08/24(月) 18:01:14 ID:MTVic0Y5
認識の前提として、PC≠ネットブックとか、PC≒ネットブック…でないこととか、そういうのを確認しないと…

最近ネットブックのメリット無いほど、据え置き機が安いよね…
746774ワット発電中さん:2009/08/24(月) 18:49:15 ID:43u5sYNB
>>718
マジレスするとPICやめれ
会社の製造工程で使用するなら産業機器メーカーの作ってる画像処理ユニット使った方がいい
オムロンでもキーエンスでもパナソニックでもどこのメーカーでもいいから

>>740
普通ネトアナって言ったら
ttp://ja.wikipedia.org/wiki/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%BB%E3%82%A2%E3%83%8A%E3%83%A9%E3%82%A4%E3%82%B6_(%E9%AB%98%E5%91%A8%E6%B3%A2%E5%9B%9E%E8%B7%AF)
これのことだが?
747774ワット発電中さん:2009/08/24(月) 19:07:36 ID:PhXE9bxp
network analyzerで画像検索したらトップ画面の15/20がRFだな。
748774ワット発電中さん:2009/08/24(月) 19:36:24 ID:gljYZ9pb
>>718
なぜPICにこだわる?
PICなら自分でも使えるという安直な理由ならやめたほうがいい。
自分でそのデバイスで実現できるかどうかすらわからない人が、画像処理なんか実装できるとは思えない。
749774ワット発電中さん:2009/08/24(月) 19:40:12 ID:YaoQsdq8
PIC礫300年だよ
750774ワット発電中さん:2009/08/24(月) 20:27:15 ID:pAX/+VDC
>>746

そうですね自分は勤め先の機械をハイテク化したいという夢があるのですが、
もちろん高額の既製品と買い換えるのではなく、自分で作りたいと思っています。
昔、パソコンがオフィスに入り込んできた時、様々な中小ソフト会社が乱立して淘汰されてゆきました。
それと同じ事がこれから製造現場でも起こると考えています。
そんな訳でH8やSHの方が自分のやりたい事に近そうだと思いました。
751774ワット発電中さん:2009/08/24(月) 20:29:52 ID:RWSNtvHg
>>748
やってみて、ダメだった、も経験だと思うが。
752774ワット発電中さん:2009/08/24(月) 20:30:10 ID:pAX/+VDC
ID:YaoQsdq8

レスどうもです。秋月のリンクのやつ面白そうですね。
753774ワット発電中さん:2009/08/24(月) 20:31:54 ID:pAX/+VDC
>>748
どうもです。
という訳でこれからはH8暦300年で行きます。
754774ワット発電中さん:2009/08/24(月) 20:41:31 ID:bK6Nct7F
USBのカメラと小型PC使う方がコストパフォーマンス良い気がするんだけどね。
755774ワット発電中さん:2009/08/24(月) 20:57:41 ID:TEbkEOie
USBカメラ(WEbカメラは基本圧縮画像を送ってくるから止めといた方がいくね?
YUVorRGBで送ってくるカメラが処理しやすい。
756774ワット発電中さん:2009/08/24(月) 21:00:31 ID:M6IWO/6n
俺はそういう人好きだけどな

757774ワット発電中さん:2009/08/24(月) 21:43:08 ID:XLLkDVCe
>>755
物による。
758774ワット発電中さん:2009/08/24(月) 21:57:53 ID:TEbkEOie
>>757
うん、物とモードによるね。
USB対応の最近のWEBカメラで圧縮無しで送ってくる奴教えてよ。
759774ワット発電中さん:2009/08/24(月) 23:17:26 ID:xovRLNg0
先に圧縮タイプを示してもらおうか。

>705
>
>質問者は解決の方策を聞いているんであって具体的な方法を説明する段階ではない。
>FPGAというヒントからその方向に進むのであればヒントを出す。
>いまは数ある方策から選択する段階。

さあ、数ある方策中からFPGAがいい感じになったみたいだがw。
どうする>705

しっかし、PIC+FPGAとかPIC+SDRAMなんて、軽石ふぁくとりぃこと日シ相テクニカしかやんないだろw。
760774ワット発電中さん:2009/08/24(月) 23:27:19 ID:553dnspn
PICにFPGAは無いよな。
軽石以外は。
761774ワット発電中さん:2009/08/25(火) 00:08:36 ID:wvP75GbH
>>750
その作ったものが仮に動いたとして君が死ぬまで面倒を見る気なの?
運用始まってトラブルが発生したとして短時間に校正して動作保証できる仕組みを作るのは困難でしょ
マジレスすると画像解析なんてオーバースペック

できるだけ単純な仕様で要件を満たしたほうが運用上有利になる
しきい値制御でも良さそうだしアナログ制御したければ
単位個数当りの時間制御とか、センサ1つで実現できる
762774ワット発電中さん:2009/08/25(火) 00:12:28 ID:vXyDy/RD
ホビーとして楽しむのか、プロとしての仕事をするのかの判断を見誤ると悲惨だよね。


本人以上に周りが・・・
763774ワット発電中さん:2009/08/25(火) 00:29:34 ID:uhlFeNym
他の人間が触れないほうが自分の価値があがっていい!
764774ワット発電中さん:2009/08/25(火) 00:42:48 ID:1YYo/yfP
複雑で面倒でトラブル対処困難なほうが当人的には得なんじゃね? 会社員なら。
構築もトラブル対処中も給料は出るんだからね。
765774ワット発電中さん:2009/08/25(火) 00:46:02 ID:RYNEne6C
FPGAって面白そうだね。
766774ワット発電中さん:2009/08/25(火) 01:07:47 ID:RYNEne6C
>>761-764

マイコンを生かすフィールドを持っている人は幸せだと思うよ。
技術はあってもライターしか思い浮かばない人よりはね。
767774ワット発電中さん:2009/08/25(火) 02:25:54 ID:RYNEne6C
>>759

本人はサラッとしか触れていないけど画像認識にこそFPGAって向いてそうですね。
10万回路辺りのFPGAで処理できるなら、ああいう演算処理はまさにFPGAの得意中の得意って所でしょうかね?
768774ワット放電中さん:2009/08/25(火) 07:12:09 ID:Hdg4A5zR
失敗した方が記憶に残るから若いうちは何でもチャレンジした方が良いでしょうね。
ジジイになると冒険は冒さずに可能な選択枝の方に逃げてしまう。ふぅ
769774ワット発電中さん:2009/08/25(火) 08:16:36 ID:aGLr9Alv
これとか近いんだろうね。
http://www.asahi-net.or.jp/~QX5K-ISKW/robot/ball.html

いまならストロベリーリナックスで100画素CMOSセンサ買えるしね。
770774ワット発電中さん:2009/08/25(火) 08:25:08 ID:2MV8Ozlt
解像度が足りればこれなんかでも良いんだと思うけどね。
http://www.robotsfx.com/robot/CMOS-EYE.html
そうするとあとはPICでコントロールできる。

まぁCCDのデーター容量が1.3Mとか言っているから解像度的に足りないんだろうけど。
それよか生産中止かw
771774ワット発電中さん:2009/08/25(火) 13:07:24 ID:FibJPCJK
CMUCAMと言う手もある。
772774ワット発電中さん:2009/08/25(火) 19:01:04 ID:kVpLgCeM
>>759
普通にJPEGだが?
てか質問に質問で返すって馬鹿?
773774ワット発電中さん:2009/08/25(火) 19:18:40 ID:pP/rwjCI
>722

世間知らずがww。
さくっと3つくらい型名あげれw
774774ワット発電中さん:2009/08/25(火) 19:32:20 ID:L2DNFIQk
無関係な>>722がどう出るか見もの
775774ワット発電中さん:2009/08/25(火) 21:08:56 ID:wvP75GbH
>>764
帰れなくなるのは嫌でつ
776774ワット発電中さん:2009/08/25(火) 22:55:24 ID:DD9XCFvm
webカメラ用ってYUV/RGBでない?
センサでJPEG圧縮する意味が....。
携帯用はわかるけど
777774ワット発電中さん:2009/08/26(水) 00:24:51 ID:5/70Y+tM
>776
USBのデータ転送量の制限から、画素数、フレームレートなど
トレードオフの関係になる。圧縮する意味がある。
778774ワット発電中さん:2009/08/26(水) 00:31:34 ID:uI5zNmmy
>>776
俺もそう思って3種類ほど買ったけどJPEGだった。
分解して信号処理LSIの仕様を探してみたんだけど、確かにYUVでも出せるモードはブロック図に乗ってるが、どう設定すればそのモードになるかは書かれてなかった。
779774ワット発電中さん:2009/08/26(水) 00:34:52 ID:VOpjEEAL
SDRAMのキャパシタもすぐに消えるわけじゃないらしく、
規格外だが低クロックから扱う方法も一応あるらしい
780774ワット発電中さん:2009/08/26(水) 08:29:19 ID:JY+DBh46
外形寸法計るだけなら、
NTSC−→コンパレータで白黒2値化
同期信号とパルス幅カウントして・・・
という手もあるのでは?

ただ、こういう画像処理製品を買った方が
早くて確実で結果が出ると思う。
他に工夫しなきゃイカン所も多いし。
781774ワット発電中さん:2009/08/26(水) 10:24:53 ID:aISmXDZt
Webカメラ付属のソフトや、Windows標準のユーティリティがファイルに
保存する際に使う画像形式がJPEGというだけで、USBバス上でのデータ
転送はYUV/RGBがフツーじゃないの?

最近の製品は、USB 2.0ハイスピードに対応だから、VGA(640x480)程度の
解像度で30fpsだと、非圧縮でもなんら問題と思うけど? しかも、専用
ドライバを必要とせず、Windows標準カメラデバイスとして認識される
製品がほとんどでは?

そもそも、Direct-X(Direct Show)等で直接カメラから画像取り込むのに、
途中のバス上でデータが圧縮されているかどうかなんて関係ないだろうに。

>>777-778
具体的に、どこのメーカー製で、どの型番の製品で、どうやってJPEG圧縮
した画像をUSB転送していると判断したの?

WebカメラからMotion JPEG動画を保存しようとした場合、前後フレームの
差分圧縮処理は、PC側でWebカメラの前後フレーム画像を展開した上で、
画像の差分を取ってあらためて圧縮するの?

>>780
NTSCカメラからの映像でどんな精度を期待しているのか知らないけど、
単に寸法(2点間の距離)を測るだけなら、キーエンスやオムロンあたりの
距測センサやフォトカプラで事足りるのでは?
782774ワット発電中さん:2009/08/26(水) 10:36:50 ID:zyFKrO3E
途中のバス上でデータが非可逆圧縮されてたり、最終出力が非可逆圧縮されたファイルだと計測には不適なんじゃない?
783774ワット発電中さん:2009/08/26(水) 10:36:55 ID:pTGF7hGP
Ubuntu+OpenCV最強伝説
784774ワット発電中さん:2009/08/26(水) 11:00:09 ID:aISmXDZt
>>782
脳内までアニメ絵のトレス線で侵されたデジタルゆとり脳か?

非圧縮で取り込まれた静止画像なら、アニメのセルみたいに綺麗な輪郭線が
抽出できるとでも思っているのかな?

視野角60°の標準レンズで対象物から10cmの距離から撮影して映る範囲は
水平方向で約11.5cm。

水平解像度を640ドットとして1ドットあたり約0.2mm。 まさか、非圧縮
の画像であれば、こんな精度で測定可能なんて考えていないよな?

>>782
また、呼んでもないオープン房が湧いて出たか。通信仕様が変わらない
のに、ドライバやアプリを変えたところで意味ないだろ。
785774ワット発電中さん:2009/08/26(水) 11:06:43 ID:OidTzZGq
>>781
MotionJPEGならJPEGを並べてコンテナに格納するだけだからそんな面倒な処理いらないよ

>>784
ちょっと落ち着け
786774ワット発電中さん:2009/08/26(水) 11:08:32 ID:OidTzZGq
どうしてもPICを使うというなら、レーザーをサーボ制御で照射して測定するってのはどうだろうか。
787774ワット発電中さん:2009/08/26(水) 11:24:45 ID:KwR7c0f4
検出に主眼があるけど適切にフィードバックかけれれるのか?
目標値にあわせるなら比例制御じゃオフセット出るので、PID制御が必要とか知らなさそう・・・
788774ワット発電中さん:2009/08/26(水) 11:51:47 ID:MkktRAUY
>>781
USB.orgでVideo Class見たらわかるんだけど

USB_Video_Payload_DV_1.1
USB_Video_Payload_Frame_Based_1.1
USB_Video_Payload_MJPEG_1.1
USB_Video_Payload_MPEG-2_TS_1.1
USB_Video_Payload_Uncompressed_1.1
USB_Video_Payload_Stream_Based_1.1

送られるデータの規格はこれだけ定義されてる。

製品レンジ/用途によって色々あるとしか言えないと思うよ。
789774ワット発電中さん:2009/08/26(水) 15:29:12 ID:RRiziNp2
>>784
君は何と必死に戦ってるんだ?
790774ワット発電中さん:2009/08/26(水) 16:17:36 ID:UPzXiavl
間違っている自分とだねw
791784:2009/08/26(水) 18:03:10 ID:aISmXDZt
>>788
将来を見通して規格上で定義されていることと、現実に製品が存在するか
どうかはまったく別だろう。

>>778 が『3つほど買って試した』という具体的な製品名の1つでも知りたい
ものだ。

Windows 7対応の最新WDKを落として、付属ツール(UVCview.exe)で、手持ちの
130万画素を謳ったバッファローコクヨサプライ製USBウェブカメラのディス
クリプタを表示させてみたが、予想通りJPEGではなかったな。(w

===>Video Streaming Uncompressed Format Type Descriptor<===
bLength: 0x1B
bDescriptorType: 0x24
bDescriptorSubtype: 0x04
bFormatIndex: 0x01
bNumFrameDescriptors: 0x07
guidFormat: {32595559-0000-0010-8000-00AA00389B71} = YUY2 Format
bBitsPerPixel: 0x10
bDefaultFrameIndex: 0x01
bAspectRatioX: 0x00
bAspectRatioY: 0x00
bmInterlaceFlags: 0x00
D0 = 0x00 Interlaced stream or variable: No
D1 = 0x00 Fields per frame: 2 fields
D2 = 0x00 Field 1 first: No
D3 = 0x00 Reserved
D4..5 = 0x00 Field patterns -> Field 1 only
D6..7 = 0x00 Display Mode -> Bob only
bCopyProtect: 0x00 -> Duplication Unrestricted

ちなみに製品の型名は「BSW13K05H」な。
792774ワット発電中さん:2009/08/26(水) 19:19:04 ID:UPzXiavl
馬鹿はこいつww
型名挙げれー

> 名前:774ワット発電中さん[sage] 投稿日:2009/08/25(火) 19:01:04 ID:kVpLgCeM
>>>759
>普通にJPEGだが?
>てか質問に質問で返すって馬鹿?
793774ワット発電中さん:2009/08/26(水) 20:05:04 ID:uI5zNmmy
>>781
logcoolの製品で、中身ばらして、石の仕様書見て判断した。

>>791
logcool QV30SV だったと思う。
794774ワット発電中さん:2009/08/26(水) 20:33:00 ID:MkktRAUY
>>791
書いた通り、製品によって選択肢があるから「普通」の定義は
出来ようが無いんじゃないの?って話なんだがね。

これなんかはYUV/MJPEG両対応
http://www2.elecom.co.jp/multimedia/pc-camera/ucam-dlx300b/
795774ワット発電中さん:2009/08/26(水) 20:43:11 ID:KwR7c0f4
何て言ったらいいか・・・
ひ ど い 流 れ で す ね!
796774ワット発電中さん:2009/08/26(水) 20:57:19 ID:KFdq/lIZ
予想外の大漁で、694はホクホク顔だろうなw
797774ワット発電中さん:2009/08/26(水) 21:20:57 ID:UPzXiavl
> 書いた通り、製品によって選択肢があるから「普通」の定義は
> 出来ようが無いんじゃないの?って話なんだがね。

これが??

>普通にJPEGだが?
>てか質問に質問で返すって馬鹿?
798774ワット発電中さん:2009/08/26(水) 21:35:29 ID:MkktRAUY
>>797
おれ759じゃないよー
799774ワット発電中さん:2009/08/26(水) 21:38:52 ID:uI5zNmmy
ID:UPzXiavlは頭悪すぎて誰が誰かも分かって無さそうだな。
800774ワット発電中さん:2009/08/26(水) 23:22:59 ID:siBrPgz4
>YUVでも出せるモードはブロック図に乗ってるが、どう設定すればそのモードになるかは書かれてなかった。

これだけだったら、JPEGだって言うことにはならないじゃん。
頭悪すぎて(ry
801774ワット発電中さん:2009/08/27(木) 00:28:47 ID:U86N+MKk
>>800
よく馬鹿って言われない?
802774ワット発電中さん:2009/08/27(木) 00:40:30 ID:J2dX+qz/
くやしそw。
803774ワット発電中さん:2009/08/27(木) 01:39:08 ID:YGjsx0Eg
本格的にC言語での開発に取り組みたいのですが、CでPICをされている方達は結局どの開発環境が多い(おすすめ)なのでしょうか?

C18, mikroC PRO,PICC, CCSなどいっぱいあるようですが、個人の趣味レベルで幅広く開発を楽しみたいという場合で、できれば無償、有償であっても対応や開発範囲の広さ•効率が割合的に良いものが良いと思っています。

どうぞよろしくお願いいたします。
804774ワット発電中さん:2009/08/27(木) 02:00:06 ID:J2dX+qz/
後閑さんの解説本があるCCS-Cがいいな。
組み込み関数豊富。
でも高いかも
805774ワット発電中さん:2009/08/27(木) 02:47:52 ID:Ae8yAczx
CCS-Cが いくら高いからといって、"ccs 4.088 torrent"で Googleして、
BitTorrentで DLして使うなんて、凄くイケナイことだと思う。イケナイ… イケナイ…
806774ワット放電中さん:2009/08/27(木) 06:35:57 ID:VB32MPwI
>>803
PIC18Fシリーズなら、数年前は組み込み関数が豊富な CCS-C の方が良かったけど、
今では Microchip 純正の C18 の方が良いですね。
LAN (TCP/IPスタック) や USB 関連も Microchip の HP からダウンロードして
MPLINK で組み込んで使えます。
807774ワット発電中さん:2009/08/27(木) 07:59:30 ID:SpJzUvlk
>>803
C18の無料バージョンを使うっていうのが、一番正しい。
最適化に関しては、気にしなくてヨロシ。

そもそもgccベースなのに金取るっていうのが気に食わん。

808774ワット発電中さん:2009/08/27(木) 09:33:04 ID:9qv8QHTm
gccベースってことは、GPLの派生物にならないの?
金取るのは良いけどソース公開が義務とかなんとか
809774ワット発電中さん:2009/08/27(木) 09:42:21 ID:O8d2F1JP
>>807
C30はgccベースだけど、C18はgccベースじゃないでしょ?
gccベースならソース公開せんといかんはずだし。
(C30はソース公開されてたはず。)
810774ワット発電中さん:2009/08/27(木) 10:07:45 ID:9qv8QHTm
なるほど
じゃあとっととC30の使える環境に移行した方がいいのね
811774ワット発電中さん:2009/08/27(木) 10:18:16 ID:fnZefeOH
16FだったらCCSは選択肢としては良いね。
PICC-Liteの無料版があるけど、無駄にGOTO入れて遅くしてくれるから用途が限られる。
趣味レベルなら18Fとの価格差が小さいから18FでC18使うのが良いと思う。
812nyannnyannko:2009/08/27(木) 10:48:16 ID:VB32MPwI

C18 なら得意分野だから、ここでも良いし、air_variableさんの所でも良いから
分からなかったら質問においでね。
813774ワット発電中さん:2009/08/27(木) 12:04:11 ID:VveV5dV9
>>812
ここはお前の私有スレッドじゃないんだ、自分のホームページでやってろ、な!
814774ワット発電中さん:2009/08/27(木) 16:06:24 ID:42lZeaMR
>813

うぜーよ、マナー教室軽石!
815774ワット発電中さん:2009/08/27(木) 17:07:29 ID:P91A9oiT
全然うるさくないと思うけど?
816774ワット発電中さん:2009/08/27(木) 17:25:28 ID:xR9fJBp7
USBやらEthernetやら弄るんじゃなければ、24FでC30が一番悩まなくていいと思うんだけどなあ。
817774ワット発電中さん:2009/08/27(木) 18:49:18 ID:emQG0JAq

にゃん腰は呼ばれた気がしたので北人手あって学問板にこそアリだと思ったが

検索TOPを2ちゃんが〆てた頃の印象から比べるとコテもだいぶ様変わったのかもな
818774ワット発電中さん:2009/08/27(木) 22:14:02 ID:VveV5dV9
「分からなかったら質問においでね。」とかコテが言ったら
他の人たちは「コテがスレに私物化意識を持っている」
という印象を抱いても仕方無いだろう。
結局、コテは荒れるという当たり前の結論に行き着く。
819774ワット発電中さん:2009/08/27(木) 23:26:38 ID:OH2t6y8X
>>818
> という印象を抱いても仕方無いだろう。


無いわ。
どういう論理でそこへ行き着くんだw

「初心者は出て行け」
というのなら、それは>>1に反してるわけで、私物化と取られても
仕方ないだろうけどな。
820774ワット発電中さん:2009/08/28(金) 00:25:08 ID:Gkoz3rct
自分よりまともな回答できる人にやっかむ軽石大杉。
そういうやつに限って、"世の中のUSB接続の撮像素子はみんなJPEGだ"みたいな誤った認識を開陳するんだな。

FPGA+PICの素敵なセンスを持った人は、ふぁくとりぃにこもったままか?
821774ワット発電中さん:2009/08/28(金) 00:36:51 ID:235d2FOT
>>820
お前まともに一度も回答してないだろ?
まぁキチガイはほっとこ。
822774ワット発電中さん:2009/08/28(金) 01:14:12 ID:/gXW7Bxc
>821

いちいち反応すんなチンカス低能。
webカメラはYUVだJK。
823774ワット発電中さん:2009/08/28(金) 01:37:28 ID:8SSoVPys
お前もいちいち反応するな、チンカス以下
824774ワット発電中さん:2009/08/28(金) 01:40:59 ID:235d2FOT
>>820>>821はもう相手が誰かすら分かって無さそう。
825774ワット発電中さん:2009/08/28(金) 02:08:15 ID:a3uPkBnq
馬鹿がアイデンティティーを守ろうとすると大抵こうなるw
826774ワット発電中さん:2009/08/28(金) 02:18:44 ID:lyfUzq/y
おかげで馬鹿をアイデンティファイしやすくなると
827774ワット発電中さん:2009/08/28(金) 03:13:19 ID:Gkoz3rct
>相手が誰かすら分かって無さそう。

これしか言えなさそう。
ぼきゃ(ry
828774ワット発電中さん:2009/08/28(金) 08:41:33 ID:mFk+jE9I
軽石って何?
829774ワット発電中さん:2009/08/28(金) 09:25:41 ID:nZQ+gl7K
>>828
【かれこれ】電子工作関連人物ヲチスレ6【一年】
http://science6.2ch.net/test/read.cgi/denki/1205759475/l50
830774ワット発電中さん:2009/08/28(金) 18:36:47 ID:ayK1MXD/
>>818
シャブ中でもあるまいに、見るものみな敵、みたいな思想はやめたほうがいいよ。
のりぴー起訴されたね。
831774ワット発電中さん:2009/08/28(金) 19:47:53 ID:HWnmlPz8
> 軽石って何?

日湘何とかなる零細企業に勤める、近藤なんとかって言うおっさん。
PIC-MLや、後閑さん、なひたふさん、バサロさんの掲示板に終日居座り、初心者を見るとマナーがなってないとカラむ。
嫁は重石と言うハンドルで口汚く荒らしていた。

> 見るものみな敵、みたいな思想

Microchipが手当たり次第に買収するもんで、リアルに敵が増えてる悪寒。
832774ワット放電中さん:2009/08/28(金) 21:50:20 ID:VUfYApa8
>>831
HI-TECH C の開発チームも Microchip 社の居心地が悪ければ退社するでしょうね。
できれば新会社を立ち上げて今まで通りに各種の CPU 用の C言語を作り続けて欲しいですね。
833774ワット発電中さん:2009/08/28(金) 23:54:38 ID:TyQCB3B2
ですねー。そういう国ですからね。
向上心あるプログラマなら飽きちゃうと思う。
834774ワット発電中さん:2009/08/29(土) 09:14:04 ID:+LTXcUkG
プリプロセッサで逃げれる部分と、根幹から作らないとだめな部分とあるな
835774ワット発電中さん:2009/08/30(日) 01:23:13 ID:bfuh0SNE
ラジコンを作ってみたいんだけど無線通信について詳しい説明があるサイトってない?
送信機や受信機の回路図だけでなくて説明が欲しい
836774ワット発電中さん:2009/08/30(日) 01:47:24 ID:LJNdRCvM

PICで作るの?
837774ワット発電中さん:2009/08/30(日) 02:01:19 ID:6D60Ji8g
838774ワット発電中さん:2009/08/30(日) 02:24:41 ID:k4qpM4gP
>>837
電波法違反とか適当なこと教えんなw
839名無しさん@そうだ選挙に行こう:2009/08/30(日) 03:48:25 ID:GM8D4JD/
指紋センサーを売っている所って誰かご存じですか?
840774ワット放電中さん:2009/08/30(日) 05:21:58 ID:bPD93Ufz
使った事は無いけども、普通に検索すると一応は出てくるよ。
ソフトのライセンス料だけで1個あたり 1,000円 ちゅーことは PIC では荷が重いんでないかい?

http://www.adm.co.jp/3-04.php
http://www.jiji.com/jc/zc?k=200908/2009080500462
http://device.casio.jp/products/prd_5.html
http://pr.fujitsu.com/jp/news/2002/02/27.html
http://www.innotech.co.jp/products/product_list/lsi/assp/fp_sensor.html
841名無しさん@そうだ選挙に行こう:2009/08/30(日) 09:18:41 ID:jIwZIfv3
>838

証明する手段がなければ、違反と同じ。
スピードメータがない車と同じ状態。
842名無しさん@そうだ選挙に行こう:2009/08/30(日) 12:36:10 ID:I5+qJert
お前の脳からも電波が出てるぞ
843名無しさん@そうだ選挙に行こう:2009/08/30(日) 13:06:26 ID:fx9DYWdP
50mW以下はok
844名無しさん@そうだ選挙に行こう:2009/08/30(日) 13:46:00 ID:di9Ijm47
いいえ。たとえ1mWでもアマチュア帯なら免許が必要
逆に別帯域なら別に規定が。
一般的に数mも飛ばない。

世界的に一般的な包括免許制度が日本にもあればアマチュアの範囲で
いろいろ実験できて面白いのだけれどね;;
デジタル通信とか面白そう。
845名無しさん@そうだ選挙に行こう:2009/08/30(日) 14:11:21 ID:FLhus1Em
微弱無線とか特定小電力無線(1mW/10mW)とか免許不要のもあるよ。
846名無しさん@そうだ選挙に行こう:2009/08/30(日) 14:19:51 ID:uEZfyDhn
免許と電波法は別だろ。
847名無しさん@そうだ選挙に行こう:2009/08/30(日) 14:21:12 ID:di9Ijm47
>>845
それは登録してあるから。
848名無しさん@そうだ選挙に行こう:2009/08/30(日) 14:52:33 ID:Hk3ulQa8
ttp://www.picfun.com/equipj44.html
ここで使ってる無線モジュールはどうだろう。
後閑さんのPIC16F本にも作例で収録されてるし。
出版物に掲載されてるってことは大丈夫なんじゃない?

ググると日本の通販サイトで売ってる所見つかるよ
849名無しさん@そうだ選挙に行こう:2009/08/30(日) 14:58:51 ID:I5+qJert
電子ブロックも登録されてたんだろうか
850名無しさん@そうだ選挙に行こう:2009/08/30(日) 15:09:51 ID:LJSoZYW1
免許の要らない無線局 …でググった一発目。
ttp://www.soumu.go.jp/soutsu/kanto/ru/musen/nolicence/index.html
851名無しさん@そうだ選挙に行こう:2009/08/30(日) 15:19:02 ID:k4qpM4gP
最近のやつはハムの免許ももってないのか…
852名無しさん@そうだ選挙に行こう:2009/08/30(日) 15:43:49 ID:d5juJ0FJ
免許が必要という意味では、携帯電話だって免許は必要だ。
問題は「使用者が」免許取得手続きを行う必要があるか否かなのに、
わざと一般論と混同してるやつがいるな。
853839:2009/08/30(日) 16:07:54 ID:GM8D4JD/
>>840
うぉ!一応探してはいたのですが、まだ探したり無かったですね。
ありがとうございます。

う〜ん・・・。気楽に「指紋センサー」使えたら遊べるかな〜と軽く考えれるレベルでは無いですね。
く・・・。ネタとして面白いかな?と思ったのに・・・。
別なネタを考えます。
ありがとうございました。
854名無しさん@そうだ選挙に行こう:2009/08/30(日) 16:50:07 ID:jIwZIfv3
半可通軽石共め。
どうやって何mで何μVと50mWとか証明するんだよ。
証明できなきゃ違法だよ。
技適取ってるやつをつかうならおk。
免許不要レベルの出力、2.4Gだと数センチが精いっぱい。
855名無しさん@そうだ選挙に行こう:2009/08/30(日) 17:00:32 ID:k4qpM4gP
>>854
証明できなきゃ違法って…悪魔の証明じゃん・・・
お前の作ってる軽石回路からでてるノイズも
微弱電波だって証明できないから違法だなw

FMトランスミッターだって局の免許も従事者免許もいらない
微弱電波使ってるわけだが10mくらいは届くぞ
856名無しさん@そうだ選挙に行こう:2009/08/30(日) 18:08:48 ID:fx9DYWdP
>免許不要レベルの出力、2.4Gだと数センチが精いっぱい

安物のHubとかだと軽く越えてるんだよねw
857名無しさん@そうだ選挙に行こう:2009/08/30(日) 18:23:46 ID:0dSIHVN4
>お前の作ってる軽石回路からでてるノイズも
>微弱電波だって証明できないから違法だな
マジレスすると,それは「無線機」じゃないからOKっていう妙なことに
なっている.
実際に,微弱電波の規制値は、PCなんかの不要輻射の業界自主規制値より
厳しいという不可思議なことになってたりするんだよね

微弱電波の規制値は周波数で変わっていて
http://www.tele.soumu.go.jp/j/ref/material/rule/index.htm
322MHz以上という比較的美味しい周波数でいきなり1/15程度と
厳しくなっている.ちなみに,この35μV/mっていうのは各都道府県レベルで
持っている工業技術センターのシールドルーム程度ではフロアレベル
(シールドルーム内に入り込んでくるノイズレベル)に埋もれてしまう
くらいの低いレベルなんで,TELECとかのご大層な設備を持っているところ
でないと測定できないという・・・なんだか天下り先を食わせるための
ようないやーな値

FMトランスミッターの場合にはFM放送周波数がずっと低い(70MHzとかだからね)
ので,緩い方の規制値になるんで,結構飛ばせる.

>>844
PSoCの無線内蔵のやつ(PROC)を使ったボードで2.4GHzの
アマチュア無線機器として保証認定取れたらしい。
858名無しさん@そうだ選挙に行こう:2009/08/30(日) 18:50:47 ID:k4qpM4gP
>>857
ラジコンって普通40MHz帯とかだろ…?


普通に電界強度計つくって適当に合わせとけば問題ないと思うけど
859名無しさん@そうだ選挙に行こう:2009/08/30(日) 18:52:40 ID:vf4CRhlV
PIC16F84Aを今回初めて使ったのですが思ったように動作しません。原因の特定に皆様の力をお借りできないでしょうか。
20MHzのセラロックを使っています。該当ポートの監視を続けても出力がHになりませんでした。

list p=16F84A
#include <p16F84A.inc>

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC

w_temp EQU 0x0C
status_temp EQU 0x0D

ORG 0x000
goto main

ORG 0x004
movwf w_temp
movf STATUS,w
movwf status_temp

movf status_temp,w
movwf STATUS
swapf w_temp,f
swapf w_temp,w
retfie

main
bcf STATUS,RP0
clrf INTCON

bsf STATUS,RP0
clrf TRISA
clrf TRISB

bcf STATUS,RP0
clrf PORTA
clrf PORTB

bsf PORTA,1

main_loop
nop
goto main_loop

END

860名無しさん@そうだ選挙に行こう:2009/08/30(日) 19:17:28 ID:sOKHh333
>>859
ざっと見ただけですが、プログラムは間違ってないように見えます。
開発環境か回路か測定方法のどれかがまずいのでしょう。
もう一度順に確認してみてはどうでしょうか。
861名無しさん@そうだ選挙に行こう:2009/08/30(日) 19:22:40 ID:y2cutR3z
どこもおかしくなさそうだけど。
一応 bsf portA,1をmain_loopの中に入れてみてくれ。


それと不具合の原因とは関係ないけど、割り込みに飛んでこないときは04番地は書かなくてもOK。

mainの1行目と2行目も不要。わざわざセットしなくてもリセット後の初期値が決まってるから。
862名無しさん@そうだ選挙に行こう:2009/08/30(日) 19:41:07 ID:VAVSsXMl
ID:jIwZIfv3=ID:Gkoz3rct
つまりキチガイだから相手しなくておk
863859:2009/08/30(日) 19:52:55 ID:vf4CRhlV
>>860,861
数々のアドバイスありがとうございます。別種類のPICも用意して測定周りのチェックも行いましたが
そちらには異常ありませんでした。原因の検討を続けてみます。
864名無しさん@そうだ選挙に行こう:2009/08/30(日) 19:56:08 ID:0dSIHVN4
>>858
>普通に電界強度計つくって適当に合わせとけば問題ないと思うけど
校正されてない電界強度計なんて何の意味もないという扱いだから
「問題ない」とは言えないだろうなぁ・・
ちなみに,微弱機器とするにはスプリアスまで含めて規制値を満たさないと
いけないんで,322MHz以上の高調波が規制値を超えていても駄目という
うっとおしいことになってる.

ラジコン機器はラジコンでまた別にあって
http://www.rck.or.jp/contents/rc_denpa/rc_denpa0110.html
このあたりがいいかな?ギョーカイ団体で適合証明を出すという形で
微弱に入っていることをシールドルーム借りて確認するか
ギョーカイ団体で認証受けないと駄目ということだな

とにかく日本は無線の実験をことごとく拒絶する方向になっていて
やりにくくて仕方ない.船乗って公海上でやれっていうのかよ!って感じ

アマチュアが合法的に楽しむなら周波数がアマチュア無線バンドの
全電波形式にうまくはまるようにして保証認定を受けてしまうという
手くらいしか無さそうだね.
お仕事で使うならアマチュア無線業務にはならないんで,会社にスリスリ
してがんばってくれたまえ
865名無しさん@そうだ選挙に行こう:2009/08/30(日) 20:02:38 ID:fx9DYWdP
アマチュア無線の無線機器のお仕事は?
866774ワット発電中さん:2009/08/30(日) 20:20:18 ID:k4qpM4gP
>>864
厳密な公正ができてなくても範囲内かくらいわかるだろ?
無線関連の作例なんていくらでも転がってるし
市販品の定数パクれば問題のある出力出すほうが難しいとおもうが…

心配なら3万ちょっとで試験もやってくれるみたいだけど
販売しない限り普通いちいちこんなことはやらない
http://www.rck.or.jp/contents/rc_hassin/rc_hassin04.html
867774ワット発電中さん:2009/08/30(日) 20:31:42 ID:di9Ijm47
やっぱ包括免許(アマチュア)だな;;
868774ワット発電中さん:2009/08/30(日) 20:45:22 ID:WALb5/Cr
製作者のバックグラウンドは不明なのだから
技適とか免許とか考えずにPICに関連した技術の
話にすりゃいいのに
869774ワット発電中さん:2009/08/30(日) 21:17:23 ID:fx9DYWdP
870774ワット発電中さん:2009/08/30(日) 22:28:36 ID:JiAi1/rk
> 厳密な公正ができてなくても範囲内かくらいわかるだろ?
どうやってやるの、重石さん。

> 無線関連の作例なんていくらでも転がってるし
合法とは関係ないし。

> 市販品の定数パクれば問題のある出力出すほうが難しいとおもうが…
むかしの100mはなれて15uV以下とかなら楽なんだけどね。

http://www.circuitdesign.jp/jp/technical/technical_pdf/bijaku.pdf.PDF
871774ワット発電中さん:2009/08/30(日) 23:02:28 ID:wwEGMzjI
基地外は放置が一番だぜ
872774ワット発電中さん:2009/08/30(日) 23:09:47 ID:xd3WGwxA
このスレでいう事ではないが、やっぱり安全性と胸を張って外でも運用できるような無線のシステムというとUSBドングルタイプの無線LANかブルートゥースが良いと思う。
その辺りなら認証済みの製品だけがPCショップに並んでいるはずだし、好きなものを選べるし、なにより安い。
という訳で個人的にはH8辺りの組み込みリナックスボード(USBホスト機能つき)をお勧めします。

値段も認証品で組み込み用と向けボードの送受信機どちらかだけを買うのと大体同じくらいだし。(秋月H8USBホスト+USBドングルで6000円ぐらい?)
……PIC関係ない流れだな、すまん
873774ワット発電中さん:2009/08/30(日) 23:11:40 ID:GM8D4JD/
>>863
ふと気になったのは、PORTA、1を違うので試してみてどうなるのか?
というのを試してみるのも一興かと。

ほいで、18F452と混同しているので間違っているのかもしれんけど、最初のプログラムの0番地には、NOPっていらなくて良かったけ?
874774ワット発電中さん:2009/08/30(日) 23:15:54 ID:k4qpM4gP
>>870
1.
しっかり出力を計算してラジコンの回路を作る。
→電界強度計を作る(秋月のキットでもなんでもPICを使うとスレ的にウマー)
→ラジコンの微弱電波認証済みプロポの電界強度を測る
→自分で作ったものと比較

2.
それなりの知識をもった人が作った合法な作例がころがってるってこと。

3.
40MHz 54dBuV/m (3m法) でいいじゃん。出力なんて設計する段階でわかるし
875774ワット発電中さん:2009/08/30(日) 23:30:56 ID:JiAi1/rk
1. 秋月の電界強度計、微弱なんか測れませんよ。
  やり方はいいと思うけど。

2. 例を示して。自称は沢山見るけど...。

3. 空中線を失念してない?微弱レベルだと、実装も効いてくるのはご存知の通り。

北摂電子さん、もう帰ってこないんだろうなぁ。
876774ワット発電中さん:2009/08/30(日) 23:31:25 ID:VAVSsXMl
普通にXBeeでいいじゃん。
877774ワット発電中さん:2009/08/30(日) 23:40:30 ID:I5+qJert
最近のラジコンはデジタル通信してたりするのか?
878774ワット発電中さん:2009/08/30(日) 23:45:29 ID:y2cutR3z
>873
>最初のプログラムの0番地には、NOPっていらなくて良かったけ?

もしそんな仕様があるなら、俺が今までに作ったプログラム全部不良品だな…
879774ワット発電中さん:2009/08/30(日) 23:56:11 ID:LOsXSKwW
R-1とかの無線って電波法で言うとどうなっているのかな?
880774ワット発電中さん:2009/08/31(月) 00:14:36 ID:Cgsa/2fA
>>878
PIC18Fでも同様かどうか分からんが、PIC16Fではデバッガのステップ実行の制限で
ゼロ番地の実行前に止めることができない(必ずゼロ番地の命令は実行される)ので、
ゼロ番地にはNOPを書いておくことが推奨されている。

別にNOPでなくても実行に支障はないけどね。
881774ワット発電中さん:2009/08/31(月) 00:14:43 ID:D//vlE8i
秋月の電界強度計って30dBμV/m〜だしいけるんじゃね
882774ワット発電中さん:2009/08/31(月) 00:24:52 ID:uPIFq3Gy
>市販品の定数パクれば問題のある出力出すほうが難しいとおもうが…
「思う」のは勝手だけど現実はそんなに甘くない.
水晶発信器の端子にちょっと電線つけただけでも超えたりするから

>>874
スプリアスも含めての規制でしかも322MHz以上で急に厳しくなってる
ところが特にネックなんだよね.

高調波やらの不要輻射も含めての規制だから中で使ってるクロックの
高調波なんかが漏れていてもアウトだから「電界強度計で見たからOK」
なんて簡単にはいかない.
883774ワット発電中さん:2009/08/31(月) 00:36:14 ID:D//vlE8i
配線のインピーダンスで出力が設計の最大より上がるなんてなさそうだけど
そんなに心配ならFMトランスミッタキットでも使ってラジコン作ればいいんじゃね
制御信号をPICで音声に変調して送受信すれば面白そう

それか超強力な赤外線・・・?超音波とかも面白そう
884774ワット発電中さん:2009/08/31(月) 01:27:27 ID:0/gBSjx6
dspicのuartなんですが、タイマー1の割り込みを有効にすると
UR1DAが見れなくなってしまうみたいなのですが、仕様?
それとも使い方がまずいだけ?
885774ワット発電中さん:2009/08/31(月) 01:46:14 ID:0Diolrwb
UR1DAってなに?
あと、エラッタかもだから、機種まで書いて
886774ワット発電中さん:2009/08/31(月) 01:47:00 ID:WNf2VdWN
>883
アンテナ次第でだいぶ変るし。

秋月の赤外投光器で変調かければ相当すごそう。
http://akizukidenshi.com/catalog/g/gK-00094/
光出力500mWとのこと。

各社リモコンの電源offを順番に送出するいたずら装置があったな。
家電量販店でやるとウマー。
887774ワット発電中さん:2009/08/31(月) 02:03:12 ID:0/gBSjx6
>>885
× UR1DA
○ URXDA
の間違いでした。
機種はdspic33F256GP710です。UART割り込みを使わずに
タイマの割り込みで処理するつもりです。
888774ワット発電中さん:2009/08/31(月) 13:31:52 ID:nGTKE2F5
>>876
俺もそう思う、ラジコンの真似事ならXBeeで十分。
見通しさえあれば100mは余裕で届く。
889774ワット発電中さん:2009/08/31(月) 20:45:16 ID:0Diolrwb
>>887
エラッタには無いので仕様ではなさそう。
URXDAのチェックはUART使えばほぼ必須だし、T1割り込みもよく使われると思うんで、未知のデバイスエラーとは考えにくい
たぶんソフトのどっか間違いがあると思うが、これ以上はわからんね。
いまちょうど33Fで開発中のもんあるし、T1使ってないからちょっと割り込み有効にしてみる

UARTにはOERRがバッファあふれる前に立つエラッタ出てるけど、これで割り込みかかってURXDAはほんとにデータ来てない
から立ってないとかあるかも
890774ワット発電中さん:2009/09/01(火) 02:02:36 ID:ysYkl9/K
PIC初心者なのですが、PIC16F628A の RB4 が何故か点灯しません。
新品チップでも同じ症状です。抵抗とLED付けて確認してます。RB4以外はプログラム通り動くのですが・・。
どなたか原因が解る方いらっしゃるでしょうか。
891774ワット発電中さん:2009/09/01(火) 02:51:22 ID:zCGARsLE
>>890
データシートを良く読むよろし
892774ワット放電中さん:2009/09/01(火) 03:06:33 ID:XlD9/aEJ
>>890
http://ww1.microchip.com/downloads/en/DeviceDoc/40044F.pdf
DS40044F-page 2 ここによると 10pin の RB4 は RB4/PGM として何か『もう一つ別』の意味があるよーだ。
DS40044F-page 39 FIGURE 5-12: BLOCK DIAGRAM OF RB4/PGM PIN 等価回路によると TRISB 1 にすると出力に出来ないが、
OR 回路があって 『もう一つ別』の信号でも出力に出来ないよーだ。

この LVP っていったい何だ?
DS40044F-page 96 ここを よく見れば何か気が付くよ
893774ワット発電中さん:2009/09/01(火) 08:40:42 ID:f62MMExO
>>889
ありがとうございます。全部、一から書き直したら動くようになりました。
なぜ動くようになったかは調査中ですが、プログラムの書き方がまずかったようです。
お騒がせしました。
894774ワット発電中さん:2009/09/01(火) 12:31:59 ID:SRcUo3Kx
>>892
> DS40044F-page 96 ここを よく見れば何か気が付くよ

page 98の方がわかりやすい気がする
895774ワット発電中さん:2009/09/01(火) 13:47:32 ID:2ExwzJtF

…単にRB4の出力がODだからじゃねえのか?

896774ワット発電中さん:2009/09/01(火) 13:48:35 ID:2ExwzJtF
あ、あれはRA4か 失礼
897774ワット発電中さん:2009/09/01(火) 14:30:16 ID:N3xkAJGr
>894
二人とも同じページを指していると思う
898774ワット発電中さん:2009/09/01(火) 22:49:19 ID:8lKcuAlG
pickit2で16F883をいじっているのですが、CPかけたら解けなくなってしまいました。
秋月ライタだとイレースできた記憶があるんですが、どうしたらいいんでしょう?
899774ワット発電中さん:2009/09/01(火) 22:51:48 ID:PR0tmeTY
>>898
操作を間違っているだけ。
PICkit2でも当然イレースできる。
900774ワット放電中さん:2009/09/02(水) 07:50:54 ID:hDKcLDSK
ROM の書き込みor消去時には薄い絶縁層に無理やり電気を流します。
何回も書き込み消去を繰り返すと ↑ が壊れて書け(消せ)なくなります。
絶縁層の破壊は簡単で Vdd 5V の PIC なら Vdd 9V ぐらいで簡単に壊れちゃいます。

>>898さんの場合は操作ミスの可能性の方が高いけど電源電圧は大丈夫かな?

3端子 REG OUT ピンの隣にブリッジ平滑コンデンサの+端子が・・・(涙)
誰よ〜こんなアートワークするの・・・
901774ワット発電中さん:2009/09/02(水) 08:02:34 ID:rT3ytEHH
>>900
なんというか、ぜんぜん的外れだよ、あんた。
それから日記はここには書くな。
902774ワット発電中さん:2009/09/02(水) 11:36:37 ID:r45j6xab
WRITE/ERASE何回かで壊れちゃったらフラッシュの意味がない。
903774ワット発電中さん:2009/09/02(水) 11:55:49 ID:lTXzLPhI
>>898 が投げやりな質問するから荒れる
低脳質問には「純正ライタ買え」でいいじゃないか
904774ワット発電中さん:2009/09/02(水) 12:25:13 ID:JCdb1/66
>>903
秋月のライタではできるけど、純正ライタで出来ないって言ってるように見えるんだが
905774ワット発電中さん:2009/09/02(水) 12:58:13 ID:eL/Ff0lU
>898です。
追加でいろいろやってみました。
16F819でプロテクトかけて焼いてイレース、読み込み→正常に出来る
16F883で以下略→CP解けていなくてエラー

新品の883でプロテクトかけずに書き、読みは正常にできたので回路や手順違い等では無いと思う。


環境はwinXP、PICKIT2ver5.51
ブレッドボード使用で、VddVss間に0.1uのセラコン、PGM端子10kでプルダウン、他の足は接続なし。

88X固有の問題を疑ってるんですが、だれか経験者はいませんか?
906774ワット発電中さん:2009/09/02(水) 13:03:37 ID:yPIN2nUj
エラーって何だい?
907774ワット発電中さん:2009/09/02(水) 13:26:18 ID:eL/Ff0lU
訂正。イレース後はREADじゃなくてBLANKCHECKやってます。

>906
アドレス00で読み込みエラーがうんたらって内容でした。

819でもCPかけたままブランクチェックやると同じエラーがでてくるので883のCPが解けてないと判断しました。
908774ワット発電中さん:2009/09/02(水) 13:55:53 ID:yPIN2nUj
一度、Tools - Use VPP First Program Entryにチェック入れて
Eraseしてみ。
尚 最新版ver2.61推奨な
909774ワット発電中さん:2009/09/02(水) 18:53:51 ID:imXP4yDc
すぐに壊れるのはクラッシュメモリです。
910774ワット発電中さん:2009/09/02(水) 19:27:46 ID:xPdIx7Tv
悔しい。ちょっとニヤッとしてしまった。
911774ワット発電中さん:2009/09/02(水) 21:27:16 ID:o1AwUCEy
その手があったか
912774ワット発電中さん:2009/09/03(木) 10:11:22 ID:fUluzfYR
>>909
フラッシュメモリなんか全然大丈夫とか思ってたけど、最近の安いSDカード
なんかはわりと頻繁にクラッシュする。pqiとか

スレ違いすみません。
913774ワット発電中さん:2009/09/03(木) 12:06:15 ID:06VyEhaP
アホか逆だろ
USBメモリなんか静電気で何回死んだことか!
914774ワット発電中さん:2009/09/03(木) 21:04:26 ID:Ejg+ZZPz
最近、PIC10F200を始めたのですが
『パワーアップ・タイマー』が無い為
電源投入直後は不安定って事で良いでしょうか??
915774ワット発電中さん:2009/09/03(木) 21:41:37 ID:N4sNbbha
>>914
そうとは限らない
916774ワット発電中さん:2009/09/03(木) 22:09:56 ID:Ejg+ZZPz
>>915さん、レスありがとうです。
LEDが、●○○⇒○●○⇒○○●⇒最初に戻る
って感じのプログラムを書いたのですが、
電源投入直後は、●●●⇒●●○⇒●○○⇒上記の
点灯を繰り返すといった感じで作動しています。
回路はブレットボード・9V電池・3端子レギュレタ(5V)
PIC直近に小さな青いコンデンサです。
難しいですね!
917774ワット発電中さん:2009/09/03(木) 22:13:24 ID:qFk2O+WG
>898です。
>907
ども。今日はヒマがなかったので明日試してみます。
918774ワット発電中さん:2009/09/03(木) 22:16:28 ID:8K/0nPAA
>静電気で何回死んだことか!

何を根拠に。
休みたくてハード壊すソフト屋だな。
静電気で死にました。
次の週は開発機のハードディスクがくらss(ry
919774ワット発電中さん:2009/09/03(木) 22:31:38 ID:mYZ4hjp4
USBメモリは消えるよ
920774ワット発電中さん:2009/09/03(木) 23:15:02 ID:7O3TG1Jl
消えるはお化け。
921774ワット発電中さん:2009/09/03(木) 23:17:15 ID:xHAAfnKB
お化けは白い。
922774ワット発電中さん:2009/09/03(木) 23:26:10 ID:tE9/0+qA
白いはうさぎ。
923774ワット発電中さん:2009/09/03(木) 23:46:32 ID:kHw5/Hab
うさぎはオヤジの剥げ頭
924774ワット発電中さん:2009/09/03(木) 23:46:34 ID:fe0rfABP
ウサギハハネル!
925774ワット発電中さん:2009/09/03(木) 23:50:31 ID:jhj9XGGi
うさぎは死ぬ
926774ワット発電中さん:2009/09/04(金) 00:01:56 ID:NR+/C2vO
うさぎは碧じゃないの?
927774ワット発電中さん:2009/09/04(金) 00:07:06 ID:fDcONQ6g
>>926
あぁ〜(゚Д゚)
928774ワット発電中さん:2009/09/04(金) 09:51:45 ID:o/HObw9O
929774ワット発電中さん:2009/09/04(金) 14:29:02 ID:JNguNSsF
>うさぎは碧じゃないの?

白いクスリ〜♪
930774ワット発電中さん:2009/09/04(金) 17:56:22 ID:700lRsuw
こんなところまでその話題か
931774ワット放電中さん:2009/09/04(金) 18:52:45 ID:c+koZDB8
>>898
http://www.microchip.com/forums/tt.aspx?forumid=15&p=16&tmode=1&smode=1
Jan. 7, 2009 2:06:51 PM(2009/01/09) 付けの本家フォーラムに
application version: 2.55.01 の場合、マイクロチップが下記の様に回答しています。
This is only necessary when the LVP configuration bit is enabled, which is how parts are shipped from the factory.

最新版の Ver2.61 で駄目なら他のライターでないと無理なようです。
932774ワット発電中さん:2009/09/04(金) 20:51:34 ID:r9Sbtcf3
P16F84AのCプログラムで
DelayMs()てのと_delay_ms()てのがあるんですが
バージョンとかで文法が違うんでしょうか?
933774ワット発電中さん:2009/09/04(金) 21:16:32 ID:THUIA0qk
__delay_ms(x)がHTCに用意されてる奴でDelayMs()が自作見たいな感じちゃう?
934932:2009/09/05(土) 08:24:58 ID:U0dwLB0k
ありがとうございます

実際のプログラムは__delay_ms()で動きましたが、
本屋で立ち読みするとDelayMs()と書いてあったりして謎でした
935774ワット発電中さん:2009/09/05(土) 09:15:55 ID:X10NS3TH
picのAD変換で測定する電流計をつくったのですが
DCモータを動かしているときに電流を測定すると数値がバタバタしてしまいます。
手持ちのテスタは数値がバタつきません。何か対策があれば教えてほしいです。

回路はこの辺を参考にさせてもらいました。
http://www.henteko.org/fswiki/wiki.cgi?page=PIC%A4%F2%BB%C8%A4%C3%A4%BF%C5%C5%CE%AE%B7%D7%A4%CE%C0%BD%BA%EE

936774ワット発電中さん:2009/09/05(土) 09:38:13 ID:exOom8LY
>>935
モーターのリップルノイズでしょ?
モーター内のブラシが切り替わる際に出るノイズ。
PICのAD変換結果をある程度の時間貯めて平均化すれば収まると思うよ。
デジタルテスタもそんな制御になってる。
937774ワット発電中さん:2009/09/05(土) 09:38:49 ID:Hhl/Rhx2
>>935
ノイズ対策はしたかい?
938774ワット発電中さん:2009/09/05(土) 09:48:30 ID:X10NS3TH
>>936 >>937
コンデンサ入れて平均化したらよくなりました
ありがとうございます。
939774ワット発電中さん:2009/09/05(土) 15:54:49 ID:IpYuzN6B
trisって何の略?
940軽石:2009/09/05(土) 16:02:50 ID:Qte5DEvN
トライステートの略です。
でも軽石は、トライステートの意味をわかりません(>O<)
941774ワット発電中さん:2009/09/05(土) 16:33:38 ID:Kao2Xl9s
トライステートは、工作キットを作ってる会社だにゃ。
秋月で買えるにゃ。
942774ワット発電中さん:2009/09/05(土) 17:33:29 ID:IpYuzN6B
よく判った
943774ワット発電中さん:2009/09/05(土) 21:02:33 ID:vxH6kdgX
TristateでTRISってのはホントだよ。
944774ワット発電中さん:2009/09/05(土) 22:13:31 ID:hBWHuG5p
>>934
コンパイラの違い
945774ワット発電中さん:2009/09/06(日) 01:07:48 ID:kRu2/TxS
877Aを使って基板起こしましたが、もっと小さくしたいとのことで877A-I/PTを
使おうと考えているのですが、如何せん書き込みをどうしようかと思いまして。

SOPなら変換基板も多数出ていますし、ピン数も少ないので…

どのような方法が一番良いでしょうか?ジュンフロン線で必要なピンだけを
取り出して、ICソケットなどにハンダつげするとかでしょうか…
946774ワット発電中さん:2009/09/06(日) 01:11:23 ID:ohtiglCn
標準的な方法、すなわちICSPヘッダを経由した書き込みが良いでしょう。
947774ワット放電中さん:2009/09/06(日) 03:58:43 ID:/vEV0SYd
948774ワット発電中さん:2009/09/07(月) 10:38:08 ID:H9R2IezR
トライステート=入力・出力・ハイインピーダンスの3つ
後はググるがよろし。
949774ワット発電中さん:2009/09/07(月) 19:19:13 ID:lmGWeCFz
3ステートとも。
950774ワット発電中さん:2009/09/07(月) 20:12:28 ID:Y0jZwocR
LVPとリセットって両立しないの?
951774ワット発電中さん:2009/09/07(月) 20:55:09 ID:XbeuE8Iw
C-MOSの場合、入力=灰隠避ー箪笥だよな。
Tristateは出力'H'/'L'とHi-Zの3状態
952774ワット発電中さん:2009/09/07(月) 21:39:08 ID:Y0jZwocR
クリティカルな条件下で使用するtrisを、cri-trisと呼ぶ
953774ワット発電中さん:2009/09/07(月) 22:13:23 ID:wN6Fe7B5
sowrdfishの事が詳しく書いてあるHPもしくは本ありませんか?
英語は苦手なので、出来れば日本語が良いのですが。
954774ワット放電中さん:2009/09/07(月) 22:20:12 ID:S7bv63Aj
>>950
LVP(低電圧書き込み)は、リセット端子(/MCLR・Vpp)に高電圧を必要としない書き込み方法です。
この場合 PGM ピンをオープンにされると誤って書き込みモードに突入する可能性があります。
LVPを使わない場合は、Vpp(リセット端子)に 13V の高電圧を加えない限り、書き込みモードに入る事はありません。

Vdd 最大 3.6V の PIC だと Vpp が最初から必要無い物もあるので、
書き込み方法の詳細は PIC1xFxxx Flash MCU Programming Specification を見てね。
955774ワット発電中さん:2009/09/07(月) 22:21:41 ID:eGXhpbPG
>>953
ほい、日本語サイト
http://www.sword-f.jp/
956774ワット発電中さん:2009/09/08(火) 01:32:12 ID:rqSeo2rI
>>955
グロ注意
957774ワット発電中さん:2009/09/08(火) 06:49:08 ID:ajuScvY3
別にグロくはないがw ファッション系の会社のようですた。
958774ワット発電中さん:2009/09/08(火) 06:54:59 ID:ggUJRqKr
>>948
入力と出力じゃなくてHとLだ
959774ワット発電中さん:2009/09/09(水) 03:11:21 ID:ib01MaLb
PICの出力は、HとLで、どちらが低インピーダンスなのでしょうか?

あと、a_port = 0xff; とか実行した場合、a[7]〜a[0]が、同時にHになるのでしょうか?
それとも、a[7]=H; a[6]=H; 〜a[0]=H; と順番に・・・なのでしょうか?

それと、PICが一番安く買えるのは、どこでしょうか? やっぱり秋月でしょうか?
960774ワット発電中さん:2009/09/09(水) 03:23:37 ID:Y0BDLU8m
>>959
>PICの出力は、HとLで、どちらが低インピーダンスなのでしょうか?

データシートからHL各々の最大電流値を読み取って比較せよ。

>あと、a_port = 0xff; とか実行した場合、〜(略)〜; と順番に・・・なのでしょうか?

通常の使い方では「同時」とみなして無問題。
厳密に言えばスキューは必ずあるが無意味。

>それと、PICが一番安く買えるのは、どこでしょうか? やっぱり秋月でしょうか?

ググレカス
961774ワット発電中さん:2009/09/09(水) 12:09:18 ID:mNv+cMZf
>>960
ありがとうございました。

>データシートからHL各々の最大電流値を読み取って比較せよ。
とても詳しい説明、ありがとうございました。
実際のPICの出力ポートに、50Ω程度の抵抗を直列に入れて、
その両端の電圧と電流から、内部抵抗を算出するんですね。
大変よくわかりました。

>通常の使い方では「同時」とみなして無問題。
これは、予想通りで良かったです。

>ググレカス
これは店の名前でしょうか? 
「ググレカスパーツセンター」
「ググレパーツ」
「ググレカス電子通商」
「ググレカス電波」などのキーワードでGoogleで調べてみましたが、それらしい名前の店は無いみたいでした。

どうも古代ローマ帝国の人の名前のようです。
みなさんの参考になればと思い、わかった内容を下に貼り付けておきます。

>ググレカス(Gugulecus 紀元一世紀頃)とは、真性ローマ帝国の元老院議員であり、
>ウァッロ以降のローマの図書館行政に深く関与し、当時最高の知識人と称えられたとされる。

どうもありがとうございました。
962774ワット発電中さん:2009/09/09(水) 12:24:55 ID:IRwthbII
つマンネ
963774ワット発電中さん:2009/09/09(水) 17:21:19 ID:LstkotMx
善部町の重石乙。
964774ワット発電中さん:2009/09/09(水) 19:50:15 ID:TIJ2mRGb
> PICの出力は、HとLで、どちらが低インピーダンスなのでしょうか?
L

> あと、a_port = 0xff; とか実行した場合、a[7]〜a[0]が、同時にHになるのでしょうか?
> それとも、a[7]=H; a[6]=H; 〜a[0]=H; と順番に・・・なのでしょうか?
ほぼ同時

> それと、PICが一番安く買えるのは、どこでしょうか? やっぱり秋月でしょうか?
秋月にあるものは秋月が一番安い
965774ワット発電中さん:2009/09/09(水) 20:09:23 ID:+BE+kD0/
秋月にあるPICを秋月以上に安く買いたい場合。
1、どこかの格安セールを狙う。
2、デジキーで単品で100個以上買う(と秋月価格よりも単価が安くなる場合もある、かねがね数円から十数円だけど)

俺の短い趣味の時間ではコレくらいしかない。
よって普通の感覚ではない。
966774ワット発電中さん:2009/09/09(水) 20:54:25 ID:baR6Yi9n
ステッピングモータ回る?
967774ワット発電中さん:2009/09/09(水) 20:56:16 ID:UhJjhp2E
回らないステッピングモータに意味はあるのでしょうか?
968774ワット発電中さん:2009/09/09(水) 20:57:58 ID:mNv+cMZf
>>964
ありがとうございます。
>> PICの出力は、HとLで、どちらが低インピーダンスなのでしょうか
>L
そうなんですか。それはなぜでしょうか?
データシートにし「上下対称インピーダンス」などと書かれていたような
(16F84当時の古い記憶ですので、現在は違うのかもしれませんね)

>>965
ありがとうございます。
ですよね。
趣味レベルの数量で、いまのところ秋月より安いところを見たことがないのです。

なぜ秋月は安いのでしょうね。
・購入数量が半端じゃなく多い
・入手ルートが違う
・倒産会社の在庫をダラ安で買ってくる。
・自分とこで作ってる
969774ワット発電中さん:2009/09/09(水) 21:46:50 ID:pn52smej
自分のところで作ってるって・・・
970774ワット発電中さん:2009/09/09(水) 21:55:04 ID:UhJjhp2E
・他が高い
・秋月が良心価格
971774ワット発電中さん:2009/09/09(水) 22:17:49 ID:RlUazzgi
突然失礼します
こういう物のプログラム作成の難易度は高いですか?
http://nicozon.blog64.fc2.com/?video_id=sm8078215
972774ワット発電中さん:2009/09/09(水) 22:34:39 ID:lxD7nLtl
973774ワット発電中さん:2009/09/09(水) 23:38:10 ID:LuOGBiZx
・他が普通。
・秋月が異常価格。
バッタ品を安く仕入れて販売した利益で、通常品を大量購入でコストダウンできた。

珈琲の自家焙煎のお店がある程度繁盛すると豆の販売価格が安くなるのと同じ理論。
974プセル:2009/09/10(木) 00:16:53 ID:4y1DLGuT
2C
975774ワット発電中さん:2009/09/10(木) 02:48:32 ID:iDJpkXJX
秋月は基本的に「屑屋」だからね。
売ってるものは基本的にゴミとして破棄されるような運命だったものが大半で
当然品質は二の次(間違いだらけの秋月キットなんかにも良く表れてる)

もともと買う側もジャンク品から部品取りして組み立ててしまう
くらいのレベルが前提だからそれでもかまわないんだけど
最近はあれを正規ルート品と同じつもりになっているのがいるみたいなのが
ちょっち心配
976774ワット発電中さん:2009/09/10(木) 03:09:51 ID:/563sxhO
極小ロットの特注品は秋月部品使う場合も実際にはある
977774ワット発電中さん:2009/09/10(木) 04:04:48 ID:nO0g338Y
納品制作物の部品に、秋月の部品を常用してますが、何か。
978774ワット発電中さん:2009/09/10(木) 05:25:15 ID:QmKRI/fM
>975

千葉から出てくるな。氏ね。
979774ワット発電中さん:2009/09/10(木) 08:16:47 ID:5zeHIdar
>>971
パーツ構成次第
980774ワット発電中さん:2009/09/10(木) 08:21:13 ID:wZE+18E4
>>971
高い。
981774ワット発電中さん:2009/09/10(木) 08:47:58 ID:h2zLvbBT
>>978
かまっちゃダメだって
982774ワット発電中さん:2009/09/10(木) 12:29:51 ID:2Bmm6H6/
>975
まだ生きていたのか、屑が。
電子楽器の下敷きになって市ね。
983774ワット発電中さん:2009/09/10(木) 12:37:09 ID:D48pxYF9
984ハリコイ:2009/09/10(木) 13:40:23 ID:4y1DLGuT
985よさこい:2009/09/10(木) 13:42:36 ID:4y1DLGuT
986774ワット発電中さん:2009/09/10(木) 14:50:52 ID:6BVw9EEf
かねがね
たかだか
987m(_ _)m:2009/09/10(木) 17:02:28 ID:icIfYJ8E
http://www.zea.jp/audio/lcm/lcmp/index.html
の問題の答えが是非...m(_ _)m
988774ワット発電中さん:2009/09/10(木) 19:18:07 ID:iDJpkXJX
>>977
勇気あるね
989774ワット発電中さん:2009/09/10(木) 20:20:00 ID:XAEt183V
HITECH-C使うとき、いちいちunsigned charって書いてる?
990774ワット発電中さん:2009/09/10(木) 20:32:11 ID:OS5XUvBj
>>987
直列共振回路なのか並列なのか書いてないね
991774ワット発電中さん:2009/09/10(木) 22:26:07 ID:UQfougbs
>>989
typedef unsigned char uint8;
とやると
uint8 i;
で宣言できる。

uint8が、unsigned charが表す型の別名として使えるようになる。
この方法はCCSに限らず、ANSIに準拠したC/C++なら使える。
992774ワット発電中さん:2009/09/10(木) 23:15:36 ID:fekzJeds
次スレに>>559も入れる?
993774ワット発電中さん:2009/09/10(木) 23:30:56 ID:hQwfCPgv
>>992
ヨロ
994774ワット発電中さん:2009/09/10(木) 23:48:20 ID:XAEt183V
っていうか、intで書いても動いてしまう
容量に困ってなければ、これでいっか、と
995774ワット発電中さん:2009/09/11(金) 00:23:26 ID:yMzZ1YBq
立てた。

【18F14K50やばい】PIC専用のスレPart25【超やばい】
http://science6.2ch.net/test/read.cgi/denki/1252595909/
996774ワット発電中さん:2009/09/11(金) 01:23:23 ID:uY9J/HZ5
>>995
(ぽにてAA略
997774ワット発電中さん:2009/09/11(金) 01:35:04 ID:48EUTNDw
998774ワット発電中さん:2009/09/11(金) 03:44:06 ID:WqXIF8Jq
ウメ
999774ワット発電中さん:2009/09/11(金) 06:26:50 ID:xaQyuLg0
 
1000774ワット発電中さん:2009/09/11(金) 06:51:12 ID:r3U0Ke69
うめ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。