<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.mcselec.com/bavr/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=CONFIG_CANBUSMODE</id>
		<title>CONFIG CANBUSMODE - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=CONFIG_CANBUSMODE"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=CONFIG_CANBUSMODE&amp;action=history"/>
		<updated>2026-04-26T07:54:15Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.18.6</generator>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=CONFIG_CANBUSMODE&amp;diff=4975&amp;oldid=prev</id>
		<title>Admin at 22:15, 12 December 2014</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=CONFIG_CANBUSMODE&amp;diff=4975&amp;oldid=prev"/>
				<updated>2014-12-12T22:15:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 22:15, 12 December 2014&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 41:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 41:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Your code always need a number of statements.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Your code always need a number of statements. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The best solution is to use the can-elektor.bas sample to get started.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;nbsp;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANRESET&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANRESET&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 69:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 71:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CONFIG CANMOB&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CONFIG CANMOB&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Here you define the properties of each Message Object. This need to be done only once.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Here you define the properties of each Message Object. This need to be done only once&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. But after the message object has been used, you need to configure it again so the new MOB can be used again&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 115:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 117:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;We must clear the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANSIT1&amp;lt;/span&amp;gt;&amp;amp;nbsp;and&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANSIT2&amp;lt;/span&amp;gt;&amp;amp;nbsp;flag registers before we exit the interrupt routine. We also need to reset the interrupt flags in&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANGIT&amp;lt;/span&amp;gt;. This is done by writing the same value back to&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANGIT&amp;lt;/span&amp;gt;. A one will clear the flag if it was set.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;We must clear the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANSIT1&amp;lt;/span&amp;gt;&amp;amp;nbsp;and&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANSIT2&amp;lt;/span&amp;gt;&amp;amp;nbsp;flag registers before we exit the interrupt routine. We also need to reset the interrupt flags in&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;nbsp;&lt;/ins&gt;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANGIT&amp;lt;/span&amp;gt;. This is done by writing the same value back to&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANGIT&amp;lt;/span&amp;gt;. A one will clear the flag if it was set.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Last we restore the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANPAGE&amp;lt;/span&amp;gt;&amp;amp;nbsp;register by writing&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;_CAN_PAGE&amp;lt;/span&amp;gt;&amp;amp;nbsp;back to it.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Last we restore the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANPAGE&amp;lt;/span&amp;gt;&amp;amp;nbsp;register by writing&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;_CAN_PAGE&amp;lt;/span&amp;gt;&amp;amp;nbsp;back to it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 125:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 127:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;span style=&amp;quot;font&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;As you can see in the sample, the MOB's are configured at the start AND once they are used so they can be re&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;used.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;In the example all lines are important except for the PRINT lines.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=CONFIG_CANBUSMODE&amp;diff=4581&amp;oldid=prev</id>
		<title>Admin at 08:29, 24 August 2013</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=CONFIG_CANBUSMODE&amp;diff=4581&amp;oldid=prev"/>
				<updated>2013-08-24T08:29:07Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 08:29, 24 August 2013&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 217:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 217:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Return&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Return&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{&lt;/ins&gt;Languages&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;#x7B;&amp;amp;#x7B;&lt;/del&gt;Languages&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;#x7D;&amp;amp;#x7D;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:BASCOM Language Reference]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:BASCOM Language Reference]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=CONFIG_CANBUSMODE&amp;diff=4580&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;= &lt;span class=&quot;f_Header&quot;&gt;Action&lt;/span&gt; =  Configures the CAN bus mode.  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  = &lt;sp...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=CONFIG_CANBUSMODE&amp;diff=4580&amp;oldid=prev"/>
				<updated>2013-08-24T08:28:22Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =  Configures the CAN bus mode.  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;  = &amp;lt;sp...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Configures the CAN bus mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;CONFIG CANBUSMODE =&amp;lt;/span&amp;gt;mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 75px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
mode&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 520px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The CAN bus can be set to 3 different modes.&lt;br /&gt;
&lt;br /&gt;
- ENABLED&amp;amp;nbsp;: TxCAN and RxCAN are enabled.&lt;br /&gt;
&lt;br /&gt;
- STANDBY&amp;amp;nbsp;: TxCAN is recessive and the receiver is disabled. The registers and mobs can be accessed.&lt;br /&gt;
&lt;br /&gt;
- LISTENING&amp;amp;nbsp;: This mode is transparant for the CAN channel. It enables a hardware loop[ back from the internal TxCAN to the RxCAN. It provides a recessive level on the TxCAN output pin. It does NOT disable the RxCAN pin.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The CAN commands are intended for the AVR processor AT90CANXXX series.&lt;br /&gt;
&lt;br /&gt;
You need to terminate the bus with 120 ohm at both ends.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Your code always need a number of statements.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANRESET&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Will reset the CAN controller. Use this only once.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANCLEARALLMOBS&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Will clear all message objects. This is best to be done right after the CANRESET.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANBAUD&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All devices on the bus need to have the same baud rate. Set the BAUD right after you have cleared all objects.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CONFIG CANBUSMODE&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you chose the mode the bus will work in. This is ENABLED in most cases.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CONFIG CANMOB&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here you define the properties of each Message Object. This need to be done only once.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANGIE , ON CAN_IT&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the interrupt TX, RX and ERR interrupts are used you need to assign a value of &amp;amp;B10111000 to CANGIE.&lt;br /&gt;
&lt;br /&gt;
You also need to assign an interrupt routine to the CANIT interrupt.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
In the main code you can send data using CANSEND.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The interrupt routine.&lt;br /&gt;
&lt;br /&gt;
The&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANPAGE&amp;lt;/span&amp;gt;&amp;amp;nbsp;register is saved into the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;_CAN_PAGE&amp;lt;/span&amp;gt;&amp;amp;nbsp;variable. This is required since the interrupt may not change the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANPAGE&amp;lt;/span&amp;gt;&amp;amp;nbsp;register.&lt;br /&gt;
&lt;br /&gt;
Then&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANGETINTS&amp;lt;/span&amp;gt;&amp;amp;nbsp;is used to retreive all message object interrupt flags. The value is stored in&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;_CAN_MOBINTS.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since multiple Message Objects can cause an interrupt we check all message objects with a For.. Next loop to test all bits. If the bit is set, the Message Object is selected with&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANSELPAGE&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANSTMOB&amp;lt;/span&amp;gt;&amp;amp;nbsp;register is tested for a number of bits/flags.&lt;br /&gt;
&lt;br /&gt;
If bit 5 is set, it means that a frame was received. For the demo the ID is read with&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANID&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANRECEIVE&amp;lt;/span&amp;gt;&amp;amp;nbsp;function reads the data from the frame into a variable. In the example the variable is a PORT which will change value depending on the receive data byte.&lt;br /&gt;
&lt;br /&gt;
After this the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CONFIG CANMOB&amp;lt;/span&amp;gt;&amp;amp;nbsp;is used with a value of -1 to indicate that the operation must be done on the current selected MOB.&lt;br /&gt;
&lt;br /&gt;
The object is put back into receive mode.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
If bit 6 is set it means that data was transmitted with success. Again, we use&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CONFIG CANMOB&amp;lt;/span&amp;gt;&amp;amp;nbsp;so the object can be used again. For transmitting we put the object into DISABLED mode.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
And lastly we test bit 0, the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;MOB&amp;lt;/span&amp;gt;&amp;amp;nbsp;error bit. It if was set it means there was an error when data was sent using&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANSEND&amp;lt;/span&amp;gt;. We must use&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CONFIG CANMOB&amp;lt;/span&amp;gt;&amp;amp;nbsp;so the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;MOB&amp;lt;/span&amp;gt;&amp;amp;nbsp;can be used again.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
We must clear the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANSIT1&amp;lt;/span&amp;gt;&amp;amp;nbsp;and&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANSIT2&amp;lt;/span&amp;gt;&amp;amp;nbsp;flag registers before we exit the interrupt routine. We also need to reset the interrupt flags in&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANGIT&amp;lt;/span&amp;gt;. This is done by writing the same value back to&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANGIT&amp;lt;/span&amp;gt;. A one will clear the flag if it was set.&lt;br /&gt;
&lt;br /&gt;
Last we restore the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;CANPAGE&amp;lt;/span&amp;gt;&amp;amp;nbsp;register by writing&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(51, 102, 255);&amp;quot;&amp;gt;_CAN_PAGE&amp;lt;/span&amp;gt;&amp;amp;nbsp;back to it.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
While the interrupt routine shows some PRINT statements, it is not a good idea to print inside the/a interrupt routine. You should keep the delay as short as possible otherwise you might not be able to process all CAN frames.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;[[CONFIG CANMOB|CONFIG CANMOB]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CANBAUD]],&amp;amp;nbsp;[[CANRESET]],&amp;amp;nbsp;[[CANCLEARMOB]],&amp;amp;nbsp;[[CANCLEARALLMOBS]],&amp;amp;nbsp;[[CANSEND]],&amp;amp;nbsp;[[CANRECEIVE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CANID]],&amp;amp;nbsp;[[CANSELPAGE]],&amp;amp;nbsp;[[CANGETINTS]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'------------------------------------------------------------------------&lt;br /&gt;
' CAN-Elektor.bas&lt;br /&gt;
' bascom-avr demo for Auto-CANtroller board&lt;br /&gt;
'------------------------------------------------------------------------&lt;br /&gt;
$regfile = &amp;quot;m32can.dat&amp;quot; ' processor we use&lt;br /&gt;
 &lt;br /&gt;
$crystal = 12000000 ' Crystal 12 MHz&lt;br /&gt;
$hwstack = 64&lt;br /&gt;
$swstack = 32&lt;br /&gt;
$framesize = 40&lt;br /&gt;
 &lt;br /&gt;
'$prog &amp;amp;HFF , &amp;amp;HCF , &amp;amp;HD9 , &amp;amp;HFF ' generated. Take care that the chip supports all fuse bytes.&lt;br /&gt;
Config Porta = Output ' LED&lt;br /&gt;
Config Portc = Input ' DIP switch&lt;br /&gt;
Portc = 255 ' activate pull up&lt;br /&gt;
 &lt;br /&gt;
Config Com2 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0&lt;br /&gt;
Open &amp;quot;COM2:&amp;quot; For Binary As #2&lt;br /&gt;
 &lt;br /&gt;
Dim _canpage As Byte , _canid As Dword , _can_int_idx As Byte , _can_mobints As Word&lt;br /&gt;
Dim Breceived As Byte , Bok As Byte , Bdil As Byte&lt;br /&gt;
 &lt;br /&gt;
On Can_int Can_int ' define the CAN interrupt&lt;br /&gt;
Enable Interrupts ' enable interrupts&lt;br /&gt;
 &lt;br /&gt;
Canreset ' reset can controller&lt;br /&gt;
Canclearallmobs ' clear alle message objects&lt;br /&gt;
Canbaud = 125000 ' use 125 KB&lt;br /&gt;
 &lt;br /&gt;
Config Canbusmode = Enabled ' enabled,standby,listening&lt;br /&gt;
Config Canmob = 0 , Bitlen = 11 , Idtag = &amp;amp;H0120 , Idmask = &amp;amp;H0120 , Msgobject = Receive , Msglen = 1 , Autoreply = Disabled 'first mob is used for receiving data&lt;br /&gt;
Config Canmob = 1 , Bitlen = 11 , Idtag = &amp;amp;H0120 , Msgobject = Disabled , Msglen = 1 ' this mob is used for sending data&lt;br /&gt;
 &lt;br /&gt;
Cangie = &amp;amp;B10111000 ' CAN GENERAL INTERRUPT and TX and RX and ERR&lt;br /&gt;
Print #2 , &amp;quot;Start&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
If Pinc &amp;lt;&amp;gt; Bdil Then ' if the switch changed&lt;br /&gt;
 Bdil = Pinc ' save the value&lt;br /&gt;
 Bok = Cansend(1 , Pinc) ' send one byte using MOB 1&lt;br /&gt;
 Print #2 , &amp;quot;OK:&amp;quot; ; Bok ' should be 0 if it was send OK&lt;br /&gt;
End If&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'*********************** CAN CONTROLLER INTERRUPT ROUTINE **********************&lt;br /&gt;
'multiple objects can generate an interrupt&lt;br /&gt;
Can_int:&lt;br /&gt;
_canpage = Canpage ' save can page because the main program can access the page too&lt;br /&gt;
Cangetints ' read all the interrupts into variable _can_mobints&lt;br /&gt;
 &lt;br /&gt;
For _can_int_idx = 0 To 14 ' for all message objects&lt;br /&gt;
 If _can_mobints._can_int_idx = 1 Then ' if this message caused an interrupt&lt;br /&gt;
 &lt;br /&gt;
 Canselpage _can_int_idx ' select message object&lt;br /&gt;
 &lt;br /&gt;
 If Canstmob.5 = 1 Then ' we received a frame&lt;br /&gt;
 _canid = Canid() ' read the identifier&lt;br /&gt;
 Print #2 , Hex(_canid)&lt;br /&gt;
 &lt;br /&gt;
 Breceived = Canreceive(porta) ' read the data and store in PORTA&lt;br /&gt;
 Print #2 , &amp;quot;Got : &amp;quot; ; Breceived ; &amp;quot; bytes&amp;quot; ' show what we received&lt;br /&gt;
 Print #2 , Hex(porta)&lt;br /&gt;
 Config Canmob = -1 , Bitlen = 11 , Msgobject = Receive , Msglen = 1 , Autoreply = Disabled , Clearmob = No&lt;br /&gt;
 ' reconfig with value -1 for the current MOB and do not set ID and MASK&lt;br /&gt;
 Elseif Canstmob.6 = 1 Then 'transmission ready&lt;br /&gt;
 Config Canmob = -1 , Bitlen = 11 , Msgobject = Disabled , Msglen = 1 , Clearmob = No&lt;br /&gt;
 ' reconfig with value -1 for the current MOB and do not set ID and MASK&lt;br /&gt;
 Elseif Canstmob.0 = 1 Then 'ack error when sending data 'transmission ready&lt;br /&gt;
 Print #2 , &amp;quot;ERROR:&amp;quot; ; Hex(canstmob)&lt;br /&gt;
 Config Canmob = -1 , Bitlen = 11 , Msgobject = Disabled , Msglen = 1 , Clearmob = No&lt;br /&gt;
 End If&lt;br /&gt;
 End If&lt;br /&gt;
Next&lt;br /&gt;
Cansit1 = 0 : Cansit2 = 0 : Cangit = Cangit ' clear interrupt flags&lt;br /&gt;
Canpage = _canpage ' restore page&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x7B;&amp;amp;#x7B;Languages&amp;amp;#x7D;&amp;amp;#x7D;&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>