📄 group__can__interface.html
字号:
<td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Filterdaten auslesen. <p><dl compact><dt><b>Parameter:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>number</em> </td><td>Nummer des Filters dessen Daten man haben moechte </td></tr> <tr><td valign="top"></td><td valign="top"><em>*filter</em> </td><td>Pointer in den die Filterstruktur geschrieben wird</td></tr> </table></dl><dl class="return" compact><dt><b>R眉ckgabe:</b></dt><dd><b>0</b> falls ein Fehler auftrat, \ <b>1</b> falls der Filter korrekt gelesen werden konnte, \ <b>2</b> falls der Filter im Moment nicht verwendet wird (nur AT90CAN), \ <b>0xff</b> falls gerade keine Aussage moeglich ist (nur AT90CAN).</dd></dl><dl class="warning" compact><dt><b>Warnung:</b></dt><dd>Da der SJA1000 nicht feststellen kann ob der ausgelesene Filter nun zwei 11-Bit Filter oder ein 29-Bit Filter ist werden nicht die Filter sondern die Registerinhalte direkt zur眉ck gegeben. Der Programmierer muss dann selbst entscheiden was er mit den Werten macht. </dd></dl></div></div><p><a class="anchor" name="g93c3e6ad5e58dc208cd1ccce45f4fe97"></a><!-- doxytag: member="can.h::can_get_message" ref="g93c3e6ad5e58dc208cd1ccce45f4fe97" args="(can_t *msg)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">uint8_t can_get_message </td> <td>(</td> <td class="paramtype"><a class="el" href="structcan__t.html">can_t</a> * </td> <td class="paramname"> <em>msg</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Liest eine Nachricht aus den Empfangspuffern des CAN Controllers. <p><dl compact><dt><b>Parameter:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>msg</em> </td><td>Pointer auf die Nachricht die gelesen werden soll. </td></tr> </table></dl><dl class="return" compact><dt><b>R眉ckgabe:</b></dt><dd>FALSE falls die Nachricht nicht ausgelesen konnte, ansonsten Filtercode welcher die Nachricht akzeptiert hat. </dd></dl></div></div><p><a class="anchor" name="gbd1f48e60b6607452b92d08cca69e882"></a><!-- doxytag: member="can.h::can_init" ref="gbd1f48e60b6607452b92d08cca69e882" args="(can_bitrate_t bitrate)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">bool can_init </td> <td>(</td> <td class="paramtype"><a class="el" href="group__can__interface.html#g1085b545b19ee92abad774ad27eec8d7">can_bitrate_t</a> </td> <td class="paramname"> <em>bitrate</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Initialisierung des CAN Interfaces. <p><dl compact><dt><b>Parameter:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>bitrate</em> </td><td>Gewuenschte Geschwindigkeit des CAN Interfaces</td></tr> </table></dl><dl class="return" compact><dt><b>R眉ckgabe:</b></dt><dd>false falls das CAN Interface nicht initialisiert werden konnte, true ansonsten. </dd></dl></div></div><p><a class="anchor" name="g9dd5adf15a4a0421c45840443e720ee3"></a><!-- doxytag: member="can.h::can_reset_bus_off" ref="g9dd5adf15a4a0421c45840443e720ee3" args="(void)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void can_reset_bus_off </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Setzt einen Bus-Off Status zur眉ck und schaltet den CAN Controller wieder aktiv. <p><dl class="warning" compact><dt><b>Warnung:</b></dt><dd>aktuell nur auf dem SJA1000 </dd></dl></div></div><p><a class="anchor" name="ge3f7b241d087aaa78feb98452ae320d5"></a><!-- doxytag: member="can.h::can_send_message" ref="ge3f7b241d087aaa78feb98452ae320d5" args="(const can_t *msg)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">uint8_t can_send_message </td> <td>(</td> <td class="paramtype">const <a class="el" href="structcan__t.html">can_t</a> * </td> <td class="paramname"> <em>msg</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Verschickt eine Nachricht 眉ber den CAN Bus. <p><dl compact><dt><b>Parameter:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>msg</em> </td><td>Nachricht die verschickt werden soll </td></tr> </table></dl><dl class="return" compact><dt><b>R眉ckgabe:</b></dt><dd>FALSE falls die Nachricht nicht verschickt werden konnte, <br> ansonsten der Code des Puffes in den die Nachricht gespeichert wurde </dd></dl></div></div><p><a class="anchor" name="gf6ee58a439c848efb779306f0d84f87d"></a><!-- doxytag: member="can.h::can_set_filter" ref="gf6ee58a439c848efb779306f0d84f87d" args="(uint8_t number, const can_filter_t *filter)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">bool can_set_filter </td> <td>(</td> <td class="paramtype">uint8_t </td> <td class="paramname"> <em>number</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structcan__filter__t.html">can_filter_t</a> * </td> <td class="paramname"> <em>filter</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Setzen eines Filters. <p>F眉r einen MCP2515 sollte die Funktion <a class="el" href="group__can__interface.html#g1a525dac710bc2650bb2d9939f287923" title="Setzt die Werte f眉r alle Filter.">can_static_filter()</a> bevorzugt werden.<p><dl compact><dt><b>Parameter:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>number</em> </td><td>Position des Filters </td></tr> <tr><td valign="top"></td><td valign="top"><em>filter</em> </td><td>zu setzender Filter</td></tr> </table></dl><dl class="return" compact><dt><b>R眉ckgabe:</b></dt><dd>false falls ein Fehler auftrat, true ansonsten </dd></dl></div></div><p><a class="anchor" name="g08711a36cb70dc71c761ed01f7cbf8c8"></a><!-- doxytag: member="can.h::can_set_mode" ref="g08711a36cb70dc71c761ed01f7cbf8c8" args="(can_mode_t mode)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void can_set_mode </td> <td>(</td> <td class="paramtype"><a class="el" href="group__can__interface.html#gd6f5bfd4c152b830a94c2066e9c81710">can_mode_t</a> </td> <td class="paramname"> <em>mode</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Setzt den Operations-Modus. <p><dl compact><dt><b>Parameter:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>Gew眉nschter Modus des CAN Controllers </td></tr> </table></dl></div></div><p><a class="anchor" name="g1a525dac710bc2650bb2d9939f287923"></a><!-- doxytag: member="can.h::can_static_filter" ref="g1a525dac710bc2650bb2d9939f287923" args="(const prog_uint8_t *filter_array)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void can_static_filter </td> <td>(</td> <td class="paramtype">const prog_uint8_t * </td> <td class="paramname"> <em>filter_array</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Setzt die Werte f眉r alle Filter. <p><div class="fragment"><pre class="fragment"> <span class="comment">// Filter und Masken-Tabelle anlegen</span> prog_char can_filter[] = { MCP2515_FILTER_EXTENDED(0), <span class="comment">// Filter 0</span> MCP2515_FILTER_EXTENDED(0), <span class="comment">// Filter 1</span> MCP2515_FILTER_EXTENDED(0), <span class="comment">// Filter 2</span> MCP2515_FILTER_EXTENDED(0), <span class="comment">// Filter 3</span> MCP2515_FILTER_EXTENDED(0), <span class="comment">// Filter 4</span> MCP2515_FILTER_EXTENDED(0), <span class="comment">// Filter 5</span> MCP2515_FILTER_EXTENDED(0), <span class="comment">// Maske 0</span> MCP2515_FILTER_EXTENDED(0), <span class="comment">// Maske 1</span> }; ... <span class="comment">// Filter und Masken-Tabelle laden</span> <a class="code" href="group__can__interface.html#g1a525dac710bc2650bb2d9939f287923" title="Setzt die Werte f眉r alle Filter.">can_static_filter</a>(can_filter);</pre></div><p><dl compact><dt><b>Parameter:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>*filter_array</em> </td><td>Array im Flash des AVRs mit den Initialisierungs- werten f眉r die Filter des MCP2515</td></tr> </table></dl><dl class="see" compact><dt><b>Siehe auch:</b></dt><dd>MCP2515_FILTER_EXTENDED() <p>MCP2515_FILTER() </dd></dl><dl class="warning" compact><dt><b>Warnung:</b></dt><dd>Wird nur vom MCP2515 unterstuetzt. </dd></dl></div></div><p></div><hr size="1"><address style="text-align: right;"><small>Erzeugt am Tue Jan 6 15:41:35 2009 f眉r RCA CAN Library von <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -