![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
motortest error
main.cpp
- Committer:
- changzhe8387
- Date:
- 2014-11-30
- Revision:
- 0:d46350fb622c
File content as of revision 0:d46350fb622c:
#include "mbed.h" Serial pc(USBTX, USBRX); AnalogIn tempPin1(p15); AnalogIn tempPin2(p16); PwmOut pwm(p21); #define start 500; #define end 2200; float tempTotal1; float tempTotal2; uint32_t tempDiv1; uint32_t tempDiv2; #define MAX_TEMP_AVG 10 void sampleTemperature(); void sampleTemperatures(); void resetTemperatureSamples(); void servo(); float getAvgTemperature(); void sampleTemperature() { tempTotal1 += tempPin1; tempDiv1++; tempTotal2 += tempPin2; tempDiv2++; } void sampleTemperatures() { for(int i=0;i<MAX_TEMP_AVG;i++) { sampleTemperature(); wait(0.1); } } void resetTemperatureSamples() { tempTotal1 = 0.0; tempDiv1 = 0; tempTotal2 = 0.0; tempDiv2 = 0; } void servo() { } float getAvgTemperature1() { float tempAvg1 = (((tempTotal1)*3300/(float)tempDiv1)-400.0)/19.5; return tempAvg1; } float getAvgTemperature2() { float tempAvg2 = (((tempTotal2)*3300/(float)tempDiv2)-400.0)/19.5; return tempAvg2; } int main() { tempDiv1 = 0; tempDiv2 = 0; pc.printf("MBED ready..\r\n"); sampleTemperatures(); pc.printf("Temp1: %.2f Temp2: %.2f \r\n",getAvgTemperature1(),getAvgTemperature2()); while(1){ sampleTemperature(); } float j = (getAvgTemperature1()/getAvgTemperature2()) ; if(j>0){ for(int p = start; p < end; p += 20) pwm.pulsewidth_us(p); wait_ms(40); else{ for(int p = end; p >=start; p -= 20) pwm.pulsewidth_us(p); wait_ms(40); } } }