PIC専用のスレ Part31

このエントリーをはてなブックマークに追加
1774ワット発電中さん

 /Microchip ./|
 /( ゚∀゚)    /  | アセンブラのアの字もわからない
 |~ ̄ ̄ ̄ ̄ ̄|  /. 超初心者からHEXが読めてしまう
 |/Z./Z./Z./Z_|/ ||  鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
  ||. ||. ||. ||

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

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

前スレ
PIC専用のスレ Part30
http://kamome.2ch.net/test/read.cgi/denki/1284095699/l50
2774ワット発電中さん:2010/11/23(火) 23:12:44 ID:EOHWDSfJ
おつかれ3
3774ワット発電中さん:2010/11/24(水) 14:43:10 ID:wtSfIAgw
>>1
4774ワット発電中さん:2010/11/24(水) 15:39:18 ID:83koZN1q
前回のスレでコンパイルについていろいろと教えていただいた方々ありがとうございました。
何とかhexファイル作成までたどり着くことができました。

次は,秋月のpicプログラマー(既製品)を用いてマイコンへの書き込みを考えています。
それにあたり,comm portのドライバをインストールしたのですが,ライターを検出できません。
となってしまいます。
既製品でも何か半田付けを行う必要があるのでしょうか?
また,なぜドライバをインストールし通信ポートを指定しているのにライターが認識されないのでしょうか?
5774ワット発電中さん:2010/11/24(水) 18:43:44 ID:9c8y9RRR
>>4
いいかげんにしろ
6774ワット発電中さん:2010/11/24(水) 19:18:29 ID:shM1VZIz
>>4
秋月に聞け。
7774ワット発電中さん:2010/11/24(水) 19:34:25 ID:w3uXKWKB
今どきそんなの使うなよ
8774ワット発電中さん:2010/11/24(水) 20:37:39 ID:4B/DDqtS
秋月のPIC16シリーズDIP品限定ピン数別評価(先頭のvは値下げ,-は維持)'2010年4月24日更新版
v40ピンは-◎16F887 \200
v28ピンは◎16F886 \190
ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31K-8MHzとフルサポート
新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを

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

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

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

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

(参考)機能無,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ワット発電中さん:2010/11/24(水) 21:59:28 ID:d8ydg4Wg
>>4
>また,なぜドライバをインストールし通信ポートを指定しているのにライターが認識されないのでしょうか?
ライターがPCの信号を認識していないか、
PCがライターの信号を認識していないから

>既製品でも何か半田付けを行う必要があるのでしょうか?
ケーブル選定が間違っていなければ、そのままつかえる

PICKIT2かPICKIT3使いなさい
10774ワット発電中さん:2010/11/25(木) 00:11:00 ID:EttU84Dt
秋月のPIC18シリーズDIP品限定ピン数別評価
工事中
11774ワット発電中さん:2010/11/25(木) 18:17:46 ID:BymCKqFP
>>4
クロスケーブルでも使ってるんじゃね?
12774ワット発電中さん:2010/11/26(金) 10:28:04 ID:dCAIXIWl
>>4
単にポート番号が違う場所。と推測。
XPならデバイスマネージャーで有効なポート番号を確認できるよ。
Vista/7系はしらね
13774ワット発電中さん:2010/11/26(金) 10:48:31 ID:GNFg1c/m
232のステータス確認
14774ワット発電中さん:2010/11/26(金) 23:20:35 ID:zQAQDGPE
みなさんありがとうございます。
秋月に問い合わせたところバージョンupのためにやはり半田付けが必要だったみたいです。
意気揚々と接続しましたが,ピクリとも動きませんでした。
また挌闘してみます。
ちなみにプログラムはhttp://shino.pos.to/eda/downloads/sdcc-remocon_c.txt
回路はhttp://shino.pos.to/eda/remocon.htmlの回路をそのまま用いさせていただいてアンプはスタンバイ
なしのものを利用しています。
プログラムの
RB0 IN VS
の意味が理解できなくて何も接続していないのが問題なのでしょうか?
15774ワット発電中さん:2010/11/26(金) 23:52:04 ID:BWZF1qgY
>>8
値下げしてその価格なのか。
本家、元祖、老舗、84は強気だなw
クロック内蔵品に一度触れたら、もう戻れないわ。
16774ワット発電中さん:2010/11/27(土) 00:11:23 ID:8WI7ta9C
>>14

何が動かないのかわからんよ ライター?プログラム?



17774ワット発電中さん:2010/11/27(土) 00:45:29 ID:llqo523I
>>16さん
実装した回路です。リモコンでアンプの音量制御しようとしてるのですが
動かないんです。
18774ワット発電中さん:2010/11/27(土) 01:25:55 ID:PD1mAwb9
>>14
このコンパイラーは使ったことないけど、RB0 IN VSの所はコメントになってるね
プログラムじゃない

プログラムか電子工作の経験はある?
19774ワット発電中さん:2010/11/27(土) 02:16:28 ID:8WI7ta9C
あまりにも漠然としてるからな


20774ワット発電中さん:2010/11/27(土) 02:25:34 ID:fnHVRK7J
ちゃんと動く懐炉なのか切り分け出来てないと、懐炉が悪いのかソフトが悪いのか判断不能。
自分で調べられないと作るの無謀過ぎるw
21774ワット発電中さん:2010/11/27(土) 11:37:40 ID:yFb6Z4sr
>>14
C言語も知らずにプログラムしようとしてるのかw
22774ワット発電中さん:2010/11/27(土) 11:50:39 ID:llqo523I
電子工作の経験はあります。
コメント表記なのも理解できますが,RB0が何を入力信号としているのかわからないのです。
23774ワット発電中さん:2010/11/27(土) 12:06:17 ID:iEgE1ZFq
小中学生?
24774ワット発電中さん:2010/11/27(土) 12:11:12 ID:llqo523I
現在高1です。
25774ワット発電中さん:2010/11/27(土) 12:18:08 ID:PD1mAwb9
>>14
このブロック図と解説から回路作れるなら自分でなんとかできるんじゃね?
まさかとは思うがネット上の参考情報の赤外線リモコンの音量制御ユニット
ってのをそのまま組んだんじゃないよな?
参考のは入出力がプログラムとあわないし
26774ワット発電中さん:2010/11/27(土) 12:21:55 ID:iEgE1ZFq
ハード、ソフト どこに問題があるか
切り分けていかないと 

これ以上進まんと思うよ




27774ワット発電中さん:2010/11/27(土) 13:23:28 ID:llqo523I
>>25さん
プログラムと対応させて回路は組んでますが,リセット信号あたりの内容が良くわからなくて
悩んでいます。
28774ワット発電中さん:2010/11/27(土) 14:52:28 ID:PD1mAwb9
>>27
元の回路と違うなら変更した回路を出す
まずはそれからだ
29774ワット発電中さん:2010/11/27(土) 16:39:20 ID:fnHVRK7J
みんなの手元に同じものが有る訳じゃないしな。訊かれても何も出来ない。
30774ワット発電中さん:2010/11/27(土) 17:48:53 ID:thTCYuV9
>>22 RB0/INT割込みってのを使ってるんじゃね?
http://homepage3.nifty.com/mitt/pic/pic5_09.html
INTEDGってのを設定している節がないので0だとすると
1→0で割り込みかかるようなので、とりあえず
プルアップしといたらどうでしょ。
(OUTにもなるときがあるようだから5V直結はうまくないみたい。)
31774ワット発電中さん:2010/11/27(土) 19:48:01 ID:Qcf1fNHz
>>27
回路図は、どんなふうになってるの?
写真でも撮って、UPしてよ。 ココ→ http://ime.nu/loda.jp/mcnc/

あのブロック図から、自分で回路を考えたの?
すごいなぁ。
32774ワット発電中さん:2010/11/27(土) 22:47:04 ID:V1AVEzhV
16F84AのCCSにて時計を作ろうとしています。
時計はLCDに出力するつもりなのですが、クロックを水晶振動子の32.768kHzを使用した時に、
LCDに文字を表示出来ませんでした。クロックをセラロック8MHzにしたところ、普通に表示出来ました。
コンフィグは水晶の時はLPに、セラロックのときはHSにしています。
水晶で、LEDを1秒毎にON・OFFをするプログラムだと、腕時計のストップウォッチですが一応1秒出来ていました。
やはりC言語だとその辺厳しいのでしょうか?
長くて申し訳ありませんが、水晶の時のプログラムを下記に載せます。

#include <16f84a.h>
#fuses LP,NOWDT,NOPUT,NOPROTECT
#use delay(clock=32768)
#use fast_io(a)
#use fast_io(b)

#define pin_db4 pin_b0
#define pin_db5 pin_b1
#define pin_db6 pin_b2
#define pin_db7 pin_b3
#define rs pin_a2
#define stb pin_a3
#define sw1 pin_b4
#define sw2 pin_b5
#define sw3 pin_a1
#define led pin_a0

#include <lcd_lib2.c>

void main()
{
 set_tris_a(0x00);
 set_tris_b(0x00);

 output_a(0x00);
 output_b(0x00);

 lcd_init();
 lcd_clear();
 lcd_cmd(0x0c);

 for(;;){
  lcd_cmd(0x80);
  printf(lcd_data,"Test");
  lcd_cmd(0xc0);
  printf(lcd_data,"テスト");
  }
}
33774ワット発電中さん:2010/11/27(土) 23:34:57 ID:lPgdeMDO
多分だけど、lcdライブラリ内部でdelayしてるところで
すげー待たされてるんだと思う…。

かなり放置したら表示されたりしないかな。
34774ワット発電中さん:2010/11/27(土) 23:58:33 ID:V1AVEzhV
>>33
文字を表示出来ないと書きましたが、厳密には文字化けが起こっているのか、
;ワEFW7L と表示されています。ずっと付けていますが目的の文字が表示されませんでした…。
一応LCDライブラリの方も記載しておきます。

void lcd_out(int code, int flag) {
 int i;
 if(code & 0x01)
  output_high(pin_db4);
 else
  output_low(pin_db4);
 if(code & 0x02)
  output_high(pin_db5);
 else
  output_low(pin_db5);
 if(code & 0x04)
  output_high(pin_db6);
 else
  output_low(pin_db6);
 if(code & 0x08)
  output_high(pin_db7);
 else
  output_low(pin_db7);
 if(flag == 0)
  output_high(rs);
 else
  output_low(rs);
 delay_cycles(1);
 output_high(stb);
 delay_cycles(2);
 output_low(stb); }
void lcd_data(int asci) {
 swap(asci);
 lcd_out(asci,0);
 lcd_out(asci>>4,0);
 delay_us(50); }
void lcd_cmd(int cmd) {
 swap(cmd);
 lcd_out(cmd,1);
 lcd_out(cmd>>4,1);
 delay_ms(2); }
void lcd_clear() {
 lcd_cmd(0x01);
 delay_ms(15); }
void lcd_init() {
 delay_ms(15);
 lcd_out(0x30,1);
 delay_ms(5);
 lcd_out(0x30,1);
 delay_ms(5);
 lcd_out(0x30,1);
 delay_ms(1);
 lcd_out(0x20,1);
 delay_ms(1);
 lcd_cmd(0x2E);
lcd_cmd(0x08);
 lcd_cmd(0x0D);
 lcd_cmd(0x06);
 lcd_cmd(0x02); }
35774ワット発電中さん:2010/11/28(日) 00:14:11 ID:tLsMfxTs
>>34
組み込み関数のdelayを使わないようにしてみたらいいんじゃない?
クロックで変わるところと言ったらそれしかないわけだし。
36774ワット発電中さん:2010/11/28(日) 00:26:24 ID:EREsxqWr
>>35
for(;;)以降でのdelay関数が何故使えるか分かりませんが、
delayくらいしか影響ないですもんね…。
待ち時間をアセンブラで作るときみたいな感じでやってみます。
37774ワット発電中さん:2010/11/28(日) 03:56:47 ID:arxKWjm2
複数のPICから1つのEEPROMに接続するのを
試された方いらっしゃいますか?

複数の18Fから24LC64にアクセスしようと思っているのですが・・・。


38774ワット発電中さん:2010/11/28(日) 07:43:42 ID:6aCNvGi2
>>37
IICでできそうな気がするが、マスタ複数存在するので排他制御が必要になりそう。
実績無いから推測だけど。
39774ワット発電中さん:2010/11/28(日) 09:22:48 ID:arxKWjm2
>>38
もちろんアクセスはI2Cでやるつもりだったけど、
問題は、ROM側のSCL/SDAに複数繋いでいいかってこと。

この際、24LCに拘らないので、
SRAM、EEPROMなどで複数のPICでアクセスする方法を・・・。
皆さんの知恵をください。
40774ワット発電中さん:2010/11/28(日) 09:36:55 ID:ck+1TEp0
まずI2Cの仕様書を読め
どうみても読まずに質問してるだろ
41774ワット発電中さん:2010/11/28(日) 09:42:52 ID:e0Mu+j9r
マルチマスターで ggl
42774ワット発電中さん:2010/11/28(日) 10:14:53 ID:arxKWjm2
>>40
そんな英語のマニュアルなんか読んでねーよ!!!

でも、マルチマスタってのがあるのか。
ヒントくれて、ありがとう!!!
43774ワット発電中さん:2010/11/28(日) 10:20:45 ID:6JM/wNLU
日本語もあるだろ
探す努力も読む努力もしない屑野郎が
44774ワット発電中さん:2010/11/28(日) 11:16:02 ID:HYeJACBk
敷居が低いって事は良い事なんだろうけれど、
あいかわらずレベル低いな
45774ワット発電中さん:2010/11/28(日) 11:39:54 ID:JV3r2y3h
ということを書かずにおれないぐらい過疎ってるんだから
賑やかしと見ておけ。
46774ワット発電中さん:2010/11/28(日) 12:58:47 ID:Tl8X/Yu0
I2Cで排他処理するには ハードウエアの支援が無いと難しい

ただ、複数のマスターが全部PICなら
 SDAの立ち上がりと立下りで割り込みをかけてその時 SCLがLであれば StartまたはStop
でもいけるかもしれない。

47774ワット発電中さん:2010/11/28(日) 16:39:18 ID:YKAHy4G8
>そんな英語のマニュアルなんか読んでねーよ!!!
英文マニュアル読む気がないなら、この世界から足洗ったほうがいいよ。
日本語ONLYでも、もっと幸せになれる趣味なんていくらでもあるだろ。
48774ワット発電中さん:2010/11/28(日) 17:43:35 ID:hOyUXe9W
>>44
敷居が低いって、使い方間違えてるからな…
49774ワット発電中さん:2010/11/28(日) 17:55:25 ID:SQNa3BVA
>>31さん
とりあえず回路図をアップしました。
TC9210PのGNDピンの接続先を書き忘れましたが設置しています。
デジタル側とアナログ側のGNDを同じにしていないとノイズがすごかったので
どちらのGNDも一緒にしました。
音声は流れるのですが,リモコンやLEDは反応しません。
50774ワット発電中さん:2010/11/28(日) 19:31:06 ID:I6RR2aDk
>>49
お疲れさまでした。

>とりあえず回路図をアップしました。
俺たちに「自分で探しにって見つけて来い」とでも言うのか!!

写真をUPしたときは、アップロード先のURLを載せるもんだよ。

回路図をupしました。ココ↓です。
http://loda.jp/mcnc/?id=36.jpg

という感じ。
51774ワット発電中さん:2010/11/28(日) 19:45:18 ID:I6RR2aDk
>>49
あの回路で、質問があるんだ。よかったら教えてくれないですか?

・この状態で、RA4からデータ入力できる理由を知りたいです。
・RB0の先につながっている抵抗1.5kの役目を説明してくれない?。
・PHA, PHBの部分は、この部品は何? どんな動きをするの?
・TC9210の下にある、VSSにつながっている抵抗、となりの12Vにつながっている抵抗の、働きを説明して。
・0Vならアースだと思うが、TC9210の1ピン?の行き先だけ、0Vと書かれている理由を教えて。
・TC9210の1ピン?とGND間に入っている47uFのコンデンサの役目は何?
・そのコンデンサ、GND側がマイナスになっているのはなぜ?
・PICの「MCLR」と書かれたピンは何をするピンなの?、教えて欲しい。
・2つのIC、ともにピンに番号が書いてないけど、なぜ書かないのか教えて欲しい。
52774ワット発電中さん:2010/11/28(日) 20:26:33 ID:fQ+nLj0W
>>49 これだと RB0はずっとLのままですねえ…
53774ワット発電中さん:2010/11/28(日) 20:34:04 ID:SQNa3BVA
>>50さん
すみません。ご指摘ありがとうございます。

>>51さん
・この状態で、RA4からデータ入力できる理由を知りたいです
http://www.technobase.jp/eclib/OTHER/DATASHEET/irm638n3.pdfのアプリケーションcircuitの形に修正しました

・RB0の先につながっている抵抗1.5kの役目を説明してくれない?。
→プルアップしようと思いつけました。しかし,SWをつけてなく常に0なので意味ないですね。。。

・PHA, PHBの部分は、この部品は何? どんな動きをするの?
→ロータリーエンコーダです。手動のボリュームになっていて回せば音が大きくなるはずです。

・TC9210の下にある、VSSにつながっている抵抗、となりの12Vにつながっている抵抗の、働きを説明して。
http://shino.pos.to/eda/remocon2.htmlの電子ボリュームICの使い方を見てやってみました。なぜかはよくわかりませんが,A-GNDをGNDにつないでないと音が途中で聞こえなくなってしまいます。

・0Vならアースだと思うが、TC9210の1ピン?の行き先だけ、0Vと書かれている理由を教えて。
→GNDにつないでいます。

・TC9210の1ピン?とGND間に入っている47uFのコンデンサの役目は何?
→データシートhttp://pdf1.alldatasheet.jp/datasheet-pdf/view/32113/TOSHIBA/TC9210P.htmlの回路を参考にしました

・そのコンデンサ、GND側がマイナスになっているのはなぜ?
→上と同じでデータシートを参考にしました。

・PICの「MCLR」と書かれたピンは何をするピンなの?、教えて欲しい。
→リセット信号に用います。(リセットなしの場合はVccへとのこと)

・2つのIC、ともにピンに番号が書いてないけど、なぜ書かないのか教えて欲しい。
→すみません。わかっていただけると思い書いてませんでした。
54774ワット発電中さん:2010/11/28(日) 20:51:13 ID:D9pfnk1d
これ無謀すぎるだろ
PIC 単体で動作できるレベルになってから書いてくれよ
up load file も無駄に 4.2M もあるし









55774ワット発電中さん:2010/11/28(日) 21:08:22 ID:6T0dYC4X
ロータリエンコーダを9210に直結しても駄目なんじゃないでしょうか。
0Vはアースではないですね。
多分この回路図にないところに0−12Vからアナログのレベル(まぁ中点の6Vくらい?)を決める物があるはずです。
9210の電源回りのC(47uF 0.1uF)は↑で書いたアナロググラウンドと+B/−B間とのフィルタです。
アナログGNDとデジタルGNDは最短でつなぎます。

とにかく、もうすこし勉強した方が良いと思います
56774ワット発電中さん:2010/11/28(日) 21:12:46 ID:aCjLFQzT
>>49
とりあえずMCLRに何も繋がってないのが動かない原因と思われる
ソフトでMCLRを無効にできる設定のPICもあるが(CCSならNOMCLRとかの設定)
RA4に付いてる受光素子は受光してない時はLかHになってる?
57774ワット発電中さん:2010/11/28(日) 21:25:55 ID:fQ+nLj0W
>・RB0の先につながっている抵抗1.5kの役目を説明してくれない?。
>→プルアップしようと思いつけました。しかし,SWをつけてなく常に0なので意味ないですね。。。

GNDに落とさなきゃプルアップになるのに…
58774ワット発電中さん:2010/11/28(日) 21:36:42 ID:I6RR2aDk
>>53
さっそく、ありがとう。
仕事で時間がないので、要点だけ書くので、自分で調べてほしい。

・PICマイコンのMCLRは、マスタークリア=リセット端子=開放は絶対だめ。
・光受光部の出力はオープンコレクタで、さらにPICのRA4はオープンドレイン端子。
  どちらも、Lにはできても、Hにできない。→Hにする人が必要。
・意味のない抵抗は書かない。混乱するだけ。自分のため。
・ICのピン番号は必ず書く。自分のため。ピン番号を書く癖をつけること。
・TC9210の周辺は、東芝のデータシートの応用例とちがってる。
  応用例ではマイナス電源を使っている。
  Vssというのは、Vddに対して負の電圧という意味であり、
  Vss=0Vという意味ではない。

自分で調べて、ここまで回路を書いて、そして製作するのは、
なかなかセンスがいいと思います。
もっともっと、たくさん経験して、たくさんバグ取りに悩んでください。
きっと、いい技術者になれると思いますよ。
59774ワット発電中さん:2010/11/28(日) 22:17:41 ID:SQNa3BVA
>>56さん
とりあえずMCLRは5Vに接続しました。
RA4に繋がっている受光素子はGNDを基準にするとHになってます。一応リモコンにも反応はします。

>>57さん
GNDに落とさないようにしました。

>>58さん
いろいろとありがとうございます。
お仕事がんばってください。
60774ワット発電中さん:2010/11/28(日) 23:51:48 ID:O87L/hU6
>>58
>・光受光部の出力はオープンコレクタで、さらにPICのRA4はオープンドレイン端子。
>  どちらも、Lにはできても、Hにできない。→Hにする人が必要。

IRM-36xxのH出力は、2.7V(Vcc=3V時)を保証しています。
まぁ、10KΩ以上のプルアップ抵抗なら付けても問題ないようですが。
61774ワット発電中さん:2010/11/29(月) 00:48:07 ID:ZUzd6ZPP
個別の案件はそろそろ ほかでやってくれるか コテいれてくれよ

62774ワット発電中さん:2010/11/29(月) 22:34:16 ID:AfoY1XPx
アセンブラを書いているときに
bsf PORTA,0
では無く
bsf LED みたいに名前を付けることは出来ないでしょか?
63774ワット発電中さん:2010/11/30(火) 00:13:58 ID:HfZD4vIA
#defineで出来るでしょ
64774ワット発電中さん:2010/11/30(火) 00:38:10 ID:2NRQNux1
>>37
ROM制御用のPICにMAX232とか複数つければ、
できるんじゃないかな。

6564:2010/11/30(火) 00:45:02 ID:2NRQNux1
もうちょっと詳しく書きます。
1個ROM制御用のPIC用意して、そいつとI2CでEEPROMに繋ぐ。
ROM制御用に232Cインタフェース(max232とか)を複数つけておく。
ROMにアクセスしたいPIC達は、232CでROM制御用PICと通信。
どうでしょう?
66774ワット発電中さん:2010/11/30(火) 00:57:18 ID:uVWaW4ub
マルチマスターだといってるだろ
67774ワット発電中さん:2010/11/30(火) 01:35:20 ID:LMU3qWjV
マルチマスターって、DataLineとAddressLineをみんなで使うってヤツ?

なら、イーサネットみたくCSMA/CD組めば?
マスターにIDふって、バス見に行って、使ってなかったら使用宣言して、誰も文句言わない場合に開始、文句が出たらIDミリ秒後にもっかいバス見にいくってやつ。

PICよりバスバッファのがチップ数多くなりそ(^p^;)
68774ワット発電中さん:2010/11/30(火) 01:45:07 ID:uVWaW4ub
トークン でも ポーリングでも好きなの使ってくれ
69774ワット発電中さん:2010/11/30(火) 02:50:43 ID:e7bmNjNf
>>63
うまく出来ました!ありがとうございます!
70774ワット発電中さん:2010/11/30(火) 08:20:00 ID:DbhtUIFl
>>65
まぁ、やりたいようにやってみりゃいいんじゃねぇの?
誰に迷惑かけるわけでもないし。
71774ワット発電中さん:2010/11/30(火) 10:54:25 ID:OCWthYBX
>>69
へーそうなんだ・・・
63にそれはCだろって突っ込み入れなくて良かった
72774ワット発電中さん:2010/12/01(水) 00:20:09 ID:QXGBCMWE
HiTech-C Liteの配列の件で教えて下さい。

RGB-LEDを16f88を使って色々な配色で点灯させて遊んでたんですが、配列を利用して
配色のパターンを複雑に変化させようとしてたら、配列がだんだん長くなって
しまいには「配列の長さには制限があるんじゃゴルァ」ってエラーが出てコンパイラから
怒られてしまいました。

配列を使わないか、短い配列で複雑な配色を表現する知恵がありましたら教えて下さい。
73774ワット発電中さん:2010/12/01(水) 01:09:10 ID:KQB49cwG
( ・∀・)つ 乱数
74774ワット発電中さん:2010/12/01(水) 03:01:50 ID:MaHZlE+G
>>72
Constが多いんかな。

文字テキストとかだと、ど〜にもならんけど、LEDの配色なら、圧縮と展開でやれんかな。

88って、配列データで使うとちょっと狭いけど、外部に記憶域もつものなんだなって量の時って、みなはどうしてんの?
75774ワット発電中さん:2010/12/01(水) 06:05:46 ID:8Lr47CJf
>72

const前提で大きな配列が必要なら、案は以下の2通りくらいかな。
1. 内部EEPROMを使う。
メリット:初期化が容易。
デメリット:容量が少ない
2. I2CなどでアクセスできるEEPROMを外付けし、それを使う。
メリット;大きな容量を実現できる。
デメリット:初期化に工夫が必要。

どちらも読み出し用の関数さえ用意すれば、プログラムの実装は
容易だと思います。
76774ワット発電中さん:2010/12/01(水) 07:15:18 ID:sauRFfti
>配列を使わないか、短い配列で複雑な配色を表現する知恵がありましたら教えて下さい。
そんなに自分の脳味噌を使うのが嫌か?
自分で考えてみようと思わないなら、とっととやめて、別の趣味なり仕事を
探したほうがいいんじゃね?
77774ワット発電中さん:2010/12/01(水) 12:02:24 ID:keoNq715
1byte a = 0:0:R2:G2:B2:R1:G1:B1 とすれば、1byteで2パターン記憶できる。

使うときは、
R = ( (a & 0b00000100)!=0 ) ? 1 : 0;  // 1回目のパターン
G = ( (a & 0b00000010)!=0 ) ? 1 : 0;
B = ( (a & 0b00000001)!=0 ) ? 1 : 0;
a >>= 3;
R = ( (a & 0b00000100)!=0 ) ? 1 : 0;  // 2回目のパターン
G = ( (a & 0b00000010)!=0 ) ? 1 : 0;
B = ( (a & 0b00000001)!=0 ) ? 1 : 0;
78774ワット発電中さん:2010/12/01(水) 13:31:13 ID:fgjDqV+e
なんかPICじゃないレベルのお話があって驚いた。

前スレで232Cにゴミが乗る件で書いたものです。
(パワーオン周りは結局555で周辺回路と同調してリセット突っ込みました。)

いよいよUSBデバイスに行きます。
また何かあったらよろしくお願いします。

しかしプルアップをそのままGNDに落とす…何がしたいんだ?
79774ワット発電中さん:2010/12/01(水) 13:33:49 ID:IbD5V8Th
PICでMCLRをGNDに落とすとリセットが掛かると思っていましたが、
掛かりません。

MPLABのC言語で使用していますが、なにか指定がいるのでしょうか?

80774ワット発電中さん:2010/12/01(水) 16:28:54 ID:IbD5V8Th
色々調べて、コンフィグを設定しました。
#pragma config MCLRE = ON

MCLRは5Vにプルアップしています。
スイッチを押下すると、MCLRがGNDに接地します。
しかしリセットは相変わらずかかりません。

プログラム中からReset()を呼ぶとリセットはかかっています。
81774ワット発電中さん:2010/12/01(水) 16:29:39 ID:IbD5V8Th
>MCLRは5Vにプルアップしています。
MCLRは抵抗を入れて5Vにプルアップしています。
です。
82774ワット発電中さん:2010/12/01(水) 16:57:01 ID:lxncG0h0
>>81
取り敢えずテスターで導通と電圧をチェック。
83774ワット発電中さん:2010/12/01(水) 17:49:58 ID:JZPmRPFz
>80
>MCLRE=ON
それは内部プルアップON。ピンを読まなくなる。
外にリセット付けたいならOFF
84774ワット発電中さん:2010/12/01(水) 19:37:24 ID:fgjDqV+e
>>83
ん?なんかおかしくないか?
MCLRE=ONが内部プルアップONなら
 × 読まなくなる
 ○ 外部にプルアップがいらなくなる

じゃないのか?その場合スイッチでGNDに落とすだけでリセット動作って事じゃないの?

>>80
82の言うとおり電圧はかってみ。プルアップ抵抗なんぼにしたん?
85774ワット発電中さん:2010/12/01(水) 20:05:19 ID:f1RZUR8i
18F2620のデータシートの記述は以下。
the MCLR input can be disabled with the MCLRE Configurationbit.
When MCLR is disabled, the pin becomes a digital input.

