掲示板


[記事リスト] [返信する] [新着記事] [過去ログ] [ワード検索] [留意事項] [管理用]

記事No 1095
タイトル Re: エラーの原因
投稿日 : 2018/01/21(Sun) 21:28:56
投稿者 gokan   <gokan@picfun.com>
参照先
#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);
>
> }

- 関連一覧ツリー (▼ をクリックするとツリーを一括表示します)


- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
おなまえ
Eメール
タイトル
メッセージ
参照先
画像UP
暗証キー (英数字で8文字以内)
投稿キー (右画像の数字を入力) 投稿キー


- 投稿記事修正/削除フォーム -
処理 No 暗証キー

- WebForum -