www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Programiranje MSP430
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> 16 bitni mlinčki
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
wasu
Neznanec
Neznanec



Pridružen-a: Čet 03 Nov 2011 21:37
Prispevkov: 5
Aktiv.: 0.03

PrispevekObjavljeno: Pet Nov 18, 2011 5:41 pm    Naslov sporočila:  Programiranje MSP430 Odgovori s citatom

Glede tega sem še zelen. Zanima me, če mi lahko kdo pomaga glede kode za MSP430F2012. Uporabljam IAR 30-day Evaluation edition V5.30. Rad bi generiral signal za prižig led, na P2.7, za testirat vezje. Pregledal sem že več primerov programov, vendar mi še vedno ne dela. Za programiranje μP uporabljam elprotronicov FlashPro430. Ne vem, ali kodi kaj manjka, ker nastavitve IAR in FlashPro430 sem že pregledal in naj bi bile pravilne.

Koda:
Koda:

#include "msp430F2012.h"

int main( void )
{   
 
    while (1)
    {   
        WDTCTL = WDTPW + WDTHOLD;
        P2SEL |=0x00;
        P2DIR |=0x80;
        P2OUT |=0X80;       
    }
 
}
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Dorijan
Član
Član



Pridružen-a: Ned 22 Jun 2008 10:48
Prispevkov: 2481
Aktiv.: 12.88
Kraj: južnoprimorska

PrispevekObjavljeno: Pet Nov 18, 2011 8:34 pm    Naslov sporočila:  Re: Programiranje MSP430 Odgovori s citatom

Koda:

#include "msp430F2012.h"

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;
  P2DIR |= 0x80;                           

  while (1)
  {
 
    P2OUT |= 0x80;                         
  }
}

taka koda meni deluje, drugače pa poizkusi #include <msp430F2012.h>
oz namesto 0x08 daj BIT7(je že definirano v knjižnici), oz 0x0080, ker so to 16bitni procesorji.

Če te pa še vedno zafrkava si pa kaj boljpreprostega omisli.

p.s. Če ti ni IAR domač že od prej si poizkusi naložiti Code composer studio(CCS) od texasa je brezplačen in prav lepo se obnese.

_________________
Če nekaj deluje, razstavi in ugotovi zakaj.


Nazadnje urejal/a Dorijan Pet Nov 18, 2011 8:39 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Mihec
Član
Član



Pridružen-a: Pet 24 Mar 2006 20:10
Prispevkov: 412
Aktiv.: 1.87
Kraj: Mengeš

PrispevekObjavljeno: Pet Nov 18, 2011 8:39 pm    Naslov sporočila:   Odgovori s citatom

Živjo!

Raje uporabi CCS5(code compose studio) kjer boš to kodo hitro prenesel na tvoj MSP.

Vključitev "#include "msp430F2012.h"" in sama koda je OK.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 75338.10

PrispevekObjavljeno: Pet Nov 18, 2011 10:25 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
wasu
Neznanec
Neznanec



Pridružen-a: Čet 03 Nov 2011 21:37
Prispevkov: 5
Aktiv.: 0.03

PrispevekObjavljeno: Pon Nov 21, 2011 10:37 am    Naslov sporočila:   Odgovori s citatom

Sicer sem šel gledat shemo in opazil, da za prižig diode mora bit pin definiran kot vhod, ker grejo 3V na diodo z zaporedno vezanim R=2,2k in na pin. Sam dioda rabi pa 30mA.

Nazadnje urejal/a wasu Pon Nov 21, 2011 12:46 pm; skupaj popravljeno 3 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Mihec
Član
Član



Pridružen-a: Pet 24 Mar 2006 20:10
Prispevkov: 412
Aktiv.: 1.87
Kraj: Mengeš

PrispevekObjavljeno: Pon Nov 21, 2011 11:18 am    Naslov sporočila:  Re: Programiranje MSP430 Odgovori s citatom

Če si poizkusiul naložiti kodo v CodeComposeStudio, izbral "build project" ter "LoadProject to Target"....ti je kodo naložilo v MSP? Ti javi kakšno napako?


Koda:

#include "msp430F2012.h"

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;
  P2DIR |= 0x80;                           

  while (1)
  {
 
    P2OUT |= 0x80;                         
  }
}


PS: Dorjan je predlagal razvojno orodje za MSP, tu pa je še eno, cenejše:


Klik!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
wasu
Neznanec
Neznanec



Pridružen-a: Čet 03 Nov 2011 21:37
Prispevkov: 5
Aktiv.: 0.03

PrispevekObjavljeno: Pon Nov 21, 2011 12:47 pm    Naslov sporočila:   Odgovori s citatom

Sicer sem šel gledat shemo in opazil, da za prižig diode mora bit pin definiran kot vhod, ker grejo 3V na diodo z zaporedno vezanim R=2,2k in na pin. Sam dioda rabi pa 30mA.


Dioda.jpg
 Opis:
shema priklopa diode
 Velikost datoteke:  90.35 KB
 Pogledana:  2 krat

Dioda.jpg


Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Mihec
Član
Član



Pridružen-a: Pet 24 Mar 2006 20:10
Prispevkov: 412
Aktiv.: 1.87
Kraj: Mengeš

PrispevekObjavljeno: Pon Nov 21, 2011 1:04 pm    Naslov sporočila:   Odgovori s citatom

Če želiš pin definirati kot vhod, diodo res vežeš na +3V, nato predupor, dioda ter pin uC.

definicija porta kot Vhod:

Koda:
// P2.7
P2DIR &= ~0x80;
P2OUT &= ~0x80;


Če želiš pin definirati kot izhod, diodo vežeš na pin uC, predupor ter GND!

definicija porta kot Vhod:

Koda:
// P2.7
P2DIR |= 0x80;
P2OUT |= 0x80;


Pa še nekaj, uC lahko poganja tok do 20mA. Mogoče je tu problem.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Dorijan
Član
Član



Pridružen-a: Ned 22 Jun 2008 10:48
Prispevkov: 2481
Aktiv.: 12.88
Kraj: južnoprimorska

PrispevekObjavljeno: Pon Nov 21, 2011 3:01 pm    Naslov sporočila:   Odgovori s citatom

P1OUT ni potrebno definirati pri definiciji vhoda. Ta pride do pomena šele, ko aktiviraš kake pull up/down upore itd.

MSP430 launchpad v osnovi ni namenjen za msp430F procesorje ampak za ValueLine msp430G. Čeprav še nisem poizkusil, če ga sprogramira.

Drugače je pa za učenje msp430 - LaunchPad res najbolj ugodna rešitev. Za tiste 3€ dobiš programator z debuggerjem, serijsko komunikacijo in 2 procesorja. => jih imam že 4. Samo kaj ko gredo samo do 16k Flasha.

Bom enkrat naročil kakega F v DIP ohišju, da vidim kako se razume z LaunchPad platko.

_________________
Če nekaj deluje, razstavi in ugotovi zakaj.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
žrepko
Član
Član



Pridružen-a: Tor 23 Mar 2010 20:12
Prispevkov: 700
Aktiv.: 4.09
Kraj: Ptuj-Maribor

PrispevekObjavljeno: Pon Nov 21, 2011 3:34 pm    Naslov sporočila:   Odgovori s citatom

Malo OFFTOPIC ampak: Če ima kdo Launchpad in ga ne uporablja več, mu ga z veseljem odkupim. Seveda delujočega.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Mihec
Član
Član



Pridružen-a: Pet 24 Mar 2006 20:10
Prispevkov: 412
Aktiv.: 1.87
Kraj: Mengeš

PrispevekObjavljeno: Pon Nov 21, 2011 3:39 pm    Naslov sporočila:   Odgovori s citatom

Z LaunchPadom lahko programiraš vse MSP procesorje kateri podpirajo SpyBiWire. (serija G, 2xx, 5xxx, ...)
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Dorijan
Član
Član



Pridružen-a: Ned 22 Jun 2008 10:48
Prispevkov: 2481
Aktiv.: 12.88
Kraj: južnoprimorska

PrispevekObjavljeno: Tor Nov 22, 2011 12:25 am    Naslov sporočila:   Odgovori s citatom

žrepko je napisal/a:
Malo OFFTOPIC ampak: Če ima kdo Launchpad in ga ne uporablja več, mu ga z veseljem odkupim. Seveda delujočega.

3 od 4ih jih imam posojene, četrtega pa uporabljam.

Tukaj si ga lahko naročiš, pa vzemi vsaj 2kom, ker pri 3€ na ploščico, lahko za enostavna vezja samo prispajkaš kar rabiš zunanjih delov in jo pustiš tam, če nisi omejen s prostorom.
https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx

_________________
Če nekaj deluje, razstavi in ugotovi zakaj.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
žrepko
Član
Član



Pridružen-a: Tor 23 Mar 2010 20:12
Prispevkov: 700
Aktiv.: 4.09
Kraj: Ptuj-Maribor

PrispevekObjavljeno: Tor Nov 22, 2011 9:10 am    Naslov sporočila:   Odgovori s citatom

Me je že elson2k presenetil, kot ponavadi.
Hvala!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
gregoral
Član
Član



Pridružen-a: Pet 24 Nov 2006 9:42
Prispevkov: 688
Aktiv.: 3.25
Kraj: Ljubljana

PrispevekObjavljeno: Sob Feb 18, 2012 12:09 am    Naslov sporočila:   Odgovori s citatom

.... sicer precej kasneje ampak:

Ne vidim pametnega razloga zakaj bi pin definiral kot vhod če želiš kontrolirati stanje diode.

Za prižigat in ugašat diodo mora biti pin vedno definiran kot izhod!

- če diodo vežeš proti GND bo gorela ko boš na izhodni pin zapisal 1 ▬▬▬████▬▬▬►|▬▬▬ GND
- če diodo vežeš proti VCC bo gorela ko boš na izhodni pin zapisal 0 ▬▬▬████▬▬▬|◄▬▬▬ VCC

Pogoj je seveda da je dioda pravilno obrnjena in da imamo primeren predupor!
Dioda mora biti tudi take vrste da ne bo preobremenila izhoda procesorja!

Za MSP430 F2012 glej SLAS578G stran 25:

=> 1 pin max 1.5mA (napetost bo cca VCC-0,25V ali GND+0.25V)
=> 1 pin max 6mA (napetost bo cca VCC-0,6V ali GND+0.6V)

V tvojem primeru je verjetno problem da si poleg ostalih stvari preobremenil izhod.

No saj verjetno uničil ga nisi, samo precej večji padec napetosti si imel na pinu.

Lahko pa uporabiš več izhodov skupaj (vsem nastaviš enako vrednost) v tem primeru lahko dobiš (na enem/istem portu):
=> max 12 mA (8x 1.5mA) (napetost bo cca VCC-0,25V ali GND+0.25V)
=> max 48 mA (8x 6mA) (napetost bo cca VCC-0,6V ali GND+0.6V)

Oz. lahko tudi več če bi uporabil še izhode iz drugega porta.
Če vežeš več izhodnih pinov skupaj potem na vsak pin svoj upor potem jih šele skupaj povežeš, potem povežeš na diodo, potem pa ... kam že?

Na vsak pin je dobro dat svoj upor zaradi tega ker:
- ker se ne postavijo vsi izhodi istočasno na on oz off
- ker se boš prej ali slej zmotil in v kodi enega dal na off drugega pa na on

Posledica zgornjih dveh pojavov pa so veliki tokovi med posameznimi pini.
Posledično lahko odpove kateri od izhodnih tranzistorjev, ....

Pogojno bi lahko mogoče za krmiljenje diode uporabil pull-up / pull-down upore v procesorju ki pa niso namenjeni (dovolj zmogljivi) za napajanje diode!
Primarno so pull-up / pull-down upori namenjeni temu da imamo konstantno napetost na pinu (da se prekinitve ne prožijo nekontrolirano) če:
- je pin definiran kot vhod
- na najem ni priklopljen stabilen vir napetosti
- oz. imamo prisoten vir motenj

Če na vhodu nimamo stabilne napetosti se lahko nepredvidljivo prožijo prekinitve (seveda če so le te omogočene).

Ne vem pa kaj bi dosegel če bi pin definiral kot vhod in želel krmiliti led diodo?

Če kdo to uspešno uporablja, bi želel izvedeti kako in kakšna je logika delovanja.

Namreč vhod in izhod ne pomeni da moramo nastaviti vhod če tok teče proti procesorju, izhod pa če tok teče iz njega.

Vhod naj bo če želiš brati stanje pina, izhod če ga želiš krmiliti.
Neglede na to ali je pin vhod ali izhod bo tok tekel v smeri nižjega potenciala.

Ajaj jaj!

LP, Gregor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Neoxy
Član
Član



Pridružen-a: Sob 12 Jul 2008 14:45
Prispevkov: 51
Aktiv.: 0.27
Kraj: Murska Sobota, Maribor, Ljubljana, KOper

PrispevekObjavljeno: Pon Jul 09, 2012 8:54 am    Naslov sporočila:   Odgovori s citatom

Koda:
#include "msp430F2012.h"

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;
  P2DIR |= 0x80;                           

  while (1)
  {
 
      P2OUT ^= 0x80; // toggle pin
      for(int i = 0; i <= 40000; i++)
     {
        // delay
     }                         
  }
}


Drugače nevem zakaj bi v neskončni zanki non-stop prižigal pin...

_________________
Neoxy
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> 16 bitni mlinčki Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 67 dni


Powered by phpBB © 2001, 2005 phpBB Group