で、MCC18付属のhlpPIC18ConfigSetでは以下になっている。
MCLR Enable:
MCLRE = OFF Disabled
MCLRE = ON Enabled
8684:2010/12/01(水) 20:27:24 ID:fgjDqV+e
気になったのでデータシートを見た。(84A使ったこと無いんだよね。あれ機能の割りに高いし

内部プルアップじゃなくてやはりMCLRピンの有効/無効だと思うのだが?
という事でONでよいと思うがC18も使ってないのでわからず

VDD±0.3Vに落ちていれば問題ないようだ。
内部回路も親切にシュミットトリガで組まれてるのね。ありがたい世の中だ。
スイッチのチャタリグを考えて並列に0.1uF程度のセラコンでもいれた方が良いかも程度かな〜
87774ワット発電中さん:2010/12/01(水) 21:09:05 ID:4T1Az1Yv
232Cにゴミが乗るなんてPICじゃないレベルのお話だという自覚はないわけね。
88774ワット発電中さん:2010/12/01(水) 21:41:36 ID:bd4Zjto5
ありませんが、何か?
89774ワット発電中さん:2010/12/01(水) 23:09:32 ID:xouc6byT
PIC18F2550とC18で、プログラム実行中にEPROMの
書き込みと、読み込みを行いたいのですが、
参考になるページがどこかあれば教えてください。

90774ワット発電中さん:2010/12/01(水) 23:49:15 ID:keoNq715
>>88
>>87の文章が、良く理解できるね。たいしたもんだ。

>232Cにゴミが乗るなんてPICじゃないレベルのお話だという自覚はないわけね。
   どこで区切ればいいんだ。
9183:2010/12/02(木) 00:32:45 ID:p+8XyMRe
ゴメン俺が悪かった。逆だ。

MCLREはリセットピンとして使う/わない
だからONでリセットスイッチ用だった。
長年使ってるのになんでボケたんだ・・・
92774ワット発電中さん:2010/12/02(木) 05:24:30 ID:BVyHeXcT
>>88
なんか代わりに答えて貰った。ありがと
まさか起こった事象と起こした対象の話もわからない文盲が居るとは。恐れ入った。

>>91
いや、お陰で84Aのデータシートを見ていろいろ勉強になった。85氏の説明で明確になったし。
93774ワット発電中さん:2010/12/02(木) 11:06:15 ID:1k4sjWfd
>>89
c18のヘルプに、組み込み関数として載ってる気がする
94:2010/12/03(金) 12:16:00 ID:l/nS+m9i
**********************************************
**********************************************
**********************************************


My site open. It is a nasm design data

http://sky.geocities.jp/flora_mellisa_flora/

NASM設計手順資料
モジュールの開発方法
割り込みの設計手順
開発手順をまとめたソースの設計資料

**********************************************
**********************************************
**********************************************
95774ワット発電中さん:2010/12/03(金) 12:27:10 ID:pmOrQO2/
>>65
単純に共有メモリとして使いたいわけ?

そんなややこしい事するなら優先順さえ付ければいいんだからもっと簡単に
1個 PIC を調停用に確保して 各pic と1本のポートで接続

調停者は
 プルアップしておいて、 L は禁止 H は許可として、
 順に 1個だけ H にする=入力ポートにする
 H(入力ポート)にしたポートがLになったら、Hになるまで待つ
各PIC は そのポートを普段は入力ポートとしておく
 EE-PROMを使いたいなら Hを確認した直後一定期間内にL 出力にする
 そして使い終ったら元に戻す
96774ワット発電中さん:2010/12/03(金) 15:53:57 ID:ju+7+sbw
こんにちわ。
初めて投稿します。よろしくお願いします。

dsPIC30を使わせて頂いています。
下記現象の対処方法をご存知の方がいらっしゃいましたら教えてください。

コードプロテクトを実施したところ、解除ができなくなり再度書き込みができなくなりました。
ICD2ではプロテクトをかけることができなかったため、
コード上でプロテクトをかけるルーチンを作成し、プロテクトを実施しました。
(環境:MPLAB IDE8.56、ICD2、Vdd=5V)


下記URLに「dsPIC30固有の問題」「仕様ではVdd=4.5V以上でプロテクトを含めたチップイレースをできることになっていますが実際にはできません」となっています。
http://einstlab.web.fc2.com/dsPICer/dsPICerSW.html

どなたかよい方法を教えてください。
よろしくお願いします。
97774ワット発電中さん:2010/12/03(金) 17:01:03 ID:kemIpXbE
>>90
確かに日本人でないと、理解しにくいかもしれないね
98774ワット発電中さん:2010/12/03(金) 20:27:03 ID:+pauX9IE
使わせて頂いていますは敬語の使いどころがおかしいな。別に許可制じゃないんだからw

そのページ見ると4.8V以上のVddならイレースできる、とあるけど
とりあえずPICの足の所で電圧測って電圧が足りてるか確認。
可能なら5.5Vくらいにすると安心なのかも。
99774ワット発電中さん:2010/12/03(金) 22:01:49 ID:gTsA53ey
>>98
同感だな。
「このスレを使わせていただく」なら理解だし、
メーカー(MC)が「PICを使って頂き」なら理解だな。
100774ワット発電中さん:2010/12/03(金) 22:22:15 ID:X1mgD9S5
「dsPIC30を使ってやってます。」なら理解だな。
101774ワット発電中さん:2010/12/03(金) 22:49:41 ID:SOsP/GSP
コンパイラを無断使用させて頂いてますに1ペリカ
102774ワット発電中さん:2010/12/04(土) 03:38:28 ID:2nWYQvDu
で、文章添削して終わりかよ・・・・(ー。ー;) なんか、気の毒になってきた
103774ワット発電中さん:2010/12/04(土) 06:08:47 ID:XDcYw3C4
言葉の使い方が変なのは、他にもたくさんあるよね。
〜になります。
○○円からいただきます。とか。

最近気になっているのが、新聞チラシの所在地の地図で、他の店を
「○○さん」と書いてあるやつ。
104774ワット発電中さん:2010/12/04(土) 14:32:00 ID:kvemy+kH
朝鮮人がおかしな日本語の覚え方をし、それをそのまま
マスゴミが垂れ流すシステムが出来上がってしまっている。
そのシステムで日本人の脳は蹂躙され、結果今の状況にある。
本来、極左政権のおかげで右傾倒が進むはずが、
マスゴミの元締めが既に朝鮮人では、もはや正攻法では改善せず、
朝鮮人を「悪」として扱い、国土を浄化するしかない。
105774ワット発電中さん:2010/12/04(土) 19:09:07 ID:S7DIKVmF
朝鮮人は日本のものは向こうで朝鮮読みするくせに
朝鮮のもんを日本でなんて言うかはあくまで朝鮮読みをゴリ押ししてくるからな
106774ワット発電中さん:2010/12/04(土) 19:57:25 ID:YTptcyWk
頭が悪い証拠ですね
107774ワット発電中さん:2010/12/04(土) 23:30:35 ID:lNVu+9el
>>103
1万円から(商品代金分をこちらが)頂戴いたします、を省略しただけだろが
108774ワット発電中さん:2010/12/05(日) 01:31:13 ID:lSa5yL/A
>>107
そんな都合のいい省略って、あるか?
そんなこと言い出したら、どんな省略だって有りじゃん。

普通に「○○円お預かりします」でいいじゃん。文字数もかわらないし。
109774ワット発電中さん:2010/12/05(日) 03:30:26 ID:W44bEllU
16F88でAD変換の結果を7セグに表示しているのですが、変換結果の10ビットの値を
7セグの数値に置き換える部分で時間がかかりすぎて表示がちらついてしまうのですが
10ビットを4桁のデシマルに変換する方法で1023回のループを使わないで変換する方法はありますか?
現在、上位2桁、下位8桁の2重ループで桁用の変数に下位から1つずつINCFして9を超えたら
次の桁をINCFするということで1023回のループ無いにいくつもの命令があって遅くなってしまいます。
110774ワット発電中さん:2010/12/05(日) 04:43:58 ID:zyPM7ugC
>>109
「PIC 10進 変換」でググれ
111774ワット発電中さん:2010/12/05(日) 06:01:02 ID:GyvrdkUZ
>>109
だいたい1023回のループで変換するなんて幼稚な方法をなぜ使うんだ?
少しは自分の脳味噌を使え。
といっても、どうせ>110みたいに見つけてきてパクるだけか。
112のうし:2010/12/05(日) 06:57:53 ID:pA3LuyEQ
クロックが早いやつだったら気にならなかっただろう。
えっ、dsPIC使うって? w‥
113774ワット発電中さん:2010/12/05(日) 07:37:16 ID:U0pEwQYx
>>109

それ、ちらついてる原因は 10Bit → 4桁デシマル変換 の遅さのせいじゃないと思うよ。

>10ビットを4桁のデシマルに変換する方法

アセンブラなの? まー、なんでもいいけど。
Seg[3]は、AD変換値を1000で割った商。
Seg[2]は、AD変換値から1000xSeg[3]を引いて、100で割った商
Seg[1]は、AD変換値から1000xSeg[3]+100xSeg[2]を引いて、10で割った商
Seg[0]は、AD変換値を10で割った余り

でいんでない?

>現在、上位2桁、下位8桁の2重ループで

どういう意味?10Bit A/Dの結果が10桁ってコト? 16bitで扱えば、二重ループにする必要ないし、逆にそのやり方のメリットが分からない。
114774ワット発電中さん:2010/12/05(日) 07:41:55 ID:2rZQ0p9D
>>109
表示をタイマー割り込みでやるようにすれば変換にいくら時間がかかっても、
ちらつかないようにできるのに。
115774ワット発電中さん:2010/12/05(日) 15:45:06 ID:LB0sxR9d
PICで携帯の3Gとかに繋げないかな?
mini-PCIとかを利用して。
116774ワット発電中さん:2010/12/05(日) 18:33:28 ID:r+aAfmFr
>>109
2進→BCDが早いぞ
117774ワット発電中さん:2010/12/05(日) 19:01:37 ID:coHKJwU8
チラつくの意味が
甲.数字が変わる
乙.表示が点滅
のどっち?
118774ワット発電中さん:2010/12/05(日) 21:16:49 ID:W44bEllU
>>117
表示が点滅します。

>>114
現在はタイマーでAD変換をしてそれ以外の時はダイナミック点灯のループを実行しています。
タイマーのところで変換をしたのですが、その処理中はダイナミック点灯が出来なくなるので消えてしまい
ちらつきに見えるようです。

>>113,110,111
命令に割り算がないのでこうやってやるものだと思っていました。
調べてみます。

どうもありがとー
119のうし:2010/12/05(日) 21:25:13 ID:pA3LuyEQ
つうか、ライブラリにないのか? 『nビットを〇桁のLEDにBCD表示させる‥』

たしかTIの対抗(?)マイコンはLCDドライバでもハード的に備わってたな。
120774ワット発電中さん:2010/12/05(日) 22:26:37 ID:/wrqlQk6
>>118
> タイマーのところで変換をしたのですが
タイマーのところで変換をしなけりゃいいじゃん。
121774ワット発電中さん:2010/12/05(日) 22:28:04 ID:bqhE1inW
市販の自転車用のテール用LEDライトが高いからPICで自作したいんだけどよさげなキットとかないですか?
122774ワット発電中さん:2010/12/05(日) 22:36:09 ID:DfU3F4QB
>118
ダイナミック点灯でちらつくのなら
消えてる最中じゃなく、点けてる最中に変換すれば解決するだろ
123774ワット発電中さん:2010/12/05(日) 22:40:10 ID:LB0sxR9d
飛行機のラジコンにつけるような
50-100b先に障害物がないか調べるようなセンサーと
風向センサーってないかな??
124774ワット発電中さん:2010/12/05(日) 22:56:19 ID:sLdMwPpr
>>121
ダイソーとかに100円で自転車用LEDテールランプ売ってるでしょ。
125774ワット発電中さん:2010/12/05(日) 23:05:26 ID:W44bEllU
>>120,122
変換のところにダイナミック点灯のルーチンのcallを入れてもできるかな?
でもこの場合割り算の方法1択っぽいので今回はそれでやることにします
126774ワット発電中さん:2010/12/05(日) 23:36:12 ID:DfU3F4QB
ダイナミック点灯ってどうやってるの?

結構多岐に渡る計算やAD変換しながらでも
表示がちらつくなんてことないけどな

AD変換1回で50μ秒程度だし
BCD変換なんて長くても5ミリ秒位だろ
その程度の遅延なら最初から織り込んでおけば良いだけではないのか
127774ワット発電中さん:2010/12/05(日) 23:42:58 ID:7r4JGmW3
いみふ
128774ワット発電中さん:2010/12/06(月) 00:17:32 ID:K8P52ToJ
ダイナミック点灯の切り替え周期何ms取ってるの?
1文字あたり5msくらいにすればどんな演算でも入りきるだろ。
129774ワット発電中さん:2010/12/06(月) 00:42:26 ID:eh3W6nx5
>>126,128
ダイナミック点灯は点灯期間が1つあたり32ミリ秒でそれが4桁の繰り返しでやっています。
このルーチン自体ではちらついてはいないのですが、割り込みが発生してここから
抜けてしまった後の処理が重いのでその間に消えてしまいます。
ループを使ったBCD変換だと相当時間がかかるみたいです。
130774ワット発電中さん:2010/12/06(月) 01:37:07 ID:K8P52ToJ
32m x4で一周130ms?それこそチラつかない?
まあいいや。

http://www.piclist.com/techref/microchip/math/radix/index.htm
ここに10bit to BCDがあるから使え。
131774ワット発電中さん:2010/12/06(月) 01:49:56 ID:K8P52ToJ
あと割り込み入ってから演算初めてないか?

メインループでA/Dと演算済ませてデータ作っといて、割り込み処理では出力ポートにデータコピーするだけですぐ抜けるもんだぞ。

〜割りこみ〜
A/D開始(数回に1回にした方が良い)
データをポートにコピー
割り込み終了

〜メイン〜
A/D終了確認までループ
A/Dデータ読み込み
BCD変換してどっかにデータ保管
メイン最初へ
132774ワット発電中さん:2010/12/06(月) 01:57:13 ID:K8P52ToJ
あ、下から2行目訂正。

10bit to BCD変換
BCDの各桁をポート用データに変換、どっかに保存


BCDを出力ポート用に変換するサブルーチンは自作してね。
テーブル処理でもいいし、10種しか無いから地道に比較繰り返しでもいいや。
133774ワット発電中さん:2010/12/08(水) 00:23:11 ID:L32BZ9Ex
MicrochipのUSB VIDサブライセンス申請したことある奴いる?
http://ww1.microchip.com/downloads/en/DeviceDoc/APPLICATION%20FOR%20SUBLICENSE%20TO%20USB%20VID%20082009.pdf
134774ワット発電中さん:2010/12/08(水) 11:54:47 ID:ZSnvKczc
C18使いたいんですけどLABのウィザードでMicrochip C18 Toolsuite〜
C:\Program Files\Microchip\mplabc18\v3.37\bin\mcc18.exe指定しても
one or more ofうんちゃらと出て指定できないんですけど
135774ワット発電中さん:2010/12/08(水) 21:22:55 ID:9l7iw2Md
picに固執して柔軟な発想が出来ない香具師が多いな。
136774ワット発電中さん:2010/12/09(木) 02:07:09 ID:RaQYwjLf
固執しているから米を食うわけではない。そこに米があるから、勢いで食ってる。

ひょんなコトから長粒米が手に入って、ジャンバラヤでも作ってみようかと、
ターメリックはカレー粉で代用出来るかと聞いたところで、それは米に固執し
ているコトにはならんと思うが・・・


>>134
ウィザードの前に環境設定が要る。
Projectメニュー の set LanguageTool あたり
137774ワット発電中さん:2010/12/10(金) 19:14:40 ID:VJJYE0Ix
Error - Device not specified. Use /p option to specify a device.
このエラー何? 同対処すればいの
138774ワット発電中さん:2010/12/10(金) 20:20:12 ID:d4FYknbC
Google翻訳さんを通してみる

デバイスが指定されていません。デバイスを指定するには、/ pオプションを使用してください。
139774ワット発電中さん:2010/12/11(土) 00:23:57 ID:HHeEdxhG
でそのオプションはどうやって附加するのさMPLABのログ見ると
リンクじゃなくコンパイル時には自動で\mcc18.exe" -p=18F2550 となるけど
140774ワット発電中さん:2010/12/11(土) 09:15:05 ID:PRr+gZ19
>>139
MPLABのバージョンが古いんじゃね?
古いMPLINKは、プロジェクトの'Linker Script'へLKRファイルの登録が必要だぞ
\Microchip\MPASM Suite\LKR ←ここにあるやつ
141774ワット発電中さん:2010/12/11(土) 11:25:10 ID:iDmFMa7Z
PIC24FでGCCを使いたいんだけど、
どこでダウソしてくればいいのでしょうか。
142774ワット発電中さん:2010/12/11(土) 20:33:29 ID:CONmtdmF
JDMプログラマで16F785を焼こうとすると失敗する。
うまく焼けてる方います?
143774ワット発電中さん:2010/12/11(土) 22:38:33 ID:FeMnYOnj
ライティングソフトは何?
ソフト変えてやってみれば。
これ使ってるけど、RCD→16F785に対応してるはずだけど。
http://feng3.cool.ne.jp/4u/index.html
144774ワット発電中さん:2010/12/11(土) 22:39:38 ID:FeMnYOnj
スマン。
143訂正

×RCD
○JDM
145774ワット発電中さん:2010/12/11(土) 22:41:22 ID:FeMnYOnj
さっき、LED大量に使ったクリスマス・イルミネーション作ったが、
点滅の間隔が計算通り行かないな。

146774ワット発電中さん:2010/12/11(土) 22:59:24 ID:+Mo3DwFB
RC発振?
147774ワット発電中さん:2010/12/11(土) 23:43:32 ID:tEfQeM2j
・割り込み処理の所要時間がタイマー周期より長いのでタイマー割り込みを取りこぼしている
・発振(クロック周期)設定の設定ミス
・USB通信でPCから制御しているから

など、いろんな理由が考えられるけど、自分ではどれが怪しいと思う? >145
148774ワット発電中さん:2010/12/12(日) 03:31:20 ID:IncBUB41
>>145
計算が間違ってるとおもわれ
149774ワット発電中さん:2010/12/12(日) 07:51:21 ID:uO7jrJPn
計算以前の、何秒で点滅させるかの構想が間違ってるとおもわら
150774ワット発電中さん:2010/12/12(日) 14:42:55 ID:JJyTpdwR
そもそもled大量駆動ってpicで出来るの?
普通に脚が足りないw

8x20のledディスプレイ作りたいが160品のpicなんて無いしw
151774ワット発電中さん:2010/12/12(日) 14:55:55 ID:G6U/PqMl
ダイナミック駆動すれば??
152774ワット発電中さん:2010/12/12(日) 14:59:40 ID:nNiSNq89
IOなんて増やせばいいじゃん
153774ワット発電中さん:2010/12/12(日) 15:57:08 ID:B78Wt9Yc
ハイホー!
154774ワット発電中さん:2010/12/12(日) 16:17:48 ID:4l9h39gO
クリスマスツリー用のイルミネーションなら同時点滅するグループを3つか4つ作ればいいので、
それぞれ系統ごとに多数のLEDを直列接続して、
PICではドライブ能力が足りなくなるからMOS FETを使って駆動したらいい。

数系統なら16Fでも18Fでも好きなように使える。
12Fでは、ひょっとするとピン数が厳しいかもしれないが。
155774ワット発電中さん:2010/12/12(日) 18:25:24 ID:7X8fXMCD
>8x20のledディスプレイ作りたいが160品のpicなんて無いしw

何で160本も要るの?
PICの駆動力なら28本で行けるだろ
やる気出せば14本位でも行けるんじゃないか
156774ワット発電中さん:2010/12/12(日) 19:25:54 ID:Joo69RpA
13本ぐらいでも可能性はある。
実用にはならないかも。
157142:2010/12/12(日) 20:16:16 ID:sYNz+W6I
>>143
使用しているソフトは143が教えてくれたPICProg4U

ライタは、
ttp://www.geocities.co.jp/NatureLand-Sky/8265/

これで16F84の書き込みが出来ることを確認しているが、
16F785で焼こうとすると「Device ID mismatch!」と出て、読み込みも書き込みもできない
158774ワット発電中さん:2010/12/12(日) 22:40:54 ID:i67+sV8X
ミスマッチってことは単に書き込み時のデバイス設定がおかしいだけじゃないの
159774ワット発電中さん:2010/12/13(月) 20:52:00 ID:HyPIl54N
単純にDATとCLKが逆とか
160774ワット発電中さん:2010/12/13(月) 21:25:57 ID:9OpQFsej
配線ミスに1000点
161774ワット発電中さん:2010/12/13(月) 21:43:09 ID:qMlPr5hC
RCDとかJDMは不安定だからなぁ。
正常に作っててもPCのシリアルポート次第。
162774ワット発電中さん:2010/12/13(月) 23:34:45 ID:PLvHKhIn
PICKIT2が\3000とかなのに、なんで買おうとしないのか不思議。
163774ワット発電中さん:2010/12/14(火) 03:24:07 ID:NfhM5x8r
はらたいらに3000点
164774ワット発電中さん:2010/12/14(火) 04:40:56 ID:Gkc6i9Z6
はたらいたらまけ
165774ワット発電中さん:2010/12/14(火) 10:57:49 ID:8ymCWvZS
PICKIT2を2年くらい使ってきて、コネクタが緩くなってきたので、そろそろ新しいものと思い PICKIT3を買ったが
PICKIT 2 Programmer は 使えなかった。 PIKKIT3用のものをインストールしたがいまいちだったので
当分 PICKIT2 を使ってる。
166774ワット発電中さん:2010/12/14(火) 12:39:44 ID:E5+e7Vka
>>157
16F84の書き込みがおkって事でマジレス

多分チャージポンプの電圧不足が出ていると思う
回路図どおりなら足りない可能性は「ケーブル長」だと思う
<< 後は232Cのドライブ側の問題もありえるが84が書けているなら一定値は出ていると思う。

実は私もRCDライターだけど同じ事で悩んだ
この手の回路だとありがちなので一度試してみると良いと思う、やることはコード切って繋ぐだけだし
ケーブル長が1m以下だと正常なんて事もあるからがんばってちょ
<< 特に1Kまではかける、それ以上でダメとかのケースはこれが顕著
<< チャージポンプの容量を変えたりする方法で凌ぐ場合もあるが「大きくする」「小さくする」どっちのケースもある
<< 本当にテストする気があるならプログラム電圧を安定化電源から別引で試してみるのもお勧め
167774ワット発電中さん:2010/12/14(火) 13:22:44 ID:Nu5irREb
RCDライタでシリアルポート死んだなぁ、懐かしい
168774ワット発電中さん:2010/12/14(火) 13:36:45 ID:E5+e7Vka
逆流無視するとすっとぶよね。
169774ワット発電中さん:2010/12/14(火) 14:07:29 ID:HvLvfgp3
>165
うちのはPICKIT側をオスのLピンヘッダに替えた。
170774ワット発電中さん:2010/12/14(火) 20:03:14 ID:Qzr4jmwa
> ケーブル長が1m以下だと正常なんて事もあるからがんばってちょ
これ、どんな意味があるのかなぁ。
シリアルでしょ。

171774ワット発電中さん:2010/12/14(火) 20:39:36 ID:5my6YGRa
電圧降下、信号遅延、ノイズ等の理由から
ケーブルは極力短い方がいい。

シリアルとか関係ないよ。
172774ワット発電中さん:2010/12/14(火) 23:08:12 ID:3EzxiwxX
>170
たしか、元のシリアル(≒RS-232C)も長さ制限はある。
それを拡張した高速版は長さ制限が厳しかったしな。

そういや、SCSIもパラレルのシングルエンドのは高速化されるたびに長さ制限が厳しくなって、
最末期には内蔵ドライブしか無理と思えるレベルだったっけ?
173774ワット発電中さん:2010/12/15(水) 00:16:43 ID:7POX44+T
>>171
信号線のノイズ耐性的にはシリアルのほうが優位とか、そこだけを見て、シリアルならOkと思ってるんじゃなかろうか。
しかしまあ凄い時代だ… SCSI出始めはパラレルの速度なんか超えられないと思ってたのに…
174774ワット発電中さん:2010/12/15(水) 04:06:27 ID:N2iIAiW1
おはよう
175774ワット発電中さん:2010/12/15(水) 06:08:09 ID:3wzrRTr9
おはよう
6Km走ってきた。
176774ワット発電中さん:2010/12/15(水) 15:13:51 ID:choeS1J8
PICは、16F88で時代が止まっている者ですが、教えてください。

今のPICでは、すでにこんなのは普通になっているのでしょうか?
1) 16bitで
2) メモリは、ROM RAMがリニアに並んでいて、
3) 水晶のクロック周波数が、そのまま動作クロック周波数になって、
4) クロック用PLL内蔵で、
5) DSPが複数入っていて
6) UARTが3chくらいあって、
7) ADが10bit超えて12,14,16bitだったりして、
8) Cコンパイラーが無料か超安くて、
9) ROMが32k, RAMが8kとか16kあって、
10) CANが入っていたり、USBコントローラが内蔵されていたり、
11) そしてDIPパッケージがあったり

 すみません、好き放題書いちゃいいました。
177774ワット発電中さん:2010/12/15(水) 16:09:20 ID:kBn6IXko
>>176
1)知らん
2)知らん
3)未だに1/4じゃなかったっけ?
4)ここ意味不明だが?クロック用ってどないな意味だ?高精度オッシレーター内蔵って事?
5)知らん
6)シリアルしたいなら速度にもよるが2ピン使えば1ポートつくれるべ?
7)10ビットまでのインプリメントしかしらん
8)制限つきなら以前からタダだと思ったけど?SDCCがあるから無料があるっちゃあるが。。。
9)今のヤツは容量もっとでかくないか?
10)USBコントローラーはぐぐれ、なんぼかある
11)これはむしろ時代への逆行なので今後はドンドンへるのでは?変換基板に乗せて売っているお店へいけばよい
178のうし:2010/12/15(水) 16:11:46 ID:zrKFO1HJ
そして初心者に冷たくなった。とか
179774ワット発電中さん:2010/12/15(水) 19:15:57 ID:AnjFlqvl
今実験中のPIC32は
32bitでRISC
ROM512kb
RAM128kb
外部8MHzクロックで80MHz動作
CAN*1 USB*1
64TQFPだがな



180774ワット発電中さん:2010/12/15(水) 19:53:07 ID:GuufdvzF
>>177
知識無いのにレスするなよw
181774ワット発電中さん:2010/12/15(水) 19:59:10 ID:GuufdvzF
>>176
全部満たしたのは無いだろうけど、dsPIC30Fとか24Fあたりはかなり条件満たしてる気がする。
1)24F、dsPIC30F
2)ハーバードアーキテクチャは変わってないけど、18F以上はリニアだよ
3)PLLと組み合わせて可
4)18F以上にはPLLあるのが多い
5)複数はないんじゃね
6)流石に無いかと
7)あった気がする。パラメトリック検索してみ。
8)無料版Cコンパイラあるよ
9)あるある
10)あるある
11)あるある
182774ワット発電中さん:2010/12/15(水) 22:08:37 ID:roIHUyE1
PICは特に一点特化みたいな用途のほうがメインな気がするから、全部ってのは流石に考えにくいな。
183774ワット発電中さん:2010/12/17(金) 01:33:04 ID:Mdlt3Dpe
16系から久々に18系にと試してた
何をやっても動かない

マイコン自体が動作開始しないが、あるIOピンをプルダウンすると動く

それはPGC端子。ひょっとしてとLVPを無効にしたらサクッと。
MCLRもIOにしてるし念のためプルアップも。書込み出来て外部クロック。
それでプログラミングモードになっちゃうってどういう事なの?
184774ワット発電中さん:2010/12/17(金) 03:00:44 ID:xEfMstG/
秋月ライターの16F819書き込み時の注意書きでそんなのあったな。
PGM端子プルダウンしておかないとダメなんだっけか。

I/Oが初期値でインプットだから、PGM端子が浮いてて電圧貯まってた時に
最初にプログラムモードに行っちまうんだな。
185774ワット発電中さん:2010/12/17(金) 03:18:06 ID:t0XVMoUI
いまだに16Fや18Fつかっている人は
1:5V電源が便利
2:C言語わからへんねん
3:8bitPIC在庫ありまくり
4:PICKIT2買うお金がないのですよ
5:アセンブラ最高
6:書籍のサンプルしか利用できないのです
7:情弱
186774ワット発電中さん:2010/12/17(金) 06:43:06 ID:oeXUV41e
いまだに16Fや18Fの新製品が出てくるのをどう説明するんだ?
187774ワット発電中さん:2010/12/17(金) 06:48:38 ID:GkGMcdUx
中国のお客さんが指定してくるので仕方なく
188774ワット発電中さん:2010/12/17(金) 08:27:40 ID:WiPM2KUX
プルダウンって何ですか?
189774ワット発電中さん:2010/12/17(金) 12:20:54 ID:25dhw+0+
>>188
信号を抵抗でGNDに接続しすること
配線されない状態はLレベルになる
190774ワット発電中さん:2010/12/17(金) 13:34:34 ID:55r5dPCy
>>189
> 配線されない状態はLレベルになる
Hi-Zではないか?
191774ワット発電中さん:2010/12/17(金) 14:19:41 ID:SW4jnVyU
配線されない状態でHi-ZにならないようにプルダウンしてLレベルにするのではないか?
192774ワット発電中さん:2010/12/17(金) 15:12:58 ID:BNG5x/CN
>>185
18FでバリバリC使ってるけど。
安くて必要十分な機能・性能があるから使ってるだけ。
足りなければ24Fとかも使うし。
193774ワット発電中さん:2010/12/17(金) 17:47:05 ID:32V4ZkBW
18fって今どんな用途で使ってるの?
用途は昔から変化してないのかな?
194774ワット発電中さん:2010/12/17(金) 18:08:25 ID:xEfMstG/
2550だけ、USB目当てで使い始めた。
195774ワット発電中さん:2010/12/17(金) 19:31:22 ID:g/B96eHe
>>190-191
おまえら日本人か?w
196774ワット発電中さん:2010/12/17(金) 22:13:05 ID:bHdebEC+
>>184
どうもです
そんな事があるんですね
AKIライターとPICKIT2を気分で使ってるので
気をつけます。
(秋月のはちょっと改造も…)

>>185
わざわざ箇条書きお手数おかけしました
コピペですか?
197774ワット発電中さん:2010/12/17(金) 22:41:23 ID:Ldk5HkEG
PICな日曜日の16F877のプログラムを真似てモーター回しながら液晶を表示してます。
タイマ0割り込み入ったらモーターに次の励磁パターンを送り、90度回転したら反転するように
改造しました。

更に液晶が16桁あるので、単順にコピーして16文字表示しようとしたらモーターが回らなくなってしまいます。
もしかして、液晶の表示に時間がかかりすぎてタイマ0がうまく機能していないのでしょうか?
198774ワット発電中さん:2010/12/17(金) 23:47:48 ID:xEfMstG/
16F877のプログラム
ってなんだよ
199774ワット発電中さん:2010/12/18(土) 00:01:42 ID:MFcoF7xV
なぜ「PICな日曜日」と「モーター回しながら液晶を表示してます」をシカトして
「16F877」だけをとりあげるんだ?
200774ワット発電中さん:2010/12/18(土) 00:58:06 ID:Om2QQnVB
先にもーたまわして後で液晶表示すればいいだけじゃないの?
201774ワット発電中さん:2010/12/18(土) 01:22:09 ID:ZaeQSsDa
>>185って釣り??
みんな24とかds使ってんの??単価高いよ。
あんな高いの買うやついるのかよって思ってたけど、違ったの?
気になって眠れんわ。

それから、CもPICKITも使えるよ!!
202774ワット発電中さん:2010/12/18(土) 01:37:02 ID:ZaeQSsDa
連投ごめん。

みんなのお気に入りPIC教えてください。
ベスト3ぐらいで。
203774ワット発電中さん:2010/12/18(土) 03:54:25 ID:kdEu1wOP
>197
液晶のデータ送信中にタイマ0割り込みがあっても無視されてるって事?
204774ワット発電中さん:2010/12/18(土) 11:25:23 ID:SZXIe2fQ
なんでテメーが作ったソフトが糞だと疑わないのか?
205774ワット発電中さん:2010/12/18(土) 13:06:45 ID:0spd3WP5
test
206774ワット発電中さん:2010/12/18(土) 13:12:35 ID:0spd3WP5
すまん、アク禁だったので・・・

>>202

1位、12F1822 やっと8ピンにもURATが、ソフトUARTでキャラクター単位で送信しなくて済む

2位、16F1827 プロダクツガイドから88が消えるわけだ、さすがF1シリーズ

3位、18F8722 フラットパッケージじゃなければいいのに・・・、16ビットを喰いそう

ホビー用途だと、このあたりかな。
207774ワット発電中さん:2010/12/18(土) 14:18:50 ID:NSIui5az
>>197
「単順」ってプログラミング用語みたいでかっこいい

明日動くんじゃないのか?

208774ワット発電中さん:2010/12/18(土) 20:07:19 ID:M7OewI3j
ダイナミック点灯の7セグ(既製品)の値をPICで読み取りたいのですが
どんな流れの処理をプログラムするのが良いでしょうか?
209774ワット発電中さん:2010/12/18(土) 21:36:39 ID:s3T+bgSJ
制御してる側の信号は横取り出来る
が前提でいいの?

それなら自分の中にある構想でいいと思う
制御信号がn個目に相当するから分岐

効率良くしたいならn個で一周ってわかってる
シフトレジスタとかかまして割込みかけるとか
210774ワット発電中さん:2010/12/19(日) 22:42:23 ID:mg3lFYOH
ちょっと質問です。
余ってる銅線(細い銅線が4本がねじってる)で有線内線をつくろうかと思ってます。
アナログで銅線に音声を乗せる場合、何チャネル同時に出来ますかね?
211774ワット発電中さん:2010/12/19(日) 22:46:46 ID:i6HqiGY5
TDM FDM どっちでやるの?
212774ワット発電中さん:2010/12/19(日) 22:48:35 ID:1l3IQas4
>(細い銅線が4本がねじってる)
の意味がよくわからん。

>有線内線
って何?
213774ワット発電中さん:2010/12/19(日) 23:53:46 ID:mg3lFYOH
細い銅線が四本のより線の銅線って意味

有線で内線(インターホンみたいなやつ)
214774ワット発電中さん:2010/12/19(日) 23:58:25 ID:LesohmJc
UTPとの違いを詳しくplz
215774ワット発電中さん:2010/12/20(月) 00:14:20 ID:QrQAf3V5
車の電源ケーブルで使う2スケのやつなんだけど・・・
本来は通信するようなケーブルではない
216774ワット発電中さん:2010/12/20(月) 00:24:33 ID:ayH3TJ1C
>>209
レスありがとうです。
横取りしても大丈夫かはやってみないとわかりませんが、
まずは実験で表示と読み取りの2つを作って一方が追従するように作ってみたいと思います。
217774ワット発電中さん:2010/12/20(月) 00:45:11 ID:hGcHj1Sn
>>213
カッド線か?

ここは場違いな気がするが・・
218774ワット発電中さん:2010/12/20(月) 02:25:17 ID:yzjjN40A
>>213
>細い銅線が四本のより線の銅線って意味
それは1回目の書き込みでわかるんだけど、その4本は
  ・被服をかぶった線が4本撚り合わさって、1つの外皮に包まれている電線(4芯ケーブル) なのか
  ・4本は全て裸線であり、絶縁されていない線なので、都合1本とおなじ
の、どちらなのか?ということ。あえて4本と言うくらいだから、前者かな?とは思うけど。

>有線で内線(インターホンみたいなやつ)
????

>アナログで銅線に音声を乗せる場合、何チャネル同時に出来ますかね?
デジタル信号ではなくて、アナログでやるとすれば、個人のレベルでは、多重化は困難と思う。
デジタルでやるなら、音声帯域を制限すれば、頑張れば個人でも実現できると思われる。

何せ質問内容がアバウト、かつ曖昧なので、よくわかりません。
219774ワット発電中さん:2010/12/20(月) 02:56:33 ID:/XhGpjDe
何から書いていいかわからず、ずっと見守ってた
疑問に思ったレスが投下されつつあるので、別視点から一言


PICスレに書いた>>210はPLCと勘違いしているのでは?の件
220774ワット発電中さん:2010/12/20(月) 03:01:15 ID:xe+9nkAp
MIDIキーボードのキーを押された時にLEDが光るプログラムを書いているのですが、
MIDIメッセージは3バイトで送信されてくるので3バイト目が0x00の場合LEDを点灯するように書いたのですが、
ゆっくりキーボードを押すと問題なく点灯するのですが1秒間隔でキーを押すとLEDが点灯せずMIDIを取りこぼしているように見えます。
8MHz駆動では処理し切れていないということでしょうか?
221774ワット発電中さん:2010/12/20(月) 03:33:30 ID:mXo4Hb6S
>>220
LEDを点灯してる間はMIDIを受信できないようなプログラムを書いてるんじゃ
ないの?
222774ワット発電中さん:2010/12/20(月) 03:45:18 ID:/XhGpjDe
>>220
MIDIの事は全然わかりませんがちょっと見てみました

ゆっくりの時は、ランニングステータス?で00Hをたまたま
拾ってるんじゃないでしょうか?

全然知らないのでスルーして下さい
223774ワット発電中さん:2010/12/20(月) 03:57:16 ID:ZmchuC+f
>>220
プログラムも回路構成も分からないけど
エスパーするとMIDIプロトコルに対する理解が間違ってると思う。

ttp://ja.wikipedia.org/wiki/MIDI
「MIDIデータフォーマット」参照
224774ワット発電中さん:2010/12/20(月) 05:30:49 ID:AZDdP+Tj
Pickit2のlogic tool 初めて使ってみたけど3ch同時は便利だね

でも波形のエクスポートのやり方がわからん・・ やっぱり画面コピーだけなのかな
225774ワット発電中さん:2010/12/20(月) 10:50:48 ID:QfY+GqmJ
SDだと時々容量がいっぱいになるから
SATAのHDDに書き込もうかと思うのだが
参考になるサイトとかってない?
226774ワット発電中さん:2010/12/20(月) 12:19:00 ID:UzH78QtQ
ATAPIならありそうだからSATA変換でもしたらいいんでね?
227774ワット発電中さん:2010/12/20(月) 13:08:20 ID:ayH3TJ1C
SDカードに書き込んだWAVファイルを読み出して音声を再生したいのですが
良い参考サイトあったら教えて下さい
228774ワット発電中さん:2010/12/20(月) 15:01:23 ID:mSEoIsoG
229774ワット発電中さん:2010/12/20(月) 15:44:08 ID:ayH3TJ1C
>>228
こんなに安いんだ
部品取りにも良いくらい
これを改造してPICで再生停止すればいいかな
でも瞬時に発音して貰いたいんだけど再生まで数秒かかるだろうからなー
230774ワット発電中さん:2010/12/20(月) 16:04:16 ID:Z4+w5DUI
>>229
ほしい機能を具体的に書いたほうがいいんでないの。
再生する音の長さとかなんでWAVファイルでないとだめなのかとか。
音を出すのも簡単なのならPICでもOKかもしれんけど、複雑なのだと専用ICとかdsPICとかが必要になるんでねーの?
231774ワット発電中さん:2010/12/20(月) 17:28:47 ID:Q6V5BTYC
>>227
AVRの事例だけど参考にはなると思う
ttp://elm-chan.org/he_a.html
ニコ動
ttp://www.nicovideo.jp/watch/sm7607242
232 :2010/12/20(月) 18:05:02 ID:xe+9nkAp
233774ワット発電中さん:2010/12/20(月) 19:31:29 ID:ayH3TJ1C
>>230,231
レスありがとー
どんな機能かですがPICでの動作をその都度音声で発生させたいというものです。
「点灯しました」「消灯しました」「設定値1234です」とかです。
WAVファイルがいい理由は読み出して音声にするまで簡単そうだからです。
(メモリも安いし、音声もそれほど大量にないのでがんばってMP3とかにして詰め込む必要がない)
読み出しは一個の大きなWAVファイルでプログラム内で既定のアドレスを指定して再生できればいいです。
SDカード使う以外で単体のメモリとかでも良いのですが、入手とか考えるとSDがいいかな?と思っています。
234774ワット発電中さん:2010/12/20(月) 20:01:30 ID:USxyuE9Y
>>232
call RXCHRでどのレジスタに何が入って返ってくるのかさっぱり分からないけど、
1バイト目の比較と3バイト目の比較で同じオペランドというのは?
235774ワット発電中さん:2010/12/20(月) 22:00:39 ID:NtuVucQU
>>232
90h以外のメッセージなら消すってするのはダメなの?
236774ワット発電中さん:2010/12/20(月) 23:00:30 ID:gTxA37V7
誰かがダメな理由を説明しなきゃならんのか
237774ワット発電中さん:2010/12/21(火) 01:29:35 ID:H0EGHQzs
>>232
call命令をgoto代わりに使ってるのでRXCHRサブルーチンからちゃんとreturn
で戻ってきてるのか心配になるな。

note_on_sendとnote_off_sendをgoto main_loopで戻すならgoto note_on_send、
goto note_off_sendとすべきだし、callで呼び出すならgoto main_loopの代わり
にreturnで戻して、call命令の後にgoto main_loopとすべき。

リストを見る限りではプログラムに時間がかかっている部分はないので、内蔵
USARTを使ってるとすれば8MHzクロックなら楽勝のはず。
このままでも動かないこともないので>>223の言うようにMIDIの理解が間違って
いるのかもしれん。
238774ワット発電中さん:2010/12/21(火) 09:29:16 ID:Gxr7bBsk
ラジコンのジェットエンジンの回転計と温度センサーが壊れたので
修理費を見積もってもらったら、10万もするらしいので
回転センサーと温度センサーを探したのだがなかなかいいのが見つからん。
回転センサーは、MAX11.5万回転なので15万回転ぐらいまで測定出来るセンサーと
580°C-690°Cぐらいにはなるので800度ぐらいまで測定出来るセンサーを探しているのですが
個人で買えるようなサイトってありますか??
239774ワット発電中さん:2010/12/21(火) 09:38:35 ID:A+zyuWAk
秋月電子で見たような。

温度は熱電対つかえば楽勝でしょ。
回転センサもあったと思うけど自分で探して。
240774ワット発電中さん:2010/12/21(火) 09:50:41 ID:Gxr7bBsk
>>239
秋月の熱電対は売り切れで仕入れが未定らしい・・・
回転センサは見つからん
241774ワット発電中さん:2010/12/21(火) 10:11:53 ID:A+zyuWAk
非接触回転センサってのがあったけどだめかい?
242774ワット発電中さん:2010/12/21(火) 10:29:15 ID:r+9AaXwm
MLPAB X ってどない?
243774ワット発電中さん:2010/12/21(火) 12:32:29 ID:i3HhxRPa
>>241
今握ってると思う
244774ワット発電中さん:2010/12/21(火) 14:46:34 ID:aFgdduYr
>>242
新製品かい?
245232:2010/12/21(火) 15:26:43 ID:b07ddZZ0
みなさんありがとうございます。
>>234
受信したデータをどうバッファしていいのかわからず受信したらとり合えずレジスタに入れてまして。。。
>>235
90hのあとにどこのキーボードがどのくらいの強さで押されたか、
というデータも入ってくるので90と80と00でキッチリ判別しないとLEDの動きがメチャメチャになってしまうんです。
>>237
前に作った自分のソースからコピペしていたのでgotoもcallもメチャメチャになってしまいました。
参考にさせていただき修正しました。

いろいろいじっていて気がついたのですが、
どうもmidimanというメーカーのキーボードでのみLEDの動きが怪しくなるみたいで
ヤマハとかローランドとかPCのシーケンサーを繋ぐと0x00でもうまく受信できました。
説明書のMIDI仕様は他のメーカーとほぼ変わらないので不思議です・・・。
どうもありがとうございました。
246774ワット発電中さん:2010/12/21(火) 15:45:22 ID:LSn9aWn9
>>232
ソースも流れも見ずにレスする
「ランニングステータス」考慮してる?

