<?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>Problems working with timers and serial ports simultaneously</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/15973/problems-working-with-timers-and-serial-ports-simultaneously</link><description> I required the usage of serial port 1 on a Dallas 89C420. In order to use it i checked the example program Interrupt-Driven Serial I/O Support for printf filename &amp;quot;intsio.zip&amp;quot;. The example was adapted to my needs but all initializations were maintained</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Problems working with timers and serial ports simultaneously</title><link>https://community.arm.com/thread/85164?ContentTypeID=1</link><pubDate>Wed, 09 Jul 2003 20:57:14 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:1f24b361-9ff7-42d3-9a5f-65657f803824</guid><dc:creator>terrance peiris</dc:creator><description>&lt;p&gt;The second think, Once you put some data into your tx buffer it will start to send, once it is sending you cannot put another data that is why the while loop is there,&lt;br /&gt;
I beleived this will help you to understand&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problems working with timers and serial ports simultaneously</title><link>https://community.arm.com/thread/84429?ContentTypeID=1</link><pubDate>Wed, 09 Jul 2003 20:55:03 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b2010b3a-4219-4bb6-a51d-4c7057c54100</guid><dc:creator>terrance peiris</dc:creator><description>&lt;p&gt;Hi, The idea behid received and tranmit using serial interrupt is&lt;br /&gt;
1. Receiving data sould be at the correct time other wise you will miss some data, So it should be activated when you received 1 byte or if you use FIFO the data should remove once it reach water mark of the FIFO&lt;br /&gt;
&lt;br /&gt;
2. But transmit data is not like that, you can prepare the transmit buffer or fill your transmit fifo then you can call this function to transmit, what Keil is expalin is while you are filling the data into your transmit buffer you cannot enable tranmit interrupt.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problems working with timers and serial ports simultaneously</title><link>https://community.arm.com/thread/71628?ContentTypeID=1</link><pubDate>Wed, 09 Jul 2003 05:13:07 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:8d5af277-8fb3-4bcf-83a4-35959be82578</guid><dc:creator>Ricardo Pregitzer</dc:creator><description>&lt;p&gt;Well, actually I did have such problems, but i found out that enabling the high priority on both serial ports solved it... And if sometimes i miss the timer 0 interrupt it&amp;#39;s not that important...&lt;br /&gt;
The thing i don&amp;#39;t understand is how i can transmit by using the function i posted earlier... I set the TI1 to 0 and that&amp;#39;s the contraray of the example given by keil.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problems working with timers and serial ports simultaneously</title><link>https://community.arm.com/thread/40513?ContentTypeID=1</link><pubDate>Wed, 09 Jul 2003 04:49:28 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d16e5aac-bdcb-47a4-b424-d2d790ab7a90</guid><dc:creator>terrance peiris</dc:creator><description>&lt;p&gt;Hi Ric, It is look like the time is not enough to do both JOB.&lt;br /&gt;
Say you set serial intterrupt at 19.2Kbit/s then every 520uS the serial interrupt will come(10 bits), insight the ISR you will take may be 500uS, so you only have 12uS, if you set yoour timer interrupt 50uS then you have a problem, and insigth the timer ISR you may spend more time.&lt;br /&gt;
&lt;br /&gt;
You can check this by setting one pin to high when you are enterring ISR then low when you leave ISR&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>