go_away

Author Topic: define port functions for 50$ robot  (Read 753 times)

0 Members and 1 Guest are viewing this topic.

Offline javilaTopic starter

  • Jr. Member
  • **
  • Posts: 31
  • Helpful? 0
define port functions for 50$ robot
« on: May 30, 2010, 10:44:25 PM »
Hi:
Can somebody "please" explain to me how this code works:
#define PORT_ON( port_letter, number )         port_letter |= (1<<number)
#define PORT_OFF( port_letter, number )         port_letter &= ~(1<<number)
#define PORT_ALL_ON( port_letter, number )      port_letter |= (number)
#define PORT_ALL_OFF( port_letter, number )      port_letter &= ~(number)
#define FLIP_PORT( port_letter, number )      port_letter ^= (1<<number)
#define PORT_IS_ON( port_letter, number )      ( port_letter & (1<<number) )
#define PORT_IS_OFF( port_letter, number )      !( port_letter & (1<<number) )
I understand basic C and I know what it is doing but do not understand how.
basically I need help with the right side commands. the equal, or, and, shifts, how do they work in this context?
any help will be greatly appreciated.

Offline cyberfish

  • Robot Overlord
  • ****
  • Posts: 163
  • Helpful? 3
Re: define port functions for 50$ robot
« Reply #1 on: June 01, 2010, 10:52:56 PM »
They all work in this context just like in any other context.

An equal is an assignment, or, and, and shift are bitwise operators.

What's different about them?

Do you know how macros work?

 

Related Topics

  Subject / Started by Replies Last post
12 Replies
2390 Views
Last post March 29, 2009, 11:14:47 PM
by SmAsH
4 Replies
1108 Views
Last post April 23, 2010, 12:10:01 PM
by corrado33
3 Replies
814 Views
Last post June 20, 2010, 09:53:42 PM
by voyager2
4 Replies
427 Views
Last post December 09, 2012, 11:06:50 AM
by Mr. Ninja


Get Your Ad Here

data_list