by cezik » Wed Feb 17, 2010 12:15 pm
by cezik
Wed Feb 17, 2010 12:15 pm
Hi!
I try to get to the Serial Mode in HSR 8498HB. Unofortunately I can't... and I don't know why. I send the right package to the serwo, but the servo do not respond.
GCC Code is pretty simple, made on delays:
- Code: Select all
// SET MOTOR SPEED AND READ POSITION//
// HEADER //0x80// 1 1111 1110 00
PORTC = 0xFF;
_delay_us(8*52);
PORTC = 0x00;
_delay_us(3*52);
// COMMAND // 0xE9 // 1 0110 1000 00
PORTC = 0xFF;
_delay_us(1*52);
PORTC = 0x00;
_delay_us(1*52);
PORTC = 0xFF;
_delay_us(2*52);
PORTC = 0x00;
_delay_us(1*52);
PORTC = 0xFF;
_delay_us(1*52);
PORTC = 0x00;
_delay_us(5*52);
// DATA 1 = SERVO ID // 1 1111 1111 00
PORTC = 0xFF;
_delay_us(9*52);
PORTC = 0x00;
_delay_us(2*52);
// DATA 2 = SPEED // 1 1111 1111 00
PORTC = 0xFF;
_delay_us(9*52);
PORTC = 0x00;
_delay_us(2*52);
// CHECKSUM = 1 0110 1001 00
PORTC = 0xFF;
_delay_us(1*52);
PORTC = 0x00;
_delay_us(1*52);
PORTC = 0xFF;
_delay_us(2*52);
PORTC = 0x00;
_delay_us(1*52);
PORTC = 0xFF;
_delay_us(1*52);
PORTC = 0x00;
_delay_us(2*52);
PORTC = 0xFF;
_delay_us(1*52);
PORTC = 0x00;
_delay_us(2*52);
// 00 // 1 1111 1111 00
PORTC = 0xFF;
_delay_us(9*52);
PORTC = 0x00;
DDRC = 0x00;
_delay_us(2*52);
DDRC = 0xFF;
// 00 // 1 1111 1111 00
PORTC = 0xFF;
_delay_us(9*52);
PORTC = 0x00;
DDRC = 0x00;
_delay_us(2*52);
DDRC = 0xFF;
What is that I do wrong? Somebody?
Hi!
I try to get to the Serial Mode in HSR 8498HB. Unofortunately I can't... and I don't know why. I send the right package to the serwo, but the servo do not respond.
GCC Code is pretty simple, made on delays:
- Code: Select all
// SET MOTOR SPEED AND READ POSITION//
// HEADER //0x80// 1 1111 1110 00
PORTC = 0xFF;
_delay_us(8*52);
PORTC = 0x00;
_delay_us(3*52);
// COMMAND // 0xE9 // 1 0110 1000 00
PORTC = 0xFF;
_delay_us(1*52);
PORTC = 0x00;
_delay_us(1*52);
PORTC = 0xFF;
_delay_us(2*52);
PORTC = 0x00;
_delay_us(1*52);
PORTC = 0xFF;
_delay_us(1*52);
PORTC = 0x00;
_delay_us(5*52);
// DATA 1 = SERVO ID // 1 1111 1111 00
PORTC = 0xFF;
_delay_us(9*52);
PORTC = 0x00;
_delay_us(2*52);
// DATA 2 = SPEED // 1 1111 1111 00
PORTC = 0xFF;
_delay_us(9*52);
PORTC = 0x00;
_delay_us(2*52);
// CHECKSUM = 1 0110 1001 00
PORTC = 0xFF;
_delay_us(1*52);
PORTC = 0x00;
_delay_us(1*52);
PORTC = 0xFF;
_delay_us(2*52);
PORTC = 0x00;
_delay_us(1*52);
PORTC = 0xFF;
_delay_us(1*52);
PORTC = 0x00;
_delay_us(2*52);
PORTC = 0xFF;
_delay_us(1*52);
PORTC = 0x00;
_delay_us(2*52);
// 00 // 1 1111 1111 00
PORTC = 0xFF;
_delay_us(9*52);
PORTC = 0x00;
DDRC = 0x00;
_delay_us(2*52);
DDRC = 0xFF;
// 00 // 1 1111 1111 00
PORTC = 0xFF;
_delay_us(9*52);
PORTC = 0x00;
DDRC = 0x00;
_delay_us(2*52);
DDRC = 0xFF;
What is that I do wrong? Somebody?