PIC専用のスレ Part35at DENKI
PIC専用のスレ Part35 - 暇つぶし2ch898:774ワット発電中さん
12/02/13 19:49:33.96 /8npZcWt
原価上等よ 俺ら気合い入ってるからよォ

899:774ワット発電中さん
12/02/13 20:04:57.32 G+EC/ZrR
自分もクロックについて質問だけど、
picによっては発振子に1MΩの抵抗を
並列接続する理由は?

900:774ワット発電中さん
12/02/13 20:25:18.54 w6y+0gaw
帰還抵抗

901:774ワット発電中さん
12/02/13 20:33:45.55 iXjXZXFO
)900

名称ではなく、理由を聞かれています、軽石さん。

902:774ワット発電中さん
12/02/13 21:09:54.77 G+EC/ZrR
>>900
そうだね
ありがとう

903:774ワット発電中さん
12/02/13 21:35:19.42 p2PGvhtx
だれか、PIC24E扱っている人いないかい?
別に、知らないことを聞きたいんじゃなくて、
物珍しいから、使っている人がいないかなぁっておもっただけ。

趣味の工作なのに、わざわざ海外から取り寄せたし。

904:774ワット発電中さん
12/02/13 22:39:27.46 9kxMmbJ8
>>海外から取り寄せ

下手な国内業者から買うより余程早くて安いけどね

905:774ワット発電中さん
12/02/13 23:00:50.85 1eaQQRy3
PIC16F57マイコンデジタル時計キットVer.3(卓上型)
を使って作った自慢のプログラムを誰か披露してくれませんか?

906:774ワット発電中さん
12/02/13 23:38:02.24 jOlAqpCB
秋月に著作権あるんじゃないの?

907:774ワット発電中さん
12/02/14 00:15:29.28 kMv/IQ/S
AVRで同じようなのをスクラッチで作ったよ
JJYとGPSからの時刻取り込み機能付きのやつ
PICじゃないのが残念だ

908:774ワット発電中さん
12/02/14 01:52:29.03 ubrLiEI3
キット品を買ってあえて別の物を作ろうってことだな!ちょっと面白そうだ。
キット自体高いからあまりやりたくはないけど。

909: ◆yaya/99832
12/02/14 16:34:54.98 jz6MTVL0
質問です (´・ω・`)

【目的】
3.3Vで動く回路上のPICに、Pickit3(ICSP)でプログラムしたい。

【状況】
回路に Pickit3 を繋げて、MPLAB IDE の 『Program』 をクリックすると、
新品の PIC には 1度だけプログラムを書き込める。
もういちどプログラム(つまり、そのPICに上書き)しようとすると、次のようなエラーが出て、
プログラムできない。
  --------
  Address: 00000000 Expected Value: 00000025
  Received Value: 00000000 (※ 00000fff となるケースもあり)
  Programming Failed
  --------
ここで使用したのは、PIC12F509です。
念のため、3個の個体を入れ替えながら3回試してみたが、いずれも状況は同じ。

【進展】
回路の電源を5Vに変更してみたら、あっさりうまくいった(2度目以降の上書きプログラムができた)。

【質問】
電源を5Vにすればよいと分かったので、それで解決といえば解決だけど、
LEDとかがまぶしくてイラッとするので、できれば3.3V電源のままでICSPできるようにしたい。
回路の電源部分に、インダクタとかで5Vに昇圧する回路をくっつけて、プログラムするときだけ
スイッチでそっちに切替える・・・という強引な方法は思いついたんですが・・・
できればもっとスマートに解決できないでしょうか?
よろしくお願いします (´・ω・`)



910:774ワット発電中さん
12/02/14 17:02:32.01 LmDUsOWv
>LEDとかがまぶしくてイラッとするので
LEDの上にシールでも貼ったら?

911:774ワット発電中さん
12/02/14 17:15:50.38 LdjdZXcm
5V電源にして、使うときだけ3.3Vにレギュレータで落とす

912:774ワット発電中さん
12/02/14 20:57:33.74 oB3HTEPp
>>909
書き込み時はPickit3から電源を供給するとか。
切り替えがスイッチ以上に面倒か…

913:774ワット発電中さん
12/02/14 21:24:00.80 eQC/p+wq
PIC初心者です。
SPIを使ったPIC間通信がうまくいかず、行き詰まってしまったので質問させてください。
言語はC言語で、コンパイラはC18,C30を使用しています。
PIC24FJ64GB002(以降GB002)をマスター、PIC18F26K22(以降26K22)をスレーブとしています。
両方ともクロックは外部8MHzを、4倍にして使用しています。
ピン接続は以下のようになっています。(SSは今回使用しません)
GB002 | 26K22
SDO1: RB3(RP3) | SDI2: RB2
SDI1: RB2(RP2) | SDO2: RB3
SCK1: RB1(RP1) | SCK2: RB1

