困っています

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kousuke

困っています

#1

投稿記事 by kousuke » 4年前

最近C言語を始めたものですが、
coronというマイコンボードに温度センサlm35とサーボモータを接続し、温度入力時に温度の値がA/D変換された値になるのでその移動平均をとり、数回一定の値が入力された時にその値によってモータが違う稼動をする、つまり温度ごとにモータの出力を変えるプログラムを作成しようとしましたが、a/d変換の値と温度で移動平均を計算するという部分が分からないです。
以下、コードになります。



コード:

#include "stm32f10x_lib.h"	//STマイクロライブラリ
#include "coron_lib.h"		//Coron専用ライブラリ


 char mtn_cmd;
 int main (void){
	
	int x,y;
	
	coron_init();		//Coron専用ライブラリ初期化
	
	wait_timer_msec(500);	//500msec待機
	   	LD1_ON;					//LD1を点灯
		wait_timer_msec(500);	//500msec待機
	    LD1_OFF;				//LD1を消灯
	   	LD2_ON;					//LD2を点灯
		wait_timer_msec(500);	//500msec待機
	   	LD2_OFF;				//LD2を消灯
	   	LD3_ON;					//LD3を点灯
		wait_timer_msec(500);	//500msec待機
	   	LD3_OFF;				//LD3を消灯
	   	
	   	while(SW_USER);		//SW_USERが押されるまで待機
	   	wait_timer_msec(500);	//500msec待機
	    AD_enable();		//AD入力の許可
	    coron_IOA_ADValue[0],3; 
	    RC_enable();		//PWM信号の出力許可(初期出力 PWM->1500us)
	   
	             
	    
	    y= coron_IOA_ADValue[0],3;  //yはa/d変換の値、xは温度
	   
      
	          			      
	 while (1) {
		 

   		if(x>=19&&x<=21){mtn_cmd='h';}
   		else if(x>=20&&x<=22){mtn_cmd='S';}
   		else if(x>=23&&x<=25){mtn_cmd='a';
   		}else if(18>x){mtn_cmd='s';}
   	
   		
   		//動作コマンドから動作を表出
  		
   		switch(mtn_cmd){  //以降は稼動プログラム
c言語初心者なので質問にまともに答えられないかもしれないですが、ご教授して頂けると幸いです
よろしくお願いいたします

“C言語何でも質問掲示板” へ戻る