Just a couple of really basic syntax questions (Basic)
<p>I'm in the process of updating an old BS2 (basic stamp) Rev for an Ardunio for a piece of hardware for the company I work for, and I've just encountered a couple pieces of code that I'm not too sure on and I'd like some clarification. I've looked for a bit, but a couple of these are just not listed anywhere. I can't post the full code here for obvious reason, so I'll clarify other information as needed. </p>

<pre><code>CONVERT_AD:                                      
  CONFIG_AD = CONFIG_AD |%1011                     'Set all bits except channel.
  LOW CHIP_SELECT                                  'Activate the ADC.
  SHIFTOUT DATA_IO,CLOCK,LSBFIRST,[CONFIG_AD\4]    'Send config bits.
  SHIFTIN DATA_IO,CLOCK,MSBPOST,[AD_RESULT\12]     'Get data bits.
  HIGH CHIP_SELECT                                 'Deactivate the ADC.
  RETURN 
</code></pre>

<p>The line that's got me here is the <code>CONFIG_AD = CONFIG_AD |%1011</code>. It appears to obvious be a binary conversion, but I don't know what the operators are in this case. It looks like a 'assign'.</p>

<p>The value of <code>CONFIG_AD</code> is a word, if that's of any importance. It is hooking a pin for a half-duplex communication with a LTC1298 CN8 A-D converter. I've also read the data sheet, but it doesn't provide a lot of information regarding this. I think it's a 12 bit device? (though I'm not sure).</p>

<p>Just a lot of this information is really outdated and not maintained, so finding good information is really proving to be a bitch. </p>

<p>Also, the shift in/shift out, I'm curious why they have the two division functions on this? It seems to be converting it to another format, any explanation of why this is?</p>

<p>And on a slightly related note that is more of a save me time question, rather than I need to know, for the basic stamp, does anyone know it's hertz rates for the clock speed?</p>