<?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>FREQOUT 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>FREQOUT 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/FREQOUT.htm" target="" title="" alt="" class="MCXref_0" xrefformat="{paratext}">FREQOUT</a></p> <p> </p> </div> <p class="clear"> </p> <p class="PlainText"> </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">' FREQOUT.BS2 ' This program demonstrates a sound-effects generation by the BASIC Stamp. ' Conditional compilation sets timing and frequency adjustment factors so ' that the output will sound the same on any BS2 module. ' {$STAMP BS2} ' {$PBASIC 2.5} Spkr PIN 10 ' output pin for FREQOUT #SELECT $STAMP #CASE BS2, BS2E TmAdj CON $100 ' x 1.0 (time adjust) FrAdj CON $100 ' x 1.0 (freq adjust) #CASE BS2SX TmAdj CON $280 ' x 2.5 FrAdj CON $066 ' x 0.4 #CASE BS2P TmAdj CON $3C5 ' x 3.77 FrAdj CON $044 ' x 0.265 #CASE BS2PE TmAdj CON $100 ' x 1.0 FrAdj CON $0A9 ' x 0.66 #CASE BS2PX TmAdj CON $607 ' x 6.02 FrAdj CON $02A ' x 0.166 #ENDSELECT Main: DEBUG "Let's make a call...", CR ' combine 350 Hz & 440 Hz for dial tone FREQOUT Spkr, 2000 */ TmAdj, 350 */ FrAdj, 440 */ FrAdj ' dial number (digits 150 ms on, 25 ms off) DTMFOUT Spkr, 150 */ TmAdj, 25, [5, 5, 5, 1, 2, 1, 2] PAUSE 500 ' bad connection (SIT sequence) FREQOUT Spkr, 375 */ TmAdj, 985 */ FrAdj FREQOUT Spkr, 375 */ TmAdj, 1371 */ FrAdj FREQOUT Spkr, 375 */ TmAdj, 1777 */ FrAdj DEBUG "Oops! -- try again...", CR PAUSE 1000 DTMFOUT Spkr, 150 */ TmAdj, 25, [5, 5, 5, 2, 2, 2, 2] DEBUG "Ringing" FREQOUT Spkr, 2000 */ TmAdj, 440 */ FrAdj, 480 */ FrAdj PAUSE 4000 FREQOUT Spkr, 2000 */ TmAdj, 440 */ FrAdj, 480 */ FrAdj INPUT Spkr DEBUG CLS, "Done." END </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>