forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
Umím AVR (C), jaký zvolit jazyk a prostředí pro PC aplikace?
Jdi na stránku Předchozí  1, 2, 3
 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Jiné mikrokontroléry, procesory, hradla
 
Showleee
Anonymní





PříspěvekZaslal: 01 srpen 2010, 11:21    Předmět: Citovat

Stim this mi to neni uplne jasny,ale to nekde este nastuduju.Mam ted ale problem se spustenim programu.Na radku "SerialPort1.Write(tmp, 0, 1);"
mi to pise ye "The port is closed" .Prikladam projekt(neni este hotovej,ve finale by to ale melo ovladat RGB diodu).



SerRGB.rar
 Komentář:

Stáhnout
 Soubor:  SerRGB.rar
 Velikost:  40.16 kB
 Staženo:  470 krát

Návrat nahoru
 

 
piityy
Profesionál
Profesionál


Založen: 1.4.2008
Příspěvky: 2139

PříspěvekZaslal: 01 srpen 2010, 11:42    Předmět: Citovat

To bude asi tím, že port je v ten okamžik uzavřen, proto do něj nemůžeš zapisovat Smile. Dej to do ifu, podmínka bude "SerialPort1.IsOpen"
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Showleee
Anonymní





PříspěvekZaslal: 01 srpen 2010, 11:54    Předmět: Citovat

Nojo.ja to ale papouskoval od tebe a tys ji tam taky nemel... Smile
Návrat nahoru
 

 
piityy
Profesionál
Profesionál


Založen: 1.4.2008
Příspěvky: 2139

PříspěvekZaslal: 01 srpen 2010, 12:24    Předmět: Citovat

Jenže já v té události jednak nic neposílám a také ji nevyvolávám hned při startu formuláře změnou hodnoty scrollbaru v konstruktoru formuláře Wink.
Mimochodem - jsi zapoměl heslo že nejsi přihlášen? Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Showlee
Profesionál
Profesionál


Založen: 22.7.2010
Příspěvky: 63

PříspěvekZaslal: 01 srpen 2010, 17:04    Předmět: Citovat

Prihlasen.Spokojenost ? Smile

Nj,je to tim ze to mam v tom konstruktoru.Jinak to mam jako ty,posilam hodnotu scrollbaru v udalosti change.
Je vhodny inicializovat komponenty prave v tom konstruktoru?Neni na to lepsi nejaka udalost formulare?V delphi bylo asi 5 udalosti kery se postupne vyvolavaji pri startu formulare a byl mezi nima sakra rozdil.Form_OnCreate,Form_Open,atd...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
piityy
Profesionál
Profesionál


Založen: 1.4.2008
Příspěvky: 2139

PříspěvekZaslal: 01 srpen 2010, 17:53    Předmět: Citovat

Tady je těch událostí taky povícero. Stačí kliknout na komponentu (tedy i formulář) a v properties se přepnout do "events".
Ruční způsob je "jmenoKomponenty.jmenoUdalosti +=" + 2xTAB. VS ti vytvoří obsluhu a tu jen doplníš.

Není problém kde provádíš inicializaci ale v tom, že se pokoušíš zapisovat na zavřený port. Tak jak jsi to měl to bez kontroly na otevřenost portu udělat nelze.
Nevím z čeho sosáš, ale já v "táhlu" na port nic nezapisoval, jen zobrazoval hodnotu v labelu (událost "_Scroll").
Mimochodem - asi bych tam udělal časový omezení třeba na 10 zápisů za vteřinu. Jinak s tím zakvedláš a přenos ti pojede ještě za minutu Very Happy



events.gif
 Komentář:
 Velikost:  15.22 kB
 Zobrazeno:  5928 krát

events.gif


Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Showlee
Profesionál
Profesionál


Založen: 22.7.2010
Příspěvky: 63

PříspěvekZaslal: 01 srpen 2010, 18:35    Předmět: Citovat

Prepnuti do udalosti znam,ale nic co bz odpovidalo tomu co znam z delphi sem tam prave nenasel.Takze asi ten konstruktor musi stacit.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
piityy
Profesionál
Profesionál


Založen: 1.4.2008
Příspěvky: 2139

PříspěvekZaslal: 01 srpen 2010, 19:00    Předmět: Citovat

Je tu "Load" - po načtení formuláře. Víc jich je pro ukončování (closing, closed...)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
lou
Profesionál
Profesionál


Založen: 9.10.2009
Příspěvky: 296

PříspěvekZaslal: 02 srpen 2010, 8:08    Předmět: Citovat

Protože, poslední dobou řeším taky komunikaci procesoru s PC , ale nejen to - taky zpracování dat z MCU v nějakých grafech , tabulkách atd. - tak sleduju váš dialog - zkoumám pityyho kody a tak.
Ale pro showleeho bych měl jednu radu - nejdřív si prostuduj základy OOP, pak si zkus udělat příklady přímo z VS a pak prostudovat nějaké tutorialy - třeba tady: http://programujte.com/?akce=clanek&cl=2005041402-c++-1-lekce , nebo http://www.builder.cz/vb/index.html - tam jsou sice ve VB a C++ (v C# jsem nenašel),ale rozdíl je jen v zápisu (basikovký sub a endsub místo { a} apod.) nebo taky existuje kniha Microsoft Visual studio C#- krok za krokem.
Já jsem to tak udělal a věř mi ,že bys rychleji pochopil, co má pityy na mysli a neptal by ses třeba na this Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Showlee
Profesionál
Profesionál


Založen: 22.7.2010
Příspěvky: 63

PříspěvekZaslal: 05 srpen 2010, 13:43    Předmět: Citovat

To Piityy: Zatim este nemem spichlej prevodnik tak nemuzu experimentovat,tak se mi dystak na to mrkni jestli to dava smysl.

Vysilani z PC mam takto:

//poslu try byte za sebou
kód:
        private void Timer1_Tick(object sender, EventArgs e)
        {
           if (SerialPort1.IsOpen)
           {
              byte[] tmp = new byte[3];
              tmp[0] = (byte)TahloR.Value;
              tmp[1] = (byte)TahloG.Value;
              tmp[2] = (byte)TahloB.Value;
              SerialPort1.Write(tmp, 0, 3);
           }
        }

Prijem v MCU:
kód:

//Temi tremi byty si naplnim pole a pri prijmu tretiho posledniho byte pole
rozhodim do prislusnejch promenejch
ISR(USART_TXC_vect)
{
  // MCU nema bufer tak delam takhle krkolomne

  static unsigned char POLE[3];
  static unsigned char INDEX = 0;
  if (INDEX < 2)
  {
    POLE[INDEX] = UDR;
    INDEX++;
  }
  else
  {
    POLE[INDEX] = UDR;
    INDEX = 0;

    RED = POLE[0],GREEN = POLE[1],POLE[2];
  }
 
}
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
piityy
Profesionál
Profesionál


Založen: 1.4.2008
Příspěvky: 2139

PříspěvekZaslal: 05 srpen 2010, 14:15    Předmět: Citovat

Měhlo by to fungovat. Neděláš to krkolomě, v mcu bez DMA to jinak nejde Smile
Mimochodem ta obsluha by šla napsat o pár instrukcí efektivněji.
kód:
static unsigned char POLE[3];
static unsigned char INDEX;
          // staticke promenne automaticky inicializovany na 0
          // "nazvyPromennych" by mely byt malymi pismeny aby byly odlisitelne od konstant

POLE[INDEX++] = UDR;

if(INDEX == 3)
{
  INDEX = 0;
  RED = POLE[0],GREEN = POLE[1],POLE[2];
         // tady to asi nepujde napsat na 1 radek a chybi ti tam blue :)
}

Program v PC si můžeš vyzkoušet pomocí com0com a nějakého terminálu. Odkaz jsem tu někde ve vlákně dával.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Showlee
Profesionál
Profesionál


Založen: 22.7.2010
Příspěvky: 63

PříspěvekZaslal: 05 srpen 2010, 14:29    Předmět: Citovat

Nojo, to je krasa:)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Jiné mikrokontroléry, procesory, hradla Časy uváděny v GMT + 2 hodiny
Jdi na stránku Předchozí  1, 2, 3
 
Strana 3 z 3
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2018 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)