掲示板


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

記事No 1093
タイトル エラーの原因
投稿日 : 2018/01/19(Fri) 10:55:16
投稿者 PIC初心者
参照先
使用しているコンパイラは、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 -