title: C - XMPLAB DDRD/DDRB not assignable error
body: <p>I am working on a project translating some Arduino code of a RFM Hopper Transmissor to C, but there are few concepts that I don't fully understand like the DDRB and DDRD.</p>
  
  <p>For example, I call these two methods:</p>
  
  <pre><code>InputSDIO();
  OutputSDIO();
  </code></pre>
  
  <p>which are declared in another file with these lines:</p>
  
  <pre><code>#define InputSDIO() (DDRB &amp;= (~_SDIO))
  #define OutputSDIO() (DDRB |= (_SDIO))
  </code></pre>
  
  <p>and it gives me the following error</p>
  
  <blockquote>
    <p>error: expression is not assignable</p>
  </blockquote>
  
  <p>Furthermore, I also get the same error from this call,</p>
  
  <pre><code>RX_ANTOut();
  </code></pre>
  
  <p>which is defined in another file with the following line: </p>
  
  <pre><code>#define RX_ANTOut() (DDRD |= (RX_ANT))
  </code></pre>
  
  <p>As I said, the code comes from an Arduino project of a transmissor. If you need any more info or if my question could be more detailed feel free to ask.</p>