⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 group__can__interface.html

📁 Library for CAN Controler sja1000
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>RCA CAN Library: Universelles CAN Interface</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Erzeugt von Doxygen 1.5.5 --><div class="navigation" id="top">  <div class="tabs">    <ul>      <li><a href="index.html"><span>Hauptseite</span></a></li>      <li><a href="modules.html"><span>Module</span></a></li>      <li><a href="annotated.html"><span>Datenstrukturen</span></a></li>      <li><a href="files.html"><span>Dateien</span></a></li>    </ul>  </div></div><div class="contents"><h1>Universelles CAN Interface</h1>allgemeines CAN Interface f眉r AT90CAN32/64/128, MCP2515 und SJA1000  <a href="#_details">Mehr ...</a><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Datenstrukturen</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcan__t.html">can_t</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Datenstruktur zum Aufnehmen von CAN Nachrichten.  <a href="structcan__t.html#_details">Mehr ...</a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcan__filter__t.html">can_filter_t</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Datenstruktur zur Aufnahme von CAN-Filtern.  <a href="structcan__filter__t.html#_details">Mehr ...</a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcan__error__register__t.html">can_error_register_t</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inhalt der Fehler-Register.  <a href="structcan__error__register__t.html#_details">Mehr ...</a><br></td></tr><tr><td colspan="2"><br><h2>Makrodefinitionen</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0c107bf106e5097ee208985008c9c112"></a><!-- doxytag: member="can_interface::CAN_ALL_FILTER" ref="g0c107bf106e5097ee208985008c9c112" args="" -->#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#g0c107bf106e5097ee208985008c9c112">CAN_ALL_FILTER</a>&nbsp;&nbsp;&nbsp;0xff</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Symbol um auf alle Filter zuzugreifen. <br></td></tr><tr><td colspan="2"><br><h2>Aufz盲hlungen</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#g1085b545b19ee92abad774ad27eec8d7">can_bitrate_t</a> { <br>&nbsp;&nbsp;<b>BITRATE_10_KBPS</b> =  0, <b>BITRATE_20_KBPS</b> =  1, <b>BITRATE_50_KBPS</b> =  2, <b>BITRATE_100_KBPS</b> =  3, <br>&nbsp;&nbsp;<b>BITRATE_125_KBPS</b> =  4, <b>BITRATE_250_KBPS</b> =  5, <b>BITRATE_500_KBPS</b> =  6, <b>BITRATE_1_MBPS</b> =  7<br> }</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitraten fuer den CAN-Bus. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#gd6f5bfd4c152b830a94c2066e9c81710">can_mode_t</a> { <a class="el" href="group__can__interface.html#ggd6f5bfd4c152b830a94c2066e9c81710581130e49bf3be40cabb563b0fee8fc4">LISTEN_ONLY_MODE</a>, <a class="el" href="group__can__interface.html#ggd6f5bfd4c152b830a94c2066e9c81710187b2d7634d602c4f41d4a92b02c4b8f">LOOPBACK_MODE</a>, <a class="el" href="group__can__interface.html#ggd6f5bfd4c152b830a94c2066e9c8171083feb61d42f8db9f494019fcea2c0148">NORMAL_MODE</a> }</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modus des CAN Interfaces.  <a href="group__can__interface.html#gd6f5bfd4c152b830a94c2066e9c81710">Mehr ...</a><br></td></tr><tr><td colspan="2"><br><h2>Funktionen</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#gbd1f48e60b6607452b92d08cca69e882">can_init</a> (<a class="el" href="group__can__interface.html#g1085b545b19ee92abad774ad27eec8d7">can_bitrate_t</a> bitrate)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialisierung des CAN Interfaces.  <a href="#gbd1f48e60b6607452b92d08cca69e882"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#gf6ee58a439c848efb779306f0d84f87d">can_set_filter</a> (uint8_t number, const <a class="el" href="structcan__filter__t.html">can_filter_t</a> *filter)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setzen eines Filters.  <a href="#gf6ee58a439c848efb779306f0d84f87d"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#g481f4fb1ea636415efc618e4e7f40989">can_disable_filter</a> (uint8_t number)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter deaktivieren.  <a href="#g481f4fb1ea636415efc618e4e7f40989"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#g1a525dac710bc2650bb2d9939f287923">can_static_filter</a> (const prog_uint8_t *filter_array)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setzt die Werte f眉r alle Filter.  <a href="#g1a525dac710bc2650bb2d9939f287923"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#g16d0640bef61ef76d8bd4c6274c6cdaa">can_get_filter</a> (uint8_t number, <a class="el" href="structcan__filter__t.html">can_filter_t</a> *filter)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filterdaten auslesen.  <a href="#g16d0640bef61ef76d8bd4c6274c6cdaa"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#gea4af1845c4128b901e6b5190f154f02">can_check_message</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ueberpruefen ob neue CAN Nachrichten vorhanden sind.  <a href="#gea4af1845c4128b901e6b5190f154f02"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#g645382c1488d16b75b6721a476ac0836">can_check_free_buffer</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ueberprueft ob ein Puffer zum Versenden einer Nachricht frei ist.  <a href="#g645382c1488d16b75b6721a476ac0836"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#ge3f7b241d087aaa78feb98452ae320d5">can_send_message</a> (const <a class="el" href="structcan__t.html">can_t</a> *msg)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Verschickt eine Nachricht 眉ber den CAN Bus.  <a href="#ge3f7b241d087aaa78feb98452ae320d5"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#g93c3e6ad5e58dc208cd1ccce45f4fe97">can_get_message</a> (<a class="el" href="structcan__t.html">can_t</a> *msg)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Liest eine Nachricht aus den Empfangspuffern des CAN Controllers.  <a href="#g93c3e6ad5e58dc208cd1ccce45f4fe97"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb163a825c6dc771bfd910dd1566c6709"></a><!-- doxytag: member="can_interface::can_read_error_register" ref="gb163a825c6dc771bfd910dd1566c6709" args="(void)" --><a class="el" href="structcan__error__register__t.html">can_error_register_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#gb163a825c6dc771bfd910dd1566c6709">can_read_error_register</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Liest den Inhalt der Fehler-Register. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#g789249cd7bf03abf1112e66dc31c6a6b">can_check_bus_off</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">脺berpr眉ft ob der CAN Controller im Bus-Off-Status.  <a href="#g789249cd7bf03abf1112e66dc31c6a6b"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#g9dd5adf15a4a0421c45840443e720ee3">can_reset_bus_off</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setzt einen Bus-Off Status zur眉ck und schaltet den CAN Controller wieder aktiv.  <a href="#g9dd5adf15a4a0421c45840443e720ee3"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__can__interface.html#g08711a36cb70dc71c761ed01f7cbf8c8">can_set_mode</a> (<a class="el" href="group__can__interface.html#gd6f5bfd4c152b830a94c2066e9c81710">can_mode_t</a> mode)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setzt den Operations-Modus.  <a href="#g08711a36cb70dc71c761ed01f7cbf8c8"></a><br></td></tr></table><hr><a name="_details"></a><h2>Ausf眉hrliche Beschreibung</h2>allgemeines CAN Interface f眉r AT90CAN32/64/128, MCP2515 und SJA1000 <p><dl class="author" compact><dt><b>Autor:</b></dt><dd>Fabian Greif &lt;<a href="mailto:fabian.greif@rwth-aachen.de">fabian.greif@rwth-aachen.de</a>&gt; <p>Roboterclub Aachen e.V. (<a href="http://www.roboterclub.rwth-aachen.de">http://www.roboterclub.rwth-aachen.de</a>)</dd></dl><dl class="version" compact><dt><b>Version:</b></dt><dd></dd></dl><dl class="rcs" compact><dt><b>Id</b></dt><dd><a class="el" href="can_8h.html" title="Header-Datei f眉r das allgemeine CAN Interface.">can.h</a> 6927 2008-12-03 22:42:59Z fabian </dd></dl><hr><h2>Dokumentation der Aufz盲hlungstypen</h2><a class="anchor" name="gd6f5bfd4c152b830a94c2066e9c81710"></a><!-- doxytag: member="can.h::can_mode_t" ref="gd6f5bfd4c152b830a94c2066e9c81710" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">enum <a class="el" href="group__can__interface.html#gd6f5bfd4c152b830a94c2066e9c81710">can_mode_t</a>          </td>        </tr>      </table></div><div class="memdoc"><p>Modus des CAN Interfaces. <p><dl compact><dt><b>Aufz盲hlungswerte: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"><tr><td valign="top"><em><a class="anchor" name="ggd6f5bfd4c152b830a94c2066e9c81710581130e49bf3be40cabb563b0fee8fc4"></a><!-- doxytag: member="LISTEN_ONLY_MODE" ref="ggd6f5bfd4c152b830a94c2066e9c81710581130e49bf3be40cabb563b0fee8fc4" args="" -->LISTEN_ONLY_MODE</em>&nbsp;</td><td>der CAN Contoller empf盲ngt nur und verh盲lt sich v枚llig passiv </td></tr><tr><td valign="top"><em><a class="anchor" name="ggd6f5bfd4c152b830a94c2066e9c81710187b2d7634d602c4f41d4a92b02c4b8f"></a><!-- doxytag: member="LOOPBACK_MODE" ref="ggd6f5bfd4c152b830a94c2066e9c81710187b2d7634d602c4f41d4a92b02c4b8f" args="" -->LOOPBACK_MODE</em>&nbsp;</td><td>alle Nachrichten direkt auf die Empfangsregister umleiten ohne sie zu senden </td></tr><tr><td valign="top"><em><a class="anchor" name="ggd6f5bfd4c152b830a94c2066e9c8171083feb61d42f8db9f494019fcea2c0148"></a><!-- doxytag: member="NORMAL_MODE" ref="ggd6f5bfd4c152b830a94c2066e9c8171083feb61d42f8db9f494019fcea2c0148" args="" -->NORMAL_MODE</em>&nbsp;</td><td>normaler Modus, CAN Controller ist aktiv </td></tr></table></dl><p>Definiert in Zeile <a class="el" href="can_8h-source.html#l00257">257</a> der Datei <a class="el" href="can_8h-source.html">can.h</a>.</p></div></div><p><hr><h2>Dokumentation der Funktionen</h2><a class="anchor" name="g789249cd7bf03abf1112e66dc31c6a6b"></a><!-- doxytag: member="can.h::can_check_bus_off" ref="g789249cd7bf03abf1112e66dc31c6a6b" args="(void)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">bool can_check_bus_off           </td>          <td>(</td>          <td class="paramtype">void&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>脺berpr眉ft ob der CAN Controller im Bus-Off-Status. <p><dl class="return" compact><dt><b>R眉ckgabe:</b></dt><dd>true wenn der Bus-Off-Status aktiv ist, false ansonsten</dd></dl><dl class="warning" compact><dt><b>Warnung:</b></dt><dd>aktuell nur auf dem SJA1000 </dd></dl></div></div><p><a class="anchor" name="g645382c1488d16b75b6721a476ac0836"></a><!-- doxytag: member="can.h::can_check_free_buffer" ref="g645382c1488d16b75b6721a476ac0836" args="(void)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">bool can_check_free_buffer           </td>          <td>(</td>          <td class="paramtype">void&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Ueberprueft ob ein Puffer zum Versenden einer Nachricht frei ist. <p><dl class="return" compact><dt><b>R眉ckgabe:</b></dt><dd>true falls ein Sende-Puffer frei ist, false ansonsten. </dd></dl></div></div><p><a class="anchor" name="gea4af1845c4128b901e6b5190f154f02"></a><!-- doxytag: member="can.h::can_check_message" ref="gea4af1845c4128b901e6b5190f154f02" args="(void)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">bool can_check_message           </td>          <td>(</td>          <td class="paramtype">void&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Ueberpruefen ob neue CAN Nachrichten vorhanden sind. <p><dl class="return" compact><dt><b>R眉ckgabe:</b></dt><dd>true falls neue Nachrichten verfuegbar sind, false ansonsten. </dd></dl></div></div><p><a class="anchor" name="g481f4fb1ea636415efc618e4e7f40989"></a><!-- doxytag: member="can.h::can_disable_filter" ref="g481f4fb1ea636415efc618e4e7f40989" args="(uint8_t number)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">bool can_disable_filter           </td>          <td>(</td>          <td class="paramtype">uint8_t&nbsp;</td>          <td class="paramname"> <em>number</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Filter deaktivieren. <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>&nbsp;</td><td>Nummer des Filters der deaktiviert werden soll, 0xff deaktiviert alle 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><dl class="warning" compact><dt><b>Warnung:</b></dt><dd>Wird nur vom AT90CAN32/64/128 unterstuetzt. </dd></dl></div></div><p><a class="anchor" name="g16d0640bef61ef76d8bd4c6274c6cdaa"></a><!-- doxytag: member="can.h::can_get_filter" ref="g16d0640bef61ef76d8bd4c6274c6cdaa" args="(uint8_t number, can_filter_t *filter)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">uint8_t can_get_filter           </td>          <td>(</td>          <td class="paramtype">uint8_t&nbsp;</td>          <td class="paramname"> <em>number</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype"><a class="el" href="structcan__filter__t.html">can_filter_t</a> *&nbsp;</td>          <td class="paramname"> <em>filter</em></td><td>&nbsp;</td>        </tr>        <tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -