Fórum témák

» Több friss téma
Fórum » MSP430 mikrovezérlők
 
Témaindító: gomzito, idő: Ápr 21, 2006
Témakörök:
Lapozás: OK   47 / 139
(#) colosseum válasza szitko hozzászólására (») Márc 22, 2012 /
 
Idézet:
„Az lenne az igazán jó dolog, ha érteném is amit csinálok.”


Hát igen az nem hátrány. Amíg nem értem meg a dolgokat addig nekem sem nagyon mennek.
Neked USI vagy UCSI USARt-od van?
(#) szitko válasza colosseum hozzászólására (») Márc 22, 2012 / 1
 
UCSI I2C mód. Eleinte az adxl312-t, egy g2231-el kötöttem össze, SPI-n, de g2553-al, i2c-n is ki akartam próbálni, ami végre sikerrel zárult.

Ma találtam egy fénymásolóban, egy óra ic-t. (RS5C372A) Rögtön kiszedtem. Most ez jön. Ez is i2c-n kommunikál.
(#) colosseum válasza szitko hozzászólására (») Márc 22, 2012 /
 
Nekem már legalább van előrelépés Pic vs Ti ügyben

Sikerült belőni , hogy 5 ciklus idő a maximum külömbség a 2 kontroller között egy konstans értéknél. Most jön a debug lvl 2
(#) colosseum hozzászólása Márc 22, 2012 /
 
Olvastam valahol , hogy valaki csinálta egy digitális forrasztó állomást msp430-al.

Valaki tud erről valami infót? egy elég kis gógyi fahrenheit állomásom van itthon , ezt szeretném cserélni valami jobbra, illetve valami olyasmire amikbe értelmes hegyeket bele lehet rakni mert ebben akkor van mint egy csavarhúzó
(#) putr4 hozzászólása Márc 23, 2012 /
 
Sziasztok!

Icserny második cikkjével kapcsolatban lenne kérdésem.
A wdt-vel való periódus megszakításnál az uint16_t változótípust, miért csatoltuk be a globális változók deklarálása során? Miért kell ezt egyálltalán megadnom, miért nem elég ide a sima int ( "volatile int delay1, delay2")? A 2 változó amihez kell delay1 és delay2 maximális értéke 30. Az uint16_t pedig egy változó típust definiál mely 16bites és egész.
Bővebben: Link
(#) icserny válasza putr4 hozzászólására (») Márc 23, 2012 /
 
Egész pontosan a stdint.h állományt csatoltuk be, ami a C99 konvenció szerinti fix szélességű egész típusokat deklarálja. Hogy miért? Egyrészt lusta voltam kiírni helyette azt, hogy "unsigned int", másrészt meg azért, hogy szokjuk a puskapor szagot (az akarmi_t típusokkal lehet hordozható kódot írni, mivel a "sima" int vagy unsigned int szélessége különböző fordítóknál különbözhet).
.
(#) icserny válasza colosseum hozzászólására (») Márc 23, 2012 /
 
Idézet:
„Olvastam valahol , hogy valaki csinálta egy digitális forrasztó állomást msp430-al. Valaki tud erről valami infót?”
Itt található
(#) putr4 válasza icserny hozzászólására (») Márc 23, 2012 /
 
Rendben, világos, köszönöm.
(#) colosseum válasza icserny hozzászólására (») Márc 23, 2012 /
 
Köszönöm szépen.
(#) szitko hozzászólása Márc 23, 2012 /
 
Még egy kis segítséget kérnék az adxl312 i2c beállításal kapcsolatosan, pontossaban a Quick Start User Guide, Figure 9. Offset Calibration Sequence értelmezésében. Szeretném beállítani a tengelyek offset értékét, de nem értem a mikéntjét.

Más. Végre befejeztem teljesen, az eddigi legnagyobb projektem, a segway-t. A játékot két g2553-as vezérel. Tanulásnak nagyon jó kis projekt volt, mert elég sok mindent megtudtam az MSP430g2xxx mikrovezérlőkről. Elég sok perifériát használok a két vezérlőben, (i2c, uart, adc, timer, wdt, capture, stb...) amiket mind meg kellet ismerni, és az ebben segítséget nyújtó fórumtársaknak, ezúton szeretném ezt megköszönni.
Ja, és egy kis videó róla. (az utolsó videó az oldalon.)
(#) colosseum hozzászólása Márc 23, 2012 /
 
Szitko:
while (!(IFG2 & UCA0TXIFG));

biztos h ezzel ellenőrzöm h kimente az adat? csak azért kérdem mert van szerencsém egy logikai analizátort a kezemben fogni és elég furcsa képet kapok most.
A lényeg ha beirom, ha nem , uca0txbuf után egyből lép a következő parancsara, de analizátoron látszik h az adat még legalább 100 ciklus ideig megy .
mindjárt csatolok egy képet
Bővebben: Link

Köszönöm.

  1. uint16_t RFM12BWriteCommand(uint16_t command) // Send a command to the RFM12B module
  2. {
  3.     uint16_t data_in = 0;
  4.     uint8_t command_high, command_low, data_in_high, data_in_low = 0;
  5.  
  6.     nSEL = 0; // not to release the master if hw spi
  7.  
  8.     // spi_read/write 8bites!!!
  9.     command_high = command >> 8;
  10.    command_low = command;
  11.    
  12.    
  13.     UCA0TXBUF = command_high;
  14.     data_in_high = UCA0RXBUF; // writing upper byte, reading upper byte
  15.      while (!(IFG2 & UCA0TXIFG));    
  16.     UCA0TXBUF = command_low;
  17.     while (!(IFG2 & UCA0RXIFG));
  18.     data_in_low = UCA0RXBUF; // writing lower byte, reading lower byte
  19.  
  20.     data_in = (data_in_high << 8) | data_in_low;
  21.  
  22.   while (!(IFG2 & UCA0TXIFG));
  23.   nSEL = 1; // to release the master if hw spi
  24.  
  25.     return data_in;
  26. }
(#) colosseum válasza szitko hozzászólására (») Márc 23, 2012 /
 
Gratulálok hogy elkészült a mű. A közösséggel megosztod majd műved eggyes részleteit vagy titkosak lesznek 40 évig
(#) szitko válasza colosseum hozzászólására (») Márc 23, 2012 /
 
Idézet:
„biztos h ezzel ellenőrzöm h kimente az adat?”

Nem, "Az UCA0TXIFG bit pedig azt jelzi, hogy újabb adatot írhatsz a kimeneti bufferbe." idézet Icserny fórumtársunktól! Tehát elküldte az adatot.
(#) colosseum válasza szitko hozzászólására (») Márc 23, 2012 /
 
ahham vagy úgy
Ezeket az interruptokat még át kel tanulmányoznom jobban. de közen lehet h felesleges kiabáltam farkast mert ha jobban megnézem ott az 16 bit
(#) szitko válasza colosseum hozzászólására (») Márc 23, 2012 / 1
 
Szitgorúan titkos, min. 80 évig.
Nem, minden nyilvános. Igazából, ha valaki átbogarássza a topikot, akkor majdnem mindent megtalál. Kivéve a gyro + accelero számításokat, de az meg csak matek.
Köszi.
(#) colosseum hozzászólása Márc 23, 2012 /
 
Sikerült Végre komunikálnak.
Olyan apró hiba volt a rendszerben hogy egy logikai analizátor nélkül nem is tudtam volna debuggolni.
A 2 board a kép két alsó sarkában középen a nagy pedig a debugger board.kép
(Ezúton is megköszönném Buchman Attilának aki elérhetővé tette nekem a boardot.)

Leírom hátha más is fog ilyen hibában szenvedni.
Igy nézett ki az msp spi jele
Órajel 1mhz ;SMLCK osztó 8; UCA0BR0 = 0x02;
MSP-kezdeti orajale
lhet látni egy szép sárga részt nah az az elején nem volt ott. az a vonal az ss. olyan gyorsan lefutotta meghívott fügvény( rosszul fogalmazva), hogy a az ss lábát fel is rántott mielőtt még kiküldte volna mind a 16 bitet....

és elkezdődött a debug.

Itt a helyes működő pic órajele.
Jo-Pic kép
A külömbség szemmel látható.

Végül időzítések után:jo-msp

És a források.
Pic(ami elsőre ment):
  1. output_low(nSEL);
  2. spi_read/write 8bites!!!
  3. command_high=command>>8;
  4. command_low =command;  
  5. spi_write(command_high);
  6. data_in_high = spi_read();    // writing upper byte, reading upper byte
  7. spi_write(command_low);
  8. data_in_low  = spi_read();     // writing lower byte, reading lower byte
  9. data_in=make16(data_in_high,data_in_low);
  10. output_high(nSEL);


Msp implementáció (rossz):
  1. nSEL = 0;
  2.     command_high = command >> 8;
  3.    command_low = command;  
  4.     UCA0TXBUF = command_high;
  5.     while (!(IFG2 & UCA0TXIFG));
  6.     data_in_high = UCA0RXBUF;
  7.    //  while (!(IFG2 & UCA0RXIFG));  0input esetén áll  
  8.     UCA0TXBUF = command_low;
  9.     //while (!(IFG2 & UCA0RXIFG));
  10.     data_in_low = UCA0RXBUF;
  11.     data_in = (data_in_high << 8) | data_in_low;
  12.   while (!(IFG2 & UCA0TXIFG));
  13.   nSEL = 1; // to release the master if hw spi


És a működő msp430
  1. nSEL = 0;
  2.      __delay_cycles(15);
  3.    
  4.     command_high = command >> 8;
  5.    command_low = command;
  6.     UCA0TXBUF = command_high;
  7.     while (!(IFG2 & UCA0TXIFG));
  8.  
  9.     __delay_cycles(143);
  10.  
  11.     data_in_high = UCA0RXBUF;
  12.    //  while (!(IFG2 & UCA0RXIFG));    
  13.     UCA0TXBUF = command_low;
  14.     //while (!(IFG2 & UCA0RXIFG));
  15.     data_in_low = UCA0RXBUF;
  16.     data_in = (data_in_high << 8) | data_in_low;
  17.   while (!(IFG2 & UCA0TXIFG));
  18.  
  19.   __delay_cycles(120);
  20.  
  21.   nSEL = 1;


Felrakom a kódot is nemsokára.
(#) szitko válasza colosseum hozzászólására (») Márc 24, 2012 /
 
Gratula hozzá.
Igazából a UCA0TXIFG regiszter figyelését, a UCA0TXBUF regiszter feltöltése elé kellene rakni, de én is mindíg így csinálom. Példaprogik :msp430g2xx3_uscia0_spi_10.c
(#) Smithy87 hozzászólása Márc 25, 2012 /
 
Sziasztok!

A régi alap csomagban lévő 2 ic közül a G2211 alkalmas lehet e szerintetek, egy unipoláris léptetőmotor vezérlésére? Valamint egy ha a forgatás sikeres volt egy ultrahangos távolságmérésre 40KHz- es adóvevő párral.
És a hab a tortára USB-n kitolni a kapott adatokat egy pc-re. Ott a további számolgatás diagramok stb. készülnének. Ez még a 14 Pines fajta vagy mindenképp szerezzek be egy "nagyobb" példányt?
(#) colosseum válasza Smithy87 hozzászólására (») Márc 25, 2012 /
 
kommunikácio az nem gond. a pad megoldja.
Léptető motor sztem megint nem gond. De nem terhelhetőek a vezérlők szóval nem erről akaro vezérelni gondolom
(#) Smithy87 hozzászólása Márc 25, 2012 /
 
Nem nem direktbe akarom erről hajtani természetesen van is egy kiműtött, uln2003an. Hát elképzelhető, hogy ki kell szedni a padból :S
De jobban örülnék egy 20 lábú példánynak. Bővebben: Link Ezt néztem helyette elméletileg megeszi a Pad.
(#) szitko válasza Smithy87 hozzászólására (») Márc 25, 2012 /
 
A léptető motorvezérlést, és az uh 40kHz-t meg tudod oldani, de a kommunikáció, már kétséges a g2211-el. Hacsak nem szoftveres úton oldod meg. A helyedben inkább a g2553-t választanám, mert abban minden benne van.

U.i Ha csak ennyi a feladata a vezérlőnek, akkor elég a 14 lábú is.
(#) colosseum válasza Smithy87 hozzászólására (») Márc 25, 2012 /
 
a pad msp430g-s szérián kívűl megeszik még mindent ami spy bi wire-s.

2553-t ajánlom én is, nagy minden benne van.

Ti.com és nézegesd a value line procikat , ahol megtalálod a sajátod.
(#) Smithy87 válasza colosseum hozzászólására (») Márc 25, 2012 /
 
Azt mármint a 2553-at adják az új Pad-dal ha jól tudom. Itthon valahol lehet e beszerezni belőle mert én így hirtelen nem tudtam felhajtani a netről. Holott sürgős lenne a szakdogához kellene a cucc.

Amíg találok egyet a kistesón meg kell tanulni programozni.
(#) colosseum válasza Smithy87 hozzászólására (») Márc 25, 2012 /
 
www.ti.com kártyával fizeted 5$ 2 nap a posta.
(#) colosseum hozzászólása Márc 26, 2012 /
 
Adott egy ilyen port beállítás:


  1. P2SEL = 0x00;
  2.     P2DIR = 0xFE;//P2.0 BE,1,2,3,4,5,6,7 KI
  3.     P2OUT = 0X02;


és egy ilyen feltétel:
while(!(P2IN & BIT0)){

}

Ugye jól vizsgálom , hogy addig fusson a kódom amíg BIT0 magas állapotban van?
(#) icserny válasza colosseum hozzászólására (») Márc 26, 2012 /
 
Nem, mert a felkiáltójellel fölöslegesen negálod a feltételt.
(#) Smithy87 hozzászólása Márc 26, 2012 /
 
Azt jól gondolom,hogy ha feltételezem meg írok mindent a mikrovezérlőre. (motor léptetgetésultrahang kütyü birizgálása bejövő cumók számítása soros kommunikáció)
És feltöltöl a cuccra a PAd-on, utánna kiveszem az ic-t és át teszem egy másik nyákra, akkor ugyanúgy működni fog?

Vagy egyszerűbb ha benne hagyom és akkor legalább a soros kommunikációval nem kell külön foglalkoznom?

Sok a hülye kérdésem tudom. :8 Érdekel a téma csak nem foglalkoztam vele eddig sajnos.
(#) colosseum válasza Smithy87 hozzászólására (») Márc 26, 2012 /
 
hát ha bekötöd az ellenálásokat akkor igen, de a soros porti kommunikációban nem vagyok biztos(msp->pc).
(#) colosseum válasza icserny hozzászólására (») Márc 26, 2012 /
 
Köszönöm
(#) Smithy87 válasza colosseum hozzászólására (») Márc 26, 2012 /
 
Az nem jó mármint a kommunikáció.
Az a lényege az egésznek. Egy pc-s programból kellene az egész hókusz pókuszt vezérelni de legalább is a Távolság adatokból egy "térképet" készíteni. Mondjuk egy torta diagramhoz hasonló formában, 360°-ra. A kommunikáció a lelke az egész műveletnek.

Pc ről kellene indítani a programot lépést állítani és mint említettem azon kell kiértékelni. Tehát a vevőtől kapott adatokból egy távolságértéket ki kell számoljon az msp azt kell továbbküldenie, majd a többi műveletet a Pc-s programnak kell végezni.
Következő: »»   47 / 139
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem