[戻る]
新着表示

書き込み 投稿者:uruma 投稿日:2018/04/13(Fri) 17:12:25 No.1140

全くのPIC初心者です
PIC32MX340でクロックとリセットだけ入れてPGEC2,PGED2でmikroprogを使って書き込もうとしたんですが、全く認識さえしてれません
あと何を確認すればいいんでしょうか・・・

Re: pic16f688のデバッグ 投稿者:Gokan 投稿日:2018/04/05(Thu) 16:00:10 No.1137

これはDebug Headerが必要なデバイスに関わる問題です。
PIC16F688はピン数が少ないためデバッグをする際には
別途Debug Header(AC162056)というハードが必要です。
しかし、TSSOPではセットできないのでデバッグは無理ですね。

逆にプログラム書き込みモードの場合は、このDebug Headerを
使わない設定にする必要があります。
この設定は、[File]→[Project Properties]で開くダイアログで
[Supported Debug Header]の欄をNoneにする必要があります。

最新のMPLAB X IDEは4.15です。更新された方が良いと思います。


> お世話になります。
> PIC16F688を初に使用しています。パッケージは14pinTSSOPです。PICKIT3、MATLAB X IDE v2.26を使用してデバッグモードでプログラミングを行ったところ、次のメッセージが表示されます。
> Programming/Verify complete
> The target device is not ready for debugging.
> Please check your configuration bit settings and program the device before proceeding.
> The most common causes for this failure are oscillator and/or PGC/PGD settings.
>
> また、プログラム書き込みモードのアイコンをクリックして行うと
> BUILD SUCCESSFUL (total time: 1s)
> Loading code from C:/Masakichi/Job/-19s/csm02_RelayDriverWithTemp/20180324_TmpCtrl/TCtrl/Tctrl.X/dist/default/production/Tctrl.X.production.hex...
> Loading completed
> Cannot program a production build to a debug header.
> と表示されます。デバッグできる環境をどうすれば構築できますでしょうか。また、プログラム書き込みも同様です。よろしくお願いいたします。

pic16f688のデバッグの仕方 投稿者:金子正吉 投稿日:2018/04/04(Wed) 17:46:51 No.1136

お世話になります。
PIC16F688を初に使用しています。パッケージは14pinTSSOPです。PICKIT3、MATLAB X IDE v2.26を使用してデバッグモードでプログラミングを行ったところ、次のメッセージが表示されます。
Programming/Verify complete
The target device is not ready for debugging.
Please check your configuration bit settings and program the device before proceeding.
The most common causes for this failure are oscillator and/or PGC/PGD settings.

また、プログラム書き込みモードのアイコンをクリックして行うと
BUILD SUCCESSFUL (total time: 1s)
Loading code from C:/Masakichi/Job/-19s/csm02_RelayDriverWithTemp/20180324_TmpCtrl/TCtrl/Tctrl.X/dist/default/production/Tctrl.X.production.hex...
Loading completed
Cannot program a production build to a debug header.
と表示されます。デバッグできる環境をどうすれば構築できますでしょうか。また、プログラム書き込みも同様です。よろしくお願いいたします。

Re: PIC24F SFR 投稿者:Anken 投稿日:2018/04/04(Wed) 16:30:44 No.1135

最近WEB検索で私の質問が出てきました。ご返信ありがとうございます。テキサスインスツルメントや、Renesasもかじっておりまして、遠回りは相当なものです。C言語やりながら、組み込みマイコン。LED点滅とかはできるのですが、マイコンの全体像がわからないみたいです。先生の本をもう一度頭から読み、マニュアルも読んでいます。バルーンさんのはIDEになるのでしょうか?便利そうですが、まだ手が出せません。

