【16Fに】PIC専用のスレPart19【まだ新品種が!w】
まったくの新機軸
>まったくの新機軸
それはマイクロチップから見たときの話。
普通のMIPSアーキテクチャだから、あまり目新しくは無いよ。
もちろん今までのPICと比べてってことです。
でもDIPがないのでごだびんには認めてもらえない…
そこで秋月がDIP変換基板に実装した製品を販売w
H8みたいなのが、ばら撒かれるのか.
958 :
495:2008/05/30(金) 07:00:48 ID:tEB5X2Y+
>>818 もう見てないかもしれないけど、僕の場合と同じようだ。
>>501 を見て味噌。
早い話バグだねw
MICROCHIP DIRECTってクレジット決済するときSSLが外れるのだが...
某ML
> PICkit2を使って、PIC12F629へプログラム書き込みは出来ましたが、デバッグ機能はエラーが出て使えません。
ICD2でDebugするときは専用チップ使わんとダメだけど、PicKit2だとアーラ不思議なの?
#simさんの所に、K氏が沸いてる。鬱。
>PK2Error0028: Unable to enter debug mode
>NOTE: This device requires an ICD Header for debug. See "Header Specification" DS51292.
書いてあるとおり、ヘッダーボードが必要です.
ただ、別途ハードウェアが必要な理由が判りません。
ヘッダーボードは、単なるコネクタ変換機能と考えているのですが
違うのでしょうか?
以下、今日の報告です。この状況では、ヘッダーボードの有無は
無関係のように思っています。
MPLAB IDEの Debugger でPICkit2を選択すると、プログラムメモリが
0x300〜0x3FFまで”RRRR”で埋められていることが判りました。
Disassembly Listing画面で見ると、メインプログラムは0x3E0以降に
位置しており、この”RRRR”が悪さしているように思えます。
Debug ExpressのPIC16F887のサンプルプログラムでも後方0x1F00
〜1FFFまで同様に”RRRR”で埋められてしまいました。しかし、
サンプルプログラムはアセンブラで書かれており、先頭しか使って
いないためデバッグモードが動くようです。
プログラムの位置を変えて見たいのですが、どの画面で指定するのか
さっぱり判りません。”RRRR”を消す方法をご存じのかたはいらっしゃいますか?
>>962 他所の引用なら、その旨書いてね。
うっかりレスしようかと思っちまった。 ID見て気づいたけど
割り込みがうまくいかなくて困ってます。RB0での割り込みは正常に動作するのですが
RB4-RB7の割り込みだと割り込みが終了せずに割り込み動作の無限ループになってしまいます。
#include "pic.h"
static unsigned char count;
void main() {
unsigned char n;
TRISA = 0x0;
TRISB = 0xff;
count = 0;
INTCON =0b10011000;
while(1){
PORTA=count;
}
}
static void interrupt intr(void) {
count = count + INTF + RBIF;
INTCON = 0b10011000;
}
環境:MPLAB IDE v8.10(MAPLAB SIM,HI-TECH C Compiler Lite)
>>964 ポートB 変化割り込みは,ポートB が最後に読み書きされた時の値が
基準になるので,割り込み処理ルーチンの中で,ポートB にアクセス
してやれば良い筈。
>>965 ありがとうございます。下のように変更したら、うまくいきました。
static void interrupt intr(void) {
count = count + INTF + RBIF;
PORTB=0xff;
INTCON = 0b10011000;
}
967 :
774ワット発電中さん:2008/06/03(火) 08:26:38 ID:kWSO9Udu
>>967 工作よりもあれで演奏できるのがすごいと思ったよ。
>967
本人乙
PICのADは全て同じかと思っていたら、デジタルポートのPINに、VCCより高い電圧がかかると、
ADの入力PINに電圧が出てきてしまうやつがありますね。もちろん、高い電圧がかかるといっても
抵抗でクランプして、0.1mAくらい流れているだけですから、仕様上問題ないわけですがね。
16F88とか若干古いチップはOKですが、12F683辺りは多少出てきます。16F685とか886とかは
使い物にならん位ひどいです。ショットキでクランプすれば良いだけなのですが、今まで気がつかなかった。
12F675での質問です。
GPIO1 : 入力 5V電源から10kΩの抵抗を経由でGPIO2へ
GPIO0 : 出力 GPIO1から470Ω経由でLEDへ
で、入力用のGPIO1に電圧がかかったら、出力用のGPIO0からLEDを点灯、
GPIO1に電圧が掛からないときは、GPIO0へ電圧をかけないのでLED消灯。
という仕様です。
大体、このとおり動くのですが、接触のような何かの違いで
GPIO1に電圧を掛けていないのにGPIO0から電圧が掛かりLEDが点灯してしまいます。
接触とは、例えば、テスターで電圧を測る等の接触で、いきなりLEDが点灯するなどです。
どんな原因が考えられるでしょうか?
間違いです。
訂正します。
誤 GPIO1 : 入力 5V電源から10kΩの抵抗を経由でGPIO2へ
^^^^^^^
正 GPIO1 : 入力 5V電源から10kΩの抵抗を経由でGPIO1へ
5V電源と10kΩとGPIO1の間のどれかにスイッチが入っているのですか?
GPIO1はGNDへ繋がっていますか?
まったく、また間違えていました。
書き直しします。
すみません。
呆れた人は無視してください。
12F675での質問です。
GPIO1 : 入力 5V電源から10kΩの抵抗を経由でGPIO2へ
GPIO0 : 出力 GPIO0から470Ω経由でLEDへ
で、入力用のGPIO1に電圧がかかったら、出力用のGPIO0からLEDを点灯、
GPIO1に電圧が掛からないときは、GPIO0へ電圧をかけないのでLED消灯。
という仕様です。
大体、このとおり動くのですが、接触のような何かの違いで
GPIO1に電圧を掛けていないのにGPIO0から電圧が掛かりLEDが点灯してしまいます。
接触とは、例えば、テスターで電圧を測る等の接触で、いきなりLEDが点灯するなどです。
どんな原因が考えられるでしょうか?
>>976 > 5V電源と10kΩとGPIO1の間のどれかにスイッチが入っているのですか?
>GPIO1はGNDへ繋がっていますか?
はい。
5v電源→---スイッチ--10kΩ---GPIO1-----GPIO0---470Ω---LED--→GND
こんな感じです。
ごめん細かい事を質問してみたけど俺には謎過ぎてわからない。
とりあえず回路からPICと10kΩをなくして
5v--スイッチ--470Ω---LED--GND
てしたら仕様は満たせると思う。
sw切ったとき 入力が宙ぶらりんの状態になるからだろ
プルダウンしておけばならないと思うよ
>>980 >入力が宙ぶらりんの状態になるからだろ
なるほど、そういう事ですか。
ありがとうございます。
こういう現象について詳しく調べたいと思います。
手掛かりがまったく無いのですが、
とりあえず、ぐぐるとして、どんなワードがあるでしょうか?
>>979 ありがとうございます。
確かに、仕様は満たせました。
>>983 あっ、いえ、プルアップ等は理解しており回路の他の部分で使用しています。
>入力が宙ぶらりんの状態になる
この現象を理解するためにはどの様に調べればよいのかと思いまして。
アナログ回路に由来するものなのか、PICの構造に由来するものなのか等、
この際、自分の頭で理解出来るものならしたいと思います。
よろしければ、アドバイスお願いいたします。
FET, MOSFET, CMOS, 電圧, 電位, 電荷, 静電気をそれぞれググる
一通り読み終わった頃には理解しているでしょう
なるほど、
>>985さんのリンクを見た範囲では、一見PICの構造に原因があるとは読めなかった。
しかし、
>>979さんの回路では起き得ないことを考えると、やはり、PICが誤動作しているのでしょうね。
>>986さんの範囲は広いですね。まぁ、何ヶ月かかけて考えてゆきます。
>プルアップ等は理解しており
理解できてないだよ ネ。
ほげーっと読むと何ヶ月もかかり、頭にも入らないのだ
目をカッと見開いて息を止め集中し読めば数時間で終わる上に理解できるのだ
(少なくとも入力宙ぶらりんの問題までは)
だから今全力で読んだほうが良いです
>>987
そんな餌に食いついてる暇があったら、次スレ立てろ。
> 911
下らんレスつけずに自分でやれ、近藤@日湘。
あ、判ったかも知れません。
ぐぐると、「FETはコンデンサ効果があり」という部分を見つけました。
とりあえず、ブレッドボードで確認してみます。
スイッチを切ったときに、電位を逃がしてみようと思います。
出来た出来た。
ばっちりです。
皆さん、ありがとうございます。
特に、直接的なアドバイスを頂いた上に尻をたたいて頂いた
>>990さん。
感謝です。
おめ!
うめ!
うめっしゅ!
うま!
うに!
うし!
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。