PICでMIDIいじってるけどFIFO入れないと結構しんどいよ
247774ワット発電中さん:2010/12/21(火) 17:37:23 ID:LeDnggQE
callで呼んでgotoで戻るわ、
1バイト目、2バイト目、3バイト目の区別なくデータ比較してしまってるわ
だけど、いいのかいな?
248774ワット発電中さん:2010/12/21(火) 18:10:10 ID:GHkp3bq9
いいんじゃね?
249774ワット発電中さん:2010/12/21(火) 21:40:01 ID:MXTGkwiQ
ベンドデータが来ない限りいけるんじゃないかな?
来たらしらん
250774ワット発電中さん:2010/12/21(火) 23:07:51 ID:8HhmdnvP
無茶苦茶だな
見てて気分悪くなるコード
251774ワット発電中さん:2010/12/22(水) 09:09:42 ID:RYRoAC0V
エレガントさを求めるならPIC自体使わないからいいんじゃないの
252774ワット発電中さん:2010/12/22(水) 19:16:54 ID:bbkFHAH/
その場停止で時間待ちみたいなソースが標準だったしなあ。今は知らないが。
253774ワット発電中さん:2010/12/22(水) 22:30:31 ID:wLw+8bWv
おまえらが気持ち悪いわ
254774ワット発電中さん:2010/12/23(木) 03:45:55 ID:7ldbTF9q
>>252
他人もそんな素人っぽい組み方をしてると思ってる?
255774ワット発電中さん:2010/12/23(木) 07:23:18 ID:arIB4fjF
PICなんていうマイコンモドキが流行ったことと、理系離れ×工学部離れ×電子系離れ
なおかげもあってか、恐ろしいほどの勢いでレベルダウンしてしまっている。
>254もびっくり!な、ド素人みたいなのが給料貰ってプログラム組んでたり。
256774ワット発電中さん:2010/12/23(木) 11:26:16 ID:PfenbdTM
畑のボイラーの燃料がどれぐらい入ってるかっていつもわからないんで
どれぐらい入ってるかによって青黄赤のLEDを点灯させようかと思ってるのだが
燃料がどれぐらい入ってるかわかるようなセンサーってどんなのがありますか?
257774ワット発電中さん:2010/12/23(木) 11:28:24 ID:HhnPbFGn
フロート センサー
258774ワット発電中さん:2010/12/23(木) 11:29:25 ID:NONPRn/J
PICは割り込み持ってないバージョンがあったりして、
あれで入門したらかなり間違った方向にいけるなとか思った。
259774ワット発電中さん:2010/12/23(木) 12:39:56 ID:vnnIKmMd
えっ、CPU?
PICってPLDの一種なんでしょ。
260774ワット発電中さん:2010/12/23(木) 12:40:59 ID:arIB4fjF
割り込み持っていても、スタック領域をデータとしてアクセスできなかったりな
261774ワット発電中さん:2010/12/23(木) 12:48:29 ID:KC48Uy2U
>>254
俺が入門したころのPIC入門書は大抵、その場停止の関数を最初に紹介しよった。

キモいから、C言語でタイマー割り込みで周期処理をさせようとしたら、ソース本体がほとんど書けなくなって吹いた。
でもPICのアセンブラは何とも使いづらいから必死こいてロジックをシェイプアップしたさ。

とりあえずマイコンの入門にPICは微妙だと思った。

>>258
PICの種類と言語のチョイスができるレベルになってないとダメよね。
262774ワット発電中さん:2010/12/23(木) 14:42:25 ID:IUK/SvR6
>>260
なのでアドレスとして飛ばしてそっちで拾うwwww

上のレスでCALLでGOTO戻りとかあったけど全然ありwwww

FSR使って増減の値入れ子にしてswich文wwwww

ダミーDTでPUSH/POPもどきwwwwwwwwwww

PICはおもしれーぜwwwwwwwwww!!!



そういう意味では…
263774ワット発電中さん:2010/12/23(木) 15:06:00 ID:vQdbjJIn
>>256
あなたが冒険家ならこれもいいかも。

http://www8.plala.or.jp/InHisTime/page161.html#LABO-030

264774ワット発電中さん:2010/12/23(木) 15:40:54 ID:HhnPbFGn
265774ワット発電中さん:2010/12/23(木) 20:22:11 ID:I44+/Z3k
燃料タンクの重さがわからないが、
体重計にタンクを乗せるというソリューションもある。
それにPICをどう絡めるかがこのスレ的には問題だが。
266774ワット発電中さん:2010/12/23(木) 20:27:54 ID:HhnPbFGn
ボイラーとかいってるから浮かせるのは消防法のからみでだめだと思うよ


267774ワット発電中さん:2010/12/23(木) 20:40:22 ID:I44+/Z3k
農家が少危とかちゃんとやってるてるわけないじゃんw
燃えても類焼はそのハウスだけだろうしwwwww
268774ワット発電中さん:2010/12/23(木) 20:50:01 ID:ESiznQ1V
やっぱり弱電だとどうしてもイメージが甘くなるな。
一歩間違えば怪我したり死んだりするのが当たり前の業界に対して
知ったかぶりをしているのは憐みを誘う。
269774ワット発電中さん:2010/12/23(木) 21:05:36 ID:BnrtDW5i
ボイラーというと、福岡のほうで400kgのボイラーが100mほど吹っ飛んだのを思い出す
270774ワット発電中さん:2010/12/23(木) 21:45:36 ID:ESiznQ1V
ソリューション(笑)
271774ワット発電中さん:2010/12/23(木) 22:43:23 ID:/ySk166y
エボリューション(笑)
272774ワット発電中さん:2010/12/23(木) 23:11:45 ID:/ySk166y
寧ろ、超音波にて油面の距離を測るとよい。

若しくは、タンクの底面にストレンゲージ付けてみる。

究極は、ピンク色した耐油ホースを、その油で満たし、
片方をタンク内の油の底へ、もう一端側は中央を油の満ちたままタンクの底の位置まで下げ、
端をタンク上面まで持ち上げる。
すると、PIC無しで油面が分る。 耐油ホースの裏側からLEDで照らすと色気があってよいだろう。

 
273774ワット発電中さん:2010/12/23(木) 23:38:57 ID:PfenbdTM
久しぶりにPICしようかと思ったら、相当忘れてる(汗
電気二重層コンデンサー2300F 2.5V
っていうのは、コンデンサに2.5Vかかるようにしないといけないんだっけ?
274774ワット発電中さん:2010/12/23(木) 23:41:06 ID:PFDmTjy8
2.5V以上掛けちゃ駄目ってこと
275774ワット発電中さん:2010/12/24(金) 01:17:16 ID:DMnZ9nDH
>>273
それPIC関係ないw
276774ワット発電中さん:2010/12/24(金) 08:16:00 ID:80p5JuEw
農民はなんらかのレスもまともにできないのかね 
277774ワット発電中さん:2010/12/24(金) 08:59:46 ID:C27IIoCJ
タンクを叩いて、振動波形をFFT解析して油のレベルを知るとかね。
278774ワット発電中さん:2010/12/24(金) 09:14:24 ID:t40K8WZQ
PICでキネクトを作ってみたい
279774ワット発電中さん:2010/12/24(金) 14:36:15 ID:HZz+YVH0
>>277
おれも思ったんだが
例えば石油ファンヒーターってさ・・・
280774ワット発電中さん:2010/12/24(金) 19:04:40 ID:+tK49HLq
それが想像の限界か。
281774ワット発電中さん:2010/12/24(金) 20:49:15 ID:+aQDUWoY
>>256
これつかってどうかな
http://akizukidenshi.com/catalog/g/gP-04376/
282774ワット発電中さん:2010/12/25(土) 00:43:37 ID:i0pH/BRG
農家のボイラー用燃料タンクって、満タンの表示なんかしたら、ソッコー盗まれるんじゃねぇの?
283774ワット発電中さん:2010/12/25(土) 00:48:13 ID:EnGafc3e
284227:2010/12/25(土) 09:29:36 ID:PVOwOTvd
またすみません。
PICでデータを読み出すにはUSBメモリとSDカード、どちらがハードルが低いでしょうか?
(ネットで部品や資料が集めやすいなど)
285774ワット発電中さん:2010/12/25(土) 09:40:09 ID:uG2fDd4e
キネクトって赤外レーザー照射してカメラで読んでるんだよね、
一台のカメラだけで深度得られる仕組みがイマイチ理解できない。
286774ワット発電中さん:2010/12/25(土) 09:50:21 ID:XG1a+qLv
>>284
SDカード
287285:2010/12/25(土) 10:10:23 ID:uG2fDd4e
あぁ、照射側と受像カメラの位置がちょっとずれてるから
それぞれの点が距離に応じて多少左右にブレるのか、理解理解。 
水平解像度がかなり高いカメラじゃないと精度得られないのか。
288774ワット発電中さん:2010/12/25(土) 12:31:59 ID:3ko6OTWa
>>284
資料はどっちもどっち。
USBだとUSBホスト機能が要るからPICが限られる(24Fじゃないとない)
SDならSPIがあればいいから、16F18FクラスでOK
289774ワット発電中さん:2010/12/25(土) 13:23:29 ID:ARleJrDA
いや、PIOが4本あればSPIさえいらない。が、しかし、
ファイルシステムを含めた汎用性が必要となるとPIC24クラスは欲しい。
290774ワット発電中さん:2010/12/25(土) 14:20:56 ID:+gFID48f
どちらがハードルが低いでしょうか?


大好きな子と過ごしたかったけど
妥協したような哀愁を感じた…
291774ワット発電中さん:2010/12/25(土) 15:28:08 ID:PzOH0WZ/
MikroC v8.2.0.0を使ってプログラミングをしていますがタクトスイッチによる
入力が安定せず困っています。チャタリングのせいかと思い色々と
パラメターをいじってみたのですがいくらかましになる程度で完璧とまではいきません。
main部のボタン処理の部分は下記の通りでもちろんconfig wordsや入出力ポートの
設定もちゃんとやっているつもりです…
中身は単にスイッチを押すたびに2個のLEDがそれぞれ点灯/消灯するというものです。

while(1)
{

if(flag !=1 && Button(&PORTA, 0, 20, 1)) {
flag = 1;
}

if(flag !=0 && Button(&PORTA, 0, 20, 1)) {
flag = 0;
}

if(flag == 1) {
PORTA.F5 = 1;
PORTA.F4 = 0;
}

if(flag ==0) {
PORTA.F5 = 0;
PORTA.F4 = 1;
}

}

いったいどこでこけているのでしょうか?チャタリング対策として1msから30msまで
試してみました。
292774ワット発電中さん:2010/12/25(土) 15:53:12 ID:zhUOSnAK
>>291
何が1msから30msなのか書いてないけど、
プログラムとポートの状態がごっちゃだから、
何の対策にもなってないんじゃないのかね。
即興で書いてみたよ。

#define BLOCK_COUNT 10
for (;;) {
 if (status == 0) {
  if (!Button(&PORTA, 0, 20, 1)) {
   ch_counter = 0;
  } else {
   /* 必要ならここにwaitを入れる */
   if (++ch_counter >= BLOCK_COUNT) { /* 連続してBLOCK_COUNT回押された */
    PORTA.F5 = 1; PORTA.F4 = 0;
    ch_counter = 0;
    status = 1; /* 次の状態へ */
   }
  }
 } else {
   if (!Button(&PORTA, 0, 20, 1)) {
   ch_counter = 0;
  } else {
   /* 必要ならここにwaitを入れる */
   if (++ch_counter >= BLOCK_COUNT) {
    PORTA.F5 = 0; PORTA.F4 = 1;
    ch_counter = 0;
    status = 0; /* 次の状態へ */
   }
  }
 }
}
293774ワット発電中さん:2010/12/25(土) 15:59:28 ID:zhUOSnAK
あ。離した時の状態考えてなかった。
次の状態に移る前に、ボタンを離したかどうかの判定がいる。
上のだと押しっぱなしで交互に状態が変わってしまう。
294774ワット発電中さん:2010/12/25(土) 16:07:19 ID:zhUOSnAK
つまり状態はボタンを押した時、離した時に分けて4つになる
for (;;) {
if (state == 0) { // 押した
 (省略)
 state = 1;
} else
if (state == 1) { // 離した
 state = 2;
} else
if (state == 2) { // 押した
 state = 3;
} else { // 離した
 state = 0;
}
}
やや冗長かな
295774ワット発電中さん:2010/12/25(土) 16:08:30 ID:yEyqy+Sk
>>288
USBホスト機能があったとしても、マスストレージプロトコルしゃべるのは
自分だからSDの方が楽じゃないか?
296774ワット発電中さん:2010/12/25(土) 17:17:18 ID:A0vANM58
>>291
http://kuri6005.sakura.ne.jp/pic/
ここのトグルスイッチのところでも見たらどう
297774ワット発電中さん:2010/12/25(土) 17:28:18 ID:TpHJP4Sb
0.01uFを追加する。
298774ワット発電中さん:2010/12/25(土) 17:50:53 ID:ukGhsnyM
>>292

unsigned char SW_in;    // SWからの生信号(チャタリングあり)
unsigned char SW_buff;   // SW buffer
unsigned char SW;     // 処理後のSW信号(チャタリング無し)

  SW_buff = (SW_buff<<1) + SW_in;
  if   ( SW_buff == 0b01111111 ){ SW = on; }
  else if( SW_buff == 0b10000000 ){ SW = off; }
299774ワット発電中さん:2010/12/25(土) 18:34:24 ID:QGhHuuP2
http://www.youtube.com/watch?v=nifuuM9oltU
こんな感じに、デジカメの動画撮影機能に
文字やアニメーションを入れるのって簡単?
300774ワット発電中さん:2010/12/25(土) 18:52:00 ID:3ko6OTWa
>>289
さすがにPIOじゃ遅くて使い物にならない気がする

>>295
SDのプロトコルしゃべる代わりにUSBのプロトコルしゃべるだけでしょ
301774ワット発電中さん:2010/12/25(土) 18:53:17 ID:3ko6OTWa
>>299
デジカメに入れるのは無理だろう
自作カメラだったらARMくらいのマイコンかFPGAでやればできるかと
どっちにしろPICじゃ無理
302774ワット発電中さん:2010/12/25(土) 18:59:40 ID:v4YEVew8
>>299
osd chip 使えば文字は簡単
303774ワット発電中さん:2010/12/25(土) 18:59:54 ID:4uC6Lycb
>>291
flag = 0;
while(1) {
 if(Button(&PORTA, 0, 20, 1))
 {
  if (!(flag & 0x2))
  {
if((flag & 0xc)==0xc)
   {
  PORTA.F5 = flag & 1;
    PORTA.F4 = (flag & 1)^1;
flag |= 2;
flag ^= 1;
   } else {
    flag =(flag+0x4)&0xf;
   }
  }
 } else {
  flag &= ~2;
 }
 delay();
}
304774ワット発電中さん:2010/12/25(土) 19:00:23 ID:4uC6Lycb
崩れちまった・・すまん
305774ワット発電中さん:2010/12/25(土) 19:08:35 ID:uG2fDd4e
24Fならできるんじゃないのかねぇ
306774ワット発電中さん:2010/12/25(土) 20:52:17 ID:xayCNBjS
>>299
言葉が足りなすぎだろ…
307774ワット発電中さん:2010/12/25(土) 21:14:05 ID:KzqAQa1I
>>299
ラジコン用ならもう作った奴いる
308774ワット発電中さん:2010/12/25(土) 21:31:59 ID:A0vANM58
>>291 ではなぜダメなのか

Button()は現在ボタンが押されているか(離されているか)どうかの
状態を得るための関数だということ。それも単にポートの状態を得る
のではなく、チャタリング処理のためのdelayも含んでいる。

active_stateが1でポートの状態が1、delay後も1ならButton()は1
active_stateが0でポートの状態が0、delay後も0ならButton()は1

>>291 がやりたいことは、ボタンが押されたことを知りたいんだよね?
(現在ボタンが押されているかではなく)。

なので他の人の説明のように、1回前の状態でボタンが押されていなくて
今回ボタンが押されたという状態を検出しなければならない。
309774ワット発電中さん:2010/12/25(土) 22:03:35 ID:PzOH0WZ/
皆さんありがとうございます。プログラムを見ただけでは理解できないレベルなので
1つずつ実際に試してみたいと思います。

>ボタンが押されたことを知りたい
まさにその通りです。 時計(兼ストップウォッチ)を作ってみたものの、
肝心のスタートボタンが安定せず、スタートしたりしなかったりで困ったので
LEDを2個使って実際に入力に対して何が起きているのか試してみたところでして。
更に時計の時刻調整をするのにもButton関数を使ったのですが
1押ししている間にいくつも数が進んでしまうので何とかして1押しにつき
1カウントする方法を考えねばと思っているところでした。
状態変化を検出しなければならないというのはすごく大きなヒントのような気がします。
Button関数についても誤解していました。
310774ワット発電中さん:2010/12/26(日) 00:14:52 ID:KKgf5KjL
ボタンなどの取り込み、使用は、組み込み系ソフトでは必須だと思います。
1) チャタリングを除去する方法
2) off→onを、変化を知る方法
3) on→offを、変化を知る方法
4) 現在のon/off状態を知る方法

>>298に書いた方法は、上記がすべてできる書き方です。

変化したことを知る方法は、過去の状態を知らないとできませんので、
1つ前を記憶しておく必要があります。
しかし1つ前の記憶だけでは、偶然OKになってしまうかもしれないので不安です。
かといって、複数の過去を取ろうとすると、たくさんの変数が必要で、
それだけで煩雑ですし、間違いの元です。
上記>>298の方法はタイマー割り込みとセットで使用しますが、
1byteしか使いませんので、経済的です。
一般的に1msのタイマー割り込みはよく使われるので、それとセットで使うと、
7ms以上連続して1ならonと判定、とか できます。
311774ワット発電中さん:2010/12/26(日) 09:40:26 ID:kcTihTFs
>>310

解説スゴい。ソンケーします。ぱっと見で>>298わからんかった。そ〜か、割り込みでそ〜やんのね。
SW_inとSWは、unsigned char 要ります?bit でよくないですか?


で・・・・

SW入力のチャタリングって、7msで取れます? Z80の頃に50ms〜80msくらいとれって言われて、そのまんま盲信してた。
いまも、普通に40ms〜60ms取ってて、連打とかでも問題なく動作してるんで、30msか7msなんて試したコトすらないん
だけど、C対策いっさいなしの生SW接続の時って、どれくらい取るのが普通なんでしょ。
312774ワット発電中さん:2010/12/26(日) 10:26:30 ID:VFENZred
業界第一人者の名人は超高速で1と0を伝達しようとします。
名人は1秒間に16連打すると言われており、1打あたり62.5msの速さです。
名人に敬意を表すとサンプリング分解能はその1/16の4msが妥当でしょう。
313774ワット発電中さん:2010/12/26(日) 13:29:45 ID:ctgZ2ofz
なんで唐突に「その1/16」なんだよ。
314774ワット発電中さん:2010/12/26(日) 14:04:36 ID:ENvXfU0O
>>311
スイッチによってチャタリングの時間は変わるから実測するべし。
まあ、2ミリ秒周期で取り込んで3回分の多数決で十分取れる事が多い。
スイッチの問題なので、別にz80の時代から大して変わってる訳じゃ無いから
80m秒取れと言った奴も真に受ける奴も…
物や使用者の鈍感さによるけど、80m秒も判定に時間が掛かったら反応が遅く感じられる。
315774ワット発電中さん:2010/12/26(日) 14:06:08 ID:KKgf5KjL
>>311
>SW_inとSWは、unsigned char 要ります?bit でよくないですか?
もちろんbitでOKです。
構造体定義するとかが面倒なので、一般的にはcharで取ります。
SW_inとSWの「上位7bitさん、一生使わないでごめんなさい」という感じです。

>SW入力のチャタリングって、7msで取れます?
>Z80の頃に50ms〜80msくらいとれって言われて、
本当ですか?
50ms〜80msというのは、何があっても大丈夫なように、設計目安でしょう。
そんな長い時間のチャタリングには、お目にかかった事がありません。
もっとも、
>連打とかでも問題なく動作してるんで、
など、評価して機能上の問題が無ければ長めの方がいいですね。

>C対策いっさいなしの生SW接続の時って、どれくらい取るのが普通なんでしょ。
OMRONのMY4などの制御盤リレー系は、機会的な「腕の長さ」が長いので、
かなり取る必要がありますが、そうでなければ、5msも取ればいいと思います。

接点信号を、そのまま生でつなげばOK! なんてのは、チャタの電圧や時間が既知のときだけです。

接点入力方法における「あるべき論」でいうならば、
・実際の接点のチャタリング時間をオシロで実測して、その○○倍かの時間を使用する
・回路構成は、
  入力→過電圧保護→CRフィルタ→PIC(シュミット入力の端子)→
  →チャタリングフィルタプログラム→完成品のon/off情報
となるべきです。が、程度と場合によって取捨選択して使います。

私の定番は、
入力→1kプルダウン→33k→0.1uFでGND→74HC14→PICという感じです。
プルダウンが1k程度にするのがポイントです。
316774ワット発電中さん:2010/12/26(日) 14:36:27 ID:J0g9KmIC
使いたいスイッチのデータシート嫁
317774ワット発電中さん:2010/12/26(日) 16:09:53 ID:qYK8AOQh
ウェイト・ディレイを一切使わないおれがきましたよ
318774ワット発電中さん:2010/12/26(日) 16:57:42 ID:hMy5ehge
IOポート2個使って、交互にプルアップして2-3回連続で読めたらOKにするとか
decfszでカウントダウンして連続〇〇回LowになったらOKにするとか
チャタリングの除去は、最近これのどちらかだな
どんな接点でも取りこぼしとか取り過ぎとかは起こらないみたいだし

319774ワット発電中さん:2010/12/26(日) 17:20:24 ID:aIuzo/Zo
押しボタンスイッチで接点に押し付けるだけの品物だと、
接点のバウンスの問題じゃないから厄介だけどね。
320774ワット発電中さん:2010/12/26(日) 17:48:44 ID:SOEcsVdW
↑その手のスイッチは押し加減でも勝手にON/OFFするし、
接点が劣化してたりすればもうどんな高度な処理でも無理ぽ。
321774ワット発電中さん:2010/12/26(日) 18:11:37 ID:pI4pzhTz
一瞬でもONになればそのあとの入力を一定時間弾けばいいんだろ。
何度も見に行くってのはなにか回路に不具合がある事前提だろ。
322774ワット発電中さん:2010/12/26(日) 18:21:20 ID:J0g9KmIC
単なるチャタリングだけじゃなくて、いろいろと使用条件もあるから
気をつけねーとな。
実測してOKなんて能天気なことやってると、痛い目にあう。

>>320
シナ製スイッチなんか使うと、新品でも問題になるわな。
323774ワット発電中さん:2010/12/26(日) 18:26:57 ID:qYK8AOQh
>>321
おまいとは話が合いそうだ

ただ弾いている訳ではないけどな
結果としてそうなってるけど
324774ワット発電中さん:2010/12/26(日) 18:29:15 ID:hMy5ehge
>>321
一瞬でもボタンに触れたらONっていう
処理がしたかったらそれでいいんじゃない

チャタリングがどうとか思ってる人は
確実に押された場合のみに反応して
それ以外は弾きたいんじゃないかな
325774ワット発電中さん:2010/12/26(日) 18:47:26 ID:pI4pzhTz
>>324 スイッチってのはな、もっと殺伐としてるべきなんだよ。

ブレッドボードの向かいに座った奴にいつブッシュされてもおかしくない、

押すか押されるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
326774ワット発電中さん:2010/12/26(日) 18:58:33 ID:hMy5ehge
そもそも、そういうやり方だと
少し長い目にボタンを押した後
指を離した時に反応しちゃうんじゃない?
327774ワット発電中さん:2010/12/26(日) 19:12:35 ID:qYK8AOQh
>>324
「チャタリング」と「確実に押された」違いを教えて下さい


>>315氏を待ってるんだけど
スイッチという「デバイス」でプルダウンで14かますって、そういうものなの?
抵抗の定数(5V系と判断)まで出してるから、天秤にかけたんだろうけど教えて欲しい

それとも正負どっち論理で取るかっていう判断も含めて?
1Kって強めだと思うけど、保険分で確実に引いておきたいって事でいいのかな?
で33KでRCって何の意図があって定数出してるの?なんかバランスが…
(さらに14の意味があんまない気が)

シュミットトリガ・FFを使うのは、広く使われている「手法」で
「こうすべき」と言い切るのは危ないと思う
328774ワット発電中さん:2010/12/26(日) 19:57:04 ID:KKgf5KjL
>>327
>スイッチという「デバイス」でプルダウンで14かますって、そういうものなの?
>天秤にかけたんだろうけど教えて欲しい
天秤って.....、pull-downと74HC14の組み合わせは、だめなんでしょうか? 
すみません、勉強不足です。

>それとも正負どっち論理で取るかっていう判断も含めて?
pull-downですので、正論理です。+5V-----SW-----+---1k---GND。
TTL全盛でもないので、負論理でSW取り込みする理由はないと思いまして。

>1Kって強めだと思うけど、保険分で確実に引いておきたいって事でいいのかな?
5V/1k=5mAだと、多すぎでしょうか? 接点保護にならないでしょうか。

>33KでRCって何の意図があって定数出してるの?
3msくらいの時定数と、汎用の0.1uFコンデンサを使いたいからです。

>なんかバランスが…
行きと帰りをなるたけバランスよくしたいと思うのです。10kだと遅くなりますよね。

>(さらに14の意味があんまない気が)
そうですか?
CRでジワーッと上がるのをシュミット入力で受ける、
いったんon(off)になったら、ちょっとやそっとじゃoff(on)にしてあげないよ!
気持ちいい回路構成と思いますが、NGでしょうか。

>シュミットトリガ・FF
FFってフリップフロップのことでしょうか?

理解が悪くて、すみません。
329774ワット発電中さん:2010/12/26(日) 20:09:15 ID:JXFeUkUI
チャッタ待った。
330774ワット発電中さん:2010/12/26(日) 20:35:34 ID:hMy5ehge
>>327
押すときのことだけじゃなくて
離す時、例えば>326のような時誤動作しない?
これもチャタリングだよ
しかも複数回チェックしに行かないで、時間だけで処理すれば
現在の状態が確定できないから
ボタンが離れた直後に起こるチャタリングを弾けないでしょ

クイズの早押しボタンみたいに押されてから次に反応するのが
相当遅くても大丈夫ならなんの問題もないだろうけど
ゲームのボタンみたいな使い方なら常に待ち受けなければならないから
無理でしょ、こういうのそのやり方で弾けるの?
331774ワット発電中さん:2010/12/26(日) 21:21:23 ID:k+kJJ5cw
そんなにチャタリングが問題なら、防止回路いれとけば?
トランジスタとコンデンサ一個ずついれるだけで幸せになれるでしょ?
332774ワット発電中さん:2010/12/26(日) 22:02:00 ID:TPaEF4Oj
>>315
>・回路構成は、
>  入力→過電圧保護→CRフィルタ→PIC(シュミット入力の端子)→
>  →チャタリングフィルタプログラム→完成品のon/off情報
>となるべきです。が、程度と場合によって取捨選択して使います。
やりすぎというか、CR+シュミットで取りきれないなら、むしろソフト
だけの方が良いと思うけど。
ソフトだけで取りきれないと言うことはあり得ないし。
333774ワット発電中さん:2010/12/26(日) 22:21:10 ID:qYK8AOQh
>>328
あとでちゃんと読みかえします

なぜ聞いたのかというと組込系だとと、言っていたので
プラス特殊な何かがあるのかと思ったからです。


>>330
チャタリング対策をソフト側でなしにするのは、そのやり方じゃないよ
端折って書くけど、スイッチのラインと別にワイアードANDして
割込みと同時に165ラッチするんだよw
メカニカルロータリースイッチも混ぜて、どっち相いいからやっぱり
ワイアードにして一方を165に突っ込んで読むと位相がどうのとかそんな処理が不要

555ワンショットかますとか、色んなやり方あるから面白いぞ


でも何をやっても制限って絶対出てくるものだから万能な方法などない
334774ワット発電中さん:2010/12/26(日) 22:25:31 ID:pI4pzhTz
>>329がいい事いった!

仕事でたまにタクトSWの銀接点見てるけど、S成分って結構どこかからやってくるのな。
で、結構接触不良になる。
その波形を観察すると結構時間的には長い。
だから理想の数ミリ秒程度で収束するとかんがえないほうがいい。

汗っかきが使うとこうなるんかいな。。。

335774ワット発電中さん:2010/12/26(日) 22:25:44 ID:RpcJqCnz
コードを追加するのは無料
部品を追加するのは有料
なんでわざわざハードで?
336774ワット発電中さん:2010/12/26(日) 22:46:33 ID:qYK8AOQh
>>335
適材適所

「時間軸に依存」っていうのが基本的に気持ち悪い
何が起きるがわからない。出来るだけそういう要素は減らしたい。

といっても、8割くらいカバー出来ればまあ問題ないでしょって時は
ソフト側に実装するし、どっかのレスであるけどスイッチによる訳で
何も考えずルーチン使いまわしにしたら怖いだろ

より精度を上げたい場合、外側でもイレギュラーな因子を減らしておきたい。
ロッカータイプとか混在してたら、ソフトであの場合・この場合ってやるのと
ハード側である程度揃えておくのと、どうしよっていう、手間とコストの兼ね合い


好み
337774ワット発電中さん:2010/12/26(日) 23:58:27 ID:SOEcsVdW
オレの場合、チャタは基本的にソフト処理だな。
ハード上はESDとかRFI対策といった最低限の回路だけ(でも結構な量になる)。
338774ワット発電中さん:2010/12/27(月) 00:26:11 ID:LsYKZZpc
>>321
そんなど素人丸出しのプログラムは製品には使えない。リコールの山だな。
ど素人が遊びで使う分にはなんの問題も無いけど。
339774ワット発電中さん:2010/12/27(月) 01:05:33 ID:UWoqlMOq
定期的にボタンの状態をポーリングじゃダメだということか?w
340774ワット発電中さん:2010/12/27(月) 01:12:56 ID:LsYKZZpc
>>339
そうでは無くて
>> 一瞬でもONになればそのあとの入力を一定時間弾けばいいんだろ。
ってのがどうしようもなく駄目って事。
341774ワット発電中さん:2010/12/27(月) 01:43:55 ID:uPnzdrfN
ソフト処理なら一定間隔ごとにサンプリングして
判定するのが普通ですよ。

・8回連続したらON
00000000010001001010111111111??????????
      ↑押した    |12345678|ON→

・多数決で8回のうち6回ならON
000000000100010010101111????????????????
      ↑押した |1 2 3456|ON→

どちらも判定で遅延が発生するので、
あまり長い時間掛けると反応が悪いとか、
16連打できないなどのクレームが付きます。
342774ワット発電中さん:2010/12/27(月) 01:47:58 ID:dKfJ8LOf
>>328
レス遅れましてすみません

偉そうなレスをしましたが、実はそんなに深く考えてなくて…
で、回路って全体の話になってくるので、ここだけこうすればって
いうものでもないですよね。

それは>>332のレスに繋がるのかと。(そういう意図ですねよ?)

で、プルダウン(プルアップでもそうですが)の1Kですね。
もうちょっと大きいほうがいいと思います。
メカニカルは、完全なオープンから、いきなりショートというスイッチです。
抵抗値が小さくなれば、流したくなるので反発のエネルギーも来ます。(>>337突っ込むなよ)
5mAですが大きいと思います。
(スイッチ部はパネルに行っててとか抜きに。そうするとオープンコレクタだろとかキリがない…)

で5mAが「保護」という表現は、もしかしたらおれがそもそも何か勘違いをしている気がしてきた。
定番のディスクリートは入ってての話ですけど、なのかと…

実はもうちょっと書いていたのですが、赤くなる前に一旦やめます…
343774ワット発電中さん:2010/12/27(月) 11:54:13 ID:qH3F8fK2
>>342
なんか全体的に理解力がなさそう。
315のレス読んだら解説されなくても設計意図を理解できるのが普通。
スイッチは酸化膜を破るために数mA流れるようにしたほうが良いって言われるよね。
接点保護ってのは電流流しすぎて接点を劣化させないってことでしょ。
344774ワット発電中さん:2010/12/27(月) 12:46:55 ID:V8Bjfq9p
ちょっとチャタリングと話がずれるかも知れないけど、家の東芝製のエアコン
のリモコンがうまく反応しないときがあって、おかしいと思ってた。
いろいろ試していて、ボタンを離したときに赤外線が発射されているというこ
とが分かった。

ボタンを押したら用済みと思ってリモコンの向きを変えちゃうから赤外線が届
かないわけで、なんでこんな仕様にしたんだろ。
家にある他の家電のリモコンで、こんな仕様の物はひとつもない。
345774ワット発電中さん:2010/12/27(月) 13:46:04 ID:EZ64T2e9
>>343
フォロー、ありがとうございました。
346311:2010/12/27(月) 13:58:25 ID:4sUnAwUP
(@_@;)なんか、ちょっとしたコトがスゴいコトになってて、ちょっと反省。

>>314 >実測するべし。

御意。言われてれば、実測して45msくらいのバタつきで決めた数値だったのを思い出しますた orz
なんとなく数字だけが頭に残ってたみたい。

>80m秒も判定に時間が掛かったら反応が遅く感じられる。

たしかに。時計の時刻調整ボタンで、初長押しで AjstMode その後に同じボタン入力でタッチインクリメント
長押しで連続インクリメントとかだったので、連打はロストしてもオケだった。結局、仕様次第だったわけす
ね。

>>315
>接点信号を、そのまま生でつなげばOK! なんてのは、

まーそうですね。やってるのは、自家工作なんで、製品とかみたいにシュミットや04で入力受けるとかまでする
コトに意味がないので、じか入れSWの話をしました。全体としてちっちゃくする方を好むので、SWの為だけにIC
一個載せるとかよりもソフトでなんとかする方が作り貝があるっしょ。

>>321
それだと、長押しとかが拾えない。

>>331

それを言ったら実もふたもって・・・ 交通事故が怖いなら運転手雇えって言う?

>>344
それって、長押し機能のせいじゃない? なんかのリモコンでそういうのあった気がする。


347774ワット発電中さん:2010/12/27(月) 14:18:54 ID:6IAidyGN
>>343
そういう意味なのか

そうでなくてさ、具体的な数字を出してくれてもらってるから
その根拠はなんだろうっていう…

ちなみなんだが「酸化膜」と「劣化」と「保護」と、
mAオーダー流す事とは卵と鶏の話で、そのレス読んだら
5mAくらい流せば劣化しないって誤解する人が出ちゃうだろ

新品に一旦電流流すと、その時点から酸化(膜)が進んで行く
(接点の物理的な劣化とは切り分けとく)

スイッチは常に通電状態ではない
mA流した「ほうがいい」っていうのは、しばらく使ってない場合
スイッチが入りにくくなるから、特攻かけて突破し、「なかった事にする」って事だぞ
だからリレーとかも通常時ONで使うんだよ
(逆だとリレーアクティブでOFF状態だから、いざという時固着が怖い)

「保護」っていう言葉なんだよ、悪いのは…

普通に使ってる分には5mAもいらないし、2個並べただけで10mAも食う
だから5mA=保護ってどういう事だろって思ったんだよ


って書いてたら>>345さんこんにちは
348311:2010/12/27(月) 14:36:49 ID:kWgnYaMk
>>346
>>331
> それを言ったら実もふたもって・・・ 交通事故が怖いなら運転手雇えって言う?

そうかい?
自分で解決できもしない、仮免許以前の状態で大きく出たね。
ま、運転手雇えじゃなく、保険に入れば?くらいなんだが。
トランジスタもコンデンサも高いもんじゃないし場所も食わないし。
何より、問題が早く解決できるし。

まあ、しばらく仮免許運転にむけて頑張りなよ。
349774ワット発電中さん:2010/12/27(月) 14:49:17 ID:5JTs6P7Z
製品には使えないとか、バカじゃねえのw
PICを製品に組み込んでる時点で低レベルだっつーの
アホ丸出しwww
350774ワット発電中さん:2010/12/27(月) 14:58:32 ID:iT1/AcEJ
全板強制IDでいいと思うわ
自演ばっかりうっとおしい
351774ワット発電中さん:2010/12/27(月) 15:10:58 ID:6IAidyGN
もうおれ必死だろ

だから1Kでプルダウンしてるのは「保険」?って聞いたんだよ
誤動作防止で強めにローに引っ張ってるのかなって
だとしたらそもそも…ってなると思ったのっ


>>349
PICどうのとかじゃなくて、突き詰めたら
コントロール側は分離するし、チャタ云々ならメカニカル使うなで終わるだろw
そしたらホストになる側はSHもARMもPICも関係ない

でもPICスレなんだよここはw

>>350
久々に来たんだから頼むよ
過疎ったらいつものPICすれになるだろ
352774ワット発電中さん:2010/12/27(月) 15:17:44 ID:4sUnAwUP
>>348

こら。>>311 は俺だ!勝手に名乗るな。
そいことするから、自演とか言われる。どっちが仮免なんだか。
353774ワット発電中さん:2010/12/27(月) 15:27:01 ID:6IAidyGN
そもそもなんで食い付いたかって

「ボタン関数」

ってのがあるという現実に感動しただけなんだよ…
354774ワット発電中さん:2010/12/27(月) 15:42:08 ID:V8Bjfq9p
>>349
おいおい。マイクロチップはアマチュア向けにPICを作ってるのかよ。
355774ワット発電中さん:2010/12/27(月) 16:56:02 ID:6IAidyGN
なんかないのかよ…

>>346
>ソフトでなんとかする方が作り貝があるっしょ
ICいっぱい載ってたほうがかっこいいだろ

>それだと、長押しとかが拾えない
チャタリング判定出来て、長押しが判定出来ない不思議

レスいらないよ…


チャタリングは友達なんだぞ。「ノイズ」じゃないんだぞ
起きなきゃ困るんだぞ…
356774ワット発電中さん:2010/12/27(月) 17:12:02 ID:qH3F8fK2
>>347
なんで揚げ足取ったように逆の意味で解釈するのかな。
「酸化膜を破るため」って言ってるんだから、劣化防止の設計じゃなくて、劣化するのが前提の文になってると思うけど。

保護の件は、何十mAも流したら接点が悪くなるから数mA程度に抑えて保護するって意味じゃないか?
>>328で「5mAだと多すぎでしょうか? 接点保護にならないでしょうか。」って聞いてるんだから明らかでしょ。
357774ワット発電中さん:2010/12/27(月) 17:29:43 ID:6IAidyGN
っていうか>>347に突っ込んでくれ
10mAじゃねーだろ…

>>356
その通りだと思うよ
358774ワット発電中さん:2010/12/27(月) 17:40:35 ID:6IAidyGN
>>356
ああ>>347に突っ込んでるわ…
すまん

>>358は死んでいいよ
359774ワット発電中さん:2010/12/27(月) 18:21:03 ID:6IAidyGN
スルーできねえ

だったら>>343投げんじゃねーよ
だから>>351投げて33K0.1uってのは>>332になるんだよ

だけど1Kで33KでCRでHC14ってバランスが
あんまよくないんじゃないのってなってんだよ

それは意図的なのかって始まってて
(スイッチ側は)10Kくらいでいいと思うって書いてんだよ

そこで保護とか言われたら?になるだろ
>>343食らったら>>347になるだろ



またパラレル逆印加してもう30Ωしかないよ…
360774ワット発電中さん:2010/12/27(月) 18:49:44 ID:SbmM29bi
PICのスレなのに、何で外付けのICやら部品やらの話をしたがるの?

PICの内蔵デバイスやプログラムで何とかする話をするのが
ココなんじゃないか、スレ違いだよ
361774ワット発電中さん:2010/12/27(月) 18:54:02 ID:4RG/umnn
>>359
1kでも10kでもどっちでも良いよ。

一般的にはSWにはある程度電流を流したいし、プルダウンの抵抗は
余り大きくしたくないし。

あとは設計者の好みだろう。

電流の最大/最小値はSWにより決まるし。

SWに5mAは特に大きいとも思わんけど。
362774ワット発電中さん:2010/12/27(月) 19:10:27 ID:k4jdG/f1
>>360 PICはプログラムだけじゃないぞ、回路を含めての設計だろ。中心がPICのスレってだけだ。
363774ワット発電中さん:2010/12/27(月) 19:12:28 ID:k4jdG/f1
あと、なんで長押しだと検出できないとか言い出してる奴いんだw
364774ワット発電中さん:2010/12/27(月) 19:28:18 ID:SbmM29bi
>一瞬でもONになればそのあとの入力を一定時間弾けばいいんだろ。
>何度も見に行くってのはなにか回路に不具合がある事前提だろ。

>321のこれはプログラムの話だから、考えられないやり方だけど
このスレ的には良い方向だと思うけどさ

>あと、なんで長押しだと検出できないとか言い出してる奴いんだw

この>321のやり方で長押し検出する方法があるなら言って見なよ
何度も見ないって言ってるんだからよ
お前さんはこういうのでも検出できるICの情報でも持ってるんだろうけど
365774ワット発電中さん:2010/12/27(月) 19:35:33 ID:k4jdG/f1
いや、できない理由をせつめいしてみ。
366774ワット発電中さん:2010/12/27(月) 20:13:36 ID:6IAidyGN
>>361
それだけなのです
いい悪いじゃなくて、「そうした理由」って知識になる

なので>>327を投げた
プルダウンなので、IC側はON時Vccー抵抗ー入力…単純に大きく出来ない
「定数」は色々テストしたとの事なので、それで1K・33Kになったんだろうと…

正負論理の処理まで含めてのことだったのか
それは関係なくSWをアナログと見立て、単にバッファとして切り離す意図だけなのかなとか
たまたまHC14が目に付いただけなのか…

色々想像してて、「これに落ち着いた」という理由を事を知りたかっただけなのです

あちこちから投げられ、そもそも的になりもう自己破たん
揚げ足食らって、言い切るしかない…

何度も書いてるけど、状況にもよるし「好み」ってある
こうしないといけないって考えたら、面白くない

だから定数含め「そうした理由」を知りたかっただけ…



おしまい
367774ワット発電中さん:2010/12/27(月) 20:20:02 ID:SbmM29bi
>>365
出来ない理由なんて、単純に一瞬の1回こっきりしだけ検出して
その後見に行かないんだから、長押しなんて分からないだろ
長押しの判断をしようとしたら、複数回見にいかにと行けないからな

分かる理由を言えよ、中に超能力者でも入ってるのか?

368仮免:2010/12/27(月) 20:25:30 ID:kWgnYaMk
学生の長期休み時期になると空気が悪くなる件。
369774ワット発電中さん:2010/12/27(月) 20:43:19 ID:k4jdG/f1
長く押す事に何の意義があるのか。 それをON/OFF以外のステートとして使うのは別の話だ。
詭弁だな。
370774ワット発電中さん:2010/12/27(月) 20:50:18 ID:6IAidyGN
何度も見に行きたくない場合

キーチェック→状態1
キーチェック→状態2XOR状態1

これを長押し判定とみなしたい分ループ
その間に真になったら抜け出し(長押しではない)

SW入力が正負どっち論理でもおk
371774ワット発電中さん:2010/12/27(月) 21:03:20 ID:SbmM29bi
そのキーチェックを最初の1回だけやって
長押し判定できるって言ってるんでしょ、一つ上の人は

出来ない理由書いたんだから、出来る理由書けって言ってるんだけど
口だけ君は「なんのために長押し」とか「詭弁」だとか言い出す始末
あほらしいので僕はもうやめます
372774ワット発電中さん:2010/12/27(月) 21:23:15 ID:k4jdG/f1
無理やりこじつけて逃げたなw
373774ワット発電中さん:2010/12/27(月) 21:29:35 ID:6IAidyGN
>>371
IC使っていいなら出来るよ

でもPICすれでICの話すんなって怒られたので
374774ワット発電中さん:2010/12/27(月) 21:41:17 ID:UWoqlMOq
元々チャタ除去の話だから、チャタ除去するくらいの時間
ボタンの状態見なくても、もっと長い時間の長押しくらい
判定出来るだろ…

って事だよなきっとw
3755ms周期メイン:2010/12/27(月) 22:17:15 ID:9O0UBmp4
sw_scan:
    ; ポート状態取得
    clrf    sw_now_port         ; 最新状態入力
    btfss    PI_SW0           ; 0なら次実行
    bsf      fSW0_NOW         ;
    btfss    PI_SW1           ; 0なら次実行
    bsf      fSW1_NOW         ;
    btfss    PI_SW2           ; 0なら次実行
    bsf      fSW2_NOW         ;
    btfss    PI_SW3           ; 0なら次実行
    bsf      fSW3_NOW         ;
;    btfss    PI_SW4           ; 0なら次実行
;    bsf      fSW4_NOW         ;
;    btfss    PI_SW5           ; 0なら次実行
;    bsf      fSW5_NOW         ;
;    btfss    PI_SW6           ; 0なら次実行
;    bsf      fSW6_NOW         ;
;    btfss    PI_SW7           ; 0なら次実行
;    bsf      fSW7_NOW         ;

    ; 2回連続ONでON確定
    movlw    0xFF           ; 1111_1111
    andwf    sw_old_port,w       ; OFFのbitが0になる
    andwf    sw_now_port,w       ; OFFのbitが0になる
    iorwf    sw_on_flag,f       ; 1のbitのみ SWON確定フラグに設定

    ; 2回連続OFFでOFF確定
    movlw    0x00           ; 0000_0000
    iorwf    sw_old_port,w       ; ONのbitが1になる
    iorwf    sw_now_port,w       ; ONのbitが1になる
    andwf    sw_on_flag,f       ; 0のbitのみ SWON確定フラグに設定
    movff    sw_now_port,sw_old_port   ; 前回状態更新
    return
376774ワット発電中さん:2010/12/27(月) 22:35:47 ID:l9HwoYl1
>370

俺もそのロジックを使ってる。
チャタリング除去の処理って、基本的にON/OFF時に発生する短時間の不安定状態の対策だろ。
安定する(同じ状態が続く)まで待って、状態を取得するのが妥当だと思うが・・・
377774ワット発電中さん:2010/12/27(月) 23:29:36 ID:qH3F8fK2
ID:6IAidyGN は感情が不安定なのか?
言いたいこと整理して書いてくれ。
長文なのに言いたいことが纏まってなくて読みづらい。

アナログとかバッファとか正負論理の処理とか複雑な話抜きにして、
チャタリングをCRでなまらせてシュミットで整形するのはよくやる手法だし。
0.1uFのコンデンサと時定数から33kが出たって言ってたし。
プルダウンが10kだとOnとOffで時定数が30%も変わるから1k選びたくなるし。

別に定数に疑問持ったり突っ込み入れるような事無いと思うけど。
バランス悪いってどういうこと?
378774ワット発電中さん:2010/12/27(月) 23:37:54 ID:6IAidyGN
>>377
情緒不安定で書けない
379774ワット発電中さん:2010/12/27(月) 23:53:44 ID:soM7clbL
>>372
371ではないが、とうやったらできるの?
意義なんて用途によるんで出来る方法を参考までに教えてくれ
380774ワット発電中さん:2010/12/28(火) 00:38:58 ID:k1N5Txy1
チャタリング対策って、状況やら個人の好みで色々な方法や
考え方があって興味深いね。お前らもっといっぱい語り合ってください
381774ワット発電中さん:2010/12/28(火) 00:54:29 ID:LVRViDNb
落ち着いた
ただの「印象」なんだよ。なぜこのキーワードが出てこなかったのか…


以下、おれの中の気持ち

「その表現をすると質問者は、プル○○○するのが一般的って
思っちゃったりしないかなー
でもここでプル○○○のほうが…とかカキコしたら戦争が勃発するよな
絶対こういう単語に食いつくからな…」


伏字の意味ないけど、おまえらやめろよ…
382774ワット発電中さん:2010/12/28(火) 01:12:57 ID:dKySCAtC
スレに活気があると思えば、納得した
383774ワット発電中さん:2010/12/28(火) 01:14:18 ID:dKySCAtC
>>381
一言で答えてやる



思い込み乙!
384774ワット発電中さん:2010/12/28(火) 01:32:08 ID:42jPFIAf
>>381
まじで思い込み乙だw
上に引っ張るか下に引っ張るかの議論なんて一切してない。
バタついた入力をどう処理するかの議論をしてるだけだ。
385774ワット発電中さん:2010/12/28(火) 01:34:04 ID:LVRViDNb
>>383
>>384
泣いた。ありがとう…
386774ワット発電中さん:2010/12/28(火) 06:42:58 ID:L6n6y5Ts
ここまでチャタリング
387774ワット発電中さん:2010/12/28(火) 07:00:45 ID:7tL8UeT8
これからもチャタリング
388774ワット発電中さん:2010/12/28(火) 09:25:46 ID:rrOJp3N2
GP3で全て解決
389774ワット発電中さん:2010/12/28(火) 09:33:27 ID:tZVoRtgw
心配なら2接点SW使えよって感じだな
390本当の>>311 >>348はニセ:2010/12/28(火) 10:14:06 ID:HyCqGQ9Z
>>355
>ICいっぱい載ってたほうがかっこいいだろ

ちっちゃくしたいって言ってるのに・・・ ひらがなも読めんのか

>チャタリング判定出来て、長押しが判定出来ない不思議

チャタリング判定て、なんですか?
「長押しでリピート」とかしか使ったことないんでしょ。
1〜2発見たらしばらく見ないって手法だけで、ワンタッチ時は表示切り替え/長押し時モード切り替えとか、できますか?

>チャタリングは友達なんだぞ。

ほぉ。
知ってるだけで、付き合ったコトも呑みに行ったこともないヤツが言うな。

オメ、アンカミス多すぎ。かなりメイワク。
391774ワット発電中さん:2010/12/28(火) 12:12:02 ID:8qwMt/z7
PoEで受電する側の回路図ってどこかない?
給電側はたくさん見つかるんだけど・・・
392774ワット発電中さん:2010/12/28(火) 13:25:35 ID:ZZ8ulZLm
PIC16F1827-I/SOが100個位必要なんだけど、買い占めた人譲ってください。
393774ワット発電中さん:2010/12/28(火) 15:31:14 ID:uVA7RqLK
>>389
>心配なら2接点SW使えよって感じだな
2接点SWって、何でしょうか?
2回路入りという意味でしょうか
394774ワット発電中さん:2010/12/28(火) 15:48:08 ID:7tL8UeT8
>>389 しんぱいしなくていいぉ。
395774ワット発電中さん:2010/12/28(火) 17:08:43 ID:9oCMTGx9
電池BOXと基板を繋ぐ線って
秋月売ってないみたいなんだが
名前なんて言うの?
396774ワット発電中さん:2010/12/28(火) 17:17:56 ID:7tL8UeT8
006Pとかのタイプの? 電池スナップの事?
397774ワット発電中さん:2010/12/28(火) 18:54:51 ID:pM1ME5EM
398774ワット発電中さん:2010/12/28(火) 20:01:57 ID:am2bqKaB
>393
マイクロスイッチみたいに、COM/NC/NOの3端子でNC/NOの2接点という意味
じゃね?RS-FFと組み合わせれば確実にチャタリングは抑えられるし。
399774ワット発電中さん:2010/12/28(火) 20:25:43 ID:42jPFIAf
400774ワット発電中さん:2010/12/28(火) 21:42:39 ID:UPqt9AHq
>>390
だから「友達」だって…言ってんだろ…
あ、安価ミスだと?

そんな事より>>392大丈夫か?
不安な年越しを迎えそうだ
401774ワット発電中さん:2010/12/28(火) 21:54:19 ID:ThUX8SVR
>>391
ストレートケーブルならそのまま受ければオケ。
クロスケーブルなら対応するピンが調べて繋げばオケ。

電圧をどうこうしたい場合はデコデコでオケ。
402774ワット発電中さん:2010/12/28(火) 22:31:43 ID:uVA7RqLK
>>398
なるほど、納得です。ありがとう。
うちでは「C接点」という言葉を使うので、わかりませんでした。
どうもありがとう。
403774ワット発電中さん:2010/12/28(火) 23:36:51 ID:pM1ME5EM
404774ワット発電中さん:2010/12/29(水) 04:04:29 ID:kJFJeHP9

>PICを製品に組み込んでる時点で低レベルだっつーの

そうなんだ知りませんでした
ではなぜPICはいまだに製造されているんでしょうか?
まさか全てがホビー用なんでしょうか?
ド素人なので教えて欲しいです><

405774ワット発電中さん:2010/12/29(水) 07:04:00 ID:Vzeo25Qt
>>404

他社さんの関係者の性根が腐ってるように見せかける自演系、もしくは自虐系か、
もしかしたらホンマモンのAVR厨レスです、相手にしてはいけません。
406774ワット発電中さん:2010/12/29(水) 22:06:47 ID:ZZ0bVFEx
>>403
なるほど。で?
答えは あるけど教えない になりますか?
407774ワット発電中さん:2010/12/29(水) 22:37:15 ID:5Y9Y6SNC
さて、ようやく休みに入れるので何作ろう。
とりあえず明日は餅搗きだけど。
408774ワット発電中さん:2010/12/29(水) 22:48:11 ID:QuUQIYXv
>>407
何作ろうっていうより年の瀬だし…

餅搗きとかどうかな?
409774ワット発電中さん:2010/12/29(水) 22:58:42 ID:yVA2e2u/
休みはdspic用の自作ライブラリを整理する予定。
なのでdspicを大量に仕入れてきた。
410774ワット発電中さん:2010/12/30(木) 10:38:22 ID:Mrp8FUu6
天高く
 在庫積みあがる
  お正月
411774ワット発電中さん:2010/12/30(木) 16:22:35 ID:zl4eYy8p
餅搗きは、みんなで大勢でやるからいいんだよ。
大根おろしの、美味かった。
412774ワット発電中さん:2010/12/30(木) 22:35:16 ID:Ix8W29L9
PICの三相PWMで誘導モータを制御して餅をつけ
413774ワット発電中さん:2010/12/30(木) 22:51:39 ID:Mrp8FUu6
独立16チャンネル32bitのA/Dモジュールで
餅の重さや水分量、気温湿度気圧などを測定して
搗き方を制御するのも忘れずにね。
414774ワット発電中さん:2010/12/30(木) 23:29:51 ID:RuxTD0Rj
>32bitのA/Dモジュール
そんなもん、あるのか?
32bitだぞ、32bit!
415774ワット発電中さん:2010/12/31(金) 00:45:01 ID:uf/ITUP5
ブレッドボードの代わりに餅を使う予定です
416774ワット発電中さん:2010/12/31(金) 00:55:10 ID:Hu+gNN71
>>414
二重積分型 A/D なら、32bit行けそうな気がする。
32bitのD/Aがあれば、逐次比較型も作れるし。
ただ、32bitフルに精度を出すのはかなり困難だけどな。
417774ワット発電中さん:2010/12/31(金) 03:06:47 ID:XyzoXh1L
32bit = 4294967295 = 4294.96kmを1mm分解能で補足できる細かさ。

札幌〜鹿児島間を往復する距離を1mm単位で測定・・・・・。
418774ワット発電中さん:2010/12/31(金) 04:32:34 ID:+HhQUE6H
>>417
すると、
16bit = 65mを1mm分解
なんかショボイ
419774ワット発電中さん:2010/12/31(金) 04:54:27 ID:1feIE3ta
>>417
ヲイ
420774ワット発電中さん:2010/12/31(金) 07:30:21 ID:0H4IzuIL
富士山の上の小石の例だとどのくらい?
421774ワット発電中さん:2010/12/31(金) 09:56:27 ID:LhXQJbJl
32bit精度 = 1/2^32 = 0.000233ppm
422774ワット発電中さん:2010/12/31(金) 11:33:20 ID:+ysqA2OV
電子を1個ずつ数えられたりして
423774ワット発電中さん:2010/12/31(金) 11:48:14 ID:0H4IzuIL
ちなみに
>三相PWMで誘導モータ
は突っ込むところじゃないの?
424774ワット発電中さん:2010/12/31(金) 17:25:50 ID:uf/ITUP5
>>423
俗に言うインバーターってことで納得してました
425774ワット発電中さん:2010/12/31(金) 17:55:26 ID:1feIE3ta
>32bit = 4294967295 = 4294.96kmを1mm分解能で補足できる細かさ。

2^32=4294967296
426774ワット発電中さん:2010/12/31(金) 18:36:51 ID:Dk9bbuIX
>>425
4294967296段階だから、1mm分解能で0mm〜4294967295mmしか表現できないでしょ
427774ワット発電中さん:2010/12/31(金) 18:47:43 ID:RSA0OYLZ
サンプルレートとかLSB誤差抜きに、単純に「分解能」だけ考えると
4系統独立でオペアンプかまして、8ビットADモジュール独立して
4つ使えば32ビットにはならないの?

分離しなくても10ビットADで2MSBを上位バイト2LSBと…
そもそも10ビット・12ビットが多い理由ってさ…
でビット数を増やしたところで「分解能」と「精度」は違う話で…


それとも大晦日ってことで乗っからないおれがバカでいいの?
428774ワット発電中さん:2010/12/31(金) 22:18:14 ID:sv1uCX/W
この勘違いする人って大晦日にかぎらずなんか多いな。
脳内シミュでもその方法で話が簡単になったりしないことは
すぐわかると思うがどうよ。
429774ワット発電中さん:2010/12/31(金) 22:29:35 ID:PMTu0M4V
picは裾野が広いからな。
小学生、幼稚園生が居るのだから仕方が無い。
430774ワット発電中さん:2011/01/01(土) 00:25:05 ID:dXhe2EfZ
>>428
これ読んだらそう思うよな…
オペアンプの手前の回路をどうしといてってAGNDを…とか省略してる
擬似的にならそう出来るだろ?って事なんだが
おまえら真面目過ぎだろ…

独立って書いたのが悪かったのか
バカにされるだろうなーと思いつつ、こうすればって意見も期待してた。

それがPICスレだと思う


そんな事より、おまえらあけおめ〜
431 【大吉】 :2011/01/01(土) 02:34:55 ID:Z+XoKiSQ
あけおめ〜
432774ワット発電中さん:2011/01/01(土) 04:15:01 ID:G6Pt6AEO
あけましておめでとうございます
今年はこのレベルの低いスレを高くする所存でございます
そこらへんよろしくね

簡単な質問だけレスする馬鹿は死んで下さい














つり針↓
433774ワット発電中さん:2011/01/01(土) 06:12:50 ID:rl4KeHis
434774ワット発電中さん:2011/01/01(土) 09:54:47 ID:nqTsca/Z
>>427
単純に並列にしても分解能は上がらない。
独立だとしてもせいぜい√に比例するだけ。 つまり4個の独立入力で1bit精度が上がる程度

分解能を上げるなら、4入力使うより、ひとつの入力ポートにノイズを入れてサンプルレートを上げて
時間軸上で平均を取る方がいい。

たとえば12bitADCで16bit精度とするには 6bit精度を上げるためにノイズを入れた上で
2^6^2=4096点の平均を取ればいい。

ノイズの代わりに制御された三角波なら2乗の必要がないが、実現は困難だ
435774ワット発電中さん:2011/01/03(月) 23:10:24 ID:PwrYiTcw
自分で作った時計が動かなくなったので
久しぶりにテスター使おうしたら使い方忘れた
電圧計が並列
電流計が直列
抵抗計はどうだっけ?
436774ワット発電中さん:2011/01/04(火) 01:59:44 ID:nWExMZPd
>>435
ブリッジだろ
437774ワット発電中さん:2011/01/04(火) 07:17:49 ID:VMUZB3Dp
誰か教えて頂戴、PIC18F14K50のECCPのハーフブリッジモードを使って相補のPWM信号を作ってるんだが
デッドタイムがなぜか逆になってしまう・・・
具体的に言うと、片方のポートが確実にOFFしてから設定したデッドタイム経過後に
もう片方のポートがONするようにデッドタイムが挿入されるはずなんだが
この動作がさかさまになってしまうんだよ。
最初PIC16F886で作ったんだが、遅いんで18F14K50に移植してるんだが
なぜか16F886の場合と逆になってしまう。
データシート見てるんだけど、それらしい事が書いてなさげだし
誰か経験ある人教えてください。
438774ワット発電中さん:2011/01/04(火) 07:20:02 ID:CY3X1whM
>>437
ソフトが悪いんじゃない?
439774ワット発電中さん:2011/01/04(火) 07:22:55 ID:VMUZB3Dp
>>438レスありがと
PWM1CONの0から6Bitでデッドタイムを設定するようになってるらしいんだが
それ以外何にもないしなぁ
値変えるとデッドタイムは変化するんだけど、上下アームが短絡する側に動くんだよw
負のデッドタイム?

440774ワット発電中さん:2011/01/04(火) 07:29:50 ID:VMUZB3Dp
すいません、CCP1CON の設定が違ってましたw
2つのポートが共に負論理になってました・・・
以前作った16F886用のが、出力ポートがシンクだったんですが
いまブレッドボードで組んでたのがただ単にポートのL/Hをシンクロで見てたんで
論理を反対にしないと駄目なんですね
CCP1CON = 0b10111100; にしたら直りました・・・
すいません。
441774ワット発電中さん:2011/01/04(火) 08:10:23 ID:CY3X1whM
よかったね
442774ワット発電中さん:2011/01/04(火) 09:09:15 ID:CjTnuh4r
PICKIT2でPICと接続して、PCでpickit2プログラム(アプリケーション)のイレースを行えば
消去できるよ。
443774ワット発電中さん:2011/01/04(火) 09:12:08 ID:CjTnuh4r
>>109
商を使うやりかたは、計算に時間とられるからシフト演算子を使って、
量子処理した方がはやい。

てか、なんで1023回ループをつかうのか
444774ワット発電中さん:2011/01/04(火) 09:13:19 ID:CjTnuh4r
>>115
Microchip社の公式で携帯との連動を扱っていたような・・・

ごめん正確じゃない。
445774ワット発電中さん:2011/01/04(火) 09:24:49 ID:DAs9/al7
亀杉ないか?
446774ワット発電中さん:2011/01/04(火) 13:08:59 ID:EAdTUP05
まあ、いいんじゃない? 検索して辿り着く人もいるだろうし。

俺なら、ADCの値はそんな突然変わるわけじゃないから
一度計算した値を保存しておいて、それからいくら変化したかで処理させるな

一回のループで 10bitの値同士を比較して変化があれば1だけ上下させるだけ
447774ワット発電中さん:2011/01/05(水) 11:27:50 ID:C/MxjW+g
赤外線カメラの映る距離を長くしたいので
近赤外線LEDの高出力なやつを探してるんだけど
どれぐらいが個人で買える最高レベルなの??
448774ワット発電中さん:2011/01/05(水) 11:33:33 ID:cm3QbdfK
PICとなにか関連あるのかい?
449774ワット発電中さん:2011/01/05(水) 13:51:55 ID:5pFh81Hg
>>447
こちらへどうぞ

【発光】ヒカリもの全般スレ【LED等】 9素子目
http://kamome.2ch.net/test/read.cgi/denki/1285162427/
450774ワット発電中さん:2011/01/05(水) 14:08:21 ID:C/MxjW+g
THX
451774ワット発電中さん:2011/01/08(土) 21:35:15 ID:ufAPFzGI
お尋ねします。

PIC BASIC Proでタイマーもどきを作るんですが、
DIPSWの値の処理の仕方を教えていただけないでしょうか。

SW var byte
TRISA = %11111111
SW.0 = PORTA.0
SW.1 = PORTA.1
SW.2 = PORTA.2

でSWに例えば010が代入された場合、これは2進数ですよね?
これを10進数で扱いたいのですが、方法を教えてください。
(プログラムはあっているのかな)

452774ワット発電中さん:2011/01/08(土) 21:52:30 ID:BLeTbSWB
TRISA = 255
453774ワット発電中さん:2011/01/08(土) 21:53:26 ID:BLeTbSWB
あ、違った
まあ進数とか見た目なんてどうでもいいんだよ
454774ワット発電中さん:2011/01/08(土) 22:03:10 ID:ufAPFzGI
PAUSE SW
なんて書いた場合、
この場合、2ミリ秒待つのか10ミリ秒待っちゃうのか・・・

#2ミリ秒待ってほしいのです(実際は適当に処理して2分ですが)
455774ワット発電中さん:2011/01/09(日) 00:40:26 ID:xn2SD+7p
インバータの6本のpwmの機能あるpicってあるの
456774ワット発電中さん:2011/01/09(日) 04:38:54 ID:KXfxAqwa
>>455
沢山あるだろ
いちいち調べ方を教えなければいけないのか?
ねぇ、馬鹿なの?
ググレ、カス
457774ワット発電中さん:2011/01/09(日) 07:30:23 ID:485LALOG
>>455
「の」が多すぎて意味不明
458774ワット発電中さん:2011/01/09(日) 15:35:03 ID:YP09oNZD
>>454
2進数で010ミリ秒待つ。つまり2ミリ秒。
ビットの意味わかる?
二進数の一桁だよ。
そこから考えればおのずと答えは出ると思うが。
459774ワット発電中さん:2011/01/09(日) 16:39:16 ID:D8bx9Sb4
僕等の明日の 光の先の
瞳の奥の 大空の下の
夢の扉の 輝きの
涙の力の 心のカギの
永遠の 自由の
果ての 約束の
手の油 PIC日和
460774ワット発電中さん:2011/01/09(日) 18:37:56 ID:c3SPjYAN
名塚佳織はイイ
461774ワット発電中さん:2011/01/09(日) 19:08:59 ID:nnetvP2B
手の油ってなんかやだ
462774ワット発電中さん:2011/01/09(日) 20:27:04 ID:Nq5vQFkY
IF >>463 = ウンコ THEN
>>464 = チンポ
ELSE
>>465 = マンコ
ENDIF
463774ワット発電中さん:2011/01/09(日) 20:53:04 ID:FQlsLnRo
ウンコ
464774ワット発電中さん:2011/01/09(日) 20:54:01 ID:FQlsLnRo
チンポ
465774ワット発電中さん:2011/01/09(日) 20:54:43 ID:FQlsLnRo
マンコ
466774ワット発電中さん:2011/01/10(月) 00:28:45 ID:6AzMWVr+
void unko()
{
  if >>462 == クルクルパー
  {
    >>463 = ウンコ;
    >>464 = チンポ;
    >>465 = マンコ;
  }
  else
  {
    >>466 = クルクルパー;
  }
  return;
}
467774ワット発電中さん:2011/01/10(月) 01:13:05 ID:SbTW38KD
>453,458
ありがとうございます。

・ビットは2進数の1けたで
・2進数で010ミリ秒=10進数の2ミリ秒
は分かるのですが、答えが出ませんでした。

半田ごてが職場なので、やりながら試せずすみません。

例えばローターリーディップで2にあわせると、
実際の値は0と0と1と0ですよね。
これを読み取ったときの変数SWの値は
0010
になるのは合っているでしょうか。

この変数SWでPAUSEをかけると
読んだ値は2進数なのに、変数で%なんかは書けないから
そのまま10進数で10ミリ秒待つ処理がされてしまうのかな・・・と
考えたのですが。
まさか、%SWとかの表記が有りなのでしょうか。
468774ワット発電中さん:2011/01/10(月) 01:17:34 ID:2kGEZvLA
>>466
頼む、} だけで1行使うのはやめてくれ。判読性が悪いから。

void main(){
  if(xxxx) { xxx <= yyy; }  // コメントで1行使わずに、ここに書く。
    else { aaa <= bbb; }
  return;
}

469774ワット発電中さん:2011/01/10(月) 01:18:22 ID:0zbFuL7D
ワロタwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
470774ワット発電中さん:2011/01/10(月) 01:30:09 ID:iZDiGWM8
どっちかっていうと468のelseのインデントのほうが特殊だ。
471774ワット発電中さん:2011/01/10(月) 01:38:52 ID:2kGEZvLA
>>467
マイコンの中では、常に0と1でしか記憶、格納されていない。
例えば、

unsigned char SW;  // SWという格納場所を用意。これは8bitである。
unsigned char HOGE; // HOGEという格納場所を用意。これも8bitである。

SW = DIP_SW;     // たとえDIP_SWの値が4bitで 0010だとしても、変数SWには、
           // 00000010と8bitで記憶される。DIP SWの値は4bitなので、
           // 上側の4bitは不要だが、8bit単位でしか扱ってくれない。
HOGE = 2;      // 左の場合、変数HOGEの中身は2になる(と人間はそう考える)。でもマイコンの中では
           // 2とは記憶されずに、00000010と記憶される。
           // プログラム上では、人間の都合で、いろいろな表現ができるように工夫されている。
           // 00000010なんて、書きにくいし、間違いやすいし、読みにくいので、
           // プログラム上で 2 と書いても中身は、00000010に記憶される。
HOGE = 0x02;     // 左のように、16進数で2を書いても、中身は00000010になる。
HOGE = 0b00000010;  // 左のように、2進数で2を書いても、中身は00000010になる。
           // 人間がどのように書いても、コンパイラーが00000010と変換して考えてくれるわけだ。
HOGE = 0b0010;    // また左のように4bitしか必要ないし、もったいないから4bitでいいよ、と思っても
           // それは人間の都合の話であり、マイコン内部は8bit単位でしか処理できない(そのようにハードが出来ている)ので、
           // 00000010と記憶される。16bitで確保した変数だとさらに無駄に長くて、
           // 0000000000000010と記憶される。
           // マイコンは、8bit、16bit、32bitなど、決まった長さしか扱えない。
472774ワット発電中さん:2011/01/10(月) 01:53:10 ID:iZDiGWM8
・マイコンでの数値表現は普通いつでもどこでも2進数で、
 10進数という表現は人間が読み書きやすいようにソースコードの中にあるだけだ
・マイコンが変換処理とかをせずに直接読んでいるということはそれが2進数だということだ
・それを変換処理とかをせずに直接利用しているということは2進数とみなしているということだ
473774ワット発電中さん:2011/01/10(月) 01:54:01 ID:2kGEZvLA
>>467
>読んだ値は2進数なのに、変数で%なんかは書けないから
>そのまま10進数で10ミリ秒待つ処理がされてしまうのかな・・・と
  デフォルト(暗黙)では、コンパイラは 10と書かれているところに出会うと、
  10進数だと思ってくれる。
  逆にコンパイラに「2進数に思って欲しい」ところでは、0b00000010 などと、
  頭に記号を付けて その数字の正体をコンパイラーに教える。
    2進数 0b00000010 (CCSコンパイラーの場合)
    10進数  2    (デフォルトは何もつけない)
    16進数 0x02   (0xをつけると、16進数だと思ってくれる)

  CCS-Cで、2ms待つときの書き方
    delay_ms(2);       // 10進数で 2 ms
    delay_ms(0b00000010);  // 2進数で  2 ms
    delay_ms(0x02);     // 16進数で 2 ms

  DIP SWを判定するif文の例
    if( DIP_SW == 2      ){   // DIPSWの値が、10進数の2なら
    if( DIP_SW == 0b00000010 ){   // DIPSWの値が、2進数の2なら
    if( DIP_SW == 0x02    ){   // DIPSWの値が、16進数の2なら
  どのように書いても、コンパイラーが00000010に変換して処理してくれる。
  DIP SWやポートのDDR設定の場合などは、イメージに合わせて0b00000010のほうが
  圧倒的に見やすい。0xCEなど、16進数で書くと、指を折ってビット「模様」を考えないといけない。
474774ワット発電中さん:2011/01/10(月) 01:59:23 ID:IcXQRANh
HEX-DECのビットパターンなんてすぐ覚えられるよ。
覚えるとBINで表記なんてめんどくさくなる。
475774ワット発電中さん:2011/01/10(月) 02:21:47 ID:2kGEZvLA
そうですか、これは失礼。

0 → 0000  これは簡単
1 → 0001  これも簡単
2 → 0010
3 → 0011
4 → 0100  右から、1, 2, 4 なので4
5 → 0101  4 + 1 で 5
6 → 0110  7(111)より1つ下なので、110
7 → 0111  これは簡単
8 → 1000  これも特徴的、簡単
9 → 1001  8 + 1 で、9
a → 1010  覚えてるのですぐわかる
b → 1011  10 + 1 = 1011
c → 1100  覚えてる
d → 1101  cの次だ
e → 1110  fの1つ手前
f → 1111  文句なしに覚えてる
476774ワット発電中さん:2011/01/10(月) 02:33:14 ID:mUvQ7+sv
なんかのコピペ?
477774ワット発電中さん:2011/01/10(月) 09:39:57 ID:DVWPqGDw
if ( ) {
 なにか;
}
else {
 なにか;
}

のスタイルが好きだな
} else {
にしないのがポイント
478774ワット発電中さん:2011/01/10(月) 10:10:32 ID:mGGL+9p5
>>468
} だけで1行使った方が{}の対応がはっきりして読みやすいと思うけど。
479774ワット発電中さん:2011/01/10(月) 10:19:26 ID:yuCpMGgm
こっちで書いてる

void func()
{
  if()
  { // なになにの場合はなにをなにする
xxxxx;
  }
  else
  { // ぺけぺけの場合はぺけをぺけする
xxxxx;
  }
}

お客から渡されたソースが読みやすかったのでこっちに変えた。

・{の次にコメントつけられる
・1行単位でコメントアウトできる。
・あとからデバッグ文を追加するのが容易
480774ワット発電中さん:2011/01/10(月) 10:26:29 ID:sXbH+Euf
> a → 1010  覚えてるのですぐわかる
> c → 1100  覚えてる
何か意味あるのかな。
俺もAとCは最初に覚えたわ。
481774ワット発電中さん:2011/01/10(月) 10:48:54 ID:4j6CjXk8
その数字と、その各bitを反転した数字と、15 との3者間で
お互いに関係があることを発見した時は、ちょっと震えた。

 その数字 + その数字のbit反転の数字 = 15

 1100(c) + 0011(3) = 1111(15)
482774ワット発電中さん:2011/01/10(月) 11:05:24 ID:DtF+Sek2
おおおおおおおおおおお

なんか引…

よくわかんけどさ
なんかになりそうだよね!!!
483774ワット発電中さん:2011/01/10(月) 11:51:53 ID:DVWPqGDw
普通に補数だろ
484774ワット発電中さん:2011/01/10(月) 12:03:36 ID:TMZ3u/12
1の補数だっけ。
485774ワット発電中さん:2011/01/10(月) 12:10:04 ID:AUkuxwYK
おまいら親切だな

だがここはコンピュータ一般の授業や講義じゃないはずだぞ?www
ま、こういう基礎が解かってないと先々困るのは事実
2・10・16進数とおまけで8進数までは理解して起いて問題ないな
言語別に記述違いがあるが理屈さえわかっていれば「書き方」なんてのは瑣末だ。
486774ワット発電中さん:2011/01/10(月) 12:12:38 ID:DtF+Sek2
今年もPICスレは難しい…
487774ワット発電中さん:2011/01/10(月) 12:16:26 ID:TMZ3u/12
プログラマ板のほうから来ました。
PICプログラマを作ろうと思います。
488774ワット発電中さん:2011/01/10(月) 12:23:47 ID:AvJj80Pe
スレの中には魔物がすむの 頼れる仲間は皆目が死んでる
ソースにかけた青春でも 皆目が死んでる
私とあなたは友達じゃないけど 私の友達とあなたは友達
大体そんな感じ PIC日和

ICDの上は男の世界 頼れる親方はどこか宙を見てる
ASMはそんなに好きじゃないでも 食べる時は食べる
私の根暗は生まれつきだけど あなたのそれは二十歳過ぎてから
大体そんな感じ PIC日和
489774ワット発電中さん:2011/01/10(月) 12:26:43 ID:TMZ3u/12
PICが流行ってるって聞きました。
何年か前に。
490774ワット発電中さん:2011/01/10(月) 13:01:57 ID:Tw+9PNka
>>481
各ビットで a OR ( NOT a ) とすれば結果は全ビット 1になるだけ…
491774ワット発電中さん:2011/01/10(月) 13:02:26 ID:1oNYjg4V
Writer509が流行ったときは頑張った、12V電池を2つ使ったりして。
492490:2011/01/10(月) 13:05:47 ID:Tw+9PNka
× 各ビットで a OR ( NOT a ) とすれば結果は全ビット 1になるだけ…
○ 各ビットで a + ( NOT a ) とすれば結果は全ビット 1になるだけ…

この場合に限って結果は同じだけど。かっこわるorz
493774ワット発電中さん:2011/01/10(月) 13:12:04 ID:4j6CjXk8
>>492
ですね。
ただ、その反転bitの数を加算すると、引き算になると聞いてやってみたけど、
正しい答えにならない。

  12 - 4 = 8
  12 + not4 = 1101 + 1011 = 0111 ← 7 になるやん。  と言うわけです



494774ワット発電中さん:2011/01/10(月) 13:40:27 ID:lQnBts27
負数を表現するには1の補数に1を加えた数を使うんだよ。
これを2の補数と言う。

12 - 4 = 12 + ( -4 ) = 12 + ( not 4 + 1 )
= 1100 + 1011 + 1 = 1000
= 8



とにかくPICプログラマを作ろうと思ったんだ。
495774ワット発電中さん:2011/01/10(月) 14:58:01 ID:DVWPqGDw
いやいや
オーバーフローしとるがな
496774ワット発電中さん:2011/01/10(月) 15:14:50 ID:Tw+9PNka
>>494
それは桁を増やすか別の数値で書くべきだったね。
1011が負の数なら、通常 1100も・・・
497774ワット発電中さん:2011/01/10(月) 15:21:27 ID:lQnBts27
こうかな。

12 - 4 = 12 + ( -4 ) = 12 + ( not 4 + 1 )
= 01100 + 11011 + 1 = (1)01000
= 8



>>491
自分はhpのノート用アダプタが18.5V出力だったのでそれを使いました。
最初だから失敗してもいいようにとPIC12F509を選んでしまったのが運のつきです。
498774ワット発電中さん:2011/01/10(月) 15:39:00 ID:L2C+xQki
トドメに>>8のリストで×ついてるじゃん
ってことで始まる前から終わっていました。
499774ワット発電中さん:2011/01/10(月) 21:06:52 ID:OnEtObKf
>>480
A=1010は、1と0が交互に並ぶから良く使う。
テストパターンとかで0xAAとか0x55を良く使うからね。

C=1100はなぜか覚えてるなぁ…
C=12=8+4=1100がパッと思い浮かぶ。
500774ワット発電中さん:2011/01/10(月) 22:50:33 ID:Dp4M2dlr
テンプレのリスト更新したんで、ちょっと割り込ませてもらうよ
16Fは価格の確認だけ、18Fを復活させて24FとdsPICを追加
501774ワット発電中さん:2011/01/10(月) 22:51:53 ID:Dp4M2dlr
秋月のPIC16シリーズDIP品限定ピン数別評価(先頭のvは値下げ,-は維持)'2011/01/05更新版
-40ピンは-◎16F887 \200
-28ピンは◎16F886 \190
ADC有,eCCP/CCP有,mSSP有,USART有,8Kw,内蔵31K-8MHzとフルサポート
新しめのチップで内蔵モジュールも多,大きささえ許せば20,18ピンよりこちらを

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

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

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

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

(参考)機能無,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でも安くしたいなら、どうぞ
×ソースを変更できない等の理由がないなら、選択する必要なし
自分で、プラグラムもハードも作れる人のためのリスト。
そもそも、教科書にのってるのとか他の方の作品とかを作るだけなら
指名買いするしかないのだから お勧め度は意味がない。
502774ワット発電中さん:2011/01/10(月) 22:53:20 ID:Dp4M2dlr
秋月のPIC18FシリーズDIP品限定 2011/01/05更新
○18,20pinはこれしかない。14K50は3.2V LDO搭載、しかも電圧リファレンス内蔵(1.024/2.048/4.096V)でADCの値を楽々直読って凄ぇ・・・
          価格 pin パッケージ FLASH   SRAM EEPROM 10bit ADC 内蔵CLK MaxCLK 動作電圧 USB
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
503774ワット発電中さん:2011/01/10(月) 22:57:42 ID:Dp4M2dlr
PIC24シリーズ(DIPのみ) 2011/01/05
_                 価格 pin Flash RAM CPU speed 内蔵CLK 動作電圧 ADC CCP*1 UART/SPI/I2C
PIC24FJ64GA002-I/SP   \350 | 28 | 64KB | 8KB | 16MIPS |  8MHz/32kHz  | 2-3.6V | 10×10bit | 5/5/5 | 2/2/2 |
PIC24HJ12GP202-I/SP \400 | 28 | 12KB | 1KB | 40MIPS | 7.37MHz/512kHz | 3-3.6V | 10×12bit | 4/2/2 | 1/1/1 |

dsPIC(DIPのみ)
DSPIC33FJ32GP202-I/SP \450 | 28 | 32KB | 2KB | 40MIPS | 7.37MHz/512kHz | 3-3.6V | 10x12-bit | 4/2/2 | 1/1/1 |
DSPIC30F3012-30I/P  \500 | 18 | 24KB | 2KB | 30MIPS | 7.37MHz/512kHz | 2.5-5.5V | 8x12-bit | 2/2/2 | 1/1/1 |
DSPIC30F2012-30I/SP  \500 | 28 | 12KB | 1KB | 30MIPS | 7.37MHz/512kHz | 2.5-5.5V | 10x12-bit | 2/2/2 | 1/1/1 |
DSPIC30F4013-30I/P \650 | 40 | 48KB | 2KB | 30MIPS | 7.37MHz/512kHz | 2.5-5.5V | 13x12-bit | 4/4/4 | 2/1/1 |
DSPIC30F2020-30I/SP \700 | 28 | 12KB | 512B| 30MIPS | | 3-5.5V | 8x10-bit | 2/2/2 | 1/1/1 |
DSPIC30F3014-30I/P \750 | 40 | 24KB | 2KB | 30MIPS | 7.37MHz/512kHz | 2.5-5.5V | 13x12-bit | 2/2/2 | 2/1/1 |
DSPIC30F4012-30I/SP \750 | 28 | 48KB | 2KB | 30MIPS | 7.37MHz/512kHz | 2.5-5.5V | 6x10-bit | 4/2/2 | 1/1/1 |
*1 Capture/Compare/PWM
504774ワット発電中さん:2011/01/10(月) 23:20:05 ID:Dp4M2dlr
ずれたのでもう一度
PIC24シリーズ(DIPのみ) 2011/01/05
                 価格  pin Flash RAM CPU speed   内蔵CLK   動作電圧   ADC   CCP*1 UART/SPI/I2C
PIC24FJ64GA002-I/SP   \350 | 28 | 64KB | 8KB | 16MIPS |  8MHz/32kHz  | 2-3.6V | 10×10bit | 5/5/5 |   2/ 2/ 2   |
PIC24HJ12GP202-I/SP   \400 | 28 | 12KB | 1KB | 40MIPS | 7.37MHz/512kHz | 3-3.6V | 10×12bit | 4/2/2 |   1/ 1/ 1   |

dsPIC(DIPのみ)
DSPIC33FJ32GP202-I/SP \450 | 28 | 32KB | 2KB | 40MIPS | 7.37MHz/512kHz | 3-3.6V | 10x12-bit | 4/2/2 |   1/ 1/ 1   |
DSPIC30F3012-30I/P    \500 | 18 | 24KB | 2KB | 30MIPS | 7.37MHz/512kHz | 2.5-5.5V | 8x12-bit | 2/2/2 |   1/ 1/ 1   |
DSPIC30F2012-30I/SP   \500 | 28 | 12KB | 1KB | 30MIPS | 7.37MHz/512kHz | 2.5-5.5V | 10x12-bit | 2/2/2 |   1/ 1/ 1   |
DSPIC30F4013-30I/P    \650 | 40 | 48KB | 2KB | 30MIPS | 7.37MHz/512kHz | 2.5-5.5V | 13x12-bit | 4/4/4 |   2/ 1/ 1   |
DSPIC30F2020-30I/SP   \700 | 28 | 12KB | 512B| 30MIPS |           |  3-5.5V |  8x10-bit | 2/2/2 |   1/ 1/ 1   |
DSPIC30F3014-30I/P    \750 | 40 | 24KB | 2KB | 30MIPS | 7.37MHz/512kHz | 2.5-5.5V | 13x12-bit | 2/2/2 |   2/ 1/ 1   |
DSPIC30F4012-30I/SP   \750 | 28 | 48KB | 2KB | 30MIPS | 7.37MHz/512kHz | 2.5-5.5V |  6x10-bit | 4/2/2 |   1/ 1/ 1   |
*1 Capture/Compare/PWM
505500:2011/01/10(月) 23:27:52 ID:Dp4M2dlr
何度もごめんなさい。俺はこのリストが便利だから勝手に保守してるだけで
16Fと18Fのリストを作った人じゃない。2人の仕事を横取りするする気はないのでその辺を勘違いしないでね。
506774ワット発電中さん:2011/01/10(月) 23:37:04 ID:DVWPqGDw
8pinは、CCPの有無だけで60円と100円の差があるなら、
510も十分に有力な選択肢だよな
っていうか、510大好き
使いにくいところが特に
507774ワット発電中さん:2011/01/11(火) 00:55:38 ID:4rDbaVVI
Pickit2で16F88を書き込む際に何とかしてMCLRをポートとして使うことは出来ないのですか
508774ワット発電中さん:2011/01/11(火) 06:29:21 ID:Og2XtG8c
「書き込む際」に「ポート」ってどういう意味なんだろうね?
509774ワット発電中さん:2011/01/11(火) 09:57:48 ID:tyutcODR
>>505
便利なリストの更新ありがと
500氏と最初にリスト作ってくれた人に感謝!

510774ワット発電中さん:2011/01/11(火) 19:36:33 ID:NEi4kXX+
511774ワット発電中さん:2011/01/11(火) 20:00:49 ID:AVtmqhX2
ついに新シリーズがきたな。FlashやRAMが大きめだし、内臓CLKが32MHzと高めだね
しかも日本語版のデータシートが用意されてるし、PICkit 2でもサポートされてるのが良いな。
日本語のPIC16F193Xのデータシート
ttp://ww1.microchip.com/downloads/jp/DeviceDoc/41364B_JP.pdf
Current PICkit 2 Device Support(June 2010)
ttp://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en027813
512774ワット発電中さん:2011/01/11(火) 20:01:37 ID:JVpoD5Qk
>>510
100円台にしては結構いろいろできそうですね。
513774ワット発電中さん:2011/01/11(火) 20:53:51 ID:lTv6KX/J
>510

PIC16F1938凄いな。28ピンはこれ一択になるんじゃないだろうか。
514774ワット発電中さん:2011/01/11(火) 21:17:28 ID:C1GMlldr
フラットパッケージも来てほしいな
515774ワット発電中さん:2011/01/11(火) 21:20:24 ID:If4dmXZ7
>>511
チャイナっぽい翻訳エンジンだなあ、っと思って最終ページみて納得。
落ちたもんだ Japan。
516774ワット発電中さん:2011/01/11(火) 21:49:30 ID:rsIZrVFU
>501
このリストの元を書いた者だけど、実はこのリスト最初にPIC16シリーズと書いてるけど
実際は14bit幅のインストラクションセットを持つ12F,16Fを対象にしてるんだ。
だから12bit幅の16F57等を別枠にしている。そういう意味だと12F510,509は別枠なり
12bit幅のことわりを入れてもらった方が良いかも。割込み使えないとか色々あるし

まあ16F193xシリーズ登場で不要になりそうだけどw
517774ワット発電中さん:2011/01/11(火) 22:16:26 ID:7II0+lkB
193xすげー
なんだこれ
518774ワット発電中さん:2011/01/12(水) 00:01:42 ID:I6qG82G1
ROMテーブルアクセスはやりやすくなったけど、
ブツ切れページで16kBもROM使いたくない。
RAMもバンク多すぎwwww
正直スタートアップのテンプレートつくり直すのメンドクセーから
887でいいや。
それ以上の規模なら18かH8か78K0R
519774ワット発電中さん:2011/01/12(水) 00:10:35 ID:O+ID/2xc
451です。

2進数か10進数の件、ちょっと手こずりましたが解決しました。
遅くなりましたが、ありがとうございます。

520774ワット発電中さん:2011/01/12(水) 00:39:00 ID:duhGVu/l
何がすごいのか誰か説明してくれんか
521774ワット発電中さん:2011/01/12(水) 01:16:13 ID:4lT20IEM
説明:
PIC16F1938は凄いのさ!
だって、プログラムメモリ何倍よ!RAM何倍よ!ん?
凄いだろ!
しかも最高周波数32MHzだぜ!
凄さが分からないのか?馬鹿か?ん?
522774ワット発電中さん:2011/01/12(水) 02:01:10 ID:yHrXUNDq
でもって、clockは 1/4 ですか?
523774ワット発電中さん:2011/01/12(水) 03:02:45 ID:4lT20IEM
>>522
ほんっとに馬鹿だなぁ〜
全然凄さわかってない
クロックが1/4でも凄いんだよ!!分かる?ん?
あとRAMが沢山あるんだよ!!分かる?理解できる?
凄い!凄い!凄い!凄い!凄い!凄すぎるんだよ!分かる?
524774ワット発電中さん:2011/01/12(水) 03:25:49 ID:9+WyRZ7m
いや、150円なのが凄いんじゃないか?
525774ワット発電中さん:2011/01/12(水) 03:27:14 ID:9+WyRZ7m
あと、日本語マニュアルがあるから入門用にいいとか。
526774ワット発電中さん:2011/01/12(水) 03:52:22 ID:4lT20IEM
今までのPICが置き換わるかもしれないのに
全然凄さが理解出来ないんだね
527774ワット発電中さん:2011/01/12(水) 05:09:08 ID:RXavATXg
”電子工作のためのPIC16F活用ガイドブック”の7−8 USARTの使い方を参考に
PIC16F689でPCのハイパーターミナルを使用し通信を行う実験をしてます。
PICからはハイパーターミナルで正常に受信できましたが、PCのキーを押した時のデータがPICで受信できていない。(PICのソフトは上記ガイドブックのコピー)
お手数でも、対処方法のヒントだけでもアドバイス願いたく投稿しました。


528774ワット発電中さん:2011/01/12(水) 08:01:29 ID:fsImAvLC
やってみました、動きません、何とかしてください
このパターンばっかりだなぁ。
「参考に」とか言うから「どう’参考’にして考えたの?」と聞くと
単純にコピペしただけだったり。
自分で調べようと思わないの?と言うと「どこを調べたら良いのか
分かりません。教えてください」ときてみたり。

そんなに自分の脳味噌使うのが嫌なら、こんな方面からとっとと
足洗って、脳味噌使わなくて良いような方向に行けば良いのにと
思う今日この頃。
529774ワット発電中さん:2011/01/12(水) 08:08:17 ID:1thf62ZE
開発ほど脳味噌使わないと出来ない仕事ないのにな
創造する事の本質、閃きは脳でしか出来ないのに
530774ワット発電中さん:2011/01/12(水) 09:23:31 ID:b5Ac2pvh
しかしなあ、最近思うんだが、適切に質問するのも、知識と馴れが必要なんじゃあるまいか。
自分が学んでいた頃を思い出すとますますそう感じる。
事実を全部かけと言われても、初学者には何が事実なのか把握できない。
まあ、参考書があるなら、穴が開くほど読み返してから、それでもわからない部分を質問すべきなんだが。
そうでないと、解決しても「わかった気になった」だけで、身に付かないしな。

いまの若い人は情報が溢れすぎててそういう訓練をすっ飛ばしてきてる気がする。
531774ワット発電中さん:2011/01/12(水) 09:57:36 ID:yHrXUNDq
>いまの若い人は情報が溢れすぎててそういう訓練をすっ飛ばしてきてる気がする。

1票
532774ワット発電中さん:2011/01/12(水) 10:09:17 ID:WyoDyCeu
何十年と積み重ねてきたベテランに追いつけるわけもなく、幼少のころから地道に続けてきた秀才に敵うはずもなく、
それでもちょっとやそっとで手軽に俺すげえしたいという素人の心につけこむ商売が氾濫してるおかげで、
ちょっと躓いたり独自の工夫を加えようとすると途端に何もできなくなってしまうのだ。
533774ワット発電中さん:2011/01/12(水) 11:23:05 ID:Qs5Wilu/
つ もう一票
534774ワット発電中さん:2011/01/12(水) 11:23:55 ID:ABVNlMj9
>>527
>お手数でも、対処方法のヒントだけでもアドバイス願いたく
>>527は、回答者に こんなことを期待してるのかな?
  回答者に期待されている内容は、
   1) ”電子工作のためのPIC16F活用ガイドブック”を買ってきて、
   2) 7−8 USARTの使い方を読んで、
   3) PICが受信できない原因を、>>527の素晴らしい文章から想像して、
   4) >>527への回答文章を書いて、
   5) ココに書き込む

 4), 5) くらいはできるけど、1)〜3)はできないなぁ。
535774ワット発電中さん:2011/01/12(水) 11:27:39 ID:ABVNlMj9
>>527
何の結果から「PCのキーを押した時のデータがPICで受信できていない」と判断したのか、
教えて欲しいです。そうすれば、ヒントぐらいはお伝えできると思います。
(因みに、その本は持っていません)
536774ワット発電中さん:2011/01/12(水) 11:28:09 ID:1thf62ZE
>>530-532

つまり「手を抜くな」って事だ
技術でも知識でも経験を積むに「試す」「失敗(+成功)する」「疑問に思う」の繰り返しがないやつは進歩しない
537774ワット発電中さん:2011/01/12(水) 11:53:46 ID:RXavATXg
>>535
書き方がわるく申し訳ありません。
PCのキーを押した時の波形をPICの12ピン(RX)にシンクロのプローブを
あてON/OFFしている事を確認しました。
PICの12ピンで受信した信号を取り込み、その信号が改行コードに
該当するかPIC側のソフトで判断し、該当するコードであれば”OK”と
PC側に送信したのですが、どうも、PIC側のソフトがおかしいのか
”OK”がPCに表示されません。
マイクロソフトのHPを見ても、良くわからなくなり投稿しました。

538774ワット発電中さん:2011/01/12(水) 12:05:36 ID:Qs5Wilu/
>>537
問題を切り分けましょう

>>その信号が改行コードに該当するかPIC側のソフトで判断し
判断出来ているか、送信出来ているかを切り分ける
そこでPICからPCに送信せずに、取り合えず空いてるポートを叩いてみてオシロで確認しては?
539774ワット発電中さん:2011/01/12(水) 12:26:14 ID:1thf62ZE
ふむ、デバッグ技法の話なのか?
540774ワット発電中さん:2011/01/12(水) 13:02:46 ID:5aUECndO
誰かアドバイスお願いします。

PICとRTCユニットで時計を作ったのですがバックアップに困っています。
今はスーパーキャパでバックアップしてますがこれだと1時間程度で消えそうです。
(実測はしてないけど)
そこででボタン電池バックアップをしたいのですが5vで動作している状態から
停電になった瞬間にボタン電池(3V)からRTCに電源供給するのはどうすればいいでしょうか?
541774ワット発電中さん:2011/01/12(水) 13:23:29 ID:qsesfnEW
>540
電池→ダイオード→RTC(Vcc) でいいんじゃね?
542774ワット発電中さん:2011/01/12(水) 13:32:28 ID:W44rUunI
5Vの電源にも逆流防止のダイオード要るよね
543774ワット発電中さん:2011/01/12(水) 14:34:42 ID:ABVNlMj9
>>540
RTCの消費電流はいくつ?
スーパーキャパの容量はいくつ?
バックアップ中には、電池はRTCにだけ流れるように工夫してますか?
まさか「バックアップ中は、PICも動かしているんです」とかないよね?

544774ワット発電中さん:2011/01/12(水) 14:37:04 ID:5aUECndO
>>541
>>542
その方式だと3vはずっと流れっぱなしにならないのかな?
5vがかかってるから止まるとかはないんじゃ?止まるのかな?
545774ワット発電中さん:2011/01/12(水) 18:03:34 ID:qsesfnEW
>544
通常5Vの電圧がかかっているところに3Vの電池を繋げると、電池側に逆流(充電
する方向)はわかります? だから逆流防止用にダイオードを入れたら、と。
さらに電流は電圧の高い方から低い方にしか流れないですから、5V側が停電する
までは電池からの放電は無いです。
厳密にはダイオードにも逆方向の漏れ電流があるのですがまあ無視できるレベル
かと。
546774ワット発電中さん:2011/01/12(水) 18:37:45 ID:aN08kMUI
はじめまして、軽石こと近藤豊広といいます。
カラオケのお箱はチグハグ馬っこです。(^。^)
まだまだ初心者ですが、よろしくお願いいたましす。
初心者なのですが、ICD3買いました。
初心者でも、買うだけはできます。(^。^)
547774ワット発電中さん:2011/01/12(水) 18:50:51 ID:eW1rJ+le
>>546
何か作品ができたらまた来てください。
548774ワット発電中さん:2011/01/12(水) 19:06:57 ID:aN08kMUI
お返事ありがとうございます。(^。^)
軽石はあまりにも忙しい(+o+)(割にはこうして書込みしてますが)のですが、がんばって作ろうと思います(子供作れって話も(^^;))。
http://karuishi.servehttp.com/
時々覗いてください。
549774ワット発電中さん:2011/01/12(水) 19:34:13 ID:5aUECndO
>>545
そうか〜、半導体だもんな〜
ホールがどうしたこうしたで流れないよ!!
ありがとうです。
550774ワット発電中さん:2011/01/14(金) 21:05:22 ID:65HgytsN
PIC24FJ64GB002ってまだ流行らない?
日本語のマニュアルがないとCONFIGが意味わかんないw
551774ワット発電中さん:2011/01/14(金) 21:08:30 ID:UR/c/T2G
>>550
MP3プレーヤーの作品例、まねして作った。それぐらい。
552774ワット発電中さん:2011/01/14(金) 21:26:38 ID:65HgytsN
>>551
すごい。
UARTでPCと通信するだけで、いっぱいいっぱい。いったい何Mhzで動いているのかすらわからんw

USB接続まで、先が思いやられる。
553774ワット発電中さん:2011/01/14(金) 22:42:02 ID:WqEjgqcc
PICKIT2で 18F14K50 が使えてる方居ますか?
554774ワット発電中さん:2011/01/14(金) 23:19:08 ID:Bt9InoTc
18F2550なら使えた
555774ワット発電中さん:2011/01/15(土) 00:06:23 ID:3JronsxL
2550はこちらでも使えたのですが、
14K50ではDebuggerでRunさせるとプログラムした後、
PICKit2 was unable to establish a validVDD on the target (Attempt 3.30V - Read 0.0V)
ってエラーになっちゃいます。
ひょっとしてPIC14K50はPICKIT2ではBeta Supportなのが原因ですか?
PICKIT3を買えば解決?


556774ワット発電中さん:2011/01/15(土) 00:14:48 ID:9g3PBNgD
電源入ったまま繋いで、書き込む時に電源切ったりするとそんなエラー出るな
557774ワット発電中さん:2011/01/15(土) 00:36:41 ID:IKDGSf16

>>553
普通に使えるよ
558774ワット発電中さん:2011/01/15(土) 01:29:28 ID:bLOrKy/7
>>553
14K50はデバッグボード無いとデバッグできなかったはず
559774ワット発電中さん:2011/01/15(土) 03:04:27 ID:4CJp9bd9
>>511のリンク先見るとPICkit2単独で14K50デバグ出来る見たいね
VDDの電圧が変みたいだから、電源を見直してみたら上手くいくかも
560774ワット発電中さん:2011/01/15(土) 20:19:51 ID:FoeNXTl9
なんか電圧書いてね?
英語わかんなかったら、ネットの自動翻訳サイトに叩き込めばいいと思うよ?
エキサイト翻訳とか色々あるし。
(エキサイト翻訳ってなんか翻訳内容が過激そうでアレ。)

日本語としておかしいが意味は汲み取れるはず。
561774ワット発電中さん:2011/01/15(土) 20:21:39 ID:FoeNXTl9
専ブラ更新されてなかったorz
562774ワット発電中さん:2011/01/15(土) 20:27:14 ID:ZrVE5JgP
>559
どこを見たらそうなるんだろう?
息をするように嘘を吐くのはやめろ。
563774ワット発電中さん:2011/01/15(土) 23:51:36 ID:ADnV1ozD
>>553
PIC18F14K50はデバッグ機能が内蔵されてないので、DIP限定だけどデバッグ専用ICと差し替える必要がある。
製品パッケージはいくつかあるみたいだけど、DM164127 (RS:667-7965) が入手し易かった。
564774ワット発電中さん:2011/01/15(土) 23:56:43 ID:oQO6BMqT
秋月の新シリーズのPIC16F1xxx安いのね。内蔵モジュールも豊富(5bit-DAC等)だし
LATが追加されたり、16bitのFSRでプログラム領域や飛び地のRAMを連続アクセス等
多少改良されてる。Wレジスタのみなのは相変わらずでさらにbankはすごい事に
なってるけど(笑)
新規で作るなら旧シリーズは8pin以外必要ないかも

[40pin]
◎16F1939 \190 16kw 1kRAM EEP256 I/O36 16F887の置き換えに
○16F1937 \170 8kw 512RAM EEP256 I/O36 フラッシュ&RAM半分で\20

[28pin]
◎16F1938 \150 16kw 1kRAM EEP256 I/O25 16F886の置き換えに
×16F1936 \150 8kw 512RAM EEP256 I/O25 ナゼニ同じ値段?
×16F1933 \150 4kw 256RAM EEP256 I/O25 サラニ ナゼニ同じ値段?

[18pin]
◎16F1827 \120 4kw 384RAM EEP256 I/O16 16F88の置き換えに

[14pin]
◎16F1823 \100 2kw 128RAM EEP256 I/O12 16F688ヨリ フラッシュ&RAM半分
565774ワット発電中さん:2011/01/16(日) 00:22:12 ID:16etRgDl
HI-TECHのCONFIGパラメータ文字列全面改定うざす
566774ワット発電中さん:2011/01/16(日) 03:59:39 ID:E0z+u3vc
16F1939のINTCONレジスタのIOCIFって全ポートでの変化割り込みが可能ってことかな?

よくわかりません><
567774ワット発電中さん:2011/01/16(日) 04:40:04 ID:XSG9ibl2
>>566
データシート"Interrupt-On-Change"に書いてあるだろ
アホ顔してこんな場所で聞く時間があったら、データシート調べたまえ

>< ←なんだ?これ?いい歳してこんなん使って、恥ずかしくないのかね?

質問内容といい表現方法といい、馬鹿100%丸出し
568774ワット発電中さん:2011/01/16(日) 05:58:32 ID:rBB9IQqz
ネタにマジレス
569774ワット発電中さん:2011/01/16(日) 08:48:17 ID:+/EsjheP
マルツも置くのだ
570774ワット発電中さん:2011/01/16(日) 18:17:19 ID:OkgbSrdB
しかし、なんというか・・・
開発通し番号を型番にしてるのかよって感じでw
571774ワット発電中さん:2011/01/16(日) 21:19:59 ID:4cakUcLh
PIC24のサンプルライブラリプログラム・・・むじーよw
ライブラリ化したものと、
動作に必要最低限な設定と手順がわかりやすくなっている、むちゃくちゃシンプルなものの両方用意してよ・・・w
572774ワット発電中さん:2011/01/16(日) 21:48:36 ID:uGZ+bvT9
>>571
>むじーよw
って何? 難しくないよ、の略ですか? 日本語使ってください。
573774ワット発電中さん:2011/01/16(日) 22:51:09 ID:+/EsjheP
新しいpicは簡単なのでもやたら長くなるからな
574774ワット発電中さん:2011/01/17(月) 00:42:51 ID:aztiPMWU
>>567>>572は、なんでこんなに必死なんだ?
575774ワット発電中さん:2011/01/17(月) 01:50:31 ID:9glbcNzE
>>574
>>567>>572だよ。

>>なんでこんなに必死なんだ?
必死か?
ココ見た全国1億3000万人の人に、
変な日本語を使って欲しくない、ただそれが言いたいだけです。
576774ワット発電中さん:2011/01/17(月) 02:20:37 ID:Kv7QfnJL
マジ同意。変な日本語使うやつうぜえよな。
577774ワット発電中さん:2011/01/17(月) 05:19:07 ID:ptp155Ky
2ちゃんでは変な日本語や誤字を使うのがカッコイイ
といまだに信じてる奴www
578774ワット発電中さん:2011/01/17(月) 07:01:31 ID:bpSKY6gI
言葉は変化する。それを受け入れられない時点で愚か。
変な日本語なんてもんは、変化に対応できなくなった者が使う方便にすぎん。
技術と同じ。基本は大きく変化することは少ないが、応用部分は多様に変化する。
579774ワット発電中さん:2011/01/17(月) 07:21:59 ID:BmZoiPE7
変化は緩やかでないと誰もが追随出来ない点を抜きに語ってもはじまらん

>>577 の文末「www」ですら文字表現としての日本語から外れている
だがここ2ちゃんねるでは草等と表現されるほどポピュラーな存在
万民受けすれば言葉の変容は多様であり、無限に進化し続ける

でも「むじーよ」はないw
むずいよってのは聞いたことあるが死語か?
580774ワット発電中さん:2011/01/17(月) 07:23:47 ID:d8qSKS5i
其の文章の不自然さは自演に拠る後ろめたさから生じる物であらうか
581774ワット発電中さん:2011/01/17(月) 09:28:49 ID:biLyFa2q
>>576は、「マジ」「うぜえ」はどうなのとツッコミを待っているのかな?
582774ワット発電中さん:2011/01/17(月) 10:57:42 ID:9glbcNzE

むずい = むず・・い = むずかいしのか、むずかしくないのか どっちだ?

きもい = きも・・い = きもちいいのか、きもちよくないのか どっちだ?

きしょい = きしょく・・い = きもちいいのか、きもちよくないのか どっちだ?

どちらにも受け取れる変な表現、というか規則性のない省略は 受け入れられないな
583774ワット発電中さん:2011/01/17(月) 11:29:33 ID:MNMg27dZ
>>582
その3つは、省略された語というよりは俗語・方言だね。
そんなものに規則性を求めるのは無駄。

それより…句読点は打たないの?
584774ワット発電中さん:2011/01/17(月) 12:05:25 ID:cQZO5zGN
1,狭い社会で、新しい単語が生まれる
2,その単語を使う事で仲間意識が生まれ、単語を知らない人より優越感を味わう
3,その単語が広まった段階になると、意識しないで使う
4,他人がその単語を使う事に、妙な感覚を覚える
5,その単語を使う事が馬鹿らしく思えてくる
6,その単語を使う人間が馬鹿だと思いはじめ、時に罵倒する
7,死語となる

チョベリバ博士より
585774ワット発電中さん:2011/01/17(月) 12:19:15 ID:BmZoiPE7
どうでもいいがそろそろPICの話しようずw
586774ワット発電中さん:2011/01/17(月) 14:29:21 ID:Lw/cHIKM
ふつうの言葉で会話してこそ、議論の意義も生まれてくる。

 こ の ス レ だ け で も、

   変 な 省 略 語 を 使 う の は や め よ う。

587774ワット発電中さん:2011/01/17(月) 17:48:03 ID:nu9HQbpU
うぜえきめえ
588774ワット発電中さん:2011/01/17(月) 18:12:31 ID:biLyFa2q
思い切り力んで、スレって言ってる時点で相当なあほ。
589774ワット発電中さん:2011/01/17(月) 19:26:29 ID:diuESUvG
力んで言ってるやつも、力んでそれに反応してるやつも、どっちもどっちな気がするが。
590774ワット発電中さん:2011/01/17(月) 21:13:51 ID:aztiPMWU
そろそろおまいらの苦手な女の話しようぜ?www

591natu:2011/01/17(月) 22:10:56 ID:1pVQdiLx
PIC16F千のFSRを使ったRAMのリニアアドレスは、
HITECH-Cがサポートしているのね!アセンブラでないと
ダメかと思た。
592774ワット発電中さん:2011/01/17(月) 22:11:28 ID:BmZoiPE7
今日のナンパさんはイケてない!
「お茶しない?」とか石器時代?寝ぼけてんの?

さ、誰か気の聞いた言葉かけてよ、期待してまってる〜
593774ワット発電中さん:2011/01/17(月) 22:37:45 ID:biLyFa2q
女は難しすぎるだろ…
594774ワット発電中さん:2011/01/17(月) 22:48:14 ID:LiucApNv
赤いバラの花でもさっと取りだし、目の前で消して見せたらいいんかね?
595774ワット発電中さん:2011/01/17(月) 23:24:24 ID:jj+ibTpd
童貞だけどPICはマスターしてる
596774ワット発電中さん:2011/01/18(火) 10:12:14 ID:ppppxymU
PIC18を使ったArduinoモドキを発見!
http://www.myamicus.co.uk/content.php
597774ワット発電中さん:2011/01/18(火) 16:27:11 ID:H6M1uyLF
RA0に入力された値をAD変換をして,その最大値を保持するプログラムを作りたいと考えています.
そこで,RA0に入力された値をAD変換,今まで入力された最大値よりも大きいか比較
大きかった場合AD変換された値を最大値と置き換える,LEDを光らせる
小さかった場合LEDを消灯させるというものを作りました.
しかし,実際動作させたところ,LEDが点滅するのは最大値を更新した時だけのはずなのに,
明らかに入力が最大値を下回ってる場合でも点滅してしまいます.
以下がソースプログラムとなります.おかしな点を指摘していただけるとありがたいです.
使用PICは16F88,使用言語はアセンブラです.
http://www.dotup.org/uploda/www.dotup.org1368415.txt
598774ワット発電中さん:2011/01/18(火) 16:52:01 ID:UZKKBFGW
で、おいくら?
599774ワット発電中さん:2011/01/18(火) 17:16:13 ID:/M7cTwhC
パクリ元のソースは?
600774ワット発電中さん:2011/01/18(火) 17:19:38 ID:TJ5LjivU
>>597
ANSEL
601774ワット発電中さん:2011/01/18(火) 18:01:57 ID:fQ8h5RKi
あと、一発で最大値決めるやり方だと
ノイズとかで、MAXに張り付いたりしない?
602774ワット発電中さん:2011/01/18(火) 18:08:12 ID:H6M1uyLF
>>600
素早い返信ありがとうございます.
早速ANSELレジスタについて調べてみたところ,
AD変換の際アナログ入力として使用する所を1にするという事がわかりました.
そこで,初期設定のBANK1内でANSELの0ビット目に1を入れそれ以外に0を入れました.
その状態でPICに書き込み動作を確認したところ,まだ入力が最大値未満でも点滅をしています.
私の理解に間違いやソースコード中に間違いがあればご私的お願いします.

>>601
ノイズによる問題は考慮していませんでした.
しかし現状では最大値以下でも光る理由が分からないので質問させていただいてます.
603774ワット発電中さん:2011/01/18(火) 18:51:54 ID:dqTNIvBp
デバッグするなら、変換結果を全部ポートへ出した方が簡単だろ。
C は、BUF < CMPRMAX の時に、0 になる。
BUF == CMPRMAX でも C は、1 ですよ。
604774ワット発電中さん:2011/01/18(火) 19:46:37 ID:H6M1uyLF
>>603
アドバイスありがとうございました.
AD変換結果をLEDに出力したところ,予想外の出力結果となり
知人の家に走りオシロスコープを借り,波形を測定したところ
入力信号を増幅しすぎていたため,振りきれているということがわかりました.
ご迷惑おかけしました.
605774ワット発電中さん:2011/01/18(火) 21:36:22 ID:ePo4Yl2E
シリアルからPCに数値を垂れ流すプログラムを作っとくと、
1ピン使うだけでモニターできる
606774ワット発電中さん:2011/01/18(火) 22:11:31 ID:UZKKBFGW
>>558
遅いけどサンクス、CPU替えるわ。
607774ワット発電中さん:2011/01/19(水) 15:16:41 ID:Z0i25+ed
>>596 PIC18を使ったArduinoモドキ

ざっと見たところ
・Arduinoシールドを使用可能(コネクタ配置がコンパチ)
・プロセッサはPIC18F25K20
・プログラム環境は独自のBASICコンパイラ(フリー・ダウンロード)
・回路図公開(基板パターンは未公開?)

