fork download
  1. #define F_CPU 16000000UL
  2. #include <avr/io.h>
  3. #include <avr/interrupt.h>
  4. #include <util/delay.h>
  5. #include <dynamixel.h>
  6.  
  7. void moveservo();
  8.  
  9. int i;
  10.  
  11. int main(void)
  12. {
  13. DDRC = 0xFF;
  14. PORTC = 0xFE;
  15. TIMSK0 |= 0x01;
  16. TCCR0B &= 0xf8;
  17. TCCR0B |= 0x05;
  18. sei();
  19.  
  20. dxl_initialize(0,1); //0= number connected com devices, 1= Baud rate
  21. serial_initialize(57600);
  22.  
  23.  
  24. while(1)
  25. {
  26. moveservo();
  27. _delay_ms(300);
  28. }
  29. return 1;
  30. }
  31.  
  32.  
  33. void moveservo()
  34. {
  35. i++;
  36. if (i > 4) i=0;
  37. int goal_pos = 160*i;
  38. //int mot_num = 18;
  39. int address = 30;
  40. //int pos = dxl_read_word(18,30);
  41. int pos2= dxl_read_word(18,36);
  42. //printf("Desire Position: %d Actual position: %d\n",pos,pos2);
  43. printf("Actual Position: %d\n",pos2);
  44. dxl_write_word(254,address,goal_pos);
  45. }
  46.  
  47. ISR(TIMER0_OVF_vect)
  48. {
  49. static int j=0, i=0;
  50. j++;
  51. if (j>=64) {
  52. j=0;
  53. //PORTC = ~(1<<i);
  54. i++;
  55. if (i > 4) i=0;
  56. int goal_pos = 160*i;
  57. int mot_num = 18;
  58. int address = 30;
  59. int pos = dxl_read_word(18,36);
  60. dxl_write_word(254,address,goal_pos);
  61. }
  62. }
  63.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty