<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Roboternetz - Asuro</title>
		<link>http://www.roboternetz.de/community/</link>
		<description>Hier gehts um den Einsteigerbausatz Asuro</description>
		<language>de</language>
		<lastBuildDate>Thu, 23 May 2013 04:48:34 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>30</ttl>
		<image>
			<url>http://www.roboternetz.de/community/images/misc/rss.png</url>
			<title>Roboternetz - Asuro</title>
			<link>http://www.roboternetz.de/community/</link>
		</image>
		<item>
			<title>Random</title>
			<link>http://www.roboternetz.de/community/threads/61953-Random?goto=newpost</link>
			<pubDate>Tue, 14 May 2013 08:50:14 GMT</pubDate>
			<description>Hallo Leute, 
 
ich habe da mal eine Frage. 
Wie bringe ich dem Asuro (zu Testzwecken) eine Randomzahl zu Serprinten? 
Hier mal mein bisheriger...</description>
			<content:encoded><![CDATA[<div>Hallo Leute,<br />
<br />
ich habe da mal eine Frage.<br />
Wie bringe ich dem Asuro (zu Testzwecken) eine Randomzahl zu Serprinten?<br />
Hier mal mein bisheriger Quelltext:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"># include &lt;asuro.h&gt;<br />
# include &lt;stdlib.h&gt;<br />
int x;<br />
void sleep_ms(int ms){<br />
&nbsp;while(ms&gt;0){<br />
&nbsp; &nbsp; &nbsp; &nbsp; Sleep(72);<br />
&nbsp; &nbsp; &nbsp; &nbsp; ms--;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; }<br />
&nbsp; <br />
&nbsp; <br />
void main (void){<br />
Init();<br />
char text [16];<br />
while (1){<br />
&nbsp;x=rand()% 100+1;<br />
&nbsp;itoa(x,text,0);<br />
&nbsp;SerPrint('Random');<br />
&nbsp;SerPrint(x);<br />
&nbsp;sleep_ms(2000);<br />
&nbsp;}<br />
&nbsp;}</code><hr />
</div>Letztendlich will ich eine Art Spiel programmieren bei dem man den Asuro fangen muss und der in zufälligen Zeitabständen anhält um dem Fänger eine Chance zu geben. Dabei will ich noch eine Hinderniserkennung einbauen, dass der nicht gegen eine Wand dotzt und einfach immer weiter geradeaus fahren will... Tut den Motoren und den Rädern nicht wirklich gut denke ich.<br />
<br />
Dieses Programm habe ich nur geschrieben um herauszufinden, ob der Asuro dann Zufallszahlen macht oder nicht.<br />
<br />
Also schonmal vielen Dank im Vorraus :)</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/53-Asuro">Asuro</category>
			<dc:creator>Asurofan</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61953-Random</guid>
		</item>
		<item>
			<title>Taster interrupt</title>
			<link>http://www.roboternetz.de/community/threads/61890-Taster-interrupt?goto=newpost</link>
			<pubDate>Thu, 09 May 2013 17:27:34 GMT</pubDate>
			<description>Hallo zusammen, 
ich beschäftige mich gerade mit µP und arbeite mit einem Asuro für einige Tests. 
Als ich den Interrupt für die Schalter gesetzt...</description>
			<content:encoded><![CDATA[<div>Hallo zusammen,<br />
ich beschäftige mich gerade mit µP und arbeite mit einem Asuro für einige Tests.<br />
Als ich den Interrupt für die Schalter gesetzt habe hat das auch alles wunderbar funktioniert. Wenn ich jetzt aber versuche über den AD Wandler zu bestimmen, welcher Taster gedrückt wurde läuft das ganze in eine Endlosschleife.<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">&nbsp; taster_interrupt:<br />
&nbsp;  push R16<br />
&nbsp;  push R17<br />
&nbsp;  in R16, SREG ;statusreg saven<br />
&nbsp;  push R16<br />
&nbsp;  MOTOR_BREAK<br />
&nbsp;  SET_BUMPER_TO_ADC_SOURCE<br />
&nbsp;  SBI DDRD, PD3 <br />
&nbsp;  ;SBI PORTD, PD3&nbsp; ;if set the interrupt will not stop<br />
<br />
&nbsp;  rcall delay_short ;give the capacitor a bit time<br />
&nbsp;  GET_ADC_VALUE R17, R16 ;r17=high, r16=low<br />
<br />
&nbsp;  CBI PORTD, PD3<br />
&nbsp;  CBI DDRD, PD3 <br />
&nbsp;  TRANSMIT R17 ;and send the high result<br />
&nbsp;  TRANSMIT R16 ; and send the low result<br />
<br />
&nbsp;  pop R16<br />
&nbsp;  out SREG, R16; restore status bits<br />
&nbsp;  pop R17<br />
&nbsp;  pop R16<br />
&nbsp;  reti</code><hr />
</div>Folgendes Problem. Um die Spannung erfassen zu können muss ich PD3 ja zum Ausgang machen und auf High setzen und nach der Ermittlung das ganze wieder rückgängig machen.<br />
Wenn ich aber<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">SBI PORTD, PD3</code><hr />
</div>mache läuft die ISR in einer Endlosschleife und sendet durchgehend Werte, obwohl ich den Wert ja wieder zurücksetze und Interrupts solange deaktiviert sein sollten.<br />
Setze ich das Bit nicht funktioniert alles aber der ADC gibt natürlich nur 0 zurück.<br />
In der asuro.h steht in PollSwitch() oder so auch, das PD3 so gesetzt werden muss.<br />
Kann mir bitte jemand sagen, wo mein Fehler liegt?<br />
Vielen Dank im Voraus<br />
<br />
Bastian</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/53-Asuro">Asuro</category>
			<dc:creator>Bastian90</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61890-Taster-interrupt</guid>
		</item>
	</channel>
</rss>