本家以外に Microchip DIRECT でも取り扱っているようだ。
http://www.microchipdirect.com/ProductSearch.aspx?keywords=TAES001
608774ワット発電中さん:2011/01/19(水) 15:20:28 ID:2qpk2lhO
PICとマイコンって同じ?
609774ワット発電中さん:2011/01/19(水) 16:53:56 ID:DR3xlZuJ
>>608
マイコン
うぃきぺ:マイクロコントローラ(microcontroller、MCU、μC)は、コンピュータシステムをひとつの集積回路に組み込んだものである。

H8もAVRも78KもPICも全部マイコン。
610774ワット発電中さん:2011/01/19(水) 19:29:33 ID:yjbXb9nG
今日、初めてPICが壊れた。
それもじみ〜に、port B interruptで入力があるとインタラプトが出続けるという。
5pinだけその症状が出てそれ以外の3pinは正常。

捨てるには忍びないがこれから壊れていく前兆かもとおもうと不安。
皆さんならその機能以外で使い続ける?すてる?
611774ワット発電中さん:2011/01/19(水) 22:20:04 ID:ic3gzllg
>>610
どうでもいいおもちゃ(LEDチカチカ)とかに使う
612774ワット発電中さん:2011/01/19(水) 22:25:24 ID:2p8LNVUQ
何度も消して遊ぶ用途には使えないけど、
普通に実用として何かを作るなら、十分に回避できる
613774ワット発電中さん:2011/01/19(水) 22:44:56 ID:2qpk2lhO
複数のLEDをタイミングよく点滅させ、一部のLEDは点灯しっぱなしにさせるなら
やっぱりマイコンで制御した方がいいよな?
614774ワット発電中さん:2011/01/19(水) 23:36:06 ID:2L/6UXQ4
>>610
絶対に捨てる。
下手にとっとくと、壊れてることを忘れた頃に再利用して
動かずに悩むことになるぞ。

そもそも、本当にそれ以外のところが壊れて無い保証も
無いじゃないか。
615774ワット発電中さん:2011/01/20(木) 00:01:58 ID:FvNwaOWs
>>614
禿同
616774ワット発電中さん:2011/01/20(木) 01:05:01 ID:OiKtYFqf
>>610
使える状態でとっておく選択肢に関しては>>614のとおりだけど
観賞用に取っておくのはアリかも。

ICの中身を取り出してみる
http://www.fumi2kick.com/komekame/archives/587
617774ワット発電中さん:2011/01/20(木) 06:32:04 ID:scAkbyDf
>>610
足を全部切り取ってペンダントヘッドにしてた頃があるあたし
618774ワット発電中さん:2011/01/20(木) 06:46:59 ID:scAkbyDf
>>616
焼いちゃうと微妙に汚いね
硝酸か塩酸か漬けとくと綺麗に取り出せると聞いた
619774ワット発電中さん:2011/01/20(木) 10:14:50 ID:vFAp28Mp
>>617
おなじくZ80Aキーホルダーだった俺
620774ワット発電中さん:2011/01/20(木) 10:33:21 ID:+OFY5+xw
キーホルダーにするなら、クリスタルレジンに埋めてしまうのが楽かと
ttp://www.nissin-resin.co.jp/crystalresin%202.htm
621774ワット発電中さん:2011/01/20(木) 10:49:09 ID:oD6g2rk5
>>618
パッケージを丸まる溶かすのは大変みたいです。
ダイの一歩手前までドリルで削って薬品を垂らすみたいですが結構な手間ですね。
622774ワット発電中さん:2011/01/20(木) 11:15:45 ID:7JGBNf8l
PIC18F65J50(VDD=3.3V)なんだけど、
5個中1個が出力が中途半端(テスターで1.8Vぐらい)でLEDが点滅しない。
書き込みは正常にできてるみたい。
自分でハンダしたから、静電気かなんかで壊れたんかな?
623774ワット発電中さん:2011/01/20(木) 12:10:23 ID:AnY+liV6
鉄板で加熱して 発煙硝酸をポトリポロリ
624774ワット発電中さん:2011/01/20(木) 12:25:00 ID:oqO+kwbW
窓付きUV-EPROMはアクセサリにしてもいいんじゃないかな
前に共立で窓付きPICの安売りしてたなぁ…
625774ワット発電中さん:2011/01/20(木) 13:14:23 ID:xtkwsc6Y
>>575
>>567>>572だよ。

横だが、
>>567>>572のレスが必死だと言ってるだけで、
別に誰も>>567>>572が同じ奴だなんて言ってないだろ。
冷静に現状を把握出来ないほど必死になってるんじゃないか?
626774ワット発電中さん:2011/01/20(木) 15:17:11 ID:yVi6Ce2/
>>625
そんなくだらない事で必死にレスするなんてww
627774ワット発電中さん:2011/01/20(木) 18:59:14 ID:gX/21f/T
> 窓付きUV-EPROMはアクセサリにしてもいいんじゃないかな
石英ガラスに金線だから、金はかかってるね。
628774ワット発電中さん:2011/01/20(木) 19:20:04 ID:j+oNv3Aj
仕事でやってるわ、、、

レイアウト屋がお遊びで変なマークを回路で作ったりしてるのもある。
それにしてもSMDとか勘弁して欲しい。それのボンディングのど真ん中を要求される。
629774ワット発電中さん:2011/01/20(木) 23:27:07 ID:dlOXeDMT
電話会社の発注だからレイアウトパターンが電話の絵になってたりな
630774ワット発電中さん:2011/01/21(金) 23:29:56 ID:Dt9redXP
そのレジンに動作可能なCPUやLEDやら閉じこんでも
動作するのかな?
631774ワット発電中さん:2011/01/21(金) 23:42:01 ID:YHyTWdRK
>>630
硬化に加熱が必要だとか、伝導性が高いとかは無さそうだから
いけるんじゃなかろうか。

LEDを封入するのとかはキレイかも。
太陽電池とかの電源まで封入できれば、なお面白いかも。
632NOKTO:2011/01/23(日) 01:14:19 ID:En34cyYm
MPLABはversionが上がるにつれて使いづらくなる。特にver8から起動ものろいし、ソースは消える市でムチャクチャだ。
633774ワット発電中さん:2011/01/23(日) 02:37:28 ID:i0+qQMoj
PICのレジスタが壊れる事ってあるの?
突然特定のポートが使えなくなった
634774ワット発電中さん:2011/01/23(日) 06:47:25 ID:oESu5KN6
「絶対壊れないの?」と問われたらなんと答えるのだ?
635774ワット発電中さん:2011/01/23(日) 09:11:59 ID:I5Zb3cx/
お前はすでに死んでいる?
636774ワット発電中さん:2011/01/23(日) 11:04:29 ID:yhVUOk36
>>633
USBとか絶縁されていない電源で使ってるとポートは漏れ電流でよく死ぬぞ
637774ワット発電中さん:2011/01/23(日) 12:05:46 ID:hHaWcY6a
どう漏れるのかkwsk
638774ワット発電中さん:2011/01/23(日) 12:18:51 ID:HCzy4Zm/
>>636

>>633の内容でUSBと分かるなんて・・・
639774ワット発電中さん:2011/01/23(日) 12:19:49 ID:yhVUOk36
USBのグランドと人体(アース)にテスターあてれば分かる、
特に古いCRTのモニターから回り込んで来る電圧は酷い。
640774ワット発電中さん:2011/01/23(日) 12:34:46 ID:i0+qQMoj
>>636
たしかにUSBポートから電源取ってました
漏れ電流・・・なるほどそういう所ですか
641774ワット発電中さん:2011/01/23(日) 13:02:28 ID:rWlCZFDJ
トランスレス系列は気をつけるべし
642774ワット発電中さん:2011/01/23(日) 13:36:11 ID:tSALLeZd
ラッチアップじゃないの?
643774ワット発電中さん:2011/01/23(日) 13:51:31 ID:yhVUOk36
ラッチアップは現象であって原因ではない
644774ワット発電中さん:2011/01/23(日) 14:37:23 ID:ugv9GI17
USBのホストモードの動かし方が知りたくてやっています。

CLKDIVbits.PLLEN=1; //96MHzPLL有効化ビットをセットする
USB_Wait(1); //クロックが安定するまで待つ
memset(&BDT,'\0',sizeof(BDT)); //BDTは4bytex4個
U1BDTP1=(unsignedint)(&BDT)>>8;
U1CONbits.HOSTEN=1; //ホストモードの有効化
U1CNFG1=0x0012; //全てのエンドポイントでEVEN/ODDピンポンバッファを有効。
U1OTGCON|=0b00110000; //DPPULDNWおよびDMPULDWNビットをセット。D+およびD-ラインのプルダウン抵抗を有効にする
U1OTGCON&=0b00111111; //DPPULUPおよびDMPULUPビットをクリア。D+およびD-ラインのプルアップ抵抗を無効にする
U1SOF=0x004A; //SOFのカウンタの設定。
U1CONbits.SOFEN=0; //SOFフレームの生成をいったん停止。
U1PWRCbits.USBPWR=1; //USBOTGモジュールを有効にする
IFS5bits.USB1IF=1; //割り込みを開始する
IPC21bits.USB1IP=6; //割り込みを開始する
IEC5bits.USB1IE=1; //割り込みを開始する
U1IEbits.ATTACHIE=1; //デバイス接続割り込みを許可する。
while(1){
;
}

void __attribute__((__interrupt__, no_auto_psv)) _USB1Interrupt( void )
{
 printf("U1IE(0x%x) U1IR(0x%x) U1OTGIE(0x%x) U1OTGIR[0x%x)",U1IE,U1IR,U1OTGIE,U1OTGIR);

 if(U1IEbits.ATTACHIE && U1IRbits.ATTACHIF){ //USBターゲットを挿した
    U1IRbits.ATTACHIF = 1; // USB-ATTACH割り込みを了解した
    U1IEbits.ATTACHIE = 0; // USB-ATTACH割り込みをしないようにする
    U1IEbits.DETACHIE = 1; // USBターゲットが抜かれたときに割り込みが発生するようにする
 }
 if(U1OTGIRbits.T1MSECIF){ // 1 ms タイマ ビット
    U1OTGIRbits.T1MSECIF = 1;
    U1OTGIEbits.T1MSECIE = 0;
 }
}

これを実行すると
1回目の割り込みで、以下のように「ATTACHIF」と[T1MSECIF]が検出されます。
INT U1IE(0x40) U1IR(0x0) U1OTGIE(0x0) U1OTGIR[0x40)

1回目の割り込みでATTACHIFに1をセットして割り込みを解除します。
その後、すぐに2回目の割り込みが発生して
2回目の割り込みで、以下のように[T1MSECIF]が検出されます。
INT U1IE(0x1) U1IR(0x60) U1OTGIE(0x0) U1OTGIR[0x40)[T1MSECIF]
その後T1MSECIFに1をセットしても、何度も割り込みが発生して、
INT U1IE(0x1) U1IR(0x60) U1OTGIE(0x0) U1OTGIR[0x40)[T1MSECIF]
になって、この割り込みが終わりません。
なにが悪いかわかるかた教えてください。

PIC24FJ64GB002です。
645774ワット発電中さん:2011/01/23(日) 17:47:00 ID:cD7g+gV/
>>644
PIC初心者さんですか?
IFは割込み発生でセットされるビットフラグなんですけれどねーw
1をセットしたら、強制的に割込みが発生するはずですよ
背伸びしてUSBから始めないほうがいいよ
それでもUSBホストやりたいというなら、
マイクロチップのUSBサンプルから始めなさい
PIC24FJ64GB002でも動きますしUSBホストのサンプルもあります
646774ワット発電中さん:2011/01/23(日) 19:34:52 ID:nrLKoogE
>>645
一応、サンプルを動かしたあとにMicrochipのマニュアルのUSBのページを見ながら
作ったんです。
一部は、サンプルプログラム内でレジスタにセットする部分をパクってこんな感じに・・・。]

IFに割り込みしたという1がセットされて割り込み関数がコールされる。
割り込みをクリアにするには、再度IFに1をセットすると0にクリアされるって書いてあったんだけど、読み間違い?
だからこの部分も、IFの条件が1が両方立ってないと成立しないわけで、そのあとにIFに1をセットすることで0クリアされて
割り込みを了解したよーんという風に教えてあげる、みたいに説明文は読めたんだけど間違ってる?
if(U1IEbits.ATTACHIE && U1IRbits.ATTACHIF){ //USBターゲットを挿した
    U1IRbits.ATTACHIF = 1; // USB-ATTACH割り込みを了解した
以下略
647774ワット発電中さん:2011/01/23(日) 21:01:09 ID:cD7g+gV/
>>644
俺様のUSBホストプログラムには、ATTACHIF = 1なんて記述は何処にもない
いつのサンプル使っているかしれないけれど、
何処のUSBライブラリファイルのそんな記述があるの?

648774ワット発電中さん:2011/01/23(日) 21:07:57 ID:cD7g+gV/
>>644
あぁ、多分ボーリングとインタラプトのサンプルを混合していると思われるな
っていうか、お前そこまで分かってるなら自分で調べろな
649774ワット発電中さん:2011/01/23(日) 21:12:16 ID:BsPvTMnq
ボーリング?w
650774ワット発電中さん:2011/01/23(日) 21:13:30 ID:rWlCZFDJ
pollingが言いたかったんだろ?
651774ワット発電中さん:2011/01/23(日) 21:17:10 ID:cD7g+gV/
お!、ずっとボーリングだと思ってたw
ポーリングなんだねw恥ずかしい
652774ワット発電中さん:2011/01/23(日) 21:47:11 ID:nrLKoogE
>>647
U1IR = USB_INTERRUPTなんちゃらってなってるのを、U1IRbitsで書いたの。
USB_INTERRUPTなんちゃらは、#define で 0x40とか書いてたから、U1IRbits.ATTACHIF=1でクリアと解釈した。
0x40ならほかにもビットが立ってたら消えるんだろうけど・・・。
ポーリングとインタラプトってのは・・・すんません勉強してません。

携帯電話とUSBでつないで操作したいんす。だから、どのサンプルみていいのかw とりあえず、いろいろと見て回って、あれこれといじってまわってます・・・。
653774ワット発電中さん:2011/01/24(月) 00:22:10 ID:3OBJTkmB
USBホストの事例はネットでサンプルがちっとも見つからないんだよな
USBメモリにログを残す、みたいな機能は便利だろうに
654774ワット発電中さん:2011/01/24(月) 06:55:26 ID:1iw/lq4I
MicrochipのPDFマニュアルでもUSBホストの設定の流れは書いてあるけど
実際、そのとおり書いても動かない。

サンプルプログラムを使って、動作確認をしました。ってページはいっぱいあるんだけど
一つ一つレジスタを設定して動作をやってみようってページはない。
唯一あるのが、USBでのBluetoothドングルを使った通信。でも、あれはプロを感じる・・・。ちょっと素人には・・・。

USBホストって、使い方がわかれば、相当面白いツールになると思うんだけど・・・・。
まぁターゲットのプロトコル調べたりとかで結局ハードルは高いままなんだけど・・・。
655774ワット発電中さん:2011/01/24(月) 11:01:29 ID:KCk2RmyC
USBプロトコルアナライザーのログを見て参考にするといい
作るにしてもアナライザーがないと実装は難しいと思う
656644:2011/01/24(月) 20:24:59 ID:1iw/lq4I
わかりました・・・・
IFS5bits.USB1IF
これをInterrupt関数内で0クリアしてなかったせいでした・・・・。orz
657774ワット発電中さん:2011/01/24(月) 21:39:27 ID:WImoWHOV
>>656
インタラプトフラグ(IntteruptFlag=IF)のクリア漏れか
解決で何よりだ、がんばれ
658774ワット発電中さん:2011/01/24(月) 23:04:02 ID:Nx6qLASu

教えてください。

AD内蔵の8ピンのPICで、電源電圧低下したらLEDを点滅させる回路が作りたいです。
そこで質問ですが、
ADコンバータのVrefを内蔵したものはありますか?
つまり、電源電圧が変化しても(低下しても)
ADの変換値が「あんまり」変わらないようにしたいのです。
BrownOutでは、2Vの固定値になってしまうので、ADで電源の電圧低下を知りたいのです。
今は12F683を使おうと思っています。
よろしくお願いします。
659774ワット発電中さん:2011/01/24(月) 23:07:25 ID:Nx6qLASu
すみません。日本語変でした。

>ADコンバータのVrefを内蔵したものはありますか?
  → PIC内部に、ADのVrefとしてのバンドギャップRefを持った品種はありますか?

です。すみません。
660774ワット発電中さん:2011/01/24(月) 23:18:32 ID:3OBJTkmB
ユーザがクリアするフラグと勝手にクリアされるフラグが混ざってるよな
661774ワット発電中さん:2011/01/24(月) 23:42:15 ID:RFca7FFd
>>658
電源電圧は一定にするのが定石
で、定石以外の事をするならば、自分で考えましょう
楽する事で自分の欲望を満たしたいならば、せめて頭を使いましょう
頭あるでしょ?ないの?馬鹿?アホ?
宿題デチュカ?あ?
662774ワット発電中さん:2011/01/24(月) 23:44:45 ID:jzdxtlnE
透明のLCD又は透明の液晶が購入出来るサイトってご存知ありませんか?
663774ワット発電中さん:2011/01/24(月) 23:54:03 ID:3OBJTkmB
16F193xのLCD機能って何に使うの
664774ワット発電中さん:2011/01/25(火) 01:06:58 ID:/knmt7Yd
>>658-659
8ピンだとあるのかな?
ピン数少ないのでっていうとなんだろ?
16F1827が入ってそうだけど
ゲインアンプはないみたい

ざっくりでいいというのでいいんだろうけど
厳密には自分自身で供給電圧を知るってあんま意味ない
8ピンPICに可変リセットICとかから信号送ったほうがいいんじゃない?
(それでリセットをかける訳じゃない)
665774ワット発電中さん:2011/01/25(火) 01:35:51 ID:cHdjpw7o
>>661
はぁ? 電池で駆動する時も、いちいち安定化させて使うの?
電池=PIC電源電圧なんて、ごく普通だよ。

>>664
ありがとうございます。

>自分自身で供給電圧を知るってあんま意味ない
それはなぜでしょうか?
バンドギャップで2.048V程度の電圧を作って、PICのVref端子に入れれば、
PIC自身の電源電圧変動に関係なく10bitのAD値が得られますよ。
それを元に、何かを制御するとかできると思うんですが、どうでしょうか。
666774ワット発電中さん:2011/01/25(火) 02:32:02 ID:/knmt7Yd
>>665
もちろん得られますし、制御も出来ます。

ただ「動作定格内」でなければ「動作保証」はないですよね
そういう意味でちょっと冗長な表現をしてしまいました

BrownOutという言葉があったので「監視ブロック」は
独立にしたほうが…という意図でした

混乱させてしまってすみませんでした
667774ワット発電中さん:2011/01/25(火) 02:45:57 ID:DxrlNeq9
>>658 >>665
LEDのVFそのものをリファレンスにするというのはどうだろう。

以下、思いつく限りでもいろいろ問題はあるけど・・・
・I/Oの節約が主目的なら駄目かもとか。
・A/Dするときはパルス的に点灯させなきゃいけないとか。
・パラメータは実測から決めないといけないかもとか。
・経年変化とか。
668774ワット発電中さん:2011/01/25(火) 02:47:33 ID:cHdjpw7o
>>666
ありがとうございました。
PIC内蔵のBrownOutの検出電圧は、品種によって決まっています、
というか、内部の基準電圧によって決まってしまい、変更できませんよね。

しかし、ADを使えば、自分の希望する電圧でアラートを出すことができます。
たとえばPIC12F675では、ADを使用したときの動作電圧minは2.2Vなので、
LM385などを外付けして、1.25Vを作りPICのAD-Vrefに入力して、
電源電圧を抵抗で割って2.3V→1.25VにするようにAD入力してやれば、
自身の電源電圧を、安全に監視できます。
12F683だと、内蔵clockが31kHzもできますので、自己消費も減らせて、
電池2本の場合でも、問題なく使用できます。
PIC内部に1.25Vなどの基準源が入っていれば、部品点数が少なくて
調子がいいなぁ、と思いました。
669774ワット発電中さん:2011/01/25(火) 02:47:57 ID:DxrlNeq9
電源電圧をリファレンスにLEDのVFを測定の方がいいか・・・
670667:2011/01/25(火) 03:25:53 ID:DxrlNeq9
もう寝てしまったかもしれませんが・・・
http://loda.jp/mcnc/?id=107.png
671774ワット発電中さん:2011/01/25(火) 06:42:12 ID:gerlSqxW
>>663
ドライバICなしの単体LCDを駆動するため。
672774ワット発電中さん:2011/01/25(火) 07:11:24 ID:5tOgFmV5
ソフトめんどいかもだが
コンデンサの蓄電時間を目安にする方法があったような?
かなり古い回路図で見たよ
673774ワット発電中さん:2011/01/25(火) 09:15:36 ID:QD/J+SZB
俺は電源電圧をリファレンスにして、ダイオードのVFを測定して判定ってよくやるよ。
線形じゃないし、温特もあるから精度は出ないけど、電池残量の目安には十分。
674774ワット発電中さん:2011/01/25(火) 11:54:33 ID:cHdjpw7o
>>673
なぜ
Vrefピン==測定電圧  A/D入力ピン==一定電圧(LEDのVf)
なのでしょうか?

Vrefピン==一定電圧(LEDのVf)  A/D入力ピン==測定電圧
のような気がしますが。


675774ワット発電中さん:2011/01/25(火) 12:24:41 ID:xgQnDYa7
横から失礼
>>674
PIC12F675のVrefは最低2.0V、10ビットの精度を確保するには最低2.5V
まして、VrefがAD変換の最高値になるのでそれより高い電圧は変換できない
676774ワット発電中さん:2011/01/25(火) 13:28:34 ID:cHdjpw7o
>>675
なるほど、納得しました。
ありがとうございました。
677774ワット発電中さん:2011/01/25(火) 22:59:40 ID:m3BvCIR6
俺ならバック/ブーストコンバータ咬ませてVdd=Vref=5Vとかに安定化するかな。
678774ワット発電中さん:2011/01/25(火) 23:03:08 ID:Rn76VWsH
久しぶりにソースを書こうとしたら、やりたい事が今までと違ってて記述方法わかんねカナシス
ネットめぐりの時間のほうが長いよ。

gets(UART_data);
UART_data = gets();

上だとインターナルエラー、下だとA numeric expression must appear here…
変数はchar UART_data[40];とちゃんと事前に用意しているのに何でできないんだぁぁぁぁぁ

その前の行の
if(kbhit()){
が悪いんだろうか…?

誰かヒントください…。
679774ワット発電中さん:2011/01/25(火) 23:13:28 ID:pGQMON5G
>>671
そんなLCDって一般的なものなの?
680774ワット発電中さん:2011/01/26(水) 00:33:35 ID:/HXSQol2
>>678
上が近い。下は激しく間違えている。
681774ワット発電中さん:2011/01/26(水) 03:32:22 ID:JU2/89hA
>>677
電池駆動で、DCDCコンバータはキツイでしょう。
682774ワット発電中さん:2011/01/26(水) 05:37:48 ID:ziHqIEYu
>>678
UARTが予約語になってたりして
683774ワット発電中さん:2011/01/26(水) 06:06:08 ID:0BQIFWhv
>>681
そうでもない
684774ワット発電中さん:2011/01/26(水) 06:36:45 ID:UDY+KfLI
電子工作って難しいな…
何言ってるかさっぱりわからん。

picで車のブースト計の動きとLEDの輝度を連動させたいのですが簡単ですか?
電気式ブースト計がどんな信号で制御されてるか教えて下さい。
685774ワット発電中さん:2011/01/26(水) 06:42:03 ID:TQ90bSNV
>>678
凄いな、最近はCの関数がウィキにも載ってるのか!先生ちょっと感動だwww

http://ja.wikipedia.org/wiki/Gets

形式の項をよく読むこと!10回音読ね!www
戻り値は何を表しパラメータに何を引き渡すか?
この辺がちゃんとわかっていれば難しくないからガンガレ!
686774ワット発電中さん:2011/01/26(水) 06:45:27 ID:TQ90bSNV
>>684
簡単か?
う〜ん、まずはggrksを覚えてみようか!
該当ページの説明が簡単と思ったなら答えは「簡単」、難しいと思ったら「難しい」だよ、きっと。
後は実際に同じ事をやってみてできるかどうかだけどそれはしらん、君を知っている訳じゃないし

>>685
事故レス
うひ
http…hつけちまったい、すまぬ。
687774ワット発電中さん:2011/01/26(水) 06:50:05 ID:C9Ofo+J8
>>679
量産製品に組み込まれるカスタムLCD向けと思えばOK
LCDドライバICのコストが減らせる。
688774ワット発電中さん:2011/01/26(水) 09:21:21 ID:RrS7N9uX
16F688で4系統のバッテリ電圧を監視する小道具を作っているのですが、
2系統接続では正常にAD変換できており想定通りの動作をしてくれるのですが、
3系統以上接続するとAD変換で全くでたらめな値しか取得できなくて嵌ってますorz

AN1,AN3,AN4,AN5に分圧したバッテリ電圧を入力しているのですが、2系統時は
AN1,AN3
AN1,AN4
AN1,AN5
の全ての組み合わせで想定した値が取得できます。(値はEEPROMに書込みしてライタで吸出して確認してます)

3系統以上接続している時も各ピンには想定通りの電圧がかかっているのですが、AN1〜AN7に3つ以上同時に電圧を
かけてはいけないものなのでしょうか?
689774ワット発電中さん:2011/01/26(水) 09:25:15 ID:qdbdb2VB
フハッ
690774ワット発電中さん:2011/01/26(水) 12:51:45 ID:1k1n6H7b
>>688
入力切り替えてから、キャパシタの充電時間のウェイト入れてる?
691774ワット発電中さん:2011/01/26(水) 14:59:12 ID:IczbjLjm
>>688
・3系統入れると、すべてのポートの結果全滅なの?
・オペアンプは使ってる?(種類によるけど直に入れるとマイコン自体が大暴れする事がある)
・4系統ってATX?(負電圧入れてるとか)
692774ワット発電中さん:2011/01/26(水) 16:25:51 ID:qnkyOeXR
MPLAB IDE v8.53 (コンパイラCCS C compiler PCM)を用いてPICプログラミングをしています。
programmer にはPICKIT3を使用しています。

PIC16F1827に対して以下のコード@をプログラムしたところ、
1つもLEDが点灯しません…。
書き込みはverifyを用いて確認しています。
PICの故障も考えて素子を変えてみましたが駄目でした。

試しにPIC16F648Aに対し以下のコードAをプログラム
したところRA1とRA0のLEDが交互に点灯する
正常な動作を確認しました。(冒頭のinclude、fuses以外@と同じ)

コンフィギュレーションで何か間違っているのでしょうか。
よろしくお願いします。

コード@
#include<16F1827.h>
#fuses INTRC_IO,NOWDT,PUT,NOMCLR,BROWNOUT,BORV25,NOLVP,CPD,NOPROTECT,NOIESO,NOFCMEN,NODEBUG,NOCLKOUT,NOWRT,NOVCAP,PLL_SW,NOSTVREN
#use delay(CLOCK=4000000)

void main()
{
set_tris_a(00111111); //0,1LED
set_tris_b(11111111);

while(TRUE)
{
output_high(PIN_A0);
output_low(PIN_A1);
delay_ms(3000);

output_low(PIN_A0);
output_high(PIN_A1);
delay_ms(3000);
}
}

コードA
#include<16F648A.h>
#fuses INTRC_IO,NOWDT,PUT,NOMCLR,BROWNOUT,NOLVP,CPD,NOPROTECT

#use delay(CLOCK=4000000)

void main()
{
同上
}
693774ワット発電中さん:2011/01/26(水) 16:35:01 ID:/HXSQol2
>>692
二進とか十進とか指定してあげなよ
694774ワット発電中さん:2011/01/26(水) 18:03:21 ID:OvKtEMIG
>>692
16F1827で動作しないのは納得できるけど、同じコードで16F648Aで動作するのが不思議。
コンパイラのバグ???

ヒント:↑
695774ワット発電中さん:2011/01/26(水) 18:16:55 ID:W8R/yNsT
>>694
8進の「0111111」と10進の「11111111」って解釈をコンパイラがしたんだろ?

 8進「00111111」 → 0x9249
10進「11111111」 → 0x8AC7 (0xA9 8AC7 だがいいよな?)

期待通りの動きになるのか?はしらん<でもキャストしないとワーニング位はきそうだよな
696774ワット発電中さん:2011/01/26(水) 18:23:15 ID:OvKtEMIG
>8進「00111111」 → 0x9249
と解釈されるとRA1のLEDは点灯すると思う

10進「00111111」 → 0x1B027 じゃないか
697774ワット発電中さん:2011/01/26(水) 18:36:17 ID:RrS7N9uX
レスありがとうございます。

>>690
VCC=5V、FOSC=4MHz、ADC Clock Source=FOSC/2で動作させているので20usecほどいれています。
データシート上では500 nsあればよいようなので条件はみたしていると思います。
一応、1msecぐらいに充電時間を延ばしてみましたが(2系統時、3系当時ともに)結果はかわりませんでした。

>>691

>・3系統入れると、すべてのポートの結果全滅なの?
はい、全滅します。
しかも3系統しか入れてない場合、未入力のポートでも0X3FFが読めてしまっていますorz

>・オペアンプは使ってる?(種類によるけど直に入れるとマイコン自体が大暴れする事がある)
いえ、使っていません。
監視する電圧は18V〜10V程度なので3Kと1Kの抵抗で1/4分圧したものをANxピンに入力しています。

>・4系統ってATX?(負電圧入れてるとか)
監視対象は12セルのニッケル水素バッテリー(を4セット)です。
12 * 0.9 =10.8Vを下回ったら残量のあるバッテリーにきりかえるだけの小道具なのですが。。


原因にあたりがつけられればなんとかなりそうな気がしているのですが、もうちょっと頑張ってみます。。
抵抗で1/4分圧がダメなのかなぁ。。。
698774ワット発電中さん:2011/01/26(水) 18:54:11 ID:W8R/yNsT
>>696
ありゃ、このコンパイラって頭0はオクタルじゃないんだっけ?
実装知らないから嘘だったらごめんね
699774ワット発電中さん:2011/01/26(水) 19:22:14 ID:bB3hQe43
オーじゃなくてゼロ・・・
700774ワット発電中さん:2011/01/26(水) 19:24:07 ID:HTk+ibMV
未使用端子を入力に設定してるみたいだけど、ピンの処理をちゃんとしてるのかな?
701774ワット発電中さん:2011/01/26(水) 19:35:02 ID:W8R/yNsT
>>699
オーノ…やめておこうw
つか要するに2進にしようって話だよね

>>700
普通未使用は出力にするもんな
702774ワット発電中さん:2011/01/26(水) 21:46:48 ID:1k1n6H7b
>>697
3系統以上入れると…の定義がわからんのだけど。
・3ピン以上接続すると
・ANSELを3つ以上1にすると
・ADCON0:CHSを3種類以上切り替えると
703774ワット発電中さん:2011/01/26(水) 23:14:28 ID:C9Ofo+J8
>>700
スレの荒れる話題フラグ立てるな
704774ワット発電中さん:2011/01/26(水) 23:41:09 ID:6W0Czz2w
全部のピンを内部をプルアップできるくらい普通
705774ワット発電中さん:2011/01/27(木) 02:00:02 ID:7o1iRUFC
>>1
>
>  /Microchip ./|
>  /( ゚∀゚)    /  | アセンブラのアの字もわからない
>  |~ ̄ ̄ ̄ ̄ ̄|  /. 超初心者からHEXが読めてしまう
>  |/Z./Z./Z./Z_|/ ||  鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
>   ||. ||. ||. ||

ってあるが初心者に優しくないスレ住人。
706697:2011/01/27(木) 05:34:49 ID:0nA0lwDb
>>702
>3系統以上入れると…の定義がわからんのだけど。
>・3ピン以上接続すると
>・ANSELを3つ以上1にすると
>・ADCON0:CHSを3種類以上切り替えると

3系統以上入力の定義は「3ピン以上接続すると」になります。
ANSELはPIC起動時に1度だけ設定しています。
3ピン以上接続している状態では1回目のAD変換から取得される値が
でたらめになってしまいます。

原因がさっぱりわからないのですが、もう少し自分で調べてみたいと思います。
ありがとうございました。
707774ワット発電中さん:2011/01/27(木) 12:04:04 ID:AoXHCpuN
>>706
つまり、プログラムは変えずに、
3ピン以上接続と2ピン接続で動きが違うと。
なんだろうね。ちょっと想像できんな。

2ピン接続時の空きピン処理はどうしてる?
そして、そのピンをA/Dするとどうなる?
708774ワット発電中さん:2011/01/27(木) 12:58:30 ID:RJVM4d5p
>>706
わからんけど、ANSELとADCON0、ADCON1を毎回設定するようにして試してみて
PIC18F65J50だけど、こうやったらまともに動いた。
709774ワット発電中さん:2011/01/27(木) 13:45:22 ID:QLI7tAzJ
>3系統以上入力の定義は「3ピン以上接続すると」になります。
実際の電圧の印加状態はどうなのでしょうか?
AN1入力:0V AN2入力:0V AN3入力:0V なのか
AN1入力:2V AN2入力:0V AN3入力:1V なのか
AN1入力:2V AN2入力:2V AN3入力:2V なのか
AN1入力:0V AN2入力:0V AN3入力:開放 なのか


710774ワット発電中さん:2011/01/27(木) 17:25:34 ID:IOFz4OU9
>>706
691です。投げっぱなしでごめんなさい

>>707
そうなのですよね。内部的にはマルチプレクサでいくつ入れようと
他はまず影響受けないはずで、3つ繋ぐと全滅ってなんでしょう…

ちょっと気になったのがバッテリー側です(回り込んでPICが誤動作してる気がします)

一度乾電池でテストしてみてはどうでしょう?
目的から独立していないと意味がないので、4個用意して…
適当な抵抗かまして、なんでもいいので値が出れば「PICはOK」ってことですね

テスト済みでしたらすみません
711697,706:2011/01/28(金) 02:16:03 ID:YQMqTyVL
>>707
>つまり、プログラムは変えずに、
>3ピン以上接続と2ピン接続で動きが違うと。
はい、仰るとおりです。

>2ピン接続時の空きピン処理はどうしてる?
>そして、そのピンをA/Dするとどうなる?
1/4分圧回路も4系統分あり、各ANxピンに接続されていますので
2系統接続時の空きピンのAD変換値は(分圧用抵抗を介して接地されていますので)正常にゼロで読めてます。
(逆に3系統のときの空きピンはなぜか絶対にゼロにはなりません)

>>708
はい、試してみたいと思います。

>>709
デジタルテスターで計った限りではANxピンには想定通りバッテリー電圧の
1/4の電圧が実際にかかっていました。バッテリー未接続のピンの電圧はゼロでした。

>>710
はい、デバッグプリント文みたくEEPROMに値を書き込んでトレースを試みたのですが
(2系統時のものと比較して)3系統以上入力時は正常に動作しているようには見えませんでした。
まだやっていなかったので試してみたいと思います。


ありがとうございました。
712774ワット発電中さん:2011/01/28(金) 02:23:54 ID:oiiG+FLu
>>711
直接関係ないですが、EEPROM経由でしかデータの評価ができないのでしょうか?
fprintf( SCI0, "1:%u 2:%u 3:%u\r\n", BAT1,BAT2,BAT3); とかでターミナルに出すと
早く結果が出せると思います。
713774ワット発電中さん:2011/01/28(金) 08:14:47 ID:Axk6zj33
MPLABを使っています。

>MPLINK 4.38, Linker
Copyright (c) 1998-2010 Microchip Technology Inc.
Error - Device not specified. Use /p option to specify a device.
Errors : 1

のエラーが出ています。
考えられる事は全てしました。
何が考えられるでしょうか?
714774ワット発電中さん:2011/01/28(金) 08:17:33 ID:9/eUSNzX
その 考えられる事を 書けよ。
715774ワット発電中さん:2011/01/28(金) 10:34:37 ID:FuoAJ4B6
初めて、マイコンを使ったPICを始めようかと
思ってるのですが、オススメの解説本とかがあれば教えてほしいのですが。
716774ワット発電中さん:2011/01/28(金) 10:40:14 ID:TmAqrRjV
>>713
ズバリ原因が書いてあるのに「何が考えられるでしょうか?」とかおかしいでしょ。
メッセージに従って、ちゃんと指定されたものを使ってくださいな。
717774ワット発電中さん:2011/01/28(金) 10:42:48 ID:TmAqrRjV
>>715
PICで何をしたいのかによって、参考になる本が違ってきます。
まず、何がしたくてPICを使おうと思ってるのかを書いた方がいいですよ。
718774ワット発電中さん:2011/01/28(金) 10:51:53 ID:FuoAJ4B6
>>717
ニコニコ動画とかを見てると作ってみたいなと思ったので
とりあえず、LEDをイルミネーションみたいに点灯、点滅できるようになりたいです
719774ワット発電中さん:2011/01/28(金) 11:15:00 ID:YQMqTyVL
>>712
確かにそのやり方だとすごく効率が良さそうです。
ただ今回はUSARTピンを別の用途に使ってしまっていましたので次回から
試してみたいと思います。有用な情報をありがとうございました。
720774ワット発電中さん:2011/01/28(金) 11:26:32 ID:WUeIXZ6O
>>718
アセンブラでやるか、コンパイラでやるかにもよる。
コンパイラだとCCS-Cを使ってる解説書が多いけど、CCS-Cは有料。
フリーのコンパイラもあるけど、解説書は少ない。
どのコンパイラにも英語のマニュアルがあるから、データシートが読めるぐらいの英語力があればマニュアルだけでもなんとかなる。

721774ワット発電中さん:2011/01/28(金) 11:29:06 ID:FuoAJ4B6
c言語でやろうかと思ってるんですけど?
722774ワット発電中さん:2011/01/28(金) 11:33:09 ID:75o+e2Yb
>>719
そうですか、UARTは使われていますか。
別の空きピンが2本あれば、ソフトウェアUARTが出来ると思いますが、それもままならない?

僕だったら、今回のデバッグはこのようにします。
1)スイッチ入力用に入力ポートを3本くらい確保して
2)RS232C用に出力ポートを2本確保して、
3)MAX232のようなRS232Cレベル変換ICを用意して、

a) 3)の入出力を2)に接続。プルアップも忘れずに。
b) RS232のプログラムを作り、10bit(unsigned int)の値が、テラタームに文字として出せるのを確認する。
c) スイッチ切替3bit→ANSELに反映
d) テラタームの画面に出る数字を見ながら、心ゆくまでスイッチでANSELを切替たり、
  電圧を変化させたりしてみる。

>>719が僕の隣の席にいたら「ちょっと貸してみ」と言って やってあげられるのに、残念。
723774ワット発電中さん:2011/01/28(金) 11:59:09 ID:Axk6zj33
>>716
それは間違えている!
あれからやって、コンパイル通ったけど
原因は、旧のコンパイラの.lkrを必要としたから・・・
なんだけど当の本人は「間違えていない筈」と思っていた。

ヲマイ等本当に技術持っているの?
724723:2011/01/28(金) 12:01:22 ID:Axk6zj33
あっ
悪い・・・頭冷やして来る・・・
725774ワット発電中さん:2011/01/28(金) 15:15:45 ID:FuoAJ4B6
>>720
c言語でやろうかと思ってるんですけど?
726774ワット発電中さん:2011/01/28(金) 15:32:57 ID:75o+e2Yb
>>725
C言語 + PIC16F88が定番です。LEDの点滅なら、とても簡単。こんな感じ。

#define LED b_port
#define t   500

while(1){
  LED = 0b00000000;  delay_ms(t);   // 全部off
  LED = 0b00000001;  delay_ms(t);   // 左←右
  LED = 0b00000010;  delay_ms(t);   //
  LED = 0b00000100;  delay_ms(t);   //
  LED = 0b00001000;  delay_ms(t);   //
  LED = 0b00010000;  delay_ms(t);   //
  LED = 0b00100000;  delay_ms(t);   //
  LED = 0b01000000;  delay_ms(t);   //
  LED = 0b10000000;  delay_ms(t);   // 左に到達
  LED = 0b10000000;  delay_ms(t);   // 左→右
  LED = 0b01000000;  delay_ms(t);   //
  LED = 0b00100000;  delay_ms(t);   //
  LED = 0b00010000;  delay_ms(t);   //
  LED = 0b00001000;  delay_ms(t);   //
  LED = 0b00000100;  delay_ms(t);   //
  LED = 0b00000010;  delay_ms(t);   //
  LED = 0b00000001;  delay_ms(t);   //
  LED = 0b00000001;  delay_ms(t);   // 右に到達、最初から
}
727774ワット発電中さん:2011/01/28(金) 19:06:10 ID:FuoAJ4B6
>>726
プログラムをわざわざありがとうございます。
でも、本を探してるんですけど・・・^^;
728774ワット発電中さん:2011/01/28(金) 19:53:35 ID:/GT0GHBQ
>>727
これいっとけ
http://www.wl.cn/1189520
729774ワット発電中さん:2011/01/28(金) 20:33:36 ID:tfw4Be83
12F683を使って、↓のようなロボットを作ってみようと思っていますが、
性能的にどうなんでしょうか?
アセンブラでないと無理っぽいかなと思っています

ttp://www.youtube.com/watch?v=svOlz2ei4Yk
730774ワット発電中さん:2011/01/28(金) 20:53:42 ID:XhTftuHf
>>729
DESTROYコマンドのところが難しいかな?
731774ワット発電中さん:2011/01/28(金) 21:06:44 ID:gc2RVxNP
16f1938で遊んでみたけど、なんでmplabからpickit2使えないんだ
732774ワット発電中さん:2011/01/28(金) 21:42:05 ID:75o+e2Yb
>>729
12F683には役不足だね。もっと複雑なことしてもらわないとね。
733774ワット発電中さん:2011/01/28(金) 23:12:21 ID:FuoAJ4B6
>>728
ちょまwwwwwwwwww
734719:2011/01/29(土) 00:15:14 ID:Ua4ZxFUI
>>722
空きピンは1つしかないので、現状のままでは難しそうです。

ただ明日は時間が取れるので、ユニバーサル基板上にAD変換まわり+USARTだけの
回路を作ってみてそれでデバッグしてみようかと思っています。

お騒がせして&貴重なノウハウを教示して頂きありがとうございました。
735774ワット発電中さん:2011/01/29(土) 06:42:40 ID:i73qFqDM
>>728
>第2章 pig系列微控制器指令系

急に豚の話になってる
736719:2011/01/29(土) 14:23:25 ID:Ua4ZxFUI
ユニバーサル基板上にAD変換まわり+USARTだけの回路を作って色々試してみたところ
(多分関係ないよねぇっと思いつつも)3kと1kの分圧抵抗を18kと5.1kに変更したら正常に
動作するようになりました。

分圧抵抗で動きが変わってしまう理由がわからないのでもう少し自分で調べてみようと思いますが
とりあえず結果を報告させて頂きました。
737774ワット発電中さん:2011/01/29(土) 14:43:46 ID:qmNFqQZx
>>736
722です。
よかったね。結果の報告ありがとうね。ぼくも勉強になった。
でも、なんでだろう?


738774ワット発電中さん:2011/01/29(土) 15:34:20 ID:qGqK9ep1
>>736-737
ところで?
PC側は何でプログラム組んでいるの?
VC?VB?
739774ワット発電中さん:2011/01/29(土) 18:04:33 ID:lHIyRaql
もしかしてPIC16F193xってCCSつかわないとダメなのですか?
740774ワット発電中さん:2011/01/29(土) 18:30:32 ID:Ua4ZxFUI
>>738
文字列を表示できれば良いと思ったのでPC側はteratermを使ってます。
741774ワット発電中さん:2011/01/29(土) 19:24:43 ID:qmNFqQZx
>>740
それで良いと思います。
742774ワット発電中さん:2011/01/29(土) 19:49:09 ID:qGqK9ep1
>>740-741
え〜
プログラム作ろうぜ?w
だれかC♯とかNetとか使っているヤツいない?
最近どうなのよ?
743774ワット発電中さん:2011/01/29(土) 20:26:30 ID:r6fyiXeq
>>739
なんで?
744774ワット発電中さん:2011/01/30(日) 07:35:11 ID:U3D66B3o
>>736
3kのつもりが300Ωだったりしないの?

あと、アナログに接続されてるピンはすべてアナログに設定して、マルチプ
レクサだけ切り替えてA/D変換してるよね?
745774ワット発電中さん:2011/01/30(日) 12:59:18 ID:3/DpPAW+
手持ちのPIC16F54でソフトPWMを使ってLEDを光らせたいのですが、
Timerを使わずに同時に複数PORTでPWMを利用する事は可能でしょうか?
mikroCで色々試してるのですが出来なくて悩んでます。
Timerを使ったやり方は色んなHPで見かけるのですが・・・
746774ワット発電中さん:2011/01/30(日) 13:36:31 ID:THD1aKme
timer使わずに どうやって時間管理するの?
それともPWM値一定で変化せずならいいだろうけど
747774ワット発電中さん:2011/01/30(日) 13:45:38 ID:OhSfcsF3
LEDを光らせる以外に何もしないのであれば、空ループで時間待ちを作ればいい。
多少の入力判定ぐらいなら、正否いずれでも同じぐらいの命令数になるロジック構成にして、判定時のズレを無くせばいい。

とか、そういう話かな?
748774ワット発電中さん:2011/01/30(日) 13:49:43 ID:9xvnLWo9
>>746
迎氏の秋月の時計キットは命令の実行時間で・・・
749774ワット発電中さん:2011/01/30(日) 21:59:54 ID:VSi6mi/I
つい先日までマイコンのマの字も知らなかった超初心者です
PICには入力と出力のポートを設定できるようですが、何も接続されていない状態(ハイインピーダンス?)な状態にさせるには
どのような命令になるのでしょうか?
また、PIC内部で回路のどこにも接続されていない宙ぶらりんな状態とでも言いましょうか
そんなことは可能ですかね?
ご回答の程、宜しくお願いします
750774ワット発電中さん:2011/01/30(日) 22:11:42 ID:zka3m1Vy
>>749
最後の一行がムカつく
751774ワット発電中さん:2011/01/30(日) 22:13:09 ID:yThemHmG
PICりした?
752774ワット発電中さん:2011/01/30(日) 22:36:32 ID:VBTHn2ks
>>749
ポート入力にすればHi-Z
753774ワット発電中さん:2011/01/30(日) 22:53:36 ID:JLnHhA83
完全無接続は無理。
ハイインピーダンスはデジタル入力設定。
754774ワット発電中さん:2011/01/30(日) 23:25:54 ID:THD1aKme
完全無接続は無理。
PICの電源電圧-0.6V〜電源電圧+0.6Vの間だけHi-Z
755749:2011/01/30(日) 23:27:19 ID:VSi6mi/I

>>750
ごめんなさいごめんなさいゆるしてくださいゆるしてください

>>752-753
ありがとあーした
756753:2011/01/30(日) 23:29:26 ID:VSi6mi/I
>>754

ありあとあーした
757774ワット発電中さん:2011/01/30(日) 23:35:11 ID:ahGNatBu
おまえはジュドーか
758まりえ:2011/01/31(月) 20:11:05 ID:h6dEyva0
豊広、たまにはしてよ。
759774ワット発電中さん:2011/01/31(月) 20:13:54 ID:h6dEyva0
ね、??。
760774ワット発電中さん:2011/01/31(月) 20:37:09 ID:RPNSR59f
どうしてPICの足はちゃんと並んでないんだろう?
いや、並んでないPICがあるんだろう?
さらには番号が飛んでいたりするじゃないですか。
どういうこったい!!

PIC18F14K50 だと0〜7までそろっているのはport Cだけだし、並んでいる
順番は適当だし。
ごかんさんのネットワークの本でみたPICもでたらめだし。
何でこんな不条理が許されているのですか?
761774ワット発電中さん:2011/01/31(月) 20:57:24 ID:G3xuumIX
別に手ハンダで組む人のために作ってる訳じゃないし。
762774ワット発電中さん:2011/01/31(月) 21:16:43 ID:h6dEyva0
> 760
テクニカルライターごだびん乙。
いつまでもDIPを卒業できないんだな。
いまどき手配線のことなんか考えない。
763774ワット発電中さん:2011/01/31(月) 22:50:36 ID:R/AQYf8r
1938はSCS=1xにするとなんでPLLが効かんのだ?
764774ワット発電中さん:2011/02/01(火) 00:55:25 ID:cJPtedvE
microchipのホームページで、Microchip Samples Loginから欲しいICのsampleを選択すると、無償sample送ってくれる?
765774ワット発電中さん:2011/02/01(火) 01:01:07 ID:bLZL5ZJu
>>764
くれるよ。
766774ワット発電中さん:2011/02/01(火) 04:27:05 ID:6knO4pzl
>>764
送ってくれるけれど、送料が何ドルかかかるよ
15ドルだったかな?
二年位前は完全無料だったけれどね
どうせ送料かかるから、MicrochipDirectで頼んだほうが早いよ
sampleは1ヶ月くらい掛かる場合もあるからね
767774ワット発電中さん:2011/02/01(火) 06:57:18 ID:2shi+LWt
始めまして、PICに挑戦しようと思いまして
MPLAB IDEを使ってLEDの点滅プログラムを作りました。
無事コンパイルも出来て,PICも動作しました。
翌日同じプロジェクトを開いた所ソースプログラムが出ません
何故でしょう?
768774ワット発電中さん:2011/02/01(火) 07:21:09 ID:/ScB0/zF
ご愁傷様です。
769774ワット発電中さん:2011/02/01(火) 08:24:52 ID:tGUVjEga
ご臨終です。
770774ワット発電中さん:2011/02/01(火) 18:27:04 ID:kqj4p9Mi
>>767
file→open で開いていませんか?
project→open で開いてみてください。
771774ワット発電中さん:2011/02/01(火) 22:08:38 ID:tGUVjEga
omaera nande pic nante hentaimaikon tukatteruno?
atama daijoubudesuka?
douse tukaunara yappa avr desyo?
baka nano?
772774ワット発電中さん:2011/02/01(火) 22:47:30 ID:bVkbWZiJ
PICCを使ってましたが、MIKROCに乗り換えてみました。
(パソコン変えたついでに)
ライブラリが豊富でヘルプも親切ですが、ヘッダファイルをincludeしないで、
色々なライブラリを使えるのが気持ち悪い感じ。
include"lcd.h"とか無しで、いきなりlcd_init()が呼べる。
特に不具合は無いけど
773774ワット発電中さん:2011/02/02(水) 00:57:45 ID:s56DjL70
>>770
何か救われた気がしました
原因は、日本語ディレクトリー・りロケータブル・add file・・・その辺が怪しいです
検討してみます
774774ワット発電中さん:2011/02/02(水) 00:59:20 ID:s56DjL70
あと771は馬鹿
775774ワット発電中さん:2011/02/02(水) 04:52:32 ID:BTFS6Cn0
AVRしか使えない>>771は・・・
776774ワット発電中さん:2011/02/02(水) 08:04:38 ID:vqZRm/rL
スレタイ読めず日本語もまともに使えないとこ見ると外人か池沼とかかな
777774ワット発電中さん:2011/02/02(水) 09:01:53 ID:XCCId5vx
偏った予備知識ばかりのマイコン工作に憧れる消防
778774ワット発電中さん:2011/02/02(水) 11:17:11 ID:YXyzzXTf
質問です。
rd read
wr write
rdy ready
int interrupt
nc not connect
DBx data bass
cs ????
ofl off line
gnd 地面

あってる?
csってなに?
779774ワット発電中さん:2011/02/02(水) 11:23:18 ID:wnL9RT05
CSは衛星放送か通信衛星じゃないの?
780774ワット発電中さん:2011/02/02(水) 11:28:04 ID:+R6PJfEs
customer support
781774ワット発電中さん:2011/02/02(水) 11:38:17 ID:Cu71weEo
cable select


う、おしいっ!w
782774ワット発電中さん:2011/02/02(水) 15:02:35 ID:XCCId5vx
Chip Star おいしいよね

何味が好き?
783774ワット発電中さん:2011/02/02(水) 15:26:41 ID:wnL9RT05
どうしてみんな そんなに意地悪するの、ちゃんと教えてあげればいいのに。
CS = Chip Sentaku = チップ選択だよ
784774ワット発電中さん:2011/02/02(水) 17:47:59 ID:eTfRrqEV
自信がないので DIP も Sentaku できますか?
785774ワット発電中さん:2011/02/02(水) 18:39:10 ID:UtZFjsUc
>>783
CEは?
786774ワット発電中さん:2011/02/02(水) 18:50:02 ID:YKewHsDT
なんだCEもしらねーのか?しかたねーな、教えてやるよ
ttp://ja.wikipedia.org/wiki/CE%E3%83%9E%E3%83%BC%E3%82%AF
787774ワット発電中さん:2011/02/02(水) 18:50:11 ID:wnL9RT05
チップいーぜ、って先輩に習った。
788774ワット発電中さん:2011/02/02(水) 18:55:11 ID:LDf8vFbk
Chip Erectだろjk
789脳死:2011/02/02(水) 19:28:29 ID:XatyX7RY
すっげー釣れてる。だりかマンコロチップの専門コテいないのか? 巷の股間さんみたいに。

んでCSとは? CSステータスでPICを全てハイインピーにして離したいとか。
790774ワット発電中さん:2011/02/02(水) 21:18:49 ID:EynHBU6H
実体はスリーステートなのに、いろんな名前付け過ぎ
791774ワット発電中さん:2011/02/02(水) 22:28:49 ID:ZFzl0CW6
MPLABのシミュレータについて質問です。コンパイラはHI-TECH Cを使ってます。
ttp://ysdu16.com/memo/pickit3/index.html
ソースは上のサイトをまるまるコピーさせてもらってBuildしました。32行目</pic.h>は消しましたが。
Build後に、View->Special Function Reistersを表示させて、
Debbuger->Select Tool->MPLAB SIMを選択して、LED ONとLED OFFのところにブレイクポイントを置いてシミュレーションRunしても、
LED ON/OFF前後でSpecial Function Reisters Address05 GPIOが変化しなくて困ってます。
LED ON/OFFに従って、GPIOが0x00⇔0x01になって欲しいんですが、何が間違ってるのでしょうか?

Buildした状態でpickit2から12F683に書き込んで、実際にLEDチカチカすることは確認しています。
792774ワット発電中さん:2011/02/02(水) 23:44:21 ID:YXyzzXTf
CSはadc0820ccnの説明にあったピン。
どんな働きか読んでもわからなかったのよ。あほだから。
793774ワット発電中さん:2011/02/03(木) 00:40:21 ID:Oi1E4/oH
>>792
どんな特殊なのかと思ったらただのごくありふれた一般的なチップセレクトじゃねぇかw
794774ワット発電中さん:2011/02/03(木) 07:03:11 ID:2uBY7Izs
と、言うわけでChip Selectが正解できた
795774ワット発電中さん:2011/02/03(木) 07:42:49 ID:k0uAHpJX
>>790
トライステートだろw
796774ワット発電中さん:2011/02/03(木) 09:38:47 ID:2uBY7Izs
おいおい、流れ豚切りか?w
797774ワット発電中さん:2011/02/03(木) 19:07:32 ID:PteD93wt
>>795
俺が最初に接した書籍では「スリーステート」とあった。
他を見たら「3ステート」とか書いてあって納得。
「トライステート」って、カタカナじゃ分かりにくいから、いまでもあまり使わない。
798774ワット発電中さん:2011/02/03(木) 20:07:10 ID:NlL6wBqx
Tri-stateはナショセミの登録商標ですね。
799774ワット発電中さん:2011/02/03(木) 21:30:37 ID:erQaustD
でもPICのアレはTRISなんだよな
800774ワット発電中さん:2011/02/03(木) 22:05:15 ID:2uBY7Izs
まぁ昔は3値って書いたんだけどな
801774ワット発電中さん:2011/02/03(木) 22:13:13 ID:n0yDLnpm
mikroBasicの日本語化パッチは、今でも入手可能ですか?
ご存知の方よろしくお願いします。
802774ワット発電中さん:2011/02/03(木) 22:24:10 ID:ZUpn02er
>>800
意味が違う
803774ワット発電中さん:2011/02/03(木) 23:15:37 ID:Dv3zBO7m
ああ、TRISってそういう意味か!
目ウロコ
804774ワット発電中さん:2011/02/03(木) 23:52:34 ID:ocYNHxJG
ああそういう事なのか!
アーサー王伝説からか取ってきたのかと信じてたわ
805774ワット発電中さん:2011/02/04(金) 00:15:49 ID:sdJ49ACk
みんな、大丈夫か…
806774ワット発電中さん:2011/02/04(金) 01:57:24 ID:FQ00645m
マイコンって省略が多くて大変。何の省略かがわかると、言葉の意味が見えてくる。
セミナーに行って、「ここまでの説明で、何か質問ありますか?」と聞かれたので
「PICって、何の略ですか?」とか「BODって何の略ですか?」とか聞いたら、
「後で調べてご回答します」と言われた。
さらに『なんでそんな事聞くんだよ。いいじゃねーか、そんなこと。かんけーねぇだろ』
みたいな顔をされました。質問はあるかと言ったのにぃ!!!

さすがにわからなかったのが、PAR  これには参った。
Place and Routeだって。andまで省略に入れるんか、って感じ。
807774ワット発電中さん:2011/02/04(金) 02:46:31 ID:FQ00645m
>>778
誰も突っ込んでいないみたいだけど、
bass → bus な。バスには、bass 、bath 、 bus があるので注意。
ofl → over flowな。たぶん。ovfがよく使われる。
int → interrupt、 integer、 internal、もあるので注意。

PICのポートのRA0,RA1などは、Resister A の略な。
ついでに言うと、
置数器のレジスタは、Register
抵抗器のレジスタは、Resistor なので注意。日本語の発音はみんな同じだけどね。

最後に、間違って覚えられてるナンバー1は「アドレス」
回路図に「ADR0」とか書くもんだから、adresのように書く人が多いこと。
ひどい人は、adresu とか言って、それはローマ字変換だろ。
正しくは、address 。 覚えておいて損はないと思うよ。

808774ワット発電中さん:2011/02/04(金) 14:01:30 ID:3Y2Ipnwd
>>807
おれたち中学生かw
でも、礼はいっとくわ。ありがとう。
809774ワット発電中さん:2011/02/04(金) 14:53:54 ID:9tkLNZB3
そう言えば、データの事をdateと書く人もいるね。
810774ワット発電中さん:2011/02/04(金) 15:31:26 ID:aW9YQfSi
それは単に日付って意味で使ってないだろうな?
811774ワット発電中さん:2011/02/04(金) 15:40:05 ID:vOJjmX3/
>809
えっ dateじゃなかったのか

言われてみれば、たしかに目の前のモニターにもIODATAと書いてある
812774ワット発電中さん:2011/02/04(金) 16:14:10 ID:fICuBEsG
質問です。
LCDが安かったので衝動買いしたら若干PICでは処理が追いつかないような気がします。
G321EV http://speed.sii.co.jp/data/file_PRODUCT_MASTER_1002_GRAPHIC04.pdf
ドットのタイミングをとるCL2が70Hzで5MHzほどだからPICで処理するには
フレームレートを落とすとかしなくてはいけないみたいですが落としすぎても
ちらちらするし液晶に悪影響がありそうだし。

ぎりぎりいけるのでしょうか、いけないのでしょうか?

何かアドバイスを
813774ワット発電中さん:2011/02/04(金) 17:16:01 ID:ngOvkD5w
>>812
外部バスのあるマイコン使うか、CPLDやFPGAでフレームバッファ作るのが普通
814近藤豊広@善部町:2011/02/04(金) 17:50:33 ID:qlS0oAMB
5MHzが_(>o<)ググりましょう。(^o^)
815774ワット発電中さん:2011/02/04(金) 18:26:31 ID:fICuBEsG
>>813
それは知ってますが今から環境を整えて勉強するのもね。

816774ワット発電中さん:2011/02/04(金) 18:48:25 ID:SzjXMHtN
>>812
全然いけないと思うよ。
あ、制御信号毎にPIC付ければ何とかなるか。マルチプロセシングカコイイ
817774ワット発電中さん:2011/02/04(金) 18:51:57 ID:4H1tmCbH
マイコンじゃなくて液晶コントローラ使っちゃえば?
818774ワット発電中さん:2011/02/04(金) 19:16:12 ID:gJWTHC3M
ラジコンのガソリンエンジン(スパークプラグ式点火)のタイミングを回転ごとにPICで進めたり遅らせたりしたいんだけど、
回転数が20000回転以上回るし、1度単位でコントロールしたいので
1/(333.3回転/秒 × 360度/回転)=120Kサイクル/秒で計算しないといけないですよね。
120Kサイクル × 4Hz/サイクル=480KHz
20MHzの16F84で実際に間に合うでしょうか?
819774ワット発電中さん:2011/02/04(金) 19:47:11 ID:nQNJ4aJ9
オンチップデバッガについて教えてください。

PIC16F877等の40ピンPICを、PICKIT3のオンチップデバッガーを使って
開発したいのですが

Debugger→Program
Debugger→Run を実行すると

PK3Err0040: The target device is not ready for debugging.
Please check your configuration bit settings and program
the device before proceeding.

といわれてしまいます。
MPLABのバージョンは、8.50と8,.53で試しました。
PICKITのファームは、8.50に付属のもの、8.53に付属のものを使いました。
(自動でアップデートされた)

通常のProgramは正常に動作し、オシレータの発振と、ポートの上げ下げデモが
動くことを、オシロスコープを使って確認できています。

820774ワット発電中さん:2011/02/04(金) 20:00:28 ID:ngOvkD5w
>>819
エラーメッセージ読んで、その対策はしたの?
821774ワット発電中さん:2011/02/04(金) 20:03:38 ID:fICuBEsG
>>816
全部をひとつのPICにやらせる必要はないと確かに思います。
>>817
それってかえって配線が面倒です。入手性も価格もアウトです。
高速なPICがあればその方がいろいろと便利だし。

>>818
むり。それはわかる。
アクセル開度を読まないとまともな制御ができない。
アクセル開度からエンジン回転数の予測制御が必要。
822774ワット発電中さん:2011/02/04(金) 21:51:54 ID:USHo4LwK
>>818
計算するのはいいが、マイコンの割り込み遅延について調べたほうがいいな
823774ワット発電中さん:2011/02/04(金) 21:56:38 ID:hpfligDs
エンジン制御するなら、H8Sぐらいでいくほうが確かな気がする
ラジコンエンジンなら2気筒ぐらいかな? ノックセンサーみたいなものがあれば、ギリギリの進角できるんだけどなあ
824774ワット発電中さん:2011/02/04(金) 22:22:10 ID:vOJjmX3/
>818
皆が聞かないからあえて聞くんだけど
なぜ360度なの?
ピストンが下がりきったところで点火しても意味ないでしょ

回転数で割ってディレイで制御すれば20000回転程度なら楽勝でしょ
825774ワット発電中さん:2011/02/04(金) 22:23:45 ID:q7/Sk1mH
>>818
式がよくわかんないけど回転数(300Hz前後)を拾うのは問題ないかと

そのあとはよくわかんない
高回転域と判断したら早めに点火みたいな話?
「360度を知る」必要ってないように思うんだけど(相対値から算出出来そうな…)

でも制御も含めるとギリかな…
826774ワット発電中さん:2011/02/04(金) 22:24:32 ID:q7/Sk1mH
あっ、なんかかぶっちった
827774ワット発電中さん:2011/02/04(金) 22:25:47 ID:is0/iywM
自作MoTeCモドキか
楽しそうなお題目ではあるな
828774ワット発電中さん:2011/02/04(金) 22:42:15 ID:QlPCE1iA
何をしたいのかがさっぱり判らない
速度コントロールなら標準でできるのでは
829774ワット発電中さん:2011/02/04(金) 23:24:34 ID:gJWTHC3M
ピックアップを上死点前10度に設定して、一周回ってくる時間から回転数を計算。
その時間に応じて点火時期をずらしたい。
20000回転なら333回転/秒で、その1度は333*360
830774ワット発電中さん:2011/02/04(金) 23:48:19 ID:vOJjmX3/
こちらが勘違いしてるのか、なんかよく分からないんだが

1秒間に333回転ということは、3m秒で1回転ということなんでしょ
3m秒÷360度なら8μ秒程度で1度ということになると思うんだけど

2m秒くらいで検出と計算をして、残りの時間で制御すれば楽勝じゃないの?
831774ワット発電中さん:2011/02/04(金) 23:54:00 ID:is0/iywM
つまりPICでガバナー進角エミュ的なものを作りたいと?

ところでこれ、2サイクルなの?
832774ワット発電中さん:2011/02/05(土) 00:10:28 ID:7rMdV9XZ
>>829
秒で考えちゃダメだ。回転じゃなくてrpmで書け。
クランクシャフトになりきって考えないとミスファイヤがおまえを襲う
833774ワット発電中さん:2011/02/05(土) 00:33:00 ID:2A3qhMIa
マイコン初心者です
PIC16F88でPWMを使って任意のパルス波形を出したいと考えています
データシートを見たのですが、英語だしよくわかりません…
CCPR1とPR2を設定すればいいんですか?
どのようにプログラムを打ち込めばいいかわからないんで、
プログラムコードを教えてください…
834774ワット発電中さん:2011/02/05(土) 00:34:02 ID:8pMAdBZh
ええ、2サイクルです。2サイクルは最初が進角、途中、更に進角、高回転で遅角です。
835774ワット発電中さん:2011/02/05(土) 00:35:27 ID:iI7Gg6Gn
4サイクルなら720度だよね?

点火の進角の限界に割り込み入力を用意して、そこから何度遅れるか、ぐらいならまだマシだが
点火角を回転信号から作成しようと思ったらかなりめんどくさいぞ
しかも上限が2万回転でかなり極端な回転変化をするとすると、推測した変化量がどこまで追いつくか…
836774ワット発電中さん:2011/02/05(土) 00:38:42 ID:iI7Gg6Gn
>>833
英語だと〜といわれても「辞書サイト参考にしてでも読め」と言われるに1票。
コードを教えてくれってのは答えだけくれ相当なわけで初心者ならいよいよダメじゃねか?
837774ワット発電中さん:2011/02/05(土) 00:48:22 ID:QV+YD0I/
エンジンなんて極端な回転数の変化はないんだし
1回転前のデータで点火時期決めればいいんでしょ
そうすれば1回転ほぼまるごと回転数の検出に集中できる

上にも書いたけど8μ秒で1度なんだから、
20Mhzでやれば、ほぼ無段階で設定できるんじゃない
838774ワット発電中さん:2011/02/05(土) 01:07:20 ID:yCUrPyrX
>>833
君には向いてない
839774ワット発電中さん:2011/02/05(土) 01:09:00 ID:7rMdV9XZ
>>833
日本語版マニュアルが有るPIC16F84あたりで頑張れ
840774ワット発電中さん:2011/02/05(土) 01:09:22 ID:hCEtDraX
>>833
どうしてこういう奴がいるんだろうね。
英語読めなきゃ勉強しろよ。じゃなきゃ作るなよ。
自分で色々調べて自分の頭で考えろよ。
ホントもう呆れる。よく考えてごらんよ。
841774ワット発電中さん:2011/02/05(土) 01:27:40 ID:wF2s8qZv
>>840
おまえも、他の人から そう思われているぞ。
もう少し優しく接してやれ。
自分のレベルが普通だと思うな。
842774ワット発電中さん:2011/02/05(土) 01:41:44 ID:QKd0h9CE
>>
こんなんで良いんじゃね?

void Du(unsignd int Ty){

if (Ty <=1023){
CCPR1L = (Ty>>2);
CCP1CON |=(Ty<<4);
}
else
Ty = 0x200;
}

mainにはCCP1CON = 0b00001100;//PWMstart
、と書く
843774ワット発電中さん:2011/02/05(土) 01:50:27 ID:QKd0h9CE
eが抜けてたごめ
あとアンカー833ね。
844774ワット発電中さん:2011/02/05(土) 02:10:02 ID:rmucT44A
Dサブ25ピンのシリアルPICライターをUSBで使いたいんだけど、
シリアル-USB変換ケーブルがDサブ9ピンのしかない。
25ピンを9ピンに変換するアダプタを使えばいいのか?
Dサブの25ピンと9ピンって単にピンの数が違うだけ?
このPICライターで実際に使ってるピンは5個だけのようだけど。
845774ワット発電中さん:2011/02/05(土) 02:18:03 ID:7rMdV9XZ
>>844
三本つなげばイケるよ
846774ワット発電中さん:2011/02/05(土) 06:32:04 ID:RIgQMG5f
イクイク!
847774ワット発電中さん:2011/02/05(土) 21:39:06 ID:sNLo5Sxv
PIC18F4450のアセンブラでUSBを使おうとしています。
ホストからSETUPでSetAddressが送信された後にUADDRにアドレスを
書き込むにはどうすればよいのでしょうか?

ホストからSetAddressが送信されるとPIC側からACKもNAKも
返答しないので処理が途切れてしまいます。。。
848774ワット発電中さん:2011/02/06(日) 00:00:12 ID:8+Cb8dva
>>847
そのトランザクション中は旧アドレスでのやり取りになる。
ステータスステージでレスポンス返して、トランザクションが完了してから
UADDRに新しいアドレスをセットするべき。
自分でそういうこと調べられないなら素直にマイクロチップのライブラリ使えばいいのに。
849774ワット発電中さん:2011/02/06(日) 00:23:51 ID:kz+wvWLw
>>847
無謀すぐる
850774ワット発電中さん:2011/02/06(日) 00:43:00 ID:dwrZbOfq
>>847
USBフレームをアセンブラで書こうとするキミってステキ♪
応援してるよ。頑張れ!
851774ワット発電中さん:2011/02/06(日) 06:07:43 ID:SRsVTyqE
「○○したいと思います。どうやったら良いでしょうか?」

自分の思いつきだけ投げて、他人に無料でやらせて成果を頂こうという
盗人根性というのか、自分で考えることを放棄して模範解答を得ること
しか考えないゆとり頭というべきなのか・・・
852774ワット発電中さん:2011/02/06(日) 07:15:19 ID:fgCAsRAT
picのシリアル通信で、VBでの作成で参考になるサイトない?
853774ワット発電中さん:2011/02/06(日) 07:35:03 ID:ro+Tkfws
>>852
VBってPICプログラムの開発も出来るの?
854774ワット発電中さん:2011/02/06(日) 09:11:47 ID:SPoZWpFH
PIC用VBがあるならまずそのソフトの紹介をして!答えが間違えては意味がないから♪
対向側(窓機)での話しをしているならPC側ソフトの話は完全にスレチ
ただの確認程度なら端末ソフトがフリーでゴロゴロしてる
通信内容にフォーマットを与えてVBでって事ならやさしいお姉さんが教えてあげるけど

VBプログラマ質問スレ(Ver.6.0 まで) part56
http://hibari.2ch.net/test/read.cgi/tech/1275397597/

この辺でお話しましょうね(ほしみ
VB6までだけど…バージョンも書いてないから仕方ないよね
後は自分でなんとかするのよ?いい?
855774ワット発電中さん:2011/02/06(日) 11:27:54 ID:kz+wvWLw
例えば、加速度センサからの出力を受け取って、
リアルタイムでwindows上の物体を回転させる、みたいなことをしたい時、
何の言語を使うのがいちばん楽なんだろう
856774ワット発電中さん:2011/02/06(日) 11:42:11 ID:MRVywssK
亀ですみません…。
進捗が一応一段落したのでご報告を…と言うかここ一週間ぐらい触れてない…。

>680
ごめん、確かに下はこれじゃgetsじゃなくてgetcだな。
上が近いなのか。
例で下のようなのがあったんだが、コレってもしかしてprintfの後じゃないと効かないのか?
char string[30];

printf("Password: ");
gets(string);
if(strcmp(string, password))
printf("OK");

後で試してみるよ…。

>682
char UART[5]なんて作ってビルドしたらその変数使われてねーぞ?ってエラーが出たので多分大丈夫かと。
多分…。

>685
先生、むなしく音読して終わりましたが言おうとしたことの意味がわかりません。
例のchar *gets(char *s)
この*sにあたる部分の変数に成功すれば結果が、エラーが出たらNULLが帰ってくるってことですかい?
戻り値の格納先ってこの場合はsで結果の格納先と同じでいいんですよね?

>855
何も分からないならまずはターミナルソフトにデータを飛ばしてみては?
それからVBあたりでポリゴンを回転させるデモでも探して、双方に必要な情報のやり取りを調べて、通信してみるとか。
多分全部自分で用意するとなればこうなるんじゃないかな。
3Dmodel作成:メタセコイア
プログラム作成:VBかVCとダイレクトX
通信部分:RS232
857774ワット発電中さん:2011/02/06(日) 12:03:23 ID:SPoZWpFH
>>856
685だけど先生なんて偉いもんじゃないのにすまん

えとね、パラメータで渡すのは文字列のアドレスなのですよ
で、成功時は戻り値がそのアドレス、失敗時はNULL(void 0か?PICの実装のNULLってどうだっけ?(ぁ)
パラメータに渡すアドレスは「結果の格納領域」です

if(gets(*s) == NULL) { /* gets失敗の処理。!=なら当然成功の処理ってこったな */ }

ポインタまわりはC言語一番の難所だ
ここを理解するとアセンブラとの親和性も理解できるミソでもある
*sは結果格納領域なのだから何を渡せばいいのか?よく考えてみよう

これはC言語講座であってPICの話じゃないぞ。。。
858774ワット発電中さん:2011/02/06(日) 12:25:55 ID:MRVywssK
>857
ポインタの表示なのはそういうことか…。
確かにポインタよく分からないままだしなぁ…

つまり俺に必要なのはまず普通のCのことから勉強しなおせと言うことですね。
それだけでも書いたかいがあったってことですよ。
それじゃあANSI-Cの本でも探して来ます…ありがとうございました。
859774ワット発電中さん:2011/02/06(日) 15:25:34 ID:5jEgW/d6
>848
ありがとうございます!何となくやり方がわかったんでトライしてみます。
UADDRにセットするタイミングをうまく取るのが難しそうですが。。。
ライブラリはc言語が使いこなせないので、アセンブラで書いているという始末です(泣

860774ワット発電中さん:2011/02/06(日) 16:53:03 ID:KeO53hut
>>857
なんとなくポインタがわかりかけてきた、ような気がます。

例えば、以下のような文章は、どのように読めば良いのでしょうか?

  unsigned int *SCI = (volatile unsigned int *)0x00808000;

1)符号無しint型(16bit)の
2)*
3)SCIという名前の変数を確保します。
    (0x0000〜0xffffまで読み書きできます)
4)消さないでよ→コンパイラ
5)符号無しint型の*
6)その実体は、0x00808000番地にある

わかりません。
861774ワット発電中さん:2011/02/06(日) 17:22:10 ID:0JBWrdOb
unsigned intを保管する会社SCIを設立し、倉庫の土地を0x00808000番地(埼玉県)に確保した状態
862774ワット発電中さん:2011/02/06(日) 17:39:13 ID:SPoZWpFH
>>860
君に良いすれをお姉さんが教えてあげる
あっちで聞くとイケメンのお兄さんが教えてくれると思うよ

C言語なら俺に聞け(入門編)Part 77
http://hibari.2ch.net/test/read.cgi/tech/1295721606/
863774ワット発電中さん:2011/02/06(日) 19:12:52 ID:KeO53hut
>>861
おー、わかりやすいですね。
すると、その倉庫に16bit値0x1234を書き込む時は、
SCI=0x1234
で良いでしょうか?

>>862
ありがとうございます。では、続きはそちらで聞いてみます。
ありがとうございました。
864774ワット発電中さん:2011/02/06(日) 20:55:07 ID:SPoZWpFH
>>863
コテカスが居るが嘘ツキ以外は良い人が多いスレだ
粘って聞ければちゃんと教えてくれるはず…



はず!(^-^;
2chの一番濃いエッセンスがあるプログラム板だから、揉まれて鍛えられれば一人前になるだろ〜
865774ワット発電中さん:2011/02/06(日) 21:07:36 ID:dwrZbOfq
>>864
キミの今日の書き込みで役に立つものは無さそうだ。
プログラム板で揉まれてくると良いと思うよ
866774ワット発電中さん:2011/02/06(日) 21:19:02 ID:lBAk9TUC
ID:SPoZWpFH
ちゃんとアドバイス汁。
加齢臭が強すぎて目に突き刺さる。(笑)

今ならVisual Basic 2010 Expressだろう。
無料で手に入るのでこれを使うのがいくね?
867774ワット発電中さん:2011/02/06(日) 21:22:57 ID:SPoZWpFH
>>865,866
PICの話出てないしね〜仕方ないよねw

C言語の基礎とVBの話なんてここでされても困るだろ?
しかもあっち今見てきたらポインタで思いっきり躓いてたぞ?

頑張って勉強してもらうしかなさそうだ
868774ワット発電中さん:2011/02/06(日) 21:57:33 ID:0RpYIwmK
未使用ピンの処理、皆さんどうしてる?
869774ワット発電中さん:2011/02/06(日) 22:08:12 ID:v1IxQ+2L
>>860

>   unsigned int *SCI = (volatile unsigned int *)0x00808000;

> 1)符号無しint型の
> 2)* (ポインタ)
> 3)SCIという名前の変数を確保します。
> 4)揮発性の
> 5)符号無しint型への*(ポインタ)
> 6)0x00808000番地を代入です

870774ワット発電中さん:2011/02/06(日) 22:43:31 ID:87UvrQWm
>>869
揮発性じゃなくて
最適化するな
だな
871774ワット発電中さん:2011/02/06(日) 23:24:23 ID:kz+wvWLw
同じことだ
872774ワット発電中さん:2011/02/06(日) 23:49:33 ID:uod+E9NV
>>855
Arduino と Processing
Prototyping Lab ―「作りながら考える」ためのArduino実践レシピ
この本の P150~158に作例があるよ
873774ワット発電中さん:2011/02/07(月) 09:24:17 ID:lGOpKaC8
>>854お姉さまwwに誘導されてきました。)
現在、シリアルから19200bps(rs232c)で文字を自動的に吐き出している機械が有ります(マイコンです)
例 PIC RS232C−TEST
ハイパーターミナルで受信をした所正常に受信しています。(COMの設定等もしたつもりです com2であっています)

けれど、VB6.0で作成したプログラムでは、何にも出ません。
参考サイト
http://scw.asahi-u.ac.jp/~sanozemi/Sakuhin/pic02/PIC02.html
作成したソース
Private Sub Form_Load()
MSComm1.CommPort = 2
MSComm1.Settings = "19200,n,8,1"
MSComm1.RThreshold = 6
MSComm1.DTREnable = True
MSComm1.RTSEnable = True
MSComm1.PortOpen = True
End Sub

Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False
End Sub

Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = comEvReceive Then Label1.Caption = MSComm1.Input

End Sub

何がいけないのでしょう?お力をお貸し下さい。
また2005でも、質問に来るかも知れないのでよろ
874774ワット発電中さん:2011/02/07(月) 09:33:36 ID:lGOpKaC8
誤爆です
>>854 有り難うございます
875774ワット発電中さん:2011/02/07(月) 09:34:01 ID:mlBq4E05
>>873
openしただけじゃ無理に決まってんだろvb板で修行して来い頑張ってください
876774ワット発電中さん:2011/02/07(月) 13:20:40 ID:klYdnhIN
電池1本、つまり1.0〜1.2V程度で動くマイコンってありますか?
実力で動くのではなくて、ちゃんと仕様でOKになっているものです。
877のうし:2011/02/07(月) 13:38:10 ID:RjZWcFuJ
こんなのあった、漏れも試してみたい。

>TI MSP430シリーズ 3クロック
29:774ワット発電中 10/03 18:36 gblomWF7 [sage]
0.9Vで動くMSP430L092なんてのがでてるね。
60: 11/16 12:43 +P3+QYTi [sage]
セミナ会場なう。どの程度の説明かわからないけど
0.9V MSP430もテキストに載っている。
62:60 11/16 21:00 UpPrvODU [sage]
帰宅しました。帰り道呑んできたので文章が変かもしれないw
0.9V MSP430は軽く紹介されただけでした。 省11
878774ワット発電中さん:2011/02/07(月) 13:42:50 ID:weTaFEf3
>>876
PICにはない
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=336-1847-5-ND
他にも沢山ヒットするけど一例
879774ワット発電中さん:2011/02/07(月) 20:56:09 ID:ZYdi9FIY
>>876
デーデーコンでええやん。
電池ターゲットの奴よーさんあるで。
880774ワット発電中さん:2011/02/07(月) 21:42:49 ID:BWEIlfia
つか、PSoC にせよ >878にせよ、デコデコ内蔵で起動0.9VしてるだけなのでIOは1.8V以上。
IO含めて0.9VはMSP430Lくらいではなかろーか。
881774ワット発電中さん:2011/02/07(月) 22:19:45 ID:GIlzezsc
2Vくらいに昇圧して使うのがいい
多少ヘタった電池でも使える
882774ワット発電中さん:2011/02/08(火) 01:33:25 ID:usIY7oCY
>>879
電池1本 = 終止電圧0.9Vでも 5Vとかに昇圧できるDC/DCって、ありますか?
突入電流を考えると、起動しないんではないかと思ったりしますが。
883877:2011/02/08(火) 03:21:57 ID:HpulCpbB
なんかあた気がする、ググレ
884883:2011/02/08(火) 03:30:05 ID:HpulCpbB
あっ、0.9Vのヘタった電池はだめだぞ、昇圧すると一次の0.9が0になるから。
太陽電池とかで電流とっても0.9を維持できるようなら可能。

ちなみにその一次が超低電圧のDCDCはトラ技の広告だか記事だかだったような‥
885774ワット発電中さん:2011/02/08(火) 06:05:12 ID:bQkn7dyp
HT77XXA
PFM ステップアップDC/DC コンバーター
Low start-up voltage: 0.7V (IOUT=1mA)
電流は取れないな。
886774ワット発電中さん:2011/02/08(火) 13:18:00 ID:6K089DlZ
>>882
秋月で完成品モジュールが500円で売ってた気がする
887774ワット発電中さん:2011/02/08(火) 13:20:02 ID:6K089DlZ
888774ワット発電中さん:2011/02/08(火) 16:27:46 ID:R5rhdOsj
マルツにもあるよ。SMDのパターン付き
889774ワット発電中さん:2011/02/08(火) 17:33:33 ID:OYPfTzkp
ジュールシーフが安いな。
カス電池から搾り取れる。
890774ワット発電中さん:2011/02/08(火) 17:33:39 ID:F4SRUWYT
>882
LTC3108やTPS61200はどう?
LTC3108だと最低入力電圧0.02Vから動作するけど、最大も0.6Vなので
0.3〜5.5V範囲のTPS61200のほうがいいかな。
モジュール化した基板ならここ
ttp://strawberry-linux.com/catalog/items?code=12017
ttp://strawberry-linux.com/catalog/items?code=12010
891774ワット発電中さん:2011/02/08(火) 20:55:56 ID:mk+LKxIh
MPLABのフォルダが、デスクトップ上はエラーになるけど、
マイドキュメントならokなのは何故
892774ワット発電中さん:2011/02/08(火) 21:24:26 ID:rx2/5WKC
>>891
フォルダ名に日本語
893774ワット発電中さん:2011/02/08(火) 23:36:47 ID:mk+LKxIh
マイドキュメントも日本語なのに、という意味
894774ワット発電中さん:2011/02/08(火) 23:38:37 ID:mk+LKxIh
と、思ったらマイドキュメントは日本語じゃなかったな
エクスプローラうざい
895774ワット発電中さん:2011/02/09(水) 01:01:45 ID:X1HpLw08
>>894
エクスプローラというよりWindowsの仕様かと
ちなみにWindows7では、デスクトップのパスも英語名になってる
896774ワット発電中さん:2011/02/09(水) 05:54:53 ID:qcDOAKYG
>>891
マイクロソフトがいつまでもSJISにこだわるから仕方がない
他のOSはとっくにUTFに切り替え完了してるのに、図体でかいからトロイんだよね
MPLABXに期待
897774ワット発電中さん:2011/02/09(水) 08:58:44 ID:X1HpLw08
マイクロソフトはUnicodeに切り替えたがってるでしょ
Visual Studioも何年も前からデフォルトでUnicodeビルドになってるし
いまだにANSIでビルドしちゃう開発者が悪い

そもそもマイコンの開発環境みたいなニッチな物はユーザー側で対策すれば良い
マイドキュメントやデスクトップにプロジェクト置くとか言語道断でしょ
898774ワット発電中さん:2011/02/09(水) 10:24:01 ID:3n3HH8xd
そうそう、MSはunicode推進派の最先鋒じゃないか。
そしてMSがWindows New Technologyをリリースした際、unicodeうぜーって大バッシングしたのはおまいらだろw
899774ワット発電中さん:2011/02/09(水) 11:31:22 ID:ZgclLNZV
PIC12F1822-I/P  80円
http://akizukidenshi.com/catalog/g/gI-04557/

秋月の新規取り扱いPICは安くて高機能だな。
900774ワット発電中さん:2011/02/09(水) 15:25:26 ID:VxYceX32
>>899

おおっ使えるじゃんと思いましたが、ERRATAでADコンバータの完了フラグが立たないから、
Sleepするか、完了フラグをみずに自分で固定時間稼げとおっしゃるので、ちと使いづらい。
901774ワット発電中さん:2011/02/09(水) 16:35:48 ID:3n3HH8xd
秋月的には12F629と同価格か−
902774ワット発電中さん:2011/02/09(水) 18:26:00 ID:3KpsvrfJ
> ADコンバータの完了フラグが立たないから、
ナンバごと、1から設計しなおしてるのかよw
903774ワット発電中さん:2011/02/09(水) 19:16:37 ID:mxqXoT2t
それはそうだが、こいつはすごい8ピンが出てきたな・・・
904774ワット発電中さん:2011/02/09(水) 20:19:41 ID:vBuZYwBj
MRF24WB0MB
こいつもすげぇぞ
905774ワット発電中さん:2011/02/09(水) 20:31:13 ID:VxYceX32
PIC18Fで8pinやってくれませんかね。
要は乗算器が欲しいということです。
XLPは、ERRATAに地雷原がいっぱいあって困ります。
8pinはやはり12F683の安心感は絶大。
906774ワット発電中さん:2011/02/09(水) 20:42:47 ID:uQm0SnDo
PIC18F2550で下のようにデータテーブルを使おうとしたとき
0x01を読み込めないのはなぜでしょうか?

ORG 200H
DATA1
ADDWF PCL,F
DT 0x12
DT 0x01
DT 0x00,0x02
DT 0x00,0x00

MAIN
MOVLW d'4'
CALL DATA1


907774ワット発電中さん:2011/02/09(水) 21:17:32 ID:sGkNX7W1
PCLプラス4したから0x12から4つ後ろの0x00に飛ぶんでしょ?
何も不思議なことはない。

DT 0x01を読ませたいなら、
MOVLW d'1'
CALL DATA1
908774ワット発電中さん:2011/02/09(水) 21:47:09 ID:sXR2H0t2
USBの使える8pinまだー?
909906:2011/02/09(水) 21:50:28 ID:uQm0SnDo
MOVLW d'4'
ではなくて
MOVLW d'2'の間違えでした。

>907
やっぱり読めません(T.T


910774ワット発電中さん:2011/02/09(水) 21:50:50 ID:sGkNX7W1
電源、クロック、USB信号抜いたら2ピンしか残らないのに何をしろとw
911774ワット発電中さん:2011/02/09(水) 22:04:58 ID:PJOixe8W
>909
MPLABのシミュレーター使って試せば。
907の方の言う通り 0x01を得たいなら MOVLW d'1' だよ
912856:2011/02/09(水) 22:05:47 ID:HW0Rws+n
>857
書き込みした夜に気分を一新して、怪しい部分を徐々に新しいプロジェクトに切り出してビルドしてみました。

1、gets(UART_data);回り
なんともなく通る、すごく疲れる。文字通りPC机に突っ伏した。
な、なぜ…なぜ俺はコレを先にしなかったんだ…orz

2、前は>678通りなので、一応調べてみるが怪しいところはあまり良く分からない…。
じゃあ後ろは…と調べたら、なんか見覚えがある記述が…。
if(UART_data == "m1"){ //m1と打ち込まれたらモードをm1に変更
あれ、これ……なんか見覚えがあるな.
どこかのサイトであらかじめ記述された文字列と入力された文字列の比較をしてどうこうって例文は、Passwordを例にしてもう少し難しそうなことを書いていた気が…。
1+2でビルド、インターナルエラー。おk…これだ。

結論、ココと一緒でしたorz
ttp://masudahp.web.fc2.com/cl/strpnt/c1021.html
そりゃ、アドレスの頭と文字列そのものって比べられんよなぁとか。
直したらビルドできたので、後は中身です頑張ります。

ちくしょう、なんか安いの出てる…
615で作ってたけど乗り換えたいorz
913774ワット発電中さん:2011/02/09(水) 22:16:45 ID:X1HpLw08
日記はチラシの裏でいいよw
914906:2011/02/09(水) 22:58:16 ID:uQm0SnDo
>911
自分もMOVLW d'1'だと思うんだけど
読みたい場所の2倍の数字を入れると読み込める
0x02を読み込むならMOVLW d'6'って感じです。
なぜだ???
915774ワット発電中さん:2011/02/10(木) 00:44:35 ID:m9fzoHV7
おっとPIC18Fか、PCLが2ずつ上がって行くみたいだな x2する必要が
916774ワット発電中さん:2011/02/10(木) 00:47:53 ID:m9fzoHV7
[秋月16F1xxx] テンプレ用
秋月の新シリーズのPIC16F1xxx。内蔵モジュールも豊富(5bit-DAC等)だし
LATが追加されたり、16bitのFSRでプログラム領域や飛び地のRAMを連続アクセス等
多少改良されてる。Wレジスタのみなのは相変わらずでさらにbankはすごい事に
なってるけど(笑) 新規で作るなら旧シリーズは必要ないかも

[40pin]
◎16F1939 \190 16kw 1kRAM EEP256 I/O36
○16F1937 \170 8kw 512RAM EEP256 I/O36

[28pin]
◎16F1938 \150 16kw 1kRAM EEP256 I/O25
×16F1936 \150 8kw 512RAM EEP256 I/O25
×16F1933 \150 4kw 256RAM EEP256 I/O25

[18pin]
◎16F1827 \120 4kw 384RAM EEP256 I/O16

[14pin]
◎16F1823 \100 2kw 128RAM EEP256 I/O12

[8pin]
◎12F1822 \80 2kw 128RAM EEP256 I/O6
917774ワット発電中さん:2011/02/10(木) 02:00:32 ID:jrXamWQM
12F1822すげー
12F629の存在価値が無くなったな
918774ワット発電中さん:2011/02/10(木) 07:16:50 ID:dYxUS5lz
>>912
ひとつずつ解決できるといいな
あっちは言語仕様そのものは答えになるが、少しみて判るとおり変人Q〜君の遊び場なんだ
Q〜君は嘘は書いてないがあの調子なので…ま、変人だ
某板の別にC/C++のスレは多数ある、実装についてならここでも良いが言語そのものの疑問はあっちがよかろ

文字列比較関数もある、BASICなら文字列比較も楽なんだけどね〜、Cでは1バイト(文字?)ごと比較してください。
919774ワット発電中さん:2011/02/10(木) 09:22:26 ID:4BudXuzc
>>917
そういう意味では、秋月の社長が629を数割付きにしてくれれるのを期待してる
920774ワット発電中さん:2011/02/10(木) 10:12:00 ID:xmrA2NEk
1xxxはMPLAB IDEでPICkit2の対応してくれると神。
現状は専用アプリのみ。
921774ワット発電中さん:2011/02/10(木) 21:49:48 ID:PLYWbCBZ
表面実装パッケージのやつってプログラムするときはどうしたらいいの?
そういうソケットとかあるのでしょうか。
922774ワット発電中さん:2011/02/10(木) 22:00:16 ID:+559H330
>>921
書き込み屋に頼むと書いてくれるよ
試作の時はICSPだよな
923774ワット発電中さん:2011/02/10(木) 22:17:15 ID:bUCmF0dD
>>921
Pickit2とか3、使って書き込んでる。DIPもFlatも。
VDD、GND含め5ピンを接続することで何度でも書き込める。

ソケットかピンヘッダを使うのが一般的だが、PCB化するなら
エッジコネクタ接続にすると安い。
924774ワット発電中さん:2011/02/10(木) 22:22:45 ID:bUCmF0dD
>>920
1XXX、Pickit2未対応なんだな。もう少しで悩むところだった。
あぶないあぶない。
MPLAB IDE8.63確認したら、Pickit3は対応してるみたい。
2しか持ってない俺は買い足すべきか悩む。(待てば2も対応するのか?)
925774ワット発電中さん:2011/02/10(木) 22:50:04 ID:b3Im+g1T
単にもう一つ書き込みソフト起動しとくだけだけどな
926774ワット発電中さん:2011/02/11(金) 00:11:55 ID:LdWEILuV
最近電子工作を始めたますた、宜しくお願いします。

MCP4152っていうデジタルポテンショメータ?のICを頂いたので手持ちのPIC(16F886)で
動かしてみようと思って試行錯誤してるんだけどSPI通信ってのはブレッドボード上では
ノイズ等でまともに動かない物なんでしょか?

・・・まあたぶんそんな事は全然なくて、おいらのプログラムが駄目なんだろうなぁ・・・。
927774ワット発電中さん:2011/02/11(金) 00:51:01 ID:j3JUUv1i
手動でPIOをゆっくりとペケペケON/OFFしたら動くかもね。
PICの仕様をみてないけど、SPIのシリアルクロックとかは
ソフトに関係なく内蔵ロジックが生成してくれるんでしょ?
これがそこそこ高速だったりするとビョーンと配線伸ばしたり
変な引き回ししたりするとまともに伝送されないかもね。
このへんはオシロがあると一目瞭然なんだけど^^;
試しにSPIの信号ラインにシリーズに10〜100Ω位の
ダンピング抵抗いれてみたらどう?
928774ワット発電中さん:2011/02/11(金) 12:22:05 ID:wXbOyIIt
ブレッドボード上で的確に動かすにはCPUのパスコンを適した場所に付けることが重要だね
929774ワット発電中さん:2011/02/11(金) 14:44:30 ID:erWe+2q1
>>926
>おいらのプログラムが駄目なんだろうなぁ・・・。
誠に残念ですが、その通りです。
ブレッドボードが原因の可能性は、0.1%程度です。
ブレッドボードで楽しようとする心構えが原因の可能性が高いです。

  使うのやめませんか? ブレッドボード

930774ワット発電中さん:2011/02/11(金) 15:19:58 ID:88NpAq+u
ブレッドボードで楽をする為の工夫にいろいろ手間をかける
931774ワット発電中さん:2011/02/11(金) 18:17:26 ID:AWMkM2jo
16Fでも32MHz内蔵が!
おらすぐ乗り換えるべ!!!11
932926:2011/02/11(金) 20:12:57 ID:LdWEILuV
皆さんお察しの通り単純においらのプログラムが駄目だっただけみたいでした。
まだまだ理解度が浅いので精進しようとおもいまつ。

>>927
>>928
本日オシロを借りて見てきましたが波形なんかなーんにも出てませんでした。
お恥ずかしいでつ。

>>928
>>929
>>930

楽しようとしたおいらが間違ってますたね。
よーしユニバーサル基盤で頑張るぞー。
933774ワット発電中さん:2011/02/11(金) 22:31:00 ID:88NpAq+u
32MHzあればソフトだけでUSBできるだろうか
934774ワット発電中さん:2011/02/12(土) 00:57:21 ID:4mg67RHe
>>933
せめてI/Oは欲しいところ
935774ワット発電中さん:2011/02/12(土) 01:33:48 ID:pJt2aWbP
AVRは確か12MHzでUSB使えたけどあっちは12MHzで12MIPSだからな
PIC16F1xxxの32MHzで8MIPSだと厳しいだろうね
936774ワット発電中さん:2011/02/12(土) 07:57:50 ID:Sd+BoiAc
PIC12F1822いいなぁ・・・ちょっとした物作るのに最適。
937774ワット発電中さん:2011/02/12(土) 11:14:49 ID:vyZz/NLd
AVRとPICだと同一MIPSでも同じことをさせる命令数そのものが違うような
16F1xは多少はすっきりしたのかな
938774ワット発電中さん:2011/02/12(土) 13:38:39 ID:pJt2aWbP
16F1xxxはいくつか命令追加されただけであんまり変わっていないみたい

追加命令
ADDWFC,SUBWFB : キャリー,ボローを含んだ加減算
ASRF,LSLF,LSRF : シフト
BRA : PCLATHやページ境界に関係なく相対ジャンプ [9bit] PC+255〜PC-256へ
BRW : PCLATHやページ境界に関係なく前方のみ相対ジャンプ PC+W(0〜255) ADDWF PCL,f ヨリ便利ソウ
CALLW : 上位はPCLATH,下位はWのアドレスにサブルーチンコール
MOVLB,MOVLP :バンクセレクト,PCLATHに直接定数入れる
TRIS,OPTION :TRIS(A〜C?),OPTION_REGにWの値入れる OPTION_REGナンテソンナニ変更スル?
RESET : ソフトウェアリセット
ADDFSR : FSRに定数(-32〜+31)加算
MOVIW,MOVWI : INDFとのやり取りがパワーアップ FSRに対して[PRE/POST][+1/-1]や定数off可能

16bit幅で2本になったFSR周りはだいぶ使いやすくなっていそう
0x2000以降に バンク毎にコマ切れだったRAMが連続配置されているし
0x8000以降にはプログラム領域の下位8bitはマッピングされて読めるようになっている
939774ワット発電中さん:2011/02/12(土) 15:17:05 ID:vyZz/NLd
RAMが連続してるのは、コンパイラが楽できるので、
謎のバグが激減するに違いない
HI-TECH Cは未だにそのへんに怪しい部分が残ってる
940774ワット発電中さん:2011/02/12(土) 16:53:36 ID:5HNwjA24
すいません!
mikroBasicは、あまり使われていないのですか?
941774ワット発電中さん:2011/02/12(土) 17:51:47 ID:WQjYfzoa
教えてください。

そもそも論ですが、PICは外部水晶の1/4のクロックで動いています。
なぜ1/4するのでしょうか? AVRだってH8だって原振のままで動くのにです。
原振周波数で動けば、もっと高速に処理できるのに・・・・と思うのです。

世の中の製作例を見ると、PICが圧倒的に多いですが、液晶表示するとか
ちょっと高速な処理になると、必ずAVRとかH8になっていて、
ちょと残念なんです。
942774ワット発電中さん:2011/02/12(土) 18:02:07 ID:ut1KzCJ2
原振のまま動いてるよ、ただ1命令が4ステップなだけ
943natu:2011/02/12(土) 18:33:01 ID:6mSiu+FF
1命令は8サイクルだぞ。
パイプラインで表向き4サイクルに見えるだけ。
944774ワット発電中さん:2011/02/12(土) 18:40:32 ID:zpTvXb/T
そこで素朴な疑問

AVRやH8は命令サイクルがなんで1クロックで完了できるんだ?
内部であげてるのか?
石の内部構造まではしらんがどっかでわかる?
945774ワット発電中さん:2011/02/12(土) 18:41:41 ID:zpTvXb/T
natuさんありw

パイプライン処理のお陰か
って、PICってパイプラインしてないん?
命令先読み実行とか予測とかなし?
946774ワット発電中さん:2011/02/12(土) 18:44:37 ID:vyZz/NLd
実行は4クロックだろ
フェッチにも4クロック要るというだけで

1サイクル=4クロック
という定義なので、サイクルという語を不用意に使うと混乱するぞ
947774ワット発電中さん:2011/02/12(土) 19:47:30 ID:ZNEZqvb5
>936
秋月で 1個 ¥80 って555不要論とか出そうだな。
かなりのICを駆逐できる。
948774ワット発電中さん:2011/02/12(土) 19:51:36 ID:dX8srLV+
PICの32MHzは実質AVRの4MHzぐらいかな
949774ワット発電中さん:2011/02/12(土) 20:03:09 ID:ut1KzCJ2
さっき真面目に答えたけど、この流れって定期的に湧く
AVRの宣伝のパターンね

巣に帰れよ
950774ワット発電中さん:2011/02/12(土) 22:22:49 ID:pJt2aWbP
まあAVRの方が洗練されてると思うけど、PIC16Fだって良い所はあるよ
AVRはレジスタが32本と多いけど、レジスタ間演算しかできないからRAM上のデータを演算
しようとすると ロード,演算,ストアが必要、極端な例だと
 LDS R16,MEM1
 INC R16
 STS MEM1,R16
PICだと1命令
 INCF MEM1,f

PIC16FはRAMの方がレジスタでWはあくまでワーキングという思想なんでしょうね、そう考えると
引き算の前後が逆になっているのもわかるような気がする。
951774ワット発電中さん:2011/02/12(土) 22:50:48 ID:vyZz/NLd
そういえば新しい16FってTRIS命令あるよね
なんで?
952774ワット発電中さん:2011/02/12(土) 23:50:43 ID:pJt2aWbP
>951
今回の増えた命令でOPTIONとTRISはメリットがよくわからないね。頻繁にアクセスする所じゃないし
TRISxはプログラムの途中で書き換えることもあるけど、OPTION_REGなんて初期設定で書き込んだら
プログラム途中でアクセスする事なんて無いんじゃないか。

個人的には次の1命令の間だけ有効なBANK設定とか欲しかったな(難しいだろうけど)
953774ワット発電中さん:2011/02/13(日) 19:19:13 ID:SBAmxhW6
「将来はないよ! 使うなよ!」と言い続けたけど使う人多数で、
しかたなく公式に認めただけじゃね?
954774ワット発電中さん:2011/02/13(日) 19:45:59 ID:9tPXzUo9
TRISに書き込むよりTRIS命令の方が高速なんでしょう

普通は初期設定の時しか使わないけど、
オープンコレクタとかで頻繁に切り替える用途の時に
威力を発揮する、かもしれない
955774ワット発電中さん:2011/02/13(日) 22:44:50 ID:N1As8mhh
ビットコピー命令は欲しいね。
IOにグリッジなしでビットコピーしようとすると4命令必要とか…
48MHz動作でも3MIOPSしか出ないなんて…
956774ワット発電中さん:2011/02/14(月) 01:53:36 ID:wjJZPn2T
グリッジって?
957774ワット発電中さん:2011/02/14(月) 01:54:33 ID:05hNRv9K
タッチセンサやUART、SPI、PWMを好きな個数、好きなポートに出せる機能に惹かれてしばらくPSoCに浮気してたけど
いつの間にかPICにも静電センサ付いてるしPIC24だと周辺機能のポート変更機能あったんだな…


また戻ってきていい?
958774ワット発電中さん:2011/02/14(月) 09:12:48 ID:eBH+YFxA
おいで坊や
959774ワット発電中さん:2011/02/14(月) 19:07:50 ID:deR38mTT
>>956
グリッチ(glitch)のことかな?
960774ワット発電中さん:2011/02/14(月) 19:19:22 ID:SGl8EWH6
ビットコピーって?
961774ワット発電中さん:2011/02/14(月) 19:46:46 ID:sIis/gXe
19xxになってLATxが追加されたけど使い方って16bit系と同じ?
高速になったせいか、read-modify-write問題でまくりでひとまずNOPばらまき。
962774ワット発電中さん:2011/02/14(月) 22:37:46 ID:kpZrcbpa
すいません。dsPICのマイクロチップ社の
Cコンパイラのフリーのものについての質問ですが

MPLAB C Compiler for dsPIC v3.25 Standard-Eval Version

で正しいでしょうか?
The Compiler Evaluation Version is free!って書いてあるし。

間違って有料のものを選んだら、クレジットカードの番号とかを
要求されるから直ぐに分かるとか有れば問題ないのですが。

963774ワット発電中さん:2011/02/15(火) 00:51:11 ID:YaXV0hlq
電話料金と一緒に請求されるから気をつけた方がいいです。
情報料という項目です。知らない間に何万とか・・・怖い怖い。
964774ワット発電中さん:2011/02/15(火) 02:37:51 ID:XtYZTzh6
>>961
LATはPIC18Fからあるけど、使い方は同じだと思うよ。
965774ワット発電中さん:2011/02/15(火) 02:43:09 ID:XtYZTzh6
>>955
ビットコピーと考えるから難しくなる。
バイトコピーにすれば、どのPICでも問題ない。
トグルならLATにXORするという手もある。
966774ワット発電中さん:2011/02/15(火) 06:54:29 ID:017cb1W9
元々LATしか必要なかったんだけどね
967774ワット発電中さん:2011/02/15(火) 10:29:33 ID:MpRzKy3B
>>965
言ってる意味がわからん。
LATと同じ内容の変数を用意して、変数を書き換えてLATにバイトコピーする?
ビットコピーより煩雑になるし、サイクル数も増えるはず。
「xx番地のyビット目をIOピンに出力」するだけで4サイクル必要なのは覆せないよね。
968774ワット発電中さん:2011/02/15(火) 10:41:09 ID:raG/17DT
BTFSS XX,Y
GOTO HOGE1
BSF IO,X
GOGE2
HOGE1
BCF IO,X
HOGE2
969774ワット発電中さん:2011/02/15(火) 11:11:39 ID:7ig4hHcF
すみません教えてくらさい
ICSPで書き込みする場合、MCLRはポートとして使用しない場合は保護回路は不要でしょうか?
よろしこです
970774ワット発電中さん:2011/02/15(火) 11:17:54 ID:kRFOStW5
>>969
プログラム時に12Vがかかるので
それを前提にした回路(RCのリセット回路など)なら不要です。
971774ワット発電中さん:2011/02/15(火) 11:36:04 ID:7ig4hHcF
>>970さんありがとうございます
単純に、基板上の別の部品に12Vかからなければいいってことで理解してもOKですかね?
たとえばMCLRをポート(入力)として使う場合、それがプッシュボタンの場合でも書き込み中に押さなければ保護回路は不要だということでしょうか?
度々ですみません
972774ワット発電中さん:2011/02/15(火) 11:40:27 ID:ttuQchPS
>>971
万一間違えていたら責任をとって頂きます
とか続きそうな勢いだね
973774ワット発電中さん:2011/02/15(火) 11:43:32 ID:7ig4hHcF
>>972
すみませんただの電子工作なんでそれはないっすw
974774ワット発電中さん:2011/02/15(火) 12:14:12 ID:kRFOStW5
>>971
基本的にそうなるようにPICKitは作ってあるんだとおもうよ。
電流制限して電圧管理してあり異常な状態になったら
なんかランプがついてハイインピーダンスにするんじゃないかと思う。
なので、下手な回路をくっつけると全く書き込みができなくなるんじゃないかな?
憶測まじりだけど
975774ワット発電中さん:2011/02/15(火) 14:48:59 ID:MpRzKy3B
>>968
うん、だからそういう操作を1サイクルでできる命令が欲しいって話。
976774ワット発電中さん:2011/02/15(火) 19:32:52 ID:or5zzs3k
>>963の方のレスで多分無料ということは
わかったのですが、どなたか、>>962
真面目なレスしてくれませんか?
977774ワット発電中さん:2011/02/15(火) 22:17:30 ID:ByYEcTJ1
>>967
「xx番地のyビット目をIOピンのyビット目に出力」を複数ビットで行うなら効果があるかもしれないという程度だよ。
ポート直と組み合わせる時は、マスク処理に手間が掛かるからね。
978774ワット発電中さん:2011/02/17(木) 08:30:26 ID:zoDxZRRt
>>976
中高生?
何をそんなにビビってるのかが分からない
979774ワット発電中さん:2011/02/17(木) 15:40:56 ID:Q/4M11x5
>>976
バーカ
980774ワット発電中さん:2011/02/17(木) 15:54:06 ID:pVNkp+g5
別に有料だろうが、だまって使ってればいいじゃない。
981774ワット発電中さん:2011/02/17(木) 16:36:46 ID:0hNAkPwp
>>976
ここの住人はアセンブラ最高主義だから
C言語に対してコンプレックスがあるんですよw
空気よみなさいね
982774ワット発電中さん:2011/02/17(木) 17:46:45 ID:xnTpKyfM
振り込め詐欺にでもあって慎重になってるんだろ。
983774ワット発電中さん:2011/02/17(木) 18:22:49 ID:EVxD0pfX
ネットリテラシーの講義でも聞いたんじゃね?
最近はそういうのやるって連絡帳に書いてあったな
984774ワット発電中さん:2011/02/17(木) 19:43:24 ID:LsWdLOqd
cで遣るほど高給なチップでもないしなあ。
985774ワット発電中さん:2011/02/17(木) 21:13:11 ID:sIGslEkp
Cでやらないと無駄なストレスが溜るんだよ
986774ワット発電中さん:2011/02/17(木) 21:48:00 ID:UQduMBSN
Cでも良いシー
アセンブラでも良いアー
987774ワット発電中さん:2011/02/17(木) 21:48:58 ID:QcGhVslM
Cで書いても別のストレス
988774ワット発電中さん:2011/02/17(木) 22:11:46 ID:4c7A2A+/
ああ、なんか朝痒いよね
989774ワット発電中さん:2011/02/17(木) 23:57:31 ID:dFQEoMJ1
>>988
浅香唯?
990774ワット発電中さん:2011/02/18(金) 00:46:59 ID:v4j2TX0K
ぽりぽり。
991774ワット発電中さん:2011/02/18(金) 01:49:43 ID:Dt/uGT2P
>>971
PICkit? 3 User’s Guide (2 でも同じだと思う)
2.4 COMMUNICATION CONNECTIONS
を見た?
992774ワット発電中さん:2011/02/18(金) 22:54:38 ID:Sn06FwxC
質問
Pickit2Programmer2.61.00 + Device file1.62.03 で、PIC12F1822買ってきて書こうをしたら
No device detected となって書けない。PIC12F675は書けるのに・・・
これってPickit3じゃなきゃ使えないの?
993774ワット発電中さん:2011/02/18(金) 23:37:48 ID:3ZiXeiUU
確かにリストに無いな
994774ワット発電中さん:2011/02/18(金) 23:45:12 ID:COp10vM9
Pickit2では対応していないようですね
995774ワット発電中さん:2011/02/19(土) 00:10:45 ID:n5u4Yulf
pickit2としては対応してるけどMPLABでは使えない奴がうざい
996774ワット発電中さん:2011/02/19(土) 00:27:48 ID:0PUQB5FB
そんなのあるんだ
997774ワット発電中さん:2011/02/19(土) 00:30:49 ID:v+sPlZWv
>>992
普通に使えるだろ
デバイスデータ更新しろや
998774ワット発電中さん:2011/02/19(土) 00:39:47 ID:4wTQJDSl
>>992
手動設定
Midrange
1.8V Min
999992:2011/02/19(土) 00:41:42 ID:FklUjt+O
>>998
できた! ありがとう。
1000774ワット発電中さん:2011/02/19(土) 03:19:02 ID:PNX+K7vE
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。