MicroElectronikannの評価ボード、dsPICF-300(ボードにはEasy24-33v6とありますが)これに付属していた、CDのmicro Pro for dsPICという統合開発環境でプログラムをコンパイルからデバッグ、CPUへの書き込みを行っていまして、コンパイルやデバッグという意識も無い訳です。
例題はそこそこできてしまいます。このIDEですか?便利すぎるようです。また、アナログだと三角波発振回路と直流電圧をコンパレータで比較すればPWM波形は簡単にでますが、マイコンのマニュアル、言っていることはわかりますが、いざ自分のやりたいこととなると、理解が足りないです。一昨年12月にPIC16F1705でPWMを出せるようになり、ほぼ1年間、時々C言語やりながら、コンバータの実験をいろいろやっていまして、概ね課題も分かってきたので、さて、さらにグレードアップというところで、初心者。マイコンやるのも1年ぶりです。御返事いただいていたことも最近まで知りませんでした。WEBも含めて、マイコンの世界が分かっていないのです。申し訳ないです。

スリープ時のタイマー1の動作 投稿者:sontonsan 投稿日:2018/03/29(Thu) 21:29:55 No.1134

追記
PIC16F1938を利用しDHT22を1時間おきに起動させ、その時の温度を考慮しFANを稼動できないか考え中です。
外付け部品を少なくする目的で、容量検知オシレータ設定の方法をお願いいたします。

スリープ時のタイマー1の動作 投稿者:sontonsan 投稿日:2018/03/29(Thu) 08:19:32 No.1132

内部オシレーター LFINTOSC の使い方が判らず教えてください。
スリープ時もカウントして欲しいと考え作りました、ものを添付いたします。
スリープ部はまだかんせいしておりませんがよろしくお願いいたします。
//Timer1設定 
//基本設定OSCCON = 0b01101010;// 内部オシレーター 4MHz
T1CONbits.TMR1CS = 0b11;//
T1CONbits.T1CKPS = 0b00;//
T1CONbits.nT1SYNC = 0;//
T1CONbits.T1OSCEN = 1;
PIR1bits.TMR1IF = 0;
T1GCONbits.TMR1GE = 1;
TMR1H = 0x00;
TMR1L = 0x00;
PIE1bits.TMR1IE = 1;//Timer1割り込み許可
T1CONbits.TMR1ON = 1;//Timer1 スタート

//割り込み許可部
INTCONbits.PEIE = 1;//周辺割り込み許可
INTCONbits.GIE = 1;//全体割り込み許可

//
//割り込み関数
void interrupt ISR(void)
{
//1番
if (INTCONbits.IOCIF == 1){//状態変化割り込み判定
//
if (IOCBFbits.IOCBF5 == 1){//RB5の状態変化割り込み判定
__delay_ms(20);//チャタリング回避
if (PORTBbits.RB5 == 1){
// ボタンが離されたら先に進む(チャタリング防止)
__delay_ms(20);
while(PORTBbits.RB1 == 0);
__delay_ms(20);
//
IOCBFbits.IOCBF5 = 0;//状態変化割り込みポートクリアー
//LCDによる値確認
FAN_POWER = 0;//fan停止
LCD1602_POWER_ON();//LCD1602電源投入
led_chk^ = 1;
__delay_ms(5000);
LCD1602_POWER_OFF();//LCD1602電源遮断
}
}
INTCONbits.IOCIF = 0;//状態変化割り込みフラグクリアー
}
//1番終了
//
//2番手
if (PIR1bits.TMR1IF == 1){//Timer1割り込み判定
PIR1bits.TMR1IF = 0;//割り込みを初期化
TMR1H = 0x68;//再セット 10秒
TMR1L = 0xA2;
led_chk^ = 1;
}
//2番手終了
}

Re: ポートの名前で制御 投稿者:sontonsan 投稿日:2018/03/06(Tue) 22:38:14 No.1125

