You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

480 lines
22 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BJ-Keyer: main.c-Dateireferenz</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="dl7bj-shadow-vert.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BJ-Keyer
&#160;<span id="projectnumber">1.03</span>
</div>
<div id="projectbrief">Morsekeyer für 2 TRX und 6 Morsetasten</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Erzeugt von Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Suchen','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Suchen');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('main_8c.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Funktionen</a> &#124;
<a href="#var-members">Variablen</a> </div>
<div class="headertitle">
<div class="title">main.c-Dateireferenz</div> </div>
</div><!--header-->
<div class="contents">
<p>BJ-Keyer, ein elektronischer Morsekeyer.
<a href="#details">Mehr ...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="main_8h_source.html">main.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include-Abhängigkeitsdiagramm für main.c:</div>
<div class="dyncontent">
<div class="center"><img src="main_8c__incl.png" border="0" usemap="#amain_8c" alt=""/></div>
<map name="amain_8c" id="amain_8c">
<area shape="rect" title="BJ&#45;Keyer, ein elektronischer Morsekeyer." alt="" coords="907,5,968,32"/>
<area shape="rect" href="main_8h.html" title="Headerdatei für main.c." alt="" coords="907,80,968,107"/>
<area shape="rect" href="globals_8h.html" title="Globale Variablen, Definitionen und Prototypen." alt="" coords="717,229,792,256"/>
<area shape="rect" href="encoder_8h.html" title="Headerdatei Drehencoder Library." alt="" coords="821,229,899,256"/>
<area shape="rect" href="functions_8h.html" title="Headerdatei für functions.c." alt="" coords="926,229,1013,256"/>
<area shape="rect" href="controls_8h.html" title="Headerdatei für controls.c." alt="" coords="790,155,869,181"/>
<area shape="rect" href="vt100_8h.html" title="Headerdatei für vt100.c." alt="" coords="1019,155,1085,181"/>
<area shape="rect" title=" " alt="" coords="5,304,69,331"/>
<area shape="rect" title=" " alt="" coords="93,304,155,331"/>
<area shape="rect" title=" " alt="" coords="179,304,245,331"/>
<area shape="rect" title=" " alt="" coords="269,304,334,331"/>
<area shape="rect" title=" " alt="" coords="358,304,421,331"/>
<area shape="rect" title=" " alt="" coords="445,304,523,331"/>
<area shape="rect" title=" " alt="" coords="547,304,613,331"/>
<area shape="rect" title=" " alt="" coords="637,304,752,331"/>
<area shape="rect" title=" " alt="" coords="777,304,853,331"/>
<area shape="rect" title=" " alt="" coords="877,304,979,331"/>
<area shape="rect" title=" " alt="" coords="1004,304,1103,331"/>
<area shape="rect" title=" " alt="" coords="1127,304,1209,331"/>
<area shape="rect" title=" " alt="" coords="1233,304,1327,331"/>
<area shape="rect" title=" " alt="" coords="1351,304,1430,331"/>
<area shape="rect" title=" " alt="" coords="1454,304,1533,331"/>
<area shape="rect" title=" " alt="" coords="1557,304,1640,331"/>
</map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Funktionen</h2></td></tr>
<tr class="memitem:a4472695bac138b033a3d7fcd42dd3153"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8c.html#a4472695bac138b033a3d7fcd42dd3153">InitTimer</a> (void)</td></tr>
<tr class="memdesc:a4472695bac138b033a3d7fcd42dd3153"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialsieren der Timer. <a href="main_8c.html#a4472695bac138b033a3d7fcd42dd3153">Mehr ...</a><br /></td></tr>
<tr class="separator:a4472695bac138b033a3d7fcd42dd3153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ce0a14b6e7779fbb2d9a05333792c41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8c.html#a7ce0a14b6e7779fbb2d9a05333792c41">Init</a> (void)</td></tr>
<tr class="memdesc:a7ce0a14b6e7779fbb2d9a05333792c41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialisierung aller Variablen, Timer. <a href="main_8c.html#a7ce0a14b6e7779fbb2d9a05333792c41">Mehr ...</a><br /></td></tr>
<tr class="separator:a7ce0a14b6e7779fbb2d9a05333792c41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad39420cdd896dd12c68e36313139d0a5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8c.html#ad39420cdd896dd12c68e36313139d0a5">ISR</a> (TIMER1_COMPA_vect)</td></tr>
<tr class="memdesc:ad39420cdd896dd12c68e36313139d0a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 Bit Timer 1 ISR routine <a href="main_8c.html#ad39420cdd896dd12c68e36313139d0a5">Mehr ...</a><br /></td></tr>
<tr class="separator:ad39420cdd896dd12c68e36313139d0a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec43762dc86e029b395d4e5819192c2d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8c.html#aec43762dc86e029b395d4e5819192c2d">ISR</a> (TIMER0_COMPA_vect)</td></tr>
<tr class="memdesc:aec43762dc86e029b395d4e5819192c2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 Bit Timer 0 ISR routine <a href="main_8c.html#aec43762dc86e029b395d4e5819192c2d">Mehr ...</a><br /></td></tr>
<tr class="separator:aec43762dc86e029b395d4e5819192c2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09ce999e15ad60b8a3f07d08af1946f9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8c.html#a09ce999e15ad60b8a3f07d08af1946f9">ISR</a> (USART_RX_vect)</td></tr>
<tr class="memdesc:a09ce999e15ad60b8a3f07d08af1946f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt RX serielle Schnittstelle. <a href="main_8c.html#a09ce999e15ad60b8a3f07d08af1946f9">Mehr ...</a><br /></td></tr>
<tr class="separator:a09ce999e15ad60b8a3f07d08af1946f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1f1ff64cfdd7f3c70e793afb9b0e3af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8c.html#ab1f1ff64cfdd7f3c70e793afb9b0e3af">ReStart</a> (void)</td></tr>
<tr class="memdesc:ab1f1ff64cfdd7f3c70e793afb9b0e3af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialisierung bei Reset und Power On. <a href="main_8c.html#ab1f1ff64cfdd7f3c70e793afb9b0e3af">Mehr ...</a><br /></td></tr>
<tr class="separator:ab1f1ff64cfdd7f3c70e793afb9b0e3af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a840291bc02cba5474a4cb46a9b9566fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
<tr class="memdesc:a840291bc02cba5474a4cb46a9b9566fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">One Infinite Loop. <a href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe">Mehr ...</a><br /></td></tr>
<tr class="separator:a840291bc02cba5474a4cb46a9b9566fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variablen</h2></td></tr>
<tr class="memitem:aaa3b9b932db0e7ef48036fde65c16cfd"><td class="memItemLeft" align="right" valign="top">const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>sinewave</b> []</td></tr>
<tr class="separator:aaa3b9b932db0e7ef48036fde65c16cfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Ausführliche Beschreibung</h2>
<div class="textblock"><p>BJ-Keyer, ein elektronischer Morsekeyer. </p>
<dl class="section date"><dt>Datum</dt><dd>2023-09-05 </dd></dl>
<dl class="section author"><dt>Autor</dt><dd>Tom, DL7BJ </dd></dl>
<dl class="section version"><dt>Version</dt><dd>1.03 <pre class="fragment"> Morsekeyer für 3 Handtasten und 3 Paddle mit einem
Sinus Mithörton und Ausgängen für 2 Transceiver
OLED Funktionen von https://github.com/Sylaina/oled-display
Encoder Funktionen von https://www.mikrocontroller.net/articles/Drehgeber
</pre></dd></dl>
<pre class="fragment"> History
------------------------------------------------------------------------------
2012-05-24 DL7BJ erste Version
2013-05-10 DL7BJ Generierung des Mithörtons als Sinus mit PWM/DDS
2013-07-15 DL7BJ Änderungen der Keyerfunktionen
2013-07-19 DL7BJ Beep/Boop (Spielkram)
2013-10-20 DL7BJ Änderungen der PWM Funktionen für besseren Sinus
2022-04-10 DL7BJ erste Leiterplatten für Prototyp (bisher Lochraster)
2022-09-02 DL7BJ viele Softwareänderungen, neuer Filter für PWM
2022-09-11 DL7BJ Encoder, LC-Display, Frontplatine "entsorgt"
2023-06-28 DL7BJ Port Anpassungen an neue Leiterplatte V1.01
2023-07-29 DL7BJ Menü für Einstellungen implementiert
2023-08-06 DL7BJ Quelltexte umstrukturiert, Aufteilung
2023-08-25 DL7BJ Code dokumentiert und aufgeräumt
2023-09-03 DL7BJ Funktionen für die Speichertasten hinzugefügt
2023-09-04 DL7BK Programmierung der Textspeicher über serielle Schnittstelle
ATMEGA328(P)
----------
(PCINT14/_RESET) PC6 -| 1 28|- PC5 (ADC5/SCL/PCINT13)
(PCINT16/RXD) PD0 -| 2 27|- PC4 (ADC4/SDA/PCINT12)
(PCINT17/TXT) PD1 -| 3 26|- PC3 (ADC3/PCINT11)
(PCINT18/INT0) PD2 -| 4 25|- PC2 (ADC2/PCINT10)
(PCINT19/OC2B/INT1) PD3 -| 5 24|- PC1 (ADC1/PCINT9)
(PCINT20/XCK/T0) PD4 -| 6 23|- PC0 (ADC0/PCINT8)
VCC -| 7 22|- GND
GND -| 8 21|- AREF
(PCINT6/XTAL1/TOSC1) PB6 -| 9 20|- AVCC
(PCINT7/XTAL2/TOSC2) PB7 -|10 19|- PB5 (SCK/PCINT5)
(PCINT21/OC0B/T1) PD5 -|11 18|- PB4 (MISO/PCINT4)
(PCINT22/OC0A/AIN0) PD6 -|12 17|- PB3 (MOSI/OC2A/PCINT3)
(PCINT23/AIN1) PD7 -|13 16|- PB2 (SS/OC1B/PCINT2)
(PCINT0/CLK0/ICP1) PB0 -|14 15|- PB1 (OC1A/PCINT1)
----------
Pin 1 - PC6 - Reset Pin 28 - PC5 - SCL Display
Pin 2 - PD0 - RxD Pin 27 - PC4 - SDA Display
Pin 3 - PD1 - TxD Pin 26 - PC3 - LED Key
Pin 4 - PD2 - Left Paddle Pin 25 - PC2 - TRX 2 Out
Pin 5 - PD3 - Right Paddle Pin 24 - PC1 - TRX 1 Out
Pin 6 - PD4 - Straight Key Pin 23 - PC0 - Mem 4
Pin 19 - PB5 - Mem 5
Pin 11 - PD5 - Mem 1 Pin 18 - PB4 - _Audio SD
Pin 12 - PD6 - Mem 2 Pin 17 - OC2A - Audio PWM output
Pin 13 - PD7 - Mem 3 Pin 16 - PB2 - Encoder Switch
Pin 14 - PB0 - Encoder A Pin 15 - PB1 - Encoder B</pre> </div><h2 class="groupheader">Dokumentation der Funktionen</h2>
<a id="a7ce0a14b6e7779fbb2d9a05333792c41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ce0a14b6e7779fbb2d9a05333792c41">&#9670;&nbsp;</a></span>Init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialisierung aller Variablen, Timer. </p>
<dl class="params"><dt>Parameter</dt><dd>
<table class="params">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Rückgabewerte</dt><dd>
<table class="retval">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4472695bac138b033a3d7fcd42dd3153"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4472695bac138b033a3d7fcd42dd3153">&#9670;&nbsp;</a></span>InitTimer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void InitTimer </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialsieren der Timer. </p>
<pre class="fragment"> Alle Parameter der Timer basieren auf 16MHz Systemtakt.
Timer 0 - 8 Bit timer für 1ms
Timer 2 - 8 Bit timer für PWM zur Erzeugung des Sinustons
Timer 1A - 16 Bit timer zur Erzeugung der Hüllkurve
</pre> <dl class="params"><dt>Parameter</dt><dd>
<table class="params">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Rückgabewerte</dt><dd>
<table class="retval">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aec43762dc86e029b395d4e5819192c2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec43762dc86e029b395d4e5819192c2d">&#9670;&nbsp;</a></span>ISR() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ISR </td>
<td>(</td>
<td class="paramtype">TIMER0_COMPA_vect&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>8 Bit Timer 0 ISR routine </p>
<pre class="fragment"> Der Timer 0 mit CTC Interrupt läuft mit einem Takt
von einer Millisekunde Es werden mehrere Werte innerhalb
des Timerinterrupts verarbeitet.
</pre> <dl class="params"><dt>Parameter</dt><dd>
<table class="params">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Rückgabewerte</dt><dd>
<table class="retval">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad39420cdd896dd12c68e36313139d0a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad39420cdd896dd12c68e36313139d0a5">&#9670;&nbsp;</a></span>ISR() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ISR </td>
<td>(</td>
<td class="paramtype">TIMER1_COMPA_vect&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>8 Bit Timer 1 ISR routine </p>
<pre class="fragment"> Der Timer 1 lädt die Sinuswerte für die PWM
</pre> <dl class="params"><dt>Parameter</dt><dd>
<table class="params">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Rückgabewerte</dt><dd>
<table class="retval">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a09ce999e15ad60b8a3f07d08af1946f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09ce999e15ad60b8a3f07d08af1946f9">&#9670;&nbsp;</a></span>ISR() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ISR </td>
<td>(</td>
<td class="paramtype">USART_RX_vect&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Interrupt RX serielle Schnittstelle. </p>
<dl class="params"><dt>Parameter</dt><dd>
<table class="params">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Rückgabewerte</dt><dd>
<table class="retval">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a840291bc02cba5474a4cb46a9b9566fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a840291bc02cba5474a4cb46a9b9566fe">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int main </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>One Infinite Loop. </p>
<dl class="params"><dt>Parameter</dt><dd>
<table class="params">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Rückgabewerte</dt><dd>
<table class="retval">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab1f1ff64cfdd7f3c70e793afb9b0e3af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1f1ff64cfdd7f3c70e793afb9b0e3af">&#9670;&nbsp;</a></span>ReStart()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ReStart </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialisierung bei Reset und Power On. </p>
<dl class="params"><dt>Parameter</dt><dd>
<table class="params">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Rückgabewerte</dt><dd>
<table class="retval">
<tr><td class="paramname">none</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Variablen-Dokumentation</h2>
<a id="aaa3b9b932db0e7ef48036fde65c16cfd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa3b9b932db0e7ef48036fde65c16cfd">&#9670;&nbsp;</a></span>sinewave</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const unsigned char sinewave[]</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initialisierung:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> 0x00, 0x01, 0x02, 0x05, 0x0a, 0x0f, 0x15, 0x1d, 0x25, 0x2f, 0x39, 0x43, 0x4f, 0x5a, 0x67, 0x73, </div>
<div class="line"> 0x80, 0x8c, 0x98, 0xa5, 0xb0, 0xbc, 0xc6, 0xd0, 0xda, 0xe2, 0xea, 0xf0, 0xf5, 0xfa, 0xfd, 0xfe, </div>
<div class="line"> 0xff, 0xfe, 0xfd, 0xfa, 0xf5, 0xf0, 0xea, 0xe2, 0xda, 0xd0, 0xc6, 0xbc, 0xb0, 0xa5, 0x98, 0x8c, </div>
<div class="line"> 0x80, 0x73, 0x67, 0x5a, 0x4f, 0x43, 0x39, 0x2f, 0x25, 0x1d, 0x15, 0x0f, 0x0a, 0x05, 0x02, 0x01</div>
<div class="line">}</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="main_8c.html">main.c</a></li>
<li class="footer">Erzeugt am Mit Sep 6 2023 00:03:03 für BJ-Keyer von <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
</ul>
</div>
</body>
</html>