<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>8031/8032: more interrupts possible?</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/17747/8031-8032-more-interrupts-possible</link><description> Hi, 
 
I&amp;#39;m doing a project with a 80C32 processor. I&amp;#39;m lacking, however, interrupts. 
Is there a (tricky) way to have more than the standard provided interrupts at your disposal? 
 
--Geert </description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: 8031/8032: more interrupts possible?</title><link>https://community.arm.com/thread/110909?ContentTypeID=1</link><pubDate>Mon, 14 Jun 2004 15:22:50 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f6921308-0743-4053-b510-6fdd8f6b4b54</guid><dc:creator>erik  malund</dc:creator><description>&lt;p&gt;If you load a timer with 0xffff and use the external input (counter) configuration, you will get an interrupt when the pin toggles.  This can be done with all timers.&lt;br /&gt;
&lt;br /&gt;
With this method the interrupts can be edge, with the above hardware suggestion, they have to be level.&lt;br /&gt;
&lt;br /&gt;
A third possiblity is to use a derivative with comparators (philips LPC (&amp;lt;$1), Cygnal) and use the comparator interrupts.&lt;br /&gt;
&lt;br /&gt;
A fourth is to &amp;#39;play&amp;#39; with the PCA/CCA.&lt;br /&gt;
&lt;br /&gt;
as a fifth I believe you can trick the UART, IIC and SPI interface interrupts to act as external interrupts.&lt;br /&gt;
&lt;br /&gt;
Erik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 8031/8032: more interrupts possible?</title><link>https://community.arm.com/thread/110913?ContentTypeID=1</link><pubDate>Mon, 14 Jun 2004 15:16:11 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:21ee57e6-9587-4896-a2d4-ce83b14644a1</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;i&gt;&amp;quot;like Mike said, based on a combination of some extra AND-gates (oops, still extra hardware, but not heavy ones...)&amp;quot;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Actually Mike suggested &lt;i&gt;&lt;b&gt;Wire-&lt;/b&gt;&lt;/i&gt;AND - which would require no extra components!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 8031/8032: more interrupts possible?</title><link>https://community.arm.com/thread/96383?ContentTypeID=1</link><pubDate>Mon, 14 Jun 2004 13:22:54 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4581bcf8-b43f-4bb6-a803-d74ec740be70</guid><dc:creator>Geert Vancompernolle</dc:creator><description>&lt;p&gt;Hello Drew,&lt;br /&gt;
&lt;br /&gt;
Indeed, &amp;#39;tricky&amp;#39; means a way to have this without extra external components.&lt;br /&gt;
&lt;br /&gt;
But I read the response of Mark and this seems quite interesting.  More over, I found a link to a site that explains just this (I think...):&lt;br /&gt;
&lt;a href="http://www.elecdesign.com/Articles/ArticleID/2189/2189.html" target="_blank"&gt;http://www.elecdesign.com/Articles/ArticleID/2189/2189.html&lt;/a&gt;&lt;br /&gt;
Pls. have a look at this.&lt;br /&gt;
&lt;br /&gt;
Really interesting and maybe a solution for my problem.  It&amp;#39;s, like Mike said, based on a combination of some extra AND-gates (oops, still extra hardware, but not heavy ones...) and a few pins of a port you have to sacrifice.&lt;br /&gt;
&lt;br /&gt;
But I think that will do the job.&lt;br /&gt;
&lt;br /&gt;
Unless you have other, more &amp;#39;tricky&amp;#39;, ideas?&lt;br /&gt;
&lt;br /&gt;
--Geert&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 8031/8032: more interrupts possible?</title><link>https://community.arm.com/thread/96376?ContentTypeID=1</link><pubDate>Sun, 13 Jun 2004 19:10:04 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:69f62203-74b9-452f-b083-23d4255d6dd9</guid><dc:creator>Mark H</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;
&lt;br /&gt;
If you have spare pins available on your micro, you could try (wire) anding all your external interupt sources together and feeding that resultant signal to an interrupt pin but you also have to connect each interrupt source to a separate pin that you can then test to see what caused the interrupt.&lt;br /&gt;
The interrupt is set as edge rather than level triggered and once you hit the routine you MUST check all of the interrupt sources&amp;#39;s (by checking each of the port pins you have connected them to) to ensure that you pick up (near) simultaneous interrupts because only one irq request will be generated.&lt;br /&gt;
Also DONT clear the interrupt flag (e.g. clr EX0) within the routine as it is perfectly possible that a new irq can occur once you are inside the irq.&lt;br /&gt;
I seem to recall that we also had a status flag for each irq source that was set to TRUE/FALSE within the interrupt so that we could tell if we had alredy detected this source and take appropriate action if need be.&lt;br /&gt;
You must also be careful that in the worst case that all interrupting source&amp;#39;s servicing doesnt take too long such that whilst you are processing them that one of the other sources doesnt have time to go inactive before it can be processsed otherwise you will not know about it.&lt;br /&gt;
&lt;br /&gt;
Hope this helps,&lt;br /&gt;
Mark.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 8031/8032: more interrupts possible?</title><link>https://community.arm.com/thread/86815?ContentTypeID=1</link><pubDate>Sun, 13 Jun 2004 17:01:53 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:c2935021-b17e-4a0e-bec2-ef17219beab1</guid><dc:creator>Drew Davis</dc:creator><description>&lt;p&gt;I assume by &amp;quot;tricky&amp;quot; you mean something other than dropping an external interrupt controller onto the board?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 8031/8032: more interrupts possible?</title><link>https://community.arm.com/thread/42358?ContentTypeID=1</link><pubDate>Sun, 13 Jun 2004 06:23:01 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:86469880-d3d3-40b5-bc3f-fda77983b211</guid><dc:creator>Mohammad  Adel</dc:creator><description>&lt;p&gt;I think you can have two or more interupts on the same pin..&lt;br /&gt;
Inside the interrupt routine you have to check which source caused that interrupt (for example: you can have the external interrupt sources place a certain word on one of the ports or simply make one of the port pins go low)&lt;br /&gt;
&lt;br /&gt;
but of course you have to be sure that no 2 interrupts on the same pin can occcur simultaneously..&lt;br /&gt;
&lt;br /&gt;
Hope I was helpful..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>