できました。
すいませんスペルミスがありました。
> ポートに名前をつけることができたのでLEDを点滅させてみましたが、点滅しません。
> RA1書式では点滅いたします。
> 書式および記述方法のご指導をお願いいたします。
>
> #define DHT22_POWER_PIN PORTAbits.RA1//DHT22電源のON/OFF
> #define DHT22_PIN_Direction TRISAbits.TRISA1//入出力制御 TRISA1 0=OUTPOT/1=INPUT
> //----- DHT22_電源投入関数
> void DHT22_POWER_ON(void)
> {
> DHT22_PIN_Direction = 0;//RA1=OUTPUT
> DHT22_POWER_PIN = 1; //RA1=Hi
> __deray_ms(10);
> }
> //----- DHT22_電源遮断関数
> void DHT22_POWER_OFF(void)
> {
> DHT22_PIN_Direction = 1;//RA1=INPUT
> DHT22_POWER_PIN = 0; //RA1=Low
> __deray_ms(10);
> }
> while(1)
> {
> //RA1=1;
> DHT22_POWER_ON;
> __delay_ms(250);
> //RA1=0;
> DHT22_POWER_OFF;
> __delay_ms(250);
> }

ポートの名前で制御 投稿者:sontonsan 投稿日:2018/03/06(Tue) 21:27:42 No.1124

ポートに名前をつけることができたのでLEDを点滅させてみましたが、点滅しません。
RA1書式では点滅いたします。
書式および記述方法のご指導をお願いいたします。

#define DHT22_POWER_PIN PORTAbits.RA1//DHT22電源のON/OFF
#define DHT22_PIN_Direction TRISAbits.TRISA1//入出力制御 TRISA1 0=OUTPOT/1=INPUT
//----- DHT22_電源投入関数
void DHT22_POWER_ON(void)
{
DHT22_PIN_Direction = 0;//RA1=OUTPUT
DHT22_POWER_PIN = 1; //RA1=Hi
__deray_ms(10);
}
//----- DHT22_電源遮断関数
void DHT22_POWER_OFF(void)
{
DHT22_PIN_Direction = 1;//RA1=INPUT
DHT22_POWER_PIN = 0; //RA1=Low
__deray_ms(10);
}
while(1)
{
//RA1=1;
DHT22_POWER_ON;
__delay_ms(250);
//RA1=0;
DHT22_POWER_OFF;
__delay_ms(250);
}

Re^2: ポートの定義方法 投稿者:sontonsan 投稿日:2018/03/06(Tue) 19:59:29 No.1123

ドンピシャです
ありがとうございました
> xc.hをincludeすればすべてのポート、レジスタは定義されていますから定義を追加する必要はありません。
>
> 記述は
>   PORTAbits.RA0=1; などとします。
>
> ピンに名前を付けたいときは
>
> #define DIR TRISAbits.TRISA0
>
> として
>
>   DIR=0;  とします
>
>
>
> > ポートの定義方法と使い方を教えてください
> >
> > #byte PORTA=4
> > #bit DATA_PIN=POTRA,0
> > #bit DATA_DIR=TRISA,0
> > 設定は完了
> >
> > 記述
> > DATA_DIR=0;//RA0出力
> > DATA_PIN=0;//RA0_LOWを出力
> >
> > PIC16F84A
> > IDE4.15
> > XC8_1.45
> > ご指導をお願いいたします

Re: ポートの定義方法 投稿者:Gokan 投稿日:2018/03/06(Tue) 17:00:17 No.1122

xc.hをincludeすればすべてのポート、レジスタは定義されていますから定義を追加する必要はありません。

記述は
  PORTAbits.RA0=1; などとします。

ピンに名前を付けたいときは

#define DIR TRISAbits.TRISA0

として

  DIR=0;  とします



> ポートの定義方法と使い方を教えてください
>
> #byte PORTA=4
> #bit DATA_PIN=POTRA,0
> #bit DATA_DIR=TRISA,0
> 設定は完了
>
> 記述
> DATA_DIR=0;//RA0出力
> DATA_PIN=0;//RA0_LOWを出力
>
> PIC16F84A
> IDE4.15
> XC8_1.45
> ご指導をお願いいたします

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |

- WebForum -