I made a post like this a while ago, but I'm getting the same exact problem again, and can't fix it with the same solution. I'm using visual micro(lets you program the arduino using microsoft visual studio) to program the arduino. One weird thing is if I have visual micro use arduino 1.6.4, the version that made it work last time, to compile the code, it compiles, then spits out a bunch of errors. But, if I use the arduino 1.6.4 ide all by itself, it just sits there and says compiling for, I'm pretty sure, ever. Never finishes compiling. When I try using the latest version of arduino and the 1.0.4 version, it finishes compiling and says the same errors I've attached at the bottom.
I've waited about two hours for the arduino 1.6.4 to compile, and like I said, it sits there with the bar half way acrossed, saying, "compiling"
used both the visual micro and arduino IDEs.
Almost forgot to say, the bioloid controller library, lets you program dynamixels(wikipedia - "DYNAMIXEL (DXL) is a line-up high performance networked actuators for robots developed by a Korean manufacturer ROBOTIS. ROBOTIS is also the developer and manufacturer for OLLO, Bioloid and DARwIn-OP.") with the arduino.
Those undefined register names seem to be for the ATmega2560 and similar processors. Looks like something thinks you have an Arduino MEGA.
void AX12::setRX () {
#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega328P__)
bitClear(TIMSK0, TOIE0); // deshabilita la interrupción del timer0 (nota: esto es sólo para entornos Arduino)
bitClear(UCSR0B, TXEN0); // deshabilita la trasmisión
bitSet(UCSR0B, RXEN0); // habilita la recepción
bitSet(UCSR0B, RXCIE0); // habilita la interrupción de recepción
#elif defined (__AVR_ATmega1280__) || defined (__AVR_ATmega128__) || defined (__AVR_ATmega2560__)
bitClear(TIMSK0, TOIE0); // deshabilita la interrupción del timer0 (nota: esto es sólo para entornos Arduino)
bitClear(UCSR1B, TXEN1); // deshabilita la trasmisión
bitSet(UCSR1B, RXEN1); // habilita la recepción
bitSet(UCSR1B, RXCIE1); // habilita la interrupción de recepción
#elif defined (__AVR_ATmega8__)
Thanks for your help I just tried compiling it with the 'arduino mega or arduino mega 2560' selected as the board and it worked! Would I have to just go with my arduino mega, or is it possible to use my arduino uno? If it is possible, would it be simple enough for a noob, like me, to do? Thanks.
quentinthornton:
Thanks for your help I just tried compiling it with the 'arduino mega or arduino mega 2560' selected as the board and it worked! Would I have to just go with my arduino mega, or is it possible to use my arduino uno? If it is possible, would it be simple enough for a noob, like me, to do? Thanks.
The MEGA compile uses registers that the UNO does not have so you can't run the MEGA code on the UNO. I don't know why the UNO compile is including code intended for the MEGA (and thus failing to compile) but if you can track that down and fix it you should be able to use the UNO if the sketch will fit.
I loaded the next Arduino-program in a ArduinoMega and the Digital Servo driver shield( from DFRobot)on it but nothing happens to the AX12-15. I am using a wrong Board?
Thanks
Jack