Controlor for Humanoid. Walking trajectory generator, sensor reflection etc.
Dependencies: Adafruit-PWM-Servo-Driver MPU6050 RS300 mbed
Diff: Source3.cpp
- Revision:
- 3:84e5335fab91
- Parent:
- 2:8a40834788ba
- Child:
- 5:0ca9f1bc1fb0
diff -r 8a40834788ba -r 84e5335fab91 Source3.cpp --- a/Source3.cpp Thu Aug 30 02:00:58 2012 +0000 +++ b/Source3.cpp Thu Aug 30 12:41:50 2012 +0000 @@ -17,19 +17,12 @@ volatile uint8_t SRV_Idx = 0;//�T�[�{�؂�ւ��p�̃J�E���^ volatile uint32_t SRV_dutyTable[SRV_BANK_NUM][SRV_IDX_NUM];//�f���[�e�B�[�l -//const uint32_t SRV_PWMTable[SRV_BANK_NUM][SRV_IDX_NUM]={ -//{0,SRV_PERIOD,0,SRV_PERIOD,0,SRV_PERIOD,0,SRV_PERIOD}, -//{0,0,SRV_PERIOD,SRV_PERIOD,0,0,SRV_PERIOD,SRV_PERIOD}, -//{0,0,0,0,SRV_PERIOD,SRV_PERIOD,SRV_PERIOD,SRV_PERIOD} -//}; - const uint32_t SRV_PWMTable[SRV_BANK_NUM][SRV_IDX_NUM]={ -{0,2500,0,2500,0,2500,0,2500}, -{0,0,2500,2500,0,0,2500,2500}, -{0,0,0,0,2500,2500,2500,2500} +{0,SRV_PERIOD,0,SRV_PERIOD,0,SRV_PERIOD,0,SRV_PERIOD}, +{0,0,SRV_PERIOD,SRV_PERIOD,0,0,SRV_PERIOD,SRV_PERIOD}, +{0,0,0,0,SRV_PERIOD,SRV_PERIOD,SRV_PERIOD,SRV_PERIOD} }; - void Init_PWM(void); void SetDuty(uint8_t ch, uint32_t duty); @@ -54,15 +47,16 @@ } void PWM1_IRQHandler (void) { - LPC_PWM1->LER |= 0x7E; - LPC_PWM1->MR1 = 500;//SRV_PWMTable[0][SRV_Idx]; + LPC_PWM1->MR1 = SRV_PWMTable[0][SRV_Idx]; LPC_PWM1->MR2 = SRV_PWMTable[1][SRV_Idx]; LPC_PWM1->MR3 = SRV_PWMTable[2][SRV_Idx]; LPC_PWM1->MR4 = SRV_dutyTable[0][SRV_Idx]; LPC_PWM1->MR5 = SRV_dutyTable[1][SRV_Idx]; LPC_PWM1->MR6 = SRV_dutyTable[2][SRV_Idx]; + LPC_PWM1->LER |= 0x7E; + LPC_PWM1->IR |= (1<<0); // reset PWMMR0 flag SRV_Idx++;