# Robot Project

I'm working on a robot for my final project in class. It's your basic line following deal. It has 5 sensors that face the floor on the front and it just follows a track made of black tape.

I'm just gonna use this one thread for all my issues.

Current issue: I don't get a certain type of define.

When I do something like this:

Code:
#define setLED5(a) PORTDbits.RD4 = ~a;
To my knowledge I create a "function" that takes a variable a that sets the port to the inverse of that variable. Is this correct? Also is it possible to define more complex functions? Such as creating a simple calculator function?

Related Engineering and Comp Sci Homework Help News on Phys.org
What language is it?
Yes, it assigns the value of ~a to PORTDbits.RD4.
More exactly wherever the macro is used, it creates code to do the above.
It is a good idea to always use parentheses with macro argument, like ~(a), to avoid hard-to chase down bugs due to operator precedence.
Be always aware that #define is evaluated in preprocessor time.
You can certainly define rather complex macros, but you do not want to do so without a very good reason. With preprocessor macros it is easy to do mistakes, and hard to nail down bugs.

It's written in C. I'll add in the brackets. Thanks.