title: how to declare pointer to volatile struct
body: <p>Let's say I have the following definitions :</p>
  
  <pre><code>/* Generic structure of entire SFR area for each UART module */
  typedef struct tagUART {
          unsigned int uxmode;
          unsigned int uxsta;
          unsigned int uxtxreg;
          unsigned int uxrxreg;
          unsigned int uxbrg;
  } UART, *PUART;
  
  
  
  /* SFR blocks for each UART module */
  extern volatile UART UART1 __attribute__((__sfr__));
  extern volatile UART UART2 __attribute__((__sfr__));
  </code></pre>
  
  <p>Now if I acces the register through UART1, everything is fine, but what if I us a pointer to the structure, how should I declare it to specify the whole aera pointed to is volatile ?</p>
  
  <pre><code>volatile UART * hw = &amp;UART1;
  </code></pre>
  
  <p>Is that ok ?</p>