史也 菅
/
can_nodo
way
Diff: main.cpp
- Revision:
- 1:85bc939a3d22
- Parent:
- 0:f3625799a474
--- a/main.cpp Wed Sep 01 02:47:08 2021 +0000 +++ b/main.cpp Wed Sep 08 00:47:38 2021 +0000 @@ -1,6 +1,6 @@ #define LAP 1 #define SMB 0 -#define EncoderMAX 2 +#define EncoderMAX 2 #include "mbed.h" #include "CANMsg.h" @@ -66,6 +66,7 @@ struct m_d mdc[2]= {0}; /* エンコーダ */ static int data[EncoderMAX] = {0}; +int sendData[2]={0}; /* エンコーダのデータ入力 */ int32_t enc_data[2]= {0}; /* 直読みエンコーダ角度保存(degree) */ @@ -113,12 +114,14 @@ } /* LAPの時 */ else { + // if(mdc[i].pwm==0)mdc[i].pwm=5; PWM[i] = (mdc[i].pwm*mdc[i].code+100) /200.0; + if(PWM[i]==0)PWM[i]=5; MdData |= 0b111<<!i*3; } } - /* INの状態を決める */ + /* MDの状態を決める */ Md_Status(); /* 信号ロスト1000msで停止 */ @@ -170,6 +173,8 @@ /* 最後の処理 */ case 25: CS=1; + sendData[0]=data[0]; + sendData[1]=data[1]; /* 通常の処理 */ default: CL=!CL; @@ -222,6 +227,7 @@ //uint8_t Enc_Data[2]; for(int i=0; i<3; i++) - txMsg.data[i]=((data[0]<<12|data[1])>>i*8)&0xFF; + txMsg.data[i]=((sendData[0]<<12|sendData[1])>>i*8)&0xFF; + can.write(txMsg); }