太郎 九大
/
2013naturobo
夏ロボ用
Embed:
(wiki syntax)
Show/hide line numbers
init.cpp
00001 #include "init.h" 00002 #include "QEI.h" 00003 00004 00005 DigitalOut MOTOR_POWER(PTC10); 00006 00007 PwmOut PWM0(PTC9); 00008 PwmOut PWM1(PTC8); 00009 PwmOut PWM2(PTA5); 00010 PwmOut PWM3(PTA4); 00011 PwmOut PWM4(PTA12); 00012 PwmOut PWM5(PTD4); 00013 AnalogIn AD0(PTB0); 00014 AnalogIn AD1(PTB1); 00015 AnalogIn AD2(PTB2); 00016 AnalogIn AD3(PTB3); 00017 AnalogIn AD4(PTC2); 00018 00019 DigitalOut OUT0(PTC6); 00020 //DigitalIn IN0(PTC6); 00021 DigitalOut OUT1(PTC5); 00022 //DigitalIn IN1(PTC5); 00023 DigitalOut OUT2(PTC4); 00024 //DigitalIn IN2(PTC4); 00025 DigitalOut OUT3(PTC3); 00026 //DigitalIn IN3(PTC3); 00027 DigitalOut OUT4(PTC0); 00028 //DigitalIn IN4(PTC0); 00029 DigitalOut OUT5(PTC7); 00030 //DigitalIn IN5(PTC7); 00031 00032 Serial pc(USBTX, USBRX); 00033 00034 QEI ENC0(PTD6, PTD7, NC, 624, QEI::X2_ENCODING); 00035 QEI ENC1(PTD3, PTD1, NC, 624, QEI::X2_ENCODING); 00036 QEI ENC2(PTA13, PTD5, NC, 624, QEI::X2_ENCODING); 00037 QEI ENC3(PTD0, PTD2, NC, 624, QEI::X2_ENCODING); 00038 00039 I2C i2c0(PTE0,PTE1); 00040 00041 DigitalIn SW0(PTE29); 00042 DigitalIn SW1(PTE30); 00043 00044 DigitalOut rled(LED_RED); 00045 DigitalOut gled(LED_GREEN); 00046 DigitalOut bled(LED_BLUE); 00047 00048 void InitBoard(){ 00049 SW0.mode(PullUp); 00050 SW1.mode(PullUp); 00051 i2c0.frequency(1000000); 00052 MOTOR_POWER = 1; 00053 } 00054 00055 Timer AdCycle; 00056 00057 void AdjustCycle(int t_us){ 00058 if(AdCycle.read_us() == 0) AdCycle.start(); 00059 00060 if(AdCycle.read_us()>t_us)gled=0; 00061 else gled=1; 00062 while(AdCycle.read_us()<=t_us); 00063 AdCycle.reset(); 00064 } 00065 00066 int Limit(int value,int max,int min) { 00067 if (value>max)return max; 00068 if (value<min)return min; 00069 else return value; 00070 } 00071 00072 double Limit_d(double value,double max,double min) { 00073 if (value>max)return max; 00074 if (value<min)return min; 00075 else return value; 00076 } 00077
Generated on Sat Jul 16 2022 09:12:10 by 1.7.2