[戻る]
新着表示

Re^5: C30で24Fの入出力 投稿者:坂本 准一 投稿日:2018/01/22(Mon) 14:48:31 No.1103

>有難うございました。
C30やCCSからXC16に時代は移っていたんですね。(汗)
でもCCSは使いやすいです。後閑先生の詳しい解説書のお蔭でもありますが。。。
今後とも宜しくお願いいたします。



下記の資料が良いかと思います。
>
> MPLAB® XC16 User's Guide for Embedded Engineers
>
> 下記からダウンロードできます。
>
> http://www.microchip.com/mplab/compilers
>
> マイクロチップジャパンに日本語版がありますね。
>
>
>
> > 有難うございました。
> > PIC24F活用ガイドブックを何度か読み返してみたのですがそれに関する記述が見つかりませんでした。
> > C30に関する詳細がわかる書籍などありましたら教えてください。

Re^2: どっち? 投稿者:五莉 投稿日:2018/01/22(Mon) 12:03:16 No.1102

> リピートスタートの開始なのでRSENでよいと思います。
>
> > はじめまして。
> > 「I2Cのマスタモードの使い方」の
> > 【マスタ側の受信動作の概要】(7) に、
> > 「次の送受信を開始するために、RSENビットをセットして」とありますが
> > RSENではなくRCENではないでしょうか?
ダイアグラムではRCENと書かれているように見えますが。。。
RSENが正解ならそれで良いです。

Re^4: C30で24Fの入出力 投稿者:Gokan 投稿日:2018/01/22(Mon) 09:20:54 No.1101

下記の資料が良いかと思います。

MPLAB® XC16 User's Guide for Embedded Engineers

下記からダウンロードできます。

http://www.microchip.com/mplab/compilers

マイクロチップジャパンに日本語版がありますね。



> 有難うございました。
> PIC24F活用ガイドブックを何度か読み返してみたのですがそれに関する記述が見つかりませんでした。
> C30に関する詳細がわかる書籍などありましたら教えてください。

Re^3: C30で24Fの入出力 投稿者:坂本 准一 投稿日:2018/01/22(Mon) 07:51:25 No.1099

有難うございました。
PIC24F活用ガイドブックを何度か読み返してみたのですがそれに関する記述が見つかりませんでした。
C30に関する詳細がわかる書籍などありましたら教えてください。

Re^2: C30で24Fの入出力 投稿者:坂本 准一 投稿日:2018/01/22(Mon) 07:42:46 No.1098

> レジスタに16ビットで直接代入します。
>
>   LATA = 0x000F; 
> data = PORTA;
>
>  など
>
>
> > C30で24FのI/Oポートにまとめて8ビット分入出力するする方法がわかりません。
> > CCSではoutput_b()やinput_b()で8ビットまとめて入出力できたのですが。。

Re^6: 暴走リセットできません 投稿者:bit2033 投稿日:2018/01/21(Sun) 22:39:20 No.1097

スミマセン、質問に間違いがありました。m(_ _)m
× RTCCハードリセットも受け付けされず
○ MCLRハードリセットも受け付けされず

通常はMCLRピンに5Vを印加しておいて、一瞬GNDに落とし、再び5Vを印加すると、リセット再起動する機能のことです。

さて、暴走後のリセット方法は不明なので、暴走が発生しないようにあれこれやってみたところ、対策できましたので報告します。
結論は、スターターリレーのコイル側に、おまじないのダイオードを1個付けただけです。ダイオードは手持ち在庫の1000V1Aです。
あら不思議という感じで、ぴたっと治まったのです。そのダイオードを付けたり外したり、何回も確認したので間違いありません。たった10円くらいの電子パーツです。
ちなみに、メーター別電源化は既に試していました。(GNDは共通で。)リン酸鉄リチウムバッテリー3.3Aは高かったのに、直りませんでした。

kkkさん、通りがかりさん、ありがとうございました。

Re: C30で24Fの入出力 投稿者:gokan 投稿日:2018/01/21(Sun) 21:31:32 No.1096

レジスタに16ビットで直接代入します。

  LATA = 0x000F; 
data = PORTA;

 など


> C30で24FのI/Oポートにまとめて8ビット分入出力するする方法がわかりません。
> CCSではoutput_b()やinput_b()で8ビットまとめて入出力できたのですが。。

Re: エラーの原因 投稿者:gokan 投稿日:2018/01/21(Sun) 21:28:56 No.1095

#define文には;は要りません。



> 使用しているコンパイラは、C18です。
>
>
> 次のエラーの原因が分からず困っています。
>
> エラー: [1130] pointer operand required for '*' operator
>
>
> このエラーが発生している場所は、★印の3ヵ所です。
>
> PID制御用の変数を#defineで定義しています。
> Kp, Ki, Kdの所だけ、エラーが発生しますが、理由が分かりません。
> DELTA_Tの所は、エラーとなりません。
>
> #define DELTA_T 0.01; //10msec
> #define Kp 2.0; //PID係数
> #define Ki 0.0; //PID係数
> #define Kd 0.0; //PID係数
>
> また、次のように変数を定義するとエラーは発生しませんが、
> DELTA_Tだけが「Out of scope」となってしまいます。
> //static signed double DELTA_T=0.01; //処理周期 10msec
> //static signed double Kp=2.0; //PID係数
> //static signed double Ki=0.0; //PID係数
> //static signed double Kd=0.0; //PID係数
>
>
> void main(void){
>
> 省略
>
> }
>
>
>
> void pid(void)
> {
> diff[0]=diff[1];
> diff[1]=sensor_val-target_val;
> integral+=(diff[1]+diff[0])/2.0*DELTA_T; //○
>
> p=Kp*diff[1]; //★
> i=Ki*integral; //★
> d=Kd *(diff[1]-diff[0])/DELTA_T; //★
>
> mv=p+i+d;
> PWM(mv);
>
> }

C30で24FのI/Oにまとめて入出力 投稿者:坂本 准一 投稿日:2018/01/20(Sat) 13:02:01 No.1094

C30で24FのI/Oポートにまとめて8ビット分入出力するする方法がわかりません。
CCSではoutput_b()やinput_b()で8ビットまとめて入出力できたのですが。。

エラーの原因 投稿者:PIC初心者 投稿日:2018/01/19(Fri) 10:55:16 No.1093

使用しているコンパイラは、C18です。


次のエラーの原因が分からず困っています。

エラー: [1130] pointer operand required for '*' operator


このエラーが発生している場所は、★印の3ヵ所です。

PID制御用の変数を#defineで定義しています。
Kp, Ki, Kdの所だけ、エラーが発生しますが、理由が分かりません。
DELTA_Tの所は、エラーとなりません。

#define DELTA_T 0.01; //10msec
#define Kp 2.0; //PID係数
#define Ki 0.0; //PID係数
#define Kd 0.0; //PID係数

また、次のように変数を定義するとエラーは発生しませんが、
DELTA_Tだけが「Out of scope」となってしまいます。
//static signed double DELTA_T=0.01; //処理周期 10msec
//static signed double Kp=2.0; //PID係数
//static signed double Ki=0.0; //PID係数
//static signed double Kd=0.0; //PID係数


void main(void){

省略

}



void pid(void)
{
diff[0]=diff[1];
diff[1]=sensor_val-target_val;
integral+=(diff[1]+diff[0])/2.0*DELTA_T; //○

p=Kp*diff[1]; //★
i=Ki*integral; //★
d=Kd *(diff[1]-diff[0])/DELTA_T; //★

mv=p+i+d;
PWM(mv);

}

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

- WebForum -