128 lines
7.0 KiB
HTML
128 lines
7.0 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" MadCap:lastBlockDepth="6" MadCap:lastHeight="94" MadCap:lastWidth="853" MadCap:disableMasterStylesheet="true" MadCap:tocPath="" MadCap:InPreviewMode="false" MadCap:PreloadImages="false" MadCap:RuntimeFileType="Topic" MadCap:TargetType="WebHelp" lang="en-us" xml:lang="en-us" MadCap:PathToHelpSystem="../../../" MadCap:HelpSystemFileName="Default.xml" MadCap:SearchType="Stem">
|
|
<head><title>DATA Example</title>
|
|
<link href="../../SkinSupport/MadCap.css" rel="stylesheet" />
|
|
<link href="../../Resources/Stylesheets/BSE_Help.css" rel="stylesheet" />
|
|
<script src="../../SkinSupport/MadCapAll.js" type="text/javascript">
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<h1>DATA Example</h1>
|
|
<div class="ImagePlusCaption">
|
|
<div class="Col2">
|
|
<p>
|
|
<img src="../../graphics/pgm_icon2.gif" border="0" alt="BS2 icon" title="BS2 icon" />
|
|
<img src="../../graphics/pgm_icon2e.gif" border="0" alt="BS2e icon" title="BS2e icon" />
|
|
<img src="../../graphics/pgm_icon2sx.gif" border="0" alt="BS2sx icon" title="BS2sx icon" />
|
|
<img src="../../graphics/pgm_icon2p.gif" border="0" alt="BS2p icon" title="BS2p icon" />
|
|
<img src="../../graphics/pgm_icon2pe.gif" border="0" alt="BS2pe icon" title="BS2pe icon" />
|
|
<img src="../../graphics/pgm_icon2px.gif" border="0" alt="BS2px icon" title="BS2px icon" />
|
|
</p>
|
|
</div>
|
|
<p style="text-align: right;">Syntax: <a href="../Commands/DATA.htm" target="" title="" alt="" class="MCXref_0" xrefformat="{paratext}">DATA</a></p>
|
|
<p> </p>
|
|
</div>
|
|
<p class="clear"> </p>
|
|
<p> </p>
|
|
<p>NOTE: The example below is written for the BS2 and will run on any of the BS2-family modules. Modify the $STAMP directive (as required) before downloading to the BS2e, BS2sx, BS2p, BS2pe, or BS2px.</p><pre class="BScode" xml:space="preserve">' DATA.BS2
|
|
' This program stores a number of large text strings into EEPROM with the
|
|
' DATA directive and then sends them, one character at a time via the DEBUG
|
|
' command. This is a good demonstration of how to save program space by
|
|
' storing large amounts of data in EEPROM directly, rather than embedding
|
|
' the data into DEBUG commands.
|
|
|
|
' {$STAMP BS2}
|
|
' {$PBASIC 2.5}
|
|
|
|
idx VAR Word ' current location number
|
|
phrase VAR Nib ' current phrase number
|
|
char VAR Byte ' character to print
|
|
|
|
' ----- Define all text phrases (out of order, just for fun!) -----
|
|
'
|
|
Text1 DATA "Here is the first part of a large chunk of textual "
|
|
DATA "data ", CR, "that needs to be transmitted. There's "
|
|
DATA "a 5 second delay", CR, "between text paragraphs. ", CR
|
|
DATA CR, 0
|
|
|
|
Text3 DATA "The alternative (having multiple DEBUGs or SEROUTs, "
|
|
DATA "each ", CR, "with their own line of text) consumes "
|
|
DATA "MUCH more EEPROM ", CR, "(program) space. ", CR
|
|
DATA CR, 0
|
|
|
|
Text6 DATA "The 255 is used by this program to indicate we've "
|
|
DATA "reached the ", CR, "End of Text. The Main routine "
|
|
DATA "pauses in between each block of ", CR, "text, and then "
|
|
DATA "uses a LOOKUP command TO retrieve the location ", CR
|
|
DATA "of the next desired block of text to print. ", 0
|
|
|
|
Text4 DATA CLS, "This program also demonstrates retrieving data "
|
|
DATA "out of order ", CR, "in relation TO the way it is "
|
|
DATA "stored in EEPROM. Additionally, ", CR, "control codes "
|
|
DATA "(like carriage-returns, clear-screens, etc) can ", CR
|
|
DATA "be embedded right in the data, as it is here. ", CR
|
|
DATA CR, 0
|
|
|
|
Text2 DATA "This is an example of a good way to save space in "
|
|
DATA "your ", CR, "BASIC Stamp's program by storing data "
|
|
DATA "into EEPROM and ", CR, "retrieving it, one byte at a "
|
|
DATA "time, and transmitting it ", CR, "with just a single "
|
|
DATA "DEBUG (or SEROUT) command.", CR, CR, 0
|
|
|
|
Text5 DATA "The Print_It routine simply takes the Index variable, "
|
|
DATA "retrieves ", CR, "the character at the EEPROM location "
|
|
DATA "pointed to by it, and ", CR, "prints it to the screen "
|
|
DATA "unti it finds a byte with a value of 255.", CR, CR, 0
|
|
|
|
|
|
Main:
|
|
DEBUG CLS ' Clear DEBUG window
|
|
FOR phrase = 1 TO 6 ' Print blocks one by one
|
|
LOOKUP (phrase - 1),
|
|
[Text1, Text2, Text3, Text4, Text5, Text6], idx
|
|
GOSUB Print_It
|
|
PAUSE 5000 ' Pause for 5 seconds
|
|
NEXT
|
|
END
|
|
|
|
Print_It:
|
|
DO
|
|
READ idx, char ' Get next character
|
|
idx = idx + 1 ' Point to next location
|
|
IF (char = 0) THEN EXIT ' If 0, we're done with block
|
|
DEBUG char ' Otherwise, transmit it
|
|
LOOP
|
|
RETURN ' Return to the main routine
|
|
</pre>
|
|
<div class="Col2">
|
|
<div class="MasterFoot">
|
|
<p MadCap:conditions="BSEconditions.BSEWebHelp (Primary)-INCLUDE"><a href="../../HomeTopics/HomePage.htm">Go to Welcome page</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="Col2">
|
|
<div class="MasterFoot">
|
|
<p style="text-align: right;"><span class="ContactInfoProjectName">BASIC Stamp Help</span> <![CDATA[ ]]><span class="ContactInfoVersion#">Version 2.5.4</span> <![CDATA[ ]]></p>
|
|
<p style="text-align: right;">Copyright © <span class="ContactInfoCompanyName">Parallax Inc.</span></p>
|
|
<p style="text-align: right;"><span class="SystemShortDate">8/8/2012</span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">/* <![CDATA[ */
|
|
|
|
var _gaq = _gaq || [];
|
|
_gaq.push(['_setAccount', 'UA-285614-1']);
|
|
_gaq.push(['_trackPageview']);
|
|
|
|
(function() {
|
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
|
})();
|
|
|
|
/* ]]> */</script>
|
|
<script type="text/javascript" src="../../SkinSupport/MadCapBodyEnd.js">
|
|
</script>
|
|
</body>
|
|
</html> |