GB002のRB15にスイッチ、RB7,8にLEDがついています。
26K22にはRB0にLEDがついています。
GB002のスイッチを押すと、SPI通信で26K22にデータを送り、データがきちんと届いたら26K22のLEDを光らせるテストプログラムを作成していました。
しかし、スイッチを押しても26K22側のLEDはつかないため、通信がきちんと行われていないものと思われます。
どうすればきちんとSPI通信が行えるでしょうか?どなたかご教授していただけませんか?
以下にソース(main関数)を記述します。
//GB002
int main(void){
// 内蔵Pull up setting
CNPU1 = 0x1800;// CN0~15
CNPU2 = 0x0000;// CN16~CN30
// Disable Watch Dog Timer
RCONbits.SWDTEN = 0;
// SPI port setting
RPOR1bits.RP2R = 8; // RP1 is SCK output
RPINR20bits.SDI1R = 2; // RP2 is SDI Input
RPOR1bits.RP3R = 7; // RP3 is SDO Output
// all A/D converter disabled
AD1PCFG = 0xFFFF;
TRISA=0;
TRISB=0;
TRISBbits.TRISB2 = 1; // SDI port
TRISBbits.TRISB15 = 1;
PORTA=0;
PORTB=0;
SPI1Init();
CloseSPI1();
#define config1 (SPI_MODE16_OFF |SPI_SMP_ON | MASTER_ENABLE_ON | SEC_PRESCAL_4_1)
#define config2 (FRAME_ENABLE_OFF)
#define config3 (SPI_ENABLE)
OpenSPI1(config1,config2,config3);
ConfigIntSPI1(SPI_INT_EN | SPI_INT_PRI_4);
// main loop start
while(1){
if(PORTBbits.RB15 == 0){
// SPI start
// スイッチを押すとRB8のLEDがつき、通信が終わるとRB7のLEDがついて、RB8のLEDが消える。
PORTBbits.RB8=1;
PORTBbits.RB7=0;
WriteSPI1(0x01);
while(SPI1STATbits.SPITBF);
PORTBbits.RB7=1;
DelayMs(500);
PORTBbits.RB8=0;
}// SPI end
}// main loop end
CloseSPI1();
return 0;
}

914:774ワット発電中さん
12/02/14 21:24:40.16 eQC/p+wq
>>913 つづきです

//26K22
void main(void){
char data=0;
// all ADconverter disabled
ANSELA = 0xffff;
ANSELB = 0xffff;
ANSELC = 0xffff;
TRISA=0;
TRISB=0;
TRISC=0;
PORTA=0;
PORTB=0;
PORTC=0;
PORTBbits.RB0=0;
// SPI Init
CloseSPI2();
OpenSPI2(SLV_SSOFF,MODE_01,SMPMID);
TRISBbits.RB1 = 1; // SCK in
TRISBbits.RB2 = 0; // SDO
TRISBbits.RB3 = 1; // SDI
while(!DataRdySPI());
data = SSPBUF;
if(data != 0)
PORTBbits.RB0 = 1;
//while( PIR1bits.SSPIF!=1 );
CloseSPI2();
while(1);
}

915: ◆yaya/99832
12/02/14 21:35:38.08 jz6MTVL0
>>912
Pickit3からの給電で書き込めるんでしょうか?
Pickit3の要件 (中に入ってたポスターみたいな奴のRecommended Settings の欄)
によれば、『Power: Supplied by target』 となっています。
使い方の手順にも 『Connect power to the target board』 と書いてあるし・・・(´・ω・`)

>>909 はいまいち質問の書き方が悪かったですが、私の本音としては、
できれば 『3.3V のまま(電圧を上げるなどの細工をすることなく)PICに書き込むための条件』
を、いちばん知りたいです。

ポスターの説明書には、PICの電源については 『Target Vdd』 としか書いていません。
ポスターに電源に関する追加条件などが記されていない以上、 “うまくやれば” PIC本体の
データシートどおりの電圧 (つまり最低 2.0V) だけで、きちんと書き込める “はず” だと
思うんですが・・・ (´・ω・`)

どなたか Pickit3で、3V前後の target Vdd のまま書き込めた人はいないでしょうか? (´・ω・`)

916:774ワット発電中さん
12/02/14 21:46:01.21 cvD7gf/c
>>912
c30のspi通信はマスター側がデータを送信することで
マスターの送信データとスレーブの送信データが交換される仕組みみたいだよ。

プログラムとしてはスレーブ側の
while(!DataRdySPI());
の前に
SPI1BUF = 0xFF;   or WriteSPI1(0xFF);
を入れてみて。



917:774ワット発電中さん
12/02/14 21:47:00.92 cvD7gf/c
>>912じゃなくて>>913

918:774ワット発電中さん
12/02/14 21:48:38.03 CqEulPYk
>>915
書込みは4.5V以上ってなってねぇか
ムリすれば消去以外はできるようだが


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch