<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=48&amp;t=11711&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-07-02T16:29:34+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=48&amp;t=11711&amp;mode</id>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-07-02T16:29:34+01:00</updated>
<published>2015-07-02T16:29:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133473#p133473</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133473#p133473"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133473#p133473"><![CDATA[
Dobra, zaczęło hulać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />[syntax=c]if( 0 == strcmp(test,&quot;aaa&quot;) )[/syntax]<br />Rozwiązało problem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 2 lip 2015, o 16:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RafPe]]></name></author>
<updated>2015-07-02T14:04:43+01:00</updated>
<published>2015-07-02T14:04:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133468#p133468</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133468#p133468"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133468#p133468"><![CDATA[
Sprobuj tak w miejscu gdzie odbierasz dane z RFM<br /><br />[syntax=c]if( dane_odebrane== 97 )  <br />PORTC^=LED1;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4344">RafPe</a> — 2 lip 2015, o 14:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-07-02T11:22:09+01:00</updated>
<published>2015-07-02T11:22:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133460#p133460</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133460#p133460"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133460#p133460"><![CDATA[
Próbowałem i tak i tak. Nie działało.<br />W dalszym celu mam porównywanie stringów, a potem porównywanie danych liczbowych uzyskanych z zamiany stringów na liczby przy pomocy atoi();<br />Dlatego też takie porównanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 2 lip 2015, o 11:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2015-07-01T22:58:58+01:00</updated>
<published>2015-07-01T22:58:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133424#p133424</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133424#p133424"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133424#p133424"><![CDATA[
A nie powinno się znaku porównywać w ten sposób ? <br />[syntax=c]if(dane_odebrane=='a')  //porównujemy kod znaku `a` a nie string `&quot;a&quot;+\0`<br />PORTC^=LED1;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1044">Zaba</a> — 1 lip 2015, o 22:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-07-01T22:37:57+01:00</updated>
<published>2015-07-01T22:37:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133422#p133422</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133422#p133422"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133422#p133422"><![CDATA[
No i męczę się od jakiegoś czasu.<br />Przybliżę sprawę.<br />Z aplikacji wysyłam znak &quot;a&quot; ( po prostu wpisuje go z klawiatury) Jest on zakończony znakiem enter (konkretnie Environment.NewLine)<br />Odbierane jest to przez pierwszy mikrokontroler i bez żadnych zmian wysyłan przez rfm12b do drugiego mikroklocka. Sprawdzam tu diodą czy:<br />[syntax=c]if(dane_odebrane_z_uarta==&quot;a&quot;)<br />PORTC^=LED1;[/syntax]<br />W tym miejscu wszystko się zgadza. Dioda zapala się.<br />Jednak wysyłając dane z pierwszego do drugiego mikrokontrolera sygnał jest odbierany, ale nie dokładnie taki jak wysłany? Sprawdzam to znów prostym warunkiem:<br />[syntax=c]if(dane_odebrane==&quot;a&quot;)<br />PORTC^=LED1;[/syntax]<br />Dioda nie zapala się. Niezgodność danych. Zastanawia mnie to, co dokładnie zostaje wysłane funkcją send() (z bibliotek do RFM12 Pana Mirka).<br />Gdybym miał możliwośc obserwacji tego ;D (jakiś LCD czy coś)<br /><br />Na dziś mam dość. Jutro może coś wymyślę. Jakby ktoś miał ochotę przeanalizować moje wypociny, chętnie pokażę kod.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 1 lip 2015, o 22:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-07-01T17:12:51+01:00</updated>
<published>2015-07-01T17:12:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133396#p133396</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133396#p133396"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133396#p133396"><![CDATA[
Największa radość zawsze gdy zaczyna działać jak należy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Drążę temat dalej, jak na razie udało się ruszyć przerwania na rf12b, dioda świeci się gdy dojdzie JAKIKOLWIEK sygnał. Teraz kwestia zbadania dlaczego sygnał nie jest taki jaki chcę. <br />Prosty if pozwala mi na sprawdzenie czy dany string jest taki jaki wysylam. Gdy jest taki sam ma zapalić diodę. Nie zapala.<br />Rozkminiam, może uda się bez pomocy. Jak nie uda się to będę precyzować <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 1 lip 2015, o 17:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2015-06-29T16:17:57+01:00</updated>
<published>2015-06-29T16:17:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133177#p133177</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133177#p133177"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133177#p133177"><![CDATA[
otóż to ... program zwykle oczekuje  końca  i tu ja np stosuję CR/LF  jednocześnie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />dlatego też polecałem poczytać oczywiście bo zabawa jest naprawdę fajna z C# i mikroklockiem <br />jak chcesz na szybko na kilku komach pracować zassaj  Debunala z mojej strony to taki dziwny terminal <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 29 cze 2015, o 16:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-06-29T08:51:53+01:00</updated>
<published>2015-06-29T08:51:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133162#p133162</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133162#p133162"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133162#p133162"><![CDATA[
Git, znalazłem.<br />Problem polegał na braku znaku \n\r. Wystarczyło w apce po wysłanym ciągu wysłać Environment.NewLine i wszystko działa <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 29 cze 2015, o 08:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-06-28T21:34:37+01:00</updated>
<published>2015-06-28T21:34:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133148#p133148</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133148#p133148"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=133148#p133148"><![CDATA[
Hej.<br />Nie wiem czy warto zakładać nowego posta <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Przeleciałem filmiki z linku:<br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2015/01/wifi232-programowanie-w-c-start.html" >http://mirekk36.blogspot.com/2015/01/wi ... start.html</a><!-- m --><br />No i napotkałem mały problem...<br />Otóż komunikacja po uarcie działa bez zarzutów ale tylko jeśli wykorzystuję putty. Moja aplikacja natomiast już robi jakiś problem...<br />(Do tej pory wszystko fajnie działało, dopiero jak przerzuciłem się na poniższy kod - coś się posypało- ale tylko dla mojej aplikacji, w putty działa..)<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />#include &quot;uart.h&quot;<br />#include &quot;serwa.h&quot;<br />#include &quot;rf12.h&quot;<br /><br /><br />#define LED1 (1&lt;&lt;PC4)<br />#define LED2 (1&lt;&lt;PC5)<br /><br />char uart_bufor&#91;100&#93;;<br />void analizuj_dane( char* bufor );<br /><br /><br />int main(void) {<br />DDRC |=LED1; //ustawienie LED jako wyjscie<br />PORTC &amp;= ~LED1; //ustawienie zgaszonej diody<br />DDRC |=LED2; //ustawienie LED jako wyjscie<br />PORTC &amp;= ~LED2; //ustawienie zgaszonej diody<br /><br />USART_Init( __UBRR );// inicjalizacja UART<br /><br /><br />sei();// globalne odblokowanie przerwań<br /><br /><br />register_uart_str_rx_event_callback( analizuj_dane );<br /><br />while(1){<br />UART_RX_STR_EVENT( uart_bufor );<br /><br />}<br />}<br /><br /><br /><br />void analizuj_dane( char* bufor ){<br /><br />if( strcmp(bufor,&quot;zapal&quot;)==0 ){<br />PORTC |= LED2;<br />}<br />else if( strcmp(bufor,&quot;zgas&quot;)==0 ){<br />PORTC &amp;= ~LED2;<br />}<br /><br />}<br />}[/syntax]<br /><br />Z aplikacji:<br />[syntax=csharp]using System;<br />using System.Collections.Generic;<br />using System.ComponentModel;<br />using System.Data;<br />using System.Drawing;<br />using System.Linq;<br />using System.Text;<br />using System.Threading.Tasks;<br />using System.Windows.Forms;<br /><br />namespace Apka<br />{<br />    public partial class Form1 : Form<br />    {<br />        public Form1()<br />        {<br />            InitializeComponent();<br />        }<br /><br />        string txt;<br /><br />        public void wyslij()<br />        {<br />            // wysyła znaki z textbox1 ze znakiem nowej linii<br />            serialPort1.WriteLine(this.textBox1.Text);<br />        }<br />        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)<br />        {<br />            // odebrane dane są zapisywane do zmiennej txt<br />            // odbieranie i wyświetlanie nie może być połączone w jednym wątku<br /><br />            txt += serialPort1.ReadExisting().ToString();<br />            SetText(txt.ToString());<br />        }<br />        <br />        // wyświetlanie danych w innym wątku<br />        delegate void SetTextCallback(string text);<br />        private void SetText(string text) {<br /><br />            if (this.textBox2.InvokeRequired) {<br />                SetTextCallback d = new SetTextCallback(SetText);<br />                this.Invoke(d, new object&#91;&#93; { text });<br />            } else {<br />                this.textBox2.Text = text;<br />            }<br />            text = &quot;&quot;;<br />        } <br />        <br />        private void button1_Click(object sender, EventArgs e)<br />        {<br />            if (!serialPort1.IsOpen)<br />            {<br />                serialPort1.Open();<br />                MessageBox.Show(&quot;Połączono&quot;);<br />                button1.Text = (&quot;Rozłącz&quot;);<br />            }<br />            else<br />            {<br />                serialPort1.Close();<br />                MessageBox.Show(&quot;rozłączono&quot;);<br />                button1.Text = (&quot;Połącz&quot;);<br />            }<br /><br />        }<br /><br />        <br /><br />        private void button2_Click(object sender, EventArgs e)<br />        {<br />            //txt = &quot;&quot;;//czyszczę sobie linijkę<br />            wyslij();<br />        } <br />        }<br />    }[/syntax]<br /><br />I dla lepszej analizy.<br />Poniższy kod działa:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;string.h&gt;<br /><br />#include &quot;uart.h&quot;<br />#include &quot;serwa.h&quot;<br />#include &quot;rf12.h&quot;<br /><br /><br />#define LED1 (1&lt;&lt;PC4)<br />#define LED2 (1&lt;&lt;PC5)<br /><br />char dane&#91;50&#93;;<br /><br /><br /><br /><br />int main(void) {<br /><br /><br />DDRC |=LED1; //ustawienie LED jako wyjscie<br />PORTC &amp;= ~LED1; //ustawienie zgaszonej diody<br />DDRC |=LED2; //ustawienie LED jako wyjscie<br />PORTC &amp;= ~LED2; //ustawienie zgaszonej diody<br /><br /><br /><br /><br /><br />USART_Init( __UBRR );// inicjalizacja UART<br /><br /><br /><br />sei();// globalne odblokowanie przerwań<br /><br />        char pytanie;<br /><br />        while (1){<br /><br />        pytanie = uart_getc();<br /><br />        if ( pytanie == 'l'){<br /><br />        char wpis&#91;&#93;=&quot;l&quot;;<br />         strncpy(dane, wpis, strlen( wpis ));<br /><br />         uart_puts(wpis);<br />         PORTC ^= LED1;<br />        }<br />        else if ( pytanie == 'p'){<br /><br />        char wpis&#91;&#93;=&quot;p&quot;;<br />               strncpy(dane, wpis, strlen( wpis ));<br /><br /><br /><br />         uart_puts(wpis);<br />         PORTC ^= LED2;<br /><br />        }<br /><br /><br />}<br /><br />}[/syntax]<br /><br />Dlaczego dalej drążę?<br />Bo zależy mi na przesyłaniu stringów a nie pojedynczych znaków. W dalszej części mam zamiar przesyłać stringi zawierające dane liczbowe do sterowania serwami.<br /><br />edit. Oczywiście korzystam z bibliotek Pana Mirka.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 28 cze 2015, o 21:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-05-17T12:05:16+01:00</updated>
<published>2015-05-17T12:05:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129378#p129378</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129378#p129378"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129378#p129378"><![CDATA[
Do najlepszych na pewno nie należę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Ale cieszę się, że mogę wreszcie ruszyć dalej z projektem, kolejny mały kroczek <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Pozdrawiam gorąco!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 17 maja 2015, o 12:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-05-17T11:53:36+01:00</updated>
<published>2015-05-17T11:53:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129374#p129374</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129374#p129374"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129374#p129374"><![CDATA[
Nie trzeba... Sprawdziłem wszystko raz jeszcze.<br />Aż głupio przyznać. <br />Przez zwykły pośpiech usunąłem linijkę odpowiadającą za ustawienie bitów UCSRB w przypadku gdy nie używamy RS485.<br />W związku z czym były problemy z odbiorem danych przez mikrokontroler.<br /><br />Dzięki Antystatyczny, pytając o bibliotekę obsługi RS485 zwróciłeś moją uwagę właśnie na sprawdzenie tego.<br /><br />I dzięki SunRiver, duuużo poczytałem, a nie tak na gotowca <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 17 maja 2015, o 11:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-05-17T11:33:01+01:00</updated>
<published>2015-05-17T11:33:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129370#p129370</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129370#p129370"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129370#p129370"><![CDATA[
W sumie usunąłem wszystko co związane z RS485. <br />Podesłać Ci cały projekt? Nie chciałbym tu umieszczać całych bibliotek P.Mirka.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 17 maja 2015, o 11:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-05-17T10:58:33+01:00</updated>
<published>2015-05-17T10:58:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129363#p129363</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129363#p129363"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129363#p129363"><![CDATA[
Już to poprawiłem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />Był to nieznaczny błąd w kodzie w c#.<br /><br />Nie wiem, może to ma znaczenie. pracujuę na atmedze8..<br />Ale wydaje mi się, ze gdyby miało to znaczenie to w terminalu odbierałbym zawsze krzaki..<br /><br />Edit<br /><br />Tak dla sprawdzenia podpiąłem kwarc 16Mhz. <br />UBRR liczę tak jak P. Mirek pokazał:<br />[syntax=c]#define MYUBRR (F_CPU/16/UART_BAUD-1) // obliczamy UBRR dla U2X=0[/syntax]<br />I działa wciąż tylko wysyłanie &quot;sztywnych&quot; wartości z mikrokontrolera na aplikację.<br />Gdy próbuję odebrać dane, odbierane są tylko zera, nie ważne czy używam putty czy swojej aplikacji.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 17 maja 2015, o 10:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-05-17T10:50:25+01:00</updated>
<published>2015-05-17T10:50:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129361#p129361</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129361#p129361"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129361#p129361"><![CDATA[
Taktowanie wewnętrznym oscylatorem 8Mhz.<br />W przypadku, gdy wysyłam na sztywno wartości z mikroklocka na aplikację-&gt;odbiór jest bezproblemowy.<br />mam na myśli:<br />[syntax=c]int a=237;<br />int b=35;<br />uart_putint(a,10);<br />_delay_ms(1000);<br />uart_putint(b,10);<br />_delay_ms(1000);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 17 maja 2015, o 10:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-05-17T10:16:57+01:00</updated>
<published>2015-05-17T10:16:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129355#p129355</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129355#p129355"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129355#p129355"><![CDATA[
Sprawdziłem teraz samą apkę (zwarłem Tx z Rx w ft232).<br />Działa bez zarzutów.<br />Więc problem tylko z kodem na µC. µC odbiera jedynie zera.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 17 maja 2015, o 10:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-05-16T16:51:35+01:00</updated>
<published>2015-05-16T16:51:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129301#p129301</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129301#p129301"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129301#p129301"><![CDATA[
No dobra, sprawdziłem dokładnie kod, który umieszczony jest tutaj:<br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic2232.html" >topic2232.html</a><!-- l --><br />w sumie na bazie tego budowałem apkę w c#.<br />No i co... nie działa odbiór danych.<br />Wysyłanie bezpośrednio z mikroklocka do apki działa. Wyniki są wyświetlane.<br />W drugą stronę już nie działa...<br />Znając życie mam jakiś prosty błąd którego nie widzę ;/<br /><br />Edit.<br />Sprawdzam też apkę która jest zamieszona w całości w powyższym temacie.<br />Wyświetlanie danych w danej aplikacji również mi nie działa. Gdy wysyłam bezpośrednio z mikrokontrolera -&gt; dane są wyswietlane (co prawda krzaczki ale jednak). <br />Gdy robię pętlę tzn wysylam na mikrokontroler i bez żadnych przeróbek wysyłam z powrotem do aplikacji to nie wyświetla.<br /><br />I co dziwne, w mojej aplikacji jak wysyłam tak jak wyżej - bezpośrednio z mikrokontrolera na aplikację to nie ma krzaczków - są ładnie wyświetlone dane.<br /><br />w przypadku &quot;pętli&quot; wykorzystuję <br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />// biblioteki Mirka<br />#include &quot;uart.h&quot;<br /><br />int main(void) {<br /><br />        USART_Init( MYUBRR );                   // inicjalizacja UART<br />        sei();                                                  // globalne odblokowanie przerwań<br /><br />        uint8_t receive; // zmienna do przechowywania odebranych danych<br /><br />        // pętla nieskończona<br />        while(1) {<br />                receive = uart_getc();<br />                if (receive) uart_putc(receive); // jeśli zmienna receive przyjmuje 0 nie wysyła nic (zaglądnij do uart_getc())<br />                _delay_ms(10); // niepotrzene opóźnienie &lt;img src=&quot;http://forum.atnel.pl/images/smilies/icon_razz.gif&quot; alt=&quot;:P&quot; title=&quot;Pokazuje język&quot; /&gt;<br />        }<br />}[/syntax]<br /><br />a w przypadku bezpośredniego z mikroklocka na aplikację:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;uart.h&quot;<br /><br /><br />int main(void) {<br /><br />USART_Init( MYUBRR );// inicjalizacja UART<br /><br />sei();// globalne odblokowanie przerwań<br /><br /><br />        while(1)<br />        {<br />        char a='a';<br />                char b=65;<br />                int c=7000;<br />                uart_putc(a);<br />                _delay_ms(1000);<br />                uart_putc(b);<br />                _delay_ms(1000);<br />                uart_putint(c,10);<br />                _delay_ms(1000);<br />                uart_putc(c);<br />                _delay_ms(1000);<br /><br />}<br /><br />}[/syntax]<br /><br />W tym drugim przypadku CZASEM zamiast 7000 wyświetla mi się 0. ( w mojej aplikacji)<br /><br />Edit.<br />Czy jest mozliwość przeniesienia posta do właściwego działu?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 16 maja 2015, o 16:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-05-16T15:01:52+01:00</updated>
<published>2015-05-16T15:01:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129297#p129297</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129297#p129297"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129297#p129297"><![CDATA[
Kurde, sorka ^^ Tak przeleciałem działy, zauważyłem ze ktoś pisał i o c# i o c na mikroklocu i uznałem, że można ;p<br />Tak czy siak sporo szukałem, być może i na jeden z tych zamieszonych przez Ciebie linków już się natknąłem, dzięki <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Poczytam dokładnie to co zamieściłeś i dam znać jakie wyniki <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 16 maja 2015, o 15:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2015-05-16T12:35:55+01:00</updated>
<published>2015-05-16T12:35:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129290#p129290</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129290#p129290"/>
<title type="html"><![CDATA[Re: Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129290#p129290"><![CDATA[
1.. prosze o czytanie zasad działów , a nie pisanie gdzie się podoba ...  <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic5809.html" >topic5809.html</a><!-- l --><br />2.. Pisałem o tym na forum i ja i kolega developer  .... <br /><br />zanim ci podpowiemy ...  zapoznaj się z:<br /><br />----&gt;&gt; DLA C++<br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic100.html" >topic100.html</a><!-- l --><br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic97.html" >topic97.html</a><!-- l --><br /><br />---&gt;&gt; DLA C# <br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic93.html" >topic93.html</a><!-- l --><br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic93.html#p42386" >topic93.html#p42386</a><!-- l --><br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic2232.html" >topic2232.html</a><!-- l --><br /><br />w obu przypadkach zasada jest taka sama...<br />podejrzyj sobie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 16 maja 2015, o 12:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-05-17T10:52:51+01:00</updated>
<published>2015-05-16T11:09:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129285#p129285</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129285#p129285"/>
<title type="html"><![CDATA[Przesyłanie danych między μC a aplikacją w c#]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11711&amp;p=129285#p129285"><![CDATA[
Witam wszystkich <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Prosiłbym o sprawdzenie mojego kodu. <br />Zbudowałem prostą aplikację w c# wysyłającą na μC dane i odbierającą je z niego.<br />Jest to wstęp do mojego projektu, w którym mam zamiar sterować kilkoma serwami z poziomu aplikacji w c#. Wprowadzając dane w aplikacji mam zamiar sterować wyhyleniem kolejnych serw podłączonych do μC.<br /><br />Wstępnie postanowiłem wykonać samą komunikację oraz sprawdzić ją na diodach.<br />Korzystam z &quot;Mirkowych&quot; funkcji do obsługi UART.<br /><br />Może przedstawię moje wypociny. (choć trudno nazwać je w 100% &quot;moimi&quot;)<br />Aplikacja:<br /><a href="http://forum.atnel.pl/_obrazki/o/9183/7469f19da0a3786697a22cb31516ab0c.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/9183/7469f19da0a3786697a22cb31516ab0c.png" alt="Obrazek" /></a><br /><br />(Button2 ma za zadanie wysyłać wprowadzone do labelka dane)<br /><br />Kod c#:<br />[syntax=csharp]using System;<br />using System.Collections.Generic;<br />using System.ComponentModel;<br />using System.Data;<br />using System.Drawing;<br />using System.Linq;<br />using System.Text;<br />using System.Threading.Tasks;<br />using System.Windows.Forms;<br /><br />namespace Apka<br />{<br />    public partial class Form1 : Form<br />    {<br />        public Form1()<br />        {<br />            InitializeComponent();<br />        }<br /><br />        string txt;<br /><br />        public void wyslij()<br />        {<br />            // wysyła znaki z textbox1 ze znakiem nowej linii<br />            serialPort1.WriteLine(this.textBox1.Text);<br />        }<br />        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)<br />        {<br />            // odebrane dane są zapisywane do zmiennej txt<br />            // odbieranie i wyświetlanie nie może być połączone w jednym wątku<br /><br />            txt += serialPort1.ReadExisting().ToString();<br />            SetText(txt.ToString());<br />        }<br />        <br />        // wyświetlanie danych w innym wątku<br />        delegate void SetTextCallback(string text);<br />        private void SetText(string text) {<br /><br />            if (this.textBox2.InvokeRequired) {<br />                SetTextCallback d = new SetTextCallback(SetText);<br />                this.Invoke(d, new object&#91;&#93; { text });<br />            } else {<br />                this.textBox2.Text = text;<br />            }<br />        } <br />        <br />        private void button1_Click(object sender, EventArgs e)<br />        {<br />            if (!serialPort1.IsOpen)<br />            {<br />                serialPort1.Open();<br />                MessageBox.Show(&quot;połączono&quot;);<br />                button1.Text = (&quot;Rozłącz&quot;);<br />            }<br />            else<br />            {<br />                serialPort1.Close();<br />                MessageBox.Show(&quot;rozłączono&quot;);<br />                button1.Text = (&quot;Połącz&quot;);<br />            }<br /><br />        }<br /><br />        <br /><br />        private void button2_Click(object sender, EventArgs e)<br />        {<br />            txt = &quot;&quot;;<br />            wyslij();<br />        } <br />        }<br />    }[/syntax]<br />Kod c na μC:<br />main.c<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;uart.h&quot;<br /><br /><br />#define LED1 (1&lt;&lt;PB0)<br />#define LED2 (1&lt;&lt;PB1)<br /><br /><br /><br />int main(void) {<br /><br />DDRB |=LED1; //ustawienie LED jako wyjscie<br />PORTB &amp;= ~LED1; //ustawienie zgaszonej diody<br />DDRB |=LED2; //ustawienie LED jako wyjscie<br />PORTB &amp;= ~LED2; //ustawienie zgaszonej diody<br /><br /><br /><br /><br />USART_Init( MYUBRR );// inicjalizacja UART<br /><br />sei();// globalne odblokowanie przerwań<br /><br /><br />// pętla nieskończona<br /><br /><br />char dane;<br />        while(1)<br />        {<br /><br />      dane=uart_getc();<br />        if(dane=='1')PORTB ^= LED1;<br />        if(dane=='2')PORTB ^= LED2;<br />}<br /><br />}[/syntax]<br />funkcja uartgetc() (zamieszczona w uart.c)<br />Edit.<br />W sumie może nie będę jej umieszczać, ze względu na P.Mirka, nie prosił mnie o to bezpośrednio ale chyba tak będę mieć czystsze sumienie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Ogółem problem polega na tym, że moje diody wcale nie zmieniają swojego stanu. diody są podpięte prawidłowo (sprawdziłem zwykłą funkcją PORTB ^=LED1)<br />Inne funkcje działają poprawnie.<br />Np. gdy wysyłam z mikroklocka wartość int a=10; poprzez uart_putint(a,10); to w textboxie pojawia mi się ta wartość. <br />Co prawda... Gdy na przemian wysyłam:<br /><br />[syntax=c]int a=237;<br />int b=35;<br />uart_putint(a,10);<br />_delay_ms(1000);<br />uart_putint(b,10);<br />_delay_ms(1000);[/syntax]<br /><br />To w textboxie wyświetla się raz 237 potem 10 potem 237 potem 10 (to byłoby ok) a tu nagle pojawia się 7! i dalej...10...237...10...<br />Jak to wyjaśnić?<br /><br />No i główny problem, ten odbiór danych przez mikroklocka..<br />Poradzi ktoś?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 16 maja 2015, o 11:09</p><hr />
]]></content>
</entry>
</feed>