//采集ADunsigned int AD1[5]={0} ; //电感1数组unsigned int BD1[5]={0} ; //电感2数组int max,max1,min,min1,i; unsigned int ave=0,ave1=0;void 函数名称() //得到386处理后电感电压 { u8 i; for(i=0;i<5;i++) { AD1[i]=Get_ADC10bitResult(2) ; BD1[i]=Get_ADC10bitResult(1) ; }-----------------------------------------------------------------------------------------------------------------------//电感控制电机部分 #define m 99#define m1 91void 函数名称() {float p1=0.35;float p2=0.17;int n,q; q=m+p1n; l=m1+p1*n;if(abs(ave-ave1)<8) { Set_PWM0(m); Set_PWM1(m); }else if(8<=abs(ave-ave1)<20){ if(ave>ave1) { n=ave-ave1; Set_PWM0(m+p2n); if(q>99) Set_PWM0(99); Set_PWM1(m-p2n); } if(ave<ave1) { n=ave1-ave; Set_PWM0(m-p2*n); Set_PWM1(m+p2*n); if(q>99) Set_PWM1(99); } }else if(100>abs(ave-ave1)>=20) { if(ave>ave1) { n=ave-ave1; Set_PWM0(m+p1n); if(q>99) Set_PWM0(99); Set_PWM1(m-p1n); } if(ave<ave1) { n=ave1-ave; Set_PWM0(m-p1*n); Set_PWM1(m+p1*n); if(q>99) Set_PWM1(99); } }else if(abs(ave-ave1)>=100) { if(ave>ave1) { n=ave-ave1; Set_PWM0(m1+p1n); if(l>99) Set_PWM0(99); Set_PWM1(m1-p1*n); } if(ave<ave1) { n=ave1-ave; Set_PWM0(m1-p1*n); Set_PWM1(m1+p1*n); if(l>99) Set_PWM1(99); } } }--------------------------------------------------------------------------------------------------------------------------//均值处理void 函数名称() { max=AD1[0];max1=BD1[0];min=AD1[0];min1=BD1[0]; ave=0;ave1=0; for(i=1;i<5;i++) { if(max<AD1[i]) max=AD1[i]; if(min>AD1[i]) min=AD1[i]; ave=ave+AD1[i]; if(max1<BD1[i]) max1=BD1[i]; if(min>BD1[i]) min1=BD1[i] ave1=ave1+BD1[i];} ave=(ave-max-min)/3; //为386处理后电感电压 所得数字量 范围0-255 ave1=(ave1-max1-min1)/3; } -------------------------------------------------------------------------------------------------------------------------------------//串口发送void 函数名称(){ //通过串口向PC发送 AD1= xxx /TxSend('A'); TxSend('D'); TxSend(1+'0'); TxSend('='); TxSend( AD1[0]/1000 + '0'); TxSend( AD1[0]%1000/100 + '0'); TxSend( AD1[0]%100/10 + '0'); TxSend( AD1[0]%10 + '0'); TxSend(' '); TxSend(' '); //通过串口向PC发送 BD1= xxx TxSend('B'); TxSend('D'); TxSend(1+'0'); TxSend('='); TxSend( BD1[0]/1000 + '0'); TxSend( BD1[0]%1000/100 + '0'); TxSend( BD1[0]%100/10 + '0'); TxSend( BD1[0]%10 + '0');/ PrintString("AVE="); TxSend(ave/1000 + '0'); TxSend(ave%1000/100 + '0'); TxSend(ave%100/10 + '0'); TxSend(ave%10 + '0'); TxSend(' '); TxSend(' '); PrintString("AVE1="); TxSend(ave1/1000 + '0'); TxSend(ave1%1000/100 + '0'); TxSend(ave1%100/10 + '0'); TxSend(ave1%10 + '0'); TxSend(' '); TxSend(' '); PrintString("\r\n"); }--------------------------------------------------------------------------------------------------------库(头文件) stdio.h string.h math.h
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。