<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>LeafLabs Garden &#187; Topic: Abnormal Baud Rates</title>
		<link>http://forums.leaflabs.com/topic.php?id=1179</link>
		<description>A place to share, learn, and grow...</description>
		<language>en-US</language>
		<pubDate>Fri, 22 Jan 2016 00:07:20 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.2</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://forums.leaflabs.com/search.php</link>
		</textInput>
		<atom:link href="http://forums.leaflabs.com/rss.php?topic=1179" rel="self" type="application/rss+xml" />

		<item>
			<title>gbulmer on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7225</link>
			<pubDate>Wed, 23 Nov 2011 20:32:28 +0000</pubDate>
			<dc:creator>gbulmer</dc:creator>
			<guid isPermaLink="false">7225@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;fkatzenb - I agree with tdc218 and becker, just use one of the USARTs.&#60;/p&#62;
&#60;p&#62;Get yourself a copy of RM0008 from ST.com to see how very flexible the USARTs are.&#60;/p&#62;
&#60;p&#62;At such a slow data rate (less than one character/millisecond), it isn't likely the extra complexity of using DMA will save much work. Further the protocol you describe appears to be only a few bytes at a time in either direction before it needs processor involvement. So you might burn more cycles setting up the DMA for a short (e.g. 2 or 3 byte) transfer, as just dealing with the USART directly.&#60;/p&#62;
&#60;p&#62;Using an interrupt service routine to allow the program to do other work might be worth investigating if other processing is asynchronous and can't be done using DMA or interrupts.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>becker on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7218</link>
			<pubDate>Tue, 22 Nov 2011 14:51:25 +0000</pubDate>
			<dc:creator>becker</dc:creator>
			<guid isPermaLink="false">7218@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Further, the underlying hardware uses a &#34;fractional baud rate generator&#34;.  This increases the transmit accuracy over a simple integer division of the high speed clock by having a correction fraction.&#60;/p&#62;
&#60;p&#62;Not that it should matter for an async serial link, which resynchronizes with each start bit.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>tdc218 on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7210</link>
			<pubDate>Mon, 21 Nov 2011 22:21:13 +0000</pubDate>
			<dc:creator>tdc218</dc:creator>
			<guid isPermaLink="false">7210@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;As the &#34;baud&#34; rate divisor that gets programmed into the usarts is computed on the fly and not pulled from a look up table, you are not locked in to standard &#34;baud&#34; rates.  You ought to be able to do Serial.begin(976); and/or Serial.begin(7812); and use the standard serial functions and it should have a good chance of working fine.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>HDS on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7207</link>
			<pubDate>Mon, 21 Nov 2011 03:05:12 +0000</pubDate>
			<dc:creator>HDS</dc:creator>
			<guid isPermaLink="false">7207@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Nonblocking SoftSerial is throughoutly without problem on the Maple / Maple IDE:&#60;br /&#62;
You only have to use one or two of the four built-in hardware timers.&#60;/p&#62;
&#60;p&#62;The timer is connected to an interrupt routine, which you do use for sending the bytes in the desired baud rate.&#60;br /&#62;
The baud rate could be configured up to 36.000.000   ;-)&#60;/p&#62;
&#60;p&#62;here is an example for a SoftSerial.send(), with a non-blocking output ring buffer:&#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;http://pastebin.com/pRajtwAj&#34; rel=&#34;nofollow&#34;&#62;http://pastebin.com/pRajtwAj&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;The same way, you could connect an interrupt to some receive pin to start your data receiving timer to generate the baud rate and fill your recieve buffer - independantly from the main.loop.&#60;/p&#62;
&#60;p&#62;But: you could use also one of the 3 USART's. Ask them in the loop, if they've got a char for you, if so, store it in your buffer (fastest with DMA.)&#60;/p&#62;
&#60;p&#62;At both baud rates, you will have definitely very, very many Processor cycles to do other stuff - as long as you arn't waiting with Delay() or While(!Serial1.Available()) do wait...
&#60;/p&#62;</description>
		</item>
		<item>
			<title>fkatzenb on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7205</link>
			<pubDate>Sun, 20 Nov 2011 19:14:41 +0000</pubDate>
			<dc:creator>fkatzenb</dc:creator>
			<guid isPermaLink="false">7205@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Its for an old Motorola ECU and those are the baud rates it uses.  It is rather dumb.&#60;/p&#62;
&#60;p&#62;The protocal is rather simple.&#60;br /&#62;
&#34;You send code 0x12 at 976 baud until the ECU replies with 0x12.  You then switch to 7812 baud and send 0x12 to confirm hi-speed logging, ECU replies with 0x12 if confirmed.  You then send single byte memory addresses to retrieve data; ECU replies with data at the location sent.&#34;&#60;/p&#62;
&#60;p&#62;My goal is to make a black box recorder for particular parameters instead of using a laptop.  Coupled with a selector knob and SD card, I could have several different profiles of which they each log a different combination of parameters.  &#60;/p&#62;
&#60;p&#62;I have done several microcontroller projects, but I make bad assumptions.  My concern is that I am going to waste a lot of clock cycles waiting to receive data.  Is there some kind of hardware buffer I could use?  My ultimate goal is to combine with this a display with some smoothing algorithms.&#60;/p&#62;
&#60;p&#62;Thanks,&#60;br /&#62;
Frank
&#60;/p&#62;</description>
		</item>
		<item>
			<title>HDS on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7203</link>
			<pubDate>Sun, 20 Nov 2011 15:30:05 +0000</pubDate>
			<dc:creator>HDS</dc:creator>
			<guid isPermaLink="false">7203@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Think about Software Serial.&#60;br /&#62;
Just using a pin.&#60;br /&#62;
And a Hardware Timer controlling the baud rate.&#60;br /&#62;
No, you are using really horrible Baud rates...:&#60;br /&#62;
976 BAUD&#60;br /&#62;
7812 BAUD&#60;br /&#62;
Sounds like Frequencies to receive some RTTY on a demodulated SSB receiver.&#60;br /&#62;
Since the Baud rates are very low:&#60;br /&#62;
Definitely, the Maple will handle those.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>fkatzenb on "Abnormal Baud Rates"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1179#post-7199</link>
			<pubDate>Sat, 19 Nov 2011 22:00:28 +0000</pubDate>
			<dc:creator>fkatzenb</dc:creator>
			<guid isPermaLink="false">7199@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;I am thinking about getting a Maple for black box recording to an SD card.  I am looking at it because it has a lot of memory and head room as the serial data that I need, I have to first request and then wait to receive at horrible baud rates - 976 and 7812.  Will the Maple be able to handle these?&#60;/p&#62;
&#60;p&#62;Thanks,&#60;br /&#62;
Frank
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
