![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
MD
main.cpp
- Committer:
- sgrsn
- Date:
- 2016-09-11
- Revision:
- 0:41f2e835aa5d
- Child:
- 1:770e1fc380ff
File content as of revision 0:41f2e835aa5d:
#include "mbed.h" #include "i2cslave.h" #include "define.h" char Registar[128]= {}; void check(); int main() { BusOut motor1(dp4, dp9, dp13, dp14); BusOut motor2(dp25, dp24, dp18, dp17); PwmOut pwm1(dp2); PwmOut pwm2(dp1); motor1 = 0; motor2 = 0; NVIC_SetPriority(TIMER_16_0_IRQn, 20); NVIC_SetPriority(TIMER_16_1_IRQn, 20); NVIC_SetPriority(TIMER_32_0_IRQn, 20); NVIC_SetPriority(TIMER_32_1_IRQn, 20); NVIC_SetPriority(I2C_IRQn, 10); i2cslave i2c(dp5, dp27, Registar); /*change address every micon***********/ i2c.address(MD1_addr); /**************************************/ i2c.frequency(1000000); Ticker tic; tic.attach(check, 0.1); while(1) { pwm1 = (float)(Registar[motor1_pwm]) / 255; pwm2 = (float)(Registar[motor2_pwm]) / 255; motor1 = Registar[motor1_state]; motor2 = Registar[motor2_state]; wait_ms(40); } } void check() { Registar[check_reg]++; if(Registar[check_reg] > 2) { NVIC_SystemReset(); } }