2022Aのエンコーダを読んでとばす(サブ2基盤)

Dependencies:   QEI SerialMultiByte mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "QEI.h"
00003 #include "SerialMultiByte.h"
00004 
00005 QEI enc1(PB_6,PB_3,NC,100, QEI::X4_ENCODING);
00006 QEI enc2(PA_8,PA_9,NC,100, QEI::X4_ENCODING);
00007 QEI enc3(PB_6,PB_7,NC,100, QEI::X4_ENCODING);
00008 QEI enc4(PA_0,PA_1,NC,100, QEI::X4_ENCODING);
00009 
00010 
00011 Serial pc(USBTX,USBRX,115200);
00012 SerialMultiByte send(PC_12,PD_2);
00013 
00014 //int Revol1;
00015 //int Current;
00016 //double GetAngle;
00017 //int Angle_rev;
00018 //double SumAngle;
00019 
00020 Timer t;
00021 
00022 int main() 
00023 {
00024 //    stop = 1;
00025 //    uint8_t test[4] = {1,2,3,4};
00026     int16_t Angle[4] = {0};
00027     uint8_t Pulse[8] = {0};
00028     t.start();
00029     send.setHeaders(0xff,0xff);
00030 
00031     while(1)
00032     {   
00033         Angle[0] = enc1.getPulses(); 
00034         Angle[1] = enc2.getPulses(); 
00035         Angle[2] = enc3.getPulses(); 
00036         Angle[3] = enc4.getPulses();
00037         for(int i=0, j=0;i<8;i+=2,j++){
00038             Pulse[i] = Angle[j] >> 8;
00039             Pulse[i+1] = Angle[j] & 255;
00040         }
00041 //        Pulse[0] = Angle[0] >> 8;
00042 //        Pulse[1] = Angle[0] & 255;
00043 
00044 //        Revol1 = enc1.getRevolutions();
00045 //        Current = enc1.getCurrentState();
00046 //        GetAngle = enc1.getAngle();
00047 //        Angle_rev = enc1.getAng_rev();
00048 //        SumAngle = enc1.getSumangle();
00049 
00050                                            
00051 //        pc.printf("t:%.2f | ENC0:%d | REV0:%d | Cur:%d | GetAngle:%.2f | Angle_rev:%d | SumAngle:%.2f", t.read(),Angle1,Revol1,Current,GetAngle,Angle_rev,SumAngle);
00052         pc.printf("t:%.2f | ENC1:%.2d | ENC2:%.2d | ENC3:%.2d | ENC4:%.2d |", t.read(),Angle[0],Angle[1],Angle[2],Angle[3]);
00053         pc.printf("\r\n");
00054         send.sendData(Pulse,8);
00055         
00056 //        pc.printf("t:%.2f | test1:%.2d | test2:%.2d | test3:%.2d | test4:%.2d |", t.read(),test[0],test[1],test[2],test[3]);
00057 //        pc.printf("\r\n");
00058 //        send.sendData(test,4);
00059         
00060     }